-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path179.js
63 lines (47 loc) · 254 KB
/
179.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
((typeof self !== 'undefined' ? self : this)["webpackJsonp"] = (typeof self !== 'undefined' ? self : this)["webpackJsonp"] || []).push([[179],{
/***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/modals/collectionBillModal.vue?vue&type=script&lang=js&":
/*!************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/modals/collectionBillModal.vue?vue&type=script&lang=js& ***!
\************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es7_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es7.object.get-own-property-descriptors */ \"./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js\");\n/* harmony import */ var core_js_modules_es7_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es7_object_get_own_property_descriptors__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es6.number.constructor */ \"./node_modules/core-js/modules/es6.number.constructor.js\");\n/* harmony import */ var core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es6.regexp.split */ \"./node_modules/core-js/modules/es6.regexp.split.js\");\n/* harmony import */ var core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _Users_denya_Desktop_workspace_vue_cli_saas_node_modules_babel_runtime_corejs2_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty */ \"./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js\");\n/* harmony import */ var core_js_modules_es6_array_find__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es6.array.find */ \"./node_modules/core-js/modules/es6.array.find.js\");\n/* harmony import */ var core_js_modules_es6_array_find__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_find__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.dom.iterable */ \"./node_modules/core-js/modules/web.dom.iterable.js\");\n/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es6.object.keys */ \"./node_modules/core-js/modules/es6.object.keys.js\");\n/* harmony import */ var core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Users_denya_Desktop_workspace_vue_cli_saas_node_modules_babel_runtime_corejs2_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./node_modules/@babel/runtime-corejs2/helpers/esm/classCallCheck */ \"./node_modules/@babel/runtime-corejs2/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _assets_css_modals_bill_less__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/assets/css/modals/bill.less */ \"./src/assets/css/modals/bill.less\");\n/* harmony import */ var _assets_css_modals_bill_less__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_assets_css_modals_bill_less__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _components_saasDatePicker__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/saasDatePicker */ \"./src/components/saasDatePicker.vue\");\n/* harmony import */ var _components_saasSelect__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/saasSelect */ \"./src/components/saasSelect.vue\");\n/* harmony import */ var _components_fuzzySearch__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/fuzzySearch */ \"./src/components/fuzzySearch.vue\");\n/* harmony import */ var _components_MultiSelectHouse__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/components/MultiSelectHouse */ \"./src/components/MultiSelectHouse.vue\");\n/* harmony import */ var _components_inputPrompt__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/components/inputPrompt */ \"./src/components/inputPrompt.vue\");\n/* harmony import */ var _components_inputSelect__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/components/inputSelect */ \"./src/components/inputSelect.vue\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _service_getData__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../service/getData */ \"./src/service/getData.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _commonJs_common__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/commonJs/common */ \"./src/commonJs/common.js\");\n/* harmony import */ var _commonJs_date_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../commonJs/date.js */ \"./src/commonJs/date.js\");\n/* harmony import */ var _commonJs_date_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_commonJs_date_js__WEBPACK_IMPORTED_MODULE_19__);\n\n\n\n\n\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_Users_denya_Desktop_workspace_vue_cli_saas_node_modules_babel_runtime_corejs2_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar FinBillItemDetailVoList = //权责月对象\nfunction FinBillItemDetailVoList(startDate, endDate, planAmount, month) {\n Object(_Users_denya_Desktop_workspace_vue_cli_saas_node_modules_babel_runtime_corejs2_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(this, FinBillItemDetailVoList);\n\n this.startDate = startDate; //计费开始日期\n\n this.endDate = endDate; //计费结束日期\n\n this.planAmount = planAmount; //应收金额\n\n this.month = month; //权责月\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'billModel',\n props: {\n details: {}\n },\n data: function data() {\n var _this = this;\n\n return {\n fileList: null,\n //打印相关\n spinning: false,\n hasReceiptLoading: false,\n rbSubProjectId: '',\n //请求收据本 要用到的\n rbBuildIdes: '',\n //请求 收据编号 要用到的\n rbReceiptCode: '',\n //请求 得到的收据编号\n billInfo: {\n taxRate: '',\n //税率\n hasFinReceiptPayment: false,\n billOrigin: 2,\n hasReceipt: false,\n // 添加收据\n hasPrintReceipt: false,\n // 打印收据\n finReceiptVoList: [{\n payer: '',\n // 付款单位\n payName: '',\n // 付款人\n receiptAmount: '',\n // 收据金额\n payDate: '',\n // 付款日期\n receiptUserName: '',\n // 开具人\n payeeName: '',\n // 收款人\n receiptOption: '',\n // 款项\n receiptBookId: '',\n // 收据本\n receiptCode: '',\n // 收据编号\n remark: '' // 内容\n\n }]\n },\n effectDate: moment__WEBPACK_IMPORTED_MODULE_15___default()(_commonJs_date_js__WEBPACK_IMPORTED_MODULE_19___default.a.fullToday),\n expenditureList: {\n all: [{\n activeExpenditure: '',\n payAmount: '',\n billingCycle: ''\n }],\n add: function add() {\n _this.expenditureList.all.push({\n activeExpenditure: '',\n payAmount: '',\n billingCycle: ''\n });\n }\n },\n house: {\n active: [],\n area: 0,\n fail: false,\n activeItem: function activeItem(res) {\n _this.contract.active = {};\n _this.house.area = res.area;\n _this.house.active = res.activeList;\n _this.house.fail = false;\n\n _this.account.add();\n\n _this.initFinBillItemDetailVoList();\n\n if (_this.details.status == 1) {\n //只有销项取默认\n _this.queryCfgTaxSettingByBuildIdsAndFeeCode();\n }\n }\n },\n payer: {\n fail: false,\n all: [],\n active: {\n man: '',\n mobile: ''\n },\n refreshMenu: function refreshMenu(res) {\n _this.payer.fail = false;\n\n if (_this.details.status == '1') {\n //收款账单\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryByLesseeName\"])({\n lesseeName: res.activeText\n }).then(function (data) {\n _this.payer.all = data.data;\n\n _this.$refs.billModal_2.closeLoading();\n });\n } else {\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryLesseeAndChannelByName\"])({\n lesseeName: res.activeText\n }).then(function (data) {\n _this.payer.all = data.data;\n\n _this.$refs.billModal_2.closeLoading();\n });\n }\n },\n activeItem: function activeItem(res) {\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryLesseeInfoById\"])({\n id: res.item.id\n }).then(function (res) {\n _this.$set(_this.payer.active, 'man', res.data.mdmLinkmanVo.linkmanName);\n\n _this.$set(_this.payer.active, 'mobile', res.data.mdmLinkmanVo.phoneNo);\n });\n _this.contract.active = {};\n _this.$refs.billModal_1.active = '';\n _this.$refs.expensesAndReceipts_1.active = res.item.text;\n }\n },\n account: {\n all: [],\n active: [],\n fail: false,\n add: function add() {\n if (_this.house.active.length === 0) {\n _this.account.active = [];\n _this.$refs.billModal_3.active = '';\n } else {\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryCfgBuildReceiptManagerSelectListBySpaceIds\"])({\n spaceIds: _this.house.active.map(function (item) {\n return item.id;\n }).join(',')\n }).then(function (res) {\n _this.account.all = res.data;\n\n var setAccount = function setAccount(account) {\n _this.account.active = account;\n _this.$refs.billModal_3.active = account.text;\n };\n\n if (res.data.length !== 0) {\n if (Object.keys(_this.contract.active).length > 0) {\n var account = res.data.find(function (item) {\n return item.id == _this.contract.active.accountId;\n });\n\n if (account) {\n setAccount(account);\n } else {\n setAccount(res.data[0]);\n }\n } else {\n setAccount(res.data[0]);\n }\n }\n });\n }\n },\n activeItem: function activeItem(res) {\n _this.account.active = res.item;\n }\n },\n finItem: {\n list: [],\n fail: false,\n active: {},\n activeItem: function activeItem(res) {\n _this.initFinBillItemDetailVoList();\n\n if (_this.details.status == 1) {\n //只有销项取默认\n _this.queryCfgTaxSettingByBuildIdsAndFeeCode();\n }\n\n if (res.item.feeType == 2 || res.item.feeType == 3) {\n _this.latefeeRate.disabled = true;\n\n _this.$set(_this.billInfo, 'latefeeRate', '');\n } else {\n _this.latefeeRate.disabled = false;\n }\n },\n refreshMenu: function refreshMenu(res) {\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryFeeCodeDataByFeeName\"])({\n feeName: res.activeText\n }).then(function (res) {\n _this.finItem.list = res.data;\n\n _this.$refs.billModal_4.closeLoading();\n });\n }\n },\n contract: {\n all: [],\n active: {},\n refreshMenu: function refreshMenu(res) {\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"contractQueryBillData\"])({\n merchantId: _this.payer.active.id,\n contCode: res.activeText\n }).then(function (data) {\n _this.contract.all = data.data.billItemList;\n\n _this.$refs.billModal_1.closeLoading();\n });\n },\n activeItem: function activeItem(res) {\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryResSpaceVoListBySpaceIds\"])({\n spaceIds: res.item.contract.spaceIds\n }).then(function (data) {\n _this.activeHouse(data.data);\n });\n _this.clauseType.active = _this.clauseType.all.find(function (item) {\n return item.code == res.item.conOrIntentType;\n });\n _this.$refs.billModal_5.active = _this.clauseType.active.text;\n }\n },\n clauseType: {\n all: [],\n active: {},\n fail: false,\n activeItem: function activeItem(res) {\n _this.clauseType.active = res.item;\n }\n },\n latefeeRate: {\n fail: false,\n promptText: '',\n disabled: false\n },\n billAmount: {\n fail: false,\n promptText: ''\n },\n taxRate: {\n active: {},\n fail: false,\n activeItem: function activeItem(res) {\n _this.taxRate.active = res.item;\n }\n },\n company: {\n fail: false,\n all: [],\n refreshMenu: function refreshMenu(res) {\n _this.company.fail = false;\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryByLesseeName\"])({\n lesseeName: res.activeText\n }).then(function (data) {\n _this.company.all = data.data;\n\n _this.$refs.expensesAndReceipts_1.closeLoading();\n });\n }\n },\n payAmount: {\n fail: false,\n promptText: ''\n },\n payAmount2: {\n fail: false,\n promptText: ''\n },\n payMethod: {\n fail: false,\n active: '',\n add: function add(res) {\n _this.payMethod.active = res.item.code;\n }\n },\n expensesAndReceiptsDetails: {},\n asdPayDate: moment__WEBPACK_IMPORTED_MODULE_15___default()(_commonJs_date_js__WEBPACK_IMPORTED_MODULE_19___default.a.fullToday),\n finBillItemDetailVoList: [],\n circle: [moment__WEBPACK_IMPORTED_MODULE_15___default()(_commonJs_date_js__WEBPACK_IMPORTED_MODULE_19___default.a.fullToday), moment__WEBPACK_IMPORTED_MODULE_15___default()(_commonJs_date_js__WEBPACK_IMPORTED_MODULE_19___default.a.fullToday)],\n accountDate: moment__WEBPACK_IMPORTED_MODULE_15___default()(_commonJs_date_js__WEBPACK_IMPORTED_MODULE_19___default.a.fullToday),\n receiptOption: {\n fail: false,\n promptText: '',\n focus: function focus() {\n _this.receiptOption.fail = false;\n }\n },\n receiptBookId: {\n all: [],\n active: '',\n get: function get() {// queryFinReceiptBookListBySubProjectId({\n // 'subProjectId': 40\n // }).then(res => {\n // this.receiptBookId.all = res.data\n // })\n },\n activeItem: function activeItem(_ref) {\n var item = _ref.item;\n _this.billInfo.finReceiptVoList[0].receiptBookId = item.id;\n _this.billInfo.finReceiptVoList[0].receiptCode = item.ext1;\n _this.expensesAndReceiptsDetails.receiptNumber = item.ext1;\n }\n },\n receiptCode: {\n fail: false,\n promptText: '',\n focus: function focus() {\n _this.receiptCode.fail = false;\n }\n }\n };\n },\n created: function created() {\n this.clauseType.all = this.allSelect.bill_clause_type;\n },\n methods: _objectSpread(_objectSpread(_objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_17__[\"mapMutations\"])(['loadingModalMenu'])), Object(vuex__WEBPACK_IMPORTED_MODULE_17__[\"mapActions\"])(['actionBillRefresh', 'actionPrintFileList'])), {}, {\n latefeeRatePrompt: function latefeeRatePrompt(data) {\n if (data.value.indexOf('.') != -1 && data.value.split('.')[1].length > 2) {\n this.latefeeRate.fail = true;\n this.latefeeRate.promptText = '请保留两位小数';\n } else if (data.value && Number(data.value) < 0) {\n this.latefeeRate.fail = true;\n this.latefeeRate.promptText = '所填内容不能为负';\n }\n },\n billAmountPrompt: function billAmountPrompt(data) {\n if (data.value.indexOf('.') != -1 && data.value.split('.')[1].length > 2) {\n this.billAmount.fail = true;\n this.billAmount.promptText = '请保留两位小数';\n } else if (Number(data.value) <= 0) {\n this.billAmount.fail = true;\n this.billAmount.promptText = '所填内容需大于0';\n } else {\n this.$set(this.expensesAndReceiptsDetails, 'payAmount', data.value);\n this.initFinBillItemDetailVoList();\n }\n },\n activeHouse: function activeHouse(res) {\n this.house.area = 0;\n\n for (var key in res) {\n this.house.area += Number(res[key].maxArea);\n }\n\n this.house.active = res;\n this.account.add();\n this.initFinBillItemDetailVoList();\n },\n houseDelete: function houseDelete(item) {\n this.$refs.MultiSelectHouse.houseDelete(item);\n this.account.add();\n },\n payAmountPrompt: function payAmountPrompt(data) {\n if (data.value.indexOf('.') != -1 && data.value.split('.')[1].length > 2) {\n this.payAmount.fail = true;\n this.payAmount.promptText = '请保留两位小数';\n } else if (Number(data.value) <= 0) {\n this.payAmount.fail = true;\n this.payAmount.promptText = '所填内容需大于0';\n }\n },\n payAmountPrompt2: function payAmountPrompt2(data) {\n if (data.value.indexOf('.') != -1 && data.value.split('.')[1].length > 2) {\n this.payAmount2.fail = true;\n this.payAmount2.promptText = '请保留两位小数';\n } else if (Number(data.value) <= 0) {\n this.payAmount2.fail = true;\n this.payAmount2.promptText = '所填内容需大于0';\n } else if (Number(data.value) > this.expensesAndReceiptsDetails.payAmount) {\n this.payAmount2.fail = true;\n this.payAmount2.promptText = '所填内容不超过发生金额';\n }\n },\n initFinBillItemDetailVoList: function initFinBillItemDetailVoList() {\n var _this2 = this;\n\n if (this.finBillItemDetailVoList.length == 0 && Object.keys(this.finItem.active).length !== 0 && this.billInfo.billAmount && this.house.active.length !== 0) {\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryCfgRevenueRecognitionItemBySubProjecIdAndItemType\"])({\n subProjectId: this.house.active[0].subProjectId,\n itemType: 2,\n feeCode: 2\n }).then(function (res) {\n _this2.billInfo.cfgRevenueItemId = res.data.id;\n var month = '';\n\n switch (res.data.powerMonthDefine) {\n case '1':\n month = _this2.effectDate;\n break;\n\n case '2':\n month = _this2.circle[0];\n break;\n\n case '3':\n month = _this2.circle[1];\n break;\n\n default:\n }\n\n _this2.finBillItemDetailVoList = [new FinBillItemDetailVoList(_this2.circle[0], _this2.circle[1], _this2.billInfo.billAmount, month)];\n });\n }\n },\n changeCircle: function changeCircle() {\n if (this.finBillItemDetailVoList.length > 0) {\n this.finBillItemDetailVoList[0].startDate = this.circle[0];\n this.finBillItemDetailVoList[this.finBillItemDetailVoList.length - 1].endDate = this.circle[1];\n }\n },\n addFinBillItemDetailVoList: function addFinBillItemDetailVoList() {\n if (this.finBillItemDetailVoList[this.finBillItemDetailVoList.length - 1].startDate.valueOf() == this.finBillItemDetailVoList[this.finBillItemDetailVoList.length - 1].endDate.valueOf()) {\n this.$message.error('最后一条的计费开始日期和结束日期相同,无法添加权责月');\n return;\n }\n\n this.finBillItemDetailVoList.push(new FinBillItemDetailVoList(this.finBillItemDetailVoList[this.finBillItemDetailVoList.length - 1].endDate, this.finBillItemDetailVoList[this.finBillItemDetailVoList.length - 1].endDate));\n this.finBillItemDetailVoList[this.finBillItemDetailVoList.length - 2].endDate = moment__WEBPACK_IMPORTED_MODULE_15___default()(this.finBillItemDetailVoList[this.finBillItemDetailVoList.length - 1].endDate.valueOf() - 1000 * 60 * 60 * 24);\n },\n deleteFinBillItemDetailVoList: function deleteFinBillItemDetailVoList(index) {\n if (index == 0) {\n this.finBillItemDetailVoList[1].startDate = this.finBillItemDetailVoList[0].startDate;\n } else if (index == this.finBillItemDetailVoList.length - 1) {\n this.finBillItemDetailVoList[this.finBillItemDetailVoList.length - 2].endDate = this.finBillItemDetailVoList[this.finBillItemDetailVoList.length - 1].endDate;\n } else {\n this.finBillItemDetailVoList[index + 1].startDate = this.finBillItemDetailVoList[index].startDate;\n }\n\n this.finBillItemDetailVoList.splice(index, 1);\n },\n changeEndDate: function changeEndDate(index, startDate, endDate, nextEndDate) {\n if (startDate.valueOf() > endDate.valueOf()) {\n this.finBillItemDetailVoList[index].endDate = moment__WEBPACK_IMPORTED_MODULE_15___default()(this.finBillItemDetailVoList[index + 1].startDate.valueOf() - 1000 * 60 * 60 * 24);\n this.$message.error('计费结束日期需小于等于计费开始日期');\n return;\n }\n\n if (endDate.valueOf() >= nextEndDate.valueOf()) {\n this.finBillItemDetailVoList[index].endDate = moment__WEBPACK_IMPORTED_MODULE_15___default()(this.finBillItemDetailVoList[index + 1].startDate.valueOf() - 1000 * 60 * 60 * 24);\n this.$message.error('计费结束日期需小于下一阶段计费结束日期');\n return;\n }\n\n this.finBillItemDetailVoList[index + 1].startDate = moment__WEBPACK_IMPORTED_MODULE_15___default()(endDate.valueOf() + 1000 * 60 * 60 * 24);\n },\n queryCfgTaxSettingByBuildIdsAndFeeCode: function queryCfgTaxSettingByBuildIdsAndFeeCode() {\n var _this3 = this;\n\n var set = function set(taxRate) {\n _this3.taxRate.active = taxRate;\n _this3.$refs.billModal_6.active = taxRate.text;\n };\n\n if (this.house.active.length > 0 && Object.keys(this.finItem.active).length > 0) {\n var taxRate = {};\n\n if (this.finItem.active.feeType == 2 || this.finItem.active.feeType == 3) {\n taxRate = this.allSelect.tax_rate_xx.find(function (item) {\n return item.code == 'X0';\n });\n set(taxRate);\n } else {\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryCfgTaxSettingByBuildIdsAndFeeCode\"])({\n buildIds: this.house.active[0].buildId,\n feeCode: this.finItem.active.id\n }).then(function (res) {\n if (!res.data) return;\n taxRate = _this3.allSelect.tax_rate_xx.find(function (item) {\n return item.code == res.data.taxCode;\n });\n set(taxRate);\n });\n }\n }\n },\n changePayDate: function changePayDate(value) {\n this.accountDate = value;\n },\n handleOk: function handleOk() {\n var _this4 = this;\n\n if (this.billInfo.billAmount <= 0) {\n this.$message.error('账单金额不能小于等于0!');\n return;\n }\n\n if (this.payer.active.id) {\n this.billInfo.payer = this.payer.active.id;\n this.billInfo.payerName = this.payer.active.text;\n this.billInfo.linkMan = this.payer.active.man;\n this.billInfo.phoneNo = this.payer.active.mobile;\n this.billInfo.target = this.payer.active.target;\n } else {\n this.payer.fail = true;\n return;\n }\n\n if (this.latefeeRate.fail) {\n return;\n }\n\n if (Object.keys(this.finItem.active).length > 0) {\n this.billInfo.feeCode = this.finItem.active.id;\n } else {\n this.finItem.fail = true;\n return;\n }\n\n if (!this.billInfo.billAmount) {\n this.billAmount.fail = true;\n this.billAmount.promptText = '请输入数字';\n return;\n }\n\n if (Object.keys(this.taxRate.active).length > 0) {\n this.billInfo.taxRate = this.taxRate.active.value;\n this.billInfo.taxCode = this.taxRate.active.code;\n } else {\n this.taxRate.fail = true;\n return;\n }\n\n if (this.house.active.length !== 0) {\n this.billInfo.spaces = this.house.active;\n } else {\n this.house.fail = true;\n return;\n }\n\n if (this.account.active.length !== 0) {\n this.billInfo.receiptId = this.account.active.id;\n } else {\n this.account.fail = true;\n return;\n }\n\n if (this.finBillItemDetailVoList.length !== 0) {\n var plusPlanAmount = 0,\n finBillItemDetailVoList = [];\n\n for (var i = 0; i < this.finBillItemDetailVoList.length; i++) {\n if (!this.finBillItemDetailVoList[i].planAmount) {\n this.$message.error('权责月应收金额不能为空');\n return;\n } else if (this.finBillItemDetailVoList[i].planAmount < 0) {\n this.$message.error('权责月应收金额不能输入负数');\n return;\n } else {\n plusPlanAmount = Object(_commonJs_common__WEBPACK_IMPORTED_MODULE_18__[\"plus\"])(plusPlanAmount, this.finBillItemDetailVoList[i].planAmount);\n }\n\n if (this.finItem.active.feeType == 1 && !this.finBillItemDetailVoList[i].month) {\n this.$message.error('请选择权责月');\n return;\n }\n\n finBillItemDetailVoList.push({\n startDate: this.finBillItemDetailVoList[i].startDate.format('YYYY.MM.DD'),\n endDate: this.finBillItemDetailVoList[i].endDate.format('YYYY.MM.DD'),\n planAmount: this.finBillItemDetailVoList[i].planAmount,\n rightMonth: this.finItem.active.feeType == 1 ? this.finBillItemDetailVoList[i].month.format('YYYY-MM').split('-')[1] : '',\n rightYear: this.finItem.active.feeType == 1 ? this.finBillItemDetailVoList[i].month.format('YYYY-MM').split('-')[0] : ''\n });\n }\n\n if (plusPlanAmount != this.billInfo.billAmount) {\n this.$message.error('权责月应收金额之和应等于账单金额');\n return;\n }\n\n this.billInfo.finBillItemDetailVoList = finBillItemDetailVoList;\n } else {\n this.$message.info('权责月正在生成,请确认权责月后重新保存账单');\n return;\n }\n\n if (this.billInfo.hasFinReceiptPayment) {\n if (this.$refs.expensesAndReceipts_1.active === '') {\n this.company.fail = true;\n return;\n } else {\n this.expensesAndReceiptsDetails.companyText = this.$refs.expensesAndReceipts_1.active;\n }\n\n if (!this.expensesAndReceiptsDetails.payAmount) {\n this.payAmount.fail = true;\n this.payAmount.promptText = '请输入数字';\n return;\n } else if (this.payAmount.fail) {\n return;\n } else if (this.expensesAndReceiptsDetails.payAmount * 1 > this.billInfo.billAmount * 1) {\n this.$message.error('发生金额不能大于账单金额');\n return;\n }\n\n if (!this.payMethod.active) {\n this.payMethod.fail = true;\n return;\n }\n /*<添加收据>*/\n\n\n if (this.billInfo.hasReceipt) {\n if (this.billInfo.finReceiptVoList[0].payer.length < 2) {\n this.$message.warning('请正确填写付款单位');\n return;\n }\n\n if (this.billInfo.finReceiptVoList[0].receiptAmount > this.expensesAndReceiptsDetails.payAmount) {\n this.payAmount2.fail = true;\n this.payAmount2.promptText = '所填内容不超过发生金额';\n return;\n }\n\n if (this.billInfo.finReceiptVoList[0].receiptAmount <= 0) {\n this.payAmount2.fail = true;\n this.payAmount2.promptText = '填入正确的发生金额';\n return;\n }\n\n if (!this.billInfo.finReceiptVoList[0].receiptUserName) {\n this.$message.warning('填入正确的开具人');\n return;\n }\n\n if (!this.billInfo.finReceiptVoList[0].receiptCode) {\n this.$message.warning('填入正确的收据编号');\n return;\n }\n\n this.billInfo.finReceiptVoList[0].receiptOption = this.billInfo.finReceiptVoList[0].receiptOption.text;\n } else {\n delete this.billInfo.finReceiptVoList;\n }\n /*</添加收据>*/\n\n\n this.loadingModalMenu();\n this.expensesAndReceiptsDetails.payDate = moment__WEBPACK_IMPORTED_MODULE_15___default()(this.asdPayDate).format('YYYY.MM.DD');\n\n if (this.accountDate) {\n this.expensesAndReceiptsDetails.accountDate = moment__WEBPACK_IMPORTED_MODULE_15___default()(this.accountDate).format('YYYY.MM.DD');\n }\n\n this.expensesAndReceiptsDetails.receivedAmount = this.receivedAmount;\n this.expensesAndReceiptsDetails.payMethod = this.payMethod.active;\n this.expensesAndReceiptsDetails.loanType = this.details.status;\n this.billInfo.finReceiptPaymentVoList = [this.expensesAndReceiptsDetails];\n }\n\n this.billInfo.billSourceCode = 'SDZJZD';\n this.billInfo.effectDate = moment__WEBPACK_IMPORTED_MODULE_15___default()(this.effectDate).format('YYYY.MM.DD');\n this.billInfo.startDate = moment__WEBPACK_IMPORTED_MODULE_15___default()(this.circle[0]).format('YYYY.MM.DD');\n this.billInfo.endDate = moment__WEBPACK_IMPORTED_MODULE_15___default()(this.circle[1]).format('YYYY.MM.DD');\n this.billInfo.billType = this.details.status;\n this.billInfo.taxAmount = this.taxAmount;\n this.billInfo.taxFreeAmount = this.taxFreeAmount;\n\n if (Object.keys(this.contract.active).length !== 0) {\n this.billInfo.contPk = this.contract.active.id;\n this.billInfo.contId = this.contract.active.conOrIntentId;\n this.billInfo.contCode = this.contract.active.code;\n this.billInfo.moduleCode = this.contract.active.type;\n }\n\n if (Object.keys(this.clauseType.active).length !== 0) {\n this.billInfo.clauseType = this.clauseType.active.code;\n }\n\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"createFinBillWithReceiptPayment\"])(this.billInfo).then(function (res) {\n _this4.$message.success('新增成功');\n\n _this4.actionBillRefresh({\n id: res.data.id\n });\n\n if (!_this4.billInfo.hasPrintReceipt) {\n _this4.$store.state.modalMenu.splice(-1, 1);\n }\n\n _this4.billInfo.hasPrintReceipt && Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"batchPrintBill\"])('', {\n receiptIds: res.data.finReceiptVoList[0].id\n }).then(function (res) {\n _this4.actionPrintFileList(res.data);\n\n _this4.$nextTick(function () {\n $('#printIframe').jqprint();\n\n _this4.$store.state.modalMenu.splice(-1, 1);\n });\n });\n });\n },\n\n /*新增租客*/\n addRent: function addRent() {\n this.$store.state.modalMenu.push({\n id: 'tenantManagementModal',\n title: '新增租客',\n footer: null,\n width: '1056px'\n });\n },\n onChange: function onChange(e) {\n var hasCheck = e.target.checked;\n\n if (!hasCheck) {\n this.billInfo.hasReceipt = hasCheck;\n } else {\n if (this.house.active.length) {\n this.billInfo.hasReceipt = hasCheck;\n } else {\n this.$message.warning('请选择房源');\n return;\n }\n\n var combine = {\n payer: this.$refs.expensesAndReceipts_1.active,\n // 付款单位自动从发生对象带过来,可编辑。\n receiptAmount: this.expensesAndReceiptsDetails.payAmount,\n // 收据金额自动从发生金额带过来,可编辑但不小于0、不超过发生金额。\n receiptUserName: this.userInfo.userInfo.chnName,\n // 开具人默认为操作用户的姓名。\n receiptOption: this.finItem.active,\n // 款项默认从费项带过来,允许编辑。\n receiptCode: this.rbReceiptCode // 收据本编码\n\n };\n Object.assign(this.billInfo.finReceiptVoList[0], combine);\n }\n\n this.hasReceiptLoading = false;\n },\n handerReceiptNumber: function handerReceiptNumber(e) {\n this.expensesAndReceiptsDetails.receiptNumber = e.target.value;\n }\n }),\n watch: {\n tenantManagementAddData: function tenantManagementAddData(value) {\n this.payer.activeItem({\n item: value\n });\n this.$refs.billModal_2.active = value.text;\n },\n 'billInfo.hasReceipt': function billInfoHasReceipt(value) {\n if (value && typeof this.receiptNumber === 'undefined') {\n this.receiptNumber = this.expensesAndReceiptsDetails.receiptNumber; // 默认的 收据号\n }\n\n if (value) {\n this.expensesAndReceiptsDetails.receiptNumber = this.rbReceiptCode;\n } else {\n this.billInfo.hasPrintReceipt = false;\n this.expensesAndReceiptsDetails.receiptNumber = this.receiptNumber ? this.receiptNumber : '';\n delete this.receiptNumber;\n }\n },\n 'house.active': function houseActive(value) {\n var _this5 = this;\n\n if (value.length) {\n var buildId = [];\n value.forEach(function (item) {\n return buildId.push(item.buildId);\n });\n this.rbBuildIdes = buildId.join(',');\n this.rbSubProjectId = value[0].subProjectId; // 获取收据本\n\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryFinReceiptBookListBySubProjectId\"])({\n subProjectId: this.rbSubProjectId\n }).then(function (res) {\n _this5.receiptBookId.all = res.data;\n }); // 获取默认 - 收据编号\n\n Object(_service_getData__WEBPACK_IMPORTED_MODULE_16__[\"queryCfgBuildDataRuleListByBuildIds\"])({\n buildIds: this.rbBuildIdes\n }).then(function (res) {\n _this5.rbReceiptCode = res.data;\n });\n } else {\n this.rbBuildIdes = '';\n this.rbSubProjectId = '';\n this.rbReceiptCode = '';\n }\n }\n },\n components: {\n saasDatePicker: _components_saasDatePicker__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n saasSelect: _components_saasSelect__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n fuzzySearch: _components_fuzzySearch__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n MultiSelectHouse: _components_MultiSelectHouse__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n inputPrompt: _components_inputPrompt__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n inputSelect: _components_inputSelect__WEBPACK_IMPORTED_MODULE_14__[\"default\"]\n },\n computed: _objectSpread(_objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_17__[\"mapGetters\"])([// 从store上绑定的getters中载入需要的到此组件中\n 'allSelect', 'userInfo', 'tenantManagementAddData'])), {}, {\n taxAmount: function taxAmount() {\n return Object(_commonJs_common__WEBPACK_IMPORTED_MODULE_18__[\"minus\"])(this.billInfo.billAmount, this.taxFreeAmount);\n },\n taxFreeAmount: function taxFreeAmount() {\n return Object(_commonJs_common__WEBPACK_IMPORTED_MODULE_18__[\"div\"])(this.billInfo.billAmount, Object(_commonJs_common__WEBPACK_IMPORTED_MODULE_18__[\"plus\"])(1, Object(_commonJs_common__WEBPACK_IMPORTED_MODULE_18__[\"div\"])(this.taxRate.active.value, 100)), 2);\n },\n receivedAmount: function receivedAmount() {\n return Object(_commonJs_common__WEBPACK_IMPORTED_MODULE_18__[\"minus\"])(this.expensesAndReceiptsDetails.payAmount, this.expensesAndReceiptsDetails.procedureAmount);\n }\n })\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPyEuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vc3JjL21vZGFscy9jb2xsZWN0aW9uQmlsbE1vZGFsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vY29sbGVjdGlvbkJpbGxNb2RhbC52dWU/NjM2YSJdLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJzdF9zYWFzX21vZGFsIGJpbGxNb2RhbFwiPlxuICAgIDxhLXJvdyA6Z3V0dGVyPVwiMjRcIiA6c3R5bGU9XCJ7IHBhZGRpbmc6ICcwIDE2cHgnIH1cIj5cbiAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgIDxoMz5cbiAgICAgICAgICB7eyBkZXRhaWxzLnN0YXR1cyA9PSAnMicgPyAn5pS25qy+5pa5JyA6ICfku5jmrL7mlrknIH19XG4gICAgICAgICAgPHNwYW4+Kjwvc3Bhbj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgc3R5bGU9XCJmbG9hdDogcmlnaHRcIlxuICAgICAgICAgICAgQGNsaWNrPVwiYWRkUmVudFwiXG4gICAgICAgICAgICB2LWlmPVwiXG4gICAgICAgICAgICAgIHVzZXJJbmZvLmF1dGhvcml0eUxpc3QuVE1fdGVuYW50VW5pdEluZm9FZGl0X2J1dHRvbiB8fFxuICAgICAgICAgICAgICAgICh1c2VySW5mby5hdXRob3JpdHlMaXN0LlRNX3RlbmFudFByb2plY3RJbmZvRWRpdF9idXR0b24gJiZcbiAgICAgICAgICAgICAgICAgIGRldGFpbHMuc3RhdHVzICE9ICcyJylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGEtaWNvbiB0eXBlPVwidXNlcmdyb3VwLWFkZFwiIHNpemU9XCJsYXJnZVwiIC8+5paw5aKe56ef5a6iXG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8ZnV6enlTZWFyY2hcbiAgICAgICAgICByZWY9XCJiaWxsTW9kYWxfMlwiXG4gICAgICAgICAgaWQ9XCJiaWxsTW9kYWxfMlwiXG4gICAgICAgICAgOnNlbGVjdE1lbnU9XCJwYXllci5hbGxcIlxuICAgICAgICAgIDpwbGFjZWhvbGRlcj1cImRldGFpbHMuc3RhdHVzID09ICcyJyA/ICfor7fpgInmi6nmlLbmrL7mlrknIDogJ+ivt+mAieaLqeS7mOasvuaWuSdcIlxuICAgICAgICAgIHYtbW9kZWw9XCJwYXllci5hY3RpdmVcIlxuICAgICAgICAgIEBfcmVmcmVzaE1lbnU9XCJwYXllci5yZWZyZXNoTWVudVwiXG4gICAgICAgICAgOmZhaWwuc3luYz1cInBheWVyLmZhaWxcIlxuICAgICAgICAgIDptdWx0aXBsZT1cImZhbHNlXCJcbiAgICAgICAgICBAX2FjdGl2ZUl0ZW09XCJwYXllci5hY3RpdmVJdGVtXCJcbiAgICAgICAgPjwvZnV6enlTZWFyY2g+XG4gICAgICA8L2EtY29sPlxuICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgPGgzPlxuICAgICAgICAgIHt7IGRldGFpbHMuc3RhdHVzID09ICcxJyA/ICflupTmlLbml6XmnJ8nIDogJ+W6lOS7mOaXpeacnycgfX1cbiAgICAgICAgICA8c3Bhbj4qPC9zcGFuPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8YS1kYXRlLXBpY2tlclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5bqU5pS25pel5pyfXCJcbiAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlO1wiXG4gICAgICAgICAgdi1tb2RlbD1cImVmZmVjdERhdGVcIlxuICAgICAgICAvPlxuICAgICAgPC9hLWNvbD5cbiAgICA8L2Etcm93PlxuICAgIDxhLXJvdyA6Z3V0dGVyPVwiMjRcIiA6c3R5bGU9XCJ7IHBhZGRpbmc6ICcwIDE2cHgnIH1cIj5cbiAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgIDxoMz7lhbPogZTlkIjlkIwv5oSP5ZCR5Y2P6K6uPC9oMz5cbiAgICAgICAgPGZ1enp5U2VhcmNoXG4gICAgICAgICAgcmVmPVwiYmlsbE1vZGFsXzFcIlxuICAgICAgICAgIGlkPVwiYmlsbE1vZGFsXzFcIlxuICAgICAgICAgIDpzZWxlY3RNZW51PVwiY29udHJhY3QuYWxsXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+mAieaLqeWFs+iBlOWQiOWQjC/mhI/lkJHljY/orq5cIlxuICAgICAgICAgIHYtbW9kZWw9XCJjb250cmFjdC5hY3RpdmVcIlxuICAgICAgICAgIEBfYWN0aXZlSXRlbT1cImNvbnRyYWN0LmFjdGl2ZUl0ZW1cIlxuICAgICAgICAgIEBfcmVmcmVzaE1lbnU9XCJjb250cmFjdC5yZWZyZXNoTWVudVwiXG4gICAgICAgICAgOm11bHRpcGxlPVwiZmFsc2VcIlxuICAgICAgICA+PC9mdXp6eVNlYXJjaD5cbiAgICAgIDwvYS1jb2w+XG4gICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICA8aDM+5p2h5qy+57G75Z6LPC9oMz5cbiAgICAgICAgPGEtaW5wdXRcbiAgICAgICAgICB2LWlmPVwiT2JqZWN0LmtleXModGhpcy5jb250cmFjdC5hY3RpdmUpLmxlbmd0aCA+IDBcIlxuICAgICAgICAgIDp2YWx1ZT1cImNsYXVzZVR5cGUuYWN0aXZlLnRleHRcIlxuICAgICAgICAgIGRpc2FibGVkXG4gICAgICAgID48L2EtaW5wdXQ+XG4gICAgICAgIDxzYWFzU2VsZWN0XG4gICAgICAgICAgcmVmPVwiYmlsbE1vZGFsXzVcIlxuICAgICAgICAgIHJlcXVpcmVkPVwidHJ1ZVwiXG4gICAgICAgICAgOmZhaWw9XCJjbGF1c2VUeXBlLmZhaWxcIlxuICAgICAgICAgIGlkPVwiYmlsbE1vZGFsXzVcIlxuICAgICAgICAgIDpzZWxlY3RNZW51PVwiY2xhdXNlVHlwZS5hbGxcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5p2h5qy+57G75Z6LXCJcbiAgICAgICAgICBAX2FjdGl2ZUl0ZW09XCJjbGF1c2VUeXBlLmFjdGl2ZUl0ZW1cIlxuICAgICAgICAgIHYtZWxzZVxuICAgICAgICA+PC9zYWFzU2VsZWN0PlxuICAgICAgPC9hLWNvbD5cbiAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgIDxoMz7ogZTns7vkuro8L2gzPlxuICAgICAgICA8YS1pbnB1dFxuICAgICAgICAgIDpkaXNhYmxlZD1cImRldGFpbHMuY29udENvZGUgPyB0cnVlIDogZmFsc2VcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6IGU57O75Lq6XCJcbiAgICAgICAgICB2LW1vZGVsPVwicGF5ZXIuYWN0aXZlLm1hblwiXG4gICAgICAgIC8+XG4gICAgICA8L2EtY29sPlxuICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgPGgzPuiBlOezu+eUteivnTwvaDM+XG4gICAgICAgIDxhLWlucHV0XG4gICAgICAgICAgOmRpc2FibGVkPVwiZGV0YWlscy5jb250Q29kZSA/IHRydWUgOiBmYWxzZVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXogZTns7vnlLXor51cIlxuICAgICAgICAgIHYtbW9kZWw9XCJwYXllci5hY3RpdmUubW9iaWxlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvYS1jb2w+XG4gICAgPC9hLXJvdz5cbiAgICA8ZGl2IGNsYXNzPVwiaG91c2VDYXJkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaG91c2VUaXRsZVwiPlxuICAgICAgICA8aDI+XG4gICAgICAgICAg5oi/5rqQXG4gICAgICAgICAgPHNwYW4+Kjwvc3Bhbj5cbiAgICAgICAgPC9oMj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0Qm94XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICDmiL/mupDmlbDvvJpcbiAgICAgICAgICAgIDxzcGFuPnt7IGhvdXNlLmFjdGl2ZS5sZW5ndGggfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICDpnaLnp6/vvJpcbiAgICAgICAgICAgIDxzcGFuPnt7IGhvdXNlLmFyZWEgfX3jjqE8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaG91c2VCb3hcIj5cbiAgICAgICAgPE11bHRpU2VsZWN0SG91c2VcbiAgICAgICAgICA6ZmFpbD1cImhvdXNlLmZhaWxcIlxuICAgICAgICAgIHJlZj1cIk11bHRpU2VsZWN0SG91c2VcIlxuICAgICAgICAgIHdpZHRoPVwiMzYwcHhcIlxuICAgICAgICAgIGhlaWdodD1cIjMycHhcIlxuICAgICAgICAgIGlkPVwiMVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nlupTnlKjmiL/mupBcIlxuICAgICAgICAgIHJlcXVpcmVkPVwidHJ1ZVwiXG4gICAgICAgICAgQF9hY3RpdmVIb3VzZT1cImhvdXNlLmFjdGl2ZUl0ZW1cIlxuICAgICAgICAgIDpzcGFjZVR5cGU9XCJ7IGlzRHNhYmxlZDogdHJ1ZSB9XCJcbiAgICAgICAgPjwvTXVsdGlTZWxlY3RIb3VzZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2ZUhvdXNlTGlzdFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYWN0aXZlSG91c2VDYXJkXCJcbiAgICAgICAgICAgIHYtZm9yPVwiaXRlbSBpbiBob3VzZS5hY3RpdmVcIlxuICAgICAgICAgICAgOmtleT1cIml0ZW0uaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3RpdmVIb3VzZUxlZnRcIj5cbiAgICAgICAgICAgICAgPGltZyA6c3JjPVwiaXRlbS5pY29uXCIgLz5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5idWlsZE5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3RpdmVIb3VzZVJpZ2h0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubWF4QXJlYSB9feOOoVxuICAgICAgICAgICAgICAgIDxhLWRpdmlkZXIgdHlwZT1cInZlcnRpY2FsXCIgLz5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLnNwYWNlTmFtZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGEgQGNsaWNrPVwiaG91c2VEZWxldGUoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICA8YS1pY29uXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cImZvbnRTaXplPTEwcHg7Y29sb3I6IHJnYmEoMCwwLDAsMC4xNSlcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImNsb3NlXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZXhwZW5kaXR1cmVDYXJkXCI+XG4gICAgICA8aDI+6LS56aG5PC9oMj5cbiAgICAgIDxhLXJvdyA6Z3V0dGVyPVwiMjRcIiA6c3R5bGU9XCJ7IHBhZGRpbmc6ICcwIDE2cHgnIH1cIj5cbiAgICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgICA8aDM+XG4gICAgICAgICAgICDotLnpoblcbiAgICAgICAgICAgIDxzcGFuPio8L3NwYW4+XG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8ZnV6enlTZWFyY2hcbiAgICAgICAgICAgIHJlZj1cImJpbGxNb2RhbF80XCJcbiAgICAgICAgICAgIGlkPVwiYmlsbE1vZGFsXzRcIlxuICAgICAgICAgICAgOnNlbGVjdE1lbnU9XCJmaW5JdGVtLmxpc3RcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fpgInmi6notLnpoblcIlxuICAgICAgICAgICAgdi1tb2RlbD1cImZpbkl0ZW0uYWN0aXZlXCJcbiAgICAgICAgICAgIEBfYWN0aXZlSXRlbT1cImZpbkl0ZW0uYWN0aXZlSXRlbVwiXG4gICAgICAgICAgICA6ZmFpbC5zeW5jPVwiZmluSXRlbS5mYWlsXCJcbiAgICAgICAgICAgIEBfcmVmcmVzaE1lbnU9XCJmaW5JdGVtLnJlZnJlc2hNZW51XCJcbiAgICAgICAgICAgIDptdWx0aXBsZT1cImZhbHNlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8dGVtcGxhdGUgI2RlZmF1bHQ9XCJkYXRhXCI+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHt7IGRhdGEuZGF0YS50ZXh0IH19XG4gICAgICAgICAgICAgICAge3sgZGF0YS5kYXRhLmZlZVR5cGUgPT0gMiA/ICco5oq8KScgOiAnJyB9fVxuICAgICAgICAgICAgICAgIHt7IGRhdGEuZGF0YS5mZWVUeXBlID09IDMgPyAnKOmihCknIDogJycgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Z1enp5U2VhcmNoPlxuICAgICAgICA8L2EtY29sPlxuICAgICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICAgIDxpbnB1dFByb21wdFxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICB1bml0PVwi5YWDXCJcbiAgICAgICAgICAgIHJlcXVpcmVkPVwidHJ1ZVwiXG4gICAgICAgICAgICBsYWJlbD1cIui0puWNlemHkeminVwiXG4gICAgICAgICAgICB2LW1vZGVsPVwiYmlsbEluZm8uYmlsbEFtb3VudFwiXG4gICAgICAgICAgICBAX3Byb21wdD1cImJpbGxBbW91bnRQcm9tcHRcIlxuICAgICAgICAgICAgOmZhaWwuc3luYz1cImJpbGxBbW91bnQuZmFpbFwiXG4gICAgICAgICAgICA6cHJvbXB0VGV4dD1cImJpbGxBbW91bnQucHJvbXB0VGV4dFwiXG4gICAgICAgICAgPjwvaW5wdXRQcm9tcHQ+XG4gICAgICAgIDwvYS1jb2w+XG4gICAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgICAgPGgzPlxuICAgICAgICAgICAg56iO546HXG4gICAgICAgICAgICA8c3Bhbj4qPC9zcGFuPlxuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPHNhYXNTZWxlY3RcbiAgICAgICAgICAgIHJlZj1cImJpbGxNb2RhbF82XCJcbiAgICAgICAgICAgIHJlcXVpcmVkPVwidHJ1ZVwiXG4gICAgICAgICAgICA6ZmFpbD1cInRheFJhdGUuZmFpbFwiXG4gICAgICAgICAgICBpZD1cImJpbGxNb2RhbF82XCJcbiAgICAgICAgICAgIDpzZWxlY3RNZW51PVwiXG4gICAgICAgICAgICAgIGRldGFpbHMuc3RhdHVzID09ICcxJ1xuICAgICAgICAgICAgICAgID8gYWxsU2VsZWN0LnRheF9yYXRlX3h4XG4gICAgICAgICAgICAgICAgOiBhbGxTZWxlY3QudGF4X3JhdGVfanhcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+mAieaLqeeojueOh1wiXG4gICAgICAgICAgICBAX2FjdGl2ZUl0ZW09XCJ0YXhSYXRlLmFjdGl2ZUl0ZW1cIlxuICAgICAgICAgID48L3NhYXNTZWxlY3Q+XG4gICAgICAgIDwvYS1jb2w+XG4gICAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgICAgPGgzPlxuICAgICAgICAgICAg6K6h6LS55ZGo5pyfXG4gICAgICAgICAgICA8c3Bhbj4qPC9zcGFuPlxuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGEtcmFuZ2UtcGlja2VyXG4gICAgICAgICAgICA6c3R5bGU9XCJ7IHdpZHRoOiAnMTAwJScgfVwiXG4gICAgICAgICAgICB2LW1vZGVsPVwiY2lyY2xlXCJcbiAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cIlsn5byA5aeL5pel5pyfJywgJ+e7k+adn+aXpeacnyddXCJcbiAgICAgICAgICAgIEBjaGFuZ2U9XCJjaGFuZ2VDaXJjbGVcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvYS1jb2w+XG4gICAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgICAgPGlucHV0UHJvbXB0XG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIHVuaXQ9XCLlhYNcIlxuICAgICAgICAgICAgbGFiZWw9XCLkuI3lkKvnqI7ph5Hpop1cIlxuICAgICAgICAgICAgdi1tb2RlbD1cInRheEZyZWVBbW91bnRcIlxuICAgICAgICAgICAgOmRpc2FibGVkPVwidHJ1ZVwiXG4gICAgICAgICAgPjwvaW5wdXRQcm9tcHQ+XG4gICAgICAgIDwvYS1jb2w+XG4gICAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgICAgPGlucHV0UHJvbXB0XG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIHVuaXQ9XCLlhYNcIlxuICAgICAgICAgICAgbGFiZWw9XCLnqI7pop1cIlxuICAgICAgICAgICAgdi1tb2RlbD1cInRheEFtb3VudFwiXG4gICAgICAgICAgICA6ZGlzYWJsZWQ9XCJ0cnVlXCJcbiAgICAgICAgICA+PC9pbnB1dFByb21wdD5cbiAgICAgICAgPC9hLWNvbD5cbiAgICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIiB2LWlmPVwiZGV0YWlscy5zdGF0dXMgPT0gJzEnXCI+XG4gICAgICAgICAgPGlucHV0UHJvbXB0XG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgIHVuaXQ9XCIlL+WkqVwiXG4gICAgICAgICAgICBsYWJlbD1cIui/nee6pumHkeavlOS+i1wiXG4gICAgICAgICAgICB2LW1vZGVsPVwiYmlsbEluZm8ubGF0ZWZlZVJhdGVcIlxuICAgICAgICAgICAgQF9wcm9tcHQ9XCJsYXRlZmVlUmF0ZVByb21wdFwiXG4gICAgICAgICAgICA6ZmFpbC5zeW5jPVwibGF0ZWZlZVJhdGUuZmFpbFwiXG4gICAgICAgICAgICA6cHJvbXB0VGV4dD1cImxhdGVmZWVSYXRlLnByb21wdFRleHRcIlxuICAgICAgICAgICAgOmRpc2FibGVkPVwibGF0ZWZlZVJhdGUuZGlzYWJsZWRcIlxuICAgICAgICAgID48L2lucHV0UHJvbXB0PlxuICAgICAgICA8L2EtY29sPlxuICAgICAgPC9hLXJvdz5cbiAgICA8L2Rpdj5cbiAgICA8YS1yb3cgOmd1dHRlcj1cIjI0XCIgOnN0eWxlPVwieyBwYWRkaW5nOiAnMCAxNnB4JyB9XCI+XG4gICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiMTJcIj5cbiAgICAgICAgPGgzPlxuICAgICAgICAgIOaUtuaUr+i0puaIt1xuICAgICAgICAgIDxzcGFuPio8L3NwYW4+XG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxzYWFzU2VsZWN0XG4gICAgICAgICAgcmVmPVwiYmlsbE1vZGFsXzNcIlxuICAgICAgICAgIHJlcXVpcmVkPVwidHJ1ZVwiXG4gICAgICAgICAgOmZhaWw9XCJhY2NvdW50LmZhaWxcIlxuICAgICAgICAgIGlkPVwiYmlsbE1vZGFsXzNcIlxuICAgICAgICAgIDpzZWxlY3RNZW51PVwiYWNjb3VudC5hbGxcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5pS25pSv6LSm5oi3XCJcbiAgICAgICAgICBAX2FjdGl2ZUl0ZW09XCJhY2NvdW50LmFjdGl2ZUl0ZW1cIlxuICAgICAgICA+PC9zYWFzU2VsZWN0PlxuICAgICAgPC9hLWNvbD5cbiAgICA8L2Etcm93PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiaG91c2VDYXJkXCJcbiAgICAgIHYtaWY9XCJmaW5CaWxsSXRlbURldGFpbFZvTGlzdC5sZW5ndGggIT0gMFwiXG4gICAgICBzdHlsZT1cInBhZGRpbmdCb3R0b206IDI0cHhcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJob3VzZVRpdGxlXCI+XG4gICAgICAgIDxoMj7mnYPotKPmnIg8L2gyPlxuICAgICAgICA8YSBAY2xpY2s9XCJhZGRGaW5CaWxsSXRlbURldGFpbFZvTGlzdFwiPisg5re75YqgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBmaW5CaWxsSXRlbURldGFpbFZvTGlzdFwiXG4gICAgICAgIDprZXk9XCJpbmRleFwiXG4gICAgICAgIGNsYXNzPVwicG93ZXJBbmRSZXNwb25zaWJpbGl0eU1vbnRoXCJcbiAgICAgID5cbiAgICAgICAgPGEtcm93IDpndXR0ZXI9XCIyNFwiPlxuICAgICAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgICAgICA8aDM+XG4gICAgICAgICAgICAgIOiuoei0ueW8gOWni+aXpeacn1xuICAgICAgICAgICAgICA8c3Bhbj4qPC9zcGFuPlxuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDxhLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup6K6h6LS55byA5aeL5pel5pyfXCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiaXRlbS5zdGFydERhdGVcIlxuICAgICAgICAgICAgICBkaXNhYmxlZFxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2EtY29sPlxuICAgICAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgICAgICA8aDM+XG4gICAgICAgICAgICAgIOiuoei0uee7k+adn+aXpeacn1xuICAgICAgICAgICAgICA8c3Bhbj4qPC9zcGFuPlxuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDxhLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup6K6h6LS557uT5p2f5pel5pyfXCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiaXRlbS5lbmREYXRlXCJcbiAgICAgICAgICAgICAgOmRpc2FibGVkPVwiaW5kZXggPT0gZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3QubGVuZ3RoIC0gMVwiXG4gICAgICAgICAgICAgIEBjaGFuZ2U9XCJcbiAgICAgICAgICAgICAgICBjaGFuZ2VFbmREYXRlKFxuICAgICAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgICAgICBpdGVtLnN0YXJ0RGF0ZSxcbiAgICAgICAgICAgICAgICAgIGl0ZW0uZW5kRGF0ZSxcbiAgICAgICAgICAgICAgICAgIGZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0W2luZGV4ICsgMV0uZW5kRGF0ZVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9hLWNvbD5cbiAgICAgICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICAgICAgPGlucHV0UHJvbXB0XG4gICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICB1bml0PVwi5YWDXCJcbiAgICAgICAgICAgICAgcmVxdWlyZWQ9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCLlupTmlLbph5Hpop1cIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiaXRlbS5wbGFuQW1vdW50XCJcbiAgICAgICAgICAgID48L2lucHV0UHJvbXB0PlxuICAgICAgICAgIDwvYS1jb2w+XG4gICAgICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgICAgIDxoMz5cbiAgICAgICAgICAgICAg5p2D6LSj5pyIXG4gICAgICAgICAgICAgIDxzcGFuPio8L3NwYW4+XG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgPGEtbW9udGgtcGlja2VyXG4gICAgICAgICAgICAgIHYtaWY9XCJmaW5JdGVtLmFjdGl2ZS5mZWVUeXBlID09IDFcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+mAieaLqeadg+i0o+aciFwiXG4gICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMCU7XCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cIml0ZW0ubW9udGhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxhLWlucHV0IHYtZWxzZSBwbGFjZWhvbGRlcj1cIi1cIiBkaXNhYmxlZCAvPlxuICAgICAgICAgIDwvYS1jb2w+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIHYtaWY9XCJmaW5CaWxsSXRlbURldGFpbFZvTGlzdC5sZW5ndGggIT09IDFcIlxuICAgICAgICAgICAgQGNsaWNrPVwiZGVsZXRlRmluQmlsbEl0ZW1EZXRhaWxWb0xpc3QoaW5kZXgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YS1pY29uXG4gICAgICAgICAgICAgIHR5cGU9XCJjbG9zZVwiXG4gICAgICAgICAgICAgIHN0eWxlPVwiZm9udFNpemU6IDE2cHg7Y29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9hLXJvdz5cbiAgICAgICAgPGEtZGl2aWRlclxuICAgICAgICAgIDpzdHlsZT1cInsgbWFyZ2luQm90dG9tOiAwIH1cIlxuICAgICAgICAgIHYtaWY9XCJpbmRleCAhPT0gZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3QubGVuZ3RoIC0gMVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YS1yb3cgOmd1dHRlcj1cIjI0XCIgOnN0eWxlPVwieyBwYWRkaW5nOiAnMCAxNnB4IDI0cHgnIH1cIj5cbiAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCIxMlwiPlxuICAgICAgICA8aDM+5aSH5rOoPC9oMz5cbiAgICAgICAgPGEtdGV4dGFyZWFcbiAgICAgICAgICA6c3R5bGU9XCJ7IGhlaWdodDogJzg4cHgnIH1cIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5aSH5rOo5L+h5oGvXCJcbiAgICAgICAgICB2LW1vZGVsPVwiYmlsbEluZm8ucmVtYXJrXCJcbiAgICAgICAgLz5cbiAgICAgIDwvYS1jb2w+XG4gICAgICA8YS1jb2xcbiAgICAgICAgY2xhc3M9XCJpbnB1dEJveFwiXG4gICAgICAgIDpzcGFuPVwiOFwiXG4gICAgICAgIHYtaWY9XCJ1c2VySW5mby5hdXRob3JpdHlMaXN0LkNCX2J1ZGdldE9wZXJhdGlvbl9idXR0b25cIlxuICAgICAgPlxuICAgICAgICA8YS1jaGVja2JveFxuICAgICAgICAgIDpzdHlsZT1cInsgbWFyZ2luVG9wOiAnMTE2cHgnIH1cIlxuICAgICAgICAgIHYtbW9kZWw9XCJiaWxsSW5mby5oYXNGaW5SZWNlaXB0UGF5bWVudFwiXG4gICAgICAgICAgPua3u+WKoOaUtuaUr+a1geawtDwvYS1jaGVja2JveFxuICAgICAgICA+XG4gICAgICA8L2EtY29sPlxuICAgIDwvYS1yb3c+XG4gICAgPGEtcm93XG4gICAgICA6Z3V0dGVyPVwiMjRcIlxuICAgICAgOnN0eWxlPVwieyBwYWRkaW5nOiAnMCAxNnB4JyB9XCJcbiAgICAgIHYtc2hvdz1cImJpbGxJbmZvLmhhc0ZpblJlY2VpcHRQYXltZW50XCJcbiAgICA+XG4gICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICA8aDM+XG4gICAgICAgICAg5Y+R55Sf5a+56LGh77yI5a+55pa55Y2V5L2N77yJXG4gICAgICAgICAgPHNwYW4+Kjwvc3Bhbj5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGlucHV0U2VsZWN0XG4gICAgICAgICAgcmVmPVwiZXhwZW5zZXNBbmRSZWNlaXB0c18xXCJcbiAgICAgICAgICBpZD1cImV4cGVuc2VzQW5kUmVjZWlwdHNfMVwiXG4gICAgICAgICAgOnNlbGVjdE1lbnU9XCJjb21wYW55LmFsbFwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlj5HnlJ/lr7nosaFcIlxuICAgICAgICAgIHJlcXVpcmVkPVwidHJ1ZVwiXG4gICAgICAgICAgQF9yZWZyZXNoTWVudT1cImNvbXBhbnkucmVmcmVzaE1lbnVcIlxuICAgICAgICAgIDpmYWlsPVwiY29tcGFueS5mYWlsXCJcbiAgICAgICAgPjwvaW5wdXRTZWxlY3Q+XG4gICAgICA8L2EtY29sPlxuICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgPGlucHV0UHJvbXB0XG4gICAgICAgICAgcmVxdWlyZWQ9XCJ0cnVlXCJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICB1bml0PVwi5YWDXCJcbiAgICAgICAgICBsYWJlbD1cIuWPkeeUn+mHkeminVwiXG4gICAgICAgICAgdi1tb2RlbD1cImV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLnBheUFtb3VudFwiXG4gICAgICAgICAgQF9wcm9tcHQ9XCJwYXlBbW91bnRQcm9tcHRcIlxuICAgICAgICAgIDpmYWlsLnN5bmM9XCJwYXlBbW91bnQuZmFpbFwiXG4gICAgICAgICAgOnByb21wdFRleHQ9XCJwYXlBbW91bnQucHJvbXB0VGV4dFwiXG4gICAgICAgID48L2lucHV0UHJvbXB0PlxuICAgICAgPC9hLWNvbD5cbiAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgIDxoMz5cbiAgICAgICAgICDnvLTmrL7ml6XmnJ9cbiAgICAgICAgICA8c3Bhbj4qPC9zcGFuPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8YS1kYXRlLXBpY2tlclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup57y05qy+5pel5pyfXCJcbiAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlO1wiXG4gICAgICAgICAgdi1tb2RlbD1cImFzZFBheURhdGVcIlxuICAgICAgICAgIEBjaGFuZ2U9XCJjaGFuZ2VQYXlEYXRlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvYS1jb2w+XG4gICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICA8aDM+XG4gICAgICAgICAg5Yiw6LSm5pel5pyfXG4gICAgICAgICAgPHNwYW4+Kjwvc3Bhbj5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGEtZGF0ZS1waWNrZXJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+mAieaLqeWIsOi0puaXpeacn1wiXG4gICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIlxuICAgICAgICAgIHYtbW9kZWw9XCJhY2NvdW50RGF0ZVwiXG4gICAgICAgIC8+XG4gICAgICA8L2EtY29sPlxuICAgIDwvYS1yb3c+XG4gICAgPGEtZGl2aWRlclxuICAgICAgOnN0eWxlPVwieyBtYXJnaW46ICcyNHB4IDE2cHggMCcgfVwiXG4gICAgICB2LXNob3c9XCJiaWxsSW5mby5oYXNGaW5SZWNlaXB0UGF5bWVudFwiXG4gICAgLz5cbiAgICA8YS1yb3dcbiAgICAgIDpndXR0ZXI9XCIyNFwiXG4gICAgICA6c3R5bGU9XCJ7IHBhZGRpbmc6ICcwIDE2cHggMjRweCcgfVwiXG4gICAgICB2LXNob3c9XCJiaWxsSW5mby5oYXNGaW5SZWNlaXB0UGF5bWVudFwiXG4gICAgPlxuICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgPGgzPuiBlOezu+S6ujwvaDM+XG4gICAgICAgIDxhLWlucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXogZTns7vkurpcIlxuICAgICAgICAgIHYtbW9kZWw9XCJleHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy5saW5rbWFuXCJcbiAgICAgICAgLz5cbiAgICAgIDwvYS1jb2w+XG4gICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICA8aDM+XG4gICAgICAgICAg5LuY5qy+5pa55byPXG4gICAgICAgICAgPHNwYW4+Kjwvc3Bhbj5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPHNhYXNTZWxlY3RcbiAgICAgICAgICBpZD1cImV4cGVuc2VzQW5kUmVjZWlwdHNfM1wiXG4gICAgICAgICAgOnNlbGVjdE1lbnU9XCJhbGxTZWxlY3RbJ3BheV9tZXRob2QnXVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nku5jmrL7mlrnlvI9cIlxuICAgICAgICAgIHJlcXVpcmVkPVwidHJ1ZVwiXG4gICAgICAgICAgQF9hY3RpdmVJdGVtPVwicGF5TWV0aG9kLmFkZFwiXG4gICAgICAgICAgOmZhaWw9XCJwYXlNZXRob2QuZmFpbFwiXG4gICAgICAgID48L3NhYXNTZWxlY3Q+XG4gICAgICA8L2EtY29sPlxuICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgPGgzPuWvueaWuei0puWPtzwvaDM+XG4gICAgICAgIDxhLWlucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlr7nmlrnotKblj7dcIlxuICAgICAgICAgIHYtbW9kZWw9XCJleHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy5wYXlBY2NvdW50Q2FyZFwiXG4gICAgICAgIC8+XG4gICAgICA8L2EtY29sPlxuICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgPGgzPuWHreivgeWPtzwvaDM+XG4gICAgICAgIDxhLWlucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlh63or4Hlj7dcIlxuICAgICAgICAgIHYtbW9kZWw9XCJleHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy52b3VjaGVyTnVtYmVyXCJcbiAgICAgICAgLz5cbiAgICAgIDwvYS1jb2w+XG4gICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICA8aDM+5pS25o2u5Y+3PC9oMz5cbiAgICAgICAgPGEtaW5wdXRcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaUtuaNruWPt1wiXG4gICAgICAgICAgdi1tb2RlbD1cImV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLnJlY2VpcHROdW1iZXJcIlxuICAgICAgICAgIDpkaXNhYmxlZD1cImJpbGxJbmZvLmhhc1JlY2VpcHRcIlxuICAgICAgICAvPlxuICAgICAgPC9hLWNvbD5cbiAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgIDxpbnB1dFByb21wdFxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIHVuaXQ9XCLlhYNcIlxuICAgICAgICAgIGxhYmVsPVwi5omL57ut6LS5XCJcbiAgICAgICAgICB2LW1vZGVsPVwiZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMucHJvY2VkdXJlQW1vdW50XCJcbiAgICAgICAgPjwvaW5wdXRQcm9tcHQ+XG4gICAgICA8L2EtY29sPlxuICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgPGgzPuWIsOi0pumHkeminTwvaDM+XG4gICAgICAgIDxhLWlucHV0XG4gICAgICAgICAgZGlzYWJsZWRcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWIsOi0pumHkeminVwiXG4gICAgICAgICAgOnZhbHVlPVwicmVjZWl2ZWRBbW91bnRcIlxuICAgICAgICAvPlxuICAgICAgPC9hLWNvbD5cbiAgICAgIDxhLWNvbFxuICAgICAgICBjbGFzcz1cImlucHV0Qm94XCJcbiAgICAgICAgOnNwYW49XCI2XCJcbiAgICAgICAgdi1pZj1cInVzZXJJbmZvLmF1dGhvcml0eUxpc3QuQ0JfYnVkZ2V0T3BlcmF0aW9uX2J1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxhLWNoZWNrYm94XG4gICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiA1NXB4O1wiXG4gICAgICAgICAgOmNoZWNrZWQ9XCJiaWxsSW5mby5oYXNSZWNlaXB0XCJcbiAgICAgICAgICBAY2hhbmdlPVwib25DaGFuZ2VcIlxuICAgICAgICAgID7mt7vliqDmlLbmja48L2EtY2hlY2tib3hcbiAgICAgICAgPlxuICAgICAgICA8YS1jaGVja2JveFxuICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogNTVweDsgbWFyZ2luLWxlZnQ6IDIwcHhcIlxuICAgICAgICAgIHYtbW9kZWw9XCJiaWxsSW5mby5oYXNQcmludFJlY2VpcHRcIlxuICAgICAgICAgIDpkaXNhYmxlZD1cIiFiaWxsSW5mby5oYXNSZWNlaXB0XCJcbiAgICAgICAgICA+5omT5Y2w5pS25o2uPC9hLWNoZWNrYm94XG4gICAgICAgID5cbiAgICAgIDwvYS1jb2w+XG4gICAgPC9hLXJvdz5cblxuICAgIDxhLXNwaW4gOnNwaW5uaW5nPVwiaGFzUmVjZWlwdExvYWRpbmdcIj5cbiAgICAgIDxhLXJvd1xuICAgICAgICA6Z3V0dGVyPVwiMjRcIlxuICAgICAgICA6c3R5bGU9XCJ7IHBhZGRpbmc6ICcwIDE2cHggMjRweCcgfVwiXG4gICAgICAgIHYtZm9yPVwiaXRlbSBpbiBiaWxsSW5mby5maW5SZWNlaXB0Vm9MaXN0XCJcbiAgICAgICAgdi1pZj1cImJpbGxJbmZvLmhhc1JlY2VpcHRcIlxuICAgICAgPlxuICAgICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICAgIDxoMz5cbiAgICAgICAgICAgIOS7mOasvuWNleS9jVxuICAgICAgICAgICAgPHNwYW4+Kjwvc3Bhbj5cbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxhLWlucHV0IHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6IGU57O75Lq6XCIgdi1tb2RlbD1cIml0ZW0ucGF5ZXJcIiAvPlxuICAgICAgICA8L2EtY29sPlxuXG4gICAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgICAgPGgzPuS7mOasvuS6ujwvaDM+XG4gICAgICAgICAgPGEtaW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXku5jmrL7kurpcIiB2LW1vZGVsPVwiaXRlbS5wYXlOYW1lXCIgLz5cbiAgICAgICAgPC9hLWNvbD5cblxuICAgICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICAgIDxpbnB1dFByb21wdFxuICAgICAgICAgICAgcmVxdWlyZWQ9XCJ0cnVlXCJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgdW5pdD1cIuWFg1wiXG4gICAgICAgICAgICBsYWJlbD1cIuaUtuaNrumHkeminVwiXG4gICAgICAgICAgICB2LW1vZGVsPVwiaXRlbS5yZWNlaXB0QW1vdW50XCJcbiAgICAgICAgICAgIEBfcHJvbXB0PVwicGF5QW1vdW50UHJvbXB0MlwiXG4gICAgICAgICAgICA6ZmFpbC5zeW5jPVwicGF5QW1vdW50Mi5mYWlsXCJcbiAgICAgICAgICAgIDpwcm9tcHRUZXh0PVwicGF5QW1vdW50Mi5wcm9tcHRUZXh0XCJcbiAgICAgICAgICA+PC9pbnB1dFByb21wdD5cbiAgICAgICAgPC9hLWNvbD5cbiAgICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgICA8aDM+5LuY5qy+5pel5pyfPC9oMz5cbiAgICAgICAgICA8c2Fhc0RhdGVQaWNrZXIgdi1tb2RlbD1cIml0ZW0ucGF5RGF0ZVwiPjwvc2Fhc0RhdGVQaWNrZXI+XG4gICAgICAgIDwvYS1jb2w+XG4gICAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCI2XCI+XG4gICAgICAgICAgPGgzPlxuICAgICAgICAgICAg5byA5YW35Lq6XG4gICAgICAgICAgICA8c3Bhbj4qPC9zcGFuPlxuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGEtaW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlvIDlhbfkurpcIiB2LW1vZGVsPVwiaXRlbS5yZWNlaXB0VXNlck5hbWVcIiAvPlxuICAgICAgICA8L2EtY29sPlxuICAgICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICAgIDxoMz7mlLbmrL7kuro8L2gzPlxuICAgICAgICAgIDxhLWlucHV0IHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5pS25qy+5Lq6XCIgdi1tb2RlbD1cIml0ZW0ucGF5ZWVOYW1lXCIgLz5cbiAgICAgICAgPC9hLWNvbD5cbiAgICAgICAgPGEtY29sIGNsYXNzPVwiaW5wdXRCb3hcIiA6c3Bhbj1cIjZcIj5cbiAgICAgICAgICA8aDM+5qy+6aG5PC9oMz5cbiAgICAgICAgICA8ZnV6enlTZWFyY2hcbiAgICAgICAgICAgIHJlZj1cIlJlY2VpcHRPcHRpb25fMjRcIlxuICAgICAgICAgICAgaWQ9XCJSZWNlaXB0T3B0aW9uXzI0XCJcbiAgICAgICAgICAgIDpzZWxlY3RNZW51PVwiZmluSXRlbS5saXN0XCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5qy+6aG5XCJcbiAgICAgICAgICAgIHYtbW9kZWw9XCJpdGVtLnJlY2VpcHRPcHRpb25cIlxuICAgICAgICAgICAgOmZhaWw9XCJmYWxzZVwiXG4gICAgICAgICAgICA6bXVsdGlwbGU9XCJmYWxzZVwiXG4gICAgICAgICAgICBAX3JlZnJlc2hNZW51PVwiZmluSXRlbS5yZWZyZXNoTWVudVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHRlbXBsYXRlICNkZWZhdWx0PVwiZGF0YVwiPlxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICB7eyBkYXRhLmRhdGEudGV4dCB9fVxuICAgICAgICAgICAgICAgIHt7IGRhdGEuZGF0YS5mZWVUeXBlID09IDIgPyAnKOaKvCknIDogJycgfX1cbiAgICAgICAgICAgICAgICB7eyBkYXRhLmRhdGEuZmVlVHlwZSA9PSAzID8gJyjpooQpJyA6ICcnIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XG4gICAgICAgICAgPC9mdXp6eVNlYXJjaD5cbiAgICAgICAgPC9hLWNvbD5cblxuICAgICAgICA8YS1jb2xcbiAgICAgICAgICBjbGFzcz1cImlucHV0Qm94XCJcbiAgICAgICAgICA6c3Bhbj1cIjZcIlxuICAgICAgICAgIHYtaWY9XCJ1c2VySW5mby5hdXRob3JpdHlMaXN0LkZpbl9SZWNlaXB0X0Jvb2tfTWFuYWdlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8aDM+5pS25o2u5pysPC9oMz5cbiAgICAgICAgICA8c2Fhc1NlbGVjdFxuICAgICAgICAgICAgaWQ9XCJyZWNlaXB0TW9kYWxfMlwiXG4gICAgICAgICAgICByZWY9XCJyZWNlaXB0TW9kYWxfMlwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+mAieaLqeaUtuaNruacrFwiXG4gICAgICAgICAgICA6c2VsZWN0TWVudT1cInJlY2VpcHRCb29rSWQuYWxsXCJcbiAgICAgICAgICAgIEBfYWN0aXZlSXRlbT1cInJlY2VpcHRCb29rSWQuYWN0aXZlSXRlbVwiXG4gICAgICAgICAgPjwvc2Fhc1NlbGVjdD5cbiAgICAgICAgPC9hLWNvbD5cblxuICAgICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiNlwiPlxuICAgICAgICAgIDxoMz7mlLbmja7nvJblj7c8c3Bhbj4qPC9zcGFuPjwvaDM+XG4gICAgICAgICAgPGEtaW5wdXRcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5pS25qy+5Lq6XCJcbiAgICAgICAgICAgIHYtbW9kZWw9XCJpdGVtLnJlY2VpcHRDb2RlXCJcbiAgICAgICAgICAgIEBjaGFuZ2U9XCJoYW5kZXJSZWNlaXB0TnVtYmVyXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2EtY29sPlxuICAgICAgICA8YS1jb2wgY2xhc3M9XCJpbnB1dEJveFwiIDpzcGFuPVwiMjRcIj48L2EtY29sPlxuXG4gICAgICAgIDxhLWNvbCBjbGFzcz1cImlucHV0Qm94XCIgOnNwYW49XCIxMlwiPlxuICAgICAgICAgIDxoMz7lpIfms6g8L2gzPlxuICAgICAgICAgIDxhLXRleHRhcmVhXG4gICAgICAgICAgICA6c3R5bGU9XCJ7IGhlaWdodDogJzg4cHgnIH1cIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlpIfms6jkv6Hmga9cIlxuICAgICAgICAgICAgdi1tb2RlbD1cIml0ZW0ucmVtYXJrXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2EtY29sPlxuICAgICAgPC9hLXJvdz5cbiAgICA8L2Etc3Bpbj5cbiAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0ICdAL2Fzc2V0cy9jc3MvbW9kYWxzL2JpbGwubGVzcydcbmltcG9ydCBzYWFzRGF0ZVBpY2tlciBmcm9tICdAL2NvbXBvbmVudHMvc2Fhc0RhdGVQaWNrZXInXG5pbXBvcnQgc2Fhc1NlbGVjdCBmcm9tICdAL2NvbXBvbmVudHMvc2Fhc1NlbGVjdCdcbmltcG9ydCBmdXp6eVNlYXJjaCBmcm9tICdAL2NvbXBvbmVudHMvZnV6enlTZWFyY2gnXG5pbXBvcnQgTXVsdGlTZWxlY3RIb3VzZSBmcm9tICdAL2NvbXBvbmVudHMvTXVsdGlTZWxlY3RIb3VzZSdcbmltcG9ydCBpbnB1dFByb21wdCBmcm9tICdAL2NvbXBvbmVudHMvaW5wdXRQcm9tcHQnXG5pbXBvcnQgaW5wdXRTZWxlY3QgZnJvbSAnQC9jb21wb25lbnRzL2lucHV0U2VsZWN0J1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5cbmltcG9ydCB7XG4gIGJhdGNoUHJpbnRCaWxsLFxuICBxdWVyeUNmZ0J1aWxkRGF0YVJ1bGVMaXN0QnlCdWlsZElkcyxcbiAgcXVlcnlGaW5SZWNlaXB0Qm9va0xpc3RCeVN1YlByb2plY3RJZCxcbiAgY29udHJhY3RRdWVyeUJpbGxEYXRhLFxuICBxdWVyeUxlc3NlZUFuZENoYW5uZWxCeU5hbWUsXG4gIHF1ZXJ5Q2ZnQnVpbGRSZWNlaXB0TWFuYWdlclNlbGVjdExpc3RCeVNwYWNlSWRzLFxuICBjcmVhdGVGaW5CaWxsV2l0aFJlY2VpcHRQYXltZW50LFxuICBxdWVyeVJlc1NwYWNlVm9MaXN0QnlTcGFjZUlkcyxcbiAgcXVlcnlGZWVDb2RlRGF0YUJ5RmVlTmFtZSxcbiAgcXVlcnlCeUxlc3NlZU5hbWUsXG4gIHF1ZXJ5TGVzc2VlSW5mb0J5SWQsXG4gIHF1ZXJ5Q2ZnUmV2ZW51ZVJlY29nbml0aW9uSXRlbUJ5U3ViUHJvamVjSWRBbmRJdGVtVHlwZSxcbiAgcXVlcnlDZmdUYXhTZXR0aW5nQnlCdWlsZElkc0FuZEZlZUNvZGVcbn0gZnJvbSAnLi4vc2VydmljZS9nZXREYXRhJ1xuaW1wb3J0IHsgbWFwR2V0dGVycywgbWFwTXV0YXRpb25zLCBtYXBBY3Rpb25zIH0gZnJvbSAndnVleCdcbmltcG9ydCB7IHBsdXMsIGRpdiwgbWludXMgfSBmcm9tICdAL2NvbW1vbkpzL2NvbW1vbidcbmltcG9ydCBEYXRlIGZyb20gJy4uL2NvbW1vbkpzL2RhdGUuanMnXG5cbmNsYXNzIEZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0IHtcbiAgLy/mnYPotKPmnIjlr7nosaFcbiAgY29uc3RydWN0b3Ioc3RhcnREYXRlLCBlbmREYXRlLCBwbGFuQW1vdW50LCBtb250aCkge1xuICAgIHRoaXMuc3RhcnREYXRlID0gc3RhcnREYXRlIC8v6K6h6LS55byA5aeL5pel5pyfXG4gICAgdGhpcy5lbmREYXRlID0gZW5kRGF0ZSAvL+iuoei0uee7k+adn+aXpeacn1xuICAgIHRoaXMucGxhbkFtb3VudCA9IHBsYW5BbW91bnQgLy/lupTmlLbph5Hpop1cbiAgICB0aGlzLm1vbnRoID0gbW9udGggLy/mnYPotKPmnIhcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdiaWxsTW9kZWwnLFxuICBwcm9wczoge1xuICAgIGRldGFpbHM6IHt9XG4gIH0sXG4gIGRhdGEoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbGVMaXN0OiBudWxsLCAvL+aJk+WNsOebuOWFs1xuICAgICAgc3Bpbm5pbmc6IGZhbHNlLFxuICAgICAgaGFzUmVjZWlwdExvYWRpbmc6IGZhbHNlLFxuICAgICAgcmJTdWJQcm9qZWN0SWQ6ICcnLCAvL+ivt+axguaUtuaNruacrCDopoHnlKjliLDnmoRcbiAgICAgIHJiQnVpbGRJZGVzOiAnJywgLy/or7fmsYIg5pS25o2u57yW5Y+3IOimgeeUqOWIsOeahFxuICAgICAgcmJSZWNlaXB0Q29kZTogJycsIC8v6K+35rGCIOW+l+WIsOeahOaUtuaNrue8luWPt1xuICAgICAgYmlsbEluZm86IHtcbiAgICAgICAgdGF4UmF0ZTogJycsIC8v56iO546HXG4gICAgICAgIGhhc0ZpblJlY2VpcHRQYXltZW50OiBmYWxzZSxcbiAgICAgICAgYmlsbE9yaWdpbjogMixcbiAgICAgICAgaGFzUmVjZWlwdDogZmFsc2UsIC8vIOa3u+WKoOaUtuaNrlxuICAgICAgICBoYXNQcmludFJlY2VpcHQ6IGZhbHNlLCAvLyDmiZPljbDmlLbmja5cbiAgICAgICAgZmluUmVjZWlwdFZvTGlzdDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBheWVyOiAnJywgLy8g5LuY5qy+5Y2V5L2NXG4gICAgICAgICAgICBwYXlOYW1lOiAnJywgLy8g5LuY5qy+5Lq6XG4gICAgICAgICAgICByZWNlaXB0QW1vdW50OiAnJywgLy8g5pS25o2u6YeR6aKdXG4gICAgICAgICAgICBwYXlEYXRlOiAnJywgLy8g5LuY5qy+5pel5pyfXG4gICAgICAgICAgICByZWNlaXB0VXNlck5hbWU6ICcnLCAvLyDlvIDlhbfkurpcbiAgICAgICAgICAgIHBheWVlTmFtZTogJycsIC8vIOaUtuasvuS6ulxuICAgICAgICAgICAgcmVjZWlwdE9wdGlvbjogJycsIC8vIOasvumhuVxuICAgICAgICAgICAgcmVjZWlwdEJvb2tJZDogJycsIC8vIOaUtuaNruacrFxuICAgICAgICAgICAgcmVjZWlwdENvZGU6ICcnLCAvLyDmlLbmja7nvJblj7dcbiAgICAgICAgICAgIHJlbWFyazogJycgLy8g5YaF5a65XG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgZWZmZWN0RGF0ZTogbW9tZW50KERhdGUuZnVsbFRvZGF5KSxcbiAgICAgIGV4cGVuZGl0dXJlTGlzdDoge1xuICAgICAgICBhbGw6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhY3RpdmVFeHBlbmRpdHVyZTogJycsXG4gICAgICAgICAgICBwYXlBbW91bnQ6ICcnLFxuICAgICAgICAgICAgYmlsbGluZ0N5Y2xlOiAnJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgYWRkOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5leHBlbmRpdHVyZUxpc3QuYWxsLnB1c2goe1xuICAgICAgICAgICAgYWN0aXZlRXhwZW5kaXR1cmU6ICcnLFxuICAgICAgICAgICAgcGF5QW1vdW50OiAnJyxcbiAgICAgICAgICAgIGJpbGxpbmdDeWNsZTogJydcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgaG91c2U6IHtcbiAgICAgICAgYWN0aXZlOiBbXSxcbiAgICAgICAgYXJlYTogMCxcbiAgICAgICAgZmFpbDogZmFsc2UsXG4gICAgICAgIGFjdGl2ZUl0ZW06IHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5jb250cmFjdC5hY3RpdmUgPSB7fVxuICAgICAgICAgIHRoaXMuaG91c2UuYXJlYSA9IHJlcy5hcmVhXG4gICAgICAgICAgdGhpcy5ob3VzZS5hY3RpdmUgPSByZXMuYWN0aXZlTGlzdFxuICAgICAgICAgIHRoaXMuaG91c2UuZmFpbCA9IGZhbHNlXG4gICAgICAgICAgdGhpcy5hY2NvdW50LmFkZCgpXG4gICAgICAgICAgdGhpcy5pbml0RmluQmlsbEl0ZW1EZXRhaWxWb0xpc3QoKVxuICAgICAgICAgIGlmICh0aGlzLmRldGFpbHMuc3RhdHVzID09IDEpIHtcbiAgICAgICAgICAgIC8v5Y+q5pyJ6ZSA6aG55Y+W6buY6K6kXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5Q2ZnVGF4U2V0dGluZ0J5QnVpbGRJZHNBbmRGZWVDb2RlKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBwYXllcjoge1xuICAgICAgICBmYWlsOiBmYWxzZSxcbiAgICAgICAgYWxsOiBbXSxcbiAgICAgICAgYWN0aXZlOiB7XG4gICAgICAgICAgbWFuOiAnJyxcbiAgICAgICAgICBtb2JpbGU6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHJlZnJlc2hNZW51OiByZXMgPT4ge1xuICAgICAgICAgIHRoaXMucGF5ZXIuZmFpbCA9IGZhbHNlXG4gICAgICAgICAgaWYgKHRoaXMuZGV0YWlscy5zdGF0dXMgPT0gJzEnKSB7XG4gICAgICAgICAgICAvL+aUtuasvui0puWNlVxuICAgICAgICAgICAgcXVlcnlCeUxlc3NlZU5hbWUoe1xuICAgICAgICAgICAgICBsZXNzZWVOYW1lOiByZXMuYWN0aXZlVGV4dFxuICAgICAgICAgICAgfSkudGhlbihkYXRhID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5wYXllci5hbGwgPSBkYXRhLmRhdGFcbiAgICAgICAgICAgICAgdGhpcy4kcmVmcy5iaWxsTW9kYWxfMi5jbG9zZUxvYWRpbmcoKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcXVlcnlMZXNzZWVBbmRDaGFubmVsQnlOYW1lKHtcbiAgICAgICAgICAgICAgbGVzc2VlTmFtZTogcmVzLmFjdGl2ZVRleHRcbiAgICAgICAgICAgIH0pLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMucGF5ZXIuYWxsID0gZGF0YS5kYXRhXG4gICAgICAgICAgICAgIHRoaXMuJHJlZnMuYmlsbE1vZGFsXzIuY2xvc2VMb2FkaW5nKClcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBhY3RpdmVJdGVtOiByZXMgPT4ge1xuICAgICAgICAgIHF1ZXJ5TGVzc2VlSW5mb0J5SWQoe1xuICAgICAgICAgICAgaWQ6IHJlcy5pdGVtLmlkXG4gICAgICAgICAgfSkudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy4kc2V0KFxuICAgICAgICAgICAgICB0aGlzLnBheWVyLmFjdGl2ZSxcbiAgICAgICAgICAgICAgJ21hbicsXG4gICAgICAgICAgICAgIHJlcy5kYXRhLm1kbUxpbmttYW5Wby5saW5rbWFuTmFtZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgdGhpcy4kc2V0KFxuICAgICAgICAgICAgICB0aGlzLnBheWVyLmFjdGl2ZSxcbiAgICAgICAgICAgICAgJ21vYmlsZScsXG4gICAgICAgICAgICAgIHJlcy5kYXRhLm1kbUxpbmttYW5Wby5waG9uZU5vXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmNvbnRyYWN0LmFjdGl2ZSA9IHt9XG4gICAgICAgICAgdGhpcy4kcmVmcy5iaWxsTW9kYWxfMS5hY3RpdmUgPSAnJ1xuICAgICAgICAgIHRoaXMuJHJlZnMuZXhwZW5zZXNBbmRSZWNlaXB0c18xLmFjdGl2ZSA9IHJlcy5pdGVtLnRleHRcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGFjY291bnQ6IHtcbiAgICAgICAgYWxsOiBbXSxcbiAgICAgICAgYWN0aXZlOiBbXSxcbiAgICAgICAgZmFpbDogZmFsc2UsXG4gICAgICAgIGFkZDogKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmhvdXNlLmFjdGl2ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuYWNjb3VudC5hY3RpdmUgPSBbXVxuICAgICAgICAgICAgdGhpcy4kcmVmcy5iaWxsTW9kYWxfMy5hY3RpdmUgPSAnJ1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBxdWVyeUNmZ0J1aWxkUmVjZWlwdE1hbmFnZXJTZWxlY3RMaXN0QnlTcGFjZUlkcyh7XG4gICAgICAgICAgICAgIHNwYWNlSWRzOiB0aGlzLmhvdXNlLmFjdGl2ZS5tYXAoaXRlbSA9PiBpdGVtLmlkKS5qb2luKCcsJylcbiAgICAgICAgICAgIH0pLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5hY2NvdW50LmFsbCA9IHJlcy5kYXRhXG4gICAgICAgICAgICAgIGNvbnN0IHNldEFjY291bnQgPSBhY2NvdW50ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjY291bnQuYWN0aXZlID0gYWNjb3VudFxuICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuYmlsbE1vZGFsXzMuYWN0aXZlID0gYWNjb3VudC50ZXh0XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmNvbnRyYWN0LmFjdGl2ZSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgbGV0IGFjY291bnQgPSByZXMuZGF0YS5maW5kKFxuICAgICAgICAgICAgICAgICAgICBpdGVtID0+IGl0ZW0uaWQgPT0gdGhpcy5jb250cmFjdC5hY3RpdmUuYWNjb3VudElkXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBpZiAoYWNjb3VudCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRBY2NvdW50KGFjY291bnQpXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzZXRBY2NvdW50KHJlcy5kYXRhWzBdKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBzZXRBY2NvdW50KHJlcy5kYXRhWzBdKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGFjdGl2ZUl0ZW06IHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5hY2NvdW50LmFjdGl2ZSA9IHJlcy5pdGVtXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmaW5JdGVtOiB7XG4gICAgICAgIGxpc3Q6IFtdLFxuICAgICAgICBmYWlsOiBmYWxzZSxcbiAgICAgICAgYWN0aXZlOiB7fSxcbiAgICAgICAgYWN0aXZlSXRlbTogcmVzID0+IHtcbiAgICAgICAgICB0aGlzLmluaXRGaW5CaWxsSXRlbURldGFpbFZvTGlzdCgpXG4gICAgICAgICAgaWYgKHRoaXMuZGV0YWlscy5zdGF0dXMgPT0gMSkge1xuICAgICAgICAgICAgLy/lj6rmnInplIDpobnlj5bpu5jorqRcbiAgICAgICAgICAgIHRoaXMucXVlcnlDZmdUYXhTZXR0aW5nQnlCdWlsZElkc0FuZEZlZUNvZGUoKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocmVzLml0ZW0uZmVlVHlwZSA9PSAyIHx8IHJlcy5pdGVtLmZlZVR5cGUgPT0gMykge1xuICAgICAgICAgICAgdGhpcy5sYXRlZmVlUmF0ZS5kaXNhYmxlZCA9IHRydWVcbiAgICAgICAgICAgIHRoaXMuJHNldCh0aGlzLmJpbGxJbmZvLCAnbGF0ZWZlZVJhdGUnLCAnJylcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sYXRlZmVlUmF0ZS5kaXNhYmxlZCA9IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByZWZyZXNoTWVudTogcmVzID0+IHtcbiAgICAgICAgICBxdWVyeUZlZUNvZGVEYXRhQnlGZWVOYW1lKHtcbiAgICAgICAgICAgIGZlZU5hbWU6IHJlcy5hY3RpdmVUZXh0XG4gICAgICAgICAgfSkudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5maW5JdGVtLmxpc3QgPSByZXMuZGF0YVxuICAgICAgICAgICAgdGhpcy4kcmVmcy5iaWxsTW9kYWxfNC5jbG9zZUxvYWRpbmcoKVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjb250cmFjdDoge1xuICAgICAgICBhbGw6IFtdLFxuICAgICAgICBhY3RpdmU6IHt9LFxuICAgICAgICByZWZyZXNoTWVudTogcmVzID0+IHtcbiAgICAgICAgICBjb250cmFjdFF1ZXJ5QmlsbERhdGEoe1xuICAgICAgICAgICAgbWVyY2hhbnRJZDogdGhpcy5wYXllci5hY3RpdmUuaWQsXG4gICAgICAgICAgICBjb250Q29kZTogcmVzLmFjdGl2ZVRleHRcbiAgICAgICAgICB9KS50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb250cmFjdC5hbGwgPSBkYXRhLmRhdGEuYmlsbEl0ZW1MaXN0XG4gICAgICAgICAgICB0aGlzLiRyZWZzLmJpbGxNb2RhbF8xLmNsb3NlTG9hZGluZygpXG4gICAgICAgICAgfSlcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlSXRlbTogcmVzID0+IHtcbiAgICAgICAgICBxdWVyeVJlc1NwYWNlVm9MaXN0QnlTcGFjZUlkcyh7XG4gICAgICAgICAgICBzcGFjZUlkczogcmVzLml0ZW0uY29udHJhY3Quc3BhY2VJZHNcbiAgICAgICAgICB9KS50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVIb3VzZShkYXRhLmRhdGEpXG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmNsYXVzZVR5cGUuYWN0aXZlID0gdGhpcy5jbGF1c2VUeXBlLmFsbC5maW5kKFxuICAgICAgICAgICAgaXRlbSA9PiBpdGVtLmNvZGUgPT0gcmVzLml0ZW0uY29uT3JJbnRlbnRUeXBlXG4gICAgICAgICAgKVxuICAgICAgICAgIHRoaXMuJHJlZnMuYmlsbE1vZGFsXzUuYWN0aXZlID0gdGhpcy5jbGF1c2VUeXBlLmFjdGl2ZS50ZXh0XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjbGF1c2VUeXBlOiB7XG4gICAgICAgIGFsbDogW10sXG4gICAgICAgIGFjdGl2ZToge30sXG4gICAgICAgIGZhaWw6IGZhbHNlLFxuICAgICAgICBhY3RpdmVJdGVtOiByZXMgPT4ge1xuICAgICAgICAgIHRoaXMuY2xhdXNlVHlwZS5hY3RpdmUgPSByZXMuaXRlbVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbGF0ZWZlZVJhdGU6IHtcbiAgICAgICAgZmFpbDogZmFsc2UsXG4gICAgICAgIHByb21wdFRleHQ6ICcnLFxuICAgICAgICBkaXNhYmxlZDogZmFsc2VcbiAgICAgIH0sXG4gICAgICBiaWxsQW1vdW50OiB7XG4gICAgICAgIGZhaWw6IGZhbHNlLFxuICAgICAgICBwcm9tcHRUZXh0OiAnJ1xuICAgICAgfSxcbiAgICAgIHRheFJhdGU6IHtcbiAgICAgICAgYWN0aXZlOiB7fSxcbiAgICAgICAgZmFpbDogZmFsc2UsXG4gICAgICAgIGFjdGl2ZUl0ZW06IHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy50YXhSYXRlLmFjdGl2ZSA9IHJlcy5pdGVtXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjb21wYW55OiB7XG4gICAgICAgIGZhaWw6IGZhbHNlLFxuICAgICAgICBhbGw6IFtdLFxuICAgICAgICByZWZyZXNoTWVudTogcmVzID0+IHtcbiAgICAgICAgICB0aGlzLmNvbXBhbnkuZmFpbCA9IGZhbHNlXG4gICAgICAgICAgcXVlcnlCeUxlc3NlZU5hbWUoe1xuICAgICAgICAgICAgbGVzc2VlTmFtZTogcmVzLmFjdGl2ZVRleHRcbiAgICAgICAgICB9KS50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb21wYW55LmFsbCA9IGRhdGEuZGF0YVxuICAgICAgICAgICAgdGhpcy4kcmVmcy5leHBlbnNlc0FuZFJlY2VpcHRzXzEuY2xvc2VMb2FkaW5nKClcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcGF5QW1vdW50OiB7XG4gICAgICAgIGZhaWw6IGZhbHNlLFxuICAgICAgICBwcm9tcHRUZXh0OiAnJ1xuICAgICAgfSxcbiAgICAgIHBheUFtb3VudDI6IHtcbiAgICAgICAgZmFpbDogZmFsc2UsXG4gICAgICAgIHByb21wdFRleHQ6ICcnXG4gICAgICB9LFxuICAgICAgcGF5TWV0aG9kOiB7XG4gICAgICAgIGZhaWw6IGZhbHNlLFxuICAgICAgICBhY3RpdmU6ICcnLFxuICAgICAgICBhZGQ6IHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5wYXlNZXRob2QuYWN0aXZlID0gcmVzLml0ZW0uY29kZVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHM6IHt9LFxuICAgICAgYXNkUGF5RGF0ZTogbW9tZW50KERhdGUuZnVsbFRvZGF5KSxcbiAgICAgIGZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0OiBbXSxcbiAgICAgIGNpcmNsZTogW21vbWVudChEYXRlLmZ1bGxUb2RheSksIG1vbWVudChEYXRlLmZ1bGxUb2RheSldLFxuICAgICAgYWNjb3VudERhdGU6IG1vbWVudChEYXRlLmZ1bGxUb2RheSksXG4gICAgICByZWNlaXB0T3B0aW9uOiB7XG4gICAgICAgIGZhaWw6IGZhbHNlLFxuICAgICAgICBwcm9tcHRUZXh0OiAnJyxcbiAgICAgICAgZm9jdXM6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlY2VpcHRPcHRpb24uZmFpbCA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZWNlaXB0Qm9va0lkOiB7XG4gICAgICAgIGFsbDogW10sXG4gICAgICAgIGFjdGl2ZTogJycsXG4gICAgICAgIGdldDogKCkgPT4ge1xuICAgICAgICAgIC8vIHF1ZXJ5RmluUmVjZWlwdEJvb2tMaXN0QnlTdWJQcm9qZWN0SWQoe1xuICAgICAgICAgIC8vICAgJ3N1YlByb2plY3RJZCc6IDQwXG4gICAgICAgICAgLy8gfSkudGhlbihyZXMgPT4ge1xuICAgICAgICAgIC8vICAgdGhpcy5yZWNlaXB0Qm9va0lkLmFsbCA9IHJlcy5kYXRhXG4gICAgICAgICAgLy8gfSlcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlSXRlbTogKHsgaXRlbSB9KSA9PiB7XG4gICAgICAgICAgdGhpcy5iaWxsSW5mby5maW5SZWNlaXB0Vm9MaXN0WzBdLnJlY2VpcHRCb29rSWQgPSBpdGVtLmlkXG4gICAgICAgICAgdGhpcy5iaWxsSW5mby5maW5SZWNlaXB0Vm9MaXN0WzBdLnJlY2VpcHRDb2RlID0gaXRlbS5leHQxXG4gICAgICAgICAgdGhpcy5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy5yZWNlaXB0TnVtYmVyID0gaXRlbS5leHQxXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICByZWNlaXB0Q29kZToge1xuICAgICAgICBmYWlsOiBmYWxzZSxcbiAgICAgICAgcHJvbXB0VGV4dDogJycsXG4gICAgICAgIGZvY3VzOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWNlaXB0Q29kZS5mYWlsID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgY3JlYXRlZCgpIHtcbiAgICB0aGlzLmNsYXVzZVR5cGUuYWxsID0gdGhpcy5hbGxTZWxlY3QuYmlsbF9jbGF1c2VfdHlwZVxuICB9LFxuICBtZXRob2RzOiB7XG4gICAgLi4ubWFwTXV0YXRpb25zKFsnbG9hZGluZ01vZGFsTWVudSddKSxcbiAgICAuLi5tYXBBY3Rpb25zKFsnYWN0aW9uQmlsbFJlZnJlc2gnLCAnYWN0aW9uUHJpbnRGaWxlTGlzdCddKSxcbiAgICBsYXRlZmVlUmF0ZVByb21wdChkYXRhKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGRhdGEudmFsdWUuaW5kZXhPZignLicpICE9IC0xICYmXG4gICAgICAgIGRhdGEudmFsdWUuc3BsaXQoJy4nKVsxXS5sZW5ndGggPiAyXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5sYXRlZmVlUmF0ZS5mYWlsID0gdHJ1ZVxuICAgICAgICB0aGlzLmxhdGVmZWVSYXRlLnByb21wdFRleHQgPSAn6K+35L+d55WZ5Lik5L2N5bCP5pWwJ1xuICAgICAgfSBlbHNlIGlmIChkYXRhLnZhbHVlICYmIE51bWJlcihkYXRhLnZhbHVlKSA8IDApIHtcbiAgICAgICAgdGhpcy5sYXRlZmVlUmF0ZS5mYWlsID0gdHJ1ZVxuICAgICAgICB0aGlzLmxhdGVmZWVSYXRlLnByb21wdFRleHQgPSAn5omA5aGr5YaF5a655LiN6IO95Li66LSfJ1xuICAgICAgfVxuICAgIH0sXG4gICAgYmlsbEFtb3VudFByb21wdChkYXRhKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGRhdGEudmFsdWUuaW5kZXhPZignLicpICE9IC0xICYmXG4gICAgICAgIGRhdGEudmFsdWUuc3BsaXQoJy4nKVsxXS5sZW5ndGggPiAyXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5iaWxsQW1vdW50LmZhaWwgPSB0cnVlXG4gICAgICAgIHRoaXMuYmlsbEFtb3VudC5wcm9tcHRUZXh0ID0gJ+ivt+S/neeVmeS4pOS9jeWwj+aVsCdcbiAgICAgIH0gZWxzZSBpZiAoTnVtYmVyKGRhdGEudmFsdWUpIDw9IDApIHtcbiAgICAgICAgdGhpcy5iaWxsQW1vdW50LmZhaWwgPSB0cnVlXG4gICAgICAgIHRoaXMuYmlsbEFtb3VudC5wcm9tcHRUZXh0ID0gJ+aJgOWhq+WGheWuuemcgOWkp+S6jjAnXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiRzZXQodGhpcy5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscywgJ3BheUFtb3VudCcsIGRhdGEudmFsdWUpXG4gICAgICAgIHRoaXMuaW5pdEZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0KClcbiAgICAgIH1cbiAgICB9LFxuICAgIGFjdGl2ZUhvdXNlKHJlcykge1xuICAgICAgdGhpcy5ob3VzZS5hcmVhID0gMFxuICAgICAgZm9yIChsZXQga2V5IGluIHJlcykge1xuICAgICAgICB0aGlzLmhvdXNlLmFyZWEgKz0gTnVtYmVyKHJlc1trZXldLm1heEFyZWEpXG4gICAgICB9XG4gICAgICB0aGlzLmhvdXNlLmFjdGl2ZSA9IHJlc1xuICAgICAgdGhpcy5hY2NvdW50LmFkZCgpXG4gICAgICB0aGlzLmluaXRGaW5CaWxsSXRlbURldGFpbFZvTGlzdCgpXG4gICAgfSxcbiAgICBob3VzZURlbGV0ZShpdGVtKSB7XG4gICAgICB0aGlzLiRyZWZzLk11bHRpU2VsZWN0SG91c2UuaG91c2VEZWxldGUoaXRlbSlcbiAgICAgIHRoaXMuYWNjb3VudC5hZGQoKVxuICAgIH0sXG4gICAgcGF5QW1vdW50UHJvbXB0KGRhdGEpIHtcbiAgICAgIGlmIChcbiAgICAgICAgZGF0YS52YWx1ZS5pbmRleE9mKCcuJykgIT0gLTEgJiZcbiAgICAgICAgZGF0YS52YWx1ZS5zcGxpdCgnLicpWzFdLmxlbmd0aCA+IDJcbiAgICAgICkge1xuICAgICAgICB0aGlzLnBheUFtb3VudC5mYWlsID0gdHJ1ZVxuICAgICAgICB0aGlzLnBheUFtb3VudC5wcm9tcHRUZXh0ID0gJ+ivt+S/neeVmeS4pOS9jeWwj+aVsCdcbiAgICAgIH0gZWxzZSBpZiAoTnVtYmVyKGRhdGEudmFsdWUpIDw9IDApIHtcbiAgICAgICAgdGhpcy5wYXlBbW91bnQuZmFpbCA9IHRydWVcbiAgICAgICAgdGhpcy5wYXlBbW91bnQucHJvbXB0VGV4dCA9ICfmiYDloavlhoXlrrnpnIDlpKfkuo4wJ1xuICAgICAgfVxuICAgIH0sXG4gICAgcGF5QW1vdW50UHJvbXB0MihkYXRhKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGRhdGEudmFsdWUuaW5kZXhPZignLicpICE9IC0xICYmXG4gICAgICAgIGRhdGEudmFsdWUuc3BsaXQoJy4nKVsxXS5sZW5ndGggPiAyXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5wYXlBbW91bnQyLmZhaWwgPSB0cnVlXG4gICAgICAgIHRoaXMucGF5QW1vdW50Mi5wcm9tcHRUZXh0ID0gJ+ivt+S/neeVmeS4pOS9jeWwj+aVsCdcbiAgICAgIH0gZWxzZSBpZiAoTnVtYmVyKGRhdGEudmFsdWUpIDw9IDApIHtcbiAgICAgICAgdGhpcy5wYXlBbW91bnQyLmZhaWwgPSB0cnVlXG4gICAgICAgIHRoaXMucGF5QW1vdW50Mi5wcm9tcHRUZXh0ID0gJ+aJgOWhq+WGheWuuemcgOWkp+S6jjAnXG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBOdW1iZXIoZGF0YS52YWx1ZSkgPiB0aGlzLmV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLnBheUFtb3VudFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucGF5QW1vdW50Mi5mYWlsID0gdHJ1ZVxuICAgICAgICB0aGlzLnBheUFtb3VudDIucHJvbXB0VGV4dCA9ICfmiYDloavlhoXlrrnkuI3otoXov4flj5HnlJ/ph5Hpop0nXG4gICAgICB9XG4gICAgfSxcbiAgICBpbml0RmluQmlsbEl0ZW1EZXRhaWxWb0xpc3QoKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3QubGVuZ3RoID09IDAgJiZcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5maW5JdGVtLmFjdGl2ZSkubGVuZ3RoICE9PSAwICYmXG4gICAgICAgIHRoaXMuYmlsbEluZm8uYmlsbEFtb3VudCAmJlxuICAgICAgICB0aGlzLmhvdXNlLmFjdGl2ZS5sZW5ndGggIT09IDBcbiAgICAgICkge1xuICAgICAgICBxdWVyeUNmZ1JldmVudWVSZWNvZ25pdGlvbkl0ZW1CeVN1YlByb2plY0lkQW5kSXRlbVR5cGUoe1xuICAgICAgICAgIHN1YlByb2plY3RJZDogdGhpcy5ob3VzZS5hY3RpdmVbMF0uc3ViUHJvamVjdElkLFxuICAgICAgICAgIGl0ZW1UeXBlOiAyLFxuICAgICAgICAgIGZlZUNvZGU6IDJcbiAgICAgICAgfSkudGhlbihyZXMgPT4ge1xuICAgICAgICAgIHRoaXMuYmlsbEluZm8uY2ZnUmV2ZW51ZUl0ZW1JZCA9IHJlcy5kYXRhLmlkXG4gICAgICAgICAgbGV0IG1vbnRoID0gJydcbiAgICAgICAgICBzd2l0Y2ggKHJlcy5kYXRhLnBvd2VyTW9udGhEZWZpbmUpIHtcbiAgICAgICAgICAgIGNhc2UgJzEnOlxuICAgICAgICAgICAgICBtb250aCA9IHRoaXMuZWZmZWN0RGF0ZVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgY2FzZSAnMic6XG4gICAgICAgICAgICAgIG1vbnRoID0gdGhpcy5jaXJjbGVbMF1cbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIGNhc2UgJzMnOlxuICAgICAgICAgICAgICBtb250aCA9IHRoaXMuY2lyY2xlWzFdXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0ID0gW1xuICAgICAgICAgICAgbmV3IEZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0KFxuICAgICAgICAgICAgICB0aGlzLmNpcmNsZVswXSxcbiAgICAgICAgICAgICAgdGhpcy5jaXJjbGVbMV0sXG4gICAgICAgICAgICAgIHRoaXMuYmlsbEluZm8uYmlsbEFtb3VudCxcbiAgICAgICAgICAgICAgbW9udGhcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSxcbiAgICBjaGFuZ2VDaXJjbGUoKSB7XG4gICAgICBpZiAodGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3RbMF0uc3RhcnREYXRlID0gdGhpcy5jaXJjbGVbMF1cbiAgICAgICAgdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtcbiAgICAgICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0Lmxlbmd0aCAtIDFcbiAgICAgICAgXS5lbmREYXRlID0gdGhpcy5jaXJjbGVbMV1cbiAgICAgIH1cbiAgICB9LFxuICAgIGFkZEZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0KCkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0W1xuICAgICAgICAgIHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3QubGVuZ3RoIC0gMVxuICAgICAgICBdLnN0YXJ0RGF0ZS52YWx1ZU9mKCkgPT1cbiAgICAgICAgdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtcbiAgICAgICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0Lmxlbmd0aCAtIDFcbiAgICAgICAgXS5lbmREYXRlLnZhbHVlT2YoKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoXG4gICAgICAgICAgJ+acgOWQjuS4gOadoeeahOiuoei0ueW8gOWni+aXpeacn+WSjOe7k+adn+aXpeacn+ebuOWQjO+8jOaXoOazlea3u+WKoOadg+i0o+aciCdcbiAgICAgICAgKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3QucHVzaChcbiAgICAgICAgbmV3IEZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0KFxuICAgICAgICAgIHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3RbXG4gICAgICAgICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0Lmxlbmd0aCAtIDFcbiAgICAgICAgICBdLmVuZERhdGUsXG4gICAgICAgICAgdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtcbiAgICAgICAgICAgIHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3QubGVuZ3RoIC0gMVxuICAgICAgICAgIF0uZW5kRGF0ZVxuICAgICAgICApXG4gICAgICApXG4gICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0W1xuICAgICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0Lmxlbmd0aCAtIDJcbiAgICAgIF0uZW5kRGF0ZSA9IG1vbWVudChcbiAgICAgICAgdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtcbiAgICAgICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0Lmxlbmd0aCAtIDFcbiAgICAgICAgXS5lbmREYXRlLnZhbHVlT2YoKSAtXG4gICAgICAgICAgMTAwMCAqIDYwICogNjAgKiAyNFxuICAgICAgKVxuICAgIH0sXG4gICAgZGVsZXRlRmluQmlsbEl0ZW1EZXRhaWxWb0xpc3QoaW5kZXgpIHtcbiAgICAgIGlmIChpbmRleCA9PSAwKSB7XG4gICAgICAgIHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3RbMV0uc3RhcnREYXRlID0gdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFswXS5zdGFydERhdGVcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT0gdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdC5sZW5ndGggLSAxKSB7XG4gICAgICAgIHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3RbXG4gICAgICAgICAgdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdC5sZW5ndGggLSAyXG4gICAgICAgIF0uZW5kRGF0ZSA9IHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3RbXG4gICAgICAgICAgdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdC5sZW5ndGggLSAxXG4gICAgICAgIF0uZW5kRGF0ZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtcbiAgICAgICAgICBpbmRleCArIDFcbiAgICAgICAgXS5zdGFydERhdGUgPSB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0W2luZGV4XS5zdGFydERhdGVcbiAgICAgIH1cbiAgICAgIHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3Quc3BsaWNlKGluZGV4LCAxKVxuICAgIH0sXG4gICAgY2hhbmdlRW5kRGF0ZShpbmRleCwgc3RhcnREYXRlLCBlbmREYXRlLCBuZXh0RW5kRGF0ZSkge1xuICAgICAgaWYgKHN0YXJ0RGF0ZS52YWx1ZU9mKCkgPiBlbmREYXRlLnZhbHVlT2YoKSkge1xuICAgICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0W2luZGV4XS5lbmREYXRlID0gbW9tZW50KFxuICAgICAgICAgIHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3RbaW5kZXggKyAxXS5zdGFydERhdGUudmFsdWVPZigpIC1cbiAgICAgICAgICAgIDEwMDAgKiA2MCAqIDYwICogMjRcbiAgICAgICAgKVxuICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKCforqHotLnnu5PmnZ/ml6XmnJ/pnIDlsI/kuo7nrYnkuo7orqHotLnlvIDlp4vml6XmnJ8nKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGlmIChlbmREYXRlLnZhbHVlT2YoKSA+PSBuZXh0RW5kRGF0ZS52YWx1ZU9mKCkpIHtcbiAgICAgICAgdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtpbmRleF0uZW5kRGF0ZSA9IG1vbWVudChcbiAgICAgICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0W2luZGV4ICsgMV0uc3RhcnREYXRlLnZhbHVlT2YoKSAtXG4gICAgICAgICAgICAxMDAwICogNjAgKiA2MCAqIDI0XG4gICAgICAgIClcbiAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcign6K6h6LS557uT5p2f5pel5pyf6ZyA5bCP5LqO5LiL5LiA6Zi25q616K6h6LS557uT5p2f5pel5pyfJylcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0W2luZGV4ICsgMV0uc3RhcnREYXRlID0gbW9tZW50KFxuICAgICAgICBlbmREYXRlLnZhbHVlT2YoKSArIDEwMDAgKiA2MCAqIDYwICogMjRcbiAgICAgIClcbiAgICB9LFxuICAgIHF1ZXJ5Q2ZnVGF4U2V0dGluZ0J5QnVpbGRJZHNBbmRGZWVDb2RlKCkge1xuICAgICAgY29uc3Qgc2V0ID0gdGF4UmF0ZSA9PiB7XG4gICAgICAgIHRoaXMudGF4UmF0ZS5hY3RpdmUgPSB0YXhSYXRlXG4gICAgICAgIHRoaXMuJHJlZnMuYmlsbE1vZGFsXzYuYWN0aXZlID0gdGF4UmF0ZS50ZXh0XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuaG91c2UuYWN0aXZlLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5maW5JdGVtLmFjdGl2ZSkubGVuZ3RoID4gMFxuICAgICAgKSB7XG4gICAgICAgIGxldCB0YXhSYXRlID0ge31cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuZmluSXRlbS5hY3RpdmUuZmVlVHlwZSA9PSAyIHx8XG4gICAgICAgICAgdGhpcy5maW5JdGVtLmFjdGl2ZS5mZWVUeXBlID09IDNcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGF4UmF0ZSA9IHRoaXMuYWxsU2VsZWN0LnRheF9yYXRlX3h4LmZpbmQoaXRlbSA9PiBpdGVtLmNvZGUgPT0gJ1gwJylcbiAgICAgICAgICBzZXQodGF4UmF0ZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBxdWVyeUNmZ1RheFNldHRpbmdCeUJ1aWxkSWRzQW5kRmVlQ29kZSh7XG4gICAgICAgICAgICBidWlsZElkczogdGhpcy5ob3VzZS5hY3RpdmVbMF0uYnVpbGRJZCxcbiAgICAgICAgICAgIGZlZUNvZGU6IHRoaXMuZmluSXRlbS5hY3RpdmUuaWRcbiAgICAgICAgICB9KS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICBpZiAoIXJlcy5kYXRhKSByZXR1cm5cbiAgICAgICAgICAgIHRheFJhdGUgPSB0aGlzLmFsbFNlbGVjdC50YXhfcmF0ZV94eC5maW5kKFxuICAgICAgICAgICAgICBpdGVtID0+IGl0ZW0uY29kZSA9PSByZXMuZGF0YS50YXhDb2RlXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBzZXQodGF4UmF0ZSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBjaGFuZ2VQYXlEYXRlKHZhbHVlKSB7XG4gICAgICB0aGlzLmFjY291bnREYXRlID0gdmFsdWVcbiAgICB9LFxuICAgIGhhbmRsZU9rKCkge1xuICAgICAgaWYgKHRoaXMuYmlsbEluZm8uYmlsbEFtb3VudCA8PSAwKSB7XG4gICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+i0puWNlemHkemineS4jeiDveWwj+S6juetieS6jjAhJylcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYXllci5hY3RpdmUuaWQpIHtcbiAgICAgICAgdGhpcy5iaWxsSW5mby5wYXllciA9IHRoaXMucGF5ZXIuYWN0aXZlLmlkXG4gICAgICAgIHRoaXMuYmlsbEluZm8ucGF5ZXJOYW1lID0gdGhpcy5wYXllci5hY3RpdmUudGV4dFxuICAgICAgICB0aGlzLmJpbGxJbmZvLmxpbmtNYW4gPSB0aGlzLnBheWVyLmFjdGl2ZS5tYW5cbiAgICAgICAgdGhpcy5iaWxsSW5mby5waG9uZU5vID0gdGhpcy5wYXllci5hY3RpdmUubW9iaWxlXG4gICAgICAgIHRoaXMuYmlsbEluZm8udGFyZ2V0ID0gdGhpcy5wYXllci5hY3RpdmUudGFyZ2V0XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnBheWVyLmZhaWwgPSB0cnVlXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgaWYgKHRoaXMubGF0ZWZlZVJhdGUuZmFpbCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmZpbkl0ZW0uYWN0aXZlKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuYmlsbEluZm8uZmVlQ29kZSA9IHRoaXMuZmluSXRlbS5hY3RpdmUuaWRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZmluSXRlbS5mYWlsID0gdHJ1ZVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5iaWxsSW5mby5iaWxsQW1vdW50KSB7XG4gICAgICAgIHRoaXMuYmlsbEFtb3VudC5mYWlsID0gdHJ1ZVxuICAgICAgICB0aGlzLmJpbGxBbW91bnQucHJvbXB0VGV4dCA9ICfor7fovpPlhaXmlbDlrZcnXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMudGF4UmF0ZS5hY3RpdmUpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5iaWxsSW5mby50YXhSYXRlID0gdGhpcy50YXhSYXRlLmFjdGl2ZS52YWx1ZVxuICAgICAgICB0aGlzLmJpbGxJbmZvLnRheENvZGUgPSB0aGlzLnRheFJhdGUuYWN0aXZlLmNvZGVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudGF4UmF0ZS5mYWlsID0gdHJ1ZVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmhvdXNlLmFjdGl2ZS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgdGhpcy5iaWxsSW5mby5zcGFjZXMgPSB0aGlzLmhvdXNlLmFjdGl2ZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5ob3VzZS5mYWlsID0gdHJ1ZVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmFjY291bnQuYWN0aXZlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICB0aGlzLmJpbGxJbmZvLnJlY2VpcHRJZCA9IHRoaXMuYWNjb3VudC5hY3RpdmUuaWRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWNjb3VudC5mYWlsID0gdHJ1ZVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0Lmxlbmd0aCAhPT0gMCkge1xuICAgICAgICBsZXQgcGx1c1BsYW5BbW91bnQgPSAwLFxuICAgICAgICAgIGZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0ID0gW11cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0W2ldLnBsYW5BbW91bnQpIHtcbiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+adg+i0o+aciOW6lOaUtumHkemineS4jeiDveS4uuepuicpXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3RbaV0ucGxhbkFtb3VudCA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+adg+i0o+aciOW6lOaUtumHkemineS4jeiDvei+k+WFpei0n+aVsCcpXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGx1c1BsYW5BbW91bnQgPSBwbHVzKFxuICAgICAgICAgICAgICBwbHVzUGxhbkFtb3VudCxcbiAgICAgICAgICAgICAgdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtpXS5wbGFuQW1vdW50XG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuZmluSXRlbS5hY3RpdmUuZmVlVHlwZSA9PSAxICYmXG4gICAgICAgICAgICAhdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtpXS5tb250aFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcign6K+36YCJ5oup5p2D6LSj5pyIJylcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgICBmaW5CaWxsSXRlbURldGFpbFZvTGlzdC5wdXNoKHtcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtpXS5zdGFydERhdGUuZm9ybWF0KFxuICAgICAgICAgICAgICAnWVlZWS5NTS5ERCdcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBlbmREYXRlOiB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0W2ldLmVuZERhdGUuZm9ybWF0KFxuICAgICAgICAgICAgICAnWVlZWS5NTS5ERCdcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBwbGFuQW1vdW50OiB0aGlzLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0W2ldLnBsYW5BbW91bnQsXG4gICAgICAgICAgICByaWdodE1vbnRoOlxuICAgICAgICAgICAgICB0aGlzLmZpbkl0ZW0uYWN0aXZlLmZlZVR5cGUgPT0gMVxuICAgICAgICAgICAgICAgID8gdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtpXS5tb250aFxuICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KCdZWVlZLU1NJylcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCctJylbMV1cbiAgICAgICAgICAgICAgICA6ICcnLFxuICAgICAgICAgICAgcmlnaHRZZWFyOlxuICAgICAgICAgICAgICB0aGlzLmZpbkl0ZW0uYWN0aXZlLmZlZVR5cGUgPT0gMVxuICAgICAgICAgICAgICAgID8gdGhpcy5maW5CaWxsSXRlbURldGFpbFZvTGlzdFtpXS5tb250aFxuICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KCdZWVlZLU1NJylcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCctJylbMF1cbiAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICBpZiAocGx1c1BsYW5BbW91bnQgIT0gdGhpcy5iaWxsSW5mby5iaWxsQW1vdW50KSB7XG4gICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcign5p2D6LSj5pyI5bqU5pS26YeR6aKd5LmL5ZKM5bqU562J5LqO6LSm5Y2V6YeR6aKdJylcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJpbGxJbmZvLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0ID0gZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3RcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuJG1lc3NhZ2UuaW5mbygn5p2D6LSj5pyI5q2j5Zyo55Sf5oiQ77yM6K+356Gu6K6k5p2D6LSj5pyI5ZCO6YeN5paw5L+d5a2Y6LSm5Y2VJylcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5iaWxsSW5mby5oYXNGaW5SZWNlaXB0UGF5bWVudCkge1xuICAgICAgICBpZiAodGhpcy4kcmVmcy5leHBlbnNlc0FuZFJlY2VpcHRzXzEuYWN0aXZlID09PSAnJykge1xuICAgICAgICAgIHRoaXMuY29tcGFueS5mYWlsID0gdHJ1ZVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMuY29tcGFueVRleHQgPSB0aGlzLiRyZWZzLmV4cGVuc2VzQW5kUmVjZWlwdHNfMS5hY3RpdmVcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMucGF5QW1vdW50KSB7XG4gICAgICAgICAgdGhpcy5wYXlBbW91bnQuZmFpbCA9IHRydWVcbiAgICAgICAgICB0aGlzLnBheUFtb3VudC5wcm9tcHRUZXh0ID0gJ+ivt+i+k+WFpeaVsOWtlydcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnBheUFtb3VudC5mYWlsKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgdGhpcy5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy5wYXlBbW91bnQgKiAxID4gdGhpcy5iaWxsSW5mby5iaWxsQW1vdW50ICogMVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKCflj5HnlJ/ph5Hpop3kuI3og73lpKfkuo7otKbljZXph5Hpop0nKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wYXlNZXRob2QuYWN0aXZlKSB7XG4gICAgICAgICAgdGhpcy5wYXlNZXRob2QuZmFpbCA9IHRydWVcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICAvKjzmt7vliqDmlLbmja4+Ki9cbiAgICAgICAgaWYgKHRoaXMuYmlsbEluZm8uaGFzUmVjZWlwdCkge1xuICAgICAgICAgIGlmICh0aGlzLmJpbGxJbmZvLmZpblJlY2VpcHRWb0xpc3RbMF0ucGF5ZXIubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fmraPnoa7loavlhpnku5jmrL7ljZXkvY0nKVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuYmlsbEluZm8uZmluUmVjZWlwdFZvTGlzdFswXS5yZWNlaXB0QW1vdW50ID5cbiAgICAgICAgICAgIHRoaXMuZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMucGF5QW1vdW50XG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnBheUFtb3VudDIuZmFpbCA9IHRydWVcbiAgICAgICAgICAgIHRoaXMucGF5QW1vdW50Mi5wcm9tcHRUZXh0ID0gJ+aJgOWhq+WGheWuueS4jei2hei/h+WPkeeUn+mHkeminSdcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5iaWxsSW5mby5maW5SZWNlaXB0Vm9MaXN0WzBdLnJlY2VpcHRBbW91bnQgPD0gMCkge1xuICAgICAgICAgICAgdGhpcy5wYXlBbW91bnQyLmZhaWwgPSB0cnVlXG4gICAgICAgICAgICB0aGlzLnBheUFtb3VudDIucHJvbXB0VGV4dCA9ICfloavlhaXmraPnoa7nmoTlj5HnlJ/ph5Hpop0nXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmJpbGxJbmZvLmZpblJlY2VpcHRWb0xpc3RbMF0ucmVjZWlwdFVzZXJOYW1lKSB7XG4gICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+Whq+WFpeato+ehrueahOW8gOWFt+S6uicpXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmJpbGxJbmZvLmZpblJlY2VpcHRWb0xpc3RbMF0ucmVjZWlwdENvZGUpIHtcbiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn5aGr5YWl5q2j56Gu55qE5pS25o2u57yW5Y+3JylcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmJpbGxJbmZvLmZpblJlY2VpcHRWb0xpc3RbMF0ucmVjZWlwdE9wdGlvbiA9IHRoaXMuYmlsbEluZm8uZmluUmVjZWlwdFZvTGlzdFswXS5yZWNlaXB0T3B0aW9uLnRleHRcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWxldGUgdGhpcy5iaWxsSW5mby5maW5SZWNlaXB0Vm9MaXN0XG4gICAgICAgIH1cbiAgICAgICAgLyo8L+a3u+WKoOaUtuaNrj4qL1xuXG4gICAgICAgIHRoaXMubG9hZGluZ01vZGFsTWVudSgpXG4gICAgICAgIHRoaXMuZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMucGF5RGF0ZSA9IG1vbWVudChcbiAgICAgICAgICB0aGlzLmFzZFBheURhdGVcbiAgICAgICAgKS5mb3JtYXQoJ1lZWVkuTU0uREQnKVxuICAgICAgICBpZiAodGhpcy5hY2NvdW50RGF0ZSkge1xuICAgICAgICAgIHRoaXMuZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMuYWNjb3VudERhdGUgPSBtb21lbnQoXG4gICAgICAgICAgICB0aGlzLmFjY291bnREYXRlXG4gICAgICAgICAgKS5mb3JtYXQoJ1lZWVkuTU0uREQnKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMucmVjZWl2ZWRBbW91bnQgPSB0aGlzLnJlY2VpdmVkQW1vdW50XG4gICAgICAgIHRoaXMuZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMucGF5TWV0aG9kID0gdGhpcy5wYXlNZXRob2QuYWN0aXZlXG4gICAgICAgIHRoaXMuZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMubG9hblR5cGUgPSB0aGlzLmRldGFpbHMuc3RhdHVzXG4gICAgICAgIHRoaXMuYmlsbEluZm8uZmluUmVjZWlwdFBheW1lbnRWb0xpc3QgPSBbXG4gICAgICAgICAgdGhpcy5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlsc1xuICAgICAgICBdXG4gICAgICB9XG5cbiAgICAgIHRoaXMuYmlsbEluZm8uYmlsbFNvdXJjZUNvZGUgPSAnU0RaSlpEJ1xuICAgICAgdGhpcy5iaWxsSW5mby5lZmZlY3REYXRlID0gbW9tZW50KHRoaXMuZWZmZWN0RGF0ZSkuZm9ybWF0KCdZWVlZLk1NLkREJylcbiAgICAgIHRoaXMuYmlsbEluZm8uc3RhcnREYXRlID0gbW9tZW50KHRoaXMuY2lyY2xlWzBdKS5mb3JtYXQoJ1lZWVkuTU0uREQnKVxuICAgICAgdGhpcy5iaWxsSW5mby5lbmREYXRlID0gbW9tZW50KHRoaXMuY2lyY2xlWzFdKS5mb3JtYXQoJ1lZWVkuTU0uREQnKVxuICAgICAgdGhpcy5iaWxsSW5mby5iaWxsVHlwZSA9IHRoaXMuZGV0YWlscy5zdGF0dXNcbiAgICAgIHRoaXMuYmlsbEluZm8udGF4QW1vdW50ID0gdGhpcy50YXhBbW91bnRcbiAgICAgIHRoaXMuYmlsbEluZm8udGF4RnJlZUFtb3VudCA9IHRoaXMudGF4RnJlZUFtb3VudFxuICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuY29udHJhY3QuYWN0aXZlKS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgdGhpcy5iaWxsSW5mby5jb250UGsgPSB0aGlzLmNvbnRyYWN0LmFjdGl2ZS5pZFxuICAgICAgICB0aGlzLmJpbGxJbmZvLmNvbnRJZCA9IHRoaXMuY29udHJhY3QuYWN0aXZlLmNvbk9ySW50ZW50SWRcbiAgICAgICAgdGhpcy5iaWxsSW5mby5jb250Q29kZSA9IHRoaXMuY29udHJhY3QuYWN0aXZlLmNvZGVcbiAgICAgICAgdGhpcy5iaWxsSW5mby5tb2R1bGVDb2RlID0gdGhpcy5jb250cmFjdC5hY3RpdmUudHlwZVxuICAgICAgfVxuICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuY2xhdXNlVHlwZS5hY3RpdmUpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICB0aGlzLmJpbGxJbmZvLmNsYXVzZVR5cGUgPSB0aGlzLmNsYXVzZVR5cGUuYWN0aXZlLmNvZGVcbiAgICAgIH1cblxuICAgICAgY3JlYXRlRmluQmlsbFdpdGhSZWNlaXB0UGF5bWVudCh0aGlzLmJpbGxJbmZvKS50aGVuKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5paw5aKe5oiQ5YqfJylcbiAgICAgICAgdGhpcy5hY3Rpb25CaWxsUmVmcmVzaCh7XG4gICAgICAgICAgaWQ6IHJlcy5kYXRhLmlkXG4gICAgICAgIH0pXG4gICAgICAgIGlmICghdGhpcy5iaWxsSW5mby5oYXNQcmludFJlY2VpcHQpIHtcbiAgICAgICAgICB0aGlzLiRzdG9yZS5zdGF0ZS5tb2RhbE1lbnUuc3BsaWNlKC0xLCAxKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuYmlsbEluZm8uaGFzUHJpbnRSZWNlaXB0ICYmXG4gICAgICAgICAgYmF0Y2hQcmludEJpbGwoJycsIHtcbiAgICAgICAgICAgIHJlY2VpcHRJZHM6IHJlcy5kYXRhLmZpblJlY2VpcHRWb0xpc3RbMF0uaWRcbiAgICAgICAgICB9KS50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvblByaW50RmlsZUxpc3QocmVzLmRhdGEpXG4gICAgICAgICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7XG4gICAgICAgICAgICAgICQoJyNwcmludElmcmFtZScpLmpxcHJpbnQoKVxuICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5zdGF0ZS5tb2RhbE1lbnUuc3BsaWNlKC0xLCAxKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9LFxuICAgIC8q5paw5aKe56ef5a6iKi9cbiAgICBhZGRSZW50KCkge1xuICAgICAgdGhpcy4kc3RvcmUuc3RhdGUubW9kYWxNZW51LnB1c2goe1xuICAgICAgICBpZDogJ3RlbmFudE1hbmFnZW1lbnRNb2RhbCcsXG4gICAgICAgIHRpdGxlOiAn5paw5aKe56ef5a6iJyxcbiAgICAgICAgZm9vdGVyOiBudWxsLFxuICAgICAgICB3aWR0aDogJzEwNTZweCdcbiAgICAgIH0pXG4gICAgfSxcbiAgICBvbkNoYW5nZShlKSB7XG4gICAgICBjb25zdCBoYXNDaGVjayA9IGUudGFyZ2V0LmNoZWNrZWRcblxuICAgICAgaWYgKCFoYXNDaGVjaykge1xuICAgICAgICB0aGlzLmJpbGxJbmZvLmhhc1JlY2VpcHQgPSBoYXNDaGVja1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuaG91c2UuYWN0aXZlLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuYmlsbEluZm8uaGFzUmVjZWlwdCA9IGhhc0NoZWNrXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fpgInmi6nmiL/mupAnKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29tYmluZSA9IHtcbiAgICAgICAgICBwYXllcjogdGhpcy4kcmVmcy5leHBlbnNlc0FuZFJlY2VpcHRzXzEuYWN0aXZlLCAvLyDku5jmrL7ljZXkvY3oh6rliqjku47lj5HnlJ/lr7nosaHluKbov4fmnaXvvIzlj6/nvJbovpHjgIJcbiAgICAgICAgICByZWNlaXB0QW1vdW50OiB0aGlzLmV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLnBheUFtb3VudCwgLy8g5pS25o2u6YeR6aKd6Ieq5Yqo5LuO5Y+R55Sf6YeR6aKd5bim6L+H5p2l77yM5Y+v57yW6L6R5L2G5LiN5bCP5LqOMOOAgeS4jei2hei/h+WPkeeUn+mHkemineOAglxuICAgICAgICAgIHJlY2VpcHRVc2VyTmFtZTogdGhpcy51c2VySW5mby51c2VySW5mby5jaG5OYW1lLCAvLyDlvIDlhbfkurrpu5jorqTkuLrmk43kvZznlKjmiLfnmoTlp5PlkI3jgIJcbiAgICAgICAgICByZWNlaXB0T3B0aW9uOiB0aGlzLmZpbkl0ZW0uYWN0aXZlLCAvLyDmrL7pobnpu5jorqTku47otLnpobnluKbov4fmnaXvvIzlhYHorrjnvJbovpHjgIJcbiAgICAgICAgICByZWNlaXB0Q29kZTogdGhpcy5yYlJlY2VpcHRDb2RlIC8vIOaUtuaNruacrOe8lueggVxuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmJpbGxJbmZvLmZpblJlY2VpcHRWb0xpc3RbMF0sIGNvbWJpbmUpXG4gICAgICB9XG4gICAgICB0aGlzLmhhc1JlY2VpcHRMb2FkaW5nID0gZmFsc2VcbiAgICB9LFxuICAgIGhhbmRlclJlY2VpcHROdW1iZXIoZSkge1xuICAgICAgdGhpcy5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy5yZWNlaXB0TnVtYmVyID0gZS50YXJnZXQudmFsdWVcbiAgICB9XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgdGVuYW50TWFuYWdlbWVudEFkZERhdGE6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICB0aGlzLnBheWVyLmFjdGl2ZUl0ZW0oe1xuICAgICAgICBpdGVtOiB2YWx1ZVxuICAgICAgfSlcbiAgICAgIHRoaXMuJHJlZnMuYmlsbE1vZGFsXzIuYWN0aXZlID0gdmFsdWUudGV4dFxuICAgIH0sXG4gICAgJ2JpbGxJbmZvLmhhc1JlY2VpcHQnOiBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB0aGlzLnJlY2VpcHROdW1iZXIgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRoaXMucmVjZWlwdE51bWJlciA9IHRoaXMuZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMucmVjZWlwdE51bWJlciAvLyDpu5jorqTnmoQg5pS25o2u5Y+3XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLmV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLnJlY2VpcHROdW1iZXIgPSB0aGlzLnJiUmVjZWlwdENvZGVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYmlsbEluZm8uaGFzUHJpbnRSZWNlaXB0ID0gZmFsc2VcbiAgICAgICAgdGhpcy5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy5yZWNlaXB0TnVtYmVyID0gdGhpcy5yZWNlaXB0TnVtYmVyXG4gICAgICAgICAgPyB0aGlzLnJlY2VpcHROdW1iZXJcbiAgICAgICAgICA6ICcnXG4gICAgICAgIGRlbGV0ZSB0aGlzLnJlY2VpcHROdW1iZXJcbiAgICAgIH1cbiAgICB9LFxuICAgICdob3VzZS5hY3RpdmUnOiBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBidWlsZElkID0gW11cbiAgICAgICAgdmFsdWUuZm9yRWFjaChpdGVtID0+IGJ1aWxkSWQucHVzaChpdGVtLmJ1aWxkSWQpKVxuICAgICAgICB0aGlzLnJiQnVpbGRJZGVzID0gYnVpbGRJZC5qb2luKCcsJylcbiAgICAgICAgdGhpcy5yYlN1YlByb2plY3RJZCA9IHZhbHVlWzBdLnN1YlByb2plY3RJZFxuXG4gICAgICAgIC8vIOiOt+WPluaUtuaNruacrFxuICAgICAgICBxdWVyeUZpblJlY2VpcHRCb29rTGlzdEJ5U3ViUHJvamVjdElkKHtcbiAgICAgICAgICBzdWJQcm9qZWN0SWQ6IHRoaXMucmJTdWJQcm9qZWN0SWRcbiAgICAgICAgfSkudGhlbihyZXMgPT4ge1xuICAgICAgICAgIHRoaXMucmVjZWlwdEJvb2tJZC5hbGwgPSByZXMuZGF0YVxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIOiOt+WPlum7mOiupCAtICDmlLbmja7nvJblj7dcbiAgICAgICAgcXVlcnlDZmdCdWlsZERhdGFSdWxlTGlzdEJ5QnVpbGRJZHMoe1xuICAgICAgICAgIGJ1aWxkSWRzOiB0aGlzLnJiQnVpbGRJZGVzXG4gICAgICAgIH0pLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICB0aGlzLnJiUmVjZWlwdENvZGUgPSByZXMuZGF0YVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yYkJ1aWxkSWRlcyA9ICcnXG4gICAgICAgIHRoaXMucmJTdWJQcm9qZWN0SWQgPSAnJ1xuICAgICAgICB0aGlzLnJiUmVjZWlwdENvZGUgPSAnJ1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgY29tcG9uZW50czoge1xuICAgIHNhYXNEYXRlUGlja2VyLFxuICAgIHNhYXNTZWxlY3QsXG4gICAgZnV6enlTZWFyY2gsXG4gICAgTXVsdGlTZWxlY3RIb3VzZSxcbiAgICBpbnB1dFByb21wdCxcbiAgICBpbnB1dFNlbGVjdFxuICB9LFxuICBjb21wdXRlZDoge1xuICAgIC4uLm1hcEdldHRlcnMoW1xuICAgICAgLy8g5LuOc3RvcmXkuIrnu5HlrprnmoRnZXR0ZXJz5Lit6L295YWl6ZyA6KaB55qE5Yiw5q2k57uE5Lu25LitXG4gICAgICAnYWxsU2VsZWN0JyxcbiAgICAgICd1c2VySW5mbycsXG4gICAgICAndGVuYW50TWFuYWdlbWVudEFkZERhdGEnXG4gICAgXSksXG4gICAgdGF4QW1vdW50OiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBtaW51cyh0aGlzLmJpbGxJbmZvLmJpbGxBbW91bnQsIHRoaXMudGF4RnJlZUFtb3VudClcbiAgICB9LFxuICAgIHRheEZyZWVBbW91bnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGRpdihcbiAgICAgICAgdGhpcy5iaWxsSW5mby5iaWxsQW1vdW50LFxuICAgICAgICBwbHVzKDEsIGRpdih0aGlzLnRheFJhdGUuYWN0aXZlLnZhbHVlLCAxMDApKSxcbiAgICAgICAgMlxuICAgICAgKVxuICAgIH0sXG4gICAgcmVjZWl2ZWRBbW91bnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIG1pbnVzKFxuICAgICAgICB0aGlzLmV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLnBheUFtb3VudCxcbiAgICAgICAgdGhpcy5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy5wcm9jZWR1cmVBbW91bnRcbiAgICAgIClcbiAgICB9XG4gIH1cbn1cbjwvc2NyaXB0PlxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBWEE7QUFQQTtBQXFCQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBZEE7QUFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFmQTtBQWlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBSUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUNBO0FBOENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBREE7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBDQTtBQXNDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBeEJBO0FBMEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQXRCQTtBQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQVhBO0FBYUE7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZEE7QUFnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFwUkE7QUE0UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFWQTtBQUNBO0FBV0E7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQVVBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUE7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBR0E7QUFDQTtBQU1BO0FBZEE7QUFxQkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQU5BO0FBUUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBkQTtBQXNkQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEvQ0E7QUFpREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBR0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBSUE7QUF0QkE7QUFyekJBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/modals/collectionBillModal.vue?vue&type=script&lang=js&\n");
/***/ }),
/***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"24417bd7-vue-loader-template\"}!./node_modules/_vue-loader@15.9.5@vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/modals/collectionBillModal.vue?vue&type=template&id=0b2370d8&":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"24417bd7-vue-loader-template"}!./node_modules/_vue-loader@15.9.5@vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/modals/collectionBillModal.vue?vue&type=template&id=0b2370d8& ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"st_saas_modal billModal\" },\n [\n _c(\n \"a-row\",\n { style: { padding: \"0 16px\" }, attrs: { gutter: 24 } },\n [\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.details.status == \"2\" ? \"收款方\" : \"付款方\") +\n \"\\n \"\n ),\n _c(\"span\", [_vm._v(\"*\")]),\n _vm.userInfo.authorityList.TM_tenantUnitInfoEdit_button ||\n (_vm.userInfo.authorityList.TM_tenantProjectInfoEdit_button &&\n _vm.details.status != \"2\")\n ? _c(\n \"a\",\n {\n staticStyle: { float: \"right\" },\n on: { click: _vm.addRent }\n },\n [\n _c(\"a-icon\", {\n attrs: { type: \"usergroup-add\", size: \"large\" }\n }),\n _vm._v(\"新增租客\\n \")\n ],\n 1\n )\n : _vm._e()\n ]),\n _c(\"fuzzySearch\", {\n ref: \"billModal_2\",\n attrs: {\n id: \"billModal_2\",\n selectMenu: _vm.payer.all,\n placeholder:\n _vm.details.status == \"2\" ? \"请选择收款方\" : \"请选择付款方\",\n fail: _vm.payer.fail,\n multiple: false\n },\n on: {\n _refreshMenu: _vm.payer.refreshMenu,\n \"update:fail\": function($event) {\n return _vm.$set(_vm.payer, \"fail\", $event)\n },\n _activeItem: _vm.payer.activeItem\n },\n model: {\n value: _vm.payer.active,\n callback: function($$v) {\n _vm.$set(_vm.payer, \"active\", $$v)\n },\n expression: \"payer.active\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.details.status == \"1\" ? \"应收日期\" : \"应付日期\"\n ) +\n \"\\n \"\n ),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"a-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"请选择应收日期\" },\n model: {\n value: _vm.effectDate,\n callback: function($$v) {\n _vm.effectDate = $$v\n },\n expression: \"effectDate\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"a-row\",\n { style: { padding: \"0 16px\" }, attrs: { gutter: 24 } },\n [\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"关联合同/意向协议\")]),\n _c(\"fuzzySearch\", {\n ref: \"billModal_1\",\n attrs: {\n id: \"billModal_1\",\n selectMenu: _vm.contract.all,\n placeholder: \"请选择关联合同/意向协议\",\n multiple: false\n },\n on: {\n _activeItem: _vm.contract.activeItem,\n _refreshMenu: _vm.contract.refreshMenu\n },\n model: {\n value: _vm.contract.active,\n callback: function($$v) {\n _vm.$set(_vm.contract, \"active\", $$v)\n },\n expression: \"contract.active\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"条款类型\")]),\n Object.keys(this.contract.active).length > 0\n ? _c(\"a-input\", {\n attrs: { value: _vm.clauseType.active.text, disabled: \"\" }\n })\n : _c(\"saasSelect\", {\n ref: \"billModal_5\",\n attrs: {\n required: \"true\",\n fail: _vm.clauseType.fail,\n id: \"billModal_5\",\n selectMenu: _vm.clauseType.all,\n placeholder: \"请选择条款类型\"\n },\n on: { _activeItem: _vm.clauseType.activeItem }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"联系人\")]),\n _c(\"a-input\", {\n attrs: {\n disabled: _vm.details.contCode ? true : false,\n placeholder: \"请输入联系人\"\n },\n model: {\n value: _vm.payer.active.man,\n callback: function($$v) {\n _vm.$set(_vm.payer.active, \"man\", $$v)\n },\n expression: \"payer.active.man\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"联系电话\")]),\n _c(\"a-input\", {\n attrs: {\n disabled: _vm.details.contCode ? true : false,\n placeholder: \"请输入联系电话\"\n },\n model: {\n value: _vm.payer.active.mobile,\n callback: function($$v) {\n _vm.$set(_vm.payer.active, \"mobile\", $$v)\n },\n expression: \"payer.active.mobile\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _c(\"div\", { staticClass: \"houseCard\" }, [\n _c(\"div\", { staticClass: \"houseTitle\" }, [\n _vm._m(0),\n _c(\"div\", { staticClass: \"rightBox\" }, [\n _c(\"div\", { staticClass: \"label\" }, [\n _vm._v(\"\\n 房源数:\\n \"),\n _c(\"span\", [_vm._v(_vm._s(_vm.house.active.length))])\n ]),\n _c(\"div\", { staticClass: \"label\" }, [\n _vm._v(\"\\n 面积:\\n \"),\n _c(\"span\", [_vm._v(_vm._s(_vm.house.area) + \"㎡\")])\n ])\n ])\n ]),\n _c(\n \"div\",\n { staticClass: \"houseBox\" },\n [\n _c(\"MultiSelectHouse\", {\n ref: \"MultiSelectHouse\",\n attrs: {\n fail: _vm.house.fail,\n width: \"360px\",\n height: \"32px\",\n id: \"1\",\n placeholder: \"请选择应用房源\",\n required: \"true\",\n spaceType: { isDsabled: true }\n },\n on: { _activeHouse: _vm.house.activeItem }\n }),\n _c(\n \"div\",\n { staticClass: \"activeHouseList\" },\n _vm._l(_vm.house.active, function(item) {\n return _c(\n \"div\",\n { key: item.id, staticClass: \"activeHouseCard\" },\n [\n _c(\"div\", { staticClass: \"activeHouseLeft\" }, [\n _c(\"img\", { attrs: { src: item.icon } }),\n _c(\"span\", [_vm._v(_vm._s(item.buildName))])\n ]),\n _c(\"div\", { staticClass: \"activeHouseRight\" }, [\n _c(\n \"div\",\n { staticClass: \"label\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(item.maxArea) +\n \"㎡\\n \"\n ),\n _c(\"a-divider\", { attrs: { type: \"vertical\" } }),\n _vm._v(\n \"\\n \" +\n _vm._s(item.spaceName) +\n \"\\n \"\n )\n ],\n 1\n ),\n _c(\n \"a\",\n {\n on: {\n click: function($event) {\n return _vm.houseDelete(item)\n }\n }\n },\n [\n _c(\"a-icon\", {\n staticStyle: { color: \"rgba(0,0,0,0.15)\" },\n attrs: { type: \"close\" }\n })\n ],\n 1\n )\n ])\n ]\n )\n }),\n 0\n )\n ],\n 1\n )\n ]),\n _c(\n \"div\",\n { staticClass: \"expenditureCard\" },\n [\n _c(\"h2\", [_vm._v(\"费项\")]),\n _c(\n \"a-row\",\n { style: { padding: \"0 16px\" }, attrs: { gutter: 24 } },\n [\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 费项\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"fuzzySearch\", {\n ref: \"billModal_4\",\n attrs: {\n id: \"billModal_4\",\n selectMenu: _vm.finItem.list,\n placeholder: \"请选择费项\",\n fail: _vm.finItem.fail,\n multiple: false\n },\n on: {\n _activeItem: _vm.finItem.activeItem,\n \"update:fail\": function($event) {\n return _vm.$set(_vm.finItem, \"fail\", $event)\n },\n _refreshMenu: _vm.finItem.refreshMenu\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function(data) {\n return [\n _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(data.data.text) +\n \"\\n \" +\n _vm._s(data.data.feeType == 2 ? \"(押)\" : \"\") +\n \"\\n \" +\n _vm._s(data.data.feeType == 3 ? \"(预)\" : \"\") +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ]),\n model: {\n value: _vm.finItem.active,\n callback: function($$v) {\n _vm.$set(_vm.finItem, \"active\", $$v)\n },\n expression: \"finItem.active\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"inputPrompt\", {\n attrs: {\n type: \"number\",\n unit: \"元\",\n required: \"true\",\n label: \"账单金额\",\n fail: _vm.billAmount.fail,\n promptText: _vm.billAmount.promptText\n },\n on: {\n _prompt: _vm.billAmountPrompt,\n \"update:fail\": function($event) {\n return _vm.$set(_vm.billAmount, \"fail\", $event)\n }\n },\n model: {\n value: _vm.billInfo.billAmount,\n callback: function($$v) {\n _vm.$set(_vm.billInfo, \"billAmount\", $$v)\n },\n expression: \"billInfo.billAmount\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 税率\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"saasSelect\", {\n ref: \"billModal_6\",\n attrs: {\n required: \"true\",\n fail: _vm.taxRate.fail,\n id: \"billModal_6\",\n selectMenu:\n _vm.details.status == \"1\"\n ? _vm.allSelect.tax_rate_xx\n : _vm.allSelect.tax_rate_jx,\n placeholder: \"请选择税率\"\n },\n on: { _activeItem: _vm.taxRate.activeItem }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 计费周期\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"a-range-picker\", {\n style: { width: \"100%\" },\n attrs: { placeholder: [\"开始日期\", \"结束日期\"] },\n on: { change: _vm.changeCircle },\n model: {\n value: _vm.circle,\n callback: function($$v) {\n _vm.circle = $$v\n },\n expression: \"circle\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"inputPrompt\", {\n attrs: {\n type: \"number\",\n unit: \"元\",\n label: \"不含税金额\",\n disabled: true\n },\n model: {\n value: _vm.taxFreeAmount,\n callback: function($$v) {\n _vm.taxFreeAmount = $$v\n },\n expression: \"taxFreeAmount\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"inputPrompt\", {\n attrs: {\n type: \"number\",\n unit: \"元\",\n label: \"税额\",\n disabled: true\n },\n model: {\n value: _vm.taxAmount,\n callback: function($$v) {\n _vm.taxAmount = $$v\n },\n expression: \"taxAmount\"\n }\n })\n ],\n 1\n ),\n _vm.details.status == \"1\"\n ? _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"inputPrompt\", {\n attrs: {\n type: \"number\",\n unit: \"%/天\",\n label: \"违约金比例\",\n fail: _vm.latefeeRate.fail,\n promptText: _vm.latefeeRate.promptText,\n disabled: _vm.latefeeRate.disabled\n },\n on: {\n _prompt: _vm.latefeeRatePrompt,\n \"update:fail\": function($event) {\n return _vm.$set(_vm.latefeeRate, \"fail\", $event)\n }\n },\n model: {\n value: _vm.billInfo.latefeeRate,\n callback: function($$v) {\n _vm.$set(_vm.billInfo, \"latefeeRate\", $$v)\n },\n expression: \"billInfo.latefeeRate\"\n }\n })\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n ),\n _c(\n \"a-row\",\n { style: { padding: \"0 16px\" }, attrs: { gutter: 24 } },\n [\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 12 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 收支账户\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"saasSelect\", {\n ref: \"billModal_3\",\n attrs: {\n required: \"true\",\n fail: _vm.account.fail,\n id: \"billModal_3\",\n selectMenu: _vm.account.all,\n placeholder: \"请选择收支账户\"\n },\n on: { _activeItem: _vm.account.activeItem }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm.finBillItemDetailVoList.length != 0\n ? _c(\n \"div\",\n {\n staticClass: \"houseCard\",\n staticStyle: { paddingBottom: \"24px\" }\n },\n [\n _c(\"div\", { staticClass: \"houseTitle\" }, [\n _c(\"h2\", [_vm._v(\"权责月\")]),\n _c(\"a\", { on: { click: _vm.addFinBillItemDetailVoList } }, [\n _vm._v(\"+ 添加\")\n ])\n ]),\n _vm._l(_vm.finBillItemDetailVoList, function(item, index) {\n return _c(\n \"div\",\n { key: index, staticClass: \"powerAndResponsibilityMonth\" },\n [\n _c(\n \"a-row\",\n { attrs: { gutter: 24 } },\n [\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\n \"\\n 计费开始日期\\n \"\n ),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"a-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n placeholder: \"请选择计费开始日期\",\n disabled: \"\"\n },\n model: {\n value: item.startDate,\n callback: function($$v) {\n _vm.$set(item, \"startDate\", $$v)\n },\n expression: \"item.startDate\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\n \"\\n 计费结束日期\\n \"\n ),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"a-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n placeholder: \"请选择计费结束日期\",\n disabled:\n index ==\n _vm.finBillItemDetailVoList.length - 1\n },\n on: {\n change: function($event) {\n return _vm.changeEndDate(\n index,\n item.startDate,\n item.endDate,\n _vm.finBillItemDetailVoList[index + 1]\n .endDate\n )\n }\n },\n model: {\n value: item.endDate,\n callback: function($$v) {\n _vm.$set(item, \"endDate\", $$v)\n },\n expression: \"item.endDate\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"inputPrompt\", {\n attrs: {\n type: \"number\",\n unit: \"元\",\n required: \"true\",\n label: \"应收金额\"\n },\n model: {\n value: item.planAmount,\n callback: function($$v) {\n _vm.$set(item, \"planAmount\", $$v)\n },\n expression: \"item.planAmount\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 权责月\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _vm.finItem.active.feeType == 1\n ? _c(\"a-month-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"请选择权责月\" },\n model: {\n value: item.month,\n callback: function($$v) {\n _vm.$set(item, \"month\", $$v)\n },\n expression: \"item.month\"\n }\n })\n : _c(\"a-input\", {\n attrs: { placeholder: \"-\", disabled: \"\" }\n })\n ],\n 1\n ),\n _vm.finBillItemDetailVoList.length !== 1\n ? _c(\n \"a\",\n {\n on: {\n click: function($event) {\n return _vm.deleteFinBillItemDetailVoList(\n index\n )\n }\n }\n },\n [\n _c(\"a-icon\", {\n staticStyle: {\n fontSize: \"16px\",\n color: \"rgba(0, 0, 0, 0.4)\"\n },\n attrs: { type: \"close\" }\n })\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n ),\n index !== _vm.finBillItemDetailVoList.length - 1\n ? _c(\"a-divider\", { style: { marginBottom: 0 } })\n : _vm._e()\n ],\n 1\n )\n })\n ],\n 2\n )\n : _vm._e(),\n _c(\n \"a-row\",\n { style: { padding: \"0 16px 24px\" }, attrs: { gutter: 24 } },\n [\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 12 } },\n [\n _c(\"h3\", [_vm._v(\"备注\")]),\n _c(\"a-textarea\", {\n style: { height: \"88px\" },\n attrs: { placeholder: \"请输入备注信息\" },\n model: {\n value: _vm.billInfo.remark,\n callback: function($$v) {\n _vm.$set(_vm.billInfo, \"remark\", $$v)\n },\n expression: \"billInfo.remark\"\n }\n })\n ],\n 1\n ),\n _vm.userInfo.authorityList.CB_budgetOperation_button\n ? _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 8 } },\n [\n _c(\n \"a-checkbox\",\n {\n style: { marginTop: \"116px\" },\n model: {\n value: _vm.billInfo.hasFinReceiptPayment,\n callback: function($$v) {\n _vm.$set(_vm.billInfo, \"hasFinReceiptPayment\", $$v)\n },\n expression: \"billInfo.hasFinReceiptPayment\"\n }\n },\n [_vm._v(\"添加收支流水\")]\n )\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n ),\n _c(\n \"a-row\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.billInfo.hasFinReceiptPayment,\n expression: \"billInfo.hasFinReceiptPayment\"\n }\n ],\n style: { padding: \"0 16px\" },\n attrs: { gutter: 24 }\n },\n [\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 发生对象(对方单位)\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"inputSelect\", {\n ref: \"expensesAndReceipts_1\",\n attrs: {\n id: \"expensesAndReceipts_1\",\n selectMenu: _vm.company.all,\n placeholder: \"请输入发生对象\",\n required: \"true\",\n fail: _vm.company.fail\n },\n on: { _refreshMenu: _vm.company.refreshMenu }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"inputPrompt\", {\n attrs: {\n required: \"true\",\n type: \"number\",\n unit: \"元\",\n label: \"发生金额\",\n fail: _vm.payAmount.fail,\n promptText: _vm.payAmount.promptText\n },\n on: {\n _prompt: _vm.payAmountPrompt,\n \"update:fail\": function($event) {\n return _vm.$set(_vm.payAmount, \"fail\", $event)\n }\n },\n model: {\n value: _vm.expensesAndReceiptsDetails.payAmount,\n callback: function($$v) {\n _vm.$set(_vm.expensesAndReceiptsDetails, \"payAmount\", $$v)\n },\n expression: \"expensesAndReceiptsDetails.payAmount\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 缴款日期\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"a-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"请选择缴款日期\" },\n on: { change: _vm.changePayDate },\n model: {\n value: _vm.asdPayDate,\n callback: function($$v) {\n _vm.asdPayDate = $$v\n },\n expression: \"asdPayDate\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 到账日期\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"a-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"请选择到账日期\" },\n model: {\n value: _vm.accountDate,\n callback: function($$v) {\n _vm.accountDate = $$v\n },\n expression: \"accountDate\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _c(\"a-divider\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.billInfo.hasFinReceiptPayment,\n expression: \"billInfo.hasFinReceiptPayment\"\n }\n ],\n style: { margin: \"24px 16px 0\" }\n }),\n _c(\n \"a-row\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.billInfo.hasFinReceiptPayment,\n expression: \"billInfo.hasFinReceiptPayment\"\n }\n ],\n style: { padding: \"0 16px 24px\" },\n attrs: { gutter: 24 }\n },\n [\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"联系人\")]),\n _c(\"a-input\", {\n attrs: { placeholder: \"请输入联系人\" },\n model: {\n value: _vm.expensesAndReceiptsDetails.linkman,\n callback: function($$v) {\n _vm.$set(_vm.expensesAndReceiptsDetails, \"linkman\", $$v)\n },\n expression: \"expensesAndReceiptsDetails.linkman\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 付款方式\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"saasSelect\", {\n attrs: {\n id: \"expensesAndReceipts_3\",\n selectMenu: _vm.allSelect[\"pay_method\"],\n placeholder: \"请选择付款方式\",\n required: \"true\",\n fail: _vm.payMethod.fail\n },\n on: { _activeItem: _vm.payMethod.add }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"对方账号\")]),\n _c(\"a-input\", {\n attrs: { placeholder: \"请输入对方账号\" },\n model: {\n value: _vm.expensesAndReceiptsDetails.payAccountCard,\n callback: function($$v) {\n _vm.$set(\n _vm.expensesAndReceiptsDetails,\n \"payAccountCard\",\n $$v\n )\n },\n expression: \"expensesAndReceiptsDetails.payAccountCard\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"凭证号\")]),\n _c(\"a-input\", {\n attrs: { placeholder: \"请输入凭证号\" },\n model: {\n value: _vm.expensesAndReceiptsDetails.voucherNumber,\n callback: function($$v) {\n _vm.$set(\n _vm.expensesAndReceiptsDetails,\n \"voucherNumber\",\n $$v\n )\n },\n expression: \"expensesAndReceiptsDetails.voucherNumber\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"收据号\")]),\n _c(\"a-input\", {\n attrs: {\n placeholder: \"请输入收据号\",\n disabled: _vm.billInfo.hasReceipt\n },\n model: {\n value: _vm.expensesAndReceiptsDetails.receiptNumber,\n callback: function($$v) {\n _vm.$set(\n _vm.expensesAndReceiptsDetails,\n \"receiptNumber\",\n $$v\n )\n },\n expression: \"expensesAndReceiptsDetails.receiptNumber\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"inputPrompt\", {\n attrs: { type: \"number\", unit: \"元\", label: \"手续费\" },\n model: {\n value: _vm.expensesAndReceiptsDetails.procedureAmount,\n callback: function($$v) {\n _vm.$set(\n _vm.expensesAndReceiptsDetails,\n \"procedureAmount\",\n $$v\n )\n },\n expression: \"expensesAndReceiptsDetails.procedureAmount\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"到账金额\")]),\n _c(\"a-input\", {\n attrs: {\n disabled: \"\",\n placeholder: \"请输入到账金额\",\n value: _vm.receivedAmount\n }\n })\n ],\n 1\n ),\n _vm.userInfo.authorityList.CB_budgetOperation_button\n ? _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\n \"a-checkbox\",\n {\n staticStyle: { \"margin-top\": \"55px\" },\n attrs: { checked: _vm.billInfo.hasReceipt },\n on: { change: _vm.onChange }\n },\n [_vm._v(\"添加收据\")]\n ),\n _c(\n \"a-checkbox\",\n {\n staticStyle: {\n \"margin-top\": \"55px\",\n \"margin-left\": \"20px\"\n },\n attrs: { disabled: !_vm.billInfo.hasReceipt },\n model: {\n value: _vm.billInfo.hasPrintReceipt,\n callback: function($$v) {\n _vm.$set(_vm.billInfo, \"hasPrintReceipt\", $$v)\n },\n expression: \"billInfo.hasPrintReceipt\"\n }\n },\n [_vm._v(\"打印收据\")]\n )\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n ),\n _c(\n \"a-spin\",\n { attrs: { spinning: _vm.hasReceiptLoading } },\n _vm._l(_vm.billInfo.finReceiptVoList, function(item) {\n return _vm.billInfo.hasReceipt\n ? _c(\n \"a-row\",\n { style: { padding: \"0 16px 24px\" }, attrs: { gutter: 24 } },\n [\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 付款单位\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"a-input\", {\n attrs: { placeholder: \"请输入联系人\" },\n model: {\n value: item.payer,\n callback: function($$v) {\n _vm.$set(item, \"payer\", $$v)\n },\n expression: \"item.payer\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"付款人\")]),\n _c(\"a-input\", {\n attrs: { placeholder: \"请输入付款人\" },\n model: {\n value: item.payName,\n callback: function($$v) {\n _vm.$set(item, \"payName\", $$v)\n },\n expression: \"item.payName\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"inputPrompt\", {\n attrs: {\n required: \"true\",\n type: \"number\",\n unit: \"元\",\n label: \"收据金额\",\n fail: _vm.payAmount2.fail,\n promptText: _vm.payAmount2.promptText\n },\n on: {\n _prompt: _vm.payAmountPrompt2,\n \"update:fail\": function($event) {\n return _vm.$set(_vm.payAmount2, \"fail\", $event)\n }\n },\n model: {\n value: item.receiptAmount,\n callback: function($$v) {\n _vm.$set(item, \"receiptAmount\", $$v)\n },\n expression: \"item.receiptAmount\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"付款日期\")]),\n _c(\"saasDatePicker\", {\n model: {\n value: item.payDate,\n callback: function($$v) {\n _vm.$set(item, \"payDate\", $$v)\n },\n expression: \"item.payDate\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [\n _vm._v(\"\\n 开具人\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ]),\n _c(\"a-input\", {\n attrs: { placeholder: \"请输入开具人\" },\n model: {\n value: item.receiptUserName,\n callback: function($$v) {\n _vm.$set(item, \"receiptUserName\", $$v)\n },\n expression: \"item.receiptUserName\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"收款人\")]),\n _c(\"a-input\", {\n attrs: { placeholder: \"请输入收款人\" },\n model: {\n value: item.payeeName,\n callback: function($$v) {\n _vm.$set(item, \"payeeName\", $$v)\n },\n expression: \"item.payeeName\"\n }\n })\n ],\n 1\n ),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"款项\")]),\n _c(\"fuzzySearch\", {\n ref: \"ReceiptOption_24\",\n refInFor: true,\n attrs: {\n id: \"ReceiptOption_24\",\n selectMenu: _vm.finItem.list,\n placeholder: \"请选择款项\",\n fail: false,\n multiple: false\n },\n on: { _refreshMenu: _vm.finItem.refreshMenu },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function(data) {\n return [\n _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(data.data.text) +\n \"\\n \" +\n _vm._s(\n data.data.feeType == 2 ? \"(押)\" : \"\"\n ) +\n \"\\n \" +\n _vm._s(\n data.data.feeType == 3 ? \"(预)\" : \"\"\n ) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n true\n ),\n model: {\n value: item.receiptOption,\n callback: function($$v) {\n _vm.$set(item, \"receiptOption\", $$v)\n },\n expression: \"item.receiptOption\"\n }\n })\n ],\n 1\n ),\n _vm.userInfo.authorityList.Fin_Receipt_Book_Manager\n ? _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"收据本\")]),\n _c(\"saasSelect\", {\n ref: \"receiptModal_2\",\n refInFor: true,\n attrs: {\n id: \"receiptModal_2\",\n placeholder: \"请选择收据本\",\n selectMenu: _vm.receiptBookId.all\n },\n on: { _activeItem: _vm.receiptBookId.activeItem }\n })\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 6 } },\n [\n _c(\"h3\", [_vm._v(\"收据编号\"), _c(\"span\", [_vm._v(\"*\")])]),\n _c(\"a-input\", {\n attrs: { placeholder: \"请输入收款人\" },\n on: { change: _vm.handerReceiptNumber },\n model: {\n value: item.receiptCode,\n callback: function($$v) {\n _vm.$set(item, \"receiptCode\", $$v)\n },\n expression: \"item.receiptCode\"\n }\n })\n ],\n 1\n ),\n _c(\"a-col\", { staticClass: \"inputBox\", attrs: { span: 24 } }),\n _c(\n \"a-col\",\n { staticClass: \"inputBox\", attrs: { span: 12 } },\n [\n _c(\"h3\", [_vm._v(\"备注\")]),\n _c(\"a-textarea\", {\n style: { height: \"88px\" },\n attrs: { placeholder: \"请输入备注信息\" },\n model: {\n value: item.remark,\n callback: function($$v) {\n _vm.$set(item, \"remark\", $$v)\n },\n expression: \"item.remark\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e()\n }),\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h2\", [\n _vm._v(\"\\n 房源\\n \"),\n _c(\"span\", [_vm._v(\"*\")])\n ])\n }\n]\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzP3tcImNhY2hlRGlyZWN0b3J5XCI6XCJub2RlX21vZHVsZXMvLmNhY2hlL3Z1ZS1sb2FkZXJcIixcImNhY2hlSWRlbnRpZmllclwiOlwiMjQ0MTdiZDctdnVlLWxvYWRlci10ZW1wbGF0ZVwifSEuL25vZGVfbW9kdWxlcy9fdnVlLWxvYWRlckAxNS45LjVAdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8hLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvbW9kYWxzL2NvbGxlY3Rpb25CaWxsTW9kYWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTBiMjM3MGQ4Ji5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9tb2RhbHMvY29sbGVjdGlvbkJpbGxNb2RhbC52dWU/YjQzMyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF9jKFxuICAgIFwiZGl2XCIsXG4gICAgeyBzdGF0aWNDbGFzczogXCJzdF9zYWFzX21vZGFsIGJpbGxNb2RhbFwiIH0sXG4gICAgW1xuICAgICAgX2MoXG4gICAgICAgIFwiYS1yb3dcIixcbiAgICAgICAgeyBzdHlsZTogeyBwYWRkaW5nOiBcIjAgMTZweFwiIH0sIGF0dHJzOiB7IGd1dHRlcjogMjQgfSB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImgzXCIsIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgXCIgK1xuICAgICAgICAgICAgICAgICAgICBfdm0uX3MoX3ZtLmRldGFpbHMuc3RhdHVzID09IFwiMlwiID8gXCLmlLbmrL7mlrlcIiA6IFwi5LuY5qy+5pa5XCIpICtcbiAgICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgIFwiXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgW192bS5fdihcIipcIildKSxcbiAgICAgICAgICAgICAgICBfdm0udXNlckluZm8uYXV0aG9yaXR5TGlzdC5UTV90ZW5hbnRVbml0SW5mb0VkaXRfYnV0dG9uIHx8XG4gICAgICAgICAgICAgICAgKF92bS51c2VySW5mby5hdXRob3JpdHlMaXN0LlRNX3RlbmFudFByb2plY3RJbmZvRWRpdF9idXR0b24gJiZcbiAgICAgICAgICAgICAgICAgIF92bS5kZXRhaWxzLnN0YXR1cyAhPSBcIjJcIilcbiAgICAgICAgICAgICAgICAgID8gX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJhXCIsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgZmxvYXQ6IFwicmlnaHRcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb246IHsgY2xpY2s6IF92bS5hZGRSZW50IH1cbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiYS1pY29uXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJ1c2VyZ3JvdXAtYWRkXCIsIHNpemU6IFwibGFyZ2VcIiB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIuaWsOWinuenn+WuolxcbiAgICAgICAgXCIpXG4gICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKClcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIF9jKFwiZnV6enlTZWFyY2hcIiwge1xuICAgICAgICAgICAgICAgIHJlZjogXCJiaWxsTW9kYWxfMlwiLFxuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICBpZDogXCJiaWxsTW9kYWxfMlwiLFxuICAgICAgICAgICAgICAgICAgc2VsZWN0TWVudTogX3ZtLnBheWVyLmFsbCxcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOlxuICAgICAgICAgICAgICAgICAgICBfdm0uZGV0YWlscy5zdGF0dXMgPT0gXCIyXCIgPyBcIuivt+mAieaLqeaUtuasvuaWuVwiIDogXCLor7fpgInmi6nku5jmrL7mlrlcIixcbiAgICAgICAgICAgICAgICAgIGZhaWw6IF92bS5wYXllci5mYWlsLFxuICAgICAgICAgICAgICAgICAgbXVsdGlwbGU6IGZhbHNlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgX3JlZnJlc2hNZW51OiBfdm0ucGF5ZXIucmVmcmVzaE1lbnUsXG4gICAgICAgICAgICAgICAgICBcInVwZGF0ZTpmYWlsXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3ZtLiRzZXQoX3ZtLnBheWVyLCBcImZhaWxcIiwgJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF9hY3RpdmVJdGVtOiBfdm0ucGF5ZXIuYWN0aXZlSXRlbVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0ucGF5ZXIuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0ucGF5ZXIsIFwiYWN0aXZlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInBheWVyLmFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgIFwiICtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5kZXRhaWxzLnN0YXR1cyA9PSBcIjFcIiA/IFwi5bqU5pS25pel5pyfXCIgOiBcIuW6lOS7mOaXpeacn1wiXG4gICAgICAgICAgICAgICAgICAgICkgK1xuICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgXCJcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KFwiKlwiKV0pXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICBfYyhcImEtZGF0ZS1waWNrZXJcIiwge1xuICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9LFxuICAgICAgICAgICAgICAgIGF0dHJzOiB7IHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqeW6lOaUtuaXpeacn1wiIH0sXG4gICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZWZmZWN0RGF0ZSxcbiAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLmVmZmVjdERhdGUgPSAkJHZcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImVmZmVjdERhdGVcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX2MoXG4gICAgICAgIFwiYS1yb3dcIixcbiAgICAgICAgeyBzdHlsZTogeyBwYWRkaW5nOiBcIjAgMTZweFwiIH0sIGF0dHJzOiB7IGd1dHRlcjogMjQgfSB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImgzXCIsIFtfdm0uX3YoXCLlhbPogZTlkIjlkIwv5oSP5ZCR5Y2P6K6uXCIpXSksXG4gICAgICAgICAgICAgIF9jKFwiZnV6enlTZWFyY2hcIiwge1xuICAgICAgICAgICAgICAgIHJlZjogXCJiaWxsTW9kYWxfMVwiLFxuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICBpZDogXCJiaWxsTW9kYWxfMVwiLFxuICAgICAgICAgICAgICAgICAgc2VsZWN0TWVudTogX3ZtLmNvbnRyYWN0LmFsbCxcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqeWFs+iBlOWQiOWQjC/mhI/lkJHljY/orq5cIixcbiAgICAgICAgICAgICAgICAgIG11bHRpcGxlOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgIF9hY3RpdmVJdGVtOiBfdm0uY29udHJhY3QuYWN0aXZlSXRlbSxcbiAgICAgICAgICAgICAgICAgIF9yZWZyZXNoTWVudTogX3ZtLmNvbnRyYWN0LnJlZnJlc2hNZW51XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5jb250cmFjdC5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5jb250cmFjdCwgXCJhY3RpdmVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiY29udHJhY3QuYWN0aXZlXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgICksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImgzXCIsIFtfdm0uX3YoXCLmnaHmrL7nsbvlnotcIildKSxcbiAgICAgICAgICAgICAgT2JqZWN0LmtleXModGhpcy5jb250cmFjdC5hY3RpdmUpLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICA/IF9jKFwiYS1pbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHZhbHVlOiBfdm0uY2xhdXNlVHlwZS5hY3RpdmUudGV4dCwgZGlzYWJsZWQ6IFwiXCIgfVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IF9jKFwic2Fhc1NlbGVjdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHJlZjogXCJiaWxsTW9kYWxfNVwiLFxuICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBcInRydWVcIixcbiAgICAgICAgICAgICAgICAgICAgICBmYWlsOiBfdm0uY2xhdXNlVHlwZS5mYWlsLFxuICAgICAgICAgICAgICAgICAgICAgIGlkOiBcImJpbGxNb2RhbF81XCIsXG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0TWVudTogX3ZtLmNsYXVzZVR5cGUuYWxsLFxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqeadoeasvuexu+Wei1wiXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uOiB7IF9hY3RpdmVJdGVtOiBfdm0uY2xhdXNlVHlwZS5hY3RpdmVJdGVtIH1cbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgICksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImgzXCIsIFtfdm0uX3YoXCLogZTns7vkurpcIildKSxcbiAgICAgICAgICAgICAgX2MoXCJhLWlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IF92bS5kZXRhaWxzLmNvbnRDb2RlID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl6IGU57O75Lq6XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnBheWVyLmFjdGl2ZS5tYW4sXG4gICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5wYXllci5hY3RpdmUsIFwibWFuXCIsICQkdilcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInBheWVyLmFjdGl2ZS5tYW5cIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogNiB9IH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIuiBlOezu+eUteivnVwiKV0pLFxuICAgICAgICAgICAgICBfYyhcImEtaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZDogX3ZtLmRldGFpbHMuY29udENvZGUgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogXCLor7fovpPlhaXogZTns7vnlLXor51cIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0ucGF5ZXIuYWN0aXZlLm1vYmlsZSxcbiAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoX3ZtLnBheWVyLmFjdGl2ZSwgXCJtb2JpbGVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwicGF5ZXIuYWN0aXZlLm1vYmlsZVwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImhvdXNlQ2FyZFwiIH0sIFtcbiAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJob3VzZVRpdGxlXCIgfSwgW1xuICAgICAgICAgIF92bS5fbSgwKSxcbiAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJpZ2h0Qm94XCIgfSwgW1xuICAgICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJsYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuICAgICAgICAgIOaIv+a6kOaVsO+8mlxcbiAgICAgICAgICBcIiksXG4gICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KF92bS5fcyhfdm0uaG91c2UuYWN0aXZlLmxlbmd0aCkpXSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJsYWJlbFwiIH0sIFtcbiAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuICAgICAgICAgIOmdouenr++8mlxcbiAgICAgICAgICBcIiksXG4gICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KF92bS5fcyhfdm0uaG91c2UuYXJlYSkgKyBcIuOOoVwiKV0pXG4gICAgICAgICAgICBdKVxuICAgICAgICAgIF0pXG4gICAgICAgIF0pLFxuICAgICAgICBfYyhcbiAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaG91c2VCb3hcIiB9LFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIF9jKFwiTXVsdGlTZWxlY3RIb3VzZVwiLCB7XG4gICAgICAgICAgICAgIHJlZjogXCJNdWx0aVNlbGVjdEhvdXNlXCIsXG4gICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgZmFpbDogX3ZtLmhvdXNlLmZhaWwsXG4gICAgICAgICAgICAgICAgd2lkdGg6IFwiMzYwcHhcIixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMzJweFwiLFxuICAgICAgICAgICAgICAgIGlkOiBcIjFcIixcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6nlupTnlKjmiL/mupBcIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgc3BhY2VUeXBlOiB7IGlzRHNhYmxlZDogdHJ1ZSB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG9uOiB7IF9hY3RpdmVIb3VzZTogX3ZtLmhvdXNlLmFjdGl2ZUl0ZW0gfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJhY3RpdmVIb3VzZUxpc3RcIiB9LFxuICAgICAgICAgICAgICBfdm0uX2woX3ZtLmhvdXNlLmFjdGl2ZSwgZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfYyhcbiAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICB7IGtleTogaXRlbS5pZCwgc3RhdGljQ2xhc3M6IFwiYWN0aXZlSG91c2VDYXJkXCIgfSxcbiAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJhY3RpdmVIb3VzZUxlZnRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJpbWdcIiwgeyBhdHRyczogeyBzcmM6IGl0ZW0uaWNvbiB9IH0pLFxuICAgICAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KF92bS5fcyhpdGVtLmJ1aWxkTmFtZSkpXSlcbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiYWN0aXZlSG91c2VSaWdodFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImxhYmVsXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoaXRlbS5tYXhBcmVhKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIuOOoVxcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJhLWRpdmlkZXJcIiwgeyBhdHRyczogeyB0eXBlOiBcInZlcnRpY2FsXCIgfSB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoaXRlbS5zcGFjZU5hbWUpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJhXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5ob3VzZURlbGV0ZShpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJhLWljb25cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IGNvbG9yOiBcInJnYmEoMCwwLDAsMC4xNSlcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwiY2xvc2VcIiB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICApXG4gICAgICAgICAgXSxcbiAgICAgICAgICAxXG4gICAgICAgIClcbiAgICAgIF0pLFxuICAgICAgX2MoXG4gICAgICAgIFwiZGl2XCIsXG4gICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiZXhwZW5kaXR1cmVDYXJkXCIgfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFwiaDJcIiwgW192bS5fdihcIui0uemhuVwiKV0pLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJhLXJvd1wiLFxuICAgICAgICAgICAgeyBzdHlsZTogeyBwYWRkaW5nOiBcIjAgMTZweFwiIH0sIGF0dHJzOiB7IGd1dHRlcjogMjQgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBfYyhcImgzXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuICAgICAgICAgIOi0uemhuVxcbiAgICAgICAgICBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KFwiKlwiKV0pXG4gICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwiZnV6enlTZWFyY2hcIiwge1xuICAgICAgICAgICAgICAgICAgICByZWY6IFwiYmlsbE1vZGFsXzRcIixcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogXCJiaWxsTW9kYWxfNFwiLFxuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdE1lbnU6IF92bS5maW5JdGVtLmxpc3QsXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oup6LS56aG5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgZmFpbDogX3ZtLmZpbkl0ZW0uZmFpbCxcbiAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZTogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICBfYWN0aXZlSXRlbTogX3ZtLmZpbkl0ZW0uYWN0aXZlSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICBcInVwZGF0ZTpmYWlsXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS4kc2V0KF92bS5maW5JdGVtLCBcImZhaWxcIiwgJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgX3JlZnJlc2hNZW51OiBfdm0uZmluSXRlbS5yZWZyZXNoTWVudVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzY29wZWRTbG90czogX3ZtLl91KFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwiZGVmYXVsdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgICAgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhkYXRhLmRhdGEudGV4dCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKGRhdGEuZGF0YS5mZWVUeXBlID09IDIgPyBcIijmirwpXCIgOiBcIlwiKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICAgIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoZGF0YS5kYXRhLmZlZVR5cGUgPT0gMyA/IFwiKOmihClcIiA6IFwiXCIpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5maW5JdGVtLmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uZmluSXRlbSwgXCJhY3RpdmVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJmaW5JdGVtLmFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFwiaW5wdXRQcm9tcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgdW5pdDogXCLlhYNcIixcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi6LSm5Y2V6YeR6aKdXCIsXG4gICAgICAgICAgICAgICAgICAgICAgZmFpbDogX3ZtLmJpbGxBbW91bnQuZmFpbCxcbiAgICAgICAgICAgICAgICAgICAgICBwcm9tcHRUZXh0OiBfdm0uYmlsbEFtb3VudC5wcm9tcHRUZXh0XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgX3Byb21wdDogX3ZtLmJpbGxBbW91bnRQcm9tcHQsXG4gICAgICAgICAgICAgICAgICAgICAgXCJ1cGRhdGU6ZmFpbFwiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uJHNldChfdm0uYmlsbEFtb3VudCwgXCJmYWlsXCIsICRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5iaWxsSW5mby5iaWxsQW1vdW50LFxuICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5iaWxsSW5mbywgXCJiaWxsQW1vdW50XCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiYmlsbEluZm8uYmlsbEFtb3VudFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFwiaDNcIiwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG4gICAgICAgICAg56iO546HXFxuICAgICAgICAgIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXCJzcGFuXCIsIFtfdm0uX3YoXCIqXCIpXSlcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgX2MoXCJzYWFzU2VsZWN0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmOiBcImJpbGxNb2RhbF82XCIsXG4gICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgIGZhaWw6IF92bS50YXhSYXRlLmZhaWwsXG4gICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiYmlsbE1vZGFsXzZcIixcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RNZW51OlxuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmRldGFpbHMuc3RhdHVzID09IFwiMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gX3ZtLmFsbFNlbGVjdC50YXhfcmF0ZV94eFxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IF92bS5hbGxTZWxlY3QudGF4X3JhdGVfangsXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oup56iO546HXCJcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHsgX2FjdGl2ZUl0ZW06IF92bS50YXhSYXRlLmFjdGl2ZUl0ZW0gfVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogNiB9IH0sXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIlxcbiAgICAgICAgICDorqHotLnlkajmnJ9cXG4gICAgICAgICAgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgW192bS5fdihcIipcIildKVxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICBfYyhcImEtcmFuZ2UtcGlja2VyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0sXG4gICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHBsYWNlaG9sZGVyOiBbXCLlvIDlp4vml6XmnJ9cIiwgXCLnu5PmnZ/ml6XmnJ9cIl0gfSxcbiAgICAgICAgICAgICAgICAgICAgb246IHsgY2hhbmdlOiBfdm0uY2hhbmdlQ2lyY2xlIH0sXG4gICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5jaXJjbGUsXG4gICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmNpcmNsZSA9ICQkdlxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJjaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBfYyhcImlucHV0UHJvbXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgICAgICAgICAgIHVuaXQ6IFwi5YWDXCIsXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi5LiN5ZCr56iO6YeR6aKdXCIsXG4gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnRheEZyZWVBbW91bnQsXG4gICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLnRheEZyZWVBbW91bnQgPSAkJHZcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidGF4RnJlZUFtb3VudFwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFwiaW5wdXRQcm9tcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgdW5pdDogXCLlhYNcIixcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCLnqI7pop1cIixcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0udGF4QW1vdW50LFxuICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF92bS50YXhBbW91bnQgPSAkJHZcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwidGF4QW1vdW50XCJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgX3ZtLmRldGFpbHMuc3RhdHVzID09IFwiMVwiXG4gICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJpbnB1dFByb21wdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0OiBcIiUv5aSpXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIui/nee6pumHkeavlOS+i1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsOiBfdm0ubGF0ZWZlZVJhdGUuZmFpbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvbXB0VGV4dDogX3ZtLmxhdGVmZWVSYXRlLnByb21wdFRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBfdm0ubGF0ZWZlZVJhdGUuZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfcHJvbXB0OiBfdm0ubGF0ZWZlZVJhdGVQcm9tcHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwidXBkYXRlOmZhaWxcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS4kc2V0KF92bS5sYXRlZmVlUmF0ZSwgXCJmYWlsXCIsICRldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uYmlsbEluZm8ubGF0ZWZlZVJhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uYmlsbEluZm8sIFwibGF0ZWZlZVJhdGVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImJpbGxJbmZvLmxhdGVmZWVSYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfYyhcbiAgICAgICAgXCJhLXJvd1wiLFxuICAgICAgICB7IHN0eWxlOiB7IHBhZGRpbmc6IFwiMCAxNnB4XCIgfSwgYXR0cnM6IHsgZ3V0dGVyOiAyNCB9IH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogMTIgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImgzXCIsIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG4gICAgICAgIOaUtuaUr+i0puaIt1xcbiAgICAgICAgXCIpLFxuICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KFwiKlwiKV0pXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICBfYyhcInNhYXNTZWxlY3RcIiwge1xuICAgICAgICAgICAgICAgIHJlZjogXCJiaWxsTW9kYWxfM1wiLFxuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgICBmYWlsOiBfdm0uYWNjb3VudC5mYWlsLFxuICAgICAgICAgICAgICAgICAgaWQ6IFwiYmlsbE1vZGFsXzNcIixcbiAgICAgICAgICAgICAgICAgIHNlbGVjdE1lbnU6IF92bS5hY2NvdW50LmFsbCxcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqeaUtuaUr+i0puaIt1wiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbjogeyBfYWN0aXZlSXRlbTogX3ZtLmFjY291bnQuYWN0aXZlSXRlbSB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF92bS5maW5CaWxsSXRlbURldGFpbFZvTGlzdC5sZW5ndGggIT0gMFxuICAgICAgICA/IF9jKFxuICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiaG91c2VDYXJkXCIsXG4gICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHBhZGRpbmdCb3R0b206IFwiMjRweFwiIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiaG91c2VUaXRsZVwiIH0sIFtcbiAgICAgICAgICAgICAgICBfYyhcImgyXCIsIFtfdm0uX3YoXCLmnYPotKPmnIhcIildKSxcbiAgICAgICAgICAgICAgICBfYyhcImFcIiwgeyBvbjogeyBjbGljazogX3ZtLmFkZEZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0IH0gfSwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiKyDmt7vliqBcIilcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgX3ZtLl9sKF92bS5maW5CaWxsSXRlbURldGFpbFZvTGlzdCwgZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2MoXG4gICAgICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICAgICAgeyBrZXk6IGluZGV4LCBzdGF0aWNDbGFzczogXCJwb3dlckFuZFJlc3BvbnNpYmlsaXR5TW9udGhcIiB9LFxuICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcImEtcm93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgeyBhdHRyczogeyBndXR0ZXI6IDI0IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAg6K6h6LS55byA5aeL5pel5pyfXFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgW192bS5fdihcIipcIildKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiYS1kYXRlLXBpY2tlclwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqeiuoei0ueW8gOWni+aXpeacn1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLnN0YXJ0RGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwic3RhcnREYXRlXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLnN0YXJ0RGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogNiB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImgzXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICDorqHotLnnu5PmnZ/ml6XmnJ9cXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KFwiKlwiKV0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJhLWRhdGUtcGlja2VyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IHdpZHRoOiBcIjEwMCVcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oup6K6h6LS557uT5p2f5pel5pyfXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0Lmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2U6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uY2hhbmdlRW5kRGF0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5zdGFydERhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmVuZERhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uZmluQmlsbEl0ZW1EZXRhaWxWb0xpc3RbaW5kZXggKyAxXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZW5kRGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLmVuZERhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChpdGVtLCBcImVuZERhdGVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0uZW5kRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogNiB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImlucHV0UHJvbXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXQ6IFwi5YWDXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBcInRydWVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwi5bqU5pS26YeR6aKdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5wbGFuQW1vdW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJwbGFuQW1vdW50XCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLnBsYW5BbW91bnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG4gICAgICAgICAgICDmnYPotKPmnIhcXG4gICAgICAgICAgICBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgW192bS5fdihcIipcIildKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5maW5JdGVtLmFjdGl2ZS5mZWVUeXBlID09IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2MoXCJhLW1vbnRoLXBpY2tlclwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljU3R5bGU6IHsgd2lkdGg6IFwiMTAwJVwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oup5p2D6LSj5pyIXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0ubW9udGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwibW9udGhcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5tb250aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfYyhcImEtaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHBsYWNlaG9sZGVyOiBcIi1cIiwgZGlzYWJsZWQ6IFwiXCIgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0Lmxlbmd0aCAhPT0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS5kZWxldGVGaW5CaWxsSXRlbURldGFpbFZvTGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiYS1pY29uXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNTdHlsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMTZweFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IFwicmdiYSgwLCAwLCAwLCAwLjQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHR5cGU6IFwiY2xvc2VcIiB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBpbmRleCAhPT0gX3ZtLmZpbkJpbGxJdGVtRGV0YWlsVm9MaXN0Lmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICAgICAgICA/IF9jKFwiYS1kaXZpZGVyXCIsIHsgc3R5bGU6IHsgbWFyZ2luQm90dG9tOiAwIH0gfSlcbiAgICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAyXG4gICAgICAgICAgKVxuICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgX2MoXG4gICAgICAgIFwiYS1yb3dcIixcbiAgICAgICAgeyBzdHlsZTogeyBwYWRkaW5nOiBcIjAgMTZweCAyNHB4XCIgfSwgYXR0cnM6IHsgZ3V0dGVyOiAyNCB9IH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogMTIgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImgzXCIsIFtfdm0uX3YoXCLlpIfms6hcIildKSxcbiAgICAgICAgICAgICAgX2MoXCJhLXRleHRhcmVhXCIsIHtcbiAgICAgICAgICAgICAgICBzdHlsZTogeyBoZWlnaHQ6IFwiODhweFwiIH0sXG4gICAgICAgICAgICAgICAgYXR0cnM6IHsgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl5aSH5rOo5L+h5oGvXCIgfSxcbiAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5iaWxsSW5mby5yZW1hcmssXG4gICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KF92bS5iaWxsSW5mbywgXCJyZW1hcmtcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiYmlsbEluZm8ucmVtYXJrXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLnVzZXJJbmZvLmF1dGhvcml0eUxpc3QuQ0JfYnVkZ2V0T3BlcmF0aW9uX2J1dHRvblxuICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA4IH0gfSxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJhLWNoZWNrYm94XCIsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogeyBtYXJnaW5Ub3A6IFwiMTE2cHhcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmJpbGxJbmZvLmhhc0ZpblJlY2VpcHRQYXltZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uYmlsbEluZm8sIFwiaGFzRmluUmVjZWlwdFBheW1lbnRcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiYmlsbEluZm8uaGFzRmluUmVjZWlwdFBheW1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgW192bS5fdihcIua3u+WKoOaUtuaUr+a1geawtFwiKV1cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBfdm0uX2UoKVxuICAgICAgICBdLFxuICAgICAgICAxXG4gICAgICApLFxuICAgICAgX2MoXG4gICAgICAgIFwiYS1yb3dcIixcbiAgICAgICAge1xuICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICAgIHZhbHVlOiBfdm0uYmlsbEluZm8uaGFzRmluUmVjZWlwdFBheW1lbnQsXG4gICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiYmlsbEluZm8uaGFzRmluUmVjZWlwdFBheW1lbnRcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgc3R5bGU6IHsgcGFkZGluZzogXCIwIDE2cHhcIiB9LFxuICAgICAgICAgIGF0dHJzOiB7IGd1dHRlcjogMjQgfVxuICAgICAgICB9LFxuICAgICAgICBbXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImgzXCIsIFtcbiAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG4gICAgICAgIOWPkeeUn+Wvueixoe+8iOWvueaWueWNleS9je+8iVxcbiAgICAgICAgXCIpLFxuICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KFwiKlwiKV0pXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICBfYyhcImlucHV0U2VsZWN0XCIsIHtcbiAgICAgICAgICAgICAgICByZWY6IFwiZXhwZW5zZXNBbmRSZWNlaXB0c18xXCIsXG4gICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgIGlkOiBcImV4cGVuc2VzQW5kUmVjZWlwdHNfMVwiLFxuICAgICAgICAgICAgICAgICAgc2VsZWN0TWVudTogX3ZtLmNvbXBhbnkuYWxsLFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl5Y+R55Sf5a+56LGhXCIsXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgICBmYWlsOiBfdm0uY29tcGFueS5mYWlsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbjogeyBfcmVmcmVzaE1lbnU6IF92bS5jb21wYW55LnJlZnJlc2hNZW51IH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogNiB9IH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwiaW5wdXRQcm9tcHRcIiwge1xuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgICAgICAgdW5pdDogXCLlhYNcIixcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIuWPkeeUn+mHkeminVwiLFxuICAgICAgICAgICAgICAgICAgZmFpbDogX3ZtLnBheUFtb3VudC5mYWlsLFxuICAgICAgICAgICAgICAgICAgcHJvbXB0VGV4dDogX3ZtLnBheUFtb3VudC5wcm9tcHRUZXh0XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgICAgX3Byb21wdDogX3ZtLnBheUFtb3VudFByb21wdCxcbiAgICAgICAgICAgICAgICAgIFwidXBkYXRlOmZhaWxcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfdm0uJHNldChfdm0ucGF5QW1vdW50LCBcImZhaWxcIiwgJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMucGF5QW1vdW50LFxuICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMsIFwicGF5QW1vdW50XCIsICQkdilcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLnBheUFtb3VudFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuICAgICAgICDnvLTmrL7ml6XmnJ9cXG4gICAgICAgIFwiKSxcbiAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgW192bS5fdihcIipcIildKVxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgX2MoXCJhLWRhdGUtcGlja2VyXCIsIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSxcbiAgICAgICAgICAgICAgICBhdHRyczogeyBwbGFjZWhvbGRlcjogXCLor7fpgInmi6nnvLTmrL7ml6XmnJ9cIiB9LFxuICAgICAgICAgICAgICAgIG9uOiB7IGNoYW5nZTogX3ZtLmNoYW5nZVBheURhdGUgfSxcbiAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5hc2RQYXlEYXRlLFxuICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICBfdm0uYXNkUGF5RGF0ZSA9ICQkdlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiYXNkUGF5RGF0ZVwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuICAgICAgICDliLDotKbml6XmnJ9cXG4gICAgICAgIFwiKSxcbiAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgW192bS5fdihcIipcIildKVxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgX2MoXCJhLWRhdGUtcGlja2VyXCIsIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNTdHlsZTogeyB3aWR0aDogXCIxMDAlXCIgfSxcbiAgICAgICAgICAgICAgICBhdHRyczogeyBwbGFjZWhvbGRlcjogXCLor7fpgInmi6nliLDotKbml6XmnJ9cIiB9LFxuICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmFjY291bnREYXRlLFxuICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICBfdm0uYWNjb3VudERhdGUgPSAkJHZcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImFjY291bnREYXRlXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgIClcbiAgICAgICAgXSxcbiAgICAgICAgMVxuICAgICAgKSxcbiAgICAgIF9jKFwiYS1kaXZpZGVyXCIsIHtcbiAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAgICAgICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgICAgICAgIHZhbHVlOiBfdm0uYmlsbEluZm8uaGFzRmluUmVjZWlwdFBheW1lbnQsXG4gICAgICAgICAgICBleHByZXNzaW9uOiBcImJpbGxJbmZvLmhhc0ZpblJlY2VpcHRQYXltZW50XCJcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIHN0eWxlOiB7IG1hcmdpbjogXCIyNHB4IDE2cHggMFwiIH1cbiAgICAgIH0pLFxuICAgICAgX2MoXG4gICAgICAgIFwiYS1yb3dcIixcbiAgICAgICAge1xuICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICAgICAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICAgICAgICAgIHZhbHVlOiBfdm0uYmlsbEluZm8uaGFzRmluUmVjZWlwdFBheW1lbnQsXG4gICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiYmlsbEluZm8uaGFzRmluUmVjZWlwdFBheW1lbnRcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgc3R5bGU6IHsgcGFkZGluZzogXCIwIDE2cHggMjRweFwiIH0sXG4gICAgICAgICAgYXR0cnM6IHsgZ3V0dGVyOiAyNCB9XG4gICAgICAgIH0sXG4gICAgICAgIFtcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogNiB9IH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIuiBlOezu+S6ulwiKV0pLFxuICAgICAgICAgICAgICBfYyhcImEtaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgIGF0dHJzOiB7IHBsYWNlaG9sZGVyOiBcIuivt+i+k+WFpeiBlOezu+S6ulwiIH0sXG4gICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMubGlua21hbixcbiAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoX3ZtLmV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLCBcImxpbmttYW5cIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMubGlua21hblwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuICAgICAgICDku5jmrL7mlrnlvI9cXG4gICAgICAgIFwiKSxcbiAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgW192bS5fdihcIipcIildKVxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgX2MoXCJzYWFzU2VsZWN0XCIsIHtcbiAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgaWQ6IFwiZXhwZW5zZXNBbmRSZWNlaXB0c18zXCIsXG4gICAgICAgICAgICAgICAgICBzZWxlY3RNZW51OiBfdm0uYWxsU2VsZWN0W1wicGF5X21ldGhvZFwiXSxcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqeS7mOasvuaWueW8j1wiLFxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgICAgZmFpbDogX3ZtLnBheU1ldGhvZC5mYWlsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvbjogeyBfYWN0aXZlSXRlbTogX3ZtLnBheU1ldGhvZC5hZGQgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJoM1wiLCBbX3ZtLl92KFwi5a+55pa56LSm5Y+3XCIpXSksXG4gICAgICAgICAgICAgIF9jKFwiYS1pbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgYXR0cnM6IHsgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl5a+55pa56LSm5Y+3XCIgfSxcbiAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy5wYXlBY2NvdW50Q2FyZCxcbiAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoXG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLmV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLFxuICAgICAgICAgICAgICAgICAgICAgIFwicGF5QWNjb3VudENhcmRcIixcbiAgICAgICAgICAgICAgICAgICAgICAkJHZcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMucGF5QWNjb3VudENhcmRcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogNiB9IH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIuWHreivgeWPt1wiKV0pLFxuICAgICAgICAgICAgICBfYyhcImEtaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgIGF0dHJzOiB7IHBsYWNlaG9sZGVyOiBcIuivt+i+k+WFpeWHreivgeWPt1wiIH0sXG4gICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMudm91Y2hlck51bWJlcixcbiAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbigkJHYpIHtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoXG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLmV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLFxuICAgICAgICAgICAgICAgICAgICAgIFwidm91Y2hlck51bWJlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICQkdlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJleHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy52b3VjaGVyTnVtYmVyXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgMVxuICAgICAgICAgICksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcImEtY29sXCIsXG4gICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcImgzXCIsIFtfdm0uX3YoXCLmlLbmja7lj7dcIildKSxcbiAgICAgICAgICAgICAgX2MoXCJhLWlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl5pS25o2u5Y+3XCIsXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZDogX3ZtLmJpbGxJbmZvLmhhc1JlY2VpcHRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmV4cGVuc2VzQW5kUmVjZWlwdHNEZXRhaWxzLnJlY2VpcHROdW1iZXIsXG4gICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscyxcbiAgICAgICAgICAgICAgICAgICAgICBcInJlY2VpcHROdW1iZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAkJHZcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiZXhwZW5zZXNBbmRSZWNlaXB0c0RldGFpbHMucmVjZWlwdE51bWJlclwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJpbnB1dFByb21wdFwiLCB7XG4gICAgICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJudW1iZXJcIiwgdW5pdDogXCLlhYNcIiwgbGFiZWw6IFwi5omL57ut6LS5XCIgfSxcbiAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy5wcm9jZWR1cmVBbW91bnQsXG4gICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5leHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscyxcbiAgICAgICAgICAgICAgICAgICAgICBcInByb2NlZHVyZUFtb3VudFwiLFxuICAgICAgICAgICAgICAgICAgICAgICQkdlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJleHBlbnNlc0FuZFJlY2VpcHRzRGV0YWlscy5wcm9jZWR1cmVBbW91bnRcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogNiB9IH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIuWIsOi0pumHkeminVwiKV0pLFxuICAgICAgICAgICAgICBfYyhcImEtaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZDogXCJcIixcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+i+k+WFpeWIsOi0pumHkeminVwiLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5yZWNlaXZlZEFtb3VudFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0udXNlckluZm8uYXV0aG9yaXR5TGlzdC5DQl9idWRnZXRPcGVyYXRpb25fYnV0dG9uXG4gICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcImEtY2hlY2tib3hcIixcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7IFwibWFyZ2luLXRvcFwiOiBcIjU1cHhcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IGNoZWNrZWQ6IF92bS5iaWxsSW5mby5oYXNSZWNlaXB0IH0sXG4gICAgICAgICAgICAgICAgICAgICAgb246IHsgY2hhbmdlOiBfdm0ub25DaGFuZ2UgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KFwi5re75Yqg5pS25o2uXCIpXVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICBcImEtY2hlY2tib3hcIixcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY1N0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcIm1hcmdpbi10b3BcIjogXCI1NXB4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIm1hcmdpbi1sZWZ0XCI6IFwiMjBweFwiXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBkaXNhYmxlZDogIV92bS5iaWxsSW5mby5oYXNSZWNlaXB0IH0sXG4gICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uYmlsbEluZm8uaGFzUHJpbnRSZWNlaXB0LFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChfdm0uYmlsbEluZm8sIFwiaGFzUHJpbnRSZWNlaXB0XCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImJpbGxJbmZvLmhhc1ByaW50UmVjZWlwdFwiXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBbX3ZtLl92KFwi5omT5Y2w5pS25o2uXCIpXVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgIF0sXG4gICAgICAgIDFcbiAgICAgICksXG4gICAgICBfYyhcbiAgICAgICAgXCJhLXNwaW5cIixcbiAgICAgICAgeyBhdHRyczogeyBzcGlubmluZzogX3ZtLmhhc1JlY2VpcHRMb2FkaW5nIH0gfSxcbiAgICAgICAgX3ZtLl9sKF92bS5iaWxsSW5mby5maW5SZWNlaXB0Vm9MaXN0LCBmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgcmV0dXJuIF92bS5iaWxsSW5mby5oYXNSZWNlaXB0XG4gICAgICAgICAgICA/IF9jKFxuICAgICAgICAgICAgICAgIFwiYS1yb3dcIixcbiAgICAgICAgICAgICAgICB7IHN0eWxlOiB7IHBhZGRpbmc6IFwiMCAxNnB4IDI0cHhcIiB9LCBhdHRyczogeyBndXR0ZXI6IDI0IH0gfSxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCJcXG4gICAgICAgICAg5LuY5qy+5Y2V5L2NXFxuICAgICAgICAgIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KFwiKlwiKV0pXG4gICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJhLWlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHBsYWNlaG9sZGVyOiBcIuivt+i+k+WFpeiBlOezu+S6ulwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5wYXllcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwicGF5ZXJcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ucGF5ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJoM1wiLCBbX3ZtLl92KFwi5LuY5qy+5Lq6XCIpXSksXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJhLWlucHV0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7IHBsYWNlaG9sZGVyOiBcIuivt+i+k+WFpeS7mOasvuS6ulwiIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5wYXlOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJwYXlOYW1lXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLnBheU5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgXCJhLWNvbFwiLFxuICAgICAgICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImlucHV0Qm94XCIsIGF0dHJzOiB7IHNwYW46IDYgfSB9LFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgX2MoXCJpbnB1dFByb21wdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXQ6IFwi5YWDXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIuaUtuaNrumHkeminVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsOiBfdm0ucGF5QW1vdW50Mi5mYWlsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9tcHRUZXh0OiBfdm0ucGF5QW1vdW50Mi5wcm9tcHRUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3Byb21wdDogX3ZtLnBheUFtb3VudFByb21wdDIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwidXBkYXRlOmZhaWxcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF92bS4kc2V0KF92bS5wYXlBbW91bnQyLCBcImZhaWxcIiwgJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0ucmVjZWlwdEFtb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwicmVjZWlwdEFtb3VudFwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5yZWNlaXB0QW1vdW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIuS7mOasvuaXpeacn1wiKV0pLFxuICAgICAgICAgICAgICAgICAgICAgIF9jKFwic2Fhc0RhdGVQaWNrZXJcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0ucGF5RGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwicGF5RGF0ZVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5wYXlEYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaDNcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiXFxuICAgICAgICAgIOW8gOWFt+S6ulxcbiAgICAgICAgICBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgW192bS5fdihcIipcIildKVxuICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiYS1pbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBwbGFjZWhvbGRlcjogXCLor7fovpPlhaXlvIDlhbfkurpcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0ucmVjZWlwdFVzZXJOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJyZWNlaXB0VXNlck5hbWVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ucmVjZWlwdFVzZXJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIuaUtuasvuS6ulwiKV0pLFxuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiYS1pbnB1dFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyczogeyBwbGFjZWhvbGRlcjogXCLor7fovpPlhaXmlLbmrL7kurpcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0ucGF5ZWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJwYXllZU5hbWVcIiwgJCR2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcIml0ZW0ucGF5ZWVOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIuasvumhuVwiKV0pLFxuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiZnV6enlTZWFyY2hcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmOiBcIlJlY2VpcHRPcHRpb25fMjRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZkluRm9yOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiUmVjZWlwdE9wdGlvbl8yNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RNZW51OiBfdm0uZmluSXRlbS5saXN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6nmrL7poblcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7IF9yZWZyZXNoTWVudTogX3ZtLmZpbkl0ZW0ucmVmcmVzaE1lbnUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlZFNsb3RzOiBfdm0uX3UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFwiZGVmYXVsdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNwYW5cIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgICAgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhkYXRhLmRhdGEudGV4dCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgICBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5kYXRhLmZlZVR5cGUgPT0gMiA/IFwiKOaKvClcIiA6IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcbiAgICAgICAgICAgICAgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuZGF0YS5mZWVUeXBlID09IDMgPyBcIijpooQpXCIgOiBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5yZWNlaXB0T3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJyZWNlaXB0T3B0aW9uXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLnJlY2VpcHRPcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBfdm0udXNlckluZm8uYXV0aG9yaXR5TGlzdC5GaW5fUmVjZWlwdF9Cb29rX01hbmFnZXJcbiAgICAgICAgICAgICAgICAgICAgPyBfYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiaW5wdXRCb3hcIiwgYXR0cnM6IHsgc3BhbjogNiB9IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIuaUtuaNruacrFwiKV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInNhYXNTZWxlY3RcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogXCJyZWNlaXB0TW9kYWxfMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZkluRm9yOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJyZWNlaXB0TW9kYWxfMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oup5pS25o2u5pysXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RNZW51OiBfdm0ucmVjZWlwdEJvb2tJZC5hbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7IF9hY3RpdmVJdGVtOiBfdm0ucmVjZWlwdEJvb2tJZC5hY3RpdmVJdGVtIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiA2IH0gfSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgIF9jKFwiaDNcIiwgW192bS5fdihcIuaUtuaNrue8luWPt1wiKSwgX2MoXCJzcGFuXCIsIFtfdm0uX3YoXCIqXCIpXSldKSxcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcImEtaW5wdXRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl5pS25qy+5Lq6XCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uOiB7IGNoYW5nZTogX3ZtLmhhbmRlclJlY2VpcHROdW1iZXIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLnJlY2VpcHRDb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24oJCR2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoaXRlbSwgXCJyZWNlaXB0Q29kZVwiLCAkJHYpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiaXRlbS5yZWNlaXB0Q29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwiYS1jb2xcIiwgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiAyNCB9IH0pLFxuICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgIFwiYS1jb2xcIixcbiAgICAgICAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJpbnB1dEJveFwiLCBhdHRyczogeyBzcGFuOiAxMiB9IH0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcImgzXCIsIFtfdm0uX3YoXCLlpIfms6hcIildKSxcbiAgICAgICAgICAgICAgICAgICAgICBfYyhcImEtdGV4dGFyZWFcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsgaGVpZ2h0OiBcIjg4cHhcIiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHsgcGxhY2Vob2xkZXI6IFwi6K+36L6T5YWl5aSH5rOo5L+h5oGvXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLnJlbWFyayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKCQkdikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KGl0ZW0sIFwicmVtYXJrXCIsICQkdilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJpdGVtLnJlbWFya1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IF92bS5fZSgpXG4gICAgICAgIH0pLFxuICAgICAgICAxXG4gICAgICApXG4gICAgXSxcbiAgICAxXG4gIClcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXG4gIGZ1bmN0aW9uKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwiaDJcIiwgW1xuICAgICAgX3ZtLl92KFwiXFxuICAgICAgICDmiL/mupBcXG4gICAgICAgIFwiKSxcbiAgICAgIF9jKFwic3BhblwiLCBbX3ZtLl92KFwiKlwiKV0pXG4gICAgXSlcbiAgfVxuXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"24417bd7-vue-loader-template\"}!./node_modules/_vue-loader@15.9.5@vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/modals/collectionBillModal.vue?vue&type=template&id=0b2370d8&\n");
/***/ }),
/***/ "./src/modals/collectionBillModal.vue":
/*!********************************************!*\
!*** ./src/modals/collectionBillModal.vue ***!
\********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _collectionBillModal_vue_vue_type_template_id_0b2370d8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./collectionBillModal.vue?vue&type=template&id=0b2370d8& */ \"./src/modals/collectionBillModal.vue?vue&type=template&id=0b2370d8&\");\n/* harmony import */ var _collectionBillModal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./collectionBillModal.vue?vue&type=script&lang=js& */ \"./src/modals/collectionBillModal.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _collectionBillModal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _collectionBillModal_vue_vue_type_template_id_0b2370d8___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _collectionBillModal_vue_vue_type_template_id_0b2370d8___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (true) {\n var api = __webpack_require__(/*! ./node_modules/vue-hot-reload-api/dist/index.js */ \"./node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\"))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('0b2370d8')) {\n api.createRecord('0b2370d8', component.options)\n } else {\n api.reload('0b2370d8', component.options)\n }\n module.hot.accept(/*! ./collectionBillModal.vue?vue&type=template&id=0b2370d8& */ \"./src/modals/collectionBillModal.vue?vue&type=template&id=0b2370d8&\", function(__WEBPACK_OUTDATED_DEPENDENCIES__) { /* harmony import */ _collectionBillModal_vue_vue_type_template_id_0b2370d8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./collectionBillModal.vue?vue&type=template&id=0b2370d8& */ \"./src/modals/collectionBillModal.vue?vue&type=template&id=0b2370d8&\");\n(function () {\n api.rerender('0b2370d8', {\n render: _collectionBillModal_vue_vue_type_template_id_0b2370d8___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n staticRenderFns: _collectionBillModal_vue_vue_type_template_id_0b2370d8___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]\n })\n })(__WEBPACK_OUTDATED_DEPENDENCIES__); }.bind(this))\n }\n}\ncomponent.options.__file = \"src/modals/collectionBillModal.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbW9kYWxzL2NvbGxlY3Rpb25CaWxsTW9kYWwudnVlLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL21vZGFscy9jb2xsZWN0aW9uQmlsbE1vZGFsLnZ1ZT8wMWRmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vY29sbGVjdGlvbkJpbGxNb2RhbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MGIyMzcwZDgmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vY29sbGVjdGlvbkJpbGxNb2RhbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbGxlY3Rpb25CaWxsTW9kYWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbFxuICBcbilcblxuLyogaG90IHJlbG9hZCAqL1xuaWYgKG1vZHVsZS5ob3QpIHtcbiAgdmFyIGFwaSA9IHJlcXVpcmUoXCIvVXNlcnMvZGVueWEvRGVza3RvcC93b3Jrc3BhY2UvdnVlLWNsaS9zYWFzL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzBiMjM3MGQ4JykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzBiMjM3MGQ4JywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzBiMjM3MGQ4JywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9jb2xsZWN0aW9uQmlsbE1vZGFsLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0wYjIzNzBkOCZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCcwYjIzNzBkOCcsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwic3JjL21vZGFscy9jb2xsZWN0aW9uQmlsbE1vZGFsLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modals/collectionBillModal.vue\n");
/***/ }),
/***/ "./src/modals/collectionBillModal.vue?vue&type=script&lang=js&":
/*!*********************************************************************!*\
!*** ./src/modals/collectionBillModal.vue?vue&type=script&lang=js& ***!
\*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_collectionBillModal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/babel-loader/lib!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib??vue-loader-options!./collectionBillModal.vue?vue&type=script&lang=js& */ \"./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/modals/collectionBillModal.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_babel_loader_lib_index_js_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_collectionBillModal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbW9kYWxzL2NvbGxlY3Rpb25CaWxsTW9kYWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9tb2RhbHMvY29sbGVjdGlvbkJpbGxNb2RhbC52dWU/NWU0YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uL25vZGVfbW9kdWxlcy9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMTItMCEuLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTAtMCEuLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2NvbGxlY3Rpb25CaWxsTW9kYWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uL25vZGVfbW9kdWxlcy9jYWNoZS1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tMTItMCEuLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuLi8uLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTAtMCEuLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2NvbGxlY3Rpb25CaWxsTW9kYWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/modals/collectionBillModal.vue?vue&type=script&lang=js&\n");
/***/ }),
/***/ "./src/modals/collectionBillModal.vue?vue&type=template&id=0b2370d8&":
/*!***************************************************************************!*\
!*** ./src/modals/collectionBillModal.vue?vue&type=template&id=0b2370d8& ***!
\***************************************************************************/
/*! exports provided: render, staticRenderFns */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_24417bd7_vue_loader_template_node_modules_vue_loader_15_9_5_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_collectionBillModal_vue_vue_type_template_id_0b2370d8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"24417bd7-vue-loader-template\"}!../../node_modules/_vue-loader@15.9.5@vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib??vue-loader-options!./collectionBillModal.vue?vue&type=template&id=0b2370d8& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"24417bd7-vue-loader-template\\\"}!./node_modules/_vue-loader@15.9.5@vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/modals/collectionBillModal.vue?vue&type=template&id=0b2370d8&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_24417bd7_vue_loader_template_node_modules_vue_loader_15_9_5_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_collectionBillModal_vue_vue_type_template_id_0b2370d8___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_cache_loader_dist_cjs_js_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_24417bd7_vue_loader_template_node_modules_vue_loader_15_9_5_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_collectionBillModal_vue_vue_type_template_id_0b2370d8___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbW9kYWxzL2NvbGxlY3Rpb25CaWxsTW9kYWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTBiMjM3MGQ4Ji5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9tb2RhbHMvY29sbGVjdGlvbkJpbGxNb2RhbC52dWU/NGRiZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzP3tcXFwiY2FjaGVEaXJlY3RvcnlcXFwiOlxcXCJub2RlX21vZHVsZXMvLmNhY2hlL3Z1ZS1sb2FkZXJcXFwiLFxcXCJjYWNoZUlkZW50aWZpZXJcXFwiOlxcXCIyNDQxN2JkNy12dWUtbG9hZGVyLXRlbXBsYXRlXFxcIn0hLi4vLi4vbm9kZV9tb2R1bGVzL192dWUtbG9hZGVyQDE1LjkuNUB2dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi4vLi4vbm9kZV9tb2R1bGVzL2NhY2hlLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS0wLTAhLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jb2xsZWN0aW9uQmlsbE1vZGFsLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0wYjIzNzBkOCZcIiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modals/collectionBillModal.vue?vue&type=template&id=0b2370d8&\n");
/***/ })
}]);