raise-common-lib 0.0.31 → 0.0.33

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.
@@ -6,28 +6,27 @@
6
6
  // 组件类
7
7
  import { ChangeDetectorRef, Component, HostListener, Input, } from "@angular/core";
8
8
  import { ActivatedRoute, NavigationEnd, Router, } from "@angular/router";
9
- import { CommonFunctionService } from "../../service/common-function.service";
10
- import { KeepAliveService } from "../../service/keep-alive.service";
11
9
  import { filter } from "rxjs/operators";
10
+ import { RouteReuseStrategy } from "@angular/router";
11
+ import { CommonFunctionService } from "../../service/common-function.service";
12
12
  import { DrawerService } from "../../service/drawer.service";
13
13
  export class MultiTabComponent {
14
14
  /**
15
15
  * @param {?} router
16
16
  * @param {?} cf
17
17
  * @param {?} activatedRoute
18
- * @param {?} keepAlive
19
18
  * @param {?} ref
20
19
  * @param {?} drawer
20
+ * @param {?} routeReuseStrategy
21
21
  */
22
- constructor(router, cf, activatedRoute, keepAlive, ref, drawer) {
22
+ constructor(router, cf, activatedRoute, ref, drawer, routeReuseStrategy) {
23
23
  this.router = router;
24
24
  this.cf = cf;
25
25
  this.activatedRoute = activatedRoute;
26
- this.keepAlive = keepAlive;
27
26
  this.ref = ref;
28
27
  this.drawer = drawer;
28
+ this.routeReuseStrategy = routeReuseStrategy;
29
29
  this.singleReuseUrls = []; //只能单个缓存的url
30
- //只能单个缓存的url
31
30
  this.TAB_WIDTH = 164;
32
31
  this.GAP_NORMAL = 54;
33
32
  this.GAP_SMALL = 30;
@@ -35,6 +34,7 @@ export class MultiTabComponent {
35
34
  this.selectedTab = 0;
36
35
  this.maxTabs = 10;
37
36
  this.screenWidth = window.innerWidth; // 初始化屏幕宽度
37
+ this.keepAlive = (/** @type {?} */ (this.routeReuseStrategy));
38
38
  }
39
39
  // 初始化屏幕宽度
40
40
  /**
@@ -60,7 +60,7 @@ export class MultiTabComponent {
60
60
  if (isExistIdx !== -1) {
61
61
  this.selectedTab = isExistIdx;
62
62
  }
63
- this.router.events
63
+ this.subscription = this.router.events
64
64
  .pipe(filter((/**
65
65
  * @param {?} event
66
66
  * @return {?}
@@ -101,6 +101,14 @@ export class MultiTabComponent {
101
101
  this.setEllipsisTitle();
102
102
  }), 50);
103
103
  }
104
+ /**
105
+ * @return {?}
106
+ */
107
+ ngOnDestroy() {
108
+ if (this.subscription) {
109
+ this.subscription.unsubscribe();
110
+ }
111
+ }
104
112
  /**
105
113
  * @param {?=} title
106
114
  * @return {?}
@@ -147,17 +155,17 @@ export class MultiTabComponent {
147
155
  let leftWidth;
148
156
  /** @type {?} */
149
157
  let rightWidth;
150
- if (wrap && ulElement && refreshTabDiv) {
158
+ if (wrap && ulElement) {
151
159
  // 获取元素的位置信息
152
160
  /** @type {?} */
153
161
  const wrapRect = wrap.getBoundingClientRect();
154
162
  /** @type {?} */
155
163
  const ulRect = ulElement.getBoundingClientRect();
156
164
  /** @type {?} */
157
- const refreshTabRect = refreshTabDiv.getBoundingClientRect();
165
+ const refreshTabRect = refreshTabDiv && refreshTabDiv.getBoundingClientRect();
158
166
  allWidth = wrapRect.width;
159
167
  leftWidth = ulRect.width;
160
- rightWidth = refreshTabRect.width;
168
+ rightWidth = (refreshTabRect && refreshTabRect.width) || 100;
161
169
  }
162
170
  return {
163
171
  allWidth,
@@ -285,7 +293,7 @@ export class MultiTabComponent {
285
293
  }
286
294
  MultiTabComponent.decorators = [
287
295
  { type: Component, args: [{
288
- selector: "rs-multi-tab",
296
+ selector: "kt-multi-tab",
289
297
  template: "<div class=\"rs-multi-tab\" *ngIf=\"tabList.length > 0\">\r\n <ul>\r\n <ng-container *ngFor=\"let tab of tabList; let i = index\">\r\n <li\r\n [ngClass]=\"selectedTab === i ? 'isSelect' : 'notSelect'\"\r\n (click)=\"changeTab(tab, i)\"\r\n >\r\n <ejs-tooltip\r\n id=\"notSelectTooltip\"\r\n [showTipPointer]=\"false\"\r\n [openDelay]=\"500\"\r\n *ngIf=\"tab.displayTitle !== tab.title; else originText\"\r\n style=\"height: 27px\"\r\n >\r\n <ng-template #content>\r\n <div class=\"tooltip-content\">\r\n {{ tab.title }}\r\n </div>\r\n </ng-template>\r\n <span class=\"tabTitle\">{{ tab.displayTitle }}</span>\r\n </ejs-tooltip>\r\n <ng-template #originText>\r\n <span class=\"tabTitle\">\r\n {{ tab.displayTitle }}\r\n </span>\r\n </ng-template>\r\n <span class=\"img-block\" *ngIf=\"selectedTab !== i\"></span>\r\n <img\r\n *ngIf=\"tabList.length !== 1\"\r\n src=\"../../../assets/img/close-url.svg\"\r\n (click)=\"closeTab(tab, i)\"\r\n />\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"refresh-tab\" (click)=\"refreshTab()\">\r\n <img\r\n id=\"loadingIcon\"\r\n alt\r\n class=\"refresh-btn\"\r\n src=\"../../../assets/img/desktop-refresh-btn.svg\"\r\n />\r\n <span>Refresh Current Tab</span>\r\n </div>\r\n</div>\r\n",
290
298
  styles: [".rs-multi-tab{border-bottom:1px solid #e5eaef;height:28px;width:100%;display:flex;justify-content:space-between}.rs-multi-tab ul{display:flex;margin:0 8px;padding:0;overflow:hidden;height:100%}.rs-multi-tab ul li{max-width:164px;padding:0 12px;display:flex;align-items:center;flex:auto;border:1px solid #e5eaef;border-bottom:none;color:#5f6f81;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:28px;height:100%;background:#f8fafb;vertical-align:top;position:relative;cursor:default}.rs-multi-tab ul li .tabTitle{display:inline-block;white-space:nowrap;font-size:11px;font-family:Arial;font-style:normal;font-weight:400;line-height:16px;transition:width .3s}.rs-multi-tab ul li img{border-radius:4px;padding:4px;margin-left:6px;margin-top:1px;vertical-align:top;cursor:pointer}.rs-multi-tab ul li img:hover{background:#dce8f6}.rs-multi-tab ul li:not(:last-child){border-right:none}.rs-multi-tab ul li:first-of-type{border-top-left-radius:8px}.rs-multi-tab ul li:last-child{border-top-right-radius:8px}.rs-multi-tab ul .isSelect{color:#1f3f5c;background:#fff}.rs-multi-tab ul .notSelect img{display:none}.rs-multi-tab ul .notSelect .img-block{display:inline-block;width:22px}.rs-multi-tab ul .notSelect:hover{color:#1f3f5c;background-color:rgba(31,123,255,.04)}.rs-multi-tab ul .notSelect:hover .img-block{display:none}.rs-multi-tab ul .notSelect:hover img{display:inline-block}.rs-multi-tab .refresh-tab{cursor:pointer;text-align:right;color:#6c7c90;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:28px;padding-right:12px}.rs-multi-tab .refresh-tab img{vertical-align:middle;margin-right:4px}.refresh-tab-loading{-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}@-webkit-keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.tooltip-content{padding:4px;color:#f8fafb;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:14px}@media (max-width:1400px){.refresh-tab{padding-right:0!important}.refresh-tab span{display:none!important}}@media (max-width:1100px){.rs-multi-tab ul li img{position:absolute;right:3px;background-color:#fff}.notSelect:hover img{position:absolute;right:3px;background-color:#eff5fb}.img-block{display:none!important}}@media (max-width:600px){.rs-multi-tab ul li{padding:0 8px}.rs-multi-tab ul .notSelect .img-block{width:0!important}}"]
291
299
  }] }
@@ -295,17 +303,24 @@ MultiTabComponent.ctorParameters = () => [
295
303
  { type: Router },
296
304
  { type: CommonFunctionService },
297
305
  { type: ActivatedRoute },
298
- { type: KeepAliveService },
299
306
  { type: ChangeDetectorRef },
300
- { type: DrawerService }
307
+ { type: DrawerService },
308
+ { type: RouteReuseStrategy }
301
309
  ];
302
310
  MultiTabComponent.propDecorators = {
303
311
  singleReuseUrls: [{ type: Input }],
304
312
  onResize: [{ type: HostListener, args: ["window:resize", ["$event"],] }]
305
313
  };
306
314
  if (false) {
315
+ /** @type {?} */
316
+ MultiTabComponent.prototype.keepAlive;
307
317
  /** @type {?} */
308
318
  MultiTabComponent.prototype.singleReuseUrls;
319
+ /**
320
+ * @type {?}
321
+ * @private
322
+ */
323
+ MultiTabComponent.prototype.subscription;
309
324
  /** @type {?} */
310
325
  MultiTabComponent.prototype.TAB_WIDTH;
311
326
  /** @type {?} */
@@ -332,8 +347,6 @@ if (false) {
332
347
  MultiTabComponent.prototype.cf;
333
348
  /** @type {?} */
334
349
  MultiTabComponent.prototype.activatedRoute;
335
- /** @type {?} */
336
- MultiTabComponent.prototype.keepAlive;
337
350
  /**
338
351
  * @type {?}
339
352
  * @private
@@ -344,5 +357,10 @@ if (false) {
344
357
  * @private
345
358
  */
346
359
  MultiTabComponent.prototype.drawer;
360
+ /**
361
+ * @type {?}
362
+ * @private
363
+ */
364
+ MultiTabComponent.prototype.routeReuseStrategy;
347
365
  }
348
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvbXVsdGktdGFiL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLE1BQU0sR0FFUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPN0QsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7Ozs7O0lBQzVCLFlBQ1MsTUFBYyxFQUNkLEVBQXlCLEVBQ3pCLGNBQThCLEVBQzlCLFNBQTJCLEVBQzFCLEdBQXNCLEVBQ3RCLE1BQXFCO1FBTHRCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUF1QjtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDMUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUV0QixvQkFBZSxHQUFhLEVBQUUsQ0FBQyxDQUFDLFlBQVk7O1FBRXJELGNBQVMsR0FBRyxHQUFHLENBQUM7UUFDaEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBSWYsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBVyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVTtJQVpoRCxDQUFDOzs7Ozs7SUFjSixRQUFRLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7OztjQUVULFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7Ozs7UUFDdkMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQ3JDO1FBQ0QsSUFBSSxVQUFVLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7U0FDL0I7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQUMsTUFBTTs7OztRQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxFQUFDLENBQUM7YUFDdkQsU0FBUzs7O1FBQUMsR0FBRyxFQUFFOztrQkFDUixVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtZQUNyRCxJQUFJLFVBQVUsRUFBRTs7c0JBQ1IsS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSzs7O3NCQUMvQixrQkFBa0IsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLGtCQUFrQjs7O3NCQUN6RCxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVU7Z0JBQzVELElBQUksWUFBWSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7b0JBQ3ZDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUN2QyxPQUFPLENBQUMsd0JBQXdCO3FCQUNqQztvQkFDRCxJQUFJLENBQUMsTUFBTSxDQUNULElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUNmLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFDdEMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQ3JCLENBQUM7aUJBQ0g7YUFDRjtRQUNILENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUNELGVBQWU7UUFDYixVQUFVOzs7UUFBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQixDQUFDLEdBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLEtBQU07UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQy9CO1lBQ0csRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUU7O1lBQ3pELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNwQixDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FDaEU7UUFFRCxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FDOUIsS0FBSyxFQUNMLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUztnQkFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU87Z0JBQy9CLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFDeEIsRUFBRSxDQUNILENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPOzs7OztZQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNoQyxHQUFHLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQzFDLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTO29CQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTztvQkFDL0IsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxFQUN4QixFQUFFLENBQ0gsQ0FBQztZQUNKLENBQUMsRUFBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7O0lBRUQsWUFBWTs7Y0FDSixJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7O2NBQzlDLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDOztjQUN4RCxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQzs7WUFDdEUsUUFBUTs7WUFDUixTQUFTOztZQUNULFVBQVU7UUFDZCxJQUFJLElBQUksSUFBSSxTQUFTLElBQUksYUFBYSxFQUFFOzs7a0JBRWhDLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUU7O2tCQUN2QyxNQUFNLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixFQUFFOztrQkFDMUMsY0FBYyxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRTtZQUM1RCxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUMxQixTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUN6QixVQUFVLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQztTQUNuQztRQUNELE9BQU87WUFDTCxRQUFRO1lBQ1IsU0FBUztZQUNULFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQzs7OztJQUNELE9BQU87O1lBQ0QsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7Ozs7O0lBRUQsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07Ozs7UUFBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEdBQUcsRUFBRTs7a0JBQ3RCLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNwRDtRQUNELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7Ozs7SUFFRCxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUc7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Ozs7O0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQ2YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7U0FDNUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQixHQUFHLEVBQUUsR0FBRztZQUNSLEtBQUssRUFBRSxLQUFLLElBQUksU0FBUztZQUN6QixZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssSUFBSSxTQUFTLENBQUM7U0FDeEQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7Ozs7SUFFTSxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQVEsRUFBRSxLQUFNOztjQUMzQixVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTOzs7O1FBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFDO1FBQ25FLElBQUksVUFBVSxLQUFLLENBQUMsQ0FBQyxFQUFFOztrQkFDZixTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTOzs7O1lBQzlDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUN6QjtZQUNELElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTs7OztnQkFDaEMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUM1RCxDQUFDO2dCQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM5QjtZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztZQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7OztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs7Y0FDdEQsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRztRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7OztRQUFDLEdBQUcsRUFBRTtZQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWM7UUFDdkQsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxHQUFHO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7O1lBaE1GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsdy9DQUFxQzs7YUFFdEM7Ozs7WUFaQyxNQUFNO1lBR0MscUJBQXFCO1lBTDVCLGNBQWM7WUFNUCxnQkFBZ0I7WUFidkIsaUJBQWlCO1lBZVYsYUFBYTs7OzhCQWdCbkIsS0FBSzt1QkFZTCxZQUFZLFNBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOzs7O0lBWnpDLDRDQUF3Qzs7SUFFeEMsc0NBQWdCOztJQUNoQix1Q0FBZ0I7O0lBQ2hCLHNDQUFlOztJQUNmLG9DQUFROztJQUNSLGdDQUFrQjs7SUFDbEIsbUNBQVk7O0lBQ1osb0NBQWE7O0lBQ2Isd0NBQXdCOztJQUN4QixvQ0FBcUI7O0lBQ3JCLHdDQUF3Qzs7SUFsQnRDLG1DQUFxQjs7SUFDckIsK0JBQWdDOztJQUNoQywyQ0FBcUM7O0lBQ3JDLHNDQUFrQzs7Ozs7SUFDbEMsZ0NBQThCOzs7OztJQUM5QixtQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDnu4Tku7bnsbtcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIEFjdGl2YXRlZFJvdXRlLFxyXG4gIE5hdmlnYXRpb25FbmQsXHJcbiAgUm91dGVyLFxyXG4gIFJvdXRlck91dGxldCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IENvbW1vbkZ1bmN0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2NvbW1vbi1mdW5jdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEtlZXBBbGl2ZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9rZWVwLWFsaXZlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IERyYXdlclNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kcmF3ZXIuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtbXVsdGktdGFiXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcclxuICAgIHB1YmxpYyBjZjogQ29tbW9uRnVuY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHB1YmxpYyBrZWVwQWxpdmU6IEtlZXBBbGl2ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGRyYXdlcjogRHJhd2VyU2VydmljZVxyXG4gICkge31cclxuICBASW5wdXQoKSBzaW5nbGVSZXVzZVVybHM6IHN0cmluZ1tdID0gW107IC8v5Y+q6IO95Y2V5Liq57yT5a2Y55qEdXJsXHJcblxyXG4gIFRBQl9XSURUSCA9IDE2NDtcclxuICBHQVBfTk9STUFMID0gNTQ7XHJcbiAgR0FQX1NNQUxMID0gMzA7XHJcbiAgdGV4dEdhcDsgLy8g5paH5pys5LiO6L655qGG55qE5oC76Ze06LedXHJcbiAgZm9vOiBSb3V0ZXJPdXRsZXQ7XHJcbiAgY29tUmVmOiBhbnk7XHJcbiAgdGFiTGlzdCA9IFtdO1xyXG4gIHNlbGVjdGVkVGFiOiBudW1iZXIgPSAwO1xyXG4gIG1heFRhYnM6IG51bWJlciA9IDEwO1xyXG4gIHNjcmVlbldpZHRoOiBudW1iZXIgPSB3aW5kb3cuaW5uZXJXaWR0aDsgLy8g5Yid5aeL5YyW5bGP5bmV5a695bqmXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIG9uUmVzaXplKGV2ZW50KSB7XHJcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7IC8vIOabtOaWsOWxj+W5leWuveW6plxyXG4gICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdFRhYigpO1xyXG4gICAgLy8g6Kej5Yaz5Yi35paw6aG16Z2i5ZCO77yM6YCJ5Lit55qEIHRhYiDkuKLlpLHpl67pophcclxuICAgIGNvbnN0IGlzRXhpc3RJZHggPSB0aGlzLnRhYkxpc3QuZmluZEluZGV4KFxyXG4gICAgICAoZWxlKSA9PiBlbGUudXJsID09PSB0aGlzLnJvdXRlci51cmxcclxuICAgICk7XHJcbiAgICBpZiAoaXNFeGlzdElkeCAhPT0gLTEpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IGlzRXhpc3RJZHg7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb24gPSB0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpOyAvLyDojrflj5blvZPliY3lr7zoiKpcclxuICAgICAgICBpZiAobmF2aWdhdGlvbikge1xyXG4gICAgICAgICAgY29uc3Qgc3RhdGUgPSBuYXZpZ2F0aW9uLmV4dHJhcy5zdGF0ZTsgLy8g6I635Y+W5Lyg6YCS55qEIHN0YXRlXHJcbiAgICAgICAgICBjb25zdCBza2lwTG9jYXRpb25DaGFuZ2UgPSBuYXZpZ2F0aW9uLmV4dHJhcy5za2lwTG9jYXRpb25DaGFuZ2U7IC8vIOiOt+WPluaYr+WQpui3s+i/hyBsb2NhdGlvbiBjaGFuZ2VcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3QuZmlyc3RDaGlsZDtcclxuICAgICAgICAgIGlmIChjdXJyZW50Um91dGUgJiYgIXNraXBMb2NhdGlvbkNoYW5nZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy50YWJMaXN0Lmxlbmd0aCA9PT0gMCAmJiAhc3RhdGUpIHtcclxuICAgICAgICAgICAgICByZXR1cm47IC8vIOWIneWni+WMluesrOS4gOS4qnVybOS4jeWKoOWFpW11bHRpLXRhYlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFiKFxyXG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLnVybCxcclxuICAgICAgICAgICAgICBjdXJyZW50Um91dGUuc25hcHNob3Qucm91dGVDb25maWcucGF0aCxcclxuICAgICAgICAgICAgICBzdGF0ZSAmJiBzdGF0ZS50aXRsZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldEVsbGlwc2lzVGl0bGUoKTtcclxuICAgIH0sIDUwKTtcclxuICB9XHJcblxyXG4gIHNldEVsbGlwc2lzVGl0bGUodGl0bGU/KSB7XHJcbiAgICB0aGlzLnRleHRHYXAgPSB0aGlzLkdBUF9OT1JNQUw7XHJcbiAgICBpZiAodGhpcy5zY3JlZW5XaWR0aCA8PSAxMTAwKSB7XHJcbiAgICAgIHRoaXMudGV4dEdhcCA9IHRoaXMuR0FQX1NNQUxMO1xyXG4gICAgfVxyXG4gICAgbGV0IHsgYWxsV2lkdGgsIGxlZnRXaWR0aCwgcmlnaHRXaWR0aCB9ID0gdGhpcy5jYWxjVGFiV2lkdGgoKTtcclxuICAgIGxldCB3aWR0aCA9IE1hdGguZmxvb3IoXHJcbiAgICAgIChhbGxXaWR0aCAtIHJpZ2h0V2lkdGgpIC8gKHRoaXMudGFiTGlzdCAmJiB0aGlzLnRhYkxpc3QubGVuZ3RoKVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAodGl0bGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY2Yuc2V0TWlkZGxlRWxsaXBzaXMoXHJcbiAgICAgICAgdGl0bGUsXHJcbiAgICAgICAgd2lkdGggPiB0aGlzLlRBQl9XSURUSFxyXG4gICAgICAgICAgPyB0aGlzLlRBQl9XSURUSCAtIHRoaXMudGV4dEdhcFxyXG4gICAgICAgICAgOiB3aWR0aCAtIHRoaXMudGV4dEdhcCxcclxuICAgICAgICAxMlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJMaXN0LmZvckVhY2goKGVsZSwgaWR4KSA9PiB7XHJcbiAgICAgICAgZWxlLmRpc3BsYXlUaXRsZSA9IHRoaXMuY2Yuc2V0TWlkZGxlRWxsaXBzaXMoXHJcbiAgICAgICAgICBlbGUudGl0bGUsXHJcbiAgICAgICAgICB3aWR0aCA+IHRoaXMuVEFCX1dJRFRIXHJcbiAgICAgICAgICAgID8gdGhpcy5UQUJfV0lEVEggLSB0aGlzLnRleHRHYXBcclxuICAgICAgICAgICAgOiB3aWR0aCAtIHRoaXMudGV4dEdhcCxcclxuICAgICAgICAgIDEyXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYWxjVGFiV2lkdGgoKSB7XHJcbiAgICBjb25zdCB3cmFwID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5ycy1tdWx0aS10YWJcIik7XHJcbiAgICBjb25zdCB1bEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnJzLW11bHRpLXRhYiA+IHVsXCIpO1xyXG4gICAgY29uc3QgcmVmcmVzaFRhYkRpdiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucnMtbXVsdGktdGFiIC5yZWZyZXNoLXRhYlwiKTtcclxuICAgIGxldCBhbGxXaWR0aDtcclxuICAgIGxldCBsZWZ0V2lkdGg7XHJcbiAgICBsZXQgcmlnaHRXaWR0aDtcclxuICAgIGlmICh3cmFwICYmIHVsRWxlbWVudCAmJiByZWZyZXNoVGFiRGl2KSB7XHJcbiAgICAgIC8vIOiOt+WPluWFg+e0oOeahOS9jee9ruS/oeaBr1xyXG4gICAgICBjb25zdCB3cmFwUmVjdCA9IHdyYXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGNvbnN0IHVsUmVjdCA9IHVsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgY29uc3QgcmVmcmVzaFRhYlJlY3QgPSByZWZyZXNoVGFiRGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBhbGxXaWR0aCA9IHdyYXBSZWN0LndpZHRoO1xyXG4gICAgICBsZWZ0V2lkdGggPSB1bFJlY3Qud2lkdGg7XHJcbiAgICAgIHJpZ2h0V2lkdGggPSByZWZyZXNoVGFiUmVjdC53aWR0aDtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGFsbFdpZHRoLFxyXG4gICAgICBsZWZ0V2lkdGgsXHJcbiAgICAgIHJpZ2h0V2lkdGgsXHJcbiAgICB9O1xyXG4gIH1cclxuICBpbml0VGFiKCkge1xyXG4gICAgbGV0IFRhYkNhY2hlID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwiVGFiQ2FjaGVcIikpO1xyXG4gICAgdGhpcy50YWJMaXN0ID0gVGFiQ2FjaGUgfHwgW107XHJcbiAgfVxyXG5cclxuICBjbG9zZVRhYih0YWIsIGlkeCkge1xyXG4gICAgdGhpcy50YWJMaXN0ID0gdGhpcy50YWJMaXN0LmZpbHRlcigoZWxlKSA9PiBlbGUudXJsICE9PSB0YWIudXJsKTtcclxuICAgIHRoaXMuY2xlYXJDYWNoZSh0YWIudXJsKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkVGFiID09PSBpZHgpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0SWR4ID0gTWF0aC5tYXgoMCwgaWR4IC0gMSk7XHJcbiAgICAgIHRoaXMuY2hhbmdlVGFiKHRoaXMudGFiTGlzdFt0YXJnZXRJZHhdLCB0YXJnZXRJZHgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRFbGxpcHNpc1RpdGxlKCk7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwiVGFiQ2FjaGVcIiwgSlNPTi5zdHJpbmdpZnkodGhpcy50YWJMaXN0KSk7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVRhYih0YWIsIGlkeCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0YWIudXJsKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBpZHg7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGFkZFRhYih1cmwsIHRpdGxlKSB7XHJcbiAgICBpZiAodGhpcy50YWJMaXN0Lmxlbmd0aCA+PSB0aGlzLm1heFRhYnMpIHtcclxuICAgICAgdGhpcy5jbG9zZVRhYih0aGlzLnRhYkxpc3RbMF0sIDApOyAvLyDliKDpmaTnrKzkuIDkuKpcclxuICAgIH1cclxuICAgIHRoaXMudGFiTGlzdC5wdXNoKHtcclxuICAgICAgdXJsOiB1cmwsXHJcbiAgICAgIHRpdGxlOiB0aXRsZSB8fCBcImRlZmF1bHRcIixcclxuICAgICAgZGlzcGxheVRpdGxlOiB0aGlzLnNldEVsbGlwc2lzVGl0bGUodGl0bGUgfHwgXCJkZWZhdWx0XCIpLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gdGhpcy50YWJMaXN0Lmxlbmd0aCAtIDE7XHJcbiAgICB0aGlzLnNldEVsbGlwc2lzVGl0bGUoKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXCJUYWJDYWNoZVwiLCBKU09OLnN0cmluZ2lmeSh0aGlzLnRhYkxpc3QpKTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRhYih1cmwsIHB1cmVVcmw/LCB0aXRsZT8pIHtcclxuICAgIGNvbnN0IGlzRXhpc3RJZHggPSB0aGlzLnRhYkxpc3QuZmluZEluZGV4KChlbGUpID0+IGVsZS51cmwgPT09IHVybCk7XHJcbiAgICBpZiAoaXNFeGlzdElkeCA9PT0gLTEpIHtcclxuICAgICAgY29uc3Qgc2luZ2xlSWR4ID0gdGhpcy5zaW5nbGVSZXVzZVVybHMuZmluZEluZGV4KFxyXG4gICAgICAgIChlbGUpID0+IGVsZSA9PT0gcHVyZVVybFxyXG4gICAgICApO1xyXG4gICAgICBpZiAoc2luZ2xlSWR4ICE9PSAtMSkge1xyXG4gICAgICAgIHRoaXMudGFiTGlzdCA9IHRoaXMudGFiTGlzdC5maWx0ZXIoXHJcbiAgICAgICAgICAoZWxlKSA9PiAhZWxlLnVybC5pbmNsdWRlcyh0aGlzLnNpbmdsZVJldXNlVXJsc1tzaW5nbGVJZHhdKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5rZWVwQWxpdmUuY2xlYXJDYWNoZSh1cmwpO1xyXG4gICAgICAgIHRoaXMuZHJhd2VyLmRlbGV0ZUNhY2hlKHVybCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hZGRUYWIodXJsLCB0aXRsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFiID0gaXNFeGlzdElkeDtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWZyZXNoVGFiKCkge1xyXG4gICAgdGhpcy5rZWVwQWxpdmUuY2xlYXJDYWNoZSh0aGlzLnRhYkxpc3RbdGhpcy5zZWxlY3RlZFRhYl0udXJsKTtcclxuICAgIHRoaXMuZHJhd2VyLmRlbGV0ZUNhY2hlKHRoaXMudGFiTGlzdFt0aGlzLnNlbGVjdGVkVGFiXS51cmwpO1xyXG4gICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMucm91dGVyLnVybDsgLy8g6I635Y+W5b2T5YmNIFVSTFxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChcIi9cIiwgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoY3VycmVudFVybCk7IC8vIOmHjeaWsOWvvOiIquWIsOW9k+WJjSBVUkxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJDYWNoZSh1cmwpIHtcclxuICAgIHRoaXMua2VlcEFsaXZlLmNsZWFyQ2FjaGUodXJsKTsgLy8g6LCD55So6Ieq5a6a5LmJ562W55Wl55qE5riF6Zmk57yT5a2Y5pa55rOVXHJcbiAgICB0aGlzLmRyYXdlci5kZWxldGVDYWNoZSh1cmwpO1xyXG4gIH1cclxufVxyXG4iXX0=
366
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvbXVsdGktdGFiL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLE1BQU0sR0FFUCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFRN0QsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7Ozs7O0lBQzVCLFlBQ1MsTUFBYyxFQUNkLEVBQXlCLEVBQ3pCLGNBQThCLEVBQzdCLEdBQXNCLEVBQ3RCLE1BQXFCLEVBQ3JCLGtCQUFzQztRQUx2QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsT0FBRSxHQUFGLEVBQUUsQ0FBdUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUt2QyxvQkFBZSxHQUFhLEVBQUUsQ0FBQyxDQUFDLFlBQVk7UUFFckQsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNoQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFJZixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixnQkFBVyxHQUFXLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVO1FBZGpELElBQUksQ0FBQyxTQUFTLEdBQUcsbUJBQUEsSUFBSSxDQUFDLGtCQUFrQixFQUFvQixDQUFDO0lBQy9ELENBQUM7Ozs7OztJQWVELFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzs7O2NBRVQsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUzs7OztRQUN2QyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFDckM7UUFDRCxJQUFJLFVBQVUsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ25DLElBQUksQ0FBQyxNQUFNOzs7O1FBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLEVBQUMsQ0FBQzthQUN2RCxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7O2tCQUNSLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFO1lBQ3JELElBQUksVUFBVSxFQUFFOztzQkFDUixLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLOzs7c0JBQy9CLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCOzs7c0JBQ3pELFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVTtnQkFDNUQsSUFBSSxZQUFZLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDdkMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7d0JBQ3ZDLE9BQU8sQ0FBQyx3QkFBd0I7cUJBQ2pDO29CQUNELElBQUksQ0FBQyxNQUFNLENBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQ2YsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUN0QyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FDckIsQ0FBQztpQkFDSDthQUNGO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7O0lBQ0QsZUFBZTtRQUNiLFVBQVU7OztRQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7Ozs7SUFDRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDakM7SUFDSCxDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLEtBQU07UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQy9CO1lBQ0csRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUU7O1lBQ3pELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNwQixDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FDaEU7UUFFRCxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FDOUIsS0FBSyxFQUNMLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUztnQkFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU87Z0JBQy9CLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFDeEIsRUFBRSxDQUNILENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPOzs7OztZQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNoQyxHQUFHLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQzFDLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTO29CQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTztvQkFDL0IsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxFQUN4QixFQUFFLENBQ0gsQ0FBQztZQUNKLENBQUMsRUFBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7O0lBRUQsWUFBWTs7Y0FDSixJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUM7O2NBQzlDLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDOztjQUN4RCxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQzs7WUFDdEUsUUFBUTs7WUFDUixTQUFTOztZQUNULFVBQVU7UUFDZCxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7OztrQkFFZixRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFOztrQkFDdkMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRTs7a0JBQzFDLGNBQWMsR0FDbEIsYUFBYSxJQUFJLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRTtZQUN4RCxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUMxQixTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUN6QixVQUFVLEdBQUcsQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQztTQUM5RDtRQUNELE9BQU87WUFDTCxRQUFRO1lBQ1IsU0FBUztZQUNULFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQzs7OztJQUNELE9BQU87O1lBQ0QsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7Ozs7O0lBRUQsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07Ozs7UUFBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEdBQUcsRUFBRTs7a0JBQ3RCLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNwRDtRQUNELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7Ozs7SUFFRCxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUc7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Ozs7O0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQ2YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7U0FDNUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQixHQUFHLEVBQUUsR0FBRztZQUNSLEtBQUssRUFBRSxLQUFLLElBQUksU0FBUztZQUN6QixZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssSUFBSSxTQUFTLENBQUM7U0FDeEQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7Ozs7SUFFTSxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQVEsRUFBRSxLQUFNOztjQUMzQixVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTOzs7O1FBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFDO1FBQ25FLElBQUksVUFBVSxLQUFLLENBQUMsQ0FBQyxFQUFFOztrQkFDZixTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTOzs7O1lBQzlDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUN6QjtZQUNELElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTs7OztnQkFDaEMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUM1RCxDQUFDO2dCQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM5QjtZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztZQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7OztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs7Y0FDdEQsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRztRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7OztRQUFDLEdBQUcsRUFBRTtZQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWM7UUFDdkQsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxHQUFHO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7O1lBek1GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsdy9DQUFxQzs7YUFFdEM7Ozs7WUFkQyxNQUFNO1lBTUMscUJBQXFCO1lBUjVCLGNBQWM7WUFSZCxpQkFBaUI7WUFpQlYsYUFBYTtZQUZiLGtCQUFrQjs7OzhCQXNCeEIsS0FBSzt1QkFZTCxZQUFZLFNBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOzs7O0lBYnpDLHNDQUE0Qjs7SUFDNUIsNENBQXdDOzs7OztJQUN4Qyx5Q0FBbUM7O0lBQ25DLHNDQUFnQjs7SUFDaEIsdUNBQWdCOztJQUNoQixzQ0FBZTs7SUFDZixvQ0FBUTs7SUFDUixnQ0FBa0I7O0lBQ2xCLG1DQUFZOztJQUNaLG9DQUFhOztJQUNiLHdDQUF3Qjs7SUFDeEIsb0NBQXFCOztJQUNyQix3Q0FBd0M7O0lBckJ0QyxtQ0FBcUI7O0lBQ3JCLCtCQUFnQzs7SUFDaEMsMkNBQXFDOzs7OztJQUNyQyxnQ0FBOEI7Ozs7O0lBQzlCLG1DQUE2Qjs7Ozs7SUFDN0IsK0NBQThDIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBBY3RpdmF0ZWRSb3V0ZSxcclxuICBOYXZpZ2F0aW9uRW5kLFxyXG4gIFJvdXRlcixcclxuICBSb3V0ZXJPdXRsZXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUm91dGVSZXVzZVN0cmF0ZWd5IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBDb21tb25GdW5jdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9jb21tb24tZnVuY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEcmF3ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZHJhd2VyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgS2VlcEFsaXZlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2tlZXAtYWxpdmUuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwia3QtbXVsdGktdGFiXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGNmOiBDb21tb25GdW5jdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBkcmF3ZXI6IERyYXdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlUmV1c2VTdHJhdGVneTogUm91dGVSZXVzZVN0cmF0ZWd5XHJcbiAgKSB7XHJcbiAgICB0aGlzLmtlZXBBbGl2ZSA9IHRoaXMucm91dGVSZXVzZVN0cmF0ZWd5IGFzIEtlZXBBbGl2ZVNlcnZpY2U7XHJcbiAgfVxyXG4gIGtlZXBBbGl2ZTogS2VlcEFsaXZlU2VydmljZTtcclxuICBASW5wdXQoKSBzaW5nbGVSZXVzZVVybHM6IHN0cmluZ1tdID0gW107IC8v5Y+q6IO95Y2V5Liq57yT5a2Y55qEdXJsXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBUQUJfV0lEVEggPSAxNjQ7XHJcbiAgR0FQX05PUk1BTCA9IDU0O1xyXG4gIEdBUF9TTUFMTCA9IDMwO1xyXG4gIHRleHRHYXA7IC8vIOaWh+acrOS4jui+ueahhueahOaAu+mXtOi3nVxyXG4gIGZvbzogUm91dGVyT3V0bGV0O1xyXG4gIGNvbVJlZjogYW55O1xyXG4gIHRhYkxpc3QgPSBbXTtcclxuICBzZWxlY3RlZFRhYjogbnVtYmVyID0gMDtcclxuICBtYXhUYWJzOiBudW1iZXIgPSAxMDtcclxuICBzY3JlZW5XaWR0aDogbnVtYmVyID0gd2luZG93LmlubmVyV2lkdGg7IC8vIOWIneWni+WMluWxj+W5leWuveW6plxyXG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIsIFtcIiRldmVudFwiXSlcclxuICBvblJlc2l6ZShldmVudCkge1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoOyAvLyDmm7TmlrDlsY/luZXlrr3luqZcclxuICAgIHRoaXMuc2V0RWxsaXBzaXNUaXRsZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXRUYWIoKTtcclxuICAgIC8vIOino+WGs+WIt+aWsOmhtemdouWQju+8jOmAieS4reeahCB0YWIg5Lii5aSx6Zeu6aKYXHJcbiAgICBjb25zdCBpc0V4aXN0SWR4ID0gdGhpcy50YWJMaXN0LmZpbmRJbmRleChcclxuICAgICAgKGVsZSkgPT4gZWxlLnVybCA9PT0gdGhpcy5yb3V0ZXIudXJsXHJcbiAgICApO1xyXG4gICAgaWYgKGlzRXhpc3RJZHggIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBpc0V4aXN0SWR4O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb24gPSB0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpOyAvLyDojrflj5blvZPliY3lr7zoiKpcclxuICAgICAgICBpZiAobmF2aWdhdGlvbikge1xyXG4gICAgICAgICAgY29uc3Qgc3RhdGUgPSBuYXZpZ2F0aW9uLmV4dHJhcy5zdGF0ZTsgLy8g6I635Y+W5Lyg6YCS55qEIHN0YXRlXHJcbiAgICAgICAgICBjb25zdCBza2lwTG9jYXRpb25DaGFuZ2UgPSBuYXZpZ2F0aW9uLmV4dHJhcy5za2lwTG9jYXRpb25DaGFuZ2U7IC8vIOiOt+WPluaYr+WQpui3s+i/hyBsb2NhdGlvbiBjaGFuZ2VcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3QuZmlyc3RDaGlsZDtcclxuICAgICAgICAgIGlmIChjdXJyZW50Um91dGUgJiYgIXNraXBMb2NhdGlvbkNoYW5nZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy50YWJMaXN0Lmxlbmd0aCA9PT0gMCAmJiAhc3RhdGUpIHtcclxuICAgICAgICAgICAgICByZXR1cm47IC8vIOWIneWni+WMluesrOS4gOS4qnVybOS4jeWKoOWFpW11bHRpLXRhYlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFiKFxyXG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLnVybCxcclxuICAgICAgICAgICAgICBjdXJyZW50Um91dGUuc25hcHNob3Qucm91dGVDb25maWcucGF0aCxcclxuICAgICAgICAgICAgICBzdGF0ZSAmJiBzdGF0ZS50aXRsZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldEVsbGlwc2lzVGl0bGUoKTtcclxuICAgIH0sIDUwKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEVsbGlwc2lzVGl0bGUodGl0bGU/KSB7XHJcbiAgICB0aGlzLnRleHRHYXAgPSB0aGlzLkdBUF9OT1JNQUw7XHJcbiAgICBpZiAodGhpcy5zY3JlZW5XaWR0aCA8PSAxMTAwKSB7XHJcbiAgICAgIHRoaXMudGV4dEdhcCA9IHRoaXMuR0FQX1NNQUxMO1xyXG4gICAgfVxyXG4gICAgbGV0IHsgYWxsV2lkdGgsIGxlZnRXaWR0aCwgcmlnaHRXaWR0aCB9ID0gdGhpcy5jYWxjVGFiV2lkdGgoKTtcclxuICAgIGxldCB3aWR0aCA9IE1hdGguZmxvb3IoXHJcbiAgICAgIChhbGxXaWR0aCAtIHJpZ2h0V2lkdGgpIC8gKHRoaXMudGFiTGlzdCAmJiB0aGlzLnRhYkxpc3QubGVuZ3RoKVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAodGl0bGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY2Yuc2V0TWlkZGxlRWxsaXBzaXMoXHJcbiAgICAgICAgdGl0bGUsXHJcbiAgICAgICAgd2lkdGggPiB0aGlzLlRBQl9XSURUSFxyXG4gICAgICAgICAgPyB0aGlzLlRBQl9XSURUSCAtIHRoaXMudGV4dEdhcFxyXG4gICAgICAgICAgOiB3aWR0aCAtIHRoaXMudGV4dEdhcCxcclxuICAgICAgICAxMlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJMaXN0LmZvckVhY2goKGVsZSwgaWR4KSA9PiB7XHJcbiAgICAgICAgZWxlLmRpc3BsYXlUaXRsZSA9IHRoaXMuY2Yuc2V0TWlkZGxlRWxsaXBzaXMoXHJcbiAgICAgICAgICBlbGUudGl0bGUsXHJcbiAgICAgICAgICB3aWR0aCA+IHRoaXMuVEFCX1dJRFRIXHJcbiAgICAgICAgICAgID8gdGhpcy5UQUJfV0lEVEggLSB0aGlzLnRleHRHYXBcclxuICAgICAgICAgICAgOiB3aWR0aCAtIHRoaXMudGV4dEdhcCxcclxuICAgICAgICAgIDEyXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYWxjVGFiV2lkdGgoKSB7XHJcbiAgICBjb25zdCB3cmFwID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5ycy1tdWx0aS10YWJcIik7XHJcbiAgICBjb25zdCB1bEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnJzLW11bHRpLXRhYiA+IHVsXCIpO1xyXG4gICAgY29uc3QgcmVmcmVzaFRhYkRpdiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucnMtbXVsdGktdGFiIC5yZWZyZXNoLXRhYlwiKTtcclxuICAgIGxldCBhbGxXaWR0aDtcclxuICAgIGxldCBsZWZ0V2lkdGg7XHJcbiAgICBsZXQgcmlnaHRXaWR0aDtcclxuICAgIGlmICh3cmFwICYmIHVsRWxlbWVudCkge1xyXG4gICAgICAvLyDojrflj5blhYPntKDnmoTkvY3nva7kv6Hmga9cclxuICAgICAgY29uc3Qgd3JhcFJlY3QgPSB3cmFwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICBjb25zdCB1bFJlY3QgPSB1bEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGNvbnN0IHJlZnJlc2hUYWJSZWN0ID1cclxuICAgICAgICByZWZyZXNoVGFiRGl2ICYmIHJlZnJlc2hUYWJEaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGFsbFdpZHRoID0gd3JhcFJlY3Qud2lkdGg7XHJcbiAgICAgIGxlZnRXaWR0aCA9IHVsUmVjdC53aWR0aDtcclxuICAgICAgcmlnaHRXaWR0aCA9IChyZWZyZXNoVGFiUmVjdCAmJiByZWZyZXNoVGFiUmVjdC53aWR0aCkgfHwgMTAwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYWxsV2lkdGgsXHJcbiAgICAgIGxlZnRXaWR0aCxcclxuICAgICAgcmlnaHRXaWR0aCxcclxuICAgIH07XHJcbiAgfVxyXG4gIGluaXRUYWIoKSB7XHJcbiAgICBsZXQgVGFiQ2FjaGUgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJUYWJDYWNoZVwiKSk7XHJcbiAgICB0aGlzLnRhYkxpc3QgPSBUYWJDYWNoZSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGNsb3NlVGFiKHRhYiwgaWR4KSB7XHJcbiAgICB0aGlzLnRhYkxpc3QgPSB0aGlzLnRhYkxpc3QuZmlsdGVyKChlbGUpID0+IGVsZS51cmwgIT09IHRhYi51cmwpO1xyXG4gICAgdGhpcy5jbGVhckNhY2hlKHRhYi51cmwpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRUYWIgPT09IGlkeCkge1xyXG4gICAgICBjb25zdCB0YXJnZXRJZHggPSBNYXRoLm1heCgwLCBpZHggLSAxKTtcclxuICAgICAgdGhpcy5jaGFuZ2VUYWIodGhpcy50YWJMaXN0W3RhcmdldElkeF0sIHRhcmdldElkeCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEVsbGlwc2lzVGl0bGUoKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXCJUYWJDYWNoZVwiLCBKU09OLnN0cmluZ2lmeSh0aGlzLnRhYkxpc3QpKTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlVGFiKHRhYiwgaWR4KSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRhYi51cmwpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IGlkeDtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgYWRkVGFiKHVybCwgdGl0bGUpIHtcclxuICAgIGlmICh0aGlzLnRhYkxpc3QubGVuZ3RoID49IHRoaXMubWF4VGFicykge1xyXG4gICAgICB0aGlzLmNsb3NlVGFiKHRoaXMudGFiTGlzdFswXSwgMCk7IC8vIOWIoOmZpOesrOS4gOS4qlxyXG4gICAgfVxyXG4gICAgdGhpcy50YWJMaXN0LnB1c2goe1xyXG4gICAgICB1cmw6IHVybCxcclxuICAgICAgdGl0bGU6IHRpdGxlIHx8IFwiZGVmYXVsdFwiLFxyXG4gICAgICBkaXNwbGF5VGl0bGU6IHRoaXMuc2V0RWxsaXBzaXNUaXRsZSh0aXRsZSB8fCBcImRlZmF1bHRcIiksXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0aGlzLnRhYkxpc3QubGVuZ3RoIC0gMTtcclxuICAgIHRoaXMuc2V0RWxsaXBzaXNUaXRsZSgpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcIlRhYkNhY2hlXCIsIEpTT04uc3RyaW5naWZ5KHRoaXMudGFiTGlzdCkpO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VGFiKHVybCwgcHVyZVVybD8sIHRpdGxlPykge1xyXG4gICAgY29uc3QgaXNFeGlzdElkeCA9IHRoaXMudGFiTGlzdC5maW5kSW5kZXgoKGVsZSkgPT4gZWxlLnVybCA9PT0gdXJsKTtcclxuICAgIGlmIChpc0V4aXN0SWR4ID09PSAtMSkge1xyXG4gICAgICBjb25zdCBzaW5nbGVJZHggPSB0aGlzLnNpbmdsZVJldXNlVXJscy5maW5kSW5kZXgoXHJcbiAgICAgICAgKGVsZSkgPT4gZWxlID09PSBwdXJlVXJsXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChzaW5nbGVJZHggIT09IC0xKSB7XHJcbiAgICAgICAgdGhpcy50YWJMaXN0ID0gdGhpcy50YWJMaXN0LmZpbHRlcihcclxuICAgICAgICAgIChlbGUpID0+ICFlbGUudXJsLmluY2x1ZGVzKHRoaXMuc2luZ2xlUmV1c2VVcmxzW3NpbmdsZUlkeF0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmtlZXBBbGl2ZS5jbGVhckNhY2hlKHVybCk7XHJcbiAgICAgICAgdGhpcy5kcmF3ZXIuZGVsZXRlQ2FjaGUodXJsKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFkZFRhYih1cmwsIHRpdGxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBpc0V4aXN0SWR4O1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZnJlc2hUYWIoKSB7XHJcbiAgICB0aGlzLmtlZXBBbGl2ZS5jbGVhckNhY2hlKHRoaXMudGFiTGlzdFt0aGlzLnNlbGVjdGVkVGFiXS51cmwpO1xyXG4gICAgdGhpcy5kcmF3ZXIuZGVsZXRlQ2FjaGUodGhpcy50YWJMaXN0W3RoaXMuc2VsZWN0ZWRUYWJdLnVybCk7XHJcbiAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsOyAvLyDojrflj5blvZPliY0gVVJMXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKFwiL1wiLCB7IHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSB9KS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChjdXJyZW50VXJsKTsgLy8g6YeN5paw5a+86Iiq5Yiw5b2T5YmNIFVSTFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbGVhckNhY2hlKHVybCkge1xyXG4gICAgdGhpcy5rZWVwQWxpdmUuY2xlYXJDYWNoZSh1cmwpOyAvLyDosIPnlKjoh6rlrprkuYnnrZbnlaXnmoTmuIXpmaTnvJPlrZjmlrnms5VcclxuICAgIHRoaXMuZHJhd2VyLmRlbGV0ZUNhY2hlKHVybCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -28,7 +28,6 @@ import { MatIconModule } from "@angular/material/icon";
28
28
  import { CommonFunctionService } from "./service/common-function.service";
29
29
  import { IconLoaderService } from "./service/icon-loader.service";
30
30
  import { DialogService } from "./service/dialog.service";
31
- import { KeepAliveService } from "./service/keep-alive.service";
32
31
  import { TranslationService } from "./service/translation.service";
33
32
  import { CommonGridComponent } from "./common-grid/index.component";
34
33
  import { FloatBoxComponent } from "./float-box/index.component";
@@ -48,7 +47,6 @@ import { SwitchInputComponent } from "./form/switch-input/index.component";
48
47
  import { NewActionNotificationComponent } from "./dialog/new-action-notification/new-action-notification.component";
49
48
  import { CommonDialogComponent } from "./dialog/common-dialog/index.component";
50
49
  import { CommonDeleteComponent } from "./dialog/common-delete-dialog/index.component";
51
- import { DrawerService } from "./service/drawer.service";
52
50
  import { DrawerFormComponent } from "./form/drawer-form/drawer-form.component";
53
51
  export class RaiseCommonLibModule {
54
52
  }
@@ -153,8 +151,6 @@ RaiseCommonLibModule.decorators = [
153
151
  CommonFunctionService,
154
152
  IconLoaderService,
155
153
  DialogService,
156
- KeepAliveService,
157
- DrawerService,
158
154
  TranslationService,
159
155
  ],
160
156
  exports: [
@@ -225,4 +221,4 @@ RaiseCommonLibModule.decorators = [
225
221
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
226
222
  },] }
227
223
  ];
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFpc2UtY29tbW9uLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3JhaXNlLWNvbW1vbi1saWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFDTCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLFlBQVksRUFDWixhQUFhLEdBQ2QsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsWUFBWSxHQUNiLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0UsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUNMLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8s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QWlCO29CQUNqQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsa0JBQWtCO29CQUNsQixrQkFBa0I7b0JBQ2xCLG9CQUFvQjtvQkFDcEIsa0JBQWtCO29CQUNsQixhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsdUJBQXVCO29CQUN2QixjQUFjO29CQUNkLDBCQUEwQjtvQkFDMUIsdUJBQXVCO29CQUN2Qix1QkFBdUI7b0JBQ3ZCLHFCQUFxQjtvQkFDckIsaUJBQWlCO29CQUNqQixhQUFhO29CQUNiLFNBQVM7b0JBQ1QsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGlCQUFpQjtvQkFDakIsdUJBQXVCO29CQUN2QixtQkFBbUI7b0JBQ25CLGlCQUFpQjtvQkFDakIsbUJBQW1CO29CQUNuQixrQkFBa0I7b0JBQ2xCLGdCQUFnQjtvQkFDaEIsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsaUJBQWlCO29CQUNqQixzQkFBc0I7b0JBQ3RCLGlCQUFpQjtvQkFDakIsbUJBQW1CO29CQUNuQixzQkFBc0I7b0JBQ3RCLG9CQUFvQjtvQkFDcEIsZUFBZTtvQkFDZixtQkFBbUI7aUJBQ3BCO2dCQUNELGVBQWUsRUFBRTtvQkFDZiw4QkFBOEI7b0JBQzlCLHFCQUFxQjtvQkFDckIscUJBQXFCO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gIEdyaWRNb2R1bGUsXHJcbiAgUGFnZVNlcnZpY2UsXHJcbiAgU29ydFNlcnZpY2UsXHJcbiAgRmlsdGVyU2VydmljZSxcclxuICBFeGNlbEV4cG9ydFNlcnZpY2UsXHJcbiAgRWRpdFNlcnZpY2UsXHJcbiAgUmVzaXplU2VydmljZSxcclxuICBUb29sYmFyU2VydmljZSxcclxuICBDb2x1bW5DaG9vc2VyU2VydmljZSxcclxuICBBZ2dyZWdhdGVTZXJ2aWNlLFxyXG4gIENvbHVtbk1lbnVTZXJ2aWNlLFxyXG4gIERldGFpbFJvd1NlcnZpY2UsXHJcbiAgU2VsZWN0aW9uU2VydmljZSxcclxuICBQYWdlck1vZHVsZSxcclxuICBHcm91cFNlcnZpY2UsXHJcbiAgR3JpZEFsbE1vZHVsZSxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZ3JpZHNcIjtcclxuaW1wb3J0IHtcclxuICBTd2l0Y2hNb2R1bGUsXHJcbiAgQ2hlY2tCb3hNb2R1bGUsXHJcbiAgUmFkaW9CdXR0b25Nb2R1bGUsXHJcbiAgQnV0dG9uTW9kdWxlLFxyXG59IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1idXR0b25zXCI7XHJcbmltcG9ydCB7IERpYWdyYW1Nb2R1bGUgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZGlhZ3JhbXNcIjtcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSwgRGlhbG9nTW9kdWxlIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBvcHVwc1wiO1xyXG5pbXBvcnQge1xyXG4gIERhdGVQaWNrZXJNb2R1bGUsXHJcbiAgRGF0ZVJhbmdlUGlja2VyTW9kdWxlLFxyXG4gIERhdGVUaW1lUGlja2VyTW9kdWxlLFxyXG59IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jYWxlbmRhcnNcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgVGV4dEJveE1vZHVsZSxcclxuICBDb2xvclBpY2tlck1vZHVsZSxcclxuICBVcGxvYWRlck1vZHVsZSxcclxuICBOdW1lcmljVGV4dEJveE1vZHVsZSxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItaW5wdXRzXCI7XHJcbmltcG9ydCB7XHJcbiAgRHJvcERvd25MaXN0TW9kdWxlLFxyXG4gIE11bHRpU2VsZWN0QWxsTW9kdWxlLFxyXG4gIEF1dG9Db21wbGV0ZU1vZHVsZSxcclxuICBEcm9wRG93blRyZWVNb2R1bGUsXHJcbiAgTGlzdEJveE1vZHVsZSxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZHJvcGRvd25zXCI7XHJcbmltcG9ydCB7XHJcbiAgUGl2b3RWaWV3QWxsTW9kdWxlLFxyXG4gIFBpdm90RmllbGRMaXN0QWxsTW9kdWxlLFxyXG59IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1waXZvdHZpZXdcIjtcclxuaW1wb3J0IHtcclxuICBDaGFydEFsbE1vZHVsZSxcclxuICBBY2N1bXVsYXRpb25DaGFydEFsbE1vZHVsZSxcclxuICBSYW5nZU5hdmlnYXRvckFsbE1vZHVsZSxcclxuICBBY2N1bXVsYXRpb25DaGFydE1vZHVsZSxcclxuICBQaWVTZXJpZXNTZXJ2aWNlLFxyXG4gIEFjY3VtdWxhdGlvbkxlZ2VuZFNlcnZpY2UsXHJcbiAgQWNjdW11bGF0aW9uVG9vbHRpcFNlcnZpY2UsXHJcbiAgQWNjdW11bGF0aW9uQW5ub3RhdGlvblNlcnZpY2UsXHJcbiAgQWNjdW11bGF0aW9uRGF0YUxhYmVsU2VydmljZSxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2hhcnRzXCI7XHJcbmltcG9ydCB7IERhc2hib2FyZExheW91dE1vZHVsZSB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1sYXlvdXRzXCI7XHJcbmltcG9ydCB7XHJcbiAgQ2Fyb3VzZWxBbGxNb2R1bGUsXHJcbiAgVG9vbGJhck1vZHVsZSxcclxuICBUYWJNb2R1bGUsXHJcbn0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLW5hdmlnYXRpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgUGRmVmlld2VyTW9kdWxlLFxyXG4gIExpbmtBbm5vdGF0aW9uU2VydmljZSxcclxuICBCb29rbWFya1ZpZXdTZXJ2aWNlLFxyXG4gIE1hZ25pZmljYXRpb25TZXJ2aWNlLFxyXG4gIFRodW1ibmFpbFZpZXdTZXJ2aWNlLFxyXG4gIFRvb2xiYXJTZXJ2aWNlIGFzIFBiZlRvb2xiYXJTZXJ2aWNlLFxyXG4gIE5hdmlnYXRpb25TZXJ2aWNlLFxyXG4gIFRleHRTZWFyY2hTZXJ2aWNlLFxyXG4gIFRleHRTZWxlY3Rpb25TZXJ2aWNlLFxyXG4gIFByaW50U2VydmljZSxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItcGRmdmlld2VyXCI7XHJcbmltcG9ydCB7XHJcbiAgRHJvcERvd25CdXR0b25Nb2R1bGUsXHJcbiAgU3BsaXRCdXR0b25Nb2R1bGUsXHJcbn0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXNwbGl0YnV0dG9uc1wiO1xyXG5pbXBvcnQge1xyXG4gIFJpY2hUZXh0RWRpdG9yQWxsTW9kdWxlLFxyXG4gIEh0bWxFZGl0b3JTZXJ2aWNlLFxyXG4gIFRvb2xiYXJTZXJ2aWNlIGFzIFJpY2hFZGl0b3JUb29sYmFyU2VydmljZSxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItcmljaHRleHRlZGl0b3JcIjtcclxuXHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhclwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5cclxuLy8gc2VydmljZXNcclxuaW1wb3J0IHsgQ29tbW9uRnVuY3Rpb25TZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS9jb21tb24tZnVuY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJY29uTG9hZGVyU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2UvaWNvbi1sb2FkZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBLZWVwQWxpdmVTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS9rZWVwLWFsaXZlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS90cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcblxyXG5pbXBvcnQgeyBDb21tb25HcmlkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tbW9uLWdyaWQvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZsb2F0Qm94Q29tcG9uZW50IH0gZnJvbSBcIi4vZmxvYXQtYm94L2luZGV4LmNvbXBvbmVudFwiO1xyXG5cclxuaW1wb3J0IHsgUnNQYWdlTGlzdENvbXBvbmVudCB9IGZyb20gXCIuL2xheW91dC9wYWdlLWxpc3QvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFJzUGFnZVRhYkNvbXBvbmVudCB9IGZyb20gXCIuL2xheW91dC9wYWdlLXRhYi9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgR3JpZEJveENvbXBvbmVudCB9IGZyb20gXCIuL2xheW91dC9ncmlkLWJveC9pbmRleC5jb21wb25lbnRcIjtcclxuXHJcbmltcG9ydCB7IE1haW5Db250YWluZXJDb21wb25lbnQgfSBmcm9tIFwiLi9sYXlvdXQvbWFpbi1jb250YWluZXIvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFJTSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vbGF5b3V0L3JzLWhlYWRlci9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUlNGb290ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9sYXlvdXQvcnMtZm9vdGVyL2luZGV4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBSU0FzaWRlQ29tcG9uZW50IH0gZnJvbSBcIi4vbGF5b3V0L3JzLWFzaWRlL2luZGV4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNdWx0aVRhYkNvbXBvbmVudCB9IGZyb20gXCIuL2xheW91dC9tdWx0aS10YWIvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERyYXdlckNvbXBvbmVudCB9IGZyb20gXCIuL2xheW91dC9kcmF3ZXIvaW5kZXguY29tcG9uZW50XCI7XHJcblxyXG5pbXBvcnQgeyBUYWdJbnB1dENvbXBvbmVudCB9IGZyb20gXCIuL2Zvcm0vdGFnLWlucHV0L2luZGV4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBSYWRpb0dyb3VwQ29tcG9uZW50IH0gZnJvbSBcIi4vZm9ybS9yYWRpby1ncm91cC9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ2hlY2tib3hHcm91cENvbXBvbmVudCB9IGZyb20gXCIuL2Zvcm0vY2hlY2tib3gtZ3JvdXAvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFN3aXRjaElucHV0Q29tcG9uZW50IH0gZnJvbSBcIi4vZm9ybS9zd2l0Y2gtaW5wdXQvaW5kZXguY29tcG9uZW50XCI7XHJcblxyXG5pbXBvcnQgeyBOZXdBY3Rpb25Ob3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tIFwiLi9kaWFsb2cvbmV3LWFjdGlvbi1ub3RpZmljYXRpb24vbmV3LWFjdGlvbi1ub3RpZmljYXRpb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IENvbW1vbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gXCIuL2RpYWxvZy9jb21tb24tZGlhbG9nL2luZGV4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDb21tb25EZWxldGVDb21wb25lbnQgfSBmcm9tIFwiLi9kaWFsb2cvY29tbW9uLWRlbGV0ZS1kaWFsb2cvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERyYXdlclNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERyYXdlckZvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9mb3JtL2RyYXdlci1mb3JtL2RyYXdlci1mb3JtLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIENvbW1vbkdyaWRDb21wb25lbnQsXHJcbiAgICBGbG9hdEJveENvbXBvbmVudCxcclxuICAgIFJzUGFnZUxpc3RDb21wb25lbnQsXHJcbiAgICBSc1BhZ2VUYWJDb21wb25lbnQsXHJcbiAgICBHcmlkQm94Q29tcG9uZW50LFxyXG4gICAgUlNIZWFkZXJDb21wb25lbnQsXHJcbiAgICBSU0Zvb3RlckNvbXBvbmVudCxcclxuICAgIFJTQXNpZGVDb21wb25lbnQsXHJcbiAgICBNdWx0aVRhYkNvbXBvbmVudCxcclxuICAgIE1haW5Db250YWluZXJDb21wb25lbnQsXHJcbiAgICBUYWdJbnB1dENvbXBvbmVudCxcclxuICAgIFJhZGlvR3JvdXBDb21wb25lbnQsXHJcbiAgICBDaGVja2JveEdyb3VwQ29tcG9uZW50LFxyXG4gICAgU3dpdGNoSW5wdXRDb21wb25lbnQsXHJcbiAgICBOZXdBY3Rpb25Ob3RpZmljYXRpb25Db21wb25lbnQsXHJcbiAgICBDb21tb25EaWFsb2dDb21wb25lbnQsXHJcbiAgICBDb21tb25EZWxldGVDb21wb25lbnQsXHJcbiAgICBEcmF3ZXJDb21wb25lbnQsXHJcbiAgICBEcmF3ZXJGb3JtQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIEdyaWRNb2R1bGUsXHJcbiAgICBQYWdlck1vZHVsZSxcclxuICAgIEdyaWRBbGxNb2R1bGUsXHJcbiAgICBTd2l0Y2hNb2R1bGUsXHJcbiAgICBDaGVja0JveE1vZHVsZSxcclxuICAgIFJhZGlvQnV0dG9uTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgRGlhZ3JhbU1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBEaWFsb2dNb2R1bGUsXHJcbiAgICBEYXRlUGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVJhbmdlUGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVRpbWVQaWNrZXJNb2R1bGUsXHJcbiAgICBUZXh0Qm94TW9kdWxlLFxyXG4gICAgQ29sb3JQaWNrZXJNb2R1bGUsXHJcbiAgICBVcGxvYWRlck1vZHVsZSxcclxuICAgIE51bWVyaWNUZXh0Qm94TW9kdWxlLFxyXG4gICAgRHJvcERvd25MaXN0TW9kdWxlLFxyXG4gICAgRHJvcERvd25UcmVlTW9kdWxlLFxyXG4gICAgTXVsdGlTZWxlY3RBbGxNb2R1bGUsXHJcbiAgICBBdXRvQ29tcGxldGVNb2R1bGUsXHJcbiAgICBMaXN0Qm94TW9kdWxlLFxyXG4gICAgUGl2b3RWaWV3QWxsTW9kdWxlLFxyXG4gICAgUGl2b3RGaWVsZExpc3RBbGxNb2R1bGUsXHJcbiAgICBDaGFydEFsbE1vZHVsZSxcclxuICAgIEFjY3VtdWxhdGlvbkNoYXJ0QWxsTW9kdWxlLFxyXG4gICAgUmFuZ2VOYXZpZ2F0b3JBbGxNb2R1bGUsXHJcbiAgICBBY2N1bXVsYXRpb25DaGFydE1vZHVsZSxcclxuICAgIERhc2hib2FyZExheW91dE1vZHVsZSxcclxuICAgIENhcm91c2VsQWxsTW9kdWxlLFxyXG4gICAgVG9vbGJhck1vZHVsZSxcclxuICAgIFRhYk1vZHVsZSxcclxuICAgIFBkZlZpZXdlck1vZHVsZSxcclxuICAgIERyb3BEb3duQnV0dG9uTW9kdWxlLFxyXG4gICAgU3BsaXRCdXR0b25Nb2R1bGUsXHJcbiAgICBSaWNoVGV4dEVkaXRvckFsbE1vZHVsZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgUGFnZVNlcnZpY2UsXHJcbiAgICBTb3J0U2VydmljZSxcclxuICAgIEZpbHRlclNlcnZpY2UsXHJcbiAgICBFeGNlbEV4cG9ydFNlcnZpY2UsXHJcbiAgICBFZGl0U2VydmljZSxcclxuICAgIFJlc2l6ZVNlcnZpY2UsXHJcbiAgICBUb29sYmFyU2VydmljZSxcclxuICAgIENvbHVtbkNob29zZXJTZXJ2aWNlLFxyXG4gICAgQWdncmVnYXRlU2VydmljZSxcclxuICAgIENvbHVtbk1lbnVTZXJ2aWNlLFxyXG4gICAgRGV0YWlsUm93U2VydmljZSxcclxuICAgIFNlbGVjdGlvblNlcnZpY2UsXHJcbiAgICBHcm91cFNlcnZpY2UsXHJcbiAgICBQaWVTZXJpZXNTZXJ2aWNlLFxyXG4gICAgQWNjdW11bGF0aW9uTGVnZW5kU2VydmljZSxcclxuICAgIEFjY3VtdWxhdGlvblRvb2x0aXBTZXJ2aWNlLFxyXG4gICAgQWNjdW11bGF0aW9uQW5ub3RhdGlvblNlcnZpY2UsXHJcbiAgICBBY2N1bXVsYXRpb25EYXRhTGFiZWxTZXJ2aWNlLFxyXG4gICAgTGlua0Fubm90YXRpb25TZXJ2aWNlLFxyXG4gICAgQm9va21hcmtWaWV3U2VydmljZSxcclxuICAgIE1hZ25pZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgVGh1bWJuYWlsVmlld1NlcnZpY2UsXHJcbiAgICBQYmZUb29sYmFyU2VydmljZSxcclxuICAgIE5hdmlnYXRpb25TZXJ2aWNlLFxyXG4gICAgVGV4dFNlYXJjaFNlcnZpY2UsXHJcbiAgICBUZXh0U2VsZWN0aW9uU2VydmljZSxcclxuICAgIFByaW50U2VydmljZSxcclxuICAgIEh0bWxFZGl0b3JTZXJ2aWNlLFxyXG4gICAgUmljaEVkaXRvclRvb2xiYXJTZXJ2aWNlLFxyXG5cclxuICAgIENvbW1vbkZ1bmN0aW9uU2VydmljZSxcclxuICAgIEljb25Mb2FkZXJTZXJ2aWNlLFxyXG4gICAgRGlhbG9nU2VydmljZSxcclxuICAgIEtlZXBBbGl2ZVNlcnZpY2UsXHJcbiAgICBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgR3JpZE1vZHVsZSxcclxuICAgIFBhZ2VyTW9kdWxlLFxyXG4gICAgR3JpZEFsbE1vZHVsZSxcclxuICAgIFN3aXRjaE1vZHVsZSxcclxuICAgIENoZWNrQm94TW9kdWxlLFxyXG4gICAgUmFkaW9CdXR0b25Nb2R1bGUsXHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBEaWFncmFtTW9kdWxlLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIERpYWxvZ01vZHVsZSxcclxuICAgIERhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICBEYXRlUmFuZ2VQaWNrZXJNb2R1bGUsXHJcbiAgICBEYXRlVGltZVBpY2tlck1vZHVsZSxcclxuICAgIFRleHRCb3hNb2R1bGUsXHJcbiAgICBDb2xvclBpY2tlck1vZHVsZSxcclxuICAgIFVwbG9hZGVyTW9kdWxlLFxyXG4gICAgTnVtZXJpY1RleHRCb3hNb2R1bGUsXHJcbiAgICBEcm9wRG93bkxpc3RNb2R1bGUsXHJcbiAgICBEcm9wRG93blRyZWVNb2R1bGUsXHJcbiAgICBNdWx0aVNlbGVjdEFsbE1vZHVsZSxcclxuICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcclxuICAgIExpc3RCb3hNb2R1bGUsXHJcbiAgICBQaXZvdFZpZXdBbGxNb2R1bGUsXHJcbiAgICBQaXZvdEZpZWxkTGlzdEFsbE1vZHVsZSxcclxuICAgIENoYXJ0QWxsTW9kdWxlLFxyXG4gICAgQWNjdW11bGF0aW9uQ2hhcnRBbGxNb2R1bGUsXHJcbiAgICBSYW5nZU5hdmlnYXRvckFsbE1vZHVsZSxcclxuICAgIEFjY3VtdWxhdGlvbkNoYXJ0TW9kdWxlLFxyXG4gICAgRGFzaGJvYXJkTGF5b3V0TW9kdWxlLFxyXG4gICAgQ2Fyb3VzZWxBbGxNb2R1bGUsXHJcbiAgICBUb29sYmFyTW9kdWxlLFxyXG4gICAgVGFiTW9kdWxlLFxyXG4gICAgUGRmVmlld2VyTW9kdWxlLFxyXG4gICAgRHJvcERvd25CdXR0b25Nb2R1bGUsXHJcbiAgICBTcGxpdEJ1dHRvbk1vZHVsZSxcclxuICAgIFJpY2hUZXh0RWRpdG9yQWxsTW9kdWxlLFxyXG4gICAgQ29tbW9uR3JpZENvbXBvbmVudCxcclxuICAgIEZsb2F0Qm94Q29tcG9uZW50LFxyXG4gICAgUnNQYWdlTGlzdENvbXBvbmVudCxcclxuICAgIFJzUGFnZVRhYkNvbXBvbmVudCxcclxuICAgIEdyaWRCb3hDb21wb25lbnQsXHJcbiAgICBSU0hlYWRlckNvbXBvbmVudCxcclxuICAgIFJTRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgUlNBc2lkZUNvbXBvbmVudCxcclxuICAgIE11bHRpVGFiQ29tcG9uZW50LFxyXG4gICAgTWFpbkNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFRhZ0lucHV0Q29tcG9uZW50LFxyXG4gICAgUmFkaW9Hcm91cENvbXBvbmVudCxcclxuICAgIENoZWNrYm94R3JvdXBDb21wb25lbnQsXHJcbiAgICBTd2l0Y2hJbnB1dENvbXBvbmVudCxcclxuICAgIERyYXdlckNvbXBvbmVudCxcclxuICAgIERyYXdlckZvcm1Db21wb25lbnQsXHJcbiAgXSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFtcclxuICAgIE5ld0FjdGlvbk5vdGlmaWNhdGlvbkNvbXBvbmVudCxcclxuICAgIENvbW1vbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgIENvbW1vbkRlbGV0ZUNvbXBvbmVudCxcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhaXNlQ29tbW9uTGliTW9kdWxlIHt9XHJcbiJdfQ==
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFpc2UtY29tbW9uLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3JhaXNlLWNvbW1vbi1saWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFDTCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLFlBQVksRUFDWixhQUFhLEdBQ2QsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsWUFBWSxHQUNiLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0UsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUNMLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8s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Q2xCLHVCQUF1QjtvQkFDdkIsY0FBYztvQkFDZCwwQkFBMEI7b0JBQzFCLHVCQUF1QjtvQkFDdkIsdUJBQXVCO29CQUN2QixxQkFBcUI7b0JBQ3JCLGlCQUFpQjtvQkFDakIsYUFBYTtvQkFDYixTQUFTO29CQUNULGVBQWU7b0JBQ2Ysb0JBQW9CO29CQUNwQixpQkFBaUI7b0JBQ2pCLHVCQUF1QjtvQkFDdkIsbUJBQW1CO29CQUNuQixpQkFBaUI7b0JBQ2pCLG1CQUFtQjtvQkFDbkIsa0JBQWtCO29CQUNsQixnQkFBZ0I7b0JBQ2hCLGlCQUFpQjtvQkFDakIsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLGlCQUFpQjtvQkFDakIsc0JBQXNCO29CQUN0QixpQkFBaUI7b0JBQ2pCLG1CQUFtQjtvQkFDbkIsc0JBQXNCO29CQUN0QixvQkFBb0I7b0JBQ3BCLGVBQWU7b0JBQ2YsbUJBQW1CO2lCQUNwQjtnQkFDRCxlQUFlLEVBQUU7b0JBQ2YsOEJBQThCO29CQUM5QixxQkFBcUI7b0JBQ3JCLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuaW1wb3J0IHtcclxuICBHcmlkTW9kdWxlLFxyXG4gIFBhZ2VTZXJ2aWNlLFxyXG4gIFNvcnRTZXJ2aWNlLFxyXG4gIEZpbHRlclNlcnZpY2UsXHJcbiAgRXhjZWxFeHBvcnRTZXJ2aWNlLFxyXG4gIEVkaXRTZXJ2aWNlLFxyXG4gIFJlc2l6ZVNlcnZpY2UsXHJcbiAgVG9vbGJhclNlcnZpY2UsXHJcbiAgQ29sdW1uQ2hvb3NlclNlcnZpY2UsXHJcbiAgQWdncmVnYXRlU2VydmljZSxcclxuICBDb2x1bW5NZW51U2VydmljZSxcclxuICBEZXRhaWxSb3dTZXJ2aWNlLFxyXG4gIFNlbGVjdGlvblNlcnZpY2UsXHJcbiAgUGFnZXJNb2R1bGUsXHJcbiAgR3JvdXBTZXJ2aWNlLFxyXG4gIEdyaWRBbGxNb2R1bGUsXHJcbn0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWdyaWRzXCI7XHJcbmltcG9ydCB7XHJcbiAgU3dpdGNoTW9kdWxlLFxyXG4gIENoZWNrQm94TW9kdWxlLFxyXG4gIFJhZGlvQnV0dG9uTW9kdWxlLFxyXG4gIEJ1dHRvbk1vZHVsZSxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYnV0dG9uc1wiO1xyXG5pbXBvcnQgeyBEaWFncmFtTW9kdWxlIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWRpYWdyYW1zXCI7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUsIERpYWxvZ01vZHVsZSB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1wb3B1cHNcIjtcclxuaW1wb3J0IHtcclxuICBEYXRlUGlja2VyTW9kdWxlLFxyXG4gIERhdGVSYW5nZVBpY2tlck1vZHVsZSxcclxuICBEYXRlVGltZVBpY2tlck1vZHVsZSxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2FsZW5kYXJzXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gIFRleHRCb3hNb2R1bGUsXHJcbiAgQ29sb3JQaWNrZXJNb2R1bGUsXHJcbiAgVXBsb2FkZXJNb2R1bGUsXHJcbiAgTnVtZXJpY1RleHRCb3hNb2R1bGUsXHJcbn0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWlucHV0c1wiO1xyXG5pbXBvcnQge1xyXG4gIERyb3BEb3duTGlzdE1vZHVsZSxcclxuICBNdWx0aVNlbGVjdEFsbE1vZHVsZSxcclxuICBBdXRvQ29tcGxldGVNb2R1bGUsXHJcbiAgRHJvcERvd25UcmVlTW9kdWxlLFxyXG4gIExpc3RCb3hNb2R1bGUsXHJcbn0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWRyb3Bkb3duc1wiO1xyXG5pbXBvcnQge1xyXG4gIFBpdm90Vmlld0FsbE1vZHVsZSxcclxuICBQaXZvdEZpZWxkTGlzdEFsbE1vZHVsZSxcclxufSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItcGl2b3R2aWV3XCI7XHJcbmltcG9ydCB7XHJcbiAgQ2hhcnRBbGxNb2R1bGUsXHJcbiAgQWNjdW11bGF0aW9uQ2hhcnRBbGxNb2R1bGUsXHJcbiAgUmFuZ2VOYXZpZ2F0b3JBbGxNb2R1bGUsXHJcbiAgQWNjdW11bGF0aW9uQ2hhcnRNb2R1bGUsXHJcbiAgUGllU2VyaWVzU2VydmljZSxcclxuICBBY2N1bXVsYXRpb25MZWdlbmRTZXJ2aWNlLFxyXG4gIEFjY3VtdWxhdGlvblRvb2x0aXBTZXJ2aWNlLFxyXG4gIEFjY3VtdWxhdGlvbkFubm90YXRpb25TZXJ2aWNlLFxyXG4gIEFjY3VtdWxhdGlvbkRhdGFMYWJlbFNlcnZpY2UsXHJcbn0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0c1wiO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRMYXlvdXRNb2R1bGUgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItbGF5b3V0c1wiO1xyXG5pbXBvcnQge1xyXG4gIENhcm91c2VsQWxsTW9kdWxlLFxyXG4gIFRvb2xiYXJNb2R1bGUsXHJcbiAgVGFiTW9kdWxlLFxyXG59IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1uYXZpZ2F0aW9uc1wiO1xyXG5pbXBvcnQge1xyXG4gIFBkZlZpZXdlck1vZHVsZSxcclxuICBMaW5rQW5ub3RhdGlvblNlcnZpY2UsXHJcbiAgQm9va21hcmtWaWV3U2VydmljZSxcclxuICBNYWduaWZpY2F0aW9uU2VydmljZSxcclxuICBUaHVtYm5haWxWaWV3U2VydmljZSxcclxuICBUb29sYmFyU2VydmljZSBhcyBQYmZUb29sYmFyU2VydmljZSxcclxuICBOYXZpZ2F0aW9uU2VydmljZSxcclxuICBUZXh0U2VhcmNoU2VydmljZSxcclxuICBUZXh0U2VsZWN0aW9uU2VydmljZSxcclxuICBQcmludFNlcnZpY2UsXHJcbn0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBkZnZpZXdlclwiO1xyXG5pbXBvcnQge1xyXG4gIERyb3BEb3duQnV0dG9uTW9kdWxlLFxyXG4gIFNwbGl0QnV0dG9uTW9kdWxlLFxyXG59IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1zcGxpdGJ1dHRvbnNcIjtcclxuaW1wb3J0IHtcclxuICBSaWNoVGV4dEVkaXRvckFsbE1vZHVsZSxcclxuICBIdG1sRWRpdG9yU2VydmljZSxcclxuICBUb29sYmFyU2VydmljZSBhcyBSaWNoRWRpdG9yVG9vbGJhclNlcnZpY2UsXHJcbn0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXJpY2h0ZXh0ZWRpdG9yXCI7XHJcblxyXG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXJcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuXHJcbi8vIHNlcnZpY2VzXHJcbmltcG9ydCB7IENvbW1vbkZ1bmN0aW9uU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2UvY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSWNvbkxvYWRlclNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlL2ljb24tbG9hZGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZS90cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcblxyXG5pbXBvcnQgeyBDb21tb25HcmlkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tbW9uLWdyaWQvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZsb2F0Qm94Q29tcG9uZW50IH0gZnJvbSBcIi4vZmxvYXQtYm94L2luZGV4LmNvbXBvbmVudFwiO1xyXG5cclxuaW1wb3J0IHsgUnNQYWdlTGlzdENvbXBvbmVudCB9IGZyb20gXCIuL2xheW91dC9wYWdlLWxpc3QvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFJzUGFnZVRhYkNvbXBvbmVudCB9IGZyb20gXCIuL2xheW91dC9wYWdlLXRhYi9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgR3JpZEJveENvbXBvbmVudCB9IGZyb20gXCIuL2xheW91dC9ncmlkLWJveC9pbmRleC5jb21wb25lbnRcIjtcclxuXHJcbmltcG9ydCB7IE1haW5Db250YWluZXJDb21wb25lbnQgfSBmcm9tIFwiLi9sYXlvdXQvbWFpbi1jb250YWluZXIvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFJTSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vbGF5b3V0L3JzLWhlYWRlci9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUlNGb290ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9sYXlvdXQvcnMtZm9vdGVyL2luZGV4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBSU0FzaWRlQ29tcG9uZW50IH0gZnJvbSBcIi4vbGF5b3V0L3JzLWFzaWRlL2luZGV4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNdWx0aVRhYkNvbXBvbmVudCB9IGZyb20gXCIuL2xheW91dC9tdWx0aS10YWIvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERyYXdlckNvbXBvbmVudCB9IGZyb20gXCIuL2xheW91dC9kcmF3ZXIvaW5kZXguY29tcG9uZW50XCI7XHJcblxyXG5pbXBvcnQgeyBUYWdJbnB1dENvbXBvbmVudCB9IGZyb20gXCIuL2Zvcm0vdGFnLWlucHV0L2luZGV4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBSYWRpb0dyb3VwQ29tcG9uZW50IH0gZnJvbSBcIi4vZm9ybS9yYWRpby1ncm91cC9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ2hlY2tib3hHcm91cENvbXBvbmVudCB9IGZyb20gXCIuL2Zvcm0vY2hlY2tib3gtZ3JvdXAvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFN3aXRjaElucHV0Q29tcG9uZW50IH0gZnJvbSBcIi4vZm9ybS9zd2l0Y2gtaW5wdXQvaW5kZXguY29tcG9uZW50XCI7XHJcblxyXG5pbXBvcnQgeyBOZXdBY3Rpb25Ob3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tIFwiLi9kaWFsb2cvbmV3LWFjdGlvbi1ub3RpZmljYXRpb24vbmV3LWFjdGlvbi1ub3RpZmljYXRpb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IENvbW1vbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gXCIuL2RpYWxvZy9jb21tb24tZGlhbG9nL2luZGV4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDb21tb25EZWxldGVDb21wb25lbnQgfSBmcm9tIFwiLi9kaWFsb2cvY29tbW9uLWRlbGV0ZS1kaWFsb2cvaW5kZXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERyYXdlclNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERyYXdlckZvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9mb3JtL2RyYXdlci1mb3JtL2RyYXdlci1mb3JtLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIENvbW1vbkdyaWRDb21wb25lbnQsXHJcbiAgICBGbG9hdEJveENvbXBvbmVudCxcclxuICAgIFJzUGFnZUxpc3RDb21wb25lbnQsXHJcbiAgICBSc1BhZ2VUYWJDb21wb25lbnQsXHJcbiAgICBHcmlkQm94Q29tcG9uZW50LFxyXG4gICAgUlNIZWFkZXJDb21wb25lbnQsXHJcbiAgICBSU0Zvb3RlckNvbXBvbmVudCxcclxuICAgIFJTQXNpZGVDb21wb25lbnQsXHJcbiAgICBNdWx0aVRhYkNvbXBvbmVudCxcclxuICAgIE1haW5Db250YWluZXJDb21wb25lbnQsXHJcbiAgICBUYWdJbnB1dENvbXBvbmVudCxcclxuICAgIFJhZGlvR3JvdXBDb21wb25lbnQsXHJcbiAgICBDaGVja2JveEdyb3VwQ29tcG9uZW50LFxyXG4gICAgU3dpdGNoSW5wdXRDb21wb25lbnQsXHJcbiAgICBOZXdBY3Rpb25Ob3RpZmljYXRpb25Db21wb25lbnQsXHJcbiAgICBDb21tb25EaWFsb2dDb21wb25lbnQsXHJcbiAgICBDb21tb25EZWxldGVDb21wb25lbnQsXHJcbiAgICBEcmF3ZXJDb21wb25lbnQsXHJcbiAgICBEcmF3ZXJGb3JtQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIEdyaWRNb2R1bGUsXHJcbiAgICBQYWdlck1vZHVsZSxcclxuICAgIEdyaWRBbGxNb2R1bGUsXHJcbiAgICBTd2l0Y2hNb2R1bGUsXHJcbiAgICBDaGVja0JveE1vZHVsZSxcclxuICAgIFJhZGlvQnV0dG9uTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgRGlhZ3JhbU1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBEaWFsb2dNb2R1bGUsXHJcbiAgICBEYXRlUGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVJhbmdlUGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVRpbWVQaWNrZXJNb2R1bGUsXHJcbiAgICBUZXh0Qm94TW9kdWxlLFxyXG4gICAgQ29sb3JQaWNrZXJNb2R1bGUsXHJcbiAgICBVcGxvYWRlck1vZHVsZSxcclxuICAgIE51bWVyaWNUZXh0Qm94TW9kdWxlLFxyXG4gICAgRHJvcERvd25MaXN0TW9kdWxlLFxyXG4gICAgRHJvcERvd25UcmVlTW9kdWxlLFxyXG4gICAgTXVsdGlTZWxlY3RBbGxNb2R1bGUsXHJcbiAgICBBdXRvQ29tcGxldGVNb2R1bGUsXHJcbiAgICBMaXN0Qm94TW9kdWxlLFxyXG4gICAgUGl2b3RWaWV3QWxsTW9kdWxlLFxyXG4gICAgUGl2b3RGaWVsZExpc3RBbGxNb2R1bGUsXHJcbiAgICBDaGFydEFsbE1vZHVsZSxcclxuICAgIEFjY3VtdWxhdGlvbkNoYXJ0QWxsTW9kdWxlLFxyXG4gICAgUmFuZ2VOYXZpZ2F0b3JBbGxNb2R1bGUsXHJcbiAgICBBY2N1bXVsYXRpb25DaGFydE1vZHVsZSxcclxuICAgIERhc2hib2FyZExheW91dE1vZHVsZSxcclxuICAgIENhcm91c2VsQWxsTW9kdWxlLFxyXG4gICAgVG9vbGJhck1vZHVsZSxcclxuICAgIFRhYk1vZHVsZSxcclxuICAgIFBkZlZpZXdlck1vZHVsZSxcclxuICAgIERyb3BEb3duQnV0dG9uTW9kdWxlLFxyXG4gICAgU3BsaXRCdXR0b25Nb2R1bGUsXHJcbiAgICBSaWNoVGV4dEVkaXRvckFsbE1vZHVsZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgUGFnZVNlcnZpY2UsXHJcbiAgICBTb3J0U2VydmljZSxcclxuICAgIEZpbHRlclNlcnZpY2UsXHJcbiAgICBFeGNlbEV4cG9ydFNlcnZpY2UsXHJcbiAgICBFZGl0U2VydmljZSxcclxuICAgIFJlc2l6ZVNlcnZpY2UsXHJcbiAgICBUb29sYmFyU2VydmljZSxcclxuICAgIENvbHVtbkNob29zZXJTZXJ2aWNlLFxyXG4gICAgQWdncmVnYXRlU2VydmljZSxcclxuICAgIENvbHVtbk1lbnVTZXJ2aWNlLFxyXG4gICAgRGV0YWlsUm93U2VydmljZSxcclxuICAgIFNlbGVjdGlvblNlcnZpY2UsXHJcbiAgICBHcm91cFNlcnZpY2UsXHJcbiAgICBQaWVTZXJpZXNTZXJ2aWNlLFxyXG4gICAgQWNjdW11bGF0aW9uTGVnZW5kU2VydmljZSxcclxuICAgIEFjY3VtdWxhdGlvblRvb2x0aXBTZXJ2aWNlLFxyXG4gICAgQWNjdW11bGF0aW9uQW5ub3RhdGlvblNlcnZpY2UsXHJcbiAgICBBY2N1bXVsYXRpb25EYXRhTGFiZWxTZXJ2aWNlLFxyXG4gICAgTGlua0Fubm90YXRpb25TZXJ2aWNlLFxyXG4gICAgQm9va21hcmtWaWV3U2VydmljZSxcclxuICAgIE1hZ25pZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgVGh1bWJuYWlsVmlld1NlcnZpY2UsXHJcbiAgICBQYmZUb29sYmFyU2VydmljZSxcclxuICAgIE5hdmlnYXRpb25TZXJ2aWNlLFxyXG4gICAgVGV4dFNlYXJjaFNlcnZpY2UsXHJcbiAgICBUZXh0U2VsZWN0aW9uU2VydmljZSxcclxuICAgIFByaW50U2VydmljZSxcclxuICAgIEh0bWxFZGl0b3JTZXJ2aWNlLFxyXG4gICAgUmljaEVkaXRvclRvb2xiYXJTZXJ2aWNlLFxyXG5cclxuICAgIENvbW1vbkZ1bmN0aW9uU2VydmljZSxcclxuICAgIEljb25Mb2FkZXJTZXJ2aWNlLFxyXG4gICAgRGlhbG9nU2VydmljZSxcclxuICAgIFRyYW5zbGF0aW9uU2VydmljZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIEdyaWRNb2R1bGUsXHJcbiAgICBQYWdlck1vZHVsZSxcclxuICAgIEdyaWRBbGxNb2R1bGUsXHJcbiAgICBTd2l0Y2hNb2R1bGUsXHJcbiAgICBDaGVja0JveE1vZHVsZSxcclxuICAgIFJhZGlvQnV0dG9uTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgRGlhZ3JhbU1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBEaWFsb2dNb2R1bGUsXHJcbiAgICBEYXRlUGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVJhbmdlUGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVRpbWVQaWNrZXJNb2R1bGUsXHJcbiAgICBUZXh0Qm94TW9kdWxlLFxyXG4gICAgQ29sb3JQaWNrZXJNb2R1bGUsXHJcbiAgICBVcGxvYWRlck1vZHVsZSxcclxuICAgIE51bWVyaWNUZXh0Qm94TW9kdWxlLFxyXG4gICAgRHJvcERvd25MaXN0TW9kdWxlLFxyXG4gICAgRHJvcERvd25UcmVlTW9kdWxlLFxyXG4gICAgTXVsdGlTZWxlY3RBbGxNb2R1bGUsXHJcbiAgICBBdXRvQ29tcGxldGVNb2R1bGUsXHJcbiAgICBMaXN0Qm94TW9kdWxlLFxyXG4gICAgUGl2b3RWaWV3QWxsTW9kdWxlLFxyXG4gICAgUGl2b3RGaWVsZExpc3RBbGxNb2R1bGUsXHJcbiAgICBDaGFydEFsbE1vZHVsZSxcclxuICAgIEFjY3VtdWxhdGlvbkNoYXJ0QWxsTW9kdWxlLFxyXG4gICAgUmFuZ2VOYXZpZ2F0b3JBbGxNb2R1bGUsXHJcbiAgICBBY2N1bXVsYXRpb25DaGFydE1vZHVsZSxcclxuICAgIERhc2hib2FyZExheW91dE1vZHVsZSxcclxuICAgIENhcm91c2VsQWxsTW9kdWxlLFxyXG4gICAgVG9vbGJhck1vZHVsZSxcclxuICAgIFRhYk1vZHVsZSxcclxuICAgIFBkZlZpZXdlck1vZHVsZSxcclxuICAgIERyb3BEb3duQnV0dG9uTW9kdWxlLFxyXG4gICAgU3BsaXRCdXR0b25Nb2R1bGUsXHJcbiAgICBSaWNoVGV4dEVkaXRvckFsbE1vZHVsZSxcclxuICAgIENvbW1vbkdyaWRDb21wb25lbnQsXHJcbiAgICBGbG9hdEJveENvbXBvbmVudCxcclxuICAgIFJzUGFnZUxpc3RDb21wb25lbnQsXHJcbiAgICBSc1BhZ2VUYWJDb21wb25lbnQsXHJcbiAgICBHcmlkQm94Q29tcG9uZW50LFxyXG4gICAgUlNIZWFkZXJDb21wb25lbnQsXHJcbiAgICBSU0Zvb3RlckNvbXBvbmVudCxcclxuICAgIFJTQXNpZGVDb21wb25lbnQsXHJcbiAgICBNdWx0aVRhYkNvbXBvbmVudCxcclxuICAgIE1haW5Db250YWluZXJDb21wb25lbnQsXHJcbiAgICBUYWdJbnB1dENvbXBvbmVudCxcclxuICAgIFJhZGlvR3JvdXBDb21wb25lbnQsXHJcbiAgICBDaGVja2JveEdyb3VwQ29tcG9uZW50LFxyXG4gICAgU3dpdGNoSW5wdXRDb21wb25lbnQsXHJcbiAgICBEcmF3ZXJDb21wb25lbnQsXHJcbiAgICBEcmF3ZXJGb3JtQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbXHJcbiAgICBOZXdBY3Rpb25Ob3RpZmljYXRpb25Db21wb25lbnQsXHJcbiAgICBDb21tb25EaWFsb2dDb21wb25lbnQsXHJcbiAgICBDb21tb25EZWxldGVDb21wb25lbnQsXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWlzZUNvbW1vbkxpYk1vZHVsZSB7fVxyXG4iXX0=
@@ -3,8 +3,6 @@
3
3
  * Generated from: lib/service/keep-alive.service.ts
4
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
5
  */
6
- import { Injectable } from "@angular/core";
7
- import * as i0 from "@angular/core";
8
6
  /** @type {?} */
9
7
  const storedRoutes = new Map();
10
8
  /** @type {?} */
@@ -13,6 +11,7 @@ let toBeDeleteUrl;
13
11
  let excludeRoutes = [];
14
12
  // 不需要缓存的url
15
13
  export class KeepAliveService {
14
+ // 用于存储 BaseComponent 的实例
16
15
  /**
17
16
  * @param {?} routes
18
17
  * @return {?}
@@ -128,13 +127,25 @@ export class KeepAliveService {
128
127
  * @return {?}
129
128
  */
130
129
  clearAllCache() {
130
+ sessionStorage.removeItem("TabCache");
131
+ if (this.baseComponent) {
132
+ this.baseComponent.ngOnDestroy();
133
+ }
131
134
  storedRoutes.clear();
132
135
  }
136
+ /**
137
+ * @param {?} component
138
+ * @return {?}
139
+ */
140
+ setBaseComponent(component) {
141
+ this.baseComponent = component;
142
+ }
143
+ }
144
+ if (false) {
145
+ /**
146
+ * @type {?}
147
+ * @private
148
+ */
149
+ KeepAliveService.prototype.baseComponent;
133
150
  }
134
- KeepAliveService.decorators = [
135
- { type: Injectable, args: [{
136
- providedIn: "root",
137
- },] }
138
- ];
139
- /** @nocollapse */ KeepAliveService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function KeepAliveService_Factory() { return new KeepAliveService(); }, token: KeepAliveService, providedIn: "root" });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VlcC1hbGl2ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlL2tlZXAtYWxpdmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztNQU9yQyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQStCOztJQUN2RCxhQUFxQjs7SUFDckIsYUFBYSxHQUFhLEVBQUU7O0FBSWhDLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7O0lBQzNCLGdCQUFnQixDQUFDLE1BQWdCO1FBQy9CLGFBQWEsR0FBRyxNQUFNLENBQUMsQ0FBQyxXQUFXO0lBQ3JDLENBQUM7Ozs7O0lBQ0QsWUFBWSxDQUFDLEtBQTZCOztZQUNwQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVc7UUFDOUIsd0VBQXdFO1FBQ3hFLElBQUksYUFBYSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUMscUJBQXFCO1lBQ3JCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUMvQixhQUFhLEdBQUcsRUFBRSxDQUFDO2FBQ3BCO1lBQ0QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksTUFBTSxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzlELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxnQ0FBZ0M7UUFDaEMsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQ3hDLENBQUM7Ozs7OztJQUVELEtBQUssQ0FBQyxLQUE2QixFQUFFLE1BQTJCOzs7O2NBR3hELEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNwQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxLQUE2Qjs7Y0FDbEMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs7OztJQUVELFFBQVEsQ0FBQyxLQUE2Qjs7WUFDaEMsTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXOztjQUN4QixHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDcEMsaUZBQWlGO1FBQ2pGLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUNsQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN2QyxDQUFDOzs7Ozs7SUFFRCxnQkFBZ0IsQ0FDZCxNQUE4QixFQUM5QixJQUE0QjtRQUU1QixpREFBaUQ7UUFDakQsa0RBQWtEO1FBQ2xELElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzNDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDOUQsc0NBQXNDO2dCQUN0QyxPQUFPLENBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7d0JBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUNuQyxDQUFDO2FBQ0g7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTs7O2tCQUVmLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFOztrQkFDL0QsR0FBRyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUc7Ozs7WUFBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDbkUsT0FBTyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzRDtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7Ozs7SUFFRCxVQUFVLENBQUMsSUFBWTtRQUNyQixpREFBaUQ7UUFDakQsYUFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCxhQUFhO1FBQ1gsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OztZQXBGRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBSb3V0ZVJldXNlU3RyYXRlZ3ksXHJcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICBEZXRhY2hlZFJvdXRlSGFuZGxlLFxyXG59IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmNvbnN0IHN0b3JlZFJvdXRlcyA9IG5ldyBNYXA8c3RyaW5nLCBEZXRhY2hlZFJvdXRlSGFuZGxlPigpO1xyXG5sZXQgdG9CZURlbGV0ZVVybDogc3RyaW5nO1xyXG5sZXQgZXhjbHVkZVJvdXRlczogc3RyaW5nW10gPSBbXTsgLy8g5LiN6ZyA6KaB57yT5a2Y55qEdXJsXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEtlZXBBbGl2ZVNlcnZpY2UgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xyXG4gIHNldEV4Y2x1ZGVSb3V0ZXMocm91dGVzOiBzdHJpbmdbXSkge1xyXG4gICAgZXhjbHVkZVJvdXRlcyA9IHJvdXRlczsgLy8g6K6+572u5LiN57yT5a2Y55qE6Lev55SxXHJcbiAgfVxyXG4gIHNob3VsZERldGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGNvbmZpZyA9IHJvdXRlLnJvdXRlQ29uZmlnO1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJzaG91bGREZXRhY2hcIiwgdG9CZURlbGV0ZVVybCwgdGhpcy5nZXRSb3V0ZVBhdGgocm91dGUpKTtcclxuICAgIGlmICh0b0JlRGVsZXRlVXJsID09PSB0aGlzLmdldFJvdXRlUGF0aChyb3V0ZSkpIHtcclxuICAgICAgLy8g5a+55LqO5paw5byA55qE5Y+I5Y2z5bCG5YWz6Zet55qEdGFi77yM5LiN57yT5a2YXHJcbiAgICAgIGlmIChyb3V0ZS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0b0JlRGVsZXRlVXJsID0gXCJcIjtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoY29uZmlnICYmIGV4Y2x1ZGVSb3V0ZXMuaW5jbHVkZXModGhpcy5nZXRSb3V0ZVBhdGgocm91dGUpKSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICAvL0Rvbid0IHN0b3JlIGxhenkgbG9hZGVkIHJvdXRlc1xyXG4gICAgcmV0dXJuIGNvbmZpZyAmJiAhY29uZmlnLmxvYWRDaGlsZHJlbjtcclxuICB9XHJcblxyXG4gIHN0b3JlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBoYW5kbGU6IERldGFjaGVkUm91dGVIYW5kbGUpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwic3RvcmVcIiwgdGhpcy5nZXRSb3V0ZVBhdGgocm91dGUpKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwic3RvcmVcIiwgc3RvcmVkUm91dGVzKTtcclxuICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0Um91dGVQYXRoKHJvdXRlKTtcclxuICAgIHN0b3JlZFJvdXRlcy5zZXQoa2V5LCBoYW5kbGUpO1xyXG4gIH1cclxuXHJcbiAgc2hvdWxkQXR0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldFJvdXRlUGF0aChyb3V0ZSk7XHJcbiAgICByZXR1cm4gISFyb3V0ZS5yb3V0ZUNvbmZpZyAmJiBzdG9yZWRSb3V0ZXMuaGFzKGtleSk7XHJcbiAgfVxyXG5cclxuICByZXRyaWV2ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IERldGFjaGVkUm91dGVIYW5kbGUge1xyXG4gICAgbGV0IGNvbmZpZyA9IHJvdXRlLnJvdXRlQ29uZmlnO1xyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5nZXRSb3V0ZVBhdGgocm91dGUpO1xyXG4gICAgLy9XZSBkb24ndCBzdG9yZSBsYXp5IGxvYWRlZCByb3V0ZXMsIHNvIGRvbid0IGV2ZW4gYm90aGVyIHRyeWluZyB0byByZXRyaWV2ZSB0aGVtXHJcbiAgICBpZiAoIWNvbmZpZyB8fCBjb25maWcubG9hZENoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdG9yZWRSb3V0ZXMuZ2V0KGtleSkgfHwgbnVsbDtcclxuICB9XHJcblxyXG4gIHNob3VsZFJldXNlUm91dGUoXHJcbiAgICBmdXR1cmU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBjdXJyOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcInNob3VsZFJldXNlUm91dGVcIiwgZnV0dXJlLCBjdXJyKTtcclxuICAgIC8vIHJldHVybiBmdXR1cmUucm91dGVDb25maWcgPT09IGN1cnIucm91dGVDb25maWc7XHJcbiAgICBpZiAoZnV0dXJlLnJvdXRlQ29uZmlnID09PSBjdXJyLnJvdXRlQ29uZmlnKSB7XHJcbiAgICAgIGlmIChmdXR1cmUuY2hpbGRyZW4ubGVuZ3RoID09PSAwICYmIGN1cnIuY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgLy8g5peg5a2Q6Lev55Sx5pe2LCDpgJrov4dwYXJhbXPlkoxxdWVyeVBhcmFtc+WIpOaWreaYr+WQpuWkjeeUqOi3r+eUsVxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShmdXR1cmUucGFyYW1zKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3Vyci5wYXJhbXMpICYmXHJcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShmdXR1cmUucXVlcnlQYXJhbXMpID09PVxyXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeShjdXJyLnF1ZXJ5UGFyYW1zKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXRSb3V0ZVBhdGgocm91dGUpOiBzdHJpbmcge1xyXG4gICAgaWYgKHJvdXRlLnJvdXRlQ29uZmlnKSB7XHJcbiAgICAgIC8vIGNvbnN0IHBhdGhQYXJhbXMgPSBKU09OLnN0cmluZ2lmeShyb3V0ZS5wYXJhbXMpO1xyXG4gICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocm91dGUucXVlcnlQYXJhbXMpLnRvU3RyaW5nKCk7XHJcbiAgICAgIGNvbnN0IHVybCA9IHJvdXRlLl91cmxTZWdtZW50LnNlZ21lbnRzLm1hcCgodikgPT4gdi5wYXRoKS5qb2luKFwiL1wiKTtcclxuICAgICAgcmV0dXJuIFwiL1wiICsgdXJsICsgKHF1ZXJ5UGFyYW1zID8gXCI/XCIgKyBxdWVyeVBhcmFtcyA6IFwiXCIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBjbGVhckNhY2hlKHBhdGg6IHN0cmluZykge1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJjbGVhckNhY2hlXCIsIHN0b3JlZFJvdXRlcywgcGF0aCk7XHJcbiAgICB0b0JlRGVsZXRlVXJsID0gcGF0aDtcclxuICAgIHN0b3JlZFJvdXRlcy5kZWxldGUocGF0aCk7XHJcbiAgfVxyXG5cclxuICBjbGVhckFsbENhY2hlKCkge1xyXG4gICAgc3RvcmVkUm91dGVzLmNsZWFyKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VlcC1hbGl2ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlL2tlZXAtYWxpdmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7TUFPTSxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQStCOztJQUN2RCxhQUFxQjs7SUFDckIsYUFBYSxHQUFhLEVBQUU7O0FBQ2hDLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7OztJQUczQixnQkFBZ0IsQ0FBQyxNQUFnQjtRQUMvQixhQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMsV0FBVztJQUNyQyxDQUFDOzs7OztJQUNELFlBQVksQ0FBQyxLQUE2Qjs7WUFDcEMsTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXO1FBQzlCLHdFQUF3RTtRQUN4RSxJQUFJLGFBQWEsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlDLHFCQUFxQjtZQUNyQixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDL0IsYUFBYSxHQUFHLEVBQUUsQ0FBQzthQUNwQjtZQUNELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLE1BQU0sSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUM5RCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsZ0NBQWdDO1FBQ2hDLE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUN4QyxDQUFDOzs7Ozs7SUFFRCxLQUFLLENBQUMsS0FBNkIsRUFBRSxNQUEyQjs7OztjQUd4RCxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDcEMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsS0FBNkI7O2NBQ2xDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNwQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Ozs7SUFFRCxRQUFRLENBQUMsS0FBNkI7O1lBQ2hDLE1BQU0sR0FBRyxLQUFLLENBQUMsV0FBVzs7Y0FDeEIsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3BDLGlGQUFpRjtRQUNqRixJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDbEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDdkMsQ0FBQzs7Ozs7O0lBRUQsZ0JBQWdCLENBQ2QsTUFBOEIsRUFDOUIsSUFBNEI7UUFFNUIsaURBQWlEO1FBQ2pELGtEQUFrRDtRQUNsRCxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMzQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzlELHNDQUFzQztnQkFDdEMsT0FBTyxDQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztvQkFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO3dCQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDbkMsQ0FBQzthQUNIO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsS0FBSztRQUNoQixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7OztrQkFFZixXQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRTs7a0JBQy9ELEdBQUcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ25FLE9BQU8sR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0Q7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDckIsaURBQWlEO1FBQ2pELGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7O0lBRUQsYUFBYTtRQUNYLGNBQWMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbEM7UUFDRCxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFjO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjs7Ozs7O0lBM0ZDLHlDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIFJvdXRlUmV1c2VTdHJhdGVneSxcclxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gIERldGFjaGVkUm91dGVIYW5kbGUsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuY29uc3Qgc3RvcmVkUm91dGVzID0gbmV3IE1hcDxzdHJpbmcsIERldGFjaGVkUm91dGVIYW5kbGU+KCk7XHJcbmxldCB0b0JlRGVsZXRlVXJsOiBzdHJpbmc7XHJcbmxldCBleGNsdWRlUm91dGVzOiBzdHJpbmdbXSA9IFtdOyAvLyDkuI3pnIDopoHnvJPlrZjnmoR1cmxcclxuZXhwb3J0IGNsYXNzIEtlZXBBbGl2ZVNlcnZpY2UgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xyXG4gIHByaXZhdGUgYmFzZUNvbXBvbmVudDogYW55OyAvLyDnlKjkuo7lrZjlgqggQmFzZUNvbXBvbmVudCDnmoTlrp7kvotcclxuXHJcbiAgc2V0RXhjbHVkZVJvdXRlcyhyb3V0ZXM6IHN0cmluZ1tdKSB7XHJcbiAgICBleGNsdWRlUm91dGVzID0gcm91dGVzOyAvLyDorr7nva7kuI3nvJPlrZjnmoTot6/nlLFcclxuICB9XHJcbiAgc2hvdWxkRGV0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgY29uZmlnID0gcm91dGUucm91dGVDb25maWc7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcInNob3VsZERldGFjaFwiLCB0b0JlRGVsZXRlVXJsLCB0aGlzLmdldFJvdXRlUGF0aChyb3V0ZSkpO1xyXG4gICAgaWYgKHRvQmVEZWxldGVVcmwgPT09IHRoaXMuZ2V0Um91dGVQYXRoKHJvdXRlKSkge1xyXG4gICAgICAvLyDlr7nkuo7mlrDlvIDnmoTlj4jljbPlsIblhbPpl63nmoR0YWLvvIzkuI3nvJPlrZhcclxuICAgICAgaWYgKHJvdXRlLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRvQmVEZWxldGVVcmwgPSBcIlwiO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChjb25maWcgJiYgZXhjbHVkZVJvdXRlcy5pbmNsdWRlcyh0aGlzLmdldFJvdXRlUGF0aChyb3V0ZSkpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIC8vRG9uJ3Qgc3RvcmUgbGF6eSBsb2FkZWQgcm91dGVzXHJcbiAgICByZXR1cm4gY29uZmlnICYmICFjb25maWcubG9hZENoaWxkcmVuO1xyXG4gIH1cclxuXHJcbiAgc3RvcmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGhhbmRsZTogRGV0YWNoZWRSb3V0ZUhhbmRsZSk6IHZvaWQge1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJzdG9yZVwiLCB0aGlzLmdldFJvdXRlUGF0aChyb3V0ZSkpO1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJzdG9yZVwiLCBzdG9yZWRSb3V0ZXMpO1xyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5nZXRSb3V0ZVBhdGgocm91dGUpO1xyXG4gICAgc3RvcmVkUm91dGVzLnNldChrZXksIGhhbmRsZSk7XHJcbiAgfVxyXG5cclxuICBzaG91bGRBdHRhY2gocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0Um91dGVQYXRoKHJvdXRlKTtcclxuICAgIHJldHVybiAhIXJvdXRlLnJvdXRlQ29uZmlnICYmIHN0b3JlZFJvdXRlcy5oYXMoa2V5KTtcclxuICB9XHJcblxyXG4gIHJldHJpZXZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogRGV0YWNoZWRSb3V0ZUhhbmRsZSB7XHJcbiAgICBsZXQgY29uZmlnID0gcm91dGUucm91dGVDb25maWc7XHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldFJvdXRlUGF0aChyb3V0ZSk7XHJcbiAgICAvL1dlIGRvbid0IHN0b3JlIGxhenkgbG9hZGVkIHJvdXRlcywgc28gZG9uJ3QgZXZlbiBib3RoZXIgdHJ5aW5nIHRvIHJldHJpZXZlIHRoZW1cclxuICAgIGlmICghY29uZmlnIHx8IGNvbmZpZy5sb2FkQ2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0b3JlZFJvdXRlcy5nZXQoa2V5KSB8fCBudWxsO1xyXG4gIH1cclxuXHJcbiAgc2hvdWxkUmV1c2VSb3V0ZShcclxuICAgIGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIGN1cnI6IEFjdGl2YXRlZFJvdXRlU25hcHNob3RcclxuICApOiBib29sZWFuIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwic2hvdWxkUmV1c2VSb3V0ZVwiLCBmdXR1cmUsIGN1cnIpO1xyXG4gICAgLy8gcmV0dXJuIGZ1dHVyZS5yb3V0ZUNvbmZpZyA9PT0gY3Vyci5yb3V0ZUNvbmZpZztcclxuICAgIGlmIChmdXR1cmUucm91dGVDb25maWcgPT09IGN1cnIucm91dGVDb25maWcpIHtcclxuICAgICAgaWYgKGZ1dHVyZS5jaGlsZHJlbi5sZW5ndGggPT09IDAgJiYgY3Vyci5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAvLyDml6DlrZDot6/nlLHml7YsIOmAmui/h3BhcmFtc+WSjHF1ZXJ5UGFyYW1z5Yik5pat5piv5ZCm5aSN55So6Lev55SxXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGZ1dHVyZS5wYXJhbXMpID09PSBKU09OLnN0cmluZ2lmeShjdXJyLnBhcmFtcykgJiZcclxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGZ1dHVyZS5xdWVyeVBhcmFtcykgPT09XHJcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGN1cnIucXVlcnlQYXJhbXMpXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldFJvdXRlUGF0aChyb3V0ZSk6IHN0cmluZyB7XHJcbiAgICBpZiAocm91dGUucm91dGVDb25maWcpIHtcclxuICAgICAgLy8gY29uc3QgcGF0aFBhcmFtcyA9IEpTT04uc3RyaW5naWZ5KHJvdXRlLnBhcmFtcyk7XHJcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhyb3V0ZS5xdWVyeVBhcmFtcykudG9TdHJpbmcoKTtcclxuICAgICAgY29uc3QgdXJsID0gcm91dGUuX3VybFNlZ21lbnQuc2VnbWVudHMubWFwKCh2KSA9PiB2LnBhdGgpLmpvaW4oXCIvXCIpO1xyXG4gICAgICByZXR1cm4gXCIvXCIgKyB1cmwgKyAocXVlcnlQYXJhbXMgPyBcIj9cIiArIHF1ZXJ5UGFyYW1zIDogXCJcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG4gIGNsZWFyQ2FjaGUocGF0aDogc3RyaW5nKSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcImNsZWFyQ2FjaGVcIiwgc3RvcmVkUm91dGVzLCBwYXRoKTtcclxuICAgIHRvQmVEZWxldGVVcmwgPSBwYXRoO1xyXG4gICAgc3RvcmVkUm91dGVzLmRlbGV0ZShwYXRoKTtcclxuICB9XHJcblxyXG4gIGNsZWFyQWxsQ2FjaGUoKSB7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFwiVGFiQ2FjaGVcIik7XHJcbiAgICBpZiAodGhpcy5iYXNlQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuYmFzZUNvbXBvbmVudC5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG4gICAgc3RvcmVkUm91dGVzLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBzZXRCYXNlQ29tcG9uZW50KGNvbXBvbmVudDogYW55KSB7XHJcbiAgICB0aGlzLmJhc2VDb21wb25lbnQgPSBjb21wb25lbnQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==