@sd-angular/core 1.0.67 → 1.0.70

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.
Files changed (31) hide show
  1. package/bundles/sd-angular-core-grid-material.umd.js +50 -17
  2. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  3. package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
  4. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  5. package/bundles/sd-angular-core-popover.umd.js +17 -1
  6. package/bundles/sd-angular-core-popover.umd.js.map +1 -1
  7. package/bundles/sd-angular-core-popover.umd.min.js +2 -2
  8. package/bundles/sd-angular-core-popover.umd.min.js.map +1 -1
  9. package/bundles/sd-angular-core-setting.umd.js +30 -8
  10. package/bundles/sd-angular-core-setting.umd.js.map +1 -1
  11. package/bundles/sd-angular-core-setting.umd.min.js +1 -1
  12. package/bundles/sd-angular-core-setting.umd.min.js.map +1 -1
  13. package/esm2015/grid-material/src/lib/grid-material.component.js +16 -8
  14. package/esm2015/grid-material/src/lib/models/grid-action.model.js +1 -1
  15. package/esm2015/grid-material/src/lib/models/grid.model.js +1 -1
  16. package/esm2015/grid-material/src/lib/pipes/selection-visible.pipe.js +31 -6
  17. package/esm2015/popover/src/lib/popover/popover.component.js +19 -3
  18. package/esm2015/setting/src/lib/setting.service.js +31 -9
  19. package/fesm2015/sd-angular-core-grid-material.js +45 -12
  20. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  21. package/fesm2015/sd-angular-core-popover.js +17 -1
  22. package/fesm2015/sd-angular-core-popover.js.map +1 -1
  23. package/fesm2015/sd-angular-core-setting.js +30 -8
  24. package/fesm2015/sd-angular-core-setting.js.map +1 -1
  25. package/grid-material/src/lib/grid-material.component.d.ts +1 -1
  26. package/grid-material/src/lib/models/grid-action.model.d.ts +2 -0
  27. package/grid-material/src/lib/models/grid.model.d.ts +4 -3
  28. package/package.json +1 -1
  29. package/popover/sd-angular-core-popover.metadata.json +1 -1
  30. package/popover/src/lib/popover/popover.component.d.ts +4 -2
  31. package/{sd-angular-core-1.0.67.tgz → sd-angular-core-1.0.70.tgz} +0 -0
@@ -1,6 +1,6 @@
1
1
  var _xPosition;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, } from "@angular/core";
3
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Input, Output, TemplateRef, ViewChild, ViewEncapsulation } from "@angular/core";
4
4
  import * as uuid from "uuid";
5
5
  import { DeviceDetectorService } from "ngx-device-detector";
6
6
  import { BehaviorSubject } from "rxjs";
@@ -16,6 +16,7 @@ export class PopoverComponent {
16
16
  this.panelClass = "";
17
17
  this.width = "sm";
18
18
  this.height = "auto";
19
+ this.type = "normal";
19
20
  _xPosition.set(this, void 0);
20
21
  this.closed = new EventEmitter();
21
22
  this.close = () => {
@@ -72,6 +73,20 @@ export class PopoverComponent {
72
73
  }
73
74
  }
74
75
  }
76
+ ngOnChanges(changes) {
77
+ var _a;
78
+ if (changes.type) {
79
+ const type = changes.type.currentValue;
80
+ const preType = changes.type.previousValue;
81
+ const classes = (_a = this.classList) !== null && _a !== void 0 ? _a : {};
82
+ if (preType) {
83
+ classes[`sd-popover--${preType}`] = false;
84
+ }
85
+ if (type) {
86
+ classes[`sd-popover--${type}`] = true;
87
+ }
88
+ }
89
+ }
75
90
  ngOnInit() {
76
91
  this.setPositionClasses();
77
92
  this.width = this.width || "80vw";
@@ -102,7 +117,7 @@ PopoverComponent.decorators = [
102
117
  encapsulation: ViewEncapsulation.None,
103
118
  exportAs: "sdPopover",
104
119
  changeDetection: ChangeDetectionStrategy.OnPush,
105
- styles: [".sd-popover-panel{background-color:#fff;position:relative}.sd-popover-panel .sd-popover-arrow{clear:both;height:0;left:50%;position:absolute;width:0}.sd-popover-panel.sd-popover-above .sd-popover-arrow{border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid #fff;top:100%;transform:translateX(-6px) translateY(-1px)}.sd-popover-panel.sd-popover-above:after{content:\" \";display:block;height:16px;position:absolute;width:100%}.sd-popover-panel.sd-popover-below .sd-popover-arrow{border-bottom:12px solid #fff;border-left:12px solid transparent;border-right:12px solid transparent;bottom:100%;transform:translateX(-6px) translateY(1px)}.sd-popover-panel.sd-popover-below:before{content:\" \";display:block;height:16px;position:absolute;width:100%}.sd-popover-content{padding:16px}"]
120
+ styles: [".text-black400{color:#757575}.sd-popover-panel{position:relative}.sd-popover-panel .sd-popover-arrow{clear:both;height:0;left:50%;position:absolute;width:0}.sd-popover-panel.sd-popover-above .sd-popover-arrow{border-color:#fff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%;transform:translateX(-6px) translateY(-1px)}.sd-popover-panel.sd-popover-above:after{content:\" \";display:block;height:16px;position:absolute;width:100%}.sd-popover-panel.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #fff;border-style:solid;border-width:0 12px 12px;bottom:100%;transform:translateX(-6px) translateY(1px)}.sd-popover-panel.sd-popover-below:before{content:\" \";display:block;height:16px;position:absolute;width:100%}.sd-popover--normal{background:#fff;color:#000}.sd-popover--normal.sd-popover-above .sd-popover-arrow{border-color:#fff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--normal.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #fff;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--primary{background:#e7e9ff;color:#2962ff}.sd-popover--primary.sd-popover-above .sd-popover-arrow{border-color:#e7e9ff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--primary.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #e7e9ff;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--info{background:#e7e9ff;color:#2962ff}.sd-popover--info.sd-popover-above .sd-popover-arrow{border-color:#e7e9ff transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--info.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #e7e9ff;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--success{background:#dbefdc;color:#4caf50}.sd-popover--success.sd-popover-above .sd-popover-arrow{border-color:#dbefdc transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--success.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #dbefdc;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--warning{background:#ffeacc;color:#ff9600}.sd-popover--warning.sd-popover-above .sd-popover-arrow{border-color:#ffeacc transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--warning.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #ffeacc;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover--danger{background:#fed5d0;color:#f82c13}.sd-popover--danger.sd-popover-above .sd-popover-arrow{border-color:#fed5d0 transparent transparent;border-style:solid;border-width:12px 12px 0;top:100%}.sd-popover--danger.sd-popover-below .sd-popover-arrow{border-color:transparent transparent #fed5d0;border-style:solid;border-width:0 12px 12px;bottom:100%}.sd-popover-content{padding:16px}"]
106
121
  },] }
107
122
  ];
108
123
  PopoverComponent.ctorParameters = () => [
@@ -115,8 +130,9 @@ PopoverComponent.propDecorators = {
115
130
  panelClass: [{ type: Input }],
116
131
  width: [{ type: Input }],
117
132
  height: [{ type: Input }],
133
+ type: [{ type: Input }],
118
134
  position: [{ type: Input }],
119
135
  closed: [{ type: Output }],
120
136
  _hostClick: [{ type: HostListener, args: ['document:click', ['$event.target'],] }]
121
137
  };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3BvcG92ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFldkMsTUFBTSxPQUFPLGdCQUFnQjtJQW1DM0IsWUFDVSxLQUF3QixFQUN4QixhQUFvQztRQURwQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFwQzlDLGNBQVMsR0FBNEIsRUFBRSxDQUFDO1FBQ3hDLFlBQU8sR0FBRyxvQkFBb0IsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDMUMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEQsWUFBTyxHQUE0QixJQUFJLENBQUM7UUFLL0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixVQUFLLEdBQWdDLElBQUksQ0FBQztRQUMxQyxXQUFNLEdBQVcsTUFBTSxDQUFDO1FBU2pDLDZCQUFxQjtRQUVGLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBMENyRCxVQUFL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SSxDQUFDLEtBQUssRUFBRTtnQkFDbEIsS0FBSyxJQUFJO29CQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO29CQUNwQixNQUFNO2dCQUNSLEtBQUssSUFBSTtvQkFDUCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztvQkFDcEIsTUFBTTtnQkFDUixLQUFLLElBQUk7b0JBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7b0JBQ3BCLE1BQU07YUFDVDtTQUNGO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7OztZQXZFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLHVlQUF1QztnQkFFdkMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFFBQVEsRUFBRSxXQUFXO2dCQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQTlCQyxpQkFBaUI7WUFlVixxQkFBcUI7OzswQkF1QjNCLFNBQVMsU0FBQyxXQUFXO29CQUNyQixTQUFTLFNBQUMsT0FBTzt5QkFFakIsS0FBSztvQkFDTCxLQUFLO3FCQUNMLEtBQUs7dUJBQ0wsS0FBSztxQkFVTCxNQUFNO3lCQUVOLFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vcG9wb3Zlci5tb2RlbFwiO1xyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gXCJ1dWlkXCI7XHJcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gXCJuZ3gtZGV2aWNlLWRldGVjdG9yXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZXMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZFBvcG92ZXIge1xyXG4gIGNsb3NlOiAoKSA9PiB2b2lkO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzZC1wb3BvdmVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3BvcG92ZXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBleHBvcnRBczogXCJzZFBvcG92ZXJcIixcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb21wb25lbnQgaW1wbGVtZW50cyBTZFBvcG92ZXIsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBjbGFzc0xpc3Q6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XHJcbiAgcGFuZWxJZCA9IGBzZC1wb3BvdmVyLXBhbmVsLSR7dXVpZC52NCgpfWA7XHJcbiAgaXNNb2JpbGVPclRhYmxldCA9IGZhbHNlO1xyXG4gIG1vdXNlU3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgdHJpZ2dlcjogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgPSBudWxsO1xyXG5cclxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKFwicGFuZWxcIikgcGFuZWw6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBASW5wdXQoKSBwYW5lbENsYXNzOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHdpZHRoOiBcImxnXCIgfCBcIm1kXCIgfCBcInNtXCIgfCBzdHJpbmcgPSBcInNtXCI7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSBcImF1dG9cIjtcclxuICBASW5wdXQoKVxyXG4gIGdldCBwb3NpdGlvbigpOiBQb3NpdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy4jeFBvc2l0aW9uO1xyXG4gIH1cclxuICBzZXQgcG9zaXRpb24odmFsdWU6IFBvc2l0aW9uKSB7XHJcbiAgICB0aGlzLiN4UG9zaXRpb24gPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb25DbGFzc2VzKCk7XHJcbiAgfVxyXG4gICN4UG9zaXRpb246IFBvc2l0aW9uO1xyXG5cclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxyXG4gIF9ob3N0Q2xpY2sodGFyZ2V0RWxlbWVudCkge1xyXG4gICAgaWYgKHRoaXMucGFuZWw/Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgaXNJbnNpZGUgPSB0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XHJcbiAgICAgIGlmICghaXNJbnNpZGUpIHtcclxuICAgICAgICB0aGlzLnNldE1vdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBkZXZpY2VTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuaXNNb2JpbGVPclRhYmxldCA9ICFkZXZpY2VTZXJ2aWNlLmlzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFBvc2l0aW9uQ2xhc3NlcygpO1xyXG4gICAgdGhpcy53aWR0aCA9IHRoaXMud2lkdGggfHwgXCI4MHZ3XCI7XHJcbiAgICBpZiAoIXRoaXMuaXNNb2JpbGVPclRhYmxldCkge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMud2lkdGgpIHtcclxuICAgICAgICBjYXNlIFwibGdcIjpcclxuICAgICAgICAgIHRoaXMud2lkdGggPSBcIjgwdndcIjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJtZFwiOlxyXG4gICAgICAgICAgdGhpcy53aWR0aCA9IFwiNjB2d1wiO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcInNtXCI6XHJcbiAgICAgICAgICB0aGlzLndpZHRoID0gXCI0MHZ3XCI7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlZC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5tb3VzZVN0YXRlJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UgPSAoKSA9PiB7XHJcbiAgICB0aGlzLm1vdXNlU3RhdGUkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xyXG4gIH07XHJcblxyXG4gIHNldFBvc2l0aW9uQ2xhc3NlcyA9IChwb3M6IFBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbikgPT4ge1xyXG4gICAgY29uc3QgY2xhc3NlcyA9IHRoaXMuY2xhc3NMaXN0O1xyXG4gICAgY2xhc3Nlc1tcInNkLXBvcG92ZXItYWJvdmVcIl0gPSBwb3MgPT09IFwiYWJvdmVcIjtcclxuICAgIGNsYXNzZXNbXCJzZC1wb3BvdmVyLWJlbG93XCJdID0gcG9zID09PSBcImJlbG93XCI7XHJcblxyXG4gICAgdGhpcy5jZFJlZj8ubWFya0ZvckNoZWNrKCk7XHJcbiAgfTtcclxuXHJcbiAgYWRkQXJyb3dUcmFuc2xhdGVYID0gKG9mZnNldDogbnVtYmVyKSA9PiB7XHJcbiAgICBjb25zdCBhcnJvd0VsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7dGhpcy5wYW5lbElkfSAuc2QtcG9wb3Zlci1hcnJvd2ApO1xyXG4gICAgaWYgKGFycm93RWxlbWVudCAmJiBvZmZzZXQpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGFycm93RWxlbWVudCk7XHJcbiAgICAgICAgY29uc3QgbWF0cml4ID0gbmV3IFdlYktpdENTU01hdHJpeChzdHlsZS50cmFuc2Zvcm0pO1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZVggPSBtYXRyaXgubTQxICsgb2Zmc2V0O1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZVkgPSBtYXRyaXgubTQyO1xyXG4gICAgICAgIGFycm93RWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWCgke3RyYW5zbGF0ZVh9cHgpIHRyYW5zbGF0ZVkoJHt0cmFuc2xhdGVZfXB4KWA7XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHNldE1vdXNlU3RhdGUgPSAodmlzaWJsZTogYm9vbGVhbikgPT4ge1xyXG4gICAgaWYgKCF2aXNpYmxlKSB7XHJcbiAgICAgIC8vIGNo4buJIMSRxrDhu6NjIHThuq90IGtoaSDEkWFuZyBraMO0bmcgZm9jdXMgZWxlbWVudCBuw6BvIGLDqm4gdHJvbmcgcGFuZWxcclxuICAgICAgLy8gdHLDoW5oIGzhu5dpIGPDsyBjb250cm9sIG3hu58gb3ZlcmxheSBraGnhur9uIGNobyBt4bqldCBtb3VzZWVudGVyIOG7nyBwYW5lbFxyXG4gICAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICAgICAgY29uc3QgcGFuZWxFbGVtZW50ID0gdGhpcy5wYW5lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBpZiAocGFuZWxFbGVtZW50Py5jb250YWlucyhhY3RpdmVFbGVtZW50KSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5tb3VzZVN0YXRlJC5uZXh0KHZpc2libGUpO1xyXG4gIH07XHJcbn1cclxuIl19
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3BvcG92ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBR2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFldkMsTUFBTSxPQUFPLGdCQUFnQjtJQW9DM0IsWUFDVSxLQUF3QixFQUN4QixhQUFvQztRQURwQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFyQzlDLGNBQVMsR0FBNEIsRUFBRSxDQUFDO1FBQ3hDLFlBQU8sR0FBRyxvQkFBb0IsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDMUMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEQsWUFBTyxHQUE0QixJQUFJLENBQUM7UUFLL0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixVQUFLLEdBQWdDLElBQUksQ0FBQztRQUMxQyxXQUFNLEdBQVcsTUFBTSxDQUFDO1FBQ3hCLFNBQUksR0FBcUUsUUFBUSxDQUFDO1FBUzNGLDZCQUFxQjtRQUVGLFdBQU0sR0FBRyxJQUFJ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O1lBaUJWLHFCQUFxQjs7OzBCQXVCM0IsU0FBUyxTQUFDLFdBQVc7b0JBQ3JCLFNBQVMsU0FBQyxPQUFPO3lCQUVqQixLQUFLO29CQUNMLEtBQUs7cUJBQ0wsS0FBSzttQkFDTCxLQUFLO3VCQUNMLEtBQUs7cUJBVUwsTUFBTTt5QkFFTixZQUFZLFNBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vcG9wb3Zlci5tb2RlbFwiO1xyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gXCJ1dWlkXCI7XHJcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gXCJuZ3gtZGV2aWNlLWRldGVjdG9yXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZXMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZFBvcG92ZXIge1xyXG4gIGNsb3NlOiAoKSA9PiB2b2lkO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzZC1wb3BvdmVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3BvcG92ZXIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBleHBvcnRBczogXCJzZFBvcG92ZXJcIixcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb21wb25lbnQgaW1wbGVtZW50cyBTZFBvcG92ZXIsIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNsYXNzTGlzdDogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcclxuICBwYW5lbElkID0gYHNkLXBvcG92ZXItcGFuZWwtJHt1dWlkLnY0KCl9YDtcclxuICBpc01vYmlsZU9yVGFibGV0ID0gZmFsc2U7XHJcbiAgbW91c2VTdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICB0cmlnZ2VyOiBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSA9IG51bGw7XHJcblxyXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoXCJwYW5lbFwiKSBwYW5lbDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBJbnB1dCgpIHBhbmVsQ2xhc3M6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgd2lkdGg6IFwibGdcIiB8IFwibWRcIiB8IFwic21cIiB8IHN0cmluZyA9IFwic21cIjtcclxuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9IFwiYXV0b1wiO1xyXG4gIEBJbnB1dCgpIHR5cGU6ICdub3JtYWwnIHwgJ3ByaW1hcnknIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgPSBcIm5vcm1hbFwiO1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHBvc2l0aW9uKCk6IFBvc2l0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLiN4UG9zaXRpb247XHJcbiAgfVxyXG4gIHNldCBwb3NpdGlvbih2YWx1ZTogUG9zaXRpb24pIHtcclxuICAgIHRoaXMuI3hQb3NpdGlvbiA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRQb3NpdGlvbkNsYXNzZXMoKTtcclxuICB9XHJcbiAgI3hQb3NpdGlvbjogUG9zaXRpb247XHJcblxyXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXHJcbiAgX2hvc3RDbGljayh0YXJnZXRFbGVtZW50KSB7XHJcbiAgICBpZiAodGhpcy5wYW5lbD8ubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICBjb25zdCBpc0luc2lkZSA9IHRoaXMucGFuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcclxuICAgICAgaWYgKCFpc0luc2lkZSkge1xyXG4gICAgICAgIHRoaXMuc2V0TW91c2VTdGF0ZShmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGRldmljZVNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5pc01vYmlsZU9yVGFibGV0ID0gIWRldmljZVNlcnZpY2UuaXNEZXNrdG9wKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzLnR5cGUpIHtcclxuICAgICAgY29uc3QgdHlwZSA9IGNoYW5nZXMudHlwZS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIGNvbnN0IHByZVR5cGUgPSBjaGFuZ2VzLnR5cGUucHJldmlvdXNWYWx1ZTtcclxuICAgICAgY29uc3QgY2xhc3NlcyA9IHRoaXMuY2xhc3NMaXN0ID8/IHt9O1xyXG4gICAgICBpZiAocHJlVHlwZSkge1xyXG4gICAgICAgIGNsYXNzZXNbYHNkLXBvcG92ZXItLSR7cHJlVHlwZX1gXSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlKSB7XHJcbiAgICAgICAgY2xhc3Nlc1tgc2QtcG9wb3Zlci0tJHt0eXBlfWBdID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFBvc2l0aW9uQ2xhc3NlcygpO1xyXG4gICAgdGhpcy53aWR0aCA9IHRoaXMud2lkdGggfHwgXCI4MHZ3XCI7XHJcbiAgICBpZiAoIXRoaXMuaXNNb2JpbGVPclRhYmxldCkge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMud2lkdGgpIHtcclxuICAgICAgICBjYXNlIFwibGdcIjpcclxuICAgICAgICAgIHRoaXMud2lkdGggPSBcIjgwdndcIjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJtZFwiOlxyXG4gICAgICAgICAgdGhpcy53aWR0aCA9IFwiNjB2d1wiO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcInNtXCI6XHJcbiAgICAgICAgICB0aGlzLndpZHRoID0gXCI0MHZ3XCI7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlZC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5tb3VzZVN0YXRlJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UgPSAoKSA9PiB7XHJcbiAgICB0aGlzLm1vdXNlU3RhdGUkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5jbG9zZWQuZW1pdCgpO1xyXG4gIH07XHJcblxyXG4gIHNldFBvc2l0aW9uQ2xhc3NlcyA9IChwb3M6IFBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbikgPT4ge1xyXG4gICAgY29uc3QgY2xhc3NlcyA9IHRoaXMuY2xhc3NMaXN0O1xyXG4gICAgY2xhc3Nlc1tcInNkLXBvcG92ZXItYWJvdmVcIl0gPSBwb3MgPT09IFwiYWJvdmVcIjtcclxuICAgIGNsYXNzZXNbXCJzZC1wb3BvdmVyLWJlbG93XCJdID0gcG9zID09PSBcImJlbG93XCI7XHJcblxyXG4gICAgdGhpcy5jZFJlZj8ubWFya0ZvckNoZWNrKCk7XHJcbiAgfTtcclxuXHJcbiAgYWRkQXJyb3dUcmFuc2xhdGVYID0gKG9mZnNldDogbnVtYmVyKSA9PiB7XHJcbiAgICBjb25zdCBhcnJvd0VsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7dGhpcy5wYW5lbElkfSAuc2QtcG9wb3Zlci1hcnJvd2ApO1xyXG4gICAgaWYgKGFycm93RWxlbWVudCAmJiBvZmZzZXQpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGFycm93RWxlbWVudCk7XHJcbiAgICAgICAgY29uc3QgbWF0cml4ID0gbmV3IFdlYktpdENTU01hdHJpeChzdHlsZS50cmFuc2Zvcm0pO1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZVggPSBtYXRyaXgubTQxICsgb2Zmc2V0O1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZVkgPSBtYXRyaXgubTQyO1xyXG4gICAgICAgIGFycm93RWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWCgke3RyYW5zbGF0ZVh9cHgpIHRyYW5zbGF0ZVkoJHt0cmFuc2xhdGVZfXB4KWA7XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHNldE1vdXNlU3RhdGUgPSAodmlzaWJsZTogYm9vbGVhbikgPT4ge1xyXG4gICAgaWYgKCF2aXNpYmxlKSB7XHJcbiAgICAgIC8vIGNo4buJIMSRxrDhu6NjIHThuq90IGtoaSDEkWFuZyBraMO0bmcgZm9jdXMgZWxlbWVudCBuw6BvIGLDqm4gdHJvbmcgcGFuZWxcclxuICAgICAgLy8gdHLDoW5oIGzhu5dpIGPDsyBjb250cm9sIG3hu58gb3ZlcmxheSBraGnhur9uIGNobyBt4bqldCBtb3VzZWVudGVyIOG7nyBwYW5lbFxyXG4gICAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICAgICAgY29uc3QgcGFuZWxFbGVtZW50ID0gdGhpcy5wYW5lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBpZiAocGFuZWxFbGVtZW50Py5jb250YWlucyhhY3RpdmVFbGVtZW50KSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5tb3VzZVN0YXRlJC5uZXh0KHZpc2libGUpO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -35,6 +35,9 @@ export class SdSettingService {
35
35
  if (!cache) {
36
36
  return option === null || option === void 0 ? void 0 : option.default;
37
37
  }
38
+ if (cache.data === undefined) {
39
+ return undefined;
40
+ }
38
41
  return JSON.parse(JSON.stringify(cache.data));
39
42
  };
40
43
  });
@@ -51,15 +54,26 @@ export class SdSettingService {
51
54
  if (!cache) {
52
55
  return option === null || option === void 0 ? void 0 : option.default;
53
56
  }
57
+ if (cache.data === undefined) {
58
+ return undefined;
59
+ }
54
60
  return JSON.parse(JSON.stringify(cache.data));
55
61
  });
56
62
  });
57
63
  _set.set(this, (key, option) => {
58
64
  return (data) => {
59
- __classPrivateFieldGet(this, _cache)[key] = {
60
- data: JSON.parse(JSON.stringify(data)),
61
- createdOn: new Date()
62
- };
65
+ if (data === undefined) {
66
+ __classPrivateFieldGet(this, _cache)[key] = {
67
+ data: undefined,
68
+ createdOn: new Date()
69
+ };
70
+ }
71
+ else {
72
+ __classPrivateFieldGet(this, _cache)[key] = {
73
+ data: JSON.parse(JSON.stringify(data)),
74
+ createdOn: new Date()
75
+ };
76
+ }
63
77
  if ((option === null || option === void 0 ? void 0 : option.type) === 'session') {
64
78
  try {
65
79
  sessionStorage.setItem(key, JSON.stringify(__classPrivateFieldGet(this, _cache)[key]));
@@ -83,10 +97,18 @@ export class SdSettingService {
83
97
  _setServer.set(this, (key, option) => {
84
98
  return (data) => __awaiter(this, void 0, void 0, function* () {
85
99
  var _a;
86
- __classPrivateFieldGet(this, _cache)[key] = {
87
- data: JSON.parse(JSON.stringify(data)),
88
- createdOn: new Date()
89
- };
100
+ if (data === undefined) {
101
+ __classPrivateFieldGet(this, _cache)[key] = {
102
+ data: undefined,
103
+ createdOn: new Date()
104
+ };
105
+ }
106
+ else {
107
+ __classPrivateFieldGet(this, _cache)[key] = {
108
+ data: JSON.parse(JSON.stringify(data)),
109
+ createdOn: new Date()
110
+ };
111
+ }
90
112
  try {
91
113
  yield ((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.set(key, __classPrivateFieldGet(this, _cache)[key]));
92
114
  __classPrivateFieldGet(this, _subject)[key].next(__classPrivateFieldGet(this, _cache)[key].data);
@@ -256,4 +278,4 @@ SdSettingService.decorators = [
256
278
  SdSettingService.ctorParameters = () => [
257
279
  { type: undefined, decorators: [{ type: Inject, args: [SETTING_CONFIG,] }, { type: Optional }] }
258
280
  ];
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9zZXR0aW5nLyIsInNvdXJjZXMiOlsic3JjL2xpYi9zZXR0aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFXLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBNkYsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSzVJLE1BQU0sT0FBTyxnQkFBZ0I7SUFZM0IsWUFBd0QsYUFBb0M7UUFBcEMsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBWDVGLGlCQUtJLEVBQUUsRUFBQztRQUVQLG1CQUVJLEVBQUUsRUFBQztRQThFUCxlQUFPLENBQVUsR0FBVyxFQUFFLE1BQTJCLEVBQWEsRUFBRTtZQUN0RSxPQUFPLEdBQUcsRUFBRTtnQkFDVixJQUFJLEtBQUssR0FBRyxxQ0FBWSxHQUFHLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxJQUFJLE1BQUssU0FBUyxFQUFFO29CQUM5QixJQUFJO3dCQUNGLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztxQkFDakQ7b0JBQUMsV0FBTTt3QkFDTixLQUFLLEdBQUcsU0FBUyxDQUFDO3FCQUNuQjtpQkFDRjtxQkFBTTtvQkFD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b3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTRVRUSU5HX0NPTkZJRywgSVNldHRpbmdDb25maWd1cmF0aW9uLCBTZFNldHRpbmdPcHRpb24sIFNkU2V0dGluZywgU2RTZXR0aW5nU2VydmVyLCBTZFNldHRpbmdPcHRpb25TZXJ2ZXIgfSBmcm9tICcuL3NldHRpbmcubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RTZXR0aW5nU2VydmljZSB7XHJcbiAgI2NhY2hlOiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiB7XHJcbiAgICAgIGRhdGE6IGFueSxcclxuICAgICAgY3JlYXRlZE9uOiBEYXRlXHJcbiAgICB9XHJcbiAgfSA9IHt9O1xyXG5cclxuICAjc3ViamVjdDoge1xyXG4gICAgW2tleTogc3RyaW5nXTogQmVoYXZpb3JTdWJqZWN0PGFueT47XHJcbiAgfSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFNFVFRJTkdfQ09ORklHKSBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbmZpZ3VyYXRpb246IElTZXR0aW5nQ29uZmlndXJhdGlvbikgeyB9XHJcblxyXG4gIGNyZWF0ZTxUID0gYW55PihrZXk6IHN0cmluZyB8IG9iamVjdCwgb3B0aW9uPzogU2RTZXR0aW5nT3B0aW9uPFQ+KTogU2RTZXR0aW5nPFQ+IHtcclxuICAgIGlmICgha2V5KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignS2V5IGlzIHJlcXVpcmVkJyk7XHJcbiAgICB9XHJcbiAgICBsZXQgaGFzaEtleTogc3RyaW5nID0gbnVsbDtcclxuICAgIGlmICh0eXBlb2YgKGtleSkgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGhhc2hLZXkgPSBrZXk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiAoa2V5KSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgaGFzaEtleSA9IGhhc2goa2V5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXknKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24/LmNvbnZlcnRLZXkpIHtcclxuICAgICAgaGFzaEtleSA9IHRoaXMuY29uZmlndXJhdGlvbi5jb252ZXJ0S2V5KGhhc2hLZXkpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBjb25zdCBnZXQgPSB0aGlzLiNnZXQ8VD4oaGFzaEtleSwgb3B0aW9uKTtcclxuICAgIGNvbnN0IHNldCA9IHRoaXMuI3NldDxUPihoYXNoS2V5LCBvcHRpb24pO1xyXG4gICAgY29uc3QgaGFzID0gdGhpcy4jaGFzKGhhc2hLZXksIG9wdGlvbik7XHJcbiAgICBjb25zdCByZW1vdmUgPSB0aGlzLiNyZW1vdmUoaGFzaEtleSwgb3B0aW9uKTtcclxuICAgIGlmICghdGhpcy4jc3ViamVjdFtoYXNoS2V5XSkge1xyXG4gICAgICB0aGlzLiNzdWJqZWN0W2hhc2hLZXldID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUPihnZXQoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBnZXQsXHJcbiAgICAgIHNldCxcclxuICAgICAgaGFzLFxyXG4gICAgICByZW1vdmUsXHJcbiAgICAgIHN1YmplY3Q6IHRoaXMuI3N1YmplY3RbaGFzaEtleV0sXHJcbiAgICAgIG9ic2VydmVyOiB0aGlzLiNzdWJqZWN0W2hhc2hLZXldXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU2VydmVyPFQgPSBhbnk+KGtleTogc3RyaW5nIHwgb2JqZWN0LCBvcHRpb24/OiBTZFNldHRpbmdPcHRpb25TZXJ2ZXI8VD4pOiBTZFNldHRpbmdTZXJ2ZXI8VD4ge1xyXG4gICAgaWYgKCFrZXkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdLZXkgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuICAgIGxldCBoYXNoS2V5OiBzdHJpbmcgPSBudWxsO1xyXG4gICAgaWYgKHR5cGVvZiAoa2V5KSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaGFzaEtleSA9IGtleTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIChrZXkpID09PSAnb2JqZWN0Jykge1xyXG4gICAgICBoYXNoS2V5ID0gaGFzaChrZXkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleScpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbj8uY29udmVydEtleSkge1xyXG4gICAgICBoYXNoS2V5ID0gdGhpcy5jb25maWd1cmF0aW9uLmNvbnZlcnRLZXkoaGFzaEtleSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8uZ2V0KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIGluaXQgc2V0dGluZyBjb25maWd1cmF0aW9uIG1ldGhvZCBnZXQgZm9yIHR5cGUgc2VydmVyJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8uc2V0KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIGluaXQgc2V0dGluZyBjb25maWd1cmF0aW9uIG1ldGhvZCBzZXQgZm9yIHR5cGUgc2VydmVyJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8ucmVtb3ZlKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIGluaXQgc2V0dGluZyBjb25maWd1cmF0aW9uIG1ldGhvZCByZW1vdmUgZm9yIHR5cGUgc2VydmVyJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuI3N1YmplY3RbaGFzaEtleV0pIHtcclxuICAgICAgdGhpcy4jc3ViamVjdFtoYXNoS2V5XSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihvcHRpb24/LmRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZ2V0ID0gdGhpcy4jZ2V0U2VydmVyPFQ+KGhhc2hLZXksIG9wdGlvbik7XHJcbiAgICBjb25zdCBzZXQgPSB0aGlzLiNzZXRTZXJ2ZXI8VD4oaGFzaEtleSwgb3B0aW9uKTtcclxuICAgIGNvbnN0IGhhcyA9IHRoaXMuI2hhc1NlcnZlcihoYXNoS2V5LCBvcHRpb24pO1xyXG4gICAgY29uc3QgcmVtb3ZlID0gdGhpcy4jcmVtb3ZlKGhhc2hLZXksIG9wdGlvbik7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBnZXQsXHJcbiAgICAgIHNldCxcclxuICAgICAgaGFzLFxyXG4gICAgICByZW1vdmUsXHJcbiAgICAgIHN1YmplY3Q6IHRoaXMuI3N1YmplY3RbaGFzaEtleV0sXHJcbiAgICAgIG9ic2VydmVyOiB0aGlzLiNzdWJqZWN0W2hhc2hLZXldLnBpcGUoc3RhcnRXaXRoKHRoaXMuI3N1YmplY3RbaGFzaEtleV0uZ2V0VmFsdWUoKSksIHN3aXRjaE1hcChnZXQpKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNnZXQgPSA8VCA9IGFueT4oa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvbjxUPik6ICgoKSA9PiBUKSA9PiB7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBsZXQgY2FjaGUgPSB0aGlzLiNjYWNoZVtrZXldO1xyXG4gICAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2Vzc2lvbicpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY2FjaGUgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KSk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBjYWNoZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNhY2hlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgIGNhY2hlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIWNhY2hlKSB7XHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbj8uZGVmYXVsdDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjYWNoZS5kYXRhKSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgI2dldFNlcnZlciA9IDxUID0gYW55PihrZXk6IHN0cmluZywgb3B0aW9uPzogU2RTZXR0aW5nT3B0aW9uU2VydmVyPFQ+KTogKCgpID0+IFByb21pc2U8VD4pID0+IHtcclxuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGxldCBjYWNoZSA9IHRoaXMuI2NhY2hlW2tleV07XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY2FjaGUgPSBhd2FpdCB0aGlzLmNvbmZpZ3VyYXRpb24/LmdldChrZXksIG9wdGlvbik7XHJcbiAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgIGNhY2hlID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghY2FjaGUpIHtcclxuICAgICAgICByZXR1cm4gb3B0aW9uPy5kZWZhdWx0O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNhY2hlLmRhdGEpKTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjc2V0ID0gPFQgPSBhbnk+KGtleTogc3RyaW5nLCBvcHRpb24/OiBTZFNldHRpbmdPcHRpb248VD4pOiAoKGRhdGE6IFQpID0+IHZvaWQpID0+IHtcclxuICAgIHJldHVybiAoZGF0YTogVCkgPT4ge1xyXG4gICAgICB0aGlzLiNjYWNoZVtrZXldID0ge1xyXG4gICAgICAgIGRhdGE6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpLFxyXG4gICAgICAgIGNyZWF0ZWRPbjogbmV3IERhdGUoKVxyXG4gICAgICB9O1xyXG4gICAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2Vzc2lvbicpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuI2NhY2hlW2tleV0pKTtcclxuICAgICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHRoaXMuI2NhY2hlW2tleV0uZGF0YSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuI2NhY2hlW2tleV0pKTtcclxuICAgICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHRoaXMuI2NhY2hlW2tleV0uZGF0YSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgI3NldFNlcnZlciA9IDxUID0gYW55PihrZXk6IHN0cmluZywgb3B0aW9uPzogU2RTZXR0aW5nT3B0aW9uPFQ+KTogKChkYXRhOiBUKSA9PiBQcm9taXNlPHZvaWQ+KSA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKGRhdGE6IFQpID0+IHtcclxuICAgICAgdGhpcy4jY2FjaGVba2V5XSA9IHtcclxuICAgICAgICBkYXRhOiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKSxcclxuICAgICAgICBjcmVhdGVkT246IG5ldyBEYXRlKClcclxuICAgICAgfTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmNvbmZpZ3VyYXRpb24/LnNldChrZXksIHRoaXMuI2NhY2hlW2tleV0pO1xyXG4gICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHRoaXMuI2NhY2hlW2tleV0uZGF0YSk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNoYXMgPSAoa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvbik6ICgoKSA9PiBib29sZWFuKSA9PiB7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBsZXQgY2FjaGUgPSB0aGlzLiNjYWNoZVtrZXldO1xyXG4gICAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2Vzc2lvbicpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY2FjaGUgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KSk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBjYWNoZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNhY2hlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgIGNhY2hlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIWNhY2hlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNoYXNTZXJ2ZXIgPSAoa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvblNlcnZlcik6ICgoKSA9PiBQcm9taXNlPGJvb2xlYW4+KSA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xyXG4gICAgICBsZXQgY2FjaGUgPSB0aGlzLiNjYWNoZVtrZXldO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNhY2hlID0gYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uPy5nZXQoa2V5LCBvcHRpb24pO1xyXG4gICAgICB9IGNhdGNoIHtcclxuICAgICAgICBjYWNoZSA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWNhY2hlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNyZW1vdmUgPSAoa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvbik6ICgoKSA9PiBQcm9taXNlPHZvaWQ+KSA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGlmIChvcHRpb24/LnR5cGUgPT09ICdzZXNzaW9uJykge1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLiNjYWNoZVtrZXldID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNyZW1vdmVTZXJ2ZXIgPSAoa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvblNlcnZlcik6ICgoKSA9PiBQcm9taXNlPHZvaWQ+KSA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuY29uZmlndXJhdGlvbj8ucmVtb3ZlKGtleSwgb3B0aW9uKTtcclxuICAgICAgICB0aGlzLiNjYWNoZVtrZXldID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
281
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9zZXR0aW5nLyIsInNvdXJjZXMiOlsic3JjL2xpYi9zZXR0aW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFXLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBNkYsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSzVJLE1BQU0sT0FBTyxnQkFBZ0I7SUFZM0IsWUFBd0QsYUFBb0M7UUFBcEMsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBWDVGLGlCQUtJLEVBQUUsRUFBQztRQUVQLG1CQUVJLEVBQUUsRUFBQztRQThFUCxlQUFPLENBQVUsR0FBVyxFQUFFLE1BQTJCLEVBQWEsRUFBRTtZQUN0RSxPQUFPLEdBQUcsRUFBRTtnQkFDVixJQUFJLEtBQUssR0FBRyxxQ0FBWSxHQUFHLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxJQUFJLE1BQUssU0FBUyxFQUFFO29CQUM5QixJQUFJO3dCQUNGLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztxQkFDakQ7b0JBQUMsV0FBTTt3QkFDTixLQUFLLEdBQUcsU0FBUyxDQUFDO3FCQUNuQjtpQkFDRjtxQkFBTTtvQkFD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UUFDN0MsTUFBTSxNQUFNLEdBQUcsMkNBQUEsSUFBSSxFQUFTLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxPQUFPO1lBQ0wsR0FBRztZQUNILEdBQUc7WUFDSCxHQUFHO1lBQ0gsTUFBTTtZQUNOLE9BQU8sRUFBRSx1Q0FBYyxPQUFPLENBQUM7WUFDL0IsUUFBUSxFQUFFLHVDQUFjLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsdUNBQWMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEcsQ0FBQztJQUNKLENBQUM7Ozs7O1lBekZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQWFjLE1BQU0sU0FBQyxjQUFjLGNBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU0VUVElOR19DT05GSUcsIElTZXR0aW5nQ29uZmlndXJhdGlvbiwgU2RTZXR0aW5nT3B0aW9uLCBTZFNldHRpbmcsIFNkU2V0dGluZ1NlcnZlciwgU2RTZXR0aW5nT3B0aW9uU2VydmVyIH0gZnJvbSAnLi9zZXR0aW5nLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkU2V0dGluZ1NlcnZpY2Uge1xyXG4gICNjYWNoZToge1xyXG4gICAgW2tleTogc3RyaW5nXToge1xyXG4gICAgICBkYXRhOiBhbnksXHJcbiAgICAgIGNyZWF0ZWRPbjogRGF0ZVxyXG4gICAgfVxyXG4gIH0gPSB7fTtcclxuXHJcbiAgI3N1YmplY3Q6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IEJlaGF2aW9yU3ViamVjdDxhbnk+O1xyXG4gIH0gPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChTRVRUSU5HX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBJU2V0dGluZ0NvbmZpZ3VyYXRpb24pIHsgfVxyXG5cclxuICBjcmVhdGU8VCA9IGFueT4oa2V5OiBzdHJpbmcgfCBvYmplY3QsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvbjxUPik6IFNkU2V0dGluZzxUPiB7XHJcbiAgICBpZiAoIWtleSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0tleSBpcyByZXF1aXJlZCcpO1xyXG4gICAgfVxyXG4gICAgbGV0IGhhc2hLZXk6IHN0cmluZyA9IG51bGw7XHJcbiAgICBpZiAodHlwZW9mIChrZXkpID09PSAnc3RyaW5nJykge1xyXG4gICAgICBoYXNoS2V5ID0ga2V5O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgKGtleSkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIGhhc2hLZXkgPSBoYXNoKGtleSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5Jyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uPy5jb252ZXJ0S2V5KSB7XHJcbiAgICAgIGhhc2hLZXkgPSB0aGlzLmNvbmZpZ3VyYXRpb24uY29udmVydEtleShoYXNoS2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBnZXQgPSB0aGlzLiNnZXQ8VD4oaGFzaEtleSwgb3B0aW9uKTtcclxuICAgIGNvbnN0IHNldCA9IHRoaXMuI3NldDxUPihoYXNoS2V5LCBvcHRpb24pO1xyXG4gICAgY29uc3QgaGFzID0gdGhpcy4jaGFzKGhhc2hLZXksIG9wdGlvbik7XHJcbiAgICBjb25zdCByZW1vdmUgPSB0aGlzLiNyZW1vdmUoaGFzaEtleSwgb3B0aW9uKTtcclxuICAgIGlmICghdGhpcy4jc3ViamVjdFtoYXNoS2V5XSkge1xyXG4gICAgICB0aGlzLiNzdWJqZWN0W2hhc2hLZXldID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUPihnZXQoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBnZXQsXHJcbiAgICAgIHNldCxcclxuICAgICAgaGFzLFxyXG4gICAgICByZW1vdmUsXHJcbiAgICAgIHN1YmplY3Q6IHRoaXMuI3N1YmplY3RbaGFzaEtleV0sXHJcbiAgICAgIG9ic2VydmVyOiB0aGlzLiNzdWJqZWN0W2hhc2hLZXldXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU2VydmVyPFQgPSBhbnk+KGtleTogc3RyaW5nIHwgb2JqZWN0LCBvcHRpb24/OiBTZFNldHRpbmdPcHRpb25TZXJ2ZXI8VD4pOiBTZFNldHRpbmdTZXJ2ZXI8VD4ge1xyXG4gICAgaWYgKCFrZXkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdLZXkgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuICAgIGxldCBoYXNoS2V5OiBzdHJpbmcgPSBudWxsO1xyXG4gICAgaWYgKHR5cGVvZiAoa2V5KSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaGFzaEtleSA9IGtleTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIChrZXkpID09PSAnb2JqZWN0Jykge1xyXG4gICAgICBoYXNoS2V5ID0gaGFzaChrZXkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleScpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbj8uY29udmVydEtleSkge1xyXG4gICAgICBoYXNoS2V5ID0gdGhpcy5jb25maWd1cmF0aW9uLmNvbnZlcnRLZXkoaGFzaEtleSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8uZ2V0KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIGluaXQgc2V0dGluZyBjb25maWd1cmF0aW9uIG1ldGhvZCBnZXQgZm9yIHR5cGUgc2VydmVyJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8uc2V0KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIGluaXQgc2V0dGluZyBjb25maWd1cmF0aW9uIG1ldGhvZCBzZXQgZm9yIHR5cGUgc2VydmVyJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbj8ucmVtb3ZlKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIGluaXQgc2V0dGluZyBjb25maWd1cmF0aW9uIG1ldGhvZCByZW1vdmUgZm9yIHR5cGUgc2VydmVyJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuI3N1YmplY3RbaGFzaEtleV0pIHtcclxuICAgICAgdGhpcy4jc3ViamVjdFtoYXNoS2V5XSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihvcHRpb24/LmRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZ2V0ID0gdGhpcy4jZ2V0U2VydmVyPFQ+KGhhc2hLZXksIG9wdGlvbik7XHJcbiAgICBjb25zdCBzZXQgPSB0aGlzLiNzZXRTZXJ2ZXI8VD4oaGFzaEtleSwgb3B0aW9uKTtcclxuICAgIGNvbnN0IGhhcyA9IHRoaXMuI2hhc1NlcnZlcihoYXNoS2V5LCBvcHRpb24pO1xyXG4gICAgY29uc3QgcmVtb3ZlID0gdGhpcy4jcmVtb3ZlKGhhc2hLZXksIG9wdGlvbik7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBnZXQsXHJcbiAgICAgIHNldCxcclxuICAgICAgaGFzLFxyXG4gICAgICByZW1vdmUsXHJcbiAgICAgIHN1YmplY3Q6IHRoaXMuI3N1YmplY3RbaGFzaEtleV0sXHJcbiAgICAgIG9ic2VydmVyOiB0aGlzLiNzdWJqZWN0W2hhc2hLZXldLnBpcGUoc3RhcnRXaXRoKHRoaXMuI3N1YmplY3RbaGFzaEtleV0uZ2V0VmFsdWUoKSksIHN3aXRjaE1hcChnZXQpKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNnZXQgPSA8VCA9IGFueT4oa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvbjxUPik6ICgoKSA9PiBUKSA9PiB7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBsZXQgY2FjaGUgPSB0aGlzLiNjYWNoZVtrZXldO1xyXG4gICAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2Vzc2lvbicpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY2FjaGUgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KSk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBjYWNoZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNhY2hlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgIGNhY2hlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIWNhY2hlKSB7XHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbj8uZGVmYXVsdDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY2FjaGUuZGF0YSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjYWNoZS5kYXRhKSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgI2dldFNlcnZlciA9IDxUID0gYW55PihrZXk6IHN0cmluZywgb3B0aW9uPzogU2RTZXR0aW5nT3B0aW9uU2VydmVyPFQ+KTogKCgpID0+IFByb21pc2U8VD4pID0+IHtcclxuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGxldCBjYWNoZSA9IHRoaXMuI2NhY2hlW2tleV07XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY2FjaGUgPSBhd2FpdCB0aGlzLmNvbmZpZ3VyYXRpb24/LmdldChrZXksIG9wdGlvbik7XHJcbiAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgIGNhY2hlID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghY2FjaGUpIHtcclxuICAgICAgICByZXR1cm4gb3B0aW9uPy5kZWZhdWx0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjYWNoZS5kYXRhID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNhY2hlLmRhdGEpKTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjc2V0ID0gPFQgPSBhbnk+KGtleTogc3RyaW5nLCBvcHRpb24/OiBTZFNldHRpbmdPcHRpb248VD4pOiAoKGRhdGE6IFQpID0+IHZvaWQpID0+IHtcclxuICAgIHJldHVybiAoZGF0YTogVCkgPT4ge1xyXG4gICAgICBpZiAoZGF0YSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy4jY2FjaGVba2V5XSA9IHtcclxuICAgICAgICAgIGRhdGE6IHVuZGVmaW5lZCxcclxuICAgICAgICAgIGNyZWF0ZWRPbjogbmV3IERhdGUoKVxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jY2FjaGVba2V5XSA9IHtcclxuICAgICAgICAgIGRhdGE6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpLFxyXG4gICAgICAgICAgY3JlYXRlZE9uOiBuZXcgRGF0ZSgpXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2Vzc2lvbicpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuI2NhY2hlW2tleV0pKTtcclxuICAgICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHRoaXMuI2NhY2hlW2tleV0uZGF0YSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuI2NhY2hlW2tleV0pKTtcclxuICAgICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHRoaXMuI2NhY2hlW2tleV0uZGF0YSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgI3NldFNlcnZlciA9IDxUID0gYW55PihrZXk6IHN0cmluZywgb3B0aW9uPzogU2RTZXR0aW5nT3B0aW9uPFQ+KTogKChkYXRhOiBUKSA9PiBQcm9taXNlPHZvaWQ+KSA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKGRhdGE6IFQpID0+IHtcclxuICAgICAgaWYgKGRhdGEgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuI2NhY2hlW2tleV0gPSB7XHJcbiAgICAgICAgICBkYXRhOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICBjcmVhdGVkT246IG5ldyBEYXRlKClcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuI2NhY2hlW2tleV0gPSB7XHJcbiAgICAgICAgICBkYXRhOiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKSxcclxuICAgICAgICAgIGNyZWF0ZWRPbjogbmV3IERhdGUoKVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmNvbmZpZ3VyYXRpb24/LnNldChrZXksIHRoaXMuI2NhY2hlW2tleV0pO1xyXG4gICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHRoaXMuI2NhY2hlW2tleV0uZGF0YSk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNoYXMgPSAoa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvbik6ICgoKSA9PiBib29sZWFuKSA9PiB7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBsZXQgY2FjaGUgPSB0aGlzLiNjYWNoZVtrZXldO1xyXG4gICAgICBpZiAob3B0aW9uPy50eXBlID09PSAnc2Vzc2lvbicpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY2FjaGUgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KSk7XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICBjYWNoZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNhY2hlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgIGNhY2hlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIWNhY2hlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNoYXNTZXJ2ZXIgPSAoa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvblNlcnZlcik6ICgoKSA9PiBQcm9taXNlPGJvb2xlYW4+KSA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xyXG4gICAgICBsZXQgY2FjaGUgPSB0aGlzLiNjYWNoZVtrZXldO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNhY2hlID0gYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uPy5nZXQoa2V5LCBvcHRpb24pO1xyXG4gICAgICB9IGNhdGNoIHtcclxuICAgICAgICBjYWNoZSA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWNhY2hlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNyZW1vdmUgPSAoa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvbik6ICgoKSA9PiBQcm9taXNlPHZvaWQ+KSA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGlmIChvcHRpb24/LnR5cGUgPT09ICdzZXNzaW9uJykge1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLiNjYWNoZVtrZXldID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICNyZW1vdmVTZXJ2ZXIgPSAoa2V5OiBzdHJpbmcsIG9wdGlvbj86IFNkU2V0dGluZ09wdGlvblNlcnZlcik6ICgoKSA9PiBQcm9taXNlPHZvaWQ+KSA9PiB7XHJcbiAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuY29uZmlndXJhdGlvbj8ucmVtb3ZlKGtleSwgb3B0aW9uKTtcclxuICAgICAgICB0aGlzLiNjYWNoZVtrZXldID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuI3N1YmplY3Rba2V5XS5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1688,15 +1688,23 @@ class SdGridMaterial {
1688
1688
  }
1689
1689
  });
1690
1690
  this.onSelect = (rowData) => {
1691
- var _a, _b, _c;
1692
- if ((_a = this.gridOption.selection) === null || _a === void 0 ? void 0 : _a.single) {
1693
- this.items.filter(e => e !== rowData).forEach(e => e.isSelected = false);
1691
+ var _a, _b, _c, _d, _e, _f, _g, _h;
1692
+ if ((_b = (_a = rowData === null || rowData === void 0 ? void 0 : rowData.sdGroup) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.length) {
1693
+ (_c = rowData === null || rowData === void 0 ? void 0 : rowData.sdGroup) === null || _c === void 0 ? void 0 : _c.items.forEach(e => e.isSelected = rowData.isSelected);
1694
+ (_e = (_d = this.gridOption.selection) === null || _d === void 0 ? void 0 : _d.onSelect) === null || _e === void 0 ? void 0 : _e.call(_d, rowData, this.items.filter(e => e.isSelected));
1695
+ this.isSelectAll = this.items.every(e => e.isSelected);
1696
+ __classPrivateFieldGet(this, _updateSelectedItems).call(this);
1697
+ }
1698
+ else {
1699
+ if ((_f = this.gridOption.selection) === null || _f === void 0 ? void 0 : _f.single) {
1700
+ this.items.filter(e => e !== rowData).forEach(e => e.isSelected = false);
1701
+ __classPrivateFieldGet(this, _updateSelectedItems).call(this);
1702
+ return;
1703
+ }
1704
+ (_h = (_g = this.gridOption.selection) === null || _g === void 0 ? void 0 : _g.onSelect) === null || _h === void 0 ? void 0 : _h.call(_g, rowData, this.items.filter(e => e.isSelected));
1705
+ this.isSelectAll = this.items.every(e => e.isSelected);
1694
1706
  __classPrivateFieldGet(this, _updateSelectedItems).call(this);
1695
- return;
1696
1707
  }
1697
- (_c = (_b = this.gridOption.selection) === null || _b === void 0 ? void 0 : _b.onSelect) === null || _c === void 0 ? void 0 : _c.call(_b, rowData, this.items.filter(e => e.isSelected));
1698
- this.isSelectAll = this.items.every(e => e.isSelected);
1699
- __classPrivateFieldGet(this, _updateSelectedItems).call(this);
1700
1708
  };
1701
1709
  this.onSelectAll = () => {
1702
1710
  var _a, _b, _c;
@@ -3076,7 +3084,9 @@ SdColumnInlineFilter.propDecorators = {
3076
3084
  class SdSelectionVisiblePipe {
3077
3085
  constructor() {
3078
3086
  this.transform = (rowData, selection) => {
3087
+ var _a, _b;
3079
3088
  const { actions } = selection;
3089
+ const groupedActions = [];
3080
3090
  rowData.actions = rowData.actions || [];
3081
3091
  if (!(actions === null || actions === void 0 ? void 0 : actions.length)) {
3082
3092
  rowData.selectable = true;
@@ -3085,39 +3095,62 @@ class SdSelectionVisiblePipe {
3085
3095
  for (const action of actions) {
3086
3096
  if ('children' in action) {
3087
3097
  let flag = false;
3098
+ let hasGroup = false;
3088
3099
  for (const childAction of action.children) {
3089
- const { hidden } = childAction;
3100
+ const { hidden, isGrouped } = childAction;
3090
3101
  const key = hash__default(childAction);
3102
+ if (isGrouped) {
3103
+ hasGroup = true;
3104
+ }
3091
3105
  if (typeof (hidden) === 'function') {
3092
3106
  if (!hidden(rowData)) {
3093
- rowData.actions.push(key);
3094
3107
  flag = true;
3108
+ rowData.actions.push(key);
3109
+ if (isGrouped) {
3110
+ groupedActions.push(key);
3111
+ }
3095
3112
  }
3096
3113
  }
3097
3114
  else if (!hidden) {
3098
- rowData.actions.push(key);
3099
3115
  flag = true;
3116
+ rowData.actions.push(key);
3117
+ if (isGrouped) {
3118
+ groupedActions.push(key);
3119
+ }
3100
3120
  }
3101
3121
  }
3102
3122
  if (flag) {
3103
3123
  rowData.actions.push(hash__default(action));
3124
+ if (hasGroup) {
3125
+ groupedActions.push(hash__default(action));
3126
+ }
3104
3127
  }
3105
3128
  }
3106
3129
  else {
3107
- const { hidden } = action;
3130
+ const { hidden, isGrouped } = action;
3108
3131
  const key = hash__default(action);
3109
3132
  if (typeof (hidden) === 'function') {
3110
3133
  if (!hidden(rowData)) {
3111
3134
  rowData.actions.push(key);
3135
+ if (isGrouped) {
3136
+ groupedActions.push(key);
3137
+ }
3112
3138
  }
3113
3139
  }
3114
3140
  else if (!hidden) {
3115
3141
  rowData.actions.push(key);
3142
+ if (isGrouped) {
3143
+ groupedActions.push(key);
3144
+ }
3116
3145
  }
3117
3146
  }
3118
3147
  }
3119
3148
  rowData.selectable = !!rowData.actions.length;
3120
- return rowData.selectable;
3149
+ if (!rowData.selectable || !groupedActions.length || ((_b = (_a = rowData === null || rowData === void 0 ? void 0 : rowData.sdGroup) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.length)) {
3150
+ return rowData.selectable;
3151
+ }
3152
+ // Đối với trường hợp grouped, tuy selectable là true nhưng vẫn ẩn đi checkbox nếu các action đều thuộc groupedActions và rowData ko phải là dòng group
3153
+ return rowData.actions.some(action => !groupedActions.includes(action));
3121
3154
  };
3122
3155
  }
3123
3156
  }