tnx-shared 5.3.150 → 5.3.151

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.
@@ -187,7 +187,7 @@ export class MenuService {
187
187
  }
188
188
  });
189
189
  }
190
- renderMenuByAppCode(appCode) {
190
+ renderMenuByAppCode(appCode, clearPrevMenu = false) {
191
191
  return __awaiter(this, void 0, void 0, function* () {
192
192
  const root = this._applicationContext.getRootContext();
193
193
  this._menuItems = [];
@@ -205,7 +205,7 @@ export class MenuService {
205
205
  fetch(menuUrl).then((rs) => __awaiter(this, void 0, void 0, function* () {
206
206
  const menu = JSON.parse(yield rs.text());
207
207
  this.setDefaultIcon(menu, 0);
208
- yield this.setMenuItems(menu);
208
+ yield this.setMenuItems(menu, clearPrevMenu);
209
209
  }));
210
210
  });
211
211
  }
@@ -238,4 +238,4 @@ MenuService.ctorParameters = () => [
238
238
  { type: CommonService },
239
239
  { type: ApplicationContextService }
240
240
  ];
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL21lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFFekQsTUFBTSxDQUFOLElBQVksVUFFWDtBQUZELFdBQVksVUFBVTtJQUNsQiwyQ0FBSSxDQUFBO0lBQUUsMkRBQVksQ0FBQTtBQUN0QixDQUFDLEVBRlcsVUFBVSxLQUFWLFVBQVUsUUFFckI7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUFuQjtRQUVJLGVBQVUsR0FBYSxLQUFLLENBQUM7UUFDN0IsbUJBQWMsR0FBYSxLQUFLLENBQUM7UUFDakMsbUJBQWMsR0FBYSxLQUFLLENBQUM7UUFDakMsWUFBTyxHQUFhLEtBQUssQ0FBQztRQUMxQixVQUFLLEdBQWMsRUFBRSxDQUFDO1FBQ3RCLGVBQVUsR0FBWSxFQUFFLENBQUM7UUFDekIsU0FBSSxHQUFZLEVBQUUsQ0FBQztRQUNuQixTQUFJLEdBQVksRUFBRSxDQUFDO1FBRW5CLFVBQUssR0FBWSxFQUFFLENBQUM7UUFRcEIsbUJBQWMsR0FBYSxLQUFLLENBQUM7SUFFckMsQ0FBQztDQUFBO0FBR0QsTUFBTSxPQUFPLFdBQVc7SUFRcEIsWUFDWSxvQkFBeUMsRUFDekMsa0JBQXFDLEVBQ3JDLGNBQTZCLEVBQzdCLG1CQUE4QztRQUg5Qyx5QkFBb0IsR0FBcEIs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Q0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUEsQ0FBQyxDQUFDO1FBQ1IsQ0FBQztLQUFBO0lBRUQsY0FBYyxDQUFDLEtBQWUsRUFBRSxLQUFhO1FBQ3pDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUNoQixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7b0JBQ2IsUUFBUSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztpQkFDcEM7cUJBQ0ksSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO29CQUNsQixRQUFRLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztpQkFDbEM7cUJBQ0k7b0JBQ0QsUUFBUSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztpQkFDckM7YUFDSjtZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs7O1lBL05KLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OztZQTlCekIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUZqQixhQUFhO1lBRGIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi9hcHAtY29udGV4dC9hcHBsaWNhdGlvbi1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4vY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9kdWxlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgZW51bSBNZW51U291cmNlIHtcbiAgICBKU09OLCBMb2NhbFN0b3JhZ2Vcbn1cblxuZXhwb3J0IGNsYXNzIFRuTWVudSB7XG4gICAgaW5zdGFuY2VJZD86IHN0cmluZztcbiAgICBpc1Jvb3RNZW51PzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzQ3VzdG9tQXV0aGVuPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGFsbG93QW5vbnltb3VzPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHZpc2libGU/OiBib29sZWFuID0gZmFsc2U7XG4gICAgaXRlbXM/OiBUbk1lbnVbXSA9IFtdO1xuICAgIG5ld1RhYkxpbms/OiBzdHJpbmcgPSAnJztcbiAgICBocmVmPzogc3RyaW5nID0gJyc7XG4gICAgaWNvbj86IHN0cmluZyA9ICcnO1xuICAgIGxldmVsPzogbnVtYmVyO1xuICAgIGxhYmVsPzogc3RyaW5nID0gJyc7XG4gICAgYmFzZUhyZWY/OiBzdHJpbmc7XG4gICAgcm91dGVyTGluaz86IHN0cmluZztcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIGFjdGl2YXRlZD86IGJvb2xlYW47XG4gICAgY29tbWFuZD86IEZ1bmN0aW9uO1xuICAgIHBlcm1pc3Npb24/OiBzdHJpbmc7XG4gICAgaWdub3JlQmFzZVBhdGg/OiBib29sZWFuID0gZmFsc2U7XG4gICAgY291bnQ/OiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTWVudVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX21lbnVJdGVtczogVG5NZW51W10gPSBbXTtcbiAgICBwcml2YXRlIF9yb290TWVudTogVG5NZW51ID0geyBpc1Jvb3RNZW51OiB0cnVlLCBsYWJlbDogJycgfTtcbiAgICBwcml2YXRlIG1hcHBpbmdSb3V0ZXJMaW5rID0ge307XG4gICAgcHJpdmF0ZSBtYXBwaW5nUmV2ZXNlUm91dGVyTGluayA9IHt9O1xuXG4gICAgcHVibGljIG1lbnVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfbW9kdWxlQ29uZmlnU2VydmljZTogTW9kdWxlQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9hcHBsaWNhdGlvbkNvbnRleHQ6IEFwcGxpY2F0aW9uQ29udGV4dFNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbWFwKHNvdXJjZVJvdXRlckxpbmssIG1hcHBlZFJvdXRlckxpbms6IGFueVtdKSB7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBtYXBwZWRSb3V0ZXJMaW5rKSB7XG4gICAgICAgICAgICB0aGlzLm1hcHBpbmdSb3V0ZXJMaW5rW2l0ZW1dID0gc291cmNlUm91dGVyTGluaztcbiAgICAgICAgICAgIGlmICh0aGlzLm1hcHBpbmdSZXZlc2VSb3V0ZXJMaW5rW3NvdXJjZVJvdXRlckxpbmtdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXBwaW5nUmV2ZXNlUm91dGVyTGlua1tzb3VyY2VSb3V0ZXJMaW5rXS5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXBwaW5nUmV2ZXNlUm91dGVyTGlua1tzb3VyY2VSb3V0ZXJMaW5rXSA9IFtpdGVtXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrTWFwcGluZ1JvdXRlckxpbmsobWVudVJvdXRlckxpbmssIGN1cnJlbnRSb3V0ZXJMaW5rKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hcHBpbmdSb3V0ZXJMaW5rW2N1cnJlbnRSb3V0ZXJMaW5rXSA9PSBtZW51Um91dGVyTGlua1xuICAgICAgICAgICAgfHwgKHRoaXMubWFwcGluZ1JldmVzZVJvdXRlckxpbmtbbWVudVJvdXRlckxpbmtdICYmIHRoaXMubWFwcGluZ1JldmVzZVJvdXRlckxpbmtbbWVudVJvdXRlckxpbmtdLnNvbWUoeCA9PiBjdXJyZW50Um91dGVyTGluay5zdGFydHNXaXRoKHgpKSk7XG4gICAgfVxuXG4gICAgLy8gaW5pdE1lbnVJdGVtcyhtZW51czogYW55W10pIHtcbiAgICAvLyAgICAgdGhpcy5fbWVudUl0ZW1zID0gbWVudXM7XG4gICAgLy8gfVxuXG4gICAgaW5pdFJvb3RNZW51KG1lbnU6IFRuTWVudSkge1xuICAgICAgICB0aGlzLl9yb290TWVudSA9IG1lbnU7XG4gICAgfVxuXG4gICAgZ2V0TWVudSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3RNZW51O1xuICAgIH1cblxuICAgIHNldE1lbnVJdGVtcyhtZW51czogVG5NZW51W10sIGNsZWFyUHJldk1lbnUgPSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRWaXNpYmxlTWVudXMobWVudXMpXG4gICAgICAgICAgICAudGhlbihycyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkTWVudSA9IGNsZWFyUHJldk1lbnUgPyBbXSA6IHRoaXMuX2NvbW1vblNlcnZpY2UuY2xvbmVPYmplY3QodGhpcy5nZXRNZW51SXRlbXMoKSk7XG4gICAgICAgICAgICAgICAgbWVudXMuZm9yRWFjaChtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtLmlzUm9vdE1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9sZE1lbnUucHVzaChtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yb290TWVudS5sYWJlbCA9IG0ubGFiZWw7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9tZW51SXRlbXMubGVuZ3RoID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLl9tZW51SXRlbXMucHVzaCguLi50aGlzLnJlY3Vyc2l2ZU9yZGVyQnkob2xkTWVudSkpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUNoYW5nZWQubmV4dCh0aGlzLl9tZW51SXRlbXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVjdXJzaXZlT3JkZXJCeShtZW51czogVG5NZW51W10pIHtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIG1lbnVzKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pdGVtcyAmJiBpdGVtLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpdGVtLml0ZW1zID0gdGhpcy5yZWN1cnNpdmVPcmRlckJ5KGl0ZW0uaXRlbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9jb21tb25TZXJ2aWNlLm9yZGVyQnkobWVudXMsICdvcmRlcicpO1xuICAgIH1cblxuICAgIGdldE1vZHVsZU5hbWUoY29kZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IHRoaXMuX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuYXBwU3dpdGNoZXIuZmluZCh4ID0+ICg8YW55PngpLmNvZGUgPT09IGNvZGUpO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0udGl0bGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgZ2V0TG9uZ01vZHVsZU5hbWUoY29kZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IHRoaXMuX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuYXBwU3dpdGNoZXIuZmluZCh4ID0+ICg8YW55PngpLmNvZGUgPT09IGNvZGUpO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubG9uZ1RpdGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGxvb3BHZXRBY3RpdmUobWVudXM6IFRuTWVudVtdLCByZXN1bHQsIGxhc3RMZW5ndGgpIHtcbiAgICAgICAgbWVudXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmFjdGl2YXRlZCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPiBsYXN0TGVuZ3RoICYmIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0uaXRlbXMgJiYgcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXS5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmxvb3BHZXRBY3RpdmUocmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXS5pdGVtcywgcmVzdWx0LCByZXN1bHQubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldE1lbnVBY3RpdmVzKCkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgdGhpcy5sb29wR2V0QWN0aXZlKHRoaXMuX21lbnVJdGVtcywgcmVzdWx0LCByZXN1bHQubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBnZXRMYXN0TWVudUFjdGl2ZSgpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIHRoaXMubG9vcEdldEFjdGl2ZSh0aGlzLl9tZW51SXRlbXMsIHJlc3VsdCwgcmVzdWx0Lmxlbmd0aCk7XG4gICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbG9vcEdldE1lbnVJdGVtKG1lbnVzOiBUbk1lbnVbXSwgaW5zdGFuY2VJZCkge1xuICAgICAgICBsZXQgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIG1lbnVzKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pbnN0YW5jZUlkID09IGluc3RhbmNlSWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5sb29wR2V0TWVudUl0ZW0oaXRlbS5pdGVtcywgaW5zdGFuY2VJZCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgZ2V0TWVudUl0ZW0oaW5zdGFuY2VJZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb29wR2V0TWVudUl0ZW0odGhpcy5fbWVudUl0ZW1zLCBpbnN0YW5jZUlkKTtcbiAgICB9XG5cbiAgICBnZXRNZW51SXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tZW51SXRlbXM7XG4gICAgfVxuXG5cbiAgICBhc3luYyBzZXRWaXNpYmxlTWVudXMobWVudXM6IFRuTWVudVtdKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuX2NvbW1vblNlcnZpY2UuYXN5bmNGb3JFYWNoKG1lbnVzLCBhc3luYyBlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0VmlzaWJsZU1lbnUoZWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgc2V0VmlzaWJsZU1lbnUobWVudUVsZW06IFRuTWVudSwgcGF0aFByZWZpeDogc3RyaW5nID0gJycpIHtcbiAgICAgICAgaWYgKG1lbnVFbGVtLmlzUm9vdE1lbnUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXRoUHJlZml4ICE9IG51bGwgJiYgcGF0aFByZWZpeCAhPT0gJycgJiYgbWVudUVsZW0ucm91dGVyTGluayAhPSBudWxsICYmIG1lbnVFbGVtLmlnbm9yZUJhc2VQYXRoICE9PSB0cnVlKSB7XG4gICAgICAgICAgICBtZW51RWxlbS5yb3V0ZXJMaW5rID0gKHBhdGhQcmVmaXggfHwgJycpICsgKG1lbnVFbGVtLnJvdXRlckxpbmsgfHwgJycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZW51RWxlbS5pc0N1c3RvbUF1dGhlbikge1xuICAgICAgICAgICAgLy8gVE9ETzogaW1wbGVtZW50IGN1c3RvbSBhdXRoZW4gP1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG1lbnVFbGVtLmFsbG93QW5vbnltb3VzKSB7XG4gICAgICAgICAgICBtZW51RWxlbS52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtZW51RWxlbS5pdGVtcyAmJiBtZW51RWxlbS5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9jb21tb25TZXJ2aWNlLmFzeW5jRm9yRWFjaChtZW51RWxlbS5pdGVtcywgYXN5bmMgaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXRWaXNpYmxlTWVudShpdGVtLCBtZW51RWxlbS5iYXNlSHJlZik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbWVudUVsZW0udmlzaWJsZSA9IG1lbnVFbGVtLml0ZW1zLnNvbWUoeCA9PiB4LnZpc2libGUgPT09IHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuX2FwcGxpY2F0aW9uQ29udGV4dC5nZXRSb290Q29udGV4dCgpO1xuICAgICAgICAgICAgaWYgKHJvb3QuZGF0YS5jdXJyZW50VXNlciAmJiByb290LmRhdGEuY3VycmVudFVzZXIudXNlcklkKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VydmljZSA9IHJvb3QuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEuY29kZTtcbiAgICAgICAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uID0gYCR7cm9vdC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5jb2RlfSR7bWVudUVsZW0ucm91dGVyTGluayB8fCBtZW51RWxlbS5wZXJtaXNzaW9ufWAudG9VcHBlckNhc2UoKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IGF3YWl0IHRoaXMuX3Blcm1pc3Npb25TZXJ2aWNlLmlzQXV0aG9yaXplZChzZXJ2aWNlLCBwZXJtaXNzaW9uLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBtZW51RWxlbS52aXNpYmxlID0gaXNBdXRob3JpemVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbWVudUVsZW0udmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBhc3luYyByZW5kZXJNZW51QnlBcHBDb2RlKGFwcENvZGU6IHN0cmluZykge1xuICAgICAgICBjb25zdCByb290ID0gdGhpcy5fYXBwbGljYXRpb25Db250ZXh0LmdldFJvb3RDb250ZXh0KCk7XG4gICAgICAgIHRoaXMuX21lbnVJdGVtcyA9IFtdO1xuICAgICAgICBsZXQgZG9tYWluTWVudXMgPSAnJztcbiAgICAgICAgY29uc3QgZW52aXJvbm1lbnQgPSB0aGlzLl9tb2R1bGVDb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmVudmlyb25tZW50O1xuICAgICAgICAvLyBpZiAoIGVudmlyb25tZW50LmNsaWVudERvbWFpbi5hcHBEb21haW4uaW5kZXhPZignbG9jYWxob3N0JykgPT0gLTEpIHtcbiAgICAgICAgLy8gVGjDqm0gbGluayBtZW51IGLDqm4gbmdvw6BpXG4gICAgICAgIGlmICggZW52aXJvbm1lbnQuY2xpZW50RG9tYWluLm1lbnVzRG9tYWluKSB7XG4gICAgICAgICAgICBkb21haW5NZW51cyA9IGAke2Vudmlyb25tZW50LmNsaWVudERvbWFpbi5tZW51c0RvbWFpbn0vYDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbWVudVVybCA9IGAke2RvbWFpbk1lbnVzfWFzc2V0cy9tZW51cy8ke2FwcENvZGUudG9Mb2NhbGVMb3dlckNhc2UoKX0uanNvbmA7XG4gICAgICAgIGlmIChlbnZpcm9ubWVudC5zY29wZW5hbWUgJiYgcm9vdC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5yZW5kZXJNZW51QnlTY29wZU5hbWUpIHtcbiAgICAgICAgICAgIG1lbnVVcmwgPSBgJHtkb21haW5NZW51c31hc3NldHMvbWVudXMvJHtlbnZpcm9ubWVudC5zY29wZW5hbWV9LyR7YXBwQ29kZS50b0xvY2FsZUxvd2VyQ2FzZSgpfS5qc29uYDtcbiAgICAgICAgfVxuXG4gICAgICAgICBmZXRjaChtZW51VXJsKS50aGVuKGFzeW5jIHJzID0+IHtcbiAgICAgICAgICAgICBjb25zdCBtZW51ID0gSlNPTi5wYXJzZShhd2FpdCBycy50ZXh0KCkpO1xuICAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEljb24obWVudSwgMCk7XG4gICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXRNZW51SXRlbXMobWVudSk7XG4gICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXREZWZhdWx0SWNvbihtZW51czogVG5NZW51W10sIGxldmVsOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKCFtZW51cykgcmV0dXJuO1xuICAgICAgICBtZW51cy5mb3JFYWNoKGl0ZW1NZW51ID0+IHtcbiAgICAgICAgICAgIGlmICghaXRlbU1lbnUuaWNvbikge1xuICAgICAgICAgICAgICAgIGlmIChsZXZlbCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtTWVudS5pY29uID0gJ3BpIHBpLXRoLWxhcmdlJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAobGV2ZWwgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbU1lbnUuaWNvbiA9ICdwaSBwaS1zdGFyLW8nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbU1lbnUuaWNvbiA9ICdwaSBwaS1jaXJjbGUtb24nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEljb24oaXRlbU1lbnUuaXRlbXMsIGxldmVsICsgMSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL21lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFFekQsTUFBTSxDQUFOLElBQVksVUFFWDtBQUZELFdBQVksVUFBVTtJQUNsQiwyQ0FBSSxDQUFBO0lBQUUsMkRBQVksQ0FBQTtBQUN0QixDQUFDLEVBRlcsVUFBVSxLQUFWLFVBQVUsUUFFckI7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUFuQjtRQUVJLGVBQVUsR0FBYSxLQUFLLENBQUM7UUFDN0IsbUJBQWMsR0FBYSxLQUFLLENBQUM7UUFDakMsbUJBQWMsR0FBYSxLQUFLLENBQUM7UUFDakMsWUFBTyxHQUFhLEtBQUssQ0FBQztRQUMxQixVQUFLLEdBQWMsRUFBRSxDQUFDO1FBQ3RCLGVBQVUsR0FBWSxFQUFFLENBQUM7UUFDekIsU0FBSSxHQUFZLEVBQUUsQ0FBQztRQUNuQixTQUFJLEdBQVksRUFBRSxDQUFDO1FBRW5CLFVBQUssR0FBWSxFQUFFLENBQUM7UUFRcEIsbUJBQWMsR0FBYSxLQUFLLENBQUM7SUFFckMsQ0FBQztDQUFBO0FBR0QsTUFBTSxPQUFPLFdBQVc7SUFRcEIsWUFDWSxvQkFBeUMsRUFDekMsa0JBQXFDLEVBQ3JDLGNBQTZCLEVBQzdCLG1CQUE4QztRQUg5Qyx5QkFBb0IsR0FBcEIs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TUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNqRCxDQUFDLENBQUEsQ0FBQyxDQUFDO1FBQ1IsQ0FBQztLQUFBO0lBRUQsY0FBYyxDQUFDLEtBQWUsRUFBRSxLQUFhO1FBQ3pDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUNoQixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7b0JBQ2IsUUFBUSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztpQkFDcEM7cUJBQ0ksSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO29CQUNsQixRQUFRLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztpQkFDbEM7cUJBQ0k7b0JBQ0QsUUFBUSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztpQkFDckM7YUFDSjtZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs7O1lBL05KLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OztZQTlCekIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUZqQixhQUFhO1lBRGIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcGxpY2F0aW9uQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi9hcHAtY29udGV4dC9hcHBsaWNhdGlvbi1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4vY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9kdWxlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgZW51bSBNZW51U291cmNlIHtcbiAgICBKU09OLCBMb2NhbFN0b3JhZ2Vcbn1cblxuZXhwb3J0IGNsYXNzIFRuTWVudSB7XG4gICAgaW5zdGFuY2VJZD86IHN0cmluZztcbiAgICBpc1Jvb3RNZW51PzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzQ3VzdG9tQXV0aGVuPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGFsbG93QW5vbnltb3VzPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHZpc2libGU/OiBib29sZWFuID0gZmFsc2U7XG4gICAgaXRlbXM/OiBUbk1lbnVbXSA9IFtdO1xuICAgIG5ld1RhYkxpbms/OiBzdHJpbmcgPSAnJztcbiAgICBocmVmPzogc3RyaW5nID0gJyc7XG4gICAgaWNvbj86IHN0cmluZyA9ICcnO1xuICAgIGxldmVsPzogbnVtYmVyO1xuICAgIGxhYmVsPzogc3RyaW5nID0gJyc7XG4gICAgYmFzZUhyZWY/OiBzdHJpbmc7XG4gICAgcm91dGVyTGluaz86IHN0cmluZztcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIGFjdGl2YXRlZD86IGJvb2xlYW47XG4gICAgY29tbWFuZD86IEZ1bmN0aW9uO1xuICAgIHBlcm1pc3Npb24/OiBzdHJpbmc7XG4gICAgaWdub3JlQmFzZVBhdGg/OiBib29sZWFuID0gZmFsc2U7XG4gICAgY291bnQ/OiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTWVudVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX21lbnVJdGVtczogVG5NZW51W10gPSBbXTtcbiAgICBwcml2YXRlIF9yb290TWVudTogVG5NZW51ID0geyBpc1Jvb3RNZW51OiB0cnVlLCBsYWJlbDogJycgfTtcbiAgICBwcml2YXRlIG1hcHBpbmdSb3V0ZXJMaW5rID0ge307XG4gICAgcHJpdmF0ZSBtYXBwaW5nUmV2ZXNlUm91dGVyTGluayA9IHt9O1xuXG4gICAgcHVibGljIG1lbnVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfbW9kdWxlQ29uZmlnU2VydmljZTogTW9kdWxlQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9hcHBsaWNhdGlvbkNvbnRleHQ6IEFwcGxpY2F0aW9uQ29udGV4dFNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbWFwKHNvdXJjZVJvdXRlckxpbmssIG1hcHBlZFJvdXRlckxpbms6IGFueVtdKSB7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBtYXBwZWRSb3V0ZXJMaW5rKSB7XG4gICAgICAgICAgICB0aGlzLm1hcHBpbmdSb3V0ZXJMaW5rW2l0ZW1dID0gc291cmNlUm91dGVyTGluaztcbiAgICAgICAgICAgIGlmICh0aGlzLm1hcHBpbmdSZXZlc2VSb3V0ZXJMaW5rW3NvdXJjZVJvdXRlckxpbmtdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXBwaW5nUmV2ZXNlUm91dGVyTGlua1tzb3VyY2VSb3V0ZXJMaW5rXS5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXBwaW5nUmV2ZXNlUm91dGVyTGlua1tzb3VyY2VSb3V0ZXJMaW5rXSA9IFtpdGVtXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrTWFwcGluZ1JvdXRlckxpbmsobWVudVJvdXRlckxpbmssIGN1cnJlbnRSb3V0ZXJMaW5rKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hcHBpbmdSb3V0ZXJMaW5rW2N1cnJlbnRSb3V0ZXJMaW5rXSA9PSBtZW51Um91dGVyTGlua1xuICAgICAgICAgICAgfHwgKHRoaXMubWFwcGluZ1JldmVzZVJvdXRlckxpbmtbbWVudVJvdXRlckxpbmtdICYmIHRoaXMubWFwcGluZ1JldmVzZVJvdXRlckxpbmtbbWVudVJvdXRlckxpbmtdLnNvbWUoeCA9PiBjdXJyZW50Um91dGVyTGluay5zdGFydHNXaXRoKHgpKSk7XG4gICAgfVxuXG4gICAgLy8gaW5pdE1lbnVJdGVtcyhtZW51czogYW55W10pIHtcbiAgICAvLyAgICAgdGhpcy5fbWVudUl0ZW1zID0gbWVudXM7XG4gICAgLy8gfVxuXG4gICAgaW5pdFJvb3RNZW51KG1lbnU6IFRuTWVudSkge1xuICAgICAgICB0aGlzLl9yb290TWVudSA9IG1lbnU7XG4gICAgfVxuXG4gICAgZ2V0TWVudSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3RNZW51O1xuICAgIH1cblxuICAgIHNldE1lbnVJdGVtcyhtZW51czogVG5NZW51W10sIGNsZWFyUHJldk1lbnUgPSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRWaXNpYmxlTWVudXMobWVudXMpXG4gICAgICAgICAgICAudGhlbihycyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkTWVudSA9IGNsZWFyUHJldk1lbnUgPyBbXSA6IHRoaXMuX2NvbW1vblNlcnZpY2UuY2xvbmVPYmplY3QodGhpcy5nZXRNZW51SXRlbXMoKSk7XG4gICAgICAgICAgICAgICAgbWVudXMuZm9yRWFjaChtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtLmlzUm9vdE1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9sZE1lbnUucHVzaChtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yb290TWVudS5sYWJlbCA9IG0ubGFiZWw7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9tZW51SXRlbXMubGVuZ3RoID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLl9tZW51SXRlbXMucHVzaCguLi50aGlzLnJlY3Vyc2l2ZU9yZGVyQnkob2xkTWVudSkpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUNoYW5nZWQubmV4dCh0aGlzLl9tZW51SXRlbXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVjdXJzaXZlT3JkZXJCeShtZW51czogVG5NZW51W10pIHtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIG1lbnVzKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pdGVtcyAmJiBpdGVtLml0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpdGVtLml0ZW1zID0gdGhpcy5yZWN1cnNpdmVPcmRlckJ5KGl0ZW0uaXRlbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9jb21tb25TZXJ2aWNlLm9yZGVyQnkobWVudXMsICdvcmRlcicpO1xuICAgIH1cblxuICAgIGdldE1vZHVsZU5hbWUoY29kZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IHRoaXMuX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuYXBwU3dpdGNoZXIuZmluZCh4ID0+ICg8YW55PngpLmNvZGUgPT09IGNvZGUpO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0udGl0bGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgZ2V0TG9uZ01vZHVsZU5hbWUoY29kZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGl0ZW06IGFueSA9IHRoaXMuX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBwTWV0YWRhdGEuYXBwU3dpdGNoZXIuZmluZCh4ID0+ICg8YW55PngpLmNvZGUgPT09IGNvZGUpO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubG9uZ1RpdGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGxvb3BHZXRBY3RpdmUobWVudXM6IFRuTWVudVtdLCByZXN1bHQsIGxhc3RMZW5ndGgpIHtcbiAgICAgICAgbWVudXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmFjdGl2YXRlZCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPiBsYXN0TGVuZ3RoICYmIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0uaXRlbXMgJiYgcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXS5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmxvb3BHZXRBY3RpdmUocmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXS5pdGVtcywgcmVzdWx0LCByZXN1bHQubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldE1lbnVBY3RpdmVzKCkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgdGhpcy5sb29wR2V0QWN0aXZlKHRoaXMuX21lbnVJdGVtcywgcmVzdWx0LCByZXN1bHQubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBnZXRMYXN0TWVudUFjdGl2ZSgpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIHRoaXMubG9vcEdldEFjdGl2ZSh0aGlzLl9tZW51SXRlbXMsIHJlc3VsdCwgcmVzdWx0Lmxlbmd0aCk7XG4gICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbG9vcEdldE1lbnVJdGVtKG1lbnVzOiBUbk1lbnVbXSwgaW5zdGFuY2VJZCkge1xuICAgICAgICBsZXQgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIG1lbnVzKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pbnN0YW5jZUlkID09IGluc3RhbmNlSWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5sb29wR2V0TWVudUl0ZW0oaXRlbS5pdGVtcywgaW5zdGFuY2VJZCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgZ2V0TWVudUl0ZW0oaW5zdGFuY2VJZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb29wR2V0TWVudUl0ZW0odGhpcy5fbWVudUl0ZW1zLCBpbnN0YW5jZUlkKTtcbiAgICB9XG5cbiAgICBnZXRNZW51SXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tZW51SXRlbXM7XG4gICAgfVxuXG5cbiAgICBhc3luYyBzZXRWaXNpYmxlTWVudXMobWVudXM6IFRuTWVudVtdKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuX2NvbW1vblNlcnZpY2UuYXN5bmNGb3JFYWNoKG1lbnVzLCBhc3luYyBlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0VmlzaWJsZU1lbnUoZWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgc2V0VmlzaWJsZU1lbnUobWVudUVsZW06IFRuTWVudSwgcGF0aFByZWZpeDogc3RyaW5nID0gJycpIHtcbiAgICAgICAgaWYgKG1lbnVFbGVtLmlzUm9vdE1lbnUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXRoUHJlZml4ICE9IG51bGwgJiYgcGF0aFByZWZpeCAhPT0gJycgJiYgbWVudUVsZW0ucm91dGVyTGluayAhPSBudWxsICYmIG1lbnVFbGVtLmlnbm9yZUJhc2VQYXRoICE9PSB0cnVlKSB7XG4gICAgICAgICAgICBtZW51RWxlbS5yb3V0ZXJMaW5rID0gKHBhdGhQcmVmaXggfHwgJycpICsgKG1lbnVFbGVtLnJvdXRlckxpbmsgfHwgJycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZW51RWxlbS5pc0N1c3RvbUF1dGhlbikge1xuICAgICAgICAgICAgLy8gVE9ETzogaW1wbGVtZW50IGN1c3RvbSBhdXRoZW4gP1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG1lbnVFbGVtLmFsbG93QW5vbnltb3VzKSB7XG4gICAgICAgICAgICBtZW51RWxlbS52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtZW51RWxlbS5pdGVtcyAmJiBtZW51RWxlbS5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9jb21tb25TZXJ2aWNlLmFzeW5jRm9yRWFjaChtZW51RWxlbS5pdGVtcywgYXN5bmMgaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXRWaXNpYmxlTWVudShpdGVtLCBtZW51RWxlbS5iYXNlSHJlZik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbWVudUVsZW0udmlzaWJsZSA9IG1lbnVFbGVtLml0ZW1zLnNvbWUoeCA9PiB4LnZpc2libGUgPT09IHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuX2FwcGxpY2F0aW9uQ29udGV4dC5nZXRSb290Q29udGV4dCgpO1xuICAgICAgICAgICAgaWYgKHJvb3QuZGF0YS5jdXJyZW50VXNlciAmJiByb290LmRhdGEuY3VycmVudFVzZXIudXNlcklkKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VydmljZSA9IHJvb3QuZGF0YS5jdXJyZW50QXBwTWV0YWRhdGEuY29kZTtcbiAgICAgICAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uID0gYCR7cm9vdC5kYXRhLmN1cnJlbnRBcHBNZXRhZGF0YS5jb2RlfSR7bWVudUVsZW0ucm91dGVyTGluayB8fCBtZW51RWxlbS5wZXJtaXNzaW9ufWAudG9VcHBlckNhc2UoKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzQXV0aG9yaXplZCA9IGF3YWl0IHRoaXMuX3Blcm1pc3Npb25TZXJ2aWNlLmlzQXV0aG9yaXplZChzZXJ2aWNlLCBwZXJtaXNzaW9uLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBtZW51RWxlbS52aXNpYmxlID0gaXNBdXRob3JpemVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbWVudUVsZW0udmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBhc3luYyByZW5kZXJNZW51QnlBcHBDb2RlKGFwcENvZGU6IHN0cmluZywgY2xlYXJQcmV2TWVudSA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLl9hcHBsaWNhdGlvbkNvbnRleHQuZ2V0Um9vdENvbnRleHQoKTtcbiAgICAgICAgdGhpcy5fbWVudUl0ZW1zID0gW107XG4gICAgICAgIGxldCBkb21haW5NZW51cyA9ICcnO1xuICAgICAgICBjb25zdCBlbnZpcm9ubWVudCA9IHRoaXMuX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQ7XG4gICAgICAgIC8vIGlmICggZW52aXJvbm1lbnQuY2xpZW50RG9tYWluLmFwcERvbWFpbi5pbmRleE9mKCdsb2NhbGhvc3QnKSA9PSAtMSkge1xuICAgICAgICAvLyBUaMOqbSBsaW5rIG1lbnUgYsOqbiBuZ2/DoGlcbiAgICAgICAgaWYgKCBlbnZpcm9ubWVudC5jbGllbnREb21haW4ubWVudXNEb21haW4pIHtcbiAgICAgICAgICAgIGRvbWFpbk1lbnVzID0gYCR7ZW52aXJvbm1lbnQuY2xpZW50RG9tYWluLm1lbnVzRG9tYWlufS9gO1xuICAgICAgICB9XG4gICAgICAgIGxldCBtZW51VXJsID0gYCR7ZG9tYWluTWVudXN9YXNzZXRzL21lbnVzLyR7YXBwQ29kZS50b0xvY2FsZUxvd2VyQ2FzZSgpfS5qc29uYDtcbiAgICAgICAgaWYgKGVudmlyb25tZW50LnNjb3BlbmFtZSAmJiByb290LmRhdGEuY3VycmVudEFwcE1ldGFkYXRhLnJlbmRlck1lbnVCeVNjb3BlTmFtZSkge1xuICAgICAgICAgICAgbWVudVVybCA9IGAke2RvbWFpbk1lbnVzfWFzc2V0cy9tZW51cy8ke2Vudmlyb25tZW50LnNjb3BlbmFtZX0vJHthcHBDb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCl9Lmpzb25gO1xuICAgICAgICB9XG5cbiAgICAgICAgIGZldGNoKG1lbnVVcmwpLnRoZW4oYXN5bmMgcnMgPT4ge1xuICAgICAgICAgICAgIGNvbnN0IG1lbnUgPSBKU09OLnBhcnNlKGF3YWl0IHJzLnRleHQoKSk7XG4gICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0SWNvbihtZW51LCAwKTtcbiAgICAgICAgICAgICBhd2FpdCB0aGlzLnNldE1lbnVJdGVtcyhtZW51LCBjbGVhclByZXZNZW51KTtcbiAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldERlZmF1bHRJY29uKG1lbnVzOiBUbk1lbnVbXSwgbGV2ZWw6IG51bWJlcikge1xuICAgICAgICBpZiAoIW1lbnVzKSByZXR1cm47XG4gICAgICAgIG1lbnVzLmZvckVhY2goaXRlbU1lbnUgPT4ge1xuICAgICAgICAgICAgaWYgKCFpdGVtTWVudS5pY29uKSB7XG4gICAgICAgICAgICAgICAgaWYgKGxldmVsID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1NZW51Lmljb24gPSAncGkgcGktdGgtbGFyZ2UnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChsZXZlbCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtTWVudS5pY29uID0gJ3BpIHBpLXN0YXItbyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpdGVtTWVudS5pY29uID0gJ3BpIHBpLWNpcmNsZS1vbic7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0SWNvbihpdGVtTWVudS5pdGVtcywgbGV2ZWwgKyAxKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -27965,7 +27965,7 @@ class MenuService {
27965
27965
  }
27966
27966
  });
27967
27967
  }
27968
- renderMenuByAppCode(appCode) {
27968
+ renderMenuByAppCode(appCode, clearPrevMenu = false) {
27969
27969
  return __awaiter(this, void 0, void 0, function* () {
27970
27970
  const root = this._applicationContext.getRootContext();
27971
27971
  this._menuItems = [];
@@ -27983,7 +27983,7 @@ class MenuService {
27983
27983
  fetch(menuUrl).then((rs) => __awaiter(this, void 0, void 0, function* () {
27984
27984
  const menu = JSON.parse(yield rs.text());
27985
27985
  this.setDefaultIcon(menu, 0);
27986
- yield this.setMenuItems(menu);
27986
+ yield this.setMenuItems(menu, clearPrevMenu);
27987
27987
  }));
27988
27988
  });
27989
27989
  }