nsc-react-component 4.2.4 → 4.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -204,7 +204,6 @@ class NscChart extends PureComponent {
204
204
  } else if (isObject(newDatas)) {
205
205
  dataMap = newDatas;
206
206
  }
207
- console.log('newDatas---', newDatas);
208
207
  newOption.xAxis = this.objectConversion(newOption.xAxis, newDatas, dataMap);
209
208
  newOption.yAxis = this.objectConversion(newOption.yAxis, newDatas, dataMap);
210
209
  newOption.series = this.objectConversion(newOption.series, newDatas, dataMap);
@@ -244,4 +243,4 @@ class NscChart extends PureComponent {
244
243
  }
245
244
  }
246
245
  export default NscChart;
247
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJlY2hhcnRzIiwiU3RvcmUiLCJ1dGlscyIsInB4MnZ3IiwiaXNBcnJheSIsImlzT2JqZWN0IiwiTnNjQ2hhcnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5IiwiY3JlYXRlUmVmIiwiZGF0YVNvdXJjZSIsImRhdGEiLCJzdG9yZSIsImNoaWxkcmVuIiwib3B0aW9uIiwib3B0aW9ucyIsImF1dG9Mb2FkIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsInN0b3JlcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIkVycm9yIiwiX3RoaXMiLCJzdG9yZVByb3BzIiwiX29iamVjdFNwcmVhZCIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJpc0ZpcnN0IiwiaW5pdCIsImRhdGFDaGFuZ2VkIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJwcmV2U3RhdGUiLCJzbmFwc2hvdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZVNldENoYXJ0IiwiaXNTdHJpbmciLCJ2IiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJ3aW5kb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2hhcnRSZXNpemUiLCJiaW5kIiwiaXNSZXBsYWNlIiwidGVzdCIsInJlcGxhY2UiLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJkYXRhQ29udmVyc2lvbiIsImRhdGFzIiwiZGF0YU1hcCIsInJlc3VsdCIsIm1hcCIsIml0ZW0iLCJ2YWx1ZSIsInRlbXBPYmoiLCJrZXkiLCJwdXNoIiwib2JqZWN0Q29udmVyc2lvbiIsIm9iaiIsIl9teUNoYXJ0JGdldFpyIiwiX215Q2hhcnQkZ2V0WnIyIiwiT25DbGljayIsIk9uWnJDbGljayIsInN0YXRlIiwibmV3RGF0YXMiLCJuZXdPcHRpb24iLCJjb25zb2xlIiwibG9nIiwieEF4aXMiLCJ5QXhpcyIsInNlcmllcyIsIm15Q2hhcnQiLCJjaGFydFJlZiIsImN1cnJlbnQiLCJjbGVhciIsIm9mZiIsImdldFpyIiwic2V0T3B0aW9uIiwib24iLCJwYXJhbXMiLCJyZXNpemUiLCJhZGRFdmVudExpc3RlbmVyIiwicmVuZGVyIiwid2lkdGgiLCJoZWlnaHQiLCJib3hTdHlsZSIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsInJlZiIsImlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9jaGFydC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0ICogYXMgZWNoYXJ0cyBmcm9tIFwiZWNoYXJ0c1wiO1xyXG5pbXBvcnQgeyBFQ2hhcnRzIH0gZnJvbSBcImVjaGFydHMvbGliL2VjaGFydHNcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCB7IHB4MnZ3IH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCB7IGlzQXJyYXksIGlzT2JqZWN0IH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmludGVyZmFjZSBDaGFydFByb3BzIHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgb3B0aW9uOiBhbnk7XHJcbiAgZGF0YT86IEFycmF5PE9iamVjdD4gfCBPYmplY3Q7XHJcbiAgd2lkdGg6IG51bWJlciB8IHN0cmluZzsgLy/lm77ooajlrr3luqZcclxuICBoZWlnaHQ6IG51bWJlciB8IHN0cmluZzsgLy/lm77ooajplb/luqZcclxuICBhdXRvTG9hZD86IGJvb2xlYW47IC8v5pWw5o2u5pS55Y+Y77yM6Ieq5Yqo5Yi35paw5Zu+6KGoLOm7mOiupHRydWVcclxuICBPbkNsaWNrPzogKHBhcmFtczogYW55LCBlPzogYW55KSA9PiB2b2lkOyAvL+WbvuihqOeCueWHu+S6i+S7tlxyXG4gIE9uWnJDbGljaz86IChwYXJhbXM6IGFueSwgZT86IGFueSkgPT4gdm9pZDsgLy/lm77ooajngrnlh7vkuovku7ZcclxuICBbcHJvTmFtZXM6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLy9kYXRh56S65L6LXHJcbi8qKlxyXG4g5pWw57uE77yaXHJcbiBkYXRhPVt7bmFtZTonMeaciCcsdmFsdWU6MjB9LHtuYW1lOicy5pyIJyx2YWx1ZToxMH0se25hbWU6JzPmnIgnLHZhbHVlOjI1fV1cclxuIOWvueixoVxyXG4gZGF0YT17bmFtZTpbJzHmnIgnLCcy5pyIJywnM+aciCddLHZhbHVlOlsyMCwzMCw0MF19XHJcbiAqL1xyXG5jbGFzcyBOc2NDaGFydCBleHRlbmRzIFB1cmVDb21wb25lbnQ8Q2hhcnRQcm9wcz4ge1xyXG4gIGNoYXJ0UmVmID0gUmVhY3QuY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xyXG4gIG15Q2hhcnQ6IEVDaGFydHMgfCBudWxsID0gbnVsbDtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBudWxsLFxyXG4gIH07XHJcbiAgaXNGaXJzdCA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbjogb3B0aW9ucyxcclxuICAgICAgYXV0b0xvYWQgPSB0cnVlLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgeyB1cmwsIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LCAuLi5zdG9yZXMgfSA9IHN0b3JlO1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgWRhdGHjgIFvcHRpb27kuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoX3RoaXMuaXNGaXJzdCAmJiBhdXRvTG9hZCkge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaXNGaXJzdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYXV0b0xvYWQpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLmluaXQoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICh1cmwgJiYgZGF0YSA9PSBudWxsKSB7XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIGF1dG9Mb2FkID0gdHJ1ZSwgc3RvcmUsIG9wdGlvbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChkYXRhICYmIGF1dG9Mb2FkKSB7XHJcbiAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfSBlbHNlIGlmICghZGF0YSAmJiAhc3RvcmU/LnVybCAmJiBvcHRpb24pIHtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoXHJcbiAgICBwcmV2UHJvcHM6IFJlYWRvbmx5PENoYXJ0UHJvcHM+LFxyXG4gICAgcHJldlN0YXRlOiBSZWFkb25seTx7fT4sXHJcbiAgICBzbmFwc2hvdD86IGFueVxyXG4gICk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBhdXRvTG9hZCA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoYXV0b0xvYWQpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KHByZXZQcm9wcy5kYXRhKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9wcy5kYXRhKSkge1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHByZXZQcm9wcy5vcHRpb24pICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLm9wdGlvbilcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlU2V0Q2hhcnQoKSB7XHJcbiAgICB0aGlzLmluaXQoKTtcclxuICB9XHJcbiAgaXNTdHJpbmcodikge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2ID09PSBcInN0cmluZ1wiO1xyXG4gIH1cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMuaGFuZGxlQ2hhcnRSZXNpemUuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG5cclxuICBpc1JlcGxhY2Uodikge1xyXG4gICAgcmV0dXJuIC9eey4qfSQvZ2kudGVzdCh2KTtcclxuICB9XHJcbiAgcmVwbGFjZSh2KSB7XHJcbiAgICByZXR1cm4gdi5zdWJzdHJpbmcoMSwgdi5sZW5ndGggLSAxKTtcclxuICB9XHJcblxyXG4gIGRhdGFDb252ZXJzaW9uKGRhdGEsIGRhdGFzLCBkYXRhTWFwKSB7XHJcbiAgICBsZXQgcmVzdWx0O1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKHRoaXMuaXNTdHJpbmcoZGF0YSkgJiYgdGhpcy5pc1JlcGxhY2UoZGF0YSkpIHtcclxuICAgICAgICByZXN1bHQgPSBkYXRhTWFwW3RoaXMucmVwbGFjZShkYXRhKV07XHJcbiAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgIGRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdiA9IGl0ZW0/LnZhbHVlIHx8IG51bGw7XHJcbiAgICAgICAgICBpZiAodiAmJiB0aGlzLmlzUmVwbGFjZSh2KSkge1xyXG4gICAgICAgICAgICBpdGVtLnZhbHVlID0gdGhpcy5kYXRhQ29udmVyc2lvbih2LCBkYXRhcywgZGF0YU1hcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmVzdWx0ID0gZGF0YTtcclxuICAgICAgfSBlbHNlIGlmIChpc09iamVjdChkYXRhKSkge1xyXG4gICAgICAgIHJlc3VsdCA9IFtdO1xyXG4gICAgICAgIGlmIChpc0FycmF5KGRhdGFzKSkge1xyXG4gICAgICAgICAgZGF0YXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIHZhciB0ZW1wT2JqID0ge307XHJcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHYgPSBpdGVtW2tleV07XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuaXNSZXBsYWNlKHYpKSB7XHJcbiAgICAgICAgICAgICAgICB0ZW1wT2JqW2tleV0gPSBpdGVtW3RoaXMucmVwbGFjZSh2KV07XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRlbXBPYmpba2V5XSA9IHY7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRlbXBPYmopO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuICBvYmplY3RDb252ZXJzaW9uKG9iaiwgZGF0YXMsIGRhdGFNYXApIHtcclxuICAgIGxldCB0ZW1wT2JqOiBhbnk7XHJcbiAgICBpZiAob2JqKSB7XHJcbiAgICAgIGlmIChpc0FycmF5KG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0gWy4uLm9ial07XHJcbiAgICAgICAgdGVtcE9iai5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGlmIChpdGVtLmRhdGEpIHtcclxuICAgICAgICAgICAgaXRlbS5kYXRhID0gdGhpcy5kYXRhQ29udmVyc2lvbihpdGVtLmRhdGEsIGRhdGFzLCBkYXRhTWFwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU3RyaW5nKG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0gb2JqO1xyXG4gICAgICAgIHRlbXBPYmouZGF0YSA9IHRoaXMuZGF0YUNvbnZlcnNpb24odGVtcE9iaiwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KG9iaikpIHtcclxuICAgICAgICB0ZW1wT2JqID0geyAuLi5vYmogfTtcclxuICAgICAgICB0ZW1wT2JqLmRhdGEgPSB0aGlzLmRhdGFDb252ZXJzaW9uKHRlbXBPYmouZGF0YSwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGVtcE9iajtcclxuICB9XHJcbiAgaW5pdCgpIHtcclxuICAgIGNvbnN0IHsgb3B0aW9uLCBkYXRhLCBPbkNsaWNrLCBPblpyQ2xpY2sgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgZGF0YU1hcDogYW55ID0ge307XHJcbiAgICBjb25zdCBuZXdEYXRhcyA9IGRhdGEgfHwgZGF0YVNvdXJjZTtcclxuICAgXHJcbiAgICBsZXQgbmV3T3B0aW9uOiBhbnkgPSB7IC4uLm9wdGlvbiB9O1xyXG4gICAgaWYgKGlzQXJyYXkobmV3RGF0YXMpKSB7XHJcbiAgICAgIG5ld0RhdGFzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGZvciAobGV0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgICBpZiAoZGF0YU1hcFtrZXldID09IG51bGwpIHtcclxuICAgICAgICAgICAgZGF0YU1hcFtrZXldID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBkYXRhTWFwW2tleV0ucHVzaChpdGVtW2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KG5ld0RhdGFzKSkge1xyXG4gICAgICBkYXRhTWFwID0gbmV3RGF0YXM7XHJcbiAgICB9XHJcbiAgICAgY29uc29sZS5sb2coJ25ld0RhdGFzLS0tJyxuZXdEYXRhcylcclxuICAgIG5ld09wdGlvbi54QXhpcyA9IHRoaXMub2JqZWN0Q29udmVyc2lvbihuZXdPcHRpb24ueEF4aXMsIG5ld0RhdGFzLCBkYXRhTWFwKTtcclxuICAgIG5ld09wdGlvbi55QXhpcyA9IHRoaXMub2JqZWN0Q29udmVyc2lvbihuZXdPcHRpb24ueUF4aXMsIG5ld0RhdGFzLCBkYXRhTWFwKTtcclxuICAgIG5ld09wdGlvbi5zZXJpZXMgPSB0aGlzLm9iamVjdENvbnZlcnNpb24oXHJcbiAgICAgIG5ld09wdGlvbi5zZXJpZXMsXHJcbiAgICAgIG5ld0RhdGFzLFxyXG4gICAgICBkYXRhTWFwXHJcbiAgICApO1xyXG4gICAgY29uc3QgbXlDaGFydCA9ICh0aGlzLm15Q2hhcnQgPSBlY2hhcnRzLmluaXQoXHJcbiAgICAgIHRoaXMuY2hhcnRSZWYuY3VycmVudCBhcyBIVE1MRGl2RWxlbWVudFxyXG4gICAgKSk7IC8v5Yid5aeL5YyWZWNoYXJ0c++8jOmAmui/h3JlZuWxnuaAp+iOt+WPlmRvbVxyXG4gICAgbXlDaGFydC5jbGVhcigpO1xyXG4gICAgbXlDaGFydC5vZmYoXCJjbGlja1wiKTtcclxuICAgIG15Q2hhcnQ/LmdldFpyKCk/Lm9mZihcImNsaWNrXCIpO1xyXG4gICAgbXlDaGFydC5zZXRPcHRpb24obmV3T3B0aW9uKTtcclxuICAgIG15Q2hhcnQub24oXCJjbGlja1wiLCBmdW5jdGlvbiAocGFyYW1zKSB7XHJcbiAgICAgIE9uQ2xpY2sgJiYgT25DbGljayhwYXJhbXMsIG15Q2hhcnQpO1xyXG4gICAgfSk7XHJcbiAgICBteUNoYXJ0Py5nZXRacigpPy5vbihcImNsaWNrXCIsIChwYXJhbXMpID0+IHtcclxuICAgICAgT25ackNsaWNrICYmIE9uWnJDbGljayhwYXJhbXMsIG15Q2hhcnQpO1xyXG4gICAgfSk7XHJcbiAgICBteUNoYXJ0LnJlc2l6ZSgpO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVDaGFydFJlc2l6ZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYXJ0UmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMubXlDaGFydCkge1xyXG4gICAgICB0aGlzLm15Q2hhcnQucmVzaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBib3hTdHlsZSA9IHtcclxuICAgICAgd2lkdGg6IHR5cGVvZiB3aWR0aCA9PSBcIm51bWJlclwiID8gcHgydncod2lkdGgpIDogd2lkdGgsXHJcbiAgICAgIGhlaWdodDogdHlwZW9mIGhlaWdodCA9PSBcIm51bWJlclwiID8gcHgydncoaGVpZ2h0KSA6IGhlaWdodCxcclxuICAgIH07XHJcbiAgICByZXR1cm4gPGRpdiBzdHlsZT17Ym94U3R5bGV9IHJlZj17dGhpcy5jaGFydFJlZn0gaWQ9XCJuc2NfY2hhcnRzXCI+PC9kaXY+O1xyXG4gIH1cclxufVxy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
246
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJlY2hhcnRzIiwiU3RvcmUiLCJ1dGlscyIsInB4MnZ3IiwiaXNBcnJheSIsImlzT2JqZWN0IiwiTnNjQ2hhcnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5IiwiY3JlYXRlUmVmIiwiZGF0YVNvdXJjZSIsImRhdGEiLCJzdG9yZSIsImNoaWxkcmVuIiwib3B0aW9uIiwib3B0aW9ucyIsImF1dG9Mb2FkIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsInN0b3JlcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIkVycm9yIiwiX3RoaXMiLCJzdG9yZVByb3BzIiwiX29iamVjdFNwcmVhZCIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJpc0ZpcnN0IiwiaW5pdCIsImRhdGFDaGFuZ2VkIiwiY29tcG9uZW50RGlkTW91bnQiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJwcmV2U3RhdGUiLCJzbmFwc2hvdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZVNldENoYXJ0IiwiaXNTdHJpbmciLCJ2IiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJ3aW5kb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2hhcnRSZXNpemUiLCJiaW5kIiwiaXNSZXBsYWNlIiwidGVzdCIsInJlcGxhY2UiLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJkYXRhQ29udmVyc2lvbiIsImRhdGFzIiwiZGF0YU1hcCIsInJlc3VsdCIsIm1hcCIsIml0ZW0iLCJ2YWx1ZSIsInRlbXBPYmoiLCJrZXkiLCJwdXNoIiwib2JqZWN0Q29udmVyc2lvbiIsIm9iaiIsIl9teUNoYXJ0JGdldFpyIiwiX215Q2hhcnQkZ2V0WnIyIiwiT25DbGljayIsIk9uWnJDbGljayIsInN0YXRlIiwibmV3RGF0YXMiLCJuZXdPcHRpb24iLCJ4QXhpcyIsInlBeGlzIiwic2VyaWVzIiwibXlDaGFydCIsImNoYXJ0UmVmIiwiY3VycmVudCIsImNsZWFyIiwib2ZmIiwiZ2V0WnIiLCJzZXRPcHRpb24iLCJvbiIsInBhcmFtcyIsInJlc2l6ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW5kZXIiLCJ3aWR0aCIsImhlaWdodCIsImJveFN0eWxlIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwicmVmIiwiaWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL2NoYXJ0L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gXCJlY2hhcnRzXCI7XHJcbmltcG9ydCB7IEVDaGFydHMgfSBmcm9tIFwiZWNoYXJ0cy9saWIvZWNoYXJ0c1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IHsgcHgydncgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNPYmplY3QgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW50ZXJmYWNlIENoYXJ0UHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBvcHRpb246IGFueTtcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PiB8IE9iamVjdDtcclxuICB3aWR0aDogbnVtYmVyIHwgc3RyaW5nOyAvL+WbvuihqOWuveW6plxyXG4gIGhlaWdodDogbnVtYmVyIHwgc3RyaW5nOyAvL+WbvuihqOmVv+W6plxyXG4gIGF1dG9Mb2FkPzogYm9vbGVhbjsgLy/mlbDmja7mlLnlj5jvvIzoh6rliqjliLfmlrDlm77ooags6buY6K6kdHJ1ZVxyXG4gIE9uQ2xpY2s/OiAocGFyYW1zOiBhbnksIGU/OiBhbnkpID0+IHZvaWQ7IC8v5Zu+6KGo54K55Ye75LqL5Lu2XHJcbiAgT25ackNsaWNrPzogKHBhcmFtczogYW55LCBlPzogYW55KSA9PiB2b2lkOyAvL+WbvuihqOeCueWHu+S6i+S7tlxyXG4gIFtwcm9OYW1lczogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vL2RhdGHnpLrkvotcclxuLyoqXHJcbiDmlbDnu4TvvJpcclxuIGRhdGE9W3tuYW1lOicx5pyIJyx2YWx1ZToyMH0se25hbWU6JzLmnIgnLHZhbHVlOjEwfSx7bmFtZTonM+aciCcsdmFsdWU6MjV9XVxyXG4g5a+56LGhXHJcbiBkYXRhPXtuYW1lOlsnMeaciCcsJzLmnIgnLCcz5pyIJ10sdmFsdWU6WzIwLDMwLDQwXX1cclxuICovXHJcbmNsYXNzIE5zY0NoYXJ0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxDaGFydFByb3BzPiB7XHJcbiAgY2hhcnRSZWYgPSBSZWFjdC5jcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XHJcbiAgbXlDaGFydDogRUNoYXJ0cyB8IG51bGwgPSBudWxsO1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IG51bGwsXHJcbiAgfTtcclxuICBpc0ZpcnN0ID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgb3B0aW9uOiBvcHRpb25zLFxyXG4gICAgICBhdXRvTG9hZCA9IHRydWUsXHJcbiAgICB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB7IHVybCwgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sIC4uLnN0b3JlcyB9ID0gc3RvcmU7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdXJsIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBZGF0YeOAgW9wdGlvbuS4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChfdGhpcy5pc0ZpcnN0ICYmIGF1dG9Mb2FkKSB7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5pbml0KCk7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5pc0ZpcnN0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChhdXRvTG9hZCkge1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuaW5pdCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKHVybCAmJiBkYXRhID09IG51bGwpIHtcclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgYXV0b0xvYWQgPSB0cnVlLCBzdG9yZSwgb3B0aW9uIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKGRhdGEgJiYgYXV0b0xvYWQpIHtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9IGVsc2UgaWYgKCFkYXRhICYmICFzdG9yZT8udXJsICYmIG9wdGlvbikge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShcclxuICAgIHByZXZQcm9wczogUmVhZG9ubHk8Q2hhcnRQcm9wcz4sXHJcbiAgICBwcmV2U3RhdGU6IFJlYWRvbmx5PHt9PixcclxuICAgIHNuYXBzaG90PzogYW55XHJcbiAgKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGF1dG9Mb2FkID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChhdXRvTG9hZCkge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkocHJldlByb3BzLmRhdGEpICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLmRhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkocHJldlByb3BzLm9wdGlvbikgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMub3B0aW9uKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVTZXRDaGFydCgpIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuICBpc1N0cmluZyh2KSB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHYgPT09IFwic3RyaW5nXCI7XHJcbiAgfVxyXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVDaGFydFJlc2l6ZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIGlzUmVwbGFjZSh2KSB7XHJcbiAgICByZXR1cm4gL157Lip9JC9naS50ZXN0KHYpO1xyXG4gIH1cclxuICByZXBsYWNlKHYpIHtcclxuICAgIHJldHVybiB2LnN1YnN0cmluZygxLCB2Lmxlbmd0aCAtIDEpO1xyXG4gIH1cclxuXHJcbiAgZGF0YUNvbnZlcnNpb24oZGF0YSwgZGF0YXMsIGRhdGFNYXApIHtcclxuICAgIGxldCByZXN1bHQ7XHJcbiAgICBpZiAoZGF0YSkge1xyXG4gICAgICBpZiAodGhpcy5pc1N0cmluZyhkYXRhKSAmJiB0aGlzLmlzUmVwbGFjZShkYXRhKSkge1xyXG4gICAgICAgIHJlc3VsdCA9IGRhdGFNYXBbdGhpcy5yZXBsYWNlKGRhdGEpXTtcclxuICAgICAgfSBlbHNlIGlmIChpc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgICAgZGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGxldCB2ID0gaXRlbT8udmFsdWUgfHwgbnVsbDtcclxuICAgICAgICAgIGlmICh2ICYmIHRoaXMuaXNSZXBsYWNlKHYpKSB7XHJcbiAgICAgICAgICAgIGl0ZW0udmFsdWUgPSB0aGlzLmRhdGFDb252ZXJzaW9uKHYsIGRhdGFzLCBkYXRhTWFwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXN1bHQgPSBkYXRhO1xyXG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KGRhdGEpKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gW107XHJcbiAgICAgICAgaWYgKGlzQXJyYXkoZGF0YXMpKSB7XHJcbiAgICAgICAgICBkYXRhcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgdmFyIHRlbXBPYmogPSB7fTtcclxuICAgICAgICAgICAgZm9yIChsZXQga2V5IGluIGl0ZW0pIHtcclxuICAgICAgICAgICAgICBsZXQgdiA9IGl0ZW1ba2V5XTtcclxuICAgICAgICAgICAgICBpZiAodGhpcy5pc1JlcGxhY2UodikpIHtcclxuICAgICAgICAgICAgICAgIHRlbXBPYmpba2V5XSA9IGl0ZW1bdGhpcy5yZXBsYWNlKHYpXTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGVtcE9ialtrZXldID0gdjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmVzdWx0LnB1c2godGVtcE9iaik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG4gIG9iamVjdENvbnZlcnNpb24ob2JqLCBkYXRhcywgZGF0YU1hcCkge1xyXG4gICAgbGV0IHRlbXBPYmo6IGFueTtcclxuICAgIGlmIChvYmopIHtcclxuICAgICAgaWYgKGlzQXJyYXkob2JqKSkge1xyXG4gICAgICAgIHRlbXBPYmogPSBbLi4ub2JqXTtcclxuICAgICAgICB0ZW1wT2JqLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGl0ZW0uZGF0YSkge1xyXG4gICAgICAgICAgICBpdGVtLmRhdGEgPSB0aGlzLmRhdGFDb252ZXJzaW9uKGl0ZW0uZGF0YSwgZGF0YXMsIGRhdGFNYXApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNTdHJpbmcob2JqKSkge1xyXG4gICAgICAgIHRlbXBPYmogPSBvYmo7XHJcbiAgICAgICAgdGVtcE9iai5kYXRhID0gdGhpcy5kYXRhQ29udmVyc2lvbih0ZW1wT2JqLCBkYXRhcywgZGF0YU1hcCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3Qob2JqKSkge1xyXG4gICAgICAgIHRlbXBPYmogPSB7IC4uLm9iaiB9O1xyXG4gICAgICAgIHRlbXBPYmouZGF0YSA9IHRoaXMuZGF0YUNvbnZlcnNpb24odGVtcE9iai5kYXRhLCBkYXRhcywgZGF0YU1hcCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0ZW1wT2JqO1xyXG4gIH1cclxuICBpbml0KCkge1xyXG4gICAgY29uc3QgeyBvcHRpb24sIGRhdGEsIE9uQ2xpY2ssIE9uWnJDbGljayB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBkYXRhTWFwOiBhbnkgPSB7fTtcclxuICAgIGNvbnN0IG5ld0RhdGFzID0gZGF0YSB8fCBkYXRhU291cmNlO1xyXG4gICBcclxuICAgIGxldCBuZXdPcHRpb246IGFueSA9IHsgLi4ub3B0aW9uIH07XHJcbiAgICBpZiAoaXNBcnJheShuZXdEYXRhcykpIHtcclxuICAgICAgbmV3RGF0YXMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgZm9yIChsZXQga2V5IGluIGl0ZW0pIHtcclxuICAgICAgICAgIGlmIChkYXRhTWFwW2tleV0gPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBkYXRhTWFwW2tleV0gPSBbXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGRhdGFNYXBba2V5XS5wdXNoKGl0ZW1ba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoaXNPYmplY3QobmV3RGF0YXMpKSB7XHJcbiAgICAgIGRhdGFNYXAgPSBuZXdEYXRhcztcclxuICAgIH1cclxuICAgIG5ld09wdGlvbi54QXhpcyA9IHRoaXMub2JqZWN0Q29udmVyc2lvbihuZXdPcHRpb24ueEF4aXMsIG5ld0RhdGFzLCBkYXRhTWFwKTtcclxuICAgIG5ld09wdGlvbi55QXhpcyA9IHRoaXMub2JqZWN0Q29udmVyc2lvbihuZXdPcHRpb24ueUF4aXMsIG5ld0RhdGFzLCBkYXRhTWFwKTtcclxuICAgIG5ld09wdGlvbi5zZXJpZXMgPSB0aGlzLm9iamVjdENvbnZlcnNpb24oXHJcbiAgICAgIG5ld09wdGlvbi5zZXJpZXMsXHJcbiAgICAgIG5ld0RhdGFzLFxyXG4gICAgICBkYXRhTWFwXHJcbiAgICApO1xyXG4gICAgY29uc3QgbXlDaGFydCA9ICh0aGlzLm15Q2hhcnQgPSBlY2hhcnRzLmluaXQoXHJcbiAgICAgIHRoaXMuY2hhcnRSZWYuY3VycmVudCBhcyBIVE1MRGl2RWxlbWVudFxyXG4gICAgKSk7IC8v5Yid5aeL5YyWZWNoYXJ0c++8jOmAmui/h3JlZuWxnuaAp+iOt+WPlmRvbVxyXG4gICAgbXlDaGFydC5jbGVhcigpO1xyXG4gICAgbXlDaGFydC5vZmYoXCJjbGlja1wiKTtcclxuICAgIG15Q2hhcnQ/LmdldFpyKCk/Lm9mZihcImNsaWNrXCIpO1xyXG4gICAgbXlDaGFydC5zZXRPcHRpb24obmV3T3B0aW9uKTtcclxuICAgIG15Q2hhcnQub24oXCJjbGlja1wiLCBmdW5jdGlvbiAocGFyYW1zKSB7XHJcbiAgICAgIE9uQ2xpY2sgJiYgT25DbGljayhwYXJhbXMsIG15Q2hhcnQpO1xyXG4gICAgfSk7XHJcbiAgICBteUNoYXJ0Py5nZXRacigpPy5vbihcImNsaWNrXCIsIChwYXJhbXMpID0+IHtcclxuICAgICAgT25ackNsaWNrICYmIE9uWnJDbGljayhwYXJhbXMsIG15Q2hhcnQpO1xyXG4gICAgfSk7XHJcbiAgICBteUNoYXJ0LnJlc2l6ZSgpO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5oYW5kbGVDaGFydFJlc2l6ZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYXJ0UmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMubXlDaGFydCkge1xyXG4gICAgICB0aGlzLm15Q2hhcnQucmVzaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBib3hTdHlsZSA9IHtcclxuICAgICAgd2lkdGg6IHR5cGVvZiB3aWR0aCA9PSBcIm51bWJlclwiID8gcHgydncod2lkdGgpIDogd2lkdGgsXHJcbiAgICAgIGhlaWdodDogdHlwZW9mIGhlaWdodCA9PSBcIm51bWJlclwiID8gcHgydncoaGVpZ2h0KSA6IGhlaWdodCxcclxuICAgIH07XHJcbiAgICByZXR1cm4gPGRpdiBzdHlsZT17Ym94U3R5bGV9IHJlZj17dGhpcy5jaGFydFJlZn0gaWQ9XCJuc2NfY2hhcnRzXCI+PC9kaXY+O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTnNjQ2hhcnQ7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PureComponent","echarts","Store","utils","px2vw","isArray","isObject","NscChart","constructor","props","_defineProperty","createRef","dataSource","data","store","children","option","options","autoLoad","url","listeners","listenersPops","stores","_objectWithoutProperties","_excluded","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","modelData","setState","isFirst","init","dataChanged","componentDidMount","componentDidUpdate","prevProps","prevState","snapshot","JSON","stringify","reSetChart","isString","v","componentWillUnmount","window","removeEventListener","handleChartResize","bind","isReplace","test","replace","substring","length","dataConversion","datas","dataMap","result","map","item","value","tempObj","key","push","objectConversion","obj","_myChart$getZr","_myChart$getZr2","OnClick","OnZrClick","state","newDatas","newOption","console","log","xAxis","yAxis","series","myChart","chartRef","current","clear","off","getZr","setOption","on","params","resize","addEventListener","render","width","height","boxStyle","createElement","style","ref","id"],"sources":["../../../src/components/base/chart/index.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\";\r\nimport * as echarts from \"echarts\";\r\nimport { ECharts } from \"echarts/lib/echarts\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport { px2vw } from \"../../utils\";\r\nimport { isArray, isObject } from \"@bj-nsc/functions\";\r\ninterface ChartProps {\r\n store?: StoreProps;\r\n option: any;\r\n data?: Array<Object> | Object;\r\n width: number | string; //图表宽度\r\n height: number | string; //图表长度\r\n autoLoad?: boolean; //数据改变,自动刷新图表,默认true\r\n OnClick?: (params: any, e?: any) => void; //图表点击事件\r\n OnZrClick?: (params: any, e?: any) => void; //图表点击事件\r\n [proNames: string]: any;\r\n}\r\n\r\n//data示例\r\n/**\r\n 数组:\r\n data=[{name:'1月',value:20},{name:'2月',value:10},{name:'3月',value:25}]\r\n 对象\r\n data={name:['1月','2月','3月'],value:[20,30,40]}\r\n */\r\nclass NscChart extends PureComponent<ChartProps> {\r\n chartRef = React.createRef<HTMLDivElement>();\r\n myChart: ECharts | null = null;\r\n store = {} as StoreProps;\r\n state = {\r\n dataSource: null,\r\n };\r\n isFirst = true;\r\n constructor(props) {\r\n super(props);\r\n const {\r\n data,\r\n store = {},\r\n children,\r\n option: options,\r\n autoLoad = true,\r\n } = props;\r\n const { url, listeners: listenersPops = {}, ...stores } = store;\r\n if (!children) {\r\n if (!(data || url || options)) {\r\n throw new Error(\"url、data、option不能都为空!\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n _this.setState({ dataSource: modelData }, () => {\r\n if (_this.isFirst && autoLoad) {\r\n _this.init();\r\n _this.isFirst = false;\r\n }\r\n });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n _this.setState({ dataSource: modelData }, () => {\r\n if (autoLoad) {\r\n _this.init();\r\n }\r\n });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if (url && data == null) {\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url,\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const { data, autoLoad = true, store, option } = this.props;\r\n if (data && autoLoad) {\r\n this.init();\r\n } else if (!data && !store?.url && option) {\r\n this.init();\r\n }\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<ChartProps>,\r\n prevState: Readonly<{}>,\r\n snapshot?: any\r\n ): void {\r\n const { autoLoad = true } = this.props;\r\n if (autoLoad) {\r\n if (JSON.stringify(prevProps.data) !== JSON.stringify(this.props.data)) {\r\n this.init();\r\n } else if (\r\n JSON.stringify(prevProps.option) !== JSON.stringify(this.props.option)\r\n ) {\r\n this.init();\r\n }\r\n }\r\n }\r\n\r\n reSetChart() {\r\n this.init();\r\n }\r\n isString(v) {\r\n return typeof v === \"string\";\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener(\"resize\", this.handleChartResize.bind(this));\r\n }\r\n\r\n isReplace(v) {\r\n return /^{.*}$/gi.test(v);\r\n }\r\n replace(v) {\r\n return v.substring(1, v.length - 1);\r\n }\r\n\r\n dataConversion(data, datas, dataMap) {\r\n let result;\r\n if (data) {\r\n if (this.isString(data) && this.isReplace(data)) {\r\n result = dataMap[this.replace(data)];\r\n } else if (isArray(data)) {\r\n data.map((item) => {\r\n let v = item?.value || null;\r\n if (v && this.isReplace(v)) {\r\n item.value = this.dataConversion(v, datas, dataMap);\r\n }\r\n });\r\n result = data;\r\n } else if (isObject(data)) {\r\n result = [];\r\n if (isArray(datas)) {\r\n datas.map((item) => {\r\n var tempObj = {};\r\n for (let key in item) {\r\n let v = item[key];\r\n if (this.isReplace(v)) {\r\n tempObj[key] = item[this.replace(v)];\r\n } else {\r\n tempObj[key] = v;\r\n }\r\n }\r\n result.push(tempObj);\r\n });\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n objectConversion(obj, datas, dataMap) {\r\n let tempObj: any;\r\n if (obj) {\r\n if (isArray(obj)) {\r\n tempObj = [...obj];\r\n tempObj.map((item) => {\r\n if (item.data) {\r\n item.data = this.dataConversion(item.data, datas, dataMap);\r\n }\r\n });\r\n } else if (this.isString(obj)) {\r\n tempObj = obj;\r\n tempObj.data = this.dataConversion(tempObj, datas, dataMap);\r\n } else if (isObject(obj)) {\r\n tempObj = { ...obj };\r\n tempObj.data = this.dataConversion(tempObj.data, datas, dataMap);\r\n }\r\n }\r\n return tempObj;\r\n }\r\n init() {\r\n const { option, data, OnClick, OnZrClick } = this.props;\r\n const { dataSource } = this.state;\r\n let dataMap: any = {};\r\n const newDatas = data || dataSource;\r\n \r\n let newOption: any = { ...option };\r\n if (isArray(newDatas)) {\r\n newDatas.map((item) => {\r\n for (let key in item) {\r\n if (dataMap[key] == null) {\r\n dataMap[key] = [];\r\n }\r\n dataMap[key].push(item[key]);\r\n }\r\n });\r\n } else if (isObject(newDatas)) {\r\n dataMap = newDatas;\r\n }\r\n console.log('newDatas---',newDatas)\r\n newOption.xAxis = this.objectConversion(newOption.xAxis, newDatas, dataMap);\r\n newOption.yAxis = this.objectConversion(newOption.yAxis, newDatas, dataMap);\r\n newOption.series = this.objectConversion(\r\n newOption.series,\r\n newDatas,\r\n dataMap\r\n );\r\n const myChart = (this.myChart = echarts.init(\r\n this.chartRef.current as HTMLDivElement\r\n )); //初始化echarts,通过ref属性获取dom\r\n myChart.clear();\r\n myChart.off(\"click\");\r\n myChart?.getZr()?.off(\"click\");\r\n myChart.setOption(newOption);\r\n myChart.on(\"click\", function (params) {\r\n OnClick && OnClick(params, myChart);\r\n });\r\n myChart?.getZr()?.on(\"click\", (params) => {\r\n OnZrClick && OnZrClick(params, myChart);\r\n });\r\n myChart.resize();\r\n window.addEventListener(\"resize\", this.handleChartResize.bind(this));\r\n }\r\n\r\n handleChartResize() {\r\n if (this.myChart) {\r\n this.myChart.resize();\r\n }\r\n }\r\n\r\n render() {\r\n const { width, height } = this.props;\r\n const boxStyle = {\r\n width: typeof width == \"number\" ? px2vw(width) : width,\r\n height: typeof height == \"number\" ? px2vw(height) : height,\r\n };\r\n return <div style={boxStyle} ref={this.chartRef} id=\"nsc_charts\"></div>;\r\n }\r\n}\r\n\r\nexport default NscChart;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PureComponent","echarts","Store","utils","px2vw","isArray","isObject","NscChart","constructor","props","_defineProperty","createRef","dataSource","data","store","children","option","options","autoLoad","url","listeners","listenersPops","stores","_objectWithoutProperties","_excluded","Error","_this","storeProps","_objectSpread","model","component","onBeforeLoad","callback","load","modelData","setState","isFirst","init","dataChanged","componentDidMount","componentDidUpdate","prevProps","prevState","snapshot","JSON","stringify","reSetChart","isString","v","componentWillUnmount","window","removeEventListener","handleChartResize","bind","isReplace","test","replace","substring","length","dataConversion","datas","dataMap","result","map","item","value","tempObj","key","push","objectConversion","obj","_myChart$getZr","_myChart$getZr2","OnClick","OnZrClick","state","newDatas","newOption","xAxis","yAxis","series","myChart","chartRef","current","clear","off","getZr","setOption","on","params","resize","addEventListener","render","width","height","boxStyle","createElement","style","ref","id"],"sources":["../../../src/components/base/chart/index.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\";\r\nimport * as echarts from \"echarts\";\r\nimport { ECharts } from \"echarts/lib/echarts\";\r\nimport Store, { StoreProps } from \"@bj-nsc/msn\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nimport { px2vw } from \"../../utils\";\r\nimport { isArray, isObject } from \"@bj-nsc/functions\";\r\ninterface ChartProps {\r\n store?: StoreProps;\r\n option: any;\r\n data?: Array<Object> | Object;\r\n width: number | string; //图表宽度\r\n height: number | string; //图表长度\r\n autoLoad?: boolean; //数据改变,自动刷新图表,默认true\r\n OnClick?: (params: any, e?: any) => void; //图表点击事件\r\n OnZrClick?: (params: any, e?: any) => void; //图表点击事件\r\n [proNames: string]: any;\r\n}\r\n\r\n//data示例\r\n/**\r\n 数组:\r\n data=[{name:'1月',value:20},{name:'2月',value:10},{name:'3月',value:25}]\r\n 对象\r\n data={name:['1月','2月','3月'],value:[20,30,40]}\r\n */\r\nclass NscChart extends PureComponent<ChartProps> {\r\n chartRef = React.createRef<HTMLDivElement>();\r\n myChart: ECharts | null = null;\r\n store = {} as StoreProps;\r\n state = {\r\n dataSource: null,\r\n };\r\n isFirst = true;\r\n constructor(props) {\r\n super(props);\r\n const {\r\n data,\r\n store = {},\r\n children,\r\n option: options,\r\n autoLoad = true,\r\n } = props;\r\n const { url, listeners: listenersPops = {}, ...stores } = store;\r\n if (!children) {\r\n if (!(data || url || options)) {\r\n throw new Error(\"url、data、option不能都为空!\");\r\n }\r\n let _this = this;\r\n let storeProps = {\r\n model: \"model\",\r\n component: this,\r\n listeners: {\r\n onBeforeLoad: function (store, options) {\r\n utils.callback(listenersPops.onBeforeLoad, _this, [store, options]);\r\n },\r\n load: function (data, modelData, store) {\r\n _this.setState({ dataSource: modelData }, () => {\r\n if (_this.isFirst && autoLoad) {\r\n _this.init();\r\n _this.isFirst = false;\r\n }\r\n });\r\n utils.callback(listenersPops.load, _this, [data, modelData, store]);\r\n },\r\n dataChanged: function (data, modelData, store) {\r\n _this.setState({ dataSource: modelData }, () => {\r\n if (autoLoad) {\r\n _this.init();\r\n }\r\n });\r\n utils.callback(listenersPops.dataChanged, _this, [\r\n data,\r\n modelData,\r\n store,\r\n ]);\r\n },\r\n },\r\n ...stores,\r\n };\r\n if (url && data == null) {\r\n storeProps = {\r\n ...{\r\n autoLoad: true,\r\n url: url,\r\n },\r\n ...storeProps,\r\n };\r\n }\r\n this.store = new Store(storeProps);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const { data, autoLoad = true, store, option } = this.props;\r\n if (data && autoLoad) {\r\n this.init();\r\n } else if (!data && !store?.url && option) {\r\n this.init();\r\n }\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<ChartProps>,\r\n prevState: Readonly<{}>,\r\n snapshot?: any\r\n ): void {\r\n const { autoLoad = true } = this.props;\r\n if (autoLoad) {\r\n if (JSON.stringify(prevProps.data) !== JSON.stringify(this.props.data)) {\r\n this.init();\r\n } else if (\r\n JSON.stringify(prevProps.option) !== JSON.stringify(this.props.option)\r\n ) {\r\n this.init();\r\n }\r\n }\r\n }\r\n\r\n reSetChart() {\r\n this.init();\r\n }\r\n isString(v) {\r\n return typeof v === \"string\";\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener(\"resize\", this.handleChartResize.bind(this));\r\n }\r\n\r\n isReplace(v) {\r\n return /^{.*}$/gi.test(v);\r\n }\r\n replace(v) {\r\n return v.substring(1, v.length - 1);\r\n }\r\n\r\n dataConversion(data, datas, dataMap) {\r\n let result;\r\n if (data) {\r\n if (this.isString(data) && this.isReplace(data)) {\r\n result = dataMap[this.replace(data)];\r\n } else if (isArray(data)) {\r\n data.map((item) => {\r\n let v = item?.value || null;\r\n if (v && this.isReplace(v)) {\r\n item.value = this.dataConversion(v, datas, dataMap);\r\n }\r\n });\r\n result = data;\r\n } else if (isObject(data)) {\r\n result = [];\r\n if (isArray(datas)) {\r\n datas.map((item) => {\r\n var tempObj = {};\r\n for (let key in item) {\r\n let v = item[key];\r\n if (this.isReplace(v)) {\r\n tempObj[key] = item[this.replace(v)];\r\n } else {\r\n tempObj[key] = v;\r\n }\r\n }\r\n result.push(tempObj);\r\n });\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n objectConversion(obj, datas, dataMap) {\r\n let tempObj: any;\r\n if (obj) {\r\n if (isArray(obj)) {\r\n tempObj = [...obj];\r\n tempObj.map((item) => {\r\n if (item.data) {\r\n item.data = this.dataConversion(item.data, datas, dataMap);\r\n }\r\n });\r\n } else if (this.isString(obj)) {\r\n tempObj = obj;\r\n tempObj.data = this.dataConversion(tempObj, datas, dataMap);\r\n } else if (isObject(obj)) {\r\n tempObj = { ...obj };\r\n tempObj.data = this.dataConversion(tempObj.data, datas, dataMap);\r\n }\r\n }\r\n return tempObj;\r\n }\r\n init() {\r\n const { option, data, OnClick, OnZrClick } = this.props;\r\n const { dataSource } = this.state;\r\n let dataMap: any = {};\r\n const newDatas = data || dataSource;\r\n \r\n let newOption: any = { ...option };\r\n if (isArray(newDatas)) {\r\n newDatas.map((item) => {\r\n for (let key in item) {\r\n if (dataMap[key] == null) {\r\n dataMap[key] = [];\r\n }\r\n dataMap[key].push(item[key]);\r\n }\r\n });\r\n } else if (isObject(newDatas)) {\r\n dataMap = newDatas;\r\n }\r\n newOption.xAxis = this.objectConversion(newOption.xAxis, newDatas, dataMap);\r\n newOption.yAxis = this.objectConversion(newOption.yAxis, newDatas, dataMap);\r\n newOption.series = this.objectConversion(\r\n newOption.series,\r\n newDatas,\r\n dataMap\r\n );\r\n const myChart = (this.myChart = echarts.init(\r\n this.chartRef.current as HTMLDivElement\r\n )); //初始化echarts,通过ref属性获取dom\r\n myChart.clear();\r\n myChart.off(\"click\");\r\n myChart?.getZr()?.off(\"click\");\r\n myChart.setOption(newOption);\r\n myChart.on(\"click\", function (params) {\r\n OnClick && OnClick(params, myChart);\r\n });\r\n myChart?.getZr()?.on(\"click\", (params) => {\r\n OnZrClick && OnZrClick(params, myChart);\r\n });\r\n myChart.resize();\r\n window.addEventListener(\"resize\", this.handleChartResize.bind(this));\r\n }\r\n\r\n handleChartResize() {\r\n if (this.myChart) {\r\n this.myChart.resize();\r\n }\r\n }\r\n\r\n render() {\r\n const { width, height } = this.props;\r\n const boxStyle = {\r\n width: typeof width == \"number\" ? px2vw(width) : width,\r\n height: typeof height == \"number\" ? px2vw(height) : height,\r\n };\r\n return <div style={boxStyle} ref={this.chartRef} id=\"nsc_charts\"></div>;\r\n }\r\n}\r\n\r\nexport default NscChart;\r\n"],"mappings":"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"}
@@ -307,8 +307,8 @@ class NscForm extends PureComponent {
307
307
  const Pane = () => {
308
308
  return /*#__PURE__*/React.createElement(_Form, _extends({
309
309
  ref: this.formRef,
310
- validateTrigger: ["onBlur", "onChange"],
311
- draggable: true
310
+ validateTrigger: ["onBlur", "onChange"]
311
+ // draggable={true}
312
312
  }, layout, props, {
313
313
  onValuesChange: this.onValuesChange.bind(this),
314
314
  preserve: false
@@ -349,4 +349,4 @@ class NscForm extends PureComponent {
349
349
  }
350
350
  }
351
351
  export default NscForm;
352
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJNb2RhbCIsInJlcXVlc3QiLCJvbWl0IiwiU3BpbiIsInV0aWxzIiwiTnNjRm9ybSIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwiaXNDaGFuZ2UiLCJleHBhbmQiLCJzY29wZSIsInBhcmFtcyIsImJlZm9yZVJlbmRlciIsImNhbGxiYWNrQmVmb3JlQ2xvc2UiLCJjYWxsYmFjayIsImFmdGVyUmVuZGVyIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldlN0YXRlIiwibW9kYWxQcm9wcyIsImRyYXdlclByb3BzIiwic2hvd01vZGVsIiwiT2JqZWN0IiwiaXMiLCJuZXdTdGF0ZSIsInZpc2libGUiLCJ1bmRlZmluZWQiLCJnZXRGaWVsZEVycm9yIiwibmFtZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudCIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRJbnN0YW5jZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudDIiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiX3RoaXMkZm9ybVJlZiIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJzY3JvbGxUb0ZpZWxkIiwib3B0aW9ucyIsInNldEZpZWxkcyIsImZpbGRzIiwic2V0RmllbGRzVmFsdWUiLCJ2YWx1ZXMiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQzIiwic3VibWl0Iiwib25TdWJtaXQiLCJ1cmwiLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfb2JqZWN0U3ByZWFkIiwidG9Mb3dlckNhc2UiLCJhdXRvUHJlZml4IiwidGhlbiIsInJlcyIsImNvZGUiLCJfbWVzc2FnZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwiaGlkZSIsImUiLCJfdGhpcyIsIm9uQ2FuY2VsIiwib25DbG9zZSIsImhpZGVGb3JtIiwicmVzZXRWYWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNldFN0YXRlIiwic2hvd0Zvcm0iLCJ2YWx1ZSIsIm9wdGlvbiIsIl90aGlzJGZvcm1SZWYkY3VycmVudDQiLCJjbG9uZUVsZW1lbnQiLCJpdGVtIiwiaW5kZXgiLCJrZXkiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIkNoaWxkcmVuIiwibWFwIiwiY2hpbGQiLCJvblZhbHVlc0NoYW5nZSIsInZhbCIsImFsbFZhbCIsInJlbmRlclBhbmVsIiwibmV3Q2hpbGRyZW4iLCJsb2FkaW5nIiwiY2hhbmdlVmFsaWQiLCJzdGF0ZSIsImxheW91dCIsImxhYmVsQ29sIiwic3BhbiIsIndyYXBwZXJDb2wiLCJQYW5lIiwiY3JlYXRlRWxlbWVudCIsIl9Gb3JtIiwiX2V4dGVuZHMiLCJyZWYiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJkcmFnZ2FibGUiLCJiaW5kIiwicHJlc2VydmUiLCJuZXdNb2RhbFByb3BzIiwibmV3RHJhd2VyUHJvcHMiLCJkZWZhdWx0cHJvcHMiLCJtYXNrQ2xvc2FibGUiLCJmb3JtRXhwYW5kIiwidmFsaWQiLCJjaGFuZ2UiLCJ0eXBlIiwibW9kYWxwcm9wcyIsIm9wZW4iLCJzcGlubmluZyIsIkZyYWdtZW50IiwicmVuZGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9mb3JtL0Zvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IEZvcm0sIEZvcm1Qcm9wcywgRHJhd2VyLCBEcmF3ZXJQcm9wcywgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgTnNjTW9kYWxQb3JwcyB9IGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vc3BpblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiIHwgXCJhdXRvXCI7XHJcbiAgbW9kYWxQcm9wcz86IE5zY01vZGFsUG9ycHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcyAmIHtcclxuICAgIG9uT2s/OiBhbnk7XHJcbiAgICBva0J1dHRvblByb3BzPzogT2JqZWN0O1xyXG4gICAgZm9ybUV4cGFuZD86IE9iamVjdDtcclxuICB9O1xyXG4gIHVybD86IHN0cmluZztcclxuICBlbmNyeXB0RmllbGRzPzogQXJyYXk8U3RyaW5nPjtcclxuICBjaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v5pWw5o2u5L+u5pS55YWz6Zet5qCh6aqMXHJcbiAgbG9hZGluZz86IGJvb2xlYW47IC8v6KGo5Y2V5Yqg6L2954q25oCBXHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICBleHBhbmQ6IGZhbHNlLFxyXG4gIH07XHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgICAvL+aYvuekuuS5i+WQjuWbnuiwg1xyXG4gICAgYWZ0ZXJSZW5kZXI6IG51bGwsXHJcbiAgfTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBtb2RhbFByb3BzLCBkcmF3ZXJQcm9wcywgc2hvd01vZGVsIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1Nb2RhbFByb3BzLCBmb3JtRHJhd2VyUHJvcHMgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybU1vZGFsUHJvcHMsIG1vZGFsUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBtb2RhbFByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChtb2RhbFByb3BzLnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gbW9kYWxQcm9wcy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpXHJcbiAgICAgIGlmICghT2JqZWN0LmlzKGZvcm1EcmF3ZXJQcm9wcywgZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoZHJhd2VyUHJvcHMudmlzaWJsZSAhPT0gbnVsbCAmJiBkcmF3ZXJQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gZHJhd2VyUHJvcHMudmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE6ZSZ6K+v5L+h5oGvXHJcbiAgZ2V0RmllbGRFcnJvcihuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWY/LmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICBhdXRvUHJlZml4OiB0cnVlLFxyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlKGUpIHtcclxuICAgIGNvbnN0IHsgc2hvd01vZGVsLCBtb2RhbFByb3BzID0ge30sIGRyYXdlclByb3BzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gbW9kYWxQcm9wcztcclxuICAgIGNvbnN0IHsgb25DbG9zZSB9ID0gZHJhd2VyUHJvcHM7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIgJiYgb25DbG9zZSkge1xyXG4gICAgICBvbkNsb3NlKGUpO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgIG9uQ2FuY2VsKGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGVGb3JtKHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICBjb25zdCB7IGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICAgICAgdXRpbHMuY2FsbGJhY2soYWZ0ZXJSZW5kZXIsIHRoaXMpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvbmVFbGVtZW50KGl0ZW0sIGluZGV4ID0gMCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiKSByZXR1cm4gaXRlbTtcclxuICAgIGxldCBwcm9wcyA9IHt9IGFzIHsga2V5OiBudW1iZXI7IGNoaWxkcmVuOiBhbnkgfTtcclxuICAgIHByb3BzLmtleSA9IGluZGV4O1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGl0ZW0ucHJvcHMgJiYgaXRlbS5wcm9wcy5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0ucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChcclxuICAgICAgICAgICAgaXRlbS5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSB0aGlzLmNsb25lRWxlbWVudChpdGVtLnByb3BzLmNoaWxkcmVuLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChpdGVtLCBwcm9wcyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCkge1xyXG4gICAgY29uc3QgeyBvblZhbHVlc0NoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBpc0NoYW5nZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgb25WYWx1ZXNDaGFuZ2UgJiYgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpO1xyXG4gIH1cclxuICByZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc2hvd01vZGVsLFxyXG4gICAgICBkcmF3ZXJQcm9wcyA9IHt9LFxyXG4gICAgICBtb2RhbFByb3BzID0ge30sXHJcbiAgICAgIGxvYWRpbmcgPSBmYWxzZSxcclxuICAgICAgY2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgY29uc3QgUGFuZSA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICB2YWxpZGF0ZVRyaWdnZXI9e1tcIm9uQmx1clwiLCBcIm9uQ2hhbmdlXCJdfVxyXG4gICAgICAgICAgZHJhZ2dhYmxlPXt0cnVlfVxyXG4gICAgICAgICAgey4uLmxheW91dH1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIG9uVmFsdWVzQ2hhbmdlPXt0aGlzLm9uVmFsdWVzQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBwcmVzZXJ2ZT17ZmFsc2V9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsKSB7XHJcbiAgICAgIGxldCBuZXdNb2RhbFByb3BzID0gb21pdChtb2RhbFByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbmV3TW9kYWxQcm9wcyA9IHsgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbGV0IGRlZmF1bHRwcm9wcyA9IHtcclxuICAgICAgICBtYXNrQ2xvc2FibGU6ICF0aGlzLnN0YXRlLmlzQ2hhbmdlLFxyXG4gICAgICAgIGZvcm1FeHBhbmQ6IHtcclxuICAgICAgICAgIGV4cGFuZDogdHJ1ZSxcclxuICAgICAgICAgIHZhbGlkOiBjaGFuZ2VWYWxpZCxcclxuICAgICAgICAgIGNoYW5nZTogdGhpcy5zdGF0ZS5pc0NoYW5nZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHNob3dNb2RlbCxcclxuICAgICAgfSBhcyBhbnk7XHJcbiAgICAgIGxldCBtb2RhbHByb3BzID0geyAuLi5kZWZhdWx0cHJvcHMgfTtcclxuICAgICAgbW9kYWxwcm9wcyA9IHtcclxuICAgICAgICAuLi5kZWZhdWx0cHJvcHMsXHJcbiAgICAgICAgLi4ubmV3TW9kYWxQcm9wcyxcclxuICAgICAgICAuLi5uZXdEcmF3ZXJQcm9wcyxcclxuICAgICAgICBvbkNhbmNlbDogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgICAgLy8gb25DbG9zZTogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsIG9wZW49e2Zvcm1WaXNpYmxlfSB7Li4ubW9kYWxwcm9wc30+XHJcbiAgICAgICAgICB7bG9hZGluZyA/IDxTcGluIHNwaW5uaW5nPXtsb2FkaW5nfT57UGFuZSgpfTwvU3Bpbj4gOiBQYW5lKCl9XHJcbiAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiA8Pntsb2FkaW5nID8gPFNwaW4gc3Bpbm5pbmc9e2xvYWRpbmd9PntQYW5lKCl9PC9TcGluPiA6IFBhbmUoKX08Lz47XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgIFwiZm9ybVwiLFxyXG4gICAgICBcInNob3dNb2RlbFwiLFxyXG4gICAgICBcIm1vZGFsUHJvcHNcIixcclxuICAgICAgXCJkcmF3ZXJQcm9wc1wiLFxyXG4gICAgICBcInVybFwiLFxyXG4gICAgICBcImVuY3J5cHRGaWVsZHNcIixcclxuICAgICAgXCJjaGFuZ2VWYWxpZFwiLFxyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChwcm9wcy5jaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFLLElBQUlDLGFBQWEsUUFBUSxPQUFPO0FBRTVDLE9BQU9DLEtBQUssTUFBTSxVQUFVO0FBRTVCLFNBQVNDLE9BQU8sUUFBUSx1QkFBdUI7QUFDL0MsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFFMUIsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQWU3QyxNQUFNQyxPQUFPLFNBQVNOLGFBQWEsQ0FBYTtFQXVCOUNPLFdBQVdBLENBQUNDLEtBQUssRUFBRTtJQUNqQixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFDQyxlQUFBLCtCQXZCTFYsS0FBSyxDQUFDVyxTQUFTLENBQWUsQ0FBQztJQUFBRCxlQUFBLGdCQUNqQztNQUNORSxXQUFX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
352
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJNb2RhbCIsInJlcXVlc3QiLCJvbWl0IiwiU3BpbiIsInV0aWxzIiwiTnNjRm9ybSIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwiaXNDaGFuZ2UiLCJleHBhbmQiLCJzY29wZSIsInBhcmFtcyIsImJlZm9yZVJlbmRlciIsImNhbGxiYWNrQmVmb3JlQ2xvc2UiLCJjYWxsYmFjayIsImFmdGVyUmVuZGVyIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldlN0YXRlIiwibW9kYWxQcm9wcyIsImRyYXdlclByb3BzIiwic2hvd01vZGVsIiwiT2JqZWN0IiwiaXMiLCJuZXdTdGF0ZSIsInZpc2libGUiLCJ1bmRlZmluZWQiLCJnZXRGaWVsZEVycm9yIiwibmFtZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudCIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRJbnN0YW5jZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudDIiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiX3RoaXMkZm9ybVJlZiIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJzY3JvbGxUb0ZpZWxkIiwib3B0aW9ucyIsInNldEZpZWxkcyIsImZpbGRzIiwic2V0RmllbGRzVmFsdWUiLCJ2YWx1ZXMiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQzIiwic3VibWl0Iiwib25TdWJtaXQiLCJ1cmwiLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfb2JqZWN0U3ByZWFkIiwidG9Mb3dlckNhc2UiLCJhdXRvUHJlZml4IiwidGhlbiIsInJlcyIsImNvZGUiLCJfbWVzc2FnZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwiaGlkZSIsImUiLCJfdGhpcyIsIm9uQ2FuY2VsIiwib25DbG9zZSIsImhpZGVGb3JtIiwicmVzZXRWYWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNldFN0YXRlIiwic2hvd0Zvcm0iLCJ2YWx1ZSIsIm9wdGlvbiIsIl90aGlzJGZvcm1SZWYkY3VycmVudDQiLCJjbG9uZUVsZW1lbnQiLCJpdGVtIiwiaW5kZXgiLCJrZXkiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIkNoaWxkcmVuIiwibWFwIiwiY2hpbGQiLCJvblZhbHVlc0NoYW5nZSIsInZhbCIsImFsbFZhbCIsInJlbmRlclBhbmVsIiwibmV3Q2hpbGRyZW4iLCJsb2FkaW5nIiwiY2hhbmdlVmFsaWQiLCJzdGF0ZSIsImxheW91dCIsImxhYmVsQ29sIiwic3BhbiIsIndyYXBwZXJDb2wiLCJQYW5lIiwiY3JlYXRlRWxlbWVudCIsIl9Gb3JtIiwiX2V4dGVuZHMiLCJyZWYiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJiaW5kIiwicHJlc2VydmUiLCJuZXdNb2RhbFByb3BzIiwibmV3RHJhd2VyUHJvcHMiLCJkZWZhdWx0cHJvcHMiLCJtYXNrQ2xvc2FibGUiLCJmb3JtRXhwYW5kIiwidmFsaWQiLCJjaGFuZ2UiLCJ0eXBlIiwibW9kYWxwcm9wcyIsIm9wZW4iLCJzcGlubmluZyIsIkZyYWdtZW50IiwicmVuZGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9mb3JtL0Zvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IEZvcm0sIEZvcm1Qcm9wcywgRHJhd2VyLCBEcmF3ZXJQcm9wcywgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgTnNjTW9kYWxQb3JwcyB9IGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vc3BpblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiIHwgXCJhdXRvXCI7XHJcbiAgbW9kYWxQcm9wcz86IE5zY01vZGFsUG9ycHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcyAmIHtcclxuICAgIG9uT2s/OiBhbnk7XHJcbiAgICBva0J1dHRvblByb3BzPzogT2JqZWN0O1xyXG4gICAgZm9ybUV4cGFuZD86IE9iamVjdDtcclxuICB9O1xyXG4gIHVybD86IHN0cmluZztcclxuICBlbmNyeXB0RmllbGRzPzogQXJyYXk8U3RyaW5nPjtcclxuICBjaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v5pWw5o2u5L+u5pS55YWz6Zet5qCh6aqMXHJcbiAgbG9hZGluZz86IGJvb2xlYW47IC8v6KGo5Y2V5Yqg6L2954q25oCBXHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICBleHBhbmQ6IGZhbHNlLFxyXG4gIH07XHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgICAvL+aYvuekuuS5i+WQjuWbnuiwg1xyXG4gICAgYWZ0ZXJSZW5kZXI6IG51bGwsXHJcbiAgfTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBtb2RhbFByb3BzLCBkcmF3ZXJQcm9wcywgc2hvd01vZGVsIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1Nb2RhbFByb3BzLCBmb3JtRHJhd2VyUHJvcHMgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybU1vZGFsUHJvcHMsIG1vZGFsUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBtb2RhbFByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChtb2RhbFByb3BzLnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gbW9kYWxQcm9wcy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpXHJcbiAgICAgIGlmICghT2JqZWN0LmlzKGZvcm1EcmF3ZXJQcm9wcywgZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoZHJhd2VyUHJvcHMudmlzaWJsZSAhPT0gbnVsbCAmJiBkcmF3ZXJQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gZHJhd2VyUHJvcHMudmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE6ZSZ6K+v5L+h5oGvXHJcbiAgZ2V0RmllbGRFcnJvcihuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWY/LmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICBhdXRvUHJlZml4OiB0cnVlLFxyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlKGUpIHtcclxuICAgIGNvbnN0IHsgc2hvd01vZGVsLCBtb2RhbFByb3BzID0ge30sIGRyYXdlclByb3BzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gbW9kYWxQcm9wcztcclxuICAgIGNvbnN0IHsgb25DbG9zZSB9ID0gZHJhd2VyUHJvcHM7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIgJiYgb25DbG9zZSkge1xyXG4gICAgICBvbkNsb3NlKGUpO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgIG9uQ2FuY2VsKGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGVGb3JtKHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICBjb25zdCB7IGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICAgICAgdXRpbHMuY2FsbGJhY2soYWZ0ZXJSZW5kZXIsIHRoaXMpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvbmVFbGVtZW50KGl0ZW0sIGluZGV4ID0gMCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiKSByZXR1cm4gaXRlbTtcclxuICAgIGxldCBwcm9wcyA9IHt9IGFzIHsga2V5OiBudW1iZXI7IGNoaWxkcmVuOiBhbnkgfTtcclxuICAgIHByb3BzLmtleSA9IGluZGV4O1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGl0ZW0ucHJvcHMgJiYgaXRlbS5wcm9wcy5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0ucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChcclxuICAgICAgICAgICAgaXRlbS5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSB0aGlzLmNsb25lRWxlbWVudChpdGVtLnByb3BzLmNoaWxkcmVuLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChpdGVtLCBwcm9wcyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCkge1xyXG4gICAgY29uc3QgeyBvblZhbHVlc0NoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBpc0NoYW5nZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgb25WYWx1ZXNDaGFuZ2UgJiYgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpO1xyXG4gIH1cclxuICByZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc2hvd01vZGVsLFxyXG4gICAgICBkcmF3ZXJQcm9wcyA9IHt9LFxyXG4gICAgICBtb2RhbFByb3BzID0ge30sXHJcbiAgICAgIGxvYWRpbmcgPSBmYWxzZSxcclxuICAgICAgY2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgY29uc3QgUGFuZSA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICB2YWxpZGF0ZVRyaWdnZXI9e1tcIm9uQmx1clwiLCBcIm9uQ2hhbmdlXCJdfVxyXG4gICAgICAgICAgLy8gZHJhZ2dhYmxlPXt0cnVlfVxyXG4gICAgICAgICAgey4uLmxheW91dH1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIG9uVmFsdWVzQ2hhbmdlPXt0aGlzLm9uVmFsdWVzQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBwcmVzZXJ2ZT17ZmFsc2V9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsKSB7XHJcbiAgICAgIGxldCBuZXdNb2RhbFByb3BzID0gb21pdChtb2RhbFByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbmV3TW9kYWxQcm9wcyA9IHsgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbGV0IGRlZmF1bHRwcm9wcyA9IHtcclxuICAgICAgICBtYXNrQ2xvc2FibGU6ICF0aGlzLnN0YXRlLmlzQ2hhbmdlLFxyXG4gICAgICAgIGZvcm1FeHBhbmQ6IHtcclxuICAgICAgICAgIGV4cGFuZDogdHJ1ZSxcclxuICAgICAgICAgIHZhbGlkOiBjaGFuZ2VWYWxpZCxcclxuICAgICAgICAgIGNoYW5nZTogdGhpcy5zdGF0ZS5pc0NoYW5nZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHNob3dNb2RlbCxcclxuICAgICAgfSBhcyBhbnk7XHJcbiAgICAgIGxldCBtb2RhbHByb3BzID0geyAuLi5kZWZhdWx0cHJvcHMgfTtcclxuICAgICAgbW9kYWxwcm9wcyA9IHtcclxuICAgICAgICAuLi5kZWZhdWx0cHJvcHMsXHJcbiAgICAgICAgLi4ubmV3TW9kYWxQcm9wcyxcclxuICAgICAgICAuLi5uZXdEcmF3ZXJQcm9wcyxcclxuICAgICAgICBvbkNhbmNlbDogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgICAgLy8gb25DbG9zZTogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsIG9wZW49e2Zvcm1WaXNpYmxlfSB7Li4ubW9kYWxwcm9wc30+XHJcbiAgICAgICAgICB7bG9hZGluZyA/IDxTcGluIHNwaW5uaW5nPXtsb2FkaW5nfT57UGFuZSgpfTwvU3Bpbj4gOiBQYW5lKCl9XHJcbiAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiA8Pntsb2FkaW5nID8gPFNwaW4gc3Bpbm5pbmc9e2xvYWRpbmd9PntQYW5lKCl9PC9TcGluPiA6IFBhbmUoKX08Lz47XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgIFwiZm9ybVwiLFxyXG4gICAgICBcInNob3dNb2RlbFwiLFxyXG4gICAgICBcIm1vZGFsUHJvcHNcIixcclxuICAgICAgXCJkcmF3ZXJQcm9wc1wiLFxyXG4gICAgICBcInVybFwiLFxyXG4gICAgICBcImVuY3J5cHRGaWVsZHNcIixcclxuICAgICAgXCJjaGFuZ2VWYWxpZFwiLFxyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChwcm9wcy5jaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFLLElBQUlDLGFBQWEsUUFBUSxPQUFPO0FBRTVDLE9BQU9DLEtBQUssTUFBTSxVQUFVO0FBRTVCLFNBQVNDLE9BQU8sUUFBUSx1QkFBdUI7QUFDL0MsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFFMUIsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQWU3QyxNQUFNQyxPQUFPLFNBQVNOLGFBQWEsQ0FBYTtFQXVCOUNPLFdBQVdBLENBQUNDLEtBQUssRUFBRTtJQUNqQixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFDQyxlQUFBLCtCQXZCTFYsS0FBSyxDQUFDVyxTQUFTLENBQWUsQ0FBQztJQUFBRCxlQUFBLGdCQUNqQztNQUNORSxXQUFXLEVBQUUsS0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":["React","PureComponent","Modal","request","omit","Spin","utils","NscForm","constructor","props","_defineProperty","createRef","formVisible","formModalProps","formDrawerProps","isChange","expand","scope","params","beforeRender","callbackBeforeClose","callback","afterRender","getDerivedStateFromProps","nextProps","prevState","modalProps","drawerProps","showModel","Object","is","newState","visible","undefined","getFieldError","name","_this$formRef$current","formRef","current","getFieldInstance","_this$formRef$current2","getFieldsError","getFieldsValue","_this$formRef","getFieldValue","isFieldsTouched","isFieldTouched","isFieldValidating","resetFields","scrollToField","options","setFields","filds","setFieldsValue","values","_this$formRef$current3","submit","onSubmit","url","msg","propsUrl","encryptFields","encryptPropps","Error","method","requestUrl","requestData","requestEncrypt","requestParam","data","_objectWithoutProperties","_excluded","_objectSpread","toLowerCase","autoPrefix","then","res","code","_message","success","error","catch","console","log","validateFields","hide","e","_this","onCancel","onClose","hideForm","resetValue","arguments","length","setState","showForm","value","option","_this$formRef$current4","cloneElement","item","index","key","children","Array","isArray","Children","map","child","onValuesChange","val","allVal","renderPanel","newChildren","loading","changeValid","state","layout","labelCol","span","wrapperCol","Pane","createElement","_Form","_extends","ref","validateTrigger","draggable","bind","preserve","newModalProps","newDrawerProps","defaultprops","maskClosable","formExpand","valid","change","type","modalprops","open","spinning","Fragment","render"],"sources":["../../../src/components/base/form/Form.tsx"],"sourcesContent":["/*\r\n * @Descripttion:表单组件\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-09 09:18:34\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-23 15:23:54\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Form, FormProps, Drawer, DrawerProps, message } from \"antd\";\r\nimport Modal from \"../modal\";\r\nimport { FormInstance } from \"antd/lib/form\";\r\nimport { request } from \"@bj-nsc/msn/lib/utils\";\r\nimport omit from \"omit.js\";\r\nimport { NscModalPorps } from \"../modal\";\r\nimport Spin from \"../spin\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nexport interface IFormProps extends FormProps {\r\n showModel?: \"modal\" | \"drawer\" | \"auto\";\r\n modalProps?: NscModalPorps;\r\n drawerProps?: DrawerProps & {\r\n onOk?: any;\r\n okButtonProps?: Object;\r\n formExpand?: Object;\r\n };\r\n url?: string;\r\n encryptFields?: Array<String>;\r\n changeValid?: boolean; //数据修改关闭校验\r\n loading?: boolean; //表单加载状态\r\n}\r\n\r\nclass NscForm extends PureComponent<IFormProps> {\r\n formRef = React.createRef<FormInstance>();\r\n state = {\r\n formVisible: false,\r\n formModalProps: {},\r\n formDrawerProps: {},\r\n isChange: false,\r\n expand: false,\r\n };\r\n option: any = {\r\n //回调作用域\r\n scope: this,\r\n //open传递过来的页面参数\r\n params: {},\r\n //显示之前回调\r\n beforeRender: null,\r\n //关闭之前回调,如果return false,且窗口不关闭\r\n callbackBeforeClose: null,\r\n //关闭后回调,异步操作\r\n callback: null,\r\n //显示之后回调\r\n afterRender: null,\r\n };\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n const { modalProps, drawerProps, showModel } = nextProps;\r\n const { formModalProps, formDrawerProps } = prevState;\r\n if (showModel == \"modal\") {\r\n // JSON.stringify(formModalProps) !== JSON.stringify(modalProps)\r\n if (!Object.is(formModalProps, modalProps)) {\r\n let newState = {\r\n formDrawerProps: modalProps,\r\n } as any;\r\n if (modalProps.visible !== null && modalProps.visible !== undefined) {\r\n newState.formVisible = modalProps.visible;\r\n }\r\n return newState;\r\n }\r\n } else if (showModel == \"drawer\") {\r\n // JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)\r\n if (!Object.is(formDrawerProps, drawerProps)) {\r\n let newState = {\r\n formDrawerProps: drawerProps,\r\n } as any;\r\n if (drawerProps.visible !== null && drawerProps.visible !== undefined) {\r\n newState.formVisible = drawerProps.visible;\r\n }\r\n return newState;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n //获取对应字段名的错误信息\r\n getFieldError(name) {\r\n return this.formRef.current?.getFieldError(name);\r\n }\r\n\r\n //获取对应字段实例\r\n getFieldInstance(name) {\r\n return this.formRef.current?.getFieldInstance(name);\r\n }\r\n\r\n //获取一组字段名对应的错误信息,返回为数组形式\r\n getFieldsError() {\r\n return this.formRef.current.getFieldsError();\r\n }\r\n\r\n //获取一组字段名对应的值,会按照对应结构返回\r\n getFieldsValue() {\r\n return this.formRef?.current?.getFieldsValue();\r\n }\r\n\r\n //获取对应字段名的值\r\n getFieldValue(name) {\r\n return this.formRef.current.getFieldValue(name);\r\n }\r\n\r\n //检查一组字段是否被用户操作过\r\n isFieldsTouched() {\r\n return this.formRef.current.isFieldsTouched();\r\n }\r\n\r\n //检查对应字段是否被用户操作过\r\n isFieldTouched(name) {\r\n return this.formRef.current.isFieldTouched(name);\r\n }\r\n\r\n //检查一组字段是否正在校验\r\n isFieldValidating(name) {\r\n return this.formRef.current.isFieldValidating(name);\r\n }\r\n\r\n //重置一组字段到\r\n resetFields() {\r\n this.formRef.current.resetFields();\r\n }\r\n\r\n scrollToField(name, options) {\r\n this.formRef.current.scrollToField(name, options);\r\n }\r\n\r\n setFields(filds) {\r\n this.formRef.current.setFields(filds);\r\n }\r\n\r\n setFieldsValue(values) {\r\n this.formRef.current?.setFieldsValue(values);\r\n }\r\n\r\n submit() {\r\n this.formRef.current.submit();\r\n }\r\n\r\n onSubmit(\r\n url?: string,\r\n options?: any,\r\n callback?: (res?: any) => void,\r\n msg?: boolean\r\n ) {\r\n const { url: propsUrl, encryptFields: encryptPropps = [] } = this.props;\r\n if (!url && !propsUrl) {\r\n throw new Error(\"没有上传的url!\");\r\n }\r\n const { method = \"post\" } = options;\r\n let requestUrl = url ? url : propsUrl;\r\n let requestData = this.formRef.current.getFieldsValue();\r\n let requestEncrypt = encryptPropps;\r\n let requestParam = { method: method, data: requestData } as { data: any };\r\n if (options) {\r\n const { data, encryptFields, ...params } = options;\r\n requestParam = { ...requestParam, ...params };\r\n if (data) {\r\n delete requestParam.data;\r\n if (method.toLowerCase() == \"get\") {\r\n requestParam = { ...requestParam, ...params, params: data };\r\n } else {\r\n requestParam = { ...requestParam, ...params, data: data };\r\n }\r\n }\r\n if (encryptFields) {\r\n requestEncrypt = encryptFields;\r\n }\r\n }\r\n\r\n request(requestUrl, {\r\n autoPrefix: true,\r\n ...requestParam,\r\n encryptFields: requestEncrypt,\r\n })\r\n .then(function (res: any) {\r\n const { code } = res;\r\n if (msg) {\r\n if (code === 200) {\r\n message.success(\"提交成功\");\r\n } else {\r\n message.error(\"提交失败\");\r\n }\r\n }\r\n callback && callback(res);\r\n })\r\n .catch(function (error: any) {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n validateFields(name) {\r\n return this.formRef.current.validateFields(name);\r\n }\r\n\r\n hide(e) {\r\n const { showModel, modalProps = {}, drawerProps = {} } = this.props;\r\n let _this = this;\r\n const { onCancel } = modalProps;\r\n const { onClose } = drawerProps;\r\n if (showModel == \"drawer\" && onClose) {\r\n onClose(e);\r\n } else if (showModel == \"modal\" && onCancel) {\r\n onCancel(e);\r\n } else {\r\n _this.hideForm();\r\n }\r\n }\r\n\r\n hideForm(resetValue = true) {\r\n this.setState(\r\n {\r\n formVisible: false,\r\n isChange: false,\r\n },\r\n () => {\r\n if (resetValue) {\r\n this.formRef.current.resetFields();\r\n }\r\n }\r\n );\r\n }\r\n\r\n showForm(value?: any, option: any = {}) {\r\n this.setState(\r\n {\r\n formVisible: true,\r\n isChange: false,\r\n },\r\n () => {\r\n this.formRef.current?.setFieldsValue(value);\r\n const { afterRender } = option;\r\n utils.callback(afterRender, this);\r\n }\r\n );\r\n }\r\n\r\n cloneElement(item, index = 0) {\r\n let _this = this;\r\n if (typeof item == \"string\") return item;\r\n let props = {} as { key: number; children: any };\r\n props.key = index;\r\n try {\r\n if (item.props && item.props.children) {\r\n if (Array.isArray(item.props.children)) {\r\n props.children = React.Children.map(\r\n item.props.children,\r\n function (child, index) {\r\n return _this.cloneElement(child, index);\r\n }\r\n );\r\n } else {\r\n props.children = this.cloneElement(item.props.children, 0);\r\n }\r\n }\r\n return React.cloneElement(item, props);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n onValuesChange(val, allVal) {\r\n const { onValuesChange } = this.props;\r\n this.setState({\r\n isChange: true,\r\n });\r\n onValuesChange && onValuesChange(val, allVal);\r\n }\r\n renderPanel(newChildren, props) {\r\n const {\r\n showModel,\r\n drawerProps = {},\r\n modalProps = {},\r\n loading = false,\r\n changeValid = true,\r\n } = this.props;\r\n const { formVisible } = this.state;\r\n const layout = {\r\n labelCol: { span: this.props.layout == \"vertical\" ? 24 : 4 },\r\n wrapperCol: { span: this.props.layout == \"vertical\" ? 24 : 20 },\r\n };\r\n const Pane = () => {\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n validateTrigger={[\"onBlur\", \"onChange\"]}\r\n draggable={true}\r\n {...layout}\r\n {...props}\r\n onValuesChange={this.onValuesChange.bind(this)}\r\n preserve={false}\r\n />\r\n );\r\n };\r\n if (showModel) {\r\n let newModalProps = omit(modalProps, [\"visible\"]);\r\n newModalProps = { ...newModalProps };\r\n let newDrawerProps = omit(drawerProps, [\"visible\"]);\r\n let defaultprops = {\r\n maskClosable: !this.state.isChange,\r\n formExpand: {\r\n expand: true,\r\n valid: changeValid,\r\n change: this.state.isChange,\r\n },\r\n type: showModel,\r\n } as any;\r\n let modalprops = { ...defaultprops };\r\n modalprops = {\r\n ...defaultprops,\r\n ...newModalProps,\r\n ...newDrawerProps,\r\n onCancel: this.hide.bind(this),\r\n // onClose: this.hide.bind(this),\r\n };\r\n return (\r\n <Modal open={formVisible} {...modalprops}>\r\n {loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}\r\n </Modal>\r\n );\r\n } else {\r\n return <>{loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}</>;\r\n }\r\n }\r\n render() {\r\n const props = omit(this.props, [\r\n \"form\",\r\n \"showModel\",\r\n \"modalProps\",\r\n \"drawerProps\",\r\n \"url\",\r\n \"encryptFields\",\r\n \"changeValid\",\r\n ]);\r\n return <>{this.renderPanel(props.children, props)}</>;\r\n }\r\n}\r\nexport default NscForm;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","names":["React","PureComponent","Modal","request","omit","Spin","utils","NscForm","constructor","props","_defineProperty","createRef","formVisible","formModalProps","formDrawerProps","isChange","expand","scope","params","beforeRender","callbackBeforeClose","callback","afterRender","getDerivedStateFromProps","nextProps","prevState","modalProps","drawerProps","showModel","Object","is","newState","visible","undefined","getFieldError","name","_this$formRef$current","formRef","current","getFieldInstance","_this$formRef$current2","getFieldsError","getFieldsValue","_this$formRef","getFieldValue","isFieldsTouched","isFieldTouched","isFieldValidating","resetFields","scrollToField","options","setFields","filds","setFieldsValue","values","_this$formRef$current3","submit","onSubmit","url","msg","propsUrl","encryptFields","encryptPropps","Error","method","requestUrl","requestData","requestEncrypt","requestParam","data","_objectWithoutProperties","_excluded","_objectSpread","toLowerCase","autoPrefix","then","res","code","_message","success","error","catch","console","log","validateFields","hide","e","_this","onCancel","onClose","hideForm","resetValue","arguments","length","setState","showForm","value","option","_this$formRef$current4","cloneElement","item","index","key","children","Array","isArray","Children","map","child","onValuesChange","val","allVal","renderPanel","newChildren","loading","changeValid","state","layout","labelCol","span","wrapperCol","Pane","createElement","_Form","_extends","ref","validateTrigger","bind","preserve","newModalProps","newDrawerProps","defaultprops","maskClosable","formExpand","valid","change","type","modalprops","open","spinning","Fragment","render"],"sources":["../../../src/components/base/form/Form.tsx"],"sourcesContent":["/*\r\n * @Descripttion:表单组件\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-09 09:18:34\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-23 15:23:54\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Form, FormProps, Drawer, DrawerProps, message } from \"antd\";\r\nimport Modal from \"../modal\";\r\nimport { FormInstance } from \"antd/lib/form\";\r\nimport { request } from \"@bj-nsc/msn/lib/utils\";\r\nimport omit from \"omit.js\";\r\nimport { NscModalPorps } from \"../modal\";\r\nimport Spin from \"../spin\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nexport interface IFormProps extends FormProps {\r\n showModel?: \"modal\" | \"drawer\" | \"auto\";\r\n modalProps?: NscModalPorps;\r\n drawerProps?: DrawerProps & {\r\n onOk?: any;\r\n okButtonProps?: Object;\r\n formExpand?: Object;\r\n };\r\n url?: string;\r\n encryptFields?: Array<String>;\r\n changeValid?: boolean; //数据修改关闭校验\r\n loading?: boolean; //表单加载状态\r\n}\r\n\r\nclass NscForm extends PureComponent<IFormProps> {\r\n formRef = React.createRef<FormInstance>();\r\n state = {\r\n formVisible: false,\r\n formModalProps: {},\r\n formDrawerProps: {},\r\n isChange: false,\r\n expand: false,\r\n };\r\n option: any = {\r\n //回调作用域\r\n scope: this,\r\n //open传递过来的页面参数\r\n params: {},\r\n //显示之前回调\r\n beforeRender: null,\r\n //关闭之前回调,如果return false,且窗口不关闭\r\n callbackBeforeClose: null,\r\n //关闭后回调,异步操作\r\n callback: null,\r\n //显示之后回调\r\n afterRender: null,\r\n };\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n const { modalProps, drawerProps, showModel } = nextProps;\r\n const { formModalProps, formDrawerProps } = prevState;\r\n if (showModel == \"modal\") {\r\n // JSON.stringify(formModalProps) !== JSON.stringify(modalProps)\r\n if (!Object.is(formModalProps, modalProps)) {\r\n let newState = {\r\n formDrawerProps: modalProps,\r\n } as any;\r\n if (modalProps.visible !== null && modalProps.visible !== undefined) {\r\n newState.formVisible = modalProps.visible;\r\n }\r\n return newState;\r\n }\r\n } else if (showModel == \"drawer\") {\r\n // JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)\r\n if (!Object.is(formDrawerProps, drawerProps)) {\r\n let newState = {\r\n formDrawerProps: drawerProps,\r\n } as any;\r\n if (drawerProps.visible !== null && drawerProps.visible !== undefined) {\r\n newState.formVisible = drawerProps.visible;\r\n }\r\n return newState;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n //获取对应字段名的错误信息\r\n getFieldError(name) {\r\n return this.formRef.current?.getFieldError(name);\r\n }\r\n\r\n //获取对应字段实例\r\n getFieldInstance(name) {\r\n return this.formRef.current?.getFieldInstance(name);\r\n }\r\n\r\n //获取一组字段名对应的错误信息,返回为数组形式\r\n getFieldsError() {\r\n return this.formRef.current.getFieldsError();\r\n }\r\n\r\n //获取一组字段名对应的值,会按照对应结构返回\r\n getFieldsValue() {\r\n return this.formRef?.current?.getFieldsValue();\r\n }\r\n\r\n //获取对应字段名的值\r\n getFieldValue(name) {\r\n return this.formRef.current.getFieldValue(name);\r\n }\r\n\r\n //检查一组字段是否被用户操作过\r\n isFieldsTouched() {\r\n return this.formRef.current.isFieldsTouched();\r\n }\r\n\r\n //检查对应字段是否被用户操作过\r\n isFieldTouched(name) {\r\n return this.formRef.current.isFieldTouched(name);\r\n }\r\n\r\n //检查一组字段是否正在校验\r\n isFieldValidating(name) {\r\n return this.formRef.current.isFieldValidating(name);\r\n }\r\n\r\n //重置一组字段到\r\n resetFields() {\r\n this.formRef.current.resetFields();\r\n }\r\n\r\n scrollToField(name, options) {\r\n this.formRef.current.scrollToField(name, options);\r\n }\r\n\r\n setFields(filds) {\r\n this.formRef.current.setFields(filds);\r\n }\r\n\r\n setFieldsValue(values) {\r\n this.formRef.current?.setFieldsValue(values);\r\n }\r\n\r\n submit() {\r\n this.formRef.current.submit();\r\n }\r\n\r\n onSubmit(\r\n url?: string,\r\n options?: any,\r\n callback?: (res?: any) => void,\r\n msg?: boolean\r\n ) {\r\n const { url: propsUrl, encryptFields: encryptPropps = [] } = this.props;\r\n if (!url && !propsUrl) {\r\n throw new Error(\"没有上传的url!\");\r\n }\r\n const { method = \"post\" } = options;\r\n let requestUrl = url ? url : propsUrl;\r\n let requestData = this.formRef.current.getFieldsValue();\r\n let requestEncrypt = encryptPropps;\r\n let requestParam = { method: method, data: requestData } as { data: any };\r\n if (options) {\r\n const { data, encryptFields, ...params } = options;\r\n requestParam = { ...requestParam, ...params };\r\n if (data) {\r\n delete requestParam.data;\r\n if (method.toLowerCase() == \"get\") {\r\n requestParam = { ...requestParam, ...params, params: data };\r\n } else {\r\n requestParam = { ...requestParam, ...params, data: data };\r\n }\r\n }\r\n if (encryptFields) {\r\n requestEncrypt = encryptFields;\r\n }\r\n }\r\n\r\n request(requestUrl, {\r\n autoPrefix: true,\r\n ...requestParam,\r\n encryptFields: requestEncrypt,\r\n })\r\n .then(function (res: any) {\r\n const { code } = res;\r\n if (msg) {\r\n if (code === 200) {\r\n message.success(\"提交成功\");\r\n } else {\r\n message.error(\"提交失败\");\r\n }\r\n }\r\n callback && callback(res);\r\n })\r\n .catch(function (error: any) {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n validateFields(name) {\r\n return this.formRef.current.validateFields(name);\r\n }\r\n\r\n hide(e) {\r\n const { showModel, modalProps = {}, drawerProps = {} } = this.props;\r\n let _this = this;\r\n const { onCancel } = modalProps;\r\n const { onClose } = drawerProps;\r\n if (showModel == \"drawer\" && onClose) {\r\n onClose(e);\r\n } else if (showModel == \"modal\" && onCancel) {\r\n onCancel(e);\r\n } else {\r\n _this.hideForm();\r\n }\r\n }\r\n\r\n hideForm(resetValue = true) {\r\n this.setState(\r\n {\r\n formVisible: false,\r\n isChange: false,\r\n },\r\n () => {\r\n if (resetValue) {\r\n this.formRef.current.resetFields();\r\n }\r\n }\r\n );\r\n }\r\n\r\n showForm(value?: any, option: any = {}) {\r\n this.setState(\r\n {\r\n formVisible: true,\r\n isChange: false,\r\n },\r\n () => {\r\n this.formRef.current?.setFieldsValue(value);\r\n const { afterRender } = option;\r\n utils.callback(afterRender, this);\r\n }\r\n );\r\n }\r\n\r\n cloneElement(item, index = 0) {\r\n let _this = this;\r\n if (typeof item == \"string\") return item;\r\n let props = {} as { key: number; children: any };\r\n props.key = index;\r\n try {\r\n if (item.props && item.props.children) {\r\n if (Array.isArray(item.props.children)) {\r\n props.children = React.Children.map(\r\n item.props.children,\r\n function (child, index) {\r\n return _this.cloneElement(child, index);\r\n }\r\n );\r\n } else {\r\n props.children = this.cloneElement(item.props.children, 0);\r\n }\r\n }\r\n return React.cloneElement(item, props);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n onValuesChange(val, allVal) {\r\n const { onValuesChange } = this.props;\r\n this.setState({\r\n isChange: true,\r\n });\r\n onValuesChange && onValuesChange(val, allVal);\r\n }\r\n renderPanel(newChildren, props) {\r\n const {\r\n showModel,\r\n drawerProps = {},\r\n modalProps = {},\r\n loading = false,\r\n changeValid = true,\r\n } = this.props;\r\n const { formVisible } = this.state;\r\n const layout = {\r\n labelCol: { span: this.props.layout == \"vertical\" ? 24 : 4 },\r\n wrapperCol: { span: this.props.layout == \"vertical\" ? 24 : 20 },\r\n };\r\n const Pane = () => {\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n validateTrigger={[\"onBlur\", \"onChange\"]}\r\n // draggable={true}\r\n {...layout}\r\n {...props}\r\n onValuesChange={this.onValuesChange.bind(this)}\r\n preserve={false}\r\n />\r\n );\r\n };\r\n if (showModel) {\r\n let newModalProps = omit(modalProps, [\"visible\"]);\r\n newModalProps = { ...newModalProps };\r\n let newDrawerProps = omit(drawerProps, [\"visible\"]);\r\n let defaultprops = {\r\n maskClosable: !this.state.isChange,\r\n formExpand: {\r\n expand: true,\r\n valid: changeValid,\r\n change: this.state.isChange,\r\n },\r\n type: showModel,\r\n } as any;\r\n let modalprops = { ...defaultprops };\r\n modalprops = {\r\n ...defaultprops,\r\n ...newModalProps,\r\n ...newDrawerProps,\r\n onCancel: this.hide.bind(this),\r\n // onClose: this.hide.bind(this),\r\n };\r\n return (\r\n <Modal open={formVisible} {...modalprops}>\r\n {loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}\r\n </Modal>\r\n );\r\n } else {\r\n return <>{loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}</>;\r\n }\r\n }\r\n render() {\r\n const props = omit(this.props, [\r\n \"form\",\r\n \"showModel\",\r\n \"modalProps\",\r\n \"drawerProps\",\r\n \"url\",\r\n \"encryptFields\",\r\n \"changeValid\",\r\n ]);\r\n return <>{this.renderPanel(props.children, props)}</>;\r\n }\r\n}\r\nexport default NscForm;\r\n"],"mappings":"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"}