ps-toolkit-ui 1.3.21 → 1.3.25

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.
@@ -643,3 +643,4 @@ form{
643
643
  border-color: transparent transparent rgba(55, 64, 70, 0.9) transparent;
644
644
  transform-origin: bottom;
645
645
  }
646
+
@@ -1,17 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- export class TableOldLoadingComponent {
3
- constructor() {
4
- }
5
- }
6
- TableOldLoadingComponent.decorators = [
7
- { type: Component, args: [{
8
- selector: 'lib-table-old-loading',
9
- template: "<div *ngIf=\"table.loading\" class=\"loading\">\r\n <div class=\"text\" [innerHTML]=\"table.l('LoadingTable', 'Processing')\"></div>\r\n</div>\r\n<div *ngIf=\"!table.permission\" class=\"loading\">\r\n <div class=\"text\"><i class=\"fas fa-shield-alt icon\"></i>{{ table.l(\"PermissionDenied\") }}</div>\r\n</div>\r\n<div *ngIf=\"!table.loading && table.permission && table.rows.length == 0\" class=\"loading\">\r\n <div class=\"text\"><i class=\"fas fa-exclamation icon\"></i>{{ table.l(\"NotfoundTitle\") }}</div>\r\n</div>\r\n",
10
- styles: [".loading{background-color:#fff;border-radius:var(--border-radius-base);bottom:0;height:100%;right:0;z-index:101}.loading,.loading .text{position:absolute;text-align:center;width:100%}.loading .text{font-family:VazirBold;height:35px;line-height:35px;top:calc(50% - 20px)}::ng-deep .loading .text .icon{font-size:20px!important;line-height:30px;margin-left:5px;position:relative;top:5px}"]
11
- },] }
12
- ];
13
- TableOldLoadingComponent.ctorParameters = () => [];
14
- TableOldLoadingComponent.propDecorators = {
15
- table: [{ type: Input }]
16
- };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtb2xkLmxvYWRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlLW9sZC9sb2FkaW5nL3RhYmxlLW9sZC5sb2FkaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQVF2RCxNQUFNLE9BQU8sd0JBQXdCO0lBR25DO0lBQ0EsQ0FBQzs7O1lBVEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLGdpQkFBaUQ7O2FBRWxEOzs7O29CQUVFLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VGFibGVDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy90YWJsZS5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YWJsZS1vbGQtbG9hZGluZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLW9sZC5sb2FkaW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1vbGQubG9hZGluZy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlT2xkTG9hZGluZ0NvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuIl19
@@ -1,84 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { InputClass, OptionClass } from '../../../classes/form.class';
3
- import { InputType } from '../../../classes/enum.class';
4
- export class TableOldPaginationComponent {
5
- get type() { return InputType; }
6
- getButtons() {
7
- this.size = parseInt((this.table.count / this.table.perPage).toString(), 10) + (this.table.count % this.table.perPage > 0 ? 1 : 0);
8
- if (this.size <= 1) {
9
- return [];
10
- }
11
- const previous = new InputClass(this.table.environment, this.table.l, null, 'fa-duotone fa-angle-right', InputType.Button, 'h-25', this.table.page - 1);
12
- previous.onClick = (btn) => this.changePage(btn);
13
- const next = new InputClass(this.table.environment, this.table.l, null, 'fa-duotone fa-angle-left', InputType.Button, 'h-25', this.table.page + 1);
14
- next.onClick = (btn) => this.changePage(btn);
15
- const last = new InputClass(this.table.environment, this.table.l, this.size.toString(), null, InputType.Button, 'h-25 last', this.size);
16
- last.onClick = (btn) => this.changePage(btn);
17
- const first = new InputClass(this.table.environment, this.table.l, '1', null, InputType.Button, 'h-25 first', 1);
18
- first.onClick = (btn) => this.changePage(btn);
19
- const dots = new InputClass(this.table.environment, this.table.l, 'dots', '', InputType.Icon);
20
- let buttons = [];
21
- buttons.push(previous);
22
- if (this.table.page === 1) {
23
- previous.onClick = null;
24
- }
25
- if (this.size < 6) {
26
- buttons = buttons.concat(this.add(1, this.size + 1));
27
- }
28
- else if (this.table.page < 4) {
29
- buttons = buttons.concat(this.add(1, 5), [dots, last]);
30
- }
31
- else if (this.table.page > this.size - 3) {
32
- buttons = buttons.concat([first, dots], this.add(this.size - 3, this.size + 1));
33
- }
34
- else {
35
- buttons = buttons.concat([first, dots], this.add(this.table.page - 1, this.table.page + 2), [dots, last]);
36
- }
37
- buttons.push(next);
38
- if (this.table.page === this.size) {
39
- next.onClick = null;
40
- }
41
- return buttons;
42
- }
43
- add(s, f) {
44
- const l = [];
45
- for (let i = s; i < f; i++) {
46
- const b = new InputClass(this.table.environment, this.table.l, i.toString(), null, InputType.Button, 'h-25' + (this.table.page === i ? ' active' : ' extra'), i);
47
- b.onClick = (btn) => this.changePage(btn);
48
- l.push(b);
49
- }
50
- return l;
51
- }
52
- changePage(btn) {
53
- this.table.page = btn.value;
54
- this.table.load(btn);
55
- }
56
- ngOnInit() {
57
- this.perPageSelect = new InputClass(this.table.environment, this.table.l, 'PerPage', '', InputType.Select, 'h-25 w-80-p f-l');
58
- this.perPageSelect.value = this.table.perPage.toString();
59
- this.perPageSelect.options = [
60
- new OptionClass('5', '5'),
61
- new OptionClass('10', '10'),
62
- new OptionClass('50', '50'),
63
- new OptionClass('100', '100'),
64
- ];
65
- this.perPageSelect.value = this.perPageSelect.search = this.table.perPage.toString();
66
- this.perPageSelect.displayLabel = false;
67
- this.perPageSelect.onChange = (v) => {
68
- this.table.page = 1;
69
- this.table.perPage = parseInt(v.value, 10);
70
- this.table.load();
71
- };
72
- }
73
- }
74
- TableOldPaginationComponent.decorators = [
75
- { type: Component, args: [{
76
- selector: 'lib-table-old-pagination',
77
- template: "<div class=\"pagination\">\r\n <div class=\"items\">\r\n <span *ngFor=\"let btn of getButtons()\">\r\n <lib-form-button *ngIf=\"btn.type === type.Button\" [inp]=\"btn\"></lib-form-button>\r\n <div class=\"dots\" *ngIf=\"btn.type === type.Icon\"><div class=\"w-100\"><i class=\"fas fa-ellipsis-h icon\"></i></div></div>\r\n </span>\r\n </div>\r\n <lib-form-select [inp]=\"perPageSelect\"></lib-form-select>\r\n</div>\r\n",
78
- styles: [".pagination{float:right;margin-top:10px;text-align:center;width:100%}.pagination .items{display:inline-block;position:relative}::ng-deep .table-con .pagination .form-input-con.button{display:inline-block;float:unset;margin:0 2px;min-width:25px;padding:0 5px;vertical-align:middle;width:unset}::ng-deep .table-con .pagination .items .dots{display:inline-block;height:25px;line-height:25px;margin:0 5px;min-width:25px}::ng-deep .table-con .pagination .form-input-con.select{display:inline-block;float:left;margin:0 5px;min-width:25px;padding:0 5px;width:unset}@media (max-width:399.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:400px) and (max-width:499.98px){::ng-deep .table-con .pagination .form-input-con.button.extra,::ng-deep .table-con .pagination .form-input-con.button.first,::ng-deep .table-con .pagination .form-input-con.button.last{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{display:none}}@media (min-width:500px) and (max-width:599.98px){::ng-deep .table-con .pagination .form-input-con.button.extra{display:none}::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:600px) and (max-width:699.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:700px) and (max-width:799.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:800px) and (max-width:899.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}@media (min-width:900px) and (max-width:999.98px){::ng-deep .table-con .pagination .form-input-con.button{margin:0 3px;padding:0 3px}::ng-deep .table-con .pagination .items .dots{font-size:10px;margin:0}}"]
79
- },] }
80
- ];
81
- TableOldPaginationComponent.propDecorators = {
82
- table: [{ type: Input }]
83
- };
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtb2xkLnBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlLW9sZC9wYWdpbmF0aW9uL3RhYmxlLW9sZC5wYWdpbmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQU90RCxNQUFNLE9BQU8sMkJBQTJCO0lBTXRDLElBQUksSUFBSSxLQUF1QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFbEQsVUFBVTtRQUNSLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ2xCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQ3hFLDJCQUEyQixFQUFFLFNB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QUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQztJQUNKLENBQUM7OztZQWxGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsa2NBQW9EOzthQUVyRDs7O29CQUVFLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VGFibGVDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy90YWJsZS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRDbGFzcywgT3B0aW9uQ2xhc3N9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRUeXBlfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2VudW0uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUtb2xkLXBhZ2luYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1vbGQucGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtb2xkLnBhZ2luYXRpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZU9sZFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgdGFibGU6IFRhYmxlQ2xhc3M7XHJcbiAgc2l6ZTogbnVtYmVyO1xyXG4gIHBlclBhZ2VTZWxlY3Q6IElucHV0Q2xhc3M7XHJcbiAgbmV4dDogSW5wdXRDbGFzcztcclxuICBnZXQgdHlwZSgpOiB0eXBlb2YgSW5wdXRUeXBlIHsgcmV0dXJuIElucHV0VHlwZTsgfVxyXG5cclxuICBnZXRCdXR0b25zKCk6IElucHV0Q2xhc3NbXXtcclxuICAgIHRoaXMuc2l6ZSA9IHBhcnNlSW50KCh0aGlzLnRhYmxlLmNvdW50IC8gdGhpcy50YWJsZS5wZXJQYWdlKS50b1N0cmluZygpLCAxMCkgKyAodGhpcy50YWJsZS5jb3VudCAlIHRoaXMudGFibGUucGVyUGFnZSA+IDAgPyAxIDogMCk7XHJcbiAgICBpZiAodGhpcy5zaXplIDw9IDEpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcHJldmlvdXMgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIG51bGwsXHJcbiAgICAgICdmYS1kdW90b25lIGZhLWFuZ2xlLXJpZ2h0JywgSW5wdXRUeXBlLkJ1dHRvbiwgJ2gtMjUnLCB0aGlzLnRhYmxlLnBhZ2UgLSAxKTtcclxuICAgIHByZXZpb3VzLm9uQ2xpY2sgPSAoYnRuKSA9PiB0aGlzLmNoYW5nZVBhZ2UoYnRuKTtcclxuICAgIGNvbnN0IG5leHQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIG51bGwsXHJcbiAgICAgICdmYS1kdW90b25lIGZhLWFuZ2xlLWxlZnQnLCBJbnB1dFR5cGUuQnV0dG9uLCAnaC0yNScsIHRoaXMudGFibGUucGFnZSArIDEpO1xyXG4gICAgbmV4dC5vbkNsaWNrID0gKGJ0bikgPT4gdGhpcy5jaGFuZ2VQYWdlKGJ0bik7XHJcbiAgICBjb25zdCBsYXN0ID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCB0aGlzLnNpemUudG9TdHJpbmcoKSwgbnVsbCxcclxuICAgICAgSW5wdXRUeXBlLkJ1dHRvbiwgJ2gtMjUgbGFzdCcsIHRoaXMuc2l6ZSk7XHJcbiAgICBsYXN0Lm9uQ2xpY2sgPSAoYnRuKSA9PiB0aGlzLmNoYW5nZVBhZ2UoYnRuKTtcclxuICAgIGNvbnN0IGZpcnN0ID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnMScsIG51bGwsIElucHV0VHlwZS5CdXR0b24sICdoLTI1IGZpcnN0JywgMSk7XHJcbiAgICBmaXJzdC5vbkNsaWNrID0gKGJ0bikgPT4gdGhpcy5jaGFuZ2VQYWdlKGJ0bik7XHJcbiAgICBjb25zdCBkb3RzID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnZG90cycsICcnLCBJbnB1dFR5cGUuSWNvbik7XHJcbiAgICBsZXQgYnV0dG9uczogSW5wdXRDbGFzc1tdID0gW107XHJcbiAgICBidXR0b25zLnB1c2gocHJldmlvdXMpO1xyXG4gICAgaWYgKHRoaXMudGFibGUucGFnZSA9PT0gMSl7XHJcbiAgICAgIHByZXZpb3VzLm9uQ2xpY2sgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2l6ZSA8IDYpIHtcclxuICAgICAgYnV0dG9ucyA9IGJ1dHRvbnMuY29uY2F0KHRoaXMuYWRkKDEsIHRoaXMuc2l6ZSArIDEpKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50YWJsZS5wYWdlIDwgNCkge1xyXG4gICAgICBidXR0b25zID0gYnV0dG9ucy5jb25jYXQodGhpcy5hZGQoMSwgNSksIFtkb3RzLCBsYXN0XSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudGFibGUucGFnZSA+IHRoaXMuc2l6ZSAtIDMpIHtcclxuICAgICAgYnV0dG9ucyA9IGJ1dHRvbnMuY29uY2F0KFtmaXJzdCwgZG90c10sIHRoaXMuYWRkKHRoaXMuc2l6ZSAtIDMsIHRoaXMuc2l6ZSArIDEpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGJ1dHRvbnMgPSBidXR0b25zLmNvbmNhdChbZmlyc3QsIGRvdHNdLCB0aGlzLmFkZCh0aGlzLnRhYmxlLnBhZ2UgLSAxLCB0aGlzLnRhYmxlLnBhZ2UgKyAyKSwgW2RvdHMsIGxhc3RdKTtcclxuICAgIH1cclxuICAgIGJ1dHRvbnMucHVzaChuZXh0KTtcclxuICAgIGlmICh0aGlzLnRhYmxlLnBhZ2UgPT09IHRoaXMuc2l6ZSl7XHJcbiAgICAgIG5leHQub25DbGljayA9IG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYnV0dG9ucztcclxuICB9XHJcblxyXG4gIGFkZChzOiBudW1iZXIsIGY6IG51bWJlcik6IElucHV0Q2xhc3NbXSB7XHJcbiAgICBjb25zdCBsOiBJbnB1dENsYXNzW10gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSBzOyBpIDwgZjsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGIgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIGkudG9TdHJpbmcoKSxcclxuICAgICAgICBudWxsLCBJbnB1dFR5cGUuQnV0dG9uLCAnaC0yNScgKyAodGhpcy50YWJsZS5wYWdlID09PSBpID8gJyBhY3RpdmUnIDogJyBleHRyYScpLCBpKTtcclxuICAgICAgYi5vbkNsaWNrID0gKGJ0bikgPT4gdGhpcy5jaGFuZ2VQYWdlKGJ0bik7XHJcbiAgICAgIGwucHVzaChiKTtcclxuICAgIH1cclxuICAgIHJldHVybiBsO1xyXG4gIH1cclxuICBjaGFuZ2VQYWdlKGJ0bik6IHZvaWR7XHJcbiAgICB0aGlzLnRhYmxlLnBhZ2UgPSBidG4udmFsdWU7XHJcbiAgICB0aGlzLnRhYmxlLmxvYWQoYnRuKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWR7XHJcbiAgICB0aGlzLnBlclBhZ2VTZWxlY3QgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdQZXJQYWdlJywgJycsIElucHV0VHlwZS5TZWxlY3QsICdoLTI1IHctODAtcCBmLWwnKTtcclxuICAgIHRoaXMucGVyUGFnZVNlbGVjdC52YWx1ZSA9IHRoaXMudGFibGUucGVyUGFnZS50b1N0cmluZygpO1xyXG4gICAgdGhpcy5wZXJQYWdlU2VsZWN0Lm9wdGlvbnMgPSBbXHJcbiAgICAgIG5ldyBPcHRpb25DbGFzcygnNScsICc1JyksXHJcbiAgICAgIG5ldyBPcHRpb25DbGFzcygnMTAnLCAnMTAnKSxcclxuICAgICAgbmV3IE9wdGlvbkNsYXNzKCc1MCcsICc1MCcpLFxyXG4gICAgICBuZXcgT3B0aW9uQ2xhc3MoJzEwMCcsICcxMDAnKSxcclxuICAgIF07XHJcbiAgICB0aGlzLnBlclBhZ2VTZWxlY3QudmFsdWUgPSB0aGlzLnBlclBhZ2VTZWxlY3Quc2VhcmNoID0gdGhpcy50YWJsZS5wZXJQYWdlLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLnBlclBhZ2VTZWxlY3QuZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICB0aGlzLnBlclBhZ2VTZWxlY3Qub25DaGFuZ2UgPSAodikgPT4ge1xyXG4gICAgICB0aGlzLnRhYmxlLnBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnRhYmxlLnBlclBhZ2UgPSBwYXJzZUludCh2LnZhbHVlLCAxMCk7XHJcbiAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19