valtech-components 2.0.952 → 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/components/molecules/select-input/select-input.component.mjs +3 -3
- package/esm2022/lib/components/organisms/attachment-uploader/attachment-uploader.component.mjs +4 -3
- package/esm2022/lib/components/organisms/attachment-uploader/types.mjs +1 -1
- package/esm2022/lib/components/organisms/form/form.component.mjs +5 -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 +72 -7
- 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/components/organisms/attachment-uploader/types.d.ts +4 -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtcmVhY3Rpb24vY29udGVudC1yZWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFJWixNQUFNLEVBQ04sUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUdsRTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRztJQUM1QixFQUFFLEVBQUU7UUFDRixRQUFRLEVBQUUsa0NBQWtDO1FBQzVDLGtCQUFrQixFQUFFLDZCQUE2QjtRQUNqRCxNQUFNLEVBQUUsZ0JBQWdCO1FBQ3hCLE1BQU0sRUFBRSxvQkFBb0I7UUFDNUIsUUFBUSxFQUFFLDBCQUEwQjtRQUNw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LElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDekUsQ0FBQzsrR0F0T1Usd0JBQXdCO21HQUF4Qix3QkFBd0Isa05DL0VyQyw4L0VBeUVBLDRuQ0RFWSxZQUFZLDhCQUFFLFdBQVcsK0JBQUUsU0FBUyxvUEFBRSxVQUFVLHlHQUFFLFdBQVc7OzRGQUk1RCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUM7d0RBWS9ELEtBQUs7c0JBQWIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgc2lnbmFsLFxuICBjb21wdXRlZCxcbiAgaXNEZXZNb2RlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uU3Bpbm5lciwgSW9uVGV4dGFyZWEgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEZlZWRiYWNrU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL2ZlZWRiYWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVhY3Rpb25WYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrL3R5cGVzJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udGVudFJlYWN0aW9uTWV0YWRhdGEsIENvbnRlbnRSZWFjdGlvblN0YXRlLCBSZWFjdGlvblN1Ym1pdEV2ZW50LCBSZWFjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogRGVmYXVsdHMgaTE4biBkZWwgY29tcG9uZW50ZSAoZXMvZW4pLiBFbCBjb21wb25lbnRlIGxvcyBhdXRvLXJlZ2lzdHJhIGVuIHN1XG4gKiBjb25zdHJ1Y3RvciBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbCBuYW1lc3BhY2UgYENvbnRlbnRSZWFjdGlvbmAuIEVzdG9cbiAqIGdhcmFudGl6YSBxdWUgTlVOQ0EgaGF5YSB1bmEga2V5IGZhbHRhbnRlOiB1bmEga2V5IGZhbHRhbnRlIHNlIGV2YWzDumEgZW4gZWxcbiAqIHRlbXBsYXRlIHBvciBjYWRhIGNoYW5nZS1kZXRlY3Rpb24g4oaSIGBjb25zb2xlLndhcm5gIHBvciBDRCDihpIgY29uIGVsXG4gKiBgdmFsLWRlYnVnLWNvbnNvbGVgIGFjdGl2byAoZXNwZWphIGNvbnNvbGUuKiBhIHVuIHNpZ25hbCkgc2UgZGlzcGFyYSB1biBsb29wXG4gKiBpbmZpbml0byBxdWUgY29uZ2VsYSBlbCBuYXZlZ2Fkb3IgZW4gZGV2LiBBdXRvLXJlZ2lzdHJhciBsbyBlbGltaW5hIGRlIHJhw616LlxuICovXG5jb25zdCBDT05URU5UX1JFQUNUSU9OX0kxOE4gPSB7XG4gIGVzOiB7XG4gICAgcXVlc3Rpb246ICfCv1RlIHJlc3VsdMOzIMO6dGlsIGVzdGUgY29udGVuaWRvPycsXG4gICAgY29tbWVudFBsYWNlaG9sZGVyOiAnQ3XDqW50YW5vcyBtw6FzIChvcGNpb25hbCkuLi4nLFxuICAgIHN1Ym1pdDogJ0VudmlhciBvcGluacOzbicsXG4gICAgdXBkYXRlOiAnQWN0dWFsaXphciBvcGluacOzbicsXG4gICAgdGhhbmtZb3U6ICfCoUdyYWNpYXMgcG9yIHR1IG9waW5pw7NuIScsXG4gICAgc3VibWl0dGVkOiAnVHUgb3BpbmnDs24gaGEgc2lkbyByZWdpc3RyYWRhJyxcbiAgICBlcnJvclN1Ym1pdHRpbmc6ICdFcnJvciBhbCBlbnZpYXIuIEludGVudGEgZGUgbnVldm8uJyxcbiAgICBwb3NpdGl2ZUxhYmVsOiAnU8OtLCBtdWNobycsXG4gICAgbmVnYXRpdmVMYWJlbDogJ05vIHRhbnRvJyxcbiAgICBuZWdhdGl2ZUZlZWRiYWNrVGl0bGU6ICfCv0N1w6ludGFub3MgcXXDqSBubyB0ZSBndXN0w7M/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=
|
|
@@ -121,7 +121,7 @@ export class SearchSelectorComponent {
|
|
|
121
121
|
<ion-select-option [value]="o.id">{{ o.name }}</ion-select-option>
|
|
122
122
|
}
|
|
123
123
|
</ion-select>
|
|
124
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-select{border:.0625rem solid var(--ion-color-medium);border-radius:1.5rem;margin-top:.375rem;padding-top:.
|
|
124
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-select{border:.0625rem solid var(--ion-color-medium);border-radius:1.5rem;margin-top:.375rem;padding-top:.375rem!important;padding-bottom:.375rem!important;padding-inline-start:1rem!important;padding-inline-end:.625rem!important}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }] }); }
|
|
125
125
|
}
|
|
126
126
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchSelectorComponent, decorators: [{
|
|
127
127
|
type: Component,
|
|
@@ -139,10 +139,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
139
139
|
<ion-select-option [value]="o.id">{{ o.name }}</ion-select-option>
|
|
140
140
|
}
|
|
141
141
|
</ion-select>
|
|
142
|
-
`, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-select{border:.0625rem solid var(--ion-color-medium);border-radius:1.5rem;margin-top:.375rem;padding-top:.
|
|
142
|
+
`, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-select{border:.0625rem solid var(--ion-color-medium);border-radius:1.5rem;margin-top:.375rem;padding-top:.375rem!important;padding-bottom:.375rem!important;padding-inline-start:1rem!important;padding-inline-end:.625rem!important}\n"] }]
|
|
143
143
|
}], propDecorators: { preset: [{
|
|
144
144
|
type: Input
|
|
145
145
|
}], props: [{
|
|
146
146
|
type: Input
|
|
147
147
|
}] } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQXdCMUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUE5Q3BDO1FBK0NVLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVd4Qzs7Ozs7Ozs7OztXQVVHO1FBQ00sVUFBSyxHQUEyQixFQUFFLENBQUM7UUFFNUM7O1dBRUc7UUFDSCxrQkFBYSxHQUFrQixFQUFtQixDQUFDO0tBbUVwRDtJQTVEQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxZQUFZO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFaEgsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixHQUFHLFdBQVc7WUFDZCxHQUFHLElBQUksQ0FBQyxLQUFLO1NBQ0csQ0FBQztJQUNyQixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDakUsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCwwRUFBMEU7UUFDMUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0csSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3hCLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7WUFDckIsaUJBQWlCLEVBQUUsR0FBRztTQUN2QixDQUFDO1FBQ0YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUM7UUFFL0Qsb0RBQW9EO1FBQ3BELHdFQUF3RTtRQUN4RSx1RUFBdUU7UUFDdkUsOERBQThEO1FBQzlELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxHQUFXLEVBQUUsUUFBZ0I7UUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsSUFBSSxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQzlELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM3QyxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDOUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzsrR0EvRlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsK0lBMUN4Qjs7Ozs7Ozs7Ozs7Ozs7R0FjVCx5OUZBZlMsbUJBQW1CLDBUQUFFLFNBQVMsa1ZBQUUsZUFBZTs7NEZBMkM5Qyx1QkFBdUI7a0JBOUNuQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLFlBQ2hEOzs7Ozs7Ozs7Ozs7OztHQWNUOzhCQXVDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBYUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGFwcGx5RGVmYXVsdFZhbHVlVG9Db250cm9sIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2Zvcm0tZGVmYXVsdHMnO1xuaW1wb3J0IHsgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0cyc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2VsZWN0LWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLXNlbGVjdFxuICAgICAgW2Zvcm1Db250cm9sXT1cInJlc29sdmVkUHJvcHMuY29udHJvbFwiXG4gICAgICBbbGFiZWxdPVwicmVzb2x2ZWRQcm9wcy5sYWJlbFwiXG4gICAgICBbaW50ZXJmYWNlT3B0aW9uc109XCJjdXN0b21Qb3BvdmVyT3B0aW9uc1wiXG4gICAgICBbaW50ZXJmYWNlXT1cInJlc29sdmVkUHJvcHMuc2VsZWN0SW50ZXJmYWNlIHx8ICdwb3BvdmVyJ1wiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlclwiXG4gICAgICBbY2FuY2VsVGV4dF09XCJjYW5jZWxUZXh0XCJcbiAgICAgIFtva1RleHRdPVwib2tUZXh0XCJcbiAgICA+XG4gICAgICBAZm9yIChvIG9mIHJlc29sdmVkUHJvcHMub3B0aW9uczsgdHJhY2sgby5pZCkge1xuICAgICAgICA8aW9uLXNlbGVjdC1vcHRpb24gW3ZhbHVlXT1cIm8uaWRcIj57eyBvLm5hbWUgfX08L2lvbi1zZWxlY3Qtb3B0aW9uPlxuICAgICAgfVxuICAgIDwvaW9uLXNlbGVjdD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtc2VsZWN0LWlucHV0XG4gKlxuICogQSBzZWxlY3QvZHJvcGRvd24gaW5wdXQgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMsIHVzaW5nIElvbmljJ3Mgc2VsZWN0IGNvbXBvbmVudC5cbiAqIFN1cHBvcnRzIHByZXNldHMgZm9yIHJldXNhYmxlIGNvbmZpZ3VyYXRpb25zLlxuICpcbiAqIEBleGFtcGxlIFdpdGggcHJlc2V0IChyZWNvbW1lbmRlZCk6XG4gKiA8dmFsLXNlbGVjdC1pbnB1dCBwcmVzZXQ9XCJmb3JtLWZpZWxkXCIgW3Byb3BzXT1cIntcbiAqICAgY29udHJvbDogbXlDb250cm9sLFxuICogICBsYWJlbDogJ1NlbGVjY2lvbmFyJyxcbiAqICAgb3B0aW9uczogW3sgaWQ6ICcxJywgbmFtZTogJ09wY2nDs24gMScgfV1cbiAqIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gKlxuICogQGV4YW1wbGUgU3RhdGljIChiYWNrd2FyZHMgY29tcGF0aWJsZSk6XG4gKiA8dmFsLXNlbGVjdC1pbnB1dCBbcHJvcHNdPVwie1xuICogICBjb250cm9sOiBteUNvbnRyb2wsXG4gKiAgIGxhYmVsOiAnU2VsZWNjaW9uYXInLFxuICogICBvcHRpb25zOiBbeyBpZDogJzEnLCBuYW1lOiAnT3BjacOzbiAxJyB9XSxcbiAqICAgY2FuY2VsVGV4dDogJ0NhbmNlbGFyJyxcbiAqICAgb2tUZXh0OiAnQWNlcHRhcidcbiAqIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByZXNldDogc3RyaW5nIC0gTmFtZSBvZiBwcmVzZXQgdG8gYXBwbHkgKGUuZy4sICdmb3JtLWZpZWxkJylcbiAqIEBpbnB1dCBwcm9wczogSW5wdXRNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBzZWxlY3QgaW5wdXQgKG92ZXJyaWRlcyBwcmVzZXQgdmFsdWVzKVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcHJlc2V0cyA9IGluamVjdChQcmVzZXRTZXJ2aWNlKTtcblxuICAvKipcbiAgICogUHJlc2V0IG5hbWUgdG8gYXBwbHkuIFByZXNldHMgZGVmaW5lIHJldXNhYmxlIGlucHV0IGNvbmZpZ3VyYXRpb25zXG4gICAqIHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYXQgYXBwIGxldmVsIHZpYSBwcm92aWRlVmFsdGVjaFByZXNldHMoKS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPHZhbC1zZWxlY3QtaW5wdXQgcHJlc2V0PVwiZm9ybS1maWVsZFwiIFtwcm9wc109XCJ7IGNvbnRyb2w6IGN0cmwsIG9wdGlvbnM6IG9wdHMgfVwiPjwvdmFsLXNlbGVjdC1pbnB1dD5cbiAgICovXG4gIEBJbnB1dCgpIHByZXNldD86IHN0cmluZztcblxuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuIFZhbHVlcyBoZXJlIG92ZXJyaWRlIHByZXNldCB2YWx1ZXMuXG4gICAqIEB0eXBlIHtJbnB1dE1ldGFkYXRhfVxuICAgKiBAcHJvcGVydHkgY29udHJvbCAtIFRoZSBBbmd1bGFyIEZvcm1Db250cm9sIGZvciB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAcHJvcGVydHkgbGFiZWwgLSBUaGUgbGFiZWwgZm9yIHRoZSBzZWxlY3QuXG4gICAqIEBwcm9wZXJ0eSBvcHRpb25zIC0gVGhlIGF2YWlsYWJsZSBvcHRpb25zIGZvciB0aGUgc2VsZWN0LlxuICAgKiBAcHJvcGVydHkgcGxhY2Vob2xkZXIgLSBUaGUgcGxhY2Vob2xkZXIgdGV4dC5cbiAgICogQHByb3BlcnR5IG1vZGFsSGVhZGVyIC0gQ3VzdG9tIGhlYWRlciB0ZXh0IGZvciB0aGUgbW9kYWwgKG9wdGlvbmFsLCB1c2VzIGxhYmVsIGlmIG5vdCBwcm92aWRlZCkuXG4gICAqIEBwcm9wZXJ0eSBjYW5jZWxUZXh0IC0gQ3VzdG9tIGNhbmNlbCBidXR0b24gdGV4dCAoZGVmYXVsdDogJ0NhbmNlbGFyJykuXG4gICAqIEBwcm9wZXJ0eSBva1RleHQgLSBDdXN0b20gT0sgYnV0dG9uIHRleHQgKGRlZmF1bHQ6ICdBY2VwdGFyJykuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUGFydGlhbDxJbnB1dE1ldGFkYXRhPiA9IHt9O1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlZCBwcm9wcyBhZnRlciBtZXJnaW5nIHByZXNldCArIGV4cGxpY2l0IHByb3BzLlxuICAgKi9cbiAgcmVzb2x2ZWRQcm9wczogSW5wdXRNZXRhZGF0YSA9IHt9IGFzIElucHV0TWV0YWRhdGE7XG5cbiAgY3VzdG9tTW9kYWxPcHRpb25zOiB7IGhlYWRlcjogc3RyaW5nOyBicmVha3BvaW50czogbnVtYmVyW107IGluaXRpYWxCcmVha3BvaW50OiBudW1iZXIgfTtcbiAgY3VzdG9tUG9wb3Zlck9wdGlvbnM6IHsgY3NzQ2xhc3M6IHN0cmluZyB9O1xuICBjYW5jZWxUZXh0OiBzdHJpbmc7XG4gIG9rVGV4dDogc3RyaW5nO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgdGhpcy5zZXR1cENvbXBvbmVudCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwcmVzZXQnXSB8fCBjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgICAgdGhpcy5zZXR1cENvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBwcmVzZXQgY29uZmlndXJhdGlvbiB3aXRoIGV4cGxpY2l0IHByb3BzLlxuICAgKiBFeHBsaWNpdCBwcm9wcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlUHJvcHMoKTogdm9pZCB7XG4gICAgY29uc3QgcHJlc2V0UHJvcHMgPSB0aGlzLnByZXNldCA/ICh0aGlzLnByZXNldHMuZ2V0KCdzZWxlY3RJbnB1dCcsIHRoaXMucHJlc2V0KSBhcyBQYXJ0aWFsPElucHV0TWV0YWRhdGE+KSA6IHt9O1xuXG4gICAgdGhpcy5yZXNvbHZlZFByb3BzID0ge1xuICAgICAgLi4ucHJlc2V0UHJvcHMsXG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcz8ud2l0aERlZmF1bHQgfHwgdGhpcy5yZXNvbHZlZFByb3BzPy52YWx1ZSkge1xuICAgICAgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wodGhpcy5yZXNvbHZlZFByb3BzKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgbW9kYWwgaGVhZGVyIGZyb20gcHJvcHMgb3IgdXNlIGxhYmVsIGFzIGZhbGxiYWNrLCB0aGVuIGkxOG4gZGVmYXVsdFxuICAgIGNvbnN0IGhlYWRlclRleHQgPSB0aGlzLnJlc29sdmVkUHJvcHMubW9kYWxIZWFkZXIgfHwgdGhpcy5yZXNvbHZlZFByb3BzLmxhYmVsIHx8IHRoaXMuaTE4bi50KCdzZWxlY3RPcHRpb24nKTtcblxuICAgIHRoaXMuY3VzdG9tTW9kYWxPcHRpb25zID0ge1xuICAgICAgaGVhZGVyOiBoZWFkZXJUZXh0LFxuICAgICAgYnJlYWtwb2ludHM6IFswLCAwLjZdLFxuICAgICAgaW5pdGlhbEJyZWFrcG9pbnQ6IDAuNixcbiAgICB9O1xuICAgIHRoaXMuY3VzdG9tUG9wb3Zlck9wdGlvbnMgPSB7IGNzc0NsYXNzOiAndmFsLXNlbGVjdC1wb3BvdmVyJyB9O1xuXG4gICAgLy8gU2V0IGJ1dHRvbiB0ZXh0cyBmcm9tIHByb3BzIG9yIHVzZSBpMThuIGRlZmF1bHRzLlxuICAgIC8vIEZhbGxiYWNrIGNoYWluOiBuYW1lc3BhY2UtbGVzcyBpMThuIOKGkiAnQ29tbW9uJyBuYW1lc3BhY2Ug4oaSIGhhcmRjb2RlZC5cbiAgICAvLyBFbCBuYW1lc3BhY2UtbGVzcyBidXNjYSBlbiBfZ2xvYmFsOyBzaSBubyBleGlzdGUgKGNhc28gdHlwaWNhbCBhcHApLFxuICAgIC8vIHByb2JhbW9zIGVuICdDb21tb24nIHF1ZSBsYSBtYXlvcsOtYSBkZSBhcHBzIHRpZW5lbiBwb2JsYWRvLlxuICAgIHRoaXMuY2FuY2VsVGV4dCA9IHRoaXMucmVzb2x2ZWRQcm9wcy5jYW5jZWxUZXh0IHx8IHRoaXMucmVzb2x2ZUkxOG4oJ2NhbmNlbCcsICdDYW5jZWxhcicpO1xuICAgIHRoaXMub2tUZXh0ID0gdGhpcy5yZXNvbHZlZFByb3BzLm9rVGV4dCB8fCB0aGlzLnJlc29sdmVJMThuKCdvaycsICdPSycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1c2NhIHVuIGtleSBlbiBgX2dsb2JhbGAgcHJpbWVybywgbHVlZ28gZW4gYENvbW1vbmAsIGZpbmFsbWVudGUgY2FlIGFsXG4gICAqIGRlZmF1bHQgaGFyZGNvZGVkLiDDmnRpbCBwYXJhIHRleHRvcyBjcm9zcy1jdXR0aW5nIChjYW5jZWwvb2svY2xvc2UvZXRjLilcbiAgICogc2luIG9ibGlnYXIgYSBjYWRhIGFwcCBhIGR1cGxpY2FybG9zIGVuIGNhZGEgbmFtZXNwYWNlLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlSTE4bihrZXk6IHN0cmluZywgZmFsbGJhY2s6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdHJ5R2xvYmFsID0gdGhpcy5pMThuLnQoa2V5KTtcbiAgICBpZiAodHJ5R2xvYmFsICYmICF0cnlHbG9iYWwuc3RhcnRzV2l0aCgnWycpKSByZXR1cm4gdHJ5R2xvYmFsO1xuICAgIGNvbnN0IHRyeUNvbW1vbiA9IHRoaXMuaTE4bi50KGtleSwgJ0NvbW1vbicpO1xuICAgIGlmICh0cnlDb21tb24gJiYgIXRyeUNvbW1vbi5zdGFydHNXaXRoKCdbJykpIHJldHVybiB0cnlDb21tb247XG4gICAgcmV0dXJuIGZhbGxiYWNrO1xuICB9XG59XG4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQXdCMUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUE5Q3BDO1FBK0NVLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQVd4Qzs7Ozs7Ozs7OztXQVVHO1FBQ00sVUFBSyxHQUEyQixFQUFFLENBQUM7UUFFNUM7O1dBRUc7UUFDSCxrQkFBYSxHQUFrQixFQUFtQixDQUFDO0tBbUVwRDtJQTVEQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxZQUFZO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFaEgsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixHQUFHLFdBQVc7WUFDZCxHQUFHLElBQUksQ0FBQyxLQUFLO1NBQ0csQ0FBQztJQUNyQixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDakUsMEJBQTBCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCwwRUFBMEU7UUFDMUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0csSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3hCLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7WUFDckIsaUJBQWlCLEVBQUUsR0FBRztTQUN2QixDQUFDO1FBQ0YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUM7UUFFL0Qsb0RBQW9EO1FBQ3BELHdFQUF3RTtRQUN4RSx1RUFBdUU7UUFDdkUsOERBQThEO1FBQzlELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxHQUFXLEVBQUUsUUFBZ0I7UUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsSUFBSSxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQzlELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM3QyxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDOUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzsrR0EvRlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsK0lBMUN4Qjs7Ozs7Ozs7Ozs7Ozs7R0FjVCw2OUZBZlMsbUJBQW1CLDBUQUFFLFNBQVMsa1ZBQUUsZUFBZTs7NEZBMkM5Qyx1QkFBdUI7a0JBOUNuQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLFlBQ2hEOzs7Ozs7Ozs7Ozs7OztHQWNUOzhCQXVDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBYUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGFwcGx5RGVmYXVsdFZhbHVlVG9Db250cm9sIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2Zvcm0tZGVmYXVsdHMnO1xuaW1wb3J0IHsgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0cyc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2VsZWN0LWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLXNlbGVjdFxuICAgICAgW2Zvcm1Db250cm9sXT1cInJlc29sdmVkUHJvcHMuY29udHJvbFwiXG4gICAgICBbbGFiZWxdPVwicmVzb2x2ZWRQcm9wcy5sYWJlbFwiXG4gICAgICBbaW50ZXJmYWNlT3B0aW9uc109XCJjdXN0b21Qb3BvdmVyT3B0aW9uc1wiXG4gICAgICBbaW50ZXJmYWNlXT1cInJlc29sdmVkUHJvcHMuc2VsZWN0SW50ZXJmYWNlIHx8ICdwb3BvdmVyJ1wiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicmVzb2x2ZWRQcm9wcy5wbGFjZWhvbGRlclwiXG4gICAgICBbY2FuY2VsVGV4dF09XCJjYW5jZWxUZXh0XCJcbiAgICAgIFtva1RleHRdPVwib2tUZXh0XCJcbiAgICA+XG4gICAgICBAZm9yIChvIG9mIHJlc29sdmVkUHJvcHMub3B0aW9uczsgdHJhY2sgby5pZCkge1xuICAgICAgICA8aW9uLXNlbGVjdC1vcHRpb24gW3ZhbHVlXT1cIm8uaWRcIj57eyBvLm5hbWUgfX08L2lvbi1zZWxlY3Qtb3B0aW9uPlxuICAgICAgfVxuICAgIDwvaW9uLXNlbGVjdD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtc2VsZWN0LWlucHV0XG4gKlxuICogQSBzZWxlY3QvZHJvcGRvd24gaW5wdXQgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMsIHVzaW5nIElvbmljJ3Mgc2VsZWN0IGNvbXBvbmVudC5cbiAqIFN1cHBvcnRzIHByZXNldHMgZm9yIHJldXNhYmxlIGNvbmZpZ3VyYXRpb25zLlxuICpcbiAqIEBleGFtcGxlIFdpdGggcHJlc2V0IChyZWNvbW1lbmRlZCk6XG4gKiA8dmFsLXNlbGVjdC1pbnB1dCBwcmVzZXQ9XCJmb3JtLWZpZWxkXCIgW3Byb3BzXT1cIntcbiAqICAgY29udHJvbDogbXlDb250cm9sLFxuICogICBsYWJlbDogJ1NlbGVjY2lvbmFyJyxcbiAqICAgb3B0aW9uczogW3sgaWQ6ICcxJywgbmFtZTogJ09wY2nDs24gMScgfV1cbiAqIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gKlxuICogQGV4YW1wbGUgU3RhdGljIChiYWNrd2FyZHMgY29tcGF0aWJsZSk6XG4gKiA8dmFsLXNlbGVjdC1pbnB1dCBbcHJvcHNdPVwie1xuICogICBjb250cm9sOiBteUNvbnRyb2wsXG4gKiAgIGxhYmVsOiAnU2VsZWNjaW9uYXInLFxuICogICBvcHRpb25zOiBbeyBpZDogJzEnLCBuYW1lOiAnT3BjacOzbiAxJyB9XSxcbiAqICAgY2FuY2VsVGV4dDogJ0NhbmNlbGFyJyxcbiAqICAgb2tUZXh0OiAnQWNlcHRhcidcbiAqIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gKlxuICogQGlucHV0IHByZXNldDogc3RyaW5nIC0gTmFtZSBvZiBwcmVzZXQgdG8gYXBwbHkgKGUuZy4sICdmb3JtLWZpZWxkJylcbiAqIEBpbnB1dCBwcm9wczogSW5wdXRNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBzZWxlY3QgaW5wdXQgKG92ZXJyaWRlcyBwcmVzZXQgdmFsdWVzKVxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcHJlc2V0cyA9IGluamVjdChQcmVzZXRTZXJ2aWNlKTtcblxuICAvKipcbiAgICogUHJlc2V0IG5hbWUgdG8gYXBwbHkuIFByZXNldHMgZGVmaW5lIHJldXNhYmxlIGlucHV0IGNvbmZpZ3VyYXRpb25zXG4gICAqIHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYXQgYXBwIGxldmVsIHZpYSBwcm92aWRlVmFsdGVjaFByZXNldHMoKS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPHZhbC1zZWxlY3QtaW5wdXQgcHJlc2V0PVwiZm9ybS1maWVsZFwiIFtwcm9wc109XCJ7IGNvbnRyb2w6IGN0cmwsIG9wdGlvbnM6IG9wdHMgfVwiPjwvdmFsLXNlbGVjdC1pbnB1dD5cbiAgICovXG4gIEBJbnB1dCgpIHByZXNldD86IHN0cmluZztcblxuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuIFZhbHVlcyBoZXJlIG92ZXJyaWRlIHByZXNldCB2YWx1ZXMuXG4gICAqIEB0eXBlIHtJbnB1dE1ldGFkYXRhfVxuICAgKiBAcHJvcGVydHkgY29udHJvbCAtIFRoZSBBbmd1bGFyIEZvcm1Db250cm9sIGZvciB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAcHJvcGVydHkgbGFiZWwgLSBUaGUgbGFiZWwgZm9yIHRoZSBzZWxlY3QuXG4gICAqIEBwcm9wZXJ0eSBvcHRpb25zIC0gVGhlIGF2YWlsYWJsZSBvcHRpb25zIGZvciB0aGUgc2VsZWN0LlxuICAgKiBAcHJvcGVydHkgcGxhY2Vob2xkZXIgLSBUaGUgcGxhY2Vob2xkZXIgdGV4dC5cbiAgICogQHByb3BlcnR5IG1vZGFsSGVhZGVyIC0gQ3VzdG9tIGhlYWRlciB0ZXh0IGZvciB0aGUgbW9kYWwgKG9wdGlvbmFsLCB1c2VzIGxhYmVsIGlmIG5vdCBwcm92aWRlZCkuXG4gICAqIEBwcm9wZXJ0eSBjYW5jZWxUZXh0IC0gQ3VzdG9tIGNhbmNlbCBidXR0b24gdGV4dCAoZGVmYXVsdDogJ0NhbmNlbGFyJykuXG4gICAqIEBwcm9wZXJ0eSBva1RleHQgLSBDdXN0b20gT0sgYnV0dG9uIHRleHQgKGRlZmF1bHQ6ICdBY2VwdGFyJykuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUGFydGlhbDxJbnB1dE1ldGFkYXRhPiA9IHt9O1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlZCBwcm9wcyBhZnRlciBtZXJnaW5nIHByZXNldCArIGV4cGxpY2l0IHByb3BzLlxuICAgKi9cbiAgcmVzb2x2ZWRQcm9wczogSW5wdXRNZXRhZGF0YSA9IHt9IGFzIElucHV0TWV0YWRhdGE7XG5cbiAgY3VzdG9tTW9kYWxPcHRpb25zOiB7IGhlYWRlcjogc3RyaW5nOyBicmVha3BvaW50czogbnVtYmVyW107IGluaXRpYWxCcmVha3BvaW50OiBudW1iZXIgfTtcbiAgY3VzdG9tUG9wb3Zlck9wdGlvbnM6IHsgY3NzQ2xhc3M6IHN0cmluZyB9O1xuICBjYW5jZWxUZXh0OiBzdHJpbmc7XG4gIG9rVGV4dDogc3RyaW5nO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgdGhpcy5zZXR1cENvbXBvbmVudCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwcmVzZXQnXSB8fCBjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgICAgdGhpcy5zZXR1cENvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBwcmVzZXQgY29uZmlndXJhdGlvbiB3aXRoIGV4cGxpY2l0IHByb3BzLlxuICAgKiBFeHBsaWNpdCBwcm9wcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlUHJvcHMoKTogdm9pZCB7XG4gICAgY29uc3QgcHJlc2V0UHJvcHMgPSB0aGlzLnByZXNldCA/ICh0aGlzLnByZXNldHMuZ2V0KCdzZWxlY3RJbnB1dCcsIHRoaXMucHJlc2V0KSBhcyBQYXJ0aWFsPElucHV0TWV0YWRhdGE+KSA6IHt9O1xuXG4gICAgdGhpcy5yZXNvbHZlZFByb3BzID0ge1xuICAgICAgLi4ucHJlc2V0UHJvcHMsXG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgIH0gYXMgSW5wdXRNZXRhZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcz8ud2l0aERlZmF1bHQgfHwgdGhpcy5yZXNvbHZlZFByb3BzPy52YWx1ZSkge1xuICAgICAgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wodGhpcy5yZXNvbHZlZFByb3BzKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgbW9kYWwgaGVhZGVyIGZyb20gcHJvcHMgb3IgdXNlIGxhYmVsIGFzIGZhbGxiYWNrLCB0aGVuIGkxOG4gZGVmYXVsdFxuICAgIGNvbnN0IGhlYWRlclRleHQgPSB0aGlzLnJlc29sdmVkUHJvcHMubW9kYWxIZWFkZXIgfHwgdGhpcy5yZXNvbHZlZFByb3BzLmxhYmVsIHx8IHRoaXMuaTE4bi50KCdzZWxlY3RPcHRpb24nKTtcblxuICAgIHRoaXMuY3VzdG9tTW9kYWxPcHRpb25zID0ge1xuICAgICAgaGVhZGVyOiBoZWFkZXJUZXh0LFxuICAgICAgYnJlYWtwb2ludHM6IFswLCAwLjZdLFxuICAgICAgaW5pdGlhbEJyZWFrcG9pbnQ6IDAuNixcbiAgICB9O1xuICAgIHRoaXMuY3VzdG9tUG9wb3Zlck9wdGlvbnMgPSB7IGNzc0NsYXNzOiAndmFsLXNlbGVjdC1wb3BvdmVyJyB9O1xuXG4gICAgLy8gU2V0IGJ1dHRvbiB0ZXh0cyBmcm9tIHByb3BzIG9yIHVzZSBpMThuIGRlZmF1bHRzLlxuICAgIC8vIEZhbGxiYWNrIGNoYWluOiBuYW1lc3BhY2UtbGVzcyBpMThuIOKGkiAnQ29tbW9uJyBuYW1lc3BhY2Ug4oaSIGhhcmRjb2RlZC5cbiAgICAvLyBFbCBuYW1lc3BhY2UtbGVzcyBidXNjYSBlbiBfZ2xvYmFsOyBzaSBubyBleGlzdGUgKGNhc28gdHlwaWNhbCBhcHApLFxuICAgIC8vIHByb2JhbW9zIGVuICdDb21tb24nIHF1ZSBsYSBtYXlvcsOtYSBkZSBhcHBzIHRpZW5lbiBwb2JsYWRvLlxuICAgIHRoaXMuY2FuY2VsVGV4dCA9IHRoaXMucmVzb2x2ZWRQcm9wcy5jYW5jZWxUZXh0IHx8IHRoaXMucmVzb2x2ZUkxOG4oJ2NhbmNlbCcsICdDYW5jZWxhcicpO1xuICAgIHRoaXMub2tUZXh0ID0gdGhpcy5yZXNvbHZlZFByb3BzLm9rVGV4dCB8fCB0aGlzLnJlc29sdmVJMThuKCdvaycsICdPSycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1c2NhIHVuIGtleSBlbiBgX2dsb2JhbGAgcHJpbWVybywgbHVlZ28gZW4gYENvbW1vbmAsIGZpbmFsbWVudGUgY2FlIGFsXG4gICAqIGRlZmF1bHQgaGFyZGNvZGVkLiDDmnRpbCBwYXJhIHRleHRvcyBjcm9zcy1jdXR0aW5nIChjYW5jZWwvb2svY2xvc2UvZXRjLilcbiAgICogc2luIG9ibGlnYXIgYSBjYWRhIGFwcCBhIGR1cGxpY2FybG9zIGVuIGNhZGEgbmFtZXNwYWNlLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlSTE4bihrZXk6IHN0cmluZywgZmFsbGJhY2s6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdHJ5R2xvYmFsID0gdGhpcy5pMThuLnQoa2V5KTtcbiAgICBpZiAodHJ5R2xvYmFsICYmICF0cnlHbG9iYWwuc3RhcnRzV2l0aCgnWycpKSByZXR1cm4gdHJ5R2xvYmFsO1xuICAgIGNvbnN0IHRyeUNvbW1vbiA9IHRoaXMuaTE4bi50KGtleSwgJ0NvbW1vbicpO1xuICAgIGlmICh0cnlDb21tb24gJiYgIXRyeUNvbW1vbi5zdGFydHNXaXRoKCdbJykpIHJldHVybiB0cnlDb21tb247XG4gICAgcmV0dXJuIGZhbGxiYWNrO1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/components/organisms/attachment-uploader/attachment-uploader.component.mjs
CHANGED
|
@@ -5,6 +5,7 @@ import { addIcons } from 'ionicons';
|
|
|
5
5
|
import { attachOutline, cameraOutline, checkmarkCircleOutline, closeCircleOutline, closeOutline, documentOutline, imageOutline, } from 'ionicons/icons';
|
|
6
6
|
import { FeedbackService } from '../../../services/feedback';
|
|
7
7
|
import { I18nService } from '../../../services/i18n';
|
|
8
|
+
import { TitleComponent } from '../../atoms/title/title.component';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export class AttachmentUploaderComponent {
|
|
10
11
|
get readyUrls() {
|
|
@@ -88,10 +89,10 @@ export class AttachmentUploaderComponent {
|
|
|
88
89
|
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
89
90
|
}
|
|
90
91
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AttachmentUploaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
91
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AttachmentUploaderComponent, isStandalone: true, selector: "val-attachment-uploader", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { attachmentsChange: "attachmentsChange" }, ngImport: i0, template: "<div class=\"attachment-uploader\">\n <input #filePicker type=\"file\" [accept]=\"accept()\" multiple class=\"hidden-input\" (change)=\"onFilesSelected($event)\" />\n\n <div class=\"attachment-actions\">\n <ion-button fill=\"outline\" color=\"dark\" size=\"small\" [disabled]=\"isDisabled()\" (click)=\"filePicker.click()\">\n <ion-icon slot=\"start\" name=\"attach-outline\"></ion-icon>\n {{ i18n.t('attachAdd') }}\n </ion-button>\n <!-- label trick: native browser gesture forwarding \u2192 iOS/PWA no bloquea el picker -->\n <label class=\"camera-label\" [class.camera-label--disabled]=\"isDisabled()\">\n <input\n type=\"file\"\n accept=\"image/*\"\n capture=\"environment\"\n class=\"hidden-input\"\n [disabled]=\"isDisabled()\"\n (change)=\"onFilesSelected($event)\"\n />\n <ion-icon name=\"camera-outline\"></ion-icon>\n {{ i18n.t('attachCamera') }}\n </label>\n </div>\n\n @if (maxReached()) {\n <ion-note color=\"warning\" class=\"max-note\">\n {{ i18n.t('attachMaxCount', '_global', { count: maxFiles().toString() }) }}\n </ion-note>\n } @if (attachments().length > 0) {\n <div class=\"attachment-list\">\n @for (item of attachments(); track item.id) {\n <div class=\"attachment-item\" [class]=\"'status-' + item.status\">\n <ion-icon\n class=\"file-icon\"\n [name]=\"item.file.type.startsWith('image/') ? 'image-outline' : 'document-outline'\"\n ></ion-icon>\n <div class=\"file-info\">\n <span class=\"file-name\">{{ item.file.name }}</span>\n <span class=\"file-size\">{{ formatSize(item.file.size) }}</span>\n </div>\n\n @if (item.status === 'uploading') {\n <ion-spinner class=\"status-icon\" name=\"circular\"></ion-spinner>\n } @else if (item.status === 'ready') {\n <ion-icon class=\"status-icon\" name=\"checkmark-circle-outline\" color=\"success\"></ion-icon>\n } @else if (item.status === 'error') {\n <ion-icon class=\"status-icon\" name=\"close-circle-outline\" color=\"danger\"></ion-icon>\n } @if (item.status !== 'uploading') {\n <ion-button fill=\"clear\" size=\"small\" color=\"dark\" (click)=\"remove(item.id)\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n } @if (item.status === 'error' && item.error) {\n <ion-note color=\"danger\" class=\"error-note\">{{ item.error }}</ion-note>\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".hidden-input{display:none}.camera-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;height:32px;box-sizing:border-box;font-size:13px;font-weight:500;letter-spacing:.01em;border-radius:4px;border:1px solid currentColor;color:var(--ion-color-dark);background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.camera-label ion-icon{font-size:18px;flex-shrink:0}.camera-label--disabled{opacity:.4;pointer-events:none}.attachment-uploader{display:flex;flex-direction:column;gap:8px}.attachment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attachment-actions ion-button{margin:0;height:32px}.attachment-list{display:flex;flex-direction:column;gap:4px}.attachment-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--ion-background-color, #fff);border:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .08));flex-wrap:wrap}.attachment-item.status-error{border-color:var(--ion-color-danger)}.file-icon{font-size:22px;color:var(--ion-text-color);flex-shrink:0}.file-info{flex:1;min-width:0;display:flex;flex-direction:column}.file-name{font-size:13px;color:var(--ion-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11px;color:var(--ion-color-medium)}:host-context(.dark) .attachment-item,:host-context(.ion-palette-dark) .attachment-item,:host-context(html.ion-palette-dark) .attachment-item,:host-context(body.dark) .attachment-item,:host-context([data-theme=dark]) .attachment-item{background:#ffffff0a;border-color:#ffffff1f}:host-context(.dark) .attachment-item.status-error,:host-context(.ion-palette-dark) .attachment-item.status-error,:host-context(html.ion-palette-dark) .attachment-item.status-error,:host-context(body.dark) .attachment-item.status-error,:host-context([data-theme=dark]) .attachment-item.status-error{border-color:var(--ion-color-danger)}.status-icon{font-size:20px;flex-shrink:0}.error-note{font-size:11px;width:100%}.max-note{font-size:12px}\n"], dependencies: [{ 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: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }] }); }
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AttachmentUploaderComponent, isStandalone: true, selector: "val-attachment-uploader", inputs: { props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { attachmentsChange: "attachmentsChange" }, ngImport: i0, template: "<div class=\"attachment-uploader\">\n @if (props().title) {\n <val-title class=\"attachment-title\" [props]=\"{ content: props().title, size: 'small', color: 'dark', bold: false }\" />\n }\n\n <input #filePicker type=\"file\" [accept]=\"accept()\" multiple class=\"hidden-input\" (change)=\"onFilesSelected($event)\" />\n\n <div class=\"attachment-actions\">\n <ion-button fill=\"outline\" color=\"dark\" size=\"small\" [disabled]=\"isDisabled()\" (click)=\"filePicker.click()\">\n <ion-icon slot=\"start\" name=\"attach-outline\"></ion-icon>\n {{ i18n.t('attachAdd') }}\n </ion-button>\n <!-- label trick: native browser gesture forwarding \u2192 iOS/PWA no bloquea el picker -->\n <label class=\"camera-label\" [class.camera-label--disabled]=\"isDisabled()\">\n <input\n type=\"file\"\n accept=\"image/*\"\n capture=\"environment\"\n class=\"hidden-input\"\n [disabled]=\"isDisabled()\"\n (change)=\"onFilesSelected($event)\"\n />\n <ion-icon name=\"camera-outline\"></ion-icon>\n {{ i18n.t('attachCamera') }}\n </label>\n </div>\n\n @if (maxReached()) {\n <ion-note color=\"warning\" class=\"max-note\">\n {{ i18n.t('attachMaxCount', '_global', { count: maxFiles().toString() }) }}\n </ion-note>\n } @if (attachments().length > 0) {\n <div class=\"attachment-list\">\n @for (item of attachments(); track item.id) {\n <div class=\"attachment-item\" [class]=\"'status-' + item.status\">\n <ion-icon\n class=\"file-icon\"\n [name]=\"item.file.type.startsWith('image/') ? 'image-outline' : 'document-outline'\"\n ></ion-icon>\n <div class=\"file-info\">\n <span class=\"file-name\">{{ item.file.name }}</span>\n <span class=\"file-size\">{{ formatSize(item.file.size) }}</span>\n </div>\n\n @if (item.status === 'uploading') {\n <ion-spinner class=\"status-icon\" name=\"circular\"></ion-spinner>\n } @else if (item.status === 'ready') {\n <ion-icon class=\"status-icon\" name=\"checkmark-circle-outline\" color=\"success\"></ion-icon>\n } @else if (item.status === 'error') {\n <ion-icon class=\"status-icon\" name=\"close-circle-outline\" color=\"danger\"></ion-icon>\n } @if (item.status !== 'uploading') {\n <ion-button fill=\"clear\" size=\"small\" color=\"dark\" (click)=\"remove(item.id)\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n } @if (item.status === 'error' && item.error) {\n <ion-note color=\"danger\" class=\"error-note\">{{ item.error }}</ion-note>\n }\n </div>\n }\n </div>\n } @if (props().hint) {\n <p class=\"attachment-hint\">{{ props().hint }}</p>\n }\n</div>\n", styles: [".hidden-input{display:none}.camera-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;height:32px;box-sizing:border-box;font-size:13px;font-weight:500;letter-spacing:.01em;border-radius:4px;border:1px solid currentColor;color:var(--ion-color-dark);background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.camera-label ion-icon{font-size:18px;flex-shrink:0}.camera-label--disabled{opacity:.4;pointer-events:none}.attachment-uploader{display:flex;flex-direction:column;gap:8px}.attachment-title{display:block;margin-bottom:2px}.attachment-hint{margin:2px 0 0;text-align:right;font-size:12px;line-height:1.4;color:var(--ion-color-dark)}.attachment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attachment-actions ion-button{margin:0;height:32px}.attachment-list{display:flex;flex-direction:column;gap:4px}.attachment-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--ion-background-color, #fff);border:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .08));flex-wrap:wrap}.attachment-item.status-error{border-color:var(--ion-color-danger)}.file-icon{font-size:22px;color:var(--ion-text-color);flex-shrink:0}.file-info{flex:1;min-width:0;display:flex;flex-direction:column}.file-name{font-size:13px;color:var(--ion-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11px;color:var(--ion-color-medium)}:host-context(.dark) .attachment-item,:host-context(.ion-palette-dark) .attachment-item,:host-context(html.ion-palette-dark) .attachment-item,:host-context(body.dark) .attachment-item,:host-context([data-theme=dark]) .attachment-item{background:#ffffff0a;border-color:#ffffff1f}:host-context(.dark) .attachment-item.status-error,:host-context(.ion-palette-dark) .attachment-item.status-error,:host-context(html.ion-palette-dark) .attachment-item.status-error,:host-context(body.dark) .attachment-item.status-error,:host-context([data-theme=dark]) .attachment-item.status-error{border-color:var(--ion-color-danger)}.status-icon{font-size:20px;flex-shrink:0}.error-note{font-size:11px;width:100%}.max-note{font-size:12px}\n"], dependencies: [{ 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: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }] }); }
|
|
92
93
|
}
|
|
93
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AttachmentUploaderComponent, decorators: [{
|
|
94
95
|
type: Component,
|
|
95
|
-
args: [{ selector: 'val-attachment-uploader', standalone: true, imports: [IonButton, IonIcon, IonNote, IonSpinner], template: "<div class=\"attachment-uploader\">\n <input #filePicker type=\"file\" [accept]=\"accept()\" multiple class=\"hidden-input\" (change)=\"onFilesSelected($event)\" />\n\n <div class=\"attachment-actions\">\n <ion-button fill=\"outline\" color=\"dark\" size=\"small\" [disabled]=\"isDisabled()\" (click)=\"filePicker.click()\">\n <ion-icon slot=\"start\" name=\"attach-outline\"></ion-icon>\n {{ i18n.t('attachAdd') }}\n </ion-button>\n <!-- label trick: native browser gesture forwarding \u2192 iOS/PWA no bloquea el picker -->\n <label class=\"camera-label\" [class.camera-label--disabled]=\"isDisabled()\">\n <input\n type=\"file\"\n accept=\"image/*\"\n capture=\"environment\"\n class=\"hidden-input\"\n [disabled]=\"isDisabled()\"\n (change)=\"onFilesSelected($event)\"\n />\n <ion-icon name=\"camera-outline\"></ion-icon>\n {{ i18n.t('attachCamera') }}\n </label>\n </div>\n\n @if (maxReached()) {\n <ion-note color=\"warning\" class=\"max-note\">\n {{ i18n.t('attachMaxCount', '_global', { count: maxFiles().toString() }) }}\n </ion-note>\n } @if (attachments().length > 0) {\n <div class=\"attachment-list\">\n @for (item of attachments(); track item.id) {\n <div class=\"attachment-item\" [class]=\"'status-' + item.status\">\n <ion-icon\n class=\"file-icon\"\n [name]=\"item.file.type.startsWith('image/') ? 'image-outline' : 'document-outline'\"\n ></ion-icon>\n <div class=\"file-info\">\n <span class=\"file-name\">{{ item.file.name }}</span>\n <span class=\"file-size\">{{ formatSize(item.file.size) }}</span>\n </div>\n\n @if (item.status === 'uploading') {\n <ion-spinner class=\"status-icon\" name=\"circular\"></ion-spinner>\n } @else if (item.status === 'ready') {\n <ion-icon class=\"status-icon\" name=\"checkmark-circle-outline\" color=\"success\"></ion-icon>\n } @else if (item.status === 'error') {\n <ion-icon class=\"status-icon\" name=\"close-circle-outline\" color=\"danger\"></ion-icon>\n } @if (item.status !== 'uploading') {\n <ion-button fill=\"clear\" size=\"small\" color=\"dark\" (click)=\"remove(item.id)\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n } @if (item.status === 'error' && item.error) {\n <ion-note color=\"danger\" class=\"error-note\">{{ item.error }}</ion-note>\n }\n </div>\n }\n </div>\n }\n</div>\n", styles: [".hidden-input{display:none}.camera-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;height:32px;box-sizing:border-box;font-size:13px;font-weight:500;letter-spacing:.01em;border-radius:4px;border:1px solid currentColor;color:var(--ion-color-dark);background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.camera-label ion-icon{font-size:18px;flex-shrink:0}.camera-label--disabled{opacity:.4;pointer-events:none}.attachment-uploader{display:flex;flex-direction:column;gap:8px}.attachment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attachment-actions ion-button{margin:0;height:32px}.attachment-list{display:flex;flex-direction:column;gap:4px}.attachment-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--ion-background-color, #fff);border:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .08));flex-wrap:wrap}.attachment-item.status-error{border-color:var(--ion-color-danger)}.file-icon{font-size:22px;color:var(--ion-text-color);flex-shrink:0}.file-info{flex:1;min-width:0;display:flex;flex-direction:column}.file-name{font-size:13px;color:var(--ion-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11px;color:var(--ion-color-medium)}:host-context(.dark) .attachment-item,:host-context(.ion-palette-dark) .attachment-item,:host-context(html.ion-palette-dark) .attachment-item,:host-context(body.dark) .attachment-item,:host-context([data-theme=dark]) .attachment-item{background:#ffffff0a;border-color:#ffffff1f}:host-context(.dark) .attachment-item.status-error,:host-context(.ion-palette-dark) .attachment-item.status-error,:host-context(html.ion-palette-dark) .attachment-item.status-error,:host-context(body.dark) .attachment-item.status-error,:host-context([data-theme=dark]) .attachment-item.status-error{border-color:var(--ion-color-danger)}.status-icon{font-size:20px;flex-shrink:0}.error-note{font-size:11px;width:100%}.max-note{font-size:12px}\n"] }]
|
|
96
|
+
args: [{ selector: 'val-attachment-uploader', standalone: true, imports: [IonButton, IonIcon, IonNote, IonSpinner, TitleComponent], template: "<div class=\"attachment-uploader\">\n @if (props().title) {\n <val-title class=\"attachment-title\" [props]=\"{ content: props().title, size: 'small', color: 'dark', bold: false }\" />\n }\n\n <input #filePicker type=\"file\" [accept]=\"accept()\" multiple class=\"hidden-input\" (change)=\"onFilesSelected($event)\" />\n\n <div class=\"attachment-actions\">\n <ion-button fill=\"outline\" color=\"dark\" size=\"small\" [disabled]=\"isDisabled()\" (click)=\"filePicker.click()\">\n <ion-icon slot=\"start\" name=\"attach-outline\"></ion-icon>\n {{ i18n.t('attachAdd') }}\n </ion-button>\n <!-- label trick: native browser gesture forwarding \u2192 iOS/PWA no bloquea el picker -->\n <label class=\"camera-label\" [class.camera-label--disabled]=\"isDisabled()\">\n <input\n type=\"file\"\n accept=\"image/*\"\n capture=\"environment\"\n class=\"hidden-input\"\n [disabled]=\"isDisabled()\"\n (change)=\"onFilesSelected($event)\"\n />\n <ion-icon name=\"camera-outline\"></ion-icon>\n {{ i18n.t('attachCamera') }}\n </label>\n </div>\n\n @if (maxReached()) {\n <ion-note color=\"warning\" class=\"max-note\">\n {{ i18n.t('attachMaxCount', '_global', { count: maxFiles().toString() }) }}\n </ion-note>\n } @if (attachments().length > 0) {\n <div class=\"attachment-list\">\n @for (item of attachments(); track item.id) {\n <div class=\"attachment-item\" [class]=\"'status-' + item.status\">\n <ion-icon\n class=\"file-icon\"\n [name]=\"item.file.type.startsWith('image/') ? 'image-outline' : 'document-outline'\"\n ></ion-icon>\n <div class=\"file-info\">\n <span class=\"file-name\">{{ item.file.name }}</span>\n <span class=\"file-size\">{{ formatSize(item.file.size) }}</span>\n </div>\n\n @if (item.status === 'uploading') {\n <ion-spinner class=\"status-icon\" name=\"circular\"></ion-spinner>\n } @else if (item.status === 'ready') {\n <ion-icon class=\"status-icon\" name=\"checkmark-circle-outline\" color=\"success\"></ion-icon>\n } @else if (item.status === 'error') {\n <ion-icon class=\"status-icon\" name=\"close-circle-outline\" color=\"danger\"></ion-icon>\n } @if (item.status !== 'uploading') {\n <ion-button fill=\"clear\" size=\"small\" color=\"dark\" (click)=\"remove(item.id)\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n } @if (item.status === 'error' && item.error) {\n <ion-note color=\"danger\" class=\"error-note\">{{ item.error }}</ion-note>\n }\n </div>\n }\n </div>\n } @if (props().hint) {\n <p class=\"attachment-hint\">{{ props().hint }}</p>\n }\n</div>\n", styles: [".hidden-input{display:none}.camera-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;height:32px;box-sizing:border-box;font-size:13px;font-weight:500;letter-spacing:.01em;border-radius:4px;border:1px solid currentColor;color:var(--ion-color-dark);background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}.camera-label ion-icon{font-size:18px;flex-shrink:0}.camera-label--disabled{opacity:.4;pointer-events:none}.attachment-uploader{display:flex;flex-direction:column;gap:8px}.attachment-title{display:block;margin-bottom:2px}.attachment-hint{margin:2px 0 0;text-align:right;font-size:12px;line-height:1.4;color:var(--ion-color-dark)}.attachment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attachment-actions ion-button{margin:0;height:32px}.attachment-list{display:flex;flex-direction:column;gap:4px}.attachment-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--ion-background-color, #fff);border:1px solid var(--ion-color-light-shade, rgba(0, 0, 0, .08));flex-wrap:wrap}.attachment-item.status-error{border-color:var(--ion-color-danger)}.file-icon{font-size:22px;color:var(--ion-text-color);flex-shrink:0}.file-info{flex:1;min-width:0;display:flex;flex-direction:column}.file-name{font-size:13px;color:var(--ion-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11px;color:var(--ion-color-medium)}:host-context(.dark) .attachment-item,:host-context(.ion-palette-dark) .attachment-item,:host-context(html.ion-palette-dark) .attachment-item,:host-context(body.dark) .attachment-item,:host-context([data-theme=dark]) .attachment-item{background:#ffffff0a;border-color:#ffffff1f}:host-context(.dark) .attachment-item.status-error,:host-context(.ion-palette-dark) .attachment-item.status-error,:host-context(html.ion-palette-dark) .attachment-item.status-error,:host-context(body.dark) .attachment-item.status-error,:host-context([data-theme=dark]) .attachment-item.status-error{border-color:var(--ion-color-danger)}.status-icon{font-size:20px;flex-shrink:0}.error-note{font-size:11px;width:100%}.max-note{font-size:12px}\n"] }]
|
|
96
97
|
}], ctorParameters: () => [] });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2F0dGFjaG1lbnQtdXBsb2FkZXIvYXR0YWNobWVudC11cGxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2F0dGFjaG1lbnQtdXBsb2FkZXIvYXR0YWNobWVudC11cGxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQVVyRCxNQUFNLE9BQU8sMkJBQTJCO0lBZ0J0QyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUU7YUFDdEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUM7YUFDakMsR0FBRyxDQUFD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QUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNqRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRCxDQUFDOytHQXZGVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw0UUN4QnhDLHc5RUEwREEsbWtFRHRDWSxTQUFTLG9QQUFFLE9BQU8sMkpBQUUsT0FBTyxnRkFBRSxVQUFVOzs0RkFJdEMsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcHJlc3NvciBmcm9tICdjb21wcmVzc29yanMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uTm90ZSwgSW9uU3Bpbm5lciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQge1xuICBhdHRhY2hPdXRsaW5lLFxuICBjYW1lcmFPdXRsaW5lLFxuICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICBjbG9zZUNpcmNsZU91dGxpbmUsXG4gIGNsb3NlT3V0bGluZSxcbiAgZG9jdW1lbnRPdXRsaW5lLFxuICBpbWFnZU91dGxpbmUsXG59IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IEZlZWRiYWNrU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZlZWRiYWNrJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBBdHRhY2htZW50SXRlbSwgQXR0YWNobWVudFVwbG9hZGVyTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWF0dGFjaG1lbnQtdXBsb2FkZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSW9uQnV0dG9uLCBJb25JY29uLCBJb25Ob3RlLCBJb25TcGlubmVyXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F0dGFjaG1lbnQtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYXR0YWNobWVudC11cGxvYWRlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEF0dGFjaG1lbnRVcGxvYWRlckNvbXBvbmVudCB7XG4gIHByb3BzID0gaW5wdXQ8QXR0YWNobWVudFVwbG9hZGVyTWV0YWRhdGE+KHt9KTtcblxuICBhdHRhY2htZW50c0NoYW5nZSA9IG91dHB1dDxBdHRhY2htZW50SXRlbVtdPigpO1xuXG4gIHByb3RlY3RlZCBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmZWVkYmFja1NlcnZpY2UgPSBpbmplY3QoRmVlZGJhY2tTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGF0dGFjaG1lbnRzID0gc2lnbmFsPEF0dGFjaG1lbnRJdGVtW10+KFtdKTtcblxuICBtYXhGaWxlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucHJvcHMoKS5tYXhGaWxlcyA/PyA1KTtcbiAgYWNjZXB0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcm9wcygpLmFjY2VwdCA/PyAnaW1hZ2UvanBlZyxpbWFnZS9wbmcsaW1hZ2Uvd2VicCxhcHBsaWNhdGlvbi9wZGYnKTtcbiAgbWF4UmVhY2hlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYXR0YWNobWVudHMoKS5sZW5ndGggPj0gdGhpcy5tYXhGaWxlcygpKTtcbiAgaXNEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucHJvcHMoKS5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCB0aGlzLm1heFJlYWNoZWQoKSk7XG4gIGlzVXBsb2FkaW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hdHRhY2htZW50cygpLnNvbWUoYSA9PiBhLnN0YXR1cyA9PT0gJ3VwbG9hZGluZycpKTtcblxuICBnZXQgcmVhZHlVcmxzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2htZW50cygpXG4gICAgICAuZmlsdGVyKGEgPT4gYS5zdGF0dXMgPT09ICdyZWFkeScpXG4gICAgICAubWFwKGEgPT4gYS51cmwhKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHtcbiAgICAgIGF0dGFjaE91dGxpbmUsXG4gICAgICBjYW1lcmFPdXRsaW5lLFxuICAgICAgY2hlY2ttYXJrQ2lyY2xlT3V0bGluZSxcbiAgICAgIGNsb3NlQ2lyY2xlT3V0bGluZSxcbiAgICAgIGNsb3NlT3V0bGluZSxcbiAgICAgIGRvY3VtZW50T3V0bGluZSxcbiAgICAgIGltYWdlT3V0bGluZSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG9uRmlsZXNTZWxlY3RlZChldmVudDogRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IGZpbGVzID0gQXJyYXkuZnJvbShpbnB1dC5maWxlcyA/PyBbXSk7XG4gICAgaW5wdXQudmFsdWUgPSAnJztcbiAgICBjb25zdCBhdmFpbGFibGUgPSB0aGlzLm1heEZpbGVzKCkgLSB0aGlzLmF0dGFjaG1lbnRzKCkubGVuZ3RoO1xuICAgIGNvbnN0IHRvUHJvY2VzcyA9IGZpbGVzLnNsaWNlKDAsIGF2YWlsYWJsZSk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIHRvUHJvY2Vzcykge1xuICAgICAgY29uc3QgaWQgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuICAgICAgdGhpcy5hdHRhY2htZW50cy51cGRhdGUobGlzdCA9PiBbLi4ubGlzdCwgeyBpZCwgZmlsZSwgc3RhdHVzOiAndXBsb2FkaW5nJyB9XSk7XG4gICAgICB0aGlzLmF0dGFjaG1lbnRzQ2hhbmdlLmVtaXQodGhpcy5hdHRhY2htZW50cygpKTtcbiAgICAgIHRoaXMudXBsb2FkRmlsZShpZCwgZmlsZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb21wcmVzc0ltYWdlKGZpbGU6IEZpbGUpOiBQcm9taXNlPEZpbGU+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbmV3IENvbXByZXNzb3IoZmlsZSwge1xuICAgICAgICBxdWFsaXR5OiAwLjgsXG4gICAgICAgIG1heFdpZHRoOiAxOTIwLFxuICAgICAgICBtYXhIZWlnaHQ6IDE5MjAsXG4gICAgICAgIGNvbnZlcnRTaXplOiAyICogMTAyNCAqIDEwMjQsIC8vIFBORyA+IDIgTUIg4oaSIEpQRUdcbiAgICAgICAgc3VjY2VzcyhyZXN1bHQpIHtcbiAgICAgICAgICByZXNvbHZlKG5ldyBGaWxlKFtyZXN1bHRdLCBmaWxlLm5hbWUsIHsgdHlwZTogcmVzdWx0LnR5cGUgfSkpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogcmVqZWN0LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwbG9hZEZpbGUoaWQ6IHN0cmluZywgZmlsZTogRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzaG91bGRDb21wcmVzcyA9IHRoaXMucHJvcHMoKS5jb21wcmVzc0ltYWdlcyAhPT0gZmFsc2UgJiYgZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xuICAgICAgY29uc3QgZmlsZVRvVXBsb2FkID0gc2hvdWxkQ29tcHJlc3MgPyBhd2FpdCB0aGlzLmNvbXByZXNzSW1hZ2UoZmlsZSkgOiBmaWxlO1xuICAgICAgY29uc3QgdXBsb2FkRm4gPSB0aGlzLnByb3BzKCkudXBsb2FkRm4gPz8gdGhpcy5mZWVkYmFja1NlcnZpY2U/LnVwbG9hZEF0dGFjaG1lbnQuYmluZCh0aGlzLmZlZWRiYWNrU2VydmljZSk7XG4gICAgICBpZiAoIXVwbG9hZEZuKSB0aHJvdyBuZXcgRXJyb3IoJ05vIHVwbG9hZCBmdW5jdGlvbiBjb25maWd1cmVkJyk7XG4gICAgICBjb25zdCB1cmwgPSBhd2FpdCB1cGxvYWRGbihmaWxlVG9VcGxvYWQpO1xuICAgICAgdGhpcy5hdHRhY2htZW50cy51cGRhdGUobGlzdCA9PiBsaXN0Lm1hcChhID0+IChhLmlkID09PSBpZCA/IHsgLi4uYSwgc3RhdHVzOiAncmVhZHknLCB1cmwgfSA6IGEpKSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICBjb25zdCBlcnJvciA9IHRoaXMuaTE4bi50KCdhdHRhY2hVcGxvYWRGYWlsZWQnKTtcbiAgICAgIHRoaXMuYXR0YWNobWVudHMudXBkYXRlKGxpc3QgPT4gbGlzdC5tYXAoYSA9PiAoYS5pZCA9PT0gaWQgPyB7IC4uLmEsIHN0YXR1czogJ2Vycm9yJywgZXJyb3IgfSA6IGEpKSk7XG4gICAgfVxuICAgIHRoaXMuYXR0YWNobWVudHNDaGFuZ2UuZW1pdCh0aGlzLmF0dGFjaG1lbnRzKCkpO1xuICB9XG5cbiAgcmVtb3ZlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmF0dGFjaG1lbnRzLnVwZGF0ZShsaXN0ID0+IGxpc3QuZmlsdGVyKGEgPT4gYS5pZCAhPT0gaWQpKTtcbiAgICB0aGlzLmF0dGFjaG1lbnRzQ2hhbmdlLmVtaXQodGhpcy5hdHRhY2htZW50cygpKTtcbiAgfVxuXG4gIGZvcm1hdFNpemUoYnl0ZXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGJ5dGVzIDwgMTAyNCkgcmV0dXJuIGAke2J5dGVzfSBCYDtcbiAgICBpZiAoYnl0ZXMgPCAxMDI0ICogMTAyNCkgcmV0dXJuIGAke01hdGgucm91bmQoYnl0ZXMgLyAxMDI0KX0gS0JgO1xuICAgIHJldHVybiBgJHsoYnl0ZXMgLyAoMTAyNCAqIDEwMjQpKS50b0ZpeGVkKDEpfSBNQmA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhdHRhY2htZW50LXVwbG9hZGVyXCI+XG4gIDxpbnB1dCAjZmlsZVBpY2tlciB0eXBlPVwiZmlsZVwiIFthY2NlcHRdPVwiYWNjZXB0KClcIiBtdWx0aXBsZSBjbGFzcz1cImhpZGRlbi1pbnB1dFwiIChjaGFuZ2UpPVwib25GaWxlc1NlbGVjdGVkKCRldmVudClcIiAvPlxuXG4gIDxkaXYgY2xhc3M9XCJhdHRhY2htZW50LWFjdGlvbnNcIj5cbiAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIGNvbG9yPVwiZGFya1wiIHNpemU9XCJzbWFsbFwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiAoY2xpY2spPVwiZmlsZVBpY2tlci5jbGljaygpXCI+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImF0dGFjaC1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgIHt7IGkxOG4udCgnYXR0YWNoQWRkJykgfX1cbiAgICA8L2lvbi1idXR0b24+XG4gICAgPCEtLSBsYWJlbCB0cmljazogbmF0aXZlIGJyb3dzZXIgZ2VzdHVyZSBmb3J3YXJkaW5nIOKGkiBpT1MvUFdBIG5vIGJsb3F1ZWEgZWwgcGlja2VyIC0tPlxuICAgIDxsYWJlbCBjbGFzcz1cImNhbWVyYS1sYWJlbFwiIFtjbGFzcy5jYW1lcmEtbGFiZWwtLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgYWNjZXB0PVwiaW1hZ2UvKlwiXG4gICAgICAgIGNhcHR1cmU9XCJlbnZpcm9ubWVudFwiXG4gICAgICAgIGNsYXNzPVwiaGlkZGVuLWlucHV0XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25GaWxlc1NlbGVjdGVkKCRldmVudClcIlxuICAgICAgLz5cbiAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FtZXJhLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAge3sgaTE4bi50KCdhdHRhY2hDYW1lcmEnKSB9fVxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuXG4gIEBpZiAobWF4UmVhY2hlZCgpKSB7XG4gIDxpb24tbm90ZSBjb2xvcj1cIndhcm5pbmdcIiBjbGFzcz1cIm1heC1ub3RlXCI+XG4gICAge3sgaTE4bi50KCdhdHRhY2hNYXhDb3VudCcsICdfZ2xvYmFsJywgeyBjb3VudDogbWF4RmlsZXMoKS50b1N0cmluZygpIH0pIH19XG4gIDwvaW9uLW5vdGU+XG4gIH0gQGlmIChhdHRhY2htZW50cygpLmxlbmd0aCA+IDApIHtcbiAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnQtbGlzdFwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgYXR0YWNobWVudHMoKTsgdHJhY2sgaXRlbS5pZCkge1xuICAgIDxkaXYgY2xhc3M9XCJhdHRhY2htZW50LWl0ZW1cIiBbY2xhc3NdPVwiJ3N0YXR1cy0nICsgaXRlbS5zdGF0dXNcIj5cbiAgICAgIDxpb24taWNvblxuICAgICAgICBjbGFzcz1cImZpbGUtaWNvblwiXG4gICAgICAgIFtuYW1lXT1cIml0ZW0uZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpID8gJ2ltYWdlLW91dGxpbmUnIDogJ2RvY3VtZW50LW91dGxpbmUnXCJcbiAgICAgID48L2lvbi1pY29uPlxuICAgICAgPGRpdiBjbGFzcz1cImZpbGUtaW5mb1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGl0ZW0uZmlsZS5uYW1lIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtc2l6ZVwiPnt7IGZvcm1hdFNpemUoaXRlbS5maWxlLnNpemUpIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoaXRlbS5zdGF0dXMgPT09ICd1cGxvYWRpbmcnKSB7XG4gICAgICA8aW9uLXNwaW5uZXIgY2xhc3M9XCJzdGF0dXMtaWNvblwiIG5hbWU9XCJjaXJjdWxhclwiPjwvaW9uLXNwaW5uZXI+XG4gICAgICB9IEBlbHNlIGlmIChpdGVtLnN0YXR1cyA9PT0gJ3JlYWR5Jykge1xuICAgICAgPGlvbi1pY29uIGNsYXNzPVwic3RhdHVzLWljb25cIiBuYW1lPVwiY2hlY2ttYXJrLWNpcmNsZS1vdXRsaW5lXCIgY29sb3I9XCJzdWNjZXNzXCI+PC9pb24taWNvbj5cbiAgICAgIH0gQGVsc2UgaWYgKGl0ZW0uc3RhdHVzID09PSAnZXJyb3InKSB7XG4gICAgICA8aW9uLWljb24gY2xhc3M9XCJzdGF0dXMtaWNvblwiIG5hbWU9XCJjbG9zZS1jaXJjbGUtb3V0bGluZVwiIGNvbG9yPVwiZGFuZ2VyXCI+PC9pb24taWNvbj5cbiAgICAgIH0gQGlmIChpdGVtLnN0YXR1cyAhPT0gJ3VwbG9hZGluZycpIHtcbiAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJyZW1vdmUoaXRlbS5pZClcIj5cbiAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgICB9IEBpZiAoaXRlbS5zdGF0dXMgPT09ICdlcnJvcicgJiYgaXRlbS5lcnJvcikge1xuICAgICAgPGlvbi1ub3RlIGNvbG9yPVwiZGFuZ2VyXCIgY2xhc3M9XCJlcnJvci1ub3RlXCI+e3sgaXRlbS5lcnJvciB9fTwvaW9uLW5vdGU+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2F0dGFjaG1lbnQtdXBsb2FkZXIvYXR0YWNobWVudC11cGxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2F0dGFjaG1lbnQtdXBsb2FkZXIvYXR0YWNobWVudC11cGxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFVbkUsTUFBTSxPQUFPLDJCQUEyQjtJQWdCdEMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFO2FBQ3RCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDO2FBQ2pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFJLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQ7UUFyQkEsVUFBSyxHQUFHLEtBQUssQ0FBNkIsRUFBRSxDQUFDLENBQUM7UUFFOUMsc0JBQWlCLEdBQUcsTUFBTSxFQUFvQixDQUFDO1FBRXJDLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0Isb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFdEUsZ0JBQVcsR0FBRyxNQUFNLENBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBRTNDLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLElBQUksaURBQWlELENBQUMsQ0FBQztRQUNsRyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDMUUsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNqRixnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBU25GLFFBQVEsQ0FBQztZQUNQLGFBQWE7WUFDYixhQUFhO1lBQ2Isc0JBQXNCO1lBQ3RCLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osZUFBZTtZQUNmLFlBQVk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUFZO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1QyxLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUM5RCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM1QyxLQUFLLE1BQU0sSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFVO1FBQzlCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO2dCQUNuQixPQUFPLEVBQUUsR0FBRztnQkFDWixRQUFRLEVBQUUsSUFBSTtnQkFDZCxTQUFTLEVBQUUsSUFBSTtnQkFDZixXQUFXLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLEVBQUUsb0JBQW9CO2dCQUNsRCxPQUFPLENBQUMsTUFBTTtvQkFDWixPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hFLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLE1BQU07YUFDZCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQVUsRUFBRSxJQUFVO1FBQzdDLElBQUksQ0FBQztZQUNILE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxjQUFjLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9GLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDNUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDNUcsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sR0FBRyxHQUFHLE1BQU0sUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JHLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLENBQUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxNQUFNLENBQUMsRUFBVTtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLEtBQUssR0FBRyxJQUFJO1lBQUUsT0FBTyxHQUFHLEtBQUssSUFBSSxDQUFDO1FBQ3RDLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJO1lBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDakUsT0FBTyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEQsQ0FBQzsrR0F2RlUsMkJBQTJCO21HQUEzQiwyQkFBMkIsNFFDekJ4Qyx1c0ZBZ0VBLGl1RUQzQ1ksU0FBUyxvUEFBRSxPQUFPLDJKQUFFLE9BQU8sZ0ZBQUUsVUFBVSx5R0FBRSxjQUFjOzs0RkFJdEQsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXByZXNzb3IgZnJvbSAnY29tcHJlc3NvcmpzJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24sIElvbk5vdGUsIElvblNwaW5uZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHtcbiAgYXR0YWNoT3V0bGluZSxcbiAgY2FtZXJhT3V0bGluZSxcbiAgY2hlY2ttYXJrQ2lyY2xlT3V0bGluZSxcbiAgY2xvc2VDaXJjbGVPdXRsaW5lLFxuICBjbG9zZU91dGxpbmUsXG4gIGRvY3VtZW50T3V0bGluZSxcbiAgaW1hZ2VPdXRsaW5lLFxufSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBGZWVkYmFja1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mZWVkYmFjayc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXR0YWNobWVudEl0ZW0sIEF0dGFjaG1lbnRVcGxvYWRlck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1hdHRhY2htZW50LXVwbG9hZGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uTm90ZSwgSW9uU3Bpbm5lciwgVGl0bGVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudC11cGxvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hdHRhY2htZW50LXVwbG9hZGVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudFVwbG9hZGVyQ29tcG9uZW50IHtcbiAgcHJvcHMgPSBpbnB1dDxBdHRhY2htZW50VXBsb2FkZXJNZXRhZGF0YT4oe30pO1xuXG4gIGF0dGFjaG1lbnRzQ2hhbmdlID0gb3V0cHV0PEF0dGFjaG1lbnRJdGVtW10+KCk7XG5cbiAgcHJvdGVjdGVkIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIGZlZWRiYWNrU2VydmljZSA9IGluamVjdChGZWVkYmFja1NlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgYXR0YWNobWVudHMgPSBzaWduYWw8QXR0YWNobWVudEl0ZW1bXT4oW10pO1xuXG4gIG1heEZpbGVzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcm9wcygpLm1heEZpbGVzID8/IDUpO1xuICBhY2NlcHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByb3BzKCkuYWNjZXB0ID8/ICdpbWFnZS9qcGVnLGltYWdlL3BuZyxpbWFnZS93ZWJwLGFwcGxpY2F0aW9uL3BkZicpO1xuICBtYXhSZWFjaGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hdHRhY2htZW50cygpLmxlbmd0aCA+PSB0aGlzLm1heEZpbGVzKCkpO1xuICBpc0Rpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcm9wcygpLmRpc2FibGVkID09PSB0cnVlIHx8IHRoaXMubWF4UmVhY2hlZCgpKTtcbiAgaXNVcGxvYWRpbmcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmF0dGFjaG1lbnRzKCkuc29tZShhID0+IGEuc3RhdHVzID09PSAndXBsb2FkaW5nJykpO1xuXG4gIGdldCByZWFkeVVybHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmF0dGFjaG1lbnRzKClcbiAgICAgIC5maWx0ZXIoYSA9PiBhLnN0YXR1cyA9PT0gJ3JlYWR5JylcbiAgICAgIC5tYXAoYSA9PiBhLnVybCEpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWRkSWNvbnMoe1xuICAgICAgYXR0YWNoT3V0bGluZSxcbiAgICAgIGNhbWVyYU91dGxpbmUsXG4gICAgICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICAgICAgY2xvc2VDaXJjbGVPdXRsaW5lLFxuICAgICAgY2xvc2VPdXRsaW5lLFxuICAgICAgZG9jdW1lbnRPdXRsaW5lLFxuICAgICAgaW1hZ2VPdXRsaW5lLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgb25GaWxlc1NlbGVjdGVkKGV2ZW50OiBFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGlucHV0LmZpbGVzID8/IFtdKTtcbiAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgIGNvbnN0IGF2YWlsYWJsZSA9IHRoaXMubWF4RmlsZXMoKSAtIHRoaXMuYXR0YWNobWVudHMoKS5sZW5ndGg7XG4gICAgY29uc3QgdG9Qcm9jZXNzID0gZmlsZXMuc2xpY2UoMCwgYXZhaWxhYmxlKTtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgdG9Qcm9jZXNzKSB7XG4gICAgICBjb25zdCBpZCA9IGNyeXB0by5yYW5kb21VVUlEKCk7XG4gICAgICB0aGlzLmF0dGFjaG1lbnRzLnVwZGF0ZShsaXN0ID0+IFsuLi5saXN0LCB7IGlkLCBmaWxlLCBzdGF0dXM6ICd1cGxvYWRpbmcnIH1dKTtcbiAgICAgIHRoaXMuYXR0YWNobWVudHNDaGFuZ2UuZW1pdCh0aGlzLmF0dGFjaG1lbnRzKCkpO1xuICAgICAgdGhpcy51cGxvYWRGaWxlKGlkLCBmaWxlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbXByZXNzSW1hZ2UoZmlsZTogRmlsZSk6IFByb21pc2U8RmlsZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBuZXcgQ29tcHJlc3NvcihmaWxlLCB7XG4gICAgICAgIHF1YWxpdHk6IDAuOCxcbiAgICAgICAgbWF4V2lkdGg6IDE5MjAsXG4gICAgICAgIG1heEhlaWdodDogMTkyMCxcbiAgICAgICAgY29udmVydFNpemU6IDIgKiAxMDI0ICogMTAyNCwgLy8gUE5HID4gMiBNQiDihpIgSlBFR1xuICAgICAgICBzdWNjZXNzKHJlc3VsdCkge1xuICAgICAgICAgIHJlc29sdmUobmV3IEZpbGUoW3Jlc3VsdF0sIGZpbGUubmFtZSwgeyB0eXBlOiByZXN1bHQudHlwZSB9KSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiByZWplY3QsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBsb2FkRmlsZShpZDogc3RyaW5nLCBmaWxlOiBGaWxlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNob3VsZENvbXByZXNzID0gdGhpcy5wcm9wcygpLmNvbXByZXNzSW1hZ2VzICE9PSBmYWxzZSAmJiBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJyk7XG4gICAgICBjb25zdCBmaWxlVG9VcGxvYWQgPSBzaG91bGRDb21wcmVzcyA/IGF3YWl0IHRoaXMuY29tcHJlc3NJbWFnZShmaWxlKSA6IGZpbGU7XG4gICAgICBjb25zdCB1cGxvYWRGbiA9IHRoaXMucHJvcHMoKS51cGxvYWRGbiA/PyB0aGlzLmZlZWRiYWNrU2VydmljZT8udXBsb2FkQXR0YWNobWVudC5iaW5kKHRoaXMuZmVlZGJhY2tTZXJ2aWNlKTtcbiAgICAgIGlmICghdXBsb2FkRm4pIHRocm93IG5ldyBFcnJvcignTm8gdXBsb2FkIGZ1bmN0aW9uIGNvbmZpZ3VyZWQnKTtcbiAgICAgIGNvbnN0IHVybCA9IGF3YWl0IHVwbG9hZEZuKGZpbGVUb1VwbG9hZCk7XG4gICAgICB0aGlzLmF0dGFjaG1lbnRzLnVwZGF0ZShsaXN0ID0+IGxpc3QubWFwKGEgPT4gKGEuaWQgPT09IGlkID8geyAuLi5hLCBzdGF0dXM6ICdyZWFkeScsIHVybCB9IDogYSkpKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5pMThuLnQoJ2F0dGFjaFVwbG9hZEZhaWxlZCcpO1xuICAgICAgdGhpcy5hdHRhY2htZW50cy51cGRhdGUobGlzdCA9PiBsaXN0Lm1hcChhID0+IChhLmlkID09PSBpZCA/IHsgLi4uYSwgc3RhdHVzOiAnZXJyb3InLCBlcnJvciB9IDogYSkpKTtcbiAgICB9XG4gICAgdGhpcy5hdHRhY2htZW50c0NoYW5nZS5lbWl0KHRoaXMuYXR0YWNobWVudHMoKSk7XG4gIH1cblxuICByZW1vdmUoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuYXR0YWNobWVudHMudXBkYXRlKGxpc3QgPT4gbGlzdC5maWx0ZXIoYSA9PiBhLmlkICE9PSBpZCkpO1xuICAgIHRoaXMuYXR0YWNobWVudHNDaGFuZ2UuZW1pdCh0aGlzLmF0dGFjaG1lbnRzKCkpO1xuICB9XG5cbiAgZm9ybWF0U2l6ZShieXRlczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoYnl0ZXMgPCAxMDI0KSByZXR1cm4gYCR7Ynl0ZXN9IEJgO1xuICAgIGlmIChieXRlcyA8IDEwMjQgKiAxMDI0KSByZXR1cm4gYCR7TWF0aC5yb3VuZChieXRlcyAvIDEwMjQpfSBLQmA7XG4gICAgcmV0dXJuIGAkeyhieXRlcyAvICgxMDI0ICogMTAyNCkpLnRvRml4ZWQoMSl9IE1CYDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF0dGFjaG1lbnQtdXBsb2FkZXJcIj5cbiAgQGlmIChwcm9wcygpLnRpdGxlKSB7XG4gIDx2YWwtdGl0bGUgY2xhc3M9XCJhdHRhY2htZW50LXRpdGxlXCIgW3Byb3BzXT1cInsgY29udGVudDogcHJvcHMoKS50aXRsZSwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJywgYm9sZDogZmFsc2UgfVwiIC8+XG4gIH1cblxuICA8aW5wdXQgI2ZpbGVQaWNrZXIgdHlwZT1cImZpbGVcIiBbYWNjZXB0XT1cImFjY2VwdCgpXCIgbXVsdGlwbGUgY2xhc3M9XCJoaWRkZW4taW5wdXRcIiAoY2hhbmdlKT1cIm9uRmlsZXNTZWxlY3RlZCgkZXZlbnQpXCIgLz5cblxuICA8ZGl2IGNsYXNzPVwiYXR0YWNobWVudC1hY3Rpb25zXCI+XG4gICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBjb2xvcj1cImRhcmtcIiBzaXplPVwic21hbGxcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCIgKGNsaWNrKT1cImZpbGVQaWNrZXIuY2xpY2soKVwiPlxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJhdHRhY2gtb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICB7eyBpMThuLnQoJ2F0dGFjaEFkZCcpIH19XG4gICAgPC9pb24tYnV0dG9uPlxuICAgIDwhLS0gbGFiZWwgdHJpY2s6IG5hdGl2ZSBicm93c2VyIGdlc3R1cmUgZm9yd2FyZGluZyDihpIgaU9TL1BXQSBubyBibG9xdWVhIGVsIHBpY2tlciAtLT5cbiAgICA8bGFiZWwgY2xhc3M9XCJjYW1lcmEtbGFiZWxcIiBbY2xhc3MuY2FtZXJhLWxhYmVsLS1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgIGFjY2VwdD1cImltYWdlLypcIlxuICAgICAgICBjYXB0dXJlPVwiZW52aXJvbm1lbnRcIlxuICAgICAgICBjbGFzcz1cImhpZGRlbi1pbnB1dFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uRmlsZXNTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8aW9uLWljb24gbmFtZT1cImNhbWVyYS1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgIHt7IGkxOG4udCgnYXR0YWNoQ2FtZXJhJykgfX1cbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cblxuICBAaWYgKG1heFJlYWNoZWQoKSkge1xuICA8aW9uLW5vdGUgY29sb3I9XCJ3YXJuaW5nXCIgY2xhc3M9XCJtYXgtbm90ZVwiPlxuICAgIHt7IGkxOG4udCgnYXR0YWNoTWF4Q291bnQnLCAnX2dsb2JhbCcsIHsgY291bnQ6IG1heEZpbGVzKCkudG9TdHJpbmcoKSB9KSB9fVxuICA8L2lvbi1ub3RlPlxuICB9IEBpZiAoYXR0YWNobWVudHMoKS5sZW5ndGggPiAwKSB7XG4gIDxkaXYgY2xhc3M9XCJhdHRhY2htZW50LWxpc3RcIj5cbiAgICBAZm9yIChpdGVtIG9mIGF0dGFjaG1lbnRzKCk7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYXR0YWNobWVudC1pdGVtXCIgW2NsYXNzXT1cIidzdGF0dXMtJyArIGl0ZW0uc3RhdHVzXCI+XG4gICAgICA8aW9uLWljb25cbiAgICAgICAgY2xhc3M9XCJmaWxlLWljb25cIlxuICAgICAgICBbbmFtZV09XCJpdGVtLmZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSA/ICdpbWFnZS1vdXRsaW5lJyA6ICdkb2N1bWVudC1vdXRsaW5lJ1wiXG4gICAgICA+PC9pb24taWNvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWluZm9cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBpdGVtLmZpbGUubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLXNpemVcIj57eyBmb3JtYXRTaXplKGl0ZW0uZmlsZS5zaXplKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGl0ZW0uc3RhdHVzID09PSAndXBsb2FkaW5nJykge1xuICAgICAgPGlvbi1zcGlubmVyIGNsYXNzPVwic3RhdHVzLWljb25cIiBuYW1lPVwiY2lyY3VsYXJcIj48L2lvbi1zcGlubmVyPlxuICAgICAgfSBAZWxzZSBpZiAoaXRlbS5zdGF0dXMgPT09ICdyZWFkeScpIHtcbiAgICAgIDxpb24taWNvbiBjbGFzcz1cInN0YXR1cy1pY29uXCIgbmFtZT1cImNoZWNrbWFyay1jaXJjbGUtb3V0bGluZVwiIGNvbG9yPVwic3VjY2Vzc1wiPjwvaW9uLWljb24+XG4gICAgICB9IEBlbHNlIGlmIChpdGVtLnN0YXR1cyA9PT0gJ2Vycm9yJykge1xuICAgICAgPGlvbi1pY29uIGNsYXNzPVwic3RhdHVzLWljb25cIiBuYW1lPVwiY2xvc2UtY2lyY2xlLW91dGxpbmVcIiBjb2xvcj1cImRhbmdlclwiPjwvaW9uLWljb24+XG4gICAgICB9IEBpZiAoaXRlbS5zdGF0dXMgIT09ICd1cGxvYWRpbmcnKSB7XG4gICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBzaXplPVwic21hbGxcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwicmVtb3ZlKGl0ZW0uaWQpXCI+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgfSBAaWYgKGl0ZW0uc3RhdHVzID09PSAnZXJyb3InICYmIGl0ZW0uZXJyb3IpIHtcbiAgICAgIDxpb24tbm90ZSBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwiZXJyb3Itbm90ZVwiPnt7IGl0ZW0uZXJyb3IgfX08L2lvbi1ub3RlPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG4gIH0gQGlmIChwcm9wcygpLmhpbnQpIHtcbiAgPHAgY2xhc3M9XCJhdHRhY2htZW50LWhpbnRcIj57eyBwcm9wcygpLmhpbnQgfX08L3A+XG4gIH1cbjwvZGl2PlxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2F0dGFjaG1lbnQtdXBsb2FkZXIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXR0YWNobWVudEl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBmaWxlOiBGaWxlO1xuICBzdGF0dXM6ICd1cGxvYWRpbmcnIHwgJ3JlYWR5JyB8ICdlcnJvcic7XG4gIHVybD86IHN0cmluZztcbiAgZXJyb3I/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2F0dGFjaG1lbnQtdXBsb2FkZXIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXR0YWNobWVudEl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBmaWxlOiBGaWxlO1xuICBzdGF0dXM6ICd1cGxvYWRpbmcnIHwgJ3JlYWR5JyB8ICdlcnJvcic7XG4gIHVybD86IHN0cmluZztcbiAgZXJyb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0YWNobWVudFVwbG9hZGVyTWV0YWRhdGEge1xuICAvKiogVMOtdHVsbyBkZWwgY2FtcG8gKHNlIHJlbmRlcml6YSBhcnJpYmEsIGVzdGlsbyBsYWJlbCBkZSB2YWwtZm9ybSkuICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKiogVGV4dG8gZGUgYXl1ZGEgKHNlIHJlbmRlcml6YSBhYmFqbyBhIGxhIGRlcmVjaGEsIGVuIHRvbm8gZGFyaykuICovXG4gIGhpbnQ/OiBzdHJpbmc7XG4gIG1heEZpbGVzPzogbnVtYmVyO1xuICBhY2NlcHQ/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIENvbXByZXNzIGltYWdlcyBiZWZvcmUgdXBsb2FkIChkZWZhdWx0OiB0cnVlKS4gUERGcyBhcmUgbmV2ZXIgY29tcHJlc3NlZC4gKi9cbiAgY29tcHJlc3NJbWFnZXM/OiBib29sZWFuO1xuICAvKiogVXBsb2FkIGZ1bmN0aW9uLiBJZiBvbWl0dGVkLCBmYWxscyBiYWNrIHRvIEZlZWRiYWNrU2VydmljZS51cGxvYWRBdHRhY2htZW50LiAqL1xuICB1cGxvYWRGbj86IChmaWxlOiBGaWxlKSA9PiBQcm9taXNlPHN0cmluZz47XG59XG4iXX0=
|