You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1382 lines
480 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

(this["webpackJsonp"] = this["webpackJsonp"] || []).push([["app-service"],[
/* 0 */
/*!**************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/main.js ***!
\**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 4));\n__webpack_require__(/*! uni-pages */ 6);\nvar _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 38));\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 41));\nvar _scanCode = __webpack_require__(/*! @/common/scanCode */ 42);\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n_vue.default.prototype.$broadcastScan = _scanCode.broadcastScan;\n_vue.default.config.productionTip = false;\n_App.default.mpType = 'app';\ntry {\n var isPromise = function isPromise(obj) {\n return !!obj && ((0, _typeof2.default)(obj) === \"object\" || typeof obj === \"function\") && typeof obj.then === \"function\";\n }; // 统一 vue2 API Promise 化返回格式与 vue3 保持一致\n uni.addInterceptor({\n returnValue: function returnValue(res) {\n if (!isPromise(res)) {\n return res;\n }\n return new Promise(function (resolve, reject) {\n res.then(function (res) {\n if (res[0]) {\n reject(res[0]);\n } else {\n resolve(res[1]);\n }\n });\n });\n }\n });\n} catch (error) {}\nvar app = new _vue.default(_objectSpread({}, _App.default));\napp.$mount();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJwcm90b3R5cGUiLCIkYnJvYWRjYXN0U2NhbiIsImJyb2FkY2FzdFNjYW4iLCJjb25maWciLCJwcm9kdWN0aW9uVGlwIiwiQXBwIiwibXBUeXBlIiwiaXNQcm9taXNlIiwib2JqIiwidGhlbiIsInVuaSIsImFkZEludGVyY2VwdG9yIiwicmV0dXJuVmFsdWUiLCJyZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImVycm9yIiwiYXBwIiwiJG1vdW50Il0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQW1CO0FBR25CO0FBQ0E7QUFBK0M7QUFBQTtBQUMvQ0EsWUFBRyxDQUFDQyxTQUFTLENBQUNDLGNBQWMsR0FBQ0MsdUJBQWE7QUFDMUNILFlBQUcsQ0FBQ0ksTUFBTSxDQUFDQyxhQUFhLEdBQUcsS0FBSztBQUNoQ0MsWUFBRyxDQUFDQyxNQUFNLEdBQUcsS0FBSztBQUVsQixJQUFJO0VBQUEsSUFDT0MsU0FBUyxHQUFsQixTQUFTQSxTQUFTLENBQUNDLEdBQUcsRUFBRTtJQUN0QixPQUNFLENBQUMsQ0FBQ0EsR0FBRyxLQUNKLHNCQUFPQSxHQUFHLE1BQUssUUFBUSxJQUFJLE9BQU9BLEdBQUcsS0FBSyxVQUFVLENBQUMsSUFDdEQsT0FBT0EsR0FBRyxDQUFDQyxJQUFJLEtBQUssVUFBVTtFQUVsQyxDQUFDLEVBRUQ7RUFDQUMsR0FBRyxDQUFDQyxjQUFjLENBQUM7SUFDakJDLFdBQVcsdUJBQUNDLEdBQUcsRUFBRTtNQUNmLElBQUksQ0FBQ04sU0FBUyxDQUFDTSxHQUFHLENBQUMsRUFBRTtRQUNuQixPQUFPQSxHQUFHO01BQ1o7TUFDQSxPQUFPLElBQUlDLE9BQU8sQ0FBQyxVQUFDQyxPQUFPLEVBQUVDLE1BQU0sRUFBSztRQUN0Q0gsR0FBRyxDQUFDSixJQUFJLENBQUMsVUFBQ0ksR0FBRyxFQUFLO1VBQ2hCLElBQUlBLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNWRyxNQUFNLENBQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztVQUNoQixDQUFDLE1BQU07WUFDTEUsT0FBTyxDQUFDRixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7VUFDakI7UUFDRixDQUFDLENBQUM7TUFDSixDQUFDLENBQUM7SUFDSjtFQUNGLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxPQUFPSSxLQUFLLEVBQUUsQ0FBRTtBQUVsQixJQUFNQyxHQUFHLEdBQUcsSUFBSW5CLFlBQUcsbUJBQ2RNLFlBQUcsRUFDTjtBQUNGYSxHQUFHLENBQUNDLE1BQU0sRUFBRSIsImZpbGUiOiIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd1bmktcGFnZXMnO2ltcG9ydCBBcHAgZnJvbSAnLi9BcHAnXHJcblxyXG5cclxuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXHJcbmltcG9ydCB7YnJvYWRjYXN0U2Nhbn0gZnJvbSAnQC9jb21tb24vc2NhbkNvZGUnXHJcblZ1ZS5wcm90b3R5cGUuJGJyb2FkY2FzdFNjYW49YnJvYWRjYXN0U2NhblxyXG5WdWUuY29uZmlnLnByb2R1Y3Rpb25UaXAgPSBmYWxzZVxyXG5BcHAubXBUeXBlID0gJ2FwcCdcclxuXHJcbnRyeSB7XHJcbiAgZnVuY3Rpb24gaXNQcm9taXNlKG9iaikge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgISFvYmogJiZcclxuICAgICAgKHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIG9iaiA9PT0gXCJmdW5jdGlvblwiKSAmJlxyXG4gICAgICB0eXBlb2Ygb2JqLnRoZW4gPT09IFwiZnVuY3Rpb25cIlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vIOe7n+S4gCB2dWUyIEFQSSBQcm9taXNlIOWMlui/lOWbnuagvOW8j+S4jiB2dWUzIOS/neaMgeS4gOiHtFxyXG4gIHVuaS5hZGRJbnRlcmNlcHRvcih7XHJcbiAgICByZXR1cm5WYWx1ZShyZXMpIHtcclxuICAgICAgaWYgKCFpc1Byb21pc2UocmVzKSkge1xyXG4gICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICByZXMudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzWzBdKSB7XHJcbiAgICAgICAgICAgIHJlamVjdChyZXNbMF0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXNbMV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgfSk7XHJcbn0gY2F0Y2ggKGVycm9yKSB7IH1cclxuXHJcbmNvbnN0IGFwcCA9IG5ldyBWdWUoe1xyXG4gIC4uLkFwcFxyXG59KVxyXG5hcHAuJG1vdW50KClcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n");
/***/ }),
/* 1 */
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
\**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 2 */
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 3);
function _defineProperty(obj, key, value) {
key = toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 3 */
/*!**************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
\**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var _typeof = __webpack_require__(/*! ./typeof.js */ 4)["default"];
var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ 5);
function _toPropertyKey(arg) {
var key = toPrimitive(arg, "string");
return _typeof(key) === "symbol" ? key : String(key);
}
module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 4 */
/*!*******************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
\*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function _typeof(obj) {
"@babel/helpers - typeof";
return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
return typeof obj;
} : function (obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
}
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 5 */
/*!************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/toPrimitive.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var _typeof = __webpack_require__(/*! ./typeof.js */ 4)["default"];
function _toPrimitive(input, hint) {
if (_typeof(input) !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== undefined) {
var res = prim.call(input, hint || "default");
if (_typeof(res) !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 6 */
/*!*****************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages.json ***!
\*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
if (typeof Promise !== 'undefined' && !Promise.prototype.finally) {
Promise.prototype.finally = function (callback) {
var promise = this.constructor;
return this.then(function (value) {
return promise.resolve(callback()).then(function () {
return value;
});
}, function (reason) {
return promise.resolve(callback()).then(function () {
throw reason;
});
});
};
}
if (typeof uni !== 'undefined' && uni && uni.requireGlobal) {
var global = uni.requireGlobal();
ArrayBuffer = global.ArrayBuffer;
Int8Array = global.Int8Array;
Uint8Array = global.Uint8Array;
Uint8ClampedArray = global.Uint8ClampedArray;
Int16Array = global.Int16Array;
Uint16Array = global.Uint16Array;
Int32Array = global.Int32Array;
Uint32Array = global.Uint32Array;
Float32Array = global.Float32Array;
Float64Array = global.Float64Array;
BigInt64Array = global.BigInt64Array;
BigUint64Array = global.BigUint64Array;
}
if (uni.restoreGlobal) {
uni.restoreGlobal(weex, plus, setTimeout, clearTimeout, setInterval, clearInterval);
}
__definePage('pages/tabbar/index/index', function () {
return Vue.extend(__webpack_require__(/*! pages/tabbar/index/index.vue?mpType=page */ 7).default);
});
__definePage('pages/tabbar/classify/classify', function () {
return Vue.extend(__webpack_require__(/*! pages/tabbar/classify/classify.vue?mpType=page */ 23).default);
});
__definePage('pages/tabbar/mine/mine', function () {
return Vue.extend(__webpack_require__(/*! pages/tabbar/mine/mine.vue?mpType=page */ 28).default);
});
__definePage('pages/tabbar/study/study', function () {
return Vue.extend(__webpack_require__(/*! pages/tabbar/study/study.vue?mpType=page */ 33).default);
});
/***/ }),
/* 7 */
/*!***********************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/index/index.vue?mpType=page ***!
\***********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_b39aeda6_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=b39aeda6&mpType=page */ 8);\n/* harmony import */ var _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js&mpType=page */ 17);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _index_vue_vue_type_template_id_b39aeda6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _index_vue_vue_type_template_id_b39aeda6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _index_vue_vue_type_template_id_b39aeda6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/tabbar/index/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWIzOWFlZGE2Jm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxccnVudGltZVxcXFxjb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicGFnZXMvdGFiYmFyL2luZGV4L2luZGV4LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///7\n");
/***/ }),
/* 8 */
/*!*****************************************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/index/index.vue?vue&type=template&id=b39aeda6&mpType=page ***!
\*****************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_b39aeda6_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=b39aeda6&mpType=page */ 9);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_b39aeda6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_b39aeda6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_b39aeda6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_b39aeda6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 9 */
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/pages/tabbar/index/index.vue?vue&type=template&id=b39aeda6&mpType=page ***!
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
try {
components = {
scanCode: __webpack_require__(/*! @/components/scan-code/scan-code.vue */ 10).default,
}
} catch (e) {
if (
e.message.indexOf("Cannot find module") !== -1 &&
e.message.indexOf(".vue") !== -1
) {
console.error(e.message)
console.error("1. 排查组件名称拼写是否正确")
console.error(
"2. 排查组件是否符合 easycom 规范文档https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"
)
console.error(
"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件"
)
} else {
throw e
}
}
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"view",
{ staticClass: _vm._$s(0, "sc", "Big"), attrs: { _i: 0 } },
[
_c("view", { attrs: { id: "page", _i: 1 } }, [
_vm._$s(2, "i", _vm.showPop)
? _c("view", [
_c("view", [
_c("text", {
staticClass: _vm._$s(
4,
"sc",
"font-sm text-secondary px-3 py-2"
),
attrs: { _i: 4 },
}),
_c("input", {
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.ilsApi,
expression: "ilsApi",
},
],
staticClass: _vm._$s(5, "sc", "font-md border bg-white px-3"),
attrs: { _i: 5 },
domProps: { value: _vm._$s(5, "v-model", _vm.ilsApi) },
on: {
input: function ($event) {
if ($event.target.composing) {
return
}
_vm.ilsApi = $event.target.value
},
},
}),
]),
_c("view", [
_c("text", {
staticClass: _vm._$s(
7,
"sc",
"font-sm text-secondary px-3 py-2"
),
attrs: { _i: 7 },
}),
_c("input", {
directives: [
{
name: "model",
rawName: "v-model",
value: _vm.printIp,
expression: "printIp",
},
],
staticClass: _vm._$s(8, "sc", "font-md border bg-white px-3"),
attrs: { _i: 8 },
domProps: { value: _vm._$s(8, "v-model", _vm.printIp) },
on: {
input: function ($event) {
if ($event.target.composing) {
return
}
_vm.printIp = $event.target.value
},
},
}),
]),
_c("view", [
_c("button", {
staticClass: _vm._$s(10, "sc", "systemSty"),
attrs: { _i: 10 },
on: { click: _vm.cancelAdd },
}),
_c("button", {
staticClass: _vm._$s(11, "sc", "systemSty"),
attrs: { _i: 11 },
on: { click: _vm.confirmAdd },
}),
]),
])
: _vm._e(),
_c(
"text",
{ staticClass: _vm._$s(12, "sc", "nameSty"), attrs: { _i: 12 } },
[_vm._v(_vm._$s(12, "t0-0", _vm._s(_vm.codes)))]
),
_vm._$s(13, "i", !_vm.showPop)
? _c("button", {
staticClass: _vm._$s(13, "sc", "systemSty"),
attrs: { _i: 13 },
on: {
click: function ($event) {
return _vm.pdaSystemInit()
},
},
})
: _vm._e(),
_vm._$s(14, "i", _vm.codes)
? _c("button", {
staticClass: _vm._$s(14, "sc", "nameSty"),
attrs: { _i: 14 },
on: {
click: function ($event) {
return _vm.doPrinter(_vm.codes)
},
},
})
: _vm._e(),
]),
_c("scan-code", { attrs: { _i: 15 } }),
],
1
)
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 10 */
/*!*****************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _scan_code_vue_vue_type_template_id_ed052b00___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./scan-code.vue?vue&type=template&id=ed052b00& */ 11);\n/* harmony import */ var _scan_code_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scan-code.vue?vue&type=script&lang=js& */ 13);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _scan_code_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _scan_code_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _scan_code_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _scan_code_vue_vue_type_template_id_ed052b00___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _scan_code_vue_vue_type_template_id_ed052b00___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _scan_code_vue_vue_type_template_id_ed052b00___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/scan-code/scan-code.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBc0g7QUFDdEg7QUFDNkQ7QUFDTDs7O0FBR3hEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLCtFQUFNO0FBQ1IsRUFBRSxvRkFBTTtBQUNSLEVBQUUsNkZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsd0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL3NjYW4tY29kZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9ZWQwNTJiMDAmXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9zY2FuLWNvZGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9zY2FuLWNvZGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcImNvbXBvbmVudHMvc2Nhbi1jb2RlL3NjYW4tY29kZS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///10\n");
/***/ }),
/* 11 */
/*!************************************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?vue&type=template&id=ed052b00& ***!
\************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_template_id_ed052b00___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./scan-code.vue?vue&type=template&id=ed052b00& */ 12);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_template_id_ed052b00___WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_template_id_ed052b00___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_template_id_ed052b00___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_template_id_ed052b00___WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 12 */
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?vue&type=template&id=ed052b00& ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"view",
{ staticClass: _vm._$s(0, "sc", "content"), attrs: { _i: 0 } },
[_vm._v(_vm._$s(0, "t0-0", _vm._s(_vm.scanCode)))]
)
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 13 */
/*!******************************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?vue&type=script&lang=js& ***!
\******************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./scan-code.vue?vue&type=script&lang=js& */ 14);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scan_code_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW9pQixDQUFnQix1a0JBQUcsRUFBQyIsImZpbGUiOiIxMy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3NjYW4tY29kZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3NjYW4tY29kZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///13\n");
/***/ }),
/* 14 */
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/components/scan-code/scan-code.vue?vue&type=script&lang=js& ***!
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n\nvar main, receiver, filter;\nvar _codeQueryTag = false;\nvar _default = {\n data: function data() {\n return {\n scanCode: ''\n };\n },\n created: function created(option) {\n this.initScan();\n this.startScan();\n },\n onHide: function onHide() {\n this.stopScan();\n },\n destroyed: function destroyed() {\n /*页面退出时一定要卸载监听,否则下次进来时会重复造成扫一次出2个以上的结果*/\n this.stopScan();\n },\n methods: {\n initScan: function initScan() {\n var _this = this;\n main = plus.android.runtimeMainActivity(); //获取activity\n var IntentFilter = plus.android.importClass('android.content.IntentFilter');\n filter = new IntentFilter();\n filter.addAction(\"android.intent.ACTION_DECODE_DATA\"); // 换你的广播动作\n receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {\n onReceive: function onReceive(context, intent) {\n plus.android.importClass(intent);\n var code = intent.getStringExtra(\"barcode_string\"); // 换你的广播标签\n _this.queryCode(code);\n }\n });\n },\n startScan: function startScan() {\n main.registerReceiver(receiver, filter);\n },\n stopScan: function stopScan() {\n main.unregisterReceiver(receiver);\n },\n queryCode: function queryCode(code) {\n //防重复\n if (_codeQueryTag) return false;\n _codeQueryTag = true;\n setTimeout(function () {\n _codeQueryTag = false;\n }, 150);\n var id = code;\n __f__(\"log\", 'id:', id, \" at components/scan-code/scan-code.vue:53\");\n uni.$emit('scancodedate', {\n code: id\n });\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 15)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy9zY2FuLWNvZGUvc2Nhbi1jb2RlLnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwic2NhbkNvZGUiLCJjcmVhdGVkIiwib25IaWRlIiwiZGVzdHJveWVkIiwibWV0aG9kcyIsImluaXRTY2FuIiwibWFpbiIsImZpbHRlciIsInJlY2VpdmVyIiwib25SZWNlaXZlIiwicGx1cyIsIl90aGlzIiwic3RhcnRTY2FuIiwic3RvcFNjYW4iLCJxdWVyeUNvZGUiLCJfY29kZVF1ZXJ5VGFnIiwic2V0VGltZW91dCIsInVuaSIsImNvZGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBS0E7QUFDQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQTtNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FDO01BQ0E7TUFDQUM7TUFDQTtNQUNBQztNQUNBQTtNQUNBQztRQUNBQztVQUNBQztVQUNBO1VBQ0FDO1FBQ0E7TUFBQTtJQUNBO0lBQ0FDO01BQ0FOO0lBQ0E7SUFDQU87TUFDQVA7SUFDQTtJQUNBUTtNQUNBO01BQ0E7TUFDQUM7TUFDQUM7UUFDQUQ7TUFDQTtNQUNBO01BQ0E7TUFDQUU7UUFBQUM7TUFBQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjE0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICAgIDx2aWV3IGNsYXNzPVwiY29udGVudFwiPnt7c2NhbkNvZGV9fTwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG52YXIgbWFpbixyZWNlaXZlcixmaWx0ZXI7XG52YXIgX2NvZGVRdWVyeVRhZyA9IGZhbHNlO1xuZXhwb3J0IGRlZmF1bHQge1xuICAgIGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY2FuQ29kZTogJydcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY3JlYXRlZDogZnVuY3Rpb24gKG9wdGlvbikge1xuICAgICAgICB0aGlzLmluaXRTY2FuKClcbiAgICAgICAgdGhpcy5zdGFydFNjYW4oKTtcbiAgICB9LFxuICAgIG9uSGlkZTpmdW5jdGlvbigpe1xuICAgICAgICB0aGlzLnN0b3BTY2FuKCk7XG4gICAgfSxcbiAgICBkZXN0cm95ZWQ6ZnVuY3Rpb24oKXtcbiAgICAgICAgLyrpobXpnaLpgIDlh7rml7bkuIDlrpropoHljbjovb3nm5HlkKws5ZCm5YiZ5LiL5qyh6L+b5p2l5pe25Lya6YeN5aSN77yM6YCg5oiQ5omr5LiA5qyh5Ye6MuS4quS7peS4iueahOe7k+aenCovXG4gICAgICAgIHRoaXMuc3RvcFNjYW4oKTtcbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaW5pdFNjYW4oKSB7XG4gICAgICAgICAgICBsZXQgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgbWFpbiA9IHBsdXMuYW5kcm9pZC5ydW50aW1lTWFpbkFjdGl2aXR5KCk7Ly/ojrflj5ZhY3Rpdml0eVxuICAgICAgICAgICAgdmFyIEludGVudEZpbHRlciA9IHBsdXMuYW5kcm9pZC5pbXBvcnRDbGFzcygnYW5kcm9pZC5jb250ZW50LkludGVudEZpbHRlcicpO1xuICAgICAgICAgICAgZmlsdGVyID0gbmV3IEludGVudEZpbHRlcigpO1xuICAgICAgICAgICAgZmlsdGVyLmFkZEFjdGlvbihcImFuZHJvaWQuaW50ZW50LkFDVElPTl9ERUNPREVfREFUQVwiKTsgLy8g5o2i5L2g55qE5bm/5pKt5Yqo5L2cXG4gICAgICAgICAgICByZWNlaXZlciA9IHBsdXMuYW5kcm9pZC5pbXBsZW1lbnRzKCdpby5kY2xvdWQuZmVhdHVyZS5pbnRlcm5hbC5yZWZsZWN0LkJyb2FkY2FzdFJlY2VpdmVyJyx7XG4gICAgICAgICAgICBvblJlY2VpdmUgOiBmdW5jdGlvbihjb250ZXh0LCBpbnRlbnQpIHtcbiAgICAgICAgICAgICAgICBwbHVzLmFuZHJvaWQuaW1wb3J0Q2xhc3MoaW50ZW50KTtcbiAgICAgICAgICAgICAgICBsZXQgY29kZSA9IGludGVudC5nZXRTdHJpbmdFeHRyYShcImJhcmNvZGVfc3RyaW5nXCIpOy8vIOaNouS9oOeahOW5v+aSreagh+etvlxuICAgICAgICAgICAgICAgIF90aGlzLnF1ZXJ5Q29kZShjb2RlKTtcbiAgICAgICAgICAgIH19KTtcbiAgICAgICAgfSxcbiAgICAgICAgc3RhcnRTY2FuKCl7XG4gICAgICAgICAgICBtYWluLnJlZ2lzdGVyUmVjZWl2ZXIocmVjZWl2ZXIsZmlsdGVyKTtcbiAgICAgICAgfSxcbiAgICAgICAgc3RvcFNjYW4oKXtcbiAgICAgICAgICAgIG1haW4udW5yZWdpc3RlclJlY2VpdmVyKHJlY2VpdmVyKTtcbiAgICAgICAgfSxcbiAgICAgICAgcXVlcnlDb2RlOiBmdW5jdGlvbihjb2RlKXtcbiAgICAgICAgICAgIC8v6Ziy6YeN5aSNXG4gICAgICAgICAgICBpZihfY29kZVF1ZXJ5VGFnKXJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIF9jb2RlUXVlcnlUYWcgPSB0cnVlO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIF9jb2RlUXVlcnlUYWcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sMTUwKTtcbiAgICAgICAgICAgIHZhciBpZCA9IGNvZGVcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdpZDonLCBpZClcbiAgICAgICAgICAgIHVuaS4kZW1pdCgnc2NhbmNvZGVkYXRlJyx7Y29kZTppZH0pXG4gICAgICAgIH1cbiAgICB9XG59XG48L3NjcmlwdD5cblxuPHN0eWxlPlxuICAgIHBhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmY0O1xuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///14\n");
/***/ }),
/* 15 */
/*!*********************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js ***!
\*********************************************************************/
/*! exports provided: log, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "log", function() { return log; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return formatLog; });
function typof (v) {
var s = Object.prototype.toString.call(v)
return s.substring(8, s.length - 1)
}
function isDebugMode () {
/* eslint-disable no-undef */
return typeof __channelId__ === 'string' && __channelId__
}
function jsonStringifyReplacer (k, p) {
switch (typof(p)) {
case 'Function':
return 'function() { [native code] }'
default :
return p
}
}
function log (type) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key]
}
console[type].apply(console, args)
}
function formatLog () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key]
}
var type = args.shift()
if (isDebugMode()) {
args.push(args.pop().replace('at ', 'uni-app:///'))
return console[type].apply(console, args)
}
var msgs = args.map(function (v) {
var type = Object.prototype.toString.call(v).toLowerCase()
if (type === '[object object]' || type === '[object array]') {
try {
v = '---BEGIN:JSON---' + JSON.stringify(v, jsonStringifyReplacer) + '---END:JSON---'
} catch (e) {
v = type
}
} else {
if (v === null) {
v = '---NULL---'
} else if (v === undefined) {
v = '---UNDEFINED---'
} else {
var vType = typof(v).toUpperCase()
if (vType === 'NUMBER' || vType === 'BOOLEAN') {
v = '---BEGIN:' + vType + '---' + v + '---END:' + vType + '---'
} else {
v = String(v)
}
}
}
return v
})
var msg = ''
if (msgs.length > 1) {
var lastMsg = msgs.pop()
msg = msgs.join('---COMMA---')
if (lastMsg.indexOf(' at ') === 0) {
msg += lastMsg
} else {
msg += '---COMMA---' + lastMsg
}
} else {
msg = msgs[0]
}
console[type](msg)
}
/***/ }),
/* 16 */
/*!**********************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***!
\**********************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; });
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent (
scriptExports,
render,
staticRenderFns,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier, /* server only */
shadowMode, /* vue-cli only */
components, // fixed by xxxxxx auto components
renderjs // fixed by xxxxxx renderjs
) {
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports.options
: scriptExports
// fixed by xxxxxx auto components
if (components) {
if (!options.components) {
options.components = {}
}
var hasOwn = Object.prototype.hasOwnProperty
for (var name in components) {
if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {
options.components[name] = components[name]
}
}
}
// fixed by xxxxxx renderjs
if (renderjs) {
if(typeof renderjs.beforeCreate === 'function'){
renderjs.beforeCreate = [renderjs.beforeCreate]
}
(renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {
this[renderjs.__module] = this
});
(options.mixins || (options.mixins = [])).push(renderjs)
}
// render functions
if (render) {
options.render = render
options.staticRenderFns = staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = 'data-v-' + scopeId
}
var hook
if (moduleIdentifier) { // server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = shadowMode
? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
: injectStyles
}
if (hook) {
if (options.functional) {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functioal component in vue file
var originalRender = options.render
options.render = function renderWithStyleInjection (h, context) {
hook.call(context)
return originalRender(h, context)
}
} else {
// inject component registration as beforeCreate hook
var existing = options.beforeCreate
options.beforeCreate = existing
? [].concat(existing, hook)
: [hook]
}
}
return {
exports: scriptExports,
options: options
}
}
/***/ }),
/* 17 */
/*!***********************************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/index/index.vue?vue&type=script&lang=js&mpType=page ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js&mpType=page */ 18);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJpQixDQUFnQiw4a0JBQUcsRUFBQyIsImZpbGUiOiIxNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///17\n");
/***/ }),
/* 18 */
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/pages/tabbar/index/index.vue?vue&type=script&lang=js&mpType=page ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _scanCode = _interopRequireDefault(__webpack_require__(/*! @/components/scan-code/scan-code.vue */ 10));\nvar _CLodopfuncs = __webpack_require__(/*! @/common/print/CLodopfuncs.js */ 19);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar _printPdf = uni.requireNativePlugin('YanYu-PrintPDF');\nvar LODOP = (0, _CLodopfuncs.getCLodop)();\nvar _default = {\n data: function data() {\n return {\n codes: undefined,\n showPop: false,\n httpRoot: 'http://',\n ilsApi: '192.168.1.56:9090',\n printIp: '192.168.1.26',\n onLoad: function onLoad(option) {\n this.$broadcastScan.init(this.getScancode);\n },\n onUnload: function onUnload() {\n this.$broadcastScan.stop();\n },\n onHide: function onHide() {\n this.$broadcastScan.stop();\n },\n onShow: function onShow() {\n this.$broadcastScan.start();\n }\n };\n },\n methods: {\n pdaSystemInit: function pdaSystemInit() {\n this.showPop = true;\n },\n confirmAdd: function confirmAdd() {\n //确认\n this.showPop = false;\n __f__(\"log\", \"ilsApi:\", this.ilsApi, \" at pages/tabbar/index/index.vue:63\");\n __f__(\"log\", \"printIp:\", this.printIp, \" at pages/tabbar/index/index.vue:64\");\n },\n cancelAdd: function cancelAdd() {\n //取消\n this.ilsApi = '';\n this.printIp = '';\n this.showPop = false;\n },\n // 打印\n doPrinter: function doPrinter(orderCoder) {\n var _this2 = this;\n this.showPop = false;\n __f__(\"log\", \"doPrinter orderCoder: \" + orderCoder, \" at pages/tabbar/index/index.vue:75\");\n __f__(\"log\", \"ilsApi:\", this.ilsApi, \" at pages/tabbar/index/index.vue:76\");\n __f__(\"log\", \"printIp:\", this.printIp, \" at pages/tabbar/index/index.vue:77\");\n // LODOP.PRINT_INIT(null, \"192.168.1.26\");\n // LODOP.SET_PRINTER_INDEX(-1);\n // LODOP.PRINT_INITA(0, 0, \"100mm\", \"150mm\", \"100X150\");\n // LODOP.SET_PRINT_PAGESIZE(1, \"100mm\", \"150mm\", \"\");\n // LODOP.SET_PRINT_MODE(\"POS_BASEON_PAPER\", true);\n // //LODOP.ADD_PRINT_HTM(10, 20, \"100mm\", \"150mm\", \"<img src=\"+this.imageData+\" style=\\\"width: 100mm; height: 100mm;\\\"/>\");\n // LODOP.ADD_PRINT_PDF(0, 0, \"100mm\", \"150mm\", this.imgePdfData);\n // LODOP.PRINT();\n uni.request({\n url: this.httpRoot + this.ilsApi + '/jeecg-boot/front/getOrderPayStateAndPdfBase64?OrderId=' + orderCoder,\n method: 'GET',\n success: function success(res) {\n __f__(\"log\", res.data.result, \" at pages/tabbar/index/index.vue:90\");\n if (res.data.code == 200) {\n LODOP.PRINT_INIT(null, _this2.printIp);\n LODOP.SET_PRINTER_INDEX(-1);\n LODOP.PRINT_INITA(2, 0, \"100mm\", \"150mm\", \"100X150\");\n LODOP.SET_PRINT_PAGESIZE(1, \"100mm\", \"150mm\", \"\");\n LODOP.SET_PRINT_MODE(\"POS_BASEON_PAPER\", true);\n // LODOP.ADD_PRINT_HTM(2, 0, \"100mm\", \"150mm\", \"<img src=\"+ this.imgBase64Root + res.data.message+\" style=\\\"width: 100mm; height: 100mm;\\\"/>\");\n LODOP.ADD_PRINT_PDF(0, 0, \"100mm\", \"150mm\", res.data.result);\n LODOP.PRINT();\n uni.showToast({\n title: '打印成功',\n icon: 'success',\n duration: 2000\n });\n } else {\n uni.showToast({\n title: '打印失败',\n icon: 'none',\n duration: 2000\n });\n }\n },\n fail: function fail() {\n uni.showToast({\n title: '打印失败',\n icon: 'none',\n duration: 2000\n });\n }\n });\n },\n onShow: function onShow() {\n var _this = this;\n uni.$off('scancodedate'); // 每次进来先 移除全局自定义事件监听器\n uni.$on('scancodedate', function (data) {\n __f__(\"log\", '你想要的code', data.code, \" at pages/tabbar/index/index.vue:126\");\n _this.codes = data.code;\n this.showPop = false;\n var orderCoder = data.code;\n __f__(\"log\", \"onShow orderCoder: \" + orderCoder, \" at pages/tabbar/index/index.vue:130\");\n __f__(\"log\", \"ilsApi:\", _this.ilsApi, \" at pages/tabbar/index/index.vue:131\");\n __f__(\"log\", \"printIp:\", _this.printIp, \" at pages/tabbar/index/index.vue:132\");\n //orderCoder = \"SF1642682535344\";\n uni.request({\n url: _this.httpRoot + _this.ilsApi + '/jeecg-boot/front/getOrderPayStateAndPdfBase64?OrderId=' + orderCoder,\n method: 'GET',\n success: function success(res) {\n __f__(\"log\", res.data.result, \" at pages/tabbar/index/index.vue:138\");\n if (res.data.code == 200) {\n LODOP.PRINT_INIT(null, _this.printIp);\n LODOP.SET_PRINTER_INDEX(-1);\n LODOP.PRINT_INITA(2, 0, \"100mm\", \"150mm\", \"100X150\");\n LODOP.SET_PRINT_PAGESIZE(1, \"100mm\", \"150mm\", \"\");\n LODOP.SET_PRINT_MODE(\"POS_BASEON_PAPER\", true);\n // LODOP.ADD_PRINT_HTM(2, 0, \"100mm\", \"150mm\", \"<img src=\"+ this.imgBase64Root + res.data.message+\" style=\\\"width: 100mm; height: 100mm;\\\"/>\");\n LODOP.ADD_PRINT_PDF(0, 0, \"100mm\", \"150mm\", res.data.result);\n LODOP.PRINT();\n uni.showToast({\n title: '打印成功',\n icon: 'success',\n duration: 2000\n });\n } else {\n uni.showToast({\n title: '打印失败',\n icon: 'none',\n duration: 2000\n });\n }\n },\n fail: function fail() {\n uni.showToast({\n title: '打印失败',\n icon: 'none',\n duration: 2000\n });\n }\n });\n });\n },\n getScancode: function getScancode(code) {\n // 有些PDA会自带换行符trim函数处理下\n code = code.trim();\n //code就是扫描获取的值\n __f__(\"log\", code, \" at pages/tabbar/index/index.vue:175\");\n },\n printPdf: function printPdf() {\n // 有些PDA会自带换行符trim函数处理下\n _printPdf.managerPrint(\"D:\\LeStoreDownload\\EXP-LHJ1239002405-3676E4041337.pdf\");\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 15)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiYmFyL2luZGV4L2luZGV4LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwiY29kZXMiLCJzaG93UG9wIiwiaHR0cFJvb3QiLCJpbHNBcGkiLCJwcmludElwIiwib25Mb2FkIiwib25VbmxvYWQiLCJvbkhpZGUiLCJvblNob3ciLCJtZXRob2RzIiwicGRhU3lzdGVtSW5pdCIsImNvbmZpcm1BZGQiLCJjYW5jZWxBZGQiLCJkb1ByaW50ZXIiLCJ1bmkiLCJ1cmwiLCJtZXRob2QiLCJzdWNjZXNzIiwiTE9ET1AiLCJ0aXRsZSIsImljb24iLCJkdXJhdGlvbiIsImZhaWwiLCJfdGhpcyIsImdldFNjYW5jb2RlIiwiY29kZSIsInByaW50UGRmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBNEJBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7QUFDQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBO01BQ0E7TUFDQUM7UUFDQTtNQUNBO01BQ0FDO1FBQ0E7TUFDQTtNQUNBQztRQUNBO01BQ0E7SUFDQTtFQUNBO0VBRUFDO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBQztRQUNBQztRQUNBQztRQUNBQztVQUNBO1VBQ0E7WUFDQUM7WUFDQUE7WUFDQUE7WUFDQUE7WUFDQUE7WUFDQTtZQUNBQTtZQUNBQTtZQUNBSjtjQUNBSztjQUNBQztjQUNBQztZQUNBO1VBQ0E7WUFDQVA7Y0FDQUs7Y0FDQUM7Y0FDQUM7WUFDQTtVQUNBO1FBQ0E7UUFDQUM7VUFDQVI7WUFDQUs7WUFDQUM7WUFDQUM7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBYjtNQUNBO01BQ0FNO01BQ0FBO1FBQ0E7UUFDQVM7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQVQ7VUFDQUM7VUFDQUM7VUFDQUM7WUFDQTtZQUNBO2NBQ0FDO2NBQ0FBO2NBQ0FBO2NBQ0FBO2NBQ0FBO2NBQ0E7Y0FDQUE7Y0FDQUE7Y0FDQUo7Z0JBQ0FLO2dCQUNBQztnQkFDQUM7Y0FDQTtZQUNBO2NBQ0FQO2dCQUNBSztnQkFDQUM7Z0JBQ0FDO2NBQ0E7WUFDQTtVQUNBO1VBQ0FDO1lBQ0FSO2NBQ0FLO2NBQ0FDO2NBQ0FDO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBRztNQUNBO01BQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQUE7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cIkJpZ1wiPlxyXG5cdFx0PHZpZXcgaWQ9XCJwYWdlXCI+XHJcblx0XHRcdDwhLS0g5a+86Iiq5qCPIC0tPlxyXG5cdFx0XHQ8dmlldyB2LWlmPVwic2hvd1BvcFwiPlxyXG5cdFx0XHRcdDx2aWV3ID5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZm9udC1zbSB0ZXh0LXNlY29uZGFyeSBweC0zIHB5LTJcIj5pbHNBcGnlnLDlnYA8L3RleHQ+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvbnQtbWQgYm9yZGVyIGJnLXdoaXRlIHB4LTNcIiBwbGFjZWhvbGRlcj1cIuivt+Whq+WGmWlsc0FwaeWcsOWdgFwiIHN0eWxlPVwiaGVpZ2h0OiAxMDBycHg7XCIgdi1tb2RlbD1cImlsc0FwaVwiLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgPlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJmb250LXNtIHRleHQtc2Vjb25kYXJ5IHB4LTMgcHktMlwiPuaJk+WNsOacuklQPC90ZXh0PlxyXG5cdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb250LW1kIGJvcmRlciBiZy13aGl0ZSBweC0zXCIgcGxhY2Vob2xkZXI9XCLor7floavlhplpbHNBcGnlnLDlnYBcIiBzdHlsZT1cImhlaWdodDogMTAwcnB4O1wiIHYtbW9kZWw9XCJwcmludElwXCIvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyA+XHJcblx0XHRcdFx0ICAgICAgICA8YnV0dG9uIGNsYXNzPVwic3lzdGVtU3R5XCIgQHRhcD1cImNhbmNlbEFkZFwiPuWPlua2iDwvYnV0dG9uPlxyXG5cdFx0XHRcdCAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInN5c3RlbVN0eVwiIEB0YXA9XCJjb25maXJtQWRkXCI+56Gu5a6aPC9idXR0b24+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHRcdFxyXG5cdFx0XHTlvZPliY3ljZXlj7c6XHJcblx0XHRcdDx0ZXh0IGNsYXNzPVwibmFtZVN0eVwiPnt7Y29kZXN9fTwvdGV4dD5cclxuXHRcdFx0PGJ1dHRvbiB2LWlmPVwiIXNob3dQb3BcIiBAY2xpY2s9XCJwZGFTeXN0ZW1Jbml0KClcIiBjbGFzcz1cInN5c3RlbVN0eVwiPlBEQeiuvue9rjwvYnV0dG9uPlxyXG5cdFx0XHQ8YnV0dG9uIHYtaWY9XCJjb2Rlc1wiIEBjbGljaz1cImRvUHJpbnRlcihjb2RlcylcIiBjbGFzcz1cIm5hbWVTdHlcIj7lho3mrKHmiZPljbA8L2J1dHRvbj5cclxuXHRcdDwvdmlldz5cclxuXHRcdDxzY2FuLWNvZGU+PC9zY2FuLWNvZGU+XHJcblx0XHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCBzY2FuQ29kZSBmcm9tIFwiQC9jb21wb25lbnRzL3NjYW4tY29kZS9zY2FuLWNvZGUudnVlXCI7XHJcblx0aW1wb3J0IHsgZ2V0Q0xvZG9wIH0gZnJvbSAnQC9jb21tb24vcHJpbnQvQ0xvZG9wZnVuY3MuanMnO1xyXG5cdGNvbnN0IHByaW50UGRmID0gdW5pLnJlcXVpcmVOYXRpdmVQbHVnaW4oJ1lhbll1LVByaW50UERGJyk7XHJcblx0Y29uc3QgTE9ET1AgPSBnZXRDTG9kb3AoKTtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGNvZGVzOiB1bmRlZmluZWQsXHJcblx0XHRcdFx0c2hvd1BvcDogZmFsc2UsXHJcblx0XHRcdFx0aHR0cFJvb3Q6ICdodHRwOi8vJyxcclxuXHRcdFx0XHRpbHNBcGk6ICcxOTIuMTY4LjEuNTY6OTA5MCcsXHJcblx0XHRcdFx0cHJpbnRJcDogJzE5Mi4xNjguMS4yNicsXHJcblx0XHRcdFx0b25Mb2FkKG9wdGlvbikge1xyXG5cdFx0XHRcdFx0dGhpcy4kYnJvYWRjYXN0U2Nhbi5pbml0KHRoaXMuZ2V0U2NhbmNvZGUpO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0b25VbmxvYWQoKSB7XHJcblx0XHRcdFx0XHR0aGlzLiRicm9hZGNhc3RTY2FuLnN0b3AoKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdG9uSGlkZSgpIHtcclxuXHRcdFx0XHRcdHRoaXMuJGJyb2FkY2FzdFNjYW4uc3RvcCgpO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0b25TaG93KCkge1xyXG5cdFx0XHRcdFx0dGhpcy4kYnJvYWRjYXN0U2Nhbi5zdGFydCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdHBkYVN5c3RlbUluaXQ6IGZ1bmN0aW9uKCl7XHJcblx0XHRcdFx0dGhpcy5zaG93UG9wID0gdHJ1ZTtcdFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb25maXJtQWRkKCkge1xyXG5cdFx0XHRcdC8v56Gu6K6kXHJcblx0XHRcdFx0dGhpcy5zaG93UG9wID0gZmFsc2U7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJpbHNBcGk6XCIsIHRoaXMuaWxzQXBpKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcInByaW50SXA6XCIsIHRoaXMucHJpbnRJcCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGNhbmNlbEFkZCgpIHsgIFxyXG5cdFx0XHRcdC8v5Y+W5raIXHJcblx0XHRcdFx0dGhpcy5pbHNBcGkgPSAnJztcclxuXHRcdFx0XHR0aGlzLnByaW50SXAgPSAnJztcclxuXHRcdFx0XHR0aGlzLnNob3dQb3AgPSBmYWxzZTtcdFx0ICBcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5omT5Y2wXHJcblx0XHRcdGRvUHJpbnRlcjogZnVuY3Rpb24ob3JkZXJDb2Rlcikge1xyXG5cdFx0XHRcdHRoaXMuc2hvd1BvcCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJkb1ByaW50ZXIgb3JkZXJDb2RlcjogXCIgKyBvcmRlckNvZGVyKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcImlsc0FwaTpcIiwgdGhpcy5pbHNBcGkpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwicHJpbnRJcDpcIiwgdGhpcy5wcmludElwKTtcclxuXHRcdFx0XHQvLyBMT0RPUC5QUklOVF9JTklUKG51bGwsIFwiMTkyLjE2OC4xLjI2XCIpO1xyXG5cdFx0XHRcdC8vIExPRE9QLlNFVF9QUklOVEVSX0lOREVYKC0xKTtcclxuXHRcdFx0XHQvLyBMT0RPUC5QUklOVF9JTklUQSgwLCAwLCBcIjEwMG1tXCIsIFwiMTUwbW1cIiwgXCIxMDBYMTUwXCIpO1xyXG5cdFx0XHRcdC8vIExPRE9QLlNFVF9QUklOVF9QQUdFU0laRSgxLCBcIjEwMG1tXCIsIFwiMTUwbW1cIiwgXCJcIik7XHJcblx0XHRcdFx0Ly8gTE9ET1AuU0VUX1BSSU5UX01PREUoXCJQT1NfQkFTRU9OX1BBUEVSXCIsIHRydWUpO1xyXG5cdFx0XHRcdC8vIC8vTE9ET1AuQUREX1BSSU5UX0hUTSgxMCwgMjAsIFwiMTAwbW1cIiwgXCIxNTBtbVwiLCBcIjxpbWcgc3JjPVwiK3RoaXMuaW1hZ2VEYXRhK1wiIHN0eWxlPVxcXCJ3aWR0aDogMTAwbW07IGhlaWdodDogMTAwbW07XFxcIi8+XCIpO1xyXG5cdFx0XHRcdC8vIExPRE9QLkFERF9QUklOVF9QREYoMCwgMCwgXCIxMDBtbVwiLCBcIjE1MG1tXCIsIHRoaXMuaW1nZVBkZkRhdGEpO1xyXG5cdFx0XHRcdC8vIExPRE9QLlBSSU5UKCk7XHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdCAgICB1cmw6IHRoaXMuaHR0cFJvb3QgKyB0aGlzLmlsc0FwaSArICcvamVlY2ctYm9vdC9mcm9udC9nZXRPcmRlclBheVN0YXRlQW5kUGRmQmFzZTY0P09yZGVySWQ9JyArIG9yZGVyQ29kZXIsXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdHRVQnLFxyXG5cdFx0XHRcdCAgICBzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0ICAgICAgICBjb25zb2xlLmxvZyggcmVzLmRhdGEucmVzdWx0KTtcclxuXHRcdFx0XHRcdFx0aWYocmVzLmRhdGEuY29kZT09MjAwKXtcclxuXHRcdFx0XHRcdFx0XHRMT0RPUC5QUklOVF9JTklUKG51bGwsIHRoaXMucHJpbnRJcCk7XHJcblx0XHRcdFx0XHRcdFx0TE9ET1AuU0VUX1BSSU5URVJfSU5ERVgoLTEpO1xyXG5cdFx0XHRcdFx0XHRcdExPRE9QLlBSSU5UX0lOSVRBKDIsIDAsIFwiMTAwbW1cIiwgXCIxNTBtbVwiLCBcIjEwMFgxNTBcIik7XHJcblx0XHRcdFx0XHRcdFx0TE9ET1AuU0VUX1BSSU5UX1BBR0VTSVpFKDEsIFwiMTAwbW1cIiwgXCIxNTBtbVwiLCBcIlwiKTtcclxuXHRcdFx0XHRcdFx0XHRMT0RPUC5TRVRfUFJJTlRfTU9ERShcIlBPU19CQVNFT05fUEFQRVJcIiwgdHJ1ZSk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gTE9ET1AuQUREX1BSSU5UX0hUTSgyLCAwLCBcIjEwMG1tXCIsIFwiMTUwbW1cIiwgXCI8aW1nIHNyYz1cIisgdGhpcy5pbWdCYXNlNjRSb290ICsgcmVzLmRhdGEubWVzc2FnZStcIiBzdHlsZT1cXFwid2lkdGg6IDEwMG1tOyBoZWlnaHQ6IDEwMG1tO1xcXCIvPlwiKTtcclxuXHRcdFx0XHRcdFx0XHRMT0RPUC5BRERfUFJJTlRfUERGKDAsIDAsIFwiMTAwbW1cIiwgXCIxNTBtbVwiLCByZXMuZGF0YS5yZXN1bHQpO1xyXG5cdFx0XHRcdFx0XHRcdExPRE9QLlBSSU5UKCk7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aJk+WNsOaIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMjAwMFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHQgICAgdGl0bGU6ICfmiZPljbDlpLHotKUnLFxyXG5cdFx0XHRcdFx0XHRcdCAgICBpY29uOiAnbm9uZScsXHJcblx0XHRcdFx0XHRcdFx0ICAgIGR1cmF0aW9uOiAyMDAwXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdFx0ZmFpbDogKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0ICAgIHRpdGxlOiAn5omT5Y2w5aSx6LSlJyxcclxuXHRcdFx0XHRcdFx0ICAgIGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdFx0ICAgIGR1cmF0aW9uOiAyMDAwXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRvblNob3c6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciBfdGhpcyA9IHRoaXM7XHJcblx0XHRcdFx0dW5pLiRvZmYoJ3NjYW5jb2RlZGF0ZScpOyAvLyDmr4/mrKHov5vmnaXlhYgg56e76Zmk5YWo5bGA6Ieq5a6a5LmJ5LqL5Lu255uR5ZCs5ZmoXHJcblx0XHRcdFx0dW5pLiRvbignc2NhbmNvZGVkYXRlJywgZnVuY3Rpb24oZGF0YSkge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+S9oOaDs+imgeeahGNvZGXvvJonLCBkYXRhLmNvZGUpO1xyXG5cdFx0XHRcdFx0X3RoaXMuY29kZXMgPSBkYXRhLmNvZGU7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dQb3AgPSBmYWxzZTtcclxuXHRcdFx0XHRcdGxldCBvcmRlckNvZGVyID0gZGF0YS5jb2RlO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJvblNob3cgb3JkZXJDb2RlcjogXCIgKyBvcmRlckNvZGVyKTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKFwiaWxzQXBpOlwiLCBfdGhpcy5pbHNBcGkpO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJwcmludElwOlwiLCBfdGhpcy5wcmludElwKTtcclxuXHRcdFx0XHRcdC8vb3JkZXJDb2RlciA9IFwiU0YxNjQyNjgyNTM1MzQ0XCI7XHJcblx0XHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHQgICAgdXJsOiBfdGhpcy5odHRwUm9vdCArIF90aGlzLmlsc0FwaSArICcvamVlY2ctYm9vdC9mcm9udC9nZXRPcmRlclBheVN0YXRlQW5kUGRmQmFzZTY0P09yZGVySWQ9JyArIG9yZGVyQ29kZXIsXHJcblx0XHRcdFx0XHRcdG1ldGhvZDogJ0dFVCcsXHJcblx0XHRcdFx0XHQgICAgc3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0ICAgICAgICBjb25zb2xlLmxvZyggcmVzLmRhdGEucmVzdWx0KTtcclxuXHRcdFx0XHRcdFx0XHRpZihyZXMuZGF0YS5jb2RlPT0yMDApe1xyXG5cdFx0XHRcdFx0XHRcdFx0TE9ET1AuUFJJTlRfSU5JVChudWxsLCBfdGhpcy5wcmludElwKTtcclxuXHRcdFx0XHRcdFx0XHRcdExPRE9QLlNFVF9QUklOVEVSX0lOREVYKC0xKTtcclxuXHRcdFx0XHRcdFx0XHRcdExPRE9QLlBSSU5UX0lOSVRBKDIsIDAsIFwiMTAwbW1cIiwgXCIxNTBtbVwiLCBcIjEwMFgxNTBcIik7XHJcblx0XHRcdFx0XHRcdFx0XHRMT0RPUC5TRVRfUFJJTlRfUEFHRVNJWkUoMSwgXCIxMDBtbVwiLCBcIjE1MG1tXCIsIFwiXCIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0TE9ET1AuU0VUX1BSSU5UX01PREUoXCJQT1NfQkFTRU9OX1BBUEVSXCIsIHRydWUpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gTE9ET1AuQUREX1BSSU5UX0hUTSgyLCAwLCBcIjEwMG1tXCIsIFwiMTUwbW1cIiwgXCI8aW1nIHNyYz1cIisgdGhpcy5pbWdCYXNlNjRSb290ICsgcmVzLmRhdGEubWVzc2FnZStcIiBzdHlsZT1cXFwid2lkdGg6IDEwMG1tOyBoZWlnaHQ6IDEwMG1tO1xcXCIvPlwiKTtcclxuXHRcdFx0XHRcdFx0XHRcdExPRE9QLkFERF9QUklOVF9QREYoMCwgMCwgXCIxMDBtbVwiLCBcIjE1MG1tXCIsIHJlcy5kYXRhLnJlc3VsdCk7XHJcblx0XHRcdFx0XHRcdFx0XHRMT0RPUC5QUklOVCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5omT5Y2w5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMjAwMFxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdCAgICB0aXRsZTogJ+aJk+WNsOWksei0pScsXHJcblx0XHRcdFx0XHRcdFx0XHQgICAgaWNvbjogJ25vbmUnLFxyXG5cdFx0XHRcdFx0XHRcdFx0ICAgIGR1cmF0aW9uOiAyMDAwXHJcblx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdFx0XHRmYWlsOiAoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0ICAgIHRpdGxlOiAn5omT5Y2w5aSx6LSlJyxcclxuXHRcdFx0XHRcdFx0XHQgICAgaWNvbjogJ25vbmUnLFxyXG5cdFx0XHRcdFx0XHRcdCAgICBkdXJhdGlvbjogMjAwMFxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRTY2FuY29kZShjb2RlKSB7XHJcblx0XHRcdFx0Ly8g5pyJ5LqbUERB5Lya6Ieq5bim5o2i6KGM56ym77yMdHJpbeWHveaVsOWkhOeQhuS4i1xyXG5cdFx0XHRcdGNvZGUgPSBjb2RlLnRyaW0oKVxyXG5cdFx0XHRcdC8vY29kZeWwseaYr+aJq+aPj+iOt+WPlueahOWAvFxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGNvZGUpXHJcblx0XHRcdH0sXHJcblx0XHRcdHByaW50UGRmKCkge1xyXG5cdFx0XHRcdC8vIOacieS6m1BEQeS8muiHquW4puaNouihjOespu+8jHRyaW3lh73mlbDlpITnkIbkuItcclxuXHRcdFx0XHRwcmludFBkZi5tYW5hZ2VyUHJpbnQoXCJEOlxcTGVTdG9yZURvd25sb2FkXFxFWFAtTEhKMTIzOTAwMjQwNS0zNjc2RTQwNDEzMzcucGRmXCIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuLkJpZ3tcclxuXHR3aWR0aDogMjIwcHg7XHJcblx0bWFyZ2luOiAyMDBweCAxMDBweDtcclxufVxyXG4ubmFtZVN0eXtcclxuXHRoZWlnaHQ6IDMwcHg7XHJcblx0d2lkdGg6IDIyMHB4ICFpbXBvcnRhbnQ7XHJcblx0bGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGNvbG9yOiAjODI4MjgyICFpbXBvcnRhbnQ7XHJcbn1cclxuL2RlZXAvLnUtc2l6ZS1kZWZhdWx0LC9kZWVwLy51bmktaW5wdXQtaW5wdXR7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG59XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///18\n");
/***/ }),
/* 19 */
/*!**********************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/common/print/CLodopfuncs.js ***!
\**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCLodop = getCLodop;\nexports.getPrinterList = getPrinterList;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 20));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 22));\n/* eslint-disable */\n\nwindow = {\n location: {\n href: 'http://127.0.0.1/print'\n }\n};\n(function (win) {\n var printListDev = [];\n var printListOnline = [];\n var CLODOP = {\n strWebPageID: \"7BCAAAH\",\n strTaskID: \"\",\n strHostURI: \"http://localhost:8000\",\n wsHostURI: \"ws://localhost:8000/c_webskt/\",\n VERSION: \"6.5.7.2\",\n IVERSION: \"6572\",\n CVERSION: \"6.5.7.2\",\n HTTPS_STATUS: 2,\n VERSION_EXT: true,\n iBaseTask: 0,\n timeThreshold: 5,\n Priority: 0,\n blIslocal: true,\n Iframes: [],\n ItemDatas: {},\n PageData: {},\n defStyleJson: {},\n PageDataEx: {},\n ItemCNameStyles: {},\n blWorking: false,\n blNormalItemAdded: false,\n blTmpSelectedIndex: null,\n Caption: null,\n Color: null,\n CompanyName: null,\n strBroadcastMS: null,\n Border: null,\n Inbrowse: null,\n webskt: null,\n SocketEnable: false,\n SocketOpened: false,\n NoClearAfterPrint: false,\n On_Return_Remain: false,\n On_Broadcast_Remain: false,\n On_Return: null,\n Result: null,\n iTrySendTimes: 0,\n OBO_Mode: 1,\n blOneByone: false,\n DelimChar: \"\\f\\f\",\n Printers: {\n \"default\": \"1\",\n \"list\": []\n },\n altMessageWebSocketInvalid: \"WebSocket没准备好点确定继续...\",\n altMessageNoReadWriteFile: \"不能远程读写文件!\",\n altMessageNoReadFile: \"不能远程读文件!\",\n altMessageNoWriteFile: \"不能远程写文件!\",\n altMessageNoPrintDesign: \"不能远程打印设计!\",\n altMessageNoPrintSetup: \"不能远程打印维护!\",\n altMessageSomeWindowExist: \"有窗口已打开,先关闭它(持续如此时请刷新页面)!\",\n altMessageBusy: \"上一个请求正忙,请稍后再试!\",\n Browser: function () {\n navigator = {\n userAgent: \"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36\"\n };\n var ua = navigator.userAgent;\n var isOpera = Object.prototype.toString.call(window.opera) == \"[object Opera]\";\n return {\n IE: !!window.attachEvent && !isOpera,\n Opera: isOpera,\n WebKit: ua.indexOf(\"AppleWebKit/\") > -1,\n Gecko: ua.indexOf(\"Gecko\") > -1 && ua.indexOf(\"KHTML\") === -1,\n MobileSafari: /Apple.*Mobile/.test(ua)\n };\n }(),\n GetTaskID: function GetTaskID() {\n if (!this.strTaskID || this.strTaskID == \"\") {\n var dt = new Date();\n this.iBaseTask++;\n this.strTaskID = \"\" + dt.getHours() + dt.getMinutes() + dt.getSeconds() + \"_\" + this.iBaseTask;\n }\n return this.strWebPageID + this.strTaskID;\n },\n DoInit: function DoInit() {\n if (true) {\n //开发环境\n CLODOP.Printers.list = printListDev;\n } else {}\n this.strTaskID = \"\";\n if (this.NoClearAfterPrint) return;\n this.ItemDatas = {\n \"count\": 0\n };\n this.PageData = {};\n this.ItemCNameStyles = {};\n this.defStyleJson = {\n \"beginpage\": 0,\n \"beginpagea\": 0\n };\n this.blNormalItemAdded = false;\n // win.CLODOP.OpenWebSocket();\n },\n\n OpenWebSocket: function OpenWebSocket(rest) {\n if (window.On_CLodop_Opened) {\n if (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout(\"window.On_CLodop_Opened(CLODOP)\", 1);\n }\n if (!window.WebSocket && !window.MozWebSocket) {\n if (window.On_CLodop_Opened) {\n if (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout(\"window.On_CLodop_Opened(CLODOP)\", 1);\n }\n }\n __f__(\"log\", this.webskt, \" at common/print/CLodopfuncs.js:123\");\n __f__(\"log\", CLODOP.wsHostURI, \" at common/print/CLodopfuncs.js:124\");\n __f__(\"log\", rest, \" at common/print/CLodopfuncs.js:125\");\n var ip = uni.getStorageSync('fl_ip') || '192.168.1.56';\n var wsHostURI = \"ws://\".concat(ip, \":8000/c_webskt/\");\n this.SocketEnable = true;\n try {\n if (!this.webskt || this.webskt.readyState == 3 || rest) {\n __f__(\"log\", '链接', \" at common/print/CLodopfuncs.js:131\");\n if (!window.WebSocket && window.MozWebSocket) window.WebSocket = window.MozWebSocket;\n this.webskt = uni.connectSocket({\n url: wsHostURI,\n success: function success(res) {\n __f__(\"info\", res, \" at common/print/CLodopfuncs.js:136\");\n __f__(\"log\", '链接成功', \" at common/print/CLodopfuncs.js:137\");\n },\n fail: function fail(res) {\n __f__(\"info\", res, \" at common/print/CLodopfuncs.js:140\");\n __f__(\"log\", '链接失败', \" at common/print/CLodopfuncs.js:141\");\n },\n complete: function complete(res) {\n __f__(\"info\", res, \" at common/print/CLodopfuncs.js:144\");\n __f__(\"log\", '链接完成', \" at common/print/CLodopfuncs.js:145\");\n }\n });\n __f__(\"log\", this.webskt, \" at common/print/CLodopfuncs.js:148\");\n this.webskt.onOpen(function (e) {\n CLODOP.SocketOpened = true;\n if (window.On_CLodop_Opened) {\n if (CLODOP.Priority == window.CLODOP_OK_Priority) setTimeout(window.On_CLodop_Opened(CLODOP), 10000);\n }\n });\n this.webskt.onMessage(function (e) {\n __f__(\"log\", e, \" at common/print/CLodopfuncs.js:156\");\n CLODOP.resultHandle(e.data);\n });\n this.webskt.onClose(function (e) {\n if (!CLODOP.SocketOpened) {\n CLODOP.SocketEnable = false;\n return;\n }\n // setTimeout(CLODOP.OpenWebSocket(), 2000);\n });\n\n this.webskt.onError(function (e) {\n __f__(\"info\", e, \" at common/print/CLodopfuncs.js:167\");\n });\n }\n } catch (err) {\n this.webskt = null;\n if (err.message.indexOf(\"SecurityError\") > -1) this.SocketEnable = false;else setTimeout(function () {\n CLODOP.OpenWebSocket();\n }, 2000);\n }\n },\n resultHandle: function resultHandle(data) {\n CLODOP.blOneByone = false;\n var strResult = data;\n CLODOP.Result = strResult;\n try {\n var strFTaskID = null;\n var iPos = strResult.indexOf(\"=\");\n if (iPos >= 0 && iPos < 30) {\n strFTaskID = strResult.slice(0, iPos);\n strResult = strResult.slice(iPos + 1);\n }\n if (strFTaskID.indexOf(\"ErrorMS\") > -1) {\n __f__(\"info\", strResult, \" at common/print/CLodopfuncs.js:192\");\n return;\n }\n if (strFTaskID.indexOf(\"BroadcastMS\") > -1) {\n CLODOP.strBroadcastMS = strResult;\n if (CLODOP.On_Broadcast) {\n var selfFunc = CLODOP.On_Broadcast;\n CLODOP.On_Broadcast(strResult);\n if (!CLODOP.On_Broadcast_Remain && selfFunc === CLODOP.On_Broadcast) CLODOP.On_Broadcast = null;\n }\n return;\n }\n if (CLODOP.On_Return) {\n var selfFunc = CLODOP.On_Return;\n if (strResult.toLowerCase() == \"true\" || strResult.toLowerCase() == \"false\") CLODOP.On_Return(strFTaskID, strResult.toLowerCase() == \"true\");else CLODOP.On_Return(strFTaskID, strResult);\n if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n }\n } catch (err) {\n __f__(\"log\", err, \" at common/print/CLodopfuncs.js:214\");\n }\n ;\n },\n wsSend: function wsSend(strData) {\n // console.info(strData);\n __f__(\"log\", this.webskt, \" at common/print/CLodopfuncs.js:219\");\n __f__(\"log\", this.wsHostURI, \" at common/print/CLodopfuncs.js:220\");\n __f__(\"log\", 11, \" at common/print/CLodopfuncs.js:221\");\n if (this.webskt && this.webskt.readyState == 1) {\n this.Result = null;\n this.iTrySendTimes = 0;\n this.webskt.send({\n data: strData,\n success: function success(res) {\n __f__(\"info\", res, \" at common/print/CLodopfuncs.js:228\");\n },\n fail: function fail(res) {\n __f__(\"info\", res, \" at common/print/CLodopfuncs.js:231\");\n }\n });\n return true;\n } else {\n this.iTrySendTimes++;\n __f__(\"log\", this.iTrySendTimes, \" at common/print/CLodopfuncs.js:237\");\n if (this.iTrySendTimes <= 1) {\n this.OpenWebSocket();\n setTimeout(function () {\n CLODOP.wsSend(strData);\n }, 1000);\n }\n }\n },\n FORMAT: function FORMAT(oType, oValue) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:248\");\n return null;\n }\n var tResult = null;\n if (oType !== undefined && oValue !== undefined) {\n if (oType.replace(/^\\s+|\\s+$/g, \"\").toLowerCase().indexOf(\"time:\") == 0) {\n oType = oType.replace(/^\\s+|\\s+$/g, \"\").slice(5);\n if (oValue.toLowerCase().indexOf(\"now\") > -1) oValue = new Date().toString();\n if (oValue.toLowerCase().indexOf(\"date\") > -1) oValue = new Date().toString();\n if (oValue.toLowerCase().indexOf(\"time\") > -1) oValue = new Date().toString();\n var TypeYMD = \"ymd\";\n if (oValue.toLowerCase().indexOf(\"ymd\") > -1) {\n TypeYMD = \"ymd\";\n oValue = oValue.slice(3);\n }\n if (oValue.toLowerCase().indexOf(\"dmy\") > -1) {\n TypeYMD = \"dmy\";\n oValue = oValue.slice(3);\n }\n if (oValue.toLowerCase().indexOf(\"mdy\") > -1) {\n TypeYMD = \"mdy\";\n oValue = oValue.slice(3);\n }\n oValue = oValue.replace(/ [^ ]*\\+[^ ]* /g, \" \");\n oValue = oValue.replace(/\\(.*\\)/g, \" \");\n oValue = oValue.replace(/星期日|星期一|星期二|星期三|星期四|星期五|星期六/g, \" \");\n oValue = oValue.replace(/[A-Za-z]+day|Mon|Tue|Wed|Thu|Fri|Sat|Sun/g, \" \");\n var aMonth = 0;\n var exp = new RegExp(\"Oct[A-Za-z]*|十月|10月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 10;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"Nov[A-Za-z]*|十一月|11月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 11;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"Dec[A-Za-z]*|十二月|12月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 12;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"Jan[A-Za-z]*|一月|01月|1月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 1;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"Feb[A-Za-z]*|二月|02月|2月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 2;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"Mar[A-Za-z]*|三月|03月|3月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 3;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"Apr[A-Za-z]*|四月|04月|4月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 4;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"May[A-Za-z]*|五月|05月|5月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 5;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"Jun[A-Za-z]*|六月|06月|6月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 6;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"Jul[A-Za-z]*|七月|07月|7月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 7;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"Aug[A-Za-z]*|八月|08月|8月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 8;\n oValue = oValue.replace(exp, \"\");\n }\n exp = new RegExp(\"Sep[A-Za-z]*|九月|09月|9月\", \"i\");\n if (oValue.match(exp) !== null) {\n aMonth = 9;\n oValue = oValue.replace(exp, \"\");\n }\n oValue = oValue.replace(/日|秒/g, \" \");\n oValue = oValue.replace(/时|分/g, \":\");\n var subTime = oValue.match(/ \\d+:\\d+:\\d+/);\n if (subTime == null) subTime = \"\";\n oValue = oValue.replace(/ \\d+:\\d+:\\d+/, \"\") + subTime;\n var dValue = new Date();\n var iYear = 0;\n var iMonth = 0;\n var iDate = 0;\n var iHour = 0;\n var iMinutes = 0;\n var iSecond = 0;\n var tmpValue = oValue;\n var sValue = \"\";\n var MC1 = 0;\n MC2 = 0;\n MC3 = 0;\n sValue = tmpValue.match(/\\d+/);\n if (sValue !== null) {\n MC1 = parseInt(sValue[0]);\n tmpValue = tmpValue.replace(/\\d+/, \"\");\n }\n sValue = tmpValue.match(/\\d+/);\n if (sValue !== null) {\n MC2 = parseInt(sValue[0]);\n tmpValue = tmpValue.replace(/\\d+/, \"\");\n }\n if (aMonth <= 0) {\n sValue = tmpValue.match(/\\d+/);\n if (sValue !== null) {\n MC3 = parseInt(sValue[0]);\n tmpValue = tmpValue.replace(/\\d+/, \"\");\n }\n }\n if (aMonth > 0) {\n iMonth = aMonth;\n if (MC2 <= 31) {\n iYear = MC1;\n iDate = MC2;\n } else {\n iYear = MC2;\n iDate = MC1;\n }\n } else if (TypeYMD == \"dmy\") {\n iDate = MC1;\n iMonth = MC2;\n iYear = MC3;\n } else if (TypeYMD == \"mdy\") {\n iMonth = MC1;\n iDate = MC2;\n iYear = MC3;\n } else {\n iYear = MC1;\n iMonth = MC2;\n iDate = MC3;\n if (MC3 > 31) {\n iYear = MC3;\n iMonth = MC1;\n iDate = MC2;\n if (MC1 > 12) {\n iDate = MC1;\n iMonth = MC2;\n }\n ;\n } else {\n if (MC2 > 12) {\n iYear = MC2;\n iMonth = MC1;\n }\n }\n }\n var sValue = tmpValue.match(/\\d+/);\n if (sValue !== null) {\n iHour = parseInt(sValue[0]);\n tmpValue = tmpValue.replace(/\\d+/, \"\");\n }\n var sValue = tmpValue.match(/\\d+/);\n if (sValue !== null) {\n iMinutes = parseInt(sValue[0]);\n tmpValue = tmpValue.replace(/\\d+/, \"\");\n }\n var sValue = tmpValue.match(/\\d+/);\n if (sValue !== null) {\n iSecond = parseInt(sValue[0]);\n tmpValue = tmpValue.replace(/\\d+/, \"\");\n }\n if (oType.toLowerCase() == \"isvalidformat\") oValue = iYear > 0 && iMonth > 0 && iMonth <= 12 && iDate > 0 && iDate <= 31;else {\n if ((\"\" + iYear).length < 4) iYear = iYear + 2000;\n dValue.setFullYear(iYear, iMonth - 1, iDate);\n dValue.setHours(iHour);\n dValue.setMinutes(iMinutes);\n dValue.setSeconds(iSecond);\n var iDay = dValue.getDay();\n if (oType.toLowerCase() == \"weekindex\") oValue = iDay;else if (oType.toLowerCase() == \"floatvalue\") oValue = dValue.getTime();else {\n var sWeek = \"\";\n switch (iDay) {\n case 0:\n sWeek = \"日\";\n break;\n case 1:\n sWeek = \"一\";\n break;\n case 2:\n sWeek = \"二\";\n break;\n case 3:\n sWeek = \"三\";\n break;\n case 4:\n sWeek = \"四\";\n break;\n case 5:\n sWeek = \"五\";\n break;\n case 6:\n sWeek = \"六\";\n break;\n }\n oValue = oType.replace(/dddd/ig, \"星期\" + sWeek);\n if (/(y+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (iYear + \"\").substr(4 - RegExp.$1.length));\n if (/(m+:)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (\"00\" + iMinutes + \":\").substr((\"00\" + iMinutes + \":\").length - RegExp.$1.length));\n if (/(M+)/i.test(oValue)) {\n var dsWidth = (\"\" + iMonth).length > RegExp.$1.length ? (\"\" + iMonth).length : RegExp.$1.length;\n oValue = oValue.replace(RegExp.$1, (\"00\" + iMonth).substr((\"00\" + iMonth).length - dsWidth));\n }\n if (/(d+)/i.test(oValue)) {\n var dsWidth = (\"\" + iDate).length > RegExp.$1.length ? (\"\" + iDate).length : RegExp.$1.length;\n oValue = oValue.replace(RegExp.$1, (\"00\" + iDate).substr((\"00\" + iDate).length - dsWidth));\n }\n if (/(H+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (\"00\" + iHour).substr((\"00\" + iHour).length - RegExp.$1.length));\n if (/(n+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (\"00\" + iMinutes).substr((\"00\" + iMinutes).length - RegExp.$1.length));\n if (/(s+)/i.test(oValue)) oValue = oValue.replace(RegExp.$1, (\"00\" + iSecond).substr((\"00\" + iSecond).length - RegExp.$1.length));\n }\n }\n if (CLODOP.On_Return) {\n var selfFunc = CLODOP.On_Return;\n CLODOP.On_Return(0, oValue);\n if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n }\n return oValue;\n } else if (this.blIslocal || oType.indexOf(\"FILE:\") < 0) {\n this.PageData[\"format_type\"] = oType;\n this.PageData[\"format_value\"] = oValue;\n if (this.DoPostDatas(\"format\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n } else __f__(\"info\", this.altMessageNoReadWriteFile, \" at common/print/CLodopfuncs.js:496\");\n }\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n SET_PRINT_PAPER: function SET_PRINT_PAPER(Top, Left, Width, Height, strPrintTask) {\n return this.PRINT_INITA(Top, Left, Width, Height, strPrintTask);\n },\n PRINT_INIT: function PRINT_INIT(strPrintTask, host) {\n this.wsHostURI = \"ws://\".concat(host, \":8000/c_webskt/\");\n return this.PRINT_INITA(null, null, null, null, strPrintTask);\n },\n PRINT_INITA: function PRINT_INITA(Top, Left, Width, Height, strPrintTask) {\n if (Top === undefined || Top === null) Top = \"\";\n if (Left === undefined || Left === null) Left = \"\";\n if (Width === undefined || Width === null) Width = \"\";\n if (Height === undefined || Height === null) Height = \"\";\n if (strPrintTask === undefined || strPrintTask === null) strPrintTask = \"\";\n this.NoClearAfterPrint = false;\n this.DoInit();\n this.PageData[\"top\"] = Top;\n this.PageData[\"left\"] = Left;\n this.PageData[\"width\"] = Width;\n this.PageData[\"height\"] = Height;\n this.PageData[\"printtask\"] = strPrintTask;\n return true;\n },\n SET_PRINT_MODE: function SET_PRINT_MODE(strModeType, ModeValue) {\n if (strModeType === undefined || strModeType === null) strModeType = \"\";\n if (ModeValue === undefined || ModeValue === null) ModeValue = \"\";\n if (strModeType === \"\") return false;\n strModeType = strModeType.toLowerCase();\n this.PageData[strModeType] = ModeValue;\n if (strModeType == \"noclear_after_print\") this.NoClearAfterPrint = ModeValue;\n if (strModeType.indexOf(\"window_def\") > -1 || strModeType.indexOf(\"control_printer\") > -1) {\n var tResult = null;\n if (this.DoPostDatas(\"onlysetprint\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n this.DoInit();\n this.blWorking = false;\n return tResult;\n }\n },\n ADD_PRINT_TEXT: function ADD_PRINT_TEXT(top, left, width, height, strText) {\n return this.AddItemArray(2, top, left, width, height, strText);\n },\n ADD_PRINT_TEXTA: function ADD_PRINT_TEXTA(itemName, top, left, width, height, strText) {\n return this.AddItemArray(2, top, left, width, height, strText, itemName);\n },\n ADD_PRINT_HTM: function ADD_PRINT_HTM(top, left, width, height, strHTML) {\n return this.AddItemArray(4, top, left, width, height, strHTML);\n },\n ADD_PRINT_HTML: function ADD_PRINT_HTML(top, left, width, height, strHTML) {\n return this.AddItemArray(1, top, left, width, height, strHTML);\n },\n ADD_PRINT_HTMLA: function ADD_PRINT_HTMLA(itemName, top, left, width, height, strHTML) {\n return this.AddItemArray(1, top, left, width, height, strHTML, itemName);\n },\n ADD_PRINT_BARCODE: function ADD_PRINT_BARCODE(top, left, width, height, BarType, BarValue) {\n return this.AddItemArray(9, top, left, width, height, BarValue, null, null, null, null, null, null, BarType);\n },\n ADD_PRINT_BARCODEA: function ADD_PRINT_BARCODEA(ItemName, top, left, width, height, BarType, BarValue) {\n return this.AddItemArray(9, top, left, width, height, BarValue, ItemName, null, null, null, null, null, BarType);\n },\n ADD_PRINT_RECTA: function ADD_PRINT_RECTA(top, left, width, height, intPenStyle, intPenWidth, intColor) {\n return this.AddItemArray(3, top, left, width, height, null, null, 2, intPenStyle, intPenWidth, intColor, null);\n },\n ADD_PRINT_RECT: function ADD_PRINT_RECT(top, left, width, height, intPenStyle, intPenWidth) {\n return this.AddItemArray(3, top, left, width, height, null, null, 2, intPenStyle, intPenWidth, null, null);\n },\n ADD_PRINT_ELLIPSEA: function ADD_PRINT_ELLIPSEA(top, left, width, height, intPenStyle, intPenWidth, intColor) {\n return this.AddItemArray(3, top, left, width, height, null, null, 3, intPenStyle, intPenWidth, intColor, null);\n },\n ADD_PRINT_ELLIPSE: function ADD_PRINT_ELLIPSE(top, left, width, height, intPenStyle, intPenWidth) {\n return this.AddItemArray(3, top, left, width, height, null, null, 3, intPenStyle, intPenWidth, null, null);\n },\n ADD_PRINT_SHAPE: function ADD_PRINT_SHAPE(ShapeType, top, left, width, height, intPenStyle, intPenWidth, intColor) {\n return this.AddItemArray(3, top, left, width, height, null, null, ShapeType, intPenStyle, intPenWidth, intColor, null);\n },\n ADD_PRINT_LINE: function ADD_PRINT_LINE(top1, left1, top2, left2, intPenStyle, intPenWidth) {\n return this.AddItemArray(3, top1, left1, top2, left2, null, null, 0, intPenStyle, intPenWidth, null, \"1\");\n },\n ADD_PRINT_DNLINE: function ADD_PRINT_DNLINE(Top, Left, Width, Height, intPenStyle, intPenWidth) {\n return this.AddItemArray(3, Top, Left, Width, Height, null, null, 1, intPenStyle, intPenWidth, null, null);\n },\n ADD_PRINT_DNLINEA: function ADD_PRINT_DNLINEA(Top, Left, Width, Height, intPenStyle, intPenWidth, intColor) {\n return this.AddItemArray(3, Top, Left, Width, Height, null, null, 1, intPenStyle, intPenWidth, intColor, null);\n },\n ADD_PRINT_UPLINE: function ADD_PRINT_UPLINE(Top, Left, Width, Height, intPenStyle, intPenWidth) {\n return this.AddItemArray(3, Top, Left, Width, Height, null, null, 0, intPenStyle, intPenWidth, null, null);\n },\n ADD_PRINT_UPLINEA: function ADD_PRINT_UPLINEA(Top, Left, Width, Height, intPenStyle, intPenWidth, intColor) {\n return this.AddItemArray(3, Top, Left, Width, Height, null, null, 0, intPenStyle, intPenWidth, intColor, null);\n },\n ADD_PRINT_TABLE: function ADD_PRINT_TABLE(top, left, width, height, strHTML) {\n return this.AddItemArray(6, top, left, width, height, strHTML);\n },\n ADD_PRINT_PDF: function ADD_PRINT_PDF(top, left, width, height, strContent) {\n if (!this.blIslocal && strContent[1] == \":\") alert(\"Unable to print or view remote service files\");else return this.AddItemArray(11, top, left, width, height, strContent);\n },\n ADD_PRINT_TBURL: function ADD_PRINT_TBURL(top, left, width, height, strURL) {\n return this.AddItemArray(7, top, left, width, height, strURL);\n },\n ADD_PRINT_URL: function ADD_PRINT_URL(top, left, width, height, strURL) {\n return this.AddItemArray(5, top, left, width, height, strURL);\n },\n ADD_PRINT_IMAGE: function ADD_PRINT_IMAGE(top, left, width, height, strHTML) {\n return this.AddItemArray(8, top, left, width, height, strHTML);\n },\n ADD_PRINT_CHART: function ADD_PRINT_CHART(top, left, width, height, strChartTypess, strHTML) {\n return this.AddItemArray(10, top, left, width, height, strHTML, null, null, null, null, null, null, null, strChartTypess);\n },\n SET_PRINT_PROPERTY: function SET_PRINT_PROPERTY(ItemNO, intPageType, intHorzOrient, intVertOrient) {\n this.SET_PRINT_STYLEA(ItemNO, \"ItemType\", intPageType);\n this.SET_PRINT_STYLEA(ItemNO, \"HOrient\", intHorzOrient);\n this.SET_PRINT_STYLEA(ItemNO, \"VOrient\", intVertOrient);\n },\n SET_PRINT_PROPERTYA: function SET_PRINT_PROPERTYA(ItemName, intPageType, intHorzOrient, intVertOrient) {\n this.SET_PRINT_PROPERTY(ItemName, intPageType, intHorzOrient, intVertOrient);\n },\n SET_PRINT_STYLE: function SET_PRINT_STYLE(strStyleName, StyleValue) {\n if (strStyleName === undefined || strStyleName === null) strStyleName = \"\";\n if (StyleValue === undefined || StyleValue === null) StyleValue = \"\";\n if (strStyleName === \"\") return false;\n strStyleName = strStyleName.toLowerCase();\n this.defStyleJson[strStyleName] = StyleValue;\n },\n SET_PRINT_STYLEA: function SET_PRINT_STYLEA(ItemNo, strKey, Value) {\n if (ItemNo === undefined || ItemNo === null) ItemNo = \"\";\n if (strKey === undefined || strKey === null) strKey = \"\";\n if (Value === undefined || Value === null) Value = \"\";\n if (ItemNo === \"\" || strKey === \"\") return false;\n if (this.ItemDatas[\"count\"] <= 0) {\n if (this.PageData[\"add_print_program_data\"] !== undefined) {\n this.ItemCNameStyles[strKey.toLowerCase() + \"-\" + ItemNo] = Value;\n return true;\n } else {\n return false;\n }\n }\n strKey = strKey.toLowerCase();\n if (strKey == \"type\") return false;\n var blResult = false;\n if (ItemNo == 0) {\n ItemNo = this.ItemDatas[\"count\"];\n }\n for (var vItemNO in this.ItemDatas) {\n var ItemName = this.ItemDatas[vItemNO][\"itemname\"];\n if (ItemNo == vItemNO || ItemNo == ItemName || typeof ItemNo === \"string\" && typeof ItemName === \"string\" && ItemNo.toUpperCase() == ItemName.toUpperCase()) {\n this.ItemDatas[vItemNO][strKey] = Value;\n blResult = true;\n }\n }\n if (blResult) return true;\n return false;\n },\n SET_PRINT_TEXT_STYLE: function SET_PRINT_TEXT_STYLE(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment) {\n this.SET_PRINT_STYLEA(ItemNO, \"fontname\", strFontName);\n this.SET_PRINT_STYLEA(ItemNO, \"fontsize\", intSize);\n this.SET_PRINT_STYLEA(ItemNO, \"bold\", intBold);\n this.SET_PRINT_STYLEA(ItemNO, \"italic\", intItalic);\n this.SET_PRINT_STYLEA(ItemNO, \"underline\", intUnderline);\n this.SET_PRINT_STYLEA(ItemNO, \"alignment\", intAlignment);\n },\n SET_PRINT_TEXT_STYLEA: function SET_PRINT_TEXT_STYLEA(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color) {\n this.SET_PRINT_TEXT_STYLE(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment);\n this.SET_PRINT_STYLEA(ItemNO, \"fontcolor\", Color);\n },\n SET_PRINT_TEXT_STYLEB: function SET_PRINT_TEXT_STYLEB(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color) {\n this.SET_PRINT_TEXT_STYLEA(ItemNO, strFontName, intSize, intBold, intItalic, intUnderline, intAlignment, Color);\n },\n NEWPAGE: function NEWPAGE() {\n this.NewPage();\n },\n NewPage: function NewPage() {\n var blSomeNormal = false;\n var noItemType;\n for (var vItemNO in this.ItemDatas) {\n if (vItemNO == \"count\") noItemType = false;else noItemType = true;\n for (var vItemxx in this.ItemDatas[vItemNO]) {\n if (vItemxx == \"itemtype\") {\n noItemType = false;\n if (this.ItemDatas[vItemNO][vItemxx] == 0 || this.ItemDatas[vItemNO][vItemxx] == 4) {\n blSomeNormal = true;\n break;\n }\n }\n }\n if (noItemType) blSomeNormal = true;\n if (blSomeNormal) break;\n }\n if (blSomeNormal) this.defStyleJson[\"beginpage\"] = this.defStyleJson[\"beginpage\"] + 1;\n },\n NEWPAGEA: function NEWPAGEA() {\n this.NewPageA();\n },\n NewPageA: function NewPageA() {\n var blSomeNormal = false;\n var noItemType;\n for (var vItemNO in this.ItemDatas) {\n if (vItemNO == \"count\") noItemType = false;else noItemType = true;\n for (var vItemxx in this.ItemDatas[vItemNO]) {\n if (vItemxx == \"itemtype\") {\n noItemType = false;\n if (this.ItemDatas[vItemNO][vItemxx] == 0 || this.ItemDatas[vItemNO][vItemxx] == 4) {\n blSomeNormal = true;\n break;\n }\n }\n }\n if (noItemType) blSomeNormal = true;\n if (blSomeNormal) break;\n }\n if (blSomeNormal) this.defStyleJson[\"beginpagea\"] = this.defStyleJson[\"beginpagea\"] + 1;\n },\n PREVIEW: function PREVIEW(sView, iW, iH) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:725\");\n return null;\n }\n var tResult = null;\n if (!sView && this.blIslocal) {\n if (this.DoPostDatas(\"preview\") == true) {\n this.Result = null;\n this.GetLastResult(true);\n tResult = this.GetTaskID();\n }\n } else {\n if (this.DoPostDatas(\"cpreview\") == true) {\n this.DoCPreview(sView, iW, iH);\n tResult = this.GetTaskID();\n }\n }\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n PRINT: function PRINT(sView, iW, iH) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:747\");\n return null;\n }\n var tResult = null;\n if (this.DoPostDatas(\"print\") == true) tResult = this.GetTaskID();\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n GET_PRINTER_COUNT: function GET_PRINTER_COUNT() {\n if (this.Printers === undefined) return 0;else {\n return this.Printers[\"list\"].length;\n }\n },\n GET_PRINTER_NAME: function GET_PRINTER_NAME(intNO) {\n if (this.Printers === undefined) return \"\";else {\n if (typeof intNO == \"string\" && intNO.indexOf(\":\") > -1) {\n var strPPname = intNO.slice(intNO.indexOf(\":\") + 1);\n intNO = intNO.slice(0, intNO.indexOf(\":\"));\n if (intNO == -1) return this.Printers[\"list\"][this.Printers[\"default\"]][strPPname];else return this.Printers[\"list\"][intNO][strPPname];\n } else {\n if (intNO == -1) return this.Printers[\"list\"][this.Printers[\"default\"]].name;else if (intNO >= 0 && intNO < this.Printers[\"list\"].length) return this.Printers[\"list\"][intNO].name;else return \"Printer NO. overflow\";\n }\n }\n },\n GET_PAGESIZES_LIST: function GET_PAGESIZES_LIST(PNameIndx, Split, ListName, NameOrID) {\n if (!ListName) ListName = \"pagelist\";\n if (!NameOrID) NameOrID = \"name\";\n if (this.Printers === undefined) return \"\";else {\n if (PNameIndx == -1) PNameIndx = this.Printers[\"list\"][this.Printers[\"default\"]].name;\n for (var intNO in this.Printers[\"list\"]) {\n if (PNameIndx == intNO || PNameIndx == this.Printers[\"list\"][intNO].name) {\n var strList = \"\";\n for (var iPNO in this.Printers[\"list\"][intNO][ListName]) {\n if (NameOrID == \"id\" && this.Printers[\"list\"][intNO][ListName][iPNO].id) {\n if (strList === \"\") strList = this.Printers[\"list\"][intNO][ListName][iPNO].id;else strList = strList + Split + this.Printers[\"list\"][intNO][ListName][iPNO].id;\n } else {\n if (strList === \"\") strList = this.Printers[\"list\"][intNO][ListName][iPNO].name;else strList = strList + Split + this.Printers[\"list\"][intNO][ListName][iPNO].name;\n }\n }\n return strList;\n }\n }\n return \"\";\n }\n },\n SET_PRINTER_INDEX: function SET_PRINTER_INDEX(strName, strKeyModeName) {\n if (isNaN(strName)) {\n this.PageData.printerindex = 1;\n } else {\n this.PageData.printerindex = strName;\n }\n return true;\n if (this.Printers === undefined) return false;else {\n if (!strKeyModeName) strKeyModeName = \"printerindex\";\n strName = strName + \"\";\n strName = strName.replace(/^\\s+|\\s+$/g, \"\");\n var iPos = strName.indexOf(\",\");\n var strNameOrNO = strName;\n if (iPos > -1) strNameOrNO = strName.slice(0, iPos);\n if (strNameOrNO == \"-1\") {\n this.PageData[strKeyModeName] = this.Printers[\"default\"];\n if (iPos > -1) this.PageData[\"printersubid\"] = strName.slice(iPos + 1);\n return true;\n } else {\n for (var vNO in this.Printers[\"list\"]) {\n var strPrinterName = this.Printers[\"list\"][vNO].name;\n if (!strPrinterName) continue;\n if (strPrinterName.replace(/\\\\/g, \"\") == strNameOrNO.replace(/\\\\/g, \"\") || vNO == strNameOrNO) {\n this.PageData[strKeyModeName] = vNO;\n if (iPos > -1) this.PageData[\"printersubid\"] = strName.slice(iPos + 1);\n return true;\n }\n }\n return false;\n }\n }\n },\n SET_PRINTER_INDEXA: function SET_PRINTER_INDEXA(strName) {\n return this.SET_PRINTER_INDEX(strName, \"printerindexa\");\n },\n PRINT_DESIGN: function PRINT_DESIGN() {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:847\");\n return null;\n }\n var tResult = null;\n if (this.blIslocal) {\n if (this.DoPostDatas(\"print_design\") == true) {\n this.Result = null;\n this.GetLastResult(true);\n tResult = this.GetTaskID();\n }\n } else __f__(\"info\", this.altMessageNoPrintDesign, \" at common/print/CLodopfuncs.js:857\");\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n PRINT_SETUP: function PRINT_SETUP() {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:864\");\n return null;\n }\n var tResult = null;\n if (this.blIslocal) {\n if (this.DoPostDatas(\"print_setup\") == true) {\n this.Result = null;\n this.GetLastResult(true);\n tResult = this.GetTaskID();\n }\n } else __f__(\"info\", this.altMessageNoPrintSetup, \" at common/print/CLodopfuncs.js:874\");\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n SET_PRINT_PAGESIZE: function SET_PRINT_PAGESIZE(intOrient, PageWidth, PageHeight, strPageName) {\n if (intOrient !== undefined && intOrient !== null) this.PageData[\"orient\"] = intOrient;\n if (PageWidth !== undefined && PageWidth !== null) this.PageData[\"pagewidth\"] = PageWidth;\n if (PageHeight !== undefined && PageHeight !== null) this.PageData[\"pageheight\"] = PageHeight;\n if (strPageName !== undefined && strPageName !== null) this.PageData[\"pagename\"] = strPageName;\n },\n SET_PRINT_COPIES: function SET_PRINT_COPIES(intCopies) {\n if (intCopies !== undefined && intCopies !== null) {\n this.PageData[\"printcopies\"] = intCopies;\n return true;\n }\n },\n SELECT_PRINTER: function SELECT_PRINTER(blPrint) {\n this.SelectBox.create(388, 240, !blPrint);\n return true;\n },\n PRINTA: function PRINTA(blPrintB, sView) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:897\");\n return null;\n }\n var tResult = null;\n if (!sView && this.blIslocal) {\n this.Result = null;\n if (blPrintB) {\n if (this.DoPostDatas(\"printb\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n } else {\n if (this.DoPostDatas(\"printa\") == true) {\n this.GetLastResult(true);\n tResult = this.GetTaskID();\n }\n }\n this.DoInit();\n this.blWorking = false;\n } else {\n this.SELECT_PRINTER(true);\n }\n return tResult;\n },\n PRINTAOK: function PRINTAOK(iPrintIndex, iPrintCopies, iStartNO, iEndNO, onlySelect) {\n this.SET_PRINTER_INDEX(iPrintIndex);\n this.SET_PRINT_COPIES(iPrintCopies);\n if (iStartNO !== undefined && iStartNO !== 0) this.SET_PRINT_MODE(\"PRINT_START_PAGE\", iStartNO);\n if (iEndNO !== undefined && iEndNO !== 0) this.SET_PRINT_MODE(\"PRINT_END_PAGE\", iEndNO);\n if (!onlySelect) this.PRINT();else {\n this.blTmpSelectedIndex = iPrintIndex;\n if (CLODOP.On_Return) {\n var selfFunc = CLODOP.On_Return;\n CLODOP.On_Return(0, iPrintIndex);\n if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n }\n }\n },\n SET_LICENSES: function SET_LICENSES(strCompanyName, strLicense, strLicenseA, strLicenseB) {\n if (strCompanyName == 'THIRD LICENSE' && strLicense == \"\") {\n if (strLicenseA && strLicenseA !== \"\") this.PageDataEx[\"licensec\"] = strLicenseA;\n if (strLicenseB && strLicenseB !== \"\") this.PageDataEx[\"licensed\"] = strLicenseB;\n } else if (strCompanyName == 'LICENSE TETCODE' && strLicense == \"\" && strLicenseB == \"\") {\n if (strLicenseA && strLicenseA !== \"\") this.PageDataEx[\"Licensetetcode\"] = strLicenseA;\n } else {\n if (strCompanyName && strCompanyName !== \"\") this.PageDataEx[\"companyname\"] = strCompanyName;\n if (strLicense && strLicense !== \"\") this.PageDataEx[\"license\"] = strLicense;\n if (strLicenseA && strLicenseA !== \"\") this.PageDataEx[\"licensea\"] = strLicenseA;\n if (strLicenseB && strLicenseB !== \"\") this.PageDataEx[\"licenseb\"] = strLicenseB;\n }\n },\n PRINTB: function PRINTB() {\n return this.PRINTA(true);\n },\n PREVIEWA: function PREVIEWA() {\n return this.PREVIEW();\n },\n PREVIEWB: function PREVIEWB() {\n return this.PREVIEW();\n },\n ADD_PRINT_SETUP_BKIMG: function ADD_PRINT_SETUP_BKIMG(strContent) {\n if (strContent !== undefined && strContent !== null) {\n this.PageData[\"setup_bkimg\"] = strContent;\n return true;\n }\n },\n SET_PREVIEW_WINDOW: function SET_PREVIEW_WINDOW(intDispMode, intToolMode, blDirectPrint, oWidth, oHeight, strPButtonCaptoin) {\n if (intDispMode !== undefined && intDispMode !== null) this.PageData[\"pvw_dispmode\"] = intDispMode;\n if (intToolMode !== undefined && intToolMode !== null) this.PageData[\"pvw_toolmode\"] = intToolMode;\n if (blDirectPrint !== undefined && blDirectPrint !== null) this.PageData[\"pvw_directprint\"] = blDirectPrint;\n if (oWidth !== undefined && oWidth !== null) this.PageData[\"pvw_width\"] = oWidth;\n if (oHeight !== undefined && oHeight !== null) this.PageData[\"pvw_height\"] = oHeight;\n if (strPButtonCaptoin !== undefined && strPButtonCaptoin !== null) this.PageData[\"pvw_puttoncaptoin\"] = strPButtonCaptoin;\n },\n SET_PREVIEW_MODE: function SET_PREVIEW_MODE(ModeValue) {\n if (ModeValue !== undefined) this.PageData[\"pvw_preview_mode\"] = ModeValue;\n },\n SET_SHOW_MODE: function SET_SHOW_MODE(strModeType, ModeValue) {\n if (strModeType === undefined || strModeType === null) strModeType = \"\";\n if (ModeValue === undefined || ModeValue === null) ModeValue = \"\";\n if (strModeType === \"\") return false;\n strModeType = strModeType.toLowerCase();\n this.PageData['shwmod_' + strModeType] = ModeValue;\n },\n SAVE_TO_FILE: function SAVE_TO_FILE(strFileName) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:985\");\n return null;\n }\n var tResult = null;\n if (this.blIslocal) {\n if (strFileName) {\n this.PageData[\"stf_file_name\"] = strFileName;\n if (this.DoPostDatas(\"savetofile\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n } else __f__(\"info\", this.altMessageNoWriteFile, \" at common/print/CLodopfuncs.js:997\");\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n SET_SAVE_MODE: function SET_SAVE_MODE(strModeType, ModeValue) {\n if (strModeType === undefined || strModeType === null) strModeType = \"\";\n if (ModeValue === undefined || ModeValue === null) ModeValue = \"\";\n if (strModeType === \"\") return false;\n strModeType = strModeType.toLowerCase();\n this.PageData['stfmod_' + strModeType] = ModeValue;\n },\n SEND_PRINT_RAWDATA: function SEND_PRINT_RAWDATA(strRawData) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1011\");\n return null;\n }\n var tResult = null;\n if (strRawData !== undefined) {\n this.PageData[\"raw_print_data\"] = strRawData;\n if (this.DoPostDatas(\"sendrawdata\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n WRITE_FILE_TEXT: function WRITE_FILE_TEXT(WriteMode, strFileName, strText) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1028\");\n return null;\n }\n var tResult = null;\n if (this.blIslocal) {\n if (strFileName !== undefined && strText !== undefined) {\n this.PageData[\"write_file_mode\"] = WriteMode;\n this.PageData[\"write_file_name\"] = strFileName;\n this.PageData[\"write_file_text\"] = strText;\n if (this.DoPostDatas(\"writefiletext\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n } else __f__(\"info\", this.altMessageNoWriteFile, \" at common/print/CLodopfuncs.js:1042\");\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n GET_DIALOG_VALUE: function GET_DIALOG_VALUE(oType, oPreValue) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1049\");\n return null;\n }\n var tResult = null;\n if (oType !== undefined && oPreValue !== undefined) {\n if (this.blIslocal) {\n this.PageData[\"dialog_type\"] = oType;\n this.PageData[\"dialog_value\"] = oPreValue;\n if (this.DoPostDatas(\"dialog\") == true) {\n this.GetLastResult(true);\n tResult = this.GetTaskID();\n }\n } else __f__(\"info\", this.altMessageNoReadWriteFile, \" at common/print/CLodopfuncs.js:1061\");\n }\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n WRITE_PORT_DATA: function WRITE_PORT_DATA(strPortName, strData) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1069\");\n return null;\n }\n var tResult = null;\n if (strPortName !== undefined && strData !== undefined) {\n this.PageData[\"write_port_name\"] = strPortName;\n this.PageData[\"write_port_data\"] = strData;\n if (this.DoPostDatas(\"writeportdata\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n READ_PORT_DATA: function READ_PORT_DATA(strPortName) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1087\");\n return null;\n }\n var tResult = null;\n if (strPortName !== undefined) {\n this.PageData[\"read_port_name\"] = strPortName;\n if (this.DoPostDatas(\"readportdata\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n GET_SYSTEM_INFO: function GET_SYSTEM_INFO(InfoType) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1104\");\n return null;\n }\n var tResult = null;\n if (InfoType !== undefined) {\n this.PageData[\"system_info_type\"] = InfoType;\n if (this.DoPostDatas(\"getsysteminfo\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n GET_FILE_TEXT: function GET_FILE_TEXT(strFileName) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1121\");\n return null;\n }\n var tResult = null;\n if (this.blIslocal) {\n if (strFileName !== undefined) {\n this.PageData[\"get_file_name\"] = strFileName;\n if (this.DoPostDatas(\"getfiletext\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n } else __f__(\"info\", this.altMessageNoReadFile, \" at common/print/CLodopfuncs.js:1133\");\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n IS_FILE_EXIST: function IS_FILE_EXIST(strFileName) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1140\");\n return null;\n }\n var tResult = null;\n if (this.blIslocal) {\n if (strFileName !== undefined) {\n this.PageData[\"file_exist_name\"] = strFileName;\n if (this.DoPostDatas(\"isfileexist\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n } else __f__(\"info\", this.altMessageNoReadFile, \" at common/print/CLodopfuncs.js:1152\");\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n GET_FILE_TIME: function GET_FILE_TIME(strFileName) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1159\");\n return null;\n }\n var tResult = null;\n if (this.blIslocal) {\n if (strFileName !== undefined) {\n this.PageData[\"file_time_name\"] = strFileName;\n if (this.DoPostDatas(\"getfiletime\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n } else __f__(\"info\", this.altMessageNoReadFile, \" at common/print/CLodopfuncs.js:1171\");\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n GET_PRINT_INIFFNAME: function GET_PRINT_INIFFNAME(strPrintTaskName) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1178\");\n return null;\n }\n var tResult = null;\n if (this.blIslocal) {\n if (strPrintTaskName !== undefined) {\n this.PageData[\"iniff_task_name\"] = strPrintTaskName;\n if (this.DoPostDatas(\"getiniffname\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n } else __f__(\"info\", this.altMessageNoReadFile, \" at common/print/CLodopfuncs.js:1190\");\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n GET_VALUE: function GET_VALUE(ValueType, ValueIndex) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1197\");\n return null;\n }\n var tResult = null;\n if (ValueType !== undefined && ValueIndex !== undefined) {\n this.PageData[\"get_value_type\"] = ValueType;\n this.PageData[\"get_value_index\"] = ValueIndex;\n if (this.DoPostDatas(\"dogetvalue\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n ADD_PRINT_DATA: function ADD_PRINT_DATA(DataType, oValue) {\n if (DataType !== undefined && oValue !== null) {\n if (DataType.toLowerCase().indexOf(\"programdata\") > -1) {\n this.PageData[\"add_print_program_data\"] = oValue;\n return true;\n }\n }\n },\n SHOW_CHART: function SHOW_CHART() {},\n DO_ACTION: function DO_ACTION(strActName, strActValue) {\n if (this.blWorking) {\n __f__(\"info\", this.altMessageBusy, \" at common/print/CLodopfuncs.js:1224\");\n return null;\n }\n var tResult = null;\n if (strActName !== undefined && strActValue !== undefined) {\n this.PageData[\"do_action_name\"] = strActName;\n this.PageData[\"do_action_value\"] = strActValue;\n if (this.DoPostDatas(\"doaction\") == true) {\n this.GetLastResult(false);\n tResult = this.GetTaskID();\n }\n }\n this.DoInit();\n this.blWorking = false;\n return tResult;\n },\n Create_Printer_List: function Create_Printer_List(oElement, blNoDetailForAO) {\n while (oElement.childNodes.length > 0) {\n var children = oElement.childNodes;\n for (var i = 0; i < children.length; i++) {\n oElement.removeChild(children[i]);\n }\n }\n ;\n var iCount = this.GET_PRINTER_COUNT();\n var iIndex = 0;\n for (var i = 0; i < iCount; i++) {\n var option = document.createElement('option');\n option.innerHTML = this.GET_PRINTER_NAME(i);\n option.value = iIndex;\n oElement.appendChild(option);\n iIndex++;\n if (this.VERSION_EXT) {\n if (this.Printers[\"list\"][i][\"subdevlist\"].length > 0) {\n if (blNoDetailForAO) option.innerHTML = option.innerHTML + ',..';else {\n var strDrivename = option.innerHTML;\n for (var j = 0; j < this.Printers[\"list\"][i][\"subdevlist\"].length; j++) {\n var strDevID = this.Printers[\"list\"][i][\"subdevlist\"][j].id;\n var strDevName = this.Printers[\"list\"][i][\"subdevlist\"][j].name;\n if (j == 0) {\n option.innerHTML = strDrivename + ',' + strDevName;\n option.value = strDrivename + ',' + strDevID + ';' + strDevName;\n } else {\n option = document.createElement('option');\n option.innerHTML = strDrivename + ',' + strDevName;\n option.value = strDrivename + ',' + strDevID + ';' + strDevName;\n oElement.appendChild(option);\n iIndex++;\n if (iIndex >= 100) return;\n }\n }\n }\n }\n }\n }\n },\n Create_PageSize_List: function Create_PageSize_List(oElement, printIndex) {\n while (oElement.childNodes.length > 0) {\n var children = oElement.childNodes;\n for (var i = 0; i < children.length; i++) {\n oElement.removeChild(children[i]);\n }\n }\n ;\n var strPageSizeList = CLODOP.GET_PAGESIZES_LIST(printIndex, \"\\n\");\n var Options = new Array();\n Options = strPageSizeList.split(\"\\n\");\n for (var i in Options) {\n var option = document.createElement('option');\n option.innerHTML = Options[i];\n option.value = Options[i];\n oElement.appendChild(option);\n }\n },\n SET_BRIDGE_INDEX: function SET_BRIDGE_INDEX(strValue) {\n if (this.Printers === undefined) return false;else {\n strValue = (strValue + \"\").replace(/^\\s+|\\s+$/g, \"\");\n for (var vNO in this.Printers[\"list\"]) {\n var strDriverOrName = this.Printers[\"list\"][vNO].name;\n if (strDriverOrName == \"(AO)Client-Bridge Driver\") {\n this.PageData[\"printerindex\"] = vNO;\n this.PageData[\"printersubid\"] = strValue;\n return true;\n }\n }\n return false;\n }\n },\n Get_AOPrinters_List: function Get_AOPrinters_List(DriverNameOrIndex, strListName, strSplit) {\n if (!strSplit) strSplit = \"\\n\";\n if (!strListName) strListName = \"name\";\n return CLODOP.GET_PAGESIZES_LIST(DriverNameOrIndex, strSplit, \"subdevlist\", strListName);\n },\n Get_AOBridges_List: function Get_AOBridges_List(DriverNameOrIndex, strListName, strSplit) {\n return CLODOP.Get_AOPrinters_List(DriverNameOrIndex, strListName, strSplit);\n },\n Get_AOBridge_List: function Get_AOBridge_List(strListName, strSplit) {\n return CLODOP.Get_AOPrinters_List(\"(AO)Client-Bridge Driver\", strListName, strSplit);\n },\n Get_AOBridge_SubPrinters_List: function Get_AOBridge_SubPrinters_List(BridgeNameOrIndex, strListName, strSplit, DriverNameOrIndex) {\n if (!DriverNameOrIndex) DriverNameOrIndex = \"(AO)Client-Bridge Driver\";\n if (!strSplit) strSplit = \"\\n\";\n if (!strListName) strListName = \"name\";\n for (var iDrvNO in this.Printers[\"list\"]) {\n if (DriverNameOrIndex == iDrvNO || DriverNameOrIndex == this.Printers[\"list\"][iDrvNO].name) {\n for (var iBdgNO in this.Printers[\"list\"][iDrvNO][\"subdevlist\"]) {\n var BridgeID = this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].id;\n var BridgeName = this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].name;\n if (BridgeNameOrIndex == iBdgNO || BridgeNameOrIndex == BridgeID + \";\" + BridgeName) {\n var strList = \"\";\n for (var iSsbPNO in this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"]) {\n if (iSsbPNO != \"0\") strList = strList + strSplit;\n if (strListName.toLowerCase() == \"id\") strList = strList + iSsbPNO;else strList = strList + this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"][iSsbPNO].name;\n }\n return strList;\n }\n }\n }\n }\n return \"\";\n },\n Get_AOBridge_SubPrinters_PageSize_List: function Get_AOBridge_SubPrinters_PageSize_List(BridgeNameOrIndex, SubPrinterNameOrIndex, strSplit, DriverNameOrIndex) {\n if (!DriverNameOrIndex) DriverNameOrIndex = \"(AO)Client-Bridge Driver\";\n if (!strSplit) strSplit = \"\\n\";\n for (var iDrvNO in this.Printers[\"list\"]) {\n if (DriverNameOrIndex == iDrvNO || DriverNameOrIndex == this.Printers[\"list\"][iDrvNO].name) {\n for (var iBdgNO in this.Printers[\"list\"][iDrvNO][\"subdevlist\"]) {\n var BridgeID = this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].id;\n var BridgeName = this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].name;\n if (BridgeNameOrIndex == iBdgNO || BridgeNameOrIndex == BridgeID + \";\" + BridgeName) {\n for (var iSsbPNO in this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"]) {\n if (SubPrinterNameOrIndex == iSsbPNO || SubPrinterNameOrIndex == this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"][iSsbPNO].name) {\n var strList = \"\";\n for (var iPageSizeNO in this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"][iSsbPNO][\"pagelist\"]) {\n if (iPageSizeNO != \"0\") strList = strList + strSplit;\n strList = strList + this.Printers[\"list\"][iDrvNO][\"subdevlist\"][iBdgNO].ssbprinter[\"list\"][iSsbPNO][\"pagelist\"][iPageSizeNO].name;\n }\n return strList;\n }\n ;\n }\n }\n }\n }\n }\n return \"\";\n },\n AddItemArray: function AddItemArray(type, top, left, width, height, strContent, itemname, ShapeType, intPenStyle, intPenWidth, intColor, isLinePosition, BarType, strChartTypess) {\n if (top === undefined || left === undefined || width === undefined || height === undefined || strContent === undefined) {\n return false;\n }\n var sCount = this.ItemDatas[\"count\"];\n sCount++;\n var oneItem = {};\n for (var vstyle in this.defStyleJson) {\n oneItem[vstyle] = this.defStyleJson[vstyle];\n }\n oneItem[\"type\"] = type;\n oneItem[\"top\"] = top;\n oneItem[\"left\"] = left;\n oneItem[\"width\"] = width;\n oneItem[\"height\"] = height;\n if (strContent != null) {\n if (typeof strContent === \"string\" && strContent.indexOf(this.DelimChar) > -1) oneItem[\"content\"] = strContent.replace(new RegExp(this.DelimChar, 'g'), '');else oneItem[\"content\"] = strContent;\n }\n if (itemname !== undefined && itemname != null) oneItem[\"itemname\"] = itemname + \"\";\n if (ShapeType !== undefined && ShapeType != null) oneItem[\"shapetype\"] = ShapeType;\n if (intPenStyle !== undefined && intPenStyle != null) oneItem[\"penstyle\"] = intPenStyle;\n if (intPenWidth !== undefined && intPenWidth != null) oneItem[\"penwidth\"] = intPenWidth;\n if (intColor !== undefined && intColor != null) oneItem[\"fontcolor\"] = intColor;\n if (isLinePosition !== undefined && isLinePosition != null) oneItem[\"lineposition\"] = \"1\";\n if (BarType !== undefined && BarType != null) oneItem[\"fontname\"] = BarType;\n if (strChartTypess !== undefined && strChartTypess != null) oneItem[\"charttypess\"] = strChartTypess;\n oneItem[\"beginpage\"] = this.defStyleJson[\"beginpage\"];\n oneItem[\"beginpagea\"] = this.defStyleJson[\"beginpagea\"];\n this.ItemDatas[\"count\"] = sCount;\n this.ItemDatas[sCount] = oneItem;\n this.blNormalItemAdded = true;\n return true;\n },\n RemoveIframes: function RemoveIframes() {\n try {\n for (var i = 0; i < this.Iframes.length; i++) {\n var now = new Date().getTime();\n if (now - this.Iframes[i][\"time\"] > this.timeThreshold * 60000) {\n this.Iframes.splice(i, 1);\n }\n }\n } catch (err) {}\n ;\n },\n AddInputElement: function AddInputElement(odocument, oform, name, value) {\n if (value !== undefined) {\n var oinput = odocument.createElement(\"input\");\n oinput.name = name;\n oinput.type = \"hidden\";\n oinput.value = value;\n oform.appendChild(oinput);\n }\n },\n createPostDataString: function createPostDataString(afterPostAction) {\n var strData = \"act=\" + afterPostAction + this.DelimChar;\n strData = strData + \"browseurl=\" + window.location.href + this.DelimChar;\n for (var vMode in this.PageDataEx) {\n strData = strData + vMode + \"=\" + this.PageDataEx[vMode] + this.DelimChar;\n }\n var PrintModeNamess = \"\";\n for (var vMode in this.PageData) {\n strData = strData + vMode + \"=\" + this.PageData[vMode] + this.DelimChar;\n if (vMode != \"top\" && vMode != \"left\" && vMode != \"width\" && vMode != \"height\" && vMode != \"printtask\" && vMode != \"printerindex\" && vMode != \"printerindexa\" && vMode != \"printersubid\" && vMode != \"orient\" && vMode != \"pagewidth\" && vMode != \"pageheight\" && vMode != \"pagename\" && vMode != \"printcopies\" && vMode != \"setup_bkimg\") PrintModeNamess = PrintModeNamess + \";\" + vMode;\n }\n if (PrintModeNamess !== \"\") strData = strData + \"printmodenames=\" + PrintModeNamess + this.DelimChar;\n var StyleClassNamess = \"\";\n for (var vClassStyle in this.ItemCNameStyles) {\n strData = strData + vClassStyle + \"=\" + this.ItemCNameStyles[vClassStyle] + this.DelimChar;\n StyleClassNamess = StyleClassNamess + \";\" + vClassStyle;\n }\n if (StyleClassNamess !== \"\") strData = strData + \"printstyleclassnames=\" + StyleClassNamess + this.DelimChar;\n strData = strData + \"itemcount=\" + this.ItemDatas[\"count\"] + this.DelimChar;\n for (var vItemNO in this.ItemDatas) {\n var ItemStyless = \"\";\n for (var vItemxx in this.ItemDatas[vItemNO]) {\n if (vItemxx != \"beginpage\" && vItemxx != \"beginpagea\" && vItemxx != \"type\" && vItemxx != \"top\" && vItemxx != \"left\" && vItemxx != \"width\" && vItemxx != \"height\") ItemStyless = ItemStyless + \";\" + vItemxx;\n }\n strData = strData + vItemNO + \"_itemstylenames\" + \"=\" + ItemStyless + this.DelimChar;\n for (var vItemxx in this.ItemDatas[vItemNO]) {\n strData = strData + vItemNO + \"_\" + vItemxx + \"=\" + this.ItemDatas[vItemNO][vItemxx] + this.DelimChar;\n }\n }\n return strData;\n },\n wsDoPostDatas: function wsDoPostDatas(afterPostAction) {\n var strData = \"charset=丂\" + this.DelimChar;\n strData = strData + \"tid=\" + this.GetTaskID() + this.DelimChar;\n strData = strData + this.createPostDataString(afterPostAction);\n return this.wsSend(\"post:\" + strData);\n },\n DoPostDatas: function DoPostDatas(afterPostAction) {\n if (this.OBO_Mode && this.blOneByone) {\n __f__(\"info\", this.altMessageSomeWindowExist, \" at common/print/CLodopfuncs.js:1487\");\n return false;\n }\n this.blWorking = true;\n if (this.blTmpSelectedIndex !== null) this.SET_PRINTER_INDEX(this.blTmpSelectedIndex);\n if (this.SocketEnable) {\n return this.wsDoPostDatas(afterPostAction);\n }\n return this.wsDoPostDatas(afterPostAction);\n this.RemoveIframes();\n var obody = document.body || document.getElementsByTagName(\"body\")[0] || document.documentElement;\n var oiframe = document.createElement(\"iframe\");\n oiframe.setAttribute(\"src\", \"about:blank\");\n oiframe.setAttribute(\"style\", \"display:none\");\n oiframe.height = 0;\n obody.appendChild(oiframe);\n var contentdocument = oiframe.contentWindow.document;\n contentdocument.write(\"<form action='\" + this.strHostURI + \"/c_dopostdatas' method='post' enctype='application/x-www-form-urlencoded'></form>\");\n var oform = contentdocument.getElementsByTagName(\"form\")[0];\n this.AddInputElement(contentdocument, oform, \"charset\", \"丂\");\n this.AddInputElement(contentdocument, oform, \"tid\", this.GetTaskID());\n this.AddInputElement(contentdocument, oform, \"post\", this.createPostDataString(afterPostAction));\n oform.submit();\n var IframeMS = {};\n IframeMS[\"time\"] = new Date().getTime();\n IframeMS[\"iframe\"] = oiframe;\n this.Iframes.push(IframeMS);\n return true;\n },\n GetLastResult: function GetLastResult(blFOneByone) {\n if (blFOneByone) this.blOneByone = true;\n if (this.SocketEnable) {\n return true;\n }\n var url = this.strHostURI + \"/c_lastresult.js\";\n url = url + \"?times=\" + new Date().getTime();\n url = url + \"&tid=\" + this.GetTaskID();\n url = encodeURI(url).replace(\"%20\", \"+\");\n var oscript = document.createElement(\"script\");\n oscript.src = url;\n oscript.async = false;\n oscript.type = \"text/javascript\";\n oscript.charset = \"utf-8\";\n var head = document.head || document.getElementsByTagName(\"head\")[0] || document.documentElement;\n head.insertBefore(oscript, head.firstChild);\n oscript.onload = oscript.onreadystatechange = function () {\n if (!oscript.readyState || /loaded|complete/.test(oscript.readyState)) {\n CLODOP.blOneByone = false;\n if (CLodop_ACTLastResult) var strResult = decodeURIComponent(CLodop_ACTLastResult);\n var strResultTaskID = CLodop_ACTTaskID;\n CLODOP.Result = strResult;\n if (CLodop_ACTAlert) CLodop_ACTconsole.info();\n if (CLODOP.On_Return) try {\n var selfFunc = CLODOP.On_Return;\n if (strResult == \"true\" || strResult == \"false\") CLODOP.On_Return(strResultTaskID, strResult == \"true\");else CLODOP.On_Return(strResultTaskID, strResult);\n if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n } catch (err) {}\n ;\n oscript.onload = oscript.onreadystatechange = null;\n if (oscript.parentNode) {\n oscript.parentNode.removeChild(oscript);\n }\n }\n };\n return true;\n },\n DoCPreview: function DoCPreview(sView, iW, iH) {\n var obody = document.body || document.getElementsByTagName(\"body\")[0] || document.documentElement;\n if (typeof iW !== \"number\") iW = Math.round(obody.offsetWidth * 2 / 3);else if (obody.offsetWidth < iW) iW = obody.offsetWidth;\n if (typeof iH !== \"number\") iH = Math.round(window.screen.height - 200);else if (window.screen.height < iH) iH = window.screen.height;\n var url = this.strHostURI + \"/c_dopreview\";\n url = url + \"?times=\" + new Date().getTime();\n url = url + \"&tid=\" + this.GetTaskID();\n url = url + \"&iw=\" + iW;\n url = url + \"&ih=\" + iH;\n url = encodeURI(url).replace(\"%20\", \"+\");\n this.PopView(sView, url, iW, iH);\n },\n PopView: function PopView(sView, strPURL, iW, iH) {\n try {\n if (sView && typeof sView === \"string\" && sView.length > 0) {\n if (sView === \"_dialog\") {\n if (window.showModalDialog) {\n window.showModalDialog(strPURL, 'dialog', 'center:yes');\n } else {\n window.open(strPURL, \"\", \"scrollbars=yes,toolbar=no,left=150,top=100,resizable=yes\");\n }\n } else if (sView === \"_self\" || sView === \"_top\" || sView === \"_parent\") {\n window.location.href = strPURL;\n } else if (sView === \"_blank\") {\n this.PreviewBox.create(strPURL, iW, iH);\n } else if (sView.indexOf(\"_winopen:\") > -1) {\n var strFeatures = sView.slice(sView.indexOf(\"_winopen:\") + 9);\n if (strFeatures.indexOf(\"_blank\") > -1) window.open(strPURL, \"_blank\", strFeatures.slice(strFeatures.indexOf(\"_blank\") + 6));else window.open(strPURL, \"\", strFeatures);\n } else if (document.getElementById(sView)) {\n document.getElementById(sView).src = strPURL;\n } else __f__(\"info\", \"iframe '\" + sView + \"' not exist!\", \" at common/print/CLodopfuncs.js:1603\");\n } else this.PreviewBox.create(strPURL, iW, iH);\n } catch (err) {\n __f__(\"info\", \"CLODOP PopView \" + err, \" at common/print/CLodopfuncs.js:1606\");\n }\n ;\n },\n creatMyButtonElement: function creatMyButtonElement(strType, strValue) {\n try {\n var oElement = document.createElement(\"<input type='\" + strType + \"' value='\" + strValue + \"'></input>\");\n } catch (e) {}\n ;\n if (!oElement) {\n oElement = document.createElement(\"input\");\n oElement.type = strType;\n oElement.value = strValue;\n }\n return oElement;\n },\n creatLabelElement: function creatLabelElement(Type, Value, Width, Left, Top) {\n var TxtLabel = document.createElement(Type);\n TxtLabel.innerHTML = Value;\n TxtLabel.style.cssText = \"position:absolute;width:\" + Width + \"px;left:\" + Left + \"px;top:\" + Top + \"px;\";\n return TxtLabel;\n },\n SelectBox: {\n dragapproved: false,\n offsetx: 0,\n offsety: 0,\n tempx: 0,\n tempy: 0,\n FrantDiv: undefined,\n PopDiv: undefined,\n selPrinter: undefined,\n selCopies: undefined,\n closeit: function closeit() {\n if (CLODOP.SelectBox.PopDiv && CLODOP.SelectBox.PopDiv.parentNode) CLODOP.SelectBox.PopDiv.parentNode.removeChild(CLODOP.SelectBox.PopDiv);\n if (this.FrantDiv && this.FrantDiv.parentNode) this.FrantDiv.parentNode.removeChild(this.FrantDiv);\n this.PopDiv = undefined;\n },\n initializedrag: function initializedrag(e) {\n var we = window.event || e;\n this.offsetx = we.clientX;\n this.offsety = we.clientY;\n this.tempx = parseInt(this.PopDiv.style.left);\n this.tempy = parseInt(this.PopDiv.style.top);\n this.dragapproved = true;\n },\n drag_drop: function drag_drop(e) {\n if (!this.dragapproved) return;\n var we = window.event || e;\n this.PopDiv.style.left = we.clientX - this.offsetx + this.tempx + \"px\";\n this.PopDiv.style.top = we.clientY - this.offsety + this.tempy + \"px\";\n },\n stopdrag: function stopdrag() {\n this.dragapproved = false;\n },\n clickOK: function clickOK(onlySelect) {\n CLODOP.PRINTAOK(CLODOP.SelectBox.selPrinter.value, CLODOP.SelectBox.selCopies.value, 0, 0, onlySelect);\n this.closeit();\n },\n create: function create(iW, iH, onlySelect) {\n if (CLODOP.SelectBox.PopDiv) this.closeit();\n var obody = document.body || document.getElementsByTagName(\"body\")[0] || document.documentElement;\n var Boxdiv = document.createElement(\"div\");\n obody.appendChild(Boxdiv);\n Boxdiv.style.cssText = \"position:absolute;z-index:91100;display:block;top:2px;border:1px solid #6B97C1;background:#F5F5F5;color:#000;font-size:13px;\";\n Boxdiv.style.width = iW + \"px\";\n Boxdiv.style.left = Math.max((obody.offsetWidth - iW) / 2, 0) + \"px\";\n Boxdiv.style.top = Math.max((obody.offsetHeight - iH) / 2, 0) + \"px\";\n Boxdiv.style.height = iH + \"px\";\n this.PopDiv = Boxdiv;\n var titleDiv = document.createElement(\"div\");\n Boxdiv.appendChild(titleDiv);\n titleDiv.style.cssText = \"font: bold 13px Arial;line-height:25px;height:27px;text-indent:5px;color: white;background:#8BACCF\";\n titleDiv.innerHTML = \"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;打印\";\n titleDiv.onmousedown = function (event) {\n CLODOP.SelectBox.initializedrag(event);\n };\n titleDiv.onmousemove = function (event) {\n CLODOP.SelectBox.drag_drop(event);\n };\n titleDiv.onmouseup = function () {\n CLODOP.SelectBox.stopdrag();\n };\n var icoButton = document.createElement(\"button\");\n titleDiv.appendChild(icoButton);\n icoButton.style.cssText = \"background:transparent url(\" + CLODOP.strHostURI + \"/c_favicon.ico) no-repeat scroll 0 0px;margin-left:5px;position:absolute;height:20px;line-height:100px;width:34px;left:3px;border:0;top:5px\";\n var CloseButton = document.createElement(\"button\");\n titleDiv.appendChild(CloseButton);\n CloseButton.style.cssText = \"background:transparent url(\" + CLODOP.strHostURI + \"/images/c_winclose.png) no-repeat scroll 0 0px;margin-right:5px;position:absolute;height:20px;line-height:100px;width:34px;right:3px;border:0;top:4px\";\n CloseButton.onclick = function () {\n CLODOP.SelectBox.closeit();\n if (onlySelect && CLODOP.On_Return) {\n var selfFunc = CLODOP.On_Return;\n CLODOP.On_Return(0, -1);\n if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n }\n };\n var areaDiv = document.createElement(\"div\");\n Boxdiv.appendChild(areaDiv);\n areaDiv.style.cssText = \"background:#F5F5F5;color:#000;border:0px;left:0px;top:0px;\";\n areaDiv.style.width = iW - 2 + \"px\";\n areaDiv.style.height = iH - 27 + \"px\";\n var OKButton = CLODOP.creatMyButtonElement(\"button\", \"确定\");\n Boxdiv.appendChild(OKButton);\n OKButton.style.cssText = \"position:absolute;width:80px;height:23px;\";\n OKButton.style.left = \"110px\";\n OKButton.style.top = iH - 64 + \"px\";\n OKButton.onclick = function () {\n CLODOP.SelectBox.clickOK(onlySelect);\n };\n var CancelButton = CLODOP.creatMyButtonElement(\"button\", \"取消\");\n Boxdiv.appendChild(CancelButton);\n CancelButton.style.cssText = \"position:absolute;width:80px;;height:23px;\";\n CancelButton.style.left = \"240px\";\n CancelButton.style.top = iH - 64 + \"px\";\n CancelButton.onclick = function () {\n CLODOP.SelectBox.closeit();\n if (onlySelect && CLODOP.On_Return) {\n var selfFunc = CLODOP.On_Return;\n CLODOP.On_Return(0, -1);\n if (!CLODOP.On_Return_Remain && selfFunc === CLODOP.On_Return) CLODOP.On_Return = null;\n }\n };\n areaDiv.appendChild(CLODOP.creatLabelElement(\"span\", \"选打印机:\", 200, 46, 67));\n var oSelect = document.createElement(\"select\");\n Boxdiv.appendChild(oSelect);\n this.selPrinter = oSelect;\n oSelect.style.cssText = \"position:absolute;size:1;width:212px;left:110px;top:62px;\";\n CLODOP.Create_Printer_List(oSelect);\n areaDiv.appendChild(CLODOP.creatLabelElement(\"span\", \"打印份数:\", 200, 46, 121));\n var oCopies = CLODOP.creatMyButtonElement(\"text\", \"1\");\n Boxdiv.appendChild(oCopies);\n this.selCopies = oCopies;\n oCopies.style.cssText = \"position:absolute;size:1;width:30px;left:110px;top:117px;\";\n this.FrantDiv = document.createElement(\"div\");\n obody.appendChild(this.FrantDiv);\n this.FrantDiv.style.cssText = \"border:0px;left:0px;top:0px;filter: alpha(opacity=20); position: fixed; opacity: 0.2;-moz-opacity: 0.2; _position: absolute;z-index:91009; over-flow: hidden;\";\n if (CLODOP.Browser.IE && (document.compatMode == \"BackCompat\" || navigator.userAgent.indexOf(\"MSIE 6.0\") > 0)) {\n this.FrantDiv.style.width = obody.scrollWidth + \"px\";\n this.FrantDiv.style.height = obody.scrollHeight + \"px\";\n } else {\n this.FrantDiv.style.width = \"100%\";\n this.FrantDiv.style.height = \"100%\";\n }\n }\n },\n PreviewBox: {\n dragapproved: false,\n offsetx: 0,\n offsety: 0,\n tempx: 0,\n tempy: 0,\n FrantDiv: undefined,\n PopDiv: undefined,\n ContentFrame: undefined,\n closeit: function closeit(oSelf) {\n if (CLODOP.PreviewBox.PopDiv && CLODOP.PreviewBox.PopDiv.parentNode) CLODOP.PreviewBox.PopDiv.parentNode.removeChild(CLODOP.PreviewBox.PopDiv);\n if (this.FrantDiv && this.FrantDiv.parentNode) this.FrantDiv.parentNode.removeChild(this.FrantDiv);\n this.PopDiv = undefined;\n },\n initializedrag: function initializedrag(e, oSelf) {\n var we = window.event || e;\n this.offsetx = we.clientX;\n this.offsety = we.clientY;\n this.tempx = parseInt(oSelf.style.left);\n this.tempy = parseInt(oSelf.style.top);\n this.dragapproved = true;\n },\n drag_drop: function drag_drop(e, oSelf) {\n if (!this.dragapproved) return;\n var we = window.event || e;\n oSelf.style.left = we.clientX - this.offsetx + this.tempx + \"px\";\n oSelf.style.top = we.clientY - this.offsety + this.tempy + \"px\";\n },\n stopdrag: function stopdrag() {\n this.dragapproved = false;\n if (this.ContentFrame) this.ContentFrame.style.display = \"block\";\n },\n create: function create(strURL, iW, iH) {\n if (CLODOP.PreviewBox.PopDiv) this.closeit();\n var obody = document.body || document.getElementsByTagName(\"body\")[0] || document.documentElement;\n var vBoxDiv = document.createElement(\"div\");\n obody.appendChild(vBoxDiv);\n vBoxDiv.style.cssText = \"position:absolute;z-index:91100;display:block;top:2px;border:1px solid #6B97C1;font-size:13px;\";\n vBoxDiv.style.width = iW + \"px\";\n var iLeft = (obody.offsetWidth - iW) / 2;\n if (window.screen.width < obody.offsetWidth) iLeft = (window.screen.width - iW) / 2;\n if (iLeft < 0) iLeft = 0;\n vBoxDiv.style.left = iLeft + \"px\";\n vBoxDiv.style.height = iH + \"px\";\n vBoxDiv.onmousedown = function (event) {\n CLODOP.PreviewBox.initializedrag(event, this);\n };\n vBoxDiv.onmouseup = function () {\n CLODOP.PreviewBox.stopdrag();\n };\n vBoxDiv.onmousemove = function (event) {\n CLODOP.PreviewBox.drag_drop(event, this);\n };\n this.PopDiv = vBoxDiv;\n var titleDiv = document.createElement(\"div\");\n vBoxDiv.appendChild(titleDiv);\n titleDiv.style.cssText = \"position:absolute;left:0px;width:100%;font: bold 14px Arial;line-height:27px;height:27px;text-indent:26px;color: white;background:#8BACCF\";\n titleDiv.innerHTML = \"打印预览\";\n var icoButton = document.createElement(\"button\");\n titleDiv.appendChild(icoButton);\n icoButton.style.cssText = \"background:transparent url(\" + CLODOP.strHostURI + \"/c_favicon.ico) no-repeat scroll 0 0px;margin-left:5px;position:absolute;height:20px;line-height:100px;width:34px;left:3px;border:0;top:5px\";\n var CloseButton = document.createElement(\"button\");\n titleDiv.appendChild(CloseButton);\n CloseButton.style.cssText = \"background:transparent url(\" + CLODOP.strHostURI + \"/images/c_winclose.png) no-repeat scroll 0 0px;margin-right:5px;position:absolute;height:20px;line-height:100px;width:34px;right:3px;border:0;top:4px\";\n CloseButton.onclick = function () {\n CLODOP.PreviewBox.closeit(this);\n };\n var areaDiv = document.createElement(\"div\");\n vBoxDiv.appendChild(areaDiv);\n areaDiv.style.cssText = \"background:#F5F5F5;color:#000;border:0px;left:0px;top:0px;\";\n areaDiv.style.width = iW + \"px\";\n areaDiv.style.height = iH - 0 + \"px\";\n this.ContentFrame = document.createElement(\"iframe\");\n areaDiv.appendChild(this.ContentFrame);\n this.ContentFrame.style.cssText = \"width:100%;height:100%;\";\n this.ContentFrame.src = strURL;\n this.ContentFrame.frameBorder = \"no\";\n this.FrantDiv = document.createElement(\"div\");\n obody.appendChild(this.FrantDiv);\n this.FrantDiv.style.cssText = \"border:0px;left:0px;top:0px;filter: alpha(opacity=20); position: fixed; opacity: 0.2; -moz-opacity: 0.2; _position: absolute;z-index:91009; over-flow: hidden;\";\n if (CLODOP.Browser.IE && (document.compatMode == \"BackCompat\" || navigator.userAgent.indexOf(\"MSIE 6.0\") > 0)) {\n this.FrantDiv.style.width = obody.scrollWidth + \"px\";\n this.FrantDiv.style.height = obody.scrollHeight + \"px\";\n } else {\n this.FrantDiv.style.width = \"100%\";\n this.FrantDiv.style.height = \"100%\";\n }\n }\n }\n };\n if (win.CLODOP2015_7028 && win.CLODOP2015_7028.Priority && win.CLODOP2015_7028.Priority > CLODOP.Priority) {\n CLODOP = win.CLODOP2015_7028;\n win.CLODOP_OK_Priority = win.CLODOP2015_7028.Priority;\n return;\n }\n win.LODOP = CLODOP;\n win.CLODOP = CLODOP;\n win.CLODOP2015_7028 = CLODOP;\n win.CLODOP_OK_Priority = CLODOP.Priority;\n if (navigator.userAgent.indexOf(\"Lodop\") < 0) win.CLODOP.OpenWebSocket();\n})(window);\nfunction getCLodop() {\n return window.CLODOP2015_7028;\n}\nfunction getPrinterList(_x) {\n return _getPrinterList.apply(this, arguments);\n}\nfunction _getPrinterList() {\n _getPrinterList = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(ip) {\n var res, temp, printerListString, printerListArray, printerList;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!ip) {\n ip = uni.getStorageSync('fl_ip');\n }\n _context.prev = 1;\n _context.next = 4;\n return uni.request({\n url: \"http://\".concat(ip, \":8000/CLodopfuncs.js\")\n });\n case 4:\n res = _context.sent;\n if (!res[0]) {\n _context.next = 7;\n break;\n }\n return _context.abrupt(\"return\", []);\n case 7:\n temp = res[1].data.match(/\"list\":(.+)/);\n printerListString = temp[1].substr(0, temp[1].length - 2);\n printerListArray = JSON.parse(printerListString);\n printerList = [];\n printerListArray.forEach(function (item) {\n printerList.push(item.name);\n });\n return _context.abrupt(\"return\", printerList);\n case 15:\n _context.prev = 15;\n _context.t0 = _context[\"catch\"](1);\n __f__(\"log\", _context.t0, \" at common/print/CLodopfuncs.js:1894\");\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 15]]);\n }));\n return _getPrinterList.apply(this, arguments);\n} //导出getLodop\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 15)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tbW9uL3ByaW50L0NMb2RvcGZ1bmNzLmpzIl0sIm5hbWVzIjpbIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsIndpbiIsInByaW50TGlzdERldiIsInByaW50TGlzdE9ubGluZSIsIkNMT0RPUCIsInN0cldlYlBhZ2VJRCIsInN0clRhc2tJRCIsInN0ckhvc3RVUkkiLCJ3c0hvc3RVUkkiLCJWRVJTSU9OIiwiSVZFUlNJT04iLCJDVkVSU0lPTiIsIkhUVFBTX1NUQVRVUyIsIlZFUlNJT05fRVhUIiwiaUJhc2VUYXNrIiwidGltZVRocmVzaG9sZCIsIlByaW9yaXR5IiwiYmxJc2xvY2FsIiwiSWZyYW1lcyIsIkl0ZW1EYXRhcyIsIlBhZ2VEYXRhIiwiZGVmU3R5bGVKc29uIiwiUGFnZURhdGFFeCIsIkl0ZW1DTmFtZVN0eWxlcyIsImJsV29ya2luZyIsImJsTm9ybWFsSXRlbUFkZGVkIiwiYmxUbXBTZWxlY3RlZEluZGV4IiwiQ2FwdGlvbiIsIkNvbG9yIiwiQ29tcGFueU5hbWUiLCJzdHJCcm9hZGNhc3RNUyIsIkJvcmRlciIsIkluYnJvd3NlIiwid2Vic2t0IiwiU29ja2V0RW5hYmxlIiwiU29ja2V0T3BlbmVkIiwiTm9DbGVhckFmdGVyUHJpbnQiLCJPbl9SZXR1cm5fUmVtYWluIiwiT25fQnJvYWRjYXN0X1JlbWFpbiIsIk9uX1JldHVybiIsIlJlc3VsdCIsImlUcnlTZW5kVGltZXMiLCJPQk9fTW9kZSIsImJsT25lQnlvbmUiLCJEZWxpbUNoYXIiLCJQcmludGVycyIsImFsdE1lc3NhZ2VXZWJTb2NrZXRJbnZhbGlkIiwiYWx0TWVzc2FnZU5vUmVhZFdyaXRlRmlsZSIsImFsdE1lc3NhZ2VOb1JlYWRGaWxlIiwiYWx0TWVzc2FnZU5vV3JpdGVGaWxlIiwiYWx0TWVzc2FnZU5vUHJpbnREZXNpZ24iLCJhbHRNZXNzYWdlTm9QcmludFNldHVwIiwiYWx0TWVzc2FnZVNvbWVXaW5kb3dFeGlzdCIsImFsdE1lc3NhZ2VCdXN5IiwiQnJvd3NlciIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsInVhIiwiaXNPcGVyYSIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsIm9wZXJhIiwiSUUiLCJhdHRhY2hFdmVudCIsIk9wZXJhIiwiV2ViS2l0IiwiaW5kZXhPZiIsIkdlY2tvIiwiTW9iaWxlU2FmYXJpIiwidGVzdCIsIkdldFRhc2tJRCIsImR0IiwiRGF0ZSIsImdldEhvdXJzIiwiZ2V0TWludXRlcyIsImdldFNlY29uZHMiLCJEb0luaXQiLCJwcm9jZXNzIiwibGlzdCIsIk9wZW5XZWJTb2NrZXQiLCJyZXN0IiwiT25fQ0xvZG9wX09wZW5lZCIsIkNMT0RPUF9PS19Qcmlvcml0eSIsInNldFRpbWVvdXQiLCJXZWJTb2NrZXQiLCJNb3pXZWJTb2NrZXQiLCJpcCIsInVuaSIsImdldFN0b3JhZ2VTeW5jIiwicmVhZHlTdGF0ZSIsImNvbm5lY3RTb2NrZXQiLCJ1cmwiLCJzdWNjZXNzIiwicmVzIiwiZmFpbCIsImNvbXBsZXRlIiwib25PcGVuIiwiZSIsIm9uTWVzc2FnZSIsInJlc3VsdEhhbmRsZSIsImRhdGEiLCJvbkNsb3NlIiwib25FcnJvciIsImVyciIsIm1lc3NhZ2UiLCJzdHJSZXN1bHQiLCJzdHJGVGFza0lEIiwiaVBvcyIsInNsaWNlIiwiT25fQnJvYWRjYXN0Iiwic2VsZkZ1bmMiLCJ0b0xvd2VyQ2FzZSIsIndzU2VuZCIsInN0ckRhdGEiLCJzZW5kIiwiRk9STUFUIiwib1R5cGUiLCJvVmFsdWUiLCJ0UmVzdWx0IiwidW5kZWZpbmVkIiwicmVwbGFjZSIsIlR5cGVZTUQiLCJhTW9udGgiLCJleHAiLCJSZWdFeHAiLCJtYXRjaCIsInN1YlRpbWUiLCJkVmFsdWUiLCJpWWVhciIsImlNb250aCIsImlEYXRlIiwiaUhvdXIiLCJpTWludXRlcyIsImlTZWNvbmQiLCJ0bXBWYWx1ZSIsInNWYWx1ZSIsIk1DMSIsIk1DMiIsIk1DMyIsInBhcnNlSW50IiwibGVuZ3RoIiwic2V0RnVsbFllYXIiLCJzZXRIb3VycyIsInNldE1pbnV0ZXMiLCJzZXRTZWNvbmRzIiwiaURheSIsImdldERheSIsImdldFRpbWUiLCJzV2VlayIsIiQxIiwic3Vic3RyIiwiZHNXaWR0aCIsIkRvUG9zdERhdGFzIiwiR2V0TGFzdFJlc3VsdCIsIlNFVF9QUklOVF9QQVBFUiIsIlRvcCIsIkxlZnQiLCJXaWR0aCIsIkhlaWdodCIsInN0clByaW50VGFzayIsIlBSSU5UX0lOSVRBIiwiUFJJTlRfSU5JVCIsImhvc3QiLCJTRVRfUFJJTlRfTU9ERSIsInN0ck1vZGVUeXBlIiwiTW9kZVZhbHVlIiwiQUREX1BSSU5UX1RFWFQiLCJ0b3AiLCJsZWZ0Iiwid2lkdGgiLCJoZWlnaHQiLCJzdHJUZXh0IiwiQWRkSXRlbUFycmF5IiwiQUREX1BSSU5UX1RFWFRBIiwiaXRlbU5hbWUiLCJBRERfUFJJTlRfSFRNIiwic3RySFRNTCIsIkFERF9QUklOVF9IVE1MIiwiQUREX1BSSU5UX0hUTUxBIiwiQUREX1BSSU5UX0JBUkNPREUiLCJCYXJUeXBlIiwiQmFyVmFsdWUiLCJBRERfUFJJTlRfQkFSQ09ERUEiLCJJdGVtTmFtZSIsIkFERF9QUklOVF9SRUNUQSIsImludFBlblN0eWxlIiwiaW50UGVuV2lkdGgiLCJpbnRDb2xvciIsIkFERF9QUklOVF9SRUNUIiwiQUREX1BSSU5UX0VMTElQU0VBIiwiQUREX1BSSU5UX0VMTElQU0UiLCJBRERfUFJJTlRfU0hBUEUiLCJTaGFwZVR5cGUiLCJBRERfUFJJTlRfTElORSIsInRvcDEiLCJsZWZ0MSIsInRvcDIiLCJsZWZ0MiIsIkFERF9QUklOVF9ETkxJTkUiLCJBRERfUFJJTlRfRE5MSU5FQSIsIkFERF9QUklOVF9VUExJTkUiLCJBRERfUFJJTlRfVVBMSU5FQSIsIkFERF9QUklOVF9UQUJMRSIsIkFERF9QUklOVF9QREYiLCJzdHJDb250ZW50IiwiYWxlcnQiLCJBRERfUFJJTlRfVEJVUkwiLCJzdHJVUkwiLCJBRERfUFJJTlRfVVJMIiwiQUREX1BSSU5UX0lNQUdFIiwiQUREX1BSSU5UX0NIQVJUIiwic3RyQ2hhcnRUeXBlc3MiLCJTRVRfUFJJTlRfUFJPUEVSVFkiLCJJdGVtTk8iLCJpbnRQYWdlVHlwZSIsImludEhvcnpPcmllbnQiLCJpbnRWZXJ0T3JpZW50IiwiU0VUX1BSSU5UX1NUWUxFQSIsIlNFVF9QUklOVF9QUk9QRVJUWUEiLCJTRVRfUFJJTlRfU1RZTEUiLCJzdHJTdHlsZU5hbWUiLCJTdHlsZVZhbHVlIiwiSXRlbU5vIiwic3RyS2V5IiwiVmFsdWUiLCJibFJlc3VsdCIsInZJdGVtTk8iLCJ0b1VwcGVyQ2FzZSIsIlNFVF9QUklOVF9URVhUX1NUWUxFIiwic3RyRm9udE5hbWUiLCJpbnRTaXplIiwiaW50Qm9sZCIsImludEl0YWxpYyIsImludFVuZGVybGluZSIsImludEFsaWdubWVudCIsIlNFVF9QUklOVF9URVhUX1NUWUxFQSIsIlNFVF9QUklOVF9URVhUX1NUWUxFQiIsIk5FV1BBR0UiLCJOZXdQYWdlIiwiYmxTb21lTm9ybWFsIiwibm9JdGVtVHlwZSIsInZJdGVteHgiLCJORVdQQUdFQSIsIk5ld1BhZ2VBIiwiUFJFVklFVyIsInNWaWV3IiwiaVciLCJpSCIsIkRvQ1ByZXZpZXciLCJQUklOVCIsIkdFVF9QUklOVEVSX0NPVU5UIiwiR0VUX1BSSU5URVJfTkFNRSIsImludE5PIiwic3RyUFBuYW1lIiwibmFtZSIsIkdFVF9QQUdFU0laRVNfTElTVCIsIlBOYW1lSW5keCIsIlNwbGl0IiwiTGlzdE5hbWUiLCJOYW1lT3JJRCIsInN0ckxpc3QiLCJpUE5PIiwiaWQiLCJTRVRfUFJJTlRFUl9JTkRFWCIsInN0ck5hbWUiLCJzdHJLZXlNb2RlTmFtZSIsImlzTmFOIiwicHJpbnRlcmluZGV4Iiwic3RyTmFtZU9yTk8iLCJ2Tk8iLCJzdHJQcmludGVyTmFtZSIsIlNFVF9QUklOVEVSX0lOREVYQSIsIlBSSU5UX0RFU0lHTiIsIlBSSU5UX1NFVFVQIiwiU0VUX1BSSU5UX1BBR0VTSVpFIiwiaW50T3JpZW50IiwiUGFnZVdpZHRoIiwiUGFnZUhlaWdodCIsInN0clBhZ2VOYW1lIiwiU0VUX1BSSU5UX0NPUElFUyIsImludENvcGllcyIsIlNFTEVDVF9QUklOVEVSIiwiYmxQcmludCIsIlNlbGVjdEJveCIsImNyZWF0ZSIsIlBSSU5UQSIsImJsUHJpbnRCIiwiUFJJTlRBT0siLCJpUHJpbnRJbmRleCIsImlQcmludENvcGllcyIsImlTdGFydE5PIiwiaUVuZE5PIiwib25seVNlbGVjdCIsIlNFVF9MSUNFTlNFUyIsInN0ckNvbXBhbnlOYW1lIiwic3RyTGljZW5zZSIsInN0ckxpY2Vuc2VBIiwic3RyTGljZW5zZUIiLCJQUklOVEIiLCJQUkVWSUVXQSIsIlBSRVZJRVdCIiwiQUREX1BSSU5UX1NFVFVQX0JLSU1HIiwiU0VUX1BSRVZJRVdfV0lORE9XIiwiaW50RGlzcE1vZGUiLCJpbnRUb29sTW9kZSIsImJsRGlyZWN0UHJpbnQiLCJvV2lkdGgiLCJvSGVpZ2h0Iiwic3RyUEJ1dHRvbkNhcHRvaW4iLCJTRVRfUFJFVklFV19NT0RFIiwiU0VUX1NIT1dfTU9ERSIsIlNBVkVfVE9fRklMRSIsInN0ckZpbGVOYW1lIiwiU0VUX1NBVkVfTU9ERSIsIlNFTkRfUFJJTlRfUkFXREFUQSIsInN0clJhd0RhdGEiLCJXUklURV9GSUxFX1RFWFQiLCJXcml0ZU1vZGUiLCJHRVRfRElBTE9HX1ZBTFVFIiwib1ByZVZhbHVlIiwiV1JJVEVfUE9SVF9EQVRBIiwic3RyUG9ydE5hbWUiLCJSRUFEX1BPUlRfREFUQSIsIkdFVF9TWVNURU1fSU5GTyIsIkluZm9UeXBlIiwiR0VUX0ZJTEVfVEVYVCIsIklTX0ZJTEVfRVhJU1QiLCJHRVRfRklMRV9USU1FIiwiR0VUX1BSSU5UX0lOSUZGTkFNRSIsInN0clByaW50VGFza05hbWUiLCJHRVRfVkFMVUUiLCJWYWx1ZVR5cGUiLCJWYWx1ZUluZGV4IiwiQUREX1BSSU5UX0RBVEEiLCJEYXRhVHlwZSIsIlNIT1dfQ0hBUlQiLCJET19BQ1RJT04iLCJzdHJBY3ROYW1lIiwic3RyQWN0VmFsdWUiLCJDcmVhdGVfUHJpbnRlcl9MaXN0Iiwib0VsZW1lbnQiLCJibE5vRGV0YWlsRm9yQU8iLCJjaGlsZE5vZGVzIiwiY2hpbGRyZW4iLCJpIiwicmVtb3ZlQ2hpbGQiLCJpQ291bnQiLCJpSW5kZXgiLCJvcHRpb24iLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJpbm5lckhUTUwiLCJ2YWx1ZSIsImFwcGVuZENoaWxkIiwic3RyRHJpdmVuYW1lIiwiaiIsInN0ckRldklEIiwic3RyRGV2TmFtZSIsIkNyZWF0ZV9QYWdlU2l6ZV9MaXN0IiwicHJpbnRJbmRleCIsInN0clBhZ2VTaXplTGlzdCIsIk9wdGlvbnMiLCJBcnJheSIsInNwbGl0IiwiU0VUX0JSSURHRV9JTkRFWCIsInN0clZhbHVlIiwic3RyRHJpdmVyT3JOYW1lIiwiR2V0X0FPUHJpbnRlcnNfTGlzdCIsIkRyaXZlck5hbWVPckluZGV4Iiwic3RyTGlzdE5hbWUiLCJzdHJTcGxpdCIsIkdldF9BT0JyaWRnZXNfTGlzdCIsIkdldF9BT0JyaWRnZV9MaXN0IiwiR2V0X0FPQnJpZGdlX1N1YlByaW50ZXJzX0xpc3QiLCJCcmlkZ2VOYW1lT3JJbmRleCIsImlEcnZOTyIsImlCZGdOTyIsIkJyaWRnZUlEIiwiQnJpZGdlTmFtZSIsImlTc2JQTk8iLCJzc2JwcmludGVyIiwiR2V0X0FPQnJpZGdlX1N1YlByaW50ZXJzX1BhZ2VTaXplX0xpc3QiLCJTdWJQcmludGVyTmFtZU9ySW5kZXgiLCJpUGFnZVNpemVOTyIsInR5cGUiLCJpdGVtbmFtZSIsImlzTGluZVBvc2l0aW9uIiwic0NvdW50Iiwib25lSXRlbSIsInZzdHlsZSIsIlJlbW92ZUlmcmFtZXMiLCJub3ciLCJzcGxpY2UiLCJBZGRJbnB1dEVsZW1lbnQiLCJvZG9jdW1lbnQiLCJvZm9ybSIsIm9pbnB1dCIsImNyZWF0ZVBvc3REYXRhU3RyaW5nIiwiYWZ0ZXJQb3N0QWN0aW9uIiwidk1vZGUiLCJQcmludE1vZGVOYW1lc3MiLCJTdHlsZUNsYXNzTmFtZXNzIiwidkNsYXNzU3R5bGUiLCJJdGVtU3R5bGVzcyIsIndzRG9Qb3N0RGF0YXMiLCJvYm9keSIsImJvZHkiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImRvY3VtZW50RWxlbWVudCIsIm9pZnJhbWUiLCJzZXRBdHRyaWJ1dGUiLCJjb250ZW50ZG9jdW1lbnQiLCJjb250ZW50V2luZG93Iiwid3JpdGUiLCJzdWJtaXQiLCJJZnJhbWVNUyIsInB1c2giLCJibEZPbmVCeW9uZSIsImVuY29kZVVSSSIsIm9zY3JpcHQiLCJzcmMiLCJhc3luYyIsImNoYXJzZXQiLCJoZWFkIiwiaW5zZXJ0QmVmb3JlIiwiZmlyc3RDaGlsZCIsIm9ubG9hZCIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsIkNMb2RvcF9BQ1RMYXN0UmVzdWx0IiwiZGVjb2RlVVJJQ29tcG9uZW50Iiwic3RyUmVzdWx0VGFza0lEIiwiQ0xvZG9wX0FDVFRhc2tJRCIsIkNMb2RvcF9BQ1RBbGVydCIsIkNMb2RvcF9BQ1Rjb25zb2xlIiwiaW5mbyIsInBhcmVudE5vZGUiLCJNYXRoIiwicm91bmQiLCJvZmZzZXRXaWR0aCIsInNjcmVlbiIsIlBvcFZpZXciLCJzdHJQVVJMIiwic2hvd01vZGFsRGlhbG9nIiwib3BlbiIsIlByZXZpZXdCb3giLCJzdHJGZWF0dXJlcyIsImdldEVsZW1lbnRCeUlkIiwiY3JlYXRNeUJ1dHRvbkVsZW1lbnQiLCJzdHJUeXBlIiwiY3JlYXRMYWJlbEVsZW1lbnQiLCJUeXBlIiwiVHh0TGFiZWwiLCJzdHlsZSIsImNzc1RleHQiLCJkcmFnYXBwcm92ZWQiLCJvZmZzZXR4Iiwib2Zmc2V0eSIsInRlbXB4IiwidGVtcHkiLCJGcmFudERpdiIsIlBvcERpdiIsInNlbFByaW50ZXIiLCJzZWxDb3BpZXMiLCJjbG9zZWl0IiwiaW5pdGlhbGl6ZWRyYWciLCJ3ZSIsImV2ZW50IiwiY2xpZW50WCIsImNsaWVudFkiLCJkcmFnX2Ryb3AiLCJzdG9wZHJhZyIsImNsaWNrT0siLCJCb3hkaXYiLCJtYXgiLCJvZmZzZXRIZWlnaHQiLCJ0aXRsZURpdiIsIm9ubW91c2Vkb3duIiwib25tb3VzZW1vdmUiLCJvbm1vdXNldXAiLCJpY29CdXR0b24iLCJDbG9zZUJ1dHRvbiIsIm9uY2xpY2siLCJhcmVhRGl2IiwiT0tCdXR0b24iLCJDYW5jZWxCdXR0b24iLCJvU2VsZWN0Iiwib0NvcGllcyIsImNvbXBhdE1vZGUiLCJzY3JvbGxXaWR0aCIsInNjcm9sbEhlaWdodCIsIkNvbnRlbnRGcmFtZSIsIm9TZWxmIiwiZGlzcGxheSIsInZCb3hEaXYiLCJpTGVmdCIsImZyYW1lQm9yZGVyIiwiQ0xPRE9QMjAxNV83MDI4IiwiTE9ET1AiLCJnZXRDTG9kb3AiLCJnZXRQcmludGVyTGlzdCIsInJlcXVlc3QiLCJ0ZW1wIiwicHJpbnRlckxpc3RTdHJpbmciLCJwcmludGVyTGlzdEFycmF5IiwiSlNPTiIsInBhcnNlIiwicHJpbnRlckxpc3QiLCJmb3JFYWNoIiwiaXRlbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQUdBQSxNQUFNLEdBQUc7RUFDUkMsUUFBUSxFQUFFO0lBQ1RDLElBQUksRUFBRTtFQUNQO0FBQ0QsQ0FBQztBQUVELENBQUMsVUFBU0MsR0FBRyxFQUFFO0VBQ2QsSUFBSUMsWUFBWSxHQUFHLEVBQUU7RUFDckIsSUFBSUMsZUFBZSxHQUFHLEVBQUU7RUFDeEIsSUFBSUMsTUFBTSxHQUFHO0lBQ1pDLFlBQVksRUFBRSxTQUFTO0lBQ3ZCQyxTQUFTLEVBQUUsRUFBRTtJQUNiQyxVQUFVLEVBQUUsdUJBQXVCO0lBQ25DQyxTQUFTLEVBQUUsK0JBQStCO0lBQzFDQyxPQUFPLEVBQUUsU0FBUztJQUNsQkMsUUFBUSxFQUFFLE1BQU07SUFDaEJDLFFBQVEsRUFBRSxTQUFTO0lBQ25CQyxZQUFZLEVBQUUsQ0FBQztJQUNmQyxXQUFXLEVBQUUsSUFBSTtJQUNqQkMsU0FBUyxFQUFFLENBQUM7SUFDWkMsYUFBYSxFQUFFLENBQUM7SUFDaEJDLFFBQVEsRUFBRSxDQUFDO0lBQ1hDLFNBQVMsRUFBRSxJQUFJO0lBQ2ZDLE9BQU8sRUFBRSxFQUFFO0lBQ1hDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDYkMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNaQyxZQUFZ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Q3hEMlcsZ0JBQWdCLEdBQUdDLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxpQkFBaUIsQ0FBQztZQUNoREksV0FBVyxHQUFHLEVBQUU7WUFDcEJILGdCQUFnQixDQUFDSSxPQUFPLENBQUMsVUFBQUMsSUFBSSxFQUFFO2NBQzdCRixXQUFXLENBQUMxRixJQUFJLENBQUM0RixJQUFJLENBQUM5UCxJQUFJLENBQUM7WUFDN0IsQ0FBQyxDQUFDO1lBQUEsaUNBQ0s0UCxXQUFXO1VBQUE7WUFBQTtZQUFBO1lBRWxCO1VBQWU7VUFBQTtZQUFBO1FBQUE7TUFBQTtJQUFBO0VBQUEsQ0FFbEI7RUFBQTtBQUFBLEVBSUUsWSIsImZpbGUiOiIxOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXHJcblxyXG5cclxud2luZG93ID0ge1xyXG5cdGxvY2F0aW9uOiB7XHJcblx0XHRocmVmOiAnaHR0cDovLzEyNy4wLjAuMS9wcmludCdcclxuXHR9XHJcbn07XHJcblxyXG4oZnVuY3Rpb24od2luKSB7XHJcblx0bGV0IHByaW50TGlzdERldiA9IFtdO1xyXG5cdGxldCBwcmludExpc3RPbmxpbmUgPSBbXTtcclxuXHR2YXIgQ0xPRE9QID0ge1xyXG5cdFx0c3RyV2ViUGFnZUlEOiBcIjdCQ0FBQUhcIixcclxuXHRcdHN0clRhc2tJRDogXCJcIixcclxuXHRcdHN0ckhvc3RVUkk6IFwiaHR0cDovL2xvY2FsaG9zdDo4MDAwXCIsXHJcblx0XHR3c0hvc3RVUkk6IFwid3M6Ly9sb2NhbGhvc3Q6ODAwMC9jX3dlYnNrdC9cIixcclxuXHRcdFZFUlNJT046IFwiNi41LjcuMlwiLFxyXG5cdFx0SVZFUlNJT046IFwiNjU3MlwiLFxyXG5cdFx0Q1ZFUlNJT046IFwiNi41LjcuMlwiLFxyXG5cdFx0SFRUUFNfU1RBVFVTOiAyLFxyXG5cdFx0VkVSU0lPTl9FWFQ6IHRydWUsXHJcblx0XHRpQmFzZVRhc2s6IDAsXHJcblx0XHR0aW1lVGhyZXNob2xkOiA1LFxyXG5cdFx0UHJpb3JpdHk6IDAsXHJcblx0XHRibElzbG9jYWw6IHRydWUsXHJcblx0XHRJZnJhbWVzOiBbXSxcclxuXHRcdEl0ZW1EYXRhczoge30sXHJcblx0XHRQYWdlRGF0YToge30sXHJcblx0XHRkZWZTdHlsZUpzb246IHt9LFxyXG5cdFx0UGFnZURhdGFFeDoge30sXHJcblx0XHRJdGVtQ05hbWVTdHlsZXM6IHt9LFxyXG5cdFx0YmxXb3JraW5nOiBmYWxzZSxcclxuXHRcdGJsTm9ybWFsSXRlbUFkZGVkOiBmYWxzZSxcclxuXHRcdGJsVG1wU2VsZWN0ZWRJbmRleDogbnVsbCxcclxuXHRcdENhcHRpb246IG51bGwsXHJcblx0XHRDb2xvcjogbnVsbCxcclxuXHRcdENvbXBhbnlOYW1lOiBudWxsLFxyXG5cdFx0c3RyQnJvYWRjYXN0TVM6IG51bGwsXHJcblx0XHRCb3JkZXI6IG51bGwsXHJcblx0XHRJbmJyb3dzZTogbnVsbCxcclxuXHRcdHdlYnNrdDogbnVsbCxcclxuXHRcdFNvY2tldEVuYWJsZTogZmFsc2UsXHJcblx0XHRTb2NrZXRPcGVuZWQ6IGZhbHNlLFxyXG5cdFx0Tm9DbGVhckFmdGVyUHJpbnQ6IGZhbHNlLFxyXG5cdFx0T25fUmV0dXJuX1JlbWFpbjogZmFsc2UsXHJcblx0XHRPbl9Ccm9hZGNhc3RfUmVtYWluOiBmYWxzZSxcclxuXHRcdE9uX1JldHVybjogbnVsbCxcclxuXHRcdFJlc3VsdDogbnVsbCxcclxuXHRcdGlUcnlTZW5kVGltZXM6IDAsXHJcblx0XHRPQk9fTW9kZTogMSxcclxuXHRcdGJsT25lQnlvbmU6IGZhbHNlLFxyXG5cdFx0RGVsaW1DaGFyOiBcIlxcZlxcZlwiLFxyXG5cdFx0UHJpbnRlcnM6IHtcclxuXHRcdFx0XCJkZWZhdWx0XCI6IFwiMVwiLFxyXG5cdFx0XHRcImxpc3RcIjpbXVxyXG5cdFx0fSxcclxuXHRcdGFsdE1lc3NhZ2VXZWJTb2NrZXRJbnZhbGlkOiBcIldlYlNvY2tldOayoeWHhuWkh+Wlve+8jOeCueehruWumue7p+e7rS4uLlwiLFxyXG5cdFx0YWx0TWVzc2FnZU5vUmVhZFdyaXRlRmlsZTogXCLkuI3og73ov5znqIvor7vlhpnmlofku7YhXCIsXHJcblx0XHRhbHRNZXNzYWdlTm9SZWFkRmlsZTogXCLkuI3og73ov5znqIvor7vmlofku7YhXCIsXHJcblx0XHRhbHRNZXNzYWdlTm9Xcml0ZUZpbGU6IFwi5LiN6IO96L+c56iL5YaZ5paH5Lu2IVwiLFxyXG5cdFx0YWx0TWVzc2FnZU5vUHJpbnREZXNpZ246IFwi5LiN6IO96L+c56iL5omT5Y2w6K6+6K6hIVwiLFxyXG5cdFx0YWx0TWVzc2FnZU5vUHJpbnRTZXR1cDogXCLkuI3og73ov5znqIvmiZPljbDnu7TmiqQhXCIsXHJcblx0XHRhbHRNZXNzYWdlU29tZVdpbmRvd0V4aXN0OiBcIuacieeql+WPo+W3suaJk+W8gO+8jOWFiOWFs+mXreWugyjmjIHnu63lpoLmraTml7bor7fliLfmlrDpobXpnaIpIVwiLFxyXG5cdFx0YWx0TWVzc2FnZUJ1c3k6IFwi5LiK5LiA5Liq6K+35rGC5q2j5b+Z77yM6K+356iN5ZCO5YaN6K+V77yBXCIsXHJcblx0XHRCcm93c2VyOiAoZnVuY3Rpb24oKSB7XHJcblxyXG5cdFx0XHRuYXZpZ2F0b3IgPSB7XHJcblx0XHRcdFx0dXNlckFnZW50OiBgTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDUuMDsgU00tRzkwMFAgQnVpbGQvTFJYMjFUKSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvNjkuMC4zNDk3LjEwMCBNb2JpbGUgU2FmYXJpLzUzNy4zNmBcclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdHZhciB1YSA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XHJcblx0XHRcdHZhciBpc09wZXJhID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHdpbmRvdy5vcGVyYSkgPT0gXCJbb2JqZWN0IE9wZXJhXVwiO1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdElFOiAhIXdpbmRvdy5hdHRhY2hFdmVudCAmJiAhaXNPcGVyYSxcclxuXHRcdFx0XHRPcGVyYTogaXNPcGVyYSxcclxuXHRcdFx0XHRXZWJLaXQ6IHVhLmluZGV4T2YoXCJBcHBsZVdlYktpdC9cIikgPiAtMSxcclxuXHRcdFx0XHRHZWNrbzogdWEuaW5kZXhPZihcIkdlY2tvXCIpID4gLTEgJiYgdWEuaW5kZXhPZihcIktIVE1MXCIpID09PSAtMSxcclxuXHRcdFx0XHRNb2JpbGVTYWZhcmk6IC9BcHBsZS4qTW9iaWxlLy50ZXN0KHVhKVxyXG5cdFx0XHR9XHJcblx0XHR9KSgpLFxyXG5cdFx0R2V0VGFza0lEOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0aWYgKCF0aGlzLnN0clRhc2tJRCB8fCB0aGlzLnN0clRhc2tJRCA9PSBcIlwiKSB7XHJcblx0XHRcdFx0dmFyIGR0ID0gbmV3IERhdGUoKTtcclxuXHRcdFx0XHR0aGlzLmlCYXNlVGFzaysrO1xyXG5cdFx0XHRcdHRoaXMuc3RyVGFza0lEID0gXCJcIiArIGR0LmdldEhvdXJzKCkgKyBkdC5nZXRNaW51dGVzKCkgKyBkdC5nZXRTZWNvbmRzKCkgKyBcIl9cIiArIHRoaXMuaUJhc2VUYXNrO1xyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiB0aGlzLnN0cldlYlBhZ2VJRCArIHRoaXMuc3RyVGFza0lEO1xyXG5cdFx0fSxcclxuXHRcdERvSW5pdDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xyXG5cdFx0XHRcdC8v5byA5Y+R546v5aKDXHJcblx0XHRcdFx0Q0xPRE9QLlByaW50ZXJzLmxpc3QgPSBwcmludExpc3REZXZcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHQvL+eUn+S6p+eOr+Wig1xyXG5cdFx0XHRcdENMT0RPUC5QcmludGVycy5saXN0ID0gcHJpbnRMaXN0T25saW5lXHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5zdHJUYXNrSUQgPSBcIlwiO1xyXG5cdFx0XHRpZiAodGhpcy5Ob0NsZWFyQWZ0ZXJQcmludCkgcmV0dXJuO1xyXG5cdFx0XHR0aGlzLkl0ZW1EYXRhcyA9IHtcclxuXHRcdFx0XHRcImNvdW50XCI6IDBcclxuXHRcdFx0fTtcclxuXHRcdFx0dGhpcy5QYWdlRGF0YSA9IHt9O1xyXG5cdFx0XHR0aGlzLkl0ZW1DTmFtZVN0eWxlcyA9IHt9O1xyXG5cdFx0XHR0aGlzLmRlZlN0eWxlSnNvbiA9IHtcclxuXHRcdFx0XHRcImJlZ2lucGFnZVwiOiAwLFxyXG5cdFx0XHRcdFwiYmVnaW5wYWdlYVwiOiAwXHJcblx0XHRcdH07XHJcblx0XHRcdHRoaXMuYmxOb3JtYWxJdGVtQWRkZWQgPSBmYWxzZTtcclxuXHRcdFx0Ly8gd2luLkNMT0RPUC5PcGVuV2ViU29ja2V0KCk7XHJcblx0XHR9LFxyXG5cdFx0T3BlbldlYlNvY2tldDogZnVuY3Rpb24ocmVzdCkge1xyXG5cclxuXHRcdFx0aWYgKHdpbmRvdy5Pbl9DTG9kb3BfT3BlbmVkKSB7XHJcblx0XHRcdFx0aWYgKENMT0RPUC5Qcmlvcml0eSA9PSB3aW5kb3cuQ0xPRE9QX09LX1ByaW9yaXR5KSBzZXRUaW1lb3V0KFwid2luZG93Lk9uX0NMb2RvcF9PcGVuZWQoQ0xPRE9QKVwiLCAxKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKCF3aW5kb3cuV2ViU29ja2V0ICYmICF3aW5kb3cuTW96V2ViU29ja2V0KSB7XHJcblx0XHRcdFx0aWYgKHdpbmRvdy5Pbl9DTG9kb3BfT3BlbmVkKSB7XHJcblx0XHRcdFx0XHRpZiAoQ0xPRE9QLlByaW9yaXR5ID09IHdpbmRvdy5DTE9ET1BfT0tfUHJpb3JpdHkpIHNldFRpbWVvdXQoXCJ3aW5kb3cuT25fQ0xvZG9wX09wZW5lZChDTE9ET1ApXCIsIDEpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLndlYnNrdClcclxuXHRcdFx0Y29uc29sZS5sb2coQ0xPRE9QLndzSG9zdFVSSSlcclxuXHRcdFx0Y29uc29sZS5sb2cocmVzdClcclxuXHRcdFx0bGV0IGlwID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdmbF9pcCcpIHx8ICcxOTIuMTY4LjEuNTYnO1xyXG5cdFx0XHRsZXQgd3NIb3N0VVJJID0gYHdzOi8vJHtpcH06ODAwMC9jX3dlYnNrdC9gXHJcblx0XHRcdHRoaXMuU29ja2V0RW5hYmxlID0gdHJ1ZTtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRpZiAoIXRoaXMud2Vic2t0IHx8IHRoaXMud2Vic2t0LnJlYWR5U3RhdGUgPT0gMyB8fCByZXN0KSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn6ZO+5o6lJylcclxuXHRcdFx0XHRcdGlmICghd2luZG93LldlYlNvY2tldCAmJiB3aW5kb3cuTW96V2ViU29ja2V0KSB3aW5kb3cuV2ViU29ja2V0ID0gd2luZG93Lk1veldlYlNvY2tldDtcclxuXHRcdFx0XHRcdHRoaXMud2Vic2t0ID0gdW5pLmNvbm5lY3RTb2NrZXQoe1xyXG5cdFx0XHRcdFx0XHR1cmw6IHdzSG9zdFVSSSxcclxuXHRcdFx0XHRcdFx0c3VjY2VzczogcmVzID0+IHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmluZm8ocmVzKTtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn6ZO+5o6l5oiQ5YqfJylcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0ZmFpbDogcmVzID0+IHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmluZm8ocmVzKTtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn6ZO+5o6l5aSx6LSlJylcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0Y29tcGxldGU6IHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5pbmZvKHJlcyk7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+mTvuaOpeWujOaIkCcpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy53ZWJza3QpXHJcblx0XHRcdFx0XHR0aGlzLndlYnNrdC5vbk9wZW4oZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdFx0XHRDTE9ET1AuU29ja2V0T3BlbmVkID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0aWYgKHdpbmRvdy5Pbl9DTG9kb3BfT3BlbmVkKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKENMT0RPUC5Qcmlvcml0eSA9PSB3aW5kb3cuQ0xPRE9QX09LX1ByaW9yaXR5KSBzZXRUaW1lb3V0KHdpbmRvdy5Pbl9DTG9kb3BfT3BlbmVkKENMT0RPUCksIDEwMDAwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR0aGlzLndlYnNrdC5vbk1lc3NhZ2UoZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlKTtcclxuXHRcdFx0XHRcdFx0Q0xPRE9QLnJlc3VsdEhhbmRsZShlLmRhdGEpO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR0aGlzLndlYnNrdC5vbkNsb3NlKGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRcdFx0aWYgKCFDTE9ET1AuU29ja2V0T3BlbmVkKSB7XHJcblx0XHRcdFx0XHRcdFx0Q0xPRE9QLlNvY2tldEVuYWJsZSA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQvLyBzZXRUaW1lb3V0KENMT0RPUC5PcGVuV2ViU29ja2V0KCksIDIwMDApO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR0aGlzLndlYnNrdC5vbkVycm9yKGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5pbmZvKGUpO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcclxuXHRcdFx0XHR0aGlzLndlYnNrdCA9IG51bGw7XHJcblx0XHRcdFx0aWYgKGVyci5tZXNzYWdlLmluZGV4T2YoXCJTZWN1cml0eUVycm9yXCIpID4gLTEpXHJcblx0XHRcdFx0XHR0aGlzLlNvY2tldEVuYWJsZSA9IGZhbHNlO1xyXG5cdFx0XHRcdGVsc2VcclxuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCk9PntcclxuICAgICAgICAgIENMT0RPUC5PcGVuV2ViU29ja2V0KClcclxuICAgICAgICB9LCAyMDAwKTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdHJlc3VsdEhhbmRsZTogZnVuY3Rpb24oZGF0YSkge1xyXG5cdFx0XHRDTE9ET1AuYmxPbmVCeW9uZSA9IGZhbHNlO1xyXG5cdFx0XHR2YXIgc3RyUmVzdWx0ID0gZGF0YTtcclxuXHRcdFx0Q0xPRE9QLlJlc3VsdCA9IHN0clJlc3VsdDtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHR2YXIgc3RyRlRhc2tJRCA9IG51bGw7XHJcblx0XHRcdFx0dmFyIGlQb3MgPSBzdHJSZXN1bHQuaW5kZXhPZihcIj1cIik7XHJcblx0XHRcdFx0aWYgKGlQb3MgPj0gMCAmJiBpUG9zIDwgMzApIHtcclxuXHRcdFx0XHRcdHN0ckZUYXNrSUQgPSBzdHJSZXN1bHQuc2xpY2UoMCwgaVBvcyk7XHJcblx0XHRcdFx0XHRzdHJSZXN1bHQgPSBzdHJSZXN1bHQuc2xpY2UoaVBvcyArIDEpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoc3RyRlRhc2tJRC5pbmRleE9mKFwiRXJyb3JNU1wiKSA+IC0xKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmluZm8oc3RyUmVzdWx0KTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHN0ckZUYXNrSUQuaW5kZXhPZihcIkJyb2FkY2FzdE1TXCIpID4gLTEpIHtcclxuXHRcdFx0XHRcdENMT0RPUC5zdHJCcm9hZGNhc3RNUyA9IHN0clJlc3VsdDtcclxuXHRcdFx0XHRcdGlmIChDTE9ET1AuT25fQnJvYWRjYXN0KSB7XHJcblx0XHRcdFx0XHRcdHZhciBzZWxmRnVuYyA9IENMT0RPUC5Pbl9Ccm9hZGNhc3Q7XHJcblx0XHRcdFx0XHRcdENMT0RPUC5Pbl9Ccm9hZGNhc3Qoc3RyUmVzdWx0KTtcclxuXHRcdFx0XHRcdFx0aWYgKCFDTE9ET1AuT25fQnJvYWRjYXN0X1JlbWFpbiAmJiBzZWxmRnVuYyA9PT0gQ0xPRE9QLk9uX0Jyb2FkY2FzdClcclxuXHRcdFx0XHRcdFx0XHRDTE9ET1AuT25fQnJvYWRjYXN0ID0gbnVsbDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKENMT0RPUC5Pbl9SZXR1cm4pIHtcclxuXHRcdFx0XHRcdHZhciBzZWxmRnVuYyA9IENMT0RPUC5Pbl9SZXR1cm47XHJcblx0XHRcdFx0XHRpZiAoKHN0clJlc3VsdC50b0xvd2VyQ2FzZSgpID09IFwidHJ1ZVwiKSB8fCAoc3RyUmVzdWx0LnRvTG93ZXJDYXNlKCkgPT0gXCJmYWxzZVwiKSlcclxuXHRcdFx0XHRcdFx0Q0xPRE9QLk9uX1JldHVybihzdHJGVGFza0lELCBzdHJSZXN1bHQudG9Mb3dlckNhc2UoKSA9PSBcInRydWVcIik7XHJcblx0XHRcdFx0XHRlbHNlXHJcblx0XHRcdFx0XHRcdENMT0RPUC5Pbl9SZXR1cm4oc3RyRlRhc2tJRCwgc3RyUmVzdWx0KTtcclxuXHRcdFx0XHRcdGlmICghQ0xPRE9QLk9uX1JldHVybl9SZW1haW4gJiYgc2VsZkZ1bmMgPT09IENMT0RPUC5Pbl9SZXR1cm4pIENMT0RPUC5Pbl9SZXR1cm4gPSBudWxsO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZXJyKTtcclxuXHRcdFx0fTtcclxuXHRcdH0sXHJcblx0XHR3c1NlbmQ6IGZ1bmN0aW9uKHN0ckRhdGEpIHtcclxuXHRcdFx0Ly8gY29uc29sZS5pbmZvKHN0ckRhdGEpO1xyXG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLndlYnNrdCk7XHJcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMud3NIb3N0VVJJKTtcclxuXHRcdFx0Y29uc29sZS5sb2coMTEpO1xyXG5cdFx0XHRpZiAodGhpcy53ZWJza3QgJiYgdGhpcy53ZWJza3QucmVhZHlTdGF0ZSA9PSAxKSB7XHJcblx0XHRcdFx0dGhpcy5SZXN1bHQgPSBudWxsO1xyXG5cdFx0XHRcdHRoaXMuaVRyeVNlbmRUaW1lcyA9IDA7XHJcblx0XHRcdFx0dGhpcy53ZWJza3Quc2VuZCh7XHJcblx0XHRcdFx0XHRkYXRhOiBzdHJEYXRhLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogcmVzID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5pbmZvKHJlcyk7XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZmFpbDogcmVzID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5pbmZvKHJlcyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5pVHJ5U2VuZFRpbWVzKys7XHJcblx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5pVHJ5U2VuZFRpbWVzKTtcclxuXHRcdFx0XHRpZiAodGhpcy5pVHJ5U2VuZFRpbWVzIDw9IDEpIHtcclxuXHRcdFx0XHRcdHRoaXMuT3BlbldlYlNvY2tldCgpO1xyXG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRcdFx0XHRDTE9ET1Aud3NTZW5kKHN0ckRhdGEpXHJcblx0XHRcdFx0XHR9LCAxMDAwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRGT1JNQVQ6IGZ1bmN0aW9uKG9UeXBlLCBvVmFsdWUpIHtcclxuXHRcdFx0aWYgKHRoaXMuYmxXb3JraW5nKSB7XHJcblx0XHRcdFx0Y29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZUJ1c3kpO1xyXG5cdFx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0XHR9XHJcblx0XHRcdHZhciB0UmVzdWx0ID0gbnVsbDtcclxuXHRcdFx0aWYgKG9UeXBlICE9PSB1bmRlZmluZWQgJiYgb1ZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRpZiAob1R5cGUucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgXCJcIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwidGltZTpcIikgPT0gMCkge1xyXG5cdFx0XHRcdFx0b1R5cGUgPSBvVHlwZS5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCBcIlwiKS5zbGljZSg1KTtcclxuXHRcdFx0XHRcdGlmIChvVmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwibm93XCIpID4gLTEpIG9WYWx1ZSA9IChuZXcgRGF0ZSgpKS50b1N0cmluZygpO1xyXG5cdFx0XHRcdFx0aWYgKG9WYWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJkYXRlXCIpID4gLTEpIG9WYWx1ZSA9IChuZXcgRGF0ZSgpKS50b1N0cmluZygpO1xyXG5cdFx0XHRcdFx0aWYgKG9WYWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJ0aW1lXCIpID4gLTEpIG9WYWx1ZSA9IChuZXcgRGF0ZSgpKS50b1N0cmluZygpO1xyXG5cdFx0XHRcdFx0dmFyIFR5cGVZTUQgPSBcInltZFwiO1xyXG5cdFx0XHRcdFx0aWYgKG9WYWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJ5bWRcIikgPiAtMSkge1xyXG5cdFx0XHRcdFx0XHRUeXBlWU1EID0gXCJ5bWRcIjtcclxuXHRcdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnNsaWNlKDMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKG9WYWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJkbXlcIikgPiAtMSkge1xyXG5cdFx0XHRcdFx0XHRUeXBlWU1EID0gXCJkbXlcIjtcclxuXHRcdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnNsaWNlKDMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKG9WYWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJtZHlcIikgPiAtMSkge1xyXG5cdFx0XHRcdFx0XHRUeXBlWU1EID0gXCJtZHlcIjtcclxuXHRcdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnNsaWNlKDMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnJlcGxhY2UoLyBbXiBdKlxcK1teIF0qIC9nLCBcIiBcIik7XHJcblx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUucmVwbGFjZSgvXFwoLipcXCkvZywgXCIgXCIpO1xyXG5cdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnJlcGxhY2UoL+aYn+acn+aXpXzmmJ/mnJ/kuIB85pif5pyf5LqMfOaYn+acn+S4iXzmmJ/mnJ/lm5t85pif5pyf5LqUfOaYn+acn+WFrS9nLCBcIiBcIik7XHJcblx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUucmVwbGFjZSgvW0EtWmEtel0rZGF5fE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1bi9nLCBcIiBcIik7XHJcblx0XHRcdFx0XHR2YXIgYU1vbnRoID0gMDtcclxuXHRcdFx0XHRcdHZhciBleHAgPSBuZXcgUmVnRXhwKFwiT2N0W0EtWmEtel0qfOWNgeaciHwxMOaciFwiLCBcImlcIik7XHJcblx0XHRcdFx0XHRpZiAob1ZhbHVlLm1hdGNoKGV4cCkgIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0YU1vbnRoID0gMTA7XHJcblx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5yZXBsYWNlKGV4cCwgXCJcIik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRleHAgPSBuZXcgUmVnRXhwKFwiTm92W0EtWmEtel0qfOWNgeS4gOaciHwxMeaciFwiLCBcImlcIik7XHJcblx0XHRcdFx0XHRpZiAob1ZhbHVlLm1hdGNoKGV4cCkgIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0YU1vbnRoID0gMTE7XHJcblx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5yZXBsYWNlKGV4cCwgXCJcIik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRleHAgPSBuZXcgUmVnRXhwKFwiRGVjW0EtWmEtel0qfOWNgeS6jOaciHwxMuaciFwiLCBcImlcIik7XHJcblx0XHRcdFx0XHRpZiAob1ZhbHVlLm1hdGNoKGV4cCkgIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0YU1vbnRoID0gMTI7XHJcblx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5yZXBsYWNlKGV4cCwgXCJcIik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRleHAgPSBuZXcgUmVnRXhwKFwiSmFuW0EtWmEtel0qfOS4gOaciHwwMeaciHwx5pyIXCIsIFwiaVwiKTtcclxuXHRcdFx0XHRcdGlmIChvVmFsdWUubWF0Y2goZXhwKSAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRhTW9udGggPSAxO1xyXG5cdFx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUucmVwbGFjZShleHAsIFwiXCIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZXhwID0gbmV3IFJlZ0V4cChcIkZlYltBLVphLXpdKnzkuozmnIh8MDLmnIh8MuaciFwiLCBcImlcIik7XHJcblx0XHRcdFx0XHRpZiAob1ZhbHVlLm1hdGNoKGV4cCkgIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0YU1vbnRoID0gMjtcclxuXHRcdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnJlcGxhY2UoZXhwLCBcIlwiKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGV4cCA9IG5ldyBSZWdFeHAoXCJNYXJbQS1aYS16XSp85LiJ5pyIfDAz5pyIfDPmnIhcIiwgXCJpXCIpO1xyXG5cdFx0XHRcdFx0aWYgKG9WYWx1ZS5tYXRjaChleHApICE9PSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdGFNb250aCA9IDM7XHJcblx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5yZXBsYWNlKGV4cCwgXCJcIik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRleHAgPSBuZXcgUmVnRXhwKFwiQXByW0EtWmEtel0qfOWbm+aciHwwNOaciHw05pyIXCIsIFwiaVwiKTtcclxuXHRcdFx0XHRcdGlmIChvVmFsdWUubWF0Y2goZXhwKSAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRhTW9udGggPSA0O1xyXG5cdFx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUucmVwbGFjZShleHAsIFwiXCIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZXhwID0gbmV3IFJlZ0V4cChcIk1heVtBLVphLXpdKnzkupTmnIh8MDXmnIh8NeaciFwiLCBcImlcIik7XHJcblx0XHRcdFx0XHRpZiAob1ZhbHVlLm1hdGNoKGV4cCkgIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0YU1vbnRoID0gNTtcclxuXHRcdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnJlcGxhY2UoZXhwLCBcIlwiKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGV4cCA9IG5ldyBSZWdFeHAoXCJKdW5bQS1aYS16XSp85YWt5pyIfDA25pyIfDbmnIhcIiwgXCJpXCIpO1xyXG5cdFx0XHRcdFx0aWYgKG9WYWx1ZS5tYXRjaChleHApICE9PSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdGFNb250aCA9IDY7XHJcblx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5yZXBsYWNlKGV4cCwgXCJcIik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRleHAgPSBuZXcgUmVnRXhwKFwiSnVsW0EtWmEtel0qfOS4g+aciHwwN+aciHw35pyIXCIsIFwiaVwiKTtcclxuXHRcdFx0XHRcdGlmIChvVmFsdWUubWF0Y2goZXhwKSAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRhTW9udGggPSA3O1xyXG5cdFx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUucmVwbGFjZShleHAsIFwiXCIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZXhwID0gbmV3IFJlZ0V4cChcIkF1Z1tBLVphLXpdKnzlhavmnIh8MDjmnIh8OOaciFwiLCBcImlcIik7XHJcblx0XHRcdFx0XHRpZiAob1ZhbHVlLm1hdGNoKGV4cCkgIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0YU1vbnRoID0gODtcclxuXHRcdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnJlcGxhY2UoZXhwLCBcIlwiKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGV4cCA9IG5ldyBSZWdFeHAoXCJTZXBbQS1aYS16XSp85Lmd5pyIfDA55pyIfDnmnIhcIiwgXCJpXCIpO1xyXG5cdFx0XHRcdFx0aWYgKG9WYWx1ZS5tYXRjaChleHApICE9PSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdGFNb250aCA9IDk7XHJcblx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5yZXBsYWNlKGV4cCwgXCJcIik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUucmVwbGFjZSgv5pelfOenki9nLCBcIiBcIik7XHJcblx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUucmVwbGFjZSgv5pe2fOWIhi9nLCBcIjpcIik7XHJcblx0XHRcdFx0XHR2YXIgc3ViVGltZSA9IG9WYWx1ZS5tYXRjaCgvIFxcZCs6XFxkKzpcXGQrLyk7XHJcblx0XHRcdFx0XHRpZiAoc3ViVGltZSA9PSBudWxsKSBzdWJUaW1lID0gXCJcIjtcclxuXHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5yZXBsYWNlKC8gXFxkKzpcXGQrOlxcZCsvLCBcIlwiKSArIHN1YlRpbWU7XHJcblx0XHRcdFx0XHR2YXIgZFZhbHVlID0gbmV3IERhdGUoKTtcclxuXHRcdFx0XHRcdHZhciBpWWVhciA9IDA7XHJcblx0XHRcdFx0XHR2YXIgaU1vbnRoID0gMDtcclxuXHRcdFx0XHRcdHZhciBpRGF0ZSA9IDA7XHJcblx0XHRcdFx0XHR2YXIgaUhvdXIgPSAwO1xyXG5cdFx0XHRcdFx0dmFyIGlNaW51dGVzID0gMDtcclxuXHRcdFx0XHRcdHZhciBpU2Vjb25kID0gMDtcclxuXHRcdFx0XHRcdHZhciB0bXBWYWx1ZSA9IG9WYWx1ZTtcclxuXHRcdFx0XHRcdHZhciBzVmFsdWUgPSBcIlwiO1xyXG5cdFx0XHRcdFx0dmFyIE1DMSA9IDA7XHJcblx0XHRcdFx0XHRNQzIgPSAwO1xyXG5cdFx0XHRcdFx0TUMzID0gMDtcclxuXHRcdFx0XHRcdHNWYWx1ZSA9IHRtcFZhbHVlLm1hdGNoKC9cXGQrLyk7XHJcblx0XHRcdFx0XHRpZiAoc1ZhbHVlICE9PSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdE1DMSA9IHBhcnNlSW50KHNWYWx1ZVswXSk7XHJcblx0XHRcdFx0XHRcdHRtcFZhbHVlID0gdG1wVmFsdWUucmVwbGFjZSgvXFxkKy8sIFwiXCIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0c1ZhbHVlID0gdG1wVmFsdWUubWF0Y2goL1xcZCsvKTtcclxuXHRcdFx0XHRcdGlmIChzVmFsdWUgIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0TUMyID0gcGFyc2VJbnQoc1ZhbHVlWzBdKTtcclxuXHRcdFx0XHRcdFx0dG1wVmFsdWUgPSB0bXBWYWx1ZS5yZXBsYWNlKC9cXGQrLywgXCJcIik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAoYU1vbnRoIDw9IDApIHtcclxuXHRcdFx0XHRcdFx0c1ZhbHVlID0gdG1wVmFsdWUubWF0Y2goL1xcZCsvKTtcclxuXHRcdFx0XHRcdFx0aWYgKHNWYWx1ZSAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRcdE1DMyA9IHBhcnNlSW50KHNWYWx1ZVswXSk7XHJcblx0XHRcdFx0XHRcdFx0dG1wVmFsdWUgPSB0bXBWYWx1ZS5yZXBsYWNlKC9cXGQrLywgXCJcIik7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmIChhTW9udGggPiAwKSB7XHJcblx0XHRcdFx0XHRcdGlNb250aCA9IGFNb250aDtcclxuXHRcdFx0XHRcdFx0aWYgKE1DMiA8PSAzMSkge1xyXG5cdFx0XHRcdFx0XHRcdGlZZWFyID0gTUMxO1xyXG5cdFx0XHRcdFx0XHRcdGlEYXRlID0gTUMyO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdGlZZWFyID0gTUMyO1xyXG5cdFx0XHRcdFx0XHRcdGlEYXRlID0gTUMxO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9IGVsc2VcclxuXHRcdFx0XHRcdGlmIChUeXBlWU1EID09IFwiZG15XCIpIHtcclxuXHRcdFx0XHRcdFx0aURhdGUgPSBNQzE7XHJcblx0XHRcdFx0XHRcdGlNb250aCA9IE1DMjtcclxuXHRcdFx0XHRcdFx0aVllYXIgPSBNQzM7XHJcblx0XHRcdFx0XHR9IGVsc2VcclxuXHRcdFx0XHRcdGlmIChUeXBlWU1EID09IFwibWR5XCIpIHtcclxuXHRcdFx0XHRcdFx0aU1vbnRoID0gTUMxO1xyXG5cdFx0XHRcdFx0XHRpRGF0ZSA9IE1DMjtcclxuXHRcdFx0XHRcdFx0aVllYXIgPSBNQzM7XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRpWWVhciA9IE1DMTtcclxuXHRcdFx0XHRcdFx0aU1vbnRoID0gTUMyO1xyXG5cdFx0XHRcdFx0XHRpRGF0ZSA9IE1DMztcclxuXHRcdFx0XHRcdFx0aWYgKE1DMyA+IDMxKSB7XHJcblx0XHRcdFx0XHRcdFx0aVllYXIgPSBNQzM7XHJcblx0XHRcdFx0XHRcdFx0aU1vbnRoID0gTUMxO1xyXG5cdFx0XHRcdFx0XHRcdGlEYXRlID0gTUMyO1xyXG5cdFx0XHRcdFx0XHRcdGlmIChNQzEgPiAxMikge1xyXG5cdFx0XHRcdFx0XHRcdFx0aURhdGUgPSBNQzE7XHJcblx0XHRcdFx0XHRcdFx0XHRpTW9udGggPSBNQzJcclxuXHRcdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChNQzIgPiAxMikge1xyXG5cdFx0XHRcdFx0XHRcdFx0aVllYXIgPSBNQzI7XHJcblx0XHRcdFx0XHRcdFx0XHRpTW9udGggPSBNQzE7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR2YXIgc1ZhbHVlID0gdG1wVmFsdWUubWF0Y2goL1xcZCsvKTtcclxuXHRcdFx0XHRcdGlmIChzVmFsdWUgIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0aUhvdXIgPSBwYXJzZUludChzVmFsdWVbMF0pO1xyXG5cdFx0XHRcdFx0XHR0bXBWYWx1ZSA9IHRtcFZhbHVlLnJlcGxhY2UoL1xcZCsvLCBcIlwiKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHZhciBzVmFsdWUgPSB0bXBWYWx1ZS5tYXRjaCgvXFxkKy8pO1xyXG5cdFx0XHRcdFx0aWYgKHNWYWx1ZSAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRpTWludXRlcyA9IHBhcnNlSW50KHNWYWx1ZVswXSk7XHJcblx0XHRcdFx0XHRcdHRtcFZhbHVlID0gdG1wVmFsdWUucmVwbGFjZSgvXFxkKy8sIFwiXCIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dmFyIHNWYWx1ZSA9IHRtcFZhbHVlLm1hdGNoKC9cXGQrLyk7XHJcblx0XHRcdFx0XHRpZiAoc1ZhbHVlICE9PSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdGlTZWNvbmQgPSBwYXJzZUludChzVmFsdWVbMF0pO1xyXG5cdFx0XHRcdFx0XHR0bXBWYWx1ZSA9IHRtcFZhbHVlLnJlcGxhY2UoL1xcZCsvLCBcIlwiKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmIChvVHlwZS50b0xvd2VyQ2FzZSgpID09IFwiaXN2YWxpZGZvcm1hdFwiKVxyXG5cdFx0XHRcdFx0XHRvVmFsdWUgPSAoaVllYXIgPiAwICYmIGlNb250aCA+IDAgJiYgaU1vbnRoIDw9IDEyICYmIGlEYXRlID4gMCAmJiBpRGF0ZSA8PSAzMSk7XHJcblx0XHRcdFx0XHRlbHNlIHtcclxuXHRcdFx0XHRcdFx0aWYgKChcIlwiICsgaVllYXIpLmxlbmd0aCA8IDQpIGlZZWFyID0gaVllYXIgKyAyMDAwO1xyXG5cdFx0XHRcdFx0XHRkVmFsdWUuc2V0RnVsbFllYXIoaVllYXIsIGlNb250aCAtIDEsIGlEYXRlKTtcclxuXHRcdFx0XHRcdFx0ZFZhbHVlLnNldEhvdXJzKGlIb3VyKTtcclxuXHRcdFx0XHRcdFx0ZFZhbHVlLnNldE1pbnV0ZXMoaU1pbnV0ZXMpO1xyXG5cdFx0XHRcdFx0XHRkVmFsdWUuc2V0U2Vjb25kcyhpU2Vjb25kKTtcclxuXHRcdFx0XHRcdFx0dmFyIGlEYXkgPSBkVmFsdWUuZ2V0RGF5KCk7XHJcblx0XHRcdFx0XHRcdGlmIChvVHlwZS50b0xvd2VyQ2FzZSgpID09IFwid2Vla2luZGV4XCIpXHJcblx0XHRcdFx0XHRcdFx0b1ZhbHVlID0gaURheTtcclxuXHRcdFx0XHRcdFx0ZWxzZVxyXG5cdFx0XHRcdFx0XHRpZiAob1R5cGUudG9Mb3dlckNhc2UoKSA9PSBcImZsb2F0dmFsdWVcIilcclxuXHRcdFx0XHRcdFx0XHRvVmFsdWUgPSBkVmFsdWUuZ2V0VGltZSgpO1xyXG5cdFx0XHRcdFx0XHRlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR2YXIgc1dlZWsgPSBcIlwiO1xyXG5cdFx0XHRcdFx0XHRcdHN3aXRjaCAoaURheSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSAwOlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzV2VlayA9IFwi5pelXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSAxOlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzV2VlayA9IFwi5LiAXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSAyOlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzV2VlayA9IFwi5LqMXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSAzOlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzV2VlayA9IFwi5LiJXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSA0OlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzV2VlayA9IFwi5ZubXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSA1OlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzV2VlayA9IFwi5LqUXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y2FzZSA2OlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzV2VlayA9IFwi5YWtXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRvVmFsdWUgPSBvVHlwZS5yZXBsYWNlKC9kZGRkL2lnLCBcIuaYn+acn1wiICsgc1dlZWspO1xyXG5cdFx0XHRcdFx0XHRcdGlmICgvKHkrKS9pLnRlc3Qob1ZhbHVlKSkgb1ZhbHVlID0gb1ZhbHVlLnJlcGxhY2UoUmVnRXhwLiQxLCAoaVllYXIgKyBcIlwiKS5zdWJzdHIoNCAtIFJlZ0V4cC4kMS5sZW5ndGgpKTtcclxuXHRcdFx0XHRcdFx0XHRpZiAoLyhtKzopL2kudGVzdChvVmFsdWUpKSBvVmFsdWUgPSBvVmFsdWUucmVwbGFjZShSZWdFeHAuJDEsIChcIjAwXCIgKyBpTWludXRlcyArIFwiOlwiKS5zdWJzdHIoKFwiMDBcIiArIGlNaW51dGVzICtcclxuXHRcdFx0XHRcdFx0XHRcdFwiOlwiKS5sZW5ndGggLSBSZWdFeHAuJDEubGVuZ3RoKSk7XHJcblx0XHRcdFx0XHRcdFx0aWYgKC8oTSspL2kudGVzdChvVmFsdWUpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR2YXIgZHNXaWR0aCA9IChcIlwiICsgaU1vbnRoKS5sZW5ndGggPiBSZWdFeHAuJDEubGVuZ3RoID8gKFwiXCIgKyBpTW9udGgpLmxlbmd0aCA6IFJlZ0V4cC4kMS5sZW5ndGg7XHJcblx0XHRcdFx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUucmVwbGFjZShSZWdFeHAuJDEsIChcIjAwXCIgKyBpTW9udGgpLnN1YnN0cigoXCIwMFwiICsgaU1vbnRoKS5sZW5ndGggLSBkc1dpZHRoKSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmICgvKGQrKS9pLnRlc3Qob1ZhbHVlKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIGRzV2lkdGggPSAoXCJcIiArIGlEYXRlKS5sZW5ndGggPiBSZWdFeHAuJDEubGVuZ3RoID8gKFwiXCIgKyBpRGF0ZSkubGVuZ3RoIDogUmVnRXhwLiQxLmxlbmd0aDtcclxuXHRcdFx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5yZXBsYWNlKFJlZ0V4cC4kMSwgKFwiMDBcIiArIGlEYXRlKS5zdWJzdHIoKFwiMDBcIiArIGlEYXRlKS5sZW5ndGggLSBkc1dpZHRoKSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmICgvKEgrKS9pLnRlc3Qob1ZhbHVlKSkgb1ZhbHVlID0gb1ZhbHVlLnJlcGxhY2UoUmVnRXhwLiQxLCAoXCIwMFwiICsgaUhvdXIpLnN1YnN0cigoXCIwMFwiICsgaUhvdXIpLmxlbmd0aCAtXHJcblx0XHRcdFx0XHRcdFx0XHRSZWdFeHAuJDEubGVuZ3RoKSk7XHJcblx0XHRcdFx0XHRcdFx0aWYgKC8obispL2kudGVzdChvVmFsdWUpKSBvVmFsdWUgPSBvVmFsdWUucmVwbGFjZShSZWdFeHAuJDEsIChcIjAwXCIgKyBpTWludXRlcykuc3Vic3RyKChcIjAwXCIgKyBpTWludXRlcykubGVuZ3RoIC1cclxuXHRcdFx0XHRcdFx0XHRcdFJlZ0V4cC4kMS5sZW5ndGgpKTtcclxuXHRcdFx0XHRcdFx0XHRpZiAoLyhzKykvaS50ZXN0KG9WYWx1ZSkpIG9WYWx1ZSA9IG9WYWx1ZS5yZXBsYWNlKFJlZ0V4cC4kMSwgKFwiMDBcIiArIGlTZWNvbmQpLnN1YnN0cigoXCIwMFwiICsgaVNlY29uZCkubGVuZ3RoIC1cclxuXHRcdFx0XHRcdFx0XHRcdFJlZ0V4cC4kMS5sZW5ndGgpKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKENMT0RPUC5Pbl9SZXR1cm4pIHtcclxuXHRcdFx0XHRcdFx0dmFyIHNlbGZGdW5jID0gQ0xPRE9QLk9uX1JldHVybjtcclxuXHRcdFx0XHRcdFx0Q0xPRE9QLk9uX1JldHVybigwLCBvVmFsdWUpO1xyXG5cdFx0XHRcdFx0XHRpZiAoIUNMT0RPUC5Pbl9SZXR1cm5fUmVtYWluICYmIHNlbGZGdW5jID09PSBDTE9ET1AuT25fUmV0dXJuKSBDTE9ET1AuT25fUmV0dXJuID0gbnVsbDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybiBvVmFsdWU7XHJcblx0XHRcdFx0fSBlbHNlXHJcblx0XHRcdFx0aWYgKHRoaXMuYmxJc2xvY2FsIHx8IG9UeXBlLmluZGV4T2YoXCJGSUxFOlwiKSA8IDApIHtcclxuXHRcdFx0XHRcdHRoaXMuUGFnZURhdGFbXCJmb3JtYXRfdHlwZVwiXSA9IG9UeXBlO1xyXG5cdFx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcImZvcm1hdF92YWx1ZVwiXSA9IG9WYWx1ZTtcclxuXHRcdFx0XHRcdGlmICh0aGlzLkRvUG9zdERhdGFzKFwiZm9ybWF0XCIpID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5HZXRMYXN0UmVzdWx0KGZhbHNlKTtcclxuXHRcdFx0XHRcdFx0dFJlc3VsdCA9IHRoaXMuR2V0VGFza0lEKCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VOb1JlYWRXcml0ZUZpbGUpXHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5Eb0luaXQoKTtcclxuXHRcdFx0dGhpcy5ibFdvcmtpbmcgPSBmYWxzZTtcclxuXHRcdFx0cmV0dXJuIHRSZXN1bHQ7XHJcblx0XHR9LFxyXG5cdFx0U0VUX1BSSU5UX1BBUEVSOiBmdW5jdGlvbihUb3AsIExlZnQsIFdpZHRoLCBIZWlnaHQsIHN0clByaW50VGFzaykge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5QUklOVF9JTklUQShUb3AsIExlZnQsIFdpZHRoLCBIZWlnaHQsIHN0clByaW50VGFzayk7XHJcblx0XHR9LFxyXG5cdFx0UFJJTlRfSU5JVDogZnVuY3Rpb24oc3RyUHJpbnRUYXNrLGhvc3QpIHtcclxuXHRcdFx0dGhpcy53c0hvc3RVUkkgPSBgd3M6Ly8ke2hvc3R9OjgwMDAvY193ZWJza3QvYDtcclxuXHRcdFx0cmV0dXJuIHRoaXMuUFJJTlRfSU5JVEEobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgc3RyUHJpbnRUYXNrKTtcclxuXHRcdH0sXHJcblx0XHRQUklOVF9JTklUQTogZnVuY3Rpb24oVG9wLCBMZWZ0LCBXaWR0aCwgSGVpZ2h0LCBzdHJQcmludFRhc2spIHtcclxuXHRcdFx0aWYgKFRvcCA9PT0gdW5kZWZpbmVkIHx8IFRvcCA9PT0gbnVsbCkgVG9wID0gXCJcIjtcclxuXHRcdFx0aWYgKExlZnQgPT09IHVuZGVmaW5lZCB8fCBMZWZ0ID09PSBudWxsKSBMZWZ0ID0gXCJcIjtcclxuXHRcdFx0aWYgKFdpZHRoID09PSB1bmRlZmluZWQgfHwgV2lkdGggPT09IG51bGwpIFdpZHRoID0gXCJcIjtcclxuXHRcdFx0aWYgKEhlaWdodCA9PT0gdW5kZWZpbmVkIHx8IEhlaWdodCA9PT0gbnVsbCkgSGVpZ2h0ID0gXCJcIjtcclxuXHRcdFx0aWYgKHN0clByaW50VGFzayA9PT0gdW5kZWZpbmVkIHx8IHN0clByaW50VGFzayA9PT0gbnVsbCkgc3RyUHJpbnRUYXNrID0gXCJcIjtcclxuXHRcdFx0dGhpcy5Ob0NsZWFyQWZ0ZXJQcmludCA9IGZhbHNlO1xyXG5cdFx0XHR0aGlzLkRvSW5pdCgpO1xyXG5cdFx0XHR0aGlzLlBhZ2VEYXRhW1widG9wXCJdID0gVG9wO1xyXG5cdFx0XHR0aGlzLlBhZ2VEYXRhW1wibGVmdFwiXSA9IExlZnQ7XHJcblx0XHRcdHRoaXMuUGFnZURhdGFbXCJ3aWR0aFwiXSA9IFdpZHRoO1xyXG5cdFx0XHR0aGlzLlBhZ2VEYXRhW1wiaGVpZ2h0XCJdID0gSGVpZ2h0O1xyXG5cdFx0XHR0aGlzLlBhZ2VEYXRhW1wicHJpbnR0YXNrXCJdID0gc3RyUHJpbnRUYXNrO1xyXG5cdFx0XHRyZXR1cm4gdHJ1ZTtcclxuXHRcdH0sXHJcblx0XHRTRVRfUFJJTlRfTU9ERTogZnVuY3Rpb24oc3RyTW9kZVR5cGUsIE1vZGVWYWx1ZSkge1xyXG5cdFx0XHRpZiAoc3RyTW9kZVR5cGUgPT09IHVuZGVmaW5lZCB8fCBzdHJNb2RlVHlwZSA9PT0gbnVsbCkgc3RyTW9kZVR5cGUgPSBcIlwiO1xyXG5cdFx0XHRpZiAoTW9kZVZhbHVlID09PSB1bmRlZmluZWQgfHwgTW9kZVZhbHVlID09PSBudWxsKSBNb2RlVmFsdWUgPSBcIlwiO1xyXG5cdFx0XHRpZiAoc3RyTW9kZVR5cGUgPT09IFwiXCIpIHJldHVybiBmYWxzZTtcclxuXHRcdFx0c3RyTW9kZVR5cGUgPSBzdHJNb2RlVHlwZS50b0xvd2VyQ2FzZSgpO1xyXG5cdFx0XHR0aGlzLlBhZ2VEYXRhW3N0ck1vZGVUeXBlXSA9IE1vZGVWYWx1ZTtcclxuXHRcdFx0aWYgKHN0ck1vZGVUeXBlID09IFwibm9jbGVhcl9hZnRlcl9wcmludFwiKSB0aGlzLk5vQ2xlYXJBZnRlclByaW50ID0gTW9kZVZhbHVlO1xyXG5cdFx0XHRpZiAoc3RyTW9kZVR5cGUuaW5kZXhPZihcIndpbmRvd19kZWZcIikgPiAtMSB8fCBzdHJNb2RlVHlwZS5pbmRleE9mKFwiY29udHJvbF9wcmludGVyXCIpID4gLTEpIHtcclxuXHRcdFx0XHR2YXIgdFJlc3VsdCA9IG51bGw7XHJcblx0XHRcdFx0aWYgKHRoaXMuRG9Qb3N0RGF0YXMoXCJvbmx5c2V0cHJpbnRcIikgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5HZXRMYXN0UmVzdWx0KGZhbHNlKTtcclxuXHRcdFx0XHRcdHRSZXN1bHQgPSB0aGlzLkdldFRhc2tJRCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLkRvSW5pdCgpO1xyXG5cdFx0XHRcdHRoaXMuYmxXb3JraW5nID0gZmFsc2U7XHJcblx0XHRcdFx0cmV0dXJuIHRSZXN1bHQ7XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRBRERfUFJJTlRfVEVYVDogZnVuY3Rpb24odG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBzdHJUZXh0KSB7XHJcblx0XHRcdHJldHVybiB0aGlzLkFkZEl0ZW1BcnJheSgyLCB0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIHN0clRleHQpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9URVhUQTogZnVuY3Rpb24oaXRlbU5hbWUsIHRvcCwgbGVmdCwgd2lkdGgsIGhlaWdodCwgc3RyVGV4dCkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5BZGRJdGVtQXJyYXkoMiwgdG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBzdHJUZXh0LCBpdGVtTmFtZSk7XHJcblx0XHR9LFxyXG5cdFx0QUREX1BSSU5UX0hUTTogZnVuY3Rpb24odG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBzdHJIVE1MKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLkFkZEl0ZW1BcnJheSg0LCB0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIHN0ckhUTUwpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9IVE1MOiBmdW5jdGlvbih0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIHN0ckhUTUwpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuQWRkSXRlbUFycmF5KDEsIHRvcCwgbGVmdCwgd2lkdGgsIGhlaWdodCwgc3RySFRNTCk7XHJcblx0XHR9LFxyXG5cdFx0QUREX1BSSU5UX0hUTUxBOiBmdW5jdGlvbihpdGVtTmFtZSwgdG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBzdHJIVE1MKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLkFkZEl0ZW1BcnJheSgxLCB0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIHN0ckhUTUwsIGl0ZW1OYW1lKTtcclxuXHRcdH0sXHJcblx0XHRBRERfUFJJTlRfQkFSQ09ERTogZnVuY3Rpb24odG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBCYXJUeXBlLCBCYXJWYWx1ZSkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5BZGRJdGVtQXJyYXkoOSwgdG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBCYXJWYWx1ZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgQmFyVHlwZSk7XHJcblx0XHR9LFxyXG5cdFx0QUREX1BSSU5UX0JBUkNPREVBOiBmdW5jdGlvbihJdGVtTmFtZSwgdG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBCYXJUeXBlLCBCYXJWYWx1ZSkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5BZGRJdGVtQXJyYXkoOSwgdG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBCYXJWYWx1ZSwgSXRlbU5hbWUsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIEJhclR5cGUpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9SRUNUQTogZnVuY3Rpb24odG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBpbnRQZW5TdHlsZSwgaW50UGVuV2lkdGgsIGludENvbG9yKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLkFkZEl0ZW1BcnJheSgzLCB0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIG51bGwsIG51bGwsIDIsIGludFBlblN0eWxlLCBpbnRQZW5XaWR0aCwgaW50Q29sb3IsIG51bGwpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9SRUNUOiBmdW5jdGlvbih0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIGludFBlblN0eWxlLCBpbnRQZW5XaWR0aCkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5BZGRJdGVtQXJyYXkoMywgdG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBudWxsLCBudWxsLCAyLCBpbnRQZW5TdHlsZSwgaW50UGVuV2lkdGgsIG51bGwsIG51bGwpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9FTExJUFNFQTogZnVuY3Rpb24odG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBpbnRQZW5TdHlsZSwgaW50UGVuV2lkdGgsIGludENvbG9yKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLkFkZEl0ZW1BcnJheSgzLCB0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIG51bGwsIG51bGwsIDMsIGludFBlblN0eWxlLCBpbnRQZW5XaWR0aCwgaW50Q29sb3IsIG51bGwpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9FTExJUFNFOiBmdW5jdGlvbih0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIGludFBlblN0eWxlLCBpbnRQZW5XaWR0aCkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5BZGRJdGVtQXJyYXkoMywgdG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBudWxsLCBudWxsLCAzLCBpbnRQZW5TdHlsZSwgaW50UGVuV2lkdGgsIG51bGwsIG51bGwpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9TSEFQRTogZnVuY3Rpb24oU2hhcGVUeXBlLCB0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIGludFBlblN0eWxlLCBpbnRQZW5XaWR0aCwgaW50Q29sb3IpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuQWRkSXRlbUFycmF5KDMsIHRvcCwgbGVmdCwgd2lkdGgsIGhlaWdodCwgbnVsbCwgbnVsbCwgU2hhcGVUeXBlLCBpbnRQZW5TdHlsZSwgaW50UGVuV2lkdGgsIGludENvbG9yLFxyXG5cdFx0XHRcdG51bGwpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9MSU5FOiBmdW5jdGlvbih0b3AxLCBsZWZ0MSwgdG9wMiwgbGVmdDIsIGludFBlblN0eWxlLCBpbnRQZW5XaWR0aCkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5BZGRJdGVtQXJyYXkoMywgdG9wMSwgbGVmdDEsIHRvcDIsIGxlZnQyLCBudWxsLCBudWxsLCAwLCBpbnRQZW5TdHlsZSwgaW50UGVuV2lkdGgsIG51bGwsIFwiMVwiKTtcclxuXHRcdH0sXHJcblx0XHRBRERfUFJJTlRfRE5MSU5FOiBmdW5jdGlvbihUb3AsIExlZnQsIFdpZHRoLCBIZWlnaHQsIGludFBlblN0eWxlLCBpbnRQZW5XaWR0aCkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5BZGRJdGVtQXJyYXkoMywgVG9wLCBMZWZ0LCBXaWR0aCwgSGVpZ2h0LCBudWxsLCBudWxsLCAxLCBpbnRQZW5TdHlsZSwgaW50UGVuV2lkdGgsIG51bGwsIG51bGwpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9ETkxJTkVBOiBmdW5jdGlvbihUb3AsIExlZnQsIFdpZHRoLCBIZWlnaHQsIGludFBlblN0eWxlLCBpbnRQZW5XaWR0aCwgaW50Q29sb3IpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuQWRkSXRlbUFycmF5KDMsIFRvcCwgTGVmdCwgV2lkdGgsIEhlaWdodCwgbnVsbCwgbnVsbCwgMSwgaW50UGVuU3R5bGUsIGludFBlbldpZHRoLCBpbnRDb2xvciwgbnVsbCk7XHJcblx0XHR9LFxyXG5cdFx0QUREX1BSSU5UX1VQTElORTogZnVuY3Rpb24oVG9wLCBMZWZ0LCBXaWR0aCwgSGVpZ2h0LCBpbnRQZW5TdHlsZSwgaW50UGVuV2lkdGgpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuQWRkSXRlbUFycmF5KDMsIFRvcCwgTGVmdCwgV2lkdGgsIEhlaWdodCwgbnVsbCwgbnVsbCwgMCwgaW50UGVuU3R5bGUsIGludFBlbldpZHRoLCBudWxsLCBudWxsKTtcclxuXHRcdH0sXHJcblx0XHRBRERfUFJJTlRfVVBMSU5FQTogZnVuY3Rpb24oVG9wLCBMZWZ0LCBXaWR0aCwgSGVpZ2h0LCBpbnRQZW5TdHlsZSwgaW50UGVuV2lkdGgsIGludENvbG9yKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLkFkZEl0ZW1BcnJheSgzLCBUb3AsIExlZnQsIFdpZHRoLCBIZWlnaHQsIG51bGwsIG51bGwsIDAsIGludFBlblN0eWxlLCBpbnRQZW5XaWR0aCwgaW50Q29sb3IsIG51bGwpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9UQUJMRTogZnVuY3Rpb24odG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBzdHJIVE1MKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLkFkZEl0ZW1BcnJheSg2LCB0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIHN0ckhUTUwpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9QREY6IGZ1bmN0aW9uKHRvcCxsZWZ0LHdpZHRoLGhlaWdodCxzdHJDb250ZW50KSB7XHJcblx0XHQgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5ibElzbG9jYWwgJiYgc3RyQ29udGVudFsxXT09XCI6XCIpXHJcblx0XHQgICAgICAgICAgICAgICAgICAgIGFsZXJ0KFwiVW5hYmxlIHRvIHByaW50IG9yIHZpZXcgcmVtb3RlIHNlcnZpY2UgZmlsZXNcIik7IFxyXG5cdFx0XHRcdFx0XHRcdGVsc2VcclxuXHRcdCAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQWRkSXRlbUFycmF5KDExLHRvcCxsZWZ0LHdpZHRoLGhlaWdodCxzdHJDb250ZW50KTtcclxuXHRcdCAgICAgICAgICAgICAgICB9LFxyXG5cdFx0QUREX1BSSU5UX1RCVVJMOiBmdW5jdGlvbih0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIHN0clVSTCkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5BZGRJdGVtQXJyYXkoNywgdG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBzdHJVUkwpO1xyXG5cdFx0fSxcclxuXHRcdEFERF9QUklOVF9VUkw6IGZ1bmN0aW9uKHRvcCwgbGVmdCwgd2lkdGgsIGhlaWdodCwgc3RyVVJMKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLkFkZEl0ZW1BcnJheSg1LCB0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIHN0clVSTCk7XHJcblx0XHR9LFxyXG5cdFx0QUREX1BSSU5UX0lNQUdFOiBmdW5jdGlvbih0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIHN0ckhUTUwpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuQWRkSXRlbUFycmF5KDgsIHRvcCwgbGVmdCwgd2lkdGgsIGhlaWdodCwgc3RySFRNTCk7XHJcblx0XHR9LFxyXG5cdFx0QUREX1BSSU5UX0NIQVJUOiBmdW5jdGlvbih0b3AsIGxlZnQsIHdpZHRoLCBoZWlnaHQsIHN0ckNoYXJ0VHlwZXNzLCBzdHJIVE1MKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLkFkZEl0ZW1BcnJheSgxMCwgdG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0LCBzdHJIVE1MLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLFxyXG5cdFx0XHRcdHN0ckNoYXJ0VHlwZXNzKTtcclxuXHRcdH0sXHJcblxyXG5cdFx0U0VUX1BSSU5UX1BST1BFUlRZOiBmdW5jdGlvbihJdGVtTk8sIGludFBhZ2VUeXBlLCBpbnRIb3J6T3JpZW50LCBpbnRWZXJ0T3JpZW50KSB7XHJcblx0XHRcdHRoaXMuU0VUX1BSSU5UX1NUWUxFQShJdGVtTk8sIFwiSXRlbVR5cGVcIiwgaW50UGFnZVR5cGUpO1xyXG5cdFx0XHR0aGlzLlNFVF9QUklOVF9TVFlMRUEoSXRlbU5PLCBcIkhPcmllbnRcIiwgaW50SG9yek9yaWVudCk7XHJcblx0XHRcdHRoaXMuU0VUX1BSSU5UX1NUWUxFQShJdGVtTk8sIFwiVk9yaWVudFwiLCBpbnRWZXJ0T3JpZW50KTtcclxuXHRcdH0sXHJcblx0XHRTRVRfUFJJTlRfUFJPUEVSVFlBOiBmdW5jdGlvbihJdGVtTmFtZSwgaW50UGFnZVR5cGUsIGludEhvcnpPcmllbnQsIGludFZlcnRPcmllbnQpIHtcclxuXHRcdFx0dGhpcy5TRVRfUFJJTlRfUFJPUEVSVFkoSXRlbU5hbWUsIGludFBhZ2VUeXBlLCBpbnRIb3J6T3JpZW50LCBpbnRWZXJ0T3JpZW50KTtcclxuXHRcdH0sXHJcblx0XHRTRVRfUFJJTlRfU1RZTEU6IGZ1bmN0aW9uKHN0clN0eWxlTmFtZSwgU3R5bGVWYWx1ZSkge1xyXG5cdFx0XHRpZiAoc3RyU3R5bGVOYW1lID09PSB1bmRlZmluZWQgfHwgc3RyU3R5bGVOYW1lID09PSBudWxsKSBzdHJTdHlsZU5hbWUgPSBcIlwiO1xyXG5cdFx0XHRpZiAoU3R5bGVWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IFN0eWxlVmFsdWUgPT09IG51bGwpIFN0eWxlVmFsdWUgPSBcIlwiO1xyXG5cdFx0XHRpZiAoc3RyU3R5bGVOYW1lID09PSBcIlwiKSByZXR1cm4gZmFsc2U7XHJcblx0XHRcdHN0clN0eWxlTmFtZSA9IHN0clN0eWxlTmFtZS50b0xvd2VyQ2FzZSgpO1xyXG5cdFx0XHR0aGlzLmRlZlN0eWxlSnNvbltzdHJTdHlsZU5hbWVdID0gU3R5bGVWYWx1ZTtcclxuXHRcdH0sXHJcblx0XHRTRVRfUFJJTlRfU1RZTEVBOiBmdW5jdGlvbihJdGVtTm8sIHN0cktleSwgVmFsdWUpIHtcclxuXHRcdFx0aWYgKEl0ZW1ObyA9PT0gdW5kZWZpbmVkIHx8IEl0ZW1ObyA9PT0gbnVsbCkgSXRlbU5vID0gXCJcIjtcclxuXHRcdFx0aWYgKHN0cktleSA9PT0gdW5kZWZpbmVkIHx8IHN0cktleSA9PT0gbnVsbCkgc3RyS2V5ID0gXCJcIjtcclxuXHRcdFx0aWYgKFZhbHVlID09PSB1bmRlZmluZWQgfHwgVmFsdWUgPT09IG51bGwpIFZhbHVlID0gXCJcIjtcclxuXHRcdFx0aWYgKEl0ZW1ObyA9PT0gXCJcIiB8fCBzdHJLZXkgPT09IFwiXCIpIHJldHVybiBmYWxzZTtcclxuXHRcdFx0aWYgKHRoaXMuSXRlbURhdGFzW1wiY291bnRcIl0gPD0gMCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLlBhZ2VEYXRhW1wiYWRkX3ByaW50X3Byb2dyYW1fZGF0YVwiXSAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0XHR0aGlzLkl0ZW1DTmFtZVN0eWxlc1tzdHJLZXkudG9Mb3dlckNhc2UoKSArIFwiLVwiICsgSXRlbU5vXSA9IFZhbHVlO1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0c3RyS2V5ID0gc3RyS2V5LnRvTG93ZXJDYXNlKCk7XHJcblx0XHRcdGlmIChzdHJLZXkgPT0gXCJ0eXBlXCIpIHJldHVybiBmYWxzZTtcclxuXHRcdFx0dmFyIGJsUmVzdWx0ID0gZmFsc2U7XHJcblx0XHRcdGlmIChJdGVtTm8gPT0gMCkge1xyXG5cdFx0XHRcdEl0ZW1ObyA9IHRoaXMuSXRlbURhdGFzW1wiY291bnRcIl07XHJcblx0XHRcdH1cclxuXHRcdFx0Zm9yICh2YXIgdkl0ZW1OTyBpbiB0aGlzLkl0ZW1EYXRhcykge1xyXG5cdFx0XHRcdHZhciBJdGVtTmFtZSA9IHRoaXMuSXRlbURhdGFzW3ZJdGVtTk9dW1wiaXRlbW5hbWVcIl07XHJcblx0XHRcdFx0aWYgKChJdGVtTm8gPT0gdkl0ZW1OTykgfHwgKEl0ZW1ObyA9PSBJdGVtTmFtZSkgfHwgKCh0eXBlb2YgSXRlbU5vID09PSBcInN0cmluZ1wiKSAmJiAodHlwZW9mIEl0ZW1OYW1lID09PVxyXG5cdFx0XHRcdFx0XHRcInN0cmluZ1wiKSAmJiAoSXRlbU5vLnRvVXBwZXJDYXNlKCkgPT0gSXRlbU5hbWUudG9VcHBlckNhc2UoKSkpKSB7XHJcblx0XHRcdFx0XHR0aGlzLkl0ZW1EYXRhc1t2SXRlbU5PXVtzdHJLZXldID0gVmFsdWU7XHJcblx0XHRcdFx0XHRibFJlc3VsdCA9IHRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChibFJlc3VsdCkgcmV0dXJuIHRydWU7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH0sXHJcblx0XHRTRVRfUFJJTlRfVEVYVF9TVFlMRTogZnVuY3Rpb24oSXRlbU5PLCBzdHJGb250TmFtZSwgaW50U2l6ZSwgaW50Qm9sZCwgaW50SXRhbGljLCBpbnRVbmRlcmxpbmUsIGludEFsaWdubWVudCkge1xyXG5cdFx0XHR0aGlzLlNFVF9QUklOVF9TVFlMRUEoSXRlbU5PLCBcImZvbnRuYW1lXCIsIHN0ckZvbnROYW1lKTtcclxuXHRcdFx0dGhpcy5TRVRfUFJJTlRfU1RZTEVBKEl0ZW1OTywgXCJmb250c2l6ZVwiLCBpbnRTaXplKTtcclxuXHRcdFx0dGhpcy5TRVRfUFJJTlRfU1RZTEVBKEl0ZW1OTywgXCJib2xkXCIsIGludEJvbGQpO1xyXG5cdFx0XHR0aGlzLlNFVF9QUklOVF9TVFlMRUEoSXRlbU5PLCBcIml0YWxpY1wiLCBpbnRJdGFsaWMpO1xyXG5cdFx0XHR0aGlzLlNFVF9QUklOVF9TVFlMRUEoSXRlbU5PLCBcInVuZGVybGluZVwiLCBpbnRVbmRlcmxpbmUpO1xyXG5cdFx0XHR0aGlzLlNFVF9QUklOVF9TVFlMRUEoSXRlbU5PLCBcImFsaWdubWVudFwiLCBpbnRBbGlnbm1lbnQpO1xyXG5cdFx0fSxcclxuXHRcdFNFVF9QUklOVF9URVhUX1NUWUxFQTogZnVuY3Rpb24oSXRlbU5PLCBzdHJGb250TmFtZSwgaW50U2l6ZSwgaW50Qm9sZCwgaW50SXRhbGljLCBpbnRVbmRlcmxpbmUsIGludEFsaWdubWVudCwgQ29sb3IpIHtcclxuXHRcdFx0dGhpcy5TRVRfUFJJTlRfVEVYVF9TVFlMRShJdGVtTk8sIHN0ckZvbnROYW1lLCBpbnRTaXplLCBpbnRCb2xkLCBpbnRJdGFsaWMsIGludFVuZGVybGluZSwgaW50QWxpZ25tZW50KTtcclxuXHRcdFx0dGhpcy5TRVRfUFJJTlRfU1RZTEVBKEl0ZW1OTywgXCJmb250Y29sb3JcIiwgQ29sb3IpO1xyXG5cdFx0fSxcclxuXHRcdFNFVF9QUklOVF9URVhUX1NUWUxFQjogZnVuY3Rpb24oSXRlbU5PLCBzdHJGb250TmFtZSwgaW50U2l6ZSwgaW50Qm9sZCwgaW50SXRhbGljLCBpbnRVbmRlcmxpbmUsIGludEFsaWdubWVudCwgQ29sb3IpIHtcclxuXHRcdFx0dGhpcy5TRVRfUFJJTlRfVEVYVF9TVFlMRUEoSXRlbU5PLCBzdHJGb250TmFtZSwgaW50U2l6ZSwgaW50Qm9sZCwgaW50SXRhbGljLCBpbnRVbmRlcmxpbmUsIGludEFsaWdubWVudCwgQ29sb3IpO1xyXG5cdFx0fSxcclxuXHRcdE5FV1BBR0U6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHR0aGlzLk5ld1BhZ2UoKTtcclxuXHRcdH0sXHJcblx0XHROZXdQYWdlOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0dmFyIGJsU29tZU5vcm1hbCA9IGZhbHNlO1xyXG5cdFx0XHR2YXIgbm9JdGVtVHlwZTtcclxuXHRcdFx0Zm9yICh2YXIgdkl0ZW1OTyBpbiB0aGlzLkl0ZW1EYXRhcykge1xyXG5cdFx0XHRcdGlmICh2SXRlbU5PID09IFwiY291bnRcIikgbm9JdGVtVHlwZSA9IGZhbHNlO1xyXG5cdFx0XHRcdGVsc2Ugbm9JdGVtVHlwZSA9IHRydWU7XHJcblx0XHRcdFx0Zm9yICh2YXIgdkl0ZW14eCBpbiB0aGlzLkl0ZW1EYXRhc1t2SXRlbU5PXSkge1xyXG5cdFx0XHRcdFx0aWYgKHZJdGVteHggPT0gXCJpdGVtdHlwZVwiKSB7XHJcblx0XHRcdFx0XHRcdG5vSXRlbVR5cGUgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0aWYgKCh0aGlzLkl0ZW1EYXRhc1t2SXRlbU5PXVt2SXRlbXh4XSA9PSAwKSB8fCAodGhpcy5JdGVtRGF0YXNbdkl0ZW1OT11bdkl0ZW14eF0gPT0gNCkpIHtcclxuXHRcdFx0XHRcdFx0XHRibFNvbWVOb3JtYWwgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChub0l0ZW1UeXBlKSBibFNvbWVOb3JtYWwgPSB0cnVlO1xyXG5cdFx0XHRcdGlmIChibFNvbWVOb3JtYWwpIGJyZWFrO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChibFNvbWVOb3JtYWwpIHRoaXMuZGVmU3R5bGVKc29uW1wiYmVnaW5wYWdlXCJdID0gdGhpcy5kZWZTdHlsZUpzb25bXCJiZWdpbnBhZ2VcIl0gKyAxO1xyXG5cdFx0fSxcclxuXHRcdE5FV1BBR0VBOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0dGhpcy5OZXdQYWdlQSgpO1xyXG5cdFx0fSxcclxuXHRcdE5ld1BhZ2VBOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0dmFyIGJsU29tZU5vcm1hbCA9IGZhbHNlO1xyXG5cdFx0XHR2YXIgbm9JdGVtVHlwZTtcclxuXHRcdFx0Zm9yICh2YXIgdkl0ZW1OTyBpbiB0aGlzLkl0ZW1EYXRhcykge1xyXG5cdFx0XHRcdGlmICh2SXRlbU5PID09IFwiY291bnRcIikgbm9JdGVtVHlwZSA9IGZhbHNlO1xyXG5cdFx0XHRcdGVsc2Ugbm9JdGVtVHlwZSA9IHRydWU7XHJcblx0XHRcdFx0Zm9yICh2YXIgdkl0ZW14eCBpbiB0aGlzLkl0ZW1EYXRhc1t2SXRlbU5PXSkge1xyXG5cdFx0XHRcdFx0aWYgKHZJdGVteHggPT0gXCJpdGVtdHlwZVwiKSB7XHJcblx0XHRcdFx0XHRcdG5vSXRlbVR5cGUgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0aWYgKCh0aGlzLkl0ZW1EYXRhc1t2SXRlbU5PXVt2SXRlbXh4XSA9PSAwKSB8fCAodGhpcy5JdGVtRGF0YXNbdkl0ZW1OT11bdkl0ZW14eF0gPT0gNCkpIHtcclxuXHRcdFx0XHRcdFx0XHRibFNvbWVOb3JtYWwgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChub0l0ZW1UeXBlKSBibFNvbWVOb3JtYWwgPSB0cnVlO1xyXG5cdFx0XHRcdGlmIChibFNvbWVOb3JtYWwpIGJyZWFrO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChibFNvbWVOb3JtYWwpIHRoaXMuZGVmU3R5bGVKc29uW1wiYmVnaW5wYWdlYVwiXSA9IHRoaXMuZGVmU3R5bGVKc29uW1wiYmVnaW5wYWdlYVwiXSArIDE7XHJcblx0XHR9LFxyXG5cdFx0UFJFVklFVzogZnVuY3Rpb24oc1ZpZXcsIGlXLCBpSCkge1xyXG5cdFx0XHRpZiAodGhpcy5ibFdvcmtpbmcpIHtcclxuXHRcdFx0XHRjb25zb2xlLmluZm8odGhpcy5hbHRNZXNzYWdlQnVzeSk7XHJcblx0XHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHRcdH1cclxuXHRcdFx0dmFyIHRSZXN1bHQgPSBudWxsO1xyXG5cdFx0XHRpZiAoKCFzVmlldykgJiYgKHRoaXMuYmxJc2xvY2FsKSkge1xyXG5cdFx0XHRcdGlmICh0aGlzLkRvUG9zdERhdGFzKFwicHJldmlld1wiKSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHR0aGlzLlJlc3VsdCA9IG51bGw7XHJcblx0XHRcdFx0XHR0aGlzLkdldExhc3RSZXN1bHQodHJ1ZSk7XHJcblx0XHRcdFx0XHR0UmVzdWx0ID0gdGhpcy5HZXRUYXNrSUQoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuRG9Qb3N0RGF0YXMoXCJjcHJldmlld1wiKSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHR0aGlzLkRvQ1ByZXZpZXcoc1ZpZXcsIGlXLCBpSCk7XHJcblx0XHRcdFx0XHR0UmVzdWx0ID0gdGhpcy5HZXRUYXNrSUQoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5Eb0luaXQoKTtcclxuXHRcdFx0dGhpcy5ibFdvcmtpbmcgPSBmYWxzZTtcclxuXHRcdFx0cmV0dXJuIHRSZXN1bHQ7XHJcblx0XHR9LFxyXG5cdFx0UFJJTlQ6IGZ1bmN0aW9uKHNWaWV3LCBpVywgaUgpIHtcclxuXHRcdFx0aWYgKHRoaXMuYmxXb3JraW5nKSB7XHJcblx0XHRcdFx0Y29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZUJ1c3kpO1xyXG5cdFx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0XHR9XHJcblx0XHRcdHZhciB0UmVzdWx0ID0gbnVsbDtcclxuXHRcdFx0aWYgKHRoaXMuRG9Qb3N0RGF0YXMoXCJwcmludFwiKSA9PSB0cnVlKVxyXG5cdFx0XHRcdHRSZXN1bHQgPSB0aGlzLkdldFRhc2tJRCgpO1xyXG5cdFx0XHR0aGlzLkRvSW5pdCgpO1xyXG5cdFx0XHR0aGlzLmJsV29ya2luZyA9IGZhbHNlO1xyXG5cdFx0XHRyZXR1cm4gdFJlc3VsdDtcclxuXHRcdH0sXHJcblx0XHRHRVRfUFJJTlRFUl9DT1VOVDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdGlmICh0aGlzLlByaW50ZXJzID09PSB1bmRlZmluZWQpIHJldHVybiAwO1xyXG5cdFx0XHRlbHNlIHtcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5QcmludGVyc1tcImxpc3RcIl0ubGVuZ3RoO1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0R0VUX1BSSU5URVJfTkFNRTogZnVuY3Rpb24oaW50Tk8pIHtcclxuXHRcdFx0aWYgKHRoaXMuUHJpbnRlcnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIFwiXCI7XHJcblx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdGlmICh0eXBlb2YgaW50Tk8gPT0gXCJzdHJpbmdcIiAmJiBpbnROTy5pbmRleE9mKFwiOlwiKSA+IC0xKSB7XHJcblx0XHRcdFx0XHR2YXIgc3RyUFBuYW1lID0gaW50Tk8uc2xpY2UoaW50Tk8uaW5kZXhPZihcIjpcIikgKyAxKTtcclxuXHRcdFx0XHRcdGludE5PID0gaW50Tk8uc2xpY2UoMCwgaW50Tk8uaW5kZXhPZihcIjpcIikpO1xyXG5cdFx0XHRcdFx0aWYgKGludE5PID09IC0xKVxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5QcmludGVyc1tcImxpc3RcIl1bdGhpcy5QcmludGVyc1tcImRlZmF1bHRcIl1dW3N0clBQbmFtZV07XHJcblx0XHRcdFx0XHRlbHNlXHJcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLlByaW50ZXJzW1wibGlzdFwiXVtpbnROT11bc3RyUFBuYW1lXTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0aWYgKGludE5PID09IC0xKVxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5QcmludGVyc1tcImxpc3RcIl1bdGhpcy5QcmludGVyc1tcImRlZmF1bHRcIl1dLm5hbWU7XHJcblx0XHRcdFx0XHRlbHNlXHJcblx0XHRcdFx0XHRpZiAoaW50Tk8gPj0gMCAmJiBpbnROTyA8IHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdLmxlbmd0aClcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2ludE5PXS5uYW1lO1xyXG5cdFx0XHRcdFx0ZWxzZSByZXR1cm4gXCJQcmludGVyIE5PLiBvdmVyZmxvd1wiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdEdFVF9QQUdFU0laRVNfTElTVDogZnVuY3Rpb24oUE5hbWVJbmR4LCBTcGxpdCwgTGlzdE5hbWUsIE5hbWVPcklEKSB7XHJcblx0XHRcdGlmICghTGlzdE5hbWUpIExpc3ROYW1lID0gXCJwYWdlbGlzdFwiO1xyXG5cdFx0XHRpZiAoIU5hbWVPcklEKSBOYW1lT3JJRCA9IFwibmFtZVwiO1xyXG5cdFx0XHRpZiAodGhpcy5QcmludGVycyA9PT0gdW5kZWZpbmVkKSByZXR1cm4gXCJcIjtcclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0aWYgKFBOYW1lSW5keCA9PSAtMSkgUE5hbWVJbmR4ID0gdGhpcy5QcmludGVyc1tcImxpc3RcIl1bdGhpcy5QcmludGVyc1tcImRlZmF1bHRcIl1dLm5hbWU7XHJcblx0XHRcdFx0Zm9yICh2YXIgaW50Tk8gaW4gdGhpcy5QcmludGVyc1tcImxpc3RcIl0pIHtcclxuXHRcdFx0XHRcdGlmIChQTmFtZUluZHggPT0gaW50Tk8gfHwgUE5hbWVJbmR4ID09IHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2ludE5PXS5uYW1lKSB7XHJcblx0XHRcdFx0XHRcdHZhciBzdHJMaXN0ID0gXCJcIjtcclxuXHRcdFx0XHRcdFx0Zm9yICh2YXIgaVBOTyBpbiB0aGlzLlByaW50ZXJzW1wibGlzdFwiXVtpbnROT11bTGlzdE5hbWVdKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKChOYW1lT3JJRCA9PSBcImlkXCIpICYmIHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2ludE5PXVtMaXN0TmFtZV1baVBOT10uaWQpIHtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChzdHJMaXN0ID09PSBcIlwiKSBzdHJMaXN0ID0gdGhpcy5QcmludGVyc1tcImxpc3RcIl1baW50Tk9dW0xpc3ROYW1lXVtpUE5PXS5pZDtcclxuXHRcdFx0XHRcdFx0XHRcdGVsc2VcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3RyTGlzdCA9IHN0ckxpc3QgKyBTcGxpdCArIHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2ludE5PXVtMaXN0TmFtZV1baVBOT10uaWQ7XHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChzdHJMaXN0ID09PSBcIlwiKSBzdHJMaXN0ID0gdGhpcy5QcmludGVyc1tcImxpc3RcIl1baW50Tk9dW0xpc3ROYW1lXVtpUE5PXS5uYW1lO1xyXG5cdFx0XHRcdFx0XHRcdFx0ZWxzZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHJMaXN0ID0gc3RyTGlzdCArIFNwbGl0ICsgdGhpcy5QcmludGVyc1tcImxpc3RcIl1baW50Tk9dW0xpc3ROYW1lXVtpUE5PXS5uYW1lO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gc3RyTGlzdDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIFwiXCI7XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRTRVRfUFJJTlRFUl9JTkRFWDogZnVuY3Rpb24oc3RyTmFtZSwgc3RyS2V5TW9kZU5hbWUpIHtcclxuXHRcdFx0aWYgKGlzTmFOKHN0ck5hbWUpKSB7XHJcblx0XHRcdFx0dGhpcy5QYWdlRGF0YS5wcmludGVyaW5kZXggPSAxXHJcblx0XHRcdH0gZWxzZXtcclxuXHRcdFx0XHR0aGlzLlBhZ2VEYXRhLnByaW50ZXJpbmRleCA9IHN0ck5hbWVcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gdHJ1ZTtcclxuXHRcdFx0aWYgKHRoaXMuUHJpbnRlcnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRlbHNlIHtcclxuXHRcdFx0XHRpZiAoIXN0cktleU1vZGVOYW1lKSBzdHJLZXlNb2RlTmFtZSA9IFwicHJpbnRlcmluZGV4XCI7XHJcblx0XHRcdFx0c3RyTmFtZSA9IHN0ck5hbWUgKyBcIlwiO1xyXG5cdFx0XHRcdHN0ck5hbWUgPSBzdHJOYW1lLnJlcGxhY2UoL15cXHMrfFxccyskL2csIFwiXCIpO1xyXG5cdFx0XHRcdHZhciBpUG9zID0gc3RyTmFtZS5pbmRleE9mKFwiLFwiKTtcclxuXHRcdFx0XHR2YXIgc3RyTmFtZU9yTk8gPSBzdHJOYW1lO1xyXG5cdFx0XHRcdGlmIChpUG9zID4gLTEpIHN0ck5hbWVPck5PID0gc3RyTmFtZS5zbGljZSgwLCBpUG9zKTtcclxuXHRcdFx0XHRpZiAoc3RyTmFtZU9yTk8gPT0gXCItMVwiKSB7XHJcblx0XHRcdFx0XHR0aGlzLlBhZ2VEYXRhW3N0cktleU1vZGVOYW1lXSA9IHRoaXMuUHJpbnRlcnNbXCJkZWZhdWx0XCJdO1xyXG5cdFx0XHRcdFx0aWYgKGlQb3MgPiAtMSkgdGhpcy5QYWdlRGF0YVtcInByaW50ZXJzdWJpZFwiXSA9IHN0ck5hbWUuc2xpY2UoaVBvcyArIDEpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGZvciAodmFyIHZOTyBpbiB0aGlzLlByaW50ZXJzW1wibGlzdFwiXSkge1xyXG5cdFx0XHRcdFx0XHR2YXIgc3RyUHJpbnRlck5hbWUgPSB0aGlzLlByaW50ZXJzW1wibGlzdFwiXVt2Tk9dLm5hbWU7XHJcblx0XHRcdFx0XHRcdGlmICghc3RyUHJpbnRlck5hbWUpIGNvbnRpbnVlO1xyXG5cdFx0XHRcdFx0XHRpZiAoKHN0clByaW50ZXJOYW1lLnJlcGxhY2UoL1xcXFwvZywgXCJcIikgPT0gc3RyTmFtZU9yTk8ucmVwbGFjZSgvXFxcXC9nLCBcIlwiKSkgfHwgKHZOTyA9PSBzdHJOYW1lT3JOTykpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLlBhZ2VEYXRhW3N0cktleU1vZGVOYW1lXSA9IHZOTztcclxuXHRcdFx0XHRcdFx0XHRpZiAoaVBvcyA+IC0xKSB0aGlzLlBhZ2VEYXRhW1wicHJpbnRlcnN1YmlkXCJdID0gc3RyTmFtZS5zbGljZShpUG9zICsgMSk7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRTRVRfUFJJTlRFUl9JTkRFWEE6IGZ1bmN0aW9uKHN0ck5hbWUpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuU0VUX1BSSU5URVJfSU5ERVgoc3RyTmFtZSwgXCJwcmludGVyaW5kZXhhXCIpO1xyXG5cdFx0fSxcclxuXHRcdFBSSU5UX0RFU0lHTjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdGlmICh0aGlzLmJsV29ya2luZykge1xyXG5cdFx0XHRcdGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VCdXN5KTtcclxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgdFJlc3VsdCA9IG51bGw7XHJcblx0XHRcdGlmICh0aGlzLmJsSXNsb2NhbCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLkRvUG9zdERhdGFzKFwicHJpbnRfZGVzaWduXCIpID09IHRydWUpIHtcclxuXHRcdFx0XHRcdHRoaXMuUmVzdWx0ID0gbnVsbDtcclxuXHRcdFx0XHRcdHRoaXMuR2V0TGFzdFJlc3VsdCh0cnVlKTtcclxuXHRcdFx0XHRcdHRSZXN1bHQgPSB0aGlzLkdldFRhc2tJRCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VOb1ByaW50RGVzaWduKTtcclxuXHRcdFx0dGhpcy5Eb0luaXQoKTtcclxuXHRcdFx0dGhpcy5ibFdvcmtpbmcgPSBmYWxzZTtcclxuXHRcdFx0cmV0dXJuIHRSZXN1bHQ7XHJcblx0XHR9LFxyXG5cdFx0UFJJTlRfU0VUVVA6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRpZiAodGhpcy5ibFdvcmtpbmcpIHtcclxuXHRcdFx0XHRjb25zb2xlLmluZm8odGhpcy5hbHRNZXNzYWdlQnVzeSk7XHJcblx0XHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHRcdH1cclxuXHRcdFx0dmFyIHRSZXN1bHQgPSBudWxsO1xyXG5cdFx0XHRpZiAodGhpcy5ibElzbG9jYWwpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5Eb1Bvc3REYXRhcyhcInByaW50X3NldHVwXCIpID09IHRydWUpIHtcclxuXHRcdFx0XHRcdHRoaXMuUmVzdWx0ID0gbnVsbDtcclxuXHRcdFx0XHRcdHRoaXMuR2V0TGFzdFJlc3VsdCh0cnVlKTtcclxuXHRcdFx0XHRcdHRSZXN1bHQgPSB0aGlzLkdldFRhc2tJRCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VOb1ByaW50U2V0dXApO1xyXG5cdFx0XHR0aGlzLkRvSW5pdCgpO1xyXG5cdFx0XHR0aGlzLmJsV29ya2luZyA9IGZhbHNlO1xyXG5cdFx0XHRyZXR1cm4gdFJlc3VsdDtcclxuXHRcdH0sXHJcblx0XHRTRVRfUFJJTlRfUEFHRVNJWkU6IGZ1bmN0aW9uKGludE9yaWVudCwgUGFnZVdpZHRoLCBQYWdlSGVpZ2h0LCBzdHJQYWdlTmFtZSkge1xyXG5cdFx0XHRpZiAoaW50T3JpZW50ICE9PSB1bmRlZmluZWQgJiYgaW50T3JpZW50ICE9PSBudWxsKSB0aGlzLlBhZ2VEYXRhW1wib3JpZW50XCJdID0gaW50T3JpZW50O1xyXG5cdFx0XHRpZiAoUGFnZVdpZHRoICE9PSB1bmRlZmluZWQgJiYgUGFnZVdpZHRoICE9PSBudWxsKSB0aGlzLlBhZ2VEYXRhW1wicGFnZXdpZHRoXCJdID0gUGFnZVdpZHRoO1xyXG5cdFx0XHRpZiAoUGFnZUhlaWdodCAhPT0gdW5kZWZpbmVkICYmIFBhZ2VIZWlnaHQgIT09IG51bGwpIHRoaXMuUGFnZURhdGFbXCJwYWdlaGVpZ2h0XCJdID0gUGFnZUhlaWdodDtcclxuXHRcdFx0aWYgKHN0clBhZ2VOYW1lICE9PSB1bmRlZmluZWQgJiYgc3RyUGFnZU5hbWUgIT09IG51bGwpIHRoaXMuUGFnZURhdGFbXCJwYWdlbmFtZVwiXSA9IHN0clBhZ2VOYW1lO1xyXG5cdFx0fSxcclxuXHRcdFNFVF9QUklOVF9DT1BJRVM6IGZ1bmN0aW9uKGludENvcGllcykge1xyXG5cdFx0XHRpZiAoaW50Q29waWVzICE9PSB1bmRlZmluZWQgJiYgaW50Q29waWVzICE9PSBudWxsKSB7XHJcblx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcInByaW50Y29waWVzXCJdID0gaW50Q29waWVzO1xyXG5cdFx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0U0VMRUNUX1BSSU5URVI6IGZ1bmN0aW9uKGJsUHJpbnQpIHtcclxuXHRcdFx0dGhpcy5TZWxlY3RCb3guY3JlYXRlKDM4OCwgMjQwLCAhYmxQcmludCk7XHJcblx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0fSxcclxuXHRcdFBSSU5UQTogZnVuY3Rpb24oYmxQcmludEIsIHNWaWV3KSB7XHJcblx0XHRcdGlmICh0aGlzLmJsV29ya2luZykge1xyXG5cdFx0XHRcdGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VCdXN5KTtcclxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgdFJlc3VsdCA9IG51bGw7XHJcblx0XHRcdGlmICghc1ZpZXcgJiYgdGhpcy5ibElzbG9jYWwpIHtcclxuXHRcdFx0XHR0aGlzLlJlc3VsdCA9IG51bGw7XHJcblx0XHRcdFx0aWYgKGJsUHJpbnRCKSB7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5Eb1Bvc3REYXRhcyhcInByaW50YlwiKSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuR2V0TGFzdFJlc3VsdChmYWxzZSk7XHJcblx0XHRcdFx0XHRcdHRSZXN1bHQgPSB0aGlzLkdldFRhc2tJRCgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5Eb1Bvc3REYXRhcyhcInByaW50YVwiKSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuR2V0TGFzdFJlc3VsdCh0cnVlKTtcclxuXHRcdFx0XHRcdFx0dFJlc3VsdCA9IHRoaXMuR2V0VGFza0lEKCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuRG9Jbml0KCk7XHJcblx0XHRcdFx0dGhpcy5ibFdvcmtpbmcgPSBmYWxzZTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLlNFTEVDVF9QUklOVEVSKHRydWUpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiB0UmVzdWx0O1xyXG5cdFx0fSxcclxuXHRcdFBSSU5UQU9LOiBmdW5jdGlvbihpUHJpbnRJbmRleCwgaVByaW50Q29waWVzLCBpU3RhcnROTywgaUVuZE5PLCBvbmx5U2VsZWN0KSB7XHJcblx0XHRcdHRoaXMuU0VUX1BSSU5URVJfSU5ERVgoaVByaW50SW5kZXgpO1xyXG5cdFx0XHR0aGlzLlNFVF9QUklOVF9DT1BJRVMoaVByaW50Q29waWVzKTtcclxuXHRcdFx0aWYgKGlTdGFydE5PICE9PSB1bmRlZmluZWQgJiYgaVN0YXJ0Tk8gIT09IDApIHRoaXMuU0VUX1BSSU5UX01PREUoXCJQUklOVF9TVEFSVF9QQUdFXCIsIGlTdGFydE5PKTtcclxuXHRcdFx0aWYgKGlFbmROTyAhPT0gdW5kZWZpbmVkICYmIGlFbmROTyAhPT0gMCkgdGhpcy5TRVRfUFJJTlRfTU9ERShcIlBSSU5UX0VORF9QQUdFXCIsIGlFbmROTyk7XHJcblx0XHRcdGlmICghb25seVNlbGVjdCkgdGhpcy5QUklOVCgpO1xyXG5cdFx0XHRlbHNlIHtcclxuXHRcdFx0XHR0aGlzLmJsVG1wU2VsZWN0ZWRJbmRleCA9IGlQcmludEluZGV4O1xyXG5cdFx0XHRcdGlmIChDTE9ET1AuT25fUmV0dXJuKSB7XHJcblx0XHRcdFx0XHR2YXIgc2VsZkZ1bmMgPSBDTE9ET1AuT25fUmV0dXJuO1xyXG5cdFx0XHRcdFx0Q0xPRE9QLk9uX1JldHVybigwLCBpUHJpbnRJbmRleCk7XHJcblx0XHRcdFx0XHRpZiAoIUNMT0RPUC5Pbl9SZXR1cm5fUmVtYWluICYmIHNlbGZGdW5jID09PSBDTE9ET1AuT25fUmV0dXJuKSBDTE9ET1AuT25fUmV0dXJuID0gbnVsbDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRTRVRfTElDRU5TRVM6IGZ1bmN0aW9uKHN0ckNvbXBhbnlOYW1lLCBzdHJMaWNlbnNlLCBzdHJMaWNlbnNlQSwgc3RyTGljZW5zZUIpIHtcclxuXHRcdFx0aWYgKChzdHJDb21wYW55TmFtZSA9PSAnVEhJUkQgTElDRU5TRScpICYmIChzdHJMaWNlbnNlID09IFwiXCIpKSB7XHJcblx0XHRcdFx0aWYgKHN0ckxpY2Vuc2VBICYmIHN0ckxpY2Vuc2VBICE9PSBcIlwiKSB0aGlzLlBhZ2VEYXRhRXhbXCJsaWNlbnNlY1wiXSA9IHN0ckxpY2Vuc2VBO1xyXG5cdFx0XHRcdGlmIChzdHJMaWNlbnNlQiAmJiBzdHJMaWNlbnNlQiAhPT0gXCJcIikgdGhpcy5QYWdlRGF0YUV4W1wibGljZW5zZWRcIl0gPSBzdHJMaWNlbnNlQjtcclxuXHRcdFx0fSBlbHNlIGlmICgoc3RyQ29tcGFueU5hbWUgPT0gJ0xJQ0VOU0UgVEVUQ09ERScpICYmIChzdHJMaWNlbnNlID09IFwiXCIpICYmIChzdHJMaWNlbnNlQiA9PSBcIlwiKSkge1xyXG5cdFx0XHRcdGlmIChzdHJMaWNlbnNlQSAmJiBzdHJMaWNlbnNlQSAhPT0gXCJcIikgdGhpcy5QYWdlRGF0YUV4W1wiTGljZW5zZXRldGNvZGVcIl0gPSBzdHJMaWNlbnNlQTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRpZiAoc3RyQ29tcGFueU5hbWUgJiYgc3RyQ29tcGFueU5hbWUgIT09IFwiXCIpIHRoaXMuUGFnZURhdGFFeFtcImNvbXBhbnluYW1lXCJdID0gc3RyQ29tcGFueU5hbWU7XHJcblx0XHRcdFx0aWYgKHN0ckxpY2Vuc2UgJiYgc3RyTGljZW5zZSAhPT0gXCJcIikgdGhpcy5QYWdlRGF0YUV4W1wibGljZW5zZVwiXSA9IHN0ckxpY2Vuc2U7XHJcblx0XHRcdFx0aWYgKHN0ckxpY2Vuc2VBICYmIHN0ckxpY2Vuc2VBICE9PSBcIlwiKSB0aGlzLlBhZ2VEYXRhRXhbXCJsaWNlbnNlYVwiXSA9IHN0ckxpY2Vuc2VBO1xyXG5cdFx0XHRcdGlmIChzdHJMaWNlbnNlQiAmJiBzdHJMaWNlbnNlQiAhPT0gXCJcIikgdGhpcy5QYWdlRGF0YUV4W1wibGljZW5zZWJcIl0gPSBzdHJMaWNlbnNlQjtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdFBSSU5UQjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLlBSSU5UQSh0cnVlKTtcclxuXHRcdH0sXHJcblx0XHRQUkVWSUVXQTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLlBSRVZJRVcoKTtcclxuXHRcdH0sXHJcblx0XHRQUkVWSUVXQjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLlBSRVZJRVcoKTtcclxuXHRcdH0sXHJcblx0XHRBRERfUFJJTlRfU0VUVVBfQktJTUc6IGZ1bmN0aW9uKHN0ckNvbnRlbnQpIHtcclxuXHRcdFx0aWYgKHN0ckNvbnRlbnQgIT09IHVuZGVmaW5lZCAmJiBzdHJDb250ZW50ICE9PSBudWxsKSB7XHJcblx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcInNldHVwX2JraW1nXCJdID0gc3RyQ29udGVudDtcclxuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdFNFVF9QUkVWSUVXX1dJTkRPVzogZnVuY3Rpb24oaW50RGlzcE1vZGUsIGludFRvb2xNb2RlLCBibERpcmVjdFByaW50LCBvV2lkdGgsIG9IZWlnaHQsIHN0clBCdXR0b25DYXB0b2luKSB7XHJcblx0XHRcdGlmIChpbnREaXNwTW9kZSAhPT0gdW5kZWZpbmVkICYmIGludERpc3BNb2RlICE9PSBudWxsKSB0aGlzLlBhZ2VEYXRhW1wicHZ3X2Rpc3Btb2RlXCJdID0gaW50RGlzcE1vZGU7XHJcblx0XHRcdGlmIChpbnRUb29sTW9kZSAhPT0gdW5kZWZpbmVkICYmIGludFRvb2xNb2RlICE9PSBudWxsKSB0aGlzLlBhZ2VEYXRhW1wicHZ3X3Rvb2xtb2RlXCJdID0gaW50VG9vbE1vZGU7XHJcblx0XHRcdGlmIChibERpcmVjdFByaW50ICE9PSB1bmRlZmluZWQgJiYgYmxEaXJlY3RQcmludCAhPT0gbnVsbCkgdGhpcy5QYWdlRGF0YVtcInB2d19kaXJlY3RwcmludFwiXSA9IGJsRGlyZWN0UHJpbnQ7XHJcblx0XHRcdGlmIChvV2lkdGggIT09IHVuZGVmaW5lZCAmJiBvV2lkdGggIT09IG51bGwpIHRoaXMuUGFnZURhdGFbXCJwdndfd2lkdGhcIl0gPSBvV2lkdGg7XHJcblx0XHRcdGlmIChvSGVpZ2h0ICE9PSB1bmRlZmluZWQgJiYgb0hlaWdodCAhPT0gbnVsbCkgdGhpcy5QYWdlRGF0YVtcInB2d19oZWlnaHRcIl0gPSBvSGVpZ2h0O1xyXG5cdFx0XHRpZiAoc3RyUEJ1dHRvbkNhcHRvaW4gIT09IHVuZGVmaW5lZCAmJiBzdHJQQnV0dG9uQ2FwdG9pbiAhPT0gbnVsbCkgdGhpcy5QYWdlRGF0YVtcInB2d19wdXR0b25jYXB0b2luXCJdID1cclxuXHRcdFx0XHRzdHJQQnV0dG9uQ2FwdG9pbjtcclxuXHRcdH0sXHJcblx0XHRTRVRfUFJFVklFV19NT0RFOiBmdW5jdGlvbihNb2RlVmFsdWUpIHtcclxuXHRcdFx0aWYgKE1vZGVWYWx1ZSAhPT0gdW5kZWZpbmVkKSB0aGlzLlBhZ2VEYXRhW1wicHZ3X3ByZXZpZXdfbW9kZVwiXSA9IE1vZGVWYWx1ZTtcclxuXHRcdH0sXHJcblx0XHRTRVRfU0hPV19NT0RFOiBmdW5jdGlvbihzdHJNb2RlVHlwZSwgTW9kZVZhbHVlKSB7XHJcblx0XHRcdGlmIChzdHJNb2RlVHlwZSA9PT0gdW5kZWZpbmVkIHx8IHN0ck1vZGVUeXBlID09PSBudWxsKSBzdHJNb2RlVHlwZSA9IFwiXCI7XHJcblx0XHRcdGlmIChNb2RlVmFsdWUgPT09IHVuZGVmaW5lZCB8fCBNb2RlVmFsdWUgPT09IG51bGwpIE1vZGVWYWx1ZSA9IFwiXCI7XHJcblx0XHRcdGlmIChzdHJNb2RlVHlwZSA9PT0gXCJcIikgcmV0dXJuIGZhbHNlO1xyXG5cdFx0XHRzdHJNb2RlVHlwZSA9IHN0ck1vZGVUeXBlLnRvTG93ZXJDYXNlKCk7XHJcblx0XHRcdHRoaXMuUGFnZURhdGFbJ3Nod21vZF8nICsgc3RyTW9kZVR5cGVdID0gTW9kZVZhbHVlO1xyXG5cdFx0fSxcclxuXHRcdFNBVkVfVE9fRklMRTogZnVuY3Rpb24oc3RyRmlsZU5hbWUpIHtcclxuXHRcdFx0aWYgKHRoaXMuYmxXb3JraW5nKSB7XHJcblx0XHRcdFx0Y29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZUJ1c3kpO1xyXG5cdFx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0XHR9XHJcblx0XHRcdHZhciB0UmVzdWx0ID0gbnVsbDtcclxuXHRcdFx0aWYgKHRoaXMuYmxJc2xvY2FsKSB7XHJcblx0XHRcdFx0aWYgKHN0ckZpbGVOYW1lKSB7XHJcblx0XHRcdFx0XHR0aGlzLlBhZ2VEYXRhW1wic3RmX2ZpbGVfbmFtZVwiXSA9IHN0ckZpbGVOYW1lO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMuRG9Qb3N0RGF0YXMoXCJzYXZldG9maWxlXCIpID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5HZXRMYXN0UmVzdWx0KGZhbHNlKTtcclxuXHRcdFx0XHRcdFx0dFJlc3VsdCA9IHRoaXMuR2V0VGFza0lEKCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2UgY29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZU5vV3JpdGVGaWxlKTtcclxuXHRcdFx0dGhpcy5Eb0luaXQoKTtcclxuXHRcdFx0dGhpcy5ibFdvcmtpbmcgPSBmYWxzZTtcclxuXHRcdFx0cmV0dXJuIHRSZXN1bHQ7XHJcblx0XHR9LFxyXG5cdFx0U0VUX1NBVkVfTU9ERTogZnVuY3Rpb24oc3RyTW9kZVR5cGUsIE1vZGVWYWx1ZSkge1xyXG5cdFx0XHRpZiAoc3RyTW9kZVR5cGUgPT09IHVuZGVmaW5lZCB8fCBzdHJNb2RlVHlwZSA9PT0gbnVsbCkgc3RyTW9kZVR5cGUgPSBcIlwiO1xyXG5cdFx0XHRpZiAoTW9kZVZhbHVlID09PSB1bmRlZmluZWQgfHwgTW9kZVZhbHVlID09PSBudWxsKSBNb2RlVmFsdWUgPSBcIlwiO1xyXG5cdFx0XHRpZiAoc3RyTW9kZVR5cGUgPT09IFwiXCIpIHJldHVybiBmYWxzZTtcclxuXHRcdFx0c3RyTW9kZVR5cGUgPSBzdHJNb2RlVHlwZS50b0xvd2VyQ2FzZSgpO1xyXG5cdFx0XHR0aGlzLlBhZ2VEYXRhWydzdGZtb2RfJyArIHN0ck1vZGVUeXBlXSA9IE1vZGVWYWx1ZTtcclxuXHRcdH0sXHJcblx0XHRTRU5EX1BSSU5UX1JBV0RBVEE6IGZ1bmN0aW9uKHN0clJhd0RhdGEpIHtcclxuXHRcdFx0aWYgKHRoaXMuYmxXb3JraW5nKSB7XHJcblx0XHRcdFx0Y29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZUJ1c3kpO1xyXG5cdFx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0XHR9XHJcblx0XHRcdHZhciB0UmVzdWx0ID0gbnVsbDtcclxuXHRcdFx0aWYgKHN0clJhd0RhdGEgIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdHRoaXMuUGFnZURhdGFbXCJyYXdfcHJpbnRfZGF0YVwiXSA9IHN0clJhd0RhdGE7XHJcblx0XHRcdFx0aWYgKHRoaXMuRG9Qb3N0RGF0YXMoXCJzZW5kcmF3ZGF0YVwiKSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHR0aGlzLkdldExhc3RSZXN1bHQoZmFsc2UpO1xyXG5cdFx0XHRcdFx0dFJlc3VsdCA9IHRoaXMuR2V0VGFza0lEKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuRG9Jbml0KCk7XHJcblx0XHRcdHRoaXMuYmxXb3JraW5nID0gZmFsc2U7XHJcblx0XHRcdHJldHVybiB0UmVzdWx0O1xyXG5cdFx0fSxcclxuXHRcdFdSSVRFX0ZJTEVfVEVYVDogZnVuY3Rpb24oV3JpdGVNb2RlLCBzdHJGaWxlTmFtZSwgc3RyVGV4dCkge1xyXG5cdFx0XHRpZiAodGhpcy5ibFdvcmtpbmcpIHtcclxuXHRcdFx0XHRjb25zb2xlLmluZm8odGhpcy5hbHRNZXNzYWdlQnVzeSk7XHJcblx0XHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHRcdH1cclxuXHRcdFx0dmFyIHRSZXN1bHQgPSBudWxsO1xyXG5cdFx0XHRpZiAodGhpcy5ibElzbG9jYWwpIHtcclxuXHRcdFx0XHRpZiAoc3RyRmlsZU5hbWUgIT09IHVuZGVmaW5lZCAmJiBzdHJUZXh0ICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuUGFnZURhdGFbXCJ3cml0ZV9maWxlX21vZGVcIl0gPSBXcml0ZU1vZGU7XHJcblx0XHRcdFx0XHR0aGlzLlBhZ2VEYXRhW1wid3JpdGVfZmlsZV9uYW1lXCJdID0gc3RyRmlsZU5hbWU7XHJcblx0XHRcdFx0XHR0aGlzLlBhZ2VEYXRhW1wid3JpdGVfZmlsZV90ZXh0XCJdID0gc3RyVGV4dDtcclxuXHRcdFx0XHRcdGlmICh0aGlzLkRvUG9zdERhdGFzKFwid3JpdGVmaWxldGV4dFwiKSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuR2V0TGFzdFJlc3VsdChmYWxzZSk7XHJcblx0XHRcdFx0XHRcdHRSZXN1bHQgPSB0aGlzLkdldFRhc2tJRCgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VOb1dyaXRlRmlsZSk7XHJcblx0XHRcdHRoaXMuRG9Jbml0KCk7XHJcblx0XHRcdHRoaXMuYmxXb3JraW5nID0gZmFsc2U7XHJcblx0XHRcdHJldHVybiB0UmVzdWx0O1xyXG5cdFx0fSxcclxuXHRcdEdFVF9ESUFMT0dfVkFMVUU6IGZ1bmN0aW9uKG9UeXBlLCBvUHJlVmFsdWUpIHtcclxuXHRcdFx0aWYgKHRoaXMuYmxXb3JraW5nKSB7XHJcblx0XHRcdFx0Y29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZUJ1c3kpO1xyXG5cdFx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0XHR9XHJcblx0XHRcdHZhciB0UmVzdWx0ID0gbnVsbDtcclxuXHRcdFx0aWYgKG9UeXBlICE9PSB1bmRlZmluZWQgJiYgb1ByZVZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5ibElzbG9jYWwpIHtcclxuXHRcdFx0XHRcdHRoaXMuUGFnZURhdGFbXCJkaWFsb2dfdHlwZVwiXSA9IG9UeXBlO1xyXG5cdFx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcImRpYWxvZ192YWx1ZVwiXSA9IG9QcmVWYWx1ZTtcclxuXHRcdFx0XHRcdGlmICh0aGlzLkRvUG9zdERhdGFzKFwiZGlhbG9nXCIpID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5HZXRMYXN0UmVzdWx0KHRydWUpO1xyXG5cdFx0XHRcdFx0XHR0UmVzdWx0ID0gdGhpcy5HZXRUYXNrSUQoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGVsc2UgY29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZU5vUmVhZFdyaXRlRmlsZSk7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5Eb0luaXQoKTtcclxuXHRcdFx0dGhpcy5ibFdvcmtpbmcgPSBmYWxzZTtcclxuXHRcdFx0cmV0dXJuIHRSZXN1bHQ7XHJcblx0XHR9LFxyXG5cdFx0V1JJVEVfUE9SVF9EQVRBOiBmdW5jdGlvbihzdHJQb3J0TmFtZSwgc3RyRGF0YSkge1xyXG5cdFx0XHRpZiAodGhpcy5ibFdvcmtpbmcpIHtcclxuXHRcdFx0XHRjb25zb2xlLmluZm8odGhpcy5hbHRNZXNzYWdlQnVzeSk7XHJcblx0XHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHRcdH1cclxuXHRcdFx0dmFyIHRSZXN1bHQgPSBudWxsO1xyXG5cdFx0XHRpZiAoc3RyUG9ydE5hbWUgIT09IHVuZGVmaW5lZCAmJiBzdHJEYXRhICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHR0aGlzLlBhZ2VEYXRhW1wid3JpdGVfcG9ydF9uYW1lXCJdID0gc3RyUG9ydE5hbWU7XHJcblx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcIndyaXRlX3BvcnRfZGF0YVwiXSA9IHN0ckRhdGE7XHJcblx0XHRcdFx0aWYgKHRoaXMuRG9Qb3N0RGF0YXMoXCJ3cml0ZXBvcnRkYXRhXCIpID09IHRydWUpIHtcclxuXHRcdFx0XHRcdHRoaXMuR2V0TGFzdFJlc3VsdChmYWxzZSk7XHJcblx0XHRcdFx0XHR0UmVzdWx0ID0gdGhpcy5HZXRUYXNrSUQoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5Eb0luaXQoKTtcclxuXHRcdFx0dGhpcy5ibFdvcmtpbmcgPSBmYWxzZTtcclxuXHRcdFx0cmV0dXJuIHRSZXN1bHQ7XHJcblx0XHR9LFxyXG5cdFx0UkVBRF9QT1JUX0RBVEE6IGZ1bmN0aW9uKHN0clBvcnROYW1lKSB7XHJcblx0XHRcdGlmICh0aGlzLmJsV29ya2luZykge1xyXG5cdFx0XHRcdGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VCdXN5KTtcclxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgdFJlc3VsdCA9IG51bGw7XHJcblx0XHRcdGlmIChzdHJQb3J0TmFtZSAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcInJlYWRfcG9ydF9uYW1lXCJdID0gc3RyUG9ydE5hbWU7XHJcblx0XHRcdFx0aWYgKHRoaXMuRG9Qb3N0RGF0YXMoXCJyZWFkcG9ydGRhdGFcIikgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5HZXRMYXN0UmVzdWx0KGZhbHNlKTtcclxuXHRcdFx0XHRcdHRSZXN1bHQgPSB0aGlzLkdldFRhc2tJRCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLkRvSW5pdCgpO1xyXG5cdFx0XHR0aGlzLmJsV29ya2luZyA9IGZhbHNlO1xyXG5cdFx0XHRyZXR1cm4gdFJlc3VsdDtcclxuXHRcdH0sXHJcblx0XHRHRVRfU1lTVEVNX0lORk86IGZ1bmN0aW9uKEluZm9UeXBlKSB7XHJcblx0XHRcdGlmICh0aGlzLmJsV29ya2luZykge1xyXG5cdFx0XHRcdGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VCdXN5KTtcclxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgdFJlc3VsdCA9IG51bGw7XHJcblx0XHRcdGlmIChJbmZvVHlwZSAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcInN5c3RlbV9pbmZvX3R5cGVcIl0gPSBJbmZvVHlwZTtcclxuXHRcdFx0XHRpZiAodGhpcy5Eb1Bvc3REYXRhcyhcImdldHN5c3RlbWluZm9cIikgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5HZXRMYXN0UmVzdWx0KGZhbHNlKTtcclxuXHRcdFx0XHRcdHRSZXN1bHQgPSB0aGlzLkdldFRhc2tJRCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLkRvSW5pdCgpO1xyXG5cdFx0XHR0aGlzLmJsV29ya2luZyA9IGZhbHNlO1xyXG5cdFx0XHRyZXR1cm4gdFJlc3VsdDtcclxuXHRcdH0sXHJcblx0XHRHRVRfRklMRV9URVhUOiBmdW5jdGlvbihzdHJGaWxlTmFtZSkge1xyXG5cdFx0XHRpZiAodGhpcy5ibFdvcmtpbmcpIHtcclxuXHRcdFx0XHRjb25zb2xlLmluZm8odGhpcy5hbHRNZXNzYWdlQnVzeSk7XHJcblx0XHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHRcdH1cclxuXHRcdFx0dmFyIHRSZXN1bHQgPSBudWxsO1xyXG5cdFx0XHRpZiAodGhpcy5ibElzbG9jYWwpIHtcclxuXHRcdFx0XHRpZiAoc3RyRmlsZU5hbWUgIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcImdldF9maWxlX25hbWVcIl0gPSBzdHJGaWxlTmFtZTtcclxuXHRcdFx0XHRcdGlmICh0aGlzLkRvUG9zdERhdGFzKFwiZ2V0ZmlsZXRleHRcIikgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLkdldExhc3RSZXN1bHQoZmFsc2UpO1xyXG5cdFx0XHRcdFx0XHR0UmVzdWx0ID0gdGhpcy5HZXRUYXNrSUQoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gZWxzZSBjb25zb2xlLmluZm8odGhpcy5hbHRNZXNzYWdlTm9SZWFkRmlsZSk7XHJcblx0XHRcdHRoaXMuRG9Jbml0KCk7XHJcblx0XHRcdHRoaXMuYmxXb3JraW5nID0gZmFsc2U7XHJcblx0XHRcdHJldHVybiB0UmVzdWx0O1xyXG5cdFx0fSxcclxuXHRcdElTX0ZJTEVfRVhJU1Q6IGZ1bmN0aW9uKHN0ckZpbGVOYW1lKSB7XHJcblx0XHRcdGlmICh0aGlzLmJsV29ya2luZykge1xyXG5cdFx0XHRcdGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VCdXN5KTtcclxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgdFJlc3VsdCA9IG51bGw7XHJcblx0XHRcdGlmICh0aGlzLmJsSXNsb2NhbCkge1xyXG5cdFx0XHRcdGlmIChzdHJGaWxlTmFtZSAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0XHR0aGlzLlBhZ2VEYXRhW1wiZmlsZV9leGlzdF9uYW1lXCJdID0gc3RyRmlsZU5hbWU7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5Eb1Bvc3REYXRhcyhcImlzZmlsZWV4aXN0XCIpID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5HZXRMYXN0UmVzdWx0KGZhbHNlKTtcclxuXHRcdFx0XHRcdFx0dFJlc3VsdCA9IHRoaXMuR2V0VGFza0lEKCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2UgY29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZU5vUmVhZEZpbGUpO1xyXG5cdFx0XHR0aGlzLkRvSW5pdCgpO1xyXG5cdFx0XHR0aGlzLmJsV29ya2luZyA9IGZhbHNlO1xyXG5cdFx0XHRyZXR1cm4gdFJlc3VsdDtcclxuXHRcdH0sXHJcblx0XHRHRVRfRklMRV9USU1FOiBmdW5jdGlvbihzdHJGaWxlTmFtZSkge1xyXG5cdFx0XHRpZiAodGhpcy5ibFdvcmtpbmcpIHtcclxuXHRcdFx0XHRjb25zb2xlLmluZm8odGhpcy5hbHRNZXNzYWdlQnVzeSk7XHJcblx0XHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHRcdH1cclxuXHRcdFx0dmFyIHRSZXN1bHQgPSBudWxsO1xyXG5cdFx0XHRpZiAodGhpcy5ibElzbG9jYWwpIHtcclxuXHRcdFx0XHRpZiAoc3RyRmlsZU5hbWUgIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcImZpbGVfdGltZV9uYW1lXCJdID0gc3RyRmlsZU5hbWU7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5Eb1Bvc3REYXRhcyhcImdldGZpbGV0aW1lXCIpID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5HZXRMYXN0UmVzdWx0KGZhbHNlKTtcclxuXHRcdFx0XHRcdFx0dFJlc3VsdCA9IHRoaXMuR2V0VGFza0lEKCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2UgY29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZU5vUmVhZEZpbGUpO1xyXG5cdFx0XHR0aGlzLkRvSW5pdCgpO1xyXG5cdFx0XHR0aGlzLmJsV29ya2luZyA9IGZhbHNlO1xyXG5cdFx0XHRyZXR1cm4gdFJlc3VsdDtcclxuXHRcdH0sXHJcblx0XHRHRVRfUFJJTlRfSU5JRkZOQU1FOiBmdW5jdGlvbihzdHJQcmludFRhc2tOYW1lKSB7XHJcblx0XHRcdGlmICh0aGlzLmJsV29ya2luZykge1xyXG5cdFx0XHRcdGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VCdXN5KTtcclxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgdFJlc3VsdCA9IG51bGw7XHJcblx0XHRcdGlmICh0aGlzLmJsSXNsb2NhbCkge1xyXG5cdFx0XHRcdGlmIChzdHJQcmludFRhc2tOYW1lICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuUGFnZURhdGFbXCJpbmlmZl90YXNrX25hbWVcIl0gPSBzdHJQcmludFRhc2tOYW1lO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMuRG9Qb3N0RGF0YXMoXCJnZXRpbmlmZm5hbWVcIikgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLkdldExhc3RSZXN1bHQoZmFsc2UpO1xyXG5cdFx0XHRcdFx0XHR0UmVzdWx0ID0gdGhpcy5HZXRUYXNrSUQoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gZWxzZSBjb25zb2xlLmluZm8odGhpcy5hbHRNZXNzYWdlTm9SZWFkRmlsZSk7XHJcblx0XHRcdHRoaXMuRG9Jbml0KCk7XHJcblx0XHRcdHRoaXMuYmxXb3JraW5nID0gZmFsc2U7XHJcblx0XHRcdHJldHVybiB0UmVzdWx0O1xyXG5cdFx0fSxcclxuXHRcdEdFVF9WQUxVRTogZnVuY3Rpb24oVmFsdWVUeXBlLCBWYWx1ZUluZGV4KSB7XHJcblx0XHRcdGlmICh0aGlzLmJsV29ya2luZykge1xyXG5cdFx0XHRcdGNvbnNvbGUuaW5mbyh0aGlzLmFsdE1lc3NhZ2VCdXN5KTtcclxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgdFJlc3VsdCA9IG51bGw7XHJcblx0XHRcdGlmIChWYWx1ZVR5cGUgIT09IHVuZGVmaW5lZCAmJiBWYWx1ZUluZGV4ICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHR0aGlzLlBhZ2VEYXRhW1wiZ2V0X3ZhbHVlX3R5cGVcIl0gPSBWYWx1ZVR5cGU7XHJcblx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcImdldF92YWx1ZV9pbmRleFwiXSA9IFZhbHVlSW5kZXg7XHJcblx0XHRcdFx0aWYgKHRoaXMuRG9Qb3N0RGF0YXMoXCJkb2dldHZhbHVlXCIpID09IHRydWUpIHtcclxuXHRcdFx0XHRcdHRoaXMuR2V0TGFzdFJlc3VsdChmYWxzZSk7XHJcblx0XHRcdFx0XHR0UmVzdWx0ID0gdGhpcy5HZXRUYXNrSUQoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5Eb0luaXQoKTtcclxuXHRcdFx0dGhpcy5ibFdvcmtpbmcgPSBmYWxzZTtcclxuXHRcdFx0cmV0dXJuIHRSZXN1bHQ7XHJcblx0XHR9LFxyXG5cdFx0QUREX1BSSU5UX0RBVEE6IGZ1bmN0aW9uKERhdGFUeXBlLCBvVmFsdWUpIHtcclxuXHRcdFx0aWYgKERhdGFUeXBlICE9PSB1bmRlZmluZWQgJiYgb1ZhbHVlICE9PSBudWxsKSB7XHJcblx0XHRcdFx0aWYgKERhdGFUeXBlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihcInByb2dyYW1kYXRhXCIpID4gLTEpIHtcclxuXHRcdFx0XHRcdHRoaXMuUGFnZURhdGFbXCJhZGRfcHJpbnRfcHJvZ3JhbV9kYXRhXCJdID0gb1ZhbHVlO1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0U0hPV19DSEFSVDogZnVuY3Rpb24oKSB7fSxcclxuXHRcdERPX0FDVElPTjogZnVuY3Rpb24oc3RyQWN0TmFtZSwgc3RyQWN0VmFsdWUpIHtcclxuXHRcdFx0aWYgKHRoaXMuYmxXb3JraW5nKSB7XHJcblx0XHRcdFx0Y29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZUJ1c3kpO1xyXG5cdFx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0XHR9XHJcblx0XHRcdHZhciB0UmVzdWx0ID0gbnVsbDtcclxuXHRcdFx0aWYgKHN0ckFjdE5hbWUgIT09IHVuZGVmaW5lZCAmJiBzdHJBY3RWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcImRvX2FjdGlvbl9uYW1lXCJdID0gc3RyQWN0TmFtZTtcclxuXHRcdFx0XHR0aGlzLlBhZ2VEYXRhW1wiZG9fYWN0aW9uX3ZhbHVlXCJdID0gc3RyQWN0VmFsdWU7XHJcblx0XHRcdFx0aWYgKHRoaXMuRG9Qb3N0RGF0YXMoXCJkb2FjdGlvblwiKSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHR0aGlzLkdldExhc3RSZXN1bHQoZmFsc2UpO1xyXG5cdFx0XHRcdFx0dFJlc3VsdCA9IHRoaXMuR2V0VGFza0lEKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuRG9Jbml0KCk7XHJcblx0XHRcdHRoaXMuYmxXb3JraW5nID0gZmFsc2U7XHJcblx0XHRcdHJldHVybiB0UmVzdWx0O1xyXG5cdFx0fSxcclxuXHRcdENyZWF0ZV9QcmludGVyX0xpc3Q6IGZ1bmN0aW9uKG9FbGVtZW50LCBibE5vRGV0YWlsRm9yQU8pIHtcclxuXHRcdFx0d2hpbGUgKG9FbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdHZhciBjaGlsZHJlbiA9IG9FbGVtZW50LmNoaWxkTm9kZXM7XHJcblx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKylcclxuXHRcdFx0XHRcdG9FbGVtZW50LnJlbW92ZUNoaWxkKGNoaWxkcmVuW2ldKTtcclxuXHRcdFx0fTtcclxuXHRcdFx0dmFyIGlDb3VudCA9IHRoaXMuR0VUX1BSSU5URVJfQ09VTlQoKTtcclxuXHRcdFx0dmFyIGlJbmRleCA9IDA7XHJcblx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgaUNvdW50OyBpKyspIHtcclxuXHRcdFx0XHR2YXIgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XHJcblx0XHRcdFx0b3B0aW9uLmlubmVySFRNTCA9IHRoaXMuR0VUX1BSSU5URVJfTkFNRShpKTtcclxuXHRcdFx0XHRvcHRpb24udmFsdWUgPSBpSW5kZXg7XHJcblx0XHRcdFx0b0VsZW1lbnQuYXBwZW5kQ2hpbGQob3B0aW9uKTtcclxuXHRcdFx0XHRpSW5kZXgrKztcclxuXHRcdFx0XHRpZiAodGhpcy5WRVJTSU9OX0VYVCkge1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2ldW1wic3ViZGV2bGlzdFwiXS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRcdGlmIChibE5vRGV0YWlsRm9yQU8pIG9wdGlvbi5pbm5lckhUTUwgPSBvcHRpb24uaW5uZXJIVE1MICsgJywuLic7XHJcblx0XHRcdFx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHZhciBzdHJEcml2ZW5hbWUgPSBvcHRpb24uaW5uZXJIVE1MO1xyXG5cdFx0XHRcdFx0XHRcdGZvciAodmFyIGogPSAwOyBqIDwgdGhpcy5QcmludGVyc1tcImxpc3RcIl1baV1bXCJzdWJkZXZsaXN0XCJdLmxlbmd0aDsgaisrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR2YXIgc3RyRGV2SUQgPSB0aGlzLlByaW50ZXJzW1wibGlzdFwiXVtpXVtcInN1YmRldmxpc3RcIl1bal0uaWQ7XHJcblx0XHRcdFx0XHRcdFx0XHR2YXIgc3RyRGV2TmFtZSA9IHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2ldW1wic3ViZGV2bGlzdFwiXVtqXS5uYW1lO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGogPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRvcHRpb24uaW5uZXJIVE1MID0gc3RyRHJpdmVuYW1lICsgJywnICsgc3RyRGV2TmFtZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0b3B0aW9uLnZhbHVlID0gc3RyRHJpdmVuYW1lICsgJywnICsgc3RyRGV2SUQgKyAnOycgKyBzdHJEZXZOYW1lO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0b3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdG9wdGlvbi5pbm5lckhUTUwgPSBzdHJEcml2ZW5hbWUgKyAnLCcgKyBzdHJEZXZOYW1lO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRvcHRpb24udmFsdWUgPSBzdHJEcml2ZW5hbWUgKyAnLCcgKyBzdHJEZXZJRCArICc7JyArIHN0ckRldk5hbWU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdG9FbGVtZW50LmFwcGVuZENoaWxkKG9wdGlvbik7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlJbmRleCsrO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoaUluZGV4ID49IDEwMCkgcmV0dXJuO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdENyZWF0ZV9QYWdlU2l6ZV9MaXN0OiBmdW5jdGlvbihvRWxlbWVudCwgcHJpbnRJbmRleCkge1xyXG5cdFx0XHR3aGlsZSAob0VsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0dmFyIGNoaWxkcmVuID0gb0VsZW1lbnQuY2hpbGROb2RlcztcclxuXHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKVxyXG5cdFx0XHRcdFx0b0VsZW1lbnQucmVtb3ZlQ2hpbGQoY2hpbGRyZW5baV0pO1xyXG5cdFx0XHR9O1xyXG5cdFx0XHR2YXIgc3RyUGFnZVNpemVMaXN0ID0gQ0xPRE9QLkdFVF9QQUdFU0laRVNfTElTVChwcmludEluZGV4LCBcIlxcblwiKTtcclxuXHRcdFx0dmFyIE9wdGlvbnMgPSBuZXcgQXJyYXkoKTtcclxuXHRcdFx0T3B0aW9ucyA9IHN0clBhZ2VTaXplTGlzdC5zcGxpdChcIlxcblwiKTtcclxuXHRcdFx0Zm9yICh2YXIgaSBpbiBPcHRpb25zKSB7XHJcblx0XHRcdFx0dmFyIG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpO1xyXG5cdFx0XHRcdG9wdGlvbi5pbm5lckhUTUwgPSBPcHRpb25zW2ldO1xyXG5cdFx0XHRcdG9wdGlvbi52YWx1ZSA9IE9wdGlvbnNbaV07XHJcblx0XHRcdFx0b0VsZW1lbnQuYXBwZW5kQ2hpbGQob3B0aW9uKTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdFNFVF9CUklER0VfSU5ERVg6IGZ1bmN0aW9uKHN0clZhbHVlKSB7XHJcblx0XHRcdGlmICh0aGlzLlByaW50ZXJzID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZTtcclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0c3RyVmFsdWUgPSAoc3RyVmFsdWUgKyBcIlwiKS5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCBcIlwiKTtcclxuXHRcdFx0XHRmb3IgKHZhciB2Tk8gaW4gdGhpcy5QcmludGVyc1tcImxpc3RcIl0pIHtcclxuXHRcdFx0XHRcdHZhciBzdHJEcml2ZXJPck5hbWUgPSB0aGlzLlByaW50ZXJzW1wibGlzdFwiXVt2Tk9dLm5hbWU7XHJcblx0XHRcdFx0XHRpZiAoc3RyRHJpdmVyT3JOYW1lID09IFwiKEFPKUNsaWVudC1CcmlkZ2UgRHJpdmVyXCIpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcInByaW50ZXJpbmRleFwiXSA9IHZOTztcclxuXHRcdFx0XHRcdFx0dGhpcy5QYWdlRGF0YVtcInByaW50ZXJzdWJpZFwiXSA9IHN0clZhbHVlO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0R2V0X0FPUHJpbnRlcnNfTGlzdDogZnVuY3Rpb24oRHJpdmVyTmFtZU9ySW5kZXgsIHN0ckxpc3ROYW1lLCBzdHJTcGxpdCkge1xyXG5cdFx0XHRpZiAoIXN0clNwbGl0KSBzdHJTcGxpdCA9IFwiXFxuXCI7XHJcblx0XHRcdGlmICghc3RyTGlzdE5hbWUpIHN0ckxpc3ROYW1lID0gXCJuYW1lXCI7XHJcblx0XHRcdHJldHVybiBDTE9ET1AuR0VUX1BBR0VTSVpFU19MSVNUKERyaXZlck5hbWVPckluZGV4LCBzdHJTcGxpdCwgXCJzdWJkZXZsaXN0XCIsIHN0ckxpc3ROYW1lKTtcclxuXHRcdH0sXHJcblx0XHRHZXRfQU9CcmlkZ2VzX0xpc3Q6IGZ1bmN0aW9uKERyaXZlck5hbWVPckluZGV4LCBzdHJMaXN0TmFtZSwgc3RyU3BsaXQpIHtcclxuXHRcdFx0cmV0dXJuIENMT0RPUC5HZXRfQU9QcmludGVyc19MaXN0KERyaXZlck5hbWVPckluZGV4LCBzdHJMaXN0TmFtZSwgc3RyU3BsaXQpO1xyXG5cdFx0fSxcclxuXHRcdEdldF9BT0JyaWRnZV9MaXN0OiBmdW5jdGlvbihzdHJMaXN0TmFtZSwgc3RyU3BsaXQpIHtcclxuXHRcdFx0cmV0dXJuIENMT0RPUC5HZXRfQU9QcmludGVyc19MaXN0KFwiKEFPKUNsaWVudC1CcmlkZ2UgRHJpdmVyXCIsIHN0ckxpc3ROYW1lLCBzdHJTcGxpdCk7XHJcblx0XHR9LFxyXG5cdFx0R2V0X0FPQnJpZGdlX1N1YlByaW50ZXJzX0xpc3Q6IGZ1bmN0aW9uKEJyaWRnZU5hbWVPckluZGV4LCBzdHJMaXN0TmFtZSwgc3RyU3BsaXQsIERyaXZlck5hbWVPckluZGV4KSB7XHJcblx0XHRcdGlmICghRHJpdmVyTmFtZU9ySW5kZXgpIERyaXZlck5hbWVPckluZGV4ID0gXCIoQU8pQ2xpZW50LUJyaWRnZSBEcml2ZXJcIjtcclxuXHRcdFx0aWYgKCFzdHJTcGxpdCkgc3RyU3BsaXQgPSBcIlxcblwiO1xyXG5cdFx0XHRpZiAoIXN0ckxpc3ROYW1lKSBzdHJMaXN0TmFtZSA9IFwibmFtZVwiO1xyXG5cdFx0XHRmb3IgKHZhciBpRHJ2Tk8gaW4gdGhpcy5QcmludGVyc1tcImxpc3RcIl0pIHtcclxuXHRcdFx0XHRpZiAoRHJpdmVyTmFtZU9ySW5kZXggPT0gaURydk5PIHx8IERyaXZlck5hbWVPckluZGV4ID09IHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2lEcnZOT10ubmFtZSkge1xyXG5cdFx0XHRcdFx0Zm9yICh2YXIgaUJkZ05PIGluIHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2lEcnZOT11bXCJzdWJkZXZsaXN0XCJdKSB7XHJcblx0XHRcdFx0XHRcdHZhciBCcmlkZ2VJRCA9IHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2lEcnZOT11bXCJzdWJkZXZsaXN0XCJdW2lCZGdOT10uaWQ7XHJcblx0XHRcdFx0XHRcdHZhciBCcmlkZ2VOYW1lID0gdGhpcy5QcmludGVyc1tcImxpc3RcIl1baURydk5PXVtcInN1YmRldmxpc3RcIl1baUJkZ05PXS5uYW1lO1xyXG5cdFx0XHRcdFx0XHRpZiAoQnJpZGdlTmFtZU9ySW5kZXggPT0gaUJkZ05PIHx8IEJyaWRnZU5hbWVPckluZGV4ID09IEJyaWRnZUlEICsgXCI7XCIgKyBCcmlkZ2VOYW1lKSB7XHJcblx0XHRcdFx0XHRcdFx0dmFyIHN0ckxpc3QgPSBcIlwiO1xyXG5cdFx0XHRcdFx0XHRcdGZvciAodmFyIGlTc2JQTk8gaW4gdGhpcy5QcmludGVyc1tcImxpc3RcIl1baURydk5PXVtcInN1YmRldmxpc3RcIl1baUJkZ05PXS5zc2JwcmludGVyW1wibGlzdFwiXSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGlTc2JQTk8gIT0gXCIwXCIpIHN0ckxpc3QgPSBzdHJMaXN0ICsgc3RyU3BsaXQ7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoc3RyTGlzdE5hbWUudG9Mb3dlckNhc2UoKSA9PSBcImlkXCIpIHN0ckxpc3QgPSBzdHJMaXN0ICsgaVNzYlBOTztcclxuXHRcdFx0XHRcdFx0XHRcdGVsc2VcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3RyTGlzdCA9IHN0ckxpc3QgKyB0aGlzLlByaW50ZXJzW1wibGlzdFwiXVtpRHJ2Tk9dW1wic3ViZGV2bGlzdFwiXVtpQmRnTk9dLnNzYnByaW50ZXJbXCJsaXN0XCJdW2lTc2JQTk9dLm5hbWU7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBzdHJMaXN0O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiBcIlwiO1xyXG5cdFx0fSxcclxuXHRcdEdldF9BT0JyaWRnZV9TdWJQcmludGVyc19QYWdlU2l6ZV9MaXN0OiBmdW5jdGlvbihCcmlkZ2VOYW1lT3JJbmRleCwgU3ViUHJpbnRlck5hbWVPckluZGV4LCBzdHJTcGxpdCxcclxuXHRcdFx0RHJpdmVyTmFtZU9ySW5kZXgpIHtcclxuXHRcdFx0aWYgKCFEcml2ZXJOYW1lT3JJbmRleCkgRHJpdmVyTmFtZU9ySW5kZXggPSBcIihBTylDbGllbnQtQnJpZGdlIERyaXZlclwiO1xyXG5cdFx0XHRpZiAoIXN0clNwbGl0KSBzdHJTcGxpdCA9IFwiXFxuXCI7XHJcblx0XHRcdGZvciAodmFyIGlEcnZOTyBpbiB0aGlzLlByaW50ZXJzW1wibGlzdFwiXSkge1xyXG5cdFx0XHRcdGlmIChEcml2ZXJOYW1lT3JJbmRleCA9PSBpRHJ2Tk8gfHwgRHJpdmVyTmFtZU9ySW5kZXggPT0gdGhpcy5QcmludGVyc1tcImxpc3RcIl1baURydk5PXS5uYW1lKSB7XHJcblx0XHRcdFx0XHRmb3IgKHZhciBpQmRnTk8gaW4gdGhpcy5QcmludGVyc1tcImxpc3RcIl1baURydk5PXVtcInN1YmRldmxpc3RcIl0pIHtcclxuXHRcdFx0XHRcdFx0dmFyIEJyaWRnZUlEID0gdGhpcy5QcmludGVyc1tcImxpc3RcIl1baURydk5PXVtcInN1YmRldmxpc3RcIl1baUJkZ05PXS5pZDtcclxuXHRcdFx0XHRcdFx0dmFyIEJyaWRnZU5hbWUgPSB0aGlzLlByaW50ZXJzW1wibGlzdFwiXVtpRHJ2Tk9dW1wic3ViZGV2bGlzdFwiXVtpQmRnTk9dLm5hbWU7XHJcblx0XHRcdFx0XHRcdGlmIChCcmlkZ2VOYW1lT3JJbmRleCA9PSBpQmRnTk8gfHwgQnJpZGdlTmFtZU9ySW5kZXggPT0gQnJpZGdlSUQgKyBcIjtcIiArIEJyaWRnZU5hbWUpIHtcclxuXHRcdFx0XHRcdFx0XHRmb3IgKHZhciBpU3NiUE5PIGluIHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2lEcnZOT11bXCJzdWJkZXZsaXN0XCJdW2lCZGdOT10uc3NicHJpbnRlcltcImxpc3RcIl0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChTdWJQcmludGVyTmFtZU9ySW5kZXggPT0gaVNzYlBOTyB8fCBTdWJQcmludGVyTmFtZU9ySW5kZXggPT0gdGhpcy5QcmludGVyc1tcImxpc3RcIl1baURydk5PXVtcInN1YmRldmxpc3RcIl1cclxuXHRcdFx0XHRcdFx0XHRcdFx0W2lCZGdOT10uc3NicHJpbnRlcltcImxpc3RcIl1baVNzYlBOT10ubmFtZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgc3RyTGlzdCA9IFwiXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGlQYWdlU2l6ZU5PIGluIHRoaXMuUHJpbnRlcnNbXCJsaXN0XCJdW2lEcnZOT11bXCJzdWJkZXZsaXN0XCJdW2lCZGdOT10uc3NicHJpbnRlcltcImxpc3RcIl1baVNzYlBOT11bXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcInBhZ2VsaXN0XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRdKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKGlQYWdlU2l6ZU5PICE9IFwiMFwiKSBzdHJMaXN0ID0gc3RyTGlzdCArIHN0clNwbGl0O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0ckxpc3QgPSBzdHJMaXN0ICsgdGhpcy5QcmludGVyc1tcImxpc3RcIl1baURydk5PXVtcInN1YmRldmxpc3RcIl1baUJkZ05PXS5zc2JwcmludGVyW1wibGlzdFwiXVtpU3NiUE5PXVtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwicGFnZWxpc3RcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdF1baVBhZ2VTaXplTk9dLm5hbWU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHN0ckxpc3Q7XHJcblx0XHRcdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gXCJcIjtcclxuXHRcdH0sXHJcblx0XHRBZGRJdGVtQXJyYXk6IGZ1bmN0aW9uKHR5cGUsIHRvcCwgbGVmdCwgd2lkdGgsIGhlaWdodCwgc3RyQ29udGVudCwgaXRlbW5hbWUsIFNoYXBlVHlwZSwgaW50UGVuU3R5bGUsIGludFBlbldpZHRoLFxyXG5cdFx0XHRpbnRDb2xvciwgaXNMaW5lUG9zaXRpb24sIEJhclR5cGUsIHN0ckNoYXJ0VHlwZXNzKSB7XHJcblx0XHRcdGlmICh0b3AgPT09IHVuZGVmaW5lZCB8fCBsZWZ0ID09PSB1bmRlZmluZWQgfHwgd2lkdGggPT09IHVuZGVmaW5lZCB8fCBoZWlnaHQgPT09IHVuZGVmaW5lZCB8fCBzdHJDb250ZW50ID09PVxyXG5cdFx0XHRcdHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0XHR2YXIgc0NvdW50ID0gdGhpcy5JdGVtRGF0YXNbXCJjb3VudFwiXTtcclxuXHRcdFx0c0NvdW50Kys7XHJcblx0XHRcdHZhciBvbmVJdGVtID0ge307XHJcblx0XHRcdGZvciAodmFyIHZzdHlsZSBpbiB0aGlzLmRlZlN0eWxlSnNvbikge1xyXG5cdFx0XHRcdG9uZUl0ZW1bdnN0eWxlXSA9IHRoaXMuZGVmU3R5bGVKc29uW3ZzdHlsZV07XHJcblx0XHRcdH1cclxuXHRcdFx0b25lSXRlbVtcInR5cGVcIl0gPSB0eXBlO1xyXG5cdFx0XHRvbmVJdGVtW1widG9wXCJdID0gdG9wO1xyXG5cdFx0XHRvbmVJdGVtW1wibGVmdFwiXSA9IGxlZnQ7XHJcblx0XHRcdG9uZUl0ZW1bXCJ3aWR0aFwiXSA9IHdpZHRoO1xyXG5cdFx0XHRvbmVJdGVtW1wiaGVpZ2h0XCJdID0gaGVpZ2h0O1xyXG5cdFx0XHRpZiAoc3RyQ29udGVudCAhPSBudWxsKSB7XHJcblx0XHRcdFx0aWYgKHR5cGVvZiBzdHJDb250ZW50ID09PSBcInN0cmluZ1wiICYmIHN0ckNvbnRlbnQuaW5kZXhPZih0aGlzLkRlbGltQ2hhcikgPiAtMSlcclxuXHRcdFx0XHRcdG9uZUl0ZW1bXCJjb250ZW50XCJdID0gc3RyQ29udGVudC5yZXBsYWNlKG5ldyBSZWdFeHAodGhpcy5EZWxpbUNoYXIsICdnJyksICcnKTtcclxuXHRcdFx0XHRlbHNlXHJcblx0XHRcdFx0XHRvbmVJdGVtW1wiY29udGVudFwiXSA9IHN0ckNvbnRlbnQ7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKChpdGVtbmFtZSAhPT0gdW5kZWZpbmVkKSAmJiAoaXRlbW5hbWUgIT0gbnVsbCkpIG9uZUl0ZW1bXCJpdGVtbmFtZVwiXSA9IGl0ZW1uYW1lICsgXCJcIjtcclxuXHRcdFx0aWYgKChTaGFwZVR5cGUgIT09IHVuZGVmaW5lZCkgJiYgKFNoYXBlVHlwZSAhPSBudWxsKSkgb25lSXRlbVtcInNoYXBldHlwZVwiXSA9IFNoYXBlVHlwZTtcclxuXHRcdFx0aWYgKChpbnRQZW5TdHlsZSAhPT0gdW5kZWZpbmVkKSAmJiAoaW50UGVuU3R5bGUgIT0gbnVsbCkpIG9uZUl0ZW1bXCJwZW5zdHlsZVwiXSA9IGludFBlblN0eWxlO1xyXG5cdFx0XHRpZiAoKGludFBlbldpZHRoICE9PSB1bmRlZmluZWQpICYmIChpbnRQZW5XaWR0aCAhPSBudWxsKSkgb25lSXRlbVtcInBlbndpZHRoXCJdID0gaW50UGVuV2lkdGg7XHJcblx0XHRcdGlmICgoaW50Q29sb3IgIT09IHVuZGVmaW5lZCkgJiYgKGludENvbG9yICE9IG51bGwpKSBvbmVJdGVtW1wiZm9udGNvbG9yXCJdID0gaW50Q29sb3I7XHJcblx0XHRcdGlmICgoaXNMaW5lUG9zaXRpb24gIT09IHVuZGVmaW5lZCkgJiYgKGlzTGluZVBvc2l0aW9uICE9IG51bGwpKSBvbmVJdGVtW1wibGluZXBvc2l0aW9uXCJdID0gXCIxXCI7XHJcblx0XHRcdGlmICgoQmFyVHlwZSAhPT0gdW5kZWZpbmVkKSAmJiAoQmFyVHlwZSAhPSBudWxsKSkgb25lSXRlbVtcImZvbnRuYW1lXCJdID0gQmFyVHlwZTtcclxuXHRcdFx0aWYgKChzdHJDaGFydFR5cGVzcyAhPT0gdW5kZWZpbmVkKSAmJiAoc3RyQ2hhcnRUeXBlc3MgIT0gbnVsbCkpIG9uZUl0ZW1bXCJjaGFydHR5cGVzc1wiXSA9IHN0ckNoYXJ0VHlwZXNzO1xyXG5cclxuXHRcdFx0b25lSXRlbVtcImJlZ2lucGFnZVwiXSA9IHRoaXMuZGVmU3R5bGVKc29uW1wiYmVnaW5wYWdlXCJdO1xyXG5cdFx0XHRvbmVJdGVtW1wiYmVnaW5wYWdlYVwiXSA9IHRoaXMuZGVmU3R5bGVKc29uW1wiYmVnaW5wYWdlYVwiXTtcclxuXHRcdFx0dGhpcy5JdGVtRGF0YXNbXCJjb3VudFwiXSA9IHNDb3VudDtcclxuXHRcdFx0dGhpcy5JdGVtRGF0YXNbc0NvdW50XSA9IG9uZUl0ZW07XHJcblx0XHRcdHRoaXMuYmxOb3JtYWxJdGVtQWRkZWQgPSB0cnVlO1xyXG5cdFx0XHRyZXR1cm4gdHJ1ZTtcclxuXHRcdH0sXHJcblx0XHRSZW1vdmVJZnJhbWVzOiBmdW5jdGlvbigpIHtcclxuXHJcblxyXG5cclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuSWZyYW1lcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0dmFyIG5vdyA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XHJcblx0XHRcdFx0XHRpZiAoKG5vdyAtIHRoaXMuSWZyYW1lc1tpXVtcInRpbWVcIl0pID4gdGhpcy50aW1lVGhyZXNob2xkICogNjAwMDApIHtcclxuXHJcblxyXG5cclxuXHRcdFx0XHRcdFx0dGhpcy5JZnJhbWVzLnNwbGljZShpLCAxKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gY2F0Y2ggKGVycikge307XHJcblx0XHR9LFxyXG5cdFx0QWRkSW5wdXRFbGVtZW50OiBmdW5jdGlvbihvZG9jdW1lbnQsIG9mb3JtLCBuYW1lLCB2YWx1ZSkge1xyXG5cdFx0XHRpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdHZhciBvaW5wdXQgPSBvZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO1xyXG5cdFx0XHRcdG9pbnB1dC5uYW1lID0gbmFtZTtcclxuXHRcdFx0XHRvaW5wdXQudHlwZSA9IFwiaGlkZGVuXCI7XHJcblx0XHRcdFx0b2lucHV0LnZhbHVlID0gdmFsdWU7XHJcblx0XHRcdFx0b2Zvcm0uYXBwZW5kQ2hpbGQob2lucHV0KTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNyZWF0ZVBvc3REYXRhU3RyaW5nOiBmdW5jdGlvbihhZnRlclBvc3RBY3Rpb24pIHtcclxuXHRcdFx0dmFyIHN0ckRhdGEgPSBcImFjdD1cIiArIGFmdGVyUG9zdEFjdGlvbiArIHRoaXMuRGVsaW1DaGFyO1xyXG5cdFx0XHRzdHJEYXRhID0gc3RyRGF0YSArIFwiYnJvd3NldXJsPVwiICsgd2luZG93LmxvY2F0aW9uLmhyZWYgKyB0aGlzLkRlbGltQ2hhcjtcclxuXHRcdFx0Zm9yICh2YXIgdk1vZGUgaW4gdGhpcy5QYWdlRGF0YUV4KSB7XHJcblx0XHRcdFx0c3RyRGF0YSA9IHN0ckRhdGEgKyB2TW9kZSArIFwiPVwiICsgdGhpcy5QYWdlRGF0YUV4W3ZNb2RlXSArIHRoaXMuRGVsaW1DaGFyO1xyXG5cdFx0XHR9XHJcblx0XHRcdHZhciBQcmludE1vZGVOYW1lc3MgPSBcIlwiO1xyXG5cdFx0XHRmb3IgKHZhciB2TW9kZSBpbiB0aGlzLlBhZ2VEYXRhKSB7XHJcblx0XHRcdFx0c3RyRGF0YSA9IHN0ckRhdGEgKyB2TW9kZSArIFwiPVwiICsgdGhpcy5QYWdlRGF0YVt2TW9kZV0gKyB0aGlzLkRlbGltQ2hhcjtcclxuXHRcdFx0XHRpZiAodk1vZGUgIT0gXCJ0b3BcIiAmJiB2TW9kZSAhPSBcImxlZnRcIiAmJiB2TW9kZSAhPSBcIndpZHRoXCIgJiYgdk1vZGUgIT0gXCJoZWlnaHRcIiAmJiB2TW9kZSAhPSBcInByaW50dGFza1wiICYmIHZNb2RlICE9XHJcblx0XHRcdFx0XHRcInByaW50ZXJpbmRleFwiICYmIHZNb2RlICE9IFwicHJpbnRlcmluZGV4YVwiICYmIHZNb2RlICE9IFwicHJpbnRlcnN1YmlkXCIgJiYgdk1vZGUgIT0gXCJvcmllbnRcIiAmJiB2TW9kZSAhPVxyXG5cdFx0XHRcdFx0XCJwYWdld2lkdGhcIiAmJiB2TW9kZSAhPSBcInBhZ2VoZWlnaHRcIiAmJiB2TW9kZSAhPSBcInBhZ2VuYW1lXCIgJiYgdk1vZGUgIT0gXCJwcmludGNvcGllc1wiICYmIHZNb2RlICE9IFwic2V0dXBfYmtpbWdcIlxyXG5cdFx0XHRcdClcclxuXHRcdFx0XHRcdFByaW50TW9kZU5hbWVzcyA9IFByaW50TW9kZU5hbWVzcyArIFwiO1wiICsgdk1vZGU7XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKFByaW50TW9kZU5hbWVzcyAhPT0gXCJcIilcclxuXHRcdFx0XHRzdHJEYXRhID0gc3RyRGF0YSArIFwicHJpbnRtb2RlbmFtZXM9XCIgKyBQcmludE1vZGVOYW1lc3MgKyB0aGlzLkRlbGltQ2hhcjtcclxuXHRcdFx0dmFyIFN0eWxlQ2xhc3NOYW1lc3MgPSBcIlwiO1xyXG5cdFx0XHRmb3IgKHZhciB2Q2xhc3NTdHlsZSBpbiB0aGlzLkl0ZW1DTmFtZVN0eWxlcykge1xyXG5cdFx0XHRcdHN0ckRhdGEgPSBzdHJEYXRhICsgdkNsYXNzU3R5bGUgKyBcIj1cIiArIHRoaXMuSXRlbUNOYW1lU3R5bGVzW3ZDbGFzc1N0eWxlXSArIHRoaXMuRGVsaW1DaGFyO1xyXG5cdFx0XHRcdFN0eWxlQ2xhc3NOYW1lc3MgPSBTdHlsZUNsYXNzTmFtZXNzICsgXCI7XCIgKyB2Q2xhc3NTdHlsZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAoU3R5bGVDbGFzc05hbWVzcyAhPT0gXCJcIilcclxuXHRcdFx0XHRzdHJEYXRhID0gc3RyRGF0YSArIFwicHJpbnRzdHlsZWNsYXNzbmFtZXM9XCIgKyBTdHlsZUNsYXNzTmFtZXNzICsgdGhpcy5EZWxpbUNoYXI7XHJcblx0XHRcdHN0ckRhdGEgPSBzdHJEYXRhICsgXCJpdGVtY291bnQ9XCIgKyB0aGlzLkl0ZW1EYXRhc1tcImNvdW50XCJdICsgdGhpcy5EZWxpbUNoYXI7XHJcblx0XHRcdGZvciAodmFyIHZJdGVtTk8gaW4gdGhpcy5JdGVtRGF0YXMpIHtcclxuXHRcdFx0XHR2YXIgSXRlbVN0eWxlc3MgPSBcIlwiO1xyXG5cdFx0XHRcdGZvciAodmFyIHZJdGVteHggaW4gdGhpcy5JdGVtRGF0YXNbdkl0ZW1OT10pIHtcclxuXHRcdFx0XHRcdGlmICh2SXRlbXh4ICE9IFwiYmVnaW5wYWdlXCIgJiYgdkl0ZW14eCAhPSBcImJlZ2lucGFnZWFcIiAmJiB2SXRlbXh4ICE9IFwidHlwZVwiICYmIHZJdGVteHggIT0gXCJ0b3BcIiAmJiB2SXRlbXh4ICE9XHJcblx0XHRcdFx0XHRcdFwibGVmdFwiICYmIHZJdGVteHggIT0gXCJ3aWR0aFwiICYmIHZJdGVteHggIT0gXCJoZWlnaHRcIilcclxuXHRcdFx0XHRcdFx0SXRlbVN0eWxlc3MgPSBJdGVtU3R5bGVzcyArIFwiO1wiICsgdkl0ZW14eDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0c3RyRGF0YSA9IHN0ckRhdGEgKyB2SXRlbU5PICsgXCJfaXRlbXN0eWxlbmFtZXNcIiArIFwiPVwiICsgSXRlbVN0eWxlc3MgKyB0aGlzLkRlbGltQ2hhcjtcclxuXHRcdFx0XHRmb3IgKHZhciB2SXRlbXh4IGluIHRoaXMuSXRlbURhdGFzW3ZJdGVtTk9dKSB7XHJcblx0XHRcdFx0XHRzdHJEYXRhID0gc3RyRGF0YSArIHZJdGVtTk8gKyBcIl9cIiArIHZJdGVteHggKyBcIj1cIiArIHRoaXMuSXRlbURhdGFzW3ZJdGVtTk9dW3ZJdGVteHhdICsgdGhpcy5EZWxpbUNoYXI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiBzdHJEYXRhO1xyXG5cdFx0fSxcclxuXHRcdHdzRG9Qb3N0RGF0YXM6IGZ1bmN0aW9uKGFmdGVyUG9zdEFjdGlvbikge1xyXG5cdFx0XHR2YXIgc3RyRGF0YSA9IFwiY2hhcnNldD3kuIJcIiArIHRoaXMuRGVsaW1DaGFyO1xyXG5cdFx0XHRzdHJEYXRhID0gc3RyRGF0YSArIFwidGlkPVwiICsgdGhpcy5HZXRUYXNrSUQoKSArIHRoaXMuRGVsaW1DaGFyO1xyXG5cdFx0XHRzdHJEYXRhID0gc3RyRGF0YSArIHRoaXMuY3JlYXRlUG9zdERhdGFTdHJpbmcoYWZ0ZXJQb3N0QWN0aW9uKTtcclxuXHRcdFx0cmV0dXJuIHRoaXMud3NTZW5kKFwicG9zdDpcIiArIHN0ckRhdGEpO1xyXG5cdFx0fSxcclxuXHRcdERvUG9zdERhdGFzOiBmdW5jdGlvbihhZnRlclBvc3RBY3Rpb24pIHtcclxuXHRcdFx0aWYgKHRoaXMuT0JPX01vZGUgJiYgdGhpcy5ibE9uZUJ5b25lKSB7XHJcblx0XHRcdFx0Y29uc29sZS5pbmZvKHRoaXMuYWx0TWVzc2FnZVNvbWVXaW5kb3dFeGlzdCk7XHJcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuYmxXb3JraW5nID0gdHJ1ZTtcclxuXHRcdFx0aWYgKHRoaXMuYmxUbXBTZWxlY3RlZEluZGV4ICE9PSBudWxsKVxyXG5cdFx0XHRcdHRoaXMuU0VUX1BSSU5URVJfSU5ERVgodGhpcy5ibFRtcFNlbGVjdGVkSW5kZXgpO1xyXG5cdFx0XHRpZiAodGhpcy5Tb2NrZXRFbmFibGUpIHtcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy53c0RvUG9zdERhdGFzKGFmdGVyUG9zdEFjdGlvbik7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHJldHVybiB0aGlzLndzRG9Qb3N0RGF0YXMoYWZ0ZXJQb3N0QWN0aW9uKTtcclxuXHJcblx0XHRcdHRoaXMuUmVtb3ZlSWZyYW1lcygpO1xyXG5cdFx0XHR2YXIgb2JvZHkgPSBkb2N1bWVudC5ib2R5IHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYm9keVwiKVswXSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XHJcblx0XHRcdHZhciBvaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlmcmFtZVwiKTtcclxuXHRcdFx0b2lmcmFtZS5zZXRBdHRyaWJ1dGUoXCJzcmNcIiwgXCJhYm91dDpibGFua1wiKTtcclxuXHRcdFx0b2lmcmFtZS5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBcImRpc3BsYXk6bm9uZVwiKTtcclxuXHRcdFx0b2lmcmFtZS5oZWlnaHQgPSAwO1xyXG5cdFx0XHRvYm9keS5hcHBlbmRDaGlsZChvaWZyYW1lKTtcclxuXHRcdFx0dmFyIGNvbnRlbnRkb2N1bWVudCA9IG9pZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDtcclxuXHRcdFx0Y29udGVudGRvY3VtZW50LndyaXRlKFwiPGZvcm0gYWN0aW9uPSdcIiArIHRoaXMuc3RySG9zdFVSSSArXHJcblx0XHRcdFx0XCIvY19kb3Bvc3RkYXRhcycgbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnPjwvZm9ybT5cIik7XHJcblx0XHRcdHZhciBvZm9ybSA9IGNvbnRlbnRkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImZvcm1cIilbMF07XHJcblx0XHRcdHRoaXMuQWRkSW5wdXRFbGVtZW50KGNvbnRlbnRkb2N1bWVudCwgb2Zvcm0sIFwiY2hhcnNldFwiLCBcIuS4glwiKTtcclxuXHRcdFx0dGhpcy5BZGRJbnB1dEVsZW1lbnQoY29udGVudGRvY3VtZW50LCBvZm9ybSwgXCJ0aWRcIiwgdGhpcy5HZXRUYXNrSUQoKSk7XHJcblx0XHRcdHRoaXMuQWRkSW5wdXRFbGVtZW50KGNvbnRlbnRkb2N1bWVudCwgb2Zvcm0sIFwicG9zdFwiLCB0aGlzLmNyZWF0ZVBvc3REYXRhU3RyaW5nKGFmdGVyUG9zdEFjdGlvbikpO1xyXG5cdFx0XHRvZm9ybS5zdWJtaXQoKTtcclxuXHRcdFx0dmFyIElmcmFtZU1TID0ge307XHJcblx0XHRcdElmcmFtZU1TW1widGltZVwiXSA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XHJcblx0XHRcdElmcmFtZU1TW1wiaWZyYW1lXCJdID0gb2lmcmFtZTtcclxuXHRcdFx0dGhpcy5JZnJhbWVzLnB1c2goSWZyYW1lTVMpO1xyXG5cdFx0XHRyZXR1cm4gdHJ1ZTtcclxuXHRcdH0sXHJcblx0XHRHZXRMYXN0UmVzdWx0OiBmdW5jdGlvbihibEZPbmVCeW9uZSkge1xyXG5cdFx0XHRpZiAoYmxGT25lQnlvbmUpIHRoaXMuYmxPbmVCeW9uZSA9IHRydWU7XHJcblx0XHRcdGlmICh0aGlzLlNvY2tldEVuYWJsZSkge1xyXG5cdFx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0XHR9XHJcblx0XHRcdHZhciB1cmwgPSB0aGlzLnN0ckhvc3RVUkkgKyBcIi9jX2xhc3RyZXN1bHQuanNcIjtcclxuXHRcdFx0dXJsID0gdXJsICsgXCI/dGltZXM9XCIgKyAobmV3IERhdGUoKS5nZXRUaW1lKCkpO1xyXG5cdFx0XHR1cmwgPSB1cmwgKyBcIiZ0aWQ9XCIgKyB0aGlzLkdldFRhc2tJRCgpO1xyXG5cdFx0XHR1cmwgPSBlbmNvZGVVUkkodXJsKS5yZXBsYWNlKFwiJTIwXCIsIFwiK1wiKTtcclxuXHRcdFx0dmFyIG9zY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xyXG5cdFx0XHRvc2NyaXB0LnNyYyA9IHVybDtcclxuXHRcdFx0b3NjcmlwdC5hc3luYyA9IGZhbHNlO1xyXG5cdFx0XHRvc2NyaXB0LnR5cGUgPSBcInRleHQvamF2YXNjcmlwdFwiO1xyXG5cdFx0XHRvc2NyaXB0LmNoYXJzZXQgPSBcInV0Zi04XCI7XHJcblx0XHRcdHZhciBoZWFkID0gZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF0gfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG5cdFx0XHRoZWFkLmluc2VydEJlZm9yZShvc2NyaXB0LCBoZWFkLmZpcnN0Q2hpbGQpO1xyXG5cdFx0XHRvc2NyaXB0Lm9ubG9hZCA9IG9zY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0aWYgKCFvc2NyaXB0LnJlYWR5U3RhdGUgfHwgL2xvYWRlZHxjb21wbGV0ZS8udGVzdChvc2NyaXB0LnJlYWR5U3RhdGUpKSB7XHJcblx0XHRcdFx0XHRDTE9ET1AuYmxPbmVCeW9uZSA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0aWYgKENMb2RvcF9BQ1RMYXN0UmVzdWx0KVxyXG5cdFx0XHRcdFx0XHR2YXIgc3RyUmVzdWx0ID0gZGVjb2RlVVJJQ29tcG9uZW50KENMb2RvcF9BQ1RMYXN0UmVzdWx0KTtcclxuXHRcdFx0XHRcdHZhciBzdHJSZXN1bHRUYXNrSUQgPSBDTG9kb3BfQUNUVGFza0lEO1xyXG5cdFx0XHRcdFx0Q0xPRE9QLlJlc3VsdCA9IHN0clJlc3VsdDtcclxuXHRcdFx0XHRcdGlmIChDTG9kb3BfQUNUQWxlcnQpIENMb2RvcF9BQ1Rjb25zb2xlLmluZm8oKTtcclxuXHRcdFx0XHRcdGlmIChDTE9ET1AuT25fUmV0dXJuKVxyXG5cdFx0XHRcdFx0XHR0cnkge1xyXG5cdFx0XHRcdFx0XHRcdHZhciBzZWxmRnVuYyA9IENMT0RPUC5Pbl9SZXR1cm47XHJcblx0XHRcdFx0XHRcdFx0aWYgKHN0clJlc3VsdCA9PSBcInRydWVcIiB8fCBzdHJSZXN1bHQgPT0gXCJmYWxzZVwiKVxyXG5cdFx0XHRcdFx0XHRcdFx0Q0xPRE9QLk9uX1JldHVybihzdHJSZXN1bHRUYXNrSUQsIHN0clJlc3VsdCA9PSBcInRydWVcIik7XHJcblx0XHRcdFx0XHRcdFx0ZWxzZVxyXG5cdFx0XHRcdFx0XHRcdFx0Q0xPRE9QLk9uX1JldHVybihzdHJSZXN1bHRUYXNrSUQsIHN0clJlc3VsdCk7XHJcblx0XHRcdFx0XHRcdFx0aWYgKCFDTE9ET1AuT25fUmV0dXJuX1JlbWFpbiAmJiBzZWxmRnVuYyA9PT0gQ0xPRE9QLk9uX1JldHVybikgQ0xPRE9QLk9uX1JldHVybiA9IG51bGw7XHJcblx0XHRcdFx0XHRcdH0gY2F0Y2ggKGVycikge307XHJcblx0XHRcdFx0XHRvc2NyaXB0Lm9ubG9hZCA9IG9zY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbDtcclxuXHRcdFx0XHRcdGlmIChvc2NyaXB0LnBhcmVudE5vZGUpIHtcclxuXHRcdFx0XHRcdFx0b3NjcmlwdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG9zY3JpcHQpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fTtcclxuXHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHR9LFxyXG5cdFx0RG9DUHJldmlldzogZnVuY3Rpb24oc1ZpZXcsIGlXLCBpSCkge1xyXG5cdFx0XHR2YXIgb2JvZHkgPSBkb2N1bWVudC5ib2R5IHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYm9keVwiKVswXSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XHJcblx0XHRcdGlmICh0eXBlb2YgaVcgIT09IFwibnVtYmVyXCIpIGlXID0gTWF0aC5yb3VuZChvYm9keS5vZmZzZXRXaWR0aCAqIDIgLyAzKTtcclxuXHRcdFx0ZWxzZVxyXG5cdFx0XHRpZiAob2JvZHkub2Zmc2V0V2lkdGggPCBpVykgaVcgPSBvYm9keS5vZmZzZXRXaWR0aDtcclxuXHRcdFx0aWYgKHR5cGVvZiBpSCAhPT0gXCJudW1iZXJcIikgaUggPSBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW4uaGVpZ2h0IC0gMjAwKTtcclxuXHRcdFx0ZWxzZVxyXG5cdFx0XHRpZiAod2luZG93LnNjcmVlbi5oZWlnaHQgPCBpSCkgaUggPSB3aW5kb3cuc2NyZWVuLmhlaWdodDtcclxuXHRcdFx0dmFyIHVybCA9IHRoaXMuc3RySG9zdFVSSSArIFwiL2NfZG9wcmV2aWV3XCI7XHJcblx0XHRcdHVybCA9IHVybCArIFwiP3RpbWVzPVwiICsgKG5ldyBEYXRlKCkuZ2V0VGltZSgpKTtcclxuXHRcdFx0dXJsID0gdXJsICsgXCImdGlkPVwiICsgdGhpcy5HZXRUYXNrSUQoKTtcclxuXHRcdFx0dXJsID0gdXJsICsgXCImaXc9XCIgKyBpVztcclxuXHRcdFx0dXJsID0gdXJsICsgXCImaWg9XCIgKyBpSDtcclxuXHRcdFx0dXJsID0gZW5jb2RlVVJJKHVybCkucmVwbGFjZShcIiUyMFwiLCBcIitcIik7XHJcblx0XHRcdHRoaXMuUG9wVmlldyhzVmlldywgdXJsLCBpVywgaUgpO1xyXG5cdFx0fSxcclxuXHRcdFBvcFZpZXc6IGZ1bmN0aW9uKHNWaWV3LCBzdHJQVVJMLCBpVywgaUgpIHtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRpZiAoc1ZpZXcgJiYgdHlwZW9mIHNWaWV3ID09PSBcInN0cmluZ1wiICYmIHNWaWV3Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdGlmIChzVmlldyA9PT0gXCJfZGlhbG9nXCIpIHtcclxuXHRcdFx0XHRcdFx0aWYgKHdpbmRvdy5zaG93TW9kYWxEaWFsb2cpIHtcclxuXHRcdFx0XHRcdFx0XHR3aW5kb3cuc2hvd01vZGFsRGlhbG9nKHN0clBVUkwsICdkaWFsb2cnLCAnY2VudGVyOnllcycpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHdpbmRvdy5vcGVuKHN0clBVUkwsIFwiXCIsIFwic2Nyb2xsYmFycz15ZXMsdG9vbGJhcj1ubyxsZWZ0PTE1MCx0b3A9MTAwLHJlc2l6YWJsZT15ZXNcIik7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0gZWxzZVxyXG5cdFx0XHRcdFx0aWYgKHNWaWV3ID09PSBcIl9zZWxmXCIgfHwgc1ZpZXcgPT09IFwiX3RvcFwiIHx8IHNWaWV3ID09PSBcIl9wYXJlbnRcIikge1xyXG5cdFx0XHRcdFx0XHR3aW5kb3cubG9jYXRpb24uaHJlZiA9IHN0clBVUkw7XHJcblx0XHRcdFx0XHR9IGVsc2VcclxuXHRcdFx0XHRcdGlmIChzVmlldyA9PT0gXCJfYmxhbmtcIikge1xyXG5cdFx0XHRcdFx0XHR0aGlzLlByZXZpZXdCb3guY3JlYXRlKHN0clBVUkwsIGlXLCBpSCk7XHJcblx0XHRcdFx0XHR9IGVsc2VcclxuXHRcdFx0XHRcdGlmIChzVmlldy5pbmRleE9mKFwiX3dpbm9wZW46XCIpID4gLTEpIHtcclxuXHRcdFx0XHRcdFx0dmFyIHN0ckZlYXR1cmVzID0gc1ZpZXcuc2xpY2Uoc1ZpZXcuaW5kZXhPZihcIl93aW5vcGVuOlwiKSArIDkpO1xyXG5cdFx0XHRcdFx0XHRpZiAoc3RyRmVhdHVyZXMuaW5kZXhPZihcIl9ibGFua1wiKSA+IC0xKVxyXG5cdFx0XHRcdFx0XHRcdHdpbmRvdy5vcGVuKHN0clBVUkwsIFwiX2JsYW5rXCIsIHN0ckZlYXR1cmVzLnNsaWNlKHN0ckZlYXR1cmVzLmluZGV4T2YoXCJfYmxhbmtcIikgKyA2KSk7XHJcblx0XHRcdFx0XHRcdGVsc2VcclxuXHRcdFx0XHRcdFx0XHR3aW5kb3cub3BlbihzdHJQVVJMLCBcIlwiLCBzdHJGZWF0dXJlcyk7XHJcblx0XHRcdFx0XHR9IGVsc2VcclxuXHRcdFx0XHRcdGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzVmlldykpIHtcclxuXHRcdFx0XHRcdFx0ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc1ZpZXcpLnNyYyA9IHN0clBVUkw7XHJcblx0XHRcdFx0XHR9IGVsc2VcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5pbmZvKFwiaWZyYW1lICdcIiArIHNWaWV3ICsgXCInIG5vdCBleGlzdCFcIik7XHJcblx0XHRcdFx0fSBlbHNlIHRoaXMuUHJldmlld0JveC5jcmVhdGUoc3RyUFVSTCwgaVcsIGlIKTtcclxuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XHJcblx0XHRcdFx0Y29uc29sZS5pbmZvKFwiQ0xPRE9QIFBvcFZpZXcgXCIgKyBlcnIpO1xyXG5cdFx0XHR9O1xyXG5cdFx0fSxcclxuXHRcdGNyZWF0TXlCdXR0b25FbGVtZW50OiBmdW5jdGlvbihzdHJUeXBlLCBzdHJWYWx1ZSkge1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdHZhciBvRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCI8aW5wdXQgdHlwZT0nXCIgKyBzdHJUeXBlICsgXCInIHZhbHVlPSdcIiArIHN0clZhbHVlICsgXCInPjwvaW5wdXQ+XCIpO1xyXG5cdFx0XHR9IGNhdGNoIChlKSB7fTtcclxuXHRcdFx0aWYgKCFvRWxlbWVudCkge1xyXG5cdFx0XHRcdG9FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO1xyXG5cdFx0XHRcdG9FbGVtZW50LnR5cGUgPSBzdHJUeXBlO1xyXG5cdFx0XHRcdG9FbGVtZW50LnZhbHVlID0gc3RyVmFsdWU7XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuIG9FbGVtZW50O1xyXG5cdFx0fSxcclxuXHRcdGNyZWF0TGFiZWxFbGVtZW50OiBmdW5jdGlvbihUeXBlLCBWYWx1ZSwgV2lkdGgsIExlZnQsIFRvcCkge1xyXG5cdFx0XHR2YXIgVHh0TGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFR5cGUpO1xyXG5cdFx0XHRUeHRMYWJlbC5pbm5lckhUTUwgPSBWYWx1ZTtcclxuXHRcdFx0VHh0TGFiZWwuc3R5bGUuY3NzVGV4dCA9IFwicG9zaXRpb246YWJzb2x1dGU7d2lkdGg6XCIgKyBXaWR0aCArIFwicHg7bGVmdDpcIiArIExlZnQgKyBcInB4O3RvcDpcIiArIFRvcCArIFwicHg7XCI7XHJcblx0XHRcdHJldHVybiBUeHRMYWJlbDtcclxuXHRcdH0sXHJcblx0XHRTZWxlY3RCb3g6IHtcclxuXHRcdFx0ZHJhZ2FwcHJvdmVkOiBmYWxzZSxcclxuXHRcdFx0b2Zmc2V0eDogMCxcclxuXHRcdFx0b2Zmc2V0eTogMCxcclxuXHRcdFx0dGVtcHg6IDAsXHJcblx0XHRcdHRlbXB5OiAwLFxyXG5cdFx0XHRGcmFudERpdjogdW5kZWZpbmVkLFxyXG5cdFx0XHRQb3BEaXY6IHVuZGVmaW5lZCxcclxuXHRcdFx0c2VsUHJpbnRlcjogdW5kZWZpbmVkLFxyXG5cdFx0XHRzZWxDb3BpZXM6IHVuZGVmaW5lZCxcclxuXHRcdFx0Y2xvc2VpdDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0aWYgKENMT0RPUC5TZWxlY3RCb3guUG9wRGl2ICYmIENMT0RPUC5TZWxlY3RCb3guUG9wRGl2LnBhcmVudE5vZGUpXHJcblx0XHRcdFx0XHRDTE9ET1AuU2VsZWN0Qm94LlBvcERpdi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKENMT0RPUC5TZWxlY3RCb3guUG9wRGl2KTtcclxuXHRcdFx0XHRpZiAodGhpcy5GcmFudERpdiAmJiB0aGlzLkZyYW50RGl2LnBhcmVudE5vZGUpXHJcblx0XHRcdFx0XHR0aGlzLkZyYW50RGl2LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5GcmFudERpdik7XHJcblx0XHRcdFx0dGhpcy5Qb3BEaXYgPSB1bmRlZmluZWQ7XHJcblx0XHRcdH0sXHJcblx0XHRcdGluaXRpYWxpemVkcmFnOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dmFyIHdlID0gd2luZG93LmV2ZW50IHx8IGU7XHJcblx0XHRcdFx0dGhpcy5vZmZzZXR4ID0gd2UuY2xpZW50WDtcclxuXHRcdFx0XHR0aGlzLm9mZnNldHkgPSB3ZS5jbGllbnRZO1xyXG5cdFx0XHRcdHRoaXMudGVtcHggPSBwYXJzZUludCh0aGlzLlBvcERpdi5zdHlsZS5sZWZ0KTtcclxuXHRcdFx0XHR0aGlzLnRlbXB5ID0gcGFyc2VJbnQodGhpcy5Qb3BEaXYuc3R5bGUudG9wKTtcclxuXHRcdFx0XHR0aGlzLmRyYWdhcHByb3ZlZCA9IHRydWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGRyYWdfZHJvcDogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdGlmICghdGhpcy5kcmFnYXBwcm92ZWQpIHJldHVybjtcclxuXHRcdFx0XHR2YXIgd2UgPSB3aW5kb3cuZXZlbnQgfHwgZTtcclxuXHRcdFx0XHR0aGlzLlBvcERpdi5zdHlsZS5sZWZ0ID0gd2UuY2xpZW50WCAtIHRoaXMub2Zmc2V0eCArIHRoaXMudGVtcHggKyBcInB4XCI7XHJcblx0XHRcdFx0dGhpcy5Qb3BEaXYuc3R5bGUudG9wID0gd2UuY2xpZW50WSAtIHRoaXMub2Zmc2V0eSArIHRoaXMudGVtcHkgKyBcInB4XCI7XHJcblx0XHRcdH0sXHJcblx0XHRcdHN0b3BkcmFnOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLmRyYWdhcHByb3ZlZCA9IGZhbHNlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbGlja09LOiBmdW5jdGlvbihvbmx5U2VsZWN0KSB7XHJcblx0XHRcdFx0Q0xPRE9QLlBSSU5UQU9LKENMT0RPUC5TZWxlY3RCb3guc2VsUHJpbnRlci52YWx1ZSwgQ0xPRE9QLlNlbGVjdEJveC5zZWxDb3BpZXMudmFsdWUsIDAsIDAsIG9ubHlTZWxlY3QpO1xyXG5cdFx0XHRcdHRoaXMuY2xvc2VpdCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjcmVhdGU6IGZ1bmN0aW9uKGlXLCBpSCwgb25seVNlbGVjdCkge1xyXG5cdFx0XHRcdGlmIChDTE9ET1AuU2VsZWN0Qm94LlBvcERpdikgdGhpcy5jbG9zZWl0KCk7XHJcblx0XHRcdFx0dmFyIG9ib2R5ID0gZG9jdW1lbnQuYm9keSB8fCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImJvZHlcIilbMF0gfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG5cdFx0XHRcdHZhciBCb3hkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG5cdFx0XHRcdG9ib2R5LmFwcGVuZENoaWxkKEJveGRpdik7XHJcblx0XHRcdFx0Qm94ZGl2LnN0eWxlLmNzc1RleHQgPVxyXG5cdFx0XHRcdFx0XCJwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjkxMTAwO2Rpc3BsYXk6YmxvY2s7dG9wOjJweDtib3JkZXI6MXB4IHNvbGlkICM2Qjk3QzE7YmFja2dyb3VuZDojRjVGNUY1O2NvbG9yOiMwMDA7Zm9udC1zaXplOjEzcHg7XCI7XHJcblx0XHRcdFx0Qm94ZGl2LnN0eWxlLndpZHRoID0gaVcgKyBcInB4XCI7XHJcblx0XHRcdFx0Qm94ZGl2LnN0eWxlLmxlZnQgPSBNYXRoLm1heCgob2JvZHkub2Zmc2V0V2lkdGggLSBpVykgLyAyLCAwKSArIFwicHhcIjtcclxuXHRcdFx0XHRCb3hkaXYuc3R5bGUudG9wID0gTWF0aC5tYXgoKG9ib2R5Lm9mZnNldEhlaWdodCAtIGlIKSAvIDIsIDApICsgXCJweFwiO1xyXG5cdFx0XHRcdEJveGRpdi5zdHlsZS5oZWlnaHQgPSBpSCArIFwicHhcIjtcclxuXHRcdFx0XHR0aGlzLlBvcERpdiA9IEJveGRpdjtcclxuXHRcdFx0XHR2YXIgdGl0bGVEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG5cdFx0XHRcdEJveGRpdi5hcHBlbmRDaGlsZCh0aXRsZURpdik7XHJcblx0XHRcdFx0dGl0bGVEaXYuc3R5bGUuY3NzVGV4dCA9XHJcblx0XHRcdFx0XHRcImZvbnQ6IGJvbGQgMTNweCBBcmlhbDtsaW5lLWhlaWdodDoyNXB4O2hlaWdodDoyN3B4O3RleHQtaW5kZW50OjVweDtjb2xvcjogd2hpdGU7YmFja2dyb3VuZDojOEJBQ0NGXCI7XHJcblx0XHRcdFx0dGl0bGVEaXYuaW5uZXJIVE1MID0gXCImbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDvmiZPljbBcIjtcclxuXHRcdFx0XHR0aXRsZURpdi5vbm1vdXNlZG93biA9IGZ1bmN0aW9uKGV2ZW50KSB7XHJcblx0XHRcdFx0XHRDTE9ET1AuU2VsZWN0Qm94LmluaXRpYWxpemVkcmFnKGV2ZW50KTtcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdHRpdGxlRGl2Lm9ubW91c2Vtb3ZlID0gZnVuY3Rpb24oZXZlbnQpIHtcclxuXHRcdFx0XHRcdENMT0RPUC5TZWxlY3RCb3guZHJhZ19kcm9wKGV2ZW50KTtcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdHRpdGxlRGl2Lm9ubW91c2V1cCA9IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0Q0xPRE9QLlNlbGVjdEJveC5zdG9wZHJhZygpO1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0dmFyIGljb0J1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIik7XHJcblx0XHRcdFx0dGl0bGVEaXYuYXBwZW5kQ2hpbGQoaWNvQnV0dG9uKTtcclxuXHRcdFx0XHRpY29CdXR0b24uc3R5bGUuY3NzVGV4dCA9IFwiYmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoXCIgKyBDTE9ET1Auc3RySG9zdFVSSSArXHJcblx0XHRcdFx0XHRcIi9jX2Zhdmljb24uaWNvKSBuby1yZXBlYXQgc2Nyb2xsIDAgMHB4O21hcmdpbi1sZWZ0OjVweDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoxMDBweDt3aWR0aDozNHB4O2xlZnQ6M3B4O2JvcmRlcjowO3RvcDo1cHhcIjtcclxuXHRcdFx0XHR2YXIgQ2xvc2VCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xyXG5cdFx0XHRcdHRpdGxlRGl2LmFwcGVuZENoaWxkKENsb3NlQnV0dG9uKTtcclxuXHRcdFx0XHRDbG9zZUJ1dHRvbi5zdHlsZS5jc3NUZXh0ID0gXCJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IHVybChcIiArIENMT0RPUC5zdHJIb3N0VVJJICtcclxuXHRcdFx0XHRcdFwiL2ltYWdlcy9jX3dpbmNsb3NlLnBuZykgbm8tcmVwZWF0IHNjcm9sbCAwIDBweDttYXJnaW4tcmlnaHQ6NXB4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoyMHB4O2xpbmUtaGVpZ2h0OjEwMHB4O3dpZHRoOjM0cHg7cmlnaHQ6M3B4O2JvcmRlcjowO3RvcDo0cHhcIjtcclxuXHRcdFx0XHRDbG9zZUJ1dHRvbi5vbmNsaWNrID0gZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRDTE9ET1AuU2VsZWN0Qm94LmNsb3NlaXQoKTtcclxuXHRcdFx0XHRcdGlmIChvbmx5U2VsZWN0ICYmIENMT0RPUC5Pbl9SZXR1cm4pIHtcclxuXHRcdFx0XHRcdFx0dmFyIHNlbGZGdW5jID0gQ0xPRE9QLk9uX1JldHVybjtcclxuXHRcdFx0XHRcdFx0Q0xPRE9QLk9uX1JldHVybigwLCAtMSk7XHJcblx0XHRcdFx0XHRcdGlmICghQ0xPRE9QLk9uX1JldHVybl9SZW1haW4gJiYgc2VsZkZ1bmMgPT09IENMT0RPUC5Pbl9SZXR1cm4pIENMT0RPUC5Pbl9SZXR1cm4gPSBudWxsO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0dmFyIGFyZWFEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG5cdFx0XHRcdEJveGRpdi5hcHBlbmRDaGlsZChhcmVhRGl2KTtcclxuXHRcdFx0XHRhcmVhRGl2LnN0eWxlLmNzc1RleHQgPSBcImJhY2tncm91bmQ6I0Y1RjVGNTtjb2xvcjojMDAwO2JvcmRlcjowcHg7bGVmdDowcHg7dG9wOjBweDtcIjtcclxuXHRcdFx0XHRhcmVhRGl2LnN0eWxlLndpZHRoID0gaVcgLSAyICsgXCJweFwiO1xyXG5cdFx0XHRcdGFyZWFEaXYuc3R5bGUuaGVpZ2h0ID0gKGlIIC0gMjcpICsgXCJweFwiO1xyXG5cdFx0XHRcdHZhciBPS0J1dHRvbiA9IENMT0RPUC5jcmVhdE15QnV0dG9uRWxlbWVudChcImJ1dHRvblwiLCBcIuehruWumlwiKTtcclxuXHRcdFx0XHRCb3hkaXYuYXBwZW5kQ2hpbGQoT0tCdXR0b24pO1xyXG5cdFx0XHRcdE9LQnV0dG9uLnN0eWxlLmNzc1RleHQgPSBcInBvc2l0aW9uOmFic29sdXRlO3dpZHRoOjgwcHg7aGVpZ2h0OjIzcHg7XCI7XHJcblx0XHRcdFx0T0tCdXR0b24uc3R5bGUubGVmdCA9IFwiMTEwcHhcIjtcclxuXHRcdFx0XHRPS0J1dHRvbi5zdHlsZS50b3AgPSAoaUggLSA2NCkgKyBcInB4XCI7XHJcblx0XHRcdFx0T0tCdXR0b24ub25jbGljayA9IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0Q0xPRE9QLlNlbGVjdEJveC5jbGlja09LKG9ubHlTZWxlY3QpO1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0dmFyIENhbmNlbEJ1dHRvbiA9IENMT0RPUC5jcmVhdE15QnV0dG9uRWxlbWVudChcImJ1dHRvblwiLCBcIuWPlua2iFwiKTtcclxuXHRcdFx0XHRCb3hkaXYuYXBwZW5kQ2hpbGQoQ2FuY2VsQnV0dG9uKTtcclxuXHRcdFx0XHRDYW5jZWxCdXR0b24uc3R5bGUuY3NzVGV4dCA9IFwicG9zaXRpb246YWJzb2x1dGU7d2lkdGg6ODBweDs7aGVpZ2h0OjIzcHg7XCI7XHJcblx0XHRcdFx0Q2FuY2VsQnV0dG9uLnN0eWxlLmxlZnQgPSBcIjI0MHB4XCI7XHJcblx0XHRcdFx0Q2FuY2VsQnV0dG9uLnN0eWxlLnRvcCA9IChpSCAtIDY0KSArIFwicHhcIjtcclxuXHRcdFx0XHRDYW5jZWxCdXR0b24ub25jbGljayA9IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0Q0xPRE9QLlNlbGVjdEJveC5jbG9zZWl0KCk7XHJcblx0XHRcdFx0XHRpZiAob25seVNlbGVjdCAmJiBDTE9ET1AuT25fUmV0dXJuKSB7XHJcblx0XHRcdFx0XHRcdHZhciBzZWxmRnVuYyA9IENMT0RPUC5Pbl9SZXR1cm47XHJcblx0XHRcdFx0XHRcdENMT0RPUC5Pbl9SZXR1cm4oMCwgLTEpO1xyXG5cdFx0XHRcdFx0XHRpZiAoIUNMT0RPUC5Pbl9SZXR1cm5fUmVtYWluICYmIHNlbGZGdW5jID09PSBDTE9ET1AuT25fUmV0dXJuKSBDTE9ET1AuT25fUmV0dXJuID0gbnVsbDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdGFyZWFEaXYuYXBwZW5kQ2hpbGQoQ0xPRE9QLmNyZWF0TGFiZWxFbGVtZW50KFwic3BhblwiLCBcIumAieaJk+WNsOacuu+8mlwiLCAyMDAsIDQ2LCA2NykpO1xyXG5cdFx0XHRcdHZhciBvU2VsZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNlbGVjdFwiKTtcclxuXHRcdFx0XHRCb3hkaXYuYXBwZW5kQ2hpbGQob1NlbGVjdCk7XHJcblx0XHRcdFx0dGhpcy5zZWxQcmludGVyID0gb1NlbGVjdDtcclxuXHRcdFx0XHRvU2VsZWN0LnN0eWxlLmNzc1RleHQgPSBcInBvc2l0aW9uOmFic29sdXRlO3NpemU6MTt3aWR0aDoyMTJweDtsZWZ0OjExMHB4O3RvcDo2MnB4O1wiO1xyXG5cdFx0XHRcdENMT0RPUC5DcmVhdGVfUHJpbnRlcl9MaXN0KG9TZWxlY3QpO1xyXG5cdFx0XHRcdGFyZWFEaXYuYXBwZW5kQ2hpbGQoQ0xPRE9QLmNyZWF0TGFiZWxFbGVtZW50KFwic3BhblwiLCBcIuaJk+WNsOS7veaVsO+8mlwiLCAyMDAsIDQ2LCAxMjEpKTtcclxuXHRcdFx0XHR2YXIgb0NvcGllcyA9IENMT0RPUC5jcmVhdE15QnV0dG9uRWxlbWVudChcInRleHRcIiwgXCIxXCIpO1xyXG5cdFx0XHRcdEJveGRpdi5hcHBlbmRDaGlsZChvQ29waWVzKTtcclxuXHRcdFx0XHR0aGlzLnNlbENvcGllcyA9IG9Db3BpZXM7XHJcblx0XHRcdFx0b0NvcGllcy5zdHlsZS5jc3NUZXh0ID0gXCJwb3NpdGlvbjphYnNvbHV0ZTtzaXplOjE7d2lkdGg6MzBweDtsZWZ0OjExMHB4O3RvcDoxMTdweDtcIjtcclxuXHRcdFx0XHR0aGlzLkZyYW50RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuXHRcdFx0XHRvYm9keS5hcHBlbmRDaGlsZCh0aGlzLkZyYW50RGl2KTtcclxuXHRcdFx0XHR0aGlzLkZyYW50RGl2LnN0eWxlLmNzc1RleHQgPVxyXG5cdFx0XHRcdFx0XCJib3JkZXI6MHB4O2xlZnQ6MHB4O3RvcDowcHg7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTIwKTsgcG9zaXRpb246IGZpeGVkOyBvcGFjaXR5OiAwLjI7LW1vei1vcGFjaXR5OiAwLjI7IF9wb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDo5MTAwOTsgb3Zlci1mbG93OiBoaWRkZW47XCI7XHJcblx0XHRcdFx0aWYgKENMT0RPUC5Ccm93c2VyLklFICYmIChkb2N1bWVudC5jb21wYXRNb2RlID09IFwiQmFja0NvbXBhdFwiIHx8IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIk1TSUUgNi4wXCIpID4gMCkpIHtcclxuXHRcdFx0XHRcdHRoaXMuRnJhbnREaXYuc3R5bGUud2lkdGggPSBvYm9keS5zY3JvbGxXaWR0aCArIFwicHhcIjtcclxuXHRcdFx0XHRcdHRoaXMuRnJhbnREaXYuc3R5bGUuaGVpZ2h0ID0gb2JvZHkuc2Nyb2xsSGVpZ2h0ICsgXCJweFwiO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLkZyYW50RGl2LnN0eWxlLndpZHRoID0gXCIxMDAlXCI7XHJcblx0XHRcdFx0XHR0aGlzLkZyYW50RGl2LnN0eWxlLmhlaWdodCA9IFwiMTAwJVwiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdFByZXZpZXdCb3g6IHtcclxuXHRcdFx0ZHJhZ2FwcHJvdmVkOiBmYWxzZSxcclxuXHRcdFx0b2Zmc2V0eDogMCxcclxuXHRcdFx0b2Zmc2V0eTogMCxcclxuXHRcdFx0dGVtcHg6IDAsXHJcblx0XHRcdHRlbXB5OiAwLFxyXG5cdFx0XHRGcmFudERpdjogdW5kZWZpbmVkLFxyXG5cdFx0XHRQb3BEaXY6IHVuZGVmaW5lZCxcclxuXHRcdFx0Q29udGVudEZyYW1lOiB1bmRlZmluZWQsXHJcblx0XHRcdGNsb3NlaXQ6IGZ1bmN0aW9uKG9TZWxmKSB7XHJcblx0XHRcdFx0aWYgKENMT0RPUC5QcmV2aWV3Qm94LlBvcERpdiAmJiBDTE9ET1AuUHJldmlld0JveC5Qb3BEaXYucGFyZW50Tm9kZSlcclxuXHRcdFx0XHRcdENMT0RPUC5QcmV2aWV3Qm94LlBvcERpdi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKENMT0RPUC5QcmV2aWV3Qm94LlBvcERpdik7XHJcblx0XHRcdFx0aWYgKHRoaXMuRnJhbnREaXYgJiYgdGhpcy5GcmFudERpdi5wYXJlbnROb2RlKVxyXG5cdFx0XHRcdFx0dGhpcy5GcmFudERpdi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuRnJhbnREaXYpO1xyXG5cdFx0XHRcdHRoaXMuUG9wRGl2ID0gdW5kZWZpbmVkO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbml0aWFsaXplZHJhZzogZnVuY3Rpb24oZSwgb1NlbGYpIHtcclxuXHRcdFx0XHR2YXIgd2UgPSB3aW5kb3cuZXZlbnQgfHwgZTtcclxuXHRcdFx0XHR0aGlzLm9mZnNldHggPSB3ZS5jbGllbnRYO1xyXG5cdFx0XHRcdHRoaXMub2Zmc2V0eSA9IHdlLmNsaWVudFk7XHJcblx0XHRcdFx0dGhpcy50ZW1weCA9IHBhcnNlSW50KG9TZWxmLnN0eWxlLmxlZnQpO1xyXG5cdFx0XHRcdHRoaXMudGVtcHkgPSBwYXJzZUludChvU2VsZi5zdHlsZS50b3ApO1xyXG5cdFx0XHRcdHRoaXMuZHJhZ2FwcHJvdmVkID0gdHJ1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0ZHJhZ19kcm9wOiBmdW5jdGlvbihlLCBvU2VsZikge1xyXG5cdFx0XHRcdGlmICghdGhpcy5kcmFnYXBwcm92ZWQpIHJldHVybjtcclxuXHRcdFx0XHR2YXIgd2UgPSB3aW5kb3cuZXZlbnQgfHwgZTtcclxuXHRcdFx0XHRvU2VsZi5zdHlsZS5sZWZ0ID0gd2UuY2xpZW50WCAtIHRoaXMub2Zmc2V0eCArIHRoaXMudGVtcHggKyBcInB4XCI7XHJcblx0XHRcdFx0b1NlbGYuc3R5bGUudG9wID0gd2UuY2xpZW50WSAtIHRoaXMub2Zmc2V0eSArIHRoaXMudGVtcHkgKyBcInB4XCI7XHJcblx0XHRcdH0sXHJcblx0XHRcdHN0b3BkcmFnOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLmRyYWdhcHByb3ZlZCA9IGZhbHNlO1xyXG5cdFx0XHRcdGlmICh0aGlzLkNvbnRlbnRGcmFtZSkgdGhpcy5Db250ZW50RnJhbWUuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcclxuXHRcdFx0fSxcclxuXHRcdFx0Y3JlYXRlOiBmdW5jdGlvbihzdHJVUkwsIGlXLCBpSCkge1xyXG5cdFx0XHRcdGlmIChDTE9ET1AuUHJldmlld0JveC5Qb3BEaXYpIHRoaXMuY2xvc2VpdCgpO1xyXG5cdFx0XHRcdHZhciBvYm9keSA9IGRvY3VtZW50LmJvZHkgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJib2R5XCIpWzBdIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcclxuXHRcdFx0XHR2YXIgdkJveERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcblx0XHRcdFx0b2JvZHkuYXBwZW5kQ2hpbGQodkJveERpdik7XHJcblx0XHRcdFx0dkJveERpdi5zdHlsZS5jc3NUZXh0ID1cclxuXHRcdFx0XHRcdFwicG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo5MTEwMDtkaXNwbGF5OmJsb2NrO3RvcDoycHg7Ym9yZGVyOjFweCBzb2xpZCAjNkI5N0MxO2ZvbnQtc2l6ZToxM3B4O1wiO1xyXG5cdFx0XHRcdHZCb3hEaXYuc3R5bGUud2lkdGggPSBpVyArIFwicHhcIjtcclxuXHRcdFx0XHR2YXIgaUxlZnQgPSAob2JvZHkub2Zmc2V0V2lkdGggLSBpVykgLyAyO1xyXG5cdFx0XHRcdGlmICh3aW5kb3cuc2NyZWVuLndpZHRoIDwgb2JvZHkub2Zmc2V0V2lkdGgpIGlMZWZ0ID0gKHdpbmRvdy5zY3JlZW4ud2lkdGggLSBpVykgLyAyO1xyXG5cdFx0XHRcdGlmIChpTGVmdCA8IDApIGlMZWZ0ID0gMDtcclxuXHRcdFx0XHR2Qm94RGl2LnN0eWxlLmxlZnQgPSBpTGVmdCArIFwicHhcIjtcclxuXHRcdFx0XHR2Qm94RGl2LnN0eWxlLmhlaWdodCA9IGlIICsgXCJweFwiO1xyXG5cdFx0XHRcdHZCb3hEaXYub25tb3VzZWRvd24gPSBmdW5jdGlvbihldmVudCkge1xyXG5cdFx0XHRcdFx0Q0xPRE9QLlByZXZpZXdCb3guaW5pdGlhbGl6ZWRyYWcoZXZlbnQsIHRoaXMpO1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0dkJveERpdi5vbm1vdXNldXAgPSBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdENMT0RPUC5QcmV2aWV3Qm94LnN0b3BkcmFnKCk7XHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHR2Qm94RGl2Lm9ubW91c2Vtb3ZlID0gZnVuY3Rpb24oZXZlbnQpIHtcclxuXHRcdFx0XHRcdENMT0RPUC5QcmV2aWV3Qm94LmRyYWdfZHJvcChldmVudCwgdGhpcyk7XHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHR0aGlzLlBvcERpdiA9IHZCb3hEaXY7XHJcblx0XHRcdFx0dmFyIHRpdGxlRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuXHRcdFx0XHR2Qm94RGl2LmFwcGVuZENoaWxkKHRpdGxlRGl2KTtcclxuXHRcdFx0XHR0aXRsZURpdi5zdHlsZS5jc3NUZXh0ID1cclxuXHRcdFx0XHRcdFwicG9zaXRpb246YWJzb2x1dGU7bGVmdDowcHg7d2lkdGg6MTAwJTtmb250OiBib2xkIDE0cHggQXJpYWw7bGluZS1oZWlnaHQ6MjdweDtoZWlnaHQ6MjdweDt0ZXh0LWluZGVudDoyNnB4O2NvbG9yOiB3aGl0ZTtiYWNrZ3JvdW5kOiM4QkFDQ0ZcIjtcclxuXHRcdFx0XHR0aXRsZURpdi5pbm5lckhUTUwgPSBcIuaJk+WNsOmihOiniFwiO1xyXG5cdFx0XHRcdHZhciBpY29CdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIpO1xyXG5cdFx0XHRcdHRpdGxlRGl2LmFwcGVuZENoaWxkKGljb0J1dHRvbik7XHJcblx0XHRcdFx0aWNvQnV0dG9uLnN0eWxlLmNzc1RleHQgPSBcImJhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKFwiICsgQ0xPRE9QLnN0ckhvc3RVUkkgK1xyXG5cdFx0XHRcdFx0XCIvY19mYXZpY29uLmljbykgbm8tcmVwZWF0IHNjcm9sbCAwIDBweDttYXJnaW4tbGVmdDo1cHg7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MTAwcHg7d2lkdGg6MzRweDtsZWZ0OjNweDtib3JkZXI6MDt0b3A6NXB4XCI7XHJcblx0XHRcdFx0dmFyIENsb3NlQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiKTtcclxuXHRcdFx0XHR0aXRsZURpdi5hcHBlbmRDaGlsZChDbG9zZUJ1dHRvbik7XHJcblx0XHRcdFx0Q2xvc2VCdXR0b24uc3R5bGUuY3NzVGV4dCA9IFwiYmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoXCIgKyBDTE9ET1Auc3RySG9zdFVSSSArXHJcblx0XHRcdFx0XHRcIi9pbWFnZXMvY193aW5jbG9zZS5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgMCAwcHg7bWFyZ2luLXJpZ2h0OjVweDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoxMDBweDt3aWR0aDozNHB4O3JpZ2h0OjNweDtib3JkZXI6MDt0b3A6NHB4XCI7XHJcblx0XHRcdFx0Q2xvc2VCdXR0b24ub25jbGljayA9IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0Q0xPRE9QLlByZXZpZXdCb3guY2xvc2VpdCh0aGlzKTtcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdHZhciBhcmVhRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuXHRcdFx0XHR2Qm94RGl2LmFwcGVuZENoaWxkKGFyZWFEaXYpO1xyXG5cdFx0XHRcdGFyZWFEaXYuc3R5bGUuY3NzVGV4dCA9IFwiYmFja2dyb3VuZDojRjVGNUY1O2NvbG9yOiMwMDA7Ym9yZGVyOjBweDtsZWZ0OjBweDt0b3A6MHB4O1wiO1xyXG5cdFx0XHRcdGFyZWFEaXYuc3R5bGUud2lkdGggPSBpVyArIFwicHhcIjtcclxuXHRcdFx0XHRhcmVhRGl2LnN0eWxlLmhlaWdodCA9IChpSCAtIDApICsgXCJweFwiO1xyXG5cdFx0XHRcdHRoaXMuQ29udGVudEZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlmcmFtZVwiKTtcclxuXHRcdFx0XHRhcmVhRGl2LmFwcGVuZENoaWxkKHRoaXMuQ29udGVudEZyYW1lKTtcclxuXHRcdFx0XHR0aGlzLkNvbnRlbnRGcmFtZS5zdHlsZS5jc3NUZXh0ID0gXCJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO1wiO1xyXG5cdFx0XHRcdHRoaXMuQ29udGVudEZyYW1lLnNyYyA9IHN0clVSTDtcclxuXHRcdFx0XHR0aGlzLkNvbnRlbnRGcmFtZS5mcmFtZUJvcmRlciA9IFwibm9cIjtcclxuXHRcdFx0XHR0aGlzLkZyYW50RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuXHRcdFx0XHRvYm9keS5hcHBlbmRDaGlsZCh0aGlzLkZyYW50RGl2KTtcclxuXHRcdFx0XHR0aGlzLkZyYW50RGl2LnN0eWxlLmNzc1RleHQgPVxyXG5cdFx0XHRcdFx0XCJib3JkZXI6MHB4O2xlZnQ6MHB4O3RvcDowcHg7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTIwKTsgcG9zaXRpb246IGZpeGVkOyBvcGFjaXR5OiAwLjI7IC1tb3otb3BhY2l0eTogMC4yOyBfcG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6OTEwMDk7IG92ZXItZmxvdzogaGlkZGVuO1wiO1xyXG5cdFx0XHRcdGlmIChDTE9ET1AuQnJvd3Nlci5JRSAmJiAoZG9jdW1lbnQuY29tcGF0TW9kZSA9PSBcIkJhY2tDb21wYXRcIiB8fCBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoXCJNU0lFIDYuMFwiKSA+IDApKSB7XHJcblx0XHRcdFx0XHR0aGlzLkZyYW50RGl2LnN0eWxlLndpZHRoID0gb2JvZHkuc2Nyb2xsV2lkdGggKyBcInB4XCI7XHJcblx0XHRcdFx0XHR0aGlzLkZyYW50RGl2LnN0eWxlLmhlaWdodCA9IG9ib2R5LnNjcm9sbEhlaWdodCArIFwicHhcIjtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5GcmFudERpdi5zdHlsZS53aWR0aCA9IFwiMTAwJVwiO1xyXG5cdFx0XHRcdFx0dGhpcy5GcmFudERpdi5zdHlsZS5oZWlnaHQgPSBcIjEwMCVcIjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9O1xyXG5cdGlmICh3aW4uQ0xPRE9QMjAxNV83MDI4ICYmIHdpbi5DTE9ET1AyMDE1XzcwMjguUHJpb3JpdHkgJiYgd2luLkNMT0RPUDIwMTVfNzAyOC5Qcmlvcml0eSA+IENMT0RPUC5Qcmlvcml0eSkge1xyXG5cdFx0Q0xPRE9QID0gd2luLkNMT0RPUDIwMTVfNzAyODtcclxuXHRcdHdpbi5DTE9ET1BfT0tfUHJpb3JpdHkgPSB3aW4uQ0xPRE9QMjAxNV83MDI4LlByaW9yaXR5O1xyXG5cdFx0cmV0dXJuO1xyXG5cdH1cclxuXHR3aW4uTE9ET1AgPSBDTE9ET1A7XHJcblx0d2luLkNMT0RPUCA9IENMT0RPUDtcclxuXHR3aW4uQ0xPRE9QMjAxNV83MDI4ID0gQ0xPRE9QO1xyXG5cdHdpbi5DTE9ET1BfT0tfUHJpb3JpdHkgPSBDTE9ET1AuUHJpb3JpdHk7XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHRpZiAobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKFwiTG9kb3BcIikgPCAwKSB3aW4uQ0xPRE9QLk9wZW5XZWJTb2NrZXQoKTtcclxufSkod2luZG93KTtcclxuXHJcbmZ1bmN0aW9uIGdldENMb2RvcCgpIHtcclxuXHRyZXR1cm4gd2luZG93LkNMT0RPUDIwMTVfNzAyODtcclxufVxyXG5cclxuYXN5bmMgZnVuY3Rpb24gZ2V0UHJpbnRlckxpc3QoaXApe1xyXG4gIGlmICghaXApIHtcclxuICAgIGlwID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdmbF9pcCcpO1xyXG4gIH1cclxuICB0cnl7XHJcbiAgICBjb25zdCByZXMgPSBhd2FpdCB1bmkucmVxdWVzdCh7XHJcbiAgICAgICAgdXJsOiBgaHR0cDovLyR7aXB9OjgwMDAvQ0xvZG9wZnVuY3MuanNgLFxyXG4gICAgfSk7XHJcbiAgICBpZiAocmVzWzBdKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIGxldCB0ZW1wID0gcmVzWzFdLmRhdGEubWF0Y2goL1wibGlzdFwiOiguKykvKTtcclxuICAgIGNvbnN0IHByaW50ZXJMaXN0U3RyaW5nID0gdGVtcFsxXS5zdWJzdHIoMCx0ZW1wWzFdLmxlbmd0aC0yKTtcclxuICAgIGxldCBwcmludGVyTGlzdEFycmF5ID0gSlNPTi5wYXJzZShwcmludGVyTGlzdFN0cmluZyk7XHJcbiAgICBsZXQgcHJpbnRlckxpc3QgPSBbXTtcclxuICAgIHByaW50ZXJMaXN0QXJyYXkuZm9yRWFjaChpdGVtPT57XHJcbiAgICAgIHByaW50ZXJMaXN0LnB1c2goaXRlbS5uYW1lKVxyXG4gICAgfSlcclxuICAgIHJldHVybiBwcmludGVyTGlzdDtcclxuICB9Y2F0Y2goZSl7XHJcbiAgICBjb25zb2xlLmxvZyhlKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IHtcclxuICBnZXRDTG9kb3AsXHJcbiAgZ2V0UHJpbnRlckxpc3RcclxufTsgLy/lr7zlh7pnZXRMb2RvcFxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///19\n");
/***/ }),
/* 20 */
/*!**********************************************************!*\
!*** ./node_modules/@babel/runtime/regenerator/index.js ***!
\**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 4);
// TODO(Babel 8): Remove this file.
var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ 21)();
module.exports = runtime;
// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
try {
regeneratorRuntime = runtime;
} catch (accidentalStrictMode) {
if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") {
globalThis.regeneratorRuntime = runtime;
} else {
Function("r", "regeneratorRuntime = r")(runtime);
}
}
/***/ }),
/* 21 */
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
\*******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
var _typeof = __webpack_require__(/*! ./typeof.js */ 4)["default"];
function _regeneratorRuntime() {
"use strict";
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
return exports;
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
var exports = {},
Op = Object.prototype,
hasOwn = Op.hasOwnProperty,
defineProperty = Object.defineProperty || function (obj, key, desc) {
obj[key] = desc.value;
},
$Symbol = "function" == typeof Symbol ? Symbol : {},
iteratorSymbol = $Symbol.iterator || "@@iterator",
asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator",
toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
function define(obj, key, value) {
return Object.defineProperty(obj, key, {
value: value,
enumerable: !0,
configurable: !0,
writable: !0
}), obj[key];
}
try {
define({}, "");
} catch (err) {
define = function define(obj, key, value) {
return obj[key] = value;
};
}
function wrap(innerFn, outerFn, self, tryLocsList) {
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,
generator = Object.create(protoGenerator.prototype),
context = new Context(tryLocsList || []);
return defineProperty(generator, "_invoke", {
value: makeInvokeMethod(innerFn, self, context)
}), generator;
}
function tryCatch(fn, obj, arg) {
try {
return {
type: "normal",
arg: fn.call(obj, arg)
};
} catch (err) {
return {
type: "throw",
arg: err
};
}
}
exports.wrap = wrap;
var ContinueSentinel = {};
function Generator() {}
function GeneratorFunction() {}
function GeneratorFunctionPrototype() {}
var IteratorPrototype = {};
define(IteratorPrototype, iteratorSymbol, function () {
return this;
});
var getProto = Object.getPrototypeOf,
NativeIteratorPrototype = getProto && getProto(getProto(values([])));
NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);
var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
function defineIteratorMethods(prototype) {
["next", "throw", "return"].forEach(function (method) {
define(prototype, method, function (arg) {
return this._invoke(method, arg);
});
});
}
function AsyncIterator(generator, PromiseImpl) {
function invoke(method, arg, resolve, reject) {
var record = tryCatch(generator[method], generator, arg);
if ("throw" !== record.type) {
var result = record.arg,
value = result.value;
return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) {
invoke("next", value, resolve, reject);
}, function (err) {
invoke("throw", err, resolve, reject);
}) : PromiseImpl.resolve(value).then(function (unwrapped) {
result.value = unwrapped, resolve(result);
}, function (error) {
return invoke("throw", error, resolve, reject);
});
}
reject(record.arg);
}
var previousPromise;
defineProperty(this, "_invoke", {
value: function value(method, arg) {
function callInvokeWithMethodAndArg() {
return new PromiseImpl(function (resolve, reject) {
invoke(method, arg, resolve, reject);
});
}
return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
}
});
}
function makeInvokeMethod(innerFn, self, context) {
var state = "suspendedStart";
return function (method, arg) {
if ("executing" === state) throw new Error("Generator is already running");
if ("completed" === state) {
if ("throw" === method) throw arg;
return doneResult();
}
for (context.method = method, context.arg = arg;;) {
var delegate = context.delegate;
if (delegate) {
var delegateResult = maybeInvokeDelegate(delegate, context);
if (delegateResult) {
if (delegateResult === ContinueSentinel) continue;
return delegateResult;
}
}
if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) {
if ("suspendedStart" === state) throw state = "completed", context.arg;
context.dispatchException(context.arg);
} else "return" === context.method && context.abrupt("return", context.arg);
state = "executing";
var record = tryCatch(innerFn, self, context);
if ("normal" === record.type) {
if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue;
return {
value: record.arg,
done: context.done
};
}
"throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg);
}
};
}
function maybeInvokeDelegate(delegate, context) {
var methodName = context.method,
method = delegate.iterator[methodName];
if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel;
var record = tryCatch(method, delegate.iterator, context.arg);
if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel;
var info = record.arg;
return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel);
}
function pushTryEntry(locs) {
var entry = {
tryLoc: locs[0]
};
1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);
}
function resetTryEntry(entry) {
var record = entry.completion || {};
record.type = "normal", delete record.arg, entry.completion = record;
}
function Context(tryLocsList) {
this.tryEntries = [{
tryLoc: "root"
}], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);
}
function values(iterable) {
if (iterable) {
var iteratorMethod = iterable[iteratorSymbol];
if (iteratorMethod) return iteratorMethod.call(iterable);
if ("function" == typeof iterable.next) return iterable;
if (!isNaN(iterable.length)) {
var i = -1,
next = function next() {
for (; ++i < iterable.length;) {
if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;
}
return next.value = undefined, next.done = !0, next;
};
return next.next = next;
}
}
return {
next: doneResult
};
}
function doneResult() {
return {
value: undefined,
done: !0
};
}
return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", {
value: GeneratorFunctionPrototype,
configurable: !0
}), defineProperty(GeneratorFunctionPrototype, "constructor", {
value: GeneratorFunction,
configurable: !0
}), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) {
var ctor = "function" == typeof genFun && genFun.constructor;
return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name));
}, exports.mark = function (genFun) {
return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun;
}, exports.awrap = function (arg) {
return {
__await: arg
};
}, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
return this;
}), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
void 0 === PromiseImpl && (PromiseImpl = Promise);
var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
return result.done ? result.value : iter.next();
});
}, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () {
return this;
}), define(Gp, "toString", function () {
return "[object Generator]";
}), exports.keys = function (val) {
var object = Object(val),
keys = [];
for (var key in object) {
keys.push(key);
}
return keys.reverse(), function next() {
for (; keys.length;) {
var key = keys.pop();
if (key in object) return next.value = key, next.done = !1, next;
}
return next.done = !0, next;
};
}, exports.values = values, Context.prototype = {
constructor: Context,
reset: function reset(skipTempReset) {
if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {
"t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);
}
},
stop: function stop() {
this.done = !0;
var rootRecord = this.tryEntries[0].completion;
if ("throw" === rootRecord.type) throw rootRecord.arg;
return this.rval;
},
dispatchException: function dispatchException(exception) {
if (this.done) throw exception;
var context = this;
function handle(loc, caught) {
return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught;
}
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i],
record = entry.completion;
if ("root" === entry.tryLoc) return handle("end");
if (entry.tryLoc <= this.prev) {
var hasCatch = hasOwn.call(entry, "catchLoc"),
hasFinally = hasOwn.call(entry, "finallyLoc");
if (hasCatch && hasFinally) {
if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
} else if (hasCatch) {
if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
} else {
if (!hasFinally) throw new Error("try statement without catch or finally");
if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
}
}
}
},
abrupt: function abrupt(type, arg) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
var finallyEntry = entry;
break;
}
}
finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);
var record = finallyEntry ? finallyEntry.completion : {};
return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);
},
complete: function complete(record, afterLoc) {
if ("throw" === record.type) throw record.arg;
return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;
},
finish: function finish(finallyLoc) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;
}
},
"catch": function _catch(tryLoc) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc === tryLoc) {
var record = entry.completion;
if ("throw" === record.type) {
var thrown = record.arg;
resetTryEntry(entry);
}
return thrown;
}
}
throw new Error("illegal catch attempt");
},
delegateYield: function delegateYield(iterable, resultName, nextLoc) {
return this.delegate = {
iterator: values(iterable),
resultName: resultName,
nextLoc: nextLoc
}, "next" === this.method && (this.arg = undefined), ContinueSentinel;
}
}, exports;
}
module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 22 */
/*!*****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _asyncToGenerator(fn) {
return function () {
var self = this,
args = arguments;
return new Promise(function (resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(undefined);
});
};
}
module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/* 23 */
/*!*****************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/classify/classify.vue?mpType=page ***!
\*****************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _classify_vue_vue_type_template_id_b2e4b4f2_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./classify.vue?vue&type=template&id=b2e4b4f2&mpType=page */ 24);\n/* harmony import */ var _classify_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classify.vue?vue&type=script&lang=js&mpType=page */ 26);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _classify_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _classify_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _classify_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _classify_vue_vue_type_template_id_b2e4b4f2_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _classify_vue_vue_type_template_id_b2e4b4f2_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _classify_vue_vue_type_template_id_b2e4b4f2_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/tabbar/classify/classify.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0k7QUFDaEk7QUFDdUU7QUFDTDs7O0FBR2xFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHlGQUFNO0FBQ1IsRUFBRSw4RkFBTTtBQUNSLEVBQUUsdUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsa0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2NsYXNzaWZ5LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1iMmU0YjRmMiZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vY2xhc3NpZnkudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NsYXNzaWZ5LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL3RhYmJhci9jbGFzc2lmeS9jbGFzc2lmeS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///23\n");
/***/ }),
/* 24 */
/*!***********************************************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/classify/classify.vue?vue&type=template&id=b2e4b4f2&mpType=page ***!
\***********************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_template_id_b2e4b4f2_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./classify.vue?vue&type=template&id=b2e4b4f2&mpType=page */ 25);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_template_id_b2e4b4f2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_template_id_b2e4b4f2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_template_id_b2e4b4f2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_template_id_b2e4b4f2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 25 */
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/pages/tabbar/classify/classify.vue?vue&type=template&id=b2e4b4f2&mpType=page ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c("view")
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 26 */
/*!*****************************************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/classify/classify.vue?vue&type=script&lang=js&mpType=page ***!
\*****************************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./classify.vue?vue&type=script&lang=js&mpType=page */ 27);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_classify_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThpQixDQUFnQixpbEJBQUcsRUFBQyIsImZpbGUiOiIyNi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2NsYXNzaWZ5LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jbGFzc2lmeS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///26\n");
/***/ }),
/* 27 */
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/pages/tabbar/classify/classify.vue?vue&type=script&lang=js&mpType=page ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\nvar _default = {\n data: function data() {\n return {};\n },\n methods: {}\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiYmFyL2NsYXNzaWZ5L2NsYXNzaWZ5LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwibWV0aG9kcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O2VBT0E7RUFDQUE7SUFDQSxRQUVBO0VBQ0E7RUFDQUMsVUFFQTtBQUNBO0FBQUEiLCJmaWxlIjoiMjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3PlxuXHRcdFxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0ZGF0YSgpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0bWV0aG9kczoge1xuXHRcdFx0XG5cdFx0fVxuXHR9XG48L3NjcmlwdD5cblxuPHN0eWxlPlxuXG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///27\n");
/***/ }),
/* 28 */
/*!*********************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/mine/mine.vue?mpType=page ***!
\*********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mine_vue_vue_type_template_id_70d7ec67_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mine.vue?vue&type=template&id=70d7ec67&mpType=page */ 29);\n/* harmony import */ var _mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mine.vue?vue&type=script&lang=js&mpType=page */ 31);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _mine_vue_vue_type_template_id_70d7ec67_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _mine_vue_vue_type_template_id_70d7ec67_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _mine_vue_vue_type_template_id_70d7ec67_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/tabbar/mine/mine.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEg7QUFDNUg7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSwwRkFBTTtBQUNSLEVBQUUsbUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsOEZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL21pbmUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTcwZDdlYzY3Jm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9taW5lLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9taW5lLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL3RhYmJhci9taW5lL21pbmUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///28\n");
/***/ }),
/* 29 */
/*!***************************************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/mine/mine.vue?vue&type=template&id=70d7ec67&mpType=page ***!
\***************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_template_id_70d7ec67_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./mine.vue?vue&type=template&id=70d7ec67&mpType=page */ 30);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_template_id_70d7ec67_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_template_id_70d7ec67_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_template_id_70d7ec67_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_template_id_70d7ec67_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 30 */
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/pages/tabbar/mine/mine.vue?vue&type=template&id=70d7ec67&mpType=page ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c("view")
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 31 */
/*!*********************************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/mine/mine.vue?vue&type=script&lang=js&mpType=page ***!
\*********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./mine.vue?vue&type=script&lang=js&mpType=page */ 32);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBpQixDQUFnQiw2a0JBQUcsRUFBQyIsImZpbGUiOiIzMS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL21pbmUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL21pbmUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///31\n");
/***/ }),
/* 32 */
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/pages/tabbar/mine/mine.vue?vue&type=script&lang=js&mpType=page ***!
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\nvar _default = {\n data: function data() {\n return {};\n },\n methods: {}\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiYmFyL21pbmUvbWluZS52dWUiXSwibmFtZXMiOlsiZGF0YSIsIm1ldGhvZHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztlQU9BO0VBQ0FBO0lBQ0EsUUFFQTtFQUNBO0VBQ0FDLFVBRUE7QUFDQTtBQUFBIiwiZmlsZSI6IjMyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8dmlldz5cblx0XHRcblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblx0ZXhwb3J0IGRlZmF1bHQge1xuXHRcdGRhdGEoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcblx0XHRcdH1cblx0XHR9LFxuXHRcdG1ldGhvZHM6IHtcblx0XHRcdFxuXHRcdH1cblx0fVxuPC9zY3JpcHQ+XG5cbjxzdHlsZT5cblxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///32\n");
/***/ }),
/* 33 */
/*!***********************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/study/study.vue?mpType=page ***!
\***********************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _study_vue_vue_type_template_id_240761db_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./study.vue?vue&type=template&id=240761db&mpType=page */ 34);\n/* harmony import */ var _study_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./study.vue?vue&type=script&lang=js&mpType=page */ 36);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _study_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _study_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _study_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _study_vue_vue_type_template_id_240761db_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _study_vue_vue_type_template_id_240761db_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _study_vue_vue_type_template_id_240761db_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/tabbar/study/study.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL3N0dWR5LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yNDA3NjFkYiZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vc3R1ZHkudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL3N0dWR5LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL3RhYmJhci9zdHVkeS9zdHVkeS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///33\n");
/***/ }),
/* 34 */
/*!*****************************************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/study/study.vue?vue&type=template&id=240761db&mpType=page ***!
\*****************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_template_id_240761db_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./study.vue?vue&type=template&id=240761db&mpType=page */ 35);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_template_id_240761db_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_template_id_240761db_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_template_id_240761db_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_template_id_240761db_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
/***/ }),
/* 35 */
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/pages/tabbar/study/study.vue?vue&type=template&id=240761db&mpType=page ***!
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns, recyclableRender, components */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
var components
var render = function () {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c("view")
}
var recyclableRender = false
var staticRenderFns = []
render._withStripped = true
/***/ }),
/* 36 */
/*!***********************************************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/pages/tabbar/study/study.vue?vue&type=script&lang=js&mpType=page ***!
\***********************************************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./study.vue?vue&type=script&lang=js&mpType=page */ 37);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_study_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJpQixDQUFnQiw4a0JBQUcsRUFBQyIsImZpbGUiOiIzNi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3N0dWR5LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTctMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9zdHVkeS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///36\n");
/***/ }),
/* 37 */
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/pages/tabbar/study/study.vue?vue&type=script&lang=js&mpType=page ***!
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\nvar _default = {\n data: function data() {\n return {};\n },\n methods: {}\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdGFiYmFyL3N0dWR5L3N0dWR5LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwibWV0aG9kcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O2VBT0E7RUFDQUE7SUFDQSxRQUVBO0VBQ0E7RUFDQUMsVUFFQTtBQUNBO0FBQUEiLCJmaWxlIjoiMzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3PlxuXHRcdFxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0ZGF0YSgpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0bWV0aG9kczoge1xuXHRcdFx0XG5cdFx0fVxuXHR9XG48L3NjcmlwdD5cblxuPHN0eWxlPlxuXG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///37\n");
/***/ }),
/* 38 */
/*!**************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/App.vue ***!
\**************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 39);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\nvar render, staticRenderFns, recyclableRender, components\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\n _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUN1RDtBQUNMOzs7QUFHbEQ7QUFDcUs7QUFDckssZ0JBQWdCLCtLQUFVO0FBQzFCLEVBQUUseUVBQU07QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNlLGdGIiwiZmlsZSI6IjM4LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJBcHAudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///38\n");
/***/ }),
/* 39 */
/*!***************************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/App.vue?vue&type=script&lang=js& ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./App.vue?vue&type=script&lang=js& */ 40);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThoQixDQUFnQixpa0JBQUcsRUFBQyIsImZpbGUiOiIzOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNy0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///39\n");
/***/ }),
/* 40 */
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!E:/ilsau/ilsApp/ilsApp/App.vue?vue&type=script&lang=js& ***!
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n onLaunch: function onLaunch() {\n __f__(\"log\", 'App Launch', \" at App.vue:4\");\n },\n onShow: function onShow() {\n __f__(\"log\", 'App Show', \" at App.vue:7\");\n },\n onHide: function onHide() {\n __f__(\"log\", 'App Hide', \" at App.vue:10\");\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 15)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJvbkxhdW5jaCIsIm9uU2hvdyIsIm9uSGlkZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2VBQ2U7RUFDZEEsUUFBUSxFQUFFLG9CQUFXO0lBQ3BCLGFBQVksWUFBWTtFQUN6QixDQUFDO0VBQ0RDLE1BQU0sRUFBRSxrQkFBVztJQUNsQixhQUFZLFVBQVU7RUFDdkIsQ0FBQztFQUNEQyxNQUFNLEVBQUUsa0JBQVc7SUFDbEIsYUFBWSxVQUFVO0VBQ3ZCO0FBQ0QsQ0FBQztBQUFBLDJCIiwiZmlsZSI6IjQwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgZGVmYXVsdCB7XG5cdG9uTGF1bmNoOiBmdW5jdGlvbigpIHtcblx0XHRjb25zb2xlLmxvZygnQXBwIExhdW5jaCcpXG5cdH0sXG5cdG9uU2hvdzogZnVuY3Rpb24oKSB7XG5cdFx0Y29uc29sZS5sb2coJ0FwcCBTaG93Jyk7XG5cdH0sXG5cdG9uSGlkZTogZnVuY3Rpb24oKSB7XG5cdFx0Y29uc29sZS5sb2coJ0FwcCBIaWRlJylcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///40\n");
/***/ }),
/* 41 */
/*!**********************!*\
!*** external "Vue" ***!
\**********************/
/*! no static exports found */
/***/ (function(module, exports) {
module.exports = Vue;
/***/ }),
/* 42 */
/*!*************************************************!*\
!*** E:/ilsau/ilsApp/ilsApp/common/scanCode.js ***!
\*************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.broadcastScan = void 0;\nvar main;\nvar filter;\nvar receiver;\nvar tag = false;\n/**\n * 开始广播监听扫码\n */\nvar start = function start() {\n main.registerReceiver(receiver, filter);\n};\n\n/**\n * 停止广播监听扫码\n * that传this\n */\nvar stop = function stop() {\n main.unregisterReceiver(receiver);\n};\n\n/** 剩余下个变量已经做了全局变量\n *\n * 定义广播\n * that传this\n */\nvar init = function init(_onReceive) {\n //获取activity\n main = plus.android.runtimeMainActivity();\n var IntentFilter = plus.android.importClass('android.content.IntentFilter');\n filter = new IntentFilter();\n // 扫描设置的广播名称A(上面指代了)\n filter.addAction(\"android.intent.ACTION_DECODE_DATA\");\n receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {\n onReceive: function onReceive(context, intent) {\n plus.android.importClass(intent);\n // 扫描设置的标签名称B(上面指代了)\n var code = intent.getStringExtra(\"barcode_string\");\n if (tag) return;\n tag = true;\n setTimeout(function () {\n tag = false;\n }, 150);\n //到这里扫描成功了可以调用自己的业务逻辑code就是扫描的结果 return出code进行业务处理\n _onReceive && _onReceive(code);\n }\n });\n};\nvar broadcastScan = {\n init: init,\n start: start,\n stop: stop\n};\nexports.broadcastScan = broadcastScan;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tbW9uL3NjYW5Db2RlLmpzIl0sIm5hbWVzIjpbIm1haW4iLCJmaWx0ZXIiLCJyZWNlaXZlciIsInRhZyIsInN0YXJ0IiwicmVnaXN0ZXJSZWNlaXZlciIsInN0b3AiLCJ1bnJlZ2lzdGVyUmVjZWl2ZXIiLCJpbml0Iiwib25SZWNlaXZlIiwicGx1cyIsImFuZHJvaWQiLCJydW50aW1lTWFpbkFjdGl2aXR5IiwiSW50ZW50RmlsdGVyIiwiaW1wb3J0Q2xhc3MiLCJhZGRBY3Rpb24iLCJpbXBsZW1lbnRzIiwiY29udGV4dCIsImludGVudCIsImNvZGUiLCJnZXRTdHJpbmdFeHRyYSIsInNldFRpbWVvdXQiLCJicm9hZGNhc3RTY2FuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFJQSxJQUFJO0FBQ1IsSUFBSUMsTUFBTTtBQUNWLElBQUlDLFFBQVE7QUFDWixJQUFJQyxHQUFHLEdBQUcsS0FBSztBQUNmO0FBQ0E7QUFDQTtBQUNBLElBQU1DLEtBQUssR0FBRyxTQUFSQSxLQUFLLEdBQVM7RUFFbEJKLElBQUksQ0FBQ0ssZ0JBQWdCLENBQUNILFFBQVEsRUFBRUQsTUFBTSxDQUFDO0FBRXpDLENBQUM7O0FBR0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNSyxJQUFJLEdBQUcsU0FBUEEsSUFBSSxHQUFTO0VBRWpCTixJQUFJLENBQUNPLGtCQUFrQixDQUFDTCxRQUFRLENBQUM7QUFFbkMsQ0FBQzs7QUFHRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTU0sSUFBSSxHQUFHLFNBQVBBLElBQUksQ0FBSUMsVUFBUyxFQUFLO0VBRTFCO0VBQ0FULElBQUksR0FBR1UsSUFBSSxDQUFDQyxPQUFPLENBQUNDLG1CQUFtQixFQUFFO0VBQ3pDLElBQU1DLFlBQVksR0FBR0gsSUFBSSxDQUFDQyxPQUFPLENBQUNHLFdBQVcsQ0FBQyw4QkFBOEIsQ0FBQztFQUM3RWIsTUFBTSxHQUFHLElBQUlZLFlBQVksRUFBRTtFQUMzQjtFQUNBWixNQUFNLENBQUNjLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQztFQUNyRGIsUUFBUSxHQUFHUSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0ssVUFBVSxDQUFDLHNEQUFzRCxFQUFFO0lBQ3pGUCxTQUFTLEVBQUUsbUJBQVNRLE9BQU8sRUFBRUMsTUFBTSxFQUFFO01BQ25DUixJQUFJLENBQUNDLE9BQU8sQ0FBQ0csV0FBVyxDQUFDSSxNQUFNLENBQUM7TUFDaEM7TUFDQSxJQUFNQyxJQUFJLEdBQUdELE1BQU0sQ0FBQ0UsY0FBYyxDQUFDLGdCQUFnQixDQUFDO01BQ3BELElBQUlqQixHQUFHLEVBQUU7TUFDVEEsR0FBRyxHQUFHLElBQUk7TUFDVmtCLFVBQVUsQ0FBQyxZQUFXO1FBQ3BCbEIsR0FBRyxHQUFHLEtBQUs7TUFDYixDQUFDLEVBQUUsR0FBRyxDQUFDO01BQ1A7TUFDQU0sVUFBUyxJQUFJQSxVQUFTLENBQUNVLElBQUksQ0FBQztJQUM5QjtFQUNGLENBQUMsQ0FBQztBQUdKLENBQUM7QUFFTSxJQUFNRyxhQUFhLEdBQUc7RUFDM0JkLElBQUksRUFBSkEsSUFBSTtFQUNKSixLQUFLLEVBQUxBLEtBQUs7RUFDTEUsSUFBSSxFQUFKQTtBQUNGLENBQUM7QUFBQyIsImZpbGUiOiI0Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImxldCBtYWluO1xubGV0IGZpbHRlcjtcbmxldCByZWNlaXZlcjtcbmxldCB0YWcgPSBmYWxzZTtcbi8qKlxuICog5byA5aeL5bm/5pKt55uR5ZCs5omr56CBXG4gKi9cbmNvbnN0IHN0YXJ0ID0gKCkgPT4ge1xuXG4gIG1haW4ucmVnaXN0ZXJSZWNlaXZlcihyZWNlaXZlciwgZmlsdGVyKTtcblxufVxuXG5cbi8qKlxuICog5YGc5q2i5bm/5pKt55uR5ZCs5omr56CBXG4gKiB0aGF077ya5LygdGhpc++8m1xuICovXG5jb25zdCBzdG9wID0gKCkgPT4ge1xuXG4gIG1haW4udW5yZWdpc3RlclJlY2VpdmVyKHJlY2VpdmVyKTtcblxufVxuXG5cbi8qKiAg5Ymp5L2Z5LiL5Liq5Y+Y6YeP5bey57uP5YGa5LqG5YWo5bGA5Y+Y6YePXG4gKlxuICog5a6a5LmJ5bm/5pKtXG4gKiB0aGF077ya5LygdGhpc++8m1xuICovXG5jb25zdCBpbml0ID0gKG9uUmVjZWl2ZSkgPT4ge1xuXG4gIC8v6I635Y+WYWN0aXZpdHlcbiAgbWFpbiA9IHBsdXMuYW5kcm9pZC5ydW50aW1lTWFpbkFjdGl2aXR5KCk7XG4gIGNvbnN0IEludGVudEZpbHRlciA9IHBsdXMuYW5kcm9pZC5pbXBvcnRDbGFzcygnYW5kcm9pZC5jb250ZW50LkludGVudEZpbHRlcicpO1xuICBmaWx0ZXIgPSBuZXcgSW50ZW50RmlsdGVyKCk7XG4gIC8vIOaJq+aPj+iuvue9rueahOW5v+aSreWQjeensEEo5LiK6Z2i5oyH5Luj5LqG77yJXG4gIGZpbHRlci5hZGRBY3Rpb24oXCJhbmRyb2lkLmludGVudC5BQ1RJT05fREVDT0RFX0RBVEFcIik7XG4gIHJlY2VpdmVyID0gcGx1cy5hbmRyb2lkLmltcGxlbWVudHMoJ2lvLmRjbG91ZC5mZWF0dXJlLmludGVybmFsLnJlZmxlY3QuQnJvYWRjYXN0UmVjZWl2ZXInLCB7XG4gICAgb25SZWNlaXZlOiBmdW5jdGlvbihjb250ZXh0LCBpbnRlbnQpIHtcbiAgICAgIHBsdXMuYW5kcm9pZC5pbXBvcnRDbGFzcyhpbnRlbnQpO1xuICAgICAgLy8g5omr5o+P6K6+572u55qE5qCH562+5ZCN56ewQijkuIrpnaLmjIfku6PkuobvvIlcbiAgICAgIGNvbnN0IGNvZGUgPSBpbnRlbnQuZ2V0U3RyaW5nRXh0cmEoXCJiYXJjb2RlX3N0cmluZ1wiKTtcbiAgICAgIGlmICh0YWcpIHJldHVybjtcbiAgICAgIHRhZyA9IHRydWU7XG4gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICB0YWcgPSBmYWxzZTtcbiAgICAgIH0sIDE1MCk7XG4gICAgICAvL+WIsOi/memHjOaJq+aPj+aIkOWKn+S6hu+8jOWPr+S7peiwg+eUqOiHquW3seeahOS4muWKoemAu+i+ke+8jGNvZGXlsLHmmK/miavmj4/nmoTnu5PmnpwgICAgcmV0dXJu5Ye6Y29kZei/m+ihjOS4muWKoeWkhOeQhlxuICAgICAgb25SZWNlaXZlICYmIG9uUmVjZWl2ZShjb2RlKTtcbiAgICB9XG4gIH0pO1xuXG5cbn1cblxuZXhwb3J0IGNvbnN0IGJyb2FkY2FzdFNjYW4gPSB7XG4gIGluaXQsXG4gIHN0YXJ0LFxuICBzdG9wLFxufTtcblxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///42\n");
/***/ })
],[[0,"app-config"]]]);