@alauda-fe/common 1.3.1 → 1.4.0
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/array-form-table/form/component.d.ts +1 -1
- package/authorization/interceptor.service.d.ts +0 -1
- package/authorization/state.service.d.ts +13 -13
- package/core/abstract/base-nested-form-control.d.ts +1 -1
- package/core/constants/patterns.d.ts +4 -0
- package/core/directives/scroll-to-first-invalid.directive.d.ts +1 -1
- package/core/module.d.ts +21 -21
- package/core/pipes/time.pipe.d.ts +1 -1
- package/core/services/context.service.d.ts +3 -4
- package/core/services/feature-gate.service.d.ts +1 -1
- package/core/services/workspace-helper.service.d.ts +3 -1
- package/core/utils/common.d.ts +0 -2
- package/core/utils/public-api.d.ts +1 -0
- package/core/utils/router.d.ts +3 -0
- package/core/utils/version.d.ts +1 -1
- package/editable/editable.component.d.ts +23 -0
- package/editable/editable.directive.d.ts +9 -0
- package/editable/editable.type.d.ts +5 -0
- package/editable/public-api.d.ts +2 -0
- package/esm2022/authorization/guard.service.mjs +2 -2
- package/esm2022/authorization/interceptor.service.mjs +7 -22
- package/esm2022/authorization/state.service.mjs +58 -92
- package/esm2022/core/constants/patterns.mjs +6 -4
- package/esm2022/core/module.mjs +7 -12
- package/esm2022/core/pipes/time.pipe.mjs +3 -3
- package/esm2022/core/services/context.service.mjs +9 -12
- package/esm2022/core/services/workspace-helper.service.mjs +7 -1
- package/esm2022/core/types/k8s/crd.mjs +1 -1
- package/esm2022/core/utils/common.mjs +1 -11
- package/esm2022/core/utils/public-api.mjs +2 -1
- package/esm2022/core/utils/router.mjs +20 -0
- package/esm2022/editable/editable.component.mjs +136 -0
- package/esm2022/editable/editable.directive.mjs +25 -0
- package/esm2022/editable/editable.type.mjs +6 -0
- package/esm2022/editable/public-api.mjs +3 -0
- package/esm2022/exec/terminal/component.mjs +12 -19
- package/esm2022/k8s-resource-list/footer/component.mjs +57 -21
- package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +18 -6
- package/esm2022/k8s-resource-list/utils.mjs +7 -3
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +55 -53
- package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +4 -4
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +6 -10
- package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +6 -6
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +51 -40
- package/esm2022/pie-derivative-chart/units.mjs +14 -0
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/table/component.mjs +47 -30
- package/esm2022/table/module.mjs +1 -1
- package/esm2022/view-chart/view-chart.component.mjs +5 -8
- package/esm2022/widget/public-api.mjs +2 -1
- package/esm2022/widget/resource-label/component.mjs +131 -0
- package/esm2022/widget/zero-state/zero-state.component.mjs +36 -21
- package/exec/terminal/component.d.ts +1 -3
- package/k8s-resource-list/footer/component.d.ts +8 -1
- package/k8s-resource-list/k8s-resource-list.module.d.ts +1 -1
- package/k8s-resource-list/k8s-resource-paged-list.d.ts +2 -2
- package/package.json +1 -1
- package/page-scaffold/page-header/common-layout/product-select/component.d.ts +1 -3
- package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +4 -0
- package/pie-derivative-chart/units.d.ts +2 -0
- package/public-api.d.ts +1 -0
- package/styles/global.scss +1 -0
- package/styles/tailwind-preset.scss +1 -1
- package/table/component.d.ts +5 -4
- package/table/helper.d.ts +1 -1
- package/table/module.d.ts +1 -1
- package/widget/public-api.d.ts +1 -0
- package/widget/resource-label/component.d.ts +25 -0
- package/widget/zero-state/zero-state.component.d.ts +4 -1
|
@@ -20,20 +20,20 @@ const _forTrack1 = ($index, $item) => $item.name;
|
|
|
20
20
|
const _c1 = a0 => ({ item: a0, inLink: true });
|
|
21
21
|
const _c2 = a0 => ({ item: a0, inLink: false });
|
|
22
22
|
const _c3 = a0 => ({ $implicit: a0 });
|
|
23
|
-
function
|
|
23
|
+
function BreadcrumbComponent_Conditional_1_For_1_Conditional_1_Conditional_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
24
24
|
i0.ɵɵelementContainer(0);
|
|
25
25
|
} }
|
|
26
|
-
function
|
|
27
|
-
i0.ɵɵtemplate(0,
|
|
26
|
+
function BreadcrumbComponent_Conditional_1_For_1_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
27
|
+
i0.ɵɵtemplate(0, BreadcrumbComponent_Conditional_1_For_1_Conditional_1_Conditional_1_ng_container_0_Template, 1, 0, "ng-container", 4);
|
|
28
28
|
} if (rf & 2) {
|
|
29
29
|
const item_r1 = i0.ɵɵnextContext(2).$implicit;
|
|
30
30
|
i0.ɵɵnextContext(2);
|
|
31
|
-
const icon_r2 = i0.ɵɵreference(
|
|
31
|
+
const icon_r2 = i0.ɵɵreference(5);
|
|
32
32
|
i0.ɵɵproperty("ngTemplateOutlet", icon_r2)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c1, item_r1));
|
|
33
33
|
} }
|
|
34
|
-
function
|
|
34
|
+
function BreadcrumbComponent_Conditional_1_For_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
35
35
|
i0.ɵɵelementStart(0, "a", 2);
|
|
36
|
-
i0.ɵɵtemplate(1,
|
|
36
|
+
i0.ɵɵtemplate(1, BreadcrumbComponent_Conditional_1_For_1_Conditional_1_Conditional_1_Template, 1, 4, "ng-container");
|
|
37
37
|
i0.ɵɵelementStart(2, "span");
|
|
38
38
|
i0.ɵɵtext(3);
|
|
39
39
|
i0.ɵɵpipe(4, "translate");
|
|
@@ -48,20 +48,20 @@ function BreadcrumbComponent_Conditional_0_For_2_Conditional_1_Template(rf, ctx)
|
|
|
48
48
|
i0.ɵɵadvance(2);
|
|
49
49
|
i0.ɵɵtextInterpolate(item_r1.label || i0.ɵɵpipeBind1(4, 3, item_r1.name));
|
|
50
50
|
} }
|
|
51
|
-
function
|
|
51
|
+
function BreadcrumbComponent_Conditional_1_For_1_Conditional_2_Conditional_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
52
52
|
i0.ɵɵelementContainer(0);
|
|
53
53
|
} }
|
|
54
|
-
function
|
|
55
|
-
i0.ɵɵtemplate(0,
|
|
54
|
+
function BreadcrumbComponent_Conditional_1_For_1_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
+
i0.ɵɵtemplate(0, BreadcrumbComponent_Conditional_1_For_1_Conditional_2_Conditional_1_ng_container_0_Template, 1, 0, "ng-container", 4);
|
|
56
56
|
} if (rf & 2) {
|
|
57
57
|
const item_r1 = i0.ɵɵnextContext(2).$implicit;
|
|
58
58
|
i0.ɵɵnextContext(2);
|
|
59
|
-
const icon_r2 = i0.ɵɵreference(
|
|
59
|
+
const icon_r2 = i0.ɵɵreference(5);
|
|
60
60
|
i0.ɵɵproperty("ngTemplateOutlet", icon_r2)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, item_r1));
|
|
61
61
|
} }
|
|
62
|
-
function
|
|
62
|
+
function BreadcrumbComponent_Conditional_1_For_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
63
63
|
i0.ɵɵelementStart(0, "span", 3);
|
|
64
|
-
i0.ɵɵtemplate(1,
|
|
64
|
+
i0.ɵɵtemplate(1, BreadcrumbComponent_Conditional_1_For_1_Conditional_2_Conditional_1_Template, 1, 4, "ng-container");
|
|
65
65
|
i0.ɵɵelementStart(2, "span");
|
|
66
66
|
i0.ɵɵtext(3);
|
|
67
67
|
i0.ɵɵpipe(4, "translate");
|
|
@@ -75,9 +75,9 @@ function BreadcrumbComponent_Conditional_0_For_2_Conditional_2_Template(rf, ctx)
|
|
|
75
75
|
i0.ɵɵadvance(2);
|
|
76
76
|
i0.ɵɵtextInterpolate(item_r1.label || i0.ɵɵpipeBind1(4, 2, item_r1.name));
|
|
77
77
|
} }
|
|
78
|
-
function
|
|
78
|
+
function BreadcrumbComponent_Conditional_1_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
79
79
|
i0.ɵɵelementStart(0, "aui-breadcrumb-item");
|
|
80
|
-
i0.ɵɵtemplate(1,
|
|
80
|
+
i0.ɵɵtemplate(1, BreadcrumbComponent_Conditional_1_For_1_Conditional_1_Template, 5, 5, "a", 2)(2, BreadcrumbComponent_Conditional_1_For_1_Conditional_2_Template, 5, 4, "span", 3);
|
|
81
81
|
i0.ɵɵelementEnd();
|
|
82
82
|
} if (rf & 2) {
|
|
83
83
|
const item_r1 = ctx.$implicit;
|
|
@@ -85,13 +85,19 @@ function BreadcrumbComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1)
|
|
|
85
85
|
i0.ɵɵadvance();
|
|
86
86
|
i0.ɵɵconditional(item_r1.routerLink && !ctx_r4.isSameUrl(item_r1.routerLink) ? 1 : 2);
|
|
87
87
|
} }
|
|
88
|
-
function
|
|
88
|
+
function BreadcrumbComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
89
|
+
i0.ɵɵrepeaterCreate(0, BreadcrumbComponent_Conditional_1_For_1_Template, 3, 1, "aui-breadcrumb-item", null, _forTrack0);
|
|
90
|
+
} if (rf & 2) {
|
|
91
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
92
|
+
i0.ɵɵrepeater(ctx_r4.activatedPath);
|
|
93
|
+
} }
|
|
94
|
+
function BreadcrumbComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
89
95
|
i0.ɵɵelementContainer(0, 1);
|
|
90
96
|
} if (rf & 2) {
|
|
91
|
-
const ctx_r4 = i0.ɵɵnextContext(
|
|
97
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
92
98
|
i0.ɵɵproperty("ngTemplateOutlet", ctx_r4.customTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c3, ctx_r4.rootPath()));
|
|
93
99
|
} }
|
|
94
|
-
function
|
|
100
|
+
function BreadcrumbComponent_Conditional_3_For_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
95
101
|
i0.ɵɵelementStart(0, "a", 5);
|
|
96
102
|
i0.ɵɵtext(1);
|
|
97
103
|
i0.ɵɵpipe(2, "translate");
|
|
@@ -102,7 +108,7 @@ function BreadcrumbComponent_Conditional_0_Conditional_4_For_1_Conditional_1_Tem
|
|
|
102
108
|
i0.ɵɵadvance();
|
|
103
109
|
i0.ɵɵtextInterpolate(item_r6.translate ? i0.ɵɵpipeBind1(2, 2, item_r6.name) : item_r6.name);
|
|
104
110
|
} }
|
|
105
|
-
function
|
|
111
|
+
function BreadcrumbComponent_Conditional_3_For_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
106
112
|
i0.ɵɵelementStart(0, "span");
|
|
107
113
|
i0.ɵɵtext(1);
|
|
108
114
|
i0.ɵɵpipe(2, "translate");
|
|
@@ -112,36 +118,22 @@ function BreadcrumbComponent_Conditional_0_Conditional_4_For_1_Conditional_2_Tem
|
|
|
112
118
|
i0.ɵɵadvance();
|
|
113
119
|
i0.ɵɵtextInterpolate(item_r6.translate ? i0.ɵɵpipeBind1(2, 1, item_r6.name) : item_r6.name);
|
|
114
120
|
} }
|
|
115
|
-
function
|
|
121
|
+
function BreadcrumbComponent_Conditional_3_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
116
122
|
i0.ɵɵelementStart(0, "aui-breadcrumb-item");
|
|
117
|
-
i0.ɵɵtemplate(1,
|
|
123
|
+
i0.ɵɵtemplate(1, BreadcrumbComponent_Conditional_3_For_1_Conditional_1_Template, 3, 4, "a", 5)(2, BreadcrumbComponent_Conditional_3_For_1_Conditional_2_Template, 3, 3, "span");
|
|
118
124
|
i0.ɵɵelementEnd();
|
|
119
125
|
} if (rf & 2) {
|
|
120
126
|
const item_r6 = ctx.$implicit;
|
|
121
127
|
i0.ɵɵadvance();
|
|
122
128
|
i0.ɵɵconditional(item_r6.routerLink ? 1 : 2);
|
|
123
129
|
} }
|
|
124
|
-
function
|
|
125
|
-
i0.ɵɵrepeaterCreate(0,
|
|
126
|
-
} if (rf & 2) {
|
|
127
|
-
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
128
|
-
i0.ɵɵrepeater(ctx_r4.subItems());
|
|
129
|
-
} }
|
|
130
|
-
function BreadcrumbComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
131
|
-
i0.ɵɵelementStart(0, "aui-breadcrumb");
|
|
132
|
-
i0.ɵɵrepeaterCreate(1, BreadcrumbComponent_Conditional_0_For_2_Template, 3, 1, "aui-breadcrumb-item", null, _forTrack0);
|
|
133
|
-
i0.ɵɵtemplate(3, BreadcrumbComponent_Conditional_0_Conditional_3_Template, 1, 4, "ng-container", 1)(4, BreadcrumbComponent_Conditional_0_Conditional_4_Template, 2, 0);
|
|
134
|
-
i0.ɵɵelementEnd();
|
|
130
|
+
function BreadcrumbComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
131
|
+
i0.ɵɵrepeaterCreate(0, BreadcrumbComponent_Conditional_3_For_1_Template, 3, 1, "aui-breadcrumb-item", null, _forTrack1);
|
|
135
132
|
} if (rf & 2) {
|
|
136
133
|
const ctx_r4 = i0.ɵɵnextContext();
|
|
137
|
-
i0.ɵɵ
|
|
138
|
-
i0.ɵɵrepeater(ctx_r4.activatedPath);
|
|
139
|
-
i0.ɵɵadvance(2);
|
|
140
|
-
i0.ɵɵconditional(ctx_r4.customTemplateState === "ready" ? 3 : -1);
|
|
141
|
-
i0.ɵɵadvance();
|
|
142
|
-
i0.ɵɵconditional(ctx_r4.customTemplateState !== "initialing" && !ctx_r4.customTemplate ? 4 : -1);
|
|
134
|
+
i0.ɵɵrepeater(ctx_r4.subItems());
|
|
143
135
|
} }
|
|
144
|
-
function
|
|
136
|
+
function BreadcrumbComponent_ng_template_4_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
145
137
|
i0.ɵɵelement(0, "acl-nav-lottie-icon", 6);
|
|
146
138
|
} if (rf & 2) {
|
|
147
139
|
const ctx_r6 = i0.ɵɵnextContext();
|
|
@@ -150,14 +142,14 @@ function BreadcrumbComponent_ng_template_1_Conditional_0_Template(rf, ctx) { if
|
|
|
150
142
|
const ctx_r4 = i0.ɵɵnextContext();
|
|
151
143
|
i0.ɵɵproperty("frame", inLink_r9 ? -1 : 0)("animData", ctx_r4.animDataMap[item_r8.icon]);
|
|
152
144
|
} }
|
|
153
|
-
function
|
|
145
|
+
function BreadcrumbComponent_ng_template_4_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
154
146
|
i0.ɵɵelement(0, "acl-nav-lottie-icon", 6);
|
|
155
147
|
} if (rf & 2) {
|
|
156
148
|
const inLink_r9 = i0.ɵɵnextContext(2).inLink;
|
|
157
149
|
i0.ɵɵproperty("frame", inLink_r9 ? -1 : 0)("animData", ctx());
|
|
158
150
|
} }
|
|
159
|
-
function
|
|
160
|
-
i0.ɵɵtemplate(0,
|
|
151
|
+
function BreadcrumbComponent_ng_template_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
152
|
+
i0.ɵɵtemplate(0, BreadcrumbComponent_ng_template_4_Conditional_1_Conditional_0_Template, 1, 2, "acl-nav-lottie-icon", 6);
|
|
161
153
|
i0.ɵɵpipe(1, "pure");
|
|
162
154
|
} if (rf & 2) {
|
|
163
155
|
let tmp_5_0;
|
|
@@ -165,14 +157,14 @@ function BreadcrumbComponent_ng_template_1_Conditional_1_Template(rf, ctx) { if
|
|
|
165
157
|
const ctx_r4 = i0.ɵɵnextContext();
|
|
166
158
|
i0.ɵɵconditional((tmp_5_0 = i0.ɵɵpipeBind2(1, 1, item_r8.iconLottieJson, ctx_r4.loadLottieJson)) ? 0 : -1, tmp_5_0);
|
|
167
159
|
} }
|
|
168
|
-
function
|
|
160
|
+
function BreadcrumbComponent_ng_template_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
169
161
|
i0.ɵɵelement(0, "img", 7);
|
|
170
162
|
i0.ɵɵpipe(1, "aclSanitize");
|
|
171
163
|
} if (rf & 2) {
|
|
172
164
|
const item_r8 = i0.ɵɵnextContext().item;
|
|
173
165
|
i0.ɵɵproperty("src", i0.ɵɵpipeBind2(1, 1, item_r8.iconImgSrc, "url"), i0.ɵɵsanitizeUrl);
|
|
174
166
|
} }
|
|
175
|
-
function
|
|
167
|
+
function BreadcrumbComponent_ng_template_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
176
168
|
i0.ɵɵelement(0, "img", 7);
|
|
177
169
|
i0.ɵɵpipe(1, "aclImageHeader");
|
|
178
170
|
i0.ɵɵpipe(2, "aclSanitize");
|
|
@@ -180,21 +172,21 @@ function BreadcrumbComponent_ng_template_1_Conditional_3_Template(rf, ctx) { if
|
|
|
180
172
|
const item_r8 = i0.ɵɵnextContext().item;
|
|
181
173
|
i0.ɵɵproperty("src", i0.ɵɵpipeBind2(2, 3, i0.ɵɵpipeBind1(1, 1, item_r8.iconImgData || item_r8.iconData), "url"), i0.ɵɵsanitizeUrl);
|
|
182
174
|
} }
|
|
183
|
-
function
|
|
175
|
+
function BreadcrumbComponent_ng_template_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
184
176
|
i0.ɵɵelement(0, "aui-icon", 8);
|
|
185
177
|
} if (rf & 2) {
|
|
186
178
|
const item_r8 = i0.ɵɵnextContext().item;
|
|
187
179
|
i0.ɵɵproperty("icon", item_r8.iconStatic);
|
|
188
180
|
} }
|
|
189
|
-
function
|
|
181
|
+
function BreadcrumbComponent_ng_template_4_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
190
182
|
i0.ɵɵelement(0, "acl-nav-lottie-icon", 6);
|
|
191
183
|
} if (rf & 2) {
|
|
192
184
|
const inLink_r9 = i0.ɵɵnextContext().inLink;
|
|
193
185
|
const ctx_r4 = i0.ɵɵnextContext();
|
|
194
186
|
i0.ɵɵproperty("frame", inLink_r9 ? -1 : 0)("animData", ctx_r4.animDataMap.product);
|
|
195
187
|
} }
|
|
196
|
-
function
|
|
197
|
-
i0.ɵɵtemplate(0,
|
|
188
|
+
function BreadcrumbComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
189
|
+
i0.ɵɵtemplate(0, BreadcrumbComponent_ng_template_4_Conditional_0_Template, 1, 2, "acl-nav-lottie-icon", 6)(1, BreadcrumbComponent_ng_template_4_Conditional_1_Template, 2, 4)(2, BreadcrumbComponent_ng_template_4_Conditional_2_Template, 2, 4, "img", 7)(3, BreadcrumbComponent_ng_template_4_Conditional_3_Template, 3, 6, "img", 7)(4, BreadcrumbComponent_ng_template_4_Conditional_4_Template, 1, 1, "aui-icon", 8)(5, BreadcrumbComponent_ng_template_4_Conditional_5_Template, 1, 2, "acl-nav-lottie-icon", 6);
|
|
198
190
|
} if (rf & 2) {
|
|
199
191
|
const item_r8 = ctx.item;
|
|
200
192
|
const ctx_r4 = i0.ɵɵnextContext();
|
|
@@ -277,7 +269,9 @@ export class BreadcrumbComponent {
|
|
|
277
269
|
return [];
|
|
278
270
|
}
|
|
279
271
|
rootPath() {
|
|
280
|
-
return this.
|
|
272
|
+
return this.activatedPath?.at(-1)
|
|
273
|
+
? this.linkToUrl(this.activatedPath.at(-1).routerLink)
|
|
274
|
+
: '/';
|
|
281
275
|
}
|
|
282
276
|
loadLottieJson(icon) {
|
|
283
277
|
const data = signal(null);
|
|
@@ -320,10 +314,18 @@ export class BreadcrumbComponent {
|
|
|
320
314
|
} if (rf & 2) {
|
|
321
315
|
let _t;
|
|
322
316
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.iconRef = _t.first);
|
|
323
|
-
} }, inputs: { configs: "configs", groups: "groups", activatedKey: "activatedKey", _subItems: [0, "subItems", "_subItems"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature], decls:
|
|
324
|
-
i0.ɵɵ
|
|
317
|
+
} }, inputs: { configs: "configs", groups: "groups", activatedKey: "activatedKey", _subItems: [0, "subItems", "_subItems"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature], decls: 6, vars: 3, consts: [["icon", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "item", 3, "routerLink"], [1, "item"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "routerLink"], [3, "frame", "animData"], [3, "src"], [3, "icon"]], template: function BreadcrumbComponent_Template(rf, ctx) { if (rf & 1) {
|
|
318
|
+
i0.ɵɵelementStart(0, "aui-breadcrumb");
|
|
319
|
+
i0.ɵɵtemplate(1, BreadcrumbComponent_Conditional_1_Template, 2, 0)(2, BreadcrumbComponent_Conditional_2_Template, 1, 4, "ng-container", 1)(3, BreadcrumbComponent_Conditional_3_Template, 2, 0);
|
|
320
|
+
i0.ɵɵelementEnd();
|
|
321
|
+
i0.ɵɵtemplate(4, BreadcrumbComponent_ng_template_4_Template, 6, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
325
322
|
} if (rf & 2) {
|
|
326
|
-
i0.ɵɵ
|
|
323
|
+
i0.ɵɵadvance();
|
|
324
|
+
i0.ɵɵconditional((ctx.activatedPath == null ? null : ctx.activatedPath.length) ? 1 : -1);
|
|
325
|
+
i0.ɵɵadvance();
|
|
326
|
+
i0.ɵɵconditional(ctx.customTemplateState === "ready" ? 2 : -1);
|
|
327
|
+
i0.ɵɵadvance();
|
|
328
|
+
i0.ɵɵconditional(ctx.customTemplateState !== "initialing" && !ctx.customTemplate ? 3 : -1);
|
|
327
329
|
} }, dependencies: [BreadcrumbModule, i3.BreadcrumbComponent, i3.BreadcrumbItemComponent, RouterLink,
|
|
328
330
|
NavLottieIconDirective,
|
|
329
331
|
NgTemplateOutlet,
|
|
@@ -347,7 +349,7 @@ export class BreadcrumbComponent {
|
|
|
347
349
|
ImgHeaderPipe,
|
|
348
350
|
IconComponent,
|
|
349
351
|
PurePipe,
|
|
350
|
-
], template: "@if (activatedPath?.length) {\n
|
|
352
|
+
], template: "<aui-breadcrumb>\n @if (activatedPath?.length) {\n @for (item of activatedPath; track item.key; let index = $index) {\n <aui-breadcrumb-item>\n @if (item.routerLink && !isSameUrl(item.routerLink)) {\n <a\n class=\"item\"\n [routerLink]=\"item.routerLink\"\n >\n @if (index === 0) {\n <ng-container\n *ngTemplateOutlet=\"icon; context: { item, inLink: true }\"\n ></ng-container>\n }\n <span>{{ item.label || (item.name | translate) }}</span>\n </a>\n } @else {\n <span class=\"item\">\n @if (index === 0) {\n <ng-container\n *ngTemplateOutlet=\"icon; context: { item, inLink: false }\"\n ></ng-container>\n }\n <span>{{ item.label || (item.name | translate) }}</span>\n </span>\n }\n </aui-breadcrumb-item>\n }\n }\n @if (customTemplateState === 'ready') {\n <ng-container\n [ngTemplateOutlet]=\"customTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: rootPath() }\"\n ></ng-container>\n }\n @if (customTemplateState !== 'initialing' && !customTemplate) {\n @for (item of subItems(); track item.name) {\n <aui-breadcrumb-item>\n @if (item.routerLink) {\n <a [routerLink]=\"item.routerLink\">{{\n item.translate ? (item.name | translate) : item.name\n }}</a>\n } @else {\n <span>{{\n item.translate ? (item.name | translate) : item.name\n }}</span>\n }\n </aui-breadcrumb-item>\n }\n }\n</aui-breadcrumb>\n\n<ng-template\n #icon\n let-item=\"item\"\n let-inLink=\"inLink\"\n>\n @if (item.icon && animDataMap[item.icon]) {\n <acl-nav-lottie-icon\n [frame]=\"inLink ? -1 : 0\"\n [animData]=\"animDataMap[item.icon]\"\n ></acl-nav-lottie-icon>\n } @else if (item.iconLottieJson) {\n @if (item.iconLottieJson | pure: loadLottieJson; as animData) {\n <acl-nav-lottie-icon\n [frame]=\"inLink ? -1 : 0\"\n [animData]=\"animData()\"\n ></acl-nav-lottie-icon>\n }\n } @else if (item.iconImgSrc) {\n <img [src]=\"item.iconImgSrc | aclSanitize: 'url'\" />\n } @else if (item.iconImgData || item.iconData) {\n <img\n [src]=\"\n item.iconImgData || item.iconData | aclImageHeader | aclSanitize: 'url'\n \"\n />\n } @else if (item.iconStatic) {\n <aui-icon [icon]=\"item.iconStatic\"></aui-icon>\n } @else {\n <acl-nav-lottie-icon\n [frame]=\"inLink ? -1 : 0\"\n [animData]=\"animDataMap.product\"\n ></acl-nav-lottie-icon>\n }\n</ng-template>\n", styles: [".item{display:inline-flex;align-items:center;vertical-align:bottom}.item>acl-nav-lottie-icon,.item>img{margin-right:4px;width:var(--aui-icon-size-m);height:var(--aui-icon-size-m)}.item>aui-icon{margin-right:4px;font-size:var(--aui-icon-size-m)}\n"] }]
|
|
351
353
|
}], () => [{ type: i1.Router }, { type: i0.ChangeDetectorRef }, { type: i2.BreadcrumbService }], { configs: [{
|
|
352
354
|
type: Input
|
|
353
355
|
}], groups: [{
|
|
@@ -370,4 +372,4 @@ function findIndex(compare, value) {
|
|
|
370
372
|
}
|
|
371
373
|
return -1;
|
|
372
374
|
}
|
|
373
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGFnZS1zY2FmZm9sZC9uYXZpZ2F0aW9uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGFnZS1zY2FmZm9sZC9uYXZpZ2F0aW9uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUdULE1BQU0sRUFHTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQ0wsYUFBYSxFQUNiLFFBQVEsRUFDUixZQUFZLEdBRWIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxXQUFXLE1BQU0sZ0NBQWdDLENBQUM7QUFFekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsT0FBTyxFQUNMLGlC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QUM7SUFDVCxDQUFDO29GQWhMVSxtQkFBbUI7b0VBQW5CLG1CQUFtQjs7Ozs7O1lDSmhDLEFBcERBLG9GQUE2Qix3R0F3RDVCOztZQXhERCx3RkFrREM7NEJETkcsZ0JBQWdCLHNEQUNoQixVQUFVO1lBQ1Ysc0JBQXNCO1lBQ3RCLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixhQUFhO1lBQ2IsYUFBYTtZQUNiLFFBQVE7O2lGQUdDLG1CQUFtQjtjQW5CL0IsU0FBUzsyQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7b0JBQ1AsZ0JBQWdCO29CQUNoQixVQUFVO29CQUNWLHNCQUFzQjtvQkFDdEIsZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsWUFBWTtvQkFDWixhQUFhO29CQUNiLGFBQWE7b0JBQ2IsUUFBUTtpQkFDVDt1R0FNRCxPQUFPO2tCQUROLEtBQUs7WUFJTixNQUFNO2tCQURMLEtBQUs7WUFJTixZQUFZO2tCQURYLEtBQUs7WUFLTixTQUFTO2tCQURSLEtBQUs7bUJBQUMsVUFBVTtZQVdqQixPQUFPO2tCQUROLFNBQVM7bUJBQUMsTUFBTTs7a0ZBdkJOLG1CQUFtQjtBQW1MaEMsU0FBUyxTQUFTLENBQUMsT0FBK0IsRUFBRSxLQUFhO0lBQy9ELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWRjcnVtYk1vZHVsZSwgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIGlzRGV2TW9kZSxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIHNpZ25hbCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIEltZ0hlYWRlclBpcGUsXG4gIFB1cmVQaXBlLFxuICBTYW5pdGl6ZVBpcGUsXG4gIFN0cmluZ01hcCxcbn0gZnJvbSAnLi4vLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEdyaWRMYXlvdXRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9ncmlkLWxheW91dC9tb2R1bGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IGFuaW1EYXRhTWFwIGZyb20gJy4uL2xvdHRpZS1pY29ucy9hbmltYXRpb24tZGF0YSc7XG5pbXBvcnQgeyBOYXZHcm91cENvbmZpZywgTmF2SXRlbUNvbmZpZyB9IGZyb20gJy4uL25hdi1tZW51L3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgTmF2TG90dGllSWNvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgZmluZE5hdlBhdGggfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIEJyZWFkY3J1bWJTZXJ2aWNlLFxuICBCcmVhZGNydW1iVGVtcGxhdGVTdGF0ZSxcbn0gZnJvbSAnLi9icmVhZGNydW1iLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtYnJlYWRjcnVtYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLnN0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBCcmVhZGNydW1iTW9kdWxlLFxuICAgIFJvdXRlckxpbmssXG4gICAgTmF2TG90dGllSWNvbkRpcmVjdGl2ZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgR3JpZExheW91dE1vZHVsZSxcbiAgICBTYW5pdGl6ZVBpcGUsXG4gICAgSW1nSGVhZGVyUGlwZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIFB1cmVQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBhbmltRGF0YU1hcCA9IGFuaW1EYXRhTWFwO1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpZ3M6IE5hdkl0ZW1Db25maWdbXTtcblxuICBASW5wdXQoKVxuICBncm91cHM6IE5hdkdyb3VwQ29uZmlnW107XG5cbiAgQElucHV0KClcbiAgYWN0aXZhdGVkS2V5OiBzdHJpbmc7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdzdWJJdGVtcycpXG4gIF9zdWJJdGVtczogKFxuICAgIHJlc3Q6IHN0cmluZ1tdLFxuICAgIGxhc3RSb3V0ZUxpbms6IEFycmF5PHN0cmluZyB8IFN0cmluZ01hcD4sXG4gICkgPT4gQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0cmFuc2xhdGU/OiBib29sZWFuO1xuICAgIHJvdXRlckxpbms/OiBOYXZJdGVtQ29uZmlnWydyb3V0ZXJMaW5rJ107XG4gIH0+IHwgdm9pZDtcblxuICBAVmlld0NoaWxkKCdpY29uJylcbiAgaWNvblJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgYWN0aXZhdGVkUGF0aDogTmF2SXRlbUNvbmZpZ1tdO1xuICBjdXN0b21UZW1wbGF0ZVN0YXRlOiBCcmVhZGNydW1iVGVtcGxhdGVTdGF0ZTtcbiAgY3VzdG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIHByaXZhdGUgaW50ZXJuYWxDb25maWdzOiBOYXZJdGVtQ29uZmlnW10gPSBbXTtcbiAgcHJpdmF0ZSB1cmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnVybCA9IHJvdXRlci51cmw7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7XG4gICAgICAgIHRoaXMudXJsID0gZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHM7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlcnZpY2UudGVtcGxhdGVTdGF0ZSQuc3Vic2NyaWJlKHN0YXRlID0+IHtcbiAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGVTdGF0ZSA9IHN0YXRlO1xuICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZSA9IHRoaXMuc2VydmljZS50ZW1wbGF0ZTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmNvbmZpZ3MgfHwgY2hhbmdlcy5ncm91cHMpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxDb25maWdzID1cbiAgICAgICAgdGhpcy5jb25maWdzID8/XG4gICAgICAgIHRoaXMuZ3JvdXBzPy5yZWR1Y2UoXG4gICAgICAgICAgKGFjYywgZ3JvdXApID0+IGFjYy5jb25jYXQoZ3JvdXAuaXRlbXMpLFxuICAgICAgICAgIFtdIGFzIE5hdkl0ZW1Db25maWdbXSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZUFjdGl2YXRlZFBhdGgoKTtcbiAgfVxuXG4gIGlzU2FtZVVybChsaW5rOiBOYXZJdGVtQ29uZmlnWydyb3V0ZXJMaW5rJ10pOiBib29sZWFuIHtcbiAgICBjb25zdCByZXN0ID0gdGhpcy5yZXN0Tm9kZShsaW5rKTtcbiAgICByZXR1cm4gcmVzdC5sZW5ndGggPT09IDAgfHwgcmVzdCA9PT0gJ2xpc3QnO1xuICB9XG5cbiAgc3ViSXRlbXMoKTogQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0cmFuc2xhdGU/OiBib29sZWFuO1xuICAgIHJvdXRlckxpbms/OiBOYXZJdGVtQ29uZmlnWydyb3V0ZXJMaW5rJ107XG4gIH0+IHtcbiAgICBpZiAoIXRoaXMuYWN0aXZhdGVkUGF0aD8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJvdXRlckxpbmsgPSB0aGlzLmFjdGl2YXRlZFBhdGguYXQoLTEpLnJvdXRlckxpbms7XG5cbiAgICBjb25zdCByZXN0ID0gdGhpcy5yZXN0Tm9kZShyb3V0ZXJMaW5rKVxuICAgICAgLnNwbGl0KCcvJylcbiAgICAgIC5maWx0ZXIodiA9PiAhIXYpO1xuXG4gICAgaWYgKHRoaXMuX3N1Ykl0ZW1zKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9zdWJJdGVtcyhyZXN0LCByb3V0ZXJMaW5rKTtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVzdC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgaWYgKHJlc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICBpZiAocmVzdFswXSA9PT0gJ2xpc3QnKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIGlmIChyZXN0WzBdID09PSAnY3JlYXRlJykge1xuICAgICAgICByZXR1cm4gW3sgbmFtZTogJ2NyZWF0ZScsIHRyYW5zbGF0ZTogdHJ1ZSB9XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVzdC5sZW5ndGggPT09IDIgJiYgcmVzdFswXSA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiByZXN0WzFdLFxuICAgICAgICAgIHJvdXRlckxpbms6IHJvdXRlckxpbmsuY29uY2F0KFsnZGV0YWlsJywgcmVzdFsxXV0pLFxuICAgICAgICB9LFxuICAgICAgICB7IG5hbWU6ICd1cGRhdGUnLCB0cmFuc2xhdGU6IHRydWUgfSxcbiAgICAgIF07XG4gICAgfVxuICAgIGlmIChyZXN0Lmxlbmd0aCA9PT0gMiAmJiByZXN0WzBdID09PSAnZGV0YWlsJykge1xuICAgICAgcmV0dXJuIFt7IG5hbWU6IHJlc3RbMV0gfV07XG4gICAgfVxuXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiVVJMIGNhbid0IG1hdGNoIGFueSBkZWZhdWx0IGJyZWFkY3J1bWI6XCIsIHRoaXMudXJsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cblxuICByb290UGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5saW5rVG9VcmwodGhpcy5hY3RpdmF0ZWRQYXRoLmF0KC0xKS5yb3V0ZXJMaW5rKTtcbiAgfVxuXG4gIGxvYWRMb3R0aWVKc29uKGljb246IHN0cmluZykge1xuICAgIGNvbnN0IGRhdGEgPSBzaWduYWw8dW5rbm93bj4obnVsbCk7XG5cbiAgICBmZXRjaChpY29uKVxuICAgICAgLnRoZW4ocmVzID0+IHJlcy5qc29uKCkpXG4gICAgICAudGhlbihqc29uID0+IHtcbiAgICAgICAgZGF0YS5zZXQoanNvbik7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVBY3RpdmF0ZWRQYXRoKCkge1xuICAgIHRoaXMuYWN0aXZhdGVkUGF0aCA9XG4gICAgICB0aGlzLmFjdGl2YXRlZEtleSAmJiB0aGlzLmludGVybmFsQ29uZmlnc1xuICAgICAgICA/IGZpbmROYXZQYXRoPE5hdkl0ZW1Db25maWc+KGl0ZW0gPT4gaXRlbS5rZXkgPT09IHRoaXMuYWN0aXZhdGVkS2V5KShcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxDb25maWdzLFxuICAgICAgICAgIClcbiAgICAgICAgOiBbXTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzdE5vZGUobGluazogTmF2SXRlbUNvbmZpZ1sncm91dGVyTGluayddKSB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5saW5rVG9VcmwobGluayk7XG4gICAgaWYgKCF0aGlzLnVybC5zdGFydHNXaXRoKHVybCkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgZW5kSW5kZXggPSBmaW5kSW5kZXgoYyA9PiBjID09PSAnPycgfHwgYyA9PT0gJyMnLCB0aGlzLnVybCk7XG4gICAgcmV0dXJuIHRoaXMudXJsLnNsaWNlKFxuICAgICAgdXJsLmxlbmd0aCArIDEsXG4gICAgICBlbmRJbmRleCA9PT0gLTEgPyB0aGlzLnVybC5sZW5ndGggOiBlbmRJbmRleCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBsaW5rVG9VcmwobGluazogTmF2SXRlbUNvbmZpZ1sncm91dGVyTGluayddKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbGluay5yZWR1Y2VSaWdodDxzdHJpbmc+KChhY2MsIGN1cnIpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgY3VyciA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAnOycgK1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGN1cnIgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPilcbiAgICAgICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlfWApXG4gICAgICAgICAgICAuam9pbignJykgK1xuICAgICAgICAgIGFjY1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGN1cnIuc3RhcnRzV2l0aCgnLycpID8gY3VyciArIGFjYyA6ICcvJyArIGN1cnIgKyBhY2M7XG4gICAgfSwgJycpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRJbmRleChjb21wYXJlOiAodjogc3RyaW5nKSA9PiBib29sZWFuLCB2YWx1ZTogc3RyaW5nKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoY29tcGFyZSh2YWx1ZS5jaGFyQXQoaSkpKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gLTE7XG59XG4iLCJAaWYgKGFjdGl2YXRlZFBhdGg/Lmxlbmd0aCkge1xuICA8YXVpLWJyZWFkY3J1bWI+XG4gICAgQGZvciAoaXRlbSBvZiBhY3RpdmF0ZWRQYXRoOyB0cmFjayBpdGVtLmtleTsgbGV0IGluZGV4ID0gJGluZGV4KSB7XG4gICAgICA8YXVpLWJyZWFkY3J1bWItaXRlbT5cbiAgICAgICAgQGlmIChpdGVtLnJvdXRlckxpbmsgJiYgIWlzU2FtZVVybChpdGVtLnJvdXRlckxpbmspKSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwiaXRlbVwiXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlckxpbmtcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvbjsgY29udGV4dDogeyBpdGVtLCBpbkxpbms6IHRydWUgfVwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfHwgKGl0ZW0ubmFtZSB8IHRyYW5zbGF0ZSkgfX08L3NwYW4+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW1cIj5cbiAgICAgICAgICAgIEBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvbjsgY29udGV4dDogeyBpdGVtLCBpbkxpbms6IGZhbHNlIH1cIlxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmxhYmVsIHx8IChpdGVtLm5hbWUgfCB0cmFuc2xhdGUpIH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9hdWktYnJlYWRjcnVtYi1pdGVtPlxuICAgIH1cbiAgICBAaWYgKGN1c3RvbVRlbXBsYXRlU3RhdGUgPT09ICdyZWFkeScpIHtcbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvb3RQYXRoKCkgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICAgIEBpZiAoY3VzdG9tVGVtcGxhdGVTdGF0ZSAhPT0gJ2luaXRpYWxpbmcnICYmICFjdXN0b21UZW1wbGF0ZSkge1xuICAgICAgQGZvciAoaXRlbSBvZiBzdWJJdGVtcygpOyB0cmFjayBpdGVtLm5hbWUpIHtcbiAgICAgICAgPGF1aS1icmVhZGNydW1iLWl0ZW0+XG4gICAgICAgICAgQGlmIChpdGVtLnJvdXRlckxpbmspIHtcbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiPnt7XG4gICAgICAgICAgICAgIGl0ZW0udHJhbnNsYXRlID8gKGl0ZW0ubmFtZSB8IHRyYW5zbGF0ZSkgOiBpdGVtLm5hbWVcbiAgICAgICAgICAgIH19PC9hPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAgICAgaXRlbS50cmFuc2xhdGUgPyAoaXRlbS5uYW1lIHwgdHJhbnNsYXRlKSA6IGl0ZW0ubmFtZVxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2F1aS1icmVhZGNydW1iLWl0ZW0+XG4gICAgICB9XG4gICAgfVxuICA8L2F1aS1icmVhZGNydW1iPlxufVxuXG48bmctdGVtcGxhdGVcbiAgI2ljb25cbiAgbGV0LWl0ZW09XCJpdGVtXCJcbiAgbGV0LWluTGluaz1cImluTGlua1wiXG4+XG4gIEBpZiAoaXRlbS5pY29uICYmIGFuaW1EYXRhTWFwW2l0ZW0uaWNvbl0pIHtcbiAgICA8YWNsLW5hdi1sb3R0aWUtaWNvblxuICAgICAgW2ZyYW1lXT1cImluTGluayA/IC0xIDogMFwiXG4gICAgICBbYW5pbURhdGFdPVwiYW5pbURhdGFNYXBbaXRlbS5pY29uXVwiXG4gICAgPjwvYWNsLW5hdi1sb3R0aWUtaWNvbj5cbiAgfSBAZWxzZSBpZiAoaXRlbS5pY29uTG90dGllSnNvbikge1xuICAgIEBpZiAoaXRlbS5pY29uTG90dGllSnNvbiB8IHB1cmU6IGxvYWRMb3R0aWVKc29uOyBhcyBhbmltRGF0YSkge1xuICAgICAgPGFjbC1uYXYtbG90dGllLWljb25cbiAgICAgICAgW2ZyYW1lXT1cImluTGluayA/IC0xIDogMFwiXG4gICAgICAgIFthbmltRGF0YV09XCJhbmltRGF0YSgpXCJcbiAgICAgID48L2FjbC1uYXYtbG90dGllLWljb24+XG4gICAgfVxuICB9IEBlbHNlIGlmIChpdGVtLmljb25JbWdTcmMpIHtcbiAgICA8aW1nIFtzcmNdPVwiaXRlbS5pY29uSW1nU3JjIHwgYWNsU2FuaXRpemU6ICd1cmwnXCIgLz5cbiAgfSBAZWxzZSBpZiAoaXRlbS5pY29uSW1nRGF0YSB8fCBpdGVtLmljb25EYXRhKSB7XG4gICAgPGltZ1xuICAgICAgW3NyY109XCJcbiAgICAgICAgaXRlbS5pY29uSW1nRGF0YSB8fCBpdGVtLmljb25EYXRhIHwgYWNsSW1hZ2VIZWFkZXIgfCBhY2xTYW5pdGl6ZTogJ3VybCdcbiAgICAgIFwiXG4gICAgLz5cbiAgfSBAZWxzZSBpZiAoaXRlbS5pY29uU3RhdGljKSB7XG4gICAgPGF1aS1pY29uIFtpY29uXT1cIml0ZW0uaWNvblN0YXRpY1wiPjwvYXVpLWljb24+XG4gIH0gQGVsc2Uge1xuICAgIDxhY2wtbmF2LWxvdHRpZS1pY29uXG4gICAgICBbZnJhbWVdPVwiaW5MaW5rID8gLTEgOiAwXCJcbiAgICAgIFthbmltRGF0YV09XCJhbmltRGF0YU1hcC5wcm9kdWN0XCJcbiAgICA+PC9hY2wtbmF2LWxvdHRpZS1pY29uPlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGFnZS1zY2FmZm9sZC9uYXZpZ2F0aW9uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGFnZS1zY2FmZm9sZC9uYXZpZ2F0aW9uL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUdULE1BQU0sRUFHTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQ0wsYUFBYSxFQUNiLFFBQVEsRUFDUixZQUFZLEdBRWIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxXQUFXLE1BQU0sZ0NBQWdDLENBQUM7QUFFekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsT0FBTyxFQUNMLGlC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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFkY3J1bWJNb2R1bGUsIEljb25Db21wb25lbnQgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBzaWduYWwsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBJbWdIZWFkZXJQaXBlLFxuICBQdXJlUGlwZSxcbiAgU2FuaXRpemVQaXBlLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBHcmlkTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vZ3JpZC1sYXlvdXQvbW9kdWxlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCBhbmltRGF0YU1hcCBmcm9tICcuLi9sb3R0aWUtaWNvbnMvYW5pbWF0aW9uLWRhdGEnO1xuaW1wb3J0IHsgTmF2R3JvdXBDb25maWcsIE5hdkl0ZW1Db25maWcgfSBmcm9tICcuLi9uYXYtbWVudS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE5hdkxvdHRpZUljb25EaXJlY3RpdmUgfSBmcm9tICcuLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGZpbmROYXZQYXRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICBCcmVhZGNydW1iU2VydmljZSxcbiAgQnJlYWRjcnVtYlRlbXBsYXRlU3RhdGUsXG59IGZyb20gJy4vYnJlYWRjcnVtYi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWJyZWFkY3J1bWInLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi50ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQnJlYWRjcnVtYk1vZHVsZSxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIE5hdkxvdHRpZUljb25EaXJlY3RpdmUsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIEdyaWRMYXlvdXRNb2R1bGUsXG4gICAgU2FuaXRpemVQaXBlLFxuICAgIEltZ0hlYWRlclBpcGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBQdXJlUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgYW5pbURhdGFNYXAgPSBhbmltRGF0YU1hcDtcblxuICBASW5wdXQoKVxuICBjb25maWdzOiBOYXZJdGVtQ29uZmlnW107XG5cbiAgQElucHV0KClcbiAgZ3JvdXBzOiBOYXZHcm91cENvbmZpZ1tdO1xuXG4gIEBJbnB1dCgpXG4gIGFjdGl2YXRlZEtleTogc3RyaW5nO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnc3ViSXRlbXMnKVxuICBfc3ViSXRlbXM6IChcbiAgICByZXN0OiBzdHJpbmdbXSxcbiAgICBsYXN0Um91dGVMaW5rOiBBcnJheTxzdHJpbmcgfCBTdHJpbmdNYXA+LFxuICApID0+IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHJhbnNsYXRlPzogYm9vbGVhbjtcbiAgICByb3V0ZXJMaW5rPzogTmF2SXRlbUNvbmZpZ1sncm91dGVyTGluayddO1xuICB9PiB8IHZvaWQ7XG5cbiAgQFZpZXdDaGlsZCgnaWNvbicpXG4gIGljb25SZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGFjdGl2YXRlZFBhdGg6IE5hdkl0ZW1Db25maWdbXTtcbiAgY3VzdG9tVGVtcGxhdGVTdGF0ZTogQnJlYWRjcnVtYlRlbXBsYXRlU3RhdGU7XG4gIGN1c3RvbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBwcml2YXRlIGludGVybmFsQ29uZmlnczogTmF2SXRlbUNvbmZpZ1tdID0gW107XG4gIHByaXZhdGUgdXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBCcmVhZGNydW1iU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy51cmwgPSByb3V0ZXIudXJsO1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xuICAgICAgICB0aGlzLnVybCA9IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnRlbXBsYXRlU3RhdGUkLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlU3RhdGUgPSBzdGF0ZTtcbiAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGUgPSB0aGlzLnNlcnZpY2UudGVtcGxhdGU7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5jb25maWdzIHx8IGNoYW5nZXMuZ3JvdXBzKSB7XG4gICAgICB0aGlzLmludGVybmFsQ29uZmlncyA9XG4gICAgICAgIHRoaXMuY29uZmlncyA/P1xuICAgICAgICB0aGlzLmdyb3Vwcz8ucmVkdWNlKFxuICAgICAgICAgIChhY2MsIGdyb3VwKSA9PiBhY2MuY29uY2F0KGdyb3VwLml0ZW1zKSxcbiAgICAgICAgICBbXSBhcyBOYXZJdGVtQ29uZmlnW10sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVBY3RpdmF0ZWRQYXRoKCk7XG4gIH1cblxuICBpc1NhbWVVcmwobGluazogTmF2SXRlbUNvbmZpZ1sncm91dGVyTGluayddKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVzdCA9IHRoaXMucmVzdE5vZGUobGluayk7XG4gICAgcmV0dXJuIHJlc3QubGVuZ3RoID09PSAwIHx8IHJlc3QgPT09ICdsaXN0JztcbiAgfVxuXG4gIHN1Ykl0ZW1zKCk6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHJhbnNsYXRlPzogYm9vbGVhbjtcbiAgICByb3V0ZXJMaW5rPzogTmF2SXRlbUNvbmZpZ1sncm91dGVyTGluayddO1xuICB9PiB7XG4gICAgaWYgKCF0aGlzLmFjdGl2YXRlZFBhdGg/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByb3V0ZXJMaW5rID0gdGhpcy5hY3RpdmF0ZWRQYXRoLmF0KC0xKS5yb3V0ZXJMaW5rO1xuXG4gICAgY29uc3QgcmVzdCA9IHRoaXMucmVzdE5vZGUocm91dGVyTGluaylcbiAgICAgIC5zcGxpdCgnLycpXG4gICAgICAuZmlsdGVyKHYgPT4gISF2KTtcblxuICAgIGlmICh0aGlzLl9zdWJJdGVtcykge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fc3ViSXRlbXMocmVzdCwgcm91dGVyTGluayk7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlc3QubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGlmIChyZXN0Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgaWYgKHJlc3RbMF0gPT09ICdsaXN0Jykge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBpZiAocmVzdFswXSA9PT0gJ2NyZWF0ZScpIHtcbiAgICAgICAgcmV0dXJuIFt7IG5hbWU6ICdjcmVhdGUnLCB0cmFuc2xhdGU6IHRydWUgfV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlc3QubGVuZ3RoID09PSAyICYmIHJlc3RbMF0gPT09ICd1cGRhdGUnKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogcmVzdFsxXSxcbiAgICAgICAgICByb3V0ZXJMaW5rOiByb3V0ZXJMaW5rLmNvbmNhdChbJ2RldGFpbCcsIHJlc3RbMV1dKSxcbiAgICAgICAgfSxcbiAgICAgICAgeyBuYW1lOiAndXBkYXRlJywgdHJhbnNsYXRlOiB0cnVlIH0sXG4gICAgICBdO1xuICAgIH1cbiAgICBpZiAocmVzdC5sZW5ndGggPT09IDIgJiYgcmVzdFswXSA9PT0gJ2RldGFpbCcpIHtcbiAgICAgIHJldHVybiBbeyBuYW1lOiByZXN0WzFdIH1dO1xuICAgIH1cblxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgY29uc29sZS5lcnJvcihcIlVSTCBjYW4ndCBtYXRjaCBhbnkgZGVmYXVsdCBicmVhZGNydW1iOlwiLCB0aGlzLnVybCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcm9vdFBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZhdGVkUGF0aD8uYXQoLTEpXG4gICAgICA/IHRoaXMubGlua1RvVXJsKHRoaXMuYWN0aXZhdGVkUGF0aC5hdCgtMSkucm91dGVyTGluaylcbiAgICAgIDogJy8nO1xuICB9XG5cbiAgbG9hZExvdHRpZUpzb24oaWNvbjogc3RyaW5nKSB7XG4gICAgY29uc3QgZGF0YSA9IHNpZ25hbDx1bmtub3duPihudWxsKTtcblxuICAgIGZldGNoKGljb24pXG4gICAgICAudGhlbihyZXMgPT4gcmVzLmpzb24oKSlcbiAgICAgIC50aGVuKGpzb24gPT4ge1xuICAgICAgICBkYXRhLnNldChqc29uKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFjdGl2YXRlZFBhdGgoKSB7XG4gICAgdGhpcy5hY3RpdmF0ZWRQYXRoID1cbiAgICAgIHRoaXMuYWN0aXZhdGVkS2V5ICYmIHRoaXMuaW50ZXJuYWxDb25maWdzXG4gICAgICAgID8gZmluZE5hdlBhdGg8TmF2SXRlbUNvbmZpZz4oaXRlbSA9PiBpdGVtLmtleSA9PT0gdGhpcy5hY3RpdmF0ZWRLZXkpKFxuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbENvbmZpZ3MsXG4gICAgICAgICAgKVxuICAgICAgICA6IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSByZXN0Tm9kZShsaW5rOiBOYXZJdGVtQ29uZmlnWydyb3V0ZXJMaW5rJ10pIHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmxpbmtUb1VybChsaW5rKTtcbiAgICBpZiAoIXRoaXMudXJsLnN0YXJ0c1dpdGgodXJsKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCBlbmRJbmRleCA9IGZpbmRJbmRleChjID0+IGMgPT09ICc/JyB8fCBjID09PSAnIycsIHRoaXMudXJsKTtcbiAgICByZXR1cm4gdGhpcy51cmwuc2xpY2UoXG4gICAgICB1cmwubGVuZ3RoICsgMSxcbiAgICAgIGVuZEluZGV4ID09PSAtMSA/IHRoaXMudXJsLmxlbmd0aCA6IGVuZEluZGV4LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxpbmtUb1VybChsaW5rOiBOYXZJdGVtQ29uZmlnWydyb3V0ZXJMaW5rJ10pOiBzdHJpbmcge1xuICAgIHJldHVybiBsaW5rLnJlZHVjZVJpZ2h0PHN0cmluZz4oKGFjYywgY3VycikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBjdXJyID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICc7JyArXG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoY3VyciBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KVxuICAgICAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YClcbiAgICAgICAgICAgIC5qb2luKCcnKSArXG4gICAgICAgICAgYWNjXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY3Vyci5zdGFydHNXaXRoKCcvJykgPyBjdXJyICsgYWNjIDogJy8nICsgY3VyciArIGFjYztcbiAgICB9LCAnJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEluZGV4KGNvbXBhcmU6ICh2OiBzdHJpbmcpID0+IGJvb2xlYW4sIHZhbHVlOiBzdHJpbmcpIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChjb21wYXJlKHZhbHVlLmNoYXJBdChpKSkpIHtcbiAgICAgIHJldHVybiBpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAtMTtcbn1cbiIsIjxhdWktYnJlYWRjcnVtYj5cbiAgQGlmIChhY3RpdmF0ZWRQYXRoPy5sZW5ndGgpIHtcbiAgICBAZm9yIChpdGVtIG9mIGFjdGl2YXRlZFBhdGg7IHRyYWNrIGl0ZW0ua2V5OyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcbiAgICAgIDxhdWktYnJlYWRjcnVtYi1pdGVtPlxuICAgICAgICBAaWYgKGl0ZW0ucm91dGVyTGluayAmJiAhaXNTYW1lVXJsKGl0ZW0ucm91dGVyTGluaykpIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJpdGVtXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uOyBjb250ZXh0OiB7IGl0ZW0sIGluTGluazogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5sYWJlbCB8fCAoaXRlbS5uYW1lIHwgdHJhbnNsYXRlKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXRlbVwiPlxuICAgICAgICAgICAgQGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uOyBjb250ZXh0OiB7IGl0ZW0sIGluTGluazogZmFsc2UgfVwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfHwgKGl0ZW0ubmFtZSB8IHRyYW5zbGF0ZSkgfX08L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L2F1aS1icmVhZGNydW1iLWl0ZW0+XG4gICAgfVxuICB9XG4gIEBpZiAoY3VzdG9tVGVtcGxhdGVTdGF0ZSA9PT0gJ3JlYWR5Jykge1xuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcm9vdFBhdGgoKSB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIH1cbiAgQGlmIChjdXN0b21UZW1wbGF0ZVN0YXRlICE9PSAnaW5pdGlhbGluZycgJiYgIWN1c3RvbVRlbXBsYXRlKSB7XG4gICAgQGZvciAoaXRlbSBvZiBzdWJJdGVtcygpOyB0cmFjayBpdGVtLm5hbWUpIHtcbiAgICAgIDxhdWktYnJlYWRjcnVtYi1pdGVtPlxuICAgICAgICBAaWYgKGl0ZW0ucm91dGVyTGluaykge1xuICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiPnt7XG4gICAgICAgICAgICBpdGVtLnRyYW5zbGF0ZSA/IChpdGVtLm5hbWUgfCB0cmFuc2xhdGUpIDogaXRlbS5uYW1lXG4gICAgICAgICAgfX08L2E+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxzcGFuPnt7XG4gICAgICAgICAgICBpdGVtLnRyYW5zbGF0ZSA/IChpdGVtLm5hbWUgfCB0cmFuc2xhdGUpIDogaXRlbS5uYW1lXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvYXVpLWJyZWFkY3J1bWItaXRlbT5cbiAgICB9XG4gIH1cbjwvYXVpLWJyZWFkY3J1bWI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjaWNvblxuICBsZXQtaXRlbT1cIml0ZW1cIlxuICBsZXQtaW5MaW5rPVwiaW5MaW5rXCJcbj5cbiAgQGlmIChpdGVtLmljb24gJiYgYW5pbURhdGFNYXBbaXRlbS5pY29uXSkge1xuICAgIDxhY2wtbmF2LWxvdHRpZS1pY29uXG4gICAgICBbZnJhbWVdPVwiaW5MaW5rID8gLTEgOiAwXCJcbiAgICAgIFthbmltRGF0YV09XCJhbmltRGF0YU1hcFtpdGVtLmljb25dXCJcbiAgICA+PC9hY2wtbmF2LWxvdHRpZS1pY29uPlxuICB9IEBlbHNlIGlmIChpdGVtLmljb25Mb3R0aWVKc29uKSB7XG4gICAgQGlmIChpdGVtLmljb25Mb3R0aWVKc29uIHwgcHVyZTogbG9hZExvdHRpZUpzb247IGFzIGFuaW1EYXRhKSB7XG4gICAgICA8YWNsLW5hdi1sb3R0aWUtaWNvblxuICAgICAgICBbZnJhbWVdPVwiaW5MaW5rID8gLTEgOiAwXCJcbiAgICAgICAgW2FuaW1EYXRhXT1cImFuaW1EYXRhKClcIlxuICAgICAgPjwvYWNsLW5hdi1sb3R0aWUtaWNvbj5cbiAgICB9XG4gIH0gQGVsc2UgaWYgKGl0ZW0uaWNvbkltZ1NyYykge1xuICAgIDxpbWcgW3NyY109XCJpdGVtLmljb25JbWdTcmMgfCBhY2xTYW5pdGl6ZTogJ3VybCdcIiAvPlxuICB9IEBlbHNlIGlmIChpdGVtLmljb25JbWdEYXRhIHx8IGl0ZW0uaWNvbkRhdGEpIHtcbiAgICA8aW1nXG4gICAgICBbc3JjXT1cIlxuICAgICAgICBpdGVtLmljb25JbWdEYXRhIHx8IGl0ZW0uaWNvbkRhdGEgfCBhY2xJbWFnZUhlYWRlciB8IGFjbFNhbml0aXplOiAndXJsJ1xuICAgICAgXCJcbiAgICAvPlxuICB9IEBlbHNlIGlmIChpdGVtLmljb25TdGF0aWMpIHtcbiAgICA8YXVpLWljb24gW2ljb25dPVwiaXRlbS5pY29uU3RhdGljXCI+PC9hdWktaWNvbj5cbiAgfSBAZWxzZSB7XG4gICAgPGFjbC1uYXYtbG90dGllLWljb25cbiAgICAgIFtmcmFtZV09XCJpbkxpbmsgPyAtMSA6IDBcIlxuICAgICAgW2FuaW1EYXRhXT1cImFuaW1EYXRhTWFwLnByb2R1Y3RcIlxuICAgID48L2FjbC1uYXYtbG90dGllLWljb24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -7,7 +7,7 @@ import { HttpClient } from '@angular/common/http';
|
|
|
7
7
|
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
|
8
8
|
import { concat, of, combineLatest, filter, map, shareReplay, switchMap, tap, } from 'rxjs';
|
|
9
9
|
import { K8sApiService } from '../../../api/k8s-api.service';
|
|
10
|
-
import { parse, skipError } from '../../../core/public-api';
|
|
10
|
+
import { parse, parseJson, skipError, } from '../../../core/public-api';
|
|
11
11
|
import { TranslateService } from '../../../translate/public-api';
|
|
12
12
|
import { filterNavTrees, mapNavTrees } from '../utils';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
@@ -122,8 +122,8 @@ export class NavConfigLoaderService {
|
|
|
122
122
|
.pipe(map(cm => {
|
|
123
123
|
try {
|
|
124
124
|
return {
|
|
125
|
-
buildIn:
|
|
126
|
-
customs:
|
|
125
|
+
buildIn: parseJson(cm.data?.buildIn) || {},
|
|
126
|
+
customs: parseJson(cm.data?.customs) || [],
|
|
127
127
|
};
|
|
128
128
|
}
|
|
129
129
|
catch (e) {
|
|
@@ -173,4 +173,4 @@ export class NavConfigLoaderService {
|
|
|
173
173
|
}, {
|
|
174
174
|
type: Optional
|
|
175
175
|
}] }, { type: i4.K8sApiService }], null); })();
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2Y29uZmlnLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvbmF2aWdhdGlvbi9uYXZjb25maWctbG9hZGVyL25hdmNvbmZpZy1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUVMLE1BQU0sRUFDTixFQUFFLEVBQ0YsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBQ0gsV0FBVyxFQUNYLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFzQixLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7OztBQXlCdkQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQzVELDhCQUE4QixDQUMvQixDQUFDO0FBSUYsTUFBTSxVQUFVLEdBQUcsQ0FDakIsSUFBcUIsRUFDckIsTUFBcUMsRUFDcEIsRUFBRSxDQUNuQixJQUFJO0tBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO0lBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUks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c0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgbmF2Y29uZmlnLWxvYWRlclxuICovXG5cbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgY29uY2F0LFxuICBvZixcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHNoYXJlUmVwbGF5LFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEs4c0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcGkvazhzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEt1YmVybmV0ZXNSZXNvdXJjZSwgcGFyc2UsIHNraXBFcnJvciB9IGZyb20gJy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdHJhbnNsYXRlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgTmF2R3JvdXBDb25maWcsIE5hdkl0ZW1Db25maWcgfSBmcm9tICcuLi9uYXYtbWVudS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGZpbHRlck5hdlRyZWVzLCBtYXBOYXZUcmVlcyB9IGZyb20gJy4uL3V0aWxzJztcblxuaW50ZXJmYWNlIE5hdmlnYXRpb25Db25maWdDb25maWdNYXBEYXRhIHtcbiAgYnVpbGRJbjoge1xuICAgIFtuYW1lOiBzdHJpbmddOiB7XG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgaGlkZGVuOiBib29sZWFuO1xuICAgIH07XG4gIH07XG4gIGN1c3RvbXM6IEFycmF5PHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgaWNvbkRhdGE/OiBzdHJpbmc7XG4gICAgaGlkZGVuOiBib29sZWFuO1xuICAgIGhyZWY6IHN0cmluZztcbiAgfT47XG59XG5cbmludGVyZmFjZSBOYXZpZ2F0aW9uQ29uZmlnQ29uZmlnTWFwIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgZGF0YToge1xuICAgIGJ1aWxkSW46IHN0cmluZztcbiAgICBjdXN0b21zOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBOQVZfQ09ORklHX0xPQ0FMX1NUT1JBR0VfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gICduYXYgY29uZmlnIGxvY2FsIHN0b3JhZ2Uga2V5Jyxcbik7XG5cbmV4cG9ydCB0eXBlIE5hdiA9IE5hdkl0ZW1Db25maWcgfCBOYXZHcm91cENvbmZpZztcblxuY29uc3QgY29uZmlnVHJlZSA9IChcbiAgdHJlZTogTmF2SXRlbUNvbmZpZ1tdLFxuICBjb25maWc6IE5hdmlnYXRpb25Db25maWdDb25maWdNYXBEYXRhLFxuKTogTmF2SXRlbUNvbmZpZ1tdID0+XG4gIHRyZWVcbiAgICAubWFwKGl0ZW0gPT4ge1xuICAgICAgaXRlbS5sYWJlbCA9IGNvbmZpZy5idWlsZEluW2l0ZW0ubmFtZV0/LmxhYmVsO1xuICAgICAgcmV0dXJuIGl0ZW0uY2hpbGRyZW4gJiYgIWNvbmZpZy5idWlsZEluW2l0ZW0ubmFtZV0/LmhpZGRlbiAvLyDniLboioLngrnooqsgaGlkZGVuIOi3s+i/hyBjb25maWcg5a2Q6IqC54K5XG4gICAgICAgID8ge1xuICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjb25maWdUcmVlKGl0ZW0uY2hpbGRyZW4sIGNvbmZpZyksXG4gICAgICAgICAgfVxuICAgICAgICA6IGl0ZW07XG4gICAgfSlcbiAgICAuZmlsdGVyKGl0ZW0gPT4gIWNvbmZpZy5idWlsZEluW2l0ZW0ubmFtZV0/LmhpZGRlbik7IC8vIOi/h+a7pCBoaWRkZW4g6IqC54K5XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZDb25maWdMb2FkZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYWNoZWRDb25maWcgPSBuZXcgTWFwPHN0cmluZywgT2JzZXJ2YWJsZTxzdHJpbmc+PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBASW5qZWN0KE5BVl9DT05GSUdfTE9DQUxfU1RPUkFHRV9LRVkpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZUtleTogc3RyaW5nID0gJycsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNBcGk6IEs4c0FwaVNlcnZpY2UsXG4gICkge31cblxuICBsb2FkTmF2Q29uZmlnKGFkZHJlc3M6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5jYWNoZWRDb25maWcuaGFzKGFkZHJlc3MpKSB7XG4gICAgICB0aGlzLmNhY2hlZENvbmZpZy5zZXQoYWRkcmVzcywgdGhpcy5idWlsZExvYWRTdHJlYW0oYWRkcmVzcykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jYWNoZWRDb25maWcuZ2V0KGFkZHJlc3MpO1xuICB9XG5cbiAgbG9hZE5hdlRyZWUoYWRkcmVzczogc3RyaW5nLCBjbUNvbmZpZ05hbWU6IHN0cmluZywgd2l0aEdyb3VwID0gZmFsc2UpIHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmxvYWROYXZDb25maWcoYWRkcmVzcykucGlwZSh0aGlzLnBhcnNlWWFtbCgpKSxcbiAgICAgIHRoaXMubG9hZENtQ29uZmlnKGNtQ29uZmlnTmFtZSksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3RyZWUsIGNvbmZpZ10pID0+XG4gICAgICAgIHdpdGhHcm91cFxuICAgICAgICAgID8gdGhpcy5jb25maWdUcmVlV2l0aEdyb3VwKHRyZWUgYXMgTmF2R3JvdXBDb25maWdbXSwgY29uZmlnKVxuICAgICAgICAgIDogdGhpcy5jb25maWdUcmVlKHRyZWUsIGNvbmZpZyksXG4gICAgICApLFxuICAgICAgdGhpcy5tYXBUb0F1aU5hdih3aXRoR3JvdXApLFxuICAgICk7XG4gIH1cblxuICBjb25maWdUcmVlKFxuICAgIHRyZWVJdGVtQ29uZmlnOiBOYXZJdGVtQ29uZmlnW10sXG4gICAgY29uZmlnOiBOYXZpZ2F0aW9uQ29uZmlnQ29uZmlnTWFwRGF0YSxcbiAgKSB7XG4gICAgcmV0dXJuIGZpbHRlck5hdlRyZWVzKHRyZWUgPT4gISh0cmVlLmNoaWxkcmVuICYmICF0cmVlLmNoaWxkcmVuLmxlbmd0aCkpKFxuICAgICAgY29uZmlnVHJlZSh0cmVlSXRlbUNvbmZpZywgY29uZmlnKS5jb25jYXQoXG4gICAgICAgIGNvbmZpZy5jdXN0b21zLmZpbHRlcihpdGVtID0+ICFpdGVtLmhpZGRlbiksIC8vIOa3u+WKoOiHquWumuS5ieeahOW3puWvvOiIqlxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uZmlnVHJlZVdpdGhHcm91cChcbiAgICB0cmVlR3JvdXBDb25maWc6IE5hdkdyb3VwQ29uZmlnW10sXG4gICAgY29uZmlnOiBOYXZpZ2F0aW9uQ29uZmlnQ29uZmlnTWFwRGF0YSxcbiAgKSB7XG4gICAgcmV0dXJuIHRyZWVHcm91cENvbmZpZ1xuICAgICAgLm1hcCh0ID0+ICh7XG4gICAgICAgIC4uLnQsXG4gICAgICAgIGl0ZW1zOiBmaWx0ZXJOYXZUcmVlczxOYXZJdGVtQ29uZmlnPiggLy8g6L+H5ruk5a2Y5Zyo5a2Q6IqC54K577yM5L2G5a2Q6IqC54K55Li656m655qE6IqC54K5XG4gICAgICAgICAgdHJlZSA9PiAhKHRyZWUuY2hpbGRyZW4gJiYgIXRyZWUuY2hpbGRyZW4ubGVuZ3RoKSxcbiAgICAgICAgKShcbiAgICAgICAgICBjb25maWdUcmVlKHQuaXRlbXMsIGNvbmZpZykuY29uY2F0KFxuICAgICAgICAgICAgY29uZmlnLmN1c3RvbXMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaGlkZGVuKSwgLy8g5re75Yqg6Ieq5a6a5LmJ55qE5bem5a+86IiqXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgIH0pKVxuICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0uaXRlbXMubGVuZ3RoKTtcbiAgfVxuXG4gIHBhcnNlWWFtbCgpIHtcbiAgICByZXR1cm4gbWFwPHN0cmluZywgTmF2W10+KCh5YW1sOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBkYXRhOiBOYXZbXSA9IFtdO1xuICAgICAgdHJ5IHtcbiAgICAgICAgZGF0YSA9IHBhcnNlKHlhbWwpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgdGhpcy50b2FzdFBhcnNlRXJyb3IoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgbWFwVG9BdWlOYXYod2l0aEdyb3VwID0gZmFsc2UpIHtcbiAgICByZXR1cm4gc3dpdGNoTWFwPE5hdltdLCBPYnNlcnZhYmxlPE5hdltdPj4oaXRlbXMgPT5cbiAgICAgIHRoaXMudHJhbnNsYXRlLmxvY2FsZSQucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICBsZXQgZGF0YTogTmF2W10gPSBbXTtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgZGF0YSA9IHdpdGhHcm91cFxuICAgICAgICAgICAgICA/IGl0ZW1zLm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGUgPyB0aGlzLnRyYW5zbGF0ZS5nZXQoaXRlbS50aXRsZSkgOiAnJyxcbiAgICAgICAgICAgICAgICAgIGl0ZW1zOiBtYXBOYXZUcmVlcyh0aGlzLm1hcFRvQXVpTmF2SXRlbSkoaXRlbS5pdGVtcyksXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgIDogbWFwTmF2VHJlZXModGhpcy5tYXBUb0F1aU5hdkl0ZW0pKGl0ZW1zKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHRoaXMudG9hc3RQYXJzZUVycm9yKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gbmFtZVxuICAgKiDliqDovb3lt6blr7zoiKrphY3nva4gdG9kbzog5re75Yqg5paH5qGj6ZO+5o6lXG4gICAqL1xuICBsb2FkQ21Db25maWcobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgZGVmYXVsdENvbmZpZzogTmF2aWdhdGlvbkNvbmZpZ0NvbmZpZ01hcERhdGEgPSB7XG4gICAgICBidWlsZEluOiB7fSxcbiAgICAgIGN1c3RvbXM6IFtdLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuazhzQXBpXG4gICAgICAuZ2V0R2xvYmFsUmVzb3VyY2U8TmF2aWdhdGlvbkNvbmZpZ0NvbmZpZ01hcD4oe1xuICAgICAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgICAgdHlwZTogJ2NvbmZpZ21hcHMnLFxuICAgICAgICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgICAgIH0sXG4gICAgICAgIG5hbWUsXG4gICAgICAgIG5hbWVzcGFjZWQ6IHRydWUsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChjbSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGJ1aWxkSW46IEpTT04ucGFyc2UoY20uZGF0YT8uYnVpbGRJbiB8fCBudWxsKSB8fCB7fSxcbiAgICAgICAgICAgICAgY3VzdG9tczogSlNPTi5wYXJzZShjbS5kYXRhPy5jdXN0b21zIHx8IG51bGwpIHx8IFtdLFxuICAgICAgICAgICAgfSBhcyBOYXZpZ2F0aW9uQ29uZmlnQ29uZmlnTWFwRGF0YTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRDb25maWc7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgc2tpcEVycm9yKGRlZmF1bHRDb25maWcpLFxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRMb2FkU3RyZWFtKHBhdGg6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGNvbmNhdChcbiAgICAgIG9mKHRoaXMuZ2V0TG9jYWwocGF0aCkpLFxuICAgICAgdGhpcy5odHRwXG4gICAgICAgIC5nZXQocGF0aCwge1xuICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICAgIGhlYWRlcnM6IHsgJ0NhY2hlLUNvbnRyb2wnOiAnbm8tY2FjaGUnIH0sXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRhcChjb25maWcgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRMb2NhbChwYXRoLCBjb25maWcpO1xuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICkucGlwZShcbiAgICAgIGZpbHRlcihjb25maWcgPT4gISFjb25maWcpLFxuICAgICAgc2hhcmVSZXBsYXkoMSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFwVG9BdWlOYXZJdGVtID0gKFxuICAgIGl0ZW06IE5hdkl0ZW1Db25maWcsXG4gICAgcGFyZW50czogTmF2SXRlbUNvbmZpZ1tdLFxuICApOiBOYXZJdGVtQ29uZmlnID0+ICh7XG4gICAgLi4uaXRlbSxcbiAgICBjaGlsZHJlbjogbnVsbCxcbiAgICBrZXk6IFsuLi5wYXJlbnRzLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpLCBpdGVtLm5hbWVdLmpvaW4oJy8nKSxcbiAgICBsYWJlbDogaXRlbS5sYWJlbCB8fCB0aGlzLnRyYW5zbGF0ZS5nZXQoaXRlbS5uYW1lKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSB0b2FzdFBhcnNlRXJyb3IoKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IodGhpcy50cmFuc2xhdGUuZ2V0KCduYXZfY29uZmlnX2Vycm9yJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2NhbEtleShwYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBub2RlcyA9IHBhdGguc3BsaXQoJy8nKTtcbiAgICByZXR1cm4gYCR7dGhpcy5sb2NhbFN0b3JhZ2VLZXl9LiR7bm9kZXMuYXQoLTEpfWA7XG4gIH1cblxuICBwcml2YXRlIHNldExvY2FsKHBhdGg6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZUtleSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5sb2NhbEtleShwYXRoKSwgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TG9jYWwocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sb2NhbFN0b3JhZ2VLZXlcbiAgICAgID8gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5sb2NhbEtleShwYXRoKSkgfHwgJydcbiAgICAgIDogJyc7XG4gIH1cbn1cbiJdfQ==
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2Y29uZmlnLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvbmF2aWdhdGlvbi9uYXZjb25maWctbG9hZGVyL25hdmNvbmZpZy1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUVMLE1BQU0sRUFDTixFQUFFLEVBQ0YsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBQ0gsV0FBVyxFQUNYLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUVMLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7OztBQXlCdkQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQzVELDhCQUE4QixDQUMvQixDQUFDO0FBSUYsTUFBTSxVQUFVLEdBQUcsQ0FDakIsSUFBcUIsRUFDckIsTUFBcUMsRUFDcEIsRUFBRSxDQUNuQixJQUFJO0tBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO0lBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxD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bWVudGF0aW9uXG4gKiBAbW9kdWxlIG5hdmNvbmZpZy1sb2FkZXJcbiAqL1xuXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsXG4gIGNvbmNhdCxcbiAgb2YsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBzaGFyZVJlcGxheSxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBLOHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBpL2s4cy1hcGkuc2VydmljZSc7XG5pbXBvcnQge1xuICBLdWJlcm5ldGVzUmVzb3VyY2UsXG4gIHBhcnNlLFxuICBwYXJzZUpzb24sXG4gIHNraXBFcnJvcixcbn0gZnJvbSAnLi4vLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBOYXZHcm91cENvbmZpZywgTmF2SXRlbUNvbmZpZyB9IGZyb20gJy4uL25hdi1tZW51L3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgZmlsdGVyTmF2VHJlZXMsIG1hcE5hdlRyZWVzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbnRlcmZhY2UgTmF2aWdhdGlvbkNvbmZpZ0NvbmZpZ01hcERhdGEge1xuICBidWlsZEluOiB7XG4gICAgW25hbWU6IHN0cmluZ106IHtcbiAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICBoaWRkZW46IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcbiAgY3VzdG9tczogQXJyYXk8e1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBpY29uRGF0YT86IHN0cmluZztcbiAgICBoaWRkZW46IGJvb2xlYW47XG4gICAgaHJlZjogc3RyaW5nO1xuICB9Pjtcbn1cblxuaW50ZXJmYWNlIE5hdmlnYXRpb25Db25maWdDb25maWdNYXAgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBkYXRhOiB7XG4gICAgYnVpbGRJbjogc3RyaW5nO1xuICAgIGN1c3RvbXM6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IE5BVl9DT05GSUdfTE9DQUxfU1RPUkFHRV9LRVkgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcbiAgJ25hdiBjb25maWcgbG9jYWwgc3RvcmFnZSBrZXknLFxuKTtcblxuZXhwb3J0IHR5cGUgTmF2ID0gTmF2SXRlbUNvbmZpZyB8IE5hdkdyb3VwQ29uZmlnO1xuXG5jb25zdCBjb25maWdUcmVlID0gKFxuICB0cmVlOiBOYXZJdGVtQ29uZmlnW10sXG4gIGNvbmZpZzogTmF2aWdhdGlvbkNvbmZpZ0NvbmZpZ01hcERhdGEsXG4pOiBOYXZJdGVtQ29uZmlnW10gPT5cbiAgdHJlZVxuICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICBpdGVtLmxhYmVsID0gY29uZmlnLmJ1aWxkSW5baXRlbS5uYW1lXT8ubGFiZWw7XG4gICAgICByZXR1cm4gaXRlbS5jaGlsZHJlbiAmJiAhY29uZmlnLmJ1aWxkSW5baXRlbS5uYW1lXT8uaGlkZGVuIC8vIOeItuiKgueCueiiqyBoaWRkZW4g6Lez6L+HIGNvbmZpZyDlrZDoioLngrlcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgY2hpbGRyZW46IGNvbmZpZ1RyZWUoaXRlbS5jaGlsZHJlbiwgY29uZmlnKSxcbiAgICAgICAgICB9XG4gICAgICAgIDogaXRlbTtcbiAgICB9KVxuICAgIC5maWx0ZXIoaXRlbSA9PiAhY29uZmlnLmJ1aWxkSW5baXRlbS5uYW1lXT8uaGlkZGVuKTsgLy8g6L+H5rukIGhpZGRlbiDoioLngrlcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5hdkNvbmZpZ0xvYWRlclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlZENvbmZpZyA9IG5ldyBNYXA8c3RyaW5nLCBPYnNlcnZhYmxlPHN0cmluZz4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIEBJbmplY3QoTkFWX0NPTkZJR19MT0NBTF9TVE9SQUdFX0tFWSlcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxTdG9yYWdlS2V5OiBzdHJpbmcgPSAnJyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGs4c0FwaTogSzhzQXBpU2VydmljZSxcbiAgKSB7fVxuXG4gIGxvYWROYXZDb25maWcoYWRkcmVzczogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLmNhY2hlZENvbmZpZy5oYXMoYWRkcmVzcykpIHtcbiAgICAgIHRoaXMuY2FjaGVkQ29uZmlnLnNldChhZGRyZXNzLCB0aGlzLmJ1aWxkTG9hZFN0cmVhbShhZGRyZXNzKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhY2hlZENvbmZpZy5nZXQoYWRkcmVzcyk7XG4gIH1cblxuICBsb2FkTmF2VHJlZShhZGRyZXNzOiBzdHJpbmcsIGNtQ29uZmlnTmFtZTogc3RyaW5nLCB3aXRoR3JvdXAgPSBmYWxzZSkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMubG9hZE5hdkNvbmZpZyhhZGRyZXNzKS5waXBlKHRoaXMucGFyc2VZYW1sKCkpLFxuICAgICAgdGhpcy5sb2FkQ21Db25maWcoY21Db25maWdOYW1lKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbdHJlZSwgY29uZmlnXSkgPT5cbiAgICAgICAgd2l0aEdyb3VwXG4gICAgICAgICAgPyB0aGlzLmNvbmZpZ1RyZWVXaXRoR3JvdXAodHJlZSBhcyBOYXZHcm91cENvbmZpZ1tdLCBjb25maWcpXG4gICAgICAgICAgOiB0aGlzLmNvbmZpZ1RyZWUodHJlZSwgY29uZmlnKSxcbiAgICAgICksXG4gICAgICB0aGlzLm1hcFRvQXVpTmF2KHdpdGhHcm91cCksXG4gICAgKTtcbiAgfVxuXG4gIGNvbmZpZ1RyZWUoXG4gICAgdHJlZUl0ZW1Db25maWc6IE5hdkl0ZW1Db25maWdbXSxcbiAgICBjb25maWc6IE5hdmlnYXRpb25Db25maWdDb25maWdNYXBEYXRhLFxuICApIHtcbiAgICByZXR1cm4gZmlsdGVyTmF2VHJlZXModHJlZSA9PiAhKHRyZWUuY2hpbGRyZW4gJiYgIXRyZWUuY2hpbGRyZW4ubGVuZ3RoKSkoXG4gICAgICBjb25maWdUcmVlKHRyZWVJdGVtQ29uZmlnLCBjb25maWcpLmNvbmNhdChcbiAgICAgICAgY29uZmlnLmN1c3RvbXMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaGlkZGVuKSwgLy8g5re75Yqg6Ieq5a6a5LmJ55qE5bem5a+86IiqXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBjb25maWdUcmVlV2l0aEdyb3VwKFxuICAgIHRyZWVHcm91cENvbmZpZzogTmF2R3JvdXBDb25maWdbXSxcbiAgICBjb25maWc6IE5hdmlnYXRpb25Db25maWdDb25maWdNYXBEYXRhLFxuICApIHtcbiAgICByZXR1cm4gdHJlZUdyb3VwQ29uZmlnXG4gICAgICAubWFwKHQgPT4gKHtcbiAgICAgICAgLi4udCxcbiAgICAgICAgaXRlbXM6IGZpbHRlck5hdlRyZWVzPE5hdkl0ZW1Db25maWc+KCAvLyDov4fmu6TlrZjlnKjlrZDoioLngrnvvIzkvYblrZDoioLngrnkuLrnqbrnmoToioLngrlcbiAgICAgICAgICB0cmVlID0+ICEodHJlZS5jaGlsZHJlbiAmJiAhdHJlZS5jaGlsZHJlbi5sZW5ndGgpLFxuICAgICAgICApKFxuICAgICAgICAgIGNvbmZpZ1RyZWUodC5pdGVtcywgY29uZmlnKS5jb25jYXQoXG4gICAgICAgICAgICBjb25maWcuY3VzdG9tcy5maWx0ZXIoaXRlbSA9PiAhaXRlbS5oaWRkZW4pLCAvLyDmt7vliqDoh6rlrprkuYnnmoTlt6blr7zoiKpcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgfSkpXG4gICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pdGVtcy5sZW5ndGgpO1xuICB9XG5cbiAgcGFyc2VZYW1sKCkge1xuICAgIHJldHVybiBtYXA8c3RyaW5nLCBOYXZbXT4oKHlhbWw6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGRhdGE6IE5hdltdID0gW107XG4gICAgICB0cnkge1xuICAgICAgICBkYXRhID0gcGFyc2UoeWFtbCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB0aGlzLnRvYXN0UGFyc2VFcnJvcigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBtYXBUb0F1aU5hdih3aXRoR3JvdXAgPSBmYWxzZSkge1xuICAgIHJldHVybiBzd2l0Y2hNYXA8TmF2W10sIE9ic2VydmFibGU8TmF2W10+PihpdGVtcyA9PlxuICAgICAgdGhpcy50cmFuc2xhdGUubG9jYWxlJC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGxldCBkYXRhOiBOYXZbXSA9IFtdO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBkYXRhID0gd2l0aEdyb3VwXG4gICAgICAgICAgICAgID8gaXRlbXMubWFwKGl0ZW0gPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSA/IHRoaXMudHJhbnNsYXRlLmdldChpdGVtLnRpdGxlKSA6ICcnLFxuICAgICAgICAgICAgICAgICAgaXRlbXM6IG1hcE5hdlRyZWVzKHRoaXMubWFwVG9BdWlOYXZJdGVtKShpdGVtLml0ZW1zKSxcbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgOiBtYXBOYXZUcmVlcyh0aGlzLm1hcFRvQXVpTmF2SXRlbSkoaXRlbXMpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgdGhpcy50b2FzdFBhcnNlRXJyb3IoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBuYW1lXG4gICAqIOWKoOi9veW3puWvvOiIqumFjee9riB0b2RvOiDmt7vliqDmlofmoaPpk77mjqVcbiAgICovXG4gIGxvYWRDbUNvbmZpZyhuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBkZWZhdWx0Q29uZmlnOiBOYXZpZ2F0aW9uQ29uZmlnQ29uZmlnTWFwRGF0YSA9IHtcbiAgICAgIGJ1aWxkSW46IHt9LFxuICAgICAgY3VzdG9tczogW10sXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5rOHNBcGlcbiAgICAgIC5nZXRHbG9iYWxSZXNvdXJjZTxOYXZpZ2F0aW9uQ29uZmlnQ29uZmlnTWFwPih7XG4gICAgICAgIGRlZmluaXRpb246IHtcbiAgICAgICAgICB0eXBlOiAnY29uZmlnbWFwcycsXG4gICAgICAgICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICAgICAgfSxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgbmFtZXNwYWNlZDogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGNtID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgYnVpbGRJbjogcGFyc2VKc29uKGNtLmRhdGE/LmJ1aWxkSW4pIHx8IHt9LFxuICAgICAgICAgICAgICBjdXN0b21zOiBwYXJzZUpzb24oY20uZGF0YT8uY3VzdG9tcykgfHwgW10sXG4gICAgICAgICAgICB9IGFzIE5hdmlnYXRpb25Db25maWdDb25maWdNYXBEYXRhO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdENvbmZpZztcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBza2lwRXJyb3IoZGVmYXVsdENvbmZpZyksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExvYWRTdHJlYW0ocGF0aDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gY29uY2F0KFxuICAgICAgb2YodGhpcy5nZXRMb2NhbChwYXRoKSksXG4gICAgICB0aGlzLmh0dHBcbiAgICAgICAgLmdldChwYXRoLCB7XG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgICAgaGVhZGVyczogeyAnQ2FjaGUtQ29udHJvbCc6ICduby1jYWNoZScgfSxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKGNvbmZpZyA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldExvY2FsKHBhdGgsIGNvbmZpZyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKS5waXBlKFxuICAgICAgZmlsdGVyKGNvbmZpZyA9PiAhIWNvbmZpZyksXG4gICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtYXBUb0F1aU5hdkl0ZW0gPSAoXG4gICAgaXRlbTogTmF2SXRlbUNvbmZpZyxcbiAgICBwYXJlbnRzOiBOYXZJdGVtQ29uZmlnW10sXG4gICk6IE5hdkl0ZW1Db25maWcgPT4gKHtcbiAgICAuLi5pdGVtLFxuICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIGtleTogWy4uLnBhcmVudHMubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSksIGl0ZW0ubmFtZV0uam9pbignLycpLFxuICAgIGxhYmVsOiBpdGVtLmxhYmVsIHx8IHRoaXMudHJhbnNsYXRlLmdldChpdGVtLm5hbWUpLFxuICB9KTtcblxuICBwcml2YXRlIHRvYXN0UGFyc2VFcnJvcigpIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcih0aGlzLnRyYW5zbGF0ZS5nZXQoJ25hdl9jb25maWdfZXJyb3InKSk7XG4gIH1cblxuICBwcml2YXRlIGxvY2FsS2V5KHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IG5vZGVzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgIHJldHVybiBgJHt0aGlzLmxvY2FsU3RvcmFnZUtleX0uJHtub2Rlcy5hdCgtMSl9YDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9jYWwocGF0aDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlS2V5KSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvY2FsS2V5KHBhdGgpLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvY2FsU3RvcmFnZUtleVxuICAgICAgPyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxvY2FsS2V5KHBhdGgpKSB8fCAnJ1xuICAgICAgOiAnJztcbiAgfVxufVxuIl19
|