valtech-components 2.0.953 → 2.0.954
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/esm2022/lib/components/molecules/content-reaction/content-reaction.component.mjs +5 -3
- package/esm2022/lib/components/molecules/content-reaction/types.mjs +1 -1
- package/esm2022/lib/services/content-platform/content.service.mjs +61 -1
- package/esm2022/lib/services/content-platform/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +64 -3
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/content-reaction/content-reaction.component.d.ts +1 -0
- package/lib/components/molecules/content-reaction/types.d.ts +7 -0
- package/lib/services/content-platform/content.service.d.ts +33 -0
- package/lib/services/content-platform/types.d.ts +8 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -91,6 +91,8 @@ export class ContentReactionComponent {
|
|
|
91
91
|
thankYouMessage: this.props.thankYouMessage || this.t('thankYou'),
|
|
92
92
|
disabled: this.props.disabled ?? false,
|
|
93
93
|
readonly: this.props.readonly ?? false,
|
|
94
|
+
// Variante: 'emoji' cuando se declara explícitamente o cuando se pasan emojis custom.
|
|
95
|
+
variant: this.props.variant ?? (this.props.emojis ? 'emoji' : 'buttons'),
|
|
94
96
|
}));
|
|
95
97
|
this.activeReactionValues = computed(() => this.resolvedProps().emojis.length === 2 ? ['negative', 'positive'] : ['negative', 'neutral', 'positive']);
|
|
96
98
|
this.showCommentField = computed(() => {
|
|
@@ -248,11 +250,11 @@ export class ContentReactionComponent {
|
|
|
248
250
|
return this.i18n.t(key, 'ContentReaction') || translations[key] || key;
|
|
249
251
|
}
|
|
250
252
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentReactionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
251
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ContentReactionComponent, isStandalone: true, selector: "val-content-reaction", inputs: { props: "props" }, outputs: { reactionSubmit: "reactionSubmit", reactionChange: "reactionChange" }, usesOnChanges: true, ngImport: i0, template: "@if (isConfigured()) {\n<div class=\"content-reaction\" [class.disabled]=\"resolvedProps().disabled\" [class.readonly]=\"resolvedProps().readonly\">\n <!-- Loading inicial -->\n @if (state().isLoading && !state().selectedValue) {\n <div class=\"loading-container\">\n <ion-spinner name=\"crescent\"></ion-spinner>\n </div>\n } @else {\n <!-- Pregunta -->\n <p class=\"question\">\n {{ state().selectedValue === 'negative' ? t('negativeFeedbackTitle') : resolvedProps().question }}\n </p>\n\n <!-- Botones de reacci\u00F3n -->\n <div class=\"reaction-buttons\">\n <ion-button\n [fill]=\"isSelected('positive') ? 'solid' : 'outline'\"\n shape=\"round\"\n color=\"dark\"\n [attr.aria-pressed]=\"isSelected('positive')\"\n [disabled]=\"resolvedProps().disabled || resolvedProps().readonly\"\n (click)=\"selectReaction('positive')\"\n >\n {{ t('positiveLabel') }}\n </ion-button>\n <ion-button\n [fill]=\"isSelected('negative') ? 'solid' : 'outline'\"\n shape=\"round\"\n color=\"dark\"\n [attr.aria-pressed]=\"isSelected('negative')\"\n [disabled]=\"resolvedProps().disabled || resolvedProps().readonly\"\n (click)=\"selectReaction('negative')\"\n >\n {{ t('negativeLabel') }}\n </ion-button>\n </div>\n\n <!-- Campo de comentario (solo si hay selecci\u00F3n) -->\n @if (showCommentField()) {\n <div class=\"comment-section\">\n <ion-textarea\n [value]=\"state().comment\"\n [placeholder]=\"resolvedProps().commentPlaceholder\"\n [maxlength]=\"resolvedProps().maxCommentLength\"\n [disabled]=\"resolvedProps().disabled\"\n [rows]=\"3\"\n class=\"comment-textarea\"\n (ionInput)=\"updateComment($event)\"\n ></ion-textarea>\n <span class=\"char-count\"> {{ state().comment.length }}/{{ resolvedProps().maxCommentLength }} </span>\n </div>\n }\n\n <!-- Bot\u00F3n de env\u00EDo -->\n @if (state().selectedValue && !state().isSubmitted) {\n <ion-button expand=\"block\" shape=\"round\" [disabled]=\"!canSubmit()\" (click)=\"submitReaction()\" class=\"submit-button\">\n @if (state().isLoading) {\n <ion-spinner name=\"crescent\"></ion-spinner>\n } @else { {{ state().hadPreviousReaction ? t('update') : t('submit') }} }\n </ion-button>\n }\n\n <!-- Mensaje de confirmaci\u00F3n -->\n @if (state().isSubmitted) {\n <p class=\"submitted-message\">{{ t('thankYou') }}</p>\n }\n\n <!-- Error -->\n @if (state().error) {\n <p class=\"error-message\">{{ state().error }}</p>\n } }\n</div>\n}\n", styles: [":host{display:block}.content-reaction{padding:16px;text-align:center}.content-reaction.disabled{opacity:.6;pointer-events:none}.content-reaction.readonly{pointer-events:none}.question{font-size:17px;font-weight:700;color:var(--ion-color-dark);margin:0 0 16px}.reaction-buttons{display:flex;justify-content:center;gap:12px;margin-bottom:20px}.comment-section{margin-top:16px;animation:slideIn .3s ease-out}.comment-section .comment-textarea{--background: transparent;--border-radius: 8px;--padding-start: 12px;--padding-end: 12px;width:100%}.comment-section .char-count{display:block;text-align:right;font-size:12px;color:var(--ion-color-medium);margin-top:4px}.submit-button{margin-top:16px}.submitted-message{margin-top:16px;color:var(--ion-color-success);font-weight:500;animation:fadeIn .3s ease-out}.error-message{margin-top:8px;color:var(--ion-color-danger);font-size:14px}.loading-container{display:flex;justify-content:center;padding:20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }] }); }
|
|
253
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ContentReactionComponent, isStandalone: true, selector: "val-content-reaction", inputs: { props: "props" }, outputs: { reactionSubmit: "reactionSubmit", reactionChange: "reactionChange" }, usesOnChanges: true, ngImport: i0, template: "@if (isConfigured()) {\n<div class=\"content-reaction\" [class.disabled]=\"resolvedProps().disabled\" [class.readonly]=\"resolvedProps().readonly\">\n <!-- Loading inicial -->\n @if (state().isLoading && !state().selectedValue) {\n <div class=\"loading-container\">\n <ion-spinner name=\"crescent\"></ion-spinner>\n </div>\n } @else {\n <!-- Pregunta -->\n <p class=\"question\">\n {{ state().selectedValue === 'negative' ? t('negativeFeedbackTitle') : resolvedProps().question }}\n </p>\n\n <!-- Botones de reacci\u00F3n \u2014 variante emoji (caras, estrellas, thumbs, \u2026) -->\n @if (resolvedProps().variant === 'emoji') {\n <div class=\"reaction-buttons reaction-buttons--emoji\">\n @for (value of activeReactionValues(); track value; let i = $index) {\n <ion-button\n fill=\"clear\"\n shape=\"round\"\n [class.selected]=\"isSelected(value)\"\n [attr.aria-label]=\"resolvedProps().emojiLabels[i]\"\n [attr.aria-pressed]=\"isSelected(value)\"\n [disabled]=\"resolvedProps().disabled || resolvedProps().readonly\"\n (click)=\"selectReaction(value)\"\n >\n <span class=\"emoji-btn\">{{ resolvedProps().emojis[i] }}</span>\n </ion-button>\n }\n </div>\n } @else {\n <!-- Botones de reacci\u00F3n \u2014 variante texto (default) -->\n <div class=\"reaction-buttons\">\n <ion-button\n [fill]=\"isSelected('positive') ? 'solid' : 'outline'\"\n shape=\"round\"\n color=\"dark\"\n [attr.aria-pressed]=\"isSelected('positive')\"\n [disabled]=\"resolvedProps().disabled || resolvedProps().readonly\"\n (click)=\"selectReaction('positive')\"\n >\n {{ t('positiveLabel') }}\n </ion-button>\n <ion-button\n [fill]=\"isSelected('negative') ? 'solid' : 'outline'\"\n shape=\"round\"\n color=\"dark\"\n [attr.aria-pressed]=\"isSelected('negative')\"\n [disabled]=\"resolvedProps().disabled || resolvedProps().readonly\"\n (click)=\"selectReaction('negative')\"\n >\n {{ t('negativeLabel') }}\n </ion-button>\n </div>\n }\n\n <!-- Campo de comentario (solo si hay selecci\u00F3n) -->\n @if (showCommentField()) {\n <div class=\"comment-section\">\n <ion-textarea\n [value]=\"state().comment\"\n [placeholder]=\"resolvedProps().commentPlaceholder\"\n [maxlength]=\"resolvedProps().maxCommentLength\"\n [disabled]=\"resolvedProps().disabled\"\n [rows]=\"3\"\n class=\"comment-textarea\"\n (ionInput)=\"updateComment($event)\"\n ></ion-textarea>\n <span class=\"char-count\"> {{ state().comment.length }}/{{ resolvedProps().maxCommentLength }} </span>\n </div>\n }\n\n <!-- Bot\u00F3n de env\u00EDo -->\n @if (state().selectedValue && !state().isSubmitted) {\n <ion-button expand=\"block\" shape=\"round\" [disabled]=\"!canSubmit()\" (click)=\"submitReaction()\" class=\"submit-button\">\n @if (state().isLoading) {\n <ion-spinner name=\"crescent\"></ion-spinner>\n } @else { {{ state().hadPreviousReaction ? t('update') : t('submit') }} }\n </ion-button>\n }\n\n <!-- Mensaje de confirmaci\u00F3n -->\n @if (state().isSubmitted) {\n <p class=\"submitted-message\">{{ t('thankYou') }}</p>\n }\n\n <!-- Error -->\n @if (state().error) {\n <p class=\"error-message\">{{ state().error }}</p>\n } }\n</div>\n}\n", styles: [":host{display:block}.content-reaction{padding:16px;text-align:center}.content-reaction.disabled{opacity:.6;pointer-events:none}.content-reaction.readonly{pointer-events:none}.question{font-size:17px;font-weight:700;color:var(--ion-color-dark);margin:0 0 16px}.reaction-buttons{display:flex;justify-content:center;gap:12px;margin-bottom:20px}.reaction-buttons--emoji{gap:8px}.reaction-buttons--emoji ion-button{--padding-start: 4px;--padding-end: 4px;transition:transform .15s ease}.reaction-buttons--emoji ion-button.selected{transform:scale(1.25)}.reaction-buttons--emoji ion-button:not(.selected):not([disabled]){opacity:.55}.reaction-buttons--emoji ion-button:not(.selected):not([disabled]):hover{opacity:1}.emoji-btn{font-size:32px;line-height:1;display:block}.comment-section{margin-top:16px;animation:slideIn .3s ease-out}.comment-section .comment-textarea{--background: transparent;--border-radius: 8px;--padding-start: 12px;--padding-end: 12px;width:100%}.comment-section .char-count{display:block;text-align:right;font-size:12px;color:var(--ion-color-medium);margin-top:4px}.submit-button{margin-top:16px}.submitted-message{margin-top:16px;color:var(--ion-color-success);font-weight:500;animation:fadeIn .3s ease-out}.error-message{margin-top:8px;color:var(--ion-color-danger);font-size:14px}.loading-container{display:flex;justify-content:center;padding:20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }] }); }
|
|
252
254
|
}
|
|
253
255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentReactionComponent, decorators: [{
|
|
254
256
|
type: Component,
|
|
255
|
-
args: [{ selector: 'val-content-reaction', standalone: true, imports: [CommonModule, FormsModule, IonButton, IonSpinner, IonTextarea], template: "@if (isConfigured()) {\n<div class=\"content-reaction\" [class.disabled]=\"resolvedProps().disabled\" [class.readonly]=\"resolvedProps().readonly\">\n <!-- Loading inicial -->\n @if (state().isLoading && !state().selectedValue) {\n <div class=\"loading-container\">\n <ion-spinner name=\"crescent\"></ion-spinner>\n </div>\n } @else {\n <!-- Pregunta -->\n <p class=\"question\">\n {{ state().selectedValue === 'negative' ? t('negativeFeedbackTitle') : resolvedProps().question }}\n </p>\n\n <!-- Botones de reacci\u00F3n -->\n <div class=\"reaction-buttons\">\n <ion-button\n [fill]=\"isSelected('positive') ? 'solid' : 'outline'\"\n shape=\"round\"\n color=\"dark\"\n [attr.aria-pressed]=\"isSelected('positive')\"\n [disabled]=\"resolvedProps().disabled || resolvedProps().readonly\"\n (click)=\"selectReaction('positive')\"\n >\n {{ t('positiveLabel') }}\n </ion-button>\n <ion-button\n [fill]=\"isSelected('negative') ? 'solid' : 'outline'\"\n shape=\"round\"\n color=\"dark\"\n [attr.aria-pressed]=\"isSelected('negative')\"\n [disabled]=\"resolvedProps().disabled || resolvedProps().readonly\"\n (click)=\"selectReaction('negative')\"\n >\n {{ t('negativeLabel') }}\n </ion-button>\n </div>\n\n <!-- Campo de comentario (solo si hay selecci\u00F3n) -->\n @if (showCommentField()) {\n <div class=\"comment-section\">\n <ion-textarea\n [value]=\"state().comment\"\n [placeholder]=\"resolvedProps().commentPlaceholder\"\n [maxlength]=\"resolvedProps().maxCommentLength\"\n [disabled]=\"resolvedProps().disabled\"\n [rows]=\"3\"\n class=\"comment-textarea\"\n (ionInput)=\"updateComment($event)\"\n ></ion-textarea>\n <span class=\"char-count\"> {{ state().comment.length }}/{{ resolvedProps().maxCommentLength }} </span>\n </div>\n }\n\n <!-- Bot\u00F3n de env\u00EDo -->\n @if (state().selectedValue && !state().isSubmitted) {\n <ion-button expand=\"block\" shape=\"round\" [disabled]=\"!canSubmit()\" (click)=\"submitReaction()\" class=\"submit-button\">\n @if (state().isLoading) {\n <ion-spinner name=\"crescent\"></ion-spinner>\n } @else { {{ state().hadPreviousReaction ? t('update') : t('submit') }} }\n </ion-button>\n }\n\n <!-- Mensaje de confirmaci\u00F3n -->\n @if (state().isSubmitted) {\n <p class=\"submitted-message\">{{ t('thankYou') }}</p>\n }\n\n <!-- Error -->\n @if (state().error) {\n <p class=\"error-message\">{{ state().error }}</p>\n } }\n</div>\n}\n", styles: [":host{display:block}.content-reaction{padding:16px;text-align:center}.content-reaction.disabled{opacity:.6;pointer-events:none}.content-reaction.readonly{pointer-events:none}.question{font-size:17px;font-weight:700;color:var(--ion-color-dark);margin:0 0 16px}.reaction-buttons{display:flex;justify-content:center;gap:12px;margin-bottom:20px}.comment-section{margin-top:16px;animation:slideIn .3s ease-out}.comment-section .comment-textarea{--background: transparent;--border-radius: 8px;--padding-start: 12px;--padding-end: 12px;width:100%}.comment-section .char-count{display:block;text-align:right;font-size:12px;color:var(--ion-color-medium);margin-top:4px}.submit-button{margin-top:16px}.submitted-message{margin-top:16px;color:var(--ion-color-success);font-weight:500;animation:fadeIn .3s ease-out}.error-message{margin-top:8px;color:var(--ion-color-danger);font-size:14px}.loading-container{display:flex;justify-content:center;padding:20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"] }]
|
|
257
|
+
args: [{ selector: 'val-content-reaction', standalone: true, imports: [CommonModule, FormsModule, IonButton, IonSpinner, IonTextarea], template: "@if (isConfigured()) {\n<div class=\"content-reaction\" [class.disabled]=\"resolvedProps().disabled\" [class.readonly]=\"resolvedProps().readonly\">\n <!-- Loading inicial -->\n @if (state().isLoading && !state().selectedValue) {\n <div class=\"loading-container\">\n <ion-spinner name=\"crescent\"></ion-spinner>\n </div>\n } @else {\n <!-- Pregunta -->\n <p class=\"question\">\n {{ state().selectedValue === 'negative' ? t('negativeFeedbackTitle') : resolvedProps().question }}\n </p>\n\n <!-- Botones de reacci\u00F3n \u2014 variante emoji (caras, estrellas, thumbs, \u2026) -->\n @if (resolvedProps().variant === 'emoji') {\n <div class=\"reaction-buttons reaction-buttons--emoji\">\n @for (value of activeReactionValues(); track value; let i = $index) {\n <ion-button\n fill=\"clear\"\n shape=\"round\"\n [class.selected]=\"isSelected(value)\"\n [attr.aria-label]=\"resolvedProps().emojiLabels[i]\"\n [attr.aria-pressed]=\"isSelected(value)\"\n [disabled]=\"resolvedProps().disabled || resolvedProps().readonly\"\n (click)=\"selectReaction(value)\"\n >\n <span class=\"emoji-btn\">{{ resolvedProps().emojis[i] }}</span>\n </ion-button>\n }\n </div>\n } @else {\n <!-- Botones de reacci\u00F3n \u2014 variante texto (default) -->\n <div class=\"reaction-buttons\">\n <ion-button\n [fill]=\"isSelected('positive') ? 'solid' : 'outline'\"\n shape=\"round\"\n color=\"dark\"\n [attr.aria-pressed]=\"isSelected('positive')\"\n [disabled]=\"resolvedProps().disabled || resolvedProps().readonly\"\n (click)=\"selectReaction('positive')\"\n >\n {{ t('positiveLabel') }}\n </ion-button>\n <ion-button\n [fill]=\"isSelected('negative') ? 'solid' : 'outline'\"\n shape=\"round\"\n color=\"dark\"\n [attr.aria-pressed]=\"isSelected('negative')\"\n [disabled]=\"resolvedProps().disabled || resolvedProps().readonly\"\n (click)=\"selectReaction('negative')\"\n >\n {{ t('negativeLabel') }}\n </ion-button>\n </div>\n }\n\n <!-- Campo de comentario (solo si hay selecci\u00F3n) -->\n @if (showCommentField()) {\n <div class=\"comment-section\">\n <ion-textarea\n [value]=\"state().comment\"\n [placeholder]=\"resolvedProps().commentPlaceholder\"\n [maxlength]=\"resolvedProps().maxCommentLength\"\n [disabled]=\"resolvedProps().disabled\"\n [rows]=\"3\"\n class=\"comment-textarea\"\n (ionInput)=\"updateComment($event)\"\n ></ion-textarea>\n <span class=\"char-count\"> {{ state().comment.length }}/{{ resolvedProps().maxCommentLength }} </span>\n </div>\n }\n\n <!-- Bot\u00F3n de env\u00EDo -->\n @if (state().selectedValue && !state().isSubmitted) {\n <ion-button expand=\"block\" shape=\"round\" [disabled]=\"!canSubmit()\" (click)=\"submitReaction()\" class=\"submit-button\">\n @if (state().isLoading) {\n <ion-spinner name=\"crescent\"></ion-spinner>\n } @else { {{ state().hadPreviousReaction ? t('update') : t('submit') }} }\n </ion-button>\n }\n\n <!-- Mensaje de confirmaci\u00F3n -->\n @if (state().isSubmitted) {\n <p class=\"submitted-message\">{{ t('thankYou') }}</p>\n }\n\n <!-- Error -->\n @if (state().error) {\n <p class=\"error-message\">{{ state().error }}</p>\n } }\n</div>\n}\n", styles: [":host{display:block}.content-reaction{padding:16px;text-align:center}.content-reaction.disabled{opacity:.6;pointer-events:none}.content-reaction.readonly{pointer-events:none}.question{font-size:17px;font-weight:700;color:var(--ion-color-dark);margin:0 0 16px}.reaction-buttons{display:flex;justify-content:center;gap:12px;margin-bottom:20px}.reaction-buttons--emoji{gap:8px}.reaction-buttons--emoji ion-button{--padding-start: 4px;--padding-end: 4px;transition:transform .15s ease}.reaction-buttons--emoji ion-button.selected{transform:scale(1.25)}.reaction-buttons--emoji ion-button:not(.selected):not([disabled]){opacity:.55}.reaction-buttons--emoji ion-button:not(.selected):not([disabled]):hover{opacity:1}.emoji-btn{font-size:32px;line-height:1;display:block}.comment-section{margin-top:16px;animation:slideIn .3s ease-out}.comment-section .comment-textarea{--background: transparent;--border-radius: 8px;--padding-start: 12px;--padding-end: 12px;width:100%}.comment-section .char-count{display:block;text-align:right;font-size:12px;color:var(--ion-color-medium);margin-top:4px}.submit-button{margin-top:16px}.submitted-message{margin-top:16px;color:var(--ion-color-success);font-weight:500;animation:fadeIn .3s ease-out}.error-message{margin-top:8px;color:var(--ion-color-danger);font-size:14px}.loading-container{display:flex;justify-content:center;padding:20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"] }]
|
|
256
258
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
257
259
|
type: Input
|
|
258
260
|
}], reactionSubmit: [{
|
|
@@ -260,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
260
262
|
}], reactionChange: [{
|
|
261
263
|
type: Output
|
|
262
264
|
}] } });
|
|
263
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFJWixNQUFNLEVBQ04sUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUdsRTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixFQUFFLEVBQUU7UUFDRixRQUFRLEVBQUUsa0NBQWtDO1FBQzVDLGtCQUFrQixFQUFFLDZCQUE2QjtRQUNqRCxNQUFNLEVBQUUsZ0JBQWdCO1FBQ3hCLE1BQU0sRUFBRSxvQkFBb0I7UUFDNUIsUUFBUSxFQUFFLDBCQUEwQjtRQUNwQyxTQUFTLEVBQUUsK0JBQStCO1FBQzFDLGVBQWUsRUFBRSxvQ0FBb0M7UUFDckQsYUFBYSxFQUFFLFdBQVc7UUFDMUIsYUFBYSxFQUFFLFVBQVU7UUFDekIscUJBQXFCLEVBQUUsNkJBQTZCO0tBQ3JEO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsUUFBUSxFQUFFLDJCQUEyQjtRQUNyQyxrQkFBa0IsRUFBRSw0QkFBNEI7UUFDaEQsTUFBTSxFQUFFLGVBQWU7UUFDdkIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLFNBQVMsRUFBRSxpQ0FBaUM7UUFDNUMsZUFBZSxFQUFFLG1DQUFtQztRQUNwRCxhQUFhLEVBQUUsWUFBWTtRQUMzQixhQUFhLEVBQUUsWUFBWTtRQUMzQixxQkFBcUIsRUFBRSwrQkFBK0I7S0FDdkQ7Q0FDRixDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7R0FhRztBQVFILE1BQU0sT0FBTyx3QkFBd0I7SUF3RG5DO1FBdkRRLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFDLFVBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlDLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUVuRSxVQUFLLEdBQXFDLEVBQUUsQ0FBQztRQUM1QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ3pELG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFbkUsa0JBQWtCO1FBQ2xCLFVBQUssR0FBRyxNQUFNLENBQXVCO1lBQ25DLGFBQWEsRUFBRSxJQUFJO1lBQ25CLE9BQU8sRUFBRSxFQUFFO1lBQ1gsU0FBUyxFQUFFLEtBQUs7WUFDaEIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztRQUVILHNCQUFzQjtRQUNiLGtCQUFhLEdBQTZCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RCxrQkFBYSxHQUE2QixDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFMUYsc0JBQXNCO1FBQ3RCLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDOUIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBVTtZQUNoQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDbkQsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUk7WUFDM0MsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZTtZQUMzQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7WUFDakYsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxHQUFHO1lBQ3BELE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYTtZQUMvQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWE7WUFDekQsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLElBQUk7WUFDN0MsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ2pFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLO1lBQ3RDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLO1NBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUsseUJBQW9CLEdBQUcsUUFBUSxDQUFrQixHQUFHLEVBQUUsQ0FDN0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUMxRyxDQUFDO1FBRUYscUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMvQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1lBQ3ZCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDdkQsSUFBSSxTQUFTLEtBQUssU0FBUztnQkFBRSxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUQsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBRUgsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsYUFBYSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUd6RixzRUFBc0U7UUFDdEUsa0VBQWtFO1FBQ2xFLHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxvQkFBb0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztZQUFFLE9BQU87UUFFbEMseURBQXlEO1FBQ3pELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3RCLEdBQUcsQ0FBQztnQkFDSixhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFhO2dCQUN2QyxtQkFBbUIsRUFBRSxJQUFJO2dCQUN6QixTQUFTLEVBQUUsS0FBSztnQkFDaEIsV0FBVyxFQUFFLElBQUk7YUFDbEIsQ0FBQyxDQUFDLENBQUM7WUFDSixPQUFPO1FBQ1QsQ0FBQztRQUVELGdEQUFnRDtRQUNoRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVqRSxJQUFJLENBQUM7WUFDSCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDOUIsQ0FBQztZQUVGLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDdEIsR0FBRyxDQUFDO29CQUNKLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYztvQkFDbkMsbUJBQW1CLEVBQUUsSUFBSTtvQkFDekIsU0FBUyxFQUFFLEtBQUs7b0JBQ2hCLFdBQVcsRUFBRSxJQUFJO2lCQUNsQixDQUFDLENBQUMsQ0FBQztZQUNOLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFvQjtRQUNqQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTNFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFFakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLEdBQUcsQ0FBQztZQUNKLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRW5DLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUUxRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDO1lBQ0gsb0RBQW9EO1lBQ3BELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksS0FBSyxDQUFDO1lBQzlELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBRW5FLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pCLGtDQUFrQztnQkFDbEMsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUNoRCxLQUFLLENBQUMsU0FBUyxFQUNmLFlBQVksQ0FBQyxhQUFhLEVBQzFCLFlBQVksQ0FBQyxPQUFPLElBQUksU0FBUyxDQUNsQyxDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLDRCQUE0QjtnQkFDNUIsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FDdkMsS0FBSyxDQUFDLFNBQVMsRUFDZixZQUFZLENBQUMsYUFBYSxFQUMxQixZQUFZLENBQUMsT0FBTyxJQUFJLFNBQVMsQ0FDbEMsQ0FBQztZQUNKLENBQUM7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3RCLEdBQUcsQ0FBQztnQkFDSixTQUFTLEVBQUUsS0FBSztnQkFDaEIsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLG1CQUFtQixFQUFFLENBQUMsWUFBWSxFQUFFLHlCQUF5QjthQUM5RCxDQUFDLENBQUMsQ0FBQztZQUVKLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixLQUFLLEVBQUUsWUFBWSxDQUFDLGFBQWE7Z0JBQ2pDLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTyxJQUFJLFNBQVM7Z0JBQzFDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztnQkFDMUIsUUFBUSxFQUFFLFlBQVksQ0FBQyxtQkFBbUI7YUFDM0MsQ0FBQyxDQUFDO1lBRUgsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUNkLE9BQU8sRUFBRSxLQUFLLENBQUMsZUFBZTtvQkFDOUIsUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3RCLEdBQUcsQ0FBQztnQkFDSixTQUFTLEVBQUUsS0FBSztnQkFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7YUFDakMsQ0FBQyxDQUFDLENBQUM7WUFFSixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDbEMsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFrQjtRQUM5QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN6QixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFvQjtRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxhQUFhLEtBQUssS0FBSyxDQUFDO0lBQzlDLENBQUM7SUFFRCxDQUFDLENBQUMsR0FBVztRQUNYLE1BQU0sWUFBWSxHQUEyQjtZQUMzQyxRQUFRLEVBQUUsa0NBQWtDO1lBQzVDLGtCQUFrQixFQUFFLDZCQUE2QjtZQUNqRCxNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLE1BQU0sRUFBRSxvQkFBb0I7WUFDNUIsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxTQUFTLEVBQUUsK0JBQStCO1lBQzFDLGVBQWUsRUFBRSxvQ0FBb0M7WUFDckQsYUFBYSxFQUFFLFdBQVc7WUFDMUIsYUFBYSxFQUFFLFVBQVU7WUFDekIscUJBQXFCLEVBQUUsNkJBQTZCO1NBQ3JELENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDekUsQ0FBQzsrR0F0T1Usd0JBQXdCO21HQUF4Qix3QkFBd0Isa05DL0VyQyw4L0VBeUVBLDRuQ0RFWSxZQUFZLDhCQUFFLFdBQVcsK0JBQUUsU0FBUyxvUEFBRSxVQUFVLHlHQUFFLFdBQVc7OzRGQUk1RCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUM7d0RBWS9ELEtBQUs7c0JBQWIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgc2lnbmFsLFxuICBjb21wdXRlZCxcbiAgaXNEZXZNb2RlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uU3Bpbm5lciwgSW9uVGV4dGFyZWEgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEZlZWRiYWNrU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL2ZlZWRiYWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVhY3Rpb25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udGVudFJlYWN0aW9uTWV0YWRhdGEsIENvbnRlbnRSZWFjdGlvblN0YXRlLCBSZWFjdGlvblN1Ym1pdEV2ZW50LCBSZWFjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogRGVmYXVsdHMgaTE4biBkZWwgY29tcG9uZW50ZSAoZXMvZW4pLiBFbCBjb21wb25lbnRlIGxvcyBhdXRvLXJlZ2lzdHJhIGVuIHN1XG4gKiBjb25zdHJ1Y3RvciBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbCBuYW1lc3BhY2UgYENvbnRlbnRSZWFjdGlvbmAuIEVzdG9cbiAqIGdhcmFudGl6YSBxdWUgTlVOQ0EgaGF5YSB1bmEga2V5IGZhbHRhbnRlOiB1bmEga2V5IGZhbHRhbnRlIHNlIGV2YWzDumEgZW4gZWxcbiAqIHRlbXBsYXRlIHBvciBjYWRhIGNoYW5nZS1kZXRlY3Rpb24g4oaSIGBjb25zb2xlLndhcm5gIHBvciBDRCDihpIgY29uIGVsXG4gKiBgdmFsLWRlYnVnLWNvbnNvbGVgIGFjdGl2byAoZXNwZWphIGNvbnNvbGUuKiBhIHVuIHNpZ25hbCkgc2UgZGlzcGFyYSB1biBsb29wXG4gKiBpbmZpbml0byBxdWUgY29uZ2VsYSBlbCBuYXZlZ2Fkb3IgZW4gZGV2LiBBdXRvLXJlZ2lzdHJhciBsbyBlbGltaW5hIGRlIHJhw616LlxuICovXG5jb25zdCBDT05URU5UX1JFQUNUSU9OX0kxOE4gPSB7XG4gIGVzOiB7XG4gICAgcXVlc3Rpb246ICfCv1RlIHJlc3VsdMOzIMO6dGlsIGVzdGUgY29udGVuaWRvPycsXG4gICAgY29tbWVudFBsYWNlaG9sZGVyOiAnQ3XDqW50YW5vcyBtw6FzIChvcGNpb25hbCkuLi4nLFxuICAgIHN1Ym1pdDogJ0VudmlhciBvcGluacOzbicsXG4gICAgdXBkYXRlOiAnQWN0dWFsaXphciBvcGluacOzbicsXG4gICAgdGhhbmtZb3U6ICfCoUdyYWNpYXMgcG9yIHR1IG9waW5pw7NuIScsXG4gICAgc3VibWl0dGVkOiAnVHUgb3BpbmnDs24gaGEgc2lkbyByZWdpc3RyYWRhJyxcbiAgICBlcnJvclN1Ym1pdHRpbmc6ICdFcnJvciBhbCBlbnZpYXIuIEludGVudGEgZGUgbnVldm8uJyxcbiAgICBwb3NpdGl2ZUxhYmVsOiAnU8OtLCBtdWNobycsXG4gICAgbmVnYXRpdmVMYWJlbDogJ05vIHRhbnRvJyxcbiAgICBuZWdhdGl2ZUZlZWRiYWNrVGl0bGU6ICfCv0N1w6ludGFub3MgcXXDqSBubyB0ZSBndXN0w7M/JyxcbiAgfSxcbiAgZW46IHtcbiAgICBxdWVzdGlvbjogJ1dhcyB0aGlzIGNvbnRlbnQgaGVscGZ1bD8nLFxuICAgIGNvbW1lbnRQbGFjZWhvbGRlcjogJ1RlbGwgdXMgbW9yZSAob3B0aW9uYWwpLi4uJyxcbiAgICBzdWJtaXQ6ICdTZW5kIGZlZWRiYWNrJyxcbiAgICB1cGRhdGU6ICdVcGRhdGUgZmVlZGJhY2snLFxuICAgIHRoYW5rWW91OiAnVGhhbmtzIGZvciB5b3VyIGZlZWRiYWNrIScsXG4gICAgc3VibWl0dGVkOiAnWW91ciBmZWVkYmFjayBoYXMgYmVlbiByZWNvcmRlZCcsXG4gICAgZXJyb3JTdWJtaXR0aW5nOiAnRmFpbGVkIHRvIHNlbmQuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICBwb3NpdGl2ZUxhYmVsOiAnWWVzLCBhIGxvdCcsXG4gICAgbmVnYXRpdmVMYWJlbDogJ05vdCByZWFsbHknLFxuICAgIG5lZ2F0aXZlRmVlZGJhY2tUaXRsZTogXCJUZWxsIHVzIHdoYXQgeW91IGRpZG4ndCBsaWtlP1wiLFxuICB9LFxufTtcblxuLyoqXG4gKiBDb21wb25lbnRlIHBhcmEgcmVhY2Npb25lcyBkZSBjb250ZW5pZG8gY29uIGVtb2ppcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1jb250ZW50LXJlYWN0aW9uXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgZW50aXR5UmVmOiB7IGVudGl0eVR5cGU6ICdhcnRpY2xlJywgZW50aXR5SWQ6ICdhcnQtMTIzJyB9LFxuICogICAgIHF1ZXN0aW9uOiAnwr9UZSBmdWUgw7p0aWwgZXN0ZSBhcnTDrWN1bG8/J1xuICogICB9XCJcbiAqICAgKHJlYWN0aW9uU3VibWl0KT1cIm9uUmVhY3Rpb25TdWJtaXQoJGV2ZW50KVwiXG4gKiAvPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jb250ZW50LXJlYWN0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIElvbkJ1dHRvbiwgSW9uU3Bpbm5lciwgSW9uVGV4dGFyZWFdLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQtcmVhY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudFJlYWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIGZlZWRiYWNrU2VydmljZSA9IGluamVjdChGZWVkYmFja1NlcnZpY2UpO1xuICBwcml2YXRlIHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICByZWFkb25seSBpc0NvbmZpZ3VyZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmZlZWRiYWNrU2VydmljZS5pc0NvbmZpZ3VyZWQoKSk7XG5cbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8Q29udGVudFJlYWN0aW9uTWV0YWRhdGE+ID0ge307XG4gIEBPdXRwdXQoKSByZWFjdGlvblN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8UmVhY3Rpb25TdWJtaXRFdmVudD4oKTtcbiAgQE91dHB1dCgpIHJlYWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSZWFjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gIC8vIEVzdGFkbyByZWFjdGl2b1xuICBzdGF0ZSA9IHNpZ25hbDxDb250ZW50UmVhY3Rpb25TdGF0ZT4oe1xuICAgIHNlbGVjdGVkVmFsdWU6IG51bGwsXG4gICAgY29tbWVudDogJycsXG4gICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICBpc1N1Ym1pdHRlZDogZmFsc2UsXG4gICAgaGFkUHJldmlvdXNSZWFjdGlvbjogZmFsc2UsXG4gICAgZXJyb3I6IG51bGwsXG4gIH0pO1xuXG4gIC8vIFZhbG9yZXMgcG9yIGRlZmVjdG9cbiAgcmVhZG9ubHkgZGVmYXVsdEVtb2ppczogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddID0gWyfwn5ieJywgJ/CfmJAnLCAn8J+YiiddO1xuICByZWFkb25seSBkZWZhdWx0TGFiZWxzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10gPSBbJ05vIG1lIGF5dWTDsycsICdSZWd1bGFyJywgJ011eSDDunRpbCddO1xuXG4gIC8vIENvbXB1dGVkIHByb3BlcnRpZXNcbiAgcmVzb2x2ZWRQcm9wcyA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgZW50aXR5UmVmOiB0aGlzLnByb3BzLmVudGl0eVJlZiEsXG4gICAgcXVlc3Rpb246IHRoaXMucHJvcHMucXVlc3Rpb24gfHwgdGhpcy50KCdxdWVzdGlvbicpLFxuICAgIHNob3dDb21tZW50OiB0aGlzLnByb3BzLnNob3dDb21tZW50ID8/IHRydWUsXG4gICAgY29tbWVudE9uVmFsdWVzOiB0aGlzLnByb3BzLmNvbW1lbnRPblZhbHVlcyxcbiAgICBjb21tZW50UGxhY2Vob2xkZXI6IHRoaXMucHJvcHMuY29tbWVudFBsYWNlaG9sZGVyIHx8IHRoaXMudCgnY29tbWVudFBsYWNlaG9sZGVyJyksXG4gICAgbWF4Q29tbWVudExlbmd0aDogdGhpcy5wcm9wcy5tYXhDb21tZW50TGVuZ3RoID8/IDUwMCxcbiAgICBlbW9qaXM6IHRoaXMucHJvcHMuZW1vamlzIHx8IHRoaXMuZGVmYXVsdEVtb2ppcyxcbiAgICBlbW9qaUxhYmVsczogdGhpcy5wcm9wcy5lbW9qaUxhYmVscyB8fCB0aGlzLmRlZmF1bHRMYWJlbHMsXG4gICAgc2hvd1RoYW5rWW91OiB0aGlzLnByb3BzLnNob3dUaGFua1lvdSA/PyB0cnVlLFxuICAgIHRoYW5rWW91TWVzc2FnZTogdGhpcy5wcm9wcy50aGFua1lvdU1lc3NhZ2UgfHwgdGhpcy50KCd0aGFua1lvdScpLFxuICAgIGRpc2FibGVkOiB0aGlzLnByb3BzLmRpc2FibGVkID8/IGZhbHNlLFxuICAgIHJlYWRvbmx5OiB0aGlzLnByb3BzLnJlYWRvbmx5ID8/IGZhbHNlLFxuICB9KSk7XG5cbiAgcmVhZG9ubHkgYWN0aXZlUmVhY3Rpb25WYWx1ZXMgPSBjb21wdXRlZDxSZWFjdGlvblZhbHVlW10+KCgpID0+XG4gICAgdGhpcy5yZXNvbHZlZFByb3BzKCkuZW1vamlzLmxlbmd0aCA9PT0gMiA/IFsnbmVnYXRpdmUnLCAncG9zaXRpdmUnXSA6IFsnbmVnYXRpdmUnLCAnbmV1dHJhbCcsICdwb3NpdGl2ZSddXG4gICk7XG5cbiAgc2hvd0NvbW1lbnRGaWVsZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzZWwgPSB0aGlzLnN0YXRlKCkuc2VsZWN0ZWRWYWx1ZTtcbiAgICBpZiAoIXNlbCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IGNvbW1lbnRPbiA9IHRoaXMucmVzb2x2ZWRQcm9wcygpLmNvbW1lbnRPblZhbHVlcztcbiAgICBpZiAoY29tbWVudE9uICE9PSB1bmRlZmluZWQpIHJldHVybiBjb21tZW50T24uaW5jbHVkZXMoc2VsKTtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzKCkuc2hvd0NvbW1lbnQ7XG4gIH0pO1xuXG4gIGNhblN1Ym1pdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3RhdGUoKS5zZWxlY3RlZFZhbHVlICE9PSBudWxsICYmICF0aGlzLnN0YXRlKCkuaXNMb2FkaW5nKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBBdXRvLXJlZ2lzdHJvIGRlIGRlZmF1bHRzIGkxOG4gKGVzL2VuKSBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbFxuICAgIC8vIG5hbWVzcGFjZS4gR2FyYW50aXphIHF1ZSBgdCgpYCBudW5jYSBjYWlnYSBlbiBrZXkgZmFsdGFudGUuIFZlclxuICAgIC8vIENPTlRFTlRfUkVBQ1RJT05fSTE4Ti4gSWRlbXBvdGVudGU6IHNvbG8gbGEgMcKqIGluc3RhbmNpYSByZWdpc3RyYS5cbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoJ0NvbnRlbnRSZWFjdGlvbicpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KCdDb250ZW50UmVhY3Rpb24nLCBDT05URU5UX1JFQUNUSU9OX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZFByZXZpb3VzUmVhY3Rpb24oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncHJvcHMnXSAmJiAhY2hhbmdlc1sncHJvcHMnXS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5sb2FkUHJldmlvdXNSZWFjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFByZXZpb3VzUmVhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmVudGl0eVJlZikgcmV0dXJuO1xuXG4gICAgLy8gU2kgaGF5IGluaXRpYWxWYWx1ZSwgdXNhcmxvIGRpcmVjdGFtZW50ZSBzaW4gY29uc3VsdGFyXG4gICAgaWYgKHRoaXMucHJvcHMuaW5pdGlhbFZhbHVlKSB7XG4gICAgICB0aGlzLnN0YXRlLnVwZGF0ZShzID0+ICh7XG4gICAgICAgIC4uLnMsXG4gICAgICAgIHNlbGVjdGVkVmFsdWU6IHRoaXMucHJvcHMuaW5pdGlhbFZhbHVlISxcbiAgICAgICAgaGFkUHJldmlvdXNSZWFjdGlvbjogdHJ1ZSxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgaXNTdWJtaXR0ZWQ6IHRydWUsXG4gICAgICB9KSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gU2kgc2tpcEluaXRpYWxDaGVjayBlc3TDoSBhY3Rpdm8sIG5vIGNvbnN1bHRhclxuICAgIGlmICh0aGlzLnByb3BzLnNraXBJbml0aWFsQ2hlY2spIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlLnVwZGF0ZShzID0+ICh7IC4uLnMsIGlzTG9hZGluZzogdHJ1ZSwgZXJyb3I6IG51bGwgfSkpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNoZWNrID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY2hlY2tGZWVkYmFjayhcbiAgICAgICAgdGhpcy5wcm9wcy5lbnRpdHlSZWYuZW50aXR5VHlwZSxcbiAgICAgICAgdGhpcy5wcm9wcy5lbnRpdHlSZWYuZW50aXR5SWRcbiAgICAgICk7XG5cbiAgICAgIGlmIChjaGVjay5oYXNGZWVkYmFjayAmJiBjaGVjay5yZWFjdGlvblZhbHVlKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlKHMgPT4gKHtcbiAgICAgICAgICAuLi5zLFxuICAgICAgICAgIHNlbGVjdGVkVmFsdWU6IGNoZWNrLnJlYWN0aW9uVmFsdWUhLFxuICAgICAgICAgIGhhZFByZXZpb3VzUmVhY3Rpb246IHRydWUsXG4gICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICBpc1N1Ym1pdHRlZDogdHJ1ZSxcbiAgICAgICAgfSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoeyAuLi5zLCBpc0xvYWRpbmc6IGZhbHNlIH0pKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBwcmV2aW91cyByZWFjdGlvbjonLCBlcnJvcik7XG4gICAgICB0aGlzLnN0YXRlLnVwZGF0ZShzID0+ICh7IC4uLnMsIGlzTG9hZGluZzogZmFsc2UgfSkpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFJlYWN0aW9uKHZhbHVlOiBSZWFjdGlvblZhbHVlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcygpLmRpc2FibGVkIHx8IHRoaXMucmVzb2x2ZWRQcm9wcygpLnJlYWRvbmx5KSByZXR1cm47XG5cbiAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gdGhpcy5zdGF0ZSgpLnNlbGVjdGVkVmFsdWU7XG5cbiAgICB0aGlzLnN0YXRlLnVwZGF0ZShzID0+ICh7XG4gICAgICAuLi5zLFxuICAgICAgc2VsZWN0ZWRWYWx1ZTogdmFsdWUsXG4gICAgICBpc1N1Ym1pdHRlZDogZmFsc2UsXG4gICAgICBlcnJvcjogbnVsbCxcbiAgICB9KSk7XG5cbiAgICB0aGlzLnJlYWN0aW9uQ2hhbmdlLmVtaXQoeyB2YWx1ZSwgcHJldmlvdXNWYWx1ZSB9KTtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdFJlYWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuc3RhdGUoKTtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMucmVzb2x2ZWRQcm9wcygpO1xuXG4gICAgaWYgKCFjdXJyZW50U3RhdGUuc2VsZWN0ZWRWYWx1ZSB8fCBwcm9wcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoeyAuLi5zLCBpc0xvYWRpbmc6IHRydWUsIGVycm9yOiBudWxsIH0pKTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBEZXRlcm1pbmFyIHNpIHVzYXIgZW5kcG9pbnQgYW7Ds25pbW8gbyBhdXRlbnRpY2Fkb1xuICAgICAgY29uc3QgaXNBdXRoZW50aWNhdGVkID0gdGhpcy5hdXRoPy5pc0F1dGhlbnRpY2F0ZWQoKSA/PyBmYWxzZTtcbiAgICAgIGNvbnN0IHVzZUFub255bW91cyA9IHRoaXMucHJvcHMuYWxsb3dBbm9ueW1vdXMgJiYgIWlzQXV0aGVudGljYXRlZDtcblxuICAgICAgaWYgKHVzZUFub255bW91cykge1xuICAgICAgICAvLyBVc2FyIGVuZHBvaW50IGFuw7NuaW1vIChww7pibGljbylcbiAgICAgICAgYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlQW5vbnltb3VzUmVhY3Rpb24oXG4gICAgICAgICAgcHJvcHMuZW50aXR5UmVmLFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5zZWxlY3RlZFZhbHVlLFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5jb21tZW50IHx8IHVuZGVmaW5lZFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVXNhciBlbmRwb2ludCBhdXRlbnRpY2Fkb1xuICAgICAgICBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jcmVhdGVSZWFjdGlvbihcbiAgICAgICAgICBwcm9wcy5lbnRpdHlSZWYsXG4gICAgICAgICAgY3VycmVudFN0YXRlLnNlbGVjdGVkVmFsdWUsXG4gICAgICAgICAgY3VycmVudFN0YXRlLmNvbW1lbnQgfHwgdW5kZWZpbmVkXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlKHMgPT4gKHtcbiAgICAgICAgLi4ucyxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgaXNTdWJtaXR0ZWQ6IHRydWUsXG4gICAgICAgIGhhZFByZXZpb3VzUmVhY3Rpb246ICF1c2VBbm9ueW1vdXMsIC8vIFNvbG8gcGFyYSBhdXRlbnRpY2Fkb3NcbiAgICAgIH0pKTtcblxuICAgICAgdGhpcy5yZWFjdGlvblN1Ym1pdC5lbWl0KHtcbiAgICAgICAgdmFsdWU6IGN1cnJlbnRTdGF0ZS5zZWxlY3RlZFZhbHVlLFxuICAgICAgICBjb21tZW50OiBjdXJyZW50U3RhdGUuY29tbWVudCB8fCB1bmRlZmluZWQsXG4gICAgICAgIGVudGl0eVJlZjogcHJvcHMuZW50aXR5UmVmLFxuICAgICAgICBpc1VwZGF0ZTogY3VycmVudFN0YXRlLmhhZFByZXZpb3VzUmVhY3Rpb24sXG4gICAgICB9KTtcblxuICAgICAgaWYgKHByb3BzLnNob3dUaGFua1lvdSkge1xuICAgICAgICB0aGlzLnRvYXN0LnNob3coe1xuICAgICAgICAgIG1lc3NhZ2U6IHByb3BzLnRoYW5rWW91TWVzc2FnZSxcbiAgICAgICAgICBkdXJhdGlvbjogMjAwMCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHN1Ym1pdHRpbmcgcmVhY3Rpb246JywgZXJyb3IpO1xuICAgICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoe1xuICAgICAgICAuLi5zLFxuICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICBlcnJvcjogdGhpcy50KCdlcnJvclN1Ym1pdHRpbmcnKSxcbiAgICAgIH0pKTtcblxuICAgICAgdGhpcy50b2FzdC5zaG93KHtcbiAgICAgICAgbWVzc2FnZTogdGhpcy50KCdlcnJvclN1Ym1pdHRpbmcnKSxcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDb21tZW50KGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQuZGV0YWlsLnZhbHVlIHx8ICcnO1xuICAgIHRoaXMuc3RhdGUudXBkYXRlKHMgPT4gKHsgLi4ucywgY29tbWVudDogdmFsdWUgfSkpO1xuICB9XG5cbiAgZ2V0RW1vamkoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcygpLmVtb2ppc1tpbmRleF07XG4gIH1cblxuICBnZXRFbW9qaUxhYmVsKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkUHJvcHMoKS5lbW9qaUxhYmVsc1tpbmRleF07XG4gIH1cblxuICBpc1NlbGVjdGVkKHZhbHVlOiBSZWFjdGlvblZhbHVlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUoKS5zZWxlY3RlZFZhbHVlID09PSB2YWx1ZTtcbiAgfVxuXG4gIHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9UZSByZXN1bHTDsyDDunRpbCBlc3RlIGNvbnRlbmlkbz8nLFxuICAgICAgY29tbWVudFBsYWNlaG9sZGVyOiAnQ3XDqW50YW5vcyBtw6FzIChvcGNpb25hbCkuLi4nLFxuICAgICAgc3VibWl0OiAnRW52aWFyIG9waW5pw7NuJyxcbiAgICAgIHVwZGF0ZTogJ0FjdHVhbGl6YXIgb3BpbmnDs24nLFxuICAgICAgdGhhbmtZb3U6ICfCoUdyYWNpYXMgcG9yIHR1IG9waW5pw7NuIScsXG4gICAgICBzdWJtaXR0ZWQ6ICdUdSBvcGluacOzbiBoYSBzaWRvIHJlZ2lzdHJhZGEnLFxuICAgICAgZXJyb3JTdWJtaXR0aW5nOiAnRXJyb3IgYWwgZW52aWFyLiBJbnRlbnRhIGRlIG51ZXZvLicsXG4gICAgICBwb3NpdGl2ZUxhYmVsOiAnU8OtLCBtdWNobycsXG4gICAgICBuZWdhdGl2ZUxhYmVsOiAnTm8gdGFudG8nLFxuICAgICAgbmVnYXRpdmVGZWVkYmFja1RpdGxlOiAnwr9DdcOpbnRhbm9zIHF1w6kgbm8gdGUgZ3VzdMOzPycsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnQ29udGVudFJlYWN0aW9uJykgfHwgdHJhbnNsYXRpb25zW2tleV0gfHwga2V5O1xuICB9XG59XG4iLCJAaWYgKGlzQ29uZmlndXJlZCgpKSB7XG48ZGl2IGNsYXNzPVwiY29udGVudC1yZWFjdGlvblwiIFtjbGFzcy5kaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzKCkuZGlzYWJsZWRcIiBbY2xhc3MucmVhZG9ubHldPVwicmVzb2x2ZWRQcm9wcygpLnJlYWRvbmx5XCI+XG4gIDwhLS0gTG9hZGluZyBpbmljaWFsIC0tPlxuICBAaWYgKHN0YXRlKCkuaXNMb2FkaW5nICYmICFzdGF0ZSgpLnNlbGVjdGVkVmFsdWUpIHtcbiAgPGRpdiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCI+XG4gICAgPGlvbi1zcGlubmVyIG5hbWU9XCJjcmVzY2VudFwiPjwvaW9uLXNwaW5uZXI+XG4gIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgPCEtLSBQcmVndW50YSAtLT5cbiAgPHAgY2xhc3M9XCJxdWVzdGlvblwiPlxuICAgIHt7IHN0YXRlKCkuc2VsZWN0ZWRWYWx1ZSA9PT0gJ25lZ2F0aXZlJyA/IHQoJ25lZ2F0aXZlRmVlZGJhY2tUaXRsZScpIDogcmVzb2x2ZWRQcm9wcygpLnF1ZXN0aW9uIH19XG4gIDwvcD5cblxuICA8IS0tIEJvdG9uZXMgZGUgcmVhY2Npw7NuIC0tPlxuICA8ZGl2IGNsYXNzPVwicmVhY3Rpb24tYnV0dG9uc1wiPlxuICAgIDxpb24tYnV0dG9uXG4gICAgICBbZmlsbF09XCJpc1NlbGVjdGVkKCdwb3NpdGl2ZScpID8gJ3NvbGlkJyA6ICdvdXRsaW5lJ1wiXG4gICAgICBzaGFwZT1cInJvdW5kXCJcbiAgICAgIGNvbG9yPVwiZGFya1wiXG4gICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwiaXNTZWxlY3RlZCgncG9zaXRpdmUnKVwiXG4gICAgICBbZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcygpLmRpc2FibGVkIHx8IHJlc29sdmVkUHJvcHMoKS5yZWFkb25seVwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0UmVhY3Rpb24oJ3Bvc2l0aXZlJylcIlxuICAgID5cbiAgICAgIHt7IHQoJ3Bvc2l0aXZlTGFiZWwnKSB9fVxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8aW9uLWJ1dHRvblxuICAgICAgW2ZpbGxdPVwiaXNTZWxlY3RlZCgnbmVnYXRpdmUnKSA/ICdzb2xpZCcgOiAnb3V0bGluZSdcIlxuICAgICAgc2hhcGU9XCJyb3VuZFwiXG4gICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImlzU2VsZWN0ZWQoJ25lZ2F0aXZlJylcIlxuICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMoKS5kaXNhYmxlZCB8fCByZXNvbHZlZFByb3BzKCkucmVhZG9ubHlcIlxuICAgICAgKGNsaWNrKT1cInNlbGVjdFJlYWN0aW9uKCduZWdhdGl2ZScpXCJcbiAgICA+XG4gICAgICB7eyB0KCduZWdhdGl2ZUxhYmVsJykgfX1cbiAgICA8L2lvbi1idXR0b24+XG4gIDwvZGl2PlxuXG4gIDwhLS0gQ2FtcG8gZGUgY29tZW50YXJpbyAoc29sbyBzaSBoYXkgc2VsZWNjacOzbikgLS0+XG4gIEBpZiAoc2hvd0NvbW1lbnRGaWVsZCgpKSB7XG4gIDxkaXYgY2xhc3M9XCJjb21tZW50LXNlY3Rpb25cIj5cbiAgICA8aW9uLXRleHRhcmVhXG4gICAgICBbdmFsdWVdPVwic3RhdGUoKS5jb21tZW50XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJyZXNvbHZlZFByb3BzKCkuY29tbWVudFBsYWNlaG9sZGVyXCJcbiAgICAgIFttYXhsZW5ndGhdPVwicmVzb2x2ZWRQcm9wcygpLm1heENvbW1lbnRMZW5ndGhcIlxuICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMoKS5kaXNhYmxlZFwiXG4gICAgICBbcm93c109XCIzXCJcbiAgICAgIGNsYXNzPVwiY29tbWVudC10ZXh0YXJlYVwiXG4gICAgICAoaW9uSW5wdXQpPVwidXBkYXRlQ29tbWVudCgkZXZlbnQpXCJcbiAgICA+PC9pb24tdGV4dGFyZWE+XG4gICAgPHNwYW4gY2xhc3M9XCJjaGFyLWNvdW50XCI+IHt7IHN0YXRlKCkuY29tbWVudC5sZW5ndGggfX0ve3sgcmVzb2x2ZWRQcm9wcygpLm1heENvbW1lbnRMZW5ndGggfX0gPC9zcGFuPlxuICA8L2Rpdj5cbiAgfVxuXG4gIDwhLS0gQm90w7NuIGRlIGVudsOtbyAtLT5cbiAgQGlmIChzdGF0ZSgpLnNlbGVjdGVkVmFsdWUgJiYgIXN0YXRlKCkuaXNTdWJtaXR0ZWQpIHtcbiAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBzaGFwZT1cInJvdW5kXCIgW2Rpc2FibGVkXT1cIiFjYW5TdWJtaXQoKVwiIChjbGljayk9XCJzdWJtaXRSZWFjdGlvbigpXCIgY2xhc3M9XCJzdWJtaXQtYnV0dG9uXCI+XG4gICAgQGlmIChzdGF0ZSgpLmlzTG9hZGluZykge1xuICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIj48L2lvbi1zcGlubmVyPlxuICAgIH0gQGVsc2UgeyB7eyBzdGF0ZSgpLmhhZFByZXZpb3VzUmVhY3Rpb24gPyB0KCd1cGRhdGUnKSA6IHQoJ3N1Ym1pdCcpIH19IH1cbiAgPC9pb24tYnV0dG9uPlxuICB9XG5cbiAgPCEtLSBNZW5zYWplIGRlIGNvbmZpcm1hY2nDs24gLS0+XG4gIEBpZiAoc3RhdGUoKS5pc1N1Ym1pdHRlZCkge1xuICA8cCBjbGFzcz1cInN1Ym1pdHRlZC1tZXNzYWdlXCI+e3sgdCgndGhhbmtZb3UnKSB9fTwvcD5cbiAgfVxuXG4gIDwhLS0gRXJyb3IgLS0+XG4gIEBpZiAoc3RhdGUoKS5lcnJvcikge1xuICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj57eyBzdGF0ZSgpLmVycm9yIH19PC9wPlxuICB9IH1cbjwvZGl2PlxufVxuIl19
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFJWixNQUFNLEVBQ04sUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUdsRTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixFQUFFLEVBQUU7UUFDRixRQUFRLEVBQUUsa0NBQWtDO1FBQzVDLGtCQUFrQixFQUFFLDZCQUE2QjtRQUNqRCxNQUFNLEVBQUUsZ0JBQWdCO1FBQ3hCLE1BQU0sRUFBRSxvQkFBb0I7UUFDNUIsUUFBUSxFQUFFLDBCQUEwQjtRQUNw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O1lBQ3BDLFNBQVMsRUFBRSwrQkFBK0I7WUFDMUMsZUFBZSxFQUFFLG9DQUFvQztZQUNyRCxhQUFhLEVBQUUsV0FBVztZQUMxQixhQUFhLEVBQUUsVUFBVTtZQUN6QixxQkFBcUIsRUFBRSw2QkFBNkI7U0FDckQsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUN6RSxDQUFDOytHQXhPVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixrTkMvRXJDLG93R0E0RkEsbWlERGpCWSxZQUFZLDhCQUFFLFdBQVcsK0JBQUUsU0FBUyxvUEFBRSxVQUFVLHlHQUFFLFdBQVc7OzRGQUk1RCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUM7d0RBWS9ELEtBQUs7c0JBQWIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgc2lnbmFsLFxuICBjb21wdXRlZCxcbiAgaXNEZXZNb2RlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uU3Bpbm5lciwgSW9uVGV4dGFyZWEgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEZlZWRiYWNrU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL2ZlZWRiYWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVhY3Rpb25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udGVudFJlYWN0aW9uTWV0YWRhdGEsIENvbnRlbnRSZWFjdGlvblN0YXRlLCBSZWFjdGlvblN1Ym1pdEV2ZW50LCBSZWFjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogRGVmYXVsdHMgaTE4biBkZWwgY29tcG9uZW50ZSAoZXMvZW4pLiBFbCBjb21wb25lbnRlIGxvcyBhdXRvLXJlZ2lzdHJhIGVuIHN1XG4gKiBjb25zdHJ1Y3RvciBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbCBuYW1lc3BhY2UgYENvbnRlbnRSZWFjdGlvbmAuIEVzdG9cbiAqIGdhcmFudGl6YSBxdWUgTlVOQ0EgaGF5YSB1bmEga2V5IGZhbHRhbnRlOiB1bmEga2V5IGZhbHRhbnRlIHNlIGV2YWzDumEgZW4gZWxcbiAqIHRlbXBsYXRlIHBvciBjYWRhIGNoYW5nZS1kZXRlY3Rpb24g4oaSIGBjb25zb2xlLndhcm5gIHBvciBDRCDihpIgY29uIGVsXG4gKiBgdmFsLWRlYnVnLWNvbnNvbGVgIGFjdGl2byAoZXNwZWphIGNvbnNvbGUuKiBhIHVuIHNpZ25hbCkgc2UgZGlzcGFyYSB1biBsb29wXG4gKiBpbmZpbml0byBxdWUgY29uZ2VsYSBlbCBuYXZlZ2Fkb3IgZW4gZGV2LiBBdXRvLXJlZ2lzdHJhciBsbyBlbGltaW5hIGRlIHJhw616LlxuICovXG5jb25zdCBDT05URU5UX1JFQUNUSU9OX0kxOE4gPSB7XG4gIGVzOiB7XG4gICAgcXVlc3Rpb246ICfCv1RlIHJlc3VsdMOzIMO6dGlsIGVzdGUgY29udGVuaWRvPycsXG4gICAgY29tbWVudFBsYWNlaG9sZGVyOiAnQ3XDqW50YW5vcyBtw6FzIChvcGNpb25hbCkuLi4nLFxuICAgIHN1Ym1pdDogJ0VudmlhciBvcGluacOzbicsXG4gICAgdXBkYXRlOiAnQWN0dWFsaXphciBvcGluacOzbicsXG4gICAgdGhhbmtZb3U6ICfCoUdyYWNpYXMgcG9yIHR1IG9waW5pw7NuIScsXG4gICAgc3VibWl0dGVkOiAnVHUgb3BpbmnDs24gaGEgc2lkbyByZWdpc3RyYWRhJyxcbiAgICBlcnJvclN1Ym1pdHRpbmc6ICdFcnJvciBhbCBlbnZpYXIuIEludGVudGEgZGUgbnVldm8uJyxcbiAgICBwb3NpdGl2ZUxhYmVsOiAnU8OtLCBtdWNobycsXG4gICAgbmVnYXRpdmVMYWJlbDogJ05vIHRhbnRvJyxcbiAgICBuZWdhdGl2ZUZlZWRiYWNrVGl0bGU6ICfCv0N1w6ludGFub3MgcXXDqSBubyB0ZSBndXN0w7M/JyxcbiAgfSxcbiAgZW46IHtcbiAgICBxdWVzdGlvbjogJ1dhcyB0aGlzIGNvbnRlbnQgaGVscGZ1bD8nLFxuICAgIGNvbW1lbnRQbGFjZWhvbGRlcjogJ1RlbGwgdXMgbW9yZSAob3B0aW9uYWwpLi4uJyxcbiAgICBzdWJtaXQ6ICdTZW5kIGZlZWRiYWNrJyxcbiAgICB1cGRhdGU6ICdVcGRhdGUgZmVlZGJhY2snLFxuICAgIHRoYW5rWW91OiAnVGhhbmtzIGZvciB5b3VyIGZlZWRiYWNrIScsXG4gICAgc3VibWl0dGVkOiAnWW91ciBmZWVkYmFjayBoYXMgYmVlbiByZWNvcmRlZCcsXG4gICAgZXJyb3JTdWJtaXR0aW5nOiAnRmFpbGVkIHRvIHNlbmQuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICBwb3NpdGl2ZUxhYmVsOiAnWWVzLCBhIGxvdCcsXG4gICAgbmVnYXRpdmVMYWJlbDogJ05vdCByZWFsbHknLFxuICAgIG5lZ2F0aXZlRmVlZGJhY2tUaXRsZTogXCJUZWxsIHVzIHdoYXQgeW91IGRpZG4ndCBsaWtlP1wiLFxuICB9LFxufTtcblxuLyoqXG4gKiBDb21wb25lbnRlIHBhcmEgcmVhY2Npb25lcyBkZSBjb250ZW5pZG8gY29uIGVtb2ppcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1jb250ZW50LXJlYWN0aW9uXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgZW50aXR5UmVmOiB7IGVudGl0eVR5cGU6ICdhcnRpY2xlJywgZW50aXR5SWQ6ICdhcnQtMTIzJyB9LFxuICogICAgIHF1ZXN0aW9uOiAnwr9UZSBmdWUgw7p0aWwgZXN0ZSBhcnTDrWN1bG8/J1xuICogICB9XCJcbiAqICAgKHJlYWN0aW9uU3VibWl0KT1cIm9uUmVhY3Rpb25TdWJtaXQoJGV2ZW50KVwiXG4gKiAvPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jb250ZW50LXJlYWN0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIElvbkJ1dHRvbiwgSW9uU3Bpbm5lciwgSW9uVGV4dGFyZWFdLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQtcmVhY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudFJlYWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIGZlZWRiYWNrU2VydmljZSA9IGluamVjdChGZWVkYmFja1NlcnZpY2UpO1xuICBwcml2YXRlIHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICByZWFkb25seSBpc0NvbmZpZ3VyZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmZlZWRiYWNrU2VydmljZS5pc0NvbmZpZ3VyZWQoKSk7XG5cbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8Q29udGVudFJlYWN0aW9uTWV0YWRhdGE+ID0ge307XG4gIEBPdXRwdXQoKSByZWFjdGlvblN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8UmVhY3Rpb25TdWJtaXRFdmVudD4oKTtcbiAgQE91dHB1dCgpIHJlYWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSZWFjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gIC8vIEVzdGFkbyByZWFjdGl2b1xuICBzdGF0ZSA9IHNpZ25hbDxDb250ZW50UmVhY3Rpb25TdGF0ZT4oe1xuICAgIHNlbGVjdGVkVmFsdWU6IG51bGwsXG4gICAgY29tbWVudDogJycsXG4gICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICBpc1N1Ym1pdHRlZDogZmFsc2UsXG4gICAgaGFkUHJldmlvdXNSZWFjdGlvbjogZmFsc2UsXG4gICAgZXJyb3I6IG51bGwsXG4gIH0pO1xuXG4gIC8vIFZhbG9yZXMgcG9yIGRlZmVjdG9cbiAgcmVhZG9ubHkgZGVmYXVsdEVtb2ppczogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddID0gWyfwn5ieJywgJ/CfmJAnLCAn8J+YiiddO1xuICByZWFkb25seSBkZWZhdWx0TGFiZWxzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10gPSBbJ05vIG1lIGF5dWTDsycsICdSZWd1bGFyJywgJ011eSDDunRpbCddO1xuXG4gIC8vIENvbXB1dGVkIHByb3BlcnRpZXNcbiAgcmVzb2x2ZWRQcm9wcyA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgZW50aXR5UmVmOiB0aGlzLnByb3BzLmVudGl0eVJlZiEsXG4gICAgcXVlc3Rpb246IHRoaXMucHJvcHMucXVlc3Rpb24gfHwgdGhpcy50KCdxdWVzdGlvbicpLFxuICAgIHNob3dDb21tZW50OiB0aGlzLnByb3BzLnNob3dDb21tZW50ID8/IHRydWUsXG4gICAgY29tbWVudE9uVmFsdWVzOiB0aGlzLnByb3BzLmNvbW1lbnRPblZhbHVlcyxcbiAgICBjb21tZW50UGxhY2Vob2xkZXI6IHRoaXMucHJvcHMuY29tbWVudFBsYWNlaG9sZGVyIHx8IHRoaXMudCgnY29tbWVudFBsYWNlaG9sZGVyJyksXG4gICAgbWF4Q29tbWVudExlbmd0aDogdGhpcy5wcm9wcy5tYXhDb21tZW50TGVuZ3RoID8/IDUwMCxcbiAgICBlbW9qaXM6IHRoaXMucHJvcHMuZW1vamlzIHx8IHRoaXMuZGVmYXVsdEVtb2ppcyxcbiAgICBlbW9qaUxhYmVsczogdGhpcy5wcm9wcy5lbW9qaUxhYmVscyB8fCB0aGlzLmRlZmF1bHRMYWJlbHMsXG4gICAgc2hvd1RoYW5rWW91OiB0aGlzLnByb3BzLnNob3dUaGFua1lvdSA/PyB0cnVlLFxuICAgIHRoYW5rWW91TWVzc2FnZTogdGhpcy5wcm9wcy50aGFua1lvdU1lc3NhZ2UgfHwgdGhpcy50KCd0aGFua1lvdScpLFxuICAgIGRpc2FibGVkOiB0aGlzLnByb3BzLmRpc2FibGVkID8/IGZhbHNlLFxuICAgIHJlYWRvbmx5OiB0aGlzLnByb3BzLnJlYWRvbmx5ID8/IGZhbHNlLFxuICAgIC8vIFZhcmlhbnRlOiAnZW1vamknIGN1YW5kbyBzZSBkZWNsYXJhIGV4cGzDrWNpdGFtZW50ZSBvIGN1YW5kbyBzZSBwYXNhbiBlbW9qaXMgY3VzdG9tLlxuICAgIHZhcmlhbnQ6IHRoaXMucHJvcHMudmFyaWFudCA/PyAodGhpcy5wcm9wcy5lbW9qaXMgPyAnZW1vamknIDogJ2J1dHRvbnMnKSxcbiAgfSkpO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZVJlYWN0aW9uVmFsdWVzID0gY29tcHV0ZWQ8UmVhY3Rpb25WYWx1ZVtdPigoKSA9PlxuICAgIHRoaXMucmVzb2x2ZWRQcm9wcygpLmVtb2ppcy5sZW5ndGggPT09IDIgPyBbJ25lZ2F0aXZlJywgJ3Bvc2l0aXZlJ10gOiBbJ25lZ2F0aXZlJywgJ25ldXRyYWwnLCAncG9zaXRpdmUnXVxuICApO1xuXG4gIHNob3dDb21tZW50RmllbGQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VsID0gdGhpcy5zdGF0ZSgpLnNlbGVjdGVkVmFsdWU7XG4gICAgaWYgKCFzZWwpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBjb21tZW50T24gPSB0aGlzLnJlc29sdmVkUHJvcHMoKS5jb21tZW50T25WYWx1ZXM7XG4gICAgaWYgKGNvbW1lbnRPbiAhPT0gdW5kZWZpbmVkKSByZXR1cm4gY29tbWVudE9uLmluY2x1ZGVzKHNlbCk7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcygpLnNob3dDb21tZW50O1xuICB9KTtcblxuICBjYW5TdWJtaXQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnN0YXRlKCkuc2VsZWN0ZWRWYWx1ZSAhPT0gbnVsbCAmJiAhdGhpcy5zdGF0ZSgpLmlzTG9hZGluZyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gQXV0by1yZWdpc3RybyBkZSBkZWZhdWx0cyBpMThuIChlcy9lbikgc2kgZWwgY29uc3VtZXIgbm8gcHJvdmV5w7MgZWxcbiAgICAvLyBuYW1lc3BhY2UuIEdhcmFudGl6YSBxdWUgYHQoKWAgbnVuY2EgY2FpZ2EgZW4ga2V5IGZhbHRhbnRlLiBWZXJcbiAgICAvLyBDT05URU5UX1JFQUNUSU9OX0kxOE4uIElkZW1wb3RlbnRlOiBzb2xvIGxhIDHCqiBpbnN0YW5jaWEgcmVnaXN0cmEuXG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKCdDb250ZW50UmVhY3Rpb24nKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudCgnQ29udGVudFJlYWN0aW9uJywgQ09OVEVOVF9SRUFDVElPTl9JMThOKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRQcmV2aW91c1JlYWN0aW9uKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3Byb3BzJ10gJiYgIWNoYW5nZXNbJ3Byb3BzJ10uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMubG9hZFByZXZpb3VzUmVhY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRQcmV2aW91c1JlYWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5wcm9wcy5lbnRpdHlSZWYpIHJldHVybjtcblxuICAgIC8vIFNpIGhheSBpbml0aWFsVmFsdWUsIHVzYXJsbyBkaXJlY3RhbWVudGUgc2luIGNvbnN1bHRhclxuICAgIGlmICh0aGlzLnByb3BzLmluaXRpYWxWYWx1ZSkge1xuICAgICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoe1xuICAgICAgICAuLi5zLFxuICAgICAgICBzZWxlY3RlZFZhbHVlOiB0aGlzLnByb3BzLmluaXRpYWxWYWx1ZSEsXG4gICAgICAgIGhhZFByZXZpb3VzUmVhY3Rpb246IHRydWUsXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgIGlzU3VibWl0dGVkOiB0cnVlLFxuICAgICAgfSkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFNpIHNraXBJbml0aWFsQ2hlY2sgZXN0w6EgYWN0aXZvLCBubyBjb25zdWx0YXJcbiAgICBpZiAodGhpcy5wcm9wcy5za2lwSW5pdGlhbENoZWNrKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoeyAuLi5zLCBpc0xvYWRpbmc6IHRydWUsIGVycm9yOiBudWxsIH0pKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjaGVjayA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNoZWNrRmVlZGJhY2soXG4gICAgICAgIHRoaXMucHJvcHMuZW50aXR5UmVmLmVudGl0eVR5cGUsXG4gICAgICAgIHRoaXMucHJvcHMuZW50aXR5UmVmLmVudGl0eUlkXG4gICAgICApO1xuXG4gICAgICBpZiAoY2hlY2suaGFzRmVlZGJhY2sgJiYgY2hlY2sucmVhY3Rpb25WYWx1ZSkge1xuICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZShzID0+ICh7XG4gICAgICAgICAgLi4ucyxcbiAgICAgICAgICBzZWxlY3RlZFZhbHVlOiBjaGVjay5yZWFjdGlvblZhbHVlISxcbiAgICAgICAgICBoYWRQcmV2aW91c1JlYWN0aW9uOiB0cnVlLFxuICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgaXNTdWJtaXR0ZWQ6IHRydWUsXG4gICAgICAgIH0pKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlKHMgPT4gKHsgLi4ucywgaXNMb2FkaW5nOiBmYWxzZSB9KSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgcHJldmlvdXMgcmVhY3Rpb246JywgZXJyb3IpO1xuICAgICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoeyAuLi5zLCBpc0xvYWRpbmc6IGZhbHNlIH0pKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RSZWFjdGlvbih2YWx1ZTogUmVhY3Rpb25WYWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMoKS5kaXNhYmxlZCB8fCB0aGlzLnJlc29sdmVkUHJvcHMoKS5yZWFkb25seSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IHRoaXMuc3RhdGUoKS5zZWxlY3RlZFZhbHVlO1xuXG4gICAgdGhpcy5zdGF0ZS51cGRhdGUocyA9PiAoe1xuICAgICAgLi4ucyxcbiAgICAgIHNlbGVjdGVkVmFsdWU6IHZhbHVlLFxuICAgICAgaXNTdWJtaXR0ZWQ6IGZhbHNlLFxuICAgICAgZXJyb3I6IG51bGwsXG4gICAgfSkpO1xuXG4gICAgdGhpcy5yZWFjdGlvbkNoYW5nZS5lbWl0KHsgdmFsdWUsIHByZXZpb3VzVmFsdWUgfSk7XG4gIH1cblxuICBhc3luYyBzdWJtaXRSZWFjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnN0YXRlKCk7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLnJlc29sdmVkUHJvcHMoKTtcblxuICAgIGlmICghY3VycmVudFN0YXRlLnNlbGVjdGVkVmFsdWUgfHwgcHJvcHMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMuc3RhdGUudXBkYXRlKHMgPT4gKHsgLi4ucywgaXNMb2FkaW5nOiB0cnVlLCBlcnJvcjogbnVsbCB9KSk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gRGV0ZXJtaW5hciBzaSB1c2FyIGVuZHBvaW50IGFuw7NuaW1vIG8gYXV0ZW50aWNhZG9cbiAgICAgIGNvbnN0IGlzQXV0aGVudGljYXRlZCA9IHRoaXMuYXV0aD8uaXNBdXRoZW50aWNhdGVkKCkgPz8gZmFsc2U7XG4gICAgICBjb25zdCB1c2VBbm9ueW1vdXMgPSB0aGlzLnByb3BzLmFsbG93QW5vbnltb3VzICYmICFpc0F1dGhlbnRpY2F0ZWQ7XG5cbiAgICAgIGlmICh1c2VBbm9ueW1vdXMpIHtcbiAgICAgICAgLy8gVXNhciBlbmRwb2ludCBhbsOzbmltbyAocMO6YmxpY28pXG4gICAgICAgIGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNyZWF0ZUFub255bW91c1JlYWN0aW9uKFxuICAgICAgICAgIHByb3BzLmVudGl0eVJlZixcbiAgICAgICAgICBjdXJyZW50U3RhdGUuc2VsZWN0ZWRWYWx1ZSxcbiAgICAgICAgICBjdXJyZW50U3RhdGUuY29tbWVudCB8fCB1bmRlZmluZWRcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFVzYXIgZW5kcG9pbnQgYXV0ZW50aWNhZG9cbiAgICAgICAgYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlUmVhY3Rpb24oXG4gICAgICAgICAgcHJvcHMuZW50aXR5UmVmLFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5zZWxlY3RlZFZhbHVlLFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5jb21tZW50IHx8IHVuZGVmaW5lZFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnN0YXRlLnVwZGF0ZShzID0+ICh7XG4gICAgICAgIC4uLnMsXG4gICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgIGlzU3VibWl0dGVkOiB0cnVlLFxuICAgICAgICBoYWRQcmV2aW91c1JlYWN0aW9uOiAhdXNlQW5vbnltb3VzLCAvLyBTb2xvIHBhcmEgYXV0ZW50aWNhZG9zXG4gICAgICB9KSk7XG5cbiAgICAgIHRoaXMucmVhY3Rpb25TdWJtaXQuZW1pdCh7XG4gICAgICAgIHZhbHVlOiBjdXJyZW50U3RhdGUuc2VsZWN0ZWRWYWx1ZSxcbiAgICAgICAgY29tbWVudDogY3VycmVudFN0YXRlLmNvbW1lbnQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBlbnRpdHlSZWY6IHByb3BzLmVudGl0eVJlZixcbiAgICAgICAgaXNVcGRhdGU6IGN1cnJlbnRTdGF0ZS5oYWRQcmV2aW91c1JlYWN0aW9uLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChwcm9wcy5zaG93VGhhbmtZb3UpIHtcbiAgICAgICAgdGhpcy50b2FzdC5zaG93KHtcbiAgICAgICAgICBtZXNzYWdlOiBwcm9wcy50aGFua1lvdU1lc3NhZ2UsXG4gICAgICAgICAgZHVyYXRpb246IDIwMDAsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzdWJtaXR0aW5nIHJlYWN0aW9uOicsIGVycm9yKTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlKHMgPT4gKHtcbiAgICAgICAgLi4ucyxcbiAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IHRoaXMudCgnZXJyb3JTdWJtaXR0aW5nJyksXG4gICAgICB9KSk7XG5cbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICAgIG1lc3NhZ2U6IHRoaXMudCgnZXJyb3JTdWJtaXR0aW5nJyksXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlQ29tbWVudChldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LmRldGFpbC52YWx1ZSB8fCAnJztcbiAgICB0aGlzLnN0YXRlLnVwZGF0ZShzID0+ICh7IC4uLnMsIGNvbW1lbnQ6IHZhbHVlIH0pKTtcbiAgfVxuXG4gIGdldEVtb2ppKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVkUHJvcHMoKS5lbW9qaXNbaW5kZXhdO1xuICB9XG5cbiAgZ2V0RW1vamlMYWJlbChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzKCkuZW1vamlMYWJlbHNbaW5kZXhdO1xuICB9XG5cbiAgaXNTZWxlY3RlZCh2YWx1ZTogUmVhY3Rpb25WYWx1ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlKCkuc2VsZWN0ZWRWYWx1ZSA9PT0gdmFsdWU7XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmFuc2xhdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBxdWVzdGlvbjogJ8K/VGUgcmVzdWx0w7Mgw7p0aWwgZXN0ZSBjb250ZW5pZG8/JyxcbiAgICAgIGNvbW1lbnRQbGFjZWhvbGRlcjogJ0N1w6ludGFub3MgbcOhcyAob3BjaW9uYWwpLi4uJyxcbiAgICAgIHN1Ym1pdDogJ0VudmlhciBvcGluacOzbicsXG4gICAgICB1cGRhdGU6ICdBY3R1YWxpemFyIG9waW5pw7NuJyxcbiAgICAgIHRoYW5rWW91OiAnwqFHcmFjaWFzIHBvciB0dSBvcGluacOzbiEnLFxuICAgICAgc3VibWl0dGVkOiAnVHUgb3BpbmnDs24gaGEgc2lkbyByZWdpc3RyYWRhJyxcbiAgICAgIGVycm9yU3VibWl0dGluZzogJ0Vycm9yIGFsIGVudmlhci4gSW50ZW50YSBkZSBudWV2by4nLFxuICAgICAgcG9zaXRpdmVMYWJlbDogJ1PDrSwgbXVjaG8nLFxuICAgICAgbmVnYXRpdmVMYWJlbDogJ05vIHRhbnRvJyxcbiAgICAgIG5lZ2F0aXZlRmVlZGJhY2tUaXRsZTogJ8K/Q3XDqW50YW5vcyBxdcOpIG5vIHRlIGd1c3TDsz8nLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgJ0NvbnRlbnRSZWFjdGlvbicpIHx8IHRyYW5zbGF0aW9uc1trZXldIHx8IGtleTtcbiAgfVxufVxuIiwiQGlmIChpc0NvbmZpZ3VyZWQoKSkge1xuPGRpdiBjbGFzcz1cImNvbnRlbnQtcmVhY3Rpb25cIiBbY2xhc3MuZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcygpLmRpc2FibGVkXCIgW2NsYXNzLnJlYWRvbmx5XT1cInJlc29sdmVkUHJvcHMoKS5yZWFkb25seVwiPlxuICA8IS0tIExvYWRpbmcgaW5pY2lhbCAtLT5cbiAgQGlmIChzdGF0ZSgpLmlzTG9hZGluZyAmJiAhc3RhdGUoKS5zZWxlY3RlZFZhbHVlKSB7XG4gIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIj48L2lvbi1zcGlubmVyPlxuICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gIDwhLS0gUHJlZ3VudGEgLS0+XG4gIDxwIGNsYXNzPVwicXVlc3Rpb25cIj5cbiAgICB7eyBzdGF0ZSgpLnNlbGVjdGVkVmFsdWUgPT09ICduZWdhdGl2ZScgPyB0KCduZWdhdGl2ZUZlZWRiYWNrVGl0bGUnKSA6IHJlc29sdmVkUHJvcHMoKS5xdWVzdGlvbiB9fVxuICA8L3A+XG5cbiAgPCEtLSBCb3RvbmVzIGRlIHJlYWNjacOzbiDigJQgdmFyaWFudGUgZW1vamkgKGNhcmFzLCBlc3RyZWxsYXMsIHRodW1icywg4oCmKSAtLT5cbiAgQGlmIChyZXNvbHZlZFByb3BzKCkudmFyaWFudCA9PT0gJ2Vtb2ppJykge1xuICA8ZGl2IGNsYXNzPVwicmVhY3Rpb24tYnV0dG9ucyByZWFjdGlvbi1idXR0b25zLS1lbW9qaVwiPlxuICAgIEBmb3IgKHZhbHVlIG9mIGFjdGl2ZVJlYWN0aW9uVmFsdWVzKCk7IHRyYWNrIHZhbHVlOyBsZXQgaSA9ICRpbmRleCkge1xuICAgIDxpb24tYnV0dG9uXG4gICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgc2hhcGU9XCJyb3VuZFwiXG4gICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZCh2YWx1ZSlcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZXNvbHZlZFByb3BzKCkuZW1vamlMYWJlbHNbaV1cIlxuICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImlzU2VsZWN0ZWQodmFsdWUpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzKCkuZGlzYWJsZWQgfHwgcmVzb2x2ZWRQcm9wcygpLnJlYWRvbmx5XCJcbiAgICAgIChjbGljayk9XCJzZWxlY3RSZWFjdGlvbih2YWx1ZSlcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZW1vamktYnRuXCI+e3sgcmVzb2x2ZWRQcm9wcygpLmVtb2ppc1tpXSB9fTwvc3Bhbj5cbiAgICA8L2lvbi1idXR0b24+XG4gICAgfVxuICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gIDwhLS0gQm90b25lcyBkZSByZWFjY2nDs24g4oCUIHZhcmlhbnRlIHRleHRvIChkZWZhdWx0KSAtLT5cbiAgPGRpdiBjbGFzcz1cInJlYWN0aW9uLWJ1dHRvbnNcIj5cbiAgICA8aW9uLWJ1dHRvblxuICAgICAgW2ZpbGxdPVwiaXNTZWxlY3RlZCgncG9zaXRpdmUnKSA/ICdzb2xpZCcgOiAnb3V0bGluZSdcIlxuICAgICAgc2hhcGU9XCJyb3VuZFwiXG4gICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImlzU2VsZWN0ZWQoJ3Bvc2l0aXZlJylcIlxuICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMoKS5kaXNhYmxlZCB8fCByZXNvbHZlZFByb3BzKCkucmVhZG9ubHlcIlxuICAgICAgKGNsaWNrKT1cInNlbGVjdFJlYWN0aW9uKCdwb3NpdGl2ZScpXCJcbiAgICA+XG4gICAgICB7eyB0KCdwb3NpdGl2ZUxhYmVsJykgfX1cbiAgICA8L2lvbi1idXR0b24+XG4gICAgPGlvbi1idXR0b25cbiAgICAgIFtmaWxsXT1cImlzU2VsZWN0ZWQoJ25lZ2F0aXZlJykgPyAnc29saWQnIDogJ291dGxpbmUnXCJcbiAgICAgIHNoYXBlPVwicm91bmRcIlxuICAgICAgY29sb3I9XCJkYXJrXCJcbiAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJpc1NlbGVjdGVkKCduZWdhdGl2ZScpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJyZXNvbHZlZFByb3BzKCkuZGlzYWJsZWQgfHwgcmVzb2x2ZWRQcm9wcygpLnJlYWRvbmx5XCJcbiAgICAgIChjbGljayk9XCJzZWxlY3RSZWFjdGlvbignbmVnYXRpdmUnKVwiXG4gICAgPlxuICAgICAge3sgdCgnbmVnYXRpdmVMYWJlbCcpIH19XG4gICAgPC9pb24tYnV0dG9uPlxuICA8L2Rpdj5cbiAgfVxuXG4gIDwhLS0gQ2FtcG8gZGUgY29tZW50YXJpbyAoc29sbyBzaSBoYXkgc2VsZWNjacOzbikgLS0+XG4gIEBpZiAoc2hvd0NvbW1lbnRGaWVsZCgpKSB7XG4gIDxkaXYgY2xhc3M9XCJjb21tZW50LXNlY3Rpb25cIj5cbiAgICA8aW9uLXRleHRhcmVhXG4gICAgICBbdmFsdWVdPVwic3RhdGUoKS5jb21tZW50XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJyZXNvbHZlZFByb3BzKCkuY29tbWVudFBsYWNlaG9sZGVyXCJcbiAgICAgIFttYXhsZW5ndGhdPVwicmVzb2x2ZWRQcm9wcygpLm1heENvbW1lbnRMZW5ndGhcIlxuICAgICAgW2Rpc2FibGVkXT1cInJlc29sdmVkUHJvcHMoKS5kaXNhYmxlZFwiXG4gICAgICBbcm93c109XCIzXCJcbiAgICAgIGNsYXNzPVwiY29tbWVudC10ZXh0YXJlYVwiXG4gICAgICAoaW9uSW5wdXQpPVwidXBkYXRlQ29tbWVudCgkZXZlbnQpXCJcbiAgICA+PC9pb24tdGV4dGFyZWE+XG4gICAgPHNwYW4gY2xhc3M9XCJjaGFyLWNvdW50XCI+IHt7IHN0YXRlKCkuY29tbWVudC5sZW5ndGggfX0ve3sgcmVzb2x2ZWRQcm9wcygpLm1heENvbW1lbnRMZW5ndGggfX0gPC9zcGFuPlxuICA8L2Rpdj5cbiAgfVxuXG4gIDwhLS0gQm90w7NuIGRlIGVudsOtbyAtLT5cbiAgQGlmIChzdGF0ZSgpLnNlbGVjdGVkVmFsdWUgJiYgIXN0YXRlKCkuaXNTdWJtaXR0ZWQpIHtcbiAgPGlvbi1idXR0b24gZXhwYW5kPVwiYmxvY2tcIiBzaGFwZT1cInJvdW5kXCIgW2Rpc2FibGVkXT1cIiFjYW5TdWJtaXQoKVwiIChjbGljayk9XCJzdWJtaXRSZWFjdGlvbigpXCIgY2xhc3M9XCJzdWJtaXQtYnV0dG9uXCI+XG4gICAgQGlmIChzdGF0ZSgpLmlzTG9hZGluZykge1xuICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIj48L2lvbi1zcGlubmVyPlxuICAgIH0gQGVsc2UgeyB7eyBzdGF0ZSgpLmhhZFByZXZpb3VzUmVhY3Rpb24gPyB0KCd1cGRhdGUnKSA6IHQoJ3N1Ym1pdCcpIH19IH1cbiAgPC9pb24tYnV0dG9uPlxuICB9XG5cbiAgPCEtLSBNZW5zYWplIGRlIGNvbmZpcm1hY2nDs24gLS0+XG4gIEBpZiAoc3RhdGUoKS5pc1N1Ym1pdHRlZCkge1xuICA8cCBjbGFzcz1cInN1Ym1pdHRlZC1tZXNzYWdlXCI+e3sgdCgndGhhbmtZb3UnKSB9fTwvcD5cbiAgfVxuXG4gIDwhLS0gRXJyb3IgLS0+XG4gIEBpZiAoc3RhdGUoKS5lcnJvcikge1xuICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj57eyBzdGF0ZSgpLmVycm9yIH19PC9wPlxuICB9IH1cbjwvZGl2PlxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVJlZiwgUmVhY3Rpb25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzJztcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZWwgY29tcG9uZW50ZSBjb250ZW50LXJlYWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRSZWFjdGlvbk1ldGFkYXRhIHtcbiAgLyoqIFJlZmVyZW5jaWEgYSBsYSBlbnRpZGFkIChyZXF1ZXJpZG8pICovXG4gIGVudGl0eVJlZjogRW50aXR5UmVmO1xuXG4gIC8qKiBQcmVndW50YSBhIG1vc3RyYXIgKGRlZmF1bHQ6IFwiwr9UZSByZXN1bHTDsyDDunRpbCBlc3RlIGNvbnRlbmlkbz9cIikgKi9cbiAgcXVlc3Rpb24/OiBzdHJpbmc7XG5cbiAgLyoqIE1vc3RyYXIgY2FtcG8gZGUgY29tZW50YXJpbyAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgc2hvd0NvbW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qKiBQbGFjZWhvbGRlciBkZWwgY29tZW50YXJpbyAqL1xuICBjb21tZW50UGxhY2Vob2xkZXI/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVJlZiwgUmVhY3Rpb25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzJztcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBkZWwgY29tcG9uZW50ZSBjb250ZW50LXJlYWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRSZWFjdGlvbk1ldGFkYXRhIHtcbiAgLyoqIFJlZmVyZW5jaWEgYSBsYSBlbnRpZGFkIChyZXF1ZXJpZG8pICovXG4gIGVudGl0eVJlZjogRW50aXR5UmVmO1xuXG4gIC8qKiBQcmVndW50YSBhIG1vc3RyYXIgKGRlZmF1bHQ6IFwiwr9UZSByZXN1bHTDsyDDunRpbCBlc3RlIGNvbnRlbmlkbz9cIikgKi9cbiAgcXVlc3Rpb24/OiBzdHJpbmc7XG5cbiAgLyoqIE1vc3RyYXIgY2FtcG8gZGUgY29tZW50YXJpbyAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgc2hvd0NvbW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qKiBQbGFjZWhvbGRlciBkZWwgY29tZW50YXJpbyAqL1xuICBjb21tZW50UGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqIE3DoXhpbW8gZGUgY2FyYWN0ZXJlcyBkZWwgY29tZW50YXJpbyAoZGVmYXVsdDogNTAwKSAqL1xuICBtYXhDb21tZW50TGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBWYXJpYW50ZSB2aXN1YWwgZGUgbG9zIGJvdG9uZXMgZGUgcmVhY2Npw7NuLlxuICAgKiAtIGAnYnV0dG9ucydgIChkZWZhdWx0KTogYm90b25lcyBkZSB0ZXh0byByZWRvbmRlYWRvcyAoXCJTw60sIG11Y2hvXCIgLyBcIk5vIHRhbnRvXCIpLlxuICAgKiAtIGAnZW1vamknYDogaWNvbm9zIGdyYW5kZXMgY29uZmlndXJhYmxlcyAoY2FyYXMsIGVzdHJlbGxhcywgdGh1bWJzLCBldGMuKS5cbiAgICogUGFzYXIgYGVtb2ppc2AgaW1wbGljYSBgdmFyaWFudDogJ2Vtb2ppJ2AgYXVucXVlIG5vIHNlIGRlY2xhcmUgZXhwbMOtY2l0YW1lbnRlLlxuICAgKi9cbiAgdmFyaWFudD86ICdidXR0b25zJyB8ICdlbW9qaSc7XG5cbiAgLyoqIEVtb2ppcyBwZXJzb25hbGl6YWRvcyBbbmVnYXRpdmUsIG5ldXRyYWwsIHBvc2l0aXZlXSB8IFtuZWdhdGl2ZSwgcG9zaXRpdmVdICovXG4gIGVtb2ppcz86IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSB8IFtzdHJpbmcsIHN0cmluZ107XG5cbiAgLyoqIExhYmVscyBwYXJhIGVtb2ppcyAoYWNjZXNpYmlsaWRhZCkgKi9cbiAgZW1vamlMYWJlbHM/OiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10gfCBbc3RyaW5nLCBzdHJpbmddO1xuXG4gIC8qKlxuICAgKiBWYWxvcmVzIGRlIHJlYWNjacOzbiBwYXJhIGxvcyBxdWUgbW9zdHJhciBlbCBjYW1wbyBkZSBjb21lbnRhcmlvLlxuICAgKiBTaSBzZSBvbWl0ZSwgc2UgdXNhIGBzaG93Q29tbWVudGAgY29tbyBhbnRlcyAoZGVmYXVsdDogdG9kb3MpLlxuICAgKiBFamVtcGxvOiBgWyduZWdhdGl2ZSddYCBtdWVzdHJhIGVsIGNvbW1lbnQgc29sbyBjdWFuZG8gZWwgdXN1YXJpbyBlbGlnZSBuZWdhdGl2by5cbiAgICovXG4gIGNvbW1lbnRPblZhbHVlcz86IFJlYWN0aW9uVmFsdWVbXTtcblxuICAvKiogTW9zdHJhciB0b2FzdCBkZSBhZ3JhZGVjaW1pZW50byAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgc2hvd1RoYW5rWW91PzogYm9vbGVhbjtcblxuICAvKiogTWVuc2FqZSBkZSBhZ3JhZGVjaW1pZW50byBwZXJzb25hbGl6YWRvICovXG4gIHRoYW5rWW91TWVzc2FnZT86IHN0cmluZztcblxuICAvKiogRGVzaGFiaWxpdGFyIGludGVyYWNjacOzbiAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqIE1vZG8gcmVhZG9ubHkgKHNvbG8gbW9zdHJhciBzZWxlY2Npw7NuIHByZXZpYSkgKi9cbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWYWxvciBpbmljaWFsIChwYXJhIFN0b3J5Ym9vayBvIGN1YW5kbyB5YSBzZSBjb25vY2UgZWwgZXN0YWRvKS5cbiAgICogU2kgc2UgcHJvcG9yY2lvbmEsIG5vIHNlIGNvbnN1bHRhcsOhIGxhIEFQSS9GaXJlYmFzZS5cbiAgICovXG4gIGluaXRpYWxWYWx1ZT86IFJlYWN0aW9uVmFsdWU7XG5cbiAgLyoqXG4gICAqIE9taXRpciBjb25zdWx0YSBkZSBmZWVkYmFjayBwcmV2aW8gYWwgY2FyZ2FyLlxuICAgKiDDmnRpbCBwYXJhIFN0b3J5Ym9vayBvIGN1YW5kbyBzZSB1c2EgaW5pdGlhbFZhbHVlLlxuICAgKi9cbiAgc2tpcEluaXRpYWxDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBlcm1pdGlyIGZlZWRiYWNrIGFuw7NuaW1vIChzaW4gYXV0ZW50aWNhY2nDs24pLlxuICAgKiBVc2FkbyBwYXJhIGJsb2dzLCBGQVFzIHkgY29udGVuaWRvIHDDumJsaWNvLlxuICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgKi9cbiAgYWxsb3dBbm9ueW1vdXM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVzdGFkbyBpbnRlcm5vIGRlbCBjb21wb25lbnRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRSZWFjdGlvblN0YXRlIHtcbiAgLyoqIFZhbG9yIHNlbGVjY2lvbmFkbyBhY3R1YWxtZW50ZSAqL1xuICBzZWxlY3RlZFZhbHVlOiBSZWFjdGlvblZhbHVlIHwgbnVsbDtcblxuICAvKiogQ29tZW50YXJpbyBkZWwgdXN1YXJpbyAqL1xuICBjb21tZW50OiBzdHJpbmc7XG5cbiAgLyoqIEluZGljYSBzaSBlc3TDoSBjYXJnYW5kbyAqL1xuICBpc0xvYWRpbmc6IGJvb2xlYW47XG5cbiAgLyoqIEluZGljYSBzaSB5YSBlbnZpw7MgbGEgcmVhY2Npw7NuICovXG4gIGlzU3VibWl0dGVkOiBib29sZWFuO1xuXG4gIC8qKiBJbmRpY2Egc2kgdGVuw61hIHJlYWNjacOzbiBwcmV2aWEgKi9cbiAgaGFkUHJldmlvdXNSZWFjdGlvbjogYm9vbGVhbjtcblxuICAvKiogRXJyb3IgbWVzc2FnZSBpZiBhbnkgKi9cbiAgZXJyb3I6IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKlxuICogRXZlbnRvIGVtaXRpZG8gYWwgZW52aWFyIHJlYWNjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWFjdGlvblN1Ym1pdEV2ZW50IHtcbiAgdmFsdWU6IFJlYWN0aW9uVmFsdWU7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIGVudGl0eVJlZjogRW50aXR5UmVmO1xuICBpc1VwZGF0ZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFdmVudG8gZW1pdGlkbyBhbCBjYW1iaWFyIHNlbGVjY2nDs24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVhY3Rpb25DaGFuZ2VFdmVudCB7XG4gIHZhbHVlOiBSZWFjdGlvblZhbHVlIHwgbnVsbDtcbiAgcHJldmlvdXNWYWx1ZTogUmVhY3Rpb25WYWx1ZSB8IG51bGw7XG59XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { Injectable, inject, isDevMode, signal } from '@angular/core';
|
|
3
3
|
import { catchError, forkJoin, from, map, of, switchMap, throwError } from 'rxjs';
|
|
4
|
+
import { AuthService } from '../auth/auth.service';
|
|
4
5
|
import { MarkdownArticleParserService } from '../markdown-article/markdown-article-parser.service';
|
|
5
6
|
import { VALTECH_CONTENT_CONFIG } from './config';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
@@ -27,6 +28,7 @@ export class ContentService {
|
|
|
27
28
|
this.config = inject(VALTECH_CONTENT_CONFIG, { optional: true });
|
|
28
29
|
this.http = inject(HttpClient);
|
|
29
30
|
this.parser = inject(MarkdownArticleParserService);
|
|
31
|
+
this.auth = inject(AuthService, { optional: true });
|
|
30
32
|
/** `true` si `provideValtechContent()` fue llamado en el bootstrap. */
|
|
31
33
|
this.isConfigured = signal(!!this.config);
|
|
32
34
|
/** Cache de las promesas de cada factory estática, keyed por locale. */
|
|
@@ -82,6 +84,44 @@ export class ContentService {
|
|
|
82
84
|
invalidate() {
|
|
83
85
|
this.staticCache.clear();
|
|
84
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Lista los documentos publicados de la org activa del usuario autenticado.
|
|
89
|
+
*
|
|
90
|
+
* Requiere sesión activa (`AuthService.isAuthenticated()`). El interceptor de
|
|
91
|
+
* auth agrega automáticamente `Authorization: Bearer {token}` a la request.
|
|
92
|
+
*
|
|
93
|
+
* @param type - Tipo de contenido (`'blog'`, `'news'`, …).
|
|
94
|
+
* @param options - `{ locale }` (default `'es'`).
|
|
95
|
+
* @returns Documentos de la org o `[]` si no hay config/sesión.
|
|
96
|
+
*/
|
|
97
|
+
listForOrg(type, options = {}) {
|
|
98
|
+
if (!this.config?.apiUrl)
|
|
99
|
+
return of([]);
|
|
100
|
+
if (!this.auth?.isAuthenticated())
|
|
101
|
+
return of([]);
|
|
102
|
+
const locale = (options.locale ?? 'es').toLowerCase();
|
|
103
|
+
return this.listBackendOrg(type, locale).pipe(catchError(() => of([])));
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Carga un documento de la org activa del usuario autenticado por `slug`.
|
|
107
|
+
*
|
|
108
|
+
* Requiere sesión activa. El interceptor de auth agrega el Bearer token.
|
|
109
|
+
*
|
|
110
|
+
* @param type - Tipo de contenido.
|
|
111
|
+
* @param slug - Slug del documento.
|
|
112
|
+
* @param options - `{ locale }` (default `'es'`).
|
|
113
|
+
* @returns El documento o error si no se encuentra / no hay sesión.
|
|
114
|
+
*/
|
|
115
|
+
loadForOrg(type, slug, options = {}) {
|
|
116
|
+
if (!this.config?.apiUrl) {
|
|
117
|
+
return throwError(() => new Error('ContentService no está configurado.'));
|
|
118
|
+
}
|
|
119
|
+
if (!this.auth?.isAuthenticated()) {
|
|
120
|
+
return throwError(() => new Error('Se requiere sesión activa para cargar contenido de org.'));
|
|
121
|
+
}
|
|
122
|
+
const locale = (options.locale ?? 'es').toLowerCase();
|
|
123
|
+
return this.loadBackendOrg(type, slug, locale);
|
|
124
|
+
}
|
|
85
125
|
// ===========================================================================
|
|
86
126
|
// Internos
|
|
87
127
|
// ===========================================================================
|
|
@@ -128,6 +168,26 @@ export class ContentService {
|
|
|
128
168
|
.get(path)
|
|
129
169
|
.pipe(map(res => res?.item ?? res));
|
|
130
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* GET `{apiUrl}/v2/content/org?type=&locale=` — publicados de la org activa.
|
|
173
|
+
* El Bearer token lo añade el interceptor de auth automáticamente.
|
|
174
|
+
*/
|
|
175
|
+
listBackendOrg(type, locale) {
|
|
176
|
+
const params = new URLSearchParams({ type, locale });
|
|
177
|
+
return this.http
|
|
178
|
+
.get(`${this.config.apiUrl}/v2/content/org?${params}`)
|
|
179
|
+
.pipe(map(res => res?.items ?? []));
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* GET `{apiUrl}/v2/content/org/{type}/{locale}/{slug}` — detalle de la org activa.
|
|
183
|
+
* El Bearer token lo añade el interceptor de auth automáticamente.
|
|
184
|
+
*/
|
|
185
|
+
loadBackendOrg(type, slug, locale) {
|
|
186
|
+
const path = `${this.config.apiUrl}/v2/content/org/${type}/${locale}/${encodeURIComponent(slug)}`;
|
|
187
|
+
return this.http
|
|
188
|
+
.get(path)
|
|
189
|
+
.pipe(map(res => res?.item ?? res));
|
|
190
|
+
}
|
|
131
191
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
132
192
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentService, providedIn: 'root' }); }
|
|
133
193
|
}
|
|
@@ -135,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
135
195
|
type: Injectable,
|
|
136
196
|
args: [{ providedIn: 'root' }]
|
|
137
197
|
}], ctorParameters: () => [] });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb250ZW50LXBsYXRmb3JtL2NvbnRlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQWMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHbEQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFXekI7UUFWaUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBRS9ELHVFQUF1RTtRQUM5RCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLHdFQUF3RTtRQUN2RCxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFzQyxDQUFDO1FBMkY3RSxvRUFBb0U7UUFDNUQsb0JBQWUsR0FBRyxDQUFDLENBQWtCLEVBQUUsQ0FBa0IsRUFBVSxFQUFFO1lBQzNFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxX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QyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzlGLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQXdCLElBQUksQ0FBQzthQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSyxHQUFrQyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDOytHQS9JVSxjQUFjO21IQUFkLGNBQWMsY0FERCxNQUFNOzs0RkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0LCBpc0Rldk1vZGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgZm9ya0pvaW4sIGZyb20sIG1hcCwgb2YsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXJ0aWNsZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9vcmdhbmlzbXMvYXJ0aWNsZS90eXBlcyc7XG5pbXBvcnQgeyBNYXJrZG93bkFydGljbGVQYXJzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbWFya2Rvd24tYXJ0aWNsZS9tYXJrZG93bi1hcnRpY2xlLXBhcnNlci5zZXJ2aWNlJztcbmltcG9ydCB7IFZBTFRFQ0hfQ09OVEVOVF9DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBDb250ZW50RG9jdW1lbnQsIENvbnRlbnREb2N1bWVudFR5cGUsIENvbnRlbnRMb2FkT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFNlcnZpY2lvIGRlIGxhIHBsYXRhZm9ybWEgZGUgY29udGVuaWRvIChBRFItMDIwIMKnMi41KS5cbiAqXG4gKiBVbmUgZG9zIG9yw61nZW5lcyAoKipow61icmlkbyoqKTpcbiAqICAtICoqRXN0w6F0aWNvKiog4oCUIGBzdGF0aWNTb3VyY2VzYCBsYXp5IHBvciBsb2NhbGUsIGdlbmVyYWRhcyBidWlsZC10aW1lLlxuICogIC0gKipCYWNrZW5kKiog4oCUIER5bmFtb0RCICsgQVBJIChgL3YyL2NvbnRlbnQqYCksIHB1YmxpY2FjacOzbiBzaW4gcmVkZXBsb3kuXG4gKlxuICogUmVnbGFzIGRlIG1lcmdlOlxuICogIC0gYGxpc3QoKWAgdW5lIGFtYm9zIG9yw61nZW5lcyBwb3IgYHR5cGVgLiBDb2xpc2nDs24gZGUgYHNsdWdgIOKGkiAqKmVzdMOhdGljb1xuICogICAgZ2FuYSoqIChjb250ZW5pZG8gY3VyYWRvKS4gT3JkZW5hIHBvciBgcHVibGlzaGVkQXRgIGRlc2MgKHNpbiBmZWNoYSBhbCBmaW5hbCkuXG4gKiAgLSBgbG9hZCgpYCByZXN1ZWx2ZSBlc3TDoXRpY28gcHJpbWVybywgY29uICoqZmFsbGJhY2sqKiBhbCBiYWNrZW5kLlxuICpcbiAqIFJlbmRlcjogYHRvQXJ0aWNsZShkb2MpYCBjb252aWVydGUgYGRvYy5ib2R5YCAoTWFya2Rvd24pIGEgYEFydGljbGVNZXRhZGF0YWBcbiAqIHbDrWEgZWwgYG1hcmtkb3duLWFydGljbGUtcGFyc2VyYCBleGlzdGVudGUg4oCUIGxhIHBhZ2UgaGFjZSBgPHZhbC1hcnRpY2xlIFtwcm9wc109XCIuLi5cIj5gLlxuICpcbiAqIFJlcXVpZXJlIGBwcm92aWRlVmFsdGVjaENvbnRlbnQoeyBhcGlVcmwsIGFwcElkLCBzdGF0aWNTb3VyY2VzPyB9KWAgZW4gYG1haW4udHNgLlxuICogU2luIHByb3ZpZGVyLCBlbCBzZXJ2aWNpbyBxdWVkYSBpbmVydGUgKGBpc0NvbmZpZ3VyZWQoKSA9PT0gZmFsc2VgKS5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDb250ZW50U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KFZBTFRFQ0hfQ09OVEVOVF9DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJzZXIgPSBpbmplY3QoTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZSk7XG5cbiAgLyoqIGB0cnVlYCBzaSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KClgIGZ1ZSBsbGFtYWRvIGVuIGVsIGJvb3RzdHJhcC4gKi9cbiAgcmVhZG9ubHkgaXNDb25maWd1cmVkID0gc2lnbmFsKCEhdGhpcy5jb25maWcpO1xuXG4gIC8qKiBDYWNoZSBkZSBsYXMgcHJvbWVzYXMgZGUgY2FkYSBmYWN0b3J5IGVzdMOhdGljYSwga2V5ZWQgcG9yIGxvY2FsZS4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0aWNDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPENvbnRlbnREb2N1bWVudFtdPj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdbdmFsdGVjaC1jb21wb25lbnRzXSBDb250ZW50U2VydmljZTogcHJvdmlkZVZhbHRlY2hDb250ZW50KCkgbm8gZXN0w6EgZW4gbWFpbi50cy4gJyArXG4gICAgICAgICAgJ0VsIGxpc3RhZG8geSBsYSBjYXJnYSBkZSBjb250ZW5pZG8gbm8gZnVuY2lvbmFyw6FuLidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExpc3RhIGxvcyBkb2N1bWVudG9zIHB1YmxpY2Fkb3MgZGUgdW4gYHR5cGVgLCB1bmllbmRvIGVzdMOhdGljbyArIGJhY2tlbmQuXG4gICAqIENvbGlzacOzbiBkZSBgc2x1Z2Ag4oaSIGVzdMOhdGljbyBnYW5hLiBPcmRlbmFkb3MgcG9yIGBwdWJsaXNoZWRBdGAgZGVzYy5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgLSBUaXBvIGRlIGNvbnRlbmlkbyAoYCdibG9nJ2AsIGAnbmV3cydgLCDigKYpLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbGlzdCh0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLCBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBsb2NhbGUgPSAob3B0aW9ucy5sb2NhbGUgPz8gJ2VzJykudG9Mb3dlckNhc2UoKTtcblxuICAgIGNvbnN0IHN0YXRpYyQgPSBmcm9tKHRoaXMubG9hZFN0YXRpYyhsb2NhbGUpKS5waXBlKFxuICAgICAgbWFwKGRvY3MgPT4gZG9jcy5maWx0ZXIoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zdGF0dXMgPT09ICdwdWJsaXNoZWQnKSlcbiAgICApO1xuXG4gICAgY29uc3QgYmFja2VuZCQgPSB0aGlzLmxpc3RCYWNrZW5kKHR5cGUsIGxvY2FsZSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKHsgc3RhdGljRG9jczogc3RhdGljJCwgYmFja2VuZERvY3M6IGJhY2tlbmQkIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgc3RhdGljRG9jcywgYmFja2VuZERvY3MgfSkgPT4gdGhpcy5tZXJnZShzdGF0aWNEb2NzLCBiYWNrZW5kRG9jcykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSB1biBkb2N1bWVudG8gcG9yIGBzbHVnYDogZXN0w6F0aWNvIHByaW1lcm8sIGZhbGxiYWNrIGFsIGJhY2tlbmQuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIC0gVGlwbyBkZSBjb250ZW5pZG8uXG4gICAqIEBwYXJhbSBzbHVnIC0gU2x1ZyBkZWwgZG9jdW1lbnRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbG9hZChcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IChvcHRpb25zLmxvY2FsZSA/PyAnZXMnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGZyb20odGhpcy5sb2FkU3RhdGljKGxvY2FsZSkpLnBpcGUoXG4gICAgICBtYXAoZG9jcyA9PiBkb2NzLmZpbmQoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zbHVnID09PSBzbHVnICYmIGQuc3RhdHVzID09PSAncHVibGlzaGVkJykpLFxuICAgICAgc3dpdGNoTWFwKHN0YXRpY0RvYyA9PlxuICAgICAgICBzdGF0aWNEb2NcbiAgICAgICAgICA/IG9mKHN0YXRpY0RvYylcbiAgICAgICAgICA6IHRoaXMubG9hZEJhY2tlbmQodHlwZSwgc2x1ZywgbG9jYWxlKS5waXBlKFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+XG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYENvbnRlbmlkbyBubyBlbmNvbnRyYWRvOiAke3R5cGV9LyR7bG9jYWxlfS8ke3NsdWd9YCkpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZpZXJ0ZSBlbCBgYm9keWAgKE1hcmtkb3duKSBkZSB1biBkb2N1bWVudG8gZW4gYEFydGljbGVNZXRhZGF0YWAgcGFyYVxuICAgKiByZW5kZXJpemFyIGNvbiBgPHZhbC1hcnRpY2xlIFtwcm9wc109XCIuLi5cIj5gLiBVc2EgZWwgcGFyc2VyIGV4aXN0ZW50ZS5cbiAgICpcbiAgICogQHBhcmFtIGRvYyAtIERvY3VtZW50byBkZSBjb250ZW5pZG8gYSByZW5kZXJpemFyLlxuICAgKiBAcGFyYW0gY29uZmlnIC0gT3ZlcnJpZGUgcGFyY2lhbCBkZSBsYSBgQXJ0aWNsZU1ldGFkYXRhYCByZXN1bHRhbnRlLlxuICAgKi9cbiAgdG9BcnRpY2xlKGRvYzogQ29udGVudERvY3VtZW50LCBjb25maWc/OiBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5wYXJzZShkb2MuYm9keSwgY29uZmlnKTtcbiAgfVxuXG4gIC8qKiBMaW1waWEgbGEgY2FjaGUgZGUgZnVlbnRlcyBlc3TDoXRpY2FzLiBMbGFtYXIgYWwgY2FtYmlhciBkZSBsb2NhbGUgZW4gcnVudGltZS4gKi9cbiAgaW52YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLmNsZWFyKCk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gSW50ZXJub3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqIFVuZSBlc3TDoXRpY28gKyBiYWNrZW5kOiBlc3TDoXRpY28gZ2FuYSBwb3Igc2x1Zzsgb3JkZW4gcG9yIHB1Ymxpc2hlZEF0IGRlc2MuICovXG4gIHByaXZhdGUgbWVyZ2Uoc3RhdGljRG9jczogQ29udGVudERvY3VtZW50W10sIGJhY2tlbmREb2NzOiBDb250ZW50RG9jdW1lbnRbXSk6IENvbnRlbnREb2N1bWVudFtdIHtcbiAgICBjb25zdCBieVNsdWcgPSBuZXcgTWFwPHN0cmluZywgQ29udGVudERvY3VtZW50PigpO1xuICAgIGZvciAoY29uc3QgZG9jIG9mIGJhY2tlbmREb2NzKSBieVNsdWcuc2V0KGRvYy5zbHVnLCBkb2MpO1xuICAgIC8vIEVzdMOhdGljbyBnYW5hIOKAlCBzb2JyZXNjcmliZSBjdWFscXVpZXIgY29saXNpw7NuIGRlbCBiYWNrZW5kLlxuICAgIGZvciAoY29uc3QgZG9jIG9mIHN0YXRpY0RvY3MpIGJ5U2x1Zy5zZXQoZG9jLnNsdWcsIGRvYyk7XG4gICAgcmV0dXJuIFsuLi5ieVNsdWcudmFsdWVzKCldLnNvcnQodGhpcy5ieVB1Ymxpc2hlZERlc2MpO1xuICB9XG5cbiAgLyoqIENvbXBhcmFkb3I6IG3DoXMgcmVjaWVudGUgcHJpbWVybzsgc2luIGBwdWJsaXNoZWRBdGAgYWwgZmluYWwuICovXG4gIHByaXZhdGUgYnlQdWJsaXNoZWREZXNjID0gKGE6IENvbnRlbnREb2N1bWVudCwgYjogQ29udGVudERvY3VtZW50KTogbnVtYmVyID0+IHtcbiAgICBjb25zdCB0YSA9IGEucHVibGlzaGVkQXQgPyBEYXRlLnBhcnNlKGEucHVibGlzaGVkQXQpIDogLUluZmluaXR5O1xuICAgIGNvbnN0IHRiID0gYi5wdWJsaXNoZWRBdCA/IERhdGUucGFyc2UoYi5wdWJsaXNoZWRBdCkgOiAtSW5maW5pdHk7XG4gICAgcmV0dXJuIHRiIC0gdGE7XG4gIH07XG5cbiAgLyoqIENhcmdhICh5IGNhY2hlYSkgbG9zIGRvY3VtZW50b3MgZXN0w6F0aWNvcyBkZSB1biBsb2NhbGUsIHNpIGhheSBmYWN0b3J5LiAqL1xuICBwcml2YXRlIGxvYWRTdGF0aWMobG9jYWxlOiBzdHJpbmcpOiBQcm9taXNlPENvbnRlbnREb2N1bWVudFtdPiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29uZmlnPy5zdGF0aWNTb3VyY2VzPy5bbG9jYWxlXTtcbiAgICBpZiAoIWZhY3RvcnkpIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xuXG4gICAgY29uc3QgY2FjaGVkID0gdGhpcy5zdGF0aWNDYWNoZS5nZXQobG9jYWxlKTtcbiAgICBpZiAoY2FjaGVkKSByZXR1cm4gY2FjaGVkO1xuXG4gICAgY29uc3QgcHJvbWlzZSA9IGZhY3RvcnkoKS5jYXRjaCgoKSA9PiBbXSBhcyBDb250ZW50RG9jdW1lbnRbXSk7XG4gICAgdGhpcy5zdGF0aWNDYWNoZS5zZXQobG9jYWxlLCBwcm9taXNlKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbiAgfVxuXG4gIC8qKiBHRVQgYHthcGlVcmx9L3YyL2NvbnRlbnQ/dHlwZT0mbG9jYWxlPWAg4oCUIHNvbG8gcHVibGljYWRvcy4gKi9cbiAgcHJpdmF0ZSBsaXN0QmFja2VuZCh0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLCBsb2NhbGU6IHN0cmluZyk6IE9ic2VydmFibGU8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5hcGlVcmwpIHJldHVybiBvZihbXSk7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7IHR5cGUsIGxvY2FsZSB9KTtcbiAgICBpZiAodGhpcy5jb25maWcuYXBwSWQpIHBhcmFtcy5zZXQoJ2FwcElkJywgdGhpcy5jb25maWcuYXBwSWQpO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8Q29udGVudExpc3RSZXNwb25zZT4oYCR7dGhpcy5jb25maWcuYXBpVXJsfS92Mi9jb250ZW50PyR7cGFyYW1zfWApXG4gICAgICAucGlwZShtYXAocmVzID0+IHJlcz8uaXRlbXMgPz8gW10pKTtcbiAgfVxuXG4gIC8qKiBHRVQgYHthcGlVcmx9L3YyL2NvbnRlbnQve3R5cGV9L3tsb2NhbGV9L3tzbHVnfWAg4oCUIGRldGFsbGUgcHVibGljYWRvLiAqL1xuICBwcml2YXRlIGxvYWRCYWNrZW5kKFxuICAgIHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsXG4gICAgc2x1Zzogc3RyaW5nLFxuICAgIGxvY2FsZTogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8Q29udGVudERvY3VtZW50PiB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZz8uYXBpVXJsKSB7XG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ0NvbnRlbnRTZXJ2aWNlIG5vIGVzdMOhIGNvbmZpZ3VyYWRvLicpKTtcbiAgICB9XG4gICAgY29uc3QgcGF0aCA9IGAke3RoaXMuY29uZmlnLmFwaVVybH0vdjIvY29udGVudC8ke3R5cGV9LyR7bG9jYWxlfS8ke2VuY29kZVVSSUNvbXBvbmVudChzbHVnKX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8Q29udGVudERldGFpbFJlc3BvbnNlPihwYXRoKVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXM/Lml0ZW0gPz8gKHJlcyBhcyB1bmtub3duIGFzIENvbnRlbnREb2N1bWVudCkpKTtcbiAgfVxufVxuXG4vKiogU2hhcGUgZGUgbGEgcmVzcHVlc3RhIGRlIGxpc3RhZG8gZGVsIGJhY2tlbmQgKGAvdjIvY29udGVudGApLiAqL1xuaW50ZXJmYWNlIENvbnRlbnRMaXN0UmVzcG9uc2Uge1xuICBpdGVtcz86IENvbnRlbnREb2N1bWVudFtdO1xuICBvcGVyYXRpb25JZD86IHN0cmluZztcbn1cblxuLyoqIFNoYXBlIGRlIGxhIHJlc3B1ZXN0YSBkZSBkZXRhbGxlIGRlbCBiYWNrZW5kIChgL3YyL2NvbnRlbnQve3R5cGV9L3tsb2NhbGV9L3tzbHVnfWApLiAqL1xuaW50ZXJmYWNlIENvbnRlbnREZXRhaWxSZXNwb25zZSB7XG4gIGl0ZW0/OiBDb250ZW50RG9jdW1lbnQ7XG4gIG9wZXJhdGlvbklkPzogc3RyaW5nO1xufVxuIl19
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb250ZW50LXBsYXRmb3JtL2NvbnRlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQWMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR2xEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBWXpCO1FBWGlCLFdBQU0sR0FBRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RCxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM5QyxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLHVFQUF1RTtRQUM5RCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLHdFQUF3RTtRQUN2RCxnQkFBVyxHQUFHLElB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QUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7K0dBdk5VLGNBQWM7bUhBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIGlzRGV2TW9kZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBmb3JrSm9pbiwgZnJvbSwgbWFwLCBvZiwgc3dpdGNoTWFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcnRpY2xlTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcnRpY2xlL3R5cGVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZSB9IGZyb20gJy4uL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWQUxURUNIX0NPTlRFTlRfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgQ29udGVudERvY3VtZW50LCBDb250ZW50RG9jdW1lbnRUeXBlLCBDb250ZW50TG9hZE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBkZSBsYSBwbGF0YWZvcm1hIGRlIGNvbnRlbmlkbyAoQURSLTAyMCDCpzIuNSkuXG4gKlxuICogVW5lIGRvcyBvcsOtZ2VuZXMgKCoqaMOtYnJpZG8qKik6XG4gKiAgLSAqKkVzdMOhdGljbyoqIOKAlCBgc3RhdGljU291cmNlc2AgbGF6eSBwb3IgbG9jYWxlLCBnZW5lcmFkYXMgYnVpbGQtdGltZS5cbiAqICAtICoqQmFja2VuZCoqIOKAlCBEeW5hbW9EQiArIEFQSSAoYC92Mi9jb250ZW50KmApLCBwdWJsaWNhY2nDs24gc2luIHJlZGVwbG95LlxuICpcbiAqIFJlZ2xhcyBkZSBtZXJnZTpcbiAqICAtIGBsaXN0KClgIHVuZSBhbWJvcyBvcsOtZ2VuZXMgcG9yIGB0eXBlYC4gQ29saXNpw7NuIGRlIGBzbHVnYCDihpIgKiplc3TDoXRpY29cbiAqICAgIGdhbmEqKiAoY29udGVuaWRvIGN1cmFkbykuIE9yZGVuYSBwb3IgYHB1Ymxpc2hlZEF0YCBkZXNjIChzaW4gZmVjaGEgYWwgZmluYWwpLlxuICogIC0gYGxvYWQoKWAgcmVzdWVsdmUgZXN0w6F0aWNvIHByaW1lcm8sIGNvbiAqKmZhbGxiYWNrKiogYWwgYmFja2VuZC5cbiAqXG4gKiBSZW5kZXI6IGB0b0FydGljbGUoZG9jKWAgY29udmllcnRlIGBkb2MuYm9keWAgKE1hcmtkb3duKSBhIGBBcnRpY2xlTWV0YWRhdGFgXG4gKiB2w61hIGVsIGBtYXJrZG93bi1hcnRpY2xlLXBhcnNlcmAgZXhpc3RlbnRlIOKAlCBsYSBwYWdlIGhhY2UgYDx2YWwtYXJ0aWNsZSBbcHJvcHNdPVwiLi4uXCI+YC5cbiAqXG4gKiBSZXF1aWVyZSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KHsgYXBpVXJsLCBhcHBJZCwgc3RhdGljU291cmNlcz8gfSlgIGVuIGBtYWluLnRzYC5cbiAqIFNpbiBwcm92aWRlciwgZWwgc2VydmljaW8gcXVlZGEgaW5lcnRlIChgaXNDb25maWd1cmVkKCkgPT09IGZhbHNlYCkuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29udGVudFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0NPTlRFTlRfQ09ORklHLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyc2VyID0gaW5qZWN0KE1hcmtkb3duQXJ0aWNsZVBhcnNlclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqIGB0cnVlYCBzaSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KClgIGZ1ZSBsbGFtYWRvIGVuIGVsIGJvb3RzdHJhcC4gKi9cbiAgcmVhZG9ubHkgaXNDb25maWd1cmVkID0gc2lnbmFsKCEhdGhpcy5jb25maWcpO1xuXG4gIC8qKiBDYWNoZSBkZSBsYXMgcHJvbWVzYXMgZGUgY2FkYSBmYWN0b3J5IGVzdMOhdGljYSwga2V5ZWQgcG9yIGxvY2FsZS4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0aWNDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPENvbnRlbnREb2N1bWVudFtdPj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdbdmFsdGVjaC1jb21wb25lbnRzXSBDb250ZW50U2VydmljZTogcHJvdmlkZVZhbHRlY2hDb250ZW50KCkgbm8gZXN0w6EgZW4gbWFpbi50cy4gJyArXG4gICAgICAgICAgJ0VsIGxpc3RhZG8geSBsYSBjYXJnYSBkZSBjb250ZW5pZG8gbm8gZnVuY2lvbmFyw6FuLidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExpc3RhIGxvcyBkb2N1bWVudG9zIHB1YmxpY2Fkb3MgZGUgdW4gYHR5cGVgLCB1bmllbmRvIGVzdMOhdGljbyArIGJhY2tlbmQuXG4gICAqIENvbGlzacOzbiBkZSBgc2x1Z2Ag4oaSIGVzdMOhdGljbyBnYW5hLiBPcmRlbmFkb3MgcG9yIGBwdWJsaXNoZWRBdGAgZGVzYy5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgLSBUaXBvIGRlIGNvbnRlbmlkbyAoYCdibG9nJ2AsIGAnbmV3cydgLCDigKYpLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbGlzdCh0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLCBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBsb2NhbGUgPSAob3B0aW9ucy5sb2NhbGUgPz8gJ2VzJykudG9Mb3dlckNhc2UoKTtcblxuICAgIGNvbnN0IHN0YXRpYyQgPSBmcm9tKHRoaXMubG9hZFN0YXRpYyhsb2NhbGUpKS5waXBlKFxuICAgICAgbWFwKGRvY3MgPT4gZG9jcy5maWx0ZXIoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zdGF0dXMgPT09ICdwdWJsaXNoZWQnKSlcbiAgICApO1xuXG4gICAgY29uc3QgYmFja2VuZCQgPSB0aGlzLmxpc3RCYWNrZW5kKHR5cGUsIGxvY2FsZSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKHsgc3RhdGljRG9jczogc3RhdGljJCwgYmFja2VuZERvY3M6IGJhY2tlbmQkIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgc3RhdGljRG9jcywgYmFja2VuZERvY3MgfSkgPT4gdGhpcy5tZXJnZShzdGF0aWNEb2NzLCBiYWNrZW5kRG9jcykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSB1biBkb2N1bWVudG8gcG9yIGBzbHVnYDogZXN0w6F0aWNvIHByaW1lcm8sIGZhbGxiYWNrIGFsIGJhY2tlbmQuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIC0gVGlwbyBkZSBjb250ZW5pZG8uXG4gICAqIEBwYXJhbSBzbHVnIC0gU2x1ZyBkZWwgZG9jdW1lbnRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbG9hZChcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IChvcHRpb25zLmxvY2FsZSA/PyAnZXMnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGZyb20odGhpcy5sb2FkU3RhdGljKGxvY2FsZSkpLnBpcGUoXG4gICAgICBtYXAoZG9jcyA9PiBkb2NzLmZpbmQoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zbHVnID09PSBzbHVnICYmIGQuc3RhdHVzID09PSAncHVibGlzaGVkJykpLFxuICAgICAgc3dpdGNoTWFwKHN0YXRpY0RvYyA9PlxuICAgICAgICBzdGF0aWNEb2NcbiAgICAgICAgICA/IG9mKHN0YXRpY0RvYylcbiAgICAgICAgICA6IHRoaXMubG9hZEJhY2tlbmQodHlwZSwgc2x1ZywgbG9jYWxlKS5waXBlKFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+XG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYENvbnRlbmlkbyBubyBlbmNvbnRyYWRvOiAke3R5cGV9LyR7bG9jYWxlfS8ke3NsdWd9YCkpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZpZXJ0ZSBlbCBgYm9keWAgKE1hcmtkb3duKSBkZSB1biBkb2N1bWVudG8gZW4gYEFydGljbGVNZXRhZGF0YWAgcGFyYVxuICAgKiByZW5kZXJpemFyIGNvbiBgPHZhbC1hcnRpY2xlIFtwcm9wc109XCIuLi5cIj5gLiBVc2EgZWwgcGFyc2VyIGV4aXN0ZW50ZS5cbiAgICpcbiAgICogQHBhcmFtIGRvYyAtIERvY3VtZW50byBkZSBjb250ZW5pZG8gYSByZW5kZXJpemFyLlxuICAgKiBAcGFyYW0gY29uZmlnIC0gT3ZlcnJpZGUgcGFyY2lhbCBkZSBsYSBgQXJ0aWNsZU1ldGFkYXRhYCByZXN1bHRhbnRlLlxuICAgKi9cbiAgdG9BcnRpY2xlKGRvYzogQ29udGVudERvY3VtZW50LCBjb25maWc/OiBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5wYXJzZShkb2MuYm9keSwgY29uZmlnKTtcbiAgfVxuXG4gIC8qKiBMaW1waWEgbGEgY2FjaGUgZGUgZnVlbnRlcyBlc3TDoXRpY2FzLiBMbGFtYXIgYWwgY2FtYmlhciBkZSBsb2NhbGUgZW4gcnVudGltZS4gKi9cbiAgaW52YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGEgbG9zIGRvY3VtZW50b3MgcHVibGljYWRvcyBkZSBsYSBvcmcgYWN0aXZhIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvLlxuICAgKlxuICAgKiBSZXF1aWVyZSBzZXNpw7NuIGFjdGl2YSAoYEF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpYCkuIEVsIGludGVyY2VwdG9yIGRlXG4gICAqIGF1dGggYWdyZWdhIGF1dG9tw6F0aWNhbWVudGUgYEF1dGhvcml6YXRpb246IEJlYXJlciB7dG9rZW59YCBhIGxhIHJlcXVlc3QuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlICAtIFRpcG8gZGUgY29udGVuaWRvIChgJ2Jsb2cnYCwgYCduZXdzJ2AsIOKApikuXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gYHsgbG9jYWxlIH1gIChkZWZhdWx0IGAnZXMnYCkuXG4gICAqIEByZXR1cm5zIERvY3VtZW50b3MgZGUgbGEgb3JnIG8gYFtdYCBzaSBubyBoYXkgY29uZmlnL3Nlc2nDs24uXG4gICAqL1xuICBsaXN0Rm9yT3JnKFxuICAgIHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsXG4gICAgb3B0aW9uczogQ29udGVudExvYWRPcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkgcmV0dXJuIG9mKFtdKTtcbiAgICBpZiAoIXRoaXMuYXV0aD8uaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBvZihbXSk7XG4gICAgY29uc3QgbG9jYWxlID0gKG9wdGlvbnMubG9jYWxlID8/ICdlcycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMubGlzdEJhY2tlbmRPcmcodHlwZSwgbG9jYWxlKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhcmdhIHVuIGRvY3VtZW50byBkZSBsYSBvcmcgYWN0aXZhIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvIHBvciBgc2x1Z2AuXG4gICAqXG4gICAqIFJlcXVpZXJlIHNlc2nDs24gYWN0aXZhLiBFbCBpbnRlcmNlcHRvciBkZSBhdXRoIGFncmVnYSBlbCBCZWFyZXIgdG9rZW4uXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlICAtIFRpcG8gZGUgY29udGVuaWRvLlxuICAgKiBAcGFyYW0gc2x1ZyAgLSBTbHVnIGRlbCBkb2N1bWVudG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gYHsgbG9jYWxlIH1gIChkZWZhdWx0IGAnZXMnYCkuXG4gICAqIEByZXR1cm5zIEVsIGRvY3VtZW50byBvIGVycm9yIHNpIG5vIHNlIGVuY3VlbnRyYSAvIG5vIGhheSBzZXNpw7NuLlxuICAgKi9cbiAgbG9hZEZvck9yZyhcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdDb250ZW50U2VydmljZSBubyBlc3TDoSBjb25maWd1cmFkby4nKSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5hdXRoPy5pc0F1dGhlbnRpY2F0ZWQoKSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdTZSByZXF1aWVyZSBzZXNpw7NuIGFjdGl2YSBwYXJhIGNhcmdhciBjb250ZW5pZG8gZGUgb3JnLicpKTtcbiAgICB9XG4gICAgY29uc3QgbG9jYWxlID0gKG9wdGlvbnMubG9jYWxlID8/ICdlcycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMubG9hZEJhY2tlbmRPcmcodHlwZSwgc2x1ZywgbG9jYWxlKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBJbnRlcm5vc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogVW5lIGVzdMOhdGljbyArIGJhY2tlbmQ6IGVzdMOhdGljbyBnYW5hIHBvciBzbHVnOyBvcmRlbiBwb3IgcHVibGlzaGVkQXQgZGVzYy4gKi9cbiAgcHJpdmF0ZSBtZXJnZShzdGF0aWNEb2NzOiBDb250ZW50RG9jdW1lbnRbXSwgYmFja2VuZERvY3M6IENvbnRlbnREb2N1bWVudFtdKTogQ29udGVudERvY3VtZW50W10ge1xuICAgIGNvbnN0IGJ5U2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBDb250ZW50RG9jdW1lbnQ+KCk7XG4gICAgZm9yIChjb25zdCBkb2Mgb2YgYmFja2VuZERvY3MpIGJ5U2x1Zy5zZXQoZG9jLnNsdWcsIGRvYyk7XG4gICAgLy8gRXN0w6F0aWNvIGdhbmEg4oCUIHNvYnJlc2NyaWJlIGN1YWxxdWllciBjb2xpc2nDs24gZGVsIGJhY2tlbmQuXG4gICAgZm9yIChjb25zdCBkb2Mgb2Ygc3RhdGljRG9jcykgYnlTbHVnLnNldChkb2Muc2x1ZywgZG9jKTtcbiAgICByZXR1cm4gWy4uLmJ5U2x1Zy52YWx1ZXMoKV0uc29ydCh0aGlzLmJ5UHVibGlzaGVkRGVzYyk7XG4gIH1cblxuICAvKiogQ29tcGFyYWRvcjogbcOhcyByZWNpZW50ZSBwcmltZXJvOyBzaW4gYHB1Ymxpc2hlZEF0YCBhbCBmaW5hbC4gKi9cbiAgcHJpdmF0ZSBieVB1Ymxpc2hlZERlc2MgPSAoYTogQ29udGVudERvY3VtZW50LCBiOiBDb250ZW50RG9jdW1lbnQpOiBudW1iZXIgPT4ge1xuICAgIGNvbnN0IHRhID0gYS5wdWJsaXNoZWRBdCA/IERhdGUucGFyc2UoYS5wdWJsaXNoZWRBdCkgOiAtSW5maW5pdHk7XG4gICAgY29uc3QgdGIgPSBiLnB1Ymxpc2hlZEF0ID8gRGF0ZS5wYXJzZShiLnB1Ymxpc2hlZEF0KSA6IC1JbmZpbml0eTtcbiAgICByZXR1cm4gdGIgLSB0YTtcbiAgfTtcblxuICAvKiogQ2FyZ2EgKHkgY2FjaGVhKSBsb3MgZG9jdW1lbnRvcyBlc3TDoXRpY29zIGRlIHVuIGxvY2FsZSwgc2kgaGF5IGZhY3RvcnkuICovXG4gIHByaXZhdGUgbG9hZFN0YXRpYyhsb2NhbGU6IHN0cmluZyk6IFByb21pc2U8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb25maWc/LnN0YXRpY1NvdXJjZXM/Lltsb2NhbGVdO1xuICAgIGlmICghZmFjdG9yeSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnN0YXRpY0NhY2hlLmdldChsb2NhbGUpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQ7XG5cbiAgICBjb25zdCBwcm9taXNlID0gZmFjdG9yeSgpLmNhdGNoKCgpID0+IFtdIGFzIENvbnRlbnREb2N1bWVudFtdKTtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLnNldChsb2NhbGUsIHByb21pc2UpO1xuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG5cbiAgLyoqIEdFVCBge2FwaVVybH0vdjIvY29udGVudD90eXBlPSZsb2NhbGU9YCDigJQgc29sbyBwdWJsaWNhZG9zLiAqL1xuICBwcml2YXRlIGxpc3RCYWNrZW5kKHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsIGxvY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkgcmV0dXJuIG9mKFtdKTtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgdHlwZSwgbG9jYWxlIH0pO1xuICAgIGlmICh0aGlzLmNvbmZpZy5hcHBJZCkgcGFyYW1zLnNldCgnYXBwSWQnLCB0aGlzLmNvbmZpZy5hcHBJZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50TGlzdFJlc3BvbnNlPihgJHt0aGlzLmNvbmZpZy5hcGlVcmx9L3YyL2NvbnRlbnQ/JHtwYXJhbXN9YClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtcyA/PyBbXSkpO1xuICB9XG5cbiAgLyoqIEdFVCBge2FwaVVybH0vdjIvY29udGVudC97dHlwZX0ve2xvY2FsZX0ve3NsdWd9YCDigJQgZGV0YWxsZSBwdWJsaWNhZG8uICovXG4gIHByaXZhdGUgbG9hZEJhY2tlbmQoXG4gICAgdHlwZTogQ29udGVudERvY3VtZW50VHlwZSxcbiAgICBzbHVnOiBzdHJpbmcsXG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5hcGlVcmwpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignQ29udGVudFNlcnZpY2Ugbm8gZXN0w6EgY29uZmlndXJhZG8uJykpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gYCR7dGhpcy5jb25maWcuYXBpVXJsfS92Mi9jb250ZW50LyR7dHlwZX0vJHtsb2NhbGV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHNsdWcpfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50RGV0YWlsUmVzcG9uc2U+KHBhdGgpXG4gICAgICAucGlwZShtYXAocmVzID0+IHJlcz8uaXRlbSA/PyAocmVzIGFzIHVua25vd24gYXMgQ29udGVudERvY3VtZW50KSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdFVCBge2FwaVVybH0vdjIvY29udGVudC9vcmc/dHlwZT0mbG9jYWxlPWAg4oCUIHB1YmxpY2Fkb3MgZGUgbGEgb3JnIGFjdGl2YS5cbiAgICogRWwgQmVhcmVyIHRva2VuIGxvIGHDsWFkZSBlbCBpbnRlcmNlcHRvciBkZSBhdXRoIGF1dG9tw6F0aWNhbWVudGUuXG4gICAqL1xuICBwcml2YXRlIGxpc3RCYWNrZW5kT3JnKHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsIGxvY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoeyB0eXBlLCBsb2NhbGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50TGlzdFJlc3BvbnNlPihgJHt0aGlzLmNvbmZpZyEuYXBpVXJsfS92Mi9jb250ZW50L29yZz8ke3BhcmFtc31gKVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXM/Lml0ZW1zID8/IFtdKSk7XG4gIH1cblxuICAvKipcbiAgICogR0VUIGB7YXBpVXJsfS92Mi9jb250ZW50L29yZy97dHlwZX0ve2xvY2FsZX0ve3NsdWd9YCDigJQgZGV0YWxsZSBkZSBsYSBvcmcgYWN0aXZhLlxuICAgKiBFbCBCZWFyZXIgdG9rZW4gbG8gYcOxYWRlIGVsIGludGVyY2VwdG9yIGRlIGF1dGggYXV0b23DoXRpY2FtZW50ZS5cbiAgICovXG4gIHByaXZhdGUgbG9hZEJhY2tlbmRPcmcoXG4gICAgdHlwZTogQ29udGVudERvY3VtZW50VHlwZSxcbiAgICBzbHVnOiBzdHJpbmcsXG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnQ+IHtcbiAgICBjb25zdCBwYXRoID0gYCR7dGhpcy5jb25maWchLmFwaVVybH0vdjIvY29udGVudC9vcmcvJHt0eXBlfS8ke2xvY2FsZX0vJHtlbmNvZGVVUklDb21wb25lbnQoc2x1Zyl9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PENvbnRlbnREZXRhaWxSZXNwb25zZT4ocGF0aClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtID8/IChyZXMgYXMgdW5rbm93biBhcyBDb250ZW50RG9jdW1lbnQpKSk7XG4gIH1cbn1cblxuLyoqIFNoYXBlIGRlIGxhIHJlc3B1ZXN0YSBkZSBsaXN0YWRvIGRlbCBiYWNrZW5kIChgL3YyL2NvbnRlbnRgKS4gKi9cbmludGVyZmFjZSBDb250ZW50TGlzdFJlc3BvbnNlIHtcbiAgaXRlbXM/OiBDb250ZW50RG9jdW1lbnRbXTtcbiAgb3BlcmF0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbi8qKiBTaGFwZSBkZSBsYSByZXNwdWVzdGEgZGUgZGV0YWxsZSBkZWwgYmFja2VuZCAoYC92Mi9jb250ZW50L3t0eXBlfS97bG9jYWxlfS97c2x1Z31gKS4gKi9cbmludGVyZmFjZSBDb250ZW50RGV0YWlsUmVzcG9uc2Uge1xuICBpdGVtPzogQ29udGVudERvY3VtZW50O1xuICBvcGVyYXRpb25JZD86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
* para evitar colisión. Este (flat, markdown) es el canónico de la plataforma.
|
|
17
17
|
*/
|
|
18
18
|
export {};
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2NvbnRlbnQtcGxhdGZvcm0vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnRlbnQgUGxhdGZvcm0g4oCUIG1vZGVsbyBjYW7Ds25pY28gZGUgZG9jdW1lbnRvIGRlIGNvbnRlbmlkby5cbiAqXG4gKiBBbGluZWFkbyBjb24gQURSLTAyMCDCpzIuMS4gRXMgZWwgY29udHJhdG8gY29tcGFydGlkbyBlbnRyZTpcbiAqICAtIEJhY2tlbmQgKHNlcnZpY2lvIGBjb250ZW50L2Ag4oCUIER5bmFtb0RCIHRhYmxhIGBjb250ZW50YCkuXG4gKiAgLSBQaXBlbGluZSBlc3TDoXRpY28gKGBzY3JpcHRzL2J1aWxkLWNvbnRlbnQudHNgIOKGkiBgY29udGVudC1zdG9yZS57bG9jYWxlfS50c2ApLlxuICogIC0gRXN0YSBsaWIgKGBDb250ZW50U2VydmljZWAgKyBgcHJvdmlkZVZhbHRlY2hDb250ZW50YCkuXG4gKiAgLSBXZWIgKGAvYmxvZ2AsIGAvbmV3c2AsIOKApikuXG4gKlxuICogTW9kZWxvICoqdW5pZmljYWRvKiogY29uIGRpc2NyaW1pbmFkb3IgYHR5cGVgIOKAlCBhZ3JlZ2FyIHVuIHRpcG8gZGUgY29udGVuaWRvXG4gKiBOTyByZXF1aWVyZSB0b2NhciBiYWNrZW5kIG5pIGxpYi4gRWwgYGJvZHlgIGVzIE1hcmtkb3duIHBsYW5vLCByZW5kZXJpemFkbyBlblxuICogbGEgd2ViIHbDrWEgZWwgYG1hcmtkb3duLWFydGljbGUtcGFyc2VyYCBleGlzdGVudGUgKGBzdHJpbmcgTUQg4oaSIEFydGljbGVNZXRhZGF0YWApLlxuICpcbiAqIE5PVEE6IGV4aXN0ZSB1biB0aXBvIGhvbcOzbmltbyBgQ29udGVudERvY3VtZW50PFQ+YCAoYmxvY2stYmFzZWQsIGJ1aWxkZXIpIGVuXG4gKiBgc2VydmljZXMvY29udGVudC9gLCByZWV4cG9ydGFkbyBwb3IgZWwgcHVibGljLWFwaSBjb21vIGBDb250ZW50QnVpbGRlckRvY3VtZW50YFxuICogcGFyYSBldml0YXIgY29saXNpw7NuLiBFc3RlIChmbGF0LCBtYXJrZG93bikgZXMgZWwgY2Fuw7NuaWNvIGRlIGxhIHBsYXRhZm9ybWEuXG4gKi9cblxuLyoqXG4gKiBUaXBvIGRlIGNvbnRlbmlkbyAoZGlzY3JpbWluYWRvcikuIEV4dGVuc2libGUg4oCUIGFncmVnYXIgdW4gdmFsb3Igbm8gaW1wYWN0YVxuICogYmFja2VuZCBuaSBsaWI7IHNvbG8gbGEgd2ViIGRlY2lkZSBxdcOpIHJ1dGFzIGV4cG9uZXIuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRlbnREb2N1bWVudFR5cGUgPSAnYmxvZycgfCAnbmV3cycgfCAnYXJ0aWNsZScgfCAnZG9jdW1lbnRhdGlvbicgfCAoc3RyaW5nICYge30pO1xuXG4vKipcbiAqIEVzdGFkbyBkZSBwdWJsaWNhY2nDs24gZGVsIGRvY3VtZW50by5cbiAqL1xuZXhwb3J0IHR5cGUgQ29udGVudERvY3VtZW50U3RhdHVzID0gJ2RyYWZ0JyB8ICdwdWJsaXNoZWQnIHwgJ2FyY2hpdmVkJztcblxuLyoqXG4gKiBPcmlnZW4gZGVsIGRvY3VtZW50byDigJQgbWFyY2EgZGUgbGEgbmF0dXJhbGV6YSBow61icmlkYSBkZWwgcGlwZWxpbmUuXG4gKiAgLSBgc3RhdGljYDogYXV0b3LDrWEgZW4gcmVwbywgYnVpbGQtdGltZSAoY29udGVuaWRvIGN1cmFkbyBkZSBsYSBlbXByZXNhKS5cbiAqICAtIGBiYWNrZW5kYDogRHluYW1vREIgKyBBUEkgKHB1YmxpY2FjacOzbiBzaW4gcmVkZXBsb3kgLyBlZGl0b3JlcykuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRlbnREb2N1bWVudFNvdXJjZSA9ICdzdGF0aWMnIHwgJ2JhY2tlbmQnO1xuXG4vKipcbiAqIEF1dG9yIGRlIHVuIGRvY3VtZW50byBkZSBjb250ZW5pZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudERvY3VtZW50QXV0aG9yIHtcbiAgLyoqIE5vbWJyZSB2aXNpYmxlIGRlbCBhdXRvci4gKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogVVJMIGRlbCBhdmF0YXIgZGVsIGF1dG9yLiAqL1xuICBhdmF0YXI/OiBzdHJpbmc7XG4gIC8qKiBSb2wgbyBjYXJnbyBkZWwgYXV0b3IuICovXG4gIHJvbGU/
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2NvbnRlbnQtcGxhdGZvcm0vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnRlbnQgUGxhdGZvcm0g4oCUIG1vZGVsbyBjYW7Ds25pY28gZGUgZG9jdW1lbnRvIGRlIGNvbnRlbmlkby5cbiAqXG4gKiBBbGluZWFkbyBjb24gQURSLTAyMCDCpzIuMS4gRXMgZWwgY29udHJhdG8gY29tcGFydGlkbyBlbnRyZTpcbiAqICAtIEJhY2tlbmQgKHNlcnZpY2lvIGBjb250ZW50L2Ag4oCUIER5bmFtb0RCIHRhYmxhIGBjb250ZW50YCkuXG4gKiAgLSBQaXBlbGluZSBlc3TDoXRpY28gKGBzY3JpcHRzL2J1aWxkLWNvbnRlbnQudHNgIOKGkiBgY29udGVudC1zdG9yZS57bG9jYWxlfS50c2ApLlxuICogIC0gRXN0YSBsaWIgKGBDb250ZW50U2VydmljZWAgKyBgcHJvdmlkZVZhbHRlY2hDb250ZW50YCkuXG4gKiAgLSBXZWIgKGAvYmxvZ2AsIGAvbmV3c2AsIOKApikuXG4gKlxuICogTW9kZWxvICoqdW5pZmljYWRvKiogY29uIGRpc2NyaW1pbmFkb3IgYHR5cGVgIOKAlCBhZ3JlZ2FyIHVuIHRpcG8gZGUgY29udGVuaWRvXG4gKiBOTyByZXF1aWVyZSB0b2NhciBiYWNrZW5kIG5pIGxpYi4gRWwgYGJvZHlgIGVzIE1hcmtkb3duIHBsYW5vLCByZW5kZXJpemFkbyBlblxuICogbGEgd2ViIHbDrWEgZWwgYG1hcmtkb3duLWFydGljbGUtcGFyc2VyYCBleGlzdGVudGUgKGBzdHJpbmcgTUQg4oaSIEFydGljbGVNZXRhZGF0YWApLlxuICpcbiAqIE5PVEE6IGV4aXN0ZSB1biB0aXBvIGhvbcOzbmltbyBgQ29udGVudERvY3VtZW50PFQ+YCAoYmxvY2stYmFzZWQsIGJ1aWxkZXIpIGVuXG4gKiBgc2VydmljZXMvY29udGVudC9gLCByZWV4cG9ydGFkbyBwb3IgZWwgcHVibGljLWFwaSBjb21vIGBDb250ZW50QnVpbGRlckRvY3VtZW50YFxuICogcGFyYSBldml0YXIgY29saXNpw7NuLiBFc3RlIChmbGF0LCBtYXJrZG93bikgZXMgZWwgY2Fuw7NuaWNvIGRlIGxhIHBsYXRhZm9ybWEuXG4gKi9cblxuLyoqXG4gKiBUaXBvIGRlIGNvbnRlbmlkbyAoZGlzY3JpbWluYWRvcikuIEV4dGVuc2libGUg4oCUIGFncmVnYXIgdW4gdmFsb3Igbm8gaW1wYWN0YVxuICogYmFja2VuZCBuaSBsaWI7IHNvbG8gbGEgd2ViIGRlY2lkZSBxdcOpIHJ1dGFzIGV4cG9uZXIuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRlbnREb2N1bWVudFR5cGUgPSAnYmxvZycgfCAnbmV3cycgfCAnYXJ0aWNsZScgfCAnZG9jdW1lbnRhdGlvbicgfCAoc3RyaW5nICYge30pO1xuXG4vKipcbiAqIEVzdGFkbyBkZSBwdWJsaWNhY2nDs24gZGVsIGRvY3VtZW50by5cbiAqL1xuZXhwb3J0IHR5cGUgQ29udGVudERvY3VtZW50U3RhdHVzID0gJ2RyYWZ0JyB8ICdwdWJsaXNoZWQnIHwgJ2FyY2hpdmVkJztcblxuLyoqXG4gKiBPcmlnZW4gZGVsIGRvY3VtZW50byDigJQgbWFyY2EgZGUgbGEgbmF0dXJhbGV6YSBow61icmlkYSBkZWwgcGlwZWxpbmUuXG4gKiAgLSBgc3RhdGljYDogYXV0b3LDrWEgZW4gcmVwbywgYnVpbGQtdGltZSAoY29udGVuaWRvIGN1cmFkbyBkZSBsYSBlbXByZXNhKS5cbiAqICAtIGBiYWNrZW5kYDogRHluYW1vREIgKyBBUEkgKHB1YmxpY2FjacOzbiBzaW4gcmVkZXBsb3kgLyBlZGl0b3JlcykuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRlbnREb2N1bWVudFNvdXJjZSA9ICdzdGF0aWMnIHwgJ2JhY2tlbmQnO1xuXG4vKipcbiAqIEF1dG9yIGRlIHVuIGRvY3VtZW50byBkZSBjb250ZW5pZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudERvY3VtZW50QXV0aG9yIHtcbiAgLyoqIE5vbWJyZSB2aXNpYmxlIGRlbCBhdXRvci4gKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogVVJMIGRlbCBhdmF0YXIgZGVsIGF1dG9yLiAqL1xuICBhdmF0YXI/OiBzdHJpbmc7XG4gIC8qKiBSb2wgbyBjYXJnbyBkZWwgYXV0b3IuICovXG4gIHJvbGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRG9jdW1lbnRvIGRlIGNvbnRlbmlkbyB1bmlmaWNhZG8gKGNhbsOzbmljbyDigJQgQURSLTAyMCDCpzIuMSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudERvY3VtZW50IHtcbiAgLyoqIElkZW50aWZpY2Fkb3Igw7puaWNvIOKAlCB1dWlkIChiYWNrZW5kKSBvIGBzdGF0aWM6e3R5cGV9Ontsb2NhbGV9OntzbHVnfWAgKGVzdMOhdGljbykuICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBBcHBJRCBkZWwgcHJvZHVjdG8gZHVlw7FvIGRlbCBkb2N1bWVudG8uICovXG4gIGFwcElkOiBzdHJpbmc7XG4gIC8qKiBUaXBvIGRlIGNvbnRlbmlkbyAoZGlzY3JpbWluYWRvcikuICovXG4gIHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGU7XG4gIC8qKiBTbHVnIOKAlCDDum5pY28gcG9yIChhcHBJZCwgdHlwZSwgbG9jYWxlKS4gKi9cbiAgc2x1Zzogc3RyaW5nO1xuICAvKiogTG9jYWxlIGRlbCBkb2N1bWVudG8gKGAnZXMnYCB8IGAnZW4nYCB8IOKApikuICovXG4gIGxvY2FsZTogc3RyaW5nO1xuICAvKiogVMOtdHVsbyBkZWwgZG9jdW1lbnRvLiAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKiogUmVzdW1lbiAvIGV4dHJhY3RvIHBhcmEgbGlzdGFkb3MgeSBTRU8uICovXG4gIGV4Y2VycHQ6IHN0cmluZztcbiAgLyoqIFVSTCBkZSBsYSBpbWFnZW4gZGUgcG9ydGFkYSAoUzMgdsOtYSBzdG9yYWdlIHNlcnZpY2UpLiAqL1xuICBjb3ZlckltYWdlPzogc3RyaW5nO1xuICAvKiogQ3VlcnBvIGVuIE1hcmtkb3duIOKAlCByZW5kZXIgdsOtYSBtYXJrZG93bi1hcnRpY2xlLXBhcnNlci4gKi9cbiAgYm9keTogc3RyaW5nO1xuICAvKiogQXV0b3IgZGVsIGRvY3VtZW50by4gKi9cbiAgYXV0aG9yPzogQ29udGVudERvY3VtZW50QXV0aG9yO1xuICAvKiogRXRpcXVldGFzIHBhcmEgY2F0ZWdvcml6YWNpw7NuLiAqL1xuICB0YWdzPzogc3RyaW5nW107XG4gIC8qKiBDYXRlZ29yw61hIHByaW1hcmlhLiAqL1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgLyoqIEVzdGFkbyBkZSBwdWJsaWNhY2nDs24uICovXG4gIHN0YXR1czogQ29udGVudERvY3VtZW50U3RhdHVzO1xuICAvKiogT3JpZ2VuIGRlbCBkb2N1bWVudG8gKG1hcmNhIGjDrWJyaWRhKS4gKi9cbiAgc291cmNlOiBDb250ZW50RG9jdW1lbnRTb3VyY2U7XG4gIC8qKlxuICAgKiBBbGNhbmNlIGRlbCBkb2N1bWVudG8uXG4gICAqICAtIGAnYXBwJ2A6IGNvbnRlbmlkbyBkZSBsYSBwbGF0YWZvcm1hLCB2aXNpYmxlIGEgdG9kb3MgbG9zIHVzZXJzLlxuICAgKiAgLSBgJ29yZydgOiBjb250ZW5pZG8gcHJpdmFkbyBkZSB1bmEgb3JnYW5pemFjacOzbiwgYWNjZXNvIGF1dGVudGljYWRvLlxuICAgKi9cbiAgc2NvcGU/OiAnYXBwJyB8ICdvcmcnO1xuICAvKiogT3JnSUQgcHJvcGlldGFyaWEg4oCUIHByZXNlbnRlIGN1YW5kbyBgc2NvcGUgPT09ICdvcmcnYC4gKi9cbiAgb3JnSWQ/OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBwdWJsaWNhY2nDs24gKElTTyA4NjAxKS4gKi9cbiAgcHVibGlzaGVkQXQ/OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBjcmVhY2nDs24gKElTTyA4NjAxKS4gKi9cbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSDDumx0aW1hIGFjdHVhbGl6YWNpw7NuIChJU08gODYwMSkuICovXG4gIHVwZGF0ZWRBdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGxhenkgZGUgZG9jdW1lbnRvcyBlc3TDoXRpY29zIHBhcmEgdW4gbG9jYWxlLiBHZW5lcmFkYSBidWlsZC10aW1lIHBvclxuICogYHNjcmlwdHMvYnVpbGQtY29udGVudC50c2AuIFNlIHVzYSBjb24gYGltcG9ydCgpYCBkaW7DoW1pY28gcGFyYSBxdWUgY2FkYSBsb2NhbGVcbiAqIHF1ZWRlIGNvZGUtc3BsaXQgKGlndWFsIHBhdHLDs24gcXVlIGBMZWdhbENvbnRlbnRGYWN0b3J5YCkuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRlbnRTdGF0aWNGYWN0b3J5ID0gKCkgPT4gUHJvbWlzZTxDb250ZW50RG9jdW1lbnRbXT47XG5cbi8qKlxuICogQ29uZmlndXJhY2nDs24gZGUgYHByb3ZpZGVWYWx0ZWNoQ29udGVudGAgKEFEUi0wMjAgwqcyLjUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hDb250ZW50Q29uZmlnIHtcbiAgLyoqIEJhc2UgVVJMIGRlIGxhIEFQSSBiYWNrZW5kIChzaW4gdHJhaWxpbmcgc2xhc2gpLiBFai4gYGVudmlyb25tZW50LmFwaVVybGAuICovXG4gIGFwaVVybDogc3RyaW5nO1xuICAvKiogQXBwSUQgZGVsIHByb2R1Y3RvIOKAlCBzZSBlbnbDrWEgY29tbyBxdWVyeSBwYXJhbSBhbCBiYWNrZW5kLiAqL1xuICBhcHBJZDogc3RyaW5nO1xuICAvKipcbiAgICogRnVlbnRlcyBlc3TDoXRpY2FzIGxhenkga2V5ZWQgcG9yIGxvY2FsZSAoZ2VuZXJhZGFzIGJ1aWxkLXRpbWUpLiBPcGNpb25hbCDigJRcbiAgICogc2kgbm8gaGF5LCBlbCBzZXJ2aWNpbyBvcGVyYSBzb2xvIGNvbnRyYSBlbCBiYWNrZW5kLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBzdGF0aWNTb3VyY2VzOiB7XG4gICAqICAgZXM6ICgpID0+IGltcG9ydCgnLi9hcHAvZ2VuZXJhdGVkL2NvbnRlbnQtc3RvcmUuZXMnKS50aGVuKG0gPT4gbS5DT05URU5UX1NUT1JFX0VTKSxcbiAgICogICBlbjogKCkgPT4gaW1wb3J0KCcuL2FwcC9nZW5lcmF0ZWQvY29udGVudC1zdG9yZS5lbicpLnRoZW4obSA9PiBtLkNPTlRFTlRfU1RPUkVfRU4pLFxuICAgKiB9XG4gICAqL1xuICBzdGF0aWNTb3VyY2VzPzogeyBbbG9jYWxlOiBzdHJpbmddOiBDb250ZW50U3RhdGljRmFjdG9yeSB9O1xufVxuXG4vKipcbiAqIE9wY2lvbmVzIGRlIGNhcmdhL2xpc3RhZG8gZGUgY29udGVuaWRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRMb2FkT3B0aW9ucyB7XG4gIC8qKiBMb2NhbGUgYSByZXNvbHZlciAoZGVmYXVsdCBgJ2VzJ2ApLiAqL1xuICBsb2NhbGU/OiBzdHJpbmc7XG59XG4iXX0=
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '2.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '2.0.954';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC45NTQnO1xuIl19
|