@datarailsshared/datarailsshared 1.5.526 → 1.5.531
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/datarailsshared-datarailsshared-1.5.531.tgz +0 -0
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +16 -23
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.service.mjs +18 -14
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +1 -2
- package/esm2022/lib/models/serverTags.mjs +1 -1
- package/fesm2022/datarailsshared-datarailsshared.mjs +32 -36
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +2 -1
- package/lib/date-tags/forecast-tag/forecast-tag.service.d.ts +2 -1
- package/lib/models/serverTags.d.ts +0 -2
- package/package.json +1 -1
- package/datarailsshared-datarailsshared-1.5.526.tgz +0 -0
|
Binary file
|
|
@@ -22,7 +22,7 @@ function ForecastTagComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
22
22
|
i0.ɵɵtext(8, "Year");
|
|
23
23
|
i0.ɵɵelementEnd();
|
|
24
24
|
i0.ɵɵelementStart(9, "dr-date-picker", 7);
|
|
25
|
-
i0.ɵɵlistener("ngModelChange", function ForecastTagComponent_ng_container_0_Template_dr_date_picker_ngModelChange_9_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.
|
|
25
|
+
i0.ɵɵlistener("ngModelChange", function ForecastTagComponent_ng_container_0_Template_dr_date_picker_ngModelChange_9_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.forecastYear = $event); })("ngModelChange", function ForecastTagComponent_ng_container_0_Template_dr_date_picker_ngModelChange_9_listener() { i0.ɵɵrestoreView(_r4); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.changeYearInputHandler()); });
|
|
26
26
|
i0.ɵɵelementEnd()()();
|
|
27
27
|
i0.ɵɵelementContainerEnd();
|
|
28
28
|
} if (rf & 2) {
|
|
@@ -30,7 +30,7 @@ function ForecastTagComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
30
30
|
i0.ɵɵadvance(5);
|
|
31
31
|
i0.ɵɵproperty("ngModel", ctx_r0.forecastValue)("disabled", ctx_r0.disabled)("items", ctx_r0.forecastTags);
|
|
32
32
|
i0.ɵɵadvance(4);
|
|
33
|
-
i0.ɵɵproperty("ngModel", ctx_r0.
|
|
33
|
+
i0.ɵɵproperty("ngModel", ctx_r0.forecastYear)("datepickerFilter", ctx_r0.dateFilter.bind(ctx_r0))("disabled", ctx_r0.disabled);
|
|
34
34
|
} }
|
|
35
35
|
function ForecastTagComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
36
36
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
@@ -38,7 +38,7 @@ function ForecastTagComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
38
38
|
i0.ɵɵtext(2, "Period");
|
|
39
39
|
i0.ɵɵelementEnd();
|
|
40
40
|
i0.ɵɵelementStart(3, "div", 9)(4, "dr-date-picker", 10);
|
|
41
|
-
i0.ɵɵlistener("ngModelChange", function ForecastTagComponent_ng_template_1_Template_dr_date_picker_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.
|
|
41
|
+
i0.ɵɵlistener("ngModelChange", function ForecastTagComponent_ng_template_1_Template_dr_date_picker_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.forecastYear = $event); })("ngModelChange", function ForecastTagComponent_ng_template_1_Template_dr_date_picker_ngModelChange_4_listener() { i0.ɵɵrestoreView(_r9); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.changeYearInputHandler()); });
|
|
42
42
|
i0.ɵɵelementEnd();
|
|
43
43
|
i0.ɵɵelementStart(5, "dr-select", 11);
|
|
44
44
|
i0.ɵɵlistener("ngModelChange", function ForecastTagComponent_ng_template_1_Template_dr_select_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.forecastValue = $event); })("ngModelChange", function ForecastTagComponent_ng_template_1_Template_dr_select_ngModelChange_5_listener() { i0.ɵɵrestoreView(_r9); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.changeTagInputHandler()); });
|
|
@@ -46,11 +46,12 @@ function ForecastTagComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
46
46
|
} if (rf & 2) {
|
|
47
47
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
48
48
|
i0.ɵɵadvance(4);
|
|
49
|
-
i0.ɵɵproperty("ngModel", ctx_r2.
|
|
49
|
+
i0.ɵɵproperty("ngModel", ctx_r2.forecastYear)("datepickerFilter", ctx_r2.dateFilter.bind(ctx_r2))("disabled", ctx_r2.disabled);
|
|
50
50
|
i0.ɵɵadvance(1);
|
|
51
51
|
i0.ɵɵproperty("ngModel", ctx_r2.forecastValue)("disabled", ctx_r2.disabled)("items", ctx_r2.forecastTags);
|
|
52
52
|
} }
|
|
53
53
|
/* BEFORE MERGE INTO MASTER YOU MUST CONSULT WITH ARTEM LAZIUK !!!*/
|
|
54
|
+
const FORECAST_DEFAULT_DATE_FORMAT = 'MM/DD/yyyy';
|
|
54
55
|
export class ForecastTagComponent extends AnyTagComponent {
|
|
55
56
|
constructor() {
|
|
56
57
|
super();
|
|
@@ -73,6 +74,7 @@ export class ForecastTagComponent extends AnyTagComponent {
|
|
|
73
74
|
{ value: 11, label: '11+1', disabled: false },
|
|
74
75
|
];
|
|
75
76
|
this.initDateValue = null;
|
|
77
|
+
this.firstDayMonthOfYear = '01';
|
|
76
78
|
}
|
|
77
79
|
ngOnChanges(changes) {
|
|
78
80
|
if (changes.lockedDate) {
|
|
@@ -83,21 +85,16 @@ export class ForecastTagComponent extends AnyTagComponent {
|
|
|
83
85
|
const dateVal = this.defaultValue ? moment.unix(this.defaultValue) : moment();
|
|
84
86
|
const fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;
|
|
85
87
|
this.forecastValue = this.getFiscalMonthFromDate(dateVal, fiscal_year_starts_from) - 1;
|
|
86
|
-
this.
|
|
88
|
+
this.forecastYear = moment
|
|
89
|
+
.utc(`${this.firstDayMonthOfYear}/${this.firstDayMonthOfYear}/${this.getFiscalYearFromDate(dateVal, fiscal_year_starts_from, this.fiscalYearBack)}`, FORECAST_DEFAULT_DATE_FORMAT)
|
|
90
|
+
.unix();
|
|
87
91
|
this.updateLockedDate();
|
|
88
92
|
if (!this.initDateValue) {
|
|
89
93
|
this.initDateValue = _cloneDeep(this.dateObj.date);
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
|
-
updateYear(fiscalYear, month) {
|
|
93
|
-
const DATE_TIME = '12:00:00';
|
|
94
|
-
const MONTH_DIFF = 1;
|
|
95
|
-
this.dateObj.date = fiscalYear
|
|
96
|
-
? moment.utc(`${month + MONTH_DIFF || '01'}/01/${fiscalYear} ${DATE_TIME}`, 'MM/DD/YYYY hh:mm:ss').unix()
|
|
97
|
-
: moment.utc().unix();
|
|
98
|
-
}
|
|
99
96
|
updateLockedDate() {
|
|
100
|
-
const year = moment.unix(this.
|
|
97
|
+
const year = moment.unix(this.forecastYear).year();
|
|
101
98
|
this.forecastTags = this.forecastTags.map((forecastTag) => {
|
|
102
99
|
forecastTag.disabled = this.lockedDate.some((timestamp) => {
|
|
103
100
|
const locked = moment.unix(timestamp);
|
|
@@ -147,11 +144,11 @@ export class ForecastTagComponent extends AnyTagComponent {
|
|
|
147
144
|
if (this.isDateEventHappened)
|
|
148
145
|
return;
|
|
149
146
|
const month = this.forecastValue;
|
|
150
|
-
const year = moment.unix(this.
|
|
147
|
+
const year = moment.unix(this.forecastYear);
|
|
151
148
|
const fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;
|
|
152
149
|
const fiscal_year_back = this.fiscalYearBack || false;
|
|
153
150
|
if (!Number.isNaN(month) && !Number.isNaN(year)) {
|
|
154
|
-
const date = new Date(year, month, 1, 12, 0, 0, 0);
|
|
151
|
+
const date = new Date(year.year(), month, 1, 12, 0, 0, 0);
|
|
155
152
|
if (fiscal_year_starts_from !== 1) {
|
|
156
153
|
if (!fiscal_year_back) {
|
|
157
154
|
date.setMonth(date.getMonth() - 13 + fiscal_year_starts_from);
|
|
@@ -160,20 +157,16 @@ export class ForecastTagComponent extends AnyTagComponent {
|
|
|
160
157
|
date.setMonth(date.getMonth() - 1 + fiscal_year_starts_from);
|
|
161
158
|
}
|
|
162
159
|
}
|
|
163
|
-
this.
|
|
160
|
+
this.dateObj.date = moment(date).unix();
|
|
164
161
|
this.isDateEventHappened = true;
|
|
165
162
|
setTimeout(() => {
|
|
166
163
|
this.isDateEventHappened = false;
|
|
167
164
|
});
|
|
168
165
|
}
|
|
169
|
-
const calculatedDate = moment
|
|
170
|
-
.unix(this.dateObj.date)
|
|
171
|
-
.year(this.getFiscalYearFromDate(moment.unix(this.dateObj.date), fiscal_year_starts_from, fiscal_year_back));
|
|
172
166
|
const resultTag = {
|
|
173
167
|
name: this.name,
|
|
174
168
|
value: this.dateObj.date,
|
|
175
|
-
|
|
176
|
-
label: `${_find(this.forecastTags, { value: this.forecastValue })?.label} (${year})`,
|
|
169
|
+
label: `${_find(this.forecastTags, { value: this.forecastValue })?.label} (${year.year()})`,
|
|
177
170
|
locked: !this.dateFilter(moment.unix(this.dateObj.date)),
|
|
178
171
|
};
|
|
179
172
|
this.dateChange.emit(resultTag);
|
|
@@ -209,7 +202,7 @@ export class ForecastTagComponent extends AnyTagComponent {
|
|
|
209
202
|
useClass: MomentDateAdapter,
|
|
210
203
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
211
204
|
},
|
|
212
|
-
], template: "<ng-container *ngIf=\"!tagAdditionalSettings?.showSplitInputs; else splitInputsTpl\">\n <div class=\"forecast-tag__container\">\n <div class=\"forecast-tag__forecast\">\n <p class=\"tag__label\">Forecast</p>\n <dr-select\n placeholder=\"Select\"\n [(ngModel)]=\"forecastValue\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [disabled]=\"disabled\"\n [items]=\"forecastTags\"\n (ngModelChange)=\"changeTagInputHandler()\"></dr-select>\n </div>\n <div class=\"forecast-tag__year\">\n <p class=\"tag__label\">Year</p>\n <dr-date-picker\n format=\"year\"\n [(ngModel)]=\"
|
|
205
|
+
], template: "<ng-container *ngIf=\"!tagAdditionalSettings?.showSplitInputs; else splitInputsTpl\">\n <div class=\"forecast-tag__container\">\n <div class=\"forecast-tag__forecast\">\n <p class=\"tag__label\">Forecast</p>\n <dr-select\n placeholder=\"Select\"\n [(ngModel)]=\"forecastValue\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [disabled]=\"disabled\"\n [items]=\"forecastTags\"\n (ngModelChange)=\"changeTagInputHandler()\"></dr-select>\n </div>\n <div class=\"forecast-tag__year\">\n <p class=\"tag__label\">Year</p>\n <dr-date-picker\n format=\"year\"\n [(ngModel)]=\"forecastYear\"\n [datepickerFilter]=\"dateFilter.bind(this)\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"changeYearInputHandler()\"></dr-date-picker>\n </div>\n </div>\n</ng-container>\n\n<ng-template #splitInputsTpl>\n <div class=\"forecast-tag__split-container\">\n <p class=\"tag__label\">Period</p>\n <div class=\"forecast-tag__split-dropdowns\">\n <dr-date-picker\n format=\"year\"\n [(ngModel)]=\"forecastYear\"\n [datepickerFilter]=\"dateFilter.bind(this)\"\n [disabled]=\"disabled\"\n class=\"no-right-border-radius no-right-border\"\n (ngModelChange)=\"changeYearInputHandler()\"></dr-date-picker>\n <dr-select\n placeholder=\"Select\"\n [(ngModel)]=\"forecastValue\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [disabled]=\"disabled\"\n [items]=\"forecastTags\"\n no-left-border-radius\n (ngModelChange)=\"changeTagInputHandler()\"></dr-select>\n </div>\n </div>\n</ng-template>\n", styles: [".tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}.forecast-tag__container{display:flex;align-items:center}.forecast-tag__split-container{display:flex;flex-direction:column}.forecast-tag__split-dropdowns{display:flex;flex-direction:row}.forecast-tag__year{width:50%;margin-left:24px}.forecast-tag__forecast{width:50%}dr-date-picker.no-right-border-radius ::ng-deep{border-bottom-right-radius:0!important;border-top-right-radius:0!important}dr-date-picker.no-right-border ::ng-deep{border-right:none!important}\n"] }]
|
|
213
206
|
}], function () { return []; }, { fiscalYearStartsFrom: [{
|
|
214
207
|
type: Input
|
|
215
208
|
}], fiscalYearBack: [{
|
|
@@ -219,4 +212,4 @@ export class ForecastTagComponent extends AnyTagComponent {
|
|
|
219
212
|
}], tagAdditionalSettings: [{
|
|
220
213
|
type: Input
|
|
221
214
|
}] }); })();
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RhdGUtdGFncy9mb3JlY2FzdC10YWcvZm9yZWNhc3QtdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RhdGUtdGFncy9mb3JlY2FzdC10YWcvZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RyxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxTQUFTLElBQUksVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hFLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7SUNONUIsNkJBQW1GO0lBQy9FLDhCQUFxQyxhQUFBLFdBQUE7SUFFUCx3QkFBUTtJQUFBLGlCQUFJO0lBQ2xDLG9DQU84QztJQUwxQyxvUEFBMkIsZ0xBS1YsZUFBQSw4QkFBdUIsQ0FBQSxJQUxiO0lBS2UsaUJBQVksRUFBQTtJQUU5RCw4QkFBZ0MsV0FBQTtJQUNOLG9CQUFJO0lBQUEsaUJBQUk7SUFDOUIseUNBSytDO0lBSDNDLHdNQUFhLDRDQUN2QixJQURvQyxxTEFHVCxlQUFBLCtCQUF3QixDQUFBLElBSGY7SUFHaUIsaUJBQWlCLEVBQUEsRUFBQTtJQUc1RSwwQkFBZTs7O0lBakJDLGVBQTJC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bXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSURhdGVUYWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyBBbnlUYWdDb21wb25lbnQgfSBmcm9tICcuLi9hbnktdGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLCBNb21lbnREYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcbmltcG9ydCB7IGZpbmQgYXMgX2ZpbmQsIGNsb25lRGVlcCBhcyBfY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IElUYWdBZGRpdGlvbmFsU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9kci10YWdzL2RyLXRhZy50eXBlcyc7XG5cbi8qIEJFRk9SRSBNRVJHRSBJTlRPIE1BU1RFUiBZT1UgTVVTVCBDT05TVUxUIFdJVEggQVJURU0gTEFaSVVLICEhISovXG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzZWxlY3RvcjogJ2ZvcmVjYXN0LXRhZycsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OU10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9yZWNhc3RUYWdDb21wb25lbnQgZXh0ZW5kcyBBbnlUYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIGZpc2NhbFllYXJTdGFydHNGcm9tPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGZpc2NhbFllYXJCYWNrPzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBsb2NrZWREYXRlOiBhbnlbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHRhZ0FkZGl0aW9uYWxTZXR0aW5nczogSVRhZ0FkZGl0aW9uYWxTZXR0aW5ncyA9IHt9O1xuXG4gICAgZm9yZWNhc3RWYWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlzRGF0ZUV2ZW50SGFwcGVuZWQgPSBmYWxzZTtcblxuICAgIGZvcmVjYXN0VGFnczogYW55W10gPSBbXG4gICAgICAgIHsgdmFsdWU6IDAsIGxhYmVsOiAnMCsxMicsIGRpc2FibGVkOiBmYWxzZSB9LFxuICAgICAgICB7IHZhbHVlOiAxLCBsYWJlbDogJzErMTEnLCBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgeyB2YWx1ZTogMiwgbGFiZWw6ICcyKzEwJywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDMsIGxhYmVsOiAnMys5JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDQsIGxhYmVsOiAnNCs4JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDUsIGxhYmVsOiAnNSs3JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDYsIGxhYmVsOiAnNis2JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDcsIGxhYmVsOiAnNys1JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDgsIGxhYmVsOiAnOCs0JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDksIGxhYmVsOiAnOSszJywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDEwLCBsYWJlbDogJzEwKzInLCBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgeyB2YWx1ZTogMTEsIGxhYmVsOiAnMTErMScsIGRpc2FibGVkOiBmYWxzZSB9LFxuICAgIF07XG5cbiAgICBwcml2YXRlIGluaXREYXRlVmFsdWUgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5sb2NrZWREYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxvY2tlZERhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXREYXRlKCkge1xuICAgICAgICBjb25zdCBkYXRlVmFsID0gdGhpcy5kZWZhdWx0VmFsdWUgPyBtb21lbnQudW5peCh0aGlzLmRlZmF1bHRWYWx1ZSkgOiBtb21lbnQoKTtcbiAgICAgICAgY29uc3QgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gPSB0aGlzLmZpc2NhbFllYXJTdGFydHNGcm9tIHx8IDE7XG4gICAgICAgIHRoaXMuZm9yZWNhc3RWYWx1ZSA9IHRoaXMuZ2V0RmlzY2FsTW9udGhGcm9tRGF0ZShkYXRlVmFsLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSkgLSAxO1xuXG4gICAgICAgIHRoaXMudXBkYXRlWWVhcihkYXRlVmFsLnllYXIoKSwgdGhpcy5mb3JlY2FzdFZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVMb2NrZWREYXRlKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmluaXREYXRlVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdERhdGVWYWx1ZSA9IF9jbG9uZURlZXAodGhpcy5kYXRlT2JqLmRhdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlWWVhcihmaXNjYWxZZWFyPzogbnVtYmVyLCBtb250aD86IG51bWJlcikge1xuICAgICAgICBjb25zdCBEQVRFX1RJTUUgPSAnMTI6MDA6MDAnO1xuICAgICAgICBjb25zdCBNT05USF9ESUZGID0gMTtcblxuICAgICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IGZpc2NhbFllYXJcbiAgICAgICAgICAgID8gbW9tZW50LnV0YyhgJHttb250aCArIE1PTlRIX0RJRkYgfHwgJzAxJ30vMDEvJHtmaXNjYWxZZWFyfSAke0RBVEVfVElNRX1gLCAnTU0vREQvWVlZWSBoaDptbTpzcycpLnVuaXgoKVxuICAgICAgICAgICAgOiBtb21lbnQudXRjKCkudW5peCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUxvY2tlZERhdGUoKSB7XG4gICAgICAgIGNvbnN0IHllYXIgPSBtb21lbnQudW5peCh0aGlzLmRhdGVPYmouZGF0ZSkueWVhcigpO1xuXG4gICAgICAgIHRoaXMuZm9yZWNhc3RUYWdzID0gdGhpcy5mb3JlY2FzdFRhZ3MubWFwKChmb3JlY2FzdFRhZykgPT4ge1xuICAgICAgICAgICAgZm9yZWNhc3RUYWcuZGlzYWJsZWQgPSB0aGlzLmxvY2tlZERhdGUuc29tZSgodGltZXN0YW1wKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9ja2VkID0gbW9tZW50LnVuaXgodGltZXN0YW1wKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbG9ja2VkLm1vbnRoKCkgPT09IGZvcmVjYXN0VGFnLnZhbHVlICYmICtsb2NrZWQueWVhcigpID09PSAreWVhcjtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gZm9yZWNhc3RUYWc7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXROYW1lKCkge1xuICAgICAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgICAgICAgdGhpcy5uYW1lID0gJ0ZvcmVjYXN0IChOZXcpJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEZpc2NhbE1vbnRoRnJvbURhdGUoZGF0ZU9iaiwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20pIHtcbiAgICAgICAgY29uc3QgYWxsX21vbnRocyA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbTsgaSA8IDEzOyBpKyspIHtcbiAgICAgICAgICAgIGFsbF9tb250aHMucHVzaChpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb207IGkrKykge1xuICAgICAgICAgICAgYWxsX21vbnRocy5wdXNoKGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFsbF9tb250aHMuaW5kZXhPZihkYXRlT2JqLm1vbnRoKCkgKyAxKSArIDE7XG4gICAgfVxuXG4gICAgZ2V0RmlzY2FsWWVhckZyb21EYXRlKGRhdGVPYmosIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tLCBmaXNjYWxfeWVhcl9iYWNrKSB7XG4gICAgICAgIGxldCBmaXNjYWxfeWVhciA9IGRhdGVPYmoueWVhcigpO1xuXG4gICAgICAgIGlmICghZmlzY2FsX3llYXJfYmFjaykge1xuICAgICAgICAgICAgaWYgKGRhdGVPYmoubW9udGgoKSArIDEgPj0gZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gJiYgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gIT09IDEpIHtcbiAgICAgICAgICAgICAgICBmaXNjYWxfeWVhciArPSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRhdGVPYmoubW9udGgoKSArIDEgPCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAmJiBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAhPT0gMSkge1xuICAgICAgICAgICAgICAgIGZpc2NhbF95ZWFyIC09IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmlzY2FsX3llYXI7XG4gICAgfVxuXG4gICAgY2hhbmdlVGFnSW5wdXRIYW5kbGVyKCkge1xuICAgICAgICB0aGlzLmNob3NlblRhZ0hhbmRsZXIoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VZZWFySW5wdXRIYW5kbGVyKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUxvY2tlZERhdGUoKTtcbiAgICAgICAgdGhpcy5pbml0RGF0ZVZhbHVlID0gX2Nsb25lRGVlcCh0aGlzLmRhdGVPYmouZGF0ZSk7XG4gICAgICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcigpO1xuICAgIH1cblxuICAgIGNob3NlblRhZ0hhbmRsZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzRGF0ZUV2ZW50SGFwcGVuZWQpIHJldHVybjtcblxuICAgICAgICBjb25zdCBtb250aCA9IHRoaXMuZm9yZWNhc3RWYWx1ZTtcbiAgICAgICAgY29uc3QgeWVhciA9IG1vbWVudC51bml4KHRoaXMuZGF0ZU9iai5kYXRlKS55ZWFyKCk7XG4gICAgICAgIGNvbnN0IGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tID0gdGhpcy5maXNjYWxZZWFyU3RhcnRzRnJvbSB8fCAxO1xuICAgICAgICBjb25zdCBmaXNjYWxfeWVhcl9iYWNrID0gdGhpcy5maXNjYWxZZWFyQmFjayB8fCBmYWxzZTtcblxuICAgICAgICBpZiAoIU51bWJlci5pc05hTihtb250aCkgJiYgIU51bWJlci5pc05hTih5ZWFyKSkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxLCAxMiwgMCwgMCwgMCk7XG5cbiAgICAgICAgICAgIGlmIChmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAhPT0gMSkge1xuICAgICAgICAgICAgICAgIGlmICghZmlzY2FsX3llYXJfYmFjaykge1xuICAgICAgICAgICAgICAgICAgICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSAtIDEzICsgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpIC0gMSArIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlWWVhcih5ZWFyLCBkYXRlLmdldE1vbnRoKCkpO1xuXG4gICAgICAgICAgICB0aGlzLmlzRGF0ZUV2ZW50SGFwcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0RhdGVFdmVudEhhcHBlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNhbGN1bGF0ZWREYXRlID0gbW9tZW50XG4gICAgICAgICAgICAudW5peCh0aGlzLmRhdGVPYmouZGF0ZSlcbiAgICAgICAgICAgIC55ZWFyKHRoaXMuZ2V0RmlzY2FsWWVhckZyb21EYXRlKG1vbWVudC51bml4KHRoaXMuZGF0ZU9iai5kYXRlKSwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIGZpc2NhbF95ZWFyX2JhY2spKTtcblxuICAgICAgICBjb25zdCByZXN1bHRUYWc6IElEYXRlVGFnID0ge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZGF0ZU9iai5kYXRlLFxuICAgICAgICAgICAgY2FsY3VsYXRlZFZhbHVlOiBjYWxjdWxhdGVkRGF0ZS51bml4KCksXG4gICAgICAgICAgICBsYWJlbDogYCR7X2ZpbmQodGhpcy5mb3JlY2FzdFRhZ3MsIHsgdmFsdWU6IHRoaXMuZm9yZWNhc3RWYWx1ZSB9KT8ubGFiZWx9ICgke3llYXJ9KWAsXG4gICAgICAgICAgICBsb2NrZWQ6ICF0aGlzLmRhdGVGaWx0ZXIobW9tZW50LnVuaXgodGhpcy5kYXRlT2JqLmRhdGUpKSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdChyZXN1bHRUYWcpO1xuICAgIH1cblxuICAgIGRhdGVGaWx0ZXIoZGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBtb250aCA9IHRoaXMuZm9yZWNhc3RWYWx1ZTtcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUueWVhcigpO1xuXG4gICAgICAgIHJldHVybiAhdGhpcy5sb2NrZWREYXRlLnNvbWUoKHRpbWVzdGFtcCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbG9ja0RhdGUgPSBtb21lbnQudW5peCh0aW1lc3RhbXApO1xuICAgICAgICAgICAgcmV0dXJuIGxvY2tEYXRlLm1vbnRoKCkgPT09IG1vbnRoICYmIGxvY2tEYXRlLnllYXIoKSA9PT0geWVhcjtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0YWdBZGRpdGlvbmFsU2V0dGluZ3M/LnNob3dTcGxpdElucHV0czsgZWxzZSBzcGxpdElucHV0c1RwbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JlY2FzdC10YWdfX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9yZWNhc3QtdGFnX19mb3JlY2FzdFwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0YWdfX2xhYmVsXCI+Rm9yZWNhc3Q8L3A+XG4gICAgICAgICAgICA8ZHItc2VsZWN0XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3RcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9yZWNhc3RWYWx1ZVwiXG4gICAgICAgICAgICAgICAgYmluZExhYmVsPVwibGFiZWxcIlxuICAgICAgICAgICAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJmb3JlY2FzdFRhZ3NcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZVRhZ0lucHV0SGFuZGxlcigpXCI+PC9kci1zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9yZWNhc3QtdGFnX195ZWFyXCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInRhZ19fbGFiZWxcIj5ZZWFyPC9wPlxuICAgICAgICAgICAgPGRyLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAgICAgZm9ybWF0PVwieWVhclwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXRlT2JqLmRhdGVcIlxuICAgICAgICAgICAgICAgIFtkYXRlcGlja2VyRmlsdGVyXT1cImRhdGVGaWx0ZXIuYmluZCh0aGlzKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VZZWFySW5wdXRIYW5kbGVyKClcIj48L2RyLWRhdGUtcGlja2VyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3NwbGl0SW5wdXRzVHBsPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JlY2FzdC10YWdfX3NwbGl0LWNvbnRhaW5lclwiPlxuICAgICAgICA8cCBjbGFzcz1cInRhZ19fbGFiZWxcIj5QZXJpb2Q8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JlY2FzdC10YWdfX3NwbGl0LWRyb3Bkb3duc1wiPlxuICAgICAgICAgICAgPGRyLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAgICAgZm9ybWF0PVwieWVhclwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXRlT2JqLmRhdGVcIlxuICAgICAgICAgICAgICAgIFtkYXRlcGlja2VyRmlsdGVyXT1cImRhdGVGaWx0ZXIuYmluZCh0aGlzKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5vLXJpZ2h0LWJvcmRlci1yYWRpdXMgbm8tcmlnaHQtYm9yZGVyXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VZZWFySW5wdXRIYW5kbGVyKClcIj48L2RyLWRhdGUtcGlja2VyPlxuICAgICAgICAgICAgPGRyLXNlbGVjdFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0XCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcmVjYXN0VmFsdWVcIlxuICAgICAgICAgICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbaXRlbXNdPVwiZm9yZWNhc3RUYWdzXCJcbiAgICAgICAgICAgICAgICBuby1sZWZ0LWJvcmRlci1yYWRpdXNcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VUYWdJbnB1dEhhbmRsZXIoKVwiPjwvZHItc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RhdGUtdGFncy9mb3JlY2FzdC10YWcvZm9yZWNhc3QtdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RhdGUtdGFncy9mb3JlY2FzdC10YWcvZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RyxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxTQUFTLElBQUksVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hFLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7SUNONUIsNkJBQW1GO0lBQy9FLDhCQUFxQyxhQUFBLFdBQUE7SUFFUCx3QkFBUTtJQUFBLGlCQUFJO0lBQ2xDLG9DQU84QztJQUwxQyxvUEFBMkIsZ0xBS1YsZUFBQSw4QkFBdUIsQ0FBQSxJQUxiO0lBS2UsaUJBQVksRUFBQTtJQUU5RCw4QkFBZ0MsV0FBQTtJQUNOLG9CQUFJO0lBQUEsaUJBQUk7SUFDOUIseUNBSytDO0lBSDNDLHdQQUEwQixxTEFHVCxlQUFBLCtCQUF3QixDQUFBLElBSGY7SUFHaUIsaUJBQWlCLEVBQUEsRUFBQTtJQUc1RSwwQkFBZTs7O0lBakJDLGVBQTJCO0lBQTNCLDhDQUEy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S0FBSyxJQUFJLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQWhLUSxvQkFBb0I7bUdBQXBCLG9CQUFvQix3T0FSbEI7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLFdBQVc7b0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQztpQkFDM0Q7YUFDSjtZQ3ZCTCx3RkF1QmU7WUFFZixzSEFzQmM7OztZQS9DQyw4R0FBK0MsaUJBQUE7Ozt1RkR5QmpELG9CQUFvQjtjQVpoQyxTQUFTOzJCQUVJLGNBQWMsYUFFYjtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsV0FBVzt3QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjt3QkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO3FCQUMzRDtpQkFDSjtzQ0FHUSxvQkFBb0I7a0JBQTVCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLHFCQUFxQjtrQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSURhdGVUYWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyBBbnlUYWdDb21wb25lbnQgfSBmcm9tICcuLi9hbnktdGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLCBNb21lbnREYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcbmltcG9ydCB7IGZpbmQgYXMgX2ZpbmQsIGNsb25lRGVlcCBhcyBfY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IElUYWdBZGRpdGlvbmFsU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9kci10YWdzL2RyLXRhZy50eXBlcyc7XG5cbi8qIEJFRk9SRSBNRVJHRSBJTlRPIE1BU1RFUiBZT1UgTVVTVCBDT05TVUxUIFdJVEggQVJURU0gTEFaSVVLICEhISovXG5cbmNvbnN0IEZPUkVDQVNUX0RFRkFVTFRfREFURV9GT1JNQVQgPSAnTU0vREQveXl5eSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzZWxlY3RvcjogJ2ZvcmVjYXN0LXRhZycsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OU10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9yZWNhc3RUYWdDb21wb25lbnQgZXh0ZW5kcyBBbnlUYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIGZpc2NhbFllYXJTdGFydHNGcm9tPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGZpc2NhbFllYXJCYWNrPzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBsb2NrZWREYXRlOiBhbnlbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHRhZ0FkZGl0aW9uYWxTZXR0aW5nczogSVRhZ0FkZGl0aW9uYWxTZXR0aW5ncyA9IHt9O1xuXG4gICAgZm9yZWNhc3RWYWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGZvcmVjYXN0WWVhcjogbnVtYmVyO1xuICAgIGlzRGF0ZUV2ZW50SGFwcGVuZWQgPSBmYWxzZTtcblxuICAgIGZvcmVjYXN0VGFnczogYW55W10gPSBbXG4gICAgICAgIHsgdmFsdWU6IDAsIGxhYmVsOiAnMCsxMicsIGRpc2FibGVkOiBmYWxzZSB9LFxuICAgICAgICB7IHZhbHVlOiAxLCBsYWJlbDogJzErMTEnLCBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgeyB2YWx1ZTogMiwgbGFiZWw6ICcyKzEwJywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDMsIGxhYmVsOiAnMys5JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDQsIGxhYmVsOiAnNCs4JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDUsIGxhYmVsOiAnNSs3JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDYsIGxhYmVsOiAnNis2JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDcsIGxhYmVsOiAnNys1JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDgsIGxhYmVsOiAnOCs0JywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDksIGxhYmVsOiAnOSszJywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICAgIHsgdmFsdWU6IDEwLCBsYWJlbDogJzEwKzInLCBkaXNhYmxlZDogZmFsc2UgfSxcbiAgICAgICAgeyB2YWx1ZTogMTEsIGxhYmVsOiAnMTErMScsIGRpc2FibGVkOiBmYWxzZSB9LFxuICAgIF07XG5cbiAgICBwcml2YXRlIGluaXREYXRlVmFsdWUgPSBudWxsO1xuICAgIHByaXZhdGUgZmlyc3REYXlNb250aE9mWWVhciA9ICcwMSc7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmxvY2tlZERhdGUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTG9ja2VkRGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdERhdGUoKSB7XG4gICAgICAgIGNvbnN0IGRhdGVWYWwgPSB0aGlzLmRlZmF1bHRWYWx1ZSA/IG1vbWVudC51bml4KHRoaXMuZGVmYXVsdFZhbHVlKSA6IG1vbWVudCgpO1xuICAgICAgICBjb25zdCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSA9IHRoaXMuZmlzY2FsWWVhclN0YXJ0c0Zyb20gfHwgMTtcbiAgICAgICAgdGhpcy5mb3JlY2FzdFZhbHVlID0gdGhpcy5nZXRGaXNjYWxNb250aEZyb21EYXRlKGRhdGVWYWwsIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tKSAtIDE7XG4gICAgICAgIHRoaXMuZm9yZWNhc3RZZWFyID0gbW9tZW50XG4gICAgICAgICAgICAudXRjKFxuICAgICAgICAgICAgICAgIGAke3RoaXMuZmlyc3REYXlNb250aE9mWWVhcn0vJHt0aGlzLmZpcnN0RGF5TW9udGhPZlllYXJ9LyR7dGhpcy5nZXRGaXNjYWxZZWFyRnJvbURhdGUoZGF0ZVZhbCwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIHRoaXMuZmlzY2FsWWVhckJhY2spfWAsXG4gICAgICAgICAgICAgICAgRk9SRUNBU1RfREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC51bml4KCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVMb2NrZWREYXRlKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmluaXREYXRlVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdERhdGVWYWx1ZSA9IF9jbG9uZURlZXAodGhpcy5kYXRlT2JqLmRhdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlTG9ja2VkRGF0ZSgpIHtcbiAgICAgICAgY29uc3QgeWVhciA9IG1vbWVudC51bml4KHRoaXMuZm9yZWNhc3RZZWFyKS55ZWFyKCk7XG5cbiAgICAgICAgdGhpcy5mb3JlY2FzdFRhZ3MgPSB0aGlzLmZvcmVjYXN0VGFncy5tYXAoKGZvcmVjYXN0VGFnKSA9PiB7XG4gICAgICAgICAgICBmb3JlY2FzdFRhZy5kaXNhYmxlZCA9IHRoaXMubG9ja2VkRGF0ZS5zb21lKCh0aW1lc3RhbXApID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2NrZWQgPSBtb21lbnQudW5peCh0aW1lc3RhbXApO1xuICAgICAgICAgICAgICAgIHJldHVybiBsb2NrZWQubW9udGgoKSA9PT0gZm9yZWNhc3RUYWcudmFsdWUgJiYgK2xvY2tlZC55ZWFyKCkgPT09ICt5ZWFyO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBmb3JlY2FzdFRhZztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW5pdE5hbWUoKSB7XG4gICAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSAnRm9yZWNhc3QgKE5ldyknO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0RmlzY2FsTW9udGhGcm9tRGF0ZShkYXRlT2JqLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSkge1xuICAgICAgICBjb25zdCBhbGxfbW9udGhzID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tOyBpIDwgMTM7IGkrKykge1xuICAgICAgICAgICAgYWxsX21vbnRocy5wdXNoKGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbTsgaSsrKSB7XG4gICAgICAgICAgICBhbGxfbW9udGhzLnB1c2goaSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWxsX21vbnRocy5pbmRleE9mKGRhdGVPYmoubW9udGgoKSArIDEpICsgMTtcbiAgICB9XG5cbiAgICBnZXRGaXNjYWxZZWFyRnJvbURhdGUoZGF0ZU9iaiwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIGZpc2NhbF95ZWFyX2JhY2spIHtcbiAgICAgICAgbGV0IGZpc2NhbF95ZWFyID0gZGF0ZU9iai55ZWFyKCk7XG5cbiAgICAgICAgaWYgKCFmaXNjYWxfeWVhcl9iYWNrKSB7XG4gICAgICAgICAgICBpZiAoZGF0ZU9iai5tb250aCgpICsgMSA+PSBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAmJiBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAhPT0gMSkge1xuICAgICAgICAgICAgICAgIGZpc2NhbF95ZWFyICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoZGF0ZU9iai5tb250aCgpICsgMSA8IGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tICYmIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgZmlzY2FsX3llYXIgLT0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaXNjYWxfeWVhcjtcbiAgICB9XG5cbiAgICBjaGFuZ2VUYWdJbnB1dEhhbmRsZXIoKSB7XG4gICAgICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcigpO1xuICAgIH1cblxuICAgIGNoYW5nZVllYXJJbnB1dEhhbmRsZXIoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTG9ja2VkRGF0ZSgpO1xuICAgICAgICB0aGlzLmluaXREYXRlVmFsdWUgPSBfY2xvbmVEZWVwKHRoaXMuZGF0ZU9iai5kYXRlKTtcbiAgICAgICAgdGhpcy5jaG9zZW5UYWdIYW5kbGVyKCk7XG4gICAgfVxuXG4gICAgY2hvc2VuVGFnSGFuZGxlcigpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEYXRlRXZlbnRIYXBwZW5lZCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IG1vbnRoID0gdGhpcy5mb3JlY2FzdFZhbHVlO1xuICAgICAgICBjb25zdCB5ZWFyID0gbW9tZW50LnVuaXgodGhpcy5mb3JlY2FzdFllYXIpO1xuICAgICAgICBjb25zdCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSA9IHRoaXMuZmlzY2FsWWVhclN0YXJ0c0Zyb20gfHwgMTtcbiAgICAgICAgY29uc3QgZmlzY2FsX3llYXJfYmFjayA9IHRoaXMuZmlzY2FsWWVhckJhY2sgfHwgZmFsc2U7XG5cbiAgICAgICAgaWYgKCFOdW1iZXIuaXNOYU4obW9udGgpICYmICFOdW1iZXIuaXNOYU4oeWVhcikpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLnllYXIoKSwgbW9udGgsIDEsIDEyLCAwLCAwLCAwKTtcblxuICAgICAgICAgICAgaWYgKGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFmaXNjYWxfeWVhcl9iYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpIC0gMTMgKyBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgLSAxICsgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5kYXRlT2JqLmRhdGUgPSBtb21lbnQoZGF0ZSkudW5peCgpO1xuXG4gICAgICAgICAgICB0aGlzLmlzRGF0ZUV2ZW50SGFwcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0RhdGVFdmVudEhhcHBlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdFRhZzogSURhdGVUYWcgPSB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5kYXRlT2JqLmRhdGUsXG4gICAgICAgICAgICBsYWJlbDogYCR7X2ZpbmQodGhpcy5mb3JlY2FzdFRhZ3MsIHsgdmFsdWU6IHRoaXMuZm9yZWNhc3RWYWx1ZSB9KT8ubGFiZWx9ICgke3llYXIueWVhcigpfSlgLFxuICAgICAgICAgICAgbG9ja2VkOiAhdGhpcy5kYXRlRmlsdGVyKG1vbWVudC51bml4KHRoaXMuZGF0ZU9iai5kYXRlKSksXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQocmVzdWx0VGFnKTtcbiAgICB9XG5cbiAgICBkYXRlRmlsdGVyKGRhdGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbW9udGggPSB0aGlzLmZvcmVjYXN0VmFsdWU7XG4gICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLnllYXIoKTtcblxuICAgICAgICByZXR1cm4gIXRoaXMubG9ja2VkRGF0ZS5zb21lKCh0aW1lc3RhbXApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2tEYXRlID0gbW9tZW50LnVuaXgodGltZXN0YW1wKTtcbiAgICAgICAgICAgIHJldHVybiBsb2NrRGF0ZS5tb250aCgpID09PSBtb250aCAmJiBsb2NrRGF0ZS55ZWFyKCkgPT09IHllYXI7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhdGFnQWRkaXRpb25hbFNldHRpbmdzPy5zaG93U3BsaXRJbnB1dHM7IGVsc2Ugc3BsaXRJbnB1dHNUcGxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9yZWNhc3QtdGFnX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcmVjYXN0LXRhZ19fZm9yZWNhc3RcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidGFnX19sYWJlbFwiPkZvcmVjYXN0PC9wPlxuICAgICAgICAgICAgPGRyLXNlbGVjdFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0XCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcmVjYXN0VmFsdWVcIlxuICAgICAgICAgICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbaXRlbXNdPVwiZm9yZWNhc3RUYWdzXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VUYWdJbnB1dEhhbmRsZXIoKVwiPjwvZHItc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcmVjYXN0LXRhZ19feWVhclwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0YWdfX2xhYmVsXCI+WWVhcjwvcD5cbiAgICAgICAgICAgIDxkci1kYXRlLXBpY2tlclxuICAgICAgICAgICAgICAgIGZvcm1hdD1cInllYXJcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9yZWNhc3RZZWFyXCJcbiAgICAgICAgICAgICAgICBbZGF0ZXBpY2tlckZpbHRlcl09XCJkYXRlRmlsdGVyLmJpbmQodGhpcylcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlWWVhcklucHV0SGFuZGxlcigpXCI+PC9kci1kYXRlLXBpY2tlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzcGxpdElucHV0c1RwbD5cbiAgICA8ZGl2IGNsYXNzPVwiZm9yZWNhc3QtdGFnX19zcGxpdC1jb250YWluZXJcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0YWdfX2xhYmVsXCI+UGVyaW9kPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9yZWNhc3QtdGFnX19zcGxpdC1kcm9wZG93bnNcIj5cbiAgICAgICAgICAgIDxkci1kYXRlLXBpY2tlclxuICAgICAgICAgICAgICAgIGZvcm1hdD1cInllYXJcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9yZWNhc3RZZWFyXCJcbiAgICAgICAgICAgICAgICBbZGF0ZXBpY2tlckZpbHRlcl09XCJkYXRlRmlsdGVyLmJpbmQodGhpcylcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuby1yaWdodC1ib3JkZXItcmFkaXVzIG5vLXJpZ2h0LWJvcmRlclwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlWWVhcklucHV0SGFuZGxlcigpXCI+PC9kci1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgIDxkci1zZWxlY3RcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JlY2FzdFZhbHVlXCJcbiAgICAgICAgICAgICAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgYmluZFZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zXT1cImZvcmVjYXN0VGFnc1wiXG4gICAgICAgICAgICAgICAgbm8tbGVmdC1ib3JkZXItcmFkaXVzXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlVGFnSW5wdXRIYW5kbGVyKClcIj48L2RyLXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -4,19 +4,22 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export class ForecastTagService {
|
|
5
5
|
static { this.MONTH_DIFF = 1; }
|
|
6
6
|
static { this.forecastByMonth = {
|
|
7
|
-
0: '0+12',
|
|
8
|
-
1: '1+11',
|
|
9
|
-
2: '2+10',
|
|
10
|
-
3: '3+9',
|
|
11
|
-
4: '4+8',
|
|
12
|
-
5: '5+7',
|
|
13
|
-
6: '6+6',
|
|
14
|
-
7: '7+5',
|
|
15
|
-
8: '8+4',
|
|
16
|
-
9: '9+3',
|
|
17
|
-
10: '10+2',
|
|
18
|
-
11: '11+1',
|
|
7
|
+
'0': '0+12',
|
|
8
|
+
'1': '1+11',
|
|
9
|
+
'2': '2+10',
|
|
10
|
+
'3': '3+9',
|
|
11
|
+
'4': '4+8',
|
|
12
|
+
'5': '5+7',
|
|
13
|
+
'6': '6+6',
|
|
14
|
+
'7': '7+5',
|
|
15
|
+
'8': '8+4',
|
|
16
|
+
'9': '9+3',
|
|
17
|
+
'10': '10+2',
|
|
18
|
+
'11': '11+1',
|
|
19
19
|
}; }
|
|
20
|
+
static getForecastMonthTemplates() {
|
|
21
|
+
return Array.from(Object.values(ForecastTagService.forecastByMonth));
|
|
22
|
+
}
|
|
20
23
|
static getFiscalMonthFromDate(date, fiscalYearStartsFrom) {
|
|
21
24
|
const all_months = [];
|
|
22
25
|
for (let i = fiscalYearStartsFrom; i < 13; i++) {
|
|
@@ -43,7 +46,8 @@ export class ForecastTagService {
|
|
|
43
46
|
return fiscal_year;
|
|
44
47
|
}
|
|
45
48
|
static getForecastLabel(month) {
|
|
46
|
-
|
|
49
|
+
const index = month - ForecastTagService.MONTH_DIFF;
|
|
50
|
+
return ForecastTagService.forecastByMonth[index];
|
|
47
51
|
}
|
|
48
52
|
static getCalendarDateFromMonthAndFiscalYear(chosenMoment, monthLabel, fiscalYearStartsFrom, fiscalYearBack) {
|
|
49
53
|
const yearWithMonth = ForecastTagService.addMonthsWithoutYearChange(chosenMoment, monthLabel, fiscalYearStartsFrom);
|
|
@@ -80,4 +84,4 @@ export class ForecastTagService {
|
|
|
80
84
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ForecastTagService, [{
|
|
81
85
|
type: Injectable
|
|
82
86
|
}], null, null); })();
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZWNhc3QtdGFnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kYXRlLXRhZ3MvZm9yZWNhc3QtdGFnL2ZvcmVjYXN0LXRhZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBTzdDLE1BQU0sT0FBTyxrQkFBa0I7YUFDSCxlQUFVLEdBQUcsQ0FBQyxDQUFDO2FBQ2Ysb0JBQWUsR0FBcUI7UUFDeEQsR0FBRyxFQUFFLE1BQU07UUFDWCxHQUFHLEVBQUUsTUFBTTtRQUNYLEdBQUcsRUFBRSxNQUFNO1FBQ1gsR0FBRyxFQUFFLEtBQUs7UUFDVixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsR0FBRyxFQUFFLEtBQUs7UUFDVixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsR0FBRyxFQUFFLEtBQUs7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxNQUFNO0tBQ2YsQ0FBQztJQUVLLE1BQU0sQ0FBQyx5QkFBeUI7UUFDbkMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLElBQW1CLEVBQUUsb0JBQTRCO1FBQ2xGLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUV0QixLQUFLLElBQUksQ0FBQyxHQUFHLG9CQUFvQixFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QjtRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RCO1FBRUQsT0FBTyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7SUFDOUcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFtQixFQUFFLG9CQUE0QixFQUFFLGNBQXVCO1FBQzFHLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFOUIsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksb0JBQW9CLElBQUksb0JBQW9CLEtBQUssQ0FBQyxFQUFFO2dCQUNqRSxXQUFXLElBQUksQ0FBQyxDQUFDO2FBQ3BCO1NBQ0o7YUFBTTtZQUNILElBQUksS0FBSyxHQUFHLENBQUMsR0FBRyxvQkFBb0IsSUFBSSxvQkFBb0IsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hFLFdBQVcsSUFBSSxDQUFDLENBQUM7YUFDcEI7U0FDSjtRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBYTtRQUN4QyxNQUFNLEtBQUssR0FBRyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxDQUFDO1FBQ3BELE9BQU8sa0JBQWtCLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxNQUFNLENBQUMscUNBQXFDLENBQy9DLFlBQTJCLEVBQzNCLFVBQWtCLEVBQ2xCLG9CQUE0QixFQUM1QixjQUF1QjtRQUV2QixNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFDcEgsT0FBTyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVNLE1BQU0sQ0FBQywwQkFBMEIsQ0FDcEMsSUFBbUIsRUFDbkIsVUFBa0IsRUFDbEIsb0JBQTRCO1FBRTVCLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUVqQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFckMsTUFBTSxXQUFXLEdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FDN0UsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLENBQzFFLENBQUM7UUFDRixNQUFNLDBCQUEwQixHQUFHLFdBQVcsR0FBRyxvQkFBb0IsR0FBRyxDQUFDLENBQUM7UUFDMUUsTUFBTSxXQUFXLEdBQUcsMEJBQTBCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDO1FBRXBILE9BQU8sZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxNQUFNLENBQUMsdUJBQXVCLENBQ2pDLG1CQUFrQyxFQUNsQyxvQkFBNEIsRUFDNUIsY0FBdUI7UUFFdkIsSUFBSSxDQUFDLG1CQUFtQjtZQUFFLE9BQU87UUFFakMsSUFBSSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4RCxJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLHFCQUFxQixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxvQkFBb0IsSUFBSSxvQkFBb0IsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hGLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDeEM7U0FDSjthQUFNO1lBQ0gsSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksb0JBQW9CLElBQUksb0JBQW9CLEtBQUssQ0FBQyxFQUFFO2dCQUN6RixxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQzdDO1NBQ0o7UUFDRCxPQUFPLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7c0dBdkdRLGtCQUFrQjtzR0FBbEIsa0JBQWtCLFdBQWxCLGtCQUFrQjs7dUZBQWxCLGtCQUFrQjtjQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBpbmRleE9mIGFzIF9pbmRleE9mIH0gZnJvbSAnbG9kYXNoJztcblxuaW50ZXJmYWNlIElGb3JlY2FzdEJ5TW9udGgge1xuICAgIFttb250aEluZGV4OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JlY2FzdFRhZ1NlcnZpY2Uge1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1PTlRIX0RJRkYgPSAxO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGZvcmVjYXN0QnlNb250aDogSUZvcmVjYXN0QnlNb250aCA9IHtcbiAgICAgICAgJzAnOiAnMCsxMicsXG4gICAgICAgICcxJzogJzErMTEnLFxuICAgICAgICAnMic6ICcyKzEwJyxcbiAgICAgICAgJzMnOiAnMys5JyxcbiAgICAgICAgJzQnOiAnNCs4JyxcbiAgICAgICAgJzUnOiAnNSs3JyxcbiAgICAgICAgJzYnOiAnNis2JyxcbiAgICAgICAgJzcnOiAnNys1JyxcbiAgICAgICAgJzgnOiAnOCs0JyxcbiAgICAgICAgJzknOiAnOSszJyxcbiAgICAgICAgJzEwJzogJzEwKzInLFxuICAgICAgICAnMTEnOiAnMTErMScsXG4gICAgfTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Rm9yZWNhc3RNb250aFRlbXBsYXRlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKE9iamVjdC52YWx1ZXMoRm9yZWNhc3RUYWdTZXJ2aWNlLmZvcmVjYXN0QnlNb250aCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0RmlzY2FsTW9udGhGcm9tRGF0ZShkYXRlOiBtb21lbnQuTW9tZW50LCBmaXNjYWxZZWFyU3RhcnRzRnJvbTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgYWxsX21vbnRocyA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSBmaXNjYWxZZWFyU3RhcnRzRnJvbTsgaSA8IDEzOyBpKyspIHtcbiAgICAgICAgICAgIGFsbF9tb250aHMucHVzaChpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgZmlzY2FsWWVhclN0YXJ0c0Zyb207IGkrKykge1xuICAgICAgICAgICAgYWxsX21vbnRocy5wdXNoKGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIF9pbmRleE9mKGFsbF9tb250aHMsIGRhdGUubW9udGgoKSArIEZvcmVjYXN0VGFnU2VydmljZS5NT05USF9ESUZGKSArIEZvcmVjYXN0VGFnU2VydmljZS5NT05USF9ESUZGO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0RmlzY2FsWWVhckZyb21EYXRlKGRhdGU6IG1vbWVudC5Nb21lbnQsIGZpc2NhbFllYXJTdGFydHNGcm9tOiBudW1iZXIsIGZpc2NhbFllYXJCYWNrOiBib29sZWFuKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbW9udGggPSBkYXRlLm1vbnRoKCk7XG4gICAgICAgIGxldCBmaXNjYWxfeWVhciA9IGRhdGUueWVhcigpO1xuXG4gICAgICAgIGlmICghZmlzY2FsWWVhckJhY2spIHtcbiAgICAgICAgICAgIGlmIChtb250aCArIDEgPj0gZmlzY2FsWWVhclN0YXJ0c0Zyb20gJiYgZmlzY2FsWWVhclN0YXJ0c0Zyb20gIT09IDEpIHtcbiAgICAgICAgICAgICAgICBmaXNjYWxfeWVhciArPSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG1vbnRoICsgMSA8IGZpc2NhbFllYXJTdGFydHNGcm9tICYmIGZpc2NhbFllYXJTdGFydHNGcm9tICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgZmlzY2FsX3llYXIgLT0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaXNjYWxfeWVhcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEZvcmVjYXN0TGFiZWwobW9udGg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gbW9udGggLSBGb3JlY2FzdFRhZ1NlcnZpY2UuTU9OVEhfRElGRjtcbiAgICAgICAgcmV0dXJuIEZvcmVjYXN0VGFnU2VydmljZS5mb3JlY2FzdEJ5TW9udGhbaW5kZXhdO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q2FsZW5kYXJEYXRlRnJvbU1vbnRoQW5kRmlzY2FsWWVhcihcbiAgICAgICAgY2hvc2VuTW9tZW50OiBtb21lbnQuTW9tZW50LFxuICAgICAgICBtb250aExhYmVsOiBzdHJpbmcsXG4gICAgICAgIGZpc2NhbFllYXJTdGFydHNGcm9tOiBudW1iZXIsXG4gICAgICAgIGZpc2NhbFllYXJCYWNrOiBib29sZWFuLFxuICAgICk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHllYXJXaXRoTW9udGggPSBGb3JlY2FzdFRhZ1NlcnZpY2UuYWRkTW9udGhzV2l0aG91dFllYXJDaGFuZ2UoY2hvc2VuTW9tZW50LCBtb250aExhYmVsLCBmaXNjYWxZZWFyU3RhcnRzRnJvbSk7XG4gICAgICAgIHJldHVybiBGb3JlY2FzdFRhZ1NlcnZpY2UudHJhbnNmb3JtWWVhckZyb21GaXNjYWwoeWVhcldpdGhNb250aCwgZmlzY2FsWWVhclN0YXJ0c0Zyb20sIGZpc2NhbFllYXJCYWNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGFkZE1vbnRoc1dpdGhvdXRZZWFyQ2hhbmdlKFxuICAgICAgICBkYXRlOiBtb21lbnQuTW9tZW50LFxuICAgICAgICBtb250aExhYmVsOiBzdHJpbmcsXG4gICAgICAgIGZpc2NhbFllYXJTdGFydHNGcm9tOiBudW1iZXIsXG4gICAgKTogbW9tZW50Lk1vbWVudCB7XG4gICAgICAgIGlmICghbW9udGhMYWJlbCB8fCAhZGF0ZSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGRhdGVUb1RyYW5zZm9ybSA9IGRhdGUuY2xvbmUoKTtcblxuICAgICAgICBjb25zdCBsYWJlbHNJbmRleDogbnVtYmVyID0gK09iamVjdC5rZXlzKEZvcmVjYXN0VGFnU2VydmljZS5mb3JlY2FzdEJ5TW9udGgpLmZpbmQoXG4gICAgICAgICAgICAoa2V5OiBzdHJpbmcpID0+IEZvcmVjYXN0VGFnU2VydmljZS5mb3JlY2FzdEJ5TW9udGhba2V5XSA9PT0gbW9udGhMYWJlbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbW9udGhzV2l0aEZpc2NhbERpZmZlcmVuY2UgPSBsYWJlbHNJbmRleCArIGZpc2NhbFllYXJTdGFydHNGcm9tIC0gMTtcbiAgICAgICAgY29uc3QgbW9udGhzVG9BZGQgPSBtb250aHNXaXRoRmlzY2FsRGlmZmVyZW5jZSA+PSAxMiA/IG1vbnRoc1dpdGhGaXNjYWxEaWZmZXJlbmNlIC0gMTIgOiBtb250aHNXaXRoRmlzY2FsRGlmZmVyZW5jZTtcblxuICAgICAgICByZXR1cm4gZGF0ZVRvVHJhbnNmb3JtLnV0YygpLnN0YXJ0T2YoJ3llYXInKS5hZGQobW9udGhzVG9BZGQsICdNJyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0cmFuc2Zvcm1ZZWFyRnJvbUZpc2NhbChcbiAgICAgICAgZmlzY2FsWWVhcldpdGhNb250aDogbW9tZW50Lk1vbWVudCxcbiAgICAgICAgZmlzY2FsWWVhclN0YXJ0c0Zyb206IG51bWJlcixcbiAgICAgICAgZmlzY2FsWWVhckJhY2s6IGJvb2xlYW4sXG4gICAgKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFmaXNjYWxZZWFyV2l0aE1vbnRoKSByZXR1cm47XG5cbiAgICAgICAgbGV0IGZpc2NhbFllYXJTdGFydE1vbWVudCA9IGZpc2NhbFllYXJXaXRoTW9udGguY2xvbmUoKTtcbiAgICAgICAgaWYgKGZpc2NhbFllYXJCYWNrKSB7XG4gICAgICAgICAgICBpZiAoZmlzY2FsWWVhclN0YXJ0TW9tZW50Lm1vbnRoKCkgKyAxIDwgZmlzY2FsWWVhclN0YXJ0c0Zyb20gJiYgZmlzY2FsWWVhclN0YXJ0c0Zyb20gIT09IDEpIHtcbiAgICAgICAgICAgICAgICBmaXNjYWxZZWFyU3RhcnRNb21lbnQuYWRkKDEsICd5ZWFyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoZmlzY2FsWWVhclN0YXJ0TW9tZW50Lm1vbnRoKCkgKyAxID49IGZpc2NhbFllYXJTdGFydHNGcm9tICYmIGZpc2NhbFllYXJTdGFydHNGcm9tICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgZmlzY2FsWWVhclN0YXJ0TW9tZW50LnN1YnRyYWN0KDEsICd5ZWFyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpc2NhbFllYXJTdGFydE1vbWVudC51bml4KCk7XG4gICAgfVxufVxuIl19
|
|
@@ -95,7 +95,6 @@ export class DrTagComponent {
|
|
|
95
95
|
id: this.tagConfig.id,
|
|
96
96
|
name: event.name,
|
|
97
97
|
value: event.value,
|
|
98
|
-
calculatedValue: event.calculatedValue,
|
|
99
98
|
label: event.label,
|
|
100
99
|
locked: event.locked,
|
|
101
100
|
};
|
|
@@ -232,4 +231,4 @@ export class DrTagComponent {
|
|
|
232
231
|
}], dynamicTagAdd: [{
|
|
233
232
|
type: Output
|
|
234
233
|
}] }); })();
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXRhZ3MvZHItdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXRhZ3MvZHItdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBS0gsaUJBQWlCLEVBQ2pCLFFBQVEsR0FHWCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxLQUFLLElBQUksTUFBTSxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7O0lDVnJHLG1DQVMyQztJQUF2QyxzTEFBZ0IsZUFBQSw0QkFBcUIsQ0FBQSxJQUFDO0lBQUMsaUJBQVc7OztJQVBsRCx3REFBbUMsc0NBQUEscURBQUEseUNBQUEsaUNBQUEsNkJBQUEsdURBQUE7Ozs7SUFTdkMsbUNBTW9EO0lBSmhELGdMQUFhLGVBQUEsNEJBQXFCLENBQUEsSUFBQztJQUlhLGlCQUFXOzs7SUFIM0QsMENBQXFCLGlDQUFBLDZCQUFBLCtGQUFBOzs7O0lBS3pCLHlDQWEwQztJQUR0Qyw0TEFBYSxlQUFBLGlDQUEwQixDQUFBLElBQUMseUtBQzlCLGVBQUEsaUNBQTBCLENBQUEsSUFESTtJQUNGLGlCQUFpQjs7O0lBWHZELDhDQUF5Qix1Q0FBQSwrQkFBQSxtQ0FBQSx5REFBQSxtQ0FBQSw2QkFBQSxxREFBQSx5Q0FBQSxpSEFBQTs7QURGakMs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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgSURhdGVUYWcsXG4gICAgSUxpc3RUYWcsXG4gICAgSVRhZyxcbiAgICBJVGFnRm9yU2VydmVyLFxuICAgIFRhZ3NDb25maWdTdWJUeXBlLFxuICAgIFRhZ1R5cGVzLFxuICAgIFREeW5hbWljVGFnLFxuICAgIFREeW5hbWljVGFnVmFsdWUsXG59IGZyb20gJy4uL21vZGVscy9zZXJ2ZXJUYWdzJztcbmltcG9ydCB7IGZpbmQgYXMgX2ZpbmQsIGZvckVhY2ggYXMgX2ZvckVhY2gsIG1hcCBhcyBfbWFwLCBtZXJnZSBhcyBfbWVyZ2UsIHNvbWUgYXMgX3NvbWUgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSVRhZ0FkZGl0aW9uYWxTZXR0aW5ncyB9IGZyb20gJy4vZHItdGFnLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICdkci10YWcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHNlbGVjdG9yOiAnZHItdGFnJyxcbiAgICBzdHlsZVVybHM6IFsnZHItdGFnLmNvbXBvbmVudC5zY3NzJywgJy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9wcmVidWlsdC10aGVtZXMvaW5kaWdvLXBpbmsuY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJUYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgdGFnQ29uZmlnOiBJVGFnO1xuICAgIC8vIHNlbGVjdGVkVGFnVmFsdWVcbiAgICBASW5wdXQoKSBzZWxlY3RlZFRhZzogSVRhZ0ZvclNlcnZlcjtcbiAgICBASW5wdXQoKSBsb2NrZWREYXRlOiBhbnlbXSA9IFtdO1xuICAgIEBJbnB1dCgpIGZpc2NhbFllYXJTdGFydHNGcm9tPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGZpc2NhbFllYXJCYWNrPzogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHRhZ3NDb25maWc6IElUYWdbXTtcbiAgICBASW5wdXQoKSBkeW5hbWljVGFnVmFsdWVzOiBURHluYW1pY1RhZyA9IHt9O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGNvbm5lY3RlZFRhZ3ModGFnczogSVRhZ0ZvclNlcnZlcltdKSB7XG4gICAgICAgIHRoaXMuX2Nvbm5lY3RlZFRhZ3MgPSB0YWdzIHx8IFtdO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGlzRHluYW1pY1RhZ0FkZEVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8vIEFuIG9iamVjdCBjb250YWluaW5nIGFkZGl0aW9uYWwgcHJvcHMgZm9yIHRhZ3MgY29uZmlndXJhdGlvblxuICAgIEBJbnB1dCgpIHRhZ0FkZGl0aW9uYWxTZXR0aW5nczogSVRhZ0FkZGl0aW9uYWxTZXR0aW5ncyA9IHt9O1xuXG4gICAgQE91dHB1dCgpIHRhZ0NoYW5nZTogRXZlbnRFbWl0dGVyPElUYWdGb3JTZXJ2ZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxJVGFnRm9yU2VydmVyPigpOyAvLyBOb3QgZW1pdCB2YWx1ZSBmb3IgZHluYW1pYyB0YWdcbiAgICBAT3V0cHV0KCkgZHluYW1pY1RhZ0NoYW5nZTogRXZlbnRFbWl0dGVyPElUYWdGb3JTZXJ2ZXJbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPElUYWdGb3JTZXJ2ZXJbXT4oKTtcbiAgICBAT3V0cHV0KCkgZHluYW1pY1RhZ0FkZDogRXZlbnRFbWl0dGVyPFREeW5hbWljVGFnVmFsdWU+ID0gbmV3IEV2ZW50RW1pdHRlcjxURHluYW1pY1RhZ1ZhbHVlPigpO1xuXG4gICAgcHVibGljIGRlZmF1bHRWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHB1YmxpYyBjdXJyZW50VGFnRHluYW1pYzogYm9vbGVhbjtcbiAgICBwdWJsaWMgY3VycmVudFRhZ0Nvbm5lY3RlZFRvRHluYW1pYyA9IGZhbHNlO1xuICAgIHB1YmxpYyB0YWdUeXBlcyA9IFRhZ1R5cGVzO1xuXG4gICAgcHVibGljIGRhdGVUYWc6IGFueTtcbiAgICBwdWJsaWMgbGlzdFRhZzogYW55O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25uZWN0YWJsZVRhZ3MgPSBbVGFnc0NvbmZpZ1N1YlR5cGUuRk9SRUNBU1RfTkVXLCBUYWdzQ29uZmlnU3ViVHlwZS5ZRUFSXTtcblxuICAgIHByaXZhdGUgY29ubmVjdGVkVGFnc1ZhbHVlczogSVRhZ0ZvclNlcnZlcltdID0gW107XG4gICAgcHJpdmF0ZSBkeW5hbWljVGFnVmFsdWU6IElUYWdGb3JTZXJ2ZXI7XG4gICAgcHJpdmF0ZSBfY29ubmVjdGVkVGFnczogSVRhZ0ZvclNlcnZlcltdID0gW107XG5cbiAgICBwdWJsaWMgZ2V0IGNvbm5lY3RlZFRhZ3MoKTogSVRhZ0ZvclNlcnZlcltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3RlZFRhZ3M7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0R5bmFtaWNUYWdNdWx0aXBsZUxpbmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRUYWdEeW5hbWljICYmIHRoaXMudGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUgPT09IFRhZ3NDb25maWdTdWJUeXBlLkZPUkVDQVNUX0NZQ0xFO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGFnID0ge1xuICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgbmFtZTogJycsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlcy50YWdzQ29uZmlnKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUR5bmFtaWNUYWcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmRhdGVUYWcgPSB7XG4gICAgICAgICAgICB0eXBlOiB0aGlzLnRhZ0NvbmZpZy50eXBlLFxuICAgICAgICAgICAgc3ViX3R5cGU6IHRoaXMudGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5zZWxlY3RlZFRhZz8udmFsdWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5saXN0VGFnID0ge1xuICAgICAgICAgICAgbmFtZTogdGhpcy50YWdDb25maWcubmFtZSxcbiAgICAgICAgICAgIHR5cGU6IHRoaXMudGFnQ29uZmlnLnR5cGUsXG4gICAgICAgICAgICB2YWx1ZXM6IHRoaXMudGFnQ29uZmlnLnZhbHVlcyxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVGFnPy52YWx1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy50YWdzQ29uZmlnICYmIHRoaXMuY3VycmVudFRhZ0R5bmFtaWMpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJlVGFnSXRlbXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRhZ0NvbmZpZyAmJiB0aGlzLnRhZ0NvbmZpZy5vcHRpb25zICYmIHRoaXMudGFnQ29uZmlnLm9wdGlvbnMuZGVmYXVsdF92YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0VmFsdWUgPSB0aGlzLnRhZ0NvbmZpZy5vcHRpb25zLmRlZmF1bHRfdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRhdGVIYW5kbGVyKGV2ZW50OiBJRGF0ZVRhZykge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50VGFnRHluYW1pYykge1xuICAgICAgICAgICAgdGhpcy5vbkR5bmFtaWNIYW5kbGVyKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdEV2ZW50OiBJVGFnRm9yU2VydmVyID0ge1xuICAgICAgICAgICAgaWQ6IHRoaXMudGFnQ29uZmlnLmlkLFxuICAgICAgICAgICAgbmFtZTogZXZlbnQubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBldmVudC52YWx1ZSxcbiAgICAgICAgICAgIGNhbGN1bGF0ZWRWYWx1ZTogZXZlbnQuY2FsY3VsYXRlZFZhbHVlLFxuICAgICAgICAgICAgbGFiZWw6IGV2ZW50LmxhYmVsLFxuICAgICAgICAgICAgbG9ja2VkOiBldmVudC5sb2NrZWQsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc29sZS5sb2cocmVzdWx0RXZlbnQpO1xuICAgICAgICB0aGlzLnRhZ0NoYW5nZS5lbWl0KHJlc3VsdEV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkxpc3RIYW5kbGVyKGV2ZW50OiBJTGlzdFRhZykge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50VGFnRHluYW1pYykge1xuICAgICAgICAgICAgdGhpcy5vbkR5bmFtaWNIYW5kbGVyKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdEV2ZW50OiBJVGFnRm9yU2VydmVyID0ge1xuICAgICAgICAgICAgaWQ6IHRoaXMudGFnQ29uZmlnLmlkLFxuICAgICAgICAgICAgbmFtZTogdGhpcy50YWdDb25maWcubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBldmVudC52YWx1ZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc29sZS5sb2cocmVzdWx0RXZlbnQpO1xuICAgICAgICB0aGlzLnRhZ0NoYW5nZS5lbWl0KHJlc3VsdEV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkR5bmFtaWNUYWdDaGFuZ2UodGFnPzogSVRhZ0ZvclNlcnZlcikge1xuICAgICAgICBpZiAodGFnKSB7XG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNUYWdWYWx1ZSA9IHRhZztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZHluYW1pY1RhZ0NoYW5nZS5lbWl0KFsuLi50aGlzLmNvbm5lY3RlZFRhZ3NWYWx1ZXMsIHRoaXMuZHluYW1pY1RhZ1ZhbHVlXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkR5bmFtaWNIYW5kbGVyKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3RlZERhdGVUYWdDb25maWcgPSBfZmluZCh0aGlzLnRhZ3NDb25maWcsICh0YWdDb25maWcpID0+IHRhZ0NvbmZpZy5uYW1lID09PSBldmVudC5uYW1lKTtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRUYWdzID0gX21hcCh0aGlzLmNvbm5lY3RlZFRhZ3MsICh0YWcpID0+IHtcbiAgICAgICAgICAgIGlmICh0YWcuaWQgPT09IGNvbm5lY3RlZERhdGVUYWdDb25maWcuaWQpIHtcbiAgICAgICAgICAgICAgICB0YWcudmFsdWUgPSBldmVudC52YWx1ZTtcbiAgICAgICAgICAgICAgICB0YWcubG9ja2VkID0gZXZlbnQubG9ja2VkO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbm5lY3RlZERhdGVUYWdDb25maWcudHlwZSA9PT0gVGFnVHlwZXMuREFURSkge1xuICAgICAgICAgICAgICAgICAgICB0YWcubGFiZWwgPSBldmVudC5sYWJlbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0YWc7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdEV2ZW50OiBJVGFnRm9yU2VydmVyID0ge1xuICAgICAgICAgICAgaWQ6IGNvbm5lY3RlZERhdGVUYWdDb25maWcuaWQsXG4gICAgICAgICAgICBuYW1lOiBjb25uZWN0ZWREYXRlVGFnQ29uZmlnLm5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogZXZlbnQudmFsdWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGNvbm5lY3RlZERhdGVUYWdDb25maWcudHlwZSA9PT0gVGFnVHlwZXMuREFURSkge1xuICAgICAgICAgICAgcmVzdWx0RXZlbnQubGFiZWwgPSBldmVudC5sYWJlbDtcbiAgICAgICAgICAgIHJlc3VsdEV2ZW50LmxvY2tlZCA9IGV2ZW50LmxvY2tlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNhdmVkVGFnID0gX2ZpbmQodGhpcy5jb25uZWN0ZWRUYWdzVmFsdWVzLCB7IGlkOiByZXN1bHRFdmVudC5pZCB9KTtcblxuICAgICAgICBpZiAoc2F2ZWRUYWcpIHtcbiAgICAgICAgICAgIF9tZXJnZShzYXZlZFRhZywgcmVzdWx0RXZlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWRUYWdzVmFsdWVzLnB1c2gocmVzdWx0RXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkR5bmFtaWNUYWdDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbmZpZ3VyZVRhZ0l0ZW1zKCkge1xuICAgICAgICBfZm9yRWFjaCh0aGlzLnRhZ3NDb25maWcsICh0YWdDb25maWcpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5jb25uZWN0YWJsZVRhZ3MuaW5jbHVkZXModGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUpKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGFnQ29uZmlnLnR5cGUgPT09IFRhZ1R5cGVzLkRBVEUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVUYWcgPSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHRhZ0NvbmZpZy50eXBlLFxuICAgICAgICAgICAgICAgICAgICBzdWJfdHlwZTogdGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAoX2ZpbmQodGhpcy5jb25uZWN0ZWRUYWdzLCB7IGlkOiB0YWdDb25maWcuaWQgfSkgfHwge30pLnZhbHVlLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0YWdDb25maWcudHlwZSA9PT0gVGFnVHlwZXMuTElTVCkge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdFRhZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogdGFnQ29uZmlnLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHRhZ0NvbmZpZy50eXBlLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHRhZ0NvbmZpZy52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0YWdDb25maWc/Lm9wdGlvbnM/LmRlZmF1bHRfdmFsdWUsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFfZmluZCh0aGlzLmNvbm5lY3RlZFRhZ3MsIHsgaWQ6IHRhZ0NvbmZpZy5pZCB9KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkVGFncy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHRhZ0NvbmZpZy5pZCxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogdGFnQ29uZmlnLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlRHluYW1pY1RhZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFnRHluYW1pYyA9IHRoaXMudGFnQ29uZmlnLm9wdGlvbnMuaXNfY3VzdG9tO1xuXG4gICAgICAgIHRoaXMuY3VycmVudFRhZ0Nvbm5lY3RlZFRvRHluYW1pYyA9IF9zb21lKFxuICAgICAgICAgICAgdGhpcy50YWdzQ29uZmlnLFxuICAgICAgICAgICAgKHRhZ0NvbmZpZykgPT4gdGFnQ29uZmlnLm9wdGlvbnMuaXNfY3VzdG9tICYmIHRoaXMuY29ubmVjdGFibGVUYWdzLmluY2x1ZGVzKHRoaXMudGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXYgW2NsYXNzLmR5bmFtaWMtdGFnXT1cImN1cnJlbnRUYWdEeW5hbWljXCIgW2NsYXNzLmR5bmFtaWMtdGFnLW11bHRpcGxlLWxpbmVdPVwiaXNEeW5hbWljVGFnTXVsdGlwbGVMaW5lXCI+XG4gICAgPGRhdGUtdGFnXG4gICAgICAgICpuZ0lmPVwiZGF0ZVRhZy50eXBlID09PSB0YWdUeXBlcy5EQVRFICYmICFjdXJyZW50VGFnQ29ubmVjdGVkVG9EeW5hbWljXCJcbiAgICAgICAgW2RhdGVUeXBlQ2hvc2VuXT1cImRhdGVUYWcuc3ViX3R5cGVcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cImRhdGVUYWcudmFsdWVcIlxuICAgICAgICBbZmlzY2FsWWVhclN0YXJ0c0Zyb21dPVwiZmlzY2FsWWVhclN0YXJ0c0Zyb21cIlxuICAgICAgICBbZmlzY2FsWWVhckJhY2tdPVwiZmlzY2FsWWVhckJhY2tcIlxuICAgICAgICBbbG9ja2VkRGF0ZV09XCJsb2NrZWREYXRlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3RhZ0FkZGl0aW9uYWxTZXR0aW5nc109XCJ0YWdBZGRpdGlvbmFsU2V0dGluZ3NcIlxuICAgICAgICAoc2VsZWN0ZWREYXRlKT1cIm9uRGF0ZUhhbmRsZXIoJGV2ZW50KVwiPjwvZGF0ZS10YWc+XG5cbiAgICA8bGlzdC10YWdcbiAgICAgICAgKm5nSWY9XCJsaXN0VGFnLnR5cGUgPT09IHRhZ1R5cGVzLkxJU1QgJiYgIWN1cnJlbnRUYWdDb25uZWN0ZWRUb0R5bmFtaWMgJiYgIXRhZ0NvbmZpZy5vcHRpb25zPy5pc19jdXN0b21cIlxuICAgICAgICAodGFnQ2hhbmdlKT1cIm9uTGlzdEhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgIFtuYW1lXT1cImxpc3RUYWcubmFtZVwiXG4gICAgICAgIFt2YWx1ZXNdPVwibGlzdFRhZy52YWx1ZXNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cImxpc3RUYWc/LnZhbHVlIHx8IGRlZmF1bHRWYWx1ZVwiPjwvbGlzdC10YWc+XG5cbiAgICA8ZHItZHluYW1pYy10YWdcbiAgICAgICAgKm5nSWY9XCJjdXJyZW50VGFnRHluYW1pY1wiXG4gICAgICAgIFtsb2NrZWRUYWdzXT1cImxvY2tlZERhdGVcIlxuICAgICAgICBbY29ubmVjdGVkVGFnc109XCJjb25uZWN0ZWRUYWdzXCJcbiAgICAgICAgW3RhZ0NvbmZpZ109XCJ0YWdDb25maWdcIlxuICAgICAgICBbc2VsZWN0ZWRUYWddPVwic2VsZWN0ZWRUYWdcIlxuICAgICAgICBbaXNEeW5hbWljVGFnQWRkRW5hYmxlZF09XCJpc0R5bmFtaWNUYWdBZGRFbmFibGVkXCJcbiAgICAgICAgW3ZhbHVlc109XCJkeW5hbWljVGFnVmFsdWVzXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2Zpc2NhbFllYXJTdGFydHNGcm9tXT1cImZpc2NhbFllYXJTdGFydHNGcm9tXCJcbiAgICAgICAgW2Zpc2NhbFllYXJCYWNrXT1cImZpc2NhbFllYXJCYWNrXCJcbiAgICAgICAgW2hpZGVGYXZvcml0ZVN0YXJdPVwidGFnQWRkaXRpb25hbFNldHRpbmdzPy5oaWRlRmF2b3JpdGVTdGFyXCJcbiAgICAgICAgKHRhZ0NoYW5nZSk9XCJvbkR5bmFtaWNUYWdDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICh0YWdBZGQpPVwiZHluYW1pY1RhZ0FkZC5lbWl0KCRldmVudClcIj48L2RyLWR5bmFtaWMtdGFnPlxuPC9kaXY+XG4iXX0=
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXRhZ3MvZHItdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXRhZ3MvZHItdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBS0gsaUJBQWlCLEVBQ2pCLFFBQVEsR0FHWCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxLQUFLLElBQUksTUFBTSxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7O0lDVnJHLG1DQVMyQztJQUF2QyxzTEFBZ0IsZUFBQSw0QkFBcUIsQ0FBQSxJQUFDO0lBQUMsaUJBQVc7OztJQVBsRCx3REFBbUMsc0NBQUEscURBQUEseUNBQUEsaUNBQUEsNkJBQUEsdURBQUE7Ozs7SUFTdkMsbUNBTW9EO0lBSmhELGdMQUFhLGVBQUEsNEJBQXFCLENBQUEsSUFBQztJQUlhLGlCQUFXOzs7SUFIM0QsMENBQXFCLGlDQUFBLDZCQUFBLCtGQUFBOzs7O0lBS3pCLHlDQWEwQztJQUR0Qyw0TEFBYSxlQUFBLGlDQUEwQixDQUFBLElBQUMseUtBQzlCLGVBQUEsaUNBQTBCLENBQUEsSUFESTtJQUNGLGlCQUFpQjs7O0lBWHZELDhDQUF5Qix1Q0FBQSwrQkFBQSxtQ0FBQSx5REFBQSxtQ0FBQSw2QkFBQSxxREFBQSx5Q0FBQSxpSEFBQTs7QURGakMs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cG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBJRGF0ZVRhZyxcbiAgICBJTGlzdFRhZyxcbiAgICBJVGFnLFxuICAgIElUYWdGb3JTZXJ2ZXIsXG4gICAgVGFnc0NvbmZpZ1N1YlR5cGUsXG4gICAgVGFnVHlwZXMsXG4gICAgVER5bmFtaWNUYWcsXG4gICAgVER5bmFtaWNUYWdWYWx1ZSxcbn0gZnJvbSAnLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgZmluZCBhcyBfZmluZCwgZm9yRWFjaCBhcyBfZm9yRWFjaCwgbWFwIGFzIF9tYXAsIG1lcmdlIGFzIF9tZXJnZSwgc29tZSBhcyBfc29tZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBJVGFnQWRkaXRpb25hbFNldHRpbmdzIH0gZnJvbSAnLi9kci10YWcudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJ2RyLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc2VsZWN0b3I6ICdkci10YWcnLFxuICAgIHN0eWxlVXJsczogWydkci10YWcuY29tcG9uZW50LnNjc3MnLCAnLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bhbmd1bGFyL21hdGVyaWFsL3ByZWJ1aWx0LXRoZW1lcy9pbmRpZ28tcGluay5jc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBEclRhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSB0YWdDb25maWc6IElUYWc7XG4gICAgLy8gc2VsZWN0ZWRUYWdWYWx1ZVxuICAgIEBJbnB1dCgpIHNlbGVjdGVkVGFnOiBJVGFnRm9yU2VydmVyO1xuICAgIEBJbnB1dCgpIGxvY2tlZERhdGU6IGFueVtdID0gW107XG4gICAgQElucHV0KCkgZmlzY2FsWWVhclN0YXJ0c0Zyb20/OiBudW1iZXI7XG4gICAgQElucHV0KCkgZmlzY2FsWWVhckJhY2s/OiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgdGFnc0NvbmZpZzogSVRhZ1tdO1xuICAgIEBJbnB1dCgpIGR5bmFtaWNUYWdWYWx1ZXM6IFREeW5hbWljVGFnID0ge307XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY29ubmVjdGVkVGFncyh0YWdzOiBJVGFnRm9yU2VydmVyW10pIHtcbiAgICAgICAgdGhpcy5fY29ubmVjdGVkVGFncyA9IHRhZ3MgfHwgW107XG4gICAgfVxuXG4gICAgQElucHV0KCkgaXNEeW5hbWljVGFnQWRkRW5hYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgLy8gQW4gb2JqZWN0IGNvbnRhaW5pbmcgYWRkaXRpb25hbCBwcm9wcyBmb3IgdGFncyBjb25maWd1cmF0aW9uXG4gICAgQElucHV0KCkgdGFnQWRkaXRpb25hbFNldHRpbmdzOiBJVGFnQWRkaXRpb25hbFNldHRpbmdzID0ge307XG5cbiAgICBAT3V0cHV0KCkgdGFnQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVRhZ0ZvclNlcnZlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPElUYWdGb3JTZXJ2ZXI+KCk7IC8vIE5vdCBlbWl0IHZhbHVlIGZvciBkeW5hbWljIHRhZ1xuICAgIEBPdXRwdXQoKSBkeW5hbWljVGFnQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVRhZ0ZvclNlcnZlcltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8SVRhZ0ZvclNlcnZlcltdPigpO1xuICAgIEBPdXRwdXQoKSBkeW5hbWljVGFnQWRkOiBFdmVudEVtaXR0ZXI8VER5bmFtaWNUYWdWYWx1ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFREeW5hbWljVGFnVmFsdWU+KCk7XG5cbiAgICBwdWJsaWMgZGVmYXVsdFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgcHVibGljIGN1cnJlbnRUYWdEeW5hbWljOiBib29sZWFuO1xuICAgIHB1YmxpYyBjdXJyZW50VGFnQ29ubmVjdGVkVG9EeW5hbWljID0gZmFsc2U7XG4gICAgcHVibGljIHRhZ1R5cGVzID0gVGFnVHlwZXM7XG5cbiAgICBwdWJsaWMgZGF0ZVRhZzogYW55O1xuICAgIHB1YmxpYyBsaXN0VGFnOiBhbnk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3RhYmxlVGFncyA9IFtUYWdzQ29uZmlnU3ViVHlwZS5GT1JFQ0FTVF9ORVcsIFRhZ3NDb25maWdTdWJUeXBlLllFQVJdO1xuXG4gICAgcHJpdmF0ZSBjb25uZWN0ZWRUYWdzVmFsdWVzOiBJVGFnRm9yU2VydmVyW10gPSBbXTtcbiAgICBwcml2YXRlIGR5bmFtaWNUYWdWYWx1ZTogSVRhZ0ZvclNlcnZlcjtcbiAgICBwcml2YXRlIF9jb25uZWN0ZWRUYWdzOiBJVGFnRm9yU2VydmVyW10gPSBbXTtcblxuICAgIHB1YmxpYyBnZXQgY29ubmVjdGVkVGFncygpOiBJVGFnRm9yU2VydmVyW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29ubmVjdGVkVGFncztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzRHluYW1pY1RhZ011bHRpcGxlTGluZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFRhZ0R5bmFtaWMgJiYgdGhpcy50YWdDb25maWcub3B0aW9ucy5zdWJfdHlwZSA9PT0gVGFnc0NvbmZpZ1N1YlR5cGUuRk9SRUNBU1RfQ1lDTEU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWcgPSB7XG4gICAgICAgICAgICBpZDogMCxcbiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChzaW1wbGVDaGFuZ2VzLnRhZ3NDb25maWcpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlRHluYW1pY1RhZygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZGF0ZVRhZyA9IHtcbiAgICAgICAgICAgIHR5cGU6IHRoaXMudGFnQ29uZmlnLnR5cGUsXG4gICAgICAgICAgICBzdWJfdHlwZTogdGhpcy50YWdDb25maWcub3B0aW9ucy5zdWJfdHlwZSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbGVjdGVkVGFnPy52YWx1ZSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmxpc3RUYWcgPSB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLnRhZ0NvbmZpZy5uYW1lLFxuICAgICAgICAgICAgdHlwZTogdGhpcy50YWdDb25maWcudHlwZSxcbiAgICAgICAgICAgIHZhbHVlczogdGhpcy50YWdDb25maWcudmFsdWVzLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuc2VsZWN0ZWRUYWc/LnZhbHVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh0aGlzLnRhZ3NDb25maWcgJiYgdGhpcy5jdXJyZW50VGFnRHluYW1pYykge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmVUYWdJdGVtcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudGFnQ29uZmlnICYmIHRoaXMudGFnQ29uZmlnLm9wdGlvbnMgJiYgdGhpcy50YWdDb25maWcub3B0aW9ucy5kZWZhdWx0X3ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHRoaXMudGFnQ29uZmlnLm9wdGlvbnMuZGVmYXVsdF92YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRGF0ZUhhbmRsZXIoZXZlbnQ6IElEYXRlVGFnKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRUYWdEeW5hbWljKSB7XG4gICAgICAgICAgICB0aGlzLm9uRHluYW1pY0hhbmRsZXIoZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0RXZlbnQ6IElUYWdGb3JTZXJ2ZXIgPSB7XG4gICAgICAgICAgICBpZDogdGhpcy50YWdDb25maWcuaWQsXG4gICAgICAgICAgICBuYW1lOiBldmVudC5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6IGV2ZW50LnZhbHVlLFxuICAgICAgICAgICAgbGFiZWw6IGV2ZW50LmxhYmVsLFxuICAgICAgICAgICAgbG9ja2VkOiBldmVudC5sb2NrZWQsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc29sZS5sb2cocmVzdWx0RXZlbnQpO1xuICAgICAgICB0aGlzLnRhZ0NoYW5nZS5lbWl0KHJlc3VsdEV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkxpc3RIYW5kbGVyKGV2ZW50OiBJTGlzdFRhZykge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50VGFnRHluYW1pYykge1xuICAgICAgICAgICAgdGhpcy5vbkR5bmFtaWNIYW5kbGVyKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdEV2ZW50OiBJVGFnRm9yU2VydmVyID0ge1xuICAgICAgICAgICAgaWQ6IHRoaXMudGFnQ29uZmlnLmlkLFxuICAgICAgICAgICAgbmFtZTogdGhpcy50YWdDb25maWcubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBldmVudC52YWx1ZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc29sZS5sb2cocmVzdWx0RXZlbnQpO1xuICAgICAgICB0aGlzLnRhZ0NoYW5nZS5lbWl0KHJlc3VsdEV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkR5bmFtaWNUYWdDaGFuZ2UodGFnPzogSVRhZ0ZvclNlcnZlcikge1xuICAgICAgICBpZiAodGFnKSB7XG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNUYWdWYWx1ZSA9IHRhZztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZHluYW1pY1RhZ0NoYW5nZS5lbWl0KFsuLi50aGlzLmNvbm5lY3RlZFRhZ3NWYWx1ZXMsIHRoaXMuZHluYW1pY1RhZ1ZhbHVlXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkR5bmFtaWNIYW5kbGVyKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3RlZERhdGVUYWdDb25maWcgPSBfZmluZCh0aGlzLnRhZ3NDb25maWcsICh0YWdDb25maWcpID0+IHRhZ0NvbmZpZy5uYW1lID09PSBldmVudC5uYW1lKTtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRUYWdzID0gX21hcCh0aGlzLmNvbm5lY3RlZFRhZ3MsICh0YWcpID0+IHtcbiAgICAgICAgICAgIGlmICh0YWcuaWQgPT09IGNvbm5lY3RlZERhdGVUYWdDb25maWcuaWQpIHtcbiAgICAgICAgICAgICAgICB0YWcudmFsdWUgPSBldmVudC52YWx1ZTtcbiAgICAgICAgICAgICAgICB0YWcubG9ja2VkID0gZXZlbnQubG9ja2VkO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbm5lY3RlZERhdGVUYWdDb25maWcudHlwZSA9PT0gVGFnVHlwZXMuREFURSkge1xuICAgICAgICAgICAgICAgICAgICB0YWcubGFiZWwgPSBldmVudC5sYWJlbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0YWc7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdEV2ZW50OiBJVGFnRm9yU2VydmVyID0ge1xuICAgICAgICAgICAgaWQ6IGNvbm5lY3RlZERhdGVUYWdDb25maWcuaWQsXG4gICAgICAgICAgICBuYW1lOiBjb25uZWN0ZWREYXRlVGFnQ29uZmlnLm5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogZXZlbnQudmFsdWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGNvbm5lY3RlZERhdGVUYWdDb25maWcudHlwZSA9PT0gVGFnVHlwZXMuREFURSkge1xuICAgICAgICAgICAgcmVzdWx0RXZlbnQubGFiZWwgPSBldmVudC5sYWJlbDtcbiAgICAgICAgICAgIHJlc3VsdEV2ZW50LmxvY2tlZCA9IGV2ZW50LmxvY2tlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNhdmVkVGFnID0gX2ZpbmQodGhpcy5jb25uZWN0ZWRUYWdzVmFsdWVzLCB7IGlkOiByZXN1bHRFdmVudC5pZCB9KTtcblxuICAgICAgICBpZiAoc2F2ZWRUYWcpIHtcbiAgICAgICAgICAgIF9tZXJnZShzYXZlZFRhZywgcmVzdWx0RXZlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0ZWRUYWdzVmFsdWVzLnB1c2gocmVzdWx0RXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkR5bmFtaWNUYWdDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbmZpZ3VyZVRhZ0l0ZW1zKCkge1xuICAgICAgICBfZm9yRWFjaCh0aGlzLnRhZ3NDb25maWcsICh0YWdDb25maWcpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5jb25uZWN0YWJsZVRhZ3MuaW5jbHVkZXModGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUpKSByZXR1cm47XG4gICAgICAgICAgICBpZiAodGFnQ29uZmlnLnR5cGUgPT09IFRhZ1R5cGVzLkRBVEUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVUYWcgPSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHRhZ0NvbmZpZy50eXBlLFxuICAgICAgICAgICAgICAgICAgICBzdWJfdHlwZTogdGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAoX2ZpbmQodGhpcy5jb25uZWN0ZWRUYWdzLCB7IGlkOiB0YWdDb25maWcuaWQgfSkgfHwge30pLnZhbHVlLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0YWdDb25maWcudHlwZSA9PT0gVGFnVHlwZXMuTElTVCkge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdFRhZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogdGFnQ29uZmlnLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHRhZ0NvbmZpZy50eXBlLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHRhZ0NvbmZpZy52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0YWdDb25maWc/Lm9wdGlvbnM/LmRlZmF1bHRfdmFsdWUsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFfZmluZCh0aGlzLmNvbm5lY3RlZFRhZ3MsIHsgaWQ6IHRhZ0NvbmZpZy5pZCB9KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGVkVGFncy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHRhZ0NvbmZpZy5pZCxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogdGFnQ29uZmlnLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlRHluYW1pY1RhZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VGFnRHluYW1pYyA9IHRoaXMudGFnQ29uZmlnLm9wdGlvbnMuaXNfY3VzdG9tO1xuXG4gICAgICAgIHRoaXMuY3VycmVudFRhZ0Nvbm5lY3RlZFRvRHluYW1pYyA9IF9zb21lKFxuICAgICAgICAgICAgdGhpcy50YWdzQ29uZmlnLFxuICAgICAgICAgICAgKHRhZ0NvbmZpZykgPT4gdGFnQ29uZmlnLm9wdGlvbnMuaXNfY3VzdG9tICYmIHRoaXMuY29ubmVjdGFibGVUYWdzLmluY2x1ZGVzKHRoaXMudGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXYgW2NsYXNzLmR5bmFtaWMtdGFnXT1cImN1cnJlbnRUYWdEeW5hbWljXCIgW2NsYXNzLmR5bmFtaWMtdGFnLW11bHRpcGxlLWxpbmVdPVwiaXNEeW5hbWljVGFnTXVsdGlwbGVMaW5lXCI+XG4gICAgPGRhdGUtdGFnXG4gICAgICAgICpuZ0lmPVwiZGF0ZVRhZy50eXBlID09PSB0YWdUeXBlcy5EQVRFICYmICFjdXJyZW50VGFnQ29ubmVjdGVkVG9EeW5hbWljXCJcbiAgICAgICAgW2RhdGVUeXBlQ2hvc2VuXT1cImRhdGVUYWcuc3ViX3R5cGVcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cImRhdGVUYWcudmFsdWVcIlxuICAgICAgICBbZmlzY2FsWWVhclN0YXJ0c0Zyb21dPVwiZmlzY2FsWWVhclN0YXJ0c0Zyb21cIlxuICAgICAgICBbZmlzY2FsWWVhckJhY2tdPVwiZmlzY2FsWWVhckJhY2tcIlxuICAgICAgICBbbG9ja2VkRGF0ZV09XCJsb2NrZWREYXRlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3RhZ0FkZGl0aW9uYWxTZXR0aW5nc109XCJ0YWdBZGRpdGlvbmFsU2V0dGluZ3NcIlxuICAgICAgICAoc2VsZWN0ZWREYXRlKT1cIm9uRGF0ZUhhbmRsZXIoJGV2ZW50KVwiPjwvZGF0ZS10YWc+XG5cbiAgICA8bGlzdC10YWdcbiAgICAgICAgKm5nSWY9XCJsaXN0VGFnLnR5cGUgPT09IHRhZ1R5cGVzLkxJU1QgJiYgIWN1cnJlbnRUYWdDb25uZWN0ZWRUb0R5bmFtaWMgJiYgIXRhZ0NvbmZpZy5vcHRpb25zPy5pc19jdXN0b21cIlxuICAgICAgICAodGFnQ2hhbmdlKT1cIm9uTGlzdEhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgIFtuYW1lXT1cImxpc3RUYWcubmFtZVwiXG4gICAgICAgIFt2YWx1ZXNdPVwibGlzdFRhZy52YWx1ZXNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cImxpc3RUYWc/LnZhbHVlIHx8IGRlZmF1bHRWYWx1ZVwiPjwvbGlzdC10YWc+XG5cbiAgICA8ZHItZHluYW1pYy10YWdcbiAgICAgICAgKm5nSWY9XCJjdXJyZW50VGFnRHluYW1pY1wiXG4gICAgICAgIFtsb2NrZWRUYWdzXT1cImxvY2tlZERhdGVcIlxuICAgICAgICBbY29ubmVjdGVkVGFnc109XCJjb25uZWN0ZWRUYWdzXCJcbiAgICAgICAgW3RhZ0NvbmZpZ109XCJ0YWdDb25maWdcIlxuICAgICAgICBbc2VsZWN0ZWRUYWddPVwic2VsZWN0ZWRUYWdcIlxuICAgICAgICBbaXNEeW5hbWljVGFnQWRkRW5hYmxlZF09XCJpc0R5bmFtaWNUYWdBZGRFbmFibGVkXCJcbiAgICAgICAgW3ZhbHVlc109XCJkeW5hbWljVGFnVmFsdWVzXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2Zpc2NhbFllYXJTdGFydHNGcm9tXT1cImZpc2NhbFllYXJTdGFydHNGcm9tXCJcbiAgICAgICAgW2Zpc2NhbFllYXJCYWNrXT1cImZpc2NhbFllYXJCYWNrXCJcbiAgICAgICAgW2hpZGVGYXZvcml0ZVN0YXJdPVwidGFnQWRkaXRpb25hbFNldHRpbmdzPy5oaWRlRmF2b3JpdGVTdGFyXCJcbiAgICAgICAgKHRhZ0NoYW5nZSk9XCJvbkR5bmFtaWNUYWdDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICh0YWdBZGQpPVwiZHluYW1pY1RhZ0FkZC5lbWl0KCRldmVudClcIj48L2RyLWR5bmFtaWMtdGFnPlxuPC9kaXY+XG4iXX0=
|
|
@@ -18,4 +18,4 @@ export var TagsConfigSubType;
|
|
|
18
18
|
TagsConfigSubType["QUARTER"] = "quarter";
|
|
19
19
|
TagsConfigSubType["FILE_STATUS"] = "file_status";
|
|
20
20
|
})(TagsConfigSubType || (TagsConfigSubType = {}));
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyVGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL21vZGVscy9zZXJ2ZXJUYWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCxtQ0FBbUM7QUFDbkMsTUFBTSxDQUFOLElBQVksUUFHWDtBQUhELFdBQVksUUFBUTtJQUNoQix5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFFRCxNQUFNLENBQU4sSUFBWSxpQkFXWDtBQVhELFdBQVksaUJBQWlCO0lBQ3pCLGtDQUFhLENBQUE7SUFDYixrQ0FBYSxDQUFBO0lBQ2Isa0RBQTZCLENBQUE7SUFDN0Isc0RBQWlDLENBQUE7SUFDakMsb0NBQWUsQ0FBQTtJQUNmLGtDQUFhLENBQUE7SUFDYixnQ0FBVyxDQUFBO0lBQ1gsa0RBQTZCLENBQUE7SUFDN0Isd0NBQW1CLENBQUE7SUFDbkIsZ0RBQTJCLENBQUE7QUFDL0IsQ0FBQyxFQVhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFXNUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbnN0ZWFkIG9mIGdldHRpbmcgdGhpcyBmcm9tIHRoZSBzZXJ2ZXIgZWFjaCB0aW1lXG4vLyB0aGlzIGlzIG5vdCBnb2luZyB0byBjaGFuZ2UgbXVjaFxuZXhwb3J0IGVudW0gVGFnVHlwZXMge1xuICAgIExJU1QgPSAnTElTVCcsXG4gICAgREFURSA9ICdEQVRFJyxcbn1cblxuZXhwb3J0IGVudW0gVGFnc0NvbmZpZ1N1YlR5cGUge1xuICAgIFlFQVIgPSAneWVhcicsXG4gICAgUExBTiA9ICdwbGFuJyxcbiAgICBCVURHRVRfQ1lDTEUgPSAnYnVkZ2V0IGN5Y2xlJyxcbiAgICBGT1JFQ0FTVF9DWUNMRSA9ICdmb3JlY2FzdCBjeWNsZScsXG4gICAgTU9OVEggPSAnbW9udGgnLFxuICAgIFdFRUsgPSAnd2VlaycsXG4gICAgREFZID0gJ2RheScsXG4gICAgRk9SRUNBU1RfTkVXID0gJ2ZvcmVjYXN0X25ldycsXG4gICAgUVVBUlRFUiA9ICdxdWFydGVyJyxcbiAgICBGSUxFX1NUQVRVUyA9ICdmaWxlX3N0YXR1cycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhZyB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogVEFHX1RZUEVTO1xuICAgIG9wdGlvbnM6IGFueTtcbiAgICB2YWx1ZXM6IHN0cmluZ1tdIHwgbnVsbDtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGxvY2tlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhZ0ZvclNlcnZlciB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU/
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyVGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL21vZGVscy9zZXJ2ZXJUYWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCxtQ0FBbUM7QUFDbkMsTUFBTSxDQUFOLElBQVksUUFHWDtBQUhELFdBQVksUUFBUTtJQUNoQix5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFFRCxNQUFNLENBQU4sSUFBWSxpQkFXWDtBQVhELFdBQVksaUJBQWlCO0lBQ3pCLGtDQUFhLENBQUE7SUFDYixrQ0FBYSxDQUFBO0lBQ2Isa0RBQTZCLENBQUE7SUFDN0Isc0RBQWlDLENBQUE7SUFDakMsb0NBQWUsQ0FBQTtJQUNmLGtDQUFhLENBQUE7SUFDYixnQ0FBVyxDQUFBO0lBQ1gsa0RBQTZCLENBQUE7SUFDN0Isd0NBQW1CLENBQUE7SUFDbkIsZ0RBQTJCLENBQUE7QUFDL0IsQ0FBQyxFQVhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFXNUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbnN0ZWFkIG9mIGdldHRpbmcgdGhpcyBmcm9tIHRoZSBzZXJ2ZXIgZWFjaCB0aW1lXG4vLyB0aGlzIGlzIG5vdCBnb2luZyB0byBjaGFuZ2UgbXVjaFxuZXhwb3J0IGVudW0gVGFnVHlwZXMge1xuICAgIExJU1QgPSAnTElTVCcsXG4gICAgREFURSA9ICdEQVRFJyxcbn1cblxuZXhwb3J0IGVudW0gVGFnc0NvbmZpZ1N1YlR5cGUge1xuICAgIFlFQVIgPSAneWVhcicsXG4gICAgUExBTiA9ICdwbGFuJyxcbiAgICBCVURHRVRfQ1lDTEUgPSAnYnVkZ2V0IGN5Y2xlJyxcbiAgICBGT1JFQ0FTVF9DWUNMRSA9ICdmb3JlY2FzdCBjeWNsZScsXG4gICAgTU9OVEggPSAnbW9udGgnLFxuICAgIFdFRUsgPSAnd2VlaycsXG4gICAgREFZID0gJ2RheScsXG4gICAgRk9SRUNBU1RfTkVXID0gJ2ZvcmVjYXN0X25ldycsXG4gICAgUVVBUlRFUiA9ICdxdWFydGVyJyxcbiAgICBGSUxFX1NUQVRVUyA9ICdmaWxlX3N0YXR1cycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhZyB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogVEFHX1RZUEVTO1xuICAgIG9wdGlvbnM6IGFueTtcbiAgICB2YWx1ZXM6IHN0cmluZ1tdIHwgbnVsbDtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGxvY2tlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhZ0ZvclNlcnZlciB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgbG9ja2VkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0ZVRhZyB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlPzogbnVtYmVyO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGxvY2tlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpc3RUYWcge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZT86IG51bWJlcjtcbiAgICBsYWJlbD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRHluYW1pY1RhZyB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBpc19mYXZvcml0ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFREeW5hbWljVGFnVmFsdWUgPSBJRHluYW1pY1RhZyB8IHN0cmluZyB8IG51bWJlcjtcbmV4cG9ydCB0eXBlIFREeW5hbWljVGFnID0geyBbcGFyZW50VmFsdWU6IHN0cmluZ106IFREeW5hbWljVGFnVmFsdWVbXSB9O1xuZXhwb3J0IHR5cGUgVENvbm5lY3RlZFRhZ3MgPSB7IFt0YWdJZDogbnVtYmVyXTogSVRhZ0ZvclNlcnZlcltdIH07XG5leHBvcnQgdHlwZSBUQUdfVFlQRVMgPSBUYWdUeXBlcztcbiJdfQ==
|