@ng-formworks/daisyui 17.3.0 → 17.5.1
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.
- package/README.md +4 -2
- package/esm2022/lib/daisyui-framework.component.mjs +21 -24
- package/esm2022/lib/daisyui-framework.prefixed.component.mjs +21 -24
- package/esm2022/lib/daisyui.framework.mjs +14 -9
- package/esm2022/lib/widgets/daisyui-tabs.component.mjs +28 -29
- package/fesm2022/ng-formworks-daisyui.mjs +77 -79
- package/fesm2022/ng-formworks-daisyui.mjs.map +1 -1
- package/lib/daisyui-framework.component.d.ts +4 -5
- package/lib/daisyui-framework.prefixed.component.d.ts +4 -5
- package/lib/daisyui.framework.d.ts +3 -3
- package/lib/widgets/daisyui-tabs.component.d.ts +4 -6
- package/package.json +3 -3
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { CssFramework } from '@ng-formworks/cssframework';
|
|
1
|
+
import { Inject, Injectable, Optional, inject } from '@angular/core';
|
|
2
|
+
import { CssFramework, CssframeworkService } from '@ng-formworks/cssframework';
|
|
3
3
|
import { cssFrameworkCfgDaisyUI, getCssFrameworkCfgPrefixed } from './daisui-cssframework';
|
|
4
4
|
import { DaisyUIFrameworkComponent } from './daisyui-framework.component';
|
|
5
5
|
import { DaisyUIFrameworkComponentPrefixed } from './daisyui-framework.prefixed.component';
|
|
6
6
|
import { DUIOPTIONS } from './tokens.defs';
|
|
7
7
|
import { DaisyUITabsComponent } from './widgets/daisyui-tabs.component';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@ng-formworks/cssframework";
|
|
10
9
|
export class DaisyUIFramework extends CssFramework {
|
|
11
|
-
constructor(
|
|
10
|
+
constructor(
|
|
11
|
+
//public cssFWService:CssframeworkService,
|
|
12
|
+
duiOptions = { classPrefix: true }) {
|
|
13
|
+
const cssFWService = inject(CssframeworkService);
|
|
12
14
|
let duiOpts = duiOptions === null ? { classPrefix: true } : duiOptions;
|
|
13
15
|
let cssFrameworkCfg = cssFrameworkCfgDaisyUI;
|
|
14
16
|
if (duiOpts?.classPrefix) { //added null,see note above
|
|
15
17
|
cssFrameworkCfg = getCssFrameworkCfgPrefixed(cssFrameworkCfgDaisyUI);
|
|
16
18
|
}
|
|
17
|
-
super(cssFrameworkCfg,
|
|
18
|
-
|
|
19
|
+
//super(cssFrameworkCfg,cssFWService);
|
|
20
|
+
super(cssFrameworkCfg);
|
|
19
21
|
this.duiOptions = duiOptions;
|
|
22
|
+
//private duiOptions = inject(DUIOPTIONS, { optional: true }) ?? { classPrefix: true };
|
|
20
23
|
this.framework = DaisyUIFrameworkComponent;
|
|
24
|
+
this.cssFWService = cssFWService;
|
|
25
|
+
//const duiOptions = this.duiOptions;
|
|
21
26
|
if (duiOpts?.classPrefix) {
|
|
22
27
|
this.framework = DaisyUIFrameworkComponentPrefixed;
|
|
23
28
|
}
|
|
@@ -25,15 +30,15 @@ export class DaisyUIFramework extends CssFramework {
|
|
|
25
30
|
'tabs': DaisyUITabsComponent,
|
|
26
31
|
};
|
|
27
32
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaisyUIFramework, deps: [{ token:
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaisyUIFramework, deps: [{ token: DUIOPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
34
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaisyUIFramework }); }
|
|
30
35
|
}
|
|
31
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaisyUIFramework, decorators: [{
|
|
32
37
|
type: Injectable
|
|
33
|
-
}], ctorParameters: () => [{ type:
|
|
38
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
34
39
|
type: Inject,
|
|
35
40
|
args: [DUIOPTIONS]
|
|
36
41
|
}, {
|
|
37
42
|
type: Optional
|
|
38
43
|
}] }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS5mcmFtZXdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtZGFpc3l1aS9zcmMvbGliL2RhaXN5dWkuZnJhbWV3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBSXhFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxZQUFZO0lBTWhEO0lBQ0UsMENBQTBDO0lBS3hCLGFBQWUsRUFBQyxXQUFXLEVBQUMsSUFBSSxFQUFDO1FBRW5ELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWpELElBQUksT0FBTyxHQUFLLFVBQVUsS0FBRyxJQUFJLENBQUEsQ0FBQyxDQUFBLEVBQUMsV0FBVyxFQUFDLElBQUksRUFBQyxDQUFBLENBQUMsQ0FBQSxVQUFVLENBQUM7UUFDL0QsSUFBSSxlQUFlLEdBQUMsc0JBQXNCLENBQUM7UUFDNUMsSUFBRyxPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUMsMkJBQTJCO1lBQ25ELGVBQWUsR0FBQywwQkFBMEIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1NBQ25FO1FBQ0Qsc0NBQXNDO1FBQ3RDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQVZMLGVBQVUsR0FBVixVQUFVLENBQXVCO1FBVnZELHVGQUF1RjtRQUd2RixjQUFTLEdBQUMseUJBQXlCLENBQUM7UUFrQmhDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLHFDQUFxQztRQUVyQyxJQUFHLE9BQU8sRUFBRSxXQUFXLEVBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBQyxpQ0FBaUMsQ0FBQztTQUNsRDtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUU7WUFFWixNQUFNLEVBQUUsb0JBQW9CO1NBRTdCLENBQUM7SUFDSixDQUFDOytHQWxDVSxnQkFBZ0Isa0JBUWpCLFVBQVU7bUhBUlQsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOzswQkFTTixNQUFNOzJCQUFDLFVBQVU7OzBCQUluQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENzc0ZyYW1ld29yaywgQ3NzZnJhbWV3b3JrU2VydmljZSB9IGZyb20gJ0BuZy1mb3Jtd29ya3MvY3NzZnJhbWV3b3JrJztcclxuaW1wb3J0IHsgY3NzRnJhbWV3b3JrQ2ZnRGFpc3lVSSwgZ2V0Q3NzRnJhbWV3b3JrQ2ZnUHJlZml4ZWQgfSBmcm9tICcuL2RhaXN1aS1jc3NmcmFtZXdvcmsnO1xyXG5pbXBvcnQgeyBEYWlzeVVJRnJhbWV3b3JrQ29tcG9uZW50IH0gZnJvbSAnLi9kYWlzeXVpLWZyYW1ld29yay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYWlzeVVJRnJhbWV3b3JrQ29tcG9uZW50UHJlZml4ZWQgfSBmcm9tICcuL2RhaXN5dWktZnJhbWV3b3JrLnByZWZpeGVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERVSU9QVElPTlMgfSBmcm9tICcuL3Rva2Vucy5kZWZzJztcclxuaW1wb3J0IHsgRGFpc3lVSVRhYnNDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldHMvZGFpc3l1aS10YWJzLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGFpc3lVSUZyYW1ld29yayBleHRlbmRzIENzc0ZyYW1ld29yayB7XHJcbmNzc0ZXU2VydmljZTogQ3NzZnJhbWV3b3JrU2VydmljZTtcclxuLy9wcml2YXRlIGR1aU9wdGlvbnMgPSBpbmplY3QoRFVJT1BUSU9OUywgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyB7IGNsYXNzUHJlZml4OiB0cnVlIH07XHJcblxyXG5cclxuZnJhbWV3b3JrPURhaXN5VUlGcmFtZXdvcmtDb21wb25lbnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvL3B1YmxpYyBjc3NGV1NlcnZpY2U6Q3NzZnJhbWV3b3JrU2VydmljZSxcclxuICAgIEBJbmplY3QoRFVJT1BUSU9OUykgXHJcbiAgLy91c2UgY2xhc3MgcHJlZml4IGJ5IGRlZmF1bHQtZG9lc24ndCBzZWVtIHRvIHdvcmsgYW5ndWxhciB3aWxsIGluamVjdCBudWxsXHJcbiAgLy9mb3IgVFMgdG8gdXNlIGRlZmF1bHQgdmFsdWUsIG11c3QgYmUgdW5kZWZpbmVkXHJcbiAgLy8tc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzM3MzA2XHJcbiAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkdWlPcHRpb25zOmFueT17Y2xhc3NQcmVmaXg6dHJ1ZX1cclxuICApe1xyXG4gICAgY29uc3QgY3NzRldTZXJ2aWNlID0gaW5qZWN0KENzc2ZyYW1ld29ya1NlcnZpY2UpO1xyXG5cclxuICAgIGxldCBkdWlPcHRzOmFueT1kdWlPcHRpb25zPT09bnVsbD97Y2xhc3NQcmVmaXg6dHJ1ZX06ZHVpT3B0aW9ucztcclxuICAgICBsZXQgY3NzRnJhbWV3b3JrQ2ZnPWNzc0ZyYW1ld29ya0NmZ0RhaXN5VUk7XHJcbiAgICBpZihkdWlPcHRzPy5jbGFzc1ByZWZpeCApey8vYWRkZWQgbnVsbCxzZWUgbm90ZSBhYm92ZVxyXG4gICAgICBjc3NGcmFtZXdvcmtDZmc9Z2V0Q3NzRnJhbWV3b3JrQ2ZnUHJlZml4ZWQoY3NzRnJhbWV3b3JrQ2ZnRGFpc3lVSSlcclxuICAgIH1cclxuICAgIC8vc3VwZXIoY3NzRnJhbWV3b3JrQ2ZnLGNzc0ZXU2VydmljZSk7XHJcbiAgICBzdXBlcihjc3NGcmFtZXdvcmtDZmcpO1xyXG4gICAgdGhpcy5jc3NGV1NlcnZpY2UgPSBjc3NGV1NlcnZpY2U7XHJcbiAgICAvL2NvbnN0IGR1aU9wdGlvbnMgPSB0aGlzLmR1aU9wdGlvbnM7XHJcblxyXG4gICAgaWYoZHVpT3B0cz8uY2xhc3NQcmVmaXgpe1xyXG4gICAgICB0aGlzLmZyYW1ld29yaz1EYWlzeVVJRnJhbWV3b3JrQ29tcG9uZW50UHJlZml4ZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLndpZGdldHM9IHtcclxuXHJcbiAgICAgICd0YWJzJzogRGFpc3lVSVRhYnNDb21wb25lbnQsXHJcbiAgICBcclxuICAgIH07XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,32 +1,37 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, input, signal, inject } from '@angular/core';
|
|
2
|
+
import { JsonSchemaFormService } from '@ng-formworks/core';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "@ng-formworks/core";
|
|
4
5
|
import * as i2 from "@angular/common";
|
|
5
6
|
export class DaisyUITabsComponent {
|
|
6
|
-
constructor(
|
|
7
|
-
this.jsf =
|
|
7
|
+
constructor() {
|
|
8
|
+
this.jsf = inject(JsonSchemaFormService);
|
|
8
9
|
this.selectedItem = 0;
|
|
9
10
|
this.showAddTab = true;
|
|
11
|
+
this.layoutNode = input(undefined);
|
|
12
|
+
this.layoutIndex = input(undefined);
|
|
13
|
+
this.dataIndex = input(undefined);
|
|
10
14
|
}
|
|
11
15
|
ngOnInit() {
|
|
12
|
-
this.options = this.layoutNode.options || {};
|
|
13
|
-
this.itemCount = this.layoutNode.items.length - 1;
|
|
16
|
+
this.options = this.layoutNode().options || {};
|
|
17
|
+
this.itemCount = this.layoutNode().items.length - 1;
|
|
14
18
|
this.updateControl();
|
|
15
19
|
}
|
|
16
20
|
select(index) {
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
const layoutNode = this.layoutNode();
|
|
22
|
+
if (layoutNode.items[index].type === '$ref') {
|
|
23
|
+
this.itemCount = layoutNode.items.length;
|
|
19
24
|
this.jsf.addItem({
|
|
20
|
-
layoutNode:
|
|
21
|
-
layoutIndex: this.layoutIndex.concat(index),
|
|
22
|
-
dataIndex: this.dataIndex.concat(index)
|
|
25
|
+
layoutNode: signal(layoutNode.items[index]),
|
|
26
|
+
layoutIndex: signal(this.layoutIndex().concat(index)),
|
|
27
|
+
dataIndex: signal(this.dataIndex().concat(index))
|
|
23
28
|
});
|
|
24
29
|
this.updateControl();
|
|
25
30
|
}
|
|
26
31
|
this.selectedItem = index;
|
|
27
32
|
}
|
|
28
33
|
updateControl() {
|
|
29
|
-
const lastItem = this.layoutNode.items[this.layoutNode.items.length - 1];
|
|
34
|
+
const lastItem = this.layoutNode().items[this.layoutNode().items.length - 1];
|
|
30
35
|
if (lastItem.type === '$ref' &&
|
|
31
36
|
this.itemCount >= (lastItem.options.maxItems || 1000)) {
|
|
32
37
|
this.showAddTab = false;
|
|
@@ -35,11 +40,11 @@ export class DaisyUITabsComponent {
|
|
|
35
40
|
setTabTitle(item, index) {
|
|
36
41
|
return this.jsf.setArrayItemTitle(this, item, index);
|
|
37
42
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaisyUITabsComponent, deps: [
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DaisyUITabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: DaisyUITabsComponent, selector: "tabs-widget", inputs: { layoutNode: { classPropertyName: "layoutNode", publicName: "layoutNode", isSignal: true, isRequired: false, transformFunction: null }, layoutIndex: { classPropertyName: "layoutIndex", publicName: "layoutIndex", isSignal: true, isRequired: false, transformFunction: null }, dataIndex: { classPropertyName: "dataIndex", publicName: "dataIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
40
45
|
<div
|
|
41
46
|
[class]="options?.labelHtmlClass || ''">
|
|
42
|
-
<a *ngFor="let item of layoutNode?.items; let i = index"
|
|
47
|
+
<a *ngFor="let item of layoutNode()?.items; let i = index"
|
|
43
48
|
[class]="(options?.itemLabelHtmlClass || '') + (selectedItem === i ?
|
|
44
49
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
45
50
|
(' ' + options?.style?.unselected))"
|
|
@@ -61,15 +66,15 @@ export class DaisyUITabsComponent {
|
|
|
61
66
|
</div>
|
|
62
67
|
-->
|
|
63
68
|
|
|
64
|
-
<div *ngFor="let layoutItem of layoutNode?.items; let i = index"
|
|
69
|
+
<div *ngFor="let layoutItem of layoutNode()?.items; let i = index"
|
|
65
70
|
[class]="options?.htmlClass || ''">
|
|
66
71
|
|
|
67
72
|
<select-framework-widget *ngIf="selectedItem === i"
|
|
68
73
|
[class]="(options?.fieldHtmlClass || '') +
|
|
69
74
|
' ' + (options?.activeClass || '') +
|
|
70
75
|
' ' + (options?.style?.selected || '')"
|
|
71
|
-
[dataIndex]="layoutNode?.dataType === 'array' ? (dataIndex || []).concat(i) : dataIndex"
|
|
72
|
-
[layoutIndex]="(layoutIndex || []).concat(i)"
|
|
76
|
+
[dataIndex]="layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()"
|
|
77
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
73
78
|
[layoutNode]="layoutItem"></select-framework-widget>
|
|
74
79
|
|
|
75
80
|
</div>`, isInline: true, styles: ["a{cursor:pointer}\n"], dependencies: [{ kind: "component", type: i1.SelectFrameworkComponent, selector: "select-framework-widget", inputs: ["layoutNode", "layoutIndex", "dataIndex"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
@@ -79,7 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
79
84
|
args: [{ selector: 'tabs-widget', template: `
|
|
80
85
|
<div
|
|
81
86
|
[class]="options?.labelHtmlClass || ''">
|
|
82
|
-
<a *ngFor="let item of layoutNode?.items; let i = index"
|
|
87
|
+
<a *ngFor="let item of layoutNode()?.items; let i = index"
|
|
83
88
|
[class]="(options?.itemLabelHtmlClass || '') + (selectedItem === i ?
|
|
84
89
|
(' ' + (options?.activeClass || '') + ' ' + (options?.style?.selected || '')) :
|
|
85
90
|
(' ' + options?.style?.unselected))"
|
|
@@ -101,23 +106,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
101
106
|
</div>
|
|
102
107
|
-->
|
|
103
108
|
|
|
104
|
-
<div *ngFor="let layoutItem of layoutNode?.items; let i = index"
|
|
109
|
+
<div *ngFor="let layoutItem of layoutNode()?.items; let i = index"
|
|
105
110
|
[class]="options?.htmlClass || ''">
|
|
106
111
|
|
|
107
112
|
<select-framework-widget *ngIf="selectedItem === i"
|
|
108
113
|
[class]="(options?.fieldHtmlClass || '') +
|
|
109
114
|
' ' + (options?.activeClass || '') +
|
|
110
115
|
' ' + (options?.style?.selected || '')"
|
|
111
|
-
[dataIndex]="layoutNode?.dataType === 'array' ? (dataIndex || []).concat(i) : dataIndex"
|
|
112
|
-
[layoutIndex]="(layoutIndex || []).concat(i)"
|
|
116
|
+
[dataIndex]="layoutNode()?.dataType === 'array' ? (dataIndex() || []).concat(i) : dataIndex()"
|
|
117
|
+
[layoutIndex]="(layoutIndex() || []).concat(i)"
|
|
113
118
|
[layoutNode]="layoutItem"></select-framework-widget>
|
|
114
119
|
|
|
115
120
|
</div>`, styles: ["a{cursor:pointer}\n"] }]
|
|
116
|
-
}]
|
|
117
|
-
|
|
118
|
-
}], layoutIndex: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], dataIndex: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS10YWJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1kYWlzeXVpL3NyYy9saWIvd2lkZ2V0cy9kYWlzeXVpLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBK0N6RCxNQUFNLE9BQU8sb0JBQW9CO0lBUy9CLFlBQ1UsR0FBMEI7UUFBMUIsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFQcEMsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsZUFBVSxHQUFHLElBQUksQ0FBQztJQU9kLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7Z0JBQ2YsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDeEMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDM0MsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQzthQUN4QyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6RSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssTUFBTTtZQUMxQixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEVBQ3JEO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVMsRUFBRSxLQUFhO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7K0dBM0NVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDZJQXZDckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQW9DRDs7NEZBR0Usb0JBQW9CO2tCQTFDaEMsU0FBUzsrQkFFRSxhQUFhLFlBQ2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQW9DRDswRkFRQSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICd0YWJzLXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXZcclxuICAgICAgW2NsYXNzXT1cIm9wdGlvbnM/LmxhYmVsSHRtbENsYXNzIHx8ICcnXCI+XHJcbiAgICAgIDxhICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxheW91dE5vZGU/Lml0ZW1zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICBbY2xhc3NdPVwiKG9wdGlvbnM/Lml0ZW1MYWJlbEh0bWxDbGFzcyB8fCAnJykgKyAoc2VsZWN0ZWRJdGVtID09PSBpID9cclxuICAgICAgICAgICgnICcgKyAob3B0aW9ucz8uYWN0aXZlQ2xhc3MgfHwgJycpICsgJyAnICsgKG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCB8fCAnJykpIDpcclxuICAgICAgICAgICgnICcgKyBvcHRpb25zPy5zdHlsZT8udW5zZWxlY3RlZCkpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93QWRkVGFiIHx8IGl0ZW0udHlwZSAhPT0gJyRyZWYnXCJcclxuICAgICAgICBbY2xhc3NdPVwiKHNlbGVjdGVkSXRlbSA9PT0gaSA/ICgnICcgKyBvcHRpb25zPy5hY3RpdmVDbGFzcyArICcgJyArIG9wdGlvbnM/LnN0eWxlPy5zZWxlY3RlZCkgOlxyXG4gICAgICAgICgnICcgKyBvcHRpb25zPy5zdHlsZT8udW5zZWxlY3RlZCkpXCJcclxuICAgICAgW2lubmVySFRNTF09XCJzZXRUYWJUaXRsZShpdGVtLCBpKVwiXHJcbiAgICAgIChjbGljayk9XCJzZWxlY3QoaSlcIj48L3NwYW4+XHJcbiAgICAgIDwvYT5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tXHJcbiAgICA8ZGl2IGNsYXNzPVwidGFicyB0YWJzLWJveGVkXCI+XHJcbiAgPGEgY2xhc3M9XCJ0YWJcIj5UYWIgMTwvYT4gXHJcbiAgPGEgY2xhc3M9XCJ0YWIgdGFiLWFjdGl2ZVwiPlRhYiAyPC9hPiBcclxuICA8YSBjbGFzcz1cInRhYlwiPlRhYiAzPC9hPlxyXG48L2Rpdj5cclxuLS0+XHJcblxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgbGF5b3V0SXRlbSBvZiBsYXlvdXROb2RlPy5pdGVtczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgIFtjbGFzc109XCJvcHRpb25zPy5odG1sQ2xhc3MgfHwgJydcIj5cclxuXHJcbiAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNlbGVjdGVkSXRlbSA9PT0gaVwiXHJcbiAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5maWVsZEh0bWxDbGFzcyB8fCAnJykgK1xyXG4gICAgICAgICAgJyAnICsgKG9wdGlvbnM/LmFjdGl2ZUNsYXNzIHx8ICcnKSArXHJcbiAgICAgICAgICAnICcgKyAob3B0aW9ucz8uc3R5bGU/LnNlbGVjdGVkIHx8ICcnKVwiXHJcbiAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXROb2RlPy5kYXRhVHlwZSA9PT0gJ2FycmF5JyA/IChkYXRhSW5kZXggfHwgW10pLmNvbmNhdChpKSA6IGRhdGFJbmRleFwiXHJcbiAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCB8fCBbXSkuY29uY2F0KGkpXCJcclxuICAgICAgICBbbGF5b3V0Tm9kZV09XCJsYXlvdXRJdGVtXCI+PC9zZWxlY3QtZnJhbWV3b3JrLXdpZGdldD5cclxuXHJcbiAgICA8L2Rpdj5gLFxyXG4gIHN0eWxlczogW2AgYSB7IGN1cnNvcjogcG9pbnRlcjsgfSBgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhaXN5VUlUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBvcHRpb25zOiBhbnk7XHJcbiAgaXRlbUNvdW50OiBudW1iZXI7XHJcbiAgc2VsZWN0ZWRJdGVtID0gMDtcclxuICBzaG93QWRkVGFiID0gdHJ1ZTtcclxuICBASW5wdXQoKSBsYXlvdXROb2RlOiBhbnk7XHJcbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IG51bWJlcltdO1xyXG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBqc2Y6IEpzb25TY2hlbWFGb3JtU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5sYXlvdXROb2RlLm9wdGlvbnMgfHwge307XHJcbiAgICB0aGlzLml0ZW1Db3VudCA9IHRoaXMubGF5b3V0Tm9kZS5pdGVtcy5sZW5ndGggLSAxO1xyXG4gICAgdGhpcy51cGRhdGVDb250cm9sKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3QoaW5kZXgpIHtcclxuICAgIGlmICh0aGlzLmxheW91dE5vZGUuaXRlbXNbaW5kZXhdLnR5cGUgPT09ICckcmVmJykge1xyXG4gICAgICB0aGlzLml0ZW1Db3VudCA9IHRoaXMubGF5b3V0Tm9kZS5pdGVtcy5sZW5ndGg7XHJcbiAgICAgIHRoaXMuanNmLmFkZEl0ZW0oe1xyXG4gICAgICAgIGxheW91dE5vZGU6IHRoaXMubGF5b3V0Tm9kZS5pdGVtc1tpbmRleF0sXHJcbiAgICAgICAgbGF5b3V0SW5kZXg6IHRoaXMubGF5b3V0SW5kZXguY29uY2F0KGluZGV4KSxcclxuICAgICAgICBkYXRhSW5kZXg6IHRoaXMuZGF0YUluZGV4LmNvbmNhdChpbmRleClcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29udHJvbCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBpbmRleDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUNvbnRyb2woKSB7XHJcbiAgICBjb25zdCBsYXN0SXRlbSA9IHRoaXMubGF5b3V0Tm9kZS5pdGVtc1t0aGlzLmxheW91dE5vZGUuaXRlbXMubGVuZ3RoIC0gMV07XHJcbiAgICBpZiAobGFzdEl0ZW0udHlwZSA9PT0gJyRyZWYnICYmXHJcbiAgICAgIHRoaXMuaXRlbUNvdW50ID49IChsYXN0SXRlbS5vcHRpb25zLm1heEl0ZW1zIHx8IDEwMDApXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zaG93QWRkVGFiID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRUYWJUaXRsZShpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuanNmLnNldEFycmF5SXRlbVRpdGxlKHRoaXMsIGl0ZW0sIGluZGV4KTtcclxuICB9XHJcbn1cclxuIl19
|
|
121
|
+
}] });
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFpc3l1aS10YWJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1kYWlzeXVpL3NyYy9saWIvd2lkZ2V0cy9kYWlzeXVpLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUE4QzNELE1BQU0sT0FBTyxvQkFBb0I7SUExQ2pDO1FBMkNVLFFBQUcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUk1QyxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ1QsZUFBVSxHQUFHLEtBQUssQ0FBTSxTQUFTLENBQUMsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN6QyxjQUFTLEdBQUcsS0FBSyxDQUFXLFNBQVMsQ0FBQyxDQUFDO0tBa0NqRDtJQWhDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7Z0JBQ2YsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQyxXQUFXLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JELFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsRCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0UsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLE1BQU07WUFDMUIsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxFQUNyRDtZQUNBLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFTLEVBQUUsS0FBYTtRQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDOytHQTFDVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixvZEF2Q3JCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FvQ0Q7OzRGQUdFLG9CQUFvQjtrQkExQ2hDLFNBQVM7K0JBRUUsYUFBYSxZQUNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FvQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgaW5wdXQsIHNpZ25hbCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BuZy1mb3Jtd29ya3MvY29yZSc7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ3RhYnMtd2lkZ2V0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdlxyXG4gICAgICBbY2xhc3NdPVwib3B0aW9ucz8ubGFiZWxIdG1sQ2xhc3MgfHwgJydcIj5cclxuICAgICAgPGEgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGF5b3V0Tm9kZSgpPy5pdGVtczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5pdGVtTGFiZWxIdG1sQ2xhc3MgfHwgJycpICsgKHNlbGVjdGVkSXRlbSA9PT0gaSA/XHJcbiAgICAgICAgICAoJyAnICsgKG9wdGlvbnM/LmFjdGl2ZUNsYXNzIHx8ICcnKSArICcgJyArIChvcHRpb25zPy5zdHlsZT8uc2VsZWN0ZWQgfHwgJycpKSA6XHJcbiAgICAgICAgICAoJyAnICsgb3B0aW9ucz8uc3R5bGU/LnVuc2VsZWN0ZWQpKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd0FkZFRhYiB8fCBpdGVtLnR5cGUgIT09ICckcmVmJ1wiXHJcbiAgICAgICAgW2NsYXNzXT1cIihzZWxlY3RlZEl0ZW0gPT09IGkgPyAoJyAnICsgb3B0aW9ucz8uYWN0aXZlQ2xhc3MgKyAnICcgKyBvcHRpb25zPy5zdHlsZT8uc2VsZWN0ZWQpIDpcclxuICAgICAgICAoJyAnICsgb3B0aW9ucz8uc3R5bGU/LnVuc2VsZWN0ZWQpKVwiXHJcbiAgICAgIFtpbm5lckhUTUxdPVwic2V0VGFiVGl0bGUoaXRlbSwgaSlcIlxyXG4gICAgICAoY2xpY2spPVwic2VsZWN0KGkpXCI+PC9zcGFuPlxyXG4gICAgICA8L2E+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLVxyXG4gICAgPGRpdiBjbGFzcz1cInRhYnMgdGFicy1ib3hlZFwiPlxyXG4gIDxhIGNsYXNzPVwidGFiXCI+VGFiIDE8L2E+IFxyXG4gIDxhIGNsYXNzPVwidGFiIHRhYi1hY3RpdmVcIj5UYWIgMjwvYT4gXHJcbiAgPGEgY2xhc3M9XCJ0YWJcIj5UYWIgMzwvYT5cclxuPC9kaXY+XHJcbi0tPlxyXG5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGxheW91dEl0ZW0gb2YgbGF5b3V0Tm9kZSgpPy5pdGVtczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgIFtjbGFzc109XCJvcHRpb25zPy5odG1sQ2xhc3MgfHwgJydcIj5cclxuXHJcbiAgICAgIDxzZWxlY3QtZnJhbWV3b3JrLXdpZGdldCAqbmdJZj1cInNlbGVjdGVkSXRlbSA9PT0gaVwiXHJcbiAgICAgICAgW2NsYXNzXT1cIihvcHRpb25zPy5maWVsZEh0bWxDbGFzcyB8fCAnJykgK1xyXG4gICAgICAgICAgJyAnICsgKG9wdGlvbnM/LmFjdGl2ZUNsYXNzIHx8ICcnKSArXHJcbiAgICAgICAgICAnICcgKyAob3B0aW9ucz8uc3R5bGU/LnNlbGVjdGVkIHx8ICcnKVwiXHJcbiAgICAgICAgW2RhdGFJbmRleF09XCJsYXlvdXROb2RlKCk/LmRhdGFUeXBlID09PSAnYXJyYXknID8gKGRhdGFJbmRleCgpIHx8IFtdKS5jb25jYXQoaSkgOiBkYXRhSW5kZXgoKVwiXHJcbiAgICAgICAgW2xheW91dEluZGV4XT1cIihsYXlvdXRJbmRleCgpIHx8IFtdKS5jb25jYXQoaSlcIlxyXG4gICAgICAgIFtsYXlvdXROb2RlXT1cImxheW91dEl0ZW1cIj48L3NlbGVjdC1mcmFtZXdvcmstd2lkZ2V0PlxyXG5cclxuICAgIDwvZGl2PmAsXHJcbiAgc3R5bGVzOiBbYCBhIHsgY3Vyc29yOiBwb2ludGVyOyB9IGBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGFpc3lVSVRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIG9wdGlvbnM6IGFueTtcclxuICBpdGVtQ291bnQ6IG51bWJlcjtcclxuICBzZWxlY3RlZEl0ZW0gPSAwO1xyXG4gIHNob3dBZGRUYWIgPSB0cnVlO1xyXG4gIHJlYWRvbmx5IGxheW91dE5vZGUgPSBpbnB1dDxhbnk+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmxheW91dE5vZGUoKS5vcHRpb25zIHx8IHt9O1xyXG4gICAgdGhpcy5pdGVtQ291bnQgPSB0aGlzLmxheW91dE5vZGUoKS5pdGVtcy5sZW5ndGggLSAxO1xyXG4gICAgdGhpcy51cGRhdGVDb250cm9sKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3QoaW5kZXgpIHtcclxuICAgIGNvbnN0IGxheW91dE5vZGUgPSB0aGlzLmxheW91dE5vZGUoKTtcclxuICAgIGlmIChsYXlvdXROb2RlLml0ZW1zW2luZGV4XS50eXBlID09PSAnJHJlZicpIHtcclxuICAgICAgdGhpcy5pdGVtQ291bnQgPSBsYXlvdXROb2RlLml0ZW1zLmxlbmd0aDtcclxuICAgICAgdGhpcy5qc2YuYWRkSXRlbSh7XHJcbiAgICAgICAgbGF5b3V0Tm9kZTogc2lnbmFsKGxheW91dE5vZGUuaXRlbXNbaW5kZXhdKSxcclxuICAgICAgICBsYXlvdXRJbmRleDogc2lnbmFsKHRoaXMubGF5b3V0SW5kZXgoKS5jb25jYXQoaW5kZXgpKSxcclxuICAgICAgICBkYXRhSW5kZXg6IHNpZ25hbCh0aGlzLmRhdGFJbmRleCgpLmNvbmNhdChpbmRleCkpXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyb2woKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDb250cm9sKCkge1xyXG4gICAgY29uc3QgbGFzdEl0ZW0gPSB0aGlzLmxheW91dE5vZGUoKS5pdGVtc1t0aGlzLmxheW91dE5vZGUoKS5pdGVtcy5sZW5ndGggLSAxXTtcclxuICAgIGlmIChsYXN0SXRlbS50eXBlID09PSAnJHJlZicgJiZcclxuICAgICAgdGhpcy5pdGVtQ291bnQgPj0gKGxhc3RJdGVtLm9wdGlvbnMubWF4SXRlbXMgfHwgMTAwMClcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNob3dBZGRUYWIgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFRhYlRpdGxlKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5qc2Yuc2V0QXJyYXlJdGVtVGl0bGUodGhpcywgaXRlbSwgaW5kZXgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|