(this["webpackJsonp"] = this["webpackJsonp"] || []).push([["app-service"],[ /* 0 */ /*!****************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/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));\n__webpack_require__(/*! uni-pages */ 6);\nvar _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 45));\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 20));\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.config.productionTip = false;\n_App.default.mpType = 'app';\nvar app = new _vue.default(_objectSpread({}, _App.default));\napp.$mount();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJjb25maWciLCJwcm9kdWN0aW9uVGlwIiwiQXBwIiwibXBUeXBlIiwiYXBwIiwiJG1vdW50Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFBbUI7QUFHbkI7QUFBcUI7QUFBQTtBQUNyQkEsWUFBRyxDQUFDQyxNQUFNLENBQUNDLGFBQWEsR0FBRyxLQUFLO0FBQ2hDQyxZQUFHLENBQUNDLE1BQU0sR0FBRyxLQUFLO0FBQ2xCLElBQU1DLEdBQUcsR0FBRyxJQUFJTCxZQUFHLG1CQUNaRyxZQUFHLEVBQ1I7QUFDRkUsR0FBRyxDQUFDQyxNQUFNLEVBQUUiLCJmaWxlIjoiMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAndW5pLXBhZ2VzJztpbXBvcnQgQXBwIGZyb20gJy4vQXBwJ1xyXG5cclxuXHJcbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xyXG5WdWUuY29uZmlnLnByb2R1Y3Rpb25UaXAgPSBmYWxzZVxyXG5BcHAubXBUeXBlID0gJ2FwcCdcclxuY29uc3QgYXBwID0gbmV3IFZ1ZSh7XHJcbiAgICAuLi5BcHBcclxufSlcclxuYXBwLiRtb3VudCgpXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iXSwic291cmNlUm9vdCI6IiJ9\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(t) { var i = toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } 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(o) { "@babel/helpers - typeof"; return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o); } 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(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /* 6 */ /*!*******************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/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/login/login', function () { return Vue.extend(__webpack_require__(/*! pages/login/login.vue?mpType=page */ 7).default); }); __definePage('pages/index/index', function () { return Vue.extend(__webpack_require__(/*! pages/index/index.vue?mpType=page */ 34).default); }); __definePage('pages/mine/manage', function () { return Vue.extend(__webpack_require__(/*! pages/mine/manage.vue?mpType=page */ 39).default); }); /***/ }), /* 7 */ /*!******************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/pages/login/login.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 _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./login.vue?vue&type=template&id=5b26a3ac&mpType=page */ 8);\n/* harmony import */ var _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./login.vue?vue&type=script&lang=js&mpType=page */ 10);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _login_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 _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 27);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/login/login.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQ3FMO0FBQ3JMLGdCQUFnQix5TEFBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vbG9naW4udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTViMjZhM2FjJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9sb2dpbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vbG9naW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicGFnZXMvbG9naW4vbG9naW4udnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7\n"); /***/ }), /* 8 */ /*!************************************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/pages/login/login.vue?vue&type=template&id=5b26a3ac&mpType=page ***! \************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./login.vue?vue&type=template&id=5b26a3ac&mpType=page */ 9); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_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!D:/UserData/Desktop/w/UhfChengBangZi/pages/login/login.vue?vue&type=template&id=5b26a3ac&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", { staticClass: _vm._$s(0, "sc", "login"), attrs: { _i: 0 } }, [ _c( "view", { staticClass: _vm._$s(1, "sc", "content"), attrs: { _i: 1 } }, [ _c( "view", { staticClass: _vm._$s(2, "sc", "header"), attrs: { _i: 2 } }, [ _c("image", { attrs: { src: _vm._$s(3, "a-src", "../../static/123.png"), _i: 3, }, }), ] ), _c( "view", { staticClass: _vm._$s(4, "sc", "main"), attrs: { _i: 4 } }, [ _c("wInput", { attrs: { type: "text", placeholder: "用户名", focus: _vm.isFocus, _i: 5, }, model: { value: _vm._$s(5, "v-model", _vm.username), callback: function ($$v) { _vm.username = $$v }, expression: "username", }, }), _c("wInput", { attrs: { type: "text", placeholder: "登录密码", _i: 6 }, model: { value: _vm._$s(6, "v-model", _vm.password), callback: function ($$v) { _vm.password = $$v }, expression: "password", }, }), ], 1 ), _c("wButton", { staticClass: _vm._$s(7, "sc", "wbutton"), attrs: { text: "登 录", rotate: _vm.isRotate, _i: 7 }, on: { click: _vm.startLogin }, }), _c("view"), ], 1 ), ] ) } var recyclableRender = false var staticRenderFns = [] render._withStripped = true /***/ }), /* 10 */ /*!******************************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/pages/login/login.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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./login.vue?vue&type=script&lang=js&mpType=page */ 11);\n/* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW9uQixDQUFnQixzbkJBQUcsRUFBQyIsImZpbGUiOiIxMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2xvZ2luLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9sb2dpbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///10\n"); /***/ }), /* 11 */ /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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!D:/UserData/Desktop/w/UhfChengBangZi/pages/login/login.vue?vue&type=script&lang=js&mpType=page ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/* WEBPACK VAR INJECTION */(function(wx, __f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _watchInput = _interopRequireDefault(__webpack_require__(/*! ../../components/watch-login/watch-input.vue */ 22));\nvar _watchButton = _interopRequireDefault(__webpack_require__(/*! ../../components/watch-login/watch-button.vue */ 28));\nvar _index = _interopRequireDefault(__webpack_require__(/*! ../../api/index */ 33));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar _self;\nvar code;\nvar _default = {\n data: function data() {\n return {\n logoImage: '',\n username: 'admin',\n //用户/电话\n password: '1111111',\n //密码\n isRotate: false,\n //是否加载旋转\n isFocus: true // 是否聚焦\n };\n },\n\n components: {\n wInput: _watchInput.default,\n wButton: _watchButton.default\n },\n mounted: function mounted() {},\n onLoad: function onLoad() {\n _self = this;\n _self.isLogin();\n wx.login({\n success: function success(res) {\n if (res.code) {\n code = res.code;\n }\n }\n });\n },\n methods: {\n isLogin: function isLogin() {\n //判断缓存中是否登录过,直接登录\n try {\n var token = uni.getStorageSync('equipment_token');\n var equipmentManage = uni.getStorageSync('equipment_manage');\n if (token) {\n //有登录信息\n getApp().globalData.token = token;\n getApp().globalData.equipmentManage = equipmentManage;\n var eventChannel = _self.getOpenerEventChannel();\n eventChannel.emit('isLoginFromLogin', {\n isLogin: true\n });\n uni.$emit('loginStatusEvent', {\n isLogin: true\n });\n }\n } catch (e) {\n // error\n }\n },\n startLogin: function startLogin(e) {\n //登录\n if (_self.isRotate) {\n //判断是否加载中,避免重复点击请求\n return false;\n }\n if (_self.username.length == \"\") {\n uni.showToast({\n title: '用户名不能为空',\n icon: 'none',\n position: 'center'\n });\n return;\n }\n if (_self.password.length < 5) {\n uni.showToast({\n title: '登录密码不正确',\n icon: 'none',\n position: 'center'\n });\n return;\n }\n _self.isRotate = true;\n uni.showLoading({\n title: '登录中.....'\n });\n uni.request({\n url: _index.default.Login,\n method: 'POST',\n data: {\n username: _self.username,\n password: _self.password\n },\n header: {\n 'content-type': 'application/json'\n },\n success: function success(res) {\n uni.hideLoading();\n _self.isRotate = false;\n __f__(\"log\", '登录用户响应返回数据信息:', res.data, \" at pages/login/login.vue:119\");\n\n // 检查响应是否有效\n if (!res.data) {\n _self.password = '';\n __f__(\"error\", '登录失败: 响应数据为空', \" at pages/login/login.vue:124\");\n uni.showToast({\n title: '登录失败: 服务器响应异常',\n icon: 'none',\n position: 'center'\n });\n return;\n }\n\n // 处理JSON响应\n var responseData = res.data;\n\n // 统一转换为对象格式(如果是字符串的话)\n if (typeof responseData === 'string') {\n try {\n responseData = JSON.parse(responseData);\n } catch (e) {\n __f__(\"error\", '解析响应数据失败:', e, \" at pages/login/login.vue:141\");\n uni.showToast({\n title: '登录失败: 服务器返回格式错误',\n icon: 'none',\n position: 'center'\n });\n return;\n }\n }\n\n // 根据code判断登录是否成功\n // 登录成功后增加本地存储\n if (responseData.code === 0 && responseData.msg === '登录成功') {\n // 登录成功,提取用户信息、token和过期时间\n var userInfo = responseData.data.user || {};\n var ID = userInfo.id || '';\n var token = responseData.data.token || '';\n var expireAt = responseData.data.expiresAt || '';\n var building = userInfo.building || '';\n var room = userInfo.room || '';\n var pen = userInfo.pen || '';\n\n // 设置全局登录状态和信息\n var app = getApp();\n // 确保globalData对象存在\n if (!app.globalData) {\n app.globalData = {};\n }\n\n // 统一设置全局数据\n app.globalData.ID = ID;\n app.globalData.token = token;\n app.globalData.userInfo = userInfo;\n app.globalData.isLoggedIn = true;\n app.globalData.expireAt = expireAt;\n // 设置全局数据\n app.globalData.building = building; // 栋舍编号\n app.globalData.room = room; // 房间编号\n app.globalData.pen = pen; // 栏位编号\n app.globalData.buildingName = building;\n app.globalData.roomName = room;\n app.globalData.penNo = pen;\n app.globalData.equipment_manage = '';\n\n // 持久化到本地存储,确保应用重启后仍能保留登录状态\n try {\n uni.setStorageSync('equipment_token', token);\n uni.setStorageSync('token_expire_time', expireAt);\n uni.setStorageSync('user_info', userInfo);\n uni.setStorageSync('building', building);\n uni.setStorageSync('room', room);\n uni.setStorageSync('pen', pen);\n __f__(\"log\", '登录信息已保存到本地存储', \" at pages/login/login.vue:193\");\n } catch (e) {\n __f__(\"error\", '保存登录信息到本地存储失败:', e, \" at pages/login/login.vue:195\");\n }\n\n // 触发登录状态更新事件\n uni.$emit('loginStatusEvent', {\n isLogin: true\n });\n setTimeout(function () {\n // 登录成功后跳转到首页,避免直接跳到个人中心导致页面切换问题\n uni.switchTab({\n url: '/pages/index/index',\n success: function success(res) {\n __f__(\"log\", '跳转到首页成功:', res, \" at pages/login/login.vue:208\");\n // 跳转成功后,通知首页加载用户编号信息\n uni.$emit('reloadUserSettings', {});\n },\n fail: function fail(err) {\n __f__(\"error\", '跳转到首页失败:', err, \" at pages/login/login.vue:213\");\n // 如果switchTab失败,尝试使用redirectTo作为备选方案\n if (err.errMsg && err.errMsg.includes('tabBar')) {\n __f__(\"warn\", 'switchTab失败,尝试使用redirectTo', \" at pages/login/login.vue:216\");\n uni.redirectTo({\n url: '/pages/index/index',\n success: function success(res) {\n __f__(\"log\", 'redirectTo到首页成功:', res, \" at pages/login/login.vue:220\");\n uni.$emit('reloadUserSettings', {});\n },\n fail: function fail(redirectErr) {\n __f__(\"error\", 'redirectTo到首页也失败:', redirectErr, \" at pages/login/login.vue:224\");\n uni.showToast({\n title: '跳转失败,请手动进入首页',\n icon: 'none'\n });\n }\n });\n }\n }\n });\n }, 500);\n } else {\n var errorMsg = responseData.msg || '登录失败';\n __f__(\"log\", '登录失败:', errorMsg, res, \" at pages/login/login.vue:237\");\n uni.showToast({\n title: errorMsg,\n icon: 'none',\n position: 'center'\n });\n }\n },\n fail: function fail(err) {\n __f__(\"error\", '登录请求失败:', err, \" at pages/login/login.vue:246\");\n uni.hideLoading();\n _self.isRotate = false;\n uni.showToast({\n title: '网络异常,请检查网络连接',\n icon: 'none',\n position: 'center'\n });\n }\n });\n },\n login_weixin: function login_weixin() {\n //微信登录\n uni.showToast({\n icon: 'none',\n position: 'bottom',\n title: '...'\n });\n },\n forget: function forget() {\n uni.showModal({\n title: '提示',\n content: '请联系系统管理员',\n showCancel: false,\n confirmText: '知道了',\n confirmColor: '#333333'\n });\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 12)[\"default\"], __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 21)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vbG9naW4udnVlIl0sIm5hbWVzIjpbImRhdGEiLCJsb2dvSW1hZ2UiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiaXNSb3RhdGUiLCJpc0ZvY3VzIiwiY29tcG9uZW50cyIsIndJbnB1dCIsIndCdXR0b24iLCJtb3VudGVkIiwib25Mb2FkIiwiX3NlbGYiLCJ3eCIsInN1Y2Nlc3MiLCJjb2RlIiwibWV0aG9kcyIsImlzTG9naW4iLCJnZXRBcHAiLCJldmVudENoYW5uZWwiLCJ1bmkiLCJzdGFydExvZ2luIiwidGl0bGUiLCJpY29uIiwicG9zaXRpb24iLCJ1cmwiLCJtZXRob2QiLCJoZWFkZXIiLCJyZXNwb25zZURhdGEiLCJhcHAiLCJzZXRUaW1lb3V0IiwiZmFpbCIsImxvZ2luX3dlaXhpbiIsImZvcmdldCIsImNvbnRlbnQiLCJzaG93Q2FuY2VsIiwiY29uZmlybVRleHQiLCJjb25maXJtQ29sb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFtQkE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBO0FBQ0E7QUFBQSxlQUNBO0VBQ0FBO0lBQ0E7TUFDQUM7TUFDQUM7TUFBQTtNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7SUFDQTtFQUNBOztFQUNBQztJQUNBQztJQUNBQztFQUNBO0VBQ0FDLDZCQUVBO0VBQ0FDO0lBQ0FDO0lBQ0FBO0lBRUFDO01BQ0FDO1FBQ0E7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUNBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7VUFDQTtVQUNBQztVQUNBQTtVQUNBO1VBQ0FDO1lBQ0FGO1VBQ0E7VUFFQUc7WUFDQUg7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUFBO0lBRUE7SUFDQUk7TUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO01BRUE7UUFDQUQ7VUFDQUU7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO01BQ0E7TUFDQTtRQUNBSjtVQUNBRTtVQUNBQztVQUNBQztRQUNBO1FBQ0E7TUFDQTtNQUVBWjtNQUNBUTtRQUNBRTtNQUNBO01BRUFGO1FBQ0FLO1FBQ0FDO1FBQ0F6QjtVQUNBRTtVQUNBQztRQUNBO1FBQ0F1QjtVQUNBO1FBQ0E7UUFDQWI7VUFDQU07VUFDQVI7VUFDQTs7VUFFQTtVQUNBO1lBQ0FBO1lBQ0E7WUFDQVE7Y0FDQUU7Y0FDQUM7Y0FDQUM7WUFDQTtZQUNBO1VBQ0E7O1VBRUE7VUFDQTs7VUFFQTtVQUNBO1lBQ0E7Y0FDQUk7WUFDQTtjQUNBO2NBQ0FSO2dCQUNBRTtnQkFDQUM7Z0JBQ0FDO2NBQ0E7Y0FDQTtZQUNBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTs7WUFFQTtZQUNBO1lBQ0E7WUFDQTtjQUNBSztZQUNBOztZQUVBO1lBQ0FBO1lBQ0FBO1lBQ0FBO1lBQ0FBO1lBQ0FBO1lBQ0E7WUFDQUE7WUFDQUE7WUFDQUE7WUFDQUE7WUFDQUE7WUFDQUE7WUFDQUE7O1lBRUE7WUFDQTtjQUNBVDtjQUNBQTtjQUNBQTtjQUNBQTtjQUNBQTtjQUNBQTtjQUNBO1lBQ0E7Y0FDQTtZQUNBOztZQUVBO1lBQ0FBO2NBQ0FIO1lBQ0E7WUFFQWE7Y0FDQTtjQUNBVjtnQkFDQUs7Z0JBQ0FYO2tCQUNBO2tCQUNBO2tCQUNBTTtnQkFDQTtnQkFDQVc7a0JBQ0E7a0JBQ0E7a0JBQ0E7b0JBQ0E7b0JBQ0FYO3NCQUNBSztzQkFDQVg7d0JBQ0E7d0JBQ0FNO3NCQUNBO3NCQUNBVzt3QkFDQTt3QkFDQVg7MEJBQ0FFOzBCQUNBQzt3QkFDQTtzQkFDQTtvQkFDQTtrQkFDQTtnQkFDQTtjQUNBO1lBQ0E7VUFDQTtZQUNBO1lBQ0E7WUFDQUg7Y0FDQUU7Y0FDQUM7Y0FDQUM7WUFDQTtVQUNBO1FBQ0E7UUFDQU87VUFDQTtVQUNBWDtVQUNBUjtVQUNBUTtZQUNBRTtZQUNBQztZQUNBQztVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FRO01BQ0E7TUFDQVo7UUFDQUc7UUFDQUM7UUFDQUY7TUFDQTtJQUNBO0lBQ0FXO01BQ0FiO1FBQ0FFO1FBQ0FZO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImxvZ2luXCI+XHJcblx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cclxuXHRcdFx0PCEtLSDlpLTpg6hsb2dvIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImhlYWRlclwiPlxyXG5cdFx0XHRcdDxpbWFnZSA6c3JjPVwiYC4uLy4uL3N0YXRpYy8xMjMucG5nYFwiPjwvaW1hZ2U+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PCEtLSDkuLvkvZPooajljZUgLS0+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwibWFpblwiPlxyXG5cdFx0XHRcdDx3SW5wdXQgdi1tb2RlbD1cInVzZXJuYW1lXCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIueUqOaIt+WQjVwiIDpmb2N1cz1cImlzRm9jdXNcIj48L3dJbnB1dD5cclxuXHRcdFx0XHQ8d0lucHV0IHYtbW9kZWw9XCJwYXNzd29yZFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCLnmbvlvZXlr4bnoIFcIj48L3dJbnB1dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8d0J1dHRvbiBjbGFzcz1cIndidXR0b25cIiB0ZXh0PVwi55m7IOW9lVwiIDpyb3RhdGU9XCJpc1JvdGF0ZVwiIEBjbGljaz1cInN0YXJ0TG9naW5cIj48L3dCdXR0b24+XHJcblx0XHRcdDx2aWV3IHN0eWxlPVwiaGVpZ2h0OiAxMDBycHg7XCI+PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB3SW5wdXQgZnJvbSAnLi4vLi4vY29tcG9uZW50cy93YXRjaC1sb2dpbi93YXRjaC1pbnB1dC52dWUnXHJcbmltcG9ydCB3QnV0dG9uIGZyb20gJy4uLy4uL2NvbXBvbmVudHMvd2F0Y2gtbG9naW4vd2F0Y2gtYnV0dG9uLnZ1ZSdcclxuaW1wb3J0IEFQSSBmcm9tICcuLi8uLi9hcGkvaW5kZXgnXHJcbnZhciBfc2VsZlxyXG52YXIgY29kZVxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0bG9nb0ltYWdlOicnLFxyXG5cdFx0XHRcdHVzZXJuYW1lOiAnYWRtaW4nLCAvL+eUqOaIty/nlLXor51cclxuXHRcdFx0XHRwYXNzd29yZDogJzExMTExMTEnLCAvL+WvhueggVxyXG5cdFx0XHRcdGlzUm90YXRlOiBmYWxzZSwgLy/mmK/lkKbliqDovb3ml4vovaxcclxuXHRcdFx0XHRpc0ZvY3VzOiB0cnVlIC8vIOaYr+WQpuiBmueEplxyXG5cdFx0XHR9O1xyXG5cdFx0fSxcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0d0lucHV0LFxyXG5cdFx0XHR3QnV0dG9uLFxyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKSB7XHJcblxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZCgpIHtcclxuXHRcdFx0X3NlbGYgPSB0aGlzXHJcblx0XHRcdF9zZWxmLmlzTG9naW4oKVxyXG5cclxuXHRcdFx0d3gubG9naW4oe1xyXG5cdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XHJcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUpIHtcclxuXHRcdFx0XHRcdFx0Y29kZSA9IHJlcy5jb2RlXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0aXNMb2dpbigpIHtcclxuXHRcdFx0XHQvL+WIpOaWree8k+WtmOS4reaYr+WQpueZu+W9lei/h++8jOebtOaOpeeZu+W9lVxyXG5cdFx0XHRcdHRyeSB7XHJcblx0XHRcdFx0XHRjb25zdCB0b2tlbiA9IHVuaS5nZXRTdG9yYWdlU3luYygnZXF1aXBtZW50X3Rva2VuJyk7XHJcblx0XHRcdFx0XHRjb25zdCBlcXVpcG1lbnRNYW5hZ2UgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF9tYW5hZ2UnKTtcclxuXHRcdFx0XHRcdGlmICh0b2tlbikge1xyXG5cdFx0XHRcdFx0XHQvL+acieeZu+W9leS/oeaBr1xyXG5cdFx0XHRcdFx0XHRnZXRBcHAoKS5nbG9iYWxEYXRhLnRva2VuID0gdG9rZW5cclxuXHRcdFx0XHRcdFx0Z2V0QXBwKCkuZ2xvYmFsRGF0YS5lcXVpcG1lbnRNYW5hZ2UgPSBlcXVpcG1lbnRNYW5hZ2VcclxuXHRcdFx0XHRcdFx0Y29uc3QgZXZlbnRDaGFubmVsID0gX3NlbGYuZ2V0T3BlbmVyRXZlbnRDaGFubmVsKClcclxuXHRcdFx0XHRcdFx0ZXZlbnRDaGFubmVsLmVtaXQoJ2lzTG9naW5Gcm9tTG9naW4nLCB7XHJcblx0XHRcdFx0XHRcdFx0aXNMb2dpbjogdHJ1ZVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cclxuXHRcdFx0XHRcdFx0dW5pLiRlbWl0KCdsb2dpblN0YXR1c0V2ZW50Jywge1xyXG5cdFx0XHRcdFx0XHRcdGlzTG9naW46IHRydWVcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGNhdGNoIChlKSB7XHJcblx0XHRcdFx0XHQvLyBlcnJvclxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0c3RhcnRMb2dpbihlKSB7XHJcblx0XHRcdFx0Ly/nmbvlvZVcclxuXHRcdFx0XHRpZiAoX3NlbGYuaXNSb3RhdGUpIHtcclxuXHRcdFx0XHRcdC8v5Yik5pat5piv5ZCm5Yqg6L295Lit77yM6YG/5YWN6YeN5aSN54K55Ye76K+35rGCXHJcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2VcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlmIChfc2VsZi51c2VybmFtZS5sZW5ndGggPT0gXCJcIikge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn55So5oi35ZCN5LiN6IO95Li656m6JyxcclxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnLFxyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogJ2NlbnRlcidcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKF9zZWxmLnBhc3N3b3JkLmxlbmd0aCA8IDUpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+eZu+W9leWvhueggeS4jeato+ehricsXHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246ICdjZW50ZXInXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0cmV0dXJuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRfc2VsZi5pc1JvdGF0ZSA9IHRydWVcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfnmbvlvZXkuK0uLi4uLidcclxuXHRcdFx0XHR9KVxyXG5cclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IEFQSS5Mb2dpbixcclxuXHRcdFx0XHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0XHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdFx0XHR1c2VybmFtZTogX3NlbGYudXNlcm5hbWUsXHJcblx0XHRcdFx0XHRcdHBhc3N3b3JkOiBfc2VsZi5wYXNzd29yZFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHQnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxyXG5cdFx0XHRcdFx0XHRfc2VsZi5pc1JvdGF0ZSA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCfnmbvlvZXnlKjmiLflk43lupTov5Tlm57mlbDmja7kv6Hmga86JywgcmVzLmRhdGEpO1xyXG5cclxuXHRcdFx0XHRcdFx0Ly8g5qOA5p+l5ZON5bqU5piv5ZCm5pyJ5pWIXHJcblx0XHRcdFx0XHRcdGlmICghcmVzLmRhdGEpIHtcclxuXHRcdFx0XHRcdFx0XHRfc2VsZi5wYXNzd29yZCA9ICcnXHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcign55m75b2V5aSx6LSlOiDlk43lupTmlbDmja7kuLrnqbonKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn55m75b2V5aSx6LSlOiDmnI3liqHlmajlk43lupTlvILluLgnLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnLFxyXG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246ICdjZW50ZXInXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC8vIOWkhOeQhkpTT07lk43lupRcclxuXHRcdFx0XHRcdFx0bGV0IHJlc3BvbnNlRGF0YSA9IHJlcy5kYXRhO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0Ly8g57uf5LiA6L2s5o2i5Li65a+56LGh5qC85byP77yI5aaC5p6c5piv5a2X56ym5Liy55qE6K+d77yJXHJcblx0XHRcdFx0XHRcdGlmICh0eXBlb2YgcmVzcG9uc2VEYXRhID09PSAnc3RyaW5nJykge1xyXG5cdFx0XHRcdFx0XHRcdHRyeSB7XHJcblx0XHRcdFx0XHRcdFx0XHRyZXNwb25zZURhdGEgPSBKU09OLnBhcnNlKHJlc3BvbnNlRGF0YSk7XHJcblx0XHRcdFx0XHRcdFx0fSBjYXRjaCAoZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcign6Kej5p6Q5ZON5bqU5pWw5o2u5aSx6LSlOicsIGUpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn55m75b2V5aSx6LSlOiDmnI3liqHlmajov5Tlm57moLzlvI/plJnor68nLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZScsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiAnY2VudGVyJ1xyXG5cdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC8vIOagueaNrmNvZGXliKTmlq3nmbvlvZXmmK/lkKbmiJDlip9cclxuXHRcdFx0XHRcdFx0Ly8g55m75b2V5oiQ5Yqf5ZCO5aKe5Yqg5pys5Zyw5a2Y5YKoXHJcblx0XHRcdFx0XHRcdGlmIChyZXNwb25zZURhdGEuY29kZSA9PT0gMCAmJiByZXNwb25zZURhdGEubXNnID09PSAn55m75b2V5oiQ5YqfJykge1xyXG5cdFx0XHRcdFx0XHRcdC8vIOeZu+W9leaIkOWKn++8jOaPkOWPlueUqOaIt+S/oeaBr+OAgXRva2Vu5ZKM6L+H5pyf5pe26Ze0XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgdXNlckluZm8gPSByZXNwb25zZURhdGEuZGF0YS51c2VyIHx8IHt9O1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IElEID0gdXNlckluZm8uaWQgfHwgJyc7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgdG9rZW4gPSByZXNwb25zZURhdGEuZGF0YS50b2tlbiB8fCAnJztcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBleHBpcmVBdCA9IHJlc3BvbnNlRGF0YS5kYXRhLmV4cGlyZXNBdCB8fCAnJztcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBidWlsZGluZyA9IHVzZXJJbmZvLmJ1aWxkaW5nIHx8ICcnO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IHJvb20gPSB1c2VySW5mby5yb29tIHx8ICcnO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IHBlbiA9IHVzZXJJbmZvLnBlbiB8fCAnJztcclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHQvLyDorr7nva7lhajlsYDnmbvlvZXnirbmgIHlkozkv6Hmga9cclxuXHRcdFx0XHRcdFx0XHRjb25zdCBhcHAgPSBnZXRBcHAoKTtcclxuXHRcdFx0XHRcdFx0XHQvLyDnoa7kv51nbG9iYWxEYXRh5a+56LGh5a2Y5ZyoXHJcblx0XHRcdFx0XHRcdFx0aWYgKCFhcHAuZ2xvYmFsRGF0YSkge1xyXG5cdFx0XHRcdFx0XHRcdCAgYXBwLmdsb2JhbERhdGEgPSB7fTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0Ly8g57uf5LiA6K6+572u5YWo5bGA5pWw5o2uXHJcblx0XHRcdFx0XHRcdFx0YXBwLmdsb2JhbERhdGEuSUQgPSBJRDtcclxuXHRcdFx0XHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS50b2tlbiA9IHRva2VuO1xyXG5cdFx0XHRcdFx0XHRcdGFwcC5nbG9iYWxEYXRhLnVzZXJJbmZvID0gdXNlckluZm87XHJcblx0XHRcdFx0XHRcdFx0YXBwLmdsb2JhbERhdGEuaXNMb2dnZWRJbiA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0YXBwLmdsb2JhbERhdGEuZXhwaXJlQXQgPSBleHBpcmVBdDtcclxuXHRcdFx0XHRcdFx0XHQvLyDorr7nva7lhajlsYDmlbDmja5cclxuXHRcdFx0XHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS5idWlsZGluZyA9IGJ1aWxkaW5nOyAvLyDmoIvoiI3nvJblj7dcclxuXHRcdFx0XHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS5yb29tID0gcm9vbTsgICAgICAgLy8g5oi/6Ze057yW5Y+3XHJcblx0XHRcdFx0XHRcdFx0YXBwLmdsb2JhbERhdGEucGVuID0gcGVuOyAgICAgICAgIC8vIOagj+S9jee8luWPt1xyXG5cdFx0XHRcdFx0XHRcdGFwcC5nbG9iYWxEYXRhLmJ1aWxkaW5nTmFtZSA9IGJ1aWxkaW5nO1xyXG5cdFx0XHRcdFx0XHRcdGFwcC5nbG9iYWxEYXRhLnJvb21OYW1lID0gcm9vbTtcclxuXHRcdFx0XHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS5wZW5ObyA9IHBlbjtcclxuXHRcdFx0XHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS5lcXVpcG1lbnRfbWFuYWdlID0gJyc7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdC8vIOaMgeS5heWMluWIsOacrOWcsOWtmOWCqO+8jOehruS/neW6lOeUqOmHjeWQr+WQjuS7jeiDveS/neeVmeeZu+W9leeKtuaAgVxyXG5cdFx0XHRcdFx0XHRcdHRyeSB7XHJcblx0XHRcdFx0XHRcdFx0ICB1bmkuc2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF90b2tlbicsIHRva2VuKTtcclxuXHRcdFx0XHRcdFx0XHQgIHVuaS5zZXRTdG9yYWdlU3luYygndG9rZW5fZXhwaXJlX3RpbWUnLCBleHBpcmVBdCk7XHJcblx0XHRcdFx0XHRcdFx0ICB1bmkuc2V0U3RvcmFnZVN5bmMoJ3VzZXJfaW5mbycsIHVzZXJJbmZvKTtcclxuXHRcdFx0XHRcdFx0XHQgIHVuaS5zZXRTdG9yYWdlU3luYygnYnVpbGRpbmcnLCBidWlsZGluZyk7XHJcblx0XHRcdFx0XHRcdFx0ICB1bmkuc2V0U3RvcmFnZVN5bmMoJ3Jvb20nLCByb29tKTtcclxuXHRcdFx0XHRcdFx0XHQgIHVuaS5zZXRTdG9yYWdlU3luYygncGVuJywgcGVuKTtcclxuXHRcdFx0XHRcdFx0XHQgIGNvbnNvbGUubG9nKCfnmbvlvZXkv6Hmga/lt7Lkv53lrZjliLDmnKzlnLDlrZjlgqgnKTtcclxuXHRcdFx0XHRcdFx0XHR9IGNhdGNoIChlKSB7XHJcblx0XHRcdFx0XHRcdFx0ICBjb25zb2xlLmVycm9yKCfkv53lrZjnmbvlvZXkv6Hmga/liLDmnKzlnLDlrZjlgqjlpLHotKU6JywgZSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHQvLyDop6blj5HnmbvlvZXnirbmgIHmm7TmlrDkuovku7ZcclxuXHRcdFx0XHRcdFx0XHR1bmkuJGVtaXQoJ2xvZ2luU3RhdHVzRXZlbnQnLCB7XHJcblx0XHRcdFx0XHRcdFx0ICBpc0xvZ2luOiB0cnVlXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHQgIC8vIOeZu+W9leaIkOWKn+WQjui3s+i9rOWIsOmmlumhte+8jOmBv+WFjeebtOaOpei3s+WIsOS4quS6uuS4reW/g+WvvOiHtOmhtemdouWIh+aNoumXrumimFxyXG5cdFx0XHRcdFx0XHRcdCAgdW5pLnN3aXRjaFRhYih7XHJcblx0XHRcdFx0XHRcdFx0ICAgIHVybDogJy9wYWdlcy9pbmRleC9pbmRleCcsXHJcblx0XHRcdFx0XHRcdFx0ICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdCAgICAgIGNvbnNvbGUubG9nKCfot7PovazliLDpppbpobXmiJDlip86JywgcmVzKTtcclxuXHRcdFx0XHRcdFx0XHQgICAgICAvLyDot7PovazmiJDlip/lkI7vvIzpgJrnn6XpppbpobXliqDovb3nlKjmiLfnvJblj7fkv6Hmga9cclxuXHRcdFx0XHRcdFx0XHQgICAgICB1bmkuJGVtaXQoJ3JlbG9hZFVzZXJTZXR0aW5ncycsIHt9KTtcclxuXHRcdFx0XHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHRcdFx0XHQgICAgZmFpbDogZnVuY3Rpb24oZXJyKSB7XHJcblx0XHRcdFx0XHRcdFx0ICAgICAgY29uc29sZS5lcnJvcign6Lez6L2s5Yiw6aaW6aG15aSx6LSlOicsIGVycik7XHJcblx0XHRcdFx0XHRcdFx0ICAgICAgLy8g5aaC5p6cc3dpdGNoVGFi5aSx6LSl77yM5bCd6K+V5L2/55SocmVkaXJlY3RUb+S9nOS4uuWkh+mAieaWueahiFxyXG5cdFx0XHRcdFx0XHRcdCAgICAgIGlmIChlcnIuZXJyTXNnICYmIGVyci5lcnJNc2cuaW5jbHVkZXMoJ3RhYkJhcicpKSB7XHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICBjb25zb2xlLndhcm4oJ3N3aXRjaFRhYuWksei0pe+8jOWwneivleS9v+eUqHJlZGlyZWN0VG8nKTtcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgIHVuaS5yZWRpcmVjdFRvKHtcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgdXJsOiAnL3BhZ2VzL2luZGV4L2luZGV4JyxcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgY29uc29sZS5sb2coJ3JlZGlyZWN0VG/liLDpppbpobXmiJDlip86JywgcmVzKTtcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICB1bmkuJGVtaXQoJ3JlbG9hZFVzZXJTZXR0aW5ncycsIHt9KTtcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgfSxcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgZmFpbDogZnVuY3Rpb24ocmVkaXJlY3RFcnIpIHtcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdyZWRpcmVjdFRv5Yiw6aaW6aG15Lmf5aSx6LSlOicsIHJlZGlyZWN0RXJyKTtcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICAgIHRpdGxlOiAn6Lez6L2s5aSx6LSl77yM6K+35omL5Yqo6L+b5YWl6aaW6aG1JyxcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICAgIGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIH0pO1xyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICB9XHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICB9KTtcclxuXHRcdFx0XHRcdFx0XHQgICAgICB9XHJcblx0XHRcdFx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHRcdFx0XHQgIH0pXHJcblx0XHRcdFx0XHRcdFx0fSwgNTAwKVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGVycm9yTXNnID0gcmVzcG9uc2VEYXRhLm1zZyB8fCAn55m75b2V5aSx6LSlJztcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn55m75b2V5aSx6LSlOicsIGVycm9yTXNnLCByZXMpO1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IGVycm9yTXNnLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnLFxyXG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246ICdjZW50ZXInXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcign55m75b2V6K+35rGC5aSx6LSlOicsIGVycik7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRfc2VsZi5pc1JvdGF0ZSA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+e9kee7nOW8guW4uO+8jOivt+ajgOafpee9kee7nOi/nuaOpScsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnLFxyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiAnY2VudGVyJ1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRsb2dpbl93ZWl4aW4oKSB7XHJcblx0XHRcdFx0Ly/lvq7kv6HnmbvlvZVcclxuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiAnYm90dG9tJyxcclxuXHRcdFx0XHRcdHRpdGxlOiAnLi4uJ1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRmb3JnZXQoKSB7XHJcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+aPkOekuicsXHJcblx0XHRcdFx0XHRjb250ZW50OiAn6K+36IGU57O757O757uf566h55CG5ZGYJyxcclxuXHRcdFx0XHRcdHNob3dDYW5jZWw6IGZhbHNlLFxyXG5cdFx0XHRcdFx0Y29uZmlybVRleHQ6ICfnn6XpgZPkuoYnLFxyXG5cdFx0XHRcdFx0Y29uZmlybUNvbG9yOiAnIzMzMzMzMydcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0QGltcG9ydCB1cmwoXCIuLi8uLi9jb21wb25lbnRzL3dhdGNoLWxvZ2luL2Nzcy9pY29uLmNzc1wiKTtcclxuXHRAaW1wb3J0IHVybChcIi4vY3NzL21haW4uY3NzXCIpO1xyXG5cdHBhZ2Uge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHR9XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///11\n"); /***/ }), /* 12 */ /*!*********************************************************!*\ !*** ./node_modules/@dcloudio/uni-mp-weixin/dist/mp.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(global) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); Object.defineProperty(exports, "__esModule", { value: true }); exports.Behavior = Behavior; exports.Component = Component; exports.Page = Page; exports.nextTick = exports.default = void 0; var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2)); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 14)); var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 20)); var _PROP_DEFAULT_VALUES; function parseData(data, vueComponentOptions) { if (!data) { return; } vueComponentOptions.mpOptions.data = data; } function parseComponents(vueComponentOptions) { vueComponentOptions.components = global.__wxVueOptions.components; } var _toString = Object.prototype.toString; var hasOwnProperty = Object.prototype.hasOwnProperty; function isFn(fn) { return typeof fn === 'function'; } function isPlainObject(obj) { return _toString.call(obj) === '[object Object]'; } function hasOwn(obj, key) { return hasOwnProperty.call(obj, key); } function noop() {} /** * Create a cached version of a pure function. */ function cached(fn) { var cache = Object.create(null); return function cachedFn(str) { var hit = cache[str]; return hit || (cache[str] = fn(str)); }; } /** * Camelize a hyphen-delimited string. */ var camelizeRE = /-(\w)/g; var camelize = cached(function (str) { return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }); }); var SOURCE_KEY = '__data__'; var COMPONENT_LIFECYCLE = { created: 'onServiceCreated', attached: 'onServiceAttached', ready: 'mounted', moved: 'moved', detached: 'destroyed' }; var COMPONENT_LIFECYCLE_KEYS = Object.keys(COMPONENT_LIFECYCLE); var PAGE_LIFETIMES = { show: 'onPageShow', hide: 'onPageHide', resize: 'onPageResize' }; var PAGE_LIFETIMES_KEYS = Object.keys(PAGE_LIFETIMES); var PAGE_LIFECYCLE = ['onLoad', 'onShow', 'onReady', 'onHide', 'onUnload', 'onPullDownRefresh', 'onReachBottom', 'onShareAppMessage', 'onPageScroll', 'onResize', 'onTabItemTap']; function parsePageMethods(mpComponentOptions, vueComponentOptions) { var methods = Object.create(null); Object.keys(mpComponentOptions).forEach(function (key) { var value = mpComponentOptions[key]; if (isFn(value) && PAGE_LIFECYCLE.indexOf(key) === -1) { methods[key] = value; } }); vueComponentOptions.methods = methods; } function parsePageLifecycle(mpComponentOptions, vueComponentOptions) { Object.keys(mpComponentOptions).forEach(function (key) { if (PAGE_LIFECYCLE.indexOf(key) !== -1) { vueComponentOptions[key] = mpComponentOptions[key]; } }); } function parsePage(mpComponentOptions) { var vueComponentOptions = { mixins: [], mpOptions: {} }; parseComponents(vueComponentOptions); parseData(mpComponentOptions.data, vueComponentOptions); parsePageMethods(mpComponentOptions, vueComponentOptions); parsePageLifecycle(mpComponentOptions, vueComponentOptions); return vueComponentOptions; } function parseProperties(properties, vueComponentOptions) { if (!properties) { return; } vueComponentOptions.mpOptions.properties = properties; } function parseOptions(options, vueComponentOptions) { if (!options) { return; } vueComponentOptions.mpOptions.options = options; } function parseMethods(methods, vueComponentOptions) { if (!methods) { return; } if (methods.$emit) { console.warn('Method "$emit" conflicts with an existing Vue instance method'); delete methods.$emit; } vueComponentOptions.methods = methods; } function parseLifecycle(mpComponentOptions, vueComponentOptions) { COMPONENT_LIFECYCLE_KEYS.forEach(function (name) { if (hasOwn(mpComponentOptions, name)) { (vueComponentOptions[COMPONENT_LIFECYCLE[name]] || (vueComponentOptions[COMPONENT_LIFECYCLE[name]] = [])).push(mpComponentOptions[name]); } }); } var mpBehaviors = { 'wx://form-field': {}, 'wx://component-export': {} }; function callDefinitionFilter(mpComponentOptions) { var behaviors = mpComponentOptions.behaviors, definitionFilter = mpComponentOptions.definitionFilter; var behaviorDefinitionFilters = []; if (Array.isArray(behaviors)) { behaviors.forEach(function (behavior) { behavior = typeof behavior === 'string' ? mpBehaviors[behavior] : behavior; if (behavior.definitionFilter) { behaviorDefinitionFilters.push(behavior.definitionFilter); behavior.definitionFilter.call(null, mpComponentOptions, []); } }); } if (isFn(definitionFilter)) { return function (defFields) { definitionFilter(defFields, behaviorDefinitionFilters); }; } } function parseDefinitionFilter(mpComponentOptions, vueComponentOptions) { callDefinitionFilter(mpComponentOptions); } function parseBehavior(behavior) { var data = behavior.data, methods = behavior.methods, behaviors = behavior.behaviors, properties = behavior.properties; var vueComponentOptions = { watch: {}, mpOptions: { mpObservers: [] } }; parseData(data, vueComponentOptions); parseMethods(methods, vueComponentOptions); parseBehaviors(behaviors, vueComponentOptions); parseProperties(properties, vueComponentOptions); parseLifecycle(behavior, vueComponentOptions); parseDefinitionFilter(behavior); return vueComponentOptions; } var BEHAVIORS = { 'wx://form-field': { beforeCreate: function beforeCreate() { var mpOptions = this.$options.mpOptions; if (!mpOptions.properties) { mpOptions.properties = Object.create(null); } var props = mpOptions.properties; // TODO form submit,reset if (!hasOwn(props, 'name')) { props.name = { type: String }; } if (!hasOwn(props, 'value')) { props.value = { type: String // 默认类型调整为 String,否则默认值为 null,导致一些自定义 input 显示不正确 }; } } } }; function parseBehaviors(behaviors, vueComponentOptions) { if (!behaviors) { return; } behaviors.forEach(function (behavior) { if (typeof behavior === 'string') { BEHAVIORS[behavior] && vueComponentOptions.mixins.push(BEHAVIORS[behavior]); } else { vueComponentOptions.mixins.push(parseBehavior(behavior)); } }); } function parseSinglePath(path) { return path.split('.'); } function parseMultiPaths(paths) { return paths.split(',').map(function (path) { return parseSinglePath(path); }); } function parseObservers(observers, vueComponentOptions) { if (!observers) { return; } var mpObservers = vueComponentOptions.mpOptions.mpObservers; Object.keys(observers).forEach(function (path) { mpObservers.push({ paths: parseMultiPaths(path), observer: observers[path] }); }); } function relative(from, to) { if (to.indexOf('/') === 0) { from = ''; } var fromArr = from.split('/'); var toArr = to.split('/'); fromArr.pop(); while (toArr.length) { var part = toArr.shift(); if (part !== '' && part !== '.') { if (part !== '..') { fromArr.push(part); } else { fromArr.pop(); } } } return fromArr.join('/'); } function parseRelations(relations, vueComponentOptions) { if (!relations) { return; } Object.keys(relations).forEach(function (name) { var relation = relations[name]; relation.name = name; relation.target = relation.target ? String(relation.target) : relative(global.__wxRoute, name); }); vueComponentOptions.mpOptions.relations = relations; } function parseExternalClasses(externalClasses, vueComponentOptions) { if (!externalClasses) { return; } if (!Array.isArray(externalClasses)) { externalClasses = [externalClasses]; } vueComponentOptions.mpOptions.externalClasses = externalClasses; if (!vueComponentOptions.mpOptions.properties) { vueComponentOptions.mpOptions.properties = Object.create(null); } externalClasses.forEach(function (externalClass) { vueComponentOptions.mpOptions.properties[camelize(externalClass)] = { type: String, value: '' }; }); } function parseLifetimes(lifetimes, vueComponentOptions) { if (!lifetimes) { return; } parseLifecycle(lifetimes, vueComponentOptions); } function parsePageLifetimes(pageLifetimes, vueComponentOptions) { if (!pageLifetimes) { return; } PAGE_LIFETIMES_KEYS.forEach(function (key) { var lifetimeFn = pageLifetimes[key]; isFn(lifetimeFn) && (vueComponentOptions[PAGE_LIFETIMES[key]] = lifetimeFn); }); } function parseComponent(mpComponentOptions) { var data = mpComponentOptions.data, options = mpComponentOptions.options, methods = mpComponentOptions.methods, behaviors = mpComponentOptions.behaviors, lifetimes = mpComponentOptions.lifetimes, observers = mpComponentOptions.observers, relations = mpComponentOptions.relations, properties = mpComponentOptions.properties, pageLifetimes = mpComponentOptions.pageLifetimes, externalClasses = mpComponentOptions.externalClasses; var vueComponentOptions = { mixins: [], props: {}, watch: {}, mpOptions: { mpObservers: [] } }; parseComponents(vueComponentOptions); parseData(data, vueComponentOptions); parseOptions(options, vueComponentOptions); parseMethods(methods, vueComponentOptions); parseBehaviors(behaviors, vueComponentOptions); parseLifetimes(lifetimes, vueComponentOptions); parseObservers(observers, vueComponentOptions); parseRelations(relations, vueComponentOptions); parseProperties(properties, vueComponentOptions); parsePageLifetimes(pageLifetimes, vueComponentOptions); parseExternalClasses(externalClasses, vueComponentOptions); parseLifecycle(mpComponentOptions, vueComponentOptions); parseDefinitionFilter(mpComponentOptions); return vueComponentOptions; } function initRelationHandlers(type, handler, target, ctx) { if (!handler) { return; } var name = "_$".concat(type, "Handlers"); (ctx[name] || (ctx[name] = [])).push(function () { handler.call(ctx, target); }); } function initLinkedHandlers(relation, target, ctx) { var type = 'linked'; var name = relation.name; var relationNodes = ctx._$relationNodes || (ctx._$relationNodes = Object.create(null)); (relationNodes[name] || (relationNodes[name] = [])).push(target); initRelationHandlers(type, relation[type], target, ctx); } function initUnlinkedHandlers(relation, target, ctx) { var type = 'unlinked'; initRelationHandlers(type, relation[type], target, ctx); } function findParentRelation(parentVm, target, type) { var relations = parentVm && parentVm.$options.mpOptions && parentVm.$options.mpOptions.relations; if (!relations) { return []; } var name = Object.keys(relations).find(function (name) { var relation = relations[name]; return relation.target === target && relation.type === type; }); if (!name) { return []; } return [relations[name], parentVm]; } function initParentRelation(vm, childRelation, match) { var _match = match(vm, vm.$options.mpOptions.path), _match2 = (0, _slicedToArray2.default)(_match, 2), parentRelation = _match2[0], parentVm = _match2[1]; if (!parentRelation) { return; } initLinkedHandlers(parentRelation, vm, parentVm); initLinkedHandlers(childRelation, parentVm, vm); initUnlinkedHandlers(parentRelation, vm, parentVm); initUnlinkedHandlers(childRelation, parentVm, vm); } function initRelation(relation, vm) { var type = relation.type; if (type === 'parent') { initParentRelation(vm, relation, function matchParent(vm, target) { return findParentRelation(vm.$parent, target, 'child'); }); } else if (type === 'ancestor') { initParentRelation(vm, relation, function matchAncestor(vm, target) { var $parent = vm.$parent; while ($parent) { var ret = findParentRelation($parent, target, 'descendant'); if (ret.length) { return ret; } $parent = $parent.$parent; } return []; }); } } function initRelations(vm) { var _ref = vm.$options.mpOptions || {}, relations = _ref.relations; if (!relations) { return; } Object.keys(relations).forEach(function (name) { initRelation(relations[name], vm); }); } function handleRelations(vm, type) { // TODO 需要移除 relationNodes var handlers = vm["_$".concat(type, "Handlers")]; if (!handlers) { return; } handlers.forEach(function (handler) { return handler(); }); } var sharedPropertyDefinition = { enumerable: true, configurable: true, get: noop, set: noop }; function proxy(target, sourceKey, key) { sharedPropertyDefinition.get = function proxyGetter() { return this[sourceKey][key]; }; sharedPropertyDefinition.set = function proxySetter(val) { this[sourceKey][key] = val; }; Object.defineProperty(target, key, sharedPropertyDefinition); } function setDataByExprPath(exprPath, value, data) { var keys = exprPath.replace(/\[(\d+?)\]/g, '.$1').split('.'); keys.reduce(function (obj, key, idx) { if (idx === keys.length - 1) { obj[key] = value; } else { if (typeof obj[key] === 'undefined') { obj[key] = {}; } return obj[key]; } }, data); return keys.length === 1; } function setData(data, callback) { var _this = this; if (!isPlainObject(data)) { return; } Object.keys(data).forEach(function (key) { if (setDataByExprPath(key, data[key], _this.data)) { !hasOwn(_this, key) && proxy(_this, SOURCE_KEY, key); } }); this.$forceUpdate(); isFn(callback) && this.$nextTick(callback); } /** * https://github.com/swan-team/swan-js/blob/61e2a63f7aa576b5daafbe77fdfa7c65b977060c/src/utils/index.js */ var _toString$1 = Object.prototype.toString; /** * 深度assign的函数 * @param {Object} targetObject 要被拷贝的目标对象 * @param {Object} originObject 拷贝的源对象 * @return {Object} merge后的对象 */ var deepAssign = function deepAssign() { var targetObject = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var originObject = arguments.length > 1 ? arguments[1] : undefined; var originType = _toString$1.call(originObject); if (originType === '[object Array]') { targetObject = originObject.slice(0); return targetObject; } else if (originType === '[object Object]') { for (var key in originObject) { targetObject[key] = deepAssign(targetObject[key], originObject[key]); } return targetObject; } else if (originType === '[object Date]') { return new Date(originObject.getTime()); } else if (originType === '[object RegExp]') { var target = String(originObject); var lastIndex = target.lastIndexOf('/'); return new RegExp(target.slice(1, lastIndex), target.slice(lastIndex + 1)); } return originObject; }; /** * 深度拷贝逻辑,不同于lodash等库,但是与微信一致 * @param {*} [originObj] 原对象 * @return {Object|Array} 拷贝结果 */ var deepClone = function deepClone(originObj) { return deepAssign(_toString$1.call(originObj) === '[object Array]' ? [] : {}, originObj); }; var PROP_DEFAULT_VALUES = (_PROP_DEFAULT_VALUES = {}, (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, String, ''), (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, Number, 0), (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, Boolean, false), (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, Object, null), (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, Array, []), (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, null, null), _PROP_DEFAULT_VALUES); function getDefaultVal(propType) { return PROP_DEFAULT_VALUES[propType]; } function getPropertyVal(options) { if (isPlainObject(options)) { if (hasOwn(options, 'value')) { return options.value; } return getDefaultVal(options.type); } return getDefaultVal(options); } function getType(propOptions) { return isPlainObject(propOptions) ? propOptions.type : propOptions; } function validateProp(key, propsOptions, propsData, vm) { var value = propsData[key]; if (value !== undefined) { var propOptions = propsOptions[key]; var type = getType(propOptions); value = formatVal(value, type); var observer = propOptions && propOptions.observer; if (observer) { // 初始化时,异步触发 observer,否则 observer 中无法访问 methods 或其他 setTimeout(function () { observe(observer, vm, value); }, 4); } return value; } return getPropertyVal(propsOptions[key]); } function formatVal(val, type) { if (type === Boolean) { return !!val; } else if (type === String) { return String(val); } return val; } function observe(observer, vm, newVal, oldVal) { try { if (typeof observer === 'function') { observer.call(vm, newVal, oldVal); } else if (typeof observer === 'string' && typeof vm[observer] === 'function') { vm[observer](newVal, oldVal); } } catch (err) { console.error("execute observer ".concat(observer, " callback fail! err: ").concat(err)); } } function initProperties(vm, instanceData) { var properties = vm.$options.mpOptions.properties; if (!properties) { return; } var propsData = deepClone(vm.$options.propsData) || {}; var _loop = function _loop(key) { var observer = isPlainObject(properties[key]) ? properties[key].observer : false; var value = validateProp(key, properties, propsData, vm); Object.defineProperty(instanceData, key, { enumerable: true, configurable: true, get: function get() { return value; }, set: function set(newVal) { var oldVal = value; /* eslint-disable no-self-compare */ if (newVal === value || newVal !== newVal && value !== value) { return; } // TODO 临时方案,clone array value = Array.isArray(newVal) ? newVal.slice(0) : newVal; if (observer) { observe(observer, vm, newVal, oldVal); } // 触发渲染 vm.$forceUpdate(); } }); }; for (var key in properties) { _loop(key); } } function updateProperties(vm) { var properties = vm.$options.mpOptions && vm.$options.mpOptions.properties; var propsData = vm.$options.propsData; if (propsData && properties) { Object.keys(properties).forEach(function (key) { if (hasOwn(propsData, key)) { vm[key] = formatVal(propsData[key], getType(properties[key])); } }); } } function initState(vm) { var instanceData = JSON.parse(JSON.stringify(vm.$options.mpOptions.data || {})); vm[SOURCE_KEY] = instanceData; var propertyDefinition = { get: function get() { return vm[SOURCE_KEY]; }, set: function set(value) { vm[SOURCE_KEY] = value; } }; Object.defineProperties(vm, { data: propertyDefinition, properties: propertyDefinition }); vm.setData = setData; initProperties(vm, instanceData); Object.keys(instanceData).forEach(function (key) { proxy(vm, SOURCE_KEY, key); }); } function initMethods(vm) { var oldEmit = vm.$emit; vm.triggerEvent = function (eventName, detail, options) { var target = { dataset: vm.$el.dataset }; var event = { target: target, currentTarget: target, detail: detail, preventDefault: noop, stopPropagation: noop }; oldEmit.call(vm, eventName, event); }; // 主要是Vant 自己封装了 $emit,放到 methods 中会触发 Vue 的警告,索性,框架直接重写该方法 vm.$emit = function () { vm.triggerEvent.apply(vm, arguments); }; vm.getRelationNodes = function (relationKey) { // 需要过滤已被销毁的vm /* eslint-disable no-mixed-operators */ return (vm._$relationNodes && vm._$relationNodes[relationKey] || []).filter(function (vm) { return !vm._isDestroyed; }); }; vm._$updateProperties = updateProperties; } function handleObservers(vm) { var watch = vm.$options.watch; if (!watch) { return; } Object.keys(watch).forEach(function (name) { var observer = watch[name]; if (observer.mounted) { var val = vm[name]; var handler = observer.handler; if (typeof handler === 'string') { handler = vm[handler]; } handler && handler.call(vm, val, val); } }); } var polyfill = { beforeCreate: function beforeCreate() { // 取消 development 时的 Proxy,避免小程序组件模板中使用尚未定义的属性告警 this._renderProxy = this; this._$self = this; this._$noop = noop; }, created: function created() { // properties 中可能会访问 methods,故需要在 created 中初始化 initState(this); initMethods(this); initRelations(this); }, mounted: function mounted() { handleObservers(this); }, destroyed: function destroyed() { handleRelations(this, 'unlinked'); } }; global.__wxRoute = ''; global.__wxComponents = Object.create(null); global.__wxVueOptions = Object.create(null); function Page(options) { var pageOptions = parsePage(options); pageOptions.mixins.unshift(polyfill); pageOptions.mpOptions.path = global.__wxRoute; global.__wxComponents[global.__wxRoute] = pageOptions; } function initRelationsHandler(vueComponentOptions) { // linked 需要在当前组件 attached 之后再执行 if (!vueComponentOptions.onServiceAttached) { vueComponentOptions.onServiceAttached = []; } vueComponentOptions.onServiceAttached.push(function onServiceAttached() { handleRelations(this, 'linked'); }); } function Component(options) { var componentOptions = parseComponent(options); componentOptions.mixins.unshift(polyfill); componentOptions.mpOptions.path = global.__wxRoute; initRelationsHandler(componentOptions); global.__wxComponents[global.__wxRoute] = componentOptions; } function Behavior(options) { return options; } var nextTick = _vue.default.nextTick; exports.nextTick = nextTick; var index = uni.__$wx__; var _default = index; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 13))) /***/ }), /* 13 */ /*!***********************************!*\ !*** (webpack)/buildin/global.js ***! \***********************************/ /*! no static exports found */ /***/ (function(module, exports) { var g; // This works in non-strict mode g = (function() { return this; })(); try { // This works if eval is allowed (see CSP) g = g || new Function("return this")(); } catch (e) { // This works if the window reference is available if (typeof window === "object") g = window; } // g can still be undefined, but nothing to do about it... // We return undefined, instead of nothing here, so it's // easier to handle this case. if(!global) { ...} module.exports = g; /***/ }), /* 14 */ /*!**************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/slicedToArray.js ***! \**************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ 15); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ 16); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ 17); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ 19); function _slicedToArray(arr, i) { return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /* 15 */ /*!***************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /* 16 */ /*!*********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \*********************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) { ; } } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /* 17 */ /*!***************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \***************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ 18); function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen); } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /* 18 */ /*!*****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \*****************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /* 19 */ /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \****************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /* 20 */ /*!**********************!*\ !*** external "Vue" ***! \**********************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = Vue; /***/ }), /* 21 */ /*!*********************************************************************!*\ !*** ./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) } /***/ }), /* 22 */ /*!***********************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/components/watch-login/watch-input.vue ***! \***********************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _watch_input_vue_vue_type_template_id_697460bd___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./watch-input.vue?vue&type=template&id=697460bd& */ 23);\n/* harmony import */ var _watch_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./watch-input.vue?vue&type=script&lang=js& */ 25);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _watch_input_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 _watch_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 27);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _watch_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _watch_input_vue_vue_type_template_id_697460bd___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _watch_input_vue_vue_type_template_id_697460bd___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _watch_input_vue_vue_type_template_id_697460bd___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/watch-login/watch-input.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBd0g7QUFDeEg7QUFDK0Q7QUFDTDs7O0FBRzFEO0FBQ3FMO0FBQ3JMLGdCQUFnQix5TEFBVTtBQUMxQixFQUFFLGlGQUFNO0FBQ1IsRUFBRSxzRkFBTTtBQUNSLEVBQUUsK0ZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMEZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL3dhdGNoLWlucHV0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02OTc0NjBiZCZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL3dhdGNoLWlucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vd2F0Y2gtaW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcImNvbXBvbmVudHMvd2F0Y2gtbG9naW4vd2F0Y2gtaW5wdXQudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///22\n"); /***/ }), /* 23 */ /*!******************************************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/components/watch-login/watch-input.vue?vue&type=template&id=697460bd& ***! \******************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_vue_vue_type_template_id_697460bd___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./watch-input.vue?vue&type=template&id=697460bd& */ 24); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_vue_vue_type_template_id_697460bd___WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_vue_vue_type_template_id_697460bd___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_vue_vue_type_template_id_697460bd___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_vue_vue_type_template_id_697460bd___WEBPACK_IMPORTED_MODULE_0__["components"]; }); /***/ }), /* 24 */ /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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!D:/UserData/Desktop/w/UhfChengBangZi/components/watch-login/watch-input.vue?vue&type=template&id=697460bd& ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! 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", "main-list oBorder"), attrs: { _i: 0 } }, [ _c("input", { staticClass: _vm._$s(1, "sc", "main-input"), attrs: { value: _vm._$s(1, "a-value", _vm.value), type: _vm._$s(1, "a-type", _vm._type), focus: _vm._$s(1, "a-focus", _vm._focus), maxlength: _vm._$s(1, "a-maxlength", _vm.maxlength), placeholder: _vm._$s(1, "a-placeholder", _vm.placeholder), password: _vm._$s( 1, "a-password", _vm.type === "password" && !_vm.showPassword ), _i: 1, }, on: { input: function ($event) { return _vm.$emit("input", $event.detail.value) }, blur: function ($event) { return _vm.$emit("blur", $event) }, focus: function ($event) { return _vm.$emit("focus", $event) }, longpress: function ($event) { return _vm.$emit("longtap", $event) }, confirm: function ($event) { return _vm.$emit("confirm", $event) }, click: function ($event) { return _vm.$emit("click", $event) }, touchcancel: function ($event) { return _vm.$emit("touchcancel", $event) }, touchend: function ($event) { return _vm.$emit("touchend", $event) }, touchmove: function ($event) { return _vm.$emit("touchmove", $event) }, touchstart: function ($event) { return _vm.$emit("touchstart", $event) }, }, }), _vm._$s( 2, "i", _vm._isShowPass && _vm.type === "password" && !_vm._isShowCode ) ? _c("image", { staticClass: _vm._$s(2, "sc", "img cuIcon"), class: _vm._$s( 2, "c", _vm.showPassword ? "cuIcon-attention" : "cuIcon-attentionforbid" ), attrs: { _i: 2 }, on: { click: _vm.showPass }, }) : _vm._e(), _vm._$s(3, "i", _vm._isShowCode && !_vm._isShowPass) ? _c( "view", { class: _vm._$s(3, "c", [ "vercode", { "vercode-run": _vm.second > 0 }, ]), attrs: { _i: 3 }, on: { click: _vm.setCode }, }, [_vm._v(_vm._$s(3, "t0-0", _vm._s(_vm.getVerCodeSecond)))] ) : _vm._e(), ] ) } var recyclableRender = false var staticRenderFns = [] render._withStripped = true /***/ }), /* 25 */ /*!************************************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/components/watch-login/watch-input.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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./watch-input.vue?vue&type=script&lang=js& */ 26);\n/* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_input_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQSttQixDQUFnQixpbkJBQUcsRUFBQyIsImZpbGUiOiIyNS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3dhdGNoLWlucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS03LTEhLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXVuaS1hcHAtbG9hZGVyL3VzaW5nLWNvbXBvbmVudHMuanMhLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vd2F0Y2gtaW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///25\n"); /***/ }), /* 26 */ /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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!D:/UserData/Desktop/w/UhfChengBangZi/components/watch-login/watch-input.vue?vue&type=script&lang=js& ***! \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! 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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar _this, countDown;\nvar _default = {\n data: function data() {\n return {\n showPassword: false,\n //是否显示明文\n second: 0,\n //倒计时\n isRunCode: false //是否开始倒计时\n };\n },\n\n props: {\n type: String,\n //类型\n value: String,\n //值\n placeholder: String,\n //框内提示\n maxlength: {\n //最大长度\n type: [Number, String],\n default: 20\n },\n isShowPass: {\n //是否显示密码图标(二选一)\n type: [Boolean, String],\n default: false\n },\n isShowCode: {\n //是否显示获取验证码(二选一)\n type: [Boolean, String],\n default: false\n },\n codeText: {\n type: String,\n default: \"获取验证码\"\n },\n setTime: {\n //倒计时时间设置\n type: [Number, String],\n default: 60\n },\n focus: {\n //是否聚焦 \n type: [Boolean, String],\n default: false\n }\n },\n model: {\n prop: 'value',\n event: 'input'\n },\n mounted: function mounted() {\n var _this2 = this;\n _this = this;\n //准备触发\n this.$on('runCode', function (val) {\n _this2.runCode(val);\n });\n clearInterval(countDown); //先清理一次循环,避免缓存\n },\n\n methods: {\n showPass: function showPass() {\n //是否显示密码\n this.showPassword = !this.showPassword;\n },\n setCode: function setCode() {\n //设置获取验证码的事件\n if (this.isRunCode) {\n //判断是否开始倒计时,避免重复点击\n return false;\n }\n this.$emit('setCode');\n },\n runCode: function runCode(val) {\n //开始倒计时\n if (String(val) == \"0\") {\n //判断是否需要终止循环\n this.second = 0; //初始倒计时\n clearInterval(countDown); //清理循环\n this.isRunCode = false; //关闭循环状态\n return false;\n }\n if (this.isRunCode) {\n //判断是否开始倒计时,避免重复点击\n return false;\n }\n this.isRunCode = true;\n this.second = this._setTime; //倒数秒数\n\n var _this = this;\n countDown = setInterval(function () {\n _this.second--;\n if (_this.second == 0) {\n _this.isRunCode = false;\n clearInterval(countDown);\n }\n }, 1000);\n }\n },\n computed: {\n _type: function _type() {\n //处理值\n var type = this.type;\n return type == 'password' ? 'text' : type;\n },\n _isShowPass: function _isShowPass() {\n //处理值\n return String(this.isShowPass) !== 'false';\n },\n _isShowCode: function _isShowCode() {\n //处理值\n return String(this.isShowCode) !== 'false';\n },\n _setTime: function _setTime() {\n //处理值\n var setTime = Number(this.setTime);\n return setTime > 0 ? setTime : 60;\n },\n _focus: function _focus() {\n //处理值 \n return String(this.focus) !== 'false';\n },\n getVerCodeSecond: function getVerCodeSecond() {\n //验证码倒计时计算\n if (this.second <= 0) {\n return this.codeText;\n } else {\n if (this.second < 10) {\n return '0' + this.second;\n } else {\n return this.second;\n }\n }\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy93YXRjaC1sb2dpbi93YXRjaC1pbnB1dC52dWUiXSwibmFtZXMiOlsiZGF0YSIsInNob3dQYXNzd29yZCIsInNlY29uZCIsImlzUnVuQ29kZSIsInByb3BzIiwidHlwZSIsInZhbHVlIiwicGxhY2Vob2xkZXIiLCJtYXhsZW5ndGgiLCJkZWZhdWx0IiwiaXNTaG93UGFzcyIsImlzU2hvd0NvZGUiLCJjb2RlVGV4dCIsInNldFRpbWUiLCJmb2N1cyIsIm1vZGVsIiwicHJvcCIsImV2ZW50IiwibW91bnRlZCIsIl90aGlzIiwiY2xlYXJJbnRlcnZhbCIsIm1ldGhvZHMiLCJzaG93UGFzcyIsInNldENvZGUiLCJydW5Db2RlIiwiY291bnREb3duIiwiY29tcHV0ZWQiLCJfdHlwZSIsIl9pc1Nob3dQYXNzIiwiX2lzU2hvd0NvZGUiLCJfc2V0VGltZSIsIl9mb2N1cyIsImdldFZlckNvZGVTZWNvbmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQTtNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7SUFDQTtFQUNBOztFQUNBQztJQUNBQztJQUFBO0lBQ0FDO0lBQUE7SUFDQUM7SUFBQTtJQUNBQztNQUNBO01BQ0FIO01BQ0FJO0lBQ0E7SUFDQUM7TUFDQTtNQUNBTDtNQUNBSTtJQUNBO0lBQ0FFO01BQ0E7TUFDQU47TUFDQUk7SUFDQTtJQUNBRztNQUNBUDtNQUNBSTtJQUNBO0lBQ0FJO01BQ0E7TUFDQVI7TUFDQUk7SUFDQTtJQUNBSztNQUNBO01BQ0FUO01BQ0FJO0lBQ0E7RUFDQTtFQUNBTTtJQUNBQztJQUNBQztFQUNBO0VBQ0FDO0lBQUE7SUFDQUM7SUFDQTtJQUNBO01BQ0E7SUFDQTtJQUNBQztFQUNBOztFQUNBQztJQUNBQztNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtRQUVBO1FBQ0E7UUFDQUo7UUFDQTtRQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO01BQ0E7O01BRUE7TUFDQUs7UUFDQU47UUFDQTtVQUNBQTtVQUNBQztRQUNBO01BQ0E7SUFDQTtFQUNBO0VBQ0FNO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7UUFDQTtNQUNBO1FBQ0E7VUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO0lBRUE7RUFDQTtBQUNBO0FBQUEiLCJmaWxlIjoiMjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJtYWluLWxpc3Qgb0JvcmRlclwiPlxyXG5cdFx0PCEtLSDmlofmnKzmoYYgLS0+XHJcblx0XHQ8aW5wdXQgY2xhc3M9XCJtYWluLWlucHV0XCIgOnZhbHVlPVwidmFsdWVcIiA6dHlwZT1cIl90eXBlXCIgOmZvY3VzPVwiX2ZvY3VzXCIgOm1heGxlbmd0aD1cIm1heGxlbmd0aFwiXHJcblx0XHRcdDpwbGFjZWhvbGRlcj1cInBsYWNlaG9sZGVyXCIgOnBhc3N3b3JkPVwidHlwZT09PSdwYXNzd29yZCcmJiFzaG93UGFzc3dvcmRcIlxyXG5cdFx0XHRAaW5wdXQ9XCIkZW1pdCgnaW5wdXQnLCAkZXZlbnQuZGV0YWlsLnZhbHVlKVwiIEBibHVyPVwiJGVtaXQoJ2JsdXInLCAkZXZlbnQpXCIgQGZvY3VzPVwiJGVtaXQoJ2ZvY3VzJywgJGV2ZW50KVwiXHJcblx0XHRcdEBsb25ncHJlc3M9XCIkZW1pdCgnbG9uZ3ByZXNzJywgJGV2ZW50KVwiIEBjb25maXJtPVwiJGVtaXQoJ2NvbmZpcm0nLCAkZXZlbnQpXCIgQGNsaWNrPVwiJGVtaXQoJ2NsaWNrJywgJGV2ZW50KVwiXHJcblx0XHRcdEBsb25ndGFwPVwiJGVtaXQoJ2xvbmd0YXAnLCAkZXZlbnQpXCIgQHRvdWNoY2FuY2VsPVwiJGVtaXQoJ3RvdWNoY2FuY2VsJywgJGV2ZW50KVwiXHJcblx0XHRcdEB0b3VjaGVuZD1cIiRlbWl0KCd0b3VjaGVuZCcsICRldmVudClcIiBAdG91Y2htb3ZlPVwiJGVtaXQoJ3RvdWNobW92ZScsICRldmVudClcIlxyXG5cdFx0XHRAdG91Y2hzdGFydD1cIiRlbWl0KCd0b3VjaHN0YXJ0JywgJGV2ZW50KVwiIC8+XHJcblx0XHQ8IS0tIOaYr+WQpuWPr+ingeWvhueggSAtLT5cclxuXHRcdDxpbWFnZSB2LWlmPVwiX2lzU2hvd1Bhc3MmJnR5cGU9PT0ncGFzc3dvcmQnJiYhX2lzU2hvd0NvZGVcIiBjbGFzcz1cImltZyBjdUljb25cIlxyXG5cdFx0XHQ6Y2xhc3M9XCJzaG93UGFzc3dvcmQ/J2N1SWNvbi1hdHRlbnRpb24nOidjdUljb24tYXR0ZW50aW9uZm9yYmlkJ1wiIEB0YXA9XCJzaG93UGFzc1wiPjwvaW1hZ2U+XHJcblx0XHQ8IS0tIOWAkuiuoeaXtiAtLT5cclxuXHRcdDx2aWV3IHYtaWY9XCJfaXNTaG93Q29kZSYmIV9pc1Nob3dQYXNzXCIgOmNsYXNzPVwiWyd2ZXJjb2RlJyx7J3ZlcmNvZGUtcnVuJzogc2Vjb25kPjB9XVwiIEBjbGljaz1cInNldENvZGVcIj5cclxuXHRcdFx0e3sgZ2V0VmVyQ29kZVNlY29uZCB9fTwvdmlldz5cclxuXHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRsZXQgX3RoaXMsIGNvdW50RG93bjtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHNob3dQYXNzd29yZDogZmFsc2UsIC8v5piv5ZCm5pi+56S65piO5paHXHJcblx0XHRcdFx0c2Vjb25kOiAwLCAvL+WAkuiuoeaXtlxyXG5cdFx0XHRcdGlzUnVuQ29kZTogZmFsc2UsIC8v5piv5ZCm5byA5aeL5YCS6K6h5pe2XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRwcm9wczoge1xyXG5cdFx0XHR0eXBlOiBTdHJpbmcsIC8v57G75Z6LXHJcblx0XHRcdHZhbHVlOiBTdHJpbmcsIC8v5YC8XHJcblx0XHRcdHBsYWNlaG9sZGVyOiBTdHJpbmcsIC8v5qGG5YaF5o+Q56S6XHJcblx0XHRcdG1heGxlbmd0aDoge1xyXG5cdFx0XHRcdC8v5pyA5aSn6ZW/5bqmXHJcblx0XHRcdFx0dHlwZTogW051bWJlciwgU3RyaW5nXSxcclxuXHRcdFx0XHRkZWZhdWx0OiAyMCxcclxuXHRcdFx0fSxcclxuXHRcdFx0aXNTaG93UGFzczoge1xyXG5cdFx0XHRcdC8v5piv5ZCm5pi+56S65a+G56CB5Zu+5qCH77yI5LqM6YCJ5LiA77yJXHJcblx0XHRcdFx0dHlwZTogW0Jvb2xlYW4sIFN0cmluZ10sXHJcblx0XHRcdFx0ZGVmYXVsdDogZmFsc2UsXHJcblx0XHRcdH0sXHJcblx0XHRcdGlzU2hvd0NvZGU6IHtcclxuXHRcdFx0XHQvL+aYr+WQpuaYvuekuuiOt+WPlumqjOivgeegge+8iOS6jOmAieS4gO+8iVxyXG5cdFx0XHRcdHR5cGU6IFtCb29sZWFuLCBTdHJpbmddLFxyXG5cdFx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb2RlVGV4dDoge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiBcIuiOt+WPlumqjOivgeeggVwiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzZXRUaW1lOiB7XHJcblx0XHRcdFx0Ly/lgJLorqHml7bml7bpl7Torr7nva5cclxuXHRcdFx0XHR0eXBlOiBbTnVtYmVyLCBTdHJpbmddLFxyXG5cdFx0XHRcdGRlZmF1bHQ6IDYwLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRmb2N1czoge1xyXG5cdFx0XHRcdC8v5piv5ZCm6IGa54SmICBcclxuXHRcdFx0XHR0eXBlOiBbQm9vbGVhbiwgU3RyaW5nXSxcclxuXHRcdFx0XHRkZWZhdWx0OiBmYWxzZVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bW9kZWw6IHtcclxuXHRcdFx0cHJvcDogJ3ZhbHVlJyxcclxuXHRcdFx0ZXZlbnQ6ICdpbnB1dCdcclxuXHRcdH0sXHJcblx0XHRtb3VudGVkKCkge1xyXG5cdFx0XHRfdGhpcyA9IHRoaXNcclxuXHRcdFx0Ly/lh4blpIfop6blj5FcclxuXHRcdFx0dGhpcy4kb24oJ3J1bkNvZGUnLCAodmFsKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5ydW5Db2RlKHZhbCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0XHRjbGVhckludGVydmFsKGNvdW50RG93bik7IC8v5YWI5riF55CG5LiA5qyh5b6q546v77yM6YG/5YWN57yT5a2YXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRzaG93UGFzcygpIHtcclxuXHRcdFx0XHQvL+aYr+WQpuaYvuekuuWvhueggVxyXG5cdFx0XHRcdHRoaXMuc2hvd1Bhc3N3b3JkID0gIXRoaXMuc2hvd1Bhc3N3b3JkXHJcblx0XHRcdH0sXHJcblx0XHRcdHNldENvZGUoKSB7XHJcblx0XHRcdFx0Ly/orr7nva7ojrflj5bpqozor4HnoIHnmoTkuovku7ZcclxuXHRcdFx0XHRpZiAodGhpcy5pc1J1bkNvZGUpIHtcclxuXHRcdFx0XHRcdC8v5Yik5pat5piv5ZCm5byA5aeL5YCS6K6h5pe277yM6YG/5YWN6YeN5aSN54K55Ye7XHJcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ3NldENvZGUnKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRydW5Db2RlKHZhbCkge1xyXG5cdFx0XHRcdC8v5byA5aeL5YCS6K6h5pe2XHJcblx0XHRcdFx0aWYgKFN0cmluZyh2YWwpID09IFwiMFwiKSB7XHJcblxyXG5cdFx0XHRcdFx0Ly/liKTmlq3mmK/lkKbpnIDopoHnu4jmraLlvqrnjq9cclxuXHRcdFx0XHRcdHRoaXMuc2Vjb25kID0gMDsgLy/liJ3lp4vlgJLorqHml7ZcclxuXHRcdFx0XHRcdGNsZWFySW50ZXJ2YWwoY291bnREb3duKTsgLy/muIXnkIblvqrnjq9cclxuXHRcdFx0XHRcdHRoaXMuaXNSdW5Db2RlID0gZmFsc2U7IC8v5YWz6Zet5b6q546v54q25oCBXHJcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLmlzUnVuQ29kZSkge1xyXG5cdFx0XHRcdFx0Ly/liKTmlq3mmK/lkKblvIDlp4vlgJLorqHml7bvvIzpgb/lhY3ph43lpI3ngrnlh7tcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5pc1J1bkNvZGUgPSB0cnVlXHJcblx0XHRcdFx0dGhpcy5zZWNvbmQgPSB0aGlzLl9zZXRUaW1lIC8v5YCS5pWw56eS5pWwXHJcblxyXG5cdFx0XHRcdGxldCBfdGhpcyA9IHRoaXM7XHJcblx0XHRcdFx0Y291bnREb3duID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRfdGhpcy5zZWNvbmQtLVxyXG5cdFx0XHRcdFx0aWYgKF90aGlzLnNlY29uZCA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdF90aGlzLmlzUnVuQ29kZSA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdGNsZWFySW50ZXJ2YWwoY291bnREb3duKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0sIDEwMDApXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRjb21wdXRlZDoge1xyXG5cdFx0XHRfdHlwZSgpIHtcclxuXHRcdFx0XHQvL+WkhOeQhuWAvFxyXG5cdFx0XHRcdGNvbnN0IHR5cGUgPSB0aGlzLnR5cGVcclxuXHRcdFx0XHRyZXR1cm4gdHlwZSA9PSAncGFzc3dvcmQnID8gJ3RleHQnIDogdHlwZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRfaXNTaG93UGFzcygpIHtcclxuXHRcdFx0XHQvL+WkhOeQhuWAvFxyXG5cdFx0XHRcdHJldHVybiBTdHJpbmcodGhpcy5pc1Nob3dQYXNzKSAhPT0gJ2ZhbHNlJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRfaXNTaG93Q29kZSgpIHtcclxuXHRcdFx0XHQvL+WkhOeQhuWAvFxyXG5cdFx0XHRcdHJldHVybiBTdHJpbmcodGhpcy5pc1Nob3dDb2RlKSAhPT0gJ2ZhbHNlJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRfc2V0VGltZSgpIHtcclxuXHRcdFx0XHQvL+WkhOeQhuWAvFxyXG5cdFx0XHRcdGNvbnN0IHNldFRpbWUgPSBOdW1iZXIodGhpcy5zZXRUaW1lKVxyXG5cdFx0XHRcdHJldHVybiBzZXRUaW1lID4gMCA/IHNldFRpbWUgOiA2MFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRfZm9jdXMoKSB7XHJcblx0XHRcdFx0Ly/lpITnkIblgLwgIFxyXG5cdFx0XHRcdHJldHVybiBTdHJpbmcodGhpcy5mb2N1cykgIT09ICdmYWxzZSdcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0VmVyQ29kZVNlY29uZCgpIHtcclxuXHRcdFx0XHQvL+mqjOivgeeggeWAkuiuoeaXtuiuoeeul1xyXG5cdFx0XHRcdGlmICh0aGlzLnNlY29uZCA8PSAwKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5jb2RlVGV4dDtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMuc2Vjb25kIDwgMTApIHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuICcwJyArIHRoaXMuc2Vjb25kO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuc2Vjb25kO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdEBpbXBvcnQgdXJsKFwiLi9jc3MvaWNvbi5jc3NcIik7XHJcblxyXG5cdC5tYWluLWxpc3Qge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0LyogaGVpZ2h0OiAzNnJweDsgKi9cclxuXHRcdC8qIElucHV0IOmrmOW6piAqL1xyXG5cdFx0Y29sb3I6ICMzMzMzMzM7XHJcblx0XHRwYWRkaW5nOiAzMHJweCAzMnJweDtcclxuXHRcdG1hcmdpbjogMzJycHggMDtcblx0fVxyXG5cclxuXHQuaW1nIHtcclxuXHRcdHdpZHRoOiAzMnJweDtcclxuXHRcdGhlaWdodDogMzJycHg7XHJcblx0XHRmb250LXNpemU6IDMycnB4O1xyXG5cdH1cclxuXHJcblx0Lm1haW4taW5wdXQge1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0LyogbGluZS1oZWlnaHQ6IDEwMHJweDsgKi9cclxuXHRcdHBhZGRpbmctcmlnaHQ6IDEwcnB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0LnZlcmNvZGUge1xyXG5cdFx0Y29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuXHRcdGZvbnQtc2l6ZTogMjRycHg7XHJcblx0XHQvKiBsaW5lLWhlaWdodDogMTAwcnB4OyAqL1xyXG5cdH1cclxuXHJcblx0LnZlcmNvZGUtcnVuIHtcclxuXHRcdGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCkgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5vQm9yZGVyIHtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcclxuXHRcdC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDYwcnB4IDAgcmdiYSg0MywgODYsIDExMiwgLjEpO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDYwcnB4IDAgcmdiYSg0MywgODYsIDExMiwgLjEpO1xyXG5cdH1cclxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///26\n"); /***/ }), /* 27 */ /*!**********************************************************************************************************!*\ !*** ./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 } } /***/ }), /* 28 */ /*!************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/components/watch-login/watch-button.vue ***! \************************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _watch_button_vue_vue_type_template_id_eb1fde62___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./watch-button.vue?vue&type=template&id=eb1fde62& */ 29);\n/* harmony import */ var _watch_button_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./watch-button.vue?vue&type=script&lang=js& */ 31);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _watch_button_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 _watch_button_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 27);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _watch_button_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _watch_button_vue_vue_type_template_id_eb1fde62___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _watch_button_vue_vue_type_template_id_eb1fde62___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _watch_button_vue_vue_type_template_id_eb1fde62___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"components/watch-login/watch-button.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBeUg7QUFDekg7QUFDZ0U7QUFDTDs7O0FBRzNEO0FBQ3FMO0FBQ3JMLGdCQUFnQix5TEFBVTtBQUMxQixFQUFFLGtGQUFNO0FBQ1IsRUFBRSx1RkFBTTtBQUNSLEVBQUUsZ0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMkZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL3dhdGNoLWJ1dHRvbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9ZWIxZmRlNjImXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi93YXRjaC1idXR0b24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi93YXRjaC1idXR0b24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcImNvbXBvbmVudHMvd2F0Y2gtbG9naW4vd2F0Y2gtYnV0dG9uLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///28\n"); /***/ }), /* 29 */ /*!*******************************************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/components/watch-login/watch-button.vue?vue&type=template&id=eb1fde62& ***! \*******************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_vue_vue_type_template_id_eb1fde62___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./watch-button.vue?vue&type=template&id=eb1fde62& */ 30); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_vue_vue_type_template_id_eb1fde62___WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_vue_vue_type_template_id_eb1fde62___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_vue_vue_type_template_id_eb1fde62___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_vue_vue_type_template_id_eb1fde62___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!D:/UserData/Desktop/w/UhfChengBangZi/components/watch-login/watch-button.vue?vue&type=template&id=eb1fde62& ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! 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", [ _c( "button", { class: _vm._$s(1, "c", [ "buttonBorder", !_vm._rotate ? "dlbutton" : "dlbutton_loading", ]), style: _vm._$s(1, "s", { background: _vm.bgColor, color: _vm.fontColor, }), attrs: { _i: 1 }, on: { click: function ($event) { return _vm.$emit("click", $event) }, contact: function ($event) { return _vm.$emit("contact", $event) }, error: function ($event) { return _vm.$emit("error", $event) }, getphonenumber: function ($event) { return _vm.$emit("getphonenumber", $event) }, getuserinfo: function ($event) { return _vm.$emit("getuserinfo", $event) }, launchapp: function ($event) { return _vm.$emit("launchapp", $event) }, opensetting: function ($event) { return _vm.$emit("opensetting", $event) }, touchcancel: function ($event) { return _vm.$emit("touchcancel", $event) }, touchend: function ($event) { return _vm.$emit("touchend", $event) }, touchmove: function ($event) { return _vm.$emit("touchmove", $event) }, touchstart: function ($event) { return _vm.$emit("touchstart", $event) }, longpress: function ($event) { return _vm.$emit("longtap", $event) }, }, }, [ _c( "view", { class: _vm._$s(2, "c", _vm._rotate ? "rotate_loop" : ""), attrs: { _i: 2 }, }, [ _vm._$s(3, "i", _vm._rotate) ? _c("text", { staticClass: _vm._$s(3, "sc", "cuIcon cuIcon-loading1 "), attrs: { _i: 3 }, }) : _vm._e(), _vm._$s(4, "i", !_vm._rotate) ? _c( "view", { attrs: { _i: 4 } }, [ _vm._t( "text", [_vm._v(_vm._$s(5, "t0-0", _vm._s(_vm.text)))], { _i: 5 } ), ], 2 ) : _vm._e(), ] ), ] ), ]) } var recyclableRender = false var staticRenderFns = [] render._withStripped = true /***/ }), /* 31 */ /*!*************************************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/components/watch-login/watch-button.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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./watch-button.vue?vue&type=script&lang=js& */ 32);\n/* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_watch_button_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWduQixDQUFnQixrbkJBQUcsRUFBQyIsImZpbGUiOiIzMS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3dhdGNoLWJ1dHRvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3dhdGNoLWJ1dHRvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\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!D:/UserData/Desktop/w/UhfChengBangZi/components/watch-login/watch-button.vue?vue&type=script&lang=js& ***! \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! 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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n props: {\n text: String,\n //显示文本\n rotate: {\n //是否启动加载\n type: [Boolean, String],\n default: false\n },\n bgColor: {\n //按钮背景颜色\n type: String,\n default: \"#333333\"\n },\n fontColor: {\n //按钮字体颜色\n type: String,\n default: \"#FFFFFF\"\n }\n },\n computed: {\n _rotate: function _rotate() {\n //处理值\n return String(this.rotate) !== 'false';\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy93YXRjaC1sb2dpbi93YXRjaC1idXR0b24udnVlIl0sIm5hbWVzIjpbInByb3BzIiwidGV4dCIsInJvdGF0ZSIsInR5cGUiLCJkZWZhdWx0IiwiYmdDb2xvciIsImZvbnRDb2xvciIsImNvbXB1dGVkIiwiX3JvdGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBc0JBO0VBQ0FBO0lBQ0FDO0lBQUE7SUFDQUM7TUFDQTtNQUNBQztNQUNBQztJQUNBO0lBQ0FDO01BQ0E7TUFDQUY7TUFDQUM7SUFDQTtJQUNBRTtNQUNBO01BQ0FIO01BQ0FDO0lBQ0E7RUFDQTtFQUNBRztJQUNBQztNQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSIsImZpbGUiOiIzMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldz5cclxuXHRcdDwhLS0g5oyJ6ZKuIC0tPlxyXG5cdFx0PGJ1dHRvbiA6Y2xhc3M9XCJbJ2J1dHRvbkJvcmRlcicsIV9yb3RhdGU/J2RsYnV0dG9uJzonZGxidXR0b25fbG9hZGluZyddXCJcclxuXHRcdFx0OnN0eWxlPVwieydiYWNrZ3JvdW5kJzpiZ0NvbG9yLCAnY29sb3InOiBmb250Q29sb3J9XCIgQGNsaWNrPVwiJGVtaXQoJ2NsaWNrJywgJGV2ZW50KVwiXHJcblx0XHRcdEBjb250YWN0PVwiJGVtaXQoJ2NvbnRhY3QnLCAkZXZlbnQpXCIgQGVycm9yPVwiJGVtaXQoJ2Vycm9yJywgJGV2ZW50KVwiXHJcblx0XHRcdEBnZXRwaG9uZW51bWJlcj1cIiRlbWl0KCdnZXRwaG9uZW51bWJlcicsICRldmVudClcIiBAZ2V0dXNlcmluZm89XCIkZW1pdCgnZ2V0dXNlcmluZm8nLCAkZXZlbnQpXCJcclxuXHRcdFx0QGxhdW5jaGFwcD1cIiRlbWl0KCdsYXVuY2hhcHAnLCAkZXZlbnQpXCIgQGxvbmd0YXA9XCIkZW1pdCgnbG9uZ3RhcCcsICRldmVudClcIlxyXG5cdFx0XHRAb3BlbnNldHRpbmc9XCIkZW1pdCgnb3BlbnNldHRpbmcnLCAkZXZlbnQpXCIgQHRvdWNoY2FuY2VsPVwiJGVtaXQoJ3RvdWNoY2FuY2VsJywgJGV2ZW50KVwiXHJcblx0XHRcdEB0b3VjaGVuZD1cIiRlbWl0KCd0b3VjaGVuZCcsICRldmVudClcIiBAdG91Y2htb3ZlPVwiJGVtaXQoJ3RvdWNobW92ZScsICRldmVudClcIlxyXG5cdFx0XHRAdG91Y2hzdGFydD1cIiRlbWl0KCd0b3VjaHN0YXJ0JywgJGV2ZW50KVwiPlxyXG5cdFx0XHQ8dmlldyA6Y2xhc3M9XCJfcm90YXRlPydyb3RhdGVfbG9vcCc6JydcIj5cclxuXHRcdFx0XHQ8dGV4dCB2LWlmPVwiX3JvdGF0ZVwiIGNsYXNzPVwiY3VJY29uIGN1SWNvbi1sb2FkaW5nMSBcIj48L3RleHQ+XHJcblx0XHRcdFx0PHZpZXcgdi1pZj1cIiFfcm90YXRlXCI+XHJcblx0XHRcdFx0XHQ8c2xvdCBuYW1lPVwidGV4dFwiPnt7IHRleHQgfX08L3Nsb3Q+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L2J1dHRvbj5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdHByb3BzOiB7XHJcblx0XHRcdHRleHQ6IFN0cmluZywgLy/mmL7npLrmlofmnKxcclxuXHRcdFx0cm90YXRlOiB7XHJcblx0XHRcdFx0Ly/mmK/lkKblkK/liqjliqDovb1cclxuXHRcdFx0XHR0eXBlOiBbQm9vbGVhbiwgU3RyaW5nXSxcclxuXHRcdFx0XHRkZWZhdWx0OiBmYWxzZSxcclxuXHRcdFx0fSxcclxuXHRcdFx0YmdDb2xvcjoge1xyXG5cdFx0XHRcdC8v5oyJ6ZKu6IOM5pmv6aKc6ImyXHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6IFwiIzMzMzMzM1wiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRmb250Q29sb3I6IHtcclxuXHRcdFx0XHQvL+aMiemSruWtl+S9k+minOiJslxyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiBcIiNGRkZGRkZcIixcclxuXHRcdFx0fSxcclxuXHRcdH0sXHJcblx0XHRjb21wdXRlZDoge1xyXG5cdFx0XHRfcm90YXRlKCkge1xyXG5cdFx0XHRcdC8v5aSE55CG5YC8XHJcblx0XHRcdFx0cmV0dXJuIFN0cmluZyh0aGlzLnJvdGF0ZSkgIT09ICdmYWxzZSdcclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdEBpbXBvcnQgdXJsKFwiLi9jc3MvaWNvbi5jc3NcIik7XHJcblxyXG5cdGJ1dHRvbiB7XHJcblx0XHRvdXRsaW5lOiBub25lO1xyXG5cdFx0Lyog5oiW6ICFIG91dGxpbmU6IDAgKi9cclxuXHR9XHJcblxyXG5cdGJ1dHRvbjphZnRlciB7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRidXR0b246Zm9jdXMge1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdC8qIOaIluiAhSBvdXRsaW5lOiAwICovXHJcblx0fVxyXG5cclxuXHQuZGxidXR0b24ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0Lyogd2lkdGg6IDYwMXJweDsgKi9cclxuXHRcdGhlaWdodDogMTAwcnB4O1xyXG5cdFx0YmFja2dyb3VuZDogIzMzMzMzMztcclxuXHRcdGJveC1zaGFkb3c6MHJweCAwcnB4IDEzcnB4IDBycHggcmdiYSgxNjQsMjE3LDIyOCwwLjQpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMi41cmVtO1xyXG5cdFx0bWFyZ2luOiAwIDcwcnB4O1xyXG5cdH1cclxuXHJcblx0LmRsYnV0dG9uX2xvYWRpbmcge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdHdpZHRoOiAxMDBycHg7XHJcblx0XHRoZWlnaHQ6IDEwMHJweDtcclxuXHRcdGJhY2tncm91bmQ6ICMzMzMzMzM7XHJcblx0XHRib3gtc2hhZG93OiAwcnB4IDBycHggMTNycHggMHJweCByZ2JhKDE2NCwyMTcsMjI4LDAuNCk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyLjVyZW07XHJcblx0XHRtYXJnaW4tdG9wOiAwcnB4O1xyXG5cdH1cclxuXHJcblx0LmJ1dHRvbkJvcmRlciB7XHJcblx0XHRwYWRkaW5nOiAwIDQwcnB4O1xyXG5cdFx0Zm9udC1zaXplOiAzMnJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMi41cmVtO1xyXG5cdFx0LXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNjBycHggMCByZ2JhKDAsIDAsIDAsIC4yKTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCA2MHJweCAwIHJnYmEoMCwwLDAsLjIpIDtcclxuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKC41NywgLjE5LCAuNTEsIC45NSk7XHJcblx0XHQtbW96LXRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllciguNTcsIC4xOSwgLjUxLCAuOTUpO1xyXG5cdFx0LW1zLXRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllciguNTcsIC4xOSwgLjUxLCAuOTUpO1xyXG5cdFx0LW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKC41NywgLjE5LCAuNTEsIC45NSk7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC40cyBjdWJpYy1iZXppZXIoLjU3LCAuMTksIC41MSwgLjk1KTtcclxuXHR9XHJcblxyXG5cdC8qIOaXi+i9rOWKqOeUuyAqL1xyXG5cdC5yb3RhdGVfbG9vcCB7XHJcblx0XHQtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xyXG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxcztcclxuXHRcdC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm07XHJcblx0XHQtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDFzO1xyXG5cdFx0LXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZSAxcyBsaW5lYXIgaW5maW5pdGU7XHJcblx0XHQtbW96LWFuaW1hdGlvbjogcm90YXRlIDFzIGxpbmVhciBpbmZpbml0ZTtcclxuXHRcdC1vLWFuaW1hdGlvbjogcm90YXRlIDFzIGxpbmVhciBpbmZpbml0ZTtcclxuXHRcdGFuaW1hdGlvbjogcm90YXRlIDFzIGxpbmVhciBpbmZpbml0ZTtcclxuXHR9XHJcblxyXG5cdEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGUge1xyXG5cdFx0ZnJvbSB7XHJcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZylcclxuXHRcdH1cclxuXHJcblx0XHR0byB7XHJcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QC1tb3ota2V5ZnJhbWVzIHJvdGF0ZSB7XHJcblx0XHRmcm9tIHtcclxuXHRcdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKVxyXG5cdFx0fVxyXG5cclxuXHRcdHRvIHtcclxuXHRcdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRALW8ta2V5ZnJhbWVzIHJvdGF0ZSB7XHJcblx0XHRmcm9tIHtcclxuXHRcdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZylcclxuXHRcdH1cclxuXHJcblx0XHR0byB7XHJcblx0XHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZylcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBrZXlmcmFtZXMgcm90YXRlIHtcclxuXHRcdGZyb20ge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKVxyXG5cdFx0fVxyXG5cclxuXHRcdHRvIHtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///32\n"); /***/ }), /* 33 */ /*!*********************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/api/index.js ***! \*********************************************************/ /*! 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// api/index.js - 集中管理API接口\n\n// 基础URL\n// 确保URL格式正确,包含完整协议前缀\n\n// 本地地址 \nvar BASE_URL = getApp().globalData.apiUrl || 'http://20.0.16.128:23608/api';\n\n// API接口集合\nvar API = {\n // 通过提交的用户id保存当前编号信息\n postUserSetup: \"\".concat(BASE_URL, \"/rfidApp/postUserSetup\"),\n // 获取栋舍列表\n getBuilding: \"\".concat(BASE_URL, \"/rfidApp/getBuilding\"),\n // 获取房间列表\n getRoom: \"\".concat(BASE_URL, \"/rfidApp/getRoom\"),\n // 获取栏位列表\n getPen: \"\".concat(BASE_URL, \"/rfidApp/getPen\"),\n //获取用户信息\n userList: \"\".concat(BASE_URL, \"/rfidApp/userList\"),\n // 提交数据\n postListAdd: \"\".concat(BASE_URL, \"/rfidApp/postListAdd\"),\n // 用户登录 - 直接使用完整URL避免拼接问题\n Login: \"\".concat(BASE_URL, \"/clientUser/login\")\n\n // 获取当前用户信息/rfidApp/userList\n // userList: `${BASE_URL}/clientuser/getUserInfo`,\n};\nvar _default = API;\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vYXBpL2luZGV4LmpzIl0sIm5hbWVzIjpbIkJBU0VfVVJMIiwiZ2V0QXBwIiwiZ2xvYmFsRGF0YSIsImFwaVVybCIsIkFQSSIsInBvc3RVc2VyU2V0dXAiLCJnZXRCdWlsZGluZyIsImdldFJvb20iLCJnZXRQZW4iLCJ1c2VyTGlzdCIsInBvc3RMaXN0QWRkIiwiTG9naW4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxJQUFNQSxRQUFRLEdBQUdDLE1BQU0sRUFBRSxDQUFDQyxVQUFVLENBQUNDLE1BQU0sSUFBSSw4QkFBOEI7O0FBRzdFO0FBQ0EsSUFBTUMsR0FBRyxHQUFHO0VBQ1Y7RUFDQUMsYUFBYSxZQUFLTCxRQUFRLDJCQUF3QjtFQUVsRDtFQUNBTSxXQUFXLFlBQUtOLFFBQVEseUJBQXNCO0VBRTlDO0VBQ0FPLE9BQU8sWUFBS1AsUUFBUSxxQkFBa0I7RUFFdEM7RUFDQVEsTUFBTSxZQUFLUixRQUFRLG9CQUFpQjtFQUVwQztFQUNBUyxRQUFRLFlBQUtULFFBQVEsc0JBQW1CO0VBRXhDO0VBQ0FVLFdBQVcsWUFBS1YsUUFBUSx5QkFBc0I7RUFFOUM7RUFDQVcsS0FBSyxZQUFLWCxRQUFROztFQUVsQjtFQUNBO0FBQ0YsQ0FBQztBQUFDLGVBRWFJLEdBQUc7QUFBQSIsImZpbGUiOiIzMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGFwaS9pbmRleC5qcyAtIOmbhuS4reeuoeeQhkFQSeaOpeWPo1xyXG5cclxuLy8g5Z+656GAVVJMXHJcbi8vIOehruS/nVVSTOagvOW8j+ato+ehru+8jOWMheWQq+WujOaVtOWNj+iuruWJjee8gFxyXG5cclxuLy8g5pys5Zyw5Zyw5Z2AIFxyXG5jb25zdCBCQVNFX1VSTCA9IGdldEFwcCgpLmdsb2JhbERhdGEuYXBpVXJsIHx8ICdodHRwOi8vMjAuMC4xNi4xMjg6MjM2MDgvYXBpJztcclxuXHJcblxyXG4vLyBBUEnmjqXlj6Ppm4blkIhcclxuY29uc3QgQVBJID0ge1xyXG4gIC8vIOmAmui/h+aPkOS6pOeahOeUqOaIt2lk5L+d5a2Y5b2T5YmN57yW5Y+35L+h5oGvXHJcbiAgcG9zdFVzZXJTZXR1cDogYCR7QkFTRV9VUkx9L3JmaWRBcHAvcG9zdFVzZXJTZXR1cGAsXHJcblxyXG4gIC8vIOiOt+WPluagi+iIjeWIl+ihqFxyXG4gIGdldEJ1aWxkaW5nOiBgJHtCQVNFX1VSTH0vcmZpZEFwcC9nZXRCdWlsZGluZ2AsXHJcbiAgXHJcbiAgLy8g6I635Y+W5oi/6Ze05YiX6KGoXHJcbiAgZ2V0Um9vbTogYCR7QkFTRV9VUkx9L3JmaWRBcHAvZ2V0Um9vbWAsXHJcbiAgXHJcbiAgLy8g6I635Y+W5qCP5L2N5YiX6KGoXHJcbiAgZ2V0UGVuOiBgJHtCQVNFX1VSTH0vcmZpZEFwcC9nZXRQZW5gLFxyXG4gIFxyXG4gIC8v6I635Y+W55So5oi35L+h5oGvXHJcbiAgdXNlckxpc3Q6IGAke0JBU0VfVVJMfS9yZmlkQXBwL3VzZXJMaXN0YCxcclxuICBcclxuICAvLyDmj5DkuqTmlbDmja5cclxuICBwb3N0TGlzdEFkZDogYCR7QkFTRV9VUkx9L3JmaWRBcHAvcG9zdExpc3RBZGRgLFxyXG4gIFxyXG4gIC8vIOeUqOaIt+eZu+W9lSAtIOebtOaOpeS9v+eUqOWujOaVtFVSTOmBv+WFjeaLvOaOpemXrumimFxyXG4gIExvZ2luOiBgJHtCQVNFX1VSTH0vY2xpZW50VXNlci9sb2dpbmAsXHJcbiAgXHJcbiAgLy8g6I635Y+W5b2T5YmN55So5oi35L+h5oGvL3JmaWRBcHAvdXNlckxpc3RcclxuICAvLyB1c2VyTGlzdDogYCR7QkFTRV9VUkx9L2NsaWVudHVzZXIvZ2V0VXNlckluZm9gLFxyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgQVBJOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///33\n"); /***/ }), /* 34 */ /*!******************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/pages/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_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=2be84a3c&mpType=page */ 35);\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 */ 37);\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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 27);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_anzhuangbao_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_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQ3FMO0FBQ3JMLGdCQUFnQix5TEFBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yYmU4NGEzYyZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2luZGV4L2luZGV4LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///34\n"); /***/ }), /* 35 */ /*!************************************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/pages/index/index.vue?vue&type=template&id=2be84a3c&mpType=page ***! \************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_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_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=2be84a3c&mpType=page */ 36); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_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_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_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_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_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_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_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_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); /***/ }), /* 36 */ /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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!D:/UserData/Desktop/w/UhfChengBangZi/pages/index/index.vue?vue&type=template&id=2be84a3c&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", { staticClass: _vm._$s(0, "sc", "page"), attrs: { _i: 0 } }, [ _c( "button", { staticClass: _vm._$s(1, "sc", "nav-btn"), attrs: { _i: 1 }, on: { click: _vm.logout }, }, [ _c("text", { staticClass: _vm._$s(2, "sc", "icon fa fa-sign-out"), attrs: { _i: 2 }, }), ] ), _c( "button", { staticClass: _vm._$s(3, "sc", "nav-btn"), attrs: { _i: 3 }, on: { click: _vm.toggleServerConfig }, }, [ _c("text", { staticClass: _vm._$s(4, "sc", "icon fa fa-cog"), attrs: { _i: 4 }, }), ] ), _c( "scroll-view", { staticClass: _vm._$s(5, "sc", "scroll-area"), attrs: { _i: 5 } }, [ _vm._$s(6, "i", !_vm.showServerConfig) ? _c( "view", { staticClass: _vm._$s(6, "sc", "form-section"), attrs: { _i: 6 }, }, [ _c( "view", { staticClass: _vm._$s(7, "sc", "section-title"), attrs: { _i: 7 }, }, [ _c("text", { staticClass: _vm._$s(8, "sc", "title"), attrs: { _i: 8 }, }), ] ), _c( "view", { staticClass: _vm._$s(9, "sc", "rfid-card"), attrs: { _i: 9 }, }, [ _c("text", { staticClass: _vm._$s( 10, "sc", "icon fa fa-qrcode scan-icon" ), attrs: { _i: 10 }, }), _c( "view", { staticClass: _vm._$s(11, "sc", "btn-group"), attrs: { _i: 11 }, }, [ _c( "button", { staticClass: _vm._$s(12, "sc", "manual-btn"), attrs: { disabled: _vm._$s( 12, "a-disabled", _vm.isDisable ), _i: 12, }, on: { click: _vm.init }, }, [ _c("text", { staticClass: _vm._$s( 13, "sc", "fa fa-power-off" ), attrs: { _i: 13 }, }), _vm._v( _vm._$s( 12, "t1-0", _vm._s( _vm.isDeviceReady ? "已开启" : "开启设备" ) ) ), ] ), _c( "button", { staticClass: _vm._$s(14, "sc", "scan-btn"), attrs: { disabled: _vm._$s( 14, "a-disabled", !_vm.isDisable ), _i: 14, }, on: { click: _vm.toggleContinuousScan }, }, [ _c("text", { staticClass: _vm._$s(15, "sc", "fa fa-camera"), attrs: { _i: 15 }, }), _vm._v( _vm._$s( 14, "t1-0", _vm._s( _vm.isContinuousScanning ? "停止持续扫描" : "开始持续扫描" ) ) ), ] ), ] ), _c("input", { directives: [ { name: "model", rawName: "v-model", value: _vm.form.earId, expression: "form.earId", }, ], staticClass: _vm._$s(16, "sc", "input-box"), attrs: { _i: 16 }, domProps: { value: _vm._$s(16, "v-model", _vm.form.earId), }, on: { input: function ($event) { if ($event.target.composing) { return } _vm.$set(_vm.form, "earId", $event.target.value) }, }, }), _c( "scroll-view", { staticClass: _vm._$s(17, "sc", "sv"), attrs: { _i: 17 }, }, _vm._l( _vm._$s(18, "f", { forItems: _vm.dataList }), function (item, index, $20, $30) { return _c( "view", { key: _vm._$s(18, "f", { forIndex: $20, key: index, }), staticClass: _vm._$s( "18-" + $30, "sc", "data-item" ), attrs: { _i: "18-" + $30 }, }, [ _c("p", [ _vm._v( _vm._$s( "19-" + $30, "t0-0", _vm._s(item.id) ) ), ]), _c( "picker", { attrs: { value: _vm._$s( "20-" + $30, "a-value", item.typeIndex ), range: _vm._$s( "20-" + $30, "a-range", _vm.types ), _i: "20-" + $30, }, on: { change: function ($event) { return _vm.onTypeChange($event, index) }, }, }, [ _c( "view", { staticClass: _vm._$s( "21-" + $30, "sc", "picker" ), attrs: { _i: "21-" + $30 }, }, [ _vm._v( _vm._$s( "21-" + $30, "t0-0", _vm._s(_vm.types[item.typeIndex]) ) ), ] ), ] ), _c("button", { staticClass: _vm._$s( "22-" + $30, "sc", "delete-btn" ), attrs: { _i: "22-" + $30 }, on: { click: function ($event) { return _vm.deleteItem(index) }, }, }), ] ) } ), 0 ), ] ), _c( "view", { staticClass: _vm._$s(23, "sc", "btn-group"), attrs: { _i: 23 }, }, [ _c("button", { staticClass: _vm._$s(24, "sc", "manual-btn"), attrs: { _i: 24 }, on: { click: _vm.resetForm }, }), _c("button", { staticClass: _vm._$s(25, "sc", "scan-btn"), attrs: { _i: 25 }, on: { click: _vm.submitForm }, }), ] ), ] ) : _vm._e(), ] ), ] ) } var recyclableRender = false var staticRenderFns = [] render._withStripped = true /***/ }), /* 37 */ /*!******************************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/pages/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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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__(/*! -!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js&mpType=page */ 38);\n/* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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(_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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\"] = (_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW9uQixDQUFnQixzbkJBQUcsRUFBQyIsImZpbGUiOiIzNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///37\n"); /***/ }), /* 38 */ /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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!D:/UserData/Desktop/w/UhfChengBangZi/pages/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 _index = _interopRequireDefault(__webpack_require__(/*! @/api/index.js */ 33));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n// 导入API配置\nvar _default = {\n data: function data() {\n return {\n dataList: [],\n // 存储扫描的耳标数据\n types: ['正常', '淘汰', '死亡'],\n // 耳标类型选项\n scanProgress: 0,\n // 当前扫描进度\n scanTotalAttempts: 0,\n // 总扫描尝试次数\n isDisable: false,\n // 设备禁用状态\n isDeviceReady: false,\n // 设备就绪状态\n isInitializing: false,\n // 设备初始化中状态\n currentDate: '',\n // 当前日期\n showServerConfig: false,\n // 是否显示服务器配置\n uhfSFHelper: null,\n // UHF插件实例\n scanTimeout: null,\n // 扫描超时计时器\n retryTimeout: null,\n // 重试计时器\n maxScanTimer: null,\n // 最大扫描时间计时器\n settingChangeListener: null,\n // 设置变化监听器\n isContinuousScanning: false,\n // 是否正在持续扫描\n continuousScanInterval: null,\n // 持续扫描间隔计时器\n\n // 列表数据\n buildingList: [],\n // 栋舍列表\n roomList: [],\n // 房间列表\n Fieldnumber: [],\n // 栏位列表\n\n // 表单数据\n form: {\n earId: '',\n // 耳标ID\n buildingName: '',\n // 栋舍名称\n roomName: '',\n // 房间名称\n penNo: '',\n // 栏位编号\n status: 'healthy',\n // 状态\n note: '' // 备注\n },\n\n // 提交状态\n isSubmitting: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n // 标记组件已挂载\n this._isMounted = true;\n\n // 初始化日期\n var now = new Date();\n this.currentDate = now.toISOString().split('T')[0];\n\n // 加载已保存的设置\n this.loadSavedSettings();\n\n // 获取列表数据(即使插件未初始化也可以加载)\n this.fetchBuildingList();\n\n // 监听登录成功事件,重新加载用户设置并清空数据\n this.reloadUserSettingsListener = uni.$on('reloadUserSettings', function () {\n // 清空数据\n _this.resetForm();\n _this.loadSavedSettings();\n // 重新加载栋舍列表,确保使用最新的用户信息\n _this.fetchBuildingList();\n });\n\n // 初始化插件实例\n this.initializePluginWithRetry(0);\n\n // 监听全局设置变化\n this.settingChangeListener = uni.$on('settingsUpdated', function (settings) {\n __f__(\"log\", '监听到设置更新事件,更新设置:', settings, \" at pages/index/index.vue:130\");\n _this.loadSavedSettings(settings);\n });\n },\n /**\n * 带重试的插件初始化\n * @param {number} retryCount - 当前重试次数\n */\n initializePluginWithRetry: function initializePluginWithRetry() {\n var retryCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n __f__(\"log\", '设备初始化成功', \" at pages/index/index.vue:140\");\n this.isDisable = false;\n },\n beforeUnmount: function beforeUnmount() {\n // 标记组件已卸载\n this._isMounted = false;\n // 停止持续扫描\n this.isContinuousScanning = false;\n if (this.continuousScanInterval) {\n clearTimeout(this.continuousScanInterval);\n this.continuousScanInterval = null;\n }\n // 清除所有计时器\n this.cancelScan();\n // 释放设备\n this.releaseDevice();\n // 清理插件实例\n this.uhfSFHelper = null;\n // 移除事件监听\n if (this.settingChangeListener) {\n uni.$off('settingsUpdated', this.settingChangeListener);\n }\n // 移除登录成功事件监听\n if (this.reloadUserSettingsListener) {\n uni.$off('reloadUserSettings', this.reloadUserSettingsListener);\n }\n },\n /**\n * 页面显示时触发,确保获取最新的编号信息并检查登录状态\n */\n onShow: function onShow() {\n this.loadSavedSettings();\n this.checkTokenExpiration();\n },\n methods: {\n /**\n * 检查token是否过期\n */\n checkTokenExpiration: function checkTokenExpiration() {\n var app = getApp();\n\n // 获取过期时间和token\n var expireAt = app.globalData.expireAt || uni.getStorageSync('token_expire_time') || '';\n var token = app.globalData.token || uni.getStorageSync('equipment_token') || '';\n\n // 如果没有token或过期时间,视为未登录\n if (!token || !expireAt) {\n __f__(\"log\", '未登录或缺少登录信息', \" at pages/index/index.vue:190\");\n // 不要直接跳转登录页,让App.vue的checkLoginStatus来处理\n return;\n }\n try {\n // 解析过期时间和当前时间\n var expireTime;\n\n // 处理不同类型的expireAt\n if (typeof expireAt === 'string') {\n // 尝试直接解析为数字\n var timestamp = parseInt(expireAt);\n if (!isNaN(timestamp)) {\n expireTime = timestamp;\n } else {\n // 如果不是数字字符串,尝试作为日期字符串解析\n expireTime = new Date(expireAt).getTime();\n }\n } else if (typeof expireAt === 'number') {\n // 如果已经是数字类型,直接使用\n expireTime = expireAt;\n }\n\n // 确保过期时间有效\n if (isNaN(expireTime)) {\n __f__(\"error\", '无效的过期时间:', expireAt, \" at pages/index/index.vue:216\");\n return;\n }\n var currentTime = new Date().getTime();\n\n // 提前1分钟检查过期,给用户预留时间\n var earlyCheckTime = 60 * 1000;\n if (currentTime + earlyCheckTime > expireTime) {\n __f__(\"log\", '登录即将过期或已过期', \" at pages/index/index.vue:225\");\n // 不要直接跳转登录页,让App.vue的checkLoginStatus来处理\n }\n } catch (error) {\n __f__(\"error\", '检查token过期时发生错误:', error, \" at pages/index/index.vue:229\");\n }\n },\n /**\n * 带重试的插件初始化\n * @param {number} retryCount - 当前重试次数\n */\n initializePluginWithRetry: function initializePluginWithRetry() {\n var _this2 = this;\n var retryCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var MAX_RETRIES = 3; // 增加重试次数到3次\n var RETRY_DELAY = 2000; // 2秒\n\n __f__(\"log\", \"\\u5F00\\u59CB\\u63D2\\u4EF6\\u521D\\u59CB\\u5316\\u5C1D\\u8BD5 \".concat(retryCount + 1, \"/\").concat(MAX_RETRIES), \" at pages/index/index.vue:240\");\n var isPluginInitialized = this.initPluginInstance();\n if (!isPluginInitialized) {\n __f__(\"warn\", \"\\u63D2\\u4EF6\\u521D\\u59CB\\u5316\\u5931\\u8D25 (attempt \".concat(retryCount + 1, \"/\").concat(MAX_RETRIES, \")\"), \" at pages/index/index.vue:244\");\n this.isDisable = true; // 禁用依赖插件的按钮\n\n // 如果未达到最大重试次数,继续重试\n if (retryCount < MAX_RETRIES) {\n __f__(\"log\", \"Retrying plugin initialization after \".concat(RETRY_DELAY, \"ms\"), \" at pages/index/index.vue:249\");\n setTimeout(function () {\n if (_this2._isMounted) {\n _this2.initializePluginWithRetry(retryCount + 1);\n }\n }, RETRY_DELAY);\n } else {\n __f__(\"error\", 'Max retries reached for plugin initialization', \" at pages/index/index.vue:256\");\n uni.showToast({\n title: '设备初始化失败,请重启应用',\n icon: 'none',\n duration: 3000\n });\n }\n } else {\n __f__(\"log\", '插件初始化成功', \" at pages/index/index.vue:264\");\n this.isDisable = false;\n uni.showToast({\n title: '设备初始化成功',\n icon: 'success',\n duration: 2000\n });\n }\n },\n /**\n * 获取栋舍列表(带重试机制)\n * @param {number} retryCount - 当前重试次数(默认0)\n */\n fetchBuildingList: function fetchBuildingList() {\n var _this3 = this;\n var retryCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var MAX_RETRIES = 2; // 最大重试次数\n\n // 显示加载提示\n if (retryCount === 0) {\n uni.showLoading({\n title: '加载栋舍列表...',\n mask: true\n });\n }\n\n //获取栋舍列表\n uni.request({\n url: _index.default.getBuilding,\n method: 'GET',\n timeout: 10000,\n // 增加超时时间到10秒\n header: {\n 'content-type': 'application/x-www-form-urlencoded',\n \"x-token\": uni.getStorageSync('equipment_token') || ''\n },\n success: function success(res) {\n // 隐藏加载提示\n if (retryCount === 0) {\n uni.hideLoading();\n }\n _this3.buildingList = res.data.data || [];\n },\n complete: function complete() {\n // 确保最终隐藏loading\n if (retryCount === MAX_RETRIES) {\n uni.hideLoading();\n }\n }\n });\n },\n /**\n * 加载已保存的设置\n */\n loadSavedSettings: function loadSavedSettings() {\n var settings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var app = getApp();\n __f__(\"log\", '当前全局数据完整内容:', JSON.stringify(app.globalData), \" at pages/index/index.vue:317\");\n var buildingName = uni.getStorageSync('building') || '';\n var roomName = uni.getStorageSync('room') || '';\n var penNo = uni.getStorageSync('pen') || '';\n this.form.buildingName = buildingName;\n this.form.roomName = roomName;\n this.form.penNo = penNo;\n __f__(\"log\", '表单最终赋值结果', this.form.buildingName, \" at pages/index/index.vue:327\");\n __f__(\"log\", '表单最终赋值结果', this.form.roomName, \" at pages/index/index.vue:328\");\n __f__(\"log\", '表单最终赋值结果', this.form.penNo, \" at pages/index/index.vue:329\");\n\n // 如果栋舍不为空且房间列表为空,加载房间列表\n if (buildingName && this.roomList.length === 0) {\n this.fetchRoomList(buildingName);\n } else if (buildingName && this.roomList.length > 0 && roomName) {\n // 如果房间已变更,更新房间列表\n this.fetchRoomList(buildingName);\n }\n\n // 如果房间不为空且栏位列表为空,加载栏位列表\n if (roomName && this.Fieldnumber.length === 0) {\n this.fetchFieldList(roomName);\n } else if (roomName && this.Fieldnumber.length > 0 && penNo) {\n // 如果栏位已变更,更新栏位列表\n this.fetchFieldList(roomName);\n }\n },\n /**\n * 手动刷新全局数据\n */\n refreshGlobalData: function refreshGlobalData() {\n __f__(\"log\", '手动刷新全局数据', \" at pages/index/index.vue:352\");\n\n // 尝试从本地存储恢复最新数据到全局数据\n try {\n var app = getApp();\n var token = uni.getStorageSync('equipment_token') || '';\n var expireAt = uni.getStorageSync('token_expire_time') || '';\n var userInfo = uni.getStorageSync('user_info') || {};\n var building = uni.getStorageSync('building') || '';\n var room = uni.getStorageSync('room') || '';\n var pen = uni.getStorageSync('pen') || '';\n if (token && expireAt) {\n app.globalData.token = token;\n app.globalData.expireAt = expireAt;\n app.globalData.userInfo = userInfo;\n app.globalData.isLoggedIn = true;\n app.globalData.building = building;\n app.globalData.room = room;\n app.globalData.pen = pen;\n app.globalData.buildingName = building;\n app.globalData.roomName = room;\n app.globalData.penNo = pen;\n __f__(\"log\", '从本地存储恢复全局数据成功', \" at pages/index/index.vue:375\");\n }\n } catch (e) {\n __f__(\"error\", '从本地存储恢复全局数据失败:', e, \" at pages/index/index.vue:378\");\n }\n this.loadSavedSettings();\n // 刷新栋舍列表\n this.fetchBuildingList();\n },\n /**\n * 根据栋舍获取房间列表\n * @param {string} buildingName - 栋舍名称\n * @param {number} retryCount - 当前重试次数\n */\n fetchRoomList: function fetchRoomList(buildingName) {\n var _this4 = this;\n var retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // 显示加载提示\n if (retryCount === 0) {\n uni.showLoading({\n title: '加载房间列表...',\n mask: true\n });\n }\n\n // 发送请求到API获取房间列表\n uni.request({\n url: _index.default.getRoom,\n method: 'GET',\n data: {\n building: buildingName\n },\n timeout: 10000,\n // 增加超时时间到10秒\n header: {\n \"x-token\": uni.getStorageSync('equipment_token') || ''\n },\n success: function success(res) {\n // 隐藏加载提示\n if (retryCount === 0) {\n uni.hideLoading();\n }\n // 更新房间列表\n _this4.roomList = res.data.data || [];\n // 重置房间和栏位选择\n _this4.form.roomName = '';\n _this4.Fieldnumber = [];\n _this4.form.penNo = '';\n }\n });\n },\n /**\n * 根据房间名称获取栏位列表\n * @param {string} roomName - 房间名称\n * @param {number} retryCount - 当前重试次数(默认0)\n */\n fetchFieldList: function fetchFieldList(roomName) {\n var _this5 = this;\n var retryCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // 显示加载提示\n if (retryCount === 0) {\n uni.showLoading({\n title: '加载栏位列表...',\n mask: true\n });\n }\n var MAX_RETRIES = 1;\n var RETRY_DELAY = 2000; // 2秒\n\n // 发送请求到API获取栏位列表\n uni.request({\n url: _index.default.getPen,\n method: 'GET',\n timeout: 10000,\n // 增加超时时间到10秒\n header: {\n \"x-token\": uni.getStorageSync('equipment_token') || ''\n },\n success: function success(res) {\n // 隐藏加载提示\n if (retryCount === 0) {\n uni.hideLoading();\n }\n // 更新栏位列表\n _this5.Fieldnumber = res.data.data || [];\n // 重置栏位选择\n _this5.form.penNo = '';\n },\n fail: function fail(err) {\n // 隐藏加载提示\n if (retryCount === 0) {\n uni.hideLoading();\n }\n // 如果未达到最大重试次数,尝试重试\n if (retryCount < MAX_RETRIES) {\n __f__(\"log\", \"Retrying request (\".concat(retryCount + 1, \"/\").concat(MAX_RETRIES, \")\"), \" at pages/index/index.vue:460\");\n setTimeout(function () {\n _this5.fetchFieldList(roomName, retryCount + 1);\n }, RETRY_DELAY);\n } else {}\n }\n });\n },\n /**\n * 初始化UHF插件实例\n * @returns {boolean} 初始化是否成功\n */\n initPluginInstance: function initPluginInstance() {\n if (this.uhfSFHelper) {\n __f__(\"log\", '插件实例已存在', \" at pages/index/index.vue:477\");\n return true;\n }\n try {\n __f__(\"log\", '初始化UHF插件实例', \" at pages/index/index.vue:482\");\n\n // 检查运行环境是否支持原生插件\n if (typeof uni.requireNativePlugin !== 'function') {\n __f__(\"error\", '当前环境不支持uni.requireNativePlugin', \" at pages/index/index.vue:486\");\n return false;\n }\n\n // 尝试加载插件\n this.uhfSFHelper = uni.requireNativePlugin('Alvin-CBZUhfModule');\n\n // 验证插件实例是否有效\n if (!this.uhfSFHelper) {\n return false;\n }\n if (typeof this.uhfSFHelper.doInitDevice !== 'function') {\n //插件实例缺少必要方法: doInitDevice\n this.uhfSFHelper = null;\n return false;\n }\n __f__(\"log\", 'UHF插件实例创建成功', \" at pages/index/index.vue:503\");\n return true;\n } catch (e) {\n __f__(\"error\", '加载UHF插件失败:', e.message, \" at pages/index/index.vue:506\");\n __f__(\"error\", '错误栈:', e.stack, \" at pages/index/index.vue:507\");\n this.uhfSFHelper = null;\n uni.showToast({\n title: '设备功能不可用: ' + e.message,\n icon: 'none',\n duration: 3000\n });\n return false;\n }\n },\n /**\n * 检查并恢复插件实例\n * @param {number} retryCount - 当前重试次数(默认0)\n * @returns {boolean} 插件实例是否有效\n */\n checkAndRestorePluginInstance: function checkAndRestorePluginInstance() {\n var _this6 = this;\n var retryCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n // 设置最大重试次数和超时时间\n var MAX_RETRIES = 1;\n var RETRY_DELAY = 1000; // 1秒\n\n // 如果实例不存在,尝试初始化\n if (!this.uhfSFHelper) {\n __f__(\"log\", \"\\u6CA1\\u6709\\u63D2\\u4EF6\\u5B9E\\u4F8B\\uFF0C\\u5C1D\\u8BD5\\u521D\\u59CB\\u5316 (\\u91CD\\u8BD5: \".concat(retryCount, \")\"), \" at pages/index/index.vue:530\");\n var result = this.initPluginInstance();\n\n // 如果初始化失败且未达到最大重试次数,递归重试\n if (!result && retryCount < MAX_RETRIES) {\n __f__(\"log\", \"\\u521D\\u59CB\\u5316\\u5931\\u8D25\\uFF0C\\u91CD\\u8BD5 (\".concat(retryCount + 1, \"/\").concat(MAX_RETRIES, \") \\u540E \").concat(RETRY_DELAY, \"ms\"), \" at pages/index/index.vue:535\");\n // 延迟后重试\n setTimeout(function () {\n _this6.checkAndRestorePluginInstance(retryCount + 1);\n }, RETRY_DELAY);\n return false;\n }\n return result;\n }\n\n // 检查实例方法是否存在且有效\n var requiredMethods = ['doInitDevice', 'doStartScan', 'doReleaseDevice'];\n var missingMethods = requiredMethods.filter(function (method) {\n return typeof _this6.uhfSFHelper[method] !== 'function';\n });\n if (missingMethods.length > 0) {\n __f__(\"error\", \"\\u63D2\\u4EF6\\u5B9E\\u4F8B\\u7F3A\\u5C11\\u5FC5\\u8981\\u65B9\\u6CD5: \".concat(missingMethods.join(', ')), \" at pages/index/index.vue:551\");\n this.uhfSFHelper = null;\n\n // 如果未达到最大重试次数,尝试重新初始化\n if (retryCount < MAX_RETRIES) {\n __f__(\"log\", \"Attempting to reinitialize plugin (\".concat(retryCount + 1, \"/\").concat(MAX_RETRIES, \") after \").concat(RETRY_DELAY, \"ms\"), \" at pages/index/index.vue:556\");\n setTimeout(function () {\n _this6.checkAndRestorePluginInstance(retryCount + 1);\n }, RETRY_DELAY);\n return false;\n }\n return false;\n }\n __f__(\"log\", '插件实例有效且准备使用', \" at pages/index/index.vue:566\");\n return true;\n },\n /**\n * 取消当前扫描操作\n */\n cancelScan: function cancelScan() {\n // 清除所有相关计时器\n if (this.scanTimeout) {\n clearTimeout(this.scanTimeout);\n this.scanTimeout = null;\n }\n if (this.retryTimeout) {\n clearTimeout(this.retryTimeout);\n this.retryTimeout = null;\n }\n if (this.maxScanTimer) {\n clearTimeout(this.maxScanTimer);\n this.maxScanTimer = null;\n }\n\n // 隐藏加载提示\n uni.hideLoading();\n __f__(\"log\", '扫描已取消', \" at pages/index/index.vue:593\");\n },\n /**\n * 释放设备资源\n */\n releaseDevice: function releaseDevice() {\n if (this.isDeviceReady && this.uhfSFHelper) {\n try {\n this.uhfSFHelper.doReleaseDevice();\n } catch (e) {\n __f__(\"error\", '释放设备失败', e, \" at pages/index/index.vue:604\");\n }\n this.isDeviceReady = false;\n this.isDisable = false;\n }\n },\n /**\n * 初始化设备\n */\n init: function init() {\n var _this7 = this;\n // 确保插件实例已初始化且有效\n if (!this.checkAndRestorePluginInstance()) {\n return;\n }\n if (this.isInitializing) {\n __f__(\"log\", '设备初始化已在进行中', \" at pages/index/index.vue:621\");\n return;\n }\n if (this.isDeviceReady) {\n __f__(\"log\", '设备已初始化', \" at pages/index/index.vue:626\");\n return uni.showToast({\n title: '设备已开启',\n icon: 'none'\n });\n }\n this.isDisable = false;\n this.isInitializing = true;\n try {\n __f__(\"log\", '开始初始化设备', \" at pages/index/index.vue:634\");\n // 再次检查插件实例是否有效\n if (!this.checkAndRestorePluginInstance()) {\n this.isInitializing = false;\n return;\n }\n this.uhfSFHelper.doInitDevice(function (res) {\n _this7.isInitializing = false;\n if (res === true) {\n _this7.isDeviceReady = true;\n _this7.isDisable = true;\n __f__(\"log\", 'Device initialized successfully', \" at pages/index/index.vue:647\");\n uni.showToast({\n title: '设备已开启',\n icon: 'success'\n });\n } else {\n _this7.isDisable = false;\n __f__(\"error\", '设备初始化失败', \" at pages/index/index.vue:651\");\n uni.showToast({\n title: '初始化失败',\n icon: 'none'\n });\n }\n });\n } catch (e) {\n this.isInitializing = false;\n __f__(\"error\", 'Error during device initialization:', e, \" at pages/index/index.vue:657\");\n this.isDisable = false;\n // 清除插件实例,以便下次初始化尝试\n this.uhfSFHelper = null;\n uni.showToast({\n title: '初始化异常',\n icon: 'none'\n });\n }\n },\n /**\n * 切换持续扫描状态\n */\n toggleContinuousScan: function toggleContinuousScan() {\n // 确保插件实例已初始化且有效\n if (!this.checkAndRestorePluginInstance()) {\n return;\n }\n if (!this.isDeviceReady) {\n return uni.showToast({\n title: '请先开启设备',\n icon: 'none'\n });\n }\n if (this.isContinuousScanning) {\n // 停止持续扫描\n this.isContinuousScanning = false;\n\n // 调用cancelScan方法清除所有计时器和加载提示\n this.cancelScan();\n\n // 清除持续扫描间隔计时器(双重保障)\n if (this.continuousScanInterval) {\n clearTimeout(this.continuousScanInterval);\n this.continuousScanInterval = null;\n }\n\n // 显示扫描停止提示\n uni.showToast({\n title: '已停止扫描',\n icon: 'none'\n });\n } else {\n // 开始持续扫描\n this.isContinuousScanning = true;\n\n // 显示持续扫描提示\n uni.showLoading({\n title: '持续扫描中...',\n mask: true\n });\n\n // 开始持续扫描\n this.performContinuousScan();\n }\n },\n /**\n * 开始扫描耳标(单次)\n */\n scan: function scan() {\n // 确保插件实例已初始化且有效\n if (!this.checkAndRestorePluginInstance()) {\n return;\n }\n if (!this.isDeviceReady) {\n return uni.showToast({\n title: '请先开启设备',\n icon: 'none'\n });\n }\n\n // 如果正在持续扫描,先停止\n if (this.isContinuousScanning) {\n this.toggleContinuousScan();\n }\n\n // 设置扫描参数 - 优化参数以提高成功率\n var scanConfig = {\n retryCount: 3,\n // 增加重试次数\n currentRetry: 0,\n timeout: 2000,\n // 增加超时时间\n interval: 400,\n // 增加间隔,给设备恢复时间\n signalThreshold: 0.5,\n // 降低信号阈值,接受更多信号\n continuous: false // 非持续扫描模式\n };\n\n // 初始化扫描进度变量\n this.scanProgress = 0;\n this.scanTotalAttempts = scanConfig.retryCount;\n\n // 显示扫描中提示,添加mask以禁止背景操作\n uni.showLoading({\n title: '正在扫描耳标...',\n mask: true\n });\n\n // 执行扫描函数\n this.performScan(scanConfig);\n },\n /**\n * 执行持续扫描\n */\n performContinuousScan: function performContinuousScan() {\n // 检查是否仍在持续扫描状态\n if (!this.isContinuousScanning || !this._isMounted || !this.isDeviceReady) {\n if (this.isContinuousScanning) {\n uni.hideLoading();\n }\n return;\n }\n\n // 检查并恢复插件实例\n if (!this.checkAndRestorePluginInstance()) {\n uni.hideLoading();\n this.isContinuousScanning = false;\n return uni.showToast({\n title: '设备功能异常,无法持续扫描',\n icon: 'none'\n });\n }\n\n // 设置持续扫描参数\n var scanConfig = {\n retryCount: 100,\n //重试次数\n currentRetry: 0,\n timeout: 1500,\n // 增加超时时间到1.5秒\n interval: 300,\n // 减少重试间隔到300ms\n signalThreshold: 0.3,\n // 降低信号阈值,提高扫描成功率\n continuous: true // 持续扫描模式\n };\n\n // 执行扫描\n this.performScan(scanConfig);\n },\n /**\n * 执行扫描(带重试机制)\n * @param {object} config - 扫描配置参数\n * @param {number} config.retryCount - 最大重试次数\n * @param {number} config.currentRetry - 当前重试次数\n * @param {number} config.timeout - 单次扫描超时时间(毫秒)\n * @param {number} config.interval - 重试间隔(毫秒)\n */\n /**\n * 处理类型选择变化\n */\n onTypeChange: function onTypeChange(e, index) {\n if (index >= 0 && index < this.dataList.length) {\n this.dataList[index].typeIndex = e.detail.value;\n __f__(\"log\", \"\\u8033\\u6807 \".concat(this.dataList[index].id, \" \\u7C7B\\u578B\\u53D8\\u66F4\\u4E3A: \").concat(this.types[e.detail.value]), \" at pages/index/index.vue:797\");\n }\n },\n /**\n * 删除耳标条目\n */\n deleteItem: function deleteItem(index) {\n if (index >= 0 && index < this.dataList.length) {\n var deletedItem = this.dataList.splice(index, 1);\n __f__(\"log\", \"\\u5220\\u9664\\u8033\\u6807: \".concat(deletedItem[0].id), \" at pages/index/index.vue:807\");\n uni.showToast({\n title: '删除成功',\n icon: 'success'\n });\n }\n },\n performScan: function performScan(config) {\n var _this8 = this;\n // 检查组件是否已卸载或设备是否已准备好\n if (!this._isMounted || !this.isDeviceReady) {\n uni.hideLoading();\n __f__(\"log\", 'Scan aborted: component not mounted or device not ready', \" at pages/index/index.vue:816\");\n return;\n }\n\n // 非持续扫描模式下才检查最大重试次数\n if (!config.continuous && config.currentRetry >= config.retryCount) {\n uni.hideLoading();\n __f__(\"log\", 'Scan failed after maximum retries', \" at pages/index/index.vue:823\");\n return uni.showToast({\n title: '扫描失败,请调整位置重试',\n icon: 'none'\n });\n }\n\n // 非持续扫描模式下才添加最大扫描时间限制\n if (!config.continuous) {\n var maxScanTime = config.timeout * config.retryCount;\n if (!this.maxScanTimer) {\n this.maxScanTimer = setTimeout(function () {\n __f__(\"log\", 'Maximum scan time exceeded', \" at pages/index/index.vue:832\");\n _this8.cancelScan();\n }, maxScanTime);\n }\n }\n\n // 增加重试计数\n config.currentRetry++;\n this.scanProgress = config.currentRetry;\n\n // 持续扫描模式下不更新加载提示,以避免干扰停止操作\n if (!config.continuous && (config.currentRetry % 2 === 0 || config.currentRetry === config.retryCount)) {\n uni.hideLoading();\n uni.showLoading({\n title: \"\\u626B\\u63CF\\u4E2D (\".concat(Math.round(config.currentRetry / config.retryCount * 100), \"%)...\"),\n mask: true\n });\n }\n __f__(\"log\", \"\\u5F00\\u59CB\\u626B\\u63CF\\u5C1D\\u8BD5 \".concat(config.currentRetry, \"/\").concat(config.retryCount, \"\\uFF0C\\u8D85\\u65F6\\u65F6\\u95F4: \").concat(config.timeout, \"ms\"), \" at pages/index/index.vue:851\");\n\n // 清除之前的超时\n if (this.scanTimeout) {\n clearTimeout(this.scanTimeout);\n this.scanTimeout = null;\n }\n\n // 设置超时机制\n this.scanTimeout = setTimeout(function () {\n __f__(\"log\", \"Scan timeout, retrying (\".concat(config.currentRetry, \"/\").concat(config.retryCount, \")\"), \" at pages/index/index.vue:861\");\n // 重试扫描前先检查实例\n if (_this8._isMounted) {\n // 检查并恢复插件实例\n if (_this8.checkAndRestorePluginInstance()) {\n _this8.retryTimeout = setTimeout(function () {\n return _this8.performScan(config);\n }, config.interval);\n } else {\n __f__(\"error\", 'Failed to restore plugin instance before retry', \" at pages/index/index.vue:868\");\n uni.hideLoading();\n return uni.showToast({\n title: '设备功能异常,无法重试',\n icon: 'none'\n });\n }\n }\n }, config.timeout);\n\n // 执行扫描\n try {\n // 清除之前可能存在的重试计时器\n if (this.retryTimeout) {\n clearTimeout(this.retryTimeout);\n this.retryTimeout = null;\n }\n\n // 检查插件实例是否有效\n if (!this.checkAndRestorePluginInstance()) {\n // 清除超时计时器\n if (this.scanTimeout) {\n clearTimeout(this.scanTimeout);\n this.scanTimeout = null;\n }\n __f__(\"error\", 'Invalid plugin instance for scanning after restore attempt', \" at pages/index/index.vue:891\");\n // 尝试重新初始化设备\n this.init(); // 修复:使用init而不是不存在的initDevice方法\n uni.hideLoading();\n return uni.showToast({\n title: '设备功能异常,正在重新初始化',\n icon: 'none'\n });\n }\n\n // 保存当前实例引用,防止闭包中实例变化\n var currentPluginInstance = this.uhfSFHelper;\n\n // 执行扫描命令\n try {\n currentPluginInstance.doStartScan(function (result) {\n // 再次检查插件实例是否与执行扫描时相同\n if (_this8.uhfSFHelper !== currentPluginInstance) {\n __f__(\"warn\", 'Plugin instance changed during scan, ignoring result', \" at pages/index/index.vue:906\");\n // 尝试重新扫描\n if (_this8._isMounted) {\n _this8.retryTimeout = setTimeout(function () {\n return _this8.performScan(config);\n }, config.interval);\n }\n return;\n }\n\n // 检查组件是否已卸载\n if (!_this8._isMounted) return;\n\n // 清除超时计时器\n if (_this8.scanTimeout) {\n clearTimeout(_this8.scanTimeout);\n _this8.scanTimeout = null;\n }\n if (result) {\n // 如果result只是ID字符串,将其包装成对象\n var scanResult = typeof result === 'string' ? {\n id: result,\n signalStrength: 1\n } : result;\n\n // 检查信号强度是否足够\n if (scanResult.signalStrength >= config.signalThreshold) {\n // 清除所有计时器\n if (_this8.maxScanTimer) {\n clearTimeout(_this8.maxScanTimer);\n _this8.maxScanTimer = null;\n }\n if (_this8.retryTimeout) {\n clearTimeout(_this8.retryTimeout);\n _this8.retryTimeout = null;\n }\n if (!config.continuous) {\n uni.hideLoading();\n }\n __f__(\"log\", '扫描成功:', scanResult, \" at pages/index/index.vue:942\");\n _this8.form.earId = scanResult.id;\n\n // 检查是否重复扫描\n var isDuplicate = _this8.dataList.some(function (item) {\n return item.id === scanResult.id;\n });\n if (isDuplicate) {\n __f__(\"log\", '耳标已存在:', scanResult.id, \" at pages/index/index.vue:949\");\n // 持续扫描模式下也显示重复提示,但持续时间较短\n uni.showToast({\n title: '该耳标已扫描过',\n icon: 'none',\n duration: config.continuous ? 500 : 2000\n });\n } else {\n // 默认添加为'正常'类型\n _this8.dataList.push({\n id: scanResult.id,\n typeIndex: 0\n });\n if (!config.continuous) {\n uni.showToast({\n title: '扫描成功',\n icon: 'success'\n });\n } else {\n // 持续扫描模式下,短暂提示后继续\n uni.showToast({\n title: '扫描到耳标',\n icon: 'success',\n duration: 500\n });\n }\n }\n\n // 持续扫描模式下,确保继续扫描\n if (config.continuous && _this8.isContinuousScanning) {\n // 清除可能存在的旧计时器\n if (_this8.continuousScanInterval) {\n clearTimeout(_this8.continuousScanInterval);\n _this8.continuousScanInterval = null;\n }\n // 设置新的计时器,确保持续扫描\n _this8.continuousScanInterval = setTimeout(function () {\n // 再次检查持续扫描状态\n if (_this8.isContinuousScanning && _this8.isDeviceReady) {\n _this8.performContinuousScan();\n }\n }, 500); // 短暂延迟后继续扫描\n }\n } else {\n __f__(\"log\", \"Scan result with weak signal (\".concat(scanResult.signalStrength, \"), retrying\"), \" at pages/index/index.vue:983\");\n // 信号太弱,继续重试前检查实例\n if (_this8._isMounted) {\n if (_this8.checkAndRestorePluginInstance()) {\n _this8.retryTimeout = setTimeout(function () {\n return _this8.performScan(config);\n }, config.interval);\n } else {\n __f__(\"error\", 'Failed to restore plugin instance for retry', \" at pages/index/index.vue:989\");\n uni.hideLoading();\n return uni.showToast({\n title: '设备功能异常',\n icon: 'none'\n });\n }\n }\n }\n } else {\n __f__(\"log\", \"Scan failed, retrying (\".concat(config.currentRetry, \"/\").concat(config.retryCount, \")\"), \" at pages/index/index.vue:996\");\n // 重试扫描前检查实例\n if (_this8._isMounted) {\n if (_this8.checkAndRestorePluginInstance()) {\n _this8.retryTimeout = setTimeout(function () {\n return _this8.performScan(config);\n }, config.interval);\n } else {\n __f__(\"error\", 'Failed to restore plugin instance for retry', \" at pages/index/index.vue:1002\");\n uni.hideLoading();\n return uni.showToast({\n title: '设备功能异常',\n icon: 'none'\n });\n }\n }\n }\n });\n } catch (e) {\n __f__(\"error\", 'Exception during scan execution:', e, \" at pages/index/index.vue:1010\");\n // 清除超时计时器\n if (this.scanTimeout) {\n clearTimeout(this.scanTimeout);\n this.scanTimeout = null;\n }\n\n // 检查是否是实例不可用错误,增强检测逻辑\n if (e.message && (e.message.includes('instance is not available') || e.message.includes('receiveTasks') || e.message.includes('Failed to receiveTasks'))) {\n __f__(\"error\", 'Plugin instance not available during scan', \" at pages/index/index.vue:1023\");\n // 尝试重新初始化\n this.uhfSFHelper = null;\n if (this.checkAndRestorePluginInstance()) {\n // 重新执行扫描\n if (this._isMounted) {\n this.retryTimeout = setTimeout(function () {\n return _this8.performScan(config);\n }, config.interval * 2);\n }\n } else {\n uni.hideLoading();\n return uni.showToast({\n title: '设备功能异常,无法扫描',\n icon: 'none'\n });\n }\n } else {\n // 其他错误\n if (this._isMounted) {\n this.retryTimeout = setTimeout(function () {\n return _this8.performScan(config);\n }, config.interval);\n }\n }\n }\n } catch (e) {\n // 清除超时计时器\n if (this.scanTimeout) {\n clearTimeout(this.scanTimeout);\n this.scanTimeout = null;\n }\n __f__(\"error\", 'Error during scan setup:', e, \" at pages/index/index.vue:1049\");\n // 检查错误是否与实例不可用相关,增强检测逻辑\n if (e.message && (e.message.includes('instance is not available') || e.message.includes('receiveTasks') || e.message.includes('Failed to receiveTasks'))) {\n __f__(\"error\", 'Plugin instance not available during scan setup', \" at pages/index/index.vue:1056\");\n // 清除当前实例\n this.uhfSFHelper = null;\n // 尝试重新初始化\n if (this.checkAndRestorePluginInstance()) {\n // 重新执行扫描\n if (this._isMounted) {\n this.retryTimeout = setTimeout(function () {\n return _this8.performScan(config);\n }, config.interval * 2); // 增加间隔\n }\n } else {\n uni.hideLoading();\n return uni.showToast({\n title: '设备功能异常',\n icon: 'none'\n });\n }\n } else {\n // 其他错误,继续重试\n if (this._isMounted) {\n this.retryTimeout = setTimeout(function () {\n return _this8.performScan(config);\n }, config.interval);\n }\n }\n }\n },\n /**\n * 提交表单数据\n */\n submitForm: function submitForm() {\n var _this9 = this;\n // 在验证前先尝试重新加载设置\n this.loadSavedSettings();\n __f__(\"log\", '提交表单数据:', this.form, \" at pages/index/index.vue:1084\");\n\n // 验证编号是否已选择\n var missingField = '';\n if (!this.form.buildingName) missingField = '栋舍';else if (!this.form.roomName) missingField = '房间';else if (!this.form.penNo) missingField = '栏位';\n if (missingField) {\n return uni.showToast({\n title: \"\\u672A\\u9009\\u62E9\".concat(missingField, \"\\u7F16\\u53F7\"),\n icon: 'none',\n duration: 3000\n });\n }\n\n // 验证耳标是否已扫描\n if (this.dataList.length === 0) {\n return uni.showToast({\n title: '请先扫描耳标',\n icon: 'none',\n duration: 3000\n });\n }\n\n // 验证用户ID是否存在\n var app = getApp();\n var userInfo = app.globalData.userInfo;\n __f__(\"log\", '用户信息:', userInfo, \" at pages/index/index.vue:1104\");\n\n // 更安全地获取用户ID,增加多重检查\n var userId = userInfo.ID;\n if (!userId) {\n return uni.showToast({\n title: '用户未登录',\n icon: 'none',\n duration: 3000\n });\n }\n uni.showLoading({\n title: '提交中...',\n mask: true\n });\n var rfidString = this.dataList.map(function (item) {\n return \"\".concat(item.id, \":\").concat(_this9.types[item.typeIndex]);\n }).join(',');\n\n // 获取设备信息\n var deviceInfo = {};\n try {\n deviceInfo = uni.getSystemInfoSync();\n } catch (e) {\n __f__(\"error\", '获取设备信息失败:', e, \" at pages/index/index.vue:1123\");\n }\n\n // 准备提交数据\n var submitData = {\n token: uni.getStorageSync('equipment_token'),\n rfid: rfidString,\n buildingName: this.form.buildingName,\n roomName: this.form.roomName,\n penNo: this.form.penNo,\n userId: userId,\n username: userInfo.username || '',\n time: new Date().toISOString(),\n deviceModel: deviceInfo.model || '未获取到设备型号',\n // 设备型号\n deviceVersion: deviceInfo.system || '未获取到设备版本号' // 设备版本号\n };\n\n // 发送请求到API\n this.submitData(submitData);\n },\n /**\n * 提交数据\n * @param {object} data - 要提交的数据\n */\n submitData: function submitData(data) {\n var _this10 = this;\n __f__(\"log\", 'token', uni.getStorageSync('equipment_token'), \" at pages/index/index.vue:1150\");\n __f__(\"log\", '提交的数据', data, \" at pages/index/index.vue:1151\");\n // 设置独立的提交加载状态标志\n this.isSubmitting = true;\n uni.request({\n url: _index.default.postListAdd,\n method: 'POST',\n data: data,\n header: {\n 'content-type': 'application/json',\n 'x-token': uni.getStorageSync('equipment_token') // 将token添加到请求头中\n },\n\n timeout: 10000,\n // 设置10秒超时\n success: function success(res) {\n __f__(\"log\", 'API响应:', res, \" at pages/index/index.vue:1165\");\n\n // 先隐藏加载提示\n if (_this10.isSubmitting) {\n uni.hideLoading();\n _this10.isSubmitting = false;\n }\n if (res.data) {\n __f__(\"log\", '服务器返回数据:', res.data, \" at pages/index/index.vue:1174\");\n var message = res.data.msg || '提交成功';\n __f__(\"log\", '显示提示:', message, \" at pages/index/index.vue:1176\");\n uni.showToast({\n title: message,\n icon: res.data.code === 0 ? 'success' : 'none',\n duration: 3000\n });\n if (res.data.code === 0) {\n // 添加本地记录\n _this10.records.unshift({\n rfid: data.rfid,\n building: data.buildingName,\n roomName: data.roomName,\n pen: data.penNo,\n userId: data.userId,\n time: new Date().toLocaleTimeString()\n });\n\n // 停止持续扫描\n if (_this10.isContinuousScanning) {\n _this10.toggleContinuousScan();\n }\n\n // 清空扫描数据\n _this10.resetForm();\n }\n } else {\n __f__(\"error\", '提交失败: 响应数据格式不正确', res, \" at pages/index/index.vue:1204\");\n // 显示错误提示\n uni.showToast({\n title: '提交失败,请重试',\n icon: 'none',\n duration: 3000\n });\n }\n },\n fail: function fail(err) {\n __f__(\"error\", '网络请求失败:', err, \" at pages/index/index.vue:1214\");\n // 隐藏加载提示并显示错误提示\n if (_this10.isSubmitting) {\n uni.hideLoading();\n _this10.isSubmitting = false;\n }\n uni.showToast({\n title: '网络请求失败,请重试',\n icon: 'none',\n duration: 3000\n });\n // 接口失败不影响耳标扫描,无需额外处理\n },\n\n complete: function complete() {\n // 确保加载提示被隐藏\n setTimeout(function () {\n if (_this10.isSubmitting) {\n uni.hideLoading();\n _this10.isSubmitting = false;\n }\n }, 2000);\n }\n });\n },\n // 重置\n resetForm: function resetForm() {\n this.form.earId = '';\n this.form.buildingName = '';\n this.form.roomName = '';\n this.form.penNo = '';\n this.form.status = 'healthy';\n this.form.note = '';\n // 清除扫描结果列表\n this.dataList = [];\n },\n // 选择\n onBuildingChange: function onBuildingChange(e) {\n var buildingName = this.buildingList[e.detail.value];\n this.form.buildingName = buildingName;\n // 根据选择的栋舍加载房间列表\n if (buildingName) {\n this.fetchRoomList(buildingName);\n } else {\n // 清空房间和栏位列表\n this.roomList = [];\n this.Fieldnumber = [];\n this.form.roomName = '';\n this.form.penNo = '';\n }\n },\n onRoomChange: function onRoomChange(e) {\n var roomName = this.roomList[e.detail.value];\n this.form.roomName = roomName;\n // 根据选择的房间加载栏位列表\n if (roomName) {\n this.fetchFieldList(roomName);\n } else {\n // 清空栏位列表\n this.Fieldnumber = [];\n this.form.penNo = '';\n }\n },\n onFieldChange: function onFieldChange(e) {\n this.form.penNo = this.Fieldnumber[e.detail.value];\n },\n // 其他\n logout: function logout() {\n // 清空数据\n this.resetForm();\n\n // 释放设备资源\n this.releaseDevice();\n\n // 清除全局用户信息和登录状态\n var app = getApp();\n app.globalData.userInfo = null;\n app.globalData.token = '';\n app.globalData.expireAt = '';\n app.globalData.isLoggedIn = false;\n app.globalData.building = '';\n app.globalData.room = '';\n app.globalData.pen = '';\n app.globalData.buildingName = '';\n app.globalData.roomName = '';\n app.globalData.penNo = '';\n\n // 清除本地缓存中的所有登录相关信息\n try {\n uni.removeStorageSync('user_info');\n uni.removeStorageSync('equipment_token');\n uni.removeStorageSync('token_expire_time');\n // 可选:清除编号相关的缓存\n // uni.removeStorageSync('building');\n // uni.removeStorageSync('room');\n // uni.removeStorageSync('pen');\n // uni.removeStorageSync('buildingName');\n // uni.removeStorageSync('roomName');\n // uni.removeStorageSync('penNo');\n } catch (e) {\n __f__(\"error\", '清除登录信息失败:', e, \" at pages/index/index.vue:1318\");\n }\n },\n toggleServerConfig: function toggleServerConfig() {\n this.showServerConfig = !this.showServerConfig;\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 */ 21)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJkYXRhTGlzdCIsInR5cGVzIiwic2NhblByb2dyZXNzIiwic2NhblRvdGFsQXR0ZW1wdHMiLCJpc0Rpc2FibGUiLCJpc0RldmljZVJlYWR5IiwiaXNJbml0aWFsaXppbmciLCJjdXJyZW50RGF0ZSIsInNob3dTZXJ2ZXJDb25maWciLCJ1aGZTRkhlbHBlciIsInNjYW5UaW1lb3V0IiwicmV0cnlUaW1lb3V0IiwibWF4U2NhblRpbWVyIiwic2V0dGluZ0NoYW5nZUxpc3RlbmVyIiwiaXNDb250aW51b3VzU2Nhbm5pbmciLCJjb250aW51b3VzU2NhbkludGVydmFsIiwiYnVpbGRpbmdMaXN0Iiwicm9vbUxpc3QiLCJGaWVsZG51bWJlciIsImZvcm0iLCJlYXJJZCIsImJ1aWxkaW5nTmFtZSIsInJvb21OYW1lIiwicGVuTm8iLCJzdGF0dXMiLCJub3RlIiwiaXNTdWJtaXR0aW5nIiwibW91bnRlZCIsImluaXRpYWxpemVQbHVnaW5XaXRoUmV0cnkiLCJiZWZvcmVVbm1vdW50IiwiY2xlYXJUaW1lb3V0IiwidW5pIiwib25TaG93IiwibWV0aG9kcyIsImNoZWNrVG9rZW5FeHBpcmF0aW9uIiwiZXhwaXJlVGltZSIsInNldFRpbWVvdXQiLCJ0aXRsZSIsImljb24iLCJkdXJhdGlvbiIsImZldGNoQnVpbGRpbmdMaXN0IiwibWFzayIsInVybCIsIm1ldGhvZCIsInRpbWVvdXQiLCJoZWFkZXIiLCJzdWNjZXNzIiwiY29tcGxldGUiLCJsb2FkU2F2ZWRTZXR0aW5ncyIsInJlZnJlc2hHbG9iYWxEYXRhIiwiYXBwIiwiZmV0Y2hSb29tTGlzdCIsImJ1aWxkaW5nIiwiZmV0Y2hGaWVsZExpc3QiLCJmYWlsIiwiaW5pdFBsdWdpbkluc3RhbmNlIiwiY2hlY2tBbmRSZXN0b3JlUGx1Z2luSW5zdGFuY2UiLCJjYW5jZWxTY2FuIiwicmVsZWFzZURldmljZSIsImluaXQiLCJ0b2dnbGVDb250aW51b3VzU2NhbiIsInNjYW4iLCJyZXRyeUNvdW50IiwiY3VycmVudFJldHJ5IiwiaW50ZXJ2YWwiLCJzaWduYWxUaHJlc2hvbGQiLCJjb250aW51b3VzIiwicGVyZm9ybUNvbnRpbnVvdXNTY2FuIiwib25UeXBlQ2hhbmdlIiwiZGVsZXRlSXRlbSIsInBlcmZvcm1TY2FuIiwiY29uZmlnIiwiY3VycmVudFBsdWdpbkluc3RhbmNlIiwiaWQiLCJzaWduYWxTdHJlbmd0aCIsInR5cGVJbmRleCIsImUiLCJzdWJtaXRGb3JtIiwiZGV2aWNlSW5mbyIsInRva2VuIiwicmZpZCIsInVzZXJJZCIsInVzZXJuYW1lIiwidGltZSIsImRldmljZU1vZGVsIiwiZGV2aWNlVmVyc2lvbiIsInN1Ym1pdERhdGEiLCJwZW4iLCJyZXNldEZvcm0iLCJvbkJ1aWxkaW5nQ2hhbmdlIiwib25Sb29tQ2hhbmdlIiwib25GaWVsZENoYW5nZSIsImxvZ291dCIsInRvZ2dsZVNlcnZlckNvbmZpZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQXlEQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFEQTtBQUFBLGVBR0E7RUFDQUE7SUFDQTtNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUFBOztNQUVBO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUFBOztNQUVBO01BQ0FDO1FBQ0FDO1FBQUE7UUFDQUM7UUFBQTtRQUNBQztRQUFBO1FBQ0FDO1FBQUE7UUFDQUM7UUFBQTtRQUNBQztNQUNBOztNQUVBO01BQ0FDO0lBRUE7RUFDQTtFQUVBQztJQUFBO0lBQ0E7SUFDQTs7SUFFQTtJQUNBO0lBQ0E7O0lBRUE7SUFDQTs7SUFFQTtJQUNBOztJQUVBO0lBQ0E7TUFDQTtNQUNBO01BRUE7TUFDQTtNQUNBO0lBQ0E7O0lBRUE7SUFDQTs7SUFFQTtJQUNBO01BQ0E7TUFDQTtJQUNBO0VBQ0E7RUFFQTtBQUNBO0FBQ0E7QUFDQTtFQUNBQztJQUFBO0lBQ0E7SUFDQTtFQUNBO0VBRUFDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtNQUNBQztNQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO01BQ0FDO0lBQ0E7SUFDQTtJQUNBO01BQ0FBO0lBQ0E7RUFDQTtFQUVBO0FBQ0E7QUFDQTtFQUNBQztJQUNBO0lBQ0E7RUFDQTtFQUVBQztJQUNBO0FBQ0E7QUFDQTtJQUNBQztNQUNBOztNQUVBO01BQ0E7TUFDQTs7TUFFQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7TUFFQTtRQUNBO1FBQ0E7O1FBRUE7UUFDQTtVQUNBO1VBQ0E7VUFDQTtZQUNBQztVQUNBO1lBQ0E7WUFDQUE7VUFDQTtRQUNBO1VBQ0E7VUFDQUE7UUFDQTs7UUFFQTtRQUNBO1VBQ0E7VUFDQTtRQUNBO1FBRUE7O1FBRUE7UUFDQTtRQUNBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNBUDtNQUFBO01BQUE7TUFDQTtNQUNBOztNQUVBO01BRUE7TUFDQTtRQUNBO1FBQ0E7O1FBRUE7UUFDQTtVQUNBO1VBQ0FRO1lBQ0E7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtVQUNBO1VBQ0FMO1lBQ0FNO1lBQ0FDO1lBQ0FDO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBUjtVQUNBTTtVQUNBQztVQUNBQztRQUNBO01BQ0E7SUFDQTtJQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0FDO01BQUE7TUFBQTtNQUNBOztNQUVBO01BQ0E7UUFDQVQ7VUFBQU07VUFBQUk7UUFBQTtNQUNBOztNQUVBO01BQ0FWO1FBQ0FXO1FBQ0FDO1FBQ0FDO1FBQUE7UUFDQUM7VUFDQTtVQUNBO1FBQ0E7UUFDQUM7VUFDQTtVQUNBO1lBQ0FmO1VBQ0E7VUFDQTtRQUNBO1FBRUFnQjtVQUNBO1VBQ0E7WUFDQWhCO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQTtBQUNBO0FBQ0E7SUFDQWlCO01BQUE7TUFFQTtNQUNBO01BRUE7TUFDQTtNQUNBO01BRUE7TUFDQTtNQUNBO01BRUE7TUFDQTtNQUNBOztNQUVBO01BQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBOztNQUVBO01BQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQTtBQUNBO0FBQ0E7SUFDQUM7TUFDQTs7TUFFQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFFQTtVQUNBQztVQUNBQTtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7TUFFQTtNQUNBO01BQ0E7SUFDQTtJQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDQUM7TUFBQTtNQUFBO01BQ0E7TUFDQTtRQUNBcEI7VUFBQU07VUFBQUk7UUFBQTtNQUNBOztNQUVBO01BQ0FWO1FBQ0FXO1FBQ0FDO1FBQ0E1QztVQUFBcUQ7UUFBQTtRQUNBUjtRQUFBO1FBQ0FDO1VBQ0E7UUFDQTtRQUNBQztVQUNBO1VBQ0E7WUFDQWY7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDQXNCO01BQUE7TUFBQTtNQUNBO01BQ0E7UUFDQXRCO1VBQUFNO1VBQUFJO1FBQUE7TUFDQTtNQUVBO01BQ0E7O01BRUE7TUFDQVY7UUFDQVc7UUFDQUM7UUFDQUM7UUFBQTtRQUNBQztVQUNBO1FBQ0E7UUFDQUM7VUFDQTtVQUNBO1lBQ0FmO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtRQUNBO1FBQ0F1QjtVQUNBO1VBQ0E7WUFDQXZCO1VBQ0E7VUFDQTtVQUNBO1lBQ0E7WUFDQUs7Y0FDQTtZQUNBO1VBQ0EsUUFFQTtRQUNBO01BQ0E7SUFDQTtJQUVBO0FBQ0E7QUFDQTtBQUNBO0lBQ0FtQjtNQUNBO1FBQ0E7UUFDQTtNQUNBO01BRUE7UUFDQTs7UUFFQTtRQUNBO1VBQ0E7VUFDQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtVQUNBO1FBQ0E7UUFFQTtVQUNBO1VBQ0E7VUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0F4QjtVQUNBTTtVQUNBQztVQUNBQztRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNBaUI7TUFBQTtNQUFBO01BQ0E7TUFDQTtNQUNBOztNQUVBO01BQ0E7UUFDQTtRQUNBOztRQUVBO1FBQ0E7VUFDQTtVQUNBO1VBQ0FwQjtZQUNBO1VBQ0E7VUFDQTtRQUNBO1FBRUE7TUFDQTs7TUFFQTtNQUNBO01BQ0E7UUFBQTtNQUFBO01BRUE7UUFDQTtRQUNBOztRQUVBO1FBQ0E7VUFDQTtVQUNBQTtZQUNBO1VBQ0E7VUFDQTtRQUNBO1FBRUE7TUFDQTtNQUVBO01BQ0E7SUFDQTtJQUVBO0FBQ0E7QUFDQTtJQUNBcUI7TUFDQTtNQUNBO1FBQ0EzQjtRQUNBO01BQ0E7TUFFQTtRQUNBQTtRQUNBO01BQ0E7TUFFQTtRQUNBQTtRQUNBO01BQ0E7O01BRUE7TUFDQUM7TUFFQTtJQUNBO0lBRUE7QUFDQTtBQUNBO0lBQ0EyQjtNQUNBO1FBQ0E7VUFDQTtRQUNBO1VBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE7QUFDQTtBQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUNBO1FBQ0E7TUFDQTtNQUVBO1FBQ0E7UUFDQTtNQUNBO01BRUE7UUFDQTtRQUNBO1VBQUF0QjtVQUFBQztRQUFBO01BQ0E7TUFFQTtNQUNBO01BRUE7UUFDQTtRQUNBO1FBQ0E7VUFDQTtVQUNBO1FBQ0E7UUFFQTtVQUNBO1VBRUE7WUFDQTtZQUNBO1lBQ0E7WUFDQVA7Y0FBQU07Y0FBQUM7WUFBQTtVQUNBO1lBQ0E7WUFDQTtZQUNBUDtjQUFBTTtjQUFBQztZQUFBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBUDtVQUFBTTtVQUFBQztRQUFBO01BQ0E7SUFDQTtJQUVBO0FBQ0E7QUFDQTtJQUNBc0I7TUFDQTtNQUNBO1FBQ0E7TUFDQTtNQUVBO1FBQ0E7VUFBQXZCO1VBQUFDO1FBQUE7TUFDQTtNQUVBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7VUFDQVI7VUFDQTtRQUNBOztRQUVBO1FBQ0FDO1VBQUFNO1VBQUFDO1FBQUE7TUFDQTtRQUNBO1FBQ0E7O1FBRUE7UUFDQVA7VUFDQU07VUFDQUk7UUFDQTs7UUFFQTtRQUNBO01BQ0E7SUFDQTtJQUVBO0FBQ0E7QUFDQTtJQUNBb0I7TUFDQTtNQUNBO1FBQ0E7TUFDQTtNQUVBO1FBQ0E7VUFBQXhCO1VBQUFDO1FBQUE7TUFDQTs7TUFFQTtNQUNBO1FBQ0E7TUFDQTs7TUFFQTtNQUNBO1FBQ0F3QjtRQUFBO1FBQ0FDO1FBQ0FuQjtRQUFBO1FBQ0FvQjtRQUFBO1FBQ0FDO1FBQUE7UUFDQUM7TUFDQTs7TUFFQTtNQUNBO01BQ0E7O01BRUE7TUFDQW5DO1FBQ0FNO1FBQ0FJO01BQ0E7O01BRUE7TUFDQTtJQUNBO0lBRUE7QUFDQTtBQUNBO0lBQ0EwQjtNQUNBO01BQ0E7UUFDQTtVQUNBcEM7UUFDQTtRQUNBO01BQ0E7O01BRUE7TUFDQTtRQUNBQTtRQUNBO1FBQ0E7VUFBQU07VUFBQUM7UUFBQTtNQUNBOztNQUVBO01BQ0E7UUFDQXdCO1FBQUE7UUFDQUM7UUFDQW5CO1FBQUE7UUFDQW9CO1FBQUE7UUFDQUM7UUFBQTtRQUNBQztNQUNBOztNQUVBO01BQ0E7SUFDQTtJQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDQTtBQUNBO0FBQ0E7SUFDQUU7TUFDQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE7QUFDQTtBQUNBO0lBQ0FDO01BQ0E7UUFDQTtRQUNBO1FBQ0F0QztVQUFBTTtVQUFBQztRQUFBO01BQ0E7SUFDQTtJQUVBZ0M7TUFBQTtNQUNBO01BQ0E7UUFDQXZDO1FBQ0E7UUFDQTtNQUNBOztNQUVBO01BQ0E7UUFDQUE7UUFDQTtRQUNBO1VBQUFNO1VBQUFDO1FBQUE7TUFDQTs7TUFFQTtNQUNBO1FBQ0E7UUFDQTtVQUNBO1lBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTs7TUFFQTtNQUNBaUM7TUFDQTs7TUFFQTtNQUNBO1FBQ0F4QztRQUNBQTtVQUNBTTtVQUNBSTtRQUNBO01BQ0E7TUFFQTs7TUFFQTtNQUNBO1FBQ0FYO1FBQ0E7TUFDQTs7TUFFQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQUE7WUFBQTtVQUNBO1lBQ0E7WUFDQUM7WUFDQTtjQUFBTTtjQUFBQztZQUFBO1VBQ0E7UUFDQTtNQUNBOztNQUVBO01BQ0E7UUFDQTtRQUNBO1VBQ0FSO1VBQ0E7UUFDQTs7UUFFQTtRQUNBO1VBQ0E7VUFDQTtZQUNBQTtZQUNBO1VBQ0E7VUFFQTtVQUNBO1VBQ0E7VUFDQUM7VUFDQTtZQUFBTTtZQUFBQztVQUFBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1VBQ0FrQztZQUNBO1lBQ0E7Y0FDQTtjQUNBO2NBQ0E7Z0JBQ0E7a0JBQUE7Z0JBQUE7Y0FDQTtjQUNBO1lBQ0E7O1lBRUE7WUFDQTs7WUFFQTtZQUNBO2NBQ0ExQztjQUNBO1lBQ0E7WUFFQTtjQUNBO2NBQ0E7Z0JBQUEyQztnQkFBQUM7Y0FBQTs7Y0FFQTtjQUNBO2dCQUNBO2dCQUNBO2tCQUNBNUM7a0JBQ0E7Z0JBQ0E7Z0JBQ0E7a0JBQ0FBO2tCQUNBO2dCQUNBO2dCQUVBO2tCQUNBQztnQkFDQTtnQkFDQTtnQkFDQTs7Z0JBRUE7Z0JBQ0E7a0JBQUE7Z0JBQUE7Z0JBRUE7a0JBQ0E7a0JBQ0E7a0JBQ0FBO29CQUNBTTtvQkFDQUM7b0JBQ0FDO2tCQUNBO2dCQUNBO2tCQUNBO2tCQUNBO29CQUFBa0M7b0JBQUFFO2tCQUFBO2tCQUNBO29CQUNBNUM7c0JBQUFNO3NCQUFBQztvQkFBQTtrQkFDQTtvQkFDQTtvQkFDQVA7c0JBQUFNO3NCQUFBQztzQkFBQUM7b0JBQUE7a0JBQ0E7Z0JBQ0E7O2dCQUVBO2dCQUNBO2tCQUNBO2tCQUNBO29CQUNBVDtvQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtvQkFDQTtvQkFDQTtzQkFDQTtvQkFDQTtrQkFDQTtnQkFDQTtjQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2tCQUNBO29CQUNBO3NCQUFBO29CQUFBO2tCQUNBO29CQUNBO29CQUNBQztvQkFDQTtzQkFBQU07c0JBQUFDO29CQUFBO2tCQUNBO2dCQUNBO2NBQ0E7WUFDQTtjQUNBO2NBQ0E7Y0FDQTtnQkFDQTtrQkFDQTtvQkFBQTtrQkFBQTtnQkFDQTtrQkFDQTtrQkFDQVA7a0JBQ0E7b0JBQUFNO29CQUFBQztrQkFBQTtnQkFDQTtjQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1lBQ0FSO1lBQ0E7VUFDQTs7VUFFQTtVQUNBLGtCQUNBOEMsbURBQ0FBLHNDQUNBQSw2Q0FDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO2NBQ0E7Y0FDQTtnQkFDQTtrQkFBQTtnQkFBQTtjQUNBO1lBQ0E7Y0FDQTdDO2NBQ0E7Z0JBQUFNO2dCQUFBQztjQUFBO1lBQ0E7VUFDQTtZQUNBO1lBQ0E7Y0FDQTtnQkFBQTtjQUFBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO1VBQ0FSO1VBQ0E7UUFDQTtRQUVBO1FBQ0E7UUFDQSxrQkFDQThDLG1EQUNBQSxzQ0FDQUEsNkNBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1lBQ0E7WUFDQTtjQUNBO2dCQUFBO2NBQUE7WUFDQTtVQUNBO1lBQ0E3QztZQUNBO2NBQUFNO2NBQUFDO1lBQUE7VUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQUE7WUFBQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE7QUFDQTtBQUNBO0lBQ0F1QztNQUFBO01BQ0E7TUFDQTtNQUNBOztNQUVBO01BQ0E7TUFDQSxzREFDQSxrREFDQTtNQUVBO1FBQ0E7VUFBQXhDO1VBQUFDO1VBQUFDO1FBQUE7TUFDQTs7TUFFQTtNQUNBO1FBQ0E7VUFBQUY7VUFBQUM7VUFBQUM7UUFBQTtNQUNBOztNQUVBO01BQ0E7TUFDQTtNQUNBOztNQUVBO01BQ0E7TUFDQTtRQUNBO1VBQUFGO1VBQUFDO1VBQUFDO1FBQUE7TUFDQTtNQUVBUjtRQUFBTTtRQUFBSTtNQUFBO01BRUE7UUFDQTtNQUNBOztNQUVBO01BQ0E7TUFDQTtRQUNBcUM7TUFDQTtRQUNBO01BQ0E7O01BRUE7TUFDQTtRQUNBQztRQUNBQztRQUNBM0Q7UUFDQUM7UUFDQUM7UUFDQTBEO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQUE7UUFDQUM7TUFDQTs7TUFHQTtNQUNBO0lBQ0E7SUFFQTtBQUNBO0FBQ0E7QUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFFQXZEO1FBQ0FXO1FBQ0FDO1FBQ0E1QztRQUNBOEM7VUFDQTtVQUNBO1FBQ0E7O1FBQ0FEO1FBQUE7UUFDQUU7VUFDQTs7VUFFQTtVQUNBO1lBQ0FmO1lBQ0E7VUFDQTtVQUVBO1lBQ0E7WUFDQTtZQUNBO1lBRUFBO2NBQ0FNO2NBQ0FDO2NBQ0FDO1lBQ0E7WUFFQTtjQUNBO2NBQ0E7Z0JBQ0F5QztnQkFDQTVCO2dCQUNBOUI7Z0JBQ0FpRTtnQkFDQU47Z0JBQ0FFO2NBQ0E7O2NBRUE7Y0FDQTtnQkFDQTtjQUNBOztjQUVBO2NBQ0E7WUFDQTtVQUNBO1lBQ0E7WUFDQTtZQUNBcEQ7Y0FDQU07Y0FDQUM7Y0FDQUM7WUFDQTtVQUNBO1FBQ0E7UUFDQWU7VUFDQTtVQUNBO1VBQ0E7WUFDQXZCO1lBQ0E7VUFDQTtVQUNBQTtZQUNBTTtZQUNBQztZQUNBQztVQUNBO1VBQ0E7UUFDQTs7UUFDQVE7VUFDQTtVQUNBWDtZQUNBO2NBQ0FMO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE7SUFDQXlEO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFDQTtJQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBOztNQUVBO01BQ0E7O01BRUE7TUFDQTtNQUNBMUM7TUFDQUE7TUFDQUE7TUFDQUE7TUFDQUE7TUFDQUE7TUFDQUE7TUFDQUE7TUFDQUE7TUFDQUE7O01BRUE7TUFDQTtRQUNBbkI7UUFDQUE7UUFDQUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE4RDtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMzguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gIDx2aWV3IGNsYXNzPVwicGFnZVwiPlxuICAgIDwhLS0g5a+86Iiq5oyJ6ZKuIC0tPlxuICAgIDxidXR0b24gQGNsaWNrPVwibG9nb3V0XCIgY2xhc3M9XCJuYXYtYnRuXCI+XG4gICAgICA8dGV4dCBjbGFzcz1cImljb24gZmEgZmEtc2lnbi1vdXRcIj48L3RleHQ+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBAY2xpY2s9XCJ0b2dnbGVTZXJ2ZXJDb25maWdcIiBjbGFzcz1cIm5hdi1idG5cIj5cbiAgICAgIDx0ZXh0IGNsYXNzPVwiaWNvbiBmYSBmYS1jb2dcIj48L3RleHQ+XG4gICAgPC9idXR0b24+XG5cbiAgICA8c2Nyb2xsLXZpZXcgc2Nyb2xsLXkgY2xhc3M9XCJzY3JvbGwtYXJlYVwiPlxuICAgICAgPHZpZXcgdi1pZj1cIiFzaG93U2VydmVyQ29uZmlnXCIgY2xhc3M9XCJmb3JtLXNlY3Rpb25cIj5cbiAgICAgICAgPHZpZXcgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgPHRleHQgY2xhc3M9XCJ0aXRsZVwiPjwvdGV4dD5cbiAgICAgICAgPC92aWV3PlxuXG4gICAgICAgIDwhLS0gUkZJROaJq+aPj+WMuuWfnyAtLT5cbiAgICAgICAgPHZpZXcgY2xhc3M9XCJyZmlkLWNhcmRcIj5cbiAgICAgICAgICA8dGV4dCBjbGFzcz1cImljb24gZmEgZmEtcXJjb2RlIHNjYW4taWNvblwiPjwvdGV4dD5cbiAgICAgICAgICA8dmlldyBjbGFzcz1cImJ0bi1ncm91cFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1hbnVhbC1idG5cIiBAY2xpY2s9XCJpbml0XCIgOmRpc2FibGVkPVwiaXNEaXNhYmxlXCI+XG4gICAgICAgICAgICAgIDx0ZXh0IGNsYXNzPVwiZmEgZmEtcG93ZXItb2ZmXCI+PC90ZXh0PiB7eyBpc0RldmljZVJlYWR5ID8gJ+W3suW8gOWQrycgOiAn5byA5ZCv6K6+5aSHJyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8IS0tIOmHiuaUvuerr+WPo+aMiemSriAtLT5cblx0XHRcdCAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImJ0blwiIHR5cGU9XCJwcmltYXJ5XCIgQGNsaWNrPVwicmVsZWFzZVwiIDpkaXNhYmxlZD1cImlzUmVEaXNhYmxlZFwiPnJlbGVhc2U8L2J1dHRvbj4gLS0+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2Nhbi1idG5cIiBAY2xpY2s9XCJ0b2dnbGVDb250aW51b3VzU2NhblwiIDpkaXNhYmxlZD1cIiFpc0Rpc2FibGVcIj5cbiAgICAgICAgICAgICAgPHRleHQgY2xhc3M9XCJmYSBmYS1jYW1lcmFcIj48L3RleHQ+IHt7IGlzQ29udGludW91c1NjYW5uaW5nID8gJ+WBnOatouaMgee7reaJq+aPjycgOiAn5byA5aeL5oyB57ut5omr5o+PJyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC92aWV3PlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImlucHV0LWJveFwiIHYtbW9kZWw9XCJmb3JtLmVhcklkXCIgZGlzYWJsZWQgcGxhY2Vob2xkZXI9XCLlvZPliY1GSUTmoIfnrb7lj7fnoIHlsIbmmL7npLrlnKjov5nph4xcIiBzdHlsZT1cImhlaWdodDogMzBweDt3aWR0aDogOTUlO1wiIC8+XG5cbiAgICAgICAgICA8IS0tIOWtmOWCqOeahEZJROagh+etvuaVsOaNriAtLT5cbiAgICAgICAgICA8c2Nyb2xsLXZpZXcgc2Nyb2xsLXkgY2xhc3M9XCJzdlwiPlxuICAgICAgICAgICAgPHZpZXcgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGRhdGFMaXN0XCIgOmtleT1cImluZGV4XCIgY2xhc3M9XCJkYXRhLWl0ZW1cIj5cbiAgICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTBweDtcIj57eyBpdGVtLmlkIH19PC9wPlxuICAgICAgICAgICAgICA8cGlja2VyIEBjaGFuZ2U9XCJvblR5cGVDaGFuZ2UoJGV2ZW50LCBpbmRleClcIiA6dmFsdWU9XCJpdGVtLnR5cGVJbmRleFwiIDpyYW5nZT1cInR5cGVzXCI+XG4gICAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJwaWNrZXJcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHR5cGVzW2l0ZW0udHlwZUluZGV4XSB9fVxuICAgICAgICAgICAgICAgIDwvdmlldz5cbiAgICAgICAgICAgICAgPC9waWNrZXI+XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkZWxldGUtYnRuXCIgQGNsaWNrPVwiZGVsZXRlSXRlbShpbmRleClcIj7liKDpmaQ8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvdmlldz5cbiAgICAgICAgICA8L3Njcm9sbC12aWV3PlxuICAgICAgICA8L3ZpZXc+XG5cbiAgICAgICAgPCEtLSDmk43kvZzmjInpkq7pg6jliIYgLS0+XG4gICAgICAgIDx2aWV3IGNsYXNzPVwiYnRuLWdyb3VwXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1hbnVhbC1idG5cIiBAY2xpY2s9XCJyZXNldEZvcm1cIj7ph43nva48L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2Nhbi1idG5cIiBAY2xpY2s9XCJzdWJtaXRGb3JtXCI+5o+Q5Lqk5pWw5o2uPC9idXR0b24+XG4gICAgICAgIDwvdmlldz5cbiAgICAgIDwvdmlldz5cbiAgICA8L3Njcm9sbC12aWV3PlxuICA8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuLy8g5a+85YWlQVBJ6YWN572uXG5pbXBvcnQgQVBJIGZyb20gJ0AvYXBpL2luZGV4LmpzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGRhdGEoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhTGlzdDogW10sICAgICAgICAgICAvLyDlrZjlgqjmiavmj4/nmoTogLPmoIfmlbDmja5cbiAgICAgICAgdHlwZXM6IFsn5q2j5bi4JywgJ+a3mOaxsCcsICfmrbvkuqEnXSwgIC8vIOiAs+agh+exu+Wei+mAiemhuVxuICAgICAgICBzY2FuUHJvZ3Jlc3M6IDAsICAgICAvLyDlvZPliY3miavmj4/ov5vluqZcbiAgICAgICAgc2NhblRvdGFsQXR0ZW1wdHM6IDAsIC8vIOaAu+aJq+aPj+WwneivleasoeaVsFxuICAgICAgICBpc0Rpc2FibGU6IGZhbHNlLCAgICAgICAvLyDorr7lpIfnpoHnlKjnirbmgIFcbiAgICAgICAgaXNEZXZpY2VSZWFkeTogZmFsc2UsICAgLy8g6K6+5aSH5bCx57uq54q25oCBXG4gICAgICAgIGlzSW5pdGlhbGl6aW5nOiBmYWxzZSwgIC8vIOiuvuWkh+WIneWni+WMluS4reeKtuaAgVxuICAgICAgICBjdXJyZW50RGF0ZTogJycsICAgICAgICAvLyDlvZPliY3ml6XmnJ9cbiAgICAgICAgc2hvd1NlcnZlckNvbmZpZzogZmFsc2UsLy8g5piv5ZCm5pi+56S65pyN5Yqh5Zmo6YWN572uXG4gICAgICAgIHVoZlNGSGVscGVyOiBudWxsLCAgICAgIC8vIFVIRuaPkuS7tuWunuS+i1xuICAgICAgICBzY2FuVGltZW91dDogbnVsbCwgICAgICAvLyDmiavmj4/otoXml7borqHml7blmahcbiAgICAgICAgcmV0cnlUaW1lb3V0OiBudWxsLCAgICAgLy8g6YeN6K+V6K6h5pe25ZmoXG4gICAgICAgIG1heFNjYW5UaW1lcjogbnVsbCwgICAgIC8vIOacgOWkp+aJq+aPj+aXtumXtOiuoeaXtuWZqFxuICAgICAgICBzZXR0aW5nQ2hhbmdlTGlzdGVuZXI6IG51bGwsIC8vIOiuvue9ruWPmOWMluebkeWQrOWZqFxuICAgICAgICBpc0NvbnRpbnVvdXNTY2FubmluZzogZmFsc2UsIC8vIOaYr+WQpuato+WcqOaMgee7reaJq+aPj1xuICAgICAgICBjb250aW51b3VzU2NhbkludGVydmFsOiBudWxsLCAvLyDmjIHnu63miavmj4/pl7TpmpTorqHml7blmahcbiAgICAgICAgXG4gICAgICAgIC8vIOWIl+ihqOaVsOaNrlxuICAgICAgICBidWlsZGluZ0xpc3Q6IFtdLCAgICAgICAvLyDmoIvoiI3liJfooahcbiAgICAgICAgcm9vbUxpc3Q6IFtdLCAgICAgICAgICAgLy8g5oi/6Ze05YiX6KGoXG4gICAgICAgIEZpZWxkbnVtYmVyOiBbXSwgICAgICAgIC8vIOagj+S9jeWIl+ihqFxuICAgICAgICBcbiAgICAgICAgLy8g6KGo5Y2V5pWw5o2uXG4gICAgICAgIGZvcm06IHtcbiAgICAgICAgICBlYXJJZDogJycsICAgICAgICAgICAgLy8g6ICz5qCHSURcbiAgICAgICAgICBidWlsZGluZ05hbWU6ICcnLCAgICAgLy8g5qCL6IiN5ZCN56ewXG4gICAgICAgICAgcm9vbU5hbWU6ICcnLCAgICAgICAgIC8vIOaIv+mXtOWQjeensFxuICAgICAgICAgIHBlbk5vOiAnJywgICAgICAgICAgICAvLyDmoI/kvY3nvJblj7dcbiAgICAgICAgICBzdGF0dXM6ICdoZWFsdGh5JywgICAgLy8g54q25oCBXG4gICAgICAgICAgbm90ZTogJycgICAgICAgICAgICAgIC8vIOWkh+azqFxuICAgICAgICB9LFxuICAgICAgICBcbiAgICAgICAgLy8g5o+Q5Lqk54q25oCBXG4gICAgICAgIGlzU3VibWl0dGluZzogZmFsc2UsXG4gICAgICBcbiAgICB9XG4gIH0sXG4gIFxuICBtb3VudGVkKCkge1xuICAgIC8vIOagh+iusOe7hOS7tuW3suaMgui9vVxuICAgIHRoaXMuX2lzTW91bnRlZCA9IHRydWU7XG4gICAgXG4gICAgLy8g5Yid5aeL5YyW5pel5pyfXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKVxuICAgIHRoaXMuY3VycmVudERhdGUgPSBub3cudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdXG4gICAgXG4gICAgLy8g5Yqg6L295bey5L+d5a2Y55qE6K6+572uXG4gICAgdGhpcy5sb2FkU2F2ZWRTZXR0aW5ncygpO1xuICAgIFxuICAgIC8vIOiOt+WPluWIl+ihqOaVsOaNru+8iOWNs+S9v+aPkuS7tuacquWIneWni+WMluS5n+WPr+S7peWKoOi9ve+8iVxuICAgIHRoaXMuZmV0Y2hCdWlsZGluZ0xpc3QoKTtcbiAgICBcbiAgICAvLyDnm5HlkKznmbvlvZXmiJDlip/kuovku7bvvIzph43mlrDliqDovb3nlKjmiLforr7nva7lubbmuIXnqbrmlbDmja5cbiAgICB0aGlzLnJlbG9hZFVzZXJTZXR0aW5nc0xpc3RlbmVyID0gdW5pLiRvbigncmVsb2FkVXNlclNldHRpbmdzJywgKCkgPT4ge1xuICAgICAgLy8g5riF56m65pWw5o2uXG4gICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICAgICAgXG4gICAgICB0aGlzLmxvYWRTYXZlZFNldHRpbmdzKCk7XG4gICAgICAvLyDph43mlrDliqDovb3moIvoiI3liJfooajvvIznoa7kv53kvb/nlKjmnIDmlrDnmoTnlKjmiLfkv6Hmga9cbiAgICAgIHRoaXMuZmV0Y2hCdWlsZGluZ0xpc3QoKTtcbiAgICB9KTtcbiAgICBcbiAgICAvLyDliJ3lp4vljJbmj5Lku7blrp7kvotcbiAgICB0aGlzLmluaXRpYWxpemVQbHVnaW5XaXRoUmV0cnkoMCk7XG4gICAgXG4gICAgLy8g55uR5ZCs5YWo5bGA6K6+572u5Y+Y5YyWXG4gICAgdGhpcy5zZXR0aW5nQ2hhbmdlTGlzdGVuZXIgPSB1bmkuJG9uKCdzZXR0aW5nc1VwZGF0ZWQnLCAoc2V0dGluZ3MpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCfnm5HlkKzliLDorr7nva7mm7TmlrDkuovku7bvvIzmm7TmlrDorr7nva46Jywgc2V0dGluZ3MpO1xuICAgICAgdGhpcy5sb2FkU2F2ZWRTZXR0aW5ncyhzZXR0aW5ncyk7XG4gICAgfSk7XG4gIH0sXG4gIFxuICAvKipcbiAgICog5bim6YeN6K+V55qE5o+S5Lu25Yid5aeL5YyWXG4gICAqIEBwYXJhbSB7bnVtYmVyfSByZXRyeUNvdW50IC0g5b2T5YmN6YeN6K+V5qyh5pWwXG4gICAqL1xuICBpbml0aWFsaXplUGx1Z2luV2l0aFJldHJ5KHJldHJ5Q291bnQgPSAwKSB7XG5cdCAgY29uc29sZS5sb2coJ+iuvuWkh+WIneWni+WMluaIkOWKnycpO1xuICAgIHRoaXMuaXNEaXNhYmxlID0gZmFsc2U7XG4gIH0sXG5cbiAgYmVmb3JlVW5tb3VudCgpIHtcbiAgICAvLyDmoIforrDnu4Tku7blt7Lljbjovb1cbiAgICB0aGlzLl9pc01vdW50ZWQgPSBmYWxzZTtcbiAgICAvLyDlgZzmraLmjIHnu63miavmj49cbiAgICB0aGlzLmlzQ29udGludW91c1NjYW5uaW5nID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29udGludW91c1NjYW5JbnRlcnZhbCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY29udGludW91c1NjYW5JbnRlcnZhbCk7XG4gICAgICB0aGlzLmNvbnRpbnVvdXNTY2FuSW50ZXJ2YWwgPSBudWxsO1xuICAgIH1cbiAgICAvLyDmuIXpmaTmiYDmnInorqHml7blmahcbiAgICB0aGlzLmNhbmNlbFNjYW4oKTtcbiAgICAvLyDph4rmlL7orr7lpIdcbiAgICB0aGlzLnJlbGVhc2VEZXZpY2UoKTtcbiAgICAvLyDmuIXnkIbmj5Lku7blrp7kvotcbiAgICB0aGlzLnVoZlNGSGVscGVyID0gbnVsbDtcbiAgICAvLyDnp7vpmaTkuovku7bnm5HlkKxcbiAgICBpZiAodGhpcy5zZXR0aW5nQ2hhbmdlTGlzdGVuZXIpIHtcbiAgICAgIHVuaS4kb2ZmKCdzZXR0aW5nc1VwZGF0ZWQnLCB0aGlzLnNldHRpbmdDaGFuZ2VMaXN0ZW5lcik7XG4gICAgfVxuICAgIC8vIOenu+mZpOeZu+W9leaIkOWKn+S6i+S7tuebkeWQrFxuICAgIGlmICh0aGlzLnJlbG9hZFVzZXJTZXR0aW5nc0xpc3RlbmVyKSB7XG4gICAgICB1bmkuJG9mZigncmVsb2FkVXNlclNldHRpbmdzJywgdGhpcy5yZWxvYWRVc2VyU2V0dGluZ3NMaXN0ZW5lcik7XG4gICAgfVxuICB9LFxuICBcbiAgLyoqXG4gICAqIOmhtemdouaYvuekuuaXtuinpuWPke+8jOehruS/neiOt+WPluacgOaWsOeahOe8luWPt+S/oeaBr+W5tuajgOafpeeZu+W9leeKtuaAgVxuICAgKi9cbiAgb25TaG93KCkge1xuICAgIHRoaXMubG9hZFNhdmVkU2V0dGluZ3MoKTtcbiAgICB0aGlzLmNoZWNrVG9rZW5FeHBpcmF0aW9uKCk7XG4gIH0sXG4gIFxuICBtZXRob2RzOiB7XG4gICAgLyoqXG4gICAgICog5qOA5p+ldG9rZW7mmK/lkKbov4fmnJ9cbiAgICAgKi9cbiAgICBjaGVja1Rva2VuRXhwaXJhdGlvbigpIHtcbiAgICAgIGNvbnN0IGFwcCA9IGdldEFwcCgpO1xuXG4gICAgICAvLyDojrflj5bov4fmnJ/ml7bpl7Tlkox0b2tlblxuICAgICAgbGV0IGV4cGlyZUF0ID0gYXBwLmdsb2JhbERhdGEuZXhwaXJlQXQgfHwgdW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbl9leHBpcmVfdGltZScpIHx8ICcnO1xuICAgICAgY29uc3QgdG9rZW4gPSBhcHAuZ2xvYmFsRGF0YS50b2tlbiB8fCB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF90b2tlbicpIHx8ICcnO1xuXG4gICAgICAvLyDlpoLmnpzmsqHmnIl0b2tlbuaIlui/h+acn+aXtumXtO+8jOinhuS4uuacqueZu+W9lVxuICAgICAgaWYgKCF0b2tlbiB8fCAhZXhwaXJlQXQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ+acqueZu+W9leaIlue8uuWwkeeZu+W9leS/oeaBrycpO1xuICAgICAgICAvLyDkuI3opoHnm7TmjqXot7PovaznmbvlvZXpobXvvIzorqlBcHAudnVl55qEY2hlY2tMb2dpblN0YXR1c+adpeWkhOeQhlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIOino+aekOi/h+acn+aXtumXtOWSjOW9k+WJjeaXtumXtFxuICAgICAgICBsZXQgZXhwaXJlVGltZTtcbiAgICAgICAgXG4gICAgICAgIC8vIOWkhOeQhuS4jeWQjOexu+Wei+eahGV4cGlyZUF0XG4gICAgICAgIGlmICh0eXBlb2YgZXhwaXJlQXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgLy8g5bCd6K+V55u05o6l6Kej5p6Q5Li65pWw5a2XXG4gICAgICAgICAgY29uc3QgdGltZXN0YW1wID0gcGFyc2VJbnQoZXhwaXJlQXQpO1xuICAgICAgICAgIGlmICghaXNOYU4odGltZXN0YW1wKSkge1xuICAgICAgICAgICAgZXhwaXJlVGltZSA9IHRpbWVzdGFtcDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8g5aaC5p6c5LiN5piv5pWw5a2X5a2X56ym5Liy77yM5bCd6K+V5L2c5Li65pel5pyf5a2X56ym5Liy6Kej5p6QXG4gICAgICAgICAgICBleHBpcmVUaW1lID0gbmV3IERhdGUoZXhwaXJlQXQpLmdldFRpbWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGV4cGlyZUF0ID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIC8vIOWmguaenOW3sue7j+aYr+aVsOWtl+exu+Wei++8jOebtOaOpeS9v+eUqFxuICAgICAgICAgIGV4cGlyZVRpbWUgPSBleHBpcmVBdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIOehruS/nei/h+acn+aXtumXtOacieaViFxuICAgICAgICBpZiAoaXNOYU4oZXhwaXJlVGltZSkpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCfml6DmlYjnmoTov4fmnJ/ml7bpl7Q6JywgZXhwaXJlQXQpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cbiAgICAgICAgLy8g5o+Q5YmNMeWIhumSn+ajgOafpei/h+acn++8jOe7meeUqOaIt+mihOeVmeaXtumXtFxuICAgICAgY29uc3QgZWFybHlDaGVja1RpbWUgPSA2MCAqIDEwMDA7XG4gICAgICBpZiAoY3VycmVudFRpbWUgKyBlYXJseUNoZWNrVGltZSA+IGV4cGlyZVRpbWUpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ+eZu+W9leWNs+Wwhui/h+acn+aIluW3sui/h+acnycpO1xuICAgICAgICAvLyDkuI3opoHnm7TmjqXot7PovaznmbvlvZXpobXvvIzorqlBcHAudnVl55qEY2hlY2tMb2dpblN0YXR1c+adpeWkhOeQhlxuICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcign5qOA5p+ldG9rZW7ov4fmnJ/ml7blj5HnlJ/plJnor686JywgZXJyb3IpO1xuICAgICAgfVxuICAgIH0sXG4gICAgLyoqXG4gICAqIOW4pumHjeivleeahOaPkuS7tuWIneWni+WMllxuICAgKiBAcGFyYW0ge251bWJlcn0gcmV0cnlDb3VudCAtIOW9k+WJjemHjeivleasoeaVsFxuICAgKi9cbiAgaW5pdGlhbGl6ZVBsdWdpbldpdGhSZXRyeShyZXRyeUNvdW50ID0gMCkge1xuICAgIGNvbnN0IE1BWF9SRVRSSUVTID0gMzsgLy8g5aKe5Yqg6YeN6K+V5qyh5pWw5YiwM+asoVxuICAgIGNvbnN0IFJFVFJZX0RFTEFZID0gMjAwMDsgLy8gMuenklxuICAgIFxuICAgIGNvbnNvbGUubG9nKGDlvIDlp4vmj5Lku7bliJ3lp4vljJblsJ3or5UgJHtyZXRyeUNvdW50ICsgMX0vJHtNQVhfUkVUUklFU31gKTtcbiAgICBcbiAgICBjb25zdCBpc1BsdWdpbkluaXRpYWxpemVkID0gdGhpcy5pbml0UGx1Z2luSW5zdGFuY2UoKTtcbiAgICBpZiAoIWlzUGx1Z2luSW5pdGlhbGl6ZWQpIHtcbiAgICAgIGNvbnNvbGUud2Fybihg5o+S5Lu25Yid5aeL5YyW5aSx6LSlIChhdHRlbXB0ICR7cmV0cnlDb3VudCArIDF9LyR7TUFYX1JFVFJJRVN9KWApO1xuICAgICAgdGhpcy5pc0Rpc2FibGUgPSB0cnVlOyAvLyDnpoHnlKjkvp3otZbmj5Lku7bnmoTmjInpkq5cbiAgICAgIFxuICAgICAgLy8g5aaC5p6c5pyq6L6+5Yiw5pyA5aSn6YeN6K+V5qyh5pWw77yM57un57ut6YeN6K+VXG4gICAgICBpZiAocmV0cnlDb3VudCA8IE1BWF9SRVRSSUVTKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBSZXRyeWluZyBwbHVnaW4gaW5pdGlhbGl6YXRpb24gYWZ0ZXIgJHtSRVRSWV9ERUxBWX1tc2ApO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5faXNNb3VudGVkKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVQbHVnaW5XaXRoUmV0cnkocmV0cnlDb3VudCArIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgUkVUUllfREVMQVkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignTWF4IHJldHJpZXMgcmVhY2hlZCBmb3IgcGx1Z2luIGluaXRpYWxpemF0aW9uJyk7XG4gICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgIHRpdGxlOiAn6K6+5aSH5Yid5aeL5YyW5aSx6LSl77yM6K+36YeN5ZCv5bqU55SoJyxcbiAgICAgICAgICBpY29uOiAnbm9uZScsXG4gICAgICAgICAgZHVyYXRpb246IDMwMDBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKCfmj5Lku7bliJ3lp4vljJbmiJDlip8nKTtcbiAgICAgIHRoaXMuaXNEaXNhYmxlID0gZmFsc2U7XG4gICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAgICAgdGl0bGU6ICforr7lpIfliJ3lp4vljJbmiJDlip8nLFxuICAgICAgICBpY29uOiAnc3VjY2VzcycsXG4gICAgICAgIGR1cmF0aW9uOiAyMDAwXG4gICAgICB9KTtcbiAgICB9XG4gIH0sXG4gICAgLyoqXG4gICAgICog6I635Y+W5qCL6IiN5YiX6KGo77yI5bim6YeN6K+V5py65Yi277yJXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHJldHJ5Q291bnQgLSDlvZPliY3ph43or5XmrKHmlbDvvIjpu5jorqQw77yJXG4gICAgICovXG4gICAgZmV0Y2hCdWlsZGluZ0xpc3QocmV0cnlDb3VudCA9IDApIHtcbiAgICAgIGNvbnN0IE1BWF9SRVRSSUVTID0gMjsgLy8g5pyA5aSn6YeN6K+V5qyh5pWwXG4gICAgICBcbiAgICAgIC8vIOaYvuekuuWKoOi9veaPkOekulxuICAgICAgaWYgKHJldHJ5Q291bnQgPT09IDApIHtcbiAgICAgICAgdW5pLnNob3dMb2FkaW5nKHsgdGl0bGU6ICfliqDovb3moIvoiI3liJfooaguLi4nLCBtYXNrOiB0cnVlIH0pO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvL+iOt+WPluagi+iIjeWIl+ihqFxuICAgICAgdW5pLnJlcXVlc3Qoe1xuICAgICAgICB1cmw6IEFQSS5nZXRCdWlsZGluZyxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdGltZW91dDogMTAwMDAsIC8vIOWinuWKoOi2heaXtuaXtumXtOWIsDEw56eSXG4gICAgICAgIGhlYWRlcjoge1xuICAgICAgICAgICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxcbiAgICAgICAgICBcIngtdG9rZW5cIjogdW5pLmdldFN0b3JhZ2VTeW5jKCdlcXVpcG1lbnRfdG9rZW4nKSB8fCAnJ1xuICAgICAgICB9LFxuICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XG4gICAgICAgICAgLy8g6ZqQ6JeP5Yqg6L295o+Q56S6XG4gICAgICAgICAgaWYgKHJldHJ5Q291bnQgPT09IDApIHtcbiAgICAgICAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmJ1aWxkaW5nTGlzdCA9IHJlcy5kYXRhLmRhdGEgfHwgW107XG4gICAgICAgIH0sXG5cbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAvLyDnoa7kv53mnIDnu4jpmpDol49sb2FkaW5nXG4gICAgICAgICAgaWYgKHJldHJ5Q291bnQgPT09IE1BWF9SRVRSSUVTKSB7XG4gICAgICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiDliqDovb3lt7Lkv53lrZjnmoTorr7nva5cbiAgICAgKi9cbiAgICBsb2FkU2F2ZWRTZXR0aW5ncyhzZXR0aW5ncyA9IG51bGwpIHtcbiAgICAgIFxuICAgIGNvbnN0IGFwcCA9IGdldEFwcCgpO1xuICAgIGNvbnNvbGUubG9nKCflvZPliY3lhajlsYDmlbDmja7lrozmlbTlhoXlrrk6JywgSlNPTi5zdHJpbmdpZnkoYXBwLmdsb2JhbERhdGEpKTtcbiAgICBcbiAgICBjb25zdCBidWlsZGluZ05hbWUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2J1aWxkaW5nJykgfHwgJyc7XG4gICAgY29uc3Qgcm9vbU5hbWUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Jvb20nKSB8fCAnJztcbiAgICBjb25zdCBwZW5ObyA9IHVuaS5nZXRTdG9yYWdlU3luYygncGVuJykgfHwgJyc7XG5cbiAgICB0aGlzLmZvcm0uYnVpbGRpbmdOYW1lID0gYnVpbGRpbmdOYW1lO1xuICAgIHRoaXMuZm9ybS5yb29tTmFtZSA9IHJvb21OYW1lO1xuICAgIHRoaXMuZm9ybS5wZW5ObyA9IHBlbk5vO1xuXG4gICAgY29uc29sZS5sb2coJ+ihqOWNleacgOe7iOi1i+WAvOe7k+aenCcsIHRoaXMuZm9ybS5idWlsZGluZ05hbWUpO1xuICAgIGNvbnNvbGUubG9nKCfooajljZXmnIDnu4jotYvlgLznu5PmnpwnLCB0aGlzLmZvcm0ucm9vbU5hbWUpO1xuICAgIGNvbnNvbGUubG9nKCfooajljZXmnIDnu4jotYvlgLznu5PmnpwnLCB0aGlzLmZvcm0ucGVuTm8pO1xuICAgIFxuICAgIC8vIOWmguaenOagi+iIjeS4jeS4uuepuuS4lOaIv+mXtOWIl+ihqOS4uuepuu+8jOWKoOi9veaIv+mXtOWIl+ihqFxuICAgIGlmIChidWlsZGluZ05hbWUgJiYgdGhpcy5yb29tTGlzdC5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZmV0Y2hSb29tTGlzdChidWlsZGluZ05hbWUpO1xuICAgIH0gZWxzZSBpZiAoYnVpbGRpbmdOYW1lICYmIHRoaXMucm9vbUxpc3QubGVuZ3RoID4gMCAmJiByb29tTmFtZSkge1xuICAgICAgLy8g5aaC5p6c5oi/6Ze05bey5Y+Y5pu077yM5pu05paw5oi/6Ze05YiX6KGoXG4gICAgICB0aGlzLmZldGNoUm9vbUxpc3QoYnVpbGRpbmdOYW1lKTtcbiAgICB9XG4gICAgXG4gICAgLy8g5aaC5p6c5oi/6Ze05LiN5Li656m65LiU5qCP5L2N5YiX6KGo5Li656m677yM5Yqg6L295qCP5L2N5YiX6KGoXG4gICAgaWYgKHJvb21OYW1lICYmIHRoaXMuRmllbGRudW1iZXIubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmZldGNoRmllbGRMaXN0KHJvb21OYW1lKTtcbiAgICB9IGVsc2UgaWYgKHJvb21OYW1lICYmIHRoaXMuRmllbGRudW1iZXIubGVuZ3RoID4gMCAmJiBwZW5Obykge1xuICAgICAgLy8g5aaC5p6c5qCP5L2N5bey5Y+Y5pu077yM5pu05paw5qCP5L2N5YiX6KGoXG4gICAgICB0aGlzLmZldGNoRmllbGRMaXN0KHJvb21OYW1lKTtcbiAgICB9XG4gIH0sXG4gIFxuICAvKipcbiAgICAgKiDmiYvliqjliLfmlrDlhajlsYDmlbDmja5cbiAgICAgKi9cbiAgcmVmcmVzaEdsb2JhbERhdGEoKSB7XG4gICAgY29uc29sZS5sb2coJ+aJi+WKqOWIt+aWsOWFqOWxgOaVsOaNricpO1xuICAgIFxuICAgIC8vIOWwneivleS7juacrOWcsOWtmOWCqOaBouWkjeacgOaWsOaVsOaNruWIsOWFqOWxgOaVsOaNrlxuICAgIHRyeSB7XG4gICAgICBjb25zdCBhcHAgPSBnZXRBcHAoKTtcbiAgICAgIGNvbnN0IHRva2VuID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdlcXVpcG1lbnRfdG9rZW4nKSB8fCAnJztcbiAgICAgIGNvbnN0IGV4cGlyZUF0ID0gdW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbl9leHBpcmVfdGltZScpIHx8ICcnO1xuICAgICAgY29uc3QgdXNlckluZm8gPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3VzZXJfaW5mbycpIHx8IHt9O1xuICAgICAgY29uc3QgYnVpbGRpbmcgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2J1aWxkaW5nJykgfHwgJyc7XG4gICAgICBjb25zdCByb29tID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdyb29tJykgfHwgJyc7XG4gICAgICBjb25zdCBwZW4gPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3BlbicpIHx8ICcnO1xuICAgICAgXG4gICAgICBpZiAodG9rZW4gJiYgZXhwaXJlQXQpIHtcbiAgICAgICAgYXBwLmdsb2JhbERhdGEudG9rZW4gPSB0b2tlbjtcbiAgICAgICAgYXBwLmdsb2JhbERhdGEuZXhwaXJlQXQgPSBleHBpcmVBdDtcbiAgICAgICAgYXBwLmdsb2JhbERhdGEudXNlckluZm8gPSB1c2VySW5mbztcbiAgICAgICAgYXBwLmdsb2JhbERhdGEuaXNMb2dnZWRJbiA9IHRydWU7XG4gICAgICAgIGFwcC5nbG9iYWxEYXRhLmJ1aWxkaW5nID0gYnVpbGRpbmc7XG4gICAgICAgIGFwcC5nbG9iYWxEYXRhLnJvb20gPSByb29tO1xuICAgICAgICBhcHAuZ2xvYmFsRGF0YS5wZW4gPSBwZW47XG4gICAgICAgIGFwcC5nbG9iYWxEYXRhLmJ1aWxkaW5nTmFtZSA9IGJ1aWxkaW5nO1xuICAgICAgICBhcHAuZ2xvYmFsRGF0YS5yb29tTmFtZSA9IHJvb207XG4gICAgICAgIGFwcC5nbG9iYWxEYXRhLnBlbk5vID0gcGVuO1xuICAgICAgICBjb25zb2xlLmxvZygn5LuO5pys5Zyw5a2Y5YKo5oGi5aSN5YWo5bGA5pWw5o2u5oiQ5YqfJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcign5LuO5pys5Zyw5a2Y5YKo5oGi5aSN5YWo5bGA5pWw5o2u5aSx6LSlOicsIGUpO1xuICAgIH1cbiAgICBcbiAgICB0aGlzLmxvYWRTYXZlZFNldHRpbmdzKCk7XG4gICAgLy8g5Yi35paw5qCL6IiN5YiX6KGoXG4gICAgdGhpcy5mZXRjaEJ1aWxkaW5nTGlzdCgpO1xuICB9LFxuICAgIFxuICAgIC8qKlxuICAgICAqIOagueaNruagi+iIjeiOt+WPluaIv+mXtOWIl+ihqFxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBidWlsZGluZ05hbWUgLSDmoIvoiI3lkI3np7BcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gcmV0cnlDb3VudCAtIOW9k+WJjemHjeivleasoeaVsFxuICAgICAqL1xuICAgIGZldGNoUm9vbUxpc3QoYnVpbGRpbmdOYW1lLCByZXRyeUNvdW50ID0gMCkge1xuICAgICAgLy8g5pi+56S65Yqg6L295o+Q56S6XG4gICAgICBpZiAocmV0cnlDb3VudCA9PT0gMCkge1xuICAgICAgICB1bmkuc2hvd0xvYWRpbmcoeyB0aXRsZTogJ+WKoOi9veaIv+mXtOWIl+ihqC4uLicsIG1hc2s6IHRydWUgfSk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIOWPkemAgeivt+axguWIsEFQSeiOt+WPluaIv+mXtOWIl+ihqFxuICAgICAgdW5pLnJlcXVlc3Qoe1xuICAgICAgICB1cmw6IEFQSS5nZXRSb29tLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBkYXRhOiB7IGJ1aWxkaW5nOiBidWlsZGluZ05hbWUgfSxcbiAgICAgICAgdGltZW91dDogMTAwMDAsIC8vIOWinuWKoOi2heaXtuaXtumXtOWIsDEw56eSXG4gICAgICAgIGhlYWRlcjoge1xuICAgICAgICAgIFwieC10b2tlblwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF90b2tlbicpIHx8ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHN1Y2Nlc3M6IChyZXMpID0+IHtcbiAgICAgICAgICAvLyDpmpDol4/liqDovb3mj5DnpLpcbiAgICAgICAgICBpZiAocmV0cnlDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG4gICAgICAgICAgfVxuXHRcdFx0Ly8g5pu05paw5oi/6Ze05YiX6KGoXG5cdFx0XHR0aGlzLnJvb21MaXN0ID0gcmVzLmRhdGEuZGF0YSB8fCBbXTtcblx0XHRcdC8vIOmHjee9ruaIv+mXtOWSjOagj+S9jemAieaLqVxuXHRcdFx0dGhpcy5mb3JtLnJvb21OYW1lID0gJyc7XG5cdFx0XHR0aGlzLkZpZWxkbnVtYmVyID0gW107XG5cdFx0XHR0aGlzLmZvcm0ucGVuTm8gPSAnJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBcbiAgICAvKipcbiAgICAgKiDmoLnmja7miL/pl7TlkI3np7Dojrflj5bmoI/kvY3liJfooahcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcm9vbU5hbWUgLSDmiL/pl7TlkI3np7BcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gcmV0cnlDb3VudCAtIOW9k+WJjemHjeivleasoeaVsO+8iOm7mOiupDDvvIlcbiAgICAgKi9cbiAgICBmZXRjaEZpZWxkTGlzdChyb29tTmFtZSwgcmV0cnlDb3VudCA9IDApIHtcbiAgICAgIC8vIOaYvuekuuWKoOi9veaPkOekulxuICAgICAgaWYgKHJldHJ5Q291bnQgPT09IDApIHtcbiAgICAgICAgdW5pLnNob3dMb2FkaW5nKHsgdGl0bGU6ICfliqDovb3moI/kvY3liJfooaguLi4nLCBtYXNrOiB0cnVlIH0pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBNQVhfUkVUUklFUyA9IDE7XG4gICAgICBjb25zdCBSRVRSWV9ERUxBWSA9IDIwMDA7IC8vIDLnp5JcblxuICAgICAgLy8g5Y+R6YCB6K+35rGC5YiwQVBJ6I635Y+W5qCP5L2N5YiX6KGoXG4gICAgICB1bmkucmVxdWVzdCh7XG4gICAgICAgIHVybDogQVBJLmdldFBlbixcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgdGltZW91dDogMTAwMDAsIC8vIOWinuWKoOi2heaXtuaXtumXtOWIsDEw56eSXG4gICAgICAgIGhlYWRlcjoge1xuICAgICAgICAgIFwieC10b2tlblwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF90b2tlbicpIHx8ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHN1Y2Nlc3M6IChyZXMpID0+IHtcbiAgICAgICAgICAvLyDpmpDol4/liqDovb3mj5DnpLpcbiAgICAgICAgICBpZiAocmV0cnlDb3VudCA9PT0gMCkge1xuICAgICAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyDmm7TmlrDmoI/kvY3liJfooahcbiAgICAgICAgICB0aGlzLkZpZWxkbnVtYmVyID0gcmVzLmRhdGEuZGF0YSB8fCBbXTtcbiAgICAgICAgICAvLyDph43nva7moI/kvY3pgInmi6lcbiAgICAgICAgICB0aGlzLmZvcm0ucGVuTm8gPSAnJzsgXG4gICAgICAgIH0sXG4gICAgICAgIGZhaWw6IChlcnIpID0+IHtcbiAgICAgICAgICAvLyDpmpDol4/liqDovb3mj5DnpLpcbiAgICAgICAgICBpZiAocmV0cnlDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIOWmguaenOacqui+vuWIsOacgOWkp+mHjeivleasoeaVsO+8jOWwneivlemHjeivlVxuICAgICAgICAgIGlmIChyZXRyeUNvdW50IDwgTUFYX1JFVFJJRVMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBSZXRyeWluZyByZXF1ZXN0ICgke3JldHJ5Q291bnQgKyAxfS8ke01BWF9SRVRSSUVTfSlgKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmZldGNoRmllbGRMaXN0KHJvb21OYW1lLCByZXRyeUNvdW50ICsgMSk7XG4gICAgICAgICAgICB9LCBSRVRSWV9ERUxBWSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIOWIneWni+WMllVIRuaPkuS7tuWunuS+i1xuICAgICAqIEByZXR1cm5zIHtib29sZWFufSDliJ3lp4vljJbmmK/lkKbmiJDlip9cbiAgICAgKi9cbiAgICBpbml0UGx1Z2luSW5zdGFuY2UoKSB7XG4gICAgICBpZiAodGhpcy51aGZTRkhlbHBlcikge1xuICAgICAgICBjb25zb2xlLmxvZygn5o+S5Lu25a6e5L6L5bey5a2Y5ZyoJyk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgXG4gICAgICB0cnkge1xuICAgICAgICBjb25zb2xlLmxvZygn5Yid5aeL5YyWVUhG5o+S5Lu25a6e5L6LJyk7XG4gICAgICAgIFxuICAgICAgICAvLyDmo4Dmn6Xov5DooYznjq/looPmmK/lkKbmlK/mjIHljp/nlJ/mj5Lku7ZcbiAgICAgICAgaWYgKHR5cGVvZiB1bmkucmVxdWlyZU5hdGl2ZVBsdWdpbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ+W9k+WJjeeOr+Wig+S4jeaUr+aMgXVuaS5yZXF1aXJlTmF0aXZlUGx1Z2luJyk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyDlsJ3or5XliqDovb3mj5Lku7ZcbiAgICAgICAgdGhpcy51aGZTRkhlbHBlciA9IHVuaS5yZXF1aXJlTmF0aXZlUGx1Z2luKCdBbHZpbi1DQlpVaGZNb2R1bGUnKTtcbiAgICAgICAgXG4gICAgICAgIC8vIOmqjOivgeaPkuS7tuWunuS+i+aYr+WQpuacieaViFxuICAgICAgICBpZiAoIXRoaXMudWhmU0ZIZWxwZXIpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51aGZTRkhlbHBlci5kb0luaXREZXZpY2UgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAvL+aPkuS7tuWunuS+i+e8uuWwkeW/heimgeaWueazlTogZG9Jbml0RGV2aWNlXG4gICAgICAgICAgdGhpcy51aGZTRkhlbHBlciA9IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKCdVSEbmj5Lku7blrp7kvovliJvlu7rmiJDlip8nKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ+WKoOi9vVVIRuaPkuS7tuWksei0pTonLCBlLm1lc3NhZ2UpO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ+mUmeivr+agiDonLCBlLnN0YWNrKTtcbiAgICAgICAgdGhpcy51aGZTRkhlbHBlciA9IG51bGw7XG4gICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgIHRpdGxlOiAn6K6+5aSH5Yqf6IO95LiN5Y+v55SoOiAnICsgZS5tZXNzYWdlLFxuICAgICAgICAgIGljb246ICdub25lJyxcbiAgICAgICAgICBkdXJhdGlvbjogMzAwMFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0sXG4gICAgXG4gICAgLyoqXG4gICAgICog5qOA5p+l5bm25oGi5aSN5o+S5Lu25a6e5L6LXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHJldHJ5Q291bnQgLSDlvZPliY3ph43or5XmrKHmlbDvvIjpu5jorqQw77yJXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IOaPkuS7tuWunuS+i+aYr+WQpuacieaViFxuICAgICAqL1xuICAgIGNoZWNrQW5kUmVzdG9yZVBsdWdpbkluc3RhbmNlKHJldHJ5Q291bnQgPSAwKSB7XG4gICAgICAvLyDorr7nva7mnIDlpKfph43or5XmrKHmlbDlkozotoXml7bml7bpl7RcbiAgICAgIGNvbnN0IE1BWF9SRVRSSUVTID0gMTtcbiAgICAgIGNvbnN0IFJFVFJZX0RFTEFZID0gMTAwMDsgLy8gMeenklxuICAgICAgXG4gICAgICAvLyDlpoLmnpzlrp7kvovkuI3lrZjlnKjvvIzlsJ3or5XliJ3lp4vljJZcbiAgICAgIGlmICghdGhpcy51aGZTRkhlbHBlcikge1xuICAgICAgICBjb25zb2xlLmxvZyhg5rKh5pyJ5o+S5Lu25a6e5L6L77yM5bCd6K+V5Yid5aeL5YyWICjph43or5U6ICR7cmV0cnlDb3VudH0pYCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuaW5pdFBsdWdpbkluc3RhbmNlKCk7XG4gICAgICAgIFxuICAgICAgICAvLyDlpoLmnpzliJ3lp4vljJblpLHotKXkuJTmnKrovr7liLDmnIDlpKfph43or5XmrKHmlbDvvIzpgJLlvZLph43or5VcbiAgICAgICAgaWYgKCFyZXN1bHQgJiYgcmV0cnlDb3VudCA8IE1BWF9SRVRSSUVTKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYOWIneWni+WMluWksei0pe+8jOmHjeivlSAoJHtyZXRyeUNvdW50ICsgMX0vJHtNQVhfUkVUUklFU30pIOWQjiAke1JFVFJZX0RFTEFZfW1zYCk7XG4gICAgICAgICAgLy8g5bu26L+f5ZCO6YeN6K+VXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrQW5kUmVzdG9yZVBsdWdpbkluc3RhbmNlKHJldHJ5Q291bnQgKyAxKTtcbiAgICAgICAgICB9LCBSRVRSWV9ERUxBWSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyDmo4Dmn6Xlrp7kvovmlrnms5XmmK/lkKblrZjlnKjkuJTmnInmlYhcbiAgICAgIGNvbnN0IHJlcXVpcmVkTWV0aG9kcyA9IFsnZG9Jbml0RGV2aWNlJywgJ2RvU3RhcnRTY2FuJywgJ2RvUmVsZWFzZURldmljZSddO1xuICAgICAgY29uc3QgbWlzc2luZ01ldGhvZHMgPSByZXF1aXJlZE1ldGhvZHMuZmlsdGVyKG1ldGhvZCA9PiB0eXBlb2YgdGhpcy51aGZTRkhlbHBlclttZXRob2RdICE9PSAnZnVuY3Rpb24nKTtcbiAgICAgIFxuICAgICAgaWYgKG1pc3NpbmdNZXRob2RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihg5o+S5Lu25a6e5L6L57y65bCR5b+F6KaB5pa55rOVOiAke21pc3NpbmdNZXRob2RzLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIHRoaXMudWhmU0ZIZWxwZXIgPSBudWxsO1xuICAgICAgICBcbiAgICAgICAgLy8g5aaC5p6c5pyq6L6+5Yiw5pyA5aSn6YeN6K+V5qyh5pWw77yM5bCd6K+V6YeN5paw5Yid5aeL5YyWXG4gICAgICAgIGlmIChyZXRyeUNvdW50IDwgTUFYX1JFVFJJRVMpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgQXR0ZW1wdGluZyB0byByZWluaXRpYWxpemUgcGx1Z2luICgke3JldHJ5Q291bnQgKyAxfS8ke01BWF9SRVRSSUVTfSkgYWZ0ZXIgJHtSRVRSWV9ERUxBWX1tc2ApO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGVja0FuZFJlc3RvcmVQbHVnaW5JbnN0YW5jZShyZXRyeUNvdW50ICsgMSk7XG4gICAgICAgICAgfSwgUkVUUllfREVMQVkpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgXG4gICAgICBjb25zb2xlLmxvZygn5o+S5Lu25a6e5L6L5pyJ5pWI5LiU5YeG5aSH5L2/55SoJyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIFxuICAgIC8qKlxuICAgICAqIOWPlua2iOW9k+WJjeaJq+aPj+aTjeS9nFxuICAgICAqL1xuICAgIGNhbmNlbFNjYW4oKSB7XG4gICAgICAvLyDmuIXpmaTmiYDmnInnm7jlhbPorqHml7blmahcbiAgICAgIGlmICh0aGlzLnNjYW5UaW1lb3V0KSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNjYW5UaW1lb3V0KTtcbiAgICAgICAgdGhpcy5zY2FuVGltZW91dCA9IG51bGw7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmICh0aGlzLnJldHJ5VGltZW91dCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXRyeVRpbWVvdXQpO1xuICAgICAgICB0aGlzLnJldHJ5VGltZW91dCA9IG51bGw7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmICh0aGlzLm1heFNjYW5UaW1lcikge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5tYXhTY2FuVGltZXIpO1xuICAgICAgICB0aGlzLm1heFNjYW5UaW1lciA9IG51bGw7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIOmakOiXj+WKoOi9veaPkOekulxuICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG4gICAgICBcbiAgICAgIGNvbnNvbGUubG9nKCfmiavmj4/lt7Llj5bmtognKTtcbiAgICB9LFxuICAgIFxuICAgIC8qKlxuICAgICAqIOmHiuaUvuiuvuWkh+i1hOa6kFxuICAgICAqL1xuICAgIHJlbGVhc2VEZXZpY2UoKSB7XG4gICAgICBpZiAodGhpcy5pc0RldmljZVJlYWR5ICYmIHRoaXMudWhmU0ZIZWxwZXIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0aGlzLnVoZlNGSGVscGVyLmRvUmVsZWFzZURldmljZSgpXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCfph4rmlL7orr7lpIflpLHotKUnLCBlKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNEZXZpY2VSZWFkeSA9IGZhbHNlXG4gICAgICAgIHRoaXMuaXNEaXNhYmxlID0gZmFsc2VcbiAgICAgIH1cbiAgICB9LFxuICAgIFxuICAgIC8qKlxuICAgICAqIOWIneWni+WMluiuvuWkh1xuICAgICAqL1xuICAgIGluaXQoKSB7XG4gICAgICAvLyDnoa7kv53mj5Lku7blrp7kvovlt7LliJ3lp4vljJbkuJTmnInmlYhcbiAgICAgIGlmICghdGhpcy5jaGVja0FuZFJlc3RvcmVQbHVnaW5JbnN0YW5jZSgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaWYgKHRoaXMuaXNJbml0aWFsaXppbmcpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ+iuvuWkh+WIneWni+WMluW3suWcqOi/m+ihjOS4rScpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmICh0aGlzLmlzRGV2aWNlUmVhZHkpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ+iuvuWkh+W3suWIneWni+WMlicpO1xuICAgICAgICByZXR1cm4gdW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K6+5aSH5bey5byA5ZCvJywgaWNvbjogJ25vbmUnIH0pO1xuICAgICAgfVxuICAgICAgXG4gICAgICB0aGlzLmlzRGlzYWJsZSA9IGZhbHNlO1xuICAgICAgdGhpcy5pc0luaXRpYWxpemluZyA9IHRydWU7XG4gICAgICBcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCflvIDlp4vliJ3lp4vljJborr7lpIcnKTtcbiAgICAgICAgLy8g5YaN5qyh5qOA5p+l5o+S5Lu25a6e5L6L5piv5ZCm5pyJ5pWIXG4gICAgICAgIGlmICghdGhpcy5jaGVja0FuZFJlc3RvcmVQbHVnaW5JbnN0YW5jZSgpKSB7XG4gICAgICAgICAgdGhpcy5pc0luaXRpYWxpemluZyA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgdGhpcy51aGZTRkhlbHBlci5kb0luaXREZXZpY2UocmVzID0+IHtcbiAgICAgICAgICB0aGlzLmlzSW5pdGlhbGl6aW5nID0gZmFsc2U7XG4gICAgICAgICAgXG4gICAgICAgICAgaWYgKHJlcyA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgdGhpcy5pc0RldmljZVJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdEZXZpY2UgaW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICforr7lpIflt7LlvIDlkK8nLCBpY29uOiAnc3VjY2VzcycgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlID0gZmFsc2U7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCforr7lpIfliJ3lp4vljJblpLHotKUnKTtcbiAgICAgICAgICAgIHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+WIneWni+WMluWksei0pScsIGljb246ICdub25lJyB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aGlzLmlzSW5pdGlhbGl6aW5nID0gZmFsc2U7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb246JywgZSk7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlID0gZmFsc2U7XG4gICAgICAgIC8vIOa4hemZpOaPkuS7tuWunuS+i++8jOS7peS+v+S4i+asoeWIneWni+WMluWwneivlVxuICAgICAgICB0aGlzLnVoZlNGSGVscGVyID0gbnVsbDtcbiAgICAgICAgdW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5Yid5aeL5YyW5byC5bi4JywgaWNvbjogJ25vbmUnIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgXG4gICAgLyoqXG4gICAgICog5YiH5o2i5oyB57ut5omr5o+P54q25oCBXG4gICAgICovXG4gICAgdG9nZ2xlQ29udGludW91c1NjYW4oKSB7XG4gICAgICAvLyDnoa7kv53mj5Lku7blrp7kvovlt7LliJ3lp4vljJbkuJTmnInmlYhcbiAgICAgIGlmICghdGhpcy5jaGVja0FuZFJlc3RvcmVQbHVnaW5JbnN0YW5jZSgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaWYgKCF0aGlzLmlzRGV2aWNlUmVhZHkpIHtcbiAgICAgICAgcmV0dXJuIHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+WFiOW8gOWQr+iuvuWkhycsIGljb246ICdub25lJyB9KVxuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAodGhpcy5pc0NvbnRpbnVvdXNTY2FubmluZykge1xuICAgICAgICAvLyDlgZzmraLmjIHnu63miavmj49cbiAgICAgICAgdGhpcy5pc0NvbnRpbnVvdXNTY2FubmluZyA9IGZhbHNlO1xuICAgICAgICBcbiAgICAgICAgLy8g6LCD55SoY2FuY2VsU2NhbuaWueazlea4hemZpOaJgOacieiuoeaXtuWZqOWSjOWKoOi9veaPkOekulxuICAgICAgICB0aGlzLmNhbmNlbFNjYW4oKTtcbiAgICAgICAgXG4gICAgICAgIC8vIOa4hemZpOaMgee7reaJq+aPj+mXtOmalOiuoeaXtuWZqO+8iOWPjOmHjeS/nemanO+8iVxuICAgICAgICBpZiAodGhpcy5jb250aW51b3VzU2NhbkludGVydmFsKSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY29udGludW91c1NjYW5JbnRlcnZhbCk7XG4gICAgICAgICAgdGhpcy5jb250aW51b3VzU2NhbkludGVydmFsID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8g5pi+56S65omr5o+P5YGc5q2i5o+Q56S6XG4gICAgICAgIHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+W3suWBnOatouaJq+aPjycsIGljb246ICdub25lJyB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIOW8gOWni+aMgee7reaJq+aPj1xuICAgICAgICB0aGlzLmlzQ29udGludW91c1NjYW5uaW5nID0gdHJ1ZTtcbiAgICAgICAgXG4gICAgICAgIC8vIOaYvuekuuaMgee7reaJq+aPj+aPkOekulxuICAgICAgICB1bmkuc2hvd0xvYWRpbmcoe1xuICAgICAgICAgIHRpdGxlOiAn5oyB57ut5omr5o+P5LitLi4uJyxcbiAgICAgICAgICBtYXNrOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBcbiAgICAgICAgLy8g5byA5aeL5oyB57ut5omr5o+PXG4gICAgICAgIHRoaXMucGVyZm9ybUNvbnRpbnVvdXNTY2FuKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBcbiAgICAvKipcbiAgICAgKiDlvIDlp4vmiavmj4/ogLPmoIfvvIjljZXmrKHvvIlcbiAgICAgKi9cbiAgICBzY2FuKCkge1xuICAgICAgLy8g56Gu5L+d5o+S5Lu25a6e5L6L5bey5Yid5aeL5YyW5LiU5pyJ5pWIXG4gICAgICBpZiAoIXRoaXMuY2hlY2tBbmRSZXN0b3JlUGx1Z2luSW5zdGFuY2UoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmICghdGhpcy5pc0RldmljZVJlYWR5KSB7XG4gICAgICAgIHJldHVybiB1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7flhYjlvIDlkK/orr7lpIcnLCBpY29uOiAnbm9uZScgfSlcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8g5aaC5p6c5q2j5Zyo5oyB57ut5omr5o+P77yM5YWI5YGc5q2iXG4gICAgICBpZiAodGhpcy5pc0NvbnRpbnVvdXNTY2FubmluZykge1xuICAgICAgICB0aGlzLnRvZ2dsZUNvbnRpbnVvdXNTY2FuKCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIOiuvue9ruaJq+aPj+WPguaVsCAtIOS8mOWMluWPguaVsOS7peaPkOmrmOaIkOWKn+eOh1xuICAgICAgY29uc3Qgc2NhbkNvbmZpZyA9IHtcbiAgICAgICAgcmV0cnlDb3VudDogMywgIC8vIOWinuWKoOmHjeivleasoeaVsFxuICAgICAgICBjdXJyZW50UmV0cnk6IDAsXG4gICAgICAgIHRpbWVvdXQ6IDIwMDAsICAvLyDlop7liqDotoXml7bml7bpl7RcbiAgICAgICAgaW50ZXJ2YWw6IDQwMCwgIC8vIOWinuWKoOmXtOmalO+8jOe7meiuvuWkh+aBouWkjeaXtumXtFxuICAgICAgICBzaWduYWxUaHJlc2hvbGQ6IDAuNSwgIC8vIOmZjeS9juS/oeWPt+mYiOWAvO+8jOaOpeWPl+abtOWkmuS/oeWPt1xuICAgICAgICBjb250aW51b3VzOiBmYWxzZSAgLy8g6Z2e5oyB57ut5omr5o+P5qih5byPXG4gICAgICB9O1xuICAgICAgXG4gICAgICAvLyDliJ3lp4vljJbmiavmj4/ov5vluqblj5jph49cbiAgICAgIHRoaXMuc2NhblByb2dyZXNzID0gMDtcbiAgICAgIHRoaXMuc2NhblRvdGFsQXR0ZW1wdHMgPSBzY2FuQ29uZmlnLnJldHJ5Q291bnQ7XG4gICAgICBcbiAgICAgIC8vIOaYvuekuuaJq+aPj+S4reaPkOekuu+8jOa3u+WKoG1hc2vku6XnpoHmraLog4zmma/mk43kvZxcbiAgICAgIHVuaS5zaG93TG9hZGluZyh7XG4gICAgICAgIHRpdGxlOiAn5q2j5Zyo5omr5o+P6ICz5qCHLi4uJyxcbiAgICAgICAgbWFzazogdHJ1ZVxuICAgICAgfSk7XG4gICAgICBcbiAgICAgIC8vIOaJp+ihjOaJq+aPj+WHveaVsFxuICAgICAgdGhpcy5wZXJmb3JtU2NhbihzY2FuQ29uZmlnKTtcbiAgICB9LFxuICAgIFxuICAgIC8qKlxuICAgICAqIOaJp+ihjOaMgee7reaJq+aPj1xuICAgICAqL1xuICAgIHBlcmZvcm1Db250aW51b3VzU2NhbigpIHtcbiAgICAgIC8vIOajgOafpeaYr+WQpuS7jeWcqOaMgee7reaJq+aPj+eKtuaAgVxuICAgICAgaWYgKCF0aGlzLmlzQ29udGludW91c1NjYW5uaW5nIHx8ICF0aGlzLl9pc01vdW50ZWQgfHwgIXRoaXMuaXNEZXZpY2VSZWFkeSkge1xuICAgICAgICBpZiAodGhpcy5pc0NvbnRpbnVvdXNTY2FubmluZykge1xuICAgICAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8g5qOA5p+l5bm25oGi5aSN5o+S5Lu25a6e5L6LXG4gICAgICBpZiAoIXRoaXMuY2hlY2tBbmRSZXN0b3JlUGx1Z2luSW5zdGFuY2UoKSkge1xuICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgdGhpcy5pc0NvbnRpbnVvdXNTY2FubmluZyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gdW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K6+5aSH5Yqf6IO95byC5bi477yM5peg5rOV5oyB57ut5omr5o+PJywgaWNvbjogJ25vbmUnIH0pO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyDorr7nva7mjIHnu63miavmj4/lj4LmlbBcbiAgICAgIGNvbnN0IHNjYW5Db25maWcgPSB7XG4gICAgICAgIHJldHJ5Q291bnQ6IDEwMCwgIC8v6YeN6K+V5qyh5pWwXG4gICAgICAgIGN1cnJlbnRSZXRyeTogMCxcbiAgICAgICAgdGltZW91dDogMTUwMCwgIC8vIOWinuWKoOi2heaXtuaXtumXtOWIsDEuNeenklxuICAgICAgICBpbnRlcnZhbDogMzAwLCAgLy8g5YeP5bCR6YeN6K+V6Ze06ZqU5YiwMzAwbXNcbiAgICAgICAgc2lnbmFsVGhyZXNob2xkOiAwLjMsICAvLyDpmY3kvY7kv6Hlj7fpmIjlgLzvvIzmj5Dpq5jmiavmj4/miJDlip/njodcbiAgICAgICAgY29udGludW91czogdHJ1ZSAgLy8g5oyB57ut5omr5o+P5qih5byPXG4gICAgICB9O1xuICAgICAgXG4gICAgICAvLyDmiafooYzmiavmj49cbiAgICAgIHRoaXMucGVyZm9ybVNjYW4oc2NhbkNvbmZpZyk7XG4gICAgfSxcbiAgICBcbiAgICAvKipcbiAgICAgKiDmiafooYzmiavmj4/vvIjluKbph43or5XmnLrliLbvvIlcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gY29uZmlnIC0g5omr5o+P6YWN572u5Y+C5pWwXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGNvbmZpZy5yZXRyeUNvdW50IC0g5pyA5aSn6YeN6K+V5qyh5pWwXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGNvbmZpZy5jdXJyZW50UmV0cnkgLSDlvZPliY3ph43or5XmrKHmlbBcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gY29uZmlnLnRpbWVvdXQgLSDljZXmrKHmiavmj4/otoXml7bml7bpl7TvvIjmr6vnp5LvvIlcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gY29uZmlnLmludGVydmFsIC0g6YeN6K+V6Ze06ZqU77yI5q+r56eS77yJXG4gICAgICovXG4gICAgLyoqXG4gICAgICog5aSE55CG57G75Z6L6YCJ5oup5Y+Y5YyWXG4gICAgICovXG4gICAgb25UeXBlQ2hhbmdlKGUsIGluZGV4KSB7XG4gICAgICBpZiAoaW5kZXggPj0gMCAmJiBpbmRleCA8IHRoaXMuZGF0YUxpc3QubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZGF0YUxpc3RbaW5kZXhdLnR5cGVJbmRleCA9IGUuZGV0YWlsLnZhbHVlO1xuICAgICAgICBjb25zb2xlLmxvZyhg6ICz5qCHICR7dGhpcy5kYXRhTGlzdFtpbmRleF0uaWR9IOexu+Wei+WPmOabtOS4ujogJHt0aGlzLnR5cGVzW2UuZGV0YWlsLnZhbHVlXX1gKTtcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICog5Yig6Zmk6ICz5qCH5p2h55uuXG4gICAgICovXG4gICAgZGVsZXRlSXRlbShpbmRleCkge1xuICAgICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLmRhdGFMaXN0Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBkZWxldGVkSXRlbSA9IHRoaXMuZGF0YUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgY29uc29sZS5sb2coYOWIoOmZpOiAs+aghzogJHtkZWxldGVkSXRlbVswXS5pZH1gKTtcbiAgICAgICAgdW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5Yig6Zmk5oiQ5YqfJywgaWNvbjogJ3N1Y2Nlc3MnIH0pO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBwZXJmb3JtU2Nhbihjb25maWcpIHtcbiAgICAgIC8vIOajgOafpee7hOS7tuaYr+WQpuW3suWNuOi9veaIluiuvuWkh+aYr+WQpuW3suWHhuWkh+WlvVxuICAgICAgaWYgKCF0aGlzLl9pc01vdW50ZWQgfHwgIXRoaXMuaXNEZXZpY2VSZWFkeSkge1xuICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgY29uc29sZS5sb2coJ1NjYW4gYWJvcnRlZDogY29tcG9uZW50IG5vdCBtb3VudGVkIG9yIGRldmljZSBub3QgcmVhZHknKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyDpnZ7mjIHnu63miavmj4/mqKHlvI/kuIvmiY3mo4Dmn6XmnIDlpKfph43or5XmrKHmlbBcbiAgICAgIGlmICghY29uZmlnLmNvbnRpbnVvdXMgJiYgY29uZmlnLmN1cnJlbnRSZXRyeSA+PSBjb25maWcucmV0cnlDb3VudCkge1xuICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgY29uc29sZS5sb2coJ1NjYW4gZmFpbGVkIGFmdGVyIG1heGltdW0gcmV0cmllcycpO1xuICAgICAgICByZXR1cm4gdW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5omr5o+P5aSx6LSl77yM6K+36LCD5pW05L2N572u6YeN6K+VJywgaWNvbjogJ25vbmUnIH0pO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyDpnZ7mjIHnu63miavmj4/mqKHlvI/kuIvmiY3mt7vliqDmnIDlpKfmiavmj4/ml7bpl7TpmZDliLZcbiAgICAgIGlmICghY29uZmlnLmNvbnRpbnVvdXMpIHtcbiAgICAgICAgY29uc3QgbWF4U2NhblRpbWUgPSBjb25maWcudGltZW91dCAqIGNvbmZpZy5yZXRyeUNvdW50O1xuICAgICAgICBpZiAoIXRoaXMubWF4U2NhblRpbWVyKSB7XG4gICAgICAgICAgdGhpcy5tYXhTY2FuVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdNYXhpbXVtIHNjYW4gdGltZSBleGNlZWRlZCcpO1xuICAgICAgICAgICAgdGhpcy5jYW5jZWxTY2FuKCk7XG4gICAgICAgICAgfSwgbWF4U2NhblRpbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIOWinuWKoOmHjeivleiuoeaVsFxuICAgICAgY29uZmlnLmN1cnJlbnRSZXRyeSsrO1xuICAgICAgdGhpcy5zY2FuUHJvZ3Jlc3MgPSBjb25maWcuY3VycmVudFJldHJ5O1xuICAgICAgXG4gICAgICAvLyDmjIHnu63miavmj4/mqKHlvI/kuIvkuI3mm7TmlrDliqDovb3mj5DnpLrvvIzku6Xpgb/lhY3lubLmibDlgZzmraLmk43kvZxcbiAgICAgIGlmICghY29uZmlnLmNvbnRpbnVvdXMgJiYgKGNvbmZpZy5jdXJyZW50UmV0cnkgJSAyID09PSAwIHx8IGNvbmZpZy5jdXJyZW50UmV0cnkgPT09IGNvbmZpZy5yZXRyeUNvdW50KSkge1xuICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgdW5pLnNob3dMb2FkaW5nKHtcbiAgICAgICAgICB0aXRsZTogYOaJq+aPj+S4rSAoJHtNYXRoLnJvdW5kKGNvbmZpZy5jdXJyZW50UmV0cnkvY29uZmlnLnJldHJ5Q291bnQqMTAwKX0lKS4uLmAsXG4gICAgICAgICAgbWFzazogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgY29uc29sZS5sb2coYOW8gOWni+aJq+aPj+WwneivlSAke2NvbmZpZy5jdXJyZW50UmV0cnl9LyR7Y29uZmlnLnJldHJ5Q291bnR977yM6LaF5pe25pe26Ze0OiAke2NvbmZpZy50aW1lb3V0fW1zYCk7XG4gICAgICBcbiAgICAgIC8vIOa4hemZpOS5i+WJjeeahOi2heaXtlxuICAgICAgaWYgKHRoaXMuc2NhblRpbWVvdXQpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2NhblRpbWVvdXQpO1xuICAgICAgICB0aGlzLnNjYW5UaW1lb3V0ID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8g6K6+572u6LaF5pe25py65Yi2XG4gICAgICB0aGlzLnNjYW5UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBTY2FuIHRpbWVvdXQsIHJldHJ5aW5nICgke2NvbmZpZy5jdXJyZW50UmV0cnl9LyR7Y29uZmlnLnJldHJ5Q291bnR9KWApO1xuICAgICAgICAvLyDph43or5Xmiavmj4/liY3lhYjmo4Dmn6Xlrp7kvotcbiAgICAgICAgaWYgKHRoaXMuX2lzTW91bnRlZCkge1xuICAgICAgICAgIC8vIOajgOafpeW5tuaBouWkjeaPkuS7tuWunuS+i1xuICAgICAgICAgIGlmICh0aGlzLmNoZWNrQW5kUmVzdG9yZVBsdWdpbkluc3RhbmNlKCkpIHtcbiAgICAgICAgICAgIHRoaXMucmV0cnlUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnBlcmZvcm1TY2FuKGNvbmZpZyksIGNvbmZpZy5pbnRlcnZhbCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXN0b3JlIHBsdWdpbiBpbnN0YW5jZSBiZWZvcmUgcmV0cnknKTtcbiAgICAgICAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xuICAgICAgICAgICAgcmV0dXJuIHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+iuvuWkh+WKn+iDveW8guW4uO+8jOaXoOazlemHjeivlScsIGljb246ICdub25lJyB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIGNvbmZpZy50aW1lb3V0KTtcbiAgICAgIFxuICAgICAgLy8g5omn6KGM5omr5o+PXG4gICAgICB0cnkge1xuICAgICAgICAvLyDmuIXpmaTkuYvliY3lj6/og73lrZjlnKjnmoTph43or5XorqHml7blmahcbiAgICAgICAgaWYgKHRoaXMucmV0cnlUaW1lb3V0KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmV0cnlUaW1lb3V0KTtcbiAgICAgICAgICB0aGlzLnJldHJ5VGltZW91dCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyDmo4Dmn6Xmj5Lku7blrp7kvovmmK/lkKbmnInmlYhcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrQW5kUmVzdG9yZVBsdWdpbkluc3RhbmNlKCkpIHtcbiAgICAgICAgICAvLyDmuIXpmaTotoXml7borqHml7blmahcbiAgICAgICAgICBpZiAodGhpcy5zY2FuVGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2NhblRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy5zY2FuVGltZW91dCA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgcGx1Z2luIGluc3RhbmNlIGZvciBzY2FubmluZyBhZnRlciByZXN0b3JlIGF0dGVtcHQnKTtcbiAgICAgIC8vIOWwneivlemHjeaWsOWIneWni+WMluiuvuWkh1xuICAgICAgdGhpcy5pbml0KCk7ICAvLyDkv67lpI3vvJrkvb/nlKhpbml06ICM5LiN5piv5LiN5a2Y5Zyo55qEaW5pdERldmljZeaWueazlVxuICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG4gICAgICByZXR1cm4gdW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K6+5aSH5Yqf6IO95byC5bi477yM5q2j5Zyo6YeN5paw5Yid5aeL5YyWJywgaWNvbjogJ25vbmUnIH0pO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyDkv53lrZjlvZPliY3lrp7kvovlvJXnlKjvvIzpmLLmraLpl63ljIXkuK3lrp7kvovlj5jljJZcbiAgICAgICAgY29uc3QgY3VycmVudFBsdWdpbkluc3RhbmNlID0gdGhpcy51aGZTRkhlbHBlcjtcbiAgICAgICAgXG4gICAgICAgIC8vIOaJp+ihjOaJq+aPj+WRveS7pFxuICAgICAgICB0cnkge1xuICAgICAgICAgIGN1cnJlbnRQbHVnaW5JbnN0YW5jZS5kb1N0YXJ0U2NhbihyZXN1bHQgPT4ge1xuICAgICAgICAgICAgLy8g5YaN5qyh5qOA5p+l5o+S5Lu25a6e5L6L5piv5ZCm5LiO5omn6KGM5omr5o+P5pe255u45ZCMXG4gICAgICAgICAgICBpZiAodGhpcy51aGZTRkhlbHBlciAhPT0gY3VycmVudFBsdWdpbkluc3RhbmNlKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybignUGx1Z2luIGluc3RhbmNlIGNoYW5nZWQgZHVyaW5nIHNjYW4sIGlnbm9yaW5nIHJlc3VsdCcpO1xuICAgICAgICAgICAgICAvLyDlsJ3or5Xph43mlrDmiavmj49cbiAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzTW91bnRlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmV0cnlUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnBlcmZvcm1TY2FuKGNvbmZpZyksIGNvbmZpZy5pbnRlcnZhbCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyDmo4Dmn6Xnu4Tku7bmmK/lkKblt7Lljbjovb1cbiAgICAgICAgICAgIGlmICghdGhpcy5faXNNb3VudGVkKSByZXR1cm47XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIOa4hemZpOi2heaXtuiuoeaXtuWZqFxuICAgICAgICAgICAgaWYgKHRoaXMuc2NhblRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2NhblRpbWVvdXQpO1xuICAgICAgICAgICAgICB0aGlzLnNjYW5UaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAvLyDlpoLmnpxyZXN1bHTlj6rmmK9JROWtl+espuS4su+8jOWwhuWFtuWMheijheaIkOWvueixoVxuICAgICAgICAgICAgICBjb25zdCBzY2FuUmVzdWx0ID0gdHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycgPyB7IGlkOiByZXN1bHQsIHNpZ25hbFN0cmVuZ3RoOiAxIH0gOiByZXN1bHQ7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAvLyDmo4Dmn6Xkv6Hlj7flvLrluqbmmK/lkKbotrPlpJ9cbiAgICAgICAgICAgICAgaWYgKHNjYW5SZXN1bHQuc2lnbmFsU3RyZW5ndGggPj0gY29uZmlnLnNpZ25hbFRocmVzaG9sZCkge1xuICAgICAgICAgICAgICAgIC8vIOa4hemZpOaJgOacieiuoeaXtuWZqFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1heFNjYW5UaW1lcikge1xuICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubWF4U2NhblRpbWVyKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMubWF4U2NhblRpbWVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucmV0cnlUaW1lb3V0KSB7XG4gICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXRyeVRpbWVvdXQpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5yZXRyeVRpbWVvdXQgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZy5jb250aW51b3VzKSB7XG4gICAgICAgICAgICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+aJq+aPj+aIkOWKnzonLCBzY2FuUmVzdWx0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0uZWFySWQgPSBzY2FuUmVzdWx0LmlkO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vIOajgOafpeaYr+WQpumHjeWkjeaJq+aPj1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRHVwbGljYXRlID0gdGhpcy5kYXRhTGlzdC5zb21lKGl0ZW0gPT4gaXRlbS5pZCA9PT0gc2NhblJlc3VsdC5pZCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgaWYgKGlzRHVwbGljYXRlKSB7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn6ICz5qCH5bey5a2Y5ZyoOicsIHNjYW5SZXN1bHQuaWQpO1xuICAgICAgICAgICAgICAgICAgLy8g5oyB57ut5omr5o+P5qih5byP5LiL5Lmf5pi+56S66YeN5aSN5o+Q56S677yM5L2G5oyB57ut5pe26Ze06L6D55+tXG4gICAgICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfor6XogLPmoIflt7Lmiavmj4/ov4cnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBjb25maWcuY29udGludW91cyA/IDUwMCA6IDIwMDBcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyDpu5jorqTmt7vliqDkuLon5q2j5bi4J+exu+Wei1xuICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhTGlzdC5wdXNoKHsgaWQ6IHNjYW5SZXN1bHQuaWQsIHR5cGVJbmRleDogMCB9KTtcbiAgICAgICAgICAgICAgICAgIGlmICghY29uZmlnLmNvbnRpbnVvdXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5omr5o+P5oiQ5YqfJywgaWNvbjogJ3N1Y2Nlc3MnIH0pO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8g5oyB57ut5omr5o+P5qih5byP5LiL77yM55+t5pqC5o+Q56S65ZCO57un57utXG4gICAgICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfmiavmj4/liLDogLPmoIcnLCBpY29uOiAnc3VjY2VzcycsIGR1cmF0aW9uOiA1MDAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyDmjIHnu63miavmj4/mqKHlvI/kuIvvvIznoa7kv53nu6fnu63miavmj49cbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmNvbnRpbnVvdXMgJiYgdGhpcy5pc0NvbnRpbnVvdXNTY2FubmluZykge1xuICAgICAgICAgICAgICAgICAgLy8g5riF6Zmk5Y+v6IO95a2Y5Zyo55qE5pen6K6h5pe25ZmoXG4gICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250aW51b3VzU2NhbkludGVydmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNvbnRpbnVvdXNTY2FuSW50ZXJ2YWwpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRpbnVvdXNTY2FuSW50ZXJ2YWwgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLy8g6K6+572u5paw55qE6K6h5pe25Zmo77yM56Gu5L+d5oyB57ut5omr5o+PXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbnRpbnVvdXNTY2FuSW50ZXJ2YWwgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8g5YaN5qyh5qOA5p+l5oyB57ut5omr5o+P54q25oCBXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQ29udGludW91c1NjYW5uaW5nICYmIHRoaXMuaXNEZXZpY2VSZWFkeSkge1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVyZm9ybUNvbnRpbnVvdXNTY2FuKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0sIDUwMCk7IC8vIOefreaaguW7tui/n+WQjue7p+e7reaJq+aPj1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgU2NhbiByZXN1bHQgd2l0aCB3ZWFrIHNpZ25hbCAoJHtzY2FuUmVzdWx0LnNpZ25hbFN0cmVuZ3RofSksIHJldHJ5aW5nYCk7XG4gICAgICAgICAgICAgICAgLy8g5L+h5Y+35aSq5byx77yM57un57ut6YeN6K+V5YmN5qOA5p+l5a6e5L6LXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzTW91bnRlZCkge1xuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tBbmRSZXN0b3JlUGx1Z2luSW5zdGFuY2UoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJldHJ5VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wZXJmb3JtU2Nhbihjb25maWcpLCBjb25maWcuaW50ZXJ2YWwpO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJlc3RvcmUgcGx1Z2luIGluc3RhbmNlIGZvciByZXRyeScpO1xuICAgICAgICAgICAgICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+iuvuWkh+WKn+iDveW8guW4uCcsIGljb246ICdub25lJyB9KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTY2FuIGZhaWxlZCwgcmV0cnlpbmcgKCR7Y29uZmlnLmN1cnJlbnRSZXRyeX0vJHtjb25maWcucmV0cnlDb3VudH0pYCk7XG4gICAgICAgICAgICAgIC8vIOmHjeivleaJq+aPj+WJjeajgOafpeWunuS+i1xuICAgICAgICAgICAgICBpZiAodGhpcy5faXNNb3VudGVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tBbmRSZXN0b3JlUGx1Z2luSW5zdGFuY2UoKSkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5yZXRyeVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMucGVyZm9ybVNjYW4oY29uZmlnKSwgY29uZmlnLmludGVydmFsKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJlc3RvcmUgcGx1Z2luIGluc3RhbmNlIGZvciByZXRyeScpO1xuICAgICAgICAgICAgICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K6+5aSH5Yqf6IO95byC5bi4JywgaWNvbjogJ25vbmUnIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXhjZXB0aW9uIGR1cmluZyBzY2FuIGV4ZWN1dGlvbjonLCBlKTtcbiAgICAgICAgICAvLyDmuIXpmaTotoXml7borqHml7blmahcbiAgICAgICAgICBpZiAodGhpcy5zY2FuVGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2NhblRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy5zY2FuVGltZW91dCA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIC8vIOajgOafpeaYr+WQpuaYr+WunuS+i+S4jeWPr+eUqOmUmeivr++8jOWinuW8uuajgOa1i+mAu+i+kVxuICAgICAgaWYgKGUubWVzc2FnZSAmJiAoXG4gICAgICAgICAgICBlLm1lc3NhZ2UuaW5jbHVkZXMoJ2luc3RhbmNlIGlzIG5vdCBhdmFpbGFibGUnKSB8fCBcbiAgICAgICAgICAgIGUubWVzc2FnZS5pbmNsdWRlcygncmVjZWl2ZVRhc2tzJykgfHwgXG4gICAgICAgICAgICBlLm1lc3NhZ2UuaW5jbHVkZXMoJ0ZhaWxlZCB0byByZWNlaXZlVGFza3MnKVxuICAgICAgICAgICkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1BsdWdpbiBpbnN0YW5jZSBub3QgYXZhaWxhYmxlIGR1cmluZyBzY2FuJyk7XG4gICAgICAgICAgICAvLyDlsJ3or5Xph43mlrDliJ3lp4vljJZcbiAgICAgICAgICAgIHRoaXMudWhmU0ZIZWxwZXIgPSBudWxsO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tBbmRSZXN0b3JlUGx1Z2luSW5zdGFuY2UoKSkge1xuICAgICAgICAgICAgICAvLyDph43mlrDmiafooYzmiavmj49cbiAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzTW91bnRlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmV0cnlUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnBlcmZvcm1TY2FuKGNvbmZpZyksIGNvbmZpZy5pbnRlcnZhbCAqIDIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+iuvuWkh+WKn+iDveW8guW4uO+8jOaXoOazleaJq+aPjycsIGljb246ICdub25lJyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8g5YW25LuW6ZSZ6K+vXG4gICAgICAgICAgICBpZiAodGhpcy5faXNNb3VudGVkKSB7XG4gICAgICAgICAgICAgIHRoaXMucmV0cnlUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnBlcmZvcm1TY2FuKGNvbmZpZyksIGNvbmZpZy5pbnRlcnZhbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIOa4hemZpOi2heaXtuiuoeaXtuWZqFxuICAgICAgICBpZiAodGhpcy5zY2FuVGltZW91dCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNjYW5UaW1lb3V0KTtcbiAgICAgICAgICB0aGlzLnNjYW5UaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZHVyaW5nIHNjYW4gc2V0dXA6JywgZSk7XG4gICAgICAgIC8vIOajgOafpemUmeivr+aYr+WQpuS4juWunuS+i+S4jeWPr+eUqOebuOWFs++8jOWinuW8uuajgOa1i+mAu+i+kVxuICAgICAgaWYgKGUubWVzc2FnZSAmJiAoXG4gICAgICAgICAgICBlLm1lc3NhZ2UuaW5jbHVkZXMoJ2luc3RhbmNlIGlzIG5vdCBhdmFpbGFibGUnKSB8fCBcbiAgICAgICAgICAgIGUubWVzc2FnZS5pbmNsdWRlcygncmVjZWl2ZVRhc2tzJykgfHwgXG4gICAgICAgICAgICBlLm1lc3NhZ2UuaW5jbHVkZXMoJ0ZhaWxlZCB0byByZWNlaXZlVGFza3MnKVxuICAgICAgICAgICkpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdQbHVnaW4gaW5zdGFuY2Ugbm90IGF2YWlsYWJsZSBkdXJpbmcgc2NhbiBzZXR1cCcpO1xuICAgICAgICAgIC8vIOa4hemZpOW9k+WJjeWunuS+i1xuICAgICAgICAgIHRoaXMudWhmU0ZIZWxwZXIgPSBudWxsO1xuICAgICAgICAgIC8vIOWwneivlemHjeaWsOWIneWni+WMllxuICAgICAgICAgIGlmICh0aGlzLmNoZWNrQW5kUmVzdG9yZVBsdWdpbkluc3RhbmNlKCkpIHtcbiAgICAgICAgICAgIC8vIOmHjeaWsOaJp+ihjOaJq+aPj1xuICAgICAgICAgICAgaWYgKHRoaXMuX2lzTW91bnRlZCkge1xuICAgICAgICAgICAgICB0aGlzLnJldHJ5VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5wZXJmb3JtU2Nhbihjb25maWcpLCBjb25maWcuaW50ZXJ2YWwgKiAyKTsgLy8g5aKe5Yqg6Ze06ZqUXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xuICAgICAgICAgICAgcmV0dXJuIHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+iuvuWkh+WKn+iDveW8guW4uCcsIGljb246ICdub25lJyB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8g5YW25LuW6ZSZ6K+v77yM57un57ut6YeN6K+VXG4gICAgICAgICAgaWYgKHRoaXMuX2lzTW91bnRlZCkge1xuICAgICAgICAgICAgdGhpcy5yZXRyeVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMucGVyZm9ybVNjYW4oY29uZmlnKSwgY29uZmlnLmludGVydmFsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFxuICAgIC8qKlxuICAgICAqIOaPkOS6pOihqOWNleaVsOaNrlxuICAgICAqL1xuICAgIHN1Ym1pdEZvcm0oKSB7XG4gICAgICAvLyDlnKjpqozor4HliY3lhYjlsJ3or5Xph43mlrDliqDovb3orr7nva5cbiAgICAgIHRoaXMubG9hZFNhdmVkU2V0dGluZ3MoKTtcbiAgICAgIGNvbnNvbGUubG9nKCfmj5DkuqTooajljZXmlbDmja46JywgdGhpcy5mb3JtKTtcbiAgICAgIFxuICAgICAgLy8g6aqM6K+B57yW5Y+35piv5ZCm5bey6YCJ5oupXG4gICAgICBsZXQgbWlzc2luZ0ZpZWxkID0gJyc7XG4gICAgICBpZiAoIXRoaXMuZm9ybS5idWlsZGluZ05hbWUpIG1pc3NpbmdGaWVsZCA9ICfmoIvoiI0nO1xuICAgICAgZWxzZSBpZiAoIXRoaXMuZm9ybS5yb29tTmFtZSkgbWlzc2luZ0ZpZWxkID0gJ+aIv+mXtCc7XG4gICAgICBlbHNlIGlmICghdGhpcy5mb3JtLnBlbk5vKSBtaXNzaW5nRmllbGQgPSAn5qCP5L2NJztcblxuICAgICAgaWYgKG1pc3NpbmdGaWVsZCkge1xuICAgICAgICByZXR1cm4gdW5pLnNob3dUb2FzdCh7IHRpdGxlOiBg5pyq6YCJ5oupJHttaXNzaW5nRmllbGR957yW5Y+3YCwgaWNvbjogJ25vbmUnLCBkdXJhdGlvbjogMzAwMCB9KVxuICAgICAgfVxuXG4gICAgICAvLyDpqozor4HogLPmoIfmmK/lkKblt7Lmiavmj49cbiAgICAgIGlmICh0aGlzLmRhdGFMaXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K+35YWI5omr5o+P6ICz5qCHJywgaWNvbjogJ25vbmUnLCBkdXJhdGlvbjogMzAwMCB9KVxuICAgICAgfVxuXG4gICAgICAvLyDpqozor4HnlKjmiLdJROaYr+WQpuWtmOWcqFxuICAgICAgY29uc3QgYXBwID0gZ2V0QXBwKCk7XG4gICAgICBjb25zdCB1c2VySW5mbyA9IGFwcC5nbG9iYWxEYXRhLnVzZXJJbmZvO1xuICAgICAgY29uc29sZS5sb2coJ+eUqOaIt+S/oeaBrzonLCB1c2VySW5mbyk7XG5cbiAgICAgIC8vIOabtOWuieWFqOWcsOiOt+WPlueUqOaIt0lE77yM5aKe5Yqg5aSa6YeN5qOA5p+lXG4gICAgICBjb25zdCB1c2VySWQgPSB1c2VySW5mby5JRDtcbiAgICAgIGlmICghdXNlcklkKSB7XG4gICAgICAgIHJldHVybiB1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfnlKjmiLfmnKrnmbvlvZUnLCBpY29uOiAnbm9uZScsIGR1cmF0aW9uOiAzMDAwIH0pXG4gICAgICB9XG5cbiAgICAgIHVuaS5zaG93TG9hZGluZyh7IHRpdGxlOiAn5o+Q5Lqk5LitLi4uJywgbWFzazogdHJ1ZSB9KTtcblxuICAgICAgY29uc3QgcmZpZFN0cmluZyA9IHRoaXMuZGF0YUxpc3QubWFwKGl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4gYCR7aXRlbS5pZH06JHt0aGlzLnR5cGVzW2l0ZW0udHlwZUluZGV4XX1gO1xuICAgICAgfSkuam9pbignLCcpO1xuXG4gICAgICAvLyDojrflj5borr7lpIfkv6Hmga9cbiAgICAgIGxldCBkZXZpY2VJbmZvID0ge307XG4gICAgICB0cnkge1xuICAgICAgICBkZXZpY2VJbmZvID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ+iOt+WPluiuvuWkh+S/oeaBr+Wksei0pTonLCBlKTtcbiAgICAgIH1cblxuICAgICAgLy8g5YeG5aSH5o+Q5Lqk5pWw5o2uXG4gICAgICBjb25zdCBzdWJtaXREYXRhID0ge1xuXHRcdHRva2VuOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF90b2tlbicpLFxuICAgICAgICByZmlkOiByZmlkU3RyaW5nLFxuICAgICAgICBidWlsZGluZ05hbWU6IHRoaXMuZm9ybS5idWlsZGluZ05hbWUsXG4gICAgICAgIHJvb21OYW1lOiB0aGlzLmZvcm0ucm9vbU5hbWUsXG4gICAgICAgIHBlbk5vOiB0aGlzLmZvcm0ucGVuTm8sXG4gICAgICAgIHVzZXJJZDogdXNlcklkLFxuICAgICAgICB1c2VybmFtZTogdXNlckluZm8udXNlcm5hbWUgfHwgJycsXG4gICAgICAgIHRpbWU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgZGV2aWNlTW9kZWw6IGRldmljZUluZm8ubW9kZWwgfHwgJ+acquiOt+WPluWIsOiuvuWkh+Wei+WPtycsIC8vIOiuvuWkh+Wei+WPt1xuICAgICAgICBkZXZpY2VWZXJzaW9uOiBkZXZpY2VJbmZvLnN5c3RlbSB8fCAn5pyq6I635Y+W5Yiw6K6+5aSH54mI5pys5Y+3JyAvLyDorr7lpIfniYjmnKzlj7dcbiAgICAgIH07XG5cblxuICAgICAgLy8g5Y+R6YCB6K+35rGC5YiwQVBJXG4gICAgICB0aGlzLnN1Ym1pdERhdGEoc3VibWl0RGF0YSk7XG4gICAgfSxcbiAgICBcbiAgICAvKipcbiAgICAgKiDmj5DkuqTmlbDmja5cbiAgICAgKiBAcGFyYW0ge29iamVjdH0gZGF0YSAtIOimgeaPkOS6pOeahOaVsOaNrlxuICAgICAqL1xuICAgIHN1Ym1pdERhdGEoZGF0YSkge1xuXHQgIGNvbnNvbGUubG9nKCd0b2tlbicsdW5pLmdldFN0b3JhZ2VTeW5jKCdlcXVpcG1lbnRfdG9rZW4nKSlcbiAgICAgIGNvbnNvbGUubG9nKCfmj5DkuqTnmoTmlbDmja4nLGRhdGEpXG4gICAgICAvLyDorr7nva7ni6znq4vnmoTmj5DkuqTliqDovb3nirbmgIHmoIflv5dcbiAgICAgIHRoaXMuaXNTdWJtaXR0aW5nID0gdHJ1ZTtcbiAgICAgIFxuICAgICAgdW5pLnJlcXVlc3Qoe1xuICAgICAgICB1cmw6IEFQSS5wb3N0TGlzdEFkZCxcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgIGhlYWRlcjoge1xuICAgICAgICAgICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgJ3gtdG9rZW4nOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF90b2tlbicpIC8vIOWwhnRva2Vu5re75Yqg5Yiw6K+35rGC5aS05LitXG4gICAgICAgIH0sXG4gICAgICAgIHRpbWVvdXQ6IDEwMDAwLCAvLyDorr7nva4xMOenkui2heaXtlxuICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ0FQSeWTjeW6lDonLCByZXMpO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIOWFiOmakOiXj+WKoOi9veaPkOekulxuICAgICAgICAgIGlmICh0aGlzLmlzU3VibWl0dGluZykge1xuICAgICAgICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICBpZiAocmVzLmRhdGEpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCfmnI3liqHlmajov5Tlm57mlbDmja46JywgcmVzLmRhdGEpO1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHJlcy5kYXRhLm1zZyB8fCAn5o+Q5Lqk5oiQ5YqfJztcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCfmmL7npLrmj5DnpLo6JywgbWVzc2FnZSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgICAgICB0aXRsZTogbWVzc2FnZSxcbiAgICAgICAgICAgICAgaWNvbjogcmVzLmRhdGEuY29kZSA9PT0gMCA/ICdzdWNjZXNzJyA6ICdub25lJyxcbiAgICAgICAgICAgICAgZHVyYXRpb246IDMwMDBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkge1xuICAgICAgICAgICAgICAvLyDmt7vliqDmnKzlnLDorrDlvZVcbiAgICAgICAgICAgICAgdGhpcy5yZWNvcmRzLnVuc2hpZnQoe1xuICAgICAgICAgICAgICAgIHJmaWQ6IGRhdGEucmZpZCxcbiAgICAgICAgICAgICAgICBidWlsZGluZzogZGF0YS5idWlsZGluZ05hbWUsXG4gICAgICAgICAgICAgICAgcm9vbU5hbWU6IGRhdGEucm9vbU5hbWUsXG4gICAgICAgICAgICAgICAgcGVuOiBkYXRhLnBlbk5vLFxuICAgICAgICAgICAgICAgIHVzZXJJZDogZGF0YS51c2VySWQsXG4gICAgICAgICAgICAgICAgdGltZTogbmV3IERhdGUoKS50b0xvY2FsZVRpbWVTdHJpbmcoKVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIC8vIOWBnOatouaMgee7reaJq+aPj1xuICAgICAgICAgICAgICBpZiAodGhpcy5pc0NvbnRpbnVvdXNTY2FubmluZykge1xuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlQ29udGludW91c1NjYW4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgLy8g5riF56m65omr5o+P5pWw5o2uXG4gICAgICAgICAgICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ+aPkOS6pOWksei0pTog5ZON5bqU5pWw5o2u5qC85byP5LiN5q2j56GuJywgcmVzKTtcbiAgICAgICAgICAgIC8vIOaYvuekuumUmeivr+aPkOekulxuICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XG4gICAgICAgICAgICAgIHRpdGxlOiAn5o+Q5Lqk5aSx6LSl77yM6K+36YeN6K+VJyxcbiAgICAgICAgICAgICAgaWNvbjogJ25vbmUnLFxuICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwMFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBmYWlsOiAoZXJyKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcign572R57uc6K+35rGC5aSx6LSlOicsIGVycik7XG4gICAgICAgICAgLy8g6ZqQ6JeP5Yqg6L295o+Q56S65bm25pi+56S66ZSZ6K+v5o+Q56S6XG4gICAgICAgICAgaWYgKHRoaXMuaXNTdWJtaXR0aW5nKSB7XG4gICAgICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgICAgIHRoaXMuaXNTdWJtaXR0aW5nID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xuICAgICAgICAgICAgdGl0bGU6ICfnvZHnu5zor7fmsYLlpLHotKXvvIzor7fph43or5UnLFxuICAgICAgICAgICAgaWNvbjogJ25vbmUnLFxuICAgICAgICAgICAgZHVyYXRpb246IDMwMDBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICAvLyDmjqXlj6PlpLHotKXkuI3lvbHlk43ogLPmoIfmiavmj4/vvIzml6DpnIDpop3lpJblpITnkIZcbiAgICAgICAgfSxcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAvLyDnoa7kv53liqDovb3mj5DnpLrooqvpmpDol49cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU3VibWl0dGluZykge1xuICAgICAgICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcbiAgICAgICAgICAgICAgdGhpcy5pc1N1Ym1pdHRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCAyMDAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBcbiAgICAvLyDph43nva5cbiAgICByZXNldEZvcm0oKSB7XG4gICAgICB0aGlzLmZvcm0uZWFySWQgPSAnJ1xuICAgICAgdGhpcy5mb3JtLmJ1aWxkaW5nTmFtZSA9ICcnXG4gICAgICB0aGlzLmZvcm0ucm9vbU5hbWUgPSAnJ1xuICAgICAgdGhpcy5mb3JtLnBlbk5vID0gJydcbiAgICAgIHRoaXMuZm9ybS5zdGF0dXMgPSAnaGVhbHRoeSdcbiAgICAgIHRoaXMuZm9ybS5ub3RlID0gJydcbiAgICAgIC8vIOa4hemZpOaJq+aPj+e7k+aenOWIl+ihqFxuICAgICAgdGhpcy5kYXRhTGlzdCA9IFtdXG4gICAgfSxcblxuICAgIC8vIOmAieaLqVxuICAgIG9uQnVpbGRpbmdDaGFuZ2UoZSkge1xuICAgICAgY29uc3QgYnVpbGRpbmdOYW1lID0gdGhpcy5idWlsZGluZ0xpc3RbZS5kZXRhaWwudmFsdWVdO1xuICAgICAgdGhpcy5mb3JtLmJ1aWxkaW5nTmFtZSA9IGJ1aWxkaW5nTmFtZTtcbiAgICAgIC8vIOagueaNrumAieaLqeeahOagi+iIjeWKoOi9veaIv+mXtOWIl+ihqFxuICAgICAgaWYgKGJ1aWxkaW5nTmFtZSkge1xuICAgICAgICB0aGlzLmZldGNoUm9vbUxpc3QoYnVpbGRpbmdOYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIOa4heepuuaIv+mXtOWSjOagj+S9jeWIl+ihqFxuICAgICAgICB0aGlzLnJvb21MaXN0ID0gW107XG4gICAgICAgIHRoaXMuRmllbGRudW1iZXIgPSBbXTtcbiAgICAgICAgdGhpcy5mb3JtLnJvb21OYW1lID0gJyc7XG4gICAgICAgIHRoaXMuZm9ybS5wZW5ObyA9ICcnO1xuICAgICAgfVxuICAgIH0sXG4gICAgXG4gICAgb25Sb29tQ2hhbmdlKGUpIHtcbiAgICAgIGNvbnN0IHJvb21OYW1lID0gdGhpcy5yb29tTGlzdFtlLmRldGFpbC52YWx1ZV07XG4gICAgICB0aGlzLmZvcm0ucm9vbU5hbWUgPSByb29tTmFtZTtcbiAgICAgIC8vIOagueaNrumAieaLqeeahOaIv+mXtOWKoOi9veagj+S9jeWIl+ihqFxuICAgICAgaWYgKHJvb21OYW1lKSB7XG4gICAgICAgIHRoaXMuZmV0Y2hGaWVsZExpc3Qocm9vbU5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8g5riF56m65qCP5L2N5YiX6KGoXG4gICAgICAgIHRoaXMuRmllbGRudW1iZXIgPSBbXTtcbiAgICAgICAgdGhpcy5mb3JtLnBlbk5vID0gJyc7XG4gICAgICB9XG4gICAgfSxcbiAgICBcbiAgICBvbkZpZWxkQ2hhbmdlKGUpIHtcbiAgICAgIHRoaXMuZm9ybS5wZW5ObyA9IHRoaXMuRmllbGRudW1iZXJbZS5kZXRhaWwudmFsdWVdXG4gICAgfSxcbiAgICBcbiAgICAvLyDlhbbku5ZcbiAgICBsb2dvdXQoKSB7XG4gICAgICAvLyDmuIXnqbrmlbDmja5cbiAgICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgICBcbiAgICAgIC8vIOmHiuaUvuiuvuWkh+i1hOa6kFxuICAgICAgdGhpcy5yZWxlYXNlRGV2aWNlKCk7XG4gICAgICBcbiAgICAgIC8vIOa4hemZpOWFqOWxgOeUqOaIt+S/oeaBr+WSjOeZu+W9leeKtuaAgVxuICAgICAgY29uc3QgYXBwID0gZ2V0QXBwKCk7XG4gICAgICBhcHAuZ2xvYmFsRGF0YS51c2VySW5mbyA9IG51bGw7XG4gICAgICBhcHAuZ2xvYmFsRGF0YS50b2tlbiA9ICcnO1xuICAgICAgYXBwLmdsb2JhbERhdGEuZXhwaXJlQXQgPSAnJztcbiAgICAgIGFwcC5nbG9iYWxEYXRhLmlzTG9nZ2VkSW4gPSBmYWxzZTtcbiAgICAgIGFwcC5nbG9iYWxEYXRhLmJ1aWxkaW5nID0gJyc7XG4gICAgICBhcHAuZ2xvYmFsRGF0YS5yb29tID0gJyc7XG4gICAgICBhcHAuZ2xvYmFsRGF0YS5wZW4gPSAnJztcbiAgICAgIGFwcC5nbG9iYWxEYXRhLmJ1aWxkaW5nTmFtZSA9ICcnO1xuICAgICAgYXBwLmdsb2JhbERhdGEucm9vbU5hbWUgPSAnJztcbiAgICAgIGFwcC5nbG9iYWxEYXRhLnBlbk5vID0gJyc7XG4gICAgICBcbiAgICAgIC8vIOa4hemZpOacrOWcsOe8k+WtmOS4reeahOaJgOacieeZu+W9leebuOWFs+S/oeaBr1xuICAgICAgdHJ5IHtcbiAgICAgICAgdW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCd1c2VyX2luZm8nKTtcbiAgICAgICAgdW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdlcXVpcG1lbnRfdG9rZW4nKTtcbiAgICAgICAgdW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCd0b2tlbl9leHBpcmVfdGltZScpO1xuICAgICAgICAvLyDlj6/pgInvvJrmuIXpmaTnvJblj7fnm7jlhbPnmoTnvJPlrZhcbiAgICAgICAgLy8gdW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdidWlsZGluZycpO1xuICAgICAgICAvLyB1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ3Jvb20nKTtcbiAgICAgICAgLy8gdW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdwZW4nKTtcbiAgICAgICAgLy8gdW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdidWlsZGluZ05hbWUnKTtcbiAgICAgICAgLy8gdW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdyb29tTmFtZScpO1xuICAgICAgICAvLyB1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ3Blbk5vJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ+a4hemZpOeZu+W9leS/oeaBr+Wksei0pTonLCBlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFxuICAgIHRvZ2dsZVNlcnZlckNvbmZpZygpIHtcbiAgICAgIHRoaXMuc2hvd1NlcnZlckNvbmZpZyA9ICF0aGlzLnNob3dTZXJ2ZXJDb25maWdcbiAgICB9XG4gIH1cbn1cbjwvc2NyaXB0PlxuPHN0eWxlPlxuLnBhZ2UgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBoZWlnaHQ6IDEwMHZoOyB3aWR0aDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcGFkZGluZzogMCAxMHJweDsgfVxuLmRhdGEtaXRlbSB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogMTBycHg7IG1hcmdpbi1ib3R0b206IDEwcnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyBib3JkZXItcmFkaXVzOiA1cnB4OyB9XG4ucGlja2VyIHsgcGFkZGluZzogNXJweCAxMHJweDsgbWFyZ2luLWxlZnQ6IDIwcHg7YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgI2RkZDsgYm9yZGVyLXJhZGl1czogNXJweDsgbWluLXdpZHRoOiAxMjBycHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLmFycm93OjphZnRlciB7IGNvbnRlbnQ6ICfilr4nOyBmb250LXNpemU6IDEycnB4OyBtYXJnaW4tbGVmdDogNXJweDsgfVxuLmRlbGV0ZS1idG4geyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0ZDRmOyBjb2xvcjogd2hpdGU7IGZvbnQtc2l6ZTogMjRycHg7IHBhZGRpbmc6IDVycHggMTBycHg7IG1pbi13aWR0aDogODBycHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbi5uYXYtYmFyIHtkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7YmFja2dyb3VuZDogIzAwN2FmZjsgY29sb3I6IHdoaXRlOyBwYWRkaW5nOiAxNXJweCAzMHJweDt9XG4ubmF2LXRpdGxlIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogMzJycHg7IH1cbi5uYXYtYnRuIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogbm9uZTsgZm9udC1zaXplOiAzMnJweDsgfVxuLnNjcm9sbC1hcmVhIHsgZmxleDogMTsgIH1cbi5zZWN0aW9uLXRpdGxlIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBtYXJnaW4tYm90dG9tOiAyMHJweDsgfVxuLnNlY3Rpb24tdGl0bGUgLnRpdGxlIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogMzBycHg7IH1cbi5zZWN0aW9uLXRpdGxlIC5kYXRlIHsgZm9udC1zaXplOiAyNHJweDsgY29sb3I6ICM2NjY7IH1cbi5yZmlkLWNhcmQge2JhY2tncm91bmQ6ICNmNmY2ZjY7IGJvcmRlcjogMnJweCBkYXNoZWQgI2NjYzsgYm9yZGVyLXJhZGl1czogMjBycHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnNjYW4taWNvbiB7IGZvbnQtc2l6ZTogNTBycHg7IGNvbG9yOiAjMDA3YWZmOyBtYXJnaW4tYm90dG9tOiAxMHJweDsgZGlzcGxheTogYmxvY2s7IH1cbi5idG4tZ3JvdXAgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDIwcnB4OyBtYXJnaW46IDIwcnB4IDA7IGZsZXgtd3JhcDogd3JhcDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbi5zY2FuLWJ0biB7IGJhY2tncm91bmQ6ICMwMDdhZmY7IGNvbG9yOiB3aGl0ZTsgZmxleDogMTsgbWluLXdpZHRoOiAyMDBycHg7IHBhZGRpbmc6IDIwcnB4OyBib3JkZXItcmFkaXVzOiAxMnJweDsgZm9udC1zaXplOiAyOHJweDsgfVxuLm1hbnVhbC1idG4geyBiYWNrZ3JvdW5kOiAjY2NjOyBjb2xvcjogYmxhY2s7IGZsZXg6IDE7IG1pbi13aWR0aDogMjAwcnB4OyBwYWRkaW5nOiAyMHJweDsgYm9yZGVyLXJhZGl1czogMTJycHg7IGZvbnQtc2l6ZTogMjhycHg7IH1cbi5mb3JtLWl0ZW0geyBtYXJnaW4tYm90dG9tOiAyMHJweDsgfVxuLmZvcm0taXRlbSAubGFiZWwgeyBkaXNwbGF5OiBibG9jazsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbi1ib3R0b206IDEwcnB4OyB9XG4uaW5wdXQtYm94IHsgd2lkdGg6IDEwMCU7IGJvcmRlcjogMXJweCBzb2xpZCAjY2NjOyBib3JkZXItcmFkaXVzOiAxMHJweDsgYmFja2dyb3VuZDogI2ZmZjsgfVxuLnN0YXR1cy1vcHRpb25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiAyMHJweDsgbWFyZ2luLXRvcDogMTBycHg7IH1cbi5zdGF0dXMtb3B0aW9uIHtmbGV4OiAxOyBib3JkZXI6IDFycHggc29saWQgI2NjYzsgYm9yZGVyLXJhZGl1czogMTBycHg7cGFkZGluZzogMjBycHg7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICM2NjY7fVxuLnN0YXR1cy1vcHRpb24uYWN0aXZlIHsgYm9yZGVyLWNvbG9yOiAjMDA3YWZmOyBjb2xvcjogIzAwN2FmZjsgfVxuLnN2IHtoZWlnaHQ6IDMwMHJweDttYXJnaW4tdG9wOiAyMHJweDt9XG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///38\n"); /***/ }), /* 39 */ /*!******************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/pages/mine/manage.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 _manage_vue_vue_type_template_id_5cd0e788_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./manage.vue?vue&type=template&id=5cd0e788&mpType=page */ 40);\n/* harmony import */ var _manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./manage.vue?vue&type=script&lang=js&mpType=page */ 43);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _manage_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 _manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 27);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _manage_vue_vue_type_template_id_5cd0e788_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _manage_vue_vue_type_template_id_5cd0e788_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _manage_vue_vue_type_template_id_5cd0e788_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/manage.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBOEg7QUFDOUg7QUFDcUU7QUFDTDs7O0FBR2hFO0FBQ3FMO0FBQ3JMLGdCQUFnQix5TEFBVTtBQUMxQixFQUFFLHVGQUFNO0FBQ1IsRUFBRSw0RkFBTTtBQUNSLEVBQUUscUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsZ0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL21hbmFnZS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NWNkMGU3ODgmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL21hbmFnZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vbWFuYWdlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL21pbmUvbWFuYWdlLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///39\n"); /***/ }), /* 40 */ /*!************************************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/pages/mine/manage.vue?vue&type=template&id=5cd0e788&mpType=page ***! \************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_template_id_5cd0e788_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./manage.vue?vue&type=template&id=5cd0e788&mpType=page */ 41); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_template_id_5cd0e788_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_template_id_5cd0e788_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_template_id_5cd0e788_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_template_id_5cd0e788_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); /***/ }), /* 41 */ /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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!D:/UserData/Desktop/w/UhfChengBangZi/pages/mine/manage.vue?vue&type=template&id=5cd0e788&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", { staticClass: _vm._$s(0, "sc", "container"), attrs: { _i: 0 } }, [ _vm._$s(1, "i", _vm.login) ? _c( "view", { staticClass: _vm._$s(1, "sc", "lists"), attrs: { _i: 1 } }, [ _c( "view", { staticClass: _vm._$s(2, "sc", "cu-card case user-card"), attrs: { _i: 2 }, }, [ _c( "view", { staticClass: _vm._$s(3, "sc", "cu-item"), attrs: { _i: 3 }, }, [ _c( "view", { staticClass: _vm._$s(4, "sc", "content"), attrs: { _i: 4 }, }, [ _c( "view", { staticClass: _vm._$s(5, "sc", "username"), attrs: { _i: 5 }, }, [ _vm._v( _vm._$s(5, "t0-0", _vm._s(_vm.user.username)) ), ] ), _vm._$s(6, "i", _vm.user.ID) ? _c( "view", { staticClass: _vm._$s(6, "sc", "user-id"), attrs: { _i: 6 }, }, [ _vm._v( _vm._$s(6, "t0-0", _vm._s(_vm.user.ID)) ), ] ) : _vm._e(), ] ), ] ), ] ), _c( "view", { staticClass: _vm._$s( 7, "sc", "cu-list menu sm-border card-menu function-list" ), attrs: { _i: 7 }, }, [ _c( "view", { staticClass: _vm._$s(8, "sc", "form-section"), attrs: { _i: 8 }, }, [ _c( "picker", { attrs: { range: _vm._$s(9, "a-range", _vm.buildingList), _i: 9, }, on: { change: _vm.onBuildingChange }, }, [ _c( "view", { staticClass: _vm._$s(10, "sc", "form-item"), attrs: { _i: 10 }, }, [ _c( "text", { staticClass: _vm._$s(11, "sc", "label"), attrs: { _i: 11 }, }, [ _c("text", { staticClass: _vm._$s( 12, "sc", "fa fa-home" ), attrs: { _i: 12 }, }), ] ), _c( "text", { staticClass: _vm._$s(13, "sc", "value"), attrs: { _i: 13 }, }, [ _vm._v( _vm._$s( 13, "t0-0", _vm._s( _vm.form.buildingName || "请选择栋舍" ) ) ), ] ), ] ), ] ), _c( "picker", { attrs: { range: _vm._$s(14, "a-range", _vm.roomList), _i: 14, }, on: { change: _vm.onRoomChange }, }, [ _c( "view", { staticClass: _vm._$s(15, "sc", "form-item"), attrs: { _i: 15 }, }, [ _c( "text", { staticClass: _vm._$s(16, "sc", "label"), attrs: { _i: 16 }, }, [ _c("text", { staticClass: _vm._$s( 17, "sc", "fa fa-door-open" ), attrs: { _i: 17 }, }), ] ), _c( "text", { staticClass: _vm._$s(18, "sc", "value"), attrs: { _i: 18 }, }, [ _vm._v( _vm._$s( 18, "t0-0", _vm._s(_vm.form.roomName || "请选择房间") ) ), ] ), ] ), ] ), _c( "picker", { attrs: { range: _vm._$s(19, "a-range", _vm.Fieldnumber), _i: 19, }, on: { change: _vm.onFieldChange }, }, [ _c( "view", { staticClass: _vm._$s(20, "sc", "form-item"), attrs: { _i: 20 }, }, [ _c( "text", { staticClass: _vm._$s(21, "sc", "label"), attrs: { _i: 21 }, }, [ _c("text", { staticClass: _vm._$s( 22, "sc", "fa fa-th-large" ), attrs: { _i: 22 }, }), ] ), _c( "text", { staticClass: _vm._$s(23, "sc", "value"), attrs: { _i: 23 }, }, [ _vm._v( _vm._$s( 23, "t0-0", _vm._s(_vm.form.penNo || "请选择栏位") ) ), ] ), ] ), ] ), ] ), _c( "view", { staticClass: _vm._$s(24, "sc", "save-btn-container"), attrs: { _i: 24 }, }, [ _c( "button", { staticClass: _vm._$s( 25, "sc", "cu-btn block save-btn" ), attrs: { _i: 25 }, on: { click: _vm.saveSettings }, }, [ _c("text", { staticClass: _vm._$s( 26, "sc", "fa fa-save margin-right-xs" ), attrs: { _i: 26 }, }), ] ), _c( "button", { staticClass: _vm._$s( 27, "sc", "cu-btn block save-btn" ), attrs: { _i: 27 }, on: { click: function ($event) { return _vm.logout() }, }, }, [ _c("text", { staticClass: _vm._$s( 28, "sc", "fa fa-save margin-right-xs" ), attrs: { _i: 28 }, }), ] ), ] ), ] ), ] ) : _c("view", { attrs: { _i: 29 } }, [ _c( "view", { staticClass: _vm._$s(30, "sc", "empty nologin-content"), attrs: { _i: 30 }, }, [ _c("image", { attrs: { src: _vm._$s( 31, "a-src", __webpack_require__(/*! ../../static/nologin.png */ 42) ), _i: 31, }, }), _c("view", { staticClass: _vm._$s(32, "sc", "text-gray"), attrs: { _i: 32 }, }), _c( "button", { staticClass: _vm._$s(33, "sc", "cu-btn block bg-black lg"), attrs: { _i: 33 }, on: { click: function ($event) { return _vm.goLogin() }, }, }, [ _c("text", { staticClass: _vm._$s( 34, "sc", "cuIcon-lock margin-right-xs" ), attrs: { _i: 34 }, }), ] ), ] ), ]), ] ) } var recyclableRender = false var staticRenderFns = [] render._withStripped = true /***/ }), /* 42 */ /*!***************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/static/nologin.png ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("module.exports = __webpack_require__.p + \"static/nologin.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQixxQkFBdUIiLCJmaWxlIjoiNDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19wdWJsaWNfcGF0aF9fICsgXCJzdGF0aWMvbm9sb2dpbi5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///42\n"); /***/ }), /* 43 */ /*!******************************************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/pages/mine/manage.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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./manage.vue?vue&type=script&lang=js&mpType=page */ 44);\n/* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXFuQixDQUFnQix1bkJBQUcsRUFBQyIsImZpbGUiOiI0My5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL21hbmFnZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS03LTEhLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXVuaS1hcHAtbG9hZGVyL3VzaW5nLWNvbXBvbmVudHMuanMhLi4vLi4vLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbWFuYWdlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///43\n"); /***/ }), /* 44 */ /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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!D:/UserData/Desktop/w/UhfChengBangZi/pages/mine/manage.vue?vue&type=script&lang=js&mpType=page ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/* WEBPACK VAR INJECTION */(function(wx, __f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _index = _interopRequireDefault(__webpack_require__(/*! ../../api/index */ 33));\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// 移除全局变量声明,改为在方法内使用const声明\nvar _default = {\n data: function data() {\n return {\n login: false,\n user: {},\n avatar: '',\n managePhone: '',\n // 表单数据\n form: {\n buildingName: '',\n roomName: '',\n penNo: ''\n },\n // 动态从接口获取数据\n buildingList: [],\n roomList: [],\n Fieldnumber: []\n };\n },\n onShow: function onShow() {\n var _self = this;\n var app = getApp();\n var isLogin = !!app.globalData.token;\n _self.login = isLogin;\n if (!isLogin) {\n wx.login({\n success: function success(res) {\n if (res.code) {\n _self.goWeLogin(res.code);\n }\n }\n });\n } else {\n // 直接从全局状态获取用户信息\n _self.user = app.globalData.userInfo || {};\n _self.avatar = _self.user.avatar || '';\n }\n },\n methods: {\n // 获取栋舍列表\n fetchBuildingList: function fetchBuildingList() {\n var _self = this;\n var app = getApp();\n\n // 从服务器获取栋舍列表\n uni.request({\n url: _index.default.getBuilding,\n method: 'GET',\n header: {\n \"x-token\": app.globalData.token || ''\n },\n success: function success(res) {\n __f__(\"log\", res.data.data, \" at pages/mine/manage.vue:121\");\n if (res.data && res.data.code === 0 && res.data.data && res.data.data.length > 0) {\n // 更新栋舍列表\n _self.buildingList = res.data.data.map(function (item) {\n return item.name || item.building_name;\n });\n __f__(\"log\", '获取栋舍编号:', _self.buildingList, \" at pages/mine/manage.vue:125\");\n\n // 如果表单中没有选择栋舍,尝试使用全局数据或本地存储\n if (!_self.form.buildingName) {\n _self.form.buildingName = app.globalData.building || uni.getStorageSync('building') || '';\n }\n\n // 获取对应栋舍的房间列表\n _self.fetchRoomList();\n } else {\n __f__(\"error\", 'get_building响应数据无效或为空:', res.data, \" at pages/mine/manage.vue:135\");\n // 使用默认栋舍列表\n _self.buildingList = [];\n }\n },\n fail: function fail(err) {\n __f__(\"error\", '获取栋舍列表失败:', err, \" at pages/mine/manage.vue:141\");\n }\n });\n },\n // 新增方法:获取最新用户信息\n // 修复fetchUserInfo方法,确保用户信息正确获取\n fetchUserInfo: function fetchUserInfo() {\n var _self = this;\n var app = getApp();\n\n // 从多个来源获取用户信息,增加可靠性\n var userInfo = {};\n\n // 1. 优先从全局数据获取\n if (app.globalData.userInfo && Object.keys(app.globalData.userInfo).length > 0) {\n userInfo = app.globalData.userInfo;\n __f__(\"log\", '从全局数据获取用户信息:', userInfo, \" at pages/mine/manage.vue:158\");\n }\n\n // 2. 如果全局数据不可用,尝试从本地存储获取\n if (!userInfo.username || !userInfo.ID) {\n try {\n var storedUserInfo = uni.getStorageSync('user_info') || {};\n if (storedUserInfo && Object.keys(storedUserInfo).length > 0) {\n userInfo = _objectSpread(_objectSpread({}, userInfo), storedUserInfo);\n __f__(\"log\", '从本地存储补充用户信息:', storedUserInfo, \" at pages/mine/manage.vue:167\");\n }\n } catch (e) {\n __f__(\"error\", '读取本地存储用户信息失败:', e, \" at pages/mine/manage.vue:170\");\n }\n }\n\n // 3. 如果仍然缺少关键信息,尝试从token相关信息中提取\n if (!userInfo.username) {\n userInfo.username = app.globalData.username || '';\n }\n if (!userInfo.ID) {\n userInfo.ID = app.globalData.ID || '';\n }\n\n // 记录获取到的用户信息,便于调试\n __f__(\"log\", '最终获取的用户信息:', userInfo, \" at pages/mine/manage.vue:184\");\n\n // 更新页面数据\n _self.user = userInfo;\n\n // 确保即使没有头像也不会出错\n _self.avatar = userInfo.avatar || '';\n\n // 更新表单数据\n _self.form.buildingName = app.globalData.building || app.globalData.buildingName || '';\n _self.form.roomName = app.globalData.room || app.globalData.roomName || '';\n _self.form.penNo = app.globalData.pen || app.globalData.penNo || '';\n __f__(\"log\", '更新后的表单数据:', _self.form, \" at pages/mine/manage.vue:197\");\n\n // 触发设置更新事件,通知其他组件\n uni.$emit('settingsUpdated', {\n building: _self.form.buildingName,\n room: _self.form.roomName,\n pen: _self.form.penNo\n });\n },\n data: function data() {\n return {\n login: false,\n user: {\n username: '',\n // 提供默认的用户名属性\n ID: '' // 提供默认的ID属性\n },\n\n avatar: '',\n managePhone: '',\n // 表单数据\n form: {\n buildingName: '',\n roomName: '',\n penNo: ''\n },\n // 动态从接口获取数据\n buildingList: [],\n roomList: [],\n Fieldnumber: []\n };\n },\n // 增强onShow方法中的用户信息获取逻辑\n onShow: function onShow() {\n var _self = this;\n var app = getApp();\n\n // 首先检查登录状态\n var isLogin = !!app.globalData.token;\n _self.login = isLogin;\n if (isLogin) {\n // 获取栋舍列表\n _self.fetchBuildingList();\n // 获取最新用户信息\n _self.fetchUserInfo();\n } else {\n // 尝试从本地存储恢复登录信息\n var token = uni.getStorageSync('equipment_token') || '';\n var expireAt = uni.getStorageSync('token_expire_time') || '';\n var userInfo = uni.getStorageSync('user_info') || {};\n if (token && expireAt) {\n // 恢复登录信息到全局数据\n app.globalData.token = token;\n app.globalData.expireAt = expireAt;\n app.globalData.userInfo = userInfo;\n app.globalData.isLoggedIn = true;\n _self.login = true;\n _self.fetchBuildingList();\n _self.fetchUserInfo();\n __f__(\"log\", '从本地存储恢复登录状态成功', \" at pages/mine/manage.vue:260\");\n }\n }\n },\n // 新增一个方法,用于手动刷新用户信息\n refreshUserInfo: function refreshUserInfo() {\n var app = getApp();\n __f__(\"log\", '手动刷新用户信息 - 当前全局数据:', app.globalData, \" at pages/mine/manage.vue:268\");\n __f__(\"log\", '手动刷新用户信息 - 当前本地存储:', uni.getStorageSync('user_info'), \" at pages/mine/manage.vue:269\");\n this.fetchUserInfo();\n this.fetchBuildingList();\n },\n // 获取房间列表\n fetchRoomList: function fetchRoomList() {\n var _self = this;\n var app = getApp();\n\n // 获取房间列表\n uni.request({\n url: _index.default.getRoom,\n method: 'GET',\n data: {\n building: _self.form.buildingName // 传递当前选择的栋舍\n },\n\n header: {\n \"x-token\": app.globalData.token || ''\n },\n success: function success(res) {\n __f__(\"log\", '获取房间编号:', res, \" at pages/mine/manage.vue:290\");\n if (res.data && res.data.code === 0 && res.data.data && res.data.data.length > 0) {\n // 更新房间列表\n _self.roomList = res.data.data.map(function (item) {\n return item.name || item.room_name;\n });\n\n // 如果表单中没有选择房间,尝试使用全局数据或本地存储\n if (!_self.form.roomName) {\n _self.form.roomName = app.globalData.room || uni.getStorageSync('room') || '';\n }\n\n // 获取对应房间的栏位列表\n _self.fetchPenList();\n } else {\n __f__(\"error\", 'get_room响应数据无效或为空:', res.data, \" at pages/mine/manage.vue:304\");\n // 使用默认房间列表\n _self.roomList = [];\n }\n },\n fail: function fail(err) {\n __f__(\"error\", '获取房间列表失败:', err, \" at pages/mine/manage.vue:310\");\n }\n });\n },\n // 获取栏位列表\n fetchPenList: function fetchPenList() {\n var _self = this;\n var app = getApp();\n // 获取栏位列表\n uni.request({\n url: _index.default.getPen,\n method: 'GET',\n data: {\n building: _self.form.buildingName,\n room: _self.form.roomName // 当前选择的房间\n },\n\n header: {\n 'content-type': 'application/x-www-form-urlencoded',\n \"x-token\": app.globalData.token || ''\n },\n success: function success(res) {\n __f__(\"log\", '获取栏位编号:', res, \" at pages/mine/manage.vue:332\");\n if (res.data && res.data.code === 0 && res.data.data && res.data.data.length > 0) {\n // 更新栏位列表\n _self.Fieldnumber = res.data.data.map(function (item) {\n return item.name || item.pen_name || item.pen_no;\n });\n // 如果表单中没有选择栏位,尝试使用全局数据或本地存储\n if (!_self.form.penNo) {\n _self.form.penNo = app.globalData.pen || uni.getStorageSync('pen') || '';\n }\n } else {\n __f__(\"error\", 'get_pen响应数据无效或为空:', res.data, \" at pages/mine/manage.vue:342\");\n // 使用默认栏位列表\n _self.Fieldnumber = [];\n }\n },\n fail: function fail(err) {\n __f__(\"error\", '获取栏位列表失败:', err, \" at pages/mine/manage.vue:348\");\n }\n });\n },\n loadFromStorage: function loadFromStorage() {\n var _self = this;\n var app = getApp();\n var globalUserInfo = app.globalData.userInfo;\n _self.user = globalUserInfo;\n _self.form.buildingName = app.globalData.building;\n _self.form.roomName = app.globalData.room;\n _self.form.penNo = app.globalData.pen;\n __f__(\"log\", '从存储加载的表单buildingName:', _self.form.buildingName, \" at pages/mine/manage.vue:361\");\n __f__(\"log\", '从存储加载的表单roomName:', _self.form.roomName, \" at pages/mine/manage.vue:362\");\n __f__(\"log\", '从存储加载的表单penNo:', _self.form.penNo, \" at pages/mine/manage.vue:363\");\n },\n // 选择器方法\n onBuildingChange: function onBuildingChange(e) {\n var selectedValue = this.buildingList[e.detail.value];\n this.form.buildingName = selectedValue;\n __f__(\"log\", '栋舍选择已更新:', this.form.buildingName, \" at pages/mine/manage.vue:370\");\n // 保存到login中定义的全局变量\n getApp().globalData.building = selectedValue;\n // 触发全局事件通知设置更新\n uni.$emit('settingsUpdated');\n // 获取对应栋舍的房间列表\n this.fetchRoomList();\n },\n onRoomChange: function onRoomChange(e) {\n var selectedValue = this.roomList[e.detail.value];\n this.form.roomName = selectedValue;\n __f__(\"log\", '房间选择已更新:', this.form.roomName, \" at pages/mine/manage.vue:382\");\n // 保存到login中定义的全局变量\n getApp().globalData.room = selectedValue;\n // 触发全局事件通知设置更新\n uni.$emit('settingsUpdated');\n // 获取对应房间的栏位列表\n this.fetchPenList();\n },\n onFieldChange: function onFieldChange(e) {\n var selectedValue = this.Fieldnumber[e.detail.value];\n this.form.penNo = selectedValue;\n __f__(\"log\", '栏位选择已更新:', this.form.penNo, \" at pages/mine/manage.vue:394\");\n // 保存到login中定义的全局变量\n getApp().globalData.pen = selectedValue;\n // 触发全局事件通知设置更新\n uni.$emit('settingsUpdated');\n },\n // 保存设置到API\n saveSettings: function saveSettings() {\n var _app$globalData$userI, _uni$getStorageSync, _app$globalData$userI2, _uni$getStorageSync2;\n if (!this.form.buildingName || !this.form.roomName || !this.form.penNo) {\n return uni.showToast({\n title: '请选择完整的栋舍、房间和栏位信息',\n icon: 'none'\n });\n }\n var app = getApp();\n // 获取用户ID(优先从全局数据,其次从本地存储)\n var userId = ((_app$globalData$userI = app.globalData.userInfo) === null || _app$globalData$userI === void 0 ? void 0 : _app$globalData$userI.ID) || ((_uni$getStorageSync = uni.getStorageSync('user_info')) === null || _uni$getStorageSync === void 0 ? void 0 : _uni$getStorageSync.ID) || '';\n var username = ((_app$globalData$userI2 = app.globalData.userInfo) === null || _app$globalData$userI2 === void 0 ? void 0 : _app$globalData$userI2.username) || ((_uni$getStorageSync2 = uni.getStorageSync('user_info')) === null || _uni$getStorageSync2 === void 0 ? void 0 : _uni$getStorageSync2.username) || '';\n if (!userId) {\n __f__(\"error\", '用户ID不存在,无法保存设置', \" at pages/mine/manage.vue:416\");\n return uni.showToast({\n title: '请先登录',\n icon: 'none'\n });\n }\n ;\n uni.showLoading({\n title: '保存中...',\n mask: true\n });\n var submitData = {\n username: username,\n userid: userId,\n building: this.form.buildingName,\n room: this.form.roomName,\n pen: this.form.penNo\n };\n __f__(\"log\", '提交的数据:', submitData, \" at pages/mine/manage.vue:434\");\n\n // 发送请求到API\n uni.request({\n url: _index.default.postUserSetup,\n method: 'POST',\n data: submitData,\n header: {\n 'content-type': 'application/json',\n \"x-token\": app.globalData.token || uni.getStorageSync('token') || ''\n },\n timeout: 10000,\n // 设置10秒超时\n success: function success(res) {\n if (res.data.code === 0) {\n uni.showToast({\n title: '保存成功',\n icon: 'success',\n duration: 3000\n });\n // 更新全局数据\n app.globalData.building = submitData.building;\n app.globalData.room = submitData.room;\n app.globalData.pen = submitData.pen;\n // 更新本地存储\n uni.setStorageSync('building', submitData.building);\n uni.setStorageSync('room', submitData.room);\n uni.setStorageSync('pen', submitData.pen);\n // 触发设置更新事件\n uni.$emit('settingsUpdated', {\n building: submitData.building,\n room: submitData.room,\n pen: submitData.pen\n });\n } else {\n var _res$data;\n __f__(\"error\", '保存设置失败:', res.data, \" at pages/mine/manage.vue:468\");\n uni.showToast({\n title: ((_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.msg) || '保存失败,请稍后重试',\n icon: 'none'\n });\n }\n },\n complete: function complete() {\n uni.hideLoading();\n }\n });\n },\n goWeLogin: function goWeLogin(code) {\n var _self = this;\n _self.$api.welogin({\n code: code\n }).then(function (res) {\n getApp().globalData.token = res.data.token;\n getApp().globalData.equipmentManage = res.data.equipment_manage;\n\n // 保存到本地存储\n uni.setStorageSync('equipment_token', res.data.token);\n uni.setStorageSync('equipment_openid', res.data.openid);\n uni.setStorageSync('equipment_manage', res.data.equipment_manage);\n _self.login = true;\n // 登录成功后从全局状态获取用户信息\n _self.user = getApp().globalData.userInfo || {};\n _self.avatar = _self.user.avatar || '';\n\n // 登录成功后刷新数据\n _self.fetchBuildingList();\n _self.fetchUserInfo();\n }).catch(function (err) {\n __f__(\"error\", '登录失败:', err, \" at pages/mine/manage.vue:503\");\n uni.showToast({\n title: '登录失败,请稍后重试',\n icon: 'none'\n });\n });\n },\n goLogin: function goLogin() {\n var _self = this;\n uni.navigateTo({\n url: '/pages/login/login',\n events: {\n // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据\n isLoginFromLogin: function isLoginFromLogin(data) {\n if (data && data.isLogin) {\n _self.isLoggedIn = true;\n // 登录成功后从全局状态获取用户信息\n _self.user = getApp().globalData.userInfo || {};\n _self.avatar = _self.user.avatar || '';\n }\n }\n }\n });\n },\n // 添加退出登录方法\n logout: function logout() {\n try {\n // 清除全局数据\n var app = getApp();\n app.globalData.ID = '';\n app.globalData.token = '';\n app.globalData.userInfo = {};\n app.globalData.isLoggedIn = false;\n app.globalData.expireAt = '';\n app.globalData.building = '';\n app.globalData.room = '';\n app.globalData.pen = '';\n app.globalData.buildingName = '';\n app.globalData.roomName = '';\n app.globalData.penNo = '';\n\n // 清除本地存储\n uni.removeStorageSync('equipment_token');\n uni.removeStorageSync('token_expire_time');\n uni.removeStorageSync('user_info');\n uni.removeStorageSync('building');\n uni.removeStorageSync('room');\n uni.removeStorageSync('pen');\n __f__(\"log\", '退出登录成功,已清除所有登录信息', \" at pages/mine/manage.vue:552\");\n\n // 重置页面状态\n this.login = false;\n this.user = {\n username: '',\n ID: ''\n };\n this.form = {\n buildingName: '',\n roomName: '',\n penNo: ''\n };\n\n // 跳转到登录页面\n uni.redirectTo({\n url: '/pages/login/login',\n success: function success() {\n __f__(\"log\", '跳转到登录页面成功', \" at pages/mine/manage.vue:567\");\n }\n });\n } catch (e) {\n __f__(\"error\", '退出登录过程中发生错误:', e, \" at pages/mine/manage.vue:571\");\n uni.showToast({\n title: '退出登录失败,请重试',\n icon: 'none'\n });\n }\n },\n clearStorage: function clearStorage() {\n var _self = this;\n try {\n _self.login = false;\n var app = getApp();\n // 清空全局数据\n app.globalData.token = '';\n app.globalData.equipmentManage = 0;\n app.globalData.userInfo = {};\n app.globalData.building = '';\n app.globalData.room = '';\n app.globalData.pen = '';\n app.globalData.buildingName = '';\n app.globalData.roomName = '';\n app.globalData.penNo = '';\n app.globalData.isLoggedIn = false;\n\n // 清空本地存储\n uni.setStorageSync('equipment_token', '');\n uni.setStorageSync('equipment_openid', '');\n uni.setStorageSync('equipment_manage', '');\n uni.setStorageSync('user_info', {});\n uni.setStorageSync('building', '');\n uni.setStorageSync('room', '');\n uni.setStorageSync('pen', '');\n uni.setStorageSync('buildingName', '');\n uni.setStorageSync('roomName', '');\n uni.setStorageSync('penNo', '');\n uni.$emit('loginStatusEvent', {\n isLogin: false\n });\n uni.showToast({\n title: '退出登录成功',\n icon: 'success'\n });\n\n // 直接跳转到登录页面,避免延迟导致的重复导航\n setTimeout(function () {\n uni.redirectTo({\n url: '/pages/login/login'\n });\n }, 500);\n } catch (e) {\n __f__(\"error\", '清除存储失败:', e, \" at pages/mine/manage.vue:623\");\n uni.showToast({\n title: '退出失败,请稍后再试',\n icon: 'none'\n });\n }\n },\n callManage: function callManage() {\n var _self = this;\n var managePhone = _self.managePhone;\n if (managePhone == '') {\n uni.showToast({\n title: '暂无管理员联系方式',\n icon: 'none'\n });\n return;\n }\n uni.makePhoneCall({\n phoneNumber: managePhone\n });\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 12)[\"default\"], __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 21)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9tYW5hZ2UudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJsb2dpbiIsInVzZXIiLCJhdmF0YXIiLCJtYW5hZ2VQaG9uZSIsImZvcm0iLCJidWlsZGluZ05hbWUiLCJyb29tTmFtZSIsInBlbk5vIiwiYnVpbGRpbmdMaXN0Iiwicm9vbUxpc3QiLCJGaWVsZG51bWJlciIsIm9uU2hvdyIsIl9zZWxmIiwid3giLCJzdWNjZXNzIiwibWV0aG9kcyIsImZldGNoQnVpbGRpbmdMaXN0IiwidW5pIiwidXJsIiwibWV0aG9kIiwiaGVhZGVyIiwiZmFpbCIsImZldGNoVXNlckluZm8iLCJ1c2VySW5mbyIsImJ1aWxkaW5nIiwicm9vbSIsInBlbiIsInVzZXJuYW1lIiwiSUQiLCJhcHAiLCJyZWZyZXNoVXNlckluZm8iLCJmZXRjaFJvb21MaXN0IiwiZmV0Y2hQZW5MaXN0IiwibG9hZEZyb21TdG9yYWdlIiwib25CdWlsZGluZ0NoYW5nZSIsImdldEFwcCIsIm9uUm9vbUNoYW5nZSIsIm9uRmllbGRDaGFuZ2UiLCJzYXZlU2V0dGluZ3MiLCJ0aXRsZSIsImljb24iLCJtYXNrIiwidXNlcmlkIiwidGltZW91dCIsImR1cmF0aW9uIiwiY29tcGxldGUiLCJnb1dlTG9naW4iLCJjb2RlIiwiZ29Mb2dpbiIsImV2ZW50cyIsImlzTG9naW5Gcm9tTG9naW4iLCJsb2dvdXQiLCJjbGVhclN0b3JhZ2UiLCJpc0xvZ2luIiwic2V0VGltZW91dCIsImNhbGxNYW5hZ2UiLCJwaG9uZU51bWJlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUE4REE7QUFBQTtBQUFBO0FBQ0E7QUFBQSxlQUNBO0VBQ0FBO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFFQTtNQUNBQztRQUNBQztRQUNBQztRQUNBQztNQUNBO01BRUE7TUFDQUM7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUVBO0lBQ0FDO0lBQ0E7TUFDQUM7UUFDQUM7VUFDQTtZQUNBRjtVQUNBO1FBQ0E7TUFDQTtJQUNBO01BQ0E7TUFDQUE7TUFDQUE7SUFDQTtFQUVBO0VBQ0FHO0lBQ0E7SUFDQUM7TUFDQTtNQUNBOztNQUVBO01BQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1VBQ0E7UUFDQTtRQUNBTjtVQUNBO1VBQ0E7WUFDQTtZQUNBRjtjQUFBO1lBQUE7WUFDQTs7WUFFQTtZQUNBO2NBQ0FBO1lBQ0E7O1lBRUE7WUFDQUE7VUFDQTtZQUNBO1lBQ0E7WUFDQUE7VUFDQTtRQUNBO1FBQ0FTO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTs7TUFFQTtNQUNBOztNQUVBO01BQ0E7UUFDQUM7UUFDQTtNQUNBOztNQUVBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQUE7WUFDQTtVQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7O01BRUE7TUFDQTtRQUNBQTtNQUNBO01BRUE7UUFDQUE7TUFDQTs7TUFFQTtNQUNBOztNQUVBO01BQ0FYOztNQUVBO01BQ0FBOztNQUVBO01BQ0FBO01BQ0FBO01BQ0FBO01BRUE7O01BRUE7TUFDQUs7UUFDQU87UUFDQUM7UUFDQUM7TUFDQTtJQUNBO0lBRUEzQjtNQUNBO1FBQ0FDO1FBQ0FDO1VBQ0EwQjtVQUFBO1VBQ0FDO1FBQ0E7O1FBQ0ExQjtRQUNBQztRQUVBO1FBQ0FDO1VBQ0FDO1VBQ0FDO1VBQ0FDO1FBQ0E7UUFFQTtRQUNBQztRQUNBQztRQUNBQztNQUNBO0lBQ0E7SUFFQTtJQUNBQztNQUNBO01BQ0E7O01BRUE7TUFDQTtNQUNBQztNQUVBO1FBQ0E7UUFDQUE7UUFDQTtRQUNBQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFFQTtVQUNBO1VBQ0FpQjtVQUNBQTtVQUNBQTtVQUNBQTtVQUNBakI7VUFDQUE7VUFDQUE7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBO0lBQ0FrQjtNQUNBO01BQ0E7TUFDQTtNQUVBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTs7TUFFQTtNQUNBZDtRQUNBQztRQUNBQztRQUNBcEI7VUFDQXlCO1FBQ0E7O1FBQ0FKO1VBQ0E7UUFDQTtRQUNBTjtVQUNBO1VBRUE7WUFDQTtZQUNBRjtjQUFBO1lBQUE7O1lBRUE7WUFDQTtjQUNBQTtZQUNBOztZQUVBO1lBQ0FBO1VBQ0E7WUFDQTtZQUNBO1lBQ0FBO1VBQ0E7UUFDQTtRQUNBUztVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE7SUFDQVc7TUFDQTtNQUNBO01BQ0E7TUFDQWY7UUFDQUM7UUFDQUM7UUFDQXBCO1VBQ0F5QjtVQUNBQztRQUNBOztRQUNBTDtVQUNBO1VBQ0E7UUFDQTtRQUNBTjtVQUNBO1VBRUE7WUFDQTtZQUNBRjtjQUFBO1lBQUE7WUFDQTtZQUNBO2NBQ0FBO1lBQ0E7VUFDQTtZQUNBO1lBQ0E7WUFDQUE7VUFDQTtRQUNBO1FBQ0FTO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQVk7TUFDQTtNQUNBO01BQ0E7TUFDQXJCO01BQ0FBO01BQ0FBO01BQ0FBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFFQTtJQUNBc0I7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBQztNQUNBO01BQ0FsQjtNQUNBO01BQ0E7SUFDQTtJQUVBbUI7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBRDtNQUNBO01BQ0FsQjtNQUNBO01BQ0E7SUFDQTtJQUVBb0I7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBRjtNQUNBO01BQ0FsQjtJQUNBO0lBRUE7SUFDQXFCO01BQUE7TUFDQTtRQUNBO1VBQ0FDO1VBQ0FDO1FBQ0E7TUFDQTtNQUVBO01BQ0E7TUFDQTtNQUNBO01BRUE7UUFDQTtRQUNBO1VBQ0FEO1VBQ0FDO1FBQ0E7TUFDQTtNQUFBO01BQ0F2QjtRQUNBc0I7UUFDQUU7TUFDQTtNQUVBO1FBQ0FkO1FBQ0FlO1FBQ0FsQjtRQUNBQztRQUNBQztNQUNBO01BQ0E7O01BRUE7TUFDQVQ7UUFDQUM7UUFDQUM7UUFDQXBCO1FBQ0FxQjtVQUNBO1VBQ0E7UUFDQTtRQUNBdUI7UUFBQTtRQUNBN0I7VUFDQTtZQUNBRztjQUNBc0I7Y0FDQUM7Y0FDQUk7WUFDQTtZQUNBO1lBQ0FmO1lBQ0FBO1lBQ0FBO1lBQ0E7WUFDQVo7WUFDQUE7WUFDQUE7WUFDQTtZQUNBQTtjQUNBTztjQUNBQztjQUNBQztZQUNBO1VBQ0E7WUFBQTtZQUNBO1lBQ0FUO2NBQ0FzQjtjQUNBQztZQUNBO1VBQ0E7UUFDQTtRQUNBSztVQUNBNUI7UUFDQTtNQUNBO0lBQ0E7SUFFQTZCO01BQ0E7TUFDQWxDO1FBQ0FtQztNQUNBO1FBQ0FaO1FBQ0FBOztRQUVBO1FBQ0FsQjtRQUNBQTtRQUNBQTtRQUVBTDtRQUNBO1FBQ0FBO1FBQ0FBOztRQUVBO1FBQ0FBO1FBQ0FBO01BQ0E7UUFDQTtRQUNBSztVQUNBc0I7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQVE7TUFDQTtNQUNBL0I7UUFDQUM7UUFDQStCO1VBQ0E7VUFDQUM7WUFDQTtjQUNBdEM7Y0FDQTtjQUNBQTtjQUNBQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBdUM7TUFDQTtRQUNBO1FBQ0E7UUFDQXRCO1FBQ0FBO1FBQ0FBO1FBQ0FBO1FBQ0FBO1FBQ0FBO1FBQ0FBO1FBQ0FBO1FBQ0FBO1FBQ0FBO1FBQ0FBOztRQUVBO1FBQ0FaO1FBQ0FBO1FBQ0FBO1FBQ0FBO1FBQ0FBO1FBQ0FBO1FBRUE7O1FBRUE7UUFDQTtRQUNBO1VBQUFVO1VBQUFDO1FBQUE7UUFDQTtVQUNBdkI7VUFDQUM7VUFDQUM7UUFDQTs7UUFFQTtRQUNBVTtVQUNBQztVQUNBSjtZQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQUc7VUFDQXNCO1VBQ0FDO1FBQ0E7TUFDQTtJQUNBO0lBQ0FZO01BQ0E7TUFDQTtRQUNBeEM7UUFDQTtRQUNBO1FBQ0FpQjtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTs7UUFFQTtRQUNBWjtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUNBQTtRQUVBQTtVQUNBb0M7UUFDQTtRQUVBcEM7VUFDQXNCO1VBQ0FDO1FBQ0E7O1FBRUE7UUFDQWM7VUFDQXJDO1lBQ0FDO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQUQ7VUFDQXNCO1VBQ0FDO1FBQ0E7TUFDQTtJQUNBO0lBQ0FlO01BQ0E7TUFDQTtNQUNBO1FBQ0F0QztVQUNBc0I7VUFDQUM7UUFDQTtRQUNBO01BQ0E7TUFFQXZCO1FBQ0F1QztNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiNDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJjb250YWluZXJcIj5cclxuXHRcdDx2aWV3IGNsYXNzPVwibGlzdHNcIiB2LWlmPVwibG9naW5cIj5cclxuXHRcdFx0PCEtLSDnlKjmiLfkv6Hmga/ljaHniYcgLS0+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiY3UtY2FyZCBjYXNlIHVzZXItY2FyZFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiY3UtaXRlbVwiPlxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VybmFtZVwiPueUqOaIt+WQjToge3t1c2VyLnVzZXJuYW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci1pZFwiIHYtaWY9XCJ1c2VyLklEXCI+SUQ6IHt7dXNlci5JRH19PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PCEtLSDlip/og73liJfooaggLS0+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiY3UtbGlzdCBtZW51IHNtLWJvcmRlciBjYXJkLW1lbnUgZnVuY3Rpb24tbGlzdFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZm9ybS1zZWN0aW9uXCI+XHJcblx0XHRcdFx0XHQ8cGlja2VyIDpyYW5nZT1cImJ1aWxkaW5nTGlzdFwiIEBjaGFuZ2U9XCJvbkJ1aWxkaW5nQ2hhbmdlXCI+XHJcblx0XHRcdFx0XHQgIDx2aWV3IGNsYXNzPVwiZm9ybS1pdGVtXCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwibGFiZWxcIj48dGV4dCBjbGFzcz1cImZhIGZhLWhvbWVcIj48L3RleHQ+IOagi+iIjee8luWPtzwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ2YWx1ZVwiPnt7IGZvcm0uYnVpbGRpbmdOYW1lIHx8ICfor7fpgInmi6nmoIvoiI0nIH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0ICA8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3BpY2tlcj5cclxuXHJcblx0XHRcdFx0XHQ8cGlja2VyIDpyYW5nZT1cInJvb21MaXN0XCIgQGNoYW5nZT1cIm9uUm9vbUNoYW5nZVwiPlxyXG5cdFx0XHRcdFx0ICA8dmlldyBjbGFzcz1cImZvcm0taXRlbVwiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImxhYmVsXCI+PHRleHQgY2xhc3M9XCJmYSBmYS1kb29yLW9wZW5cIj48L3RleHQ+IOaIv+mXtOe8luWPtzwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ2YWx1ZVwiPnt7IGZvcm0ucm9vbU5hbWUgfHwgJ+ivt+mAieaLqeaIv+mXtCcgfX08L3RleHQ+XHJcblx0XHRcdFx0XHQgIDwvdmlldz5cclxuXHRcdFx0XHRcdDwvcGlja2VyPlxyXG5cclxuXHRcdFx0XHRcdDxwaWNrZXIgOnJhbmdlPVwiRmllbGRudW1iZXJcIiBAY2hhbmdlPVwib25GaWVsZENoYW5nZVwiPlxyXG5cdFx0XHRcdFx0ICA8dmlldyBjbGFzcz1cImZvcm0taXRlbVwiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImxhYmVsXCI+PHRleHQgY2xhc3M9XCJmYSBmYS10aC1sYXJnZVwiPjwvdGV4dD4g5qCP5L2N57yW5Y+3PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInZhbHVlXCI+e3sgZm9ybS5wZW5ObyB8fCAn6K+36YCJ5oup5qCP5L2NJyB9fTwvdGV4dD5cclxuXHRcdFx0XHRcdCAgPC92aWV3PlxyXG5cdFx0XHRcdFx0PC9waWNrZXI+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInNhdmUtYnRuLWNvbnRhaW5lclwiPlxyXG5cdFx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cImN1LWJ0biBibG9jayBzYXZlLWJ0blwiIEBjbGljaz1cInNhdmVTZXR0aW5nc1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzA3YzE2MDtcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJmYSBmYS1zYXZlIG1hcmdpbi1yaWdodC14c1wiPjwvdGV4dD4g5L+d5a2Y6K6+572uXHJcblx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDxidXR0b24gY2xhc3M9XCJjdS1idG4gYmxvY2sgc2F2ZS1idG5cIiBAY2xpY2s9XCJsb2dvdXQoKVwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogcmVkO1wiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImZhIGZhLXNhdmUgbWFyZ2luLXJpZ2h0LXhzXCI+PC90ZXh0PiDpgIDlh7rnmbvlvZVcclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IHYtZWxzZT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJlbXB0eSBub2xvZ2luLWNvbnRlbnRcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL25vbG9naW4ucG5nXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRleHQtZ3JheVwiPuivt+WFiOeZu+W9lei0puWPtzwvdmlldz5cclxuXHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwiY3UtYnRuIGJsb2NrIGJnLWJsYWNrIGxnXCIgQGNsaWNrPVwiZ29Mb2dpbigpXCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImN1SWNvbi1sb2NrIG1hcmdpbi1yaWdodC14c1wiPjwvdGV4dD4g55m75b2V6LSm5Y+3PC9idXR0b24+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5pbXBvcnQgQVBJIGZyb20gJy4uLy4uL2FwaS9pbmRleCc7XHJcblx0Ly8g56e76Zmk5YWo5bGA5Y+Y6YeP5aOw5piO77yM5pS55Li65Zyo5pa55rOV5YaF5L2/55SoY29uc3Tlo7DmmI5cclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGxvZ2luOiBmYWxzZSxcclxuXHRcdFx0XHR1c2VyOiB7fSxcclxuXHRcdFx0XHRhdmF0YXI6ICcnLFxyXG5cdFx0XHRcdG1hbmFnZVBob25lOiAnJyxcclxuXHJcblx0XHRcdFx0Ly8g6KGo5Y2V5pWw5o2uXHJcblx0XHRcdFx0Zm9ybToge1xyXG5cdFx0XHRcdFx0YnVpbGRpbmdOYW1lOiAnJyxcclxuXHRcdFx0XHRcdHJvb21OYW1lOiAnJyxcclxuXHRcdFx0XHRcdHBlbk5vOiAnJ1xyXG5cdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdC8vIOWKqOaAgeS7juaOpeWPo+iOt+WPluaVsOaNrlxyXG5cdFx0XHRcdGJ1aWxkaW5nTGlzdDogW10sXHJcblx0XHRcdFx0cm9vbUxpc3Q6IFtdLFxyXG5cdFx0XHRcdEZpZWxkbnVtYmVyOiBbXVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25TaG93KCkge1xyXG5cdFx0XHRjb25zdCBfc2VsZiA9IHRoaXM7XHJcblx0XHRcdGNvbnN0IGFwcCA9IGdldEFwcCgpO1xyXG5cclxuXHRcdFx0Y29uc3QgaXNMb2dpbiA9ICEhYXBwLmdsb2JhbERhdGEudG9rZW47XHJcblx0XHRcdF9zZWxmLmxvZ2luID0gaXNMb2dpbjtcclxuXHRcdFx0aWYgKCFpc0xvZ2luKSB7XHJcblx0XHRcdFx0d3gubG9naW4oe1xyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb2RlKSB7XHJcblx0XHRcdFx0XHRcdFx0X3NlbGYuZ29XZUxvZ2luKHJlcy5jb2RlKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdC8vIOebtOaOpeS7juWFqOWxgOeKtuaAgeiOt+WPlueUqOaIt+S/oeaBr1xyXG5cdFx0XHRcdF9zZWxmLnVzZXIgPSBhcHAuZ2xvYmFsRGF0YS51c2VySW5mbyB8fCB7fTtcclxuXHRcdFx0XHRfc2VsZi5hdmF0YXIgPSBfc2VsZi51c2VyLmF2YXRhciB8fCAnJztcclxuXHRcdFx0fVxyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdC8vIOiOt+WPluagi+iIjeWIl+ihqFxyXG5cdFx0XHRmZXRjaEJ1aWxkaW5nTGlzdCgpIHtcclxuXHRcdFx0XHRjb25zdCBfc2VsZiA9IHRoaXM7XHJcblx0XHRcdFx0Y29uc3QgYXBwID0gZ2V0QXBwKCk7XHJcblxyXG5cdFx0XHRcdC8vIOS7juacjeWKoeWZqOiOt+WPluagi+iIjeWIl+ihqFxyXG5cdFx0XHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0XHRcdHVybDogQVBJLmdldEJ1aWxkaW5nLFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnR0VUJyxcclxuXHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHRcIngtdG9rZW5cIjogYXBwLmdsb2JhbERhdGEudG9rZW4gfHwgJydcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhyZXMuZGF0YS5kYXRhKVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGEuY29kZSA9PT0gMCAmJiByZXMuZGF0YS5kYXRhICYmIHJlcy5kYXRhLmRhdGEubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdFx0XHRcdC8vIOabtOaWsOagi+iIjeWIl+ihqFxyXG5cdFx0XHRcdFx0XHRcdF9zZWxmLmJ1aWxkaW5nTGlzdCA9IHJlcy5kYXRhLmRhdGEubWFwKGl0ZW0gPT4gaXRlbS5uYW1lIHx8IGl0ZW0uYnVpbGRpbmdfbmFtZSk7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+iOt+WPluagi+iIjee8luWPtzonLCBfc2VsZi5idWlsZGluZ0xpc3QpO1xyXG5cclxuXHRcdFx0XHRcdFx0XHQvLyDlpoLmnpzooajljZXkuK3msqHmnInpgInmi6nmoIvoiI3vvIzlsJ3or5Xkvb/nlKjlhajlsYDmlbDmja7miJbmnKzlnLDlrZjlgqhcclxuXHRcdFx0XHRcdFx0XHRpZiAoIV9zZWxmLmZvcm0uYnVpbGRpbmdOYW1lKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRfc2VsZi5mb3JtLmJ1aWxkaW5nTmFtZSA9IGFwcC5nbG9iYWxEYXRhLmJ1aWxkaW5nIHx8IHVuaS5nZXRTdG9yYWdlU3luYygnYnVpbGRpbmcnKSB8fCAnJztcclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdC8vIOiOt+WPluWvueW6lOagi+iIjeeahOaIv+mXtOWIl+ihqFxyXG5cdFx0XHRcdFx0XHRcdF9zZWxmLmZldGNoUm9vbUxpc3QoKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmVycm9yKCdnZXRfYnVpbGRpbmflk43lupTmlbDmja7ml6DmlYjmiJbkuLrnqbo6JywgcmVzLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHRcdC8vIOS9v+eUqOm7mOiupOagi+iIjeWIl+ihqFxyXG5cdFx0XHRcdFx0XHRcdF9zZWxmLmJ1aWxkaW5nTGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmVycm9yKCfojrflj5bmoIvoiI3liJfooajlpLHotKU6JywgZXJyKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdC8vIOaWsOWinuaWueazle+8muiOt+WPluacgOaWsOeUqOaIt+S/oeaBr1xyXG5cdFx0XHQvLyDkv67lpI1mZXRjaFVzZXJJbmZv5pa55rOV77yM56Gu5L+d55So5oi35L+h5oGv5q2j56Gu6I635Y+WXHJcblx0XHRcdGZldGNoVXNlckluZm8oKSB7XHJcblx0XHRcdCAgY29uc3QgX3NlbGYgPSB0aGlzO1xyXG5cdFx0XHQgIGNvbnN0IGFwcCA9IGdldEFwcCgpO1xyXG5cdFx0XHQgIFxyXG5cdFx0XHQgIC8vIOS7juWkmuS4quadpea6kOiOt+WPlueUqOaIt+S/oeaBr++8jOWinuWKoOWPr+mdoOaAp1xyXG5cdFx0XHQgIGxldCB1c2VySW5mbyA9IHt9O1xyXG5cdFx0XHQgIFxyXG5cdFx0XHQgIC8vIDEuIOS8mOWFiOS7juWFqOWxgOaVsOaNruiOt+WPllxyXG5cdFx0XHQgIGlmIChhcHAuZ2xvYmFsRGF0YS51c2VySW5mbyAmJiBPYmplY3Qua2V5cyhhcHAuZ2xvYmFsRGF0YS51c2VySW5mbykubGVuZ3RoID4gMCkge1xyXG5cdFx0XHQgICAgdXNlckluZm8gPSBhcHAuZ2xvYmFsRGF0YS51c2VySW5mbztcclxuXHRcdFx0ICAgIGNvbnNvbGUubG9nKCfku47lhajlsYDmlbDmja7ojrflj5bnlKjmiLfkv6Hmga86JywgdXNlckluZm8pO1xyXG5cdFx0XHQgIH1cclxuXHRcdFx0ICBcclxuXHRcdFx0ICAvLyAyLiDlpoLmnpzlhajlsYDmlbDmja7kuI3lj6/nlKjvvIzlsJ3or5Xku47mnKzlnLDlrZjlgqjojrflj5ZcclxuXHRcdFx0ICBpZiAoIXVzZXJJbmZvLnVzZXJuYW1lIHx8ICF1c2VySW5mby5JRCkge1xyXG5cdFx0XHQgICAgdHJ5IHtcclxuXHRcdFx0ICAgICAgY29uc3Qgc3RvcmVkVXNlckluZm8gPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3VzZXJfaW5mbycpIHx8IHt9O1xyXG5cdFx0XHQgICAgICBpZiAoc3RvcmVkVXNlckluZm8gJiYgT2JqZWN0LmtleXMoc3RvcmVkVXNlckluZm8pLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0ICAgICAgICB1c2VySW5mbyA9IHsgLi4udXNlckluZm8sIC4uLnN0b3JlZFVzZXJJbmZvIH07XHJcblx0XHRcdCAgICAgICAgY29uc29sZS5sb2coJ+S7juacrOWcsOWtmOWCqOihpeWFheeUqOaIt+S/oeaBrzonLCBzdG9yZWRVc2VySW5mbyk7XHJcblx0XHRcdCAgICAgIH1cclxuXHRcdFx0ICAgIH0gY2F0Y2ggKGUpIHtcclxuXHRcdFx0ICAgICAgY29uc29sZS5lcnJvcign6K+75Y+W5pys5Zyw5a2Y5YKo55So5oi35L+h5oGv5aSx6LSlOicsIGUpO1xyXG5cdFx0XHQgICAgfVxyXG5cdFx0XHQgIH1cclxuXHRcdFx0ICBcclxuXHRcdFx0ICAvLyAzLiDlpoLmnpzku43nhLbnvLrlsJHlhbPplK7kv6Hmga/vvIzlsJ3or5Xku450b2tlbuebuOWFs+S/oeaBr+S4reaPkOWPllxyXG5cdFx0XHQgIGlmICghdXNlckluZm8udXNlcm5hbWUpIHtcclxuXHRcdFx0ICAgIHVzZXJJbmZvLnVzZXJuYW1lID0gYXBwLmdsb2JhbERhdGEudXNlcm5hbWUgfHwgJyc7XHJcblx0XHRcdCAgfVxyXG5cdFx0XHQgIFxyXG5cdFx0XHQgIGlmICghdXNlckluZm8uSUQpIHtcclxuXHRcdFx0ICAgIHVzZXJJbmZvLklEID0gYXBwLmdsb2JhbERhdGEuSUQgfHwgJyc7XHJcblx0XHRcdCAgfVxyXG5cdFx0XHQgIFxyXG5cdFx0XHQgIC8vIOiusOW9leiOt+WPluWIsOeahOeUqOaIt+S/oeaBr++8jOS+v+S6juiwg+ivlVxyXG5cdFx0XHQgIGNvbnNvbGUubG9nKCfmnIDnu4jojrflj5bnmoTnlKjmiLfkv6Hmga86JywgdXNlckluZm8pO1xyXG5cdFx0XHQgIFxyXG5cdFx0XHQgIC8vIOabtOaWsOmhtemdouaVsOaNrlxyXG5cdFx0XHQgIF9zZWxmLnVzZXIgPSB1c2VySW5mbztcclxuXHRcdFx0ICBcclxuXHRcdFx0ICAvLyDnoa7kv53ljbPkvb/msqHmnInlpLTlg4/kuZ/kuI3kvJrlh7rplJlcclxuXHRcdFx0ICBfc2VsZi5hdmF0YXIgPSB1c2VySW5mby5hdmF0YXIgfHwgJyc7XHJcblx0XHRcdCAgXHJcblx0XHRcdCAgLy8g5pu05paw6KGo5Y2V5pWw5o2uXHJcblx0XHRcdCAgX3NlbGYuZm9ybS5idWlsZGluZ05hbWUgPSBhcHAuZ2xvYmFsRGF0YS5idWlsZGluZyB8fCBhcHAuZ2xvYmFsRGF0YS5idWlsZGluZ05hbWUgfHwgJyc7XHJcblx0XHRcdCAgX3NlbGYuZm9ybS5yb29tTmFtZSA9IGFwcC5nbG9iYWxEYXRhLnJvb20gfHwgYXBwLmdsb2JhbERhdGEucm9vbU5hbWUgfHwgJyc7XHJcblx0XHRcdCAgX3NlbGYuZm9ybS5wZW5ObyA9IGFwcC5nbG9iYWxEYXRhLnBlbiB8fCBhcHAuZ2xvYmFsRGF0YS5wZW5ObyB8fCAnJztcclxuXHRcdFx0ICBcclxuXHRcdFx0ICBjb25zb2xlLmxvZygn5pu05paw5ZCO55qE6KGo5Y2V5pWw5o2uOicsIF9zZWxmLmZvcm0pO1xyXG5cdFx0XHQgIFxyXG5cdFx0XHQgIC8vIOinpuWPkeiuvue9ruabtOaWsOS6i+S7tu+8jOmAmuefpeWFtuS7lue7hOS7tlxyXG5cdFx0XHQgIHVuaS4kZW1pdCgnc2V0dGluZ3NVcGRhdGVkJywge1xyXG5cdFx0XHQgICAgYnVpbGRpbmc6IF9zZWxmLmZvcm0uYnVpbGRpbmdOYW1lLFxyXG5cdFx0XHQgICAgcm9vbTogX3NlbGYuZm9ybS5yb29tTmFtZSxcclxuXHRcdFx0ICAgIHBlbjogX3NlbGYuZm9ybS5wZW5Ob1xyXG5cdFx0XHQgIH0pO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0ZGF0YSgpIHtcclxuXHRcdFx0ICByZXR1cm4ge1xyXG5cdFx0XHQgICAgbG9naW46IGZhbHNlLFxyXG5cdFx0XHQgICAgdXNlcjoge1xyXG5cdFx0XHQgICAgICB1c2VybmFtZTogJycsIC8vIOaPkOS+m+m7mOiupOeahOeUqOaIt+WQjeWxnuaAp1xyXG5cdFx0XHQgICAgICBJRDogJycgICAgICAgIC8vIOaPkOS+m+m7mOiupOeahElE5bGe5oCnXHJcblx0XHRcdCAgICB9LFxyXG5cdFx0XHQgICAgYXZhdGFyOiAnJyxcclxuXHRcdFx0ICAgIG1hbmFnZVBob25lOiAnJyxcclxuXHRcdFx0ICAgIFxyXG5cdFx0XHQgICAgLy8g6KGo5Y2V5pWw5o2uXHJcblx0XHRcdCAgICBmb3JtOiB7XHJcblx0XHRcdCAgICAgIGJ1aWxkaW5nTmFtZTogJycsXHJcblx0XHRcdCAgICAgIHJvb21OYW1lOiAnJyxcclxuXHRcdFx0ICAgICAgcGVuTm86ICcnXHJcblx0XHRcdCAgICB9LFxyXG5cdFx0XHRcclxuXHRcdFx0ICAgIC8vIOWKqOaAgeS7juaOpeWPo+iOt+WPluaVsOaNrlxyXG5cdFx0XHQgICAgYnVpbGRpbmdMaXN0OiBbXSxcclxuXHRcdFx0ICAgIHJvb21MaXN0OiBbXSxcclxuXHRcdFx0ICAgIEZpZWxkbnVtYmVyOiBbXVxyXG5cdFx0XHQgIH1cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdC8vIOWinuW8um9uU2hvd+aWueazleS4reeahOeUqOaIt+S/oeaBr+iOt+WPlumAu+i+kVxyXG5cdFx0XHRvblNob3coKSB7XHJcblx0XHRcdCAgY29uc3QgX3NlbGYgPSB0aGlzO1xyXG5cdFx0XHQgIGNvbnN0IGFwcCA9IGdldEFwcCgpO1xyXG5cdFx0XHQgIFxyXG5cdFx0XHQgIC8vIOmmluWFiOajgOafpeeZu+W9leeKtuaAgVxyXG5cdFx0XHQgIGNvbnN0IGlzTG9naW4gPSAhIWFwcC5nbG9iYWxEYXRhLnRva2VuO1xyXG5cdFx0XHQgIF9zZWxmLmxvZ2luID0gaXNMb2dpbjtcclxuXHRcdFx0ICBcclxuXHRcdFx0ICBpZiAoaXNMb2dpbikge1xyXG5cdFx0XHQgICAgLy8g6I635Y+W5qCL6IiN5YiX6KGoXHJcblx0XHRcdCAgICBfc2VsZi5mZXRjaEJ1aWxkaW5nTGlzdCgpO1xyXG5cdFx0XHQgICAgLy8g6I635Y+W5pyA5paw55So5oi35L+h5oGvXHJcblx0XHRcdCAgICBfc2VsZi5mZXRjaFVzZXJJbmZvKCk7XHJcblx0XHRcdCAgfSBlbHNlIHtcclxuXHRcdFx0ICAgIC8vIOWwneivleS7juacrOWcsOWtmOWCqOaBouWkjeeZu+W9leS/oeaBr1xyXG5cdFx0XHQgICAgY29uc3QgdG9rZW4gPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF90b2tlbicpIHx8ICcnO1xyXG5cdFx0XHQgICAgY29uc3QgZXhwaXJlQXQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuX2V4cGlyZV90aW1lJykgfHwgJyc7XHJcblx0XHRcdCAgICBjb25zdCB1c2VySW5mbyA9IHVuaS5nZXRTdG9yYWdlU3luYygndXNlcl9pbmZvJykgfHwge307XHJcblx0XHRcdCAgICBcclxuXHRcdFx0ICAgIGlmICh0b2tlbiAmJiBleHBpcmVBdCkge1xyXG5cdFx0XHQgICAgICAvLyDmgaLlpI3nmbvlvZXkv6Hmga/liLDlhajlsYDmlbDmja5cclxuXHRcdFx0ICAgICAgYXBwLmdsb2JhbERhdGEudG9rZW4gPSB0b2tlbjtcclxuXHRcdFx0ICAgICAgYXBwLmdsb2JhbERhdGEuZXhwaXJlQXQgPSBleHBpcmVBdDtcclxuXHRcdFx0ICAgICAgYXBwLmdsb2JhbERhdGEudXNlckluZm8gPSB1c2VySW5mbztcclxuXHRcdFx0ICAgICAgYXBwLmdsb2JhbERhdGEuaXNMb2dnZWRJbiA9IHRydWU7XHJcblx0XHRcdCAgICAgIF9zZWxmLmxvZ2luID0gdHJ1ZTtcclxuXHRcdFx0ICAgICAgX3NlbGYuZmV0Y2hCdWlsZGluZ0xpc3QoKTtcclxuXHRcdFx0ICAgICAgX3NlbGYuZmV0Y2hVc2VySW5mbygpO1xyXG5cdFx0XHQgICAgICBjb25zb2xlLmxvZygn5LuO5pys5Zyw5a2Y5YKo5oGi5aSN55m75b2V54q25oCB5oiQ5YqfJyk7XHJcblx0XHRcdCAgICB9XHJcblx0XHRcdCAgfVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly8g5paw5aKe5LiA5Liq5pa55rOV77yM55So5LqO5omL5Yqo5Yi35paw55So5oi35L+h5oGvXHJcblx0XHRcdHJlZnJlc2hVc2VySW5mbygpIHtcclxuXHRcdFx0ICBjb25zdCBhcHAgPSBnZXRBcHAoKTtcclxuXHRcdFx0ICBjb25zb2xlLmxvZygn5omL5Yqo5Yi35paw55So5oi35L+h5oGvIC0g5b2T5YmN5YWo5bGA5pWw5o2uOicsIGFwcC5nbG9iYWxEYXRhKTtcclxuXHRcdFx0ICBjb25zb2xlLmxvZygn5omL5Yqo5Yi35paw55So5oi35L+h5oGvIC0g5b2T5YmN5pys5Zyw5a2Y5YKoOicsIHVuaS5nZXRTdG9yYWdlU3luYygndXNlcl9pbmZvJykpO1xyXG5cdFx0XHQgIFxyXG5cdFx0XHQgIHRoaXMuZmV0Y2hVc2VySW5mbygpO1xyXG5cdFx0XHQgIHRoaXMuZmV0Y2hCdWlsZGluZ0xpc3QoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6I635Y+W5oi/6Ze05YiX6KGoXHJcblx0XHRcdGZldGNoUm9vbUxpc3QoKSB7XHJcblx0XHRcdFx0Y29uc3QgX3NlbGYgPSB0aGlzO1xyXG5cdFx0XHRcdGNvbnN0IGFwcCA9IGdldEFwcCgpO1xyXG5cclxuXHRcdFx0XHQvLyDojrflj5bmiL/pl7TliJfooahcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IEFQSS5nZXRSb29tLFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnR0VUJyxcclxuXHRcdFx0XHRcdGRhdGE6IHtcclxuXHRcdFx0XHRcdFx0YnVpbGRpbmc6IF9zZWxmLmZvcm0uYnVpbGRpbmdOYW1lIC8vIOS8oOmAkuW9k+WJjemAieaLqeeahOagi+iIjVxyXG5cdFx0XHRcdFx0fSxcclxuICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICBcIngtdG9rZW5cIjogYXBwLmdsb2JhbERhdGEudG9rZW4gfHwgJydcclxuICAgICAgICAgIH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCfojrflj5bmiL/pl7TnvJblj7c6JywgcmVzKTtcclxuXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YSAmJiByZXMuZGF0YS5jb2RlID09PSAwICYmIHJlcy5kYXRhLmRhdGEgJiYgcmVzLmRhdGEuZGF0YS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8g5pu05paw5oi/6Ze05YiX6KGoXHJcblx0XHRcdFx0XHRcdFx0X3NlbGYucm9vbUxpc3QgPSByZXMuZGF0YS5kYXRhLm1hcChpdGVtID0+IGl0ZW0ubmFtZSB8fCBpdGVtLnJvb21fbmFtZSk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdC8vIOWmguaenOihqOWNleS4reayoeaciemAieaLqeaIv+mXtO+8jOWwneivleS9v+eUqOWFqOWxgOaVsOaNruaIluacrOWcsOWtmOWCqFxyXG5cdFx0XHRcdFx0XHRcdGlmICghX3NlbGYuZm9ybS5yb29tTmFtZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0X3NlbGYuZm9ybS5yb29tTmFtZSA9IGFwcC5nbG9iYWxEYXRhLnJvb20gfHwgdW5pLmdldFN0b3JhZ2VTeW5jKCdyb29tJykgfHwgJyc7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHQvLyDojrflj5blr7nlupTmiL/pl7TnmoTmoI/kvY3liJfooahcclxuXHRcdFx0XHRcdFx0XHRfc2VsZi5mZXRjaFBlbkxpc3QoKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmVycm9yKCdnZXRfcm9vbeWTjeW6lOaVsOaNruaXoOaViOaIluS4uuepujonLCByZXMuZGF0YSk7XHJcblx0XHRcdFx0XHRcdFx0Ly8g5L2/55So6buY6K6k5oi/6Ze05YiX6KGoXHJcblx0XHRcdFx0XHRcdFx0X3NlbGYucm9vbUxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcign6I635Y+W5oi/6Ze05YiX6KGo5aSx6LSlOicsIGVycik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDojrflj5bmoI/kvY3liJfooahcclxuXHRcdFx0ZmV0Y2hQZW5MaXN0KCkge1xyXG5cdFx0XHRcdGNvbnN0IF9zZWxmID0gdGhpcztcclxuXHRcdFx0XHRjb25zdCBhcHAgPSBnZXRBcHAoKTtcclxuXHRcdFx0XHQvLyDojrflj5bmoI/kvY3liJfooahcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IEFQSS5nZXRQZW4sXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdHRVQnLFxyXG5cdFx0XHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdFx0XHRidWlsZGluZzogX3NlbGYuZm9ybS5idWlsZGluZ05hbWUsXHJcblx0XHRcdFx0XHRcdHJvb206IF9zZWxmLmZvcm0ucm9vbU5hbWUgLy8g5b2T5YmN6YCJ5oup55qE5oi/6Ze0XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxcclxuXHRcdFx0XHRcdFx0XCJ4LXRva2VuXCI6IGFwcC5nbG9iYWxEYXRhLnRva2VuIHx8ICcnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn6I635Y+W5qCP5L2N57yW5Y+3OicsIHJlcyk7XHJcblxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGEuY29kZSA9PT0gMCAmJiByZXMuZGF0YS5kYXRhICYmIHJlcy5kYXRhLmRhdGEubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdFx0XHRcdC8vIOabtOaWsOagj+S9jeWIl+ihqFxyXG5cdFx0XHRcdFx0XHRcdF9zZWxmLkZpZWxkbnVtYmVyID0gcmVzLmRhdGEuZGF0YS5tYXAoaXRlbSA9PiBpdGVtLm5hbWUgfHwgaXRlbS5wZW5fbmFtZSB8fCBpdGVtLnBlbl9ubyk7XHJcblx0XHRcdFx0XHRcdFx0Ly8g5aaC5p6c6KGo5Y2V5Lit5rKh5pyJ6YCJ5oup5qCP5L2N77yM5bCd6K+V5L2/55So5YWo5bGA5pWw5o2u5oiW5pys5Zyw5a2Y5YKoXHJcblx0XHRcdFx0XHRcdFx0aWYgKCFfc2VsZi5mb3JtLnBlbk5vKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRfc2VsZi5mb3JtLnBlbk5vID0gYXBwLmdsb2JhbERhdGEucGVuIHx8IHVuaS5nZXRTdG9yYWdlU3luYygncGVuJykgfHwgJyc7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ2dldF9wZW7lk43lupTmlbDmja7ml6DmlYjmiJbkuLrnqbo6JywgcmVzLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHRcdC8vIOS9v+eUqOm7mOiupOagj+S9jeWIl+ihqFxyXG5cdFx0XHRcdFx0XHRcdF9zZWxmLkZpZWxkbnVtYmVyID0gW107XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ+iOt+WPluagj+S9jeWIl+ihqOWksei0pTonLCBlcnIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0bG9hZEZyb21TdG9yYWdlKCkge1xyXG5cdFx0XHQgICAgY29uc3QgX3NlbGYgPSB0aGlzO1xyXG5cdFx0XHQgICAgY29uc3QgYXBwID0gZ2V0QXBwKCk7XHJcblx0XHRcdCAgICBjb25zdCBnbG9iYWxVc2VySW5mbyA9IGFwcC5nbG9iYWxEYXRhLnVzZXJJbmZvO1xyXG5cdFx0XHQgICAgX3NlbGYudXNlciA9IGdsb2JhbFVzZXJJbmZvO1xyXG5cdFx0XHQgICAgX3NlbGYuZm9ybS5idWlsZGluZ05hbWUgPSBhcHAuZ2xvYmFsRGF0YS5idWlsZGluZztcclxuXHRcdFx0ICAgIF9zZWxmLmZvcm0ucm9vbU5hbWUgPSBhcHAuZ2xvYmFsRGF0YS5yb29tO1xyXG5cdFx0XHQgICAgX3NlbGYuZm9ybS5wZW5ObyA9IGFwcC5nbG9iYWxEYXRhLnBlbjtcclxuXHRcdFx0ICAgIGNvbnNvbGUubG9nKCfku47lrZjlgqjliqDovb3nmoTooajljZVidWlsZGluZ05hbWU6JywgX3NlbGYuZm9ybS5idWlsZGluZ05hbWUpO1xyXG5cdFx0XHQgICAgY29uc29sZS5sb2coJ+S7juWtmOWCqOWKoOi9veeahOihqOWNlXJvb21OYW1lOicsIF9zZWxmLmZvcm0ucm9vbU5hbWUpO1xyXG5cdFx0XHQgICAgY29uc29sZS5sb2coJ+S7juWtmOWCqOWKoOi9veeahOihqOWNlXBlbk5vOicsIF9zZWxmLmZvcm0ucGVuTm8pO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly8g6YCJ5oup5Zmo5pa55rOVXHJcblx0XHRcdG9uQnVpbGRpbmdDaGFuZ2UoZSkge1xyXG5cdFx0XHQgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSB0aGlzLmJ1aWxkaW5nTGlzdFtlLmRldGFpbC52YWx1ZV07XHJcblx0XHRcdCAgdGhpcy5mb3JtLmJ1aWxkaW5nTmFtZSA9IHNlbGVjdGVkVmFsdWU7XHJcblx0XHRcdCAgY29uc29sZS5sb2coJ+agi+iIjemAieaLqeW3suabtOaWsDonLCB0aGlzLmZvcm0uYnVpbGRpbmdOYW1lKTtcclxuXHRcdFx0ICAvLyDkv53lrZjliLBsb2dpbuS4reWumuS5ieeahOWFqOWxgOWPmOmHj1xyXG5cdFx0XHQgIGdldEFwcCgpLmdsb2JhbERhdGEuYnVpbGRpbmcgPSBzZWxlY3RlZFZhbHVlO1xyXG5cdFx0XHQgIC8vIOinpuWPkeWFqOWxgOS6i+S7tumAmuefpeiuvue9ruabtOaWsFxyXG5cdFx0XHQgIHVuaS4kZW1pdCgnc2V0dGluZ3NVcGRhdGVkJyk7XHJcblx0XHRcdCAgLy8g6I635Y+W5a+55bqU5qCL6IiN55qE5oi/6Ze05YiX6KGoXHJcblx0XHRcdCAgdGhpcy5mZXRjaFJvb21MaXN0KCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdFxyXG5cdFx0XHRvblJvb21DaGFuZ2UoZSkge1xyXG5cdFx0XHQgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSB0aGlzLnJvb21MaXN0W2UuZGV0YWlsLnZhbHVlXTtcclxuXHRcdFx0ICB0aGlzLmZvcm0ucm9vbU5hbWUgPSBzZWxlY3RlZFZhbHVlO1xyXG5cdFx0XHQgIGNvbnNvbGUubG9nKCfmiL/pl7TpgInmi6nlt7Lmm7TmlrA6JywgdGhpcy5mb3JtLnJvb21OYW1lKTtcclxuXHRcdFx0ICAvLyDkv53lrZjliLBsb2dpbuS4reWumuS5ieeahOWFqOWxgOWPmOmHj1xyXG5cdFx0XHQgIGdldEFwcCgpLmdsb2JhbERhdGEucm9vbSA9IHNlbGVjdGVkVmFsdWU7XHJcblx0XHRcdCAgLy8g6Kem5Y+R5YWo5bGA5LqL5Lu26YCa55+l6K6+572u5pu05pawXHJcblx0XHRcdCAgdW5pLiRlbWl0KCdzZXR0aW5nc1VwZGF0ZWQnKTtcclxuXHRcdFx0ICAvLyDojrflj5blr7nlupTmiL/pl7TnmoTmoI/kvY3liJfooahcclxuXHRcdFx0ICB0aGlzLmZldGNoUGVuTGlzdCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRcclxuXHRcdFx0b25GaWVsZENoYW5nZShlKSB7XHJcblx0XHRcdCAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuRmllbGRudW1iZXJbZS5kZXRhaWwudmFsdWVdO1xyXG5cdFx0XHQgIHRoaXMuZm9ybS5wZW5ObyA9IHNlbGVjdGVkVmFsdWU7XHJcblx0XHRcdCAgY29uc29sZS5sb2coJ+agj+S9jemAieaLqeW3suabtOaWsDonLCB0aGlzLmZvcm0ucGVuTm8pO1xyXG5cdFx0XHQgIC8vIOS/neWtmOWIsGxvZ2lu5Lit5a6a5LmJ55qE5YWo5bGA5Y+Y6YePXHJcblx0XHRcdCAgZ2V0QXBwKCkuZ2xvYmFsRGF0YS5wZW4gPSBzZWxlY3RlZFZhbHVlO1xyXG5cdFx0XHQgIC8vIOinpuWPkeWFqOWxgOS6i+S7tumAmuefpeiuvue9ruabtOaWsFxyXG5cdFx0XHQgIHVuaS4kZW1pdCgnc2V0dGluZ3NVcGRhdGVkJyk7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDkv53lrZjorr7nva7liLBBUElcclxuXHRcdFx0c2F2ZVNldHRpbmdzKCkge1xyXG5cdFx0XHRcdGlmICghdGhpcy5mb3JtLmJ1aWxkaW5nTmFtZSB8fCAhdGhpcy5mb3JtLnJvb21OYW1lIHx8ICF0aGlzLmZvcm0ucGVuTm8pIHtcclxuXHRcdFx0XHRcdHJldHVybiB1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfor7fpgInmi6nlrozmlbTnmoTmoIvoiI3jgIHmiL/pl7TlkozmoI/kvY3kv6Hmga8nLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Y29uc3QgYXBwID0gZ2V0QXBwKCk7XHJcblx0XHRcdFx0Ly8g6I635Y+W55So5oi3SUTvvIjkvJjlhYjku47lhajlsYDmlbDmja7vvIzlhbbmrKHku47mnKzlnLDlrZjlgqjvvIlcclxuXHRcdFx0XHRjb25zdCB1c2VySWQgPSBhcHAuZ2xvYmFsRGF0YS51c2VySW5mbz8uSUQgfHwgdW5pLmdldFN0b3JhZ2VTeW5jKCd1c2VyX2luZm8nKT8uSUQgfHwgJyc7XHJcblx0XHRcdFx0Y29uc3QgdXNlcm5hbWUgPSBhcHAuZ2xvYmFsRGF0YS51c2VySW5mbz8udXNlcm5hbWUgfHwgdW5pLmdldFN0b3JhZ2VTeW5jKCd1c2VyX2luZm8nKT8udXNlcm5hbWUgfHwgJyc7XHJcblxyXG5cdFx0XHRcdGlmICghdXNlcklkKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmVycm9yKCfnlKjmiLdJROS4jeWtmOWcqO+8jOaXoOazleS/neWtmOiuvue9ricpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+ivt+WFiOeZu+W9lScsXHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfkv53lrZjkuK0uLi4nLFxyXG5cdFx0XHRcdFx0bWFzazogdHJ1ZVxyXG5cdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0XHRjb25zdCBzdWJtaXREYXRhID0ge1xyXG5cdFx0XHRcdFx0dXNlcm5hbWU6IHVzZXJuYW1lLFxyXG5cdFx0XHRcdFx0dXNlcmlkOiB1c2VySWQsXHJcblx0XHRcdFx0XHRidWlsZGluZzogdGhpcy5mb3JtLmJ1aWxkaW5nTmFtZSxcclxuXHRcdFx0XHRcdHJvb206IHRoaXMuZm9ybS5yb29tTmFtZSxcclxuXHRcdFx0XHRcdHBlbjogdGhpcy5mb3JtLnBlbk5vXHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygn5o+Q5Lqk55qE5pWw5o2uOicsIHN1Ym1pdERhdGEpO1xyXG5cclxuXHRcdFx0XHQvLyDlj5HpgIHor7fmsYLliLBBUElcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IEFQSS5wb3N0VXNlclNldHVwLFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXHJcblx0XHRcdFx0XHRkYXRhOiBzdWJtaXREYXRhLFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcblx0XHRcdFx0XHRcdFwieC10b2tlblwiOiBhcHAuZ2xvYmFsRGF0YS50b2tlbiB8fCB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJykgfHwgJydcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR0aW1lb3V0OiAxMDAwMCwgLy8g6K6+572uMTDnp5LotoXml7ZcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmNvZGUgPT09IDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5L+d5a2Y5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdzdWNjZXNzJyxcclxuXHRcdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAzMDAwIFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdC8vIOabtOaWsOWFqOWxgOaVsOaNrlxyXG5cdFx0XHRcdFx0XHRcdGFwcC5nbG9iYWxEYXRhLmJ1aWxkaW5nID0gc3VibWl0RGF0YS5idWlsZGluZztcclxuXHRcdFx0XHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS5yb29tID0gc3VibWl0RGF0YS5yb29tO1xyXG5cdFx0XHRcdFx0XHRcdGFwcC5nbG9iYWxEYXRhLnBlbiA9IHN1Ym1pdERhdGEucGVuO1xyXG5cdFx0XHRcdFx0XHRcdC8vIOabtOaWsOacrOWcsOWtmOWCqFxyXG5cdFx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnYnVpbGRpbmcnLCBzdWJtaXREYXRhLmJ1aWxkaW5nKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ3Jvb20nLCBzdWJtaXREYXRhLnJvb20pO1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygncGVuJywgc3VibWl0RGF0YS5wZW4pO1xyXG5cdFx0XHRcdFx0XHRcdC8vIOinpuWPkeiuvue9ruabtOaWsOS6i+S7tlxyXG5cdFx0XHRcdFx0XHRcdHVuaS4kZW1pdCgnc2V0dGluZ3NVcGRhdGVkJywge1xyXG5cdFx0XHRcdFx0XHRcdFx0YnVpbGRpbmc6IHN1Ym1pdERhdGEuYnVpbGRpbmcsXHJcblx0XHRcdFx0XHRcdFx0XHRyb29tOiBzdWJtaXREYXRhLnJvb20sXHJcblx0XHRcdFx0XHRcdFx0XHRwZW46IHN1Ym1pdERhdGEucGVuXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcign5L+d5a2Y6K6+572u5aSx6LSlOicsIHJlcy5kYXRhKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiByZXMuZGF0YT8ubXNnIHx8ICfkv53lrZjlpLHotKXvvIzor7fnqI3lkI7ph43or5UnLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRjb21wbGV0ZTogKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGdvV2VMb2dpbihjb2RlKSB7XHJcblx0XHRcdFx0Y29uc3QgX3NlbGYgPSB0aGlzO1xyXG5cdFx0XHRcdF9zZWxmLiRhcGkud2Vsb2dpbih7XHJcblx0XHRcdFx0XHRjb2RlXHJcblx0XHRcdFx0fSkudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRnZXRBcHAoKS5nbG9iYWxEYXRhLnRva2VuID0gcmVzLmRhdGEudG9rZW5cclxuXHRcdFx0XHRcdGdldEFwcCgpLmdsb2JhbERhdGEuZXF1aXBtZW50TWFuYWdlID0gcmVzLmRhdGEuZXF1aXBtZW50X21hbmFnZVxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQvLyDkv53lrZjliLDmnKzlnLDlrZjlgqhcclxuXHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnZXF1aXBtZW50X3Rva2VuJywgcmVzLmRhdGEudG9rZW4pXHJcblx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF9vcGVuaWQnLCByZXMuZGF0YS5vcGVuaWQpXHJcblx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF9tYW5hZ2UnLCByZXMuZGF0YS5lcXVpcG1lbnRfbWFuYWdlKVxyXG5cclxuXHRcdFx0XHRcdF9zZWxmLmxvZ2luID0gdHJ1ZVxyXG5cdFx0XHRcdFx0Ly8g55m75b2V5oiQ5Yqf5ZCO5LuO5YWo5bGA54q25oCB6I635Y+W55So5oi35L+h5oGvXHJcblx0XHRcdFx0XHRfc2VsZi51c2VyID0gZ2V0QXBwKCkuZ2xvYmFsRGF0YS51c2VySW5mbyB8fCB7fTtcclxuXHRcdFx0XHRcdF9zZWxmLmF2YXRhciA9IF9zZWxmLnVzZXIuYXZhdGFyIHx8ICcnO1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQvLyDnmbvlvZXmiJDlip/lkI7liLfmlrDmlbDmja5cclxuXHRcdFx0XHRcdF9zZWxmLmZldGNoQnVpbGRpbmdMaXN0KCk7XHJcblx0XHRcdFx0XHRfc2VsZi5mZXRjaFVzZXJJbmZvKCk7XHJcblx0XHRcdFx0fSkuY2F0Y2goKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5lcnJvcign55m75b2V5aSx6LSlOicsIGVycik7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfnmbvlvZXlpLHotKXvvIzor7fnqI3lkI7ph43or5UnLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGdvTG9naW4oKSB7XHJcblx0XHRcdGNvbnN0IF9zZWxmID0gdGhpcztcclxuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdHVybDogJy9wYWdlcy9sb2dpbi9sb2dpbicsXHJcblx0XHRcdFx0ZXZlbnRzOiB7XHJcblx0XHRcdFx0XHQvLyDkuLrmjIflrprkuovku7bmt7vliqDkuIDkuKrnm5HlkKzlmajvvIzojrflj5booqvmiZPlvIDpobXpnaLkvKDpgIHliLDlvZPliY3pobXpnaLnmoTmlbDmja5cclxuXHRcdFx0XHRcdGlzTG9naW5Gcm9tTG9naW46IGZ1bmN0aW9uKGRhdGEpIHtcclxuXHRcdFx0XHRcdFx0aWYgKGRhdGEgJiYgZGF0YS5pc0xvZ2luKSB7XHJcblx0XHRcdFx0XHRcdFx0X3NlbGYuaXNMb2dnZWRJbiA9IHRydWVcclxuXHRcdFx0XHRcdFx0XHQvLyDnmbvlvZXmiJDlip/lkI7ku47lhajlsYDnirbmgIHojrflj5bnlKjmiLfkv6Hmga9cclxuXHRcdFx0XHRcdFx0XHRfc2VsZi51c2VyID0gZ2V0QXBwKCkuZ2xvYmFsRGF0YS51c2VySW5mbyB8fCB7fTtcclxuXHRcdFx0XHRcdFx0XHRfc2VsZi5hdmF0YXIgPSBfc2VsZi51c2VyLmF2YXRhciB8fCAnJztcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5re75Yqg6YCA5Ye655m75b2V5pa55rOVXHJcblx0XHRcdGxvZ291dCgpIHtcclxuXHRcdFx0ICB0cnkge1xyXG5cdFx0XHQgICAgLy8g5riF6Zmk5YWo5bGA5pWw5o2uXHJcblx0XHRcdCAgICBjb25zdCBhcHAgPSBnZXRBcHAoKTtcclxuXHRcdFx0ICAgIGFwcC5nbG9iYWxEYXRhLklEID0gJyc7XHJcblx0XHRcdCAgICBhcHAuZ2xvYmFsRGF0YS50b2tlbiA9ICcnO1xyXG5cdFx0XHQgICAgYXBwLmdsb2JhbERhdGEudXNlckluZm8gPSB7fTtcclxuXHRcdFx0ICAgIGFwcC5nbG9iYWxEYXRhLmlzTG9nZ2VkSW4gPSBmYWxzZTtcclxuXHRcdFx0ICAgIGFwcC5nbG9iYWxEYXRhLmV4cGlyZUF0ID0gJyc7XHJcblx0XHRcdCAgICBhcHAuZ2xvYmFsRGF0YS5idWlsZGluZyA9ICcnO1xyXG5cdFx0XHQgICAgYXBwLmdsb2JhbERhdGEucm9vbSA9ICcnO1xyXG5cdFx0XHQgICAgYXBwLmdsb2JhbERhdGEucGVuID0gJyc7XHJcblx0XHRcdCAgICBhcHAuZ2xvYmFsRGF0YS5idWlsZGluZ05hbWUgPSAnJztcclxuXHRcdFx0ICAgIGFwcC5nbG9iYWxEYXRhLnJvb21OYW1lID0gJyc7XHJcblx0XHRcdCAgICBhcHAuZ2xvYmFsRGF0YS5wZW5ObyA9ICcnO1xyXG5cdFx0XHQgICAgXHJcblx0XHRcdCAgICAvLyDmuIXpmaTmnKzlnLDlrZjlgqhcclxuXHRcdFx0ICAgIHVuaS5yZW1vdmVTdG9yYWdlU3luYygnZXF1aXBtZW50X3Rva2VuJyk7XHJcblx0XHRcdCAgICB1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ3Rva2VuX2V4cGlyZV90aW1lJyk7XHJcblx0XHRcdCAgICB1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ3VzZXJfaW5mbycpO1xyXG5cdFx0XHQgICAgdW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdidWlsZGluZycpO1xyXG5cdFx0XHQgICAgdW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdyb29tJyk7XHJcblx0XHRcdCAgICB1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ3BlbicpO1xyXG5cdFx0XHQgICAgXHJcblx0XHRcdCAgICBjb25zb2xlLmxvZygn6YCA5Ye655m75b2V5oiQ5Yqf77yM5bey5riF6Zmk5omA5pyJ55m75b2V5L+h5oGvJyk7XHJcblx0XHRcdCAgICBcclxuXHRcdFx0ICAgIC8vIOmHjee9rumhtemdoueKtuaAgVxyXG5cdFx0XHQgICAgdGhpcy5sb2dpbiA9IGZhbHNlO1xyXG5cdFx0XHQgICAgdGhpcy51c2VyID0geyB1c2VybmFtZTogJycsIElEOiAnJyB9O1xyXG5cdFx0XHQgICAgdGhpcy5mb3JtID0ge1xyXG5cdFx0XHQgICAgICBidWlsZGluZ05hbWU6ICcnLFxyXG5cdFx0XHQgICAgICByb29tTmFtZTogJycsXHJcblx0XHRcdCAgICAgIHBlbk5vOiAnJ1xyXG5cdFx0XHQgICAgfTtcclxuXHRcdFx0ICAgIFxyXG5cdFx0XHQgICAgLy8g6Lez6L2s5Yiw55m75b2V6aG16Z2iXHJcblx0XHRcdCAgICB1bmkucmVkaXJlY3RUbyh7XHJcblx0XHRcdCAgICAgIHVybDogJy9wYWdlcy9sb2dpbi9sb2dpbicsXHJcblx0XHRcdCAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHQgICAgICAgIGNvbnNvbGUubG9nKCfot7PovazliLDnmbvlvZXpobXpnaLmiJDlip8nKTtcclxuXHRcdFx0ICAgICAgfVxyXG5cdFx0XHQgICAgfSk7XHJcblx0XHRcdCAgfSBjYXRjaCAoZSkge1xyXG5cdFx0XHQgICAgY29uc29sZS5lcnJvcign6YCA5Ye655m75b2V6L+H56iL5Lit5Y+R55Sf6ZSZ6K+vOicsIGUpO1xyXG5cdFx0XHQgICAgdW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdCAgICAgIHRpdGxlOiAn6YCA5Ye655m75b2V5aSx6LSl77yM6K+36YeN6K+VJyxcclxuXHRcdFx0ICAgICAgaWNvbjogJ25vbmUnXHJcblx0XHRcdCAgICB9KTtcclxuXHRcdFx0ICB9XHJcblx0XHRcdH0sXHJcblx0XHRcdGNsZWFyU3RvcmFnZSgpIHtcclxuXHRcdFx0Y29uc3QgX3NlbGYgPSB0aGlzO1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdF9zZWxmLmxvZ2luID0gZmFsc2VcclxuXHRcdFx0XHRjb25zdCBhcHAgPSBnZXRBcHAoKTtcclxuXHRcdFx0XHQvLyDmuIXnqbrlhajlsYDmlbDmja5cclxuXHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS50b2tlbiA9ICcnO1xyXG5cdFx0XHRcdGFwcC5nbG9iYWxEYXRhLmVxdWlwbWVudE1hbmFnZSA9IDA7XHJcblx0XHRcdFx0YXBwLmdsb2JhbERhdGEudXNlckluZm8gPSB7fTtcclxuXHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS5idWlsZGluZyA9ICcnO1xyXG5cdFx0XHRcdGFwcC5nbG9iYWxEYXRhLnJvb20gPSAnJztcclxuXHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS5wZW4gPSAnJztcclxuXHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS5idWlsZGluZ05hbWUgPSAnJztcclxuXHRcdFx0XHRhcHAuZ2xvYmFsRGF0YS5yb29tTmFtZSA9ICcnO1xyXG5cdFx0XHRcdGFwcC5nbG9iYWxEYXRhLnBlbk5vID0gJyc7XHJcblx0XHRcdFx0YXBwLmdsb2JhbERhdGEuaXNMb2dnZWRJbiA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHQvLyDmuIXnqbrmnKzlnLDlrZjlgqhcclxuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF90b2tlbicsICcnKTtcclxuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2VxdWlwbWVudF9vcGVuaWQnLCAnJyk7XHJcblx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdlcXVpcG1lbnRfbWFuYWdlJywgJycpO1xyXG5cdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygndXNlcl9pbmZvJywge30pO1xyXG5cdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnYnVpbGRpbmcnLCAnJyk7XHJcblx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdyb29tJywgJycpO1xyXG5cdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygncGVuJywgJycpO1xyXG5cdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnYnVpbGRpbmdOYW1lJywgJycpO1xyXG5cdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygncm9vbU5hbWUnLCAnJyk7XHJcblx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdwZW5ObycsICcnKTtcclxuXHJcblx0XHRcdFx0dW5pLiRlbWl0KCdsb2dpblN0YXR1c0V2ZW50Jywge1xyXG5cdFx0XHRcdFx0aXNMb2dpbjogZmFsc2VcclxuXHRcdFx0XHR9KVxyXG5cclxuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn6YCA5Ye655m75b2V5oiQ5YqfJyxcclxuXHRcdFx0XHRcdGljb246ICdzdWNjZXNzJ1xyXG5cdFx0XHRcdH0pXHJcblxyXG5cdFx0XHRcdC8vIOebtOaOpei3s+i9rOWIsOeZu+W9lemhtemdou+8jOmBv+WFjeW7tui/n+WvvOiHtOeahOmHjeWkjeWvvOiIqlxyXG5cdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHR1bmkucmVkaXJlY3RUbyh7XHJcblx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9sb2dpbi9sb2dpbidcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSwgNTAwKTtcclxuXHRcdFx0fSBjYXRjaCAoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ+a4hemZpOWtmOWCqOWksei0pTonLCBlKTtcclxuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn6YCA5Ye65aSx6LSl77yM6K+356iN5ZCO5YaN6K+VJyxcclxuXHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRcdGNhbGxNYW5hZ2UoKSB7XHJcblx0XHRcdGNvbnN0IF9zZWxmID0gdGhpcztcclxuXHRcdFx0bGV0IG1hbmFnZVBob25lID0gX3NlbGYubWFuYWdlUGhvbmVcclxuXHRcdFx0aWYgKG1hbmFnZVBob25lID09ICcnKSB7XHJcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+aaguaXoOeuoeeQhuWRmOiBlOezu+aWueW8jycsXHJcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dW5pLm1ha2VQaG9uZUNhbGwoe1xyXG5cdFx0XHRcdHBob25lTnVtYmVyOiBtYW5hZ2VQaG9uZVxyXG5cdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiPlxyXG5cdC5jb250YWluZXIge1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcblx0Ly8gcGFkZGluZy1ib3R0b206IDEyMHJweDsgLyog5aKe5Yqg5bqV6YOo5YaF6L656Led56Gu5L+d5oyJ6ZKu5Y+v6KeBICovXHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLyog55So5oi35L+h5oGv5Y2h54mH5qC35byPICovXHJcbi51c2VyLWNhcmQge1xyXG5cdG1hcmdpbjogMjBycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0Ym94LXNoYWRvdzogMCA0cnB4IDIwcnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udXNlci1jYXJkOmhvdmVyIHtcclxuXHRib3gtc2hhZG93OiAwIDEwcnB4IDMwcnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cnB4KTtcclxufVxyXG5cclxuLmN1LWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwYWRkaW5nOiAzMHJweDtcclxufVxyXG5cclxuLmF2YXRhci1jb250YWluZXIge1xyXG5cdHdpZHRoOiAxMjBycHg7XHJcblx0aGVpZ2h0OiAxMDBycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcclxuXHRtYXJnaW4tcmlnaHQ6IDMwcnB4O1xyXG59XHJcblxyXG4uYXZhdGFyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5hdmF0YXItcGxhY2Vob2xkZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcclxuXHRjb2xvcjogIzk5OTtcclxuXHRmb250LXNpemU6IDYwcnB4O1xyXG59XHJcblxyXG4uY29udGVudCB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuLnVzZXJuYW1lIHtcclxuXHRmb250LXNpemU6IDM2cnB4O1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGNvbG9yOiAjMzMzO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcnB4O1xyXG59XHJcblxyXG4udXNlci1pZCB7XHJcblx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRjb2xvcjogIzY2NjtcclxufVxyXG5cclxuLmN1LWxpc3QubWVudS1hdmF0YXI+LmN1LWl0ZW06YWZ0ZXIge1xyXG5cdGJvcmRlcjogMDtcclxufVxyXG5cclxuLyog6KGo5Y2V5Yy65Z+f5qC35byPICovXHJcbi5mb3JtLXNlY3Rpb24ge1xyXG5cdG1hcmdpbjogMHB4IDIwcnB4O1xyXG5cdHBhZGRpbmc6IDI1cnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcblx0Ym9yZGVyLXJhZGl1czogMTZycHg7XHJcblx0Ym94LXNoYWRvdzogMCAycnB4IDEwcnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbn1cclxuXHJcbi5mb3JtLWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGFkZGluZzogMjVycHggMDtcclxuXHRib3JkZXItYm90dG9tOiAxcnB4IHNvbGlkICNmMGYwZjA7XHJcbn1cclxuXHJcbi5mb3JtLWl0ZW06bGFzdC1jaGlsZCB7XHJcblx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxufVxyXG5cclxuLmxhYmVsIHtcclxuXHRmb250LXNpemU6IDI4cnB4O1xyXG5cdGNvbG9yOiAjMzMzO1xyXG59XHJcblxyXG4udmFsdWUge1xyXG5cdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0Y29sb3I6ICM2NjY7XHJcbn1cclxuXHJcbi8qIOS/neWtmOaMiemSruagt+W8jyAqL1xyXG4uc2F2ZS1idG4tY29udGFpbmVyIHtcclxuXHRwYWRkaW5nOiAyMHJweDtcclxufVxyXG5cclxuLnNhdmUtYnRuIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDdjMTYwO1xyXG5cdGNvbG9yOiB3aGl0ZTtcclxuXHRib3JkZXItcmFkaXVzOiA0NHJweDtcclxuXHRoZWlnaHQ6IDg4cnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiA4OHJweDtcclxuXHRmb250LXNpemU6IDMycnB4O1xyXG5cdG1hcmdpbjogMzBycHggMjBycHg7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxuXHR3aWR0aDogY2FsYygxMDAlIC0gNDBycHgpO1xyXG59XHJcblxyXG4uc2F2ZS1idG46aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICMwNmFkNTY7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxufVxyXG5cclxuLnNhdmUtYnRuOmFjdGl2ZSB7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcclxufVxyXG5cclxuLyog5Yqf6IO95YiX6KGo5qC35byPICovXHJcbi5mdW5jdGlvbi1saXN0IHtcclxuXHRtYXJnaW46IDAgMjBycHggMjBycHg7IC8qIOWHj+Wwj+i+uei3nSAqL1xyXG5cdGJvcmRlci1yYWRpdXM6IDE2cnB4O1xyXG5cdGJveC1zaGFkb3c6IDAgMnJweCAxMHJweCByZ2JhKDAsIDAsIDAsIDAuMDMpO1xyXG59XHJcblxyXG4uY3UtbGlzdC5jYXJkLW1lbnUgLmN1LWl0ZW0ge1xyXG5cdHBhZGRpbmc6IDIwcnB4OyAvKiDlh4/lsI/lhoXovrnot53pgILlupTlsI/lsY/luZUgKi9cclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uY3UtbGlzdC5jYXJkLW1lbnUgLmN1LWl0ZW06aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XHJcbn1cclxuXHJcbi8qIOmAgOWHuueZu+W9leaMiemSruagt+W8jyAqL1xyXG4ubG9nb3V0LWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJvdHRvbTogMTIwcnB4OyAvKiDlop7liqDlupXpg6jot53nprvpgb/lvIDlr7zoiKrmoI8gKi9cclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDAgMjBycHg7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLmxvZ291dC1idG4ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNlNjQzNDA7XHJcblx0Y29sb3I6IHdoaXRlO1xyXG5cdGJvcmRlci1yYWRpdXM6IDM1cnB4O1xyXG5cdGhlaWdodDogNzBycHg7IC8qIOWHj+Wwj+aMiemSrumrmOW6piAqL1xyXG5cdGxpbmUtaGVpZ2h0OiA3MHJweDtcclxuXHRmb250LXNpemU6IDI2cnB4OyAvKiDlh4/lsI/mjInpkq7lrZfkvZMgKi9cclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubG9nb3V0LWJ0bjpob3ZlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Q0MzgzNTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG59XHJcblxyXG4ubG9nb3V0LWJ0bjphY3RpdmUge1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XHJcbn1cclxuXHJcbi8qIOacqueZu+W9leeKtuaAgeagt+W8jyAqL1xyXG4uZW1wdHkge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogMTAwdmg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjsgLyog6Ziy5q2i5pyq55m75b2V54q25oCB5LiL5rua5YqoICovXHJcblxyXG5cdGltYWdlIHtcclxuXHRcdHdpZHRoOiAzNSU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHJweDtcclxuXHR9XHJcblxyXG5cdC50ZXh0LWdyYXkge1xyXG5cdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdGNvbG9yOiAjOTk5O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNDBycHg7XHJcblx0fVxyXG5cclxuXHQuY3UtYnRuIHtcclxuXHRcdHdpZHRoOiA2NSU7XHJcblx0XHRib3JkZXItcmFkaXVzOiA3MHJweDtcclxuXHRcdGhlaWdodDogODBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogODBycHg7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcblx0fVxyXG5cclxuXHQuY3UtYnRuOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xyXG5cdH1cclxuXHJcblx0LmN1LWJ0bjphY3RpdmUge1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcclxuXHR9XHJcbn1cclxuXHJcbi5ub2xvZ2luLWNvbnRlbnQge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRwYWRkaW5nOiA4MHJweCAwOyAvKiDlh4/lsI/kuIrkuIvlhoXovrnot50gKi9cclxuXHRoZWlnaHQ6IDEwMHZoO1xyXG5cdG1hcmdpbi10b3A6IDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHJcblx0aW1hZ2Uge1xyXG5cdFx0d2lkdGg6IDI0MHJweDsgLyog5YeP5bCP5Zu+54mH5bC65a+4ICovXHJcblx0XHRoZWlnaHQ6IDI0MHJweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcnB4OyAvKiDlh4/lsI/lm77niYfkuI7mlofmnKzpl7Tot50gKi9cclxuXHR9XHJcblxyXG5cdC50ZXh0LWdyYXkge1xyXG5cdFx0Zm9udC1zaXplOiAyOHJweDsgLyog5YeP5bCP5paH5pys5aSn5bCPICovXHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHJweDsgLyog5YeP5bCP5paH5pys5LiO5oyJ6ZKu6Ze06LedICovXHJcblx0fVxyXG5cclxuXHRidXR0b24ge1xyXG5cdFx0d2lkdGg6IDcwJTsgLyog5aKe5Yqg5oyJ6ZKu5a695bqm5Y2g5q+UICovXHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdGZvbnQtc2l6ZTogMjhycHg7IC8qIOWHj+Wwj+aMiemSruWtl+S9kyAqL1xyXG5cdFx0aGVpZ2h0OiA3MHJweDsgLyog5YeP5bCP5oyJ6ZKu6auY5bqmICovXHJcblx0XHRsaW5lLWhlaWdodDogNzBycHg7XHJcblx0fVxyXG59XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///44\n"); /***/ }), /* 45 */ /*!****************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/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& */ 46);\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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 27);\nvar render, staticRenderFns, recyclableRender, components\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_anzhuangbao_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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUN1RDtBQUNMOzs7QUFHbEQ7QUFDK0s7QUFDL0ssZ0JBQWdCLHlMQUFVO0FBQzFCLEVBQUUseUVBQU07QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNlLGdGIiwiZmlsZSI6IjQ1LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vQXBwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJBcHAudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///45\n"); /***/ }), /* 46 */ /*!*****************************************************************************!*\ !*** D:/UserData/Desktop/w/UhfChengBangZi/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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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__(/*! -!../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../anzhuangbao/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./App.vue?vue&type=script&lang=js& */ 47);\n/* harmony import */ var _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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(_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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 _anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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\"] = (_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_anzhuangbao_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_anzhuangbao_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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQStrQixDQUFnQix5bUJBQUcsRUFBQyIsImZpbGUiOiI0Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vYW56aHVhbmdiYW8vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi8uLi8uLi9hbnpodWFuZ2Jhby9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXIvaW5kZXguanM/P3JlZi0tNy0xIS4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay11bmktYXBwLWxvYWRlci91c2luZy1jb21wb25lbnRzLmpzIS4uLy4uLy4uLy4uL2Fuemh1YW5nYmFvL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///46\n"); /***/ }), /* 47 */ /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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!D:/UserData/Desktop/w/UhfChengBangZi/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 // console.log('App Launch');\n // 检查登录状态\n this.checkLoginStatus();\n },\n onShow: function onShow() {\n // console.log('App Show');\n // 每次显示应用时检查登录状态\n this.checkLoginStatus();\n },\n onHide: function onHide() {\n // console.log('App Hide');\n // 应用进入后台时释放资源\n this.releaseGlobalResources();\n },\n // 全局错误捕获\n onError: function onError(error) {\n this.handleGlobalError(error);\n },\n methods: {\n // 释放全局资源\n releaseGlobalResources: function releaseGlobalResources() {\n __f__(\"log\", 'Releasing global resources', \" at App.vue:26\");\n // 清除可能存在的定时器\n try {\n // 这里可以添加更多的资源释放逻辑\n } catch (e) {\n __f__(\"error\", 'Error releasing resources:', e, \" at App.vue:31\");\n }\n },\n // 全局错误处理\n handleGlobalError: function handleGlobalError(error) {\n var _this = this;\n __f__(\"error\", 'Global error captured:', error, \" at App.vue:37\");\n\n // 处理特定类型的错误\n if (error.message && error.message.includes('Failed to receiveTasks')) {\n // 提取实例ID\n var instanceIdMatch = error.message.match(/instance \\((\\d+)\\)/);\n var instanceId = instanceIdMatch ? instanceIdMatch[1] : 'unknown';\n\n // 记录详细错误信息\n __f__(\"error\", \"UHF plugin instance (\".concat(instanceId, \") error: Failed to receiveTasks\"), \" at App.vue:46\");\n\n // 显示错误提示\n uni.showToast({\n title: \"\\u8BBE\\u5907\\u901A\\u4FE1\\u9519\\u8BEF(\\u5B9E\\u4F8B\".concat(instanceId, \")\\uFF0C\\u8BF7\\u91CD\\u8BD5\"),\n icon: 'none',\n duration: 3000\n });\n\n // 尝试重置插件实例\n setTimeout(function () {\n _this.resetPluginInstance();\n }, 1000);\n }\n },\n // 重置应用状态\n resetAppState: function resetAppState() {\n __f__(\"log\", 'Resetting app state due to plugin error', \" at App.vue:64\");\n try {\n // 清除所有相关缓存数据\n uni.removeStorageSync('uhf_plugin_state');\n uni.removeStorageSync('equipment_token');\n\n // 重新加载当前页面\n var pages = getCurrentPages();\n if (pages && pages.length > 0) {\n var currentPage = pages[pages.length - 1];\n // 如果当前是首页,则刷新页面\n if (currentPage.route === 'pages/index/index') {\n currentPage.$vm.$destroy();\n uni.redirectTo({\n url: '/pages/index/index'\n });\n } else {\n // 否则跳转到首页\n uni.redirectTo({\n url: '/pages/index/index'\n });\n }\n } else {\n // 如果没有页面,跳转到首页\n uni.redirectTo({\n url: '/pages/index/index'\n });\n }\n } catch (e) {\n __f__(\"error\", 'Error resetting app state:', e, \" at App.vue:93\");\n }\n },\n // 检查并清理插件实例\n checkAndCleanupPluginInstance: function checkAndCleanupPluginInstance() {\n __f__(\"log\", 'Checking and cleaning up plugin instance', \" at App.vue:99\");\n try {\n // 如果存在页面实例\n var pages = getCurrentPages();\n if (pages && pages.length > 0) {\n var currentPage = pages[pages.length - 1];\n if (currentPage && currentPage.$vm) {\n // 如果页面有uhfSFHelper实例,尝试释放设备\n if (currentPage.$vm.uhfSFHelper) {\n try {\n __f__(\"log\", 'Releasing device from current page', \" at App.vue:109\");\n currentPage.$vm.releaseDevice();\n } catch (e) {\n __f__(\"error\", 'Error releasing device:', e, \" at App.vue:112\");\n }\n // 清除插件实例\n currentPage.$vm.uhfSFHelper = null;\n __f__(\"log\", 'Plugin instance cleared from current page', \" at App.vue:116\");\n }\n }\n }\n\n // 清除全局插件相关缓存\n uni.removeStorageSync('uhf_plugin_instance');\n __f__(\"log\", 'Plugin related storage cleared', \" at App.vue:123\");\n } catch (e) {\n __f__(\"error\", 'Error checking and cleaning up plugin instance:', e, \" at App.vue:125\");\n }\n },\n // Vue2风格的checkLoginStatus方法实现 - 优化版\n checkLoginStatus: function checkLoginStatus() {\n // 防止短时间内重复导航到登录页面\n if (this.isNavigatingToLogin) {\n __f__(\"log\", '正在导航到登录页面,忽略重复调用', \" at App.vue:134\");\n return;\n }\n try {\n // 1. 首先尝试从全局数据获取\n var token = this.globalData.token;\n var expireAt = this.globalData.expireAt;\n var userInfo = this.globalData.userInfo;\n\n // 2. 如果全局数据不可用,尝试从本地存储恢复\n if (!token || !expireAt) {\n token = uni.getStorageSync('equipment_token');\n expireAt = uni.getStorageSync('token_expire_time');\n userInfo = uni.getStorageSync('user_info');\n\n // 添加详细日志,帮助调试\n __f__(\"log\", '从本地存储获取登录信息 - token:', !!token, 'expireAt:', !!expireAt, \" at App.vue:151\");\n\n // 如果从本地存储恢复成功,更新全局数据\n if (token && expireAt) {\n this.globalData.token = token;\n this.globalData.expireAt = expireAt;\n this.globalData.userInfo = userInfo;\n this.globalData.isLoggedIn = true;\n __f__(\"log\", '从本地存储恢复登录信息成功', \" at App.vue:159\");\n }\n }\n\n // 获取当前页面路径\n var pages = getCurrentPages();\n var currentPath = '';\n if (pages && pages.length > 0) {\n var currentPage = pages[pages.length - 1];\n currentPath = currentPage.route;\n __f__(\"log\", '当前页面路径:', currentPath, \" at App.vue:169\");\n }\n\n // 移除特殊账号处理逻辑,统一按token和过期时间判断\n if (!token || !expireAt) {\n // 未登录或缺少过期时间,跳转到登录页面\n // 检查当前是否已经在登录页面,避免重复跳转\n if (currentPath !== 'pages/login/login') {\n __f__(\"log\", '未登录或缺少过期时间,跳转到登录页面', \" at App.vue:177\");\n this.isNavigatingToLogin = true;\n uni.redirectTo({\n url: '/pages/login/login',\n success: function () {\n __f__(\"log\", '导航到登录页面成功', \" at App.vue:182\");\n // 导航成功后重置标志\n setTimeout(function () {\n this.isNavigatingToLogin = false;\n }.bind(this), 1000);\n }.bind(this),\n fail: function (err) {\n __f__(\"error\", '导航到登录页面失败:', err, \" at App.vue:189\");\n this.isNavigatingToLogin = false;\n }.bind(this)\n });\n } else {\n __f__(\"log\", '已经在登录页面,无需跳转', \" at App.vue:194\");\n }\n } else {\n // 检查token是否过期\n var expireTime;\n try {\n // 健壮的过期时间解析逻辑\n if (typeof expireAt === 'string') {\n // 尝试直接解析为数字\n var timestamp = parseInt(expireAt);\n if (!isNaN(timestamp)) {\n expireTime = timestamp;\n } else {\n // 如果不是数字字符串,尝试作为日期字符串解析\n expireTime = new Date(expireAt).getTime();\n }\n } else if (typeof expireAt === 'number') {\n // 如果已经是数字类型,直接使用\n expireTime = expireAt;\n }\n } catch (e) {\n __f__(\"error\", '解析过期时间失败:', e, \" at App.vue:215\");\n }\n\n // 添加详细日志,记录过期时间解析结果\n __f__(\"log\", '过期时间解析结果 - expireAt:', expireAt, 'expireTime:', expireTime, \" at App.vue:219\");\n\n // 确保过期时间有效\n if (isNaN(expireTime)) {\n __f__(\"error\", '无效的过期时间:', expireAt, \" at App.vue:223\");\n // 跳转到登录页\n if (currentPath !== 'pages/login/login') {\n this.isNavigatingToLogin = true;\n uni.redirectTo({\n url: '/pages/login/login',\n success: function () {\n setTimeout(function () {\n this.isNavigatingToLogin = false;\n }.bind(this), 1000);\n }.bind(this),\n fail: function (err) {\n __f__(\"error\", '导航到登录页面失败:', err, \" at App.vue:235\");\n this.isNavigatingToLogin = false;\n }.bind(this)\n });\n }\n return;\n }\n var currentTime = new Date().getTime();\n\n // 提前1分钟检查过期,给用户预留时间\n if (currentTime + 60 * 1000 > expireTime) {\n __f__(\"log\", '登录即将过期或已过期,需要重新登录 - 当前时间:', currentTime, '过期时间:', expireTime, \" at App.vue:247\");\n // 清除登录信息\n this.globalData.token = '';\n this.globalData.expireAt = '';\n this.globalData.userInfo = {};\n this.globalData.isLoggedIn = false;\n uni.removeStorageSync('equipment_token');\n uni.removeStorageSync('token_expire_time');\n uni.removeStorageSync('user_info');\n\n // 跳转到登录页面\n if (currentPath !== 'pages/login/login') {\n this.isNavigatingToLogin = true;\n uni.redirectTo({\n url: '/pages/login/login',\n success: function () {\n __f__(\"log\", '导航到登录页面成功', \" at App.vue:263\");\n // 导航成功后重置标志\n setTimeout(function () {\n this.isNavigatingToLogin = false;\n }.bind(this), 1000);\n }.bind(this),\n fail: function (err) {\n __f__(\"error\", '导航到登录页面失败:', err, \" at App.vue:270\");\n this.isNavigatingToLogin = false;\n }.bind(this)\n });\n }\n } else {\n // 已登录且token有效,设置全局登录状态\n this.globalData.isLoggedIn = true;\n this.globalData.token = token;\n this.globalData.expireAt = expireAt;\n this.globalData.equipmentManage = this.globalData.equipmentManage || 0;\n this.globalData.userInfo = userInfo;\n\n // 计算剩余时间并记录日志,帮助调试\n var remainingTime = (expireTime - currentTime) / 1000 / 60; // 转换为分钟\n __f__(\"log\", '登录状态有效,无需重新登录 - 剩余时间约:', Math.round(remainingTime), '分钟', \" at App.vue:285\");\n\n // 如果已经在登录页面,自动跳转到首页\n if (currentPath === 'pages/login/login') {\n __f__(\"log\", '登录状态有效但当前在登录页面,自动跳转到首页', \" at App.vue:289\");\n this.isNavigatingToLogin = true;\n setTimeout(function () {\n uni.switchTab({\n url: '/pages/index/index',\n success: function () {\n __f__(\"log\", '从登录页跳转到首页成功', \" at App.vue:295\");\n this.isNavigatingToLogin = false;\n }.bind(this),\n fail: function (err) {\n __f__(\"error\", '从登录页跳转到首页失败:', err, \" at App.vue:299\");\n this.isNavigatingToLogin = false;\n }.bind(this)\n });\n }.bind(this), 500);\n }\n }\n }\n } catch (e) {\n __f__(\"error\", '检查登录状态时发生错误:', e, \" at App.vue:308\");\n }\n },\n // 重置插件实例\n resetPluginInstance: function resetPluginInstance() {\n var _this2 = this;\n __f__(\"log\", 'Resetting plugin instance globally', \" at App.vue:314\");\n try {\n this.checkAndCleanupPluginInstance();\n\n // 延迟一段时间后重置应用状态\n setTimeout(function () {\n _this2.resetAppState();\n }, 1000);\n } catch (e) {\n __f__(\"error\", 'Error resetting plugin instance:', e, \" at App.vue:323\");\n }\n }\n },\n globalData: {\n isLoggedIn: false,\n token: '',\n expireAt: '',\n equipmentManage: 0,\n userInfo: {}\n },\n // 导航状态控制\n data: function data() {\n return {\n isNavigatingToLogin: false\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 */ 21)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJvbkxhdW5jaCIsImNoZWNrTG9naW5TdGF0dXMiLCJvblNob3ciLCJvbkhpZGUiLCJyZWxlYXNlR2xvYmFsUmVzb3VyY2VzIiwib25FcnJvciIsImVycm9yIiwiaGFuZGxlR2xvYmFsRXJyb3IiLCJtZXRob2RzIiwiZSIsIm1lc3NhZ2UiLCJpbmNsdWRlcyIsImluc3RhbmNlSWRNYXRjaCIsIm1hdGNoIiwiaW5zdGFuY2VJZCIsInVuaSIsInNob3dUb2FzdCIsInRpdGxlIiwiaWNvbiIsImR1cmF0aW9uIiwic2V0VGltZW91dCIsInJlc2V0UGx1Z2luSW5zdGFuY2UiLCJyZXNldEFwcFN0YXRlIiwicmVtb3ZlU3RvcmFnZVN5bmMiLCJwYWdlcyIsImdldEN1cnJlbnRQYWdlcyIsImxlbmd0aCIsImN1cnJlbnRQYWdlIiwicm91dGUiLCIkdm0iLCIkZGVzdHJveSIsInJlZGlyZWN0VG8iLCJ1cmwiLCJjaGVja0FuZENsZWFudXBQbHVnaW5JbnN0YW5jZSIsInVoZlNGSGVscGVyIiwicmVsZWFzZURldmljZSIsImlzTmF2aWdhdGluZ1RvTG9naW4iLCJ0b2tlbiIsImdsb2JhbERhdGEiLCJleHBpcmVBdCIsInVzZXJJbmZvIiwiZ2V0U3RvcmFnZVN5bmMiLCJpc0xvZ2dlZEluIiwiY3VycmVudFBhdGgiLCJzdWNjZXNzIiwiYmluZCIsImZhaWwiLCJlcnIiLCJleHBpcmVUaW1lIiwidGltZXN0YW1wIiwicGFyc2VJbnQiLCJpc05hTiIsIkRhdGUiLCJnZXRUaW1lIiwiY3VycmVudFRpbWUiLCJlcXVpcG1lbnRNYW5hZ2UiLCJyZW1haW5pbmdUaW1lIiwiTWF0aCIsInJvdW5kIiwic3dpdGNoVGFiIiwiZGF0YSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2VBQ2U7RUFDZEEsUUFBUSxFQUFFLG9CQUFXO0lBQ3BCO0lBQ0E7SUFDQSxJQUFJLENBQUNDLGdCQUFnQixFQUFFO0VBQ3hCLENBQUM7RUFDREMsTUFBTSxFQUFFLGtCQUFXO0lBQ2xCO0lBQ0E7SUFDQSxJQUFJLENBQUNELGdCQUFnQixFQUFFO0VBQ3hCLENBQUM7RUFDREUsTUFBTSxFQUFFLGtCQUFXO0lBQ2xCO0lBQ0E7SUFDQSxJQUFJLENBQUNDLHNCQUFzQixFQUFFO0VBQzlCLENBQUM7RUFFRDtFQUNBQyxPQUFPLEVBQUUsaUJBQVNDLEtBQUssRUFBRTtJQUN4QixJQUFJLENBQUNDLGlCQUFpQixDQUFDRCxLQUFLLENBQUM7RUFDOUIsQ0FBQztFQUNERSxPQUFPLEVBQUU7SUFDUjtJQUNBSixzQkFBc0IsRUFBRSxrQ0FBVztNQUNsQyxhQUFZLDRCQUE0QjtNQUN4QztNQUNBLElBQUk7UUFDSDtNQUFBLENBQ0EsQ0FBQyxPQUFPSyxDQUFDLEVBQUU7UUFDWCxlQUFjLDRCQUE0QixFQUFFQSxDQUFDO01BQzlDO0lBQ0QsQ0FBQztJQUVEO0lBQ0FGLGlCQUFpQixFQUFFLDJCQUFTRCxLQUFLLEVBQUU7TUFBQTtNQUNsQyxlQUFjLHdCQUF3QixFQUFFQSxLQUFLOztNQUU3QztNQUNBLElBQUlBLEtBQUssQ0FBQ0ksT0FBTyxJQUFJSixLQUFLLENBQUNJLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDLHdCQUF3QixDQUFDLEVBQUU7UUFDdEU7UUFDQSxJQUFNQyxlQUFlLEdBQUdOLEtBQUssQ0FBQ0ksT0FBTyxDQUFDRyxLQUFLLENBQUMsb0JBQW9CLENBQUM7UUFDakUsSUFBTUMsVUFBVSxHQUFHRixlQUFlLEdBQUdBLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTOztRQUVuRTtRQUNBLDhDQUFzQ0UsVUFBVTs7UUFFaEQ7UUFDQUMsR0FBRyxDQUFDQyxTQUFTLENBQUM7VUFDYkMsS0FBSyw2REFBY0gsVUFBVSw4QkFBTztVQUNwQ0ksSUFBSSxFQUFFLE1BQU07VUFDWkMsUUFBUSxFQUFFO1FBQ1gsQ0FBQyxDQUFDOztRQUVGO1FBQ0FDLFVBQVUsQ0FBQyxZQUFNO1VBQ2hCLEtBQUksQ0FBQ0MsbUJBQW1CLEVBQUU7UUFDM0IsQ0FBQyxFQUFFLElBQUksQ0FBQztNQUNUO0lBQ0QsQ0FBQztJQUVEO0lBQ0FDLGFBQWEsRUFBRSx5QkFBVztNQUN6QixhQUFZLHlDQUF5QztNQUNyRCxJQUFJO1FBQ0g7UUFDQVAsR0FBRyxDQUFDUSxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztRQUN6Q1IsR0FBRyxDQUFDUSxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQzs7UUFFeEM7UUFDQSxJQUFNQyxLQUFLLEdBQUdDLGVBQWUsRUFBRTtRQUMvQixJQUFJRCxLQUFLLElBQUlBLEtBQUssQ0FBQ0UsTUFBTSxHQUFHLENBQUMsRUFBRTtVQUM5QixJQUFNQyxXQUFXLEdBQUdILEtBQUssQ0FBQ0EsS0FBSyxDQUFDRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1VBQzNDO1VBQ0EsSUFBSUMsV0FBVyxDQUFDQyxLQUFLLEtBQUssbUJBQW1CLEVBQUU7WUFDOUNELFdBQVcsQ0FBQ0UsR0FBRyxDQUFDQyxRQUFRLEVBQUU7WUFDMUJmLEdBQUcsQ0FBQ2dCLFVBQVUsQ0FBQztjQUNkQyxHQUFHLEVBQUU7WUFDTixDQUFDLENBQUM7VUFDSCxDQUFDLE1BQU07WUFDTjtZQUNBakIsR0FBRyxDQUFDZ0IsVUFBVSxDQUFDO2NBQ2RDLEdBQUcsRUFBRTtZQUNOLENBQUMsQ0FBQztVQUNIO1FBQ0QsQ0FBQyxNQUFNO1VBQ047VUFDQWpCLEdBQUcsQ0FBQ2dCLFVBQVUsQ0FBQztZQUNkQyxHQUFHLEVBQUU7VUFDTixDQUFDLENBQUM7UUFDSDtNQUNELENBQUMsQ0FBQyxPQUFPdkIsQ0FBQyxFQUFFO1FBQ1gsZUFBYyw0QkFBNEIsRUFBRUEsQ0FBQztNQUM5QztJQUNELENBQUM7SUFFRDtJQUNBd0IsNkJBQTZCLEVBQUUseUNBQVc7TUFDekMsYUFBWSwwQ0FBMEM7TUFDdEQsSUFBSTtRQUNIO1FBQ0EsSUFBTVQsS0FBSyxHQUFHQyxlQUFlLEVBQUU7UUFDL0IsSUFBSUQsS0FBSyxJQUFJQSxLQUFLLENBQUNFLE1BQU0sR0FBRyxDQUFDLEVBQUU7VUFDOUIsSUFBTUMsV0FBVyxHQUFHSCxLQUFLLENBQUNBLEtBQUssQ0FBQ0UsTUFBTSxHQUFHLENBQUMsQ0FBQztVQUMzQyxJQUFJQyxXQUFXLElBQUlBLFdBQVcsQ0FBQ0UsR0FBRyxFQUFFO1lBQ25DO1lBQ0EsSUFBSUYsV0FBVyxDQUFDRSxHQUFHLENBQUNLLFdBQVcsRUFBRTtjQUNoQyxJQUFJO2dCQUNILGFBQVksb0NBQW9DO2dCQUNoRFAsV0FBVyxDQUFDRSxHQUFHLENBQUNNLGFBQWEsRUFBRTtjQUNoQyxDQUFDLENBQUMsT0FBTzFCLENBQUMsRUFBRTtnQkFDWCxlQUFjLHlCQUF5QixFQUFFQSxDQUFDO2NBQzNDO2NBQ0E7Y0FDQWtCLFdBQVcsQ0FBQ0UsR0FBRyxDQUFDSyxXQUFXLEdBQUcsSUFBSTtjQUNsQyxhQUFZLDJDQUEyQztZQUN4RDtVQUNEO1FBQ0Q7O1FBRUE7UUFDQW5CLEdBQUcsQ0FBQ1EsaUJBQWlCLENBQUMscUJBQXFCLENBQUM7UUFDNUMsYUFBWSxnQ0FBZ0M7TUFDN0MsQ0FBQyxDQUFDLE9BQU9kLENBQUMsRUFBRTtRQUNYLGVBQWMsaURBQWlELEVBQUVBLENBQUM7TUFDbkU7SUFDRCxDQUFDO0lBR0Q7SUFDQVIsZ0JBQWdCLEVBQUUsNEJBQVc7TUFDN0I7TUFDQSxJQUFJLElBQUksQ0FBQ21DLG1CQUFtQixFQUFFO1FBQzlCLGFBQVksa0JBQWtCO1FBQzlCO01BQ0E7TUFFQSxJQUFJO1FBQ0o7UUFDQSxJQUFJQyxLQUFLLEdBQUcsSUFBSSxDQUFDQyxVQUFVLENBQUNELEtBQUs7UUFDakMsSUFBSUUsUUFBUSxHQUFHLElBQUksQ0FBQ0QsVUFBVSxDQUFDQyxRQUFRO1FBQ3ZDLElBQUlDLFFBQVEsR0FBRyxJQUFJLENBQUNGLFVBQVUsQ0FBQ0UsUUFBUTs7UUFFdkM7UUFDQSxJQUFJLENBQUNILEtBQUssSUFBSSxDQUFDRSxRQUFRLEVBQUU7VUFDekJGLEtBQUssR0FBR3RCLEdBQUcsQ0FBQzBCLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztVQUM3Q0YsUUFBUSxHQUFHeEIsR0FBRyxDQUFDMEIsY0FBYyxDQUFDLG1CQUFtQixDQUFDO1VBQ2xERCxRQUFRLEdBQUd6QixHQUFHLENBQUMwQixjQUFjLENBQUMsV0FBVyxDQUFDOztVQUUxQztVQUNBLGFBQVksc0JBQXNCLEVBQUUsQ0FBQyxDQUFDSixLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQ0UsUUFBUTs7VUFFcEU7VUFDQSxJQUFJRixLQUFLLElBQUlFLFFBQVEsRUFBRTtZQUN2QixJQUFJLENBQUNELFVBQVUsQ0FBQ0QsS0FBSyxHQUFHQSxLQUFLO1lBQzdCLElBQUksQ0FBQ0MsVUFBVSxDQUFDQyxRQUFRLEdBQUdBLFFBQVE7WUFDbkMsSUFBSSxDQUFDRCxVQUFVLENBQUNFLFFBQVEsR0FBR0EsUUFBUTtZQUNuQyxJQUFJLENBQUNGLFVBQVUsQ0FBQ0ksVUFBVSxHQUFHLElBQUk7WUFDakMsYUFBWSxlQUFlO1VBQzNCO1FBQ0E7O1FBRUE7UUFDQSxJQUFNbEIsS0FBSyxHQUFHQyxlQUFlLEVBQUU7UUFDL0IsSUFBSWtCLFdBQVcsR0FBRyxFQUFFO1FBQ3BCLElBQUluQixLQUFLLElBQUlBLEtBQUssQ0FBQ0UsTUFBTSxHQUFHLENBQUMsRUFBRTtVQUMvQixJQUFNQyxXQUFXLEdBQUdILEtBQUssQ0FBQ0EsS0FBSyxDQUFDRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1VBQzNDaUIsV0FBVyxHQUFHaEIsV0FBVyxDQUFDQyxLQUFLO1VBQy9CLGFBQVksU0FBUyxFQUFFZSxXQUFXO1FBQ2xDOztRQUVBO1FBQ0EsSUFBSSxDQUFDTixLQUFLLElBQUksQ0FBQ0UsUUFBUSxFQUFFO1VBQ3pCO1VBQ0E7VUFDQSxJQUFJSSxXQUFXLEtBQUssbUJBQW1CLEVBQUU7WUFDekMsYUFBWSxvQkFBb0I7WUFDaEMsSUFBSSxDQUFDUCxtQkFBbUIsR0FBRyxJQUFJO1lBQy9CckIsR0FBRyxDQUFDZ0IsVUFBVSxDQUFDO2NBQ2ZDLEdBQUcsRUFBRSxvQkFBb0I7Y0FDekJZLE9BQU8sRUFBRSxZQUFXO2dCQUNwQixhQUFZLFdBQVc7Z0JBQ3ZCO2dCQUNBeEIsVUFBVSxDQUFDLFlBQVc7a0JBQ3RCLElBQUksQ0FBQ2dCLG1CQUFtQixHQUFHLEtBQUs7Z0JBQ2hDLENBQUMsQ0FBQ1MsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQztjQUNuQixDQUFDLENBQUNBLElBQUksQ0FBQyxJQUFJLENBQUM7Y0FDWkMsSUFBSSxFQUFFLFVBQVNDLEdBQUcsRUFBRTtnQkFDcEIsZUFBYyxZQUFZLEVBQUVBLEdBQUc7Z0JBQy9CLElBQUksQ0FBQ1gsbUJBQW1CLEdBQUcsS0FBSztjQUNoQyxDQUFDLENBQUNTLElBQUksQ0FBQyxJQUFJO1lBQ1gsQ0FBQyxDQUFDO1VBQ0YsQ0FBQyxNQUFNO1lBQ1AsYUFBWSxjQUFjO1VBQzFCO1FBQ0EsQ0FBQyxNQUFNO1VBQ1A7VUFDQSxJQUFJRyxVQUFVO1VBQ2QsSUFBSTtZQUNKO1lBQ0EsSUFBSSxPQUFPVCxRQUFRLEtBQUssUUFBUSxFQUFFO2NBQ2xDO2NBQ0EsSUFBTVUsU0FBUyxHQUFHQyxRQUFRLENBQUNYLFFBQVEsQ0FBQztjQUNwQyxJQUFJLENBQUNZLEtBQUssQ0FBQ0YsU0FBUyxDQUFDLEVBQUU7Z0JBQ3ZCRCxVQUFVLEdBQUdDLFNBQVM7Y0FDdEIsQ0FBQyxNQUFNO2dCQUNQO2dCQUNBRCxVQUFVLEdBQUcsSUFBSUksSUFBSSxDQUFDYixRQUFRLENBQUMsQ0FBQ2MsT0FBTyxFQUFFO2NBQ3pDO1lBQ0EsQ0FBQyxNQUFNLElBQUksT0FBT2QsUUFBUSxLQUFLLFFBQVEsRUFBRTtjQUN6QztjQUNBUyxVQUFVLEdBQUdULFFBQVE7WUFDckI7VUFDQSxDQUFDLENBQUMsT0FBTzlCLENBQUMsRUFBRTtZQUNaLGVBQWMsV0FBVyxFQUFFQSxDQUFDO1VBQzVCOztVQUVBO1VBQ0EsYUFBWSxzQkFBc0IsRUFBRThCLFFBQVEsRUFBRSxhQUFhLEVBQUVTLFVBQVU7O1VBRXZFO1VBQ0EsSUFBSUcsS0FBSyxDQUFDSCxVQUFVLENBQUMsRUFBRTtZQUN2QixlQUFjLFVBQVUsRUFBRVQsUUFBUTtZQUNsQztZQUNBLElBQUlJLFdBQVcsS0FBSyxtQkFBbUIsRUFBRTtjQUN6QyxJQUFJLENBQUNQLG1CQUFtQixHQUFHLElBQUk7Y0FDL0JyQixHQUFHLENBQUNnQixVQUFVLENBQUM7Z0JBQ2ZDLEdBQUcsRUFBRSxvQkFBb0I7Z0JBQ3pCWSxPQUFPLEVBQUUsWUFBVztrQkFDcEJ4QixVQUFVLENBQUMsWUFBVztvQkFDdEIsSUFBSSxDQUFDZ0IsbUJBQW1CLEdBQUcsS0FBSztrQkFDaEMsQ0FBQyxDQUFDUyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO2dCQUNuQixDQUFDLENBQUNBLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1pDLElBQUksRUFBRSxVQUFTQyxHQUFHLEVBQUU7a0JBQ3BCLGVBQWMsWUFBWSxFQUFFQSxHQUFHO2tCQUMvQixJQUFJLENBQUNYLG1CQUFtQixHQUFHLEtBQUs7Z0JBQ2hDLENBQUMsQ0FBQ1MsSUFBSSxDQUFDLElBQUk7Y0FDWCxDQUFDLENBQUM7WUFDRjtZQUNBO1VBQ0E7VUFFQSxJQUFNUyxXQUFXLEdBQUcsSUFBSUYsSUFBSSxFQUFFLENBQUNDLE9BQU8sRUFBRTs7VUFFeEM7VUFDQSxJQUFJQyxXQUFXLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBR04sVUFBVSxFQUFFO1lBQzFDLGFBQVksMkJBQTJCLEVBQUVNLFdBQVcsRUFBRSxPQUFPLEVBQUVOLFVBQVU7WUFDekU7WUFDQSxJQUFJLENBQUNWLFVBQVUsQ0FBQ0QsS0FBSyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDQyxVQUFVLENBQUNDLFFBQVEsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQ0QsVUFBVSxDQUFDRSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQ0YsVUFBVSxDQUFDSSxVQUFVLEdBQUcsS0FBSztZQUNsQzNCLEdBQUcsQ0FBQ1EsaUJBQWlCLENBQUMsaUJBQWlCLENBQUM7WUFDeENSLEdBQUcsQ0FBQ1EsaUJBQWlCLENBQUMsbUJBQW1CLENBQUM7WUFDMUNSLEdBQUcsQ0FBQ1EsaUJBQWlCLENBQUMsV0FBVyxDQUFDOztZQUVsQztZQUNBLElBQUlvQixXQUFXLEtBQUssbUJBQW1CLEVBQUU7Y0FDekMsSUFBSSxDQUFDUCxtQkFBbUIsR0FBRyxJQUFJO2NBQy9CckIsR0FBRyxDQUFDZ0IsVUFBVSxDQUFDO2dCQUNmQyxHQUFHLEVBQUUsb0JBQW9CO2dCQUN6QlksT0FBTyxFQUFFLFlBQVc7a0JBQ3BCLGFBQVksV0FBVztrQkFDdkI7a0JBQ0F4QixVQUFVLENBQUMsWUFBVztvQkFDdEIsSUFBSSxDQUFDZ0IsbUJBQW1CLEdBQUcsS0FBSztrQkFDaEMsQ0FBQyxDQUFDUyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO2dCQUNuQixDQUFDLENBQUNBLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1pDLElBQUksRUFBRSxVQUFTQyxHQUFHLEVBQUU7a0JBQ3BCLGVBQWMsWUFBWSxFQUFFQSxHQUFHO2tCQUMvQixJQUFJLENBQUNYLG1CQUFtQixHQUFHLEtBQUs7Z0JBQ2hDLENBQUMsQ0FBQ1MsSUFBSSxDQUFDLElBQUk7Y0FDWCxDQUFDLENBQUM7WUFDRjtVQUNBLENBQUMsTUFBTTtZQUNQO1lBQ0EsSUFBSSxDQUFDUCxVQUFVLENBQUNJLFVBQVUsR0FBRyxJQUFJO1lBQ2pDLElBQUksQ0FBQ0osVUFBVSxDQUFDRCxLQUFLLEdBQUdBLEtBQUs7WUFDN0IsSUFBSSxDQUFDQyxVQUFVLENBQUNDLFFBQVEsR0FBR0EsUUFBUTtZQUNuQyxJQUFJLENBQUNELFVBQVUsQ0FBQ2lCLGVBQWUsR0FBRyxJQUFJLENBQUNqQixVQUFVLENBQUNpQixlQUFlLElBQUksQ0FBQztZQUN0RSxJQUFJLENBQUNqQixVQUFVLENBQUNFLFFBQVEsR0FBR0EsUUFBUTs7WUFFbkM7WUFDQSxJQUFNZ0IsYUFBYSxHQUFHLENBQUNSLFVBQVUsR0FBR00sV0FBVyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM5RCxhQUFZLHdCQUF3QixFQUFFRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0YsYUFBYSxDQUFDLEVBQUUsSUFBSTs7WUFFckU7WUFDQSxJQUFJYixXQUFXLEtBQUssbUJBQW1CLEVBQUU7Y0FDekMsYUFBWSx3QkFBd0I7Y0FDcEMsSUFBSSxDQUFDUCxtQkFBbUIsR0FBRyxJQUFJO2NBQy9CaEIsVUFBVSxDQUFDLFlBQVc7Z0JBQ3RCTCxHQUFHLENBQUM0QyxTQUFTLENBQUM7a0JBQ2QzQixHQUFHLEVBQUUsb0JBQW9CO2tCQUN6QlksT0FBTyxFQUFFLFlBQVc7b0JBQ3BCLGFBQVksYUFBYTtvQkFDekIsSUFBSSxDQUFDUixtQkFBbUIsR0FBRyxLQUFLO2tCQUNoQyxDQUFDLENBQUNTLElBQUksQ0FBQyxJQUFJLENBQUM7a0JBQ1pDLElBQUksRUFBRSxVQUFTQyxHQUFHLEVBQUU7b0JBQ3BCLGVBQWMsY0FBYyxFQUFFQSxHQUFHO29CQUNqQyxJQUFJLENBQUNYLG1CQUFtQixHQUFHLEtBQUs7a0JBQ2hDLENBQUMsQ0FBQ1MsSUFBSSxDQUFDLElBQUk7Z0JBQ1gsQ0FBQyxDQUFDO2NBQ0YsQ0FBQyxDQUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDO1lBQ2xCO1VBQ0E7UUFDQTtNQUNELENBQUMsQ0FBQyxPQUFPcEMsQ0FBQyxFQUFFO1FBQ1gsZUFBYyxjQUFjLEVBQUVBLENBQUM7TUFDaEM7SUFDRCxDQUFDO0lBRUM7SUFDQVksbUJBQW1CLEVBQUUsK0JBQVc7TUFBQTtNQUMvQixhQUFZLG9DQUFvQztNQUNoRCxJQUFJO1FBQ0gsSUFBSSxDQUFDWSw2QkFBNkIsRUFBRTs7UUFFcEM7UUFDQWIsVUFBVSxDQUFDLFlBQU07VUFDaEIsTUFBSSxDQUFDRSxhQUFhLEVBQUU7UUFDckIsQ0FBQyxFQUFFLElBQUksQ0FBQztNQUNULENBQUMsQ0FBQyxPQUFPYixDQUFDLEVBQUU7UUFDWCxlQUFjLGtDQUFrQyxFQUFFQSxDQUFDO01BQ3BEO0lBQ0Q7RUFDRCxDQUFDO0VBQ0Q2QixVQUFVLEVBQUU7SUFDWkksVUFBVSxFQUFFLEtBQUs7SUFDakJMLEtBQUssRUFBRSxFQUFFO0lBQ1RFLFFBQVEsRUFBRSxFQUFFO0lBQ1pnQixlQUFlLEVBQUUsQ0FBQztJQUNsQmYsUUFBUSxFQUFFLENBQUM7RUFDWixDQUFDO0VBQ0Q7RUFDQW9CLElBQUksa0JBQUc7SUFDTixPQUFPO01BQ054QixtQkFBbUIsRUFBRTtJQUN0QixDQUFDO0VBQ0Y7QUFDQSxDQUFDO0FBQUEsMkIiLCJmaWxlIjoiNDcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBkZWZhdWx0IHtcblx0b25MYXVuY2g6IGZ1bmN0aW9uKCkge1xuXHRcdC8vIGNvbnNvbGUubG9nKCdBcHAgTGF1bmNoJyk7XG5cdFx0Ly8g5qOA5p+l55m75b2V54q25oCBXG5cdFx0dGhpcy5jaGVja0xvZ2luU3RhdHVzKCk7XG5cdH0sXG5cdG9uU2hvdzogZnVuY3Rpb24oKSB7XG5cdFx0Ly8gY29uc29sZS5sb2coJ0FwcCBTaG93Jyk7XG5cdFx0Ly8g5q+P5qyh5pi+56S65bqU55So5pe25qOA5p+l55m75b2V54q25oCBXG5cdFx0dGhpcy5jaGVja0xvZ2luU3RhdHVzKCk7XG5cdH0sXG5cdG9uSGlkZTogZnVuY3Rpb24oKSB7XG5cdFx0Ly8gY29uc29sZS5sb2coJ0FwcCBIaWRlJyk7XG5cdFx0Ly8g5bqU55So6L+b5YWl5ZCO5Y+w5pe26YeK5pS+6LWE5rqQXG5cdFx0dGhpcy5yZWxlYXNlR2xvYmFsUmVzb3VyY2VzKCk7XG5cdH0sXG5cdFxuXHQvLyDlhajlsYDplJnor6/mjZXojrdcblx0b25FcnJvcjogZnVuY3Rpb24oZXJyb3IpIHtcblx0XHR0aGlzLmhhbmRsZUdsb2JhbEVycm9yKGVycm9yKTtcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdC8vIOmHiuaUvuWFqOWxgOi1hOa6kFxuXHRcdHJlbGVhc2VHbG9iYWxSZXNvdXJjZXM6IGZ1bmN0aW9uKCkge1xuXHRcdFx0Y29uc29sZS5sb2coJ1JlbGVhc2luZyBnbG9iYWwgcmVzb3VyY2VzJyk7XG5cdFx0XHQvLyDmuIXpmaTlj6/og73lrZjlnKjnmoTlrprml7blmahcblx0XHRcdHRyeSB7XG5cdFx0XHRcdC8vIOi/memHjOWPr+S7pea3u+WKoOabtOWkmueahOi1hOa6kOmHiuaUvumAu+i+kVxuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRjb25zb2xlLmVycm9yKCdFcnJvciByZWxlYXNpbmcgcmVzb3VyY2VzOicsIGUpO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0XG5cdFx0Ly8g5YWo5bGA6ZSZ6K+v5aSE55CGXG5cdFx0aGFuZGxlR2xvYmFsRXJyb3I6IGZ1bmN0aW9uKGVycm9yKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKCdHbG9iYWwgZXJyb3IgY2FwdHVyZWQ6JywgZXJyb3IpO1xuXHRcdFx0XG5cdFx0XHQvLyDlpITnkIbnibnlrprnsbvlnovnmoTplJnor69cblx0XHRcdGlmIChlcnJvci5tZXNzYWdlICYmIGVycm9yLm1lc3NhZ2UuaW5jbHVkZXMoJ0ZhaWxlZCB0byByZWNlaXZlVGFza3MnKSkge1xuXHRcdFx0XHQvLyDmj5Dlj5blrp7kvotJRFxuXHRcdFx0XHRjb25zdCBpbnN0YW5jZUlkTWF0Y2ggPSBlcnJvci5tZXNzYWdlLm1hdGNoKC9pbnN0YW5jZSBcXCgoXFxkKylcXCkvKTtcblx0XHRcdFx0Y29uc3QgaW5zdGFuY2VJZCA9IGluc3RhbmNlSWRNYXRjaCA/IGluc3RhbmNlSWRNYXRjaFsxXSA6ICd1bmtub3duJztcblx0XHRcdFx0XG5cdFx0XHRcdC8vIOiusOW9leivpue7humUmeivr+S/oeaBr1xuXHRcdFx0XHRjb25zb2xlLmVycm9yKGBVSEYgcGx1Z2luIGluc3RhbmNlICgke2luc3RhbmNlSWR9KSBlcnJvcjogRmFpbGVkIHRvIHJlY2VpdmVUYXNrc2ApO1xuXHRcdFx0XHRcblx0XHRcdFx0Ly8g5pi+56S66ZSZ6K+v5o+Q56S6XG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdHRpdGxlOiBg6K6+5aSH6YCa5L+h6ZSZ6K+vKOWunuS+iyR7aW5zdGFuY2VJZH0p77yM6K+36YeN6K+VYCxcblx0XHRcdFx0XHRpY29uOiAnbm9uZScsXG5cdFx0XHRcdFx0ZHVyYXRpb246IDMwMDBcblx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdC8vIOWwneivlemHjee9ruaPkuS7tuWunuS+i1xuXHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLnJlc2V0UGx1Z2luSW5zdGFuY2UoKTtcblx0XHRcdFx0fSwgMTAwMCk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRcblx0XHQvLyDph43nva7lupTnlKjnirbmgIFcblx0XHRyZXNldEFwcFN0YXRlOiBmdW5jdGlvbigpIHtcblx0XHRcdGNvbnNvbGUubG9nKCdSZXNldHRpbmcgYXBwIHN0YXRlIGR1ZSB0byBwbHVnaW4gZXJyb3InKTtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdC8vIOa4hemZpOaJgOacieebuOWFs+e8k+WtmOaVsOaNrlxuXHRcdFx0XHR1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ3VoZl9wbHVnaW5fc3RhdGUnKTtcblx0XHRcdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdlcXVpcG1lbnRfdG9rZW4nKTtcblx0XHRcdFx0XG5cdFx0XHRcdC8vIOmHjeaWsOWKoOi9veW9k+WJjemhtemdolxuXHRcdFx0XHRjb25zdCBwYWdlcyA9IGdldEN1cnJlbnRQYWdlcygpO1xuXHRcdFx0XHRpZiAocGFnZXMgJiYgcGFnZXMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdGNvbnN0IGN1cnJlbnRQYWdlID0gcGFnZXNbcGFnZXMubGVuZ3RoIC0gMV07XG5cdFx0XHRcdFx0Ly8g5aaC5p6c5b2T5YmN5piv6aaW6aG177yM5YiZ5Yi35paw6aG16Z2iXG5cdFx0XHRcdFx0aWYgKGN1cnJlbnRQYWdlLnJvdXRlID09PSAncGFnZXMvaW5kZXgvaW5kZXgnKSB7XG5cdFx0XHRcdFx0XHRjdXJyZW50UGFnZS4kdm0uJGRlc3Ryb3koKTtcblx0XHRcdFx0XHRcdHVuaS5yZWRpcmVjdFRvKHtcblx0XHRcdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2luZGV4L2luZGV4J1xuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdC8vIOWQpuWImei3s+i9rOWIsOmmlumhtVxuXHRcdFx0XHRcdFx0dW5pLnJlZGlyZWN0VG8oe1xuXHRcdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvaW5kZXgvaW5kZXgnXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Ly8g5aaC5p6c5rKh5pyJ6aG16Z2i77yM6Lez6L2s5Yiw6aaW6aG1XG5cdFx0XHRcdFx0dW5pLnJlZGlyZWN0VG8oe1xuXHRcdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2luZGV4L2luZGV4J1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJlc2V0dGluZyBhcHAgc3RhdGU6JywgZSk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRcblx0XHQvLyDmo4Dmn6XlubbmuIXnkIbmj5Lku7blrp7kvotcblx0XHRjaGVja0FuZENsZWFudXBQbHVnaW5JbnN0YW5jZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRjb25zb2xlLmxvZygnQ2hlY2tpbmcgYW5kIGNsZWFuaW5nIHVwIHBsdWdpbiBpbnN0YW5jZScpO1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Ly8g5aaC5p6c5a2Y5Zyo6aG16Z2i5a6e5L6LXG5cdFx0XHRcdGNvbnN0IHBhZ2VzID0gZ2V0Q3VycmVudFBhZ2VzKCk7XG5cdFx0XHRcdGlmIChwYWdlcyAmJiBwYWdlcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdFx0Y29uc3QgY3VycmVudFBhZ2UgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAxXTtcblx0XHRcdFx0XHRpZiAoY3VycmVudFBhZ2UgJiYgY3VycmVudFBhZ2UuJHZtKSB7XG5cdFx0XHRcdFx0XHQvLyDlpoLmnpzpobXpnaLmnIl1aGZTRkhlbHBlcuWunuS+i++8jOWwneivlemHiuaUvuiuvuWkh1xuXHRcdFx0XHRcdFx0aWYgKGN1cnJlbnRQYWdlLiR2bS51aGZTRkhlbHBlcikge1xuXHRcdFx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCdSZWxlYXNpbmcgZGV2aWNlIGZyb20gY3VycmVudCBwYWdlJyk7XG5cdFx0XHRcdFx0XHRcdFx0Y3VycmVudFBhZ2UuJHZtLnJlbGVhc2VEZXZpY2UoKTtcblx0XHRcdFx0XHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJlbGVhc2luZyBkZXZpY2U6JywgZSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0Ly8g5riF6Zmk5o+S5Lu25a6e5L6LXG5cdFx0XHRcdFx0XHRcdGN1cnJlbnRQYWdlLiR2bS51aGZTRkhlbHBlciA9IG51bGw7XG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCdQbHVnaW4gaW5zdGFuY2UgY2xlYXJlZCBmcm9tIGN1cnJlbnQgcGFnZScpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0Ly8g5riF6Zmk5YWo5bGA5o+S5Lu255u45YWz57yT5a2YXG5cdFx0XHRcdHVuaS5yZW1vdmVTdG9yYWdlU3luYygndWhmX3BsdWdpbl9pbnN0YW5jZScpO1xuXHRcdFx0XHRjb25zb2xlLmxvZygnUGx1Z2luIHJlbGF0ZWQgc3RvcmFnZSBjbGVhcmVkJyk7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNoZWNraW5nIGFuZCBjbGVhbmluZyB1cCBwbHVnaW4gaW5zdGFuY2U6JywgZSk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRcblxuXHRcdC8vIFZ1ZTLpo47moLznmoRjaGVja0xvZ2luU3RhdHVz5pa55rOV5a6e546wIC0g5LyY5YyW54mIXG5cdFx0Y2hlY2tMb2dpblN0YXR1czogZnVuY3Rpb24oKSB7XG5cdFx0Ly8g6Ziy5q2i55+t5pe26Ze05YaF6YeN5aSN5a+86Iiq5Yiw55m75b2V6aG16Z2iXG5cdFx0aWYgKHRoaXMuaXNOYXZpZ2F0aW5nVG9Mb2dpbikge1xuXHRcdGNvbnNvbGUubG9nKCfmraPlnKjlr7zoiKrliLDnmbvlvZXpobXpnaLvvIzlv73nlaXph43lpI3osIPnlKgnKTtcblx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdFxuXHRcdHRyeSB7XG5cdFx0Ly8gMS4g6aaW5YWI5bCd6K+V5LuO5YWo5bGA5pWw5o2u6I635Y+WXG5cdFx0bGV0IHRva2VuID0gdGhpcy5nbG9iYWxEYXRhLnRva2VuO1xuXHRcdGxldCBleHBpcmVBdCA9IHRoaXMuZ2xvYmFsRGF0YS5leHBpcmVBdDtcblx0XHRsZXQgdXNlckluZm8gPSB0aGlzLmdsb2JhbERhdGEudXNlckluZm87XG5cdFx0XG5cdFx0Ly8gMi4g5aaC5p6c5YWo5bGA5pWw5o2u5LiN5Y+v55So77yM5bCd6K+V5LuO5pys5Zyw5a2Y5YKo5oGi5aSNXG5cdFx0aWYgKCF0b2tlbiB8fCAhZXhwaXJlQXQpIHtcblx0XHR0b2tlbiA9IHVuaS5nZXRTdG9yYWdlU3luYygnZXF1aXBtZW50X3Rva2VuJyk7XG5cdFx0ZXhwaXJlQXQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuX2V4cGlyZV90aW1lJyk7XG5cdFx0dXNlckluZm8gPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3VzZXJfaW5mbycpO1xuXHRcdFxuXHRcdC8vIOa3u+WKoOivpue7huaXpeW/l++8jOW4ruWKqeiwg+ivlVxuXHRcdGNvbnNvbGUubG9nKCfku47mnKzlnLDlrZjlgqjojrflj5bnmbvlvZXkv6Hmga8gLSB0b2tlbjonLCAhIXRva2VuLCAnZXhwaXJlQXQ6JywgISFleHBpcmVBdCk7XG5cdFx0XG5cdFx0Ly8g5aaC5p6c5LuO5pys5Zyw5a2Y5YKo5oGi5aSN5oiQ5Yqf77yM5pu05paw5YWo5bGA5pWw5o2uXG5cdFx0aWYgKHRva2VuICYmIGV4cGlyZUF0KSB7XG5cdFx0dGhpcy5nbG9iYWxEYXRhLnRva2VuID0gdG9rZW47XG5cdFx0dGhpcy5nbG9iYWxEYXRhLmV4cGlyZUF0ID0gZXhwaXJlQXQ7XG5cdFx0dGhpcy5nbG9iYWxEYXRhLnVzZXJJbmZvID0gdXNlckluZm87XG5cdFx0dGhpcy5nbG9iYWxEYXRhLmlzTG9nZ2VkSW4gPSB0cnVlO1xuXHRcdGNvbnNvbGUubG9nKCfku47mnKzlnLDlrZjlgqjmgaLlpI3nmbvlvZXkv6Hmga/miJDlip8nKTtcblx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC8vIOiOt+WPluW9k+WJjemhtemdoui3r+W+hFxuXHRcdGNvbnN0IHBhZ2VzID0gZ2V0Q3VycmVudFBhZ2VzKCk7XG5cdFx0bGV0IGN1cnJlbnRQYXRoID0gJyc7XG5cdFx0aWYgKHBhZ2VzICYmIHBhZ2VzLmxlbmd0aCA+IDApIHtcblx0XHRjb25zdCBjdXJyZW50UGFnZSA9IHBhZ2VzW3BhZ2VzLmxlbmd0aCAtIDFdO1xuXHRcdGN1cnJlbnRQYXRoID0gY3VycmVudFBhZ2Uucm91dGU7XG5cdFx0Y29uc29sZS5sb2coJ+W9k+WJjemhtemdoui3r+W+hDonLCBjdXJyZW50UGF0aCk7XG5cdFx0fVxuXHRcblx0XHQvLyDnp7vpmaTnibnmrorotKblj7flpITnkIbpgLvovpHvvIznu5/kuIDmjIl0b2tlbuWSjOi/h+acn+aXtumXtOWIpOaWrVxuXHRcdGlmICghdG9rZW4gfHwgIWV4cGlyZUF0KSB7XG5cdFx0Ly8g5pyq55m75b2V5oiW57y65bCR6L+H5pyf5pe26Ze077yM6Lez6L2s5Yiw55m75b2V6aG16Z2iXG5cdFx0Ly8g5qOA5p+l5b2T5YmN5piv5ZCm5bey57uP5Zyo55m75b2V6aG16Z2i77yM6YG/5YWN6YeN5aSN6Lez6L2sXG5cdFx0aWYgKGN1cnJlbnRQYXRoICE9PSAncGFnZXMvbG9naW4vbG9naW4nKSB7XG5cdFx0Y29uc29sZS5sb2coJ+acqueZu+W9leaIlue8uuWwkei/h+acn+aXtumXtO+8jOi3s+i9rOWIsOeZu+W9lemhtemdoicpO1xuXHRcdHRoaXMuaXNOYXZpZ2F0aW5nVG9Mb2dpbiA9IHRydWU7XG5cdFx0dW5pLnJlZGlyZWN0VG8oe1xuXHRcdHVybDogJy9wYWdlcy9sb2dpbi9sb2dpbicsXG5cdFx0c3VjY2VzczogZnVuY3Rpb24oKSB7XG5cdFx0Y29uc29sZS5sb2coJ+WvvOiIquWIsOeZu+W9lemhtemdouaIkOWKnycpO1xuXHRcdC8vIOWvvOiIquaIkOWKn+WQjumHjee9ruagh+W/l1xuXHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG5cdFx0dGhpcy5pc05hdmlnYXRpbmdUb0xvZ2luID0gZmFsc2U7XG5cdFx0fS5iaW5kKHRoaXMpLCAxMDAwKTtcblx0XHR9LmJpbmQodGhpcyksXG5cdFx0ZmFpbDogZnVuY3Rpb24oZXJyKSB7XG5cdFx0Y29uc29sZS5lcnJvcign5a+86Iiq5Yiw55m75b2V6aG16Z2i5aSx6LSlOicsIGVycik7XG5cdFx0dGhpcy5pc05hdmlnYXRpbmdUb0xvZ2luID0gZmFsc2U7XG5cdFx0fS5iaW5kKHRoaXMpXG5cdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRjb25zb2xlLmxvZygn5bey57uP5Zyo55m75b2V6aG16Z2i77yM5peg6ZyA6Lez6L2sJyk7XG5cdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0Ly8g5qOA5p+ldG9rZW7mmK/lkKbov4fmnJ9cblx0XHRsZXQgZXhwaXJlVGltZTtcblx0XHR0cnkge1xuXHRcdC8vIOWBpeWjrueahOi/h+acn+aXtumXtOino+aekOmAu+i+kVxuXHRcdGlmICh0eXBlb2YgZXhwaXJlQXQgPT09ICdzdHJpbmcnKSB7XG5cdFx0Ly8g5bCd6K+V55u05o6l6Kej5p6Q5Li65pWw5a2XXG5cdFx0Y29uc3QgdGltZXN0YW1wID0gcGFyc2VJbnQoZXhwaXJlQXQpO1xuXHRcdGlmICghaXNOYU4odGltZXN0YW1wKSkge1xuXHRcdGV4cGlyZVRpbWUgPSB0aW1lc3RhbXA7XG5cdFx0fSBlbHNlIHtcblx0XHQvLyDlpoLmnpzkuI3mmK/mlbDlrZflrZfnrKbkuLLvvIzlsJ3or5XkvZzkuLrml6XmnJ/lrZfnrKbkuLLop6PmnpBcblx0XHRleHBpcmVUaW1lID0gbmV3IERhdGUoZXhwaXJlQXQpLmdldFRpbWUoKTtcblx0XHR9XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgZXhwaXJlQXQgPT09ICdudW1iZXInKSB7XG5cdFx0Ly8g5aaC5p6c5bey57uP5piv5pWw5a2X57G75Z6L77yM55u05o6l5L2/55SoXG5cdFx0ZXhwaXJlVGltZSA9IGV4cGlyZUF0O1xuXHRcdH1cblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0Y29uc29sZS5lcnJvcign6Kej5p6Q6L+H5pyf5pe26Ze05aSx6LSlOicsIGUpO1xuXHRcdH1cblx0XG5cdFx0Ly8g5re75Yqg6K+m57uG5pel5b+X77yM6K6w5b2V6L+H5pyf5pe26Ze06Kej5p6Q57uT5p6cXG5cdFx0Y29uc29sZS5sb2coJ+i/h+acn+aXtumXtOino+aekOe7k+aenCAtIGV4cGlyZUF0OicsIGV4cGlyZUF0LCAnZXhwaXJlVGltZTonLCBleHBpcmVUaW1lKTtcblx0XHRcblx0XHQvLyDnoa7kv53ov4fmnJ/ml7bpl7TmnInmlYhcblx0XHRpZiAoaXNOYU4oZXhwaXJlVGltZSkpIHtcblx0XHRjb25zb2xlLmVycm9yKCfml6DmlYjnmoTov4fmnJ/ml7bpl7Q6JywgZXhwaXJlQXQpO1xuXHRcdC8vIOi3s+i9rOWIsOeZu+W9lemhtVxuXHRcdGlmIChjdXJyZW50UGF0aCAhPT0gJ3BhZ2VzL2xvZ2luL2xvZ2luJykge1xuXHRcdHRoaXMuaXNOYXZpZ2F0aW5nVG9Mb2dpbiA9IHRydWU7XG5cdFx0dW5pLnJlZGlyZWN0VG8oe1xuXHRcdHVybDogJy9wYWdlcy9sb2dpbi9sb2dpbicsXG5cdFx0c3VjY2VzczogZnVuY3Rpb24oKSB7XG5cdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcblx0XHR0aGlzLmlzTmF2aWdhdGluZ1RvTG9naW4gPSBmYWxzZTtcblx0XHR9LmJpbmQodGhpcyksIDEwMDApO1xuXHRcdH0uYmluZCh0aGlzKSxcblx0XHRmYWlsOiBmdW5jdGlvbihlcnIpIHtcblx0XHRjb25zb2xlLmVycm9yKCflr7zoiKrliLDnmbvlvZXpobXpnaLlpLHotKU6JywgZXJyKTtcblx0XHR0aGlzLmlzTmF2aWdhdGluZ1RvTG9naW4gPSBmYWxzZTtcblx0XHR9LmJpbmQodGhpcylcblx0XHR9KTtcblx0XHR9XG5cdFx0cmV0dXJuO1xuXHRcdH1cblx0XG5cdFx0Y29uc3QgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblx0XG5cdFx0Ly8g5o+Q5YmNMeWIhumSn+ajgOafpei/h+acn++8jOe7meeUqOaIt+mihOeVmeaXtumXtFxuXHRcdGlmIChjdXJyZW50VGltZSArIDYwICogMTAwMCA+IGV4cGlyZVRpbWUpIHtcblx0XHRjb25zb2xlLmxvZygn55m75b2V5Y2z5bCG6L+H5pyf5oiW5bey6L+H5pyf77yM6ZyA6KaB6YeN5paw55m75b2VIC0g5b2T5YmN5pe26Ze0OicsIGN1cnJlbnRUaW1lLCAn6L+H5pyf5pe26Ze0OicsIGV4cGlyZVRpbWUpO1xuXHRcdC8vIOa4hemZpOeZu+W9leS/oeaBr1xuXHRcdHRoaXMuZ2xvYmFsRGF0YS50b2tlbiA9ICcnO1xuXHRcdHRoaXMuZ2xvYmFsRGF0YS5leHBpcmVBdCA9ICcnO1xuXHRcdHRoaXMuZ2xvYmFsRGF0YS51c2VySW5mbyA9IHt9O1xuXHRcdHRoaXMuZ2xvYmFsRGF0YS5pc0xvZ2dlZEluID0gZmFsc2U7XG5cdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdlcXVpcG1lbnRfdG9rZW4nKTtcblx0XHR1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ3Rva2VuX2V4cGlyZV90aW1lJyk7XG5cdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCd1c2VyX2luZm8nKTtcblx0XG5cdFx0Ly8g6Lez6L2s5Yiw55m75b2V6aG16Z2iXG5cdFx0aWYgKGN1cnJlbnRQYXRoICE9PSAncGFnZXMvbG9naW4vbG9naW4nKSB7XG5cdFx0dGhpcy5pc05hdmlnYXRpbmdUb0xvZ2luID0gdHJ1ZTtcblx0XHR1bmkucmVkaXJlY3RUbyh7XG5cdFx0dXJsOiAnL3BhZ2VzL2xvZ2luL2xvZ2luJyxcblx0XHRzdWNjZXNzOiBmdW5jdGlvbigpIHtcblx0XHRjb25zb2xlLmxvZygn5a+86Iiq5Yiw55m75b2V6aG16Z2i5oiQ5YqfJyk7XG5cdFx0Ly8g5a+86Iiq5oiQ5Yqf5ZCO6YeN572u5qCH5b+XXG5cdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcblx0XHR0aGlzLmlzTmF2aWdhdGluZ1RvTG9naW4gPSBmYWxzZTtcblx0XHR9LmJpbmQodGhpcyksIDEwMDApO1xuXHRcdH0uYmluZCh0aGlzKSxcblx0XHRmYWlsOiBmdW5jdGlvbihlcnIpIHtcblx0XHRjb25zb2xlLmVycm9yKCflr7zoiKrliLDnmbvlvZXpobXpnaLlpLHotKU6JywgZXJyKTtcblx0XHR0aGlzLmlzTmF2aWdhdGluZ1RvTG9naW4gPSBmYWxzZTtcblx0XHR9LmJpbmQodGhpcylcblx0XHR9KTtcblx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHQvLyDlt7LnmbvlvZXkuJR0b2tlbuacieaViO+8jOiuvue9ruWFqOWxgOeZu+W9leeKtuaAgVxuXHRcdHRoaXMuZ2xvYmFsRGF0YS5pc0xvZ2dlZEluID0gdHJ1ZTtcblx0XHR0aGlzLmdsb2JhbERhdGEudG9rZW4gPSB0b2tlbjtcblx0XHR0aGlzLmdsb2JhbERhdGEuZXhwaXJlQXQgPSBleHBpcmVBdDtcblx0XHR0aGlzLmdsb2JhbERhdGEuZXF1aXBtZW50TWFuYWdlID0gdGhpcy5nbG9iYWxEYXRhLmVxdWlwbWVudE1hbmFnZSB8fCAwO1xuXHRcdHRoaXMuZ2xvYmFsRGF0YS51c2VySW5mbyA9IHVzZXJJbmZvO1xuXHRcblx0XHQvLyDorqHnrpfliankvZnml7bpl7TlubborrDlvZXml6Xlv5fvvIzluK7liqnosIPor5Vcblx0XHRjb25zdCByZW1haW5pbmdUaW1lID0gKGV4cGlyZVRpbWUgLSBjdXJyZW50VGltZSkgLyAxMDAwIC8gNjA7IC8vIOi9rOaNouS4uuWIhumSn1xuXHRcdGNvbnNvbGUubG9nKCfnmbvlvZXnirbmgIHmnInmlYjvvIzml6DpnIDph43mlrDnmbvlvZUgLSDliankvZnml7bpl7TnuqY6JywgTWF0aC5yb3VuZChyZW1haW5pbmdUaW1lKSwgJ+WIhumSnycpO1xuXHRcblx0XHQvLyDlpoLmnpzlt7Lnu4/lnKjnmbvlvZXpobXpnaLvvIzoh6rliqjot7PovazliLDpppbpobVcblx0XHRpZiAoY3VycmVudFBhdGggPT09ICdwYWdlcy9sb2dpbi9sb2dpbicpIHtcblx0XHRjb25zb2xlLmxvZygn55m75b2V54q25oCB5pyJ5pWI5L2G5b2T5YmN5Zyo55m75b2V6aG16Z2i77yM6Ieq5Yqo6Lez6L2s5Yiw6aaW6aG1Jyk7XG5cdFx0dGhpcy5pc05hdmlnYXRpbmdUb0xvZ2luID0gdHJ1ZTtcblx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuXHRcdHVuaS5zd2l0Y2hUYWIoe1xuXHRcdHVybDogJy9wYWdlcy9pbmRleC9pbmRleCcsXG5cdFx0c3VjY2VzczogZnVuY3Rpb24oKSB7XG5cdFx0Y29uc29sZS5sb2coJ+S7jueZu+W9lemhtei3s+i9rOWIsOmmlumhteaIkOWKnycpO1xuXHRcdHRoaXMuaXNOYXZpZ2F0aW5nVG9Mb2dpbiA9IGZhbHNlO1xuXHRcdH0uYmluZCh0aGlzKSxcblx0XHRmYWlsOiBmdW5jdGlvbihlcnIpIHtcblx0XHRjb25zb2xlLmVycm9yKCfku47nmbvlvZXpobXot7PovazliLDpppbpobXlpLHotKU6JywgZXJyKTtcblx0XHR0aGlzLmlzTmF2aWdhdGluZ1RvTG9naW4gPSBmYWxzZTtcblx0XHR9LmJpbmQodGhpcylcblx0XHR9KTtcblx0XHR9LmJpbmQodGhpcyksIDUwMCk7XG5cdFx0fVxuXHRcdH1cblx0XHR9XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRjb25zb2xlLmVycm9yKCfmo4Dmn6XnmbvlvZXnirbmgIHml7blj5HnlJ/plJnor686JywgZSk7XG5cdH1cbn0sXG5cdFx0XG5cdFx0Ly8g6YeN572u5o+S5Lu25a6e5L6LXG5cdFx0cmVzZXRQbHVnaW5JbnN0YW5jZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRjb25zb2xlLmxvZygnUmVzZXR0aW5nIHBsdWdpbiBpbnN0YW5jZSBnbG9iYWxseScpO1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0dGhpcy5jaGVja0FuZENsZWFudXBQbHVnaW5JbnN0YW5jZSgpO1xuXHRcdFx0XHRcblx0XHRcdFx0Ly8g5bu26L+f5LiA5q615pe26Ze05ZCO6YeN572u5bqU55So54q25oCBXG5cdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucmVzZXRBcHBTdGF0ZSgpO1xuXHRcdFx0XHR9LCAxMDAwKTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0Y29uc29sZS5lcnJvcignRXJyb3IgcmVzZXR0aW5nIHBsdWdpbiBpbnN0YW5jZTonLCBlKTtcblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdGdsb2JhbERhdGE6IHtcblx0aXNMb2dnZWRJbjogZmFsc2UsXG5cdHRva2VuOiAnJyxcblx0ZXhwaXJlQXQ6ICcnLFxuXHRlcXVpcG1lbnRNYW5hZ2U6IDAsXG5cdHVzZXJJbmZvOiB7fVxufSxcbi8vIOWvvOiIqueKtuaAgeaOp+WItlxuZGF0YSgpIHtcblx0cmV0dXJuIHtcblx0XHRpc05hdmlnYXRpbmdUb0xvZ2luOiBmYWxzZVxuXHR9XG59XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///47\n"); /***/ }) ],[[0,"app-config"]]]);