@dignite-ng/expand.cms 0.0.49 → 0.0.50
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/config/components/domains/domains.component.d.ts +7 -0
- package/config/components/site-language/site-language.component.d.ts +29 -0
- package/config/enums/route-names.d.ts +3 -2
- package/config/proxy/dignite/cms/admin/sites/index.d.ts +2 -0
- package/config/proxy/dignite/cms/admin/sites/models.d.ts +4 -0
- package/config/proxy/dignite/cms/admin/sites/site-admin.service.d.ts +13 -0
- package/config/proxy/dignite/cms/sites/models.d.ts +4 -0
- package/config/services/validators.service.d.ts +16 -0
- package/esm2022/config/cms-config.module.mjs +4 -4
- package/esm2022/config/components/domains/domains.component.mjs +22 -11
- package/esm2022/config/components/site-language/site-language.component.mjs +108 -0
- package/esm2022/config/enums/route-names.mjs +11 -2
- package/esm2022/config/providers/route.provider.mjs +17 -11
- package/esm2022/config/proxy/admin/domains/domain-admin.service.mjs +18 -19
- package/esm2022/config/proxy/dignite/cms/admin/sites/index.mjs +3 -0
- package/esm2022/config/proxy/dignite/cms/admin/sites/models.mjs +2 -0
- package/esm2022/config/proxy/dignite/cms/admin/sites/site-admin.service.mjs +27 -0
- package/esm2022/config/proxy/dignite/cms/sites/models.mjs +2 -0
- package/esm2022/config/services/validators.service.mjs +82 -0
- package/esm2022/lib/cms-routing.module.mjs +6 -6
- package/esm2022/lib/cms.module.mjs +16 -8
- package/esm2022/lib/components/admin/entries/create-or-edit-entries.component.mjs +29 -44
- package/esm2022/lib/components/admin/entries/create-or-update-entry-input-base.mjs +20 -20
- package/esm2022/lib/components/admin/entries/create.component.mjs +25 -23
- package/esm2022/lib/components/admin/entries/edit.component.mjs +25 -23
- package/esm2022/lib/components/admin/entries/entries.component.mjs +36 -43
- package/esm2022/lib/components/admin/fields/create-field.component.mjs +18 -18
- package/esm2022/lib/components/admin/fields/create-or-edit-field.component.mjs +8 -15
- package/esm2022/lib/components/admin/fields/create-or-update-field-input-base.mjs +13 -13
- package/esm2022/lib/components/admin/fields/edit-field.component.mjs +20 -23
- package/esm2022/lib/components/admin/fields/field-group.component.mjs +35 -27
- package/esm2022/lib/components/admin/fields/fields.component.mjs +14 -20
- package/esm2022/lib/components/admin/sections/create-or-update-sections-input-base.mjs +15 -15
- package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.mjs +26 -26
- package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.component.mjs +43 -66
- package/esm2022/lib/components/admin/sections/sections.component.mjs +28 -25
- package/esm2022/lib/components/dynamic-form/entry/entry-config.component.mjs +10 -21
- package/esm2022/lib/components/dynamic-form/entry/entry-config.mjs +7 -7
- package/esm2022/lib/components/dynamic-form/entry/entry-control.component.mjs +9 -19
- package/esm2022/lib/components/dynamic-form/matrix/matrix-config.component.mjs +14 -30
- package/esm2022/lib/components/dynamic-form/matrix/matrix-config.mjs +16 -16
- package/esm2022/lib/components/dynamic-form/matrix/matrix-control.component.mjs +7 -22
- package/esm2022/lib/components/dynamic-form/table/table-config.component.mjs +8 -30
- package/esm2022/lib/components/dynamic-form/table/table-config.mjs +15 -15
- package/esm2022/lib/components/dynamic-form/table/table-control.component.mjs +6 -20
- package/esm2022/lib/constants/styles.mjs +6 -1
- package/esm2022/lib/proxy/admin/dynamic-forms/form-admin.service.mjs +8 -9
- package/esm2022/lib/proxy/admin/entries/entry-admin.service.mjs +56 -57
- package/esm2022/lib/proxy/admin/fields/field-admin.service.mjs +31 -32
- package/esm2022/lib/proxy/admin/fields/field-group-admin.service.mjs +27 -28
- package/esm2022/lib/proxy/admin/sections/entry-type-admin.service.mjs +27 -28
- package/esm2022/lib/proxy/admin/sections/section-admin.service.mjs +37 -38
- package/esm2022/lib/proxy/admin/settings/site-settings-admin.service.mjs +17 -18
- package/esm2022/lib/resolvers/extensions-props-action-token.resolver.mjs +132 -0
- package/esm2022/lib/resolvers/page-default-toolbar-actions.mjs +160 -0
- package/esm2022/lib/services/cms-api.service.mjs +3 -4
- package/esm2022/lib/services/cms.service.mjs +4 -5
- package/esm2022/lib/services/field-abstracts.service.mjs +7 -9
- package/esm2022/lib/services/simple-reuse-strategy.mjs +2 -2
- package/esm2022/lib/services/update-list.service.mjs +6 -5
- package/esm2022/lib/services/validators.service.mjs +83 -0
- package/esm2022/public-api.mjs +1 -4
- package/fesm2022/dignite-ng-expand.cms-config.mjs +265 -44
- package/fesm2022/dignite-ng-expand.cms-config.mjs.map +1 -1
- package/fesm2022/dignite-ng-expand.cms.mjs +856 -865
- package/fesm2022/dignite-ng-expand.cms.mjs.map +1 -1
- package/lib/components/admin/entries/create.component.d.ts +7 -0
- package/lib/components/admin/entries/edit.component.d.ts +7 -0
- package/lib/components/admin/fields/create-field.component.d.ts +7 -0
- package/lib/components/admin/fields/create-or-edit-field.component.d.ts +3 -1
- package/lib/components/admin/fields/edit-field.component.d.ts +7 -0
- package/lib/components/admin/fields/field-group.component.d.ts +7 -0
- package/lib/components/admin/sections/entry-types/create-or-edit.component.d.ts +7 -0
- package/lib/components/admin/sections/sections.component.d.ts +7 -0
- package/lib/constants/styles.d.ts +1 -1
- package/lib/resolvers/extensions-props-action-token.resolver.d.ts +71 -0
- package/lib/services/validators.service.d.ts +16 -0
- package/package.json +1 -1
- package/esm2022/lib/toolbar/index.mjs +0 -3
- package/esm2022/lib/toolbar/toolbar-btn-default-action.mjs +0 -160
- package/esm2022/lib/toolbar/toolbar-config.mjs +0 -83
- package/lib/toolbar/index.d.ts +0 -2
- package/lib/toolbar/toolbar-config.d.ts +0 -56
- /package/lib/{toolbar/toolbar-btn-default-action.d.ts → resolvers/page-default-toolbar-actions.d.ts} +0 -0
package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { FormArray, Validators } from "@angular/forms";
|
|
2
2
|
export class CreateOrEditEntryTypeInputBase {
|
|
3
|
-
/**显示名称 Display name of this field */
|
|
4
|
-
displayName = ['', [Validators.required]];
|
|
5
|
-
/**名称 Unique Name*/
|
|
6
|
-
name = ['', [Validators.required]];
|
|
7
|
-
/**条目路由 */
|
|
8
|
-
fieldTabs = new FormArray([]);
|
|
9
3
|
constructor(data) {
|
|
4
|
+
/**显示名称 Display name of this field */
|
|
5
|
+
this.displayName = ['', [Validators.required]];
|
|
6
|
+
/**名称 Unique Name*/
|
|
7
|
+
this.name = ['', [Validators.required]];
|
|
8
|
+
/**条目路由 */
|
|
9
|
+
this.fieldTabs = new FormArray([]);
|
|
10
10
|
if (data) {
|
|
11
11
|
for (const key in data) {
|
|
12
12
|
if (data.hasOwnProperty(key)) {
|
|
@@ -17,10 +17,10 @@ export class CreateOrEditEntryTypeInputBase {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
export class fieldTabsBase {
|
|
20
|
-
/**名称 Unique Name*/
|
|
21
|
-
name = ['', [Validators.required]];
|
|
22
|
-
fields = [[], []];
|
|
23
20
|
constructor(data) {
|
|
21
|
+
/**名称 Unique Name*/
|
|
22
|
+
this.name = ['', [Validators.required]];
|
|
23
|
+
this.fields = [[], []];
|
|
24
24
|
if (data) {
|
|
25
25
|
for (const key in data) {
|
|
26
26
|
if (data.hasOwnProperty(key)) {
|
|
@@ -31,15 +31,15 @@ export class fieldTabsBase {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
export class fieldsBase {
|
|
34
|
-
/**字段id Unique Name*/
|
|
35
|
-
fieldId = ['', [Validators.required]];
|
|
36
|
-
/**显示名称 Unique Name*/
|
|
37
|
-
displayName = ['', [Validators.required]];
|
|
38
|
-
/**必填 Unique Name*/
|
|
39
|
-
required = [false, []];
|
|
40
|
-
/**是否在列表中显示 Unique Name*/
|
|
41
|
-
showOnList = [false, []];
|
|
42
34
|
constructor(data) {
|
|
35
|
+
/**字段id Unique Name*/
|
|
36
|
+
this.fieldId = ['', [Validators.required]];
|
|
37
|
+
/**显示名称 Unique Name*/
|
|
38
|
+
this.displayName = ['', [Validators.required]];
|
|
39
|
+
/**必填 Unique Name*/
|
|
40
|
+
this.required = [false, []];
|
|
41
|
+
/**是否在列表中显示 Unique Name*/
|
|
42
|
+
this.showOnList = [false, []];
|
|
43
43
|
if (data) {
|
|
44
44
|
for (const key in data) {
|
|
45
45
|
if (data.hasOwnProperty(key)) {
|
|
@@ -50,15 +50,15 @@ export class fieldsBase {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
export class fieldsInputBase {
|
|
53
|
-
/**字段id */
|
|
54
|
-
fieldId = ['', [Validators.required]];
|
|
55
|
-
/**显示名称 Display name of this field */
|
|
56
|
-
displayName = ['', [Validators.required]];
|
|
57
|
-
/**是否必填 Unique Name*/
|
|
58
|
-
required = [false, []];
|
|
59
|
-
/**在列表中展示 Unique Name*/
|
|
60
|
-
showOnList = [false, []];
|
|
61
53
|
constructor(data) {
|
|
54
|
+
/**字段id */
|
|
55
|
+
this.fieldId = ['', [Validators.required]];
|
|
56
|
+
/**显示名称 Display name of this field */
|
|
57
|
+
this.displayName = ['', [Validators.required]];
|
|
58
|
+
/**是否必填 Unique Name*/
|
|
59
|
+
this.required = [false, []];
|
|
60
|
+
/**在列表中展示 Unique Name*/
|
|
61
|
+
this.showOnList = [false, []];
|
|
62
62
|
if (data) {
|
|
63
63
|
for (const key in data) {
|
|
64
64
|
if (data.hasOwnProperty(key)) {
|
|
@@ -68,4 +68,4 @@ export class fieldsInputBase {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLWVkaXQuLWVudHJ5LXR5cGUtaW5wdXQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Ntcy9zcmMvbGliL2NvbXBvbmVudHMvYWRtaW4vc2VjdGlvbnMvZW50cnktdHlwZXMvY3JlYXRlLW9yLWVkaXQuLWVudHJ5LXR5cGUtaW5wdXQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZELE1BQU0sT0FBTyw4QkFBOEI7SUFTdkMsWUFBWSxJQUFxQztRQVJqRCxxQ0FBcUM7UUFDckMsZ0JBQVcsR0FBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRS9DLG1CQUFtQjtRQUNuQixTQUFJLEdBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN4QyxVQUFVO1FBQ1YsY0FBUyxHQUFRLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBRzlCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBQ0QsTUFBTSxPQUFPLGFBQWE7SUFJdEIsWUFBWSxJQUFvQjtRQUhoQyxtQkFBbUI7UUFDbkIsU0FBSSxHQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRW5CLElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBQ0QsTUFBTSxPQUFPLFVBQVU7SUFVbkIsWUFBWSxJQUFpQjtRQVQ3QixxQkFBcUI7UUFDckIsWUFBTyxHQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDM0MscUJBQXFCO1FBQ3JCLGdCQUFXLEdBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMvQyxtQkFBbUI7UUFDbkIsYUFBUSxHQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLHlCQUF5QjtRQUN6QixlQUFVLEdBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFHMUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFFTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQVV4QixZQUFZLElBQXNCO1FBVGxDLFVBQVU7UUFDVixZQUFPLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN0QyxxQ0FBcUM7UUFDckMsZ0JBQVcsR0FBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRS9DLHFCQUFxQjtRQUNyQixhQUFRLEdBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUIsdUJBQXVCO1FBQ3ZCLGVBQVUsR0FBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFCLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUVMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1BcnJheSwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENyZWF0ZU9yRWRpdEVudHJ5VHlwZUlucHV0QmFzZSB7XHJcbiAgICAvKirmmL7npLrlkI3np7AgRGlzcGxheSBuYW1lIG9mIHRoaXMgZmllbGQgKi9cclxuICAgIGRpc3BsYXlOYW1lOiBhbnkgPSBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV07XHJcblxyXG4gICAgLyoq5ZCN56ewIFVuaXF1ZSBOYW1lKi9cclxuICAgIG5hbWU6IGFueSA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuICAgIC8qKuadoeebrui3r+eUsSAqL1xyXG4gICAgZmllbGRUYWJzOiBhbnkgPSBuZXcgRm9ybUFycmF5KFtdKVxyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhPzogQ3JlYXRlT3JFZGl0RW50cnlUeXBlSW5wdXRCYXNlKSB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IGRhdGFba2V5XTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5leHBvcnQgY2xhc3MgZmllbGRUYWJzQmFzZSB7XHJcbiAgICAvKirlkI3np7AgVW5pcXVlIE5hbWUqL1xyXG4gICAgbmFtZTogYW55ID0gWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dO1xyXG4gICAgZmllbGRzPzogYW55ID0gW1tdLCBbXV1cclxuICAgIGNvbnN0cnVjdG9yKGRhdGE/OiBmaWVsZFRhYnNCYXNlKSB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IGRhdGFba2V5XTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5leHBvcnQgY2xhc3MgZmllbGRzQmFzZSB7XHJcbiAgICAvKirlrZfmrrVpZCBVbmlxdWUgTmFtZSovXHJcbiAgICBmaWVsZElkOiBhbnkgPSBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV07XHJcbiAgICAvKirmmL7npLrlkI3np7AgVW5pcXVlIE5hbWUqL1xyXG4gICAgZGlzcGxheU5hbWU6IGFueSA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuICAgIC8qKuW/heWhqyBVbmlxdWUgTmFtZSovXHJcbiAgICByZXF1aXJlZDogYW55ID0gW2ZhbHNlLCBbXV07XHJcbiAgICAvKirmmK/lkKblnKjliJfooajkuK3mmL7npLogVW5pcXVlIE5hbWUqL1xyXG4gICAgc2hvd09uTGlzdDogYW55ID0gW2ZhbHNlLCBbXV07XHJcblxyXG4gICAgY29uc3RydWN0b3IoZGF0YT86IGZpZWxkc0Jhc2UpIHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpc1trZXldID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIGZpZWxkc0lucHV0QmFzZSB7XHJcbiAgICAvKirlrZfmrrVpZCAqL1xyXG4gICAgZmllbGRJZCA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuICAgIC8qKuaYvuekuuWQjeensCBEaXNwbGF5IG5hbWUgb2YgdGhpcyBmaWVsZCAqL1xyXG4gICAgZGlzcGxheU5hbWU6IGFueSA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuXHJcbiAgICAvKirmmK/lkKblv4XloasgVW5pcXVlIE5hbWUqL1xyXG4gICAgcmVxdWlyZWQ6IGFueSA9IFtmYWxzZSwgW11dO1xyXG4gICAgLyoq5Zyo5YiX6KGo5Lit5bGV56S6IFVuaXF1ZSBOYW1lKi9cclxuICAgIHNob3dPbkxpc3Q6IGFueSA9IFtmYWxzZSwgW11dO1xyXG4gICAgY29uc3RydWN0b3IoZGF0YT86IGZpZWxkc0lucHV0QmFzZSkge1xyXG4gICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcclxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBkYXRhW2tleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=
|