ets-fe-ng-sdk 17.0.430 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/Reusables/reusable-comps/find-item/find-item.component.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-comps/find-item/find-item.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-comps/watermark/watermark.component.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/extra-pages/extra-pages-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/extra-pages/extra-pages.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/logger/logger-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/logger/logger.component.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/logger/logger.interface.mjs +1 -1
- package/esm2022/lib/Reusables/reusable-pages/logger/logger.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/logger/logger.service.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/page-not-found/page-not-found.component.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/reset/reset-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/reset/reset.component.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/reset/reset.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/robot/robot-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/robot/robot.component.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/robot/robot.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/timeout-tester/timeout-tester-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/timeout-tester/timeout-tester.component.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/timeout-tester/timeout-tester.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/user-activity/ua-extras/user-activity.service.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/version/version-routing.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/version/version.component.mjs +3 -3
- package/esm2022/lib/Reusables/reusable-pages/version/version.module.mjs +4 -4
- package/esm2022/lib/Reusables/reusable-pages/version/version.service.mjs +4 -4
- package/esm2022/lib/Services/Interceptors/authentication-interceptor.service.mjs +5 -5
- package/esm2022/lib/Services/Interceptors/global-error-handler.service.mjs +3 -3
- package/esm2022/lib/Services/Interceptors/logger-interceptor.service.mjs +5 -5
- package/esm2022/lib/Services/Interceptors/request-loader-interceptor.service.mjs +5 -5
- package/esm2022/lib/Services/Interceptors/request-timeout.service.mjs +4 -4
- package/esm2022/lib/Services/api.service.mjs +4 -4
- package/esm2022/lib/Services/app.service.mjs +3 -3
- package/esm2022/lib/Services/base.effect.mjs +3 -3
- package/esm2022/lib/Services/base.facade.service.mjs +1 -1
- package/esm2022/lib/Services/base.service.mjs +4 -4
- package/esm2022/lib/Services/cache/cache-updater.service.mjs +3 -3
- package/esm2022/lib/Services/cache/cache.service.mjs +4 -4
- package/esm2022/lib/Services/cache/local-cache.service.mjs +4 -4
- package/esm2022/lib/Services/cache/saver.service.mjs +3 -3
- package/esm2022/lib/Services/debouncer.service.mjs +4 -4
- package/esm2022/lib/Services/htmler.service.mjs +3 -3
- package/esm2022/lib/Services/input.service.mjs +4 -4
- package/esm2022/lib/Services/page-loader.service.mjs +7 -7
- package/esm2022/lib/Services/page.service.mjs +3 -3
- package/esm2022/lib/Services/route.service.mjs +4 -4
- package/esm2022/lib/Services/service-worker/check-for-update.service.mjs +4 -4
- package/esm2022/lib/Services/service-worker/handle-unrecoverable-state.service.mjs +3 -3
- package/esm2022/lib/Services/service-worker/log-update.service.mjs +4 -4
- package/esm2022/lib/Services/service-worker/prompt-update.service.mjs +3 -3
- package/esm2022/lib/Services/service-worker/service-worker.service.mjs +4 -4
- package/esm2022/lib/Services/storage.service.mjs +4 -4
- package/esm2022/lib/Services/theme.service.mjs +3 -3
- package/esm2022/lib/Services/translation.service.mjs +4 -4
- package/esm2022/lib/Services/utility.service.mjs +4 -4
- package/esm2022/lib/Services/window-security.service.mjs +4 -4
- package/esm2022/lib/Shared/classes/page-loader.class.mjs +1 -1
- package/esm2022/lib/Shared/components/add-item/add-item.component.mjs +3 -3
- package/esm2022/lib/Shared/components/autocomplete/autocomplete-td-rf/autocomplete-td-rf.component.mjs +4 -4
- package/esm2022/lib/Shared/components/autocomplete/autocomplete.component.mjs +4 -4
- package/esm2022/lib/Shared/components/autocomplete/autocomplete.service.mjs +4 -4
- package/esm2022/lib/Shared/components/btn/btn-lg/btn-lg.component.mjs +3 -3
- package/esm2022/lib/Shared/components/btn/btn-link/btn-link.component.mjs +3 -3
- package/esm2022/lib/Shared/components/btn/btn.component.mjs +4 -4
- package/esm2022/lib/Shared/components/btn/btn.service.mjs +4 -4
- package/esm2022/lib/Shared/components/btn/details-btn/details-btn.component.mjs +3 -3
- package/esm2022/lib/Shared/components/card/card.component.mjs +3 -3
- package/esm2022/lib/Shared/components/confirm-dialog/confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/Shared/components/confirm-dialog/confirm-dialog.service.mjs +4 -4
- package/esm2022/lib/Shared/components/core/button/button.component.mjs +3 -3
- package/esm2022/lib/Shared/components/documents-name-display/documents-name-display.component.mjs +4 -4
- package/esm2022/lib/Shared/components/editable-text-case/editable-text-case.component.mjs +4 -4
- package/esm2022/lib/Shared/components/export-table/export-table.component.mjs +4 -4
- package/esm2022/lib/Shared/components/fields-to-display/fields-to-display.component.mjs +4 -4
- package/esm2022/lib/Shared/components/file-upload/file-upload.component.mjs +4 -4
- package/esm2022/lib/Shared/components/form-error/form-error.component.mjs +4 -4
- package/esm2022/lib/Shared/components/form-generator/form-generated-value/form-generated-value.component.mjs +6 -6
- package/esm2022/lib/Shared/components/form-generator/form-generator.base.component.mjs +11 -2
- package/esm2022/lib/Shared/components/form-generator/form-generator.component.mjs +4 -4
- package/esm2022/lib/Shared/components/form-generator/form-generator.service.mjs +3 -3
- package/esm2022/lib/Shared/components/form-link/form-link.component.mjs +3 -3
- package/esm2022/lib/Shared/components/form-tab-headers/form-tab-headers.component.mjs +3 -3
- package/esm2022/lib/Shared/components/index-comp-layout/index-comp-layout.component.mjs +7 -7
- package/esm2022/lib/Shared/components/info-dialog/info-dialog.component.mjs +4 -4
- package/esm2022/lib/Shared/components/info-dialog/info-dialog.service.mjs +4 -4
- package/esm2022/lib/Shared/components/info-icon/info-icon.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input/date-input/date-input.component.mjs +5 -5
- package/esm2022/lib/Shared/components/input/day-hour-min-input/day-hour-min-input.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input/input-base.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input/input-basic.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input/input-control.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input/input-label/input-label.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input/input-td-rf.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input/input.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input/input.service.mjs +4 -4
- package/esm2022/lib/Shared/components/input/inputs-pipes.pipe.mjs +26 -26
- package/esm2022/lib/Shared/components/input/validation-message/validation-message.component.mjs +6 -6
- package/esm2022/lib/Shared/components/input/validation-message/validation-message.service.mjs +3 -3
- package/esm2022/lib/Shared/components/input/year-month-td-rf/year-month-td-rf.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input-NgModel/input-ngmodel.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input-NgModel/validation-message-ngmodel/validation-message-ngmodel.component.mjs +3 -3
- package/esm2022/lib/Shared/components/input-table/input-table.component.mjs +4 -4
- package/esm2022/lib/Shared/components/input-table/input-table.service.mjs +3 -3
- package/esm2022/lib/Shared/components/label/label.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader-animations/blinking-blocks/blinking-blocks.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader-animations/bouncing-ball/bouncing-ball.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader-animations/fading-bars/fading-bars.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader-animations/fading-circles/fading-circles.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader-animations/ring-ripples/ring-ripples.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/loader.component.mjs +3 -3
- package/esm2022/lib/Shared/components/loader/spinner.component.mjs +3 -3
- package/esm2022/lib/Shared/components/modal/modal-body.directive.mjs +3 -3
- package/esm2022/lib/Shared/components/modal/modal-footer.directive.mjs +3 -3
- package/esm2022/lib/Shared/components/modal/modal.component.mjs +3 -3
- package/esm2022/lib/Shared/components/modal-form/modal-form.component.mjs +3 -3
- package/esm2022/lib/Shared/components/modal-header/modal-header.component.mjs +3 -3
- package/esm2022/lib/Shared/components/narration-history-comp/narration-history-comp.component.mjs +4 -4
- package/esm2022/lib/Shared/components/notifications/notifications.component.mjs +3 -3
- package/esm2022/lib/Shared/components/notifications/notifications.service.mjs +3 -3
- package/esm2022/lib/Shared/components/page-center-body/page-center-body.component.mjs +3 -3
- package/esm2022/lib/Shared/components/page-template/page-template.component.mjs +4 -4
- package/esm2022/lib/Shared/components/page-to-component/page-to-component.component.mjs +6 -6
- package/esm2022/lib/Shared/components/page-to-component/page-to-component.directive.mjs +3 -3
- package/esm2022/lib/Shared/components/page-to-component/page-to-component.service.mjs +3 -3
- package/esm2022/lib/Shared/components/paginator/paginator.component.mjs +4 -4
- package/esm2022/lib/Shared/components/phone-number/phone-number.component.mjs +4 -4
- package/esm2022/lib/Shared/components/phone-number/phone-number.model.mjs +1 -1
- package/esm2022/lib/Shared/components/phone-number/phone-number.service.mjs +3 -3
- package/esm2022/lib/Shared/components/rich-text-editor/rich-text-editor.component.mjs +12 -12
- package/esm2022/lib/Shared/components/rich-text-editor-rf/rich-text-editor-rf.component.mjs +12 -12
- package/esm2022/lib/Shared/components/row-actions/row-actions.component.mjs +3 -3
- package/esm2022/lib/Shared/components/svg-icon/svg-icon.component.mjs +3 -3
- package/esm2022/lib/Shared/components/svg-icon/svg-icon.service.mjs +3 -3
- package/esm2022/lib/Shared/components/table-https/table-https.component.mjs +4 -4
- package/esm2022/lib/Shared/components/table-input/table-input-row/table-input-row.component.mjs +3 -3
- package/esm2022/lib/Shared/components/table-input/table-input.component.mjs +4 -4
- package/esm2022/lib/Shared/components/table-plain/table-base.component.mjs +4 -4
- package/esm2022/lib/Shared/components/table-plain/table-plain.component.mjs +4 -4
- package/esm2022/lib/Shared/components/table-plain/table-plain.service.mjs +3 -3
- package/esm2022/lib/Shared/components/table-plain/table.pipe.mjs +20 -20
- package/esm2022/lib/Shared/components/text/text.component.mjs +3 -3
- package/esm2022/lib/Shared/components/text-area-modal/text-area-modal.component.mjs +3 -3
- package/esm2022/lib/Shared/components/text-area-modal/text-area-modal.service.mjs +3 -3
- package/esm2022/lib/Shared/components/text-case-1/text-case-1.component.mjs +4 -4
- package/esm2022/lib/Shared/components/text-case-2/text-case-2.component.mjs +3 -3
- package/esm2022/lib/Shared/components/text-case-2/text-case.service.mjs +4 -4
- package/esm2022/lib/Shared/components/text-case-input/text-case-input.component.mjs +3 -3
- package/esm2022/lib/Shared/components/toggle-input-form/toggle-input-form.component.mjs +3 -3
- package/esm2022/lib/Shared/components/translator-case/translator-case.component.mjs +3 -3
- package/esm2022/lib/Shared/components/vertical-nav/vertical-nav.component.mjs +4 -4
- package/esm2022/lib/Shared/components/view-form-buttons/view-form-buttons.component.mjs +3 -3
- package/esm2022/lib/Shared/components/webcam-media/webcam-media.component.mjs +4 -4
- package/esm2022/lib/Shared/directives/commafy-number.directive.mjs +3 -3
- package/esm2022/lib/Shared/directives/drag-drop-file-upload.directive.mjs +4 -4
- package/esm2022/lib/Shared/directives/form-invalid-class.directive.mjs +3 -3
- package/esm2022/lib/Shared/directives/index.directive.mjs +23 -23
- package/esm2022/lib/Shared/directives/input-formatter.directive.mjs +14 -14
- package/esm2022/lib/Shared/directives/integer-only.directive.mjs +4 -4
- package/esm2022/lib/Shared/directives/mHref.directive.mjs +3 -3
- package/esm2022/lib/Shared/directives/negative-number-only.directive.mjs +4 -4
- package/esm2022/lib/Shared/directives/responsiveness.directive.mjs +20 -20
- package/esm2022/lib/Shared/directives/translator.directive.mjs +4 -4
- package/esm2022/lib/Shared/models/form.class.mjs +1 -1
- package/esm2022/lib/Shared/pipes/form-invalid-class.pipe.mjs +3 -3
- package/esm2022/lib/Shared/pipes/paginator.pipe.mjs +3 -3
- package/esm2022/lib/Shared/pipes/translate.pipe.mjs +7 -7
- package/esm2022/lib/Shared/pipes/utility.pipe.mjs +134 -134
- package/esm2022/lib/Shared/prototypes/prototypes.mjs +1 -1
- package/esm2022/lib/Shared/shared.module.mjs +4 -4
- package/esm2022/lib/authentication/web-user/web-user-authentication.guard.mjs +1 -1
- package/esm2022/lib/authentication/web-user/web-user-authentication.interceptor.mjs +1 -1
- package/esm2022/lib/authentication/web-user/web-user-authentication.service.mjs +3 -3
- package/esm2022/lib/authentication/web-user/web-user-forgot-password.component.mjs +4 -4
- package/esm2022/lib/authentication/web-user/web-user-login.component.mjs +4 -4
- package/esm2022/lib/authentication/web-user/web-user-reset-password.component.mjs +4 -4
- package/esm2022/lib/configs/base-functions.mjs +1 -1
- package/fesm2022/ets-fe-ng-sdk.mjs +766 -758
- package/fesm2022/ets-fe-ng-sdk.mjs.map +1 -1
- package/lib/Services/utility.service.d.ts +5 -5
- package/lib/Shared/components/btn/btn.component.d.ts +3 -3
- package/lib/Shared/components/form-generator/form-generated-value/form-generated-value.component.d.ts +1 -1
- package/lib/Shared/components/form-generator/form-generator.base.component.d.ts +3 -0
- package/lib/Shared/components/index-comp-layout/index-comp-layout.component.d.ts +1 -1
- package/lib/Shared/components/input/input-base.component.d.ts +3 -7
- package/lib/Shared/components/table-https/table-https.component.d.ts +3 -3
- package/lib/Shared/components/text-case-2/text-case.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -281,10 +281,10 @@ export class BtnComponent {
|
|
|
281
281
|
enable() {
|
|
282
282
|
this.disabled.set(false);
|
|
283
283
|
}
|
|
284
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
285
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
284
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
285
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: BtnComponent, isStandalone: true, selector: "app-btn", inputs: { formSchema: { classPropertyName: "formSchema", publicName: "formSchema", isSignal: true, isRequired: false, transformFunction: null }, debug: { classPropertyName: "debug", publicName: "debug", isSignal: true, isRequired: false, transformFunction: null }, centerBtn: { classPropertyName: "centerBtn", publicName: "centerBtn", isSignal: true, isRequired: false, transformFunction: null }, danger: { classPropertyName: "danger", publicName: "danger", isSignal: true, isRequired: false, transformFunction: null }, warning: { classPropertyName: "warning", publicName: "warning", isSignal: true, isRequired: false, transformFunction: null }, verbose: { classPropertyName: "verbose", publicName: "verbose", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, _icon: { classPropertyName: "_icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, _rightIcon: { classPropertyName: "_rightIcon", publicName: "rightIcon", isSignal: false, isRequired: false, transformFunction: null }, _leftIcon: { classPropertyName: "_leftIcon", publicName: "leftIcon", isSignal: false, isRequired: false, transformFunction: null }, _type: { classPropertyName: "_type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, _group: { classPropertyName: "_group", publicName: "group", isSignal: false, isRequired: false, transformFunction: null }, actionType: { classPropertyName: "actionType", publicName: "actionType", isSignal: true, isRequired: false, transformFunction: null }, animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, excludeLogging: { classPropertyName: "excludeLogging", publicName: "excludeLogging", isSignal: false, isRequired: false, transformFunction: booleanAttribute2 }, loggingValue: { classPropertyName: "loggingValue", publicName: "loggingValue", isSignal: false, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, customIcon: { classPropertyName: "customIcon", publicName: "customIcon", isSignal: false, isRequired: false, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, forms: { classPropertyName: "forms", publicName: "forms", isSignal: true, isRequired: false, transformFunction: null }, help: { classPropertyName: "help", publicName: "help", isSignal: true, isRequired: false, transformFunction: null }, _iconBtn: { classPropertyName: "_iconBtn", publicName: "iconBtn", isSignal: false, isRequired: false, transformFunction: booleanAttribute2 }, mclass: { classPropertyName: "mclass", publicName: "mclass", isSignal: true, isRequired: false, transformFunction: null }, showHelpIcon: { classPropertyName: "showHelpIcon", publicName: "showHelpIcon", isSignal: true, isRequired: false, transformFunction: null }, _rightCustomIcon: { classPropertyName: "_rightCustomIcon", publicName: "rightCustomIcon", isSignal: false, isRequired: false, transformFunction: null }, leftCustomIcon: { classPropertyName: "leftCustomIcon", publicName: "leftCustomIcon", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, valid: { classPropertyName: "valid", publicName: "valid", isSignal: true, isRequired: false, transformFunction: null }, mini: { classPropertyName: "mini", publicName: "mini", isSignal: true, isRequired: false, transformFunction: null }, onFormInvalid: { classPropertyName: "onFormInvalid", publicName: "onFormInvalid", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { loading: "loadingChange", leftCustomIcon: "leftCustomIconChange", mclick: "mclick", disabled: "disabledChange" }, viewQueries: [{ propertyName: "innerText", first: true, predicate: ["innerText"], descendants: true }], ngImport: i0, template: "@if (verbose()) {\n <div class=\"\">\n formState():{{formState()|json}}\n </div>\n <div class=\"\">\n form():{{form()?.value|json}}\n </div>\n}\n<span\n class=\"{{ class() }} d-flex align-items-center justify-content-center\"\n [ngClass]=\"{ disabled: isDisabled(), mini: mini() }\"\n (click)=\"btnS.checkForm(this)\">\n @if (showHelpIcon() && help()) {\n <i class=\"fa fa-info-circle me-2 text-primary\" [matTooltip]=\"help() | appTranslate | async\"></i>\n }\n <button\n type=\"{{ actionType() }}\"\n class=\"{{ mclass() }} {{ _mclass() || 'btn' }} d-flex align-items-center \"\n [matBadge]=\"badge()\"\n [ngClass]=\"{\n changecolor: valid(),\n 'btn-raised': animate(),\n disabled: isDisabled(),\n isDanger: danger(),\n isWarning: warning(),\n invalid: formIsInvalid(),\n 'justify-content-center': centerBtn()\n }\"\n [disabled]=\"isDisabled()\"\n (click)=\"click($event)\"\n [matTooltip]=\"showHelpIcon() ? null : (help() | appTranslate | async)\">\n @if (!loading()) {\n @if (isLeftIcon()) {\n @if (isDisabled()) {\n <fa-icon [icon]=\"lockedIcon()\" />\n } @else if (leftCustomIcon()) {\n <i class=\"{{ leftCustomIcon() }}\"></i>\n } @else {\n <fa-icon [icon]=\"leftIcon()\" />\n }\n }\n }\n\n @if (computedText()) {\n <span\n class=\"\"\n [ngClass]=\"{\n 'ms-1': leftIcon() || leftCustomIcon(),\n 'me-1': rightIcon() || rightCustomIcon()\n }\">\n {{ computedText() | appTranslate | async }}\n </span>\n } @else {\n <span\n class=\" \"\n [ngClass]=\"{\n 'ms-1': innerText.innerText && (leftIcon() || leftCustomIcon()),\n 'me-1': innerText.innerText && (rightIcon() || rightCustomIcon())\n }\"\n #innerText\n appTranslator>\n <ng-content></ng-content>\n </span>\n }\n\n @if (loading()) {\n <span class=\"fa fa-spinner ms-{{ iconBtn() ? '' : '2' }} fa-spin\"></span>\n } @else {\n @if (isRightIcon()) {\n @if (isDisabled()) {\n <fa-icon [icon]=\"lockedIcon()\" />\n } @else if (rightCustomIcon()) {\n <i class=\"{{ rightCustomIcon() }}\"></i>\n } @else {\n <fa-icon [icon]=\"rightIcon()\" />\n }\n }\n }\n </button>\n</span>\n", styles: [".lite{padding:0}.disabled{cursor:not-allowed}.invalid{border:3px solid var(--bs-danger)}.mini button{height:auto!important;min-height:unset;padding:2px 5px}@keyframes animateDanger{0%{background-color:red;border-color:red;background-image:none;color:#fff}50%{background-color:red;border-color:red;background-image:none;color:#fff}}@keyframes animateWarning{0%{background-color:#ff8107;border-color:#ff8107;background-image:none;color:#000}50%{background-color:#ff8107;border-color:#ff8107;background-image:none;color:#000}}.isDanger{animation-name:animateDanger;animation-duration:1s;animation-iteration-count:infinite}.isWarning{animation-name:animateWarning;animation-duration:1s;animation-iteration-count:infinite}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i2.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "directive", type: TranslatorDirective, selector: "[appTranslator]", inputs: ["appTranslator"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }] }); }
|
|
286
286
|
}
|
|
287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
287
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BtnComponent, decorators: [{
|
|
288
288
|
type: Component,
|
|
289
289
|
args: [{ selector: 'app-btn', standalone: true, imports: [
|
|
290
290
|
NgClass,
|
|
@@ -336,4 +336,4 @@ var OnFormInvalid;
|
|
|
336
336
|
OnFormInvalid["disable"] = "disable";
|
|
337
337
|
OnFormInvalid["warn"] = "warn";
|
|
338
338
|
})(OnFormInvalid || (OnFormInvalid = {}));
|
|
339
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQWtCLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxH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V0FBVztnQkFNSyxTQUFTO3NCQUEvQixLQUFLO3VCQUFDLFVBQVU7Z0JBT0UsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxNQUFNO2dCQU9PLE1BQU07c0JBQXpCLEtBQUs7dUJBQUMsT0FBTztnQkFpRTJCLGNBQWM7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUU7Z0JBQzlCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTU8sVUFBVTtzQkFBdEIsS0FBSztnQkErRnlELFFBQVE7c0JBQXRFLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtnQkFPaEIsZ0JBQWdCO3NCQUF4RCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFO2dCQVV6QixNQUFNO3NCQUFmLE1BQU07Z0JBQ2lCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVzs7QUFvRXhCLElBQUssYUFHSjtBQUhELFdBQUssYUFBYTtJQUNoQixvQ0FBbUIsQ0FBQTtJQUNuQiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhJLGFBQWEsS0FBYixhQUFhLFFBR2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBGb3JtQXJyYXksXG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUNvbnRyb2xTdGF0dXMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEljb25EZWZpbml0aW9uLCBmYUxvY2sgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgQnRuU2VydmljZSB9IGZyb20gJy4vYnRuLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0RLVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IFRyYW5zbGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RyYW5zbGF0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBBc3luY1BpcGUsIEpzb25QaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElGb3JtU2NoZW1hIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tc2NoZW1hLm1vZGVsJztcbmltcG9ydCB7IEljb25UeXBlLCBCdG5UeXBlLCBCdG5Hcm91cCB9IGZyb20gJy4vYnRuLm1vZGVsJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBtZXJnZSwgb2YsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5mdW5jdGlvbiBib29sZWFuQXR0cmlidXRlMih2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4gYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSk7XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYnRuJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J0bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J0bi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICAvLyAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIC8vIC8vXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRCYWRnZU1vZHVsZSxcbiAgICBGb250QXdlc29tZU1vZHVsZSxcbiAgICBKc29uUGlwZSxcbiAgICBUcmFuc2xhdG9yRGlyZWN0aXZlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBTREtUcmFuc2xhdGVQaXBlLFxuICBdLFxufSkgLy8gSW5oZXJpdGVkXG5leHBvcnQgY2xhc3MgQnRuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqIFRvIGJlIHBhc3NlZCB3aGVuIHRvIGNoZWNrIGZvciBzcGVjaWZpYyBpbnZhbGlkIGZvcm0gZmllbGRzICovXG4gIHJlYWRvbmx5IGZvcm1TY2hlbWEgPSBpbnB1dDxJRm9ybVNjaGVtYVtdPigpO1xuICByZWFkb25seSBkZWJ1ZyA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGZvcm1Jc0ludmFsaWQgPSBjb21wdXRlZDxib29sZWFuPihcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RhdGUoKSxcbiAgICAgICAgb25Gb3JtSW52YWxpZCA9IHRoaXMub25Gb3JtSW52YWxpZCgpLFxuICAgICAgICBmb3JtU2NoZW1hID0gdGhpcy5mb3JtU2NoZW1hKCk7XG5cbiAgICAgIHJldHVybiBmb3JtICYmIGZvcm0uaW52YWxpZCAmJiBvbkZvcm1JbnZhbGlkID09IE9uRm9ybUludmFsaWQud2FybiAmJiBmb3JtU2NoZW1hPy5sZW5ndGhcbiAgICAgICAgPyBmb3JtU2NoZW1hLnNvbWUoKGYpID0+ICg8Rm9ybUdyb3VwPmZvcm0pLmNvbnRyb2xzW2YuZmllbGQ/LnRvU3RyaW5nKCldPy5pbnZhbGlkKVxuICAgICAgICA6IG51bGw7XG4gICAgfSxcbiAgICB7IGVxdWFsOiBpc0VxdWFsIH0sXG4gICk7XG4gIHJlYWRvbmx5IGNlbnRlckJ0biA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSBkYW5nZXIgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSB3YXJuaW5nID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgdmVyYm9zZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIC8vIGNvdW50ZXIgPSBzaWduYWwoMCk7XG5cbiAgcHJvdGVjdGVkIGljb25UeXBlOiBJY29uVHlwZTtcbiAgcmVhZG9ubHkgaWNvbkJ0biA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGxvYWRpbmcgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG5cbiAgQElucHV0KCdpY29uJykgc2V0IF9pY29uKHY6IEljb25UeXBlKSB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHY7XG4gICAgY29uc3QgcmVzID0gdGhpcy5idG5TLmdldEljb24odik7XG4gICAgaWYgKCFyZXMpIHJldHVybjtcbiAgICBpZiAocmVzLmljb25Qb3NpdGlvbiA9PSAncmlnaHQnKSB7XG4gICAgICB0aGlzLnJpZ2h0SWNvbi5zZXQocmVzLmljb24pO1xuICAgICAgdGhpcy5yaWdodEN1c3RvbUljb24uc2V0KHJlcy5pY29uU3RyaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sZWZ0SWNvbi5zZXQocmVzLmljb24pO1xuICAgICAgdGhpcy5sZWZ0Q3VzdG9tSWNvbi5zZXQocmVzLmljb25TdHJpbmcpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoJ3JpZ2h0SWNvbicpIHNldCBfcmlnaHRJY29uKHY6IEljb25UeXBlKSB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHY7XG4gICAgY29uc3QgcmVzID0gdGhpcy5idG5TLmdldEljb24odik7XG4gICAgdGhpcy5yaWdodEljb24uc2V0KHJlcy5pY29uKTtcbiAgICB0aGlzLnJpZ2h0Q3VzdG9tSWNvbi5zZXQocmVzLmljb25TdHJpbmcpO1xuICB9XG4gIEBJbnB1dCgnbGVmdEljb24nKSBzZXQgX2xlZnRJY29uKHY6IEljb25UeXBlKSB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHY7XG4gICAgY29uc3QgcmVzID0gdGhpcy5idG5TLmdldEljb24odik7XG4gICAgdGhpcy5sZWZ0SWNvbi5zZXQocmVzLmljb24pO1xuICAgIHRoaXMubGVmdEN1c3RvbUljb24uc2V0KHJlcy5pY29uU3RyaW5nKTtcbiAgfVxuXG4gIEBJbnB1dCgndHlwZScpIHNldCBfdHlwZSh2OiBCdG5UeXBlKSB7XG4gICAgY29uc3QgeyBfaWNvbiwgX21jbGFzcywgX3R5cGUgfSA9IHRoaXMuYnRuUy5nZXRUeXBlKHYpO1xuICAgIHRoaXMuX21jbGFzcy51cGRhdGUoKG1jbGFzcykgPT4gX21jbGFzcyB8fCBtY2xhc3MpO1xuICAgIGlmIChfaWNvbikgdGhpcy5faWNvbiA9IF9pY29uO1xuICAgIGlmIChfdHlwZSkgdGhpcy5fdHlwZSA9IF90eXBlO1xuICB9XG5cbiAgQElucHV0KCdncm91cCcpIHNldCBfZ3JvdXAodjogQnRuR3JvdXApIHtcbiAgICBzd2l0Y2ggKHYpIHtcbiAgICAgIGNhc2UgJ2FkZCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnb3V0bGluZSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnYWRkJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjbG9uZSc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdjbG9uZSc7XG4gICAgICAgIHRoaXMuX3RleHQuc2V0KCdDbG9uZScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnb3V0bGluZSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnYWRkJztcbiAgICAgICAgdGhpcy5fdGV4dC5zZXQoJ0NyZWF0ZScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Nsb3NlJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdkYW5nZXItb3V0bGluZSc7XG4gICAgICAgIHRoaXMuY3VzdG9tSWNvbiA9IHRoaXMuYnRuUy5nZXRJY29uKCdjbG9zZScpLmljb25TdHJpbmc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdkYW5nZXItb3V0bGluZSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnZGVsZXRlJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkb3dubG9hZCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdkb3dubG9hZCc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZWRpdCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdlZGl0JztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsaW5rJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLmN1c3RvbUljb24gPSAnZmEgZmEtZXllJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzZWFyY2gnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnc2VhcmNoJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzaG93JzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ3Nob3cnO1xuICAgICAgICB0aGlzLl90ZXh0LnNldCgnU2hvdycpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3N1Ym1pdCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdzYXZlJztcbiAgICAgICAgdGhpcy5fdGV4dC5zZXQoJ1N1Ym1pdCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NhdmUnOlxuICAgICAgICB0aGlzLl9ncm91cCA9ICdzdWJtaXQnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmVhZG9ubHkgX21jbGFzcyA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgYWN0aW9uVHlwZSA9IGlucHV0PCdzdWJtaXQnIHwgJ2J1dHRvbicgfCAncmVzZXQnPignYnV0dG9uJyk7XG4gIHJlYWRvbmx5IGFuaW1hdGUgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUyIGFzIHVuZGVmaW5lZCB9KTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlMiB9KSBleGNsdWRlTG9nZ2luZyA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2dnaW5nVmFsdWU6IHN0cmluZztcbiAgcmVhZG9ubHkgYmFkZ2UgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KG51bGwpO1xuICByZWFkb25seSBjbGFzcyA9IGlucHV0PHN0cmluZz4oKTtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGxlZnQgc2lkZSBpY29uXG4gICAqL1xuICBASW5wdXQoKSBzZXQgY3VzdG9tSWNvbih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLmxlZnRDdXN0b21JY29uLnNldCh2KTtcbiAgfVxuXG4gIC8vIGZvcm1TdGF0ZSA9IGNvbXB1dGVkPElGb3JtU3RhdGU+KCgpID0+IHtcbiAgLy8gICBjb25zdCBkID0gdGhpcy5jaGVja0Zvcm1TdGF0ZSgpO1xuXG4gIC8vICAgaWYgKHRoaXMuZGVidWcoKSkge1xuICAvLyAgICAgZGVidWdnZXI7XG4gIC8vICAgfVxuICAvLyAgIHJldHVybiB7XG4gIC8vICAgICBwZW5kaW5nOiB0aGlzLmZvcm0/LnBlbmRpbmcsXG4gIC8vICAgICBkaXJ0eTogdGhpcy5mb3JtPy5kaXJ0eSxcbiAgLy8gICAgIGludmFsaWQ6IHRoaXMuZm9ybT8uaW52YWxpZCxcbiAgLy8gICAgIHByaXN0aW5lOiB0aGlzLmZvcm0/LnByaXN0aW5lLFxuICAvLyAgICAgdmFsaWQ6IHRoaXMuZm9ybT8udmFsaWQsXG4gIC8vICAgfTtcbiAgLy8gfSk7XG4gIHJlYWRvbmx5IGNoZWNrRm9ybVN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUZvcm1TdGF0ZT4oe30pO1xuICAvLyBwcm90ZWN0ZWQgZm9ybVN1YjogU3Vic2NyaXB0aW9uO1xuICAvLyBwcm90ZWN0ZWQgZm9ybXNTdWI6IFN1YnNjcmlwdGlvbjtcbiAgcmVhZG9ubHkgZm9ybSA9IGlucHV0PFxuICAgIEZvcm1Hcm91cDxhbnk+IHwgRm9ybUNvbnRyb2w8YW55PiB8IEZvcm1BcnJheTxhbnk+IHwgQWJzdHJhY3RDb250cm9sPGFueSwgYW55PlxuICA+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmb3JtU3RhdGUgPSB0b1NpZ25hbChcbiAgICB0b09ic2VydmFibGUodGhpcy5mb3JtKS5waXBlKFxuICAgICAgZmlsdGVyKCh4KSA9PiAhIXgpLFxuXG4gICAgICBzd2l0Y2hNYXAoKGZvcm0pID0+XG4gICAgICAgIGZvcm0uc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgIHRoaXMuZm9ybSgpXG4gICAgICAgICAgICAgID8gPElGb3JtU3RhdGU+e1xuICAgICAgICAgICAgICAgICAgcGVuZGluZzogdGhpcy5mb3JtKCk/LnBlbmRpbmcsXG4gICAgICAgICAgICAgICAgICBkaXJ0eTogdGhpcy5mb3JtKCk/LmRpcnR5LFxuICAgICAgICAgICAgICAgICAgaW52YWxpZDogdGhpcy5mb3JtKCk/LmludmFsaWQsXG4gICAgICAgICAgICAgICAgICBwcmlzdGluZTogdGhpcy5mb3JtKCk/LnByaXN0aW5lLFxuICAgICAgICAgICAgICAgICAgdmFsaWQ6IHRoaXMuZm9ybSgpPy52YWxpZCxcbiAgICAgICAgICAgICAgICAgIHN0YXR1czogdGhpcy5mb3JtKCk/LnN0YXR1cyxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICApLFxuICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtKCk7XG4gICAgICAgICAgICByZXR1cm4gZm9ybVxuICAgICAgICAgICAgICA/IDxJRm9ybVN0YXRlPntcbiAgICAgICAgICAgICAgICAgIHBlbmRpbmc6IGZvcm0ucGVuZGluZyxcbiAgICAgICAgICAgICAgICAgIGRpcnR5OiBmb3JtLmRpcnR5LFxuICAgICAgICAgICAgICAgICAgaW52YWxpZDogZm9ybS5pbnZhbGlkLFxuICAgICAgICAgICAgICAgICAgcHJpc3RpbmU6IGZvcm0ucHJpc3RpbmUsXG4gICAgICAgICAgICAgICAgICB2YWxpZDogZm9ybS52YWxpZCxcbiAgICAgICAgICAgICAgICAgIHN0YXR1czogZm9ybS5zdGF0dXMsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICksXG4gICk7XG4gIHJlYWRvbmx5IGZvcm1zID1cbiAgICBpbnB1dDwoRm9ybUdyb3VwPGFueT4gfCBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgRm9ybUNvbnRyb2w8YW55PiB8IEZvcm1BcnJheTxhbnk+KVtdPigpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybXNTdGF0ZSA9IHRvU2lnbmFsKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmZvcm1zKS5waXBlKFxuICAgICAgZmlsdGVyKCh4KSA9PiAhIXggJiYgeC5sZW5ndGggPiAwKSxcbiAgICAgIHN3aXRjaE1hcCgoZm9ybXMpID0+XG4gICAgICAgIG1lcmdlKC4uLmZvcm1zLm1hcCgoZm9ybSkgPT4gZm9ybS5zdGF0dXNDaGFuZ2VzKSkucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm9ybXMgPSB0aGlzLmZvcm1zKCk7XG4gICAgICAgICAgICBpZiAoIWZvcm1zKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IGZzOiBPbWl0PElGb3JtU3RhdGUsICdzdGF0dXMnPiA9IHtcbiAgICAgICAgICAgICAgcGVuZGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgZGlydHk6IHRydWUsXG4gICAgICAgICAgICAgIGludmFsaWQ6IHRydWUsXG4gICAgICAgICAgICAgIHByaXN0aW5lOiB0cnVlLFxuICAgICAgICAgICAgICB2YWxpZDogdHJ1ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBmb3Jtcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgICAgICAgIGlmICgheC5wZW5kaW5nKSBmcy5wZW5kaW5nID0geC5wZW5kaW5nO1xuICAgICAgICAgICAgICBpZiAoIXguZGlydHkpIGZzLmRpcnR5ID0geC5kaXJ0eTtcbiAgICAgICAgICAgICAgaWYgKCF4LmludmFsaWQpIGZzLmludmFsaWQgPSB4LmludmFsaWQ7XG4gICAgICAgICAgICAgIGlmICgheC5wcmlzdGluZSkgZnMucHJpc3RpbmUgPSB4LnByaXN0aW5lO1xuICAgICAgICAgICAgICBpZiAoIXgudmFsaWQpIGZzLnZhbGlkID0geC52YWxpZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGZzO1xuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApLFxuICApO1xuXG4gIHJlYWRvbmx5IGhlbHAgPSBpbnB1dDxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgbm8gbG9uZ2VyIG5lZWRlZCB0byBkZXRlY3QgdGhlIGNvcnJlY3Qgc3BhY2luZyBiZXR3ZWVuIGljb24gYW5kIHRleHRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZTIsIGFsaWFzOiAnaWNvbkJ0bicgfSkgc2V0IF9pY29uQnRuKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmljb25CdG4uc2V0KHYgfHwgZmFsc2UpO1xuICB9XG5cbiAgcmVhZG9ubHkgbWNsYXNzID0gaW5wdXQ8c3RyaW5nPihudWxsKTtcbiAgcmVhZG9ubHkgc2hvd0hlbHBJY29uID0gaW5wdXQodHJ1ZSk7XG4gIHJlYWRvbmx5IHJpZ2h0SWNvbiA9IHNpZ25hbDxJY29uRGVmaW5pdGlvbj4obnVsbCk7XG4gIEBJbnB1dCh7IGFsaWFzOiAncmlnaHRDdXN0b21JY29uJyB9KSBzZXQgX3JpZ2h0Q3VzdG9tSWNvbih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLnJpZ2h0Q3VzdG9tSWNvbi5zZXQodik7XG4gIH1cbiAgcmVhZG9ubHkgcmlnaHRDdXN0b21JY29uID0gc2lnbmFsPHN0cmluZz4obnVsbCk7XG4gIHJlYWRvbmx5IGxlZnRJY29uID0gc2lnbmFsPEljb25EZWZpbml0aW9uPihudWxsKTtcbiAgcmVhZG9ubHkgbGVmdEN1c3RvbUljb24gPSBtb2RlbDxzdHJpbmc+KG51bGwpO1xuICByZWFkb25seSB0ZXh0ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgdmFsaWQgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgbWluaSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZTIgYXMgdW5kZWZpbmVkIH0pO1xuICByZWFkb25seSBvbkZvcm1JbnZhbGlkID0gaW5wdXQ8a2V5b2YgdHlwZW9mIE9uRm9ybUludmFsaWQ+KE9uRm9ybUludmFsaWQuZGlzYWJsZSk7XG4gIEBPdXRwdXQoKSBtY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ2lubmVyVGV4dCcpIGlubmVyVGV4dDogRWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+O1xuICByZWFkb25seSBsb2NrZWRJY29uID0gc2lnbmFsKGZhTG9jayk7XG4gIHByb3RlY3RlZCByZWFkb25seSBfdGV4dCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPih1bmRlZmluZWQpO1xuICByZWFkb25seSBkaXNhYmxlZCA9IG1vZGVsPGJvb2xlYW4gfCBudWxsPihmYWxzZSk7XG4gIHJlYWRvbmx5IGNvbXB1dGVkVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMudGV4dCgpLFxuICAgICAgbG9jYWwgPSB0aGlzLl90ZXh0KCk7XG4gICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyBsb2NhbCA6IGlucHV0O1xuICB9KTtcbiAgcHVibGljIGJ0blMgPSBpbmplY3QoQnRuU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0xlZnRJY29uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sZWZ0SWNvbigpIHx8IHRoaXMubGVmdEN1c3RvbUljb24oKSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1JpZ2h0SWNvbiA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmlnaHRJY29uKCkgfHwgdGhpcy5yaWdodEN1c3RvbUljb24oKSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGZzID0gdGhpcy5mb3JtU3RhdGUoKTtcbiAgICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIC8vQ2FsbGVkIGFmdGVyIGV2ZXJ5IGNoZWNrIG9mIHRoZSBjb21wb25lbnQncyB2aWV3LiBBcHBsaWVzIHRvIGNvbXBvbmVudHMgb25seS5cbiAgICAvL0FkZCAnaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkJyB0byB0aGUgY2xhc3MuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX21jbGFzcygpKSB0aGlzLl90eXBlID0gdGhpcy5idG5TLmRlZmF1bHRUeXBlO1xuICB9XG5cbiAgc2V0TG9hZGVyKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMubG9hZGluZy5zZXQodmFsKTtcbiAgfVxuICBnZXQgZXh0cmFjdFRleHQoKSB7XG4gICAgcmV0dXJuIGBDbGlja2VkIG9uICR7XG4gICAgICB0aGlzLnRleHQoKSB8fCB0aGlzLmlubmVyVGV4dD8ubmF0aXZlRWxlbWVudD8uaW5uZXJIVE1MIHx8IHRoaXMuaWNvblR5cGUgfHwgJ2J1dHRvbidcbiAgICB9ICR7dGhpcy5sb2dnaW5nVmFsdWUgPyAnXFxuVHJhY2sgdmFsdWU6ICcgKyB0aGlzLmxvZ2dpbmdWYWx1ZSA6ICcnfWA7XG4gIH1cbiAgY2xpY2soJGV2ZW50KSB7XG4gICAgLy8gZGVidWdnZXJcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKCkgfHwgdGhpcy5sb2FkaW5nKCkpIHJldHVybjtcbiAgICB0aGlzLm1jbGljay5lbWl0KCRldmVudCk7XG4gICAgdGhpcy5idG5TLmxvZ0NsaWNrKHRoaXMpO1xuICB9XG5cbiAgcmVhZG9ubHkgaXNEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5kZWJ1ZygpKSBkZWJ1Z2dlcjtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQoKSxcbiAgICAgIHZhbGlkID0gdGhpcy52YWxpZCgpLFxuICAgICAgb25Gb3JtSW52YWxpZCA9IHRoaXMub25Gb3JtSW52YWxpZCgpLFxuICAgICAgZm9ybSA9IHRoaXMuZm9ybVN0YXRlKCksXG4gICAgICBmb3JtcyA9IHRoaXMuZm9ybXNTdGF0ZSgpO1xuICAgIHJldHVybiAoXG4gICAgICBkaXNhYmxlZCB8fFxuICAgICAgIXZhbGlkIHx8XG4gICAgICAob25Gb3JtSW52YWxpZCA9PSBPbkZvcm1JbnZhbGlkLmRpc2FibGUgJiZcbiAgICAgICAgKGZvcm0/LmludmFsaWQgfHwgZm9ybT8ucGVuZGluZyB8fCBmb3Jtcz8ucGVuZGluZykpIHx8XG4gICAgICBmYWxzZVxuICAgICk7XG4gIH0pO1xuXG4gIGRpc2FibGUoKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQodHJ1ZSk7XG4gIH1cblxuICBlbmFibGUoKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQoZmFsc2UpO1xuICB9XG59XG5lbnVtIE9uRm9ybUludmFsaWQge1xuICBkaXNhYmxlID0gJ2Rpc2FibGUnLFxuICB3YXJuID0gJ3dhcm4nLFxufVxuaW50ZXJmYWNlIElGb3JtU3RhdGUge1xuICBwZW5kaW5nPzogYm9vbGVhbjtcbiAgZGlydHk/OiBib29sZWFuO1xuICBpbnZhbGlkPzogYm9vbGVhbjtcbiAgcHJpc3RpbmU/OiBib29sZWFuO1xuICB2YWxpZD86IGJvb2xlYW47XG4gIHN0YXR1cz86IEZvcm1Db250cm9sU3RhdHVzO1xufVxuIiwiQGlmICh2ZXJib3NlKCkpIHtcbiA8ZGl2IGNsYXNzPVwiXCI+XG4gIGZvcm1TdGF0ZSgpOnt7Zm9ybVN0YXRlKCl8anNvbn19XG4gPC9kaXY+XG4gPGRpdiBjbGFzcz1cIlwiPlxuICBmb3JtKCk6e3tmb3JtKCk/LnZhbHVlfGpzb259fVxuIDwvZGl2PlxufVxuPHNwYW5cbiAgY2xhc3M9XCJ7eyBjbGFzcygpIH19ICBkLWZsZXggIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogaXNEaXNhYmxlZCgpLCBtaW5pOiBtaW5pKCkgfVwiXG4gIChjbGljayk9XCJidG5TLmNoZWNrRm9ybSh0aGlzKVwiPlxuICBAaWYgKHNob3dIZWxwSWNvbigpICYmIGhlbHAoKSkge1xuICAgIDxpIGNsYXNzPVwiZmEgZmEtaW5mby1jaXJjbGUgbWUtMiB0ZXh0LXByaW1hcnlcIiBbbWF0VG9vbHRpcF09XCJoZWxwKCkgfCBhcHBUcmFuc2xhdGUgfCBhc3luY1wiPjwvaT5cbiAgfVxuICA8YnV0dG9uXG4gICAgdHlwZT1cInt7IGFjdGlvblR5cGUoKSB9fVwiXG4gICAgY2xhc3M9XCJ7eyBtY2xhc3MoKSB9fSB7eyBfbWNsYXNzKCkgfHwgJ2J0bicgfX0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBcIlxuICAgIFttYXRCYWRnZV09XCJiYWRnZSgpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICBjaGFuZ2Vjb2xvcjogdmFsaWQoKSxcbiAgICAgICdidG4tcmFpc2VkJzogYW5pbWF0ZSgpLFxuICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWQoKSxcbiAgICAgIGlzRGFuZ2VyOiBkYW5nZXIoKSxcbiAgICAgIGlzV2FybmluZzogd2FybmluZygpLFxuICAgICAgaW52YWxpZDogZm9ybUlzSW52YWxpZCgpLFxuICAgICAgJ2p1c3RpZnktY29udGVudC1jZW50ZXInOiBjZW50ZXJCdG4oKVxuICAgIH1cIlxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIlxuICAgIChjbGljayk9XCJjbGljaygkZXZlbnQpXCJcbiAgICBbbWF0VG9vbHRpcF09XCJzaG93SGVscEljb24oKSA/IG51bGwgOiAoaGVscCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMpXCI+XG4gICAgQGlmICghbG9hZGluZygpKSB7XG4gICAgICBAaWYgKGlzTGVmdEljb24oKSkge1xuICAgICAgICBAaWYgKGlzRGlzYWJsZWQoKSkge1xuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImxvY2tlZEljb24oKVwiIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKGxlZnRDdXN0b21JY29uKCkpIHtcbiAgICAgICAgICA8aSBjbGFzcz1cInt7IGxlZnRDdXN0b21JY29uKCkgfX1cIj48L2k+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImxlZnRJY29uKClcIiAvPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIChjb21wdXRlZFRleHQoKSkge1xuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ21zLTEnOiBsZWZ0SWNvbigpIHx8IGxlZnRDdXN0b21JY29uKCksXG4gICAgICAgICAgJ21lLTEnOiByaWdodEljb24oKSB8fCByaWdodEN1c3RvbUljb24oKVxuICAgICAgICB9XCI+XG4gICAgICAgIHt7IGNvbXB1dGVkVGV4dCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiIFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnbXMtMSc6IGlubmVyVGV4dC5pbm5lclRleHQgJiYgKGxlZnRJY29uKCkgfHwgbGVmdEN1c3RvbUljb24oKSksXG4gICAgICAgICAgJ21lLTEnOiBpbm5lclRleHQuaW5uZXJUZXh0ICYmIChyaWdodEljb24oKSB8fCByaWdodEN1c3RvbUljb24oKSlcbiAgICAgICAgfVwiXG4gICAgICAgICNpbm5lclRleHRcbiAgICAgICAgYXBwVHJhbnNsYXRvcj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9zcGFuPlxuICAgIH1cblxuICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXNwaW5uZXIgbXMte3sgaWNvbkJ0bigpID8gJycgOiAnMicgfX0gZmEtc3BpblwiPjwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAoaXNSaWdodEljb24oKSkge1xuICAgICAgICBAaWYgKGlzRGlzYWJsZWQoKSkge1xuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImxvY2tlZEljb24oKVwiIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKHJpZ2h0Q3VzdG9tSWNvbigpKSB7XG4gICAgICAgICAgPGkgY2xhc3M9XCJ7eyByaWdodEN1c3RvbUljb24oKSB9fVwiPjwvaT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwicmlnaHRJY29uKClcIiAvPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICA8L2J1dHRvbj5cbjwvc3Bhbj5cbiJdfQ==
|
|
339
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQWtCLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxH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O2dCQVlXLFVBQVU7c0JBQWpDLEtBQUs7dUJBQUMsV0FBVztnQkFNSyxTQUFTO3NCQUEvQixLQUFLO3VCQUFDLFVBQVU7Z0JBT0UsS0FBSztzQkFBdkIsS0FBSzt1QkFBQyxNQUFNO2dCQU9PLE1BQU07c0JBQXpCLEtBQUs7dUJBQUMsT0FBTztnQkFpRTJCLGNBQWM7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUU7Z0JBQzlCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTU8sVUFBVTtzQkFBdEIsS0FBSztnQkErRnlELFFBQVE7c0JBQXRFLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtnQkFPaEIsZ0JBQWdCO3NCQUF4RCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFO2dCQVV6QixNQUFNO3NCQUFmLE1BQU07Z0JBQ2lCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVzs7QUFvRXhCLElBQUssYUFHSjtBQUhELFdBQUssYUFBYTtJQUNoQixvQ0FBbUIsQ0FBQTtJQUNuQiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhJLGFBQWEsS0FBYixhQUFhLFFBR2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBGb3JtQXJyYXksXG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUNvbnRyb2xTdGF0dXMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEljb25EZWZpbml0aW9uLCBmYUxvY2sgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgQnRuU2VydmljZSB9IGZyb20gJy4vYnRuLnNlcnZpY2UnO1xuaW1wb3J0IHsgU0RLVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IFRyYW5zbGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RyYW5zbGF0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBBc3luY1BpcGUsIEpzb25QaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElGb3JtU2NoZW1hIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tc2NoZW1hLm1vZGVsJztcbmltcG9ydCB7IEljb25UeXBlLCBCdG5UeXBlLCBCdG5Hcm91cCB9IGZyb20gJy4vYnRuLm1vZGVsJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBtZXJnZSwgb2YsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5mdW5jdGlvbiBib29sZWFuQXR0cmlidXRlMih2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4gYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSk7XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYnRuJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J0bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J0bi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICAvLyAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIC8vIC8vXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRCYWRnZU1vZHVsZSxcbiAgICBGb250QXdlc29tZU1vZHVsZSxcbiAgICBKc29uUGlwZSxcbiAgICBUcmFuc2xhdG9yRGlyZWN0aXZlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBTREtUcmFuc2xhdGVQaXBlLFxuICBdLFxufSkgLy8gSW5oZXJpdGVkXG5leHBvcnQgY2xhc3MgQnRuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqIFRvIGJlIHBhc3NlZCB3aGVuIHRvIGNoZWNrIGZvciBzcGVjaWZpYyBpbnZhbGlkIGZvcm0gZmllbGRzICovXG4gIHJlYWRvbmx5IGZvcm1TY2hlbWEgPSBpbnB1dDxJRm9ybVNjaGVtYVtdPigpO1xuICByZWFkb25seSBkZWJ1ZyA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGZvcm1Jc0ludmFsaWQgPSBjb21wdXRlZDxib29sZWFuPihcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtU3RhdGUoKSxcbiAgICAgICAgb25Gb3JtSW52YWxpZCA9IHRoaXMub25Gb3JtSW52YWxpZCgpLFxuICAgICAgICBmb3JtU2NoZW1hID0gdGhpcy5mb3JtU2NoZW1hKCk7XG5cbiAgICAgIHJldHVybiBmb3JtICYmIGZvcm0uaW52YWxpZCAmJiBvbkZvcm1JbnZhbGlkID09IE9uRm9ybUludmFsaWQud2FybiAmJiBmb3JtU2NoZW1hPy5sZW5ndGhcbiAgICAgICAgPyBmb3JtU2NoZW1hLnNvbWUoKGYpID0+ICg8Rm9ybUdyb3VwPmZvcm0pLmNvbnRyb2xzW2YuZmllbGQ/LnRvU3RyaW5nKCldPy5pbnZhbGlkKVxuICAgICAgICA6IG51bGw7XG4gICAgfSxcbiAgICB7IGVxdWFsOiBpc0VxdWFsIH0sXG4gICk7XG4gIHJlYWRvbmx5IGNlbnRlckJ0biA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSBkYW5nZXIgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSB3YXJuaW5nID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgdmVyYm9zZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIC8vIGNvdW50ZXIgPSBzaWduYWwoMCk7XG5cbiAgcHJvdGVjdGVkIGljb25UeXBlOiBJY29uVHlwZTtcbiAgcmVhZG9ubHkgaWNvbkJ0biA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGxvYWRpbmcgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG5cbiAgQElucHV0KCdpY29uJykgc2V0IF9pY29uKHY6IEljb25UeXBlKSB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHY7XG4gICAgY29uc3QgcmVzID0gdGhpcy5idG5TLmdldEljb24odik7XG4gICAgaWYgKCFyZXMpIHJldHVybjtcbiAgICBpZiAocmVzLmljb25Qb3NpdGlvbiA9PSAncmlnaHQnKSB7XG4gICAgICB0aGlzLnJpZ2h0SWNvbi5zZXQocmVzLmljb24pO1xuICAgICAgdGhpcy5yaWdodEN1c3RvbUljb24uc2V0KHJlcy5pY29uU3RyaW5nKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sZWZ0SWNvbi5zZXQocmVzLmljb24pO1xuICAgICAgdGhpcy5sZWZ0Q3VzdG9tSWNvbi5zZXQocmVzLmljb25TdHJpbmcpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoJ3JpZ2h0SWNvbicpIHNldCBfcmlnaHRJY29uKHY6IEljb25UeXBlKSB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHY7XG4gICAgY29uc3QgcmVzID0gdGhpcy5idG5TLmdldEljb24odik7XG4gICAgdGhpcy5yaWdodEljb24uc2V0KHJlcy5pY29uKTtcbiAgICB0aGlzLnJpZ2h0Q3VzdG9tSWNvbi5zZXQocmVzLmljb25TdHJpbmcpO1xuICB9XG4gIEBJbnB1dCgnbGVmdEljb24nKSBzZXQgX2xlZnRJY29uKHY6IEljb25UeXBlKSB7XG4gICAgdGhpcy5pY29uVHlwZSA9IHY7XG4gICAgY29uc3QgcmVzID0gdGhpcy5idG5TLmdldEljb24odik7XG4gICAgdGhpcy5sZWZ0SWNvbi5zZXQocmVzLmljb24pO1xuICAgIHRoaXMubGVmdEN1c3RvbUljb24uc2V0KHJlcy5pY29uU3RyaW5nKTtcbiAgfVxuXG4gIEBJbnB1dCgndHlwZScpIHNldCBfdHlwZSh2OiBCdG5UeXBlKSB7XG4gICAgY29uc3QgeyBfaWNvbiwgX21jbGFzcywgX3R5cGUgfSA9IHRoaXMuYnRuUy5nZXRUeXBlKHYpO1xuICAgIHRoaXMuX21jbGFzcy51cGRhdGUoKG1jbGFzcykgPT4gX21jbGFzcyB8fCBtY2xhc3MpO1xuICAgIGlmIChfaWNvbikgdGhpcy5faWNvbiA9IF9pY29uO1xuICAgIGlmIChfdHlwZSkgdGhpcy5fdHlwZSA9IF90eXBlO1xuICB9XG5cbiAgQElucHV0KCdncm91cCcpIHNldCBfZ3JvdXAodjogQnRuR3JvdXApIHtcbiAgICBzd2l0Y2ggKHYpIHtcbiAgICAgIGNhc2UgJ2FkZCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnb3V0bGluZSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnYWRkJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjbG9uZSc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdjbG9uZSc7XG4gICAgICAgIHRoaXMuX3RleHQuc2V0KCdDbG9uZScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnb3V0bGluZSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnYWRkJztcbiAgICAgICAgdGhpcy5fdGV4dC5zZXQoJ0NyZWF0ZScpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Nsb3NlJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdkYW5nZXItb3V0bGluZSc7XG4gICAgICAgIHRoaXMuY3VzdG9tSWNvbiA9IHRoaXMuYnRuUy5nZXRJY29uKCdjbG9zZScpLmljb25TdHJpbmc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdkYW5nZXItb3V0bGluZSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnZGVsZXRlJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkb3dubG9hZCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdkb3dubG9hZCc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZWRpdCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdlZGl0JztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsaW5rJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLmN1c3RvbUljb24gPSAnZmEgZmEtZXllJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzZWFyY2gnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnc2VhcmNoJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzaG93JzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ3Nob3cnO1xuICAgICAgICB0aGlzLl90ZXh0LnNldCgnU2hvdycpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3N1Ym1pdCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdzYXZlJztcbiAgICAgICAgdGhpcy5fdGV4dC5zZXQoJ1N1Ym1pdCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NhdmUnOlxuICAgICAgICB0aGlzLl9ncm91cCA9ICdzdWJtaXQnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmVhZG9ubHkgX21jbGFzcyA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgYWN0aW9uVHlwZSA9IGlucHV0PCdzdWJtaXQnIHwgJ2J1dHRvbicgfCAncmVzZXQnPignYnV0dG9uJyk7XG4gIHJlYWRvbmx5IGFuaW1hdGUgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUyIGFzIHVuZGVmaW5lZCB9KTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlMiB9KSBleGNsdWRlTG9nZ2luZyA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2dnaW5nVmFsdWU6IHN0cmluZztcbiAgcmVhZG9ubHkgYmFkZ2UgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KG51bGwpO1xuICByZWFkb25seSBjbGFzcyA9IGlucHV0PHN0cmluZz4oKTtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGxlZnQgc2lkZSBpY29uXG4gICAqL1xuICBASW5wdXQoKSBzZXQgY3VzdG9tSWNvbih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLmxlZnRDdXN0b21JY29uLnNldCh2KTtcbiAgfVxuXG4gIC8vIGZvcm1TdGF0ZSA9IGNvbXB1dGVkPElGb3JtU3RhdGU+KCgpID0+IHtcbiAgLy8gICBjb25zdCBkID0gdGhpcy5jaGVja0Zvcm1TdGF0ZSgpO1xuXG4gIC8vICAgaWYgKHRoaXMuZGVidWcoKSkge1xuICAvLyAgICAgZGVidWdnZXI7XG4gIC8vICAgfVxuICAvLyAgIHJldHVybiB7XG4gIC8vICAgICBwZW5kaW5nOiB0aGlzLmZvcm0/LnBlbmRpbmcsXG4gIC8vICAgICBkaXJ0eTogdGhpcy5mb3JtPy5kaXJ0eSxcbiAgLy8gICAgIGludmFsaWQ6IHRoaXMuZm9ybT8uaW52YWxpZCxcbiAgLy8gICAgIHByaXN0aW5lOiB0aGlzLmZvcm0/LnByaXN0aW5lLFxuICAvLyAgICAgdmFsaWQ6IHRoaXMuZm9ybT8udmFsaWQsXG4gIC8vICAgfTtcbiAgLy8gfSk7XG4gIHJlYWRvbmx5IGNoZWNrRm9ybVN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUZvcm1TdGF0ZT4oe30pO1xuICAvLyBwcm90ZWN0ZWQgZm9ybVN1YjogU3Vic2NyaXB0aW9uO1xuICAvLyBwcm90ZWN0ZWQgZm9ybXNTdWI6IFN1YnNjcmlwdGlvbjtcbiAgcmVhZG9ubHkgZm9ybSA9IGlucHV0PFxuICAgIEZvcm1Hcm91cDxhbnk+IHwgRm9ybUNvbnRyb2w8YW55PiB8IEZvcm1BcnJheTxhbnk+IHwgQWJzdHJhY3RDb250cm9sPGFueSwgYW55PlxuICA+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmb3JtU3RhdGUgPSB0b1NpZ25hbChcbiAgICB0b09ic2VydmFibGUodGhpcy5mb3JtKS5waXBlKFxuICAgICAgZmlsdGVyKCh4KSA9PiAhIXgpLFxuXG4gICAgICBzd2l0Y2hNYXAoKGZvcm0pID0+XG4gICAgICAgIGZvcm0uc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgIHRoaXMuZm9ybSgpXG4gICAgICAgICAgICAgID8gPElGb3JtU3RhdGU+e1xuICAgICAgICAgICAgICAgICAgcGVuZGluZzogdGhpcy5mb3JtKCk/LnBlbmRpbmcsXG4gICAgICAgICAgICAgICAgICBkaXJ0eTogdGhpcy5mb3JtKCk/LmRpcnR5LFxuICAgICAgICAgICAgICAgICAgaW52YWxpZDogdGhpcy5mb3JtKCk/LmludmFsaWQsXG4gICAgICAgICAgICAgICAgICBwcmlzdGluZTogdGhpcy5mb3JtKCk/LnByaXN0aW5lLFxuICAgICAgICAgICAgICAgICAgdmFsaWQ6IHRoaXMuZm9ybSgpPy52YWxpZCxcbiAgICAgICAgICAgICAgICAgIHN0YXR1czogdGhpcy5mb3JtKCk/LnN0YXR1cyxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICApLFxuICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtKCk7XG4gICAgICAgICAgICByZXR1cm4gZm9ybVxuICAgICAgICAgICAgICA/IDxJRm9ybVN0YXRlPntcbiAgICAgICAgICAgICAgICAgIHBlbmRpbmc6IGZvcm0ucGVuZGluZyxcbiAgICAgICAgICAgICAgICAgIGRpcnR5OiBmb3JtLmRpcnR5LFxuICAgICAgICAgICAgICAgICAgaW52YWxpZDogZm9ybS5pbnZhbGlkLFxuICAgICAgICAgICAgICAgICAgcHJpc3RpbmU6IGZvcm0ucHJpc3RpbmUsXG4gICAgICAgICAgICAgICAgICB2YWxpZDogZm9ybS52YWxpZCxcbiAgICAgICAgICAgICAgICAgIHN0YXR1czogZm9ybS5zdGF0dXMsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICksXG4gICk7XG4gIHJlYWRvbmx5IGZvcm1zID1cbiAgICBpbnB1dDwoRm9ybUdyb3VwPGFueT4gfCBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgRm9ybUNvbnRyb2w8YW55PiB8IEZvcm1BcnJheTxhbnk+KVtdPigpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybXNTdGF0ZSA9IHRvU2lnbmFsKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmZvcm1zKS5waXBlKFxuICAgICAgZmlsdGVyKCh4KSA9PiAhIXggJiYgeC5sZW5ndGggPiAwKSxcbiAgICAgIHN3aXRjaE1hcCgoZm9ybXMpID0+XG4gICAgICAgIG1lcmdlKC4uLmZvcm1zLm1hcCgoZm9ybSkgPT4gZm9ybS5zdGF0dXNDaGFuZ2VzKSkucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm9ybXMgPSB0aGlzLmZvcm1zKCk7XG4gICAgICAgICAgICBpZiAoIWZvcm1zKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IGZzOiBPbWl0PElGb3JtU3RhdGUsICdzdGF0dXMnPiA9IHtcbiAgICAgICAgICAgICAgcGVuZGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgZGlydHk6IHRydWUsXG4gICAgICAgICAgICAgIGludmFsaWQ6IHRydWUsXG4gICAgICAgICAgICAgIHByaXN0aW5lOiB0cnVlLFxuICAgICAgICAgICAgICB2YWxpZDogdHJ1ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBmb3Jtcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgICAgICAgIGlmICgheC5wZW5kaW5nKSBmcy5wZW5kaW5nID0geC5wZW5kaW5nO1xuICAgICAgICAgICAgICBpZiAoIXguZGlydHkpIGZzLmRpcnR5ID0geC5kaXJ0eTtcbiAgICAgICAgICAgICAgaWYgKCF4LmludmFsaWQpIGZzLmludmFsaWQgPSB4LmludmFsaWQ7XG4gICAgICAgICAgICAgIGlmICgheC5wcmlzdGluZSkgZnMucHJpc3RpbmUgPSB4LnByaXN0aW5lO1xuICAgICAgICAgICAgICBpZiAoIXgudmFsaWQpIGZzLnZhbGlkID0geC52YWxpZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGZzO1xuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApLFxuICApO1xuXG4gIHJlYWRvbmx5IGhlbHAgPSBpbnB1dDxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgbm8gbG9uZ2VyIG5lZWRlZCB0byBkZXRlY3QgdGhlIGNvcnJlY3Qgc3BhY2luZyBiZXR3ZWVuIGljb24gYW5kIHRleHRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZTIsIGFsaWFzOiAnaWNvbkJ0bicgfSkgc2V0IF9pY29uQnRuKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmljb25CdG4uc2V0KHYgfHwgZmFsc2UpO1xuICB9XG5cbiAgcmVhZG9ubHkgbWNsYXNzID0gaW5wdXQ8c3RyaW5nPihudWxsKTtcbiAgcmVhZG9ubHkgc2hvd0hlbHBJY29uID0gaW5wdXQodHJ1ZSk7XG4gIHJlYWRvbmx5IHJpZ2h0SWNvbiA9IHNpZ25hbDxJY29uRGVmaW5pdGlvbj4obnVsbCk7XG4gIEBJbnB1dCh7IGFsaWFzOiAncmlnaHRDdXN0b21JY29uJyB9KSBzZXQgX3JpZ2h0Q3VzdG9tSWNvbih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLnJpZ2h0Q3VzdG9tSWNvbi5zZXQodik7XG4gIH1cbiAgcmVhZG9ubHkgcmlnaHRDdXN0b21JY29uID0gc2lnbmFsPHN0cmluZz4obnVsbCk7XG4gIHJlYWRvbmx5IGxlZnRJY29uID0gc2lnbmFsPEljb25EZWZpbml0aW9uPihudWxsKTtcbiAgcmVhZG9ubHkgbGVmdEN1c3RvbUljb24gPSBtb2RlbDxzdHJpbmc+KG51bGwpO1xuICByZWFkb25seSB0ZXh0ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgdmFsaWQgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgbWluaSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZTIgYXMgdW5kZWZpbmVkIH0pO1xuICByZWFkb25seSBvbkZvcm1JbnZhbGlkID0gaW5wdXQ8a2V5b2YgdHlwZW9mIE9uRm9ybUludmFsaWQ+KE9uRm9ybUludmFsaWQuZGlzYWJsZSk7XG4gIEBPdXRwdXQoKSBtY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ2lubmVyVGV4dCcpIGlubmVyVGV4dDogRWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+O1xuICByZWFkb25seSBsb2NrZWRJY29uID0gc2lnbmFsKGZhTG9jayk7XG4gIHByb3RlY3RlZCByZWFkb25seSBfdGV4dCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPih1bmRlZmluZWQpO1xuICByZWFkb25seSBkaXNhYmxlZCA9IG1vZGVsPGJvb2xlYW4gfCBudWxsPihmYWxzZSk7XG4gIHJlYWRvbmx5IGNvbXB1dGVkVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMudGV4dCgpLFxuICAgICAgbG9jYWwgPSB0aGlzLl90ZXh0KCk7XG4gICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyBsb2NhbCA6IGlucHV0O1xuICB9KTtcbiAgcHVibGljIGJ0blMgPSBpbmplY3QoQnRuU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0xlZnRJY29uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sZWZ0SWNvbigpIHx8IHRoaXMubGVmdEN1c3RvbUljb24oKSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1JpZ2h0SWNvbiA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmlnaHRJY29uKCkgfHwgdGhpcy5yaWdodEN1c3RvbUljb24oKSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGZzID0gdGhpcy5mb3JtU3RhdGUoKTtcbiAgICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIC8vQ2FsbGVkIGFmdGVyIGV2ZXJ5IGNoZWNrIG9mIHRoZSBjb21wb25lbnQncyB2aWV3LiBBcHBsaWVzIHRvIGNvbXBvbmVudHMgb25seS5cbiAgICAvL0FkZCAnaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkJyB0byB0aGUgY2xhc3MuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX21jbGFzcygpKSB0aGlzLl90eXBlID0gdGhpcy5idG5TLmRlZmF1bHRUeXBlO1xuICB9XG5cbiAgc2V0TG9hZGVyKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMubG9hZGluZy5zZXQodmFsKTtcbiAgfVxuICBnZXQgZXh0cmFjdFRleHQoKSB7XG4gICAgcmV0dXJuIGBDbGlja2VkIG9uICR7XG4gICAgICB0aGlzLnRleHQoKSB8fCB0aGlzLmlubmVyVGV4dD8ubmF0aXZlRWxlbWVudD8uaW5uZXJIVE1MIHx8IHRoaXMuaWNvblR5cGUgfHwgJ2J1dHRvbidcbiAgICB9ICR7dGhpcy5sb2dnaW5nVmFsdWUgPyAnXFxuVHJhY2sgdmFsdWU6ICcgKyB0aGlzLmxvZ2dpbmdWYWx1ZSA6ICcnfWA7XG4gIH1cbiAgY2xpY2soJGV2ZW50KSB7XG4gICAgLy8gZGVidWdnZXJcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKCkgfHwgdGhpcy5sb2FkaW5nKCkpIHJldHVybjtcbiAgICB0aGlzLm1jbGljay5lbWl0KCRldmVudCk7XG4gICAgdGhpcy5idG5TLmxvZ0NsaWNrKHRoaXMpO1xuICB9XG5cbiAgcmVhZG9ubHkgaXNEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5kZWJ1ZygpKSBkZWJ1Z2dlcjtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQoKSxcbiAgICAgIHZhbGlkID0gdGhpcy52YWxpZCgpLFxuICAgICAgb25Gb3JtSW52YWxpZCA9IHRoaXMub25Gb3JtSW52YWxpZCgpLFxuICAgICAgZm9ybSA9IHRoaXMuZm9ybVN0YXRlKCksXG4gICAgICBmb3JtcyA9IHRoaXMuZm9ybXNTdGF0ZSgpO1xuICAgIHJldHVybiAoXG4gICAgICBkaXNhYmxlZCB8fFxuICAgICAgIXZhbGlkIHx8XG4gICAgICAob25Gb3JtSW52YWxpZCA9PSBPbkZvcm1JbnZhbGlkLmRpc2FibGUgJiZcbiAgICAgICAgKGZvcm0/LmludmFsaWQgfHwgZm9ybT8ucGVuZGluZyB8fCBmb3Jtcz8ucGVuZGluZykpIHx8XG4gICAgICBmYWxzZVxuICAgICk7XG4gIH0pO1xuXG4gIGRpc2FibGUoKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQodHJ1ZSk7XG4gIH1cblxuICBlbmFibGUoKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQoZmFsc2UpO1xuICB9XG59XG5lbnVtIE9uRm9ybUludmFsaWQge1xuICBkaXNhYmxlID0gJ2Rpc2FibGUnLFxuICB3YXJuID0gJ3dhcm4nLFxufVxuaW50ZXJmYWNlIElGb3JtU3RhdGUge1xuICBwZW5kaW5nPzogYm9vbGVhbjtcbiAgZGlydHk/OiBib29sZWFuO1xuICBpbnZhbGlkPzogYm9vbGVhbjtcbiAgcHJpc3RpbmU/OiBib29sZWFuO1xuICB2YWxpZD86IGJvb2xlYW47XG4gIHN0YXR1cz86IEZvcm1Db250cm9sU3RhdHVzO1xufVxuIiwiQGlmICh2ZXJib3NlKCkpIHtcbiA8ZGl2IGNsYXNzPVwiXCI+XG4gIGZvcm1TdGF0ZSgpOnt7Zm9ybVN0YXRlKCl8anNvbn19XG4gPC9kaXY+XG4gPGRpdiBjbGFzcz1cIlwiPlxuICBmb3JtKCk6e3tmb3JtKCk/LnZhbHVlfGpzb259fVxuIDwvZGl2PlxufVxuPHNwYW5cbiAgY2xhc3M9XCJ7eyBjbGFzcygpIH19ICBkLWZsZXggIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogaXNEaXNhYmxlZCgpLCBtaW5pOiBtaW5pKCkgfVwiXG4gIChjbGljayk9XCJidG5TLmNoZWNrRm9ybSh0aGlzKVwiPlxuICBAaWYgKHNob3dIZWxwSWNvbigpICYmIGhlbHAoKSkge1xuICAgIDxpIGNsYXNzPVwiZmEgZmEtaW5mby1jaXJjbGUgbWUtMiB0ZXh0LXByaW1hcnlcIiBbbWF0VG9vbHRpcF09XCJoZWxwKCkgfCBhcHBUcmFuc2xhdGUgfCBhc3luY1wiPjwvaT5cbiAgfVxuICA8YnV0dG9uXG4gICAgdHlwZT1cInt7IGFjdGlvblR5cGUoKSB9fVwiXG4gICAgY2xhc3M9XCJ7eyBtY2xhc3MoKSB9fSB7eyBfbWNsYXNzKCkgfHwgJ2J0bicgfX0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBcIlxuICAgIFttYXRCYWRnZV09XCJiYWRnZSgpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICBjaGFuZ2Vjb2xvcjogdmFsaWQoKSxcbiAgICAgICdidG4tcmFpc2VkJzogYW5pbWF0ZSgpLFxuICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWQoKSxcbiAgICAgIGlzRGFuZ2VyOiBkYW5nZXIoKSxcbiAgICAgIGlzV2FybmluZzogd2FybmluZygpLFxuICAgICAgaW52YWxpZDogZm9ybUlzSW52YWxpZCgpLFxuICAgICAgJ2p1c3RpZnktY29udGVudC1jZW50ZXInOiBjZW50ZXJCdG4oKVxuICAgIH1cIlxuICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIlxuICAgIChjbGljayk9XCJjbGljaygkZXZlbnQpXCJcbiAgICBbbWF0VG9vbHRpcF09XCJzaG93SGVscEljb24oKSA/IG51bGwgOiAoaGVscCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMpXCI+XG4gICAgQGlmICghbG9hZGluZygpKSB7XG4gICAgICBAaWYgKGlzTGVmdEljb24oKSkge1xuICAgICAgICBAaWYgKGlzRGlzYWJsZWQoKSkge1xuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImxvY2tlZEljb24oKVwiIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKGxlZnRDdXN0b21JY29uKCkpIHtcbiAgICAgICAgICA8aSBjbGFzcz1cInt7IGxlZnRDdXN0b21JY29uKCkgfX1cIj48L2k+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImxlZnRJY29uKClcIiAvPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIChjb21wdXRlZFRleHQoKSkge1xuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ21zLTEnOiBsZWZ0SWNvbigpIHx8IGxlZnRDdXN0b21JY29uKCksXG4gICAgICAgICAgJ21lLTEnOiByaWdodEljb24oKSB8fCByaWdodEN1c3RvbUljb24oKVxuICAgICAgICB9XCI+XG4gICAgICAgIHt7IGNvbXB1dGVkVGV4dCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiIFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnbXMtMSc6IGlubmVyVGV4dC5pbm5lclRleHQgJiYgKGxlZnRJY29uKCkgfHwgbGVmdEN1c3RvbUljb24oKSksXG4gICAgICAgICAgJ21lLTEnOiBpbm5lclRleHQuaW5uZXJUZXh0ICYmIChyaWdodEljb24oKSB8fCByaWdodEN1c3RvbUljb24oKSlcbiAgICAgICAgfVwiXG4gICAgICAgICNpbm5lclRleHRcbiAgICAgICAgYXBwVHJhbnNsYXRvcj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9zcGFuPlxuICAgIH1cblxuICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXNwaW5uZXIgbXMte3sgaWNvbkJ0bigpID8gJycgOiAnMicgfX0gZmEtc3BpblwiPjwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAoaXNSaWdodEljb24oKSkge1xuICAgICAgICBAaWYgKGlzRGlzYWJsZWQoKSkge1xuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImxvY2tlZEljb24oKVwiIC8+XG4gICAgICAgIH0gQGVsc2UgaWYgKHJpZ2h0Q3VzdG9tSWNvbigpKSB7XG4gICAgICAgICAgPGkgY2xhc3M9XCJ7eyByaWdodEN1c3RvbUljb24oKSB9fVwiPjwvaT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwicmlnaHRJY29uKClcIiAvPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICA8L2J1dHRvbj5cbjwvc3Bhbj5cbiJdfQ==
|
|
@@ -240,13 +240,13 @@ export class BtnService {
|
|
|
240
240
|
console.log(btn.forms());
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
244
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
243
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BtnService, deps: [{ token: i1.UserActivityService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
244
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BtnService, providedIn: 'root' }); }
|
|
245
245
|
}
|
|
246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: BtnService, decorators: [{
|
|
247
247
|
type: Injectable,
|
|
248
248
|
args: [{
|
|
249
249
|
providedIn: 'root',
|
|
250
250
|
}]
|
|
251
251
|
}], ctorParameters: () => [{ type: i1.UserActivityService }] });
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvYnRuL2J0bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE9BQU8sRUFDUCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sT0FBTyxFQUNQLFdBQVcsRUFDWCxZQUFZLEVBQ1osT0FBTyxFQUNQLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEVBRU4sU0FBUyxFQUNULFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLE9BQU8sRUFDUCxPQUFPLEVBR1AsTUFBTSxFQUNOLE9BQU8sR0FDUixNQUFNLG1DQUFtQyxDQUFDO0FBSTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUNwRyxPQUFPLEVBQW1CLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPNUQsTUFBTSxPQUFPLFVBQVU7SUE4TXJCLFlBQW1CLEdBQXdCO1FBQXhCLFFBQUcsR0FBSCxHQUFHLENB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RyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixJQUFJLElBQUksWUFBWSxTQUFTLEVBQUU7Z0JBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO3FCQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7cUJBQ3RDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNoQyxDQUFDO2FBQ0g7U0FDRjtRQUNELElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELDRCQUE0QjtZQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs4R0FsUFUsVUFBVTtrSEFBVixVQUFVLGNBRlQsTUFBTTs7MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmYVBhcGVyUGxhbmUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1yZWd1bGFyLXN2Zy1pY29ucyc7XG5pbXBvcnQge1xuICBmYUFycm93TGVmdCxcbiAgZmFBcnJvd1JpZ2h0LFxuICBmYUNoZWNrLFxuICBmYUNsb25lLFxuICBmYUNvZ3MsXG4gIGZhRG93bmxvYWQsXG4gIGZhRWRpdCxcbiAgZmFFeWUsXG4gIGZhRmlsZSxcbiAgZmFGaWxlRXhwb3J0LFxuICBmYUZpbGVJbXBvcnQsXG4gIGZhSGlzdG9yeSxcbiAgZmFMaXN0QWx0LFxuICBmYUxvY2ssXG4gIGZhTW9uZXlDaGVjayxcbiAgZmFQZW4sXG4gIGZhUGVuRmFuY3ksXG4gIGZhUGx1cyxcbiAgZmFSZWN5Y2xlLFxuICBmYVNhdmUsXG4gIGZhU2VhcmNoLFxuICBmYVNsaWRlcnNILFxuICBmYVRyYXNoLFxuICBmYVVubG9jayxcbiAgZmFGaWx0ZXIsXG4gIGZhVXBsb2FkLFxuICBmYVVzZXJTaGllbGQsXG4gIGZhSG9tZSxcbiAgZmFVc2VycyxcbiAgZmFCZWxsU2xhc2gsXG4gIGZhSW5mb0NpcmNsZSxcbiAgZmFUcnVjayxcbiAgZmFUYWcsXG4gIGZhUmVjZWlwdCxcbiAgZmFCYW5rLFxuICBmYUFycm93c0gsXG4gIGZhUGxheSxcbiAgZmFMaW5rLFxuICBmYVBlcmNlbnQsXG4gIGZhQ2FuY2VsLFxuICBmYUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUhhbmRzaGFrZSxcbiAgZmFUYWJsZSxcbiAgZmFTcG9vbixcbiAgSWNvbkRlZmluaXRpb24sXG4gIGZhQm94LFxuICBmYVN0b3AsXG4gIGZhUGF1c2UsXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBCdG5Db21wb25lbnQgfSBmcm9tICcuL2J0bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnRuVHlwZSwgSWNvblR5cGUgfSBmcm9tICcuL2J0bi5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyQWN0aXZpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vUmV1c2FibGVzL3JldXNhYmxlLXBhZ2VzL3VzZXItYWN0aXZpdHkvdWEtZXh0cmFzL3VzZXItYWN0aXZpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBFVUEgfSBmcm9tICcuLi8uLi8uLi9SZXVzYWJsZXMvcmV1c2FibGUtcGFnZXMvdXNlci1hY3Rpdml0eS91YS1leHRyYXMvdXNlci1hY3Rpdml0eS5tb2RlbCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWVyZ2UsIHRha2UsIHRhcCwgdGltZUludGVydmFsLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEJ0blNlcnZpY2Uge1xuICBidG5DbGFzc0NvbmZpZzogQnRuQ2xhc3MgPSB7XG4gICAgWydwcmltYXJ5J106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLXByaW1hcnkgY2FuY2VsQnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnc2Vjb25kYXJ5J106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBidG4tY2xvbmUgY2FuY2VsQnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnb3V0bGluZSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgY2FuY2VsQnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnY2xlYXInXToge1xuICAgICAgX21jbGFzczogJ2J0biB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2Rhcmstb3V0bGluZSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLWRhcmsgY2FuY2VsQnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnb3V0bGluZS1ubSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgdy0xMDAnLFxuICAgIH0sXG4gICAgWydkYXJrJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLWRhcmsgY2FuY2VsQnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnZGFuZ2VyJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLWRhbmdlciBjYW5jZWxCdG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydkYW5nZXItb3V0bGluZSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLWRhbmdlciBjYW5jZWxCdG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydjbG9zZSddOiB7IF9tY2xhc3M6ICdidG4gY2FuY2VsQnRuLWxnICB0ZXh0LWRhbmdlcicsIF9pY29uOiAnY2xvc2UnIH0sXG4gICAgWydzdWNjZXNzJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gY2FuY2VsQnRuLWxnIGJ0bi1zdWNjZXNzIHctMTAwJyxcbiAgICB9LFxuICB9O1xuICBidXR0b25JY29uSW5kZXg6IHtcbiAgICBbayBpbiBJY29uVHlwZV0/OiB7XG4gICAgICBpY29uPzogSWNvbkRlZmluaXRpb247XG4gICAgICBpY29uU3RyaW5nPzogc3RyaW5nO1xuICAgICAgaWNvblBvc2l0aW9uPzogJ3JpZ2h0JyB8ICdsZWZ0JztcbiAgICB9O1xuICB9ID0ge1xuICAgIGFkZDoge1xuICAgICAgaWNvbjogZmFQbHVzLFxuICAgIH0sXG4gICAgYWRqdXN0OiB7XG4gICAgICBpY29uOiBmYVNsaWRlcnNILFxuICAgIH0sXG4gICAgY2FsZW5kYXI6IHtcbiAgICAgIGljb25TdHJpbmc6ICdmYXMgZmEtY2FsZW5kYXItYWx0JyxcbiAgICB9LFxuICAgIGNhc2g6IHtcbiAgICAgIGljb246IGZhTW9uZXlDaGVjayxcbiAgICB9LFxuICAgIGNhbmNlbDoge1xuICAgICAgaWNvbjogZmFDYW5jZWwsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBpY29uOiBmYUNoZWNrLFxuICAgIH0sXG4gICAgY2hlY2tsaXN0OiB7XG4gICAgICBpY29uOiBmYUxpc3RBbHQsXG4gICAgfSxcbiAgICBjbG9uZToge1xuICAgICAgaWNvbjogZmFDbG9uZSxcbiAgICB9LFxuICAgIGNsb3NlOiB7XG4gICAgICBpY29uU3RyaW5nOiAnZmEgZmEtY2xvc2UnLFxuICAgIH0sXG4gICAgY29nczoge1xuICAgICAgaWNvbjogZmFDb2dzLFxuICAgIH0sXG4gICAgZGVsZXRlOiB7XG4gICAgICBpY29uOiBmYVRyYXNoLFxuICAgIH0sXG4gICAgZG93bmxvYWQ6IHtcbiAgICAgIGljb246IGZhRG93bmxvYWQsXG4gICAgfSxcbiAgICBkcm9wZG93bjoge1xuICAgICAgaWNvblBvc2l0aW9uOiAncmlnaHQnLFxuICAgICAgaWNvblN0cmluZzogJ2ZhIGZhLWNoZXZyb24tZG93bicsXG4gICAgfSxcbiAgICBlZGl0OiB7XG4gICAgICBpY29uOiBmYUVkaXQsXG4gICAgfSxcbiAgICBleHBvcnQ6IHtcbiAgICAgIGljb246IGZhRmlsZUV4cG9ydCxcbiAgICB9LFxuICAgIGZpbGU6IHtcbiAgICAgIGljb246IGZhRmlsZSxcbiAgICB9LFxuICAgIGZpbHRlcjoge1xuICAgICAgaWNvbjogZmFGaWx0ZXIsXG4gICAgfSxcbiAgICBnZW5lcmF0ZToge1xuICAgICAgaWNvbjogZmFQZW5GYW5jeSxcbiAgICB9LFxuICAgIGd1YXJkOiB7XG4gICAgICBpY29uOiBmYVVzZXJTaGllbGQsXG4gICAgfSxcbiAgICBhY2Nlc3M6IHtcbiAgICAgIGljb246IGZhVXNlclNoaWVsZCxcbiAgICB9LFxuICAgIGhpc3Rvcnk6IHtcbiAgICAgIGljb246IGZhSGlzdG9yeSxcbiAgICB9LFxuICAgIGhvbWU6IHtcbiAgICAgIGljb246IGZhSG9tZSxcbiAgICB9LFxuICAgIGltcG9ydDoge1xuICAgICAgaWNvbjogZmFGaWxlSW1wb3J0LFxuICAgIH0sXG4gICAgaW5mbzoge1xuICAgICAgaWNvbjogZmFJbmZvQ2lyY2xlLFxuICAgIH0sXG4gICAgbGluazoge1xuICAgICAgaWNvblN0cmluZzogJ2ZhcyBmYS1jaGFpbicsXG4gICAgfSxcbiAgICBsb2NrOiB7XG4gICAgICBpY29uOiBmYUxvY2ssXG4gICAgfSxcbiAgICBuZXh0OiB7XG4gICAgICBpY29uOiBmYUFycm93UmlnaHQsXG4gICAgICBpY29uUG9zaXRpb246ICdyaWdodCcsXG4gICAgfSxcbiAgICBwYXVzZToge1xuICAgICAgaWNvbjogZmFQYXVzZSxcbiAgICB9LFxuICAgIHBlbjoge1xuICAgICAgaWNvbjogZmFQZW4sXG4gICAgfSxcbiAgICBwb3N0OiB7XG4gICAgICBpY29uOiBmYVBhcGVyUGxhbmUsXG4gICAgfSxcbiAgICBwcmV2aW91czoge1xuICAgICAgaWNvbjogZmFBcnJvd0xlZnQsXG4gICAgfSxcbiAgICByZW5ldzoge1xuICAgICAgaWNvbjogZmFSZWN5Y2xlLFxuICAgIH0sXG4gICAgc2F2ZToge1xuICAgICAgaWNvbjogZmFTYXZlLFxuICAgIH0sXG4gICAgc2VhcmNoOiB7XG4gICAgICBpY29uOiBmYVNlYXJjaCxcbiAgICB9LFxuICAgIHNob3c6IHtcbiAgICAgIGljb246IGZhRXllLFxuICAgIH0sXG4gICAgdmlldzoge1xuICAgICAgaWNvbjogZmFFeWUsXG4gICAgfSxcbiAgICBzbm9vemU6IHtcbiAgICAgIGljb246IGZhQmVsbFNsYXNoLFxuICAgIH0sXG4gICAgdXBsb2FkOiB7XG4gICAgICBpY29uOiBmYVVwbG9hZCxcbiAgICB9LFxuICAgIHVubG9jazoge1xuICAgICAgaWNvbjogZmFVbmxvY2ssXG4gICAgfSxcbiAgICB1c2Vyczoge1xuICAgICAgaWNvbjogZmFVc2VycyxcbiAgICB9LFxuICAgIHJlY3ljbGU6IHtcbiAgICAgIGljb246IGZhUmVjeWNsZSxcbiAgICB9LFxuICAgIHJlZnJlc2g6IHtcbiAgICAgIGljb25TdHJpbmc6ICdmYSBmYS1yZWZyZXNoJyxcbiAgICB9LFxuICAgIHN0b3A6IHtcbiAgICAgIGljb246IGZhU3RvcCxcbiAgICB9LFxuICAgIHRydWNrOiB7XG4gICAgICBpY29uOiBmYVRydWNrLFxuICAgIH0sXG4gICAgdGFnOiB7XG4gICAgICBpY29uOiBmYVRhZyxcbiAgICB9LFxuICAgIHJlY2VpcHQ6IHtcbiAgICAgIGljb246IGZhUmVjZWlwdCxcbiAgICB9LFxuICAgIGJhbms6IHtcbiAgICAgIGljb246IGZhQmFuayxcbiAgICB9LFxuICAgIGFycm93aDoge1xuICAgICAgaWNvbjogZmFBcnJvd3NILFxuICAgIH0sXG4gICAgcGxheToge1xuICAgICAgaWNvbjogZmFQbGF5LFxuICAgIH0sXG4gICAgcGVyY2VudDoge1xuICAgICAgaWNvbjogZmFQZXJjZW50LFxuICAgIH0sXG4gICAgc2hha2U6IHtcbiAgICAgIGljb246IGZhSGFuZHNoYWtlLFxuICAgIH0sXG4gICAgZXJyb3I6IHtcbiAgICAgIGljb246IGZhQ2lyY2xlRXhjbGFtYXRpb24sXG4gICAgfSxcbiAgICB0YWJsZToge1xuICAgICAgaWNvbjogZmFUYWJsZSxcbiAgICB9LFxuICAgIHNwb29uOiB7XG4gICAgICBpY29uOiBmYVNwb29uLFxuICAgIH0sXG4gIH07XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1YVM6IFVzZXJBY3Rpdml0eVNlcnZpY2UpIHt9XG4gIGdldEljb24gPSAoaWNvblR5cGU6IEljb25UeXBlKSA9PiB0aGlzLmJ1dHRvbkljb25JbmRleFtpY29uVHlwZV07XG5cbiAgZ2V0VHlwZSh2OiBCdG5UeXBlKSB7XG4gICAgcmV0dXJuIHRoaXMuYnRuQ2xhc3NDb25maWdbdl0gfHwgeyBfdHlwZTogJ3ByaW1hcnknIH07XG4gIH1cbiAgZGVmYXVsdFR5cGU6IEJ0blR5cGUgPSAnc2Vjb25kYXJ5JztcblxuICBsb2dDbGljayhidG46IEJ0bkNvbXBvbmVudCkge1xuICAgIGNvbnNvbGUubG9nKCdidG4uZXh0cmFjdFRleHQnLCBidG4uZXh0cmFjdFRleHQsIGJ0bik7XG4gICAgaWYgKGJ0bi5leGNsdWRlTG9nZ2luZykgcmV0dXJuO1xuICAgIHRoaXMudWFTLmFkZCh7XG4gICAgICBjb2RlOiBFVUEuY2xpY2tlZCxcbiAgICAgIGFjdGl2aXR5RGVzY3JpcHRpb246IGJ0bi5leHRyYWN0VGV4dCxcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrRm9ybShidG46IEJ0bkNvbXBvbmVudCkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGlmIChidG4uaXNEaXNhYmxlZCgpICYmIGJ0bi5mb3JtKCkpIHtcbiAgICAgIGJ0bi5mb3JtKCkubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgY29uc3QgZm9ybSA9IGJ0bi5mb3JtKCk7XG4gICAgICBjb25zb2xlLmxvZyhmb3JtKTtcbiAgICAgIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpXG4gICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhZm9ybS5jb250cm9sc1t4XS52YWxpZClcbiAgICAgICAgICAgIC5tYXAoKHgpID0+IGZvcm0uY29udHJvbHNbeF0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYnRuLmlzRGlzYWJsZWQoKSAmJiBidG4uZm9ybXMoKSkge1xuICAgICAgYnRuLmZvcm1zKCkuZm9yRWFjaCgoZm9ybSkgPT4gZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCkpO1xuICAgICAgLy8gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgY29uc29sZS5sb2coYnRuLmZvcm1zKCkpO1xuICAgIH1cbiAgfVxuICAvLyBwcm90ZWN0ZWQgZGVib3VuY2VyQXJyYXkgPSBbMjAwXS5jb25jYXQobmV3IEFycmF5KDMpLmZpbGwoMSkubWFwKCh4LCBpKSA9PiAoaSArIDEpICogMTAwMCkpO1xufVxuXG50eXBlIEJ0bkNsYXNzID0geyBbayBpbiBCdG5UeXBlXTogeyBfbWNsYXNzPzogc3RyaW5nOyBfaWNvbj86IEljb25UeXBlOyBfdHlwZT86IEJ0blR5cGUgfSB9O1xuIl19
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvYnRuL2J0bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE9BQU8sRUFDUCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sT0FBTyxFQUNQLFdBQVcsRUFDWCxZQUFZLEVBQ1osT0FBTyxFQUNQLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEVBRU4sU0FBUyxFQUNULFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLE9BQU8sRUFDUCxPQUFPLEVBR1AsTUFBTSxFQUNOLE9BQU8sR0FDUixNQUFNLG1DQUFtQyxDQUFDO0FBSTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUNwRyxPQUFPLEVBQW1CLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPNUQsTUFBTSxPQUFPLFVBQVU7SUE4TXJCLFlBQW1CLEdBQXdCO1FBQXhCLFFBQUcsR0FBSCxHQUFHLENBQXFCO1FBN00zQyxtQkFBYyxHQUFhO1lBQ3pCLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLG9DQUFvQzthQUM5QztZQUNELENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ2IsT0FBTyxFQUFFLHNEQUFzRDthQUNoRTtZQUNELENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLDRDQUE0QzthQUN0RDtZQUNELENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFLFdBQVc7YUFDckI7WUFDRCxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNoQixPQUFPLEVBQUUseUNBQXlDO2FBQ25EO1lBQ0QsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDZCxPQUFPLEVBQUUsK0JBQStCO2FBQ3pDO1lBQ0QsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDUixPQUFPLEVBQUUsaUNBQWlDO2FBQzNDO1lBQ0QsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDVixPQUFPLEVBQUUsbUNBQW1DO2FBQzdDO1lBQ0QsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUNsQixPQUFPLEVBQUUsMkNBQTJDO2FBQ3JEO1lBQ0QsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO1lBQ3ZFLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLG9DQUFvQzthQUM5QztTQUNGLENBQUM7UUFDRixvQkFBZSxHQU1YO1lBQ0YsR0FBRyxFQUFFO2dCQUNILElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFVBQVU7YUFDakI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsVUFBVSxFQUFFLHFCQUFxQjthQUNsQztZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsWUFBWTthQUNuQjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxPQUFPO2FBQ2Q7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLE9BQU87YUFDZDtZQUNELEtBQUssRUFBRTtnQkFDTCxVQUFVLEVBQUUsYUFBYTthQUMxQjtZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsTUFBTTthQUNiO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxPQUFPO2FBQ2Q7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFVBQVU7YUFDakI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLE9BQU87Z0JBQ3JCLFVBQVUsRUFBRSxvQkFBb0I7YUFDakM7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsWUFBWTthQUNuQjtZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsTUFBTTthQUNiO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFVBQVU7YUFDakI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLFlBQVk7YUFDbkI7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFlBQVk7YUFDbkI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsWUFBWTthQUNuQjtZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsWUFBWTthQUNuQjtZQUNELElBQUksRUFBRTtnQkFDSixVQUFVLEVBQUUsY0FBYzthQUMzQjtZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsTUFBTTthQUNiO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxZQUFZO2dCQUNsQixZQUFZLEVBQUUsT0FBTzthQUN0QjtZQUNELEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsT0FBTzthQUNkO1lBQ0QsR0FBRyxFQUFFO2dCQUNILElBQUksRUFBRSxLQUFLO2FBQ1o7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFlBQVk7YUFDbkI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFdBQVc7YUFDbEI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxLQUFLO2FBQ1o7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsV0FBVzthQUNsQjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLE9BQU87YUFDZDtZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxVQUFVLEVBQUUsZUFBZTthQUM1QjtZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsTUFBTTthQUNiO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxPQUFPO2FBQ2Q7WUFDRCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsU0FBUzthQUNoQjtZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsTUFBTTthQUNiO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLFdBQVc7YUFDbEI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLG1CQUFtQjthQUMxQjtZQUNELEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsT0FBTzthQUNkO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxPQUFPO2FBQ2Q7U0FDRixDQUFDO1FBRUYsWUFBTyxHQUFHLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUtqRSxnQkFBVyxHQUFZLFdBQVcsQ0FBQztJQU5XLENBQUM7SUFHL0MsT0FBTyxDQUFDLENBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFHRCxRQUFRLENBQUMsR0FBaUI7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELElBQUksR0FBRyxDQUFDLGNBQWM7WUFBRSxPQUFPO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ1gsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPO1lBQ2pCLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxXQUFXO1NBQ3JDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBaUI7UUFDekIsWUFBWTtRQUNaLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ25DLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLElBQUksSUFBSSxZQUFZLFNBQVMsRUFBRSxDQUFDO2dCQUM5QixPQUFPLENBQUMsR0FBRyxDQUNULE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztxQkFDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO3FCQUN0QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDaEMsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDcEMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztZQUN2RCw0QkFBNEI7WUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQzs4R0FsUFUsVUFBVTtrSEFBVixVQUFVLGNBRlQsTUFBTTs7MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmYVBhcGVyUGxhbmUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1yZWd1bGFyLXN2Zy1pY29ucyc7XG5pbXBvcnQge1xuICBmYUFycm93TGVmdCxcbiAgZmFBcnJvd1JpZ2h0LFxuICBmYUNoZWNrLFxuICBmYUNsb25lLFxuICBmYUNvZ3MsXG4gIGZhRG93bmxvYWQsXG4gIGZhRWRpdCxcbiAgZmFFeWUsXG4gIGZhRmlsZSxcbiAgZmFGaWxlRXhwb3J0LFxuICBmYUZpbGVJbXBvcnQsXG4gIGZhSGlzdG9yeSxcbiAgZmFMaXN0QWx0LFxuICBmYUxvY2ssXG4gIGZhTW9uZXlDaGVjayxcbiAgZmFQZW4sXG4gIGZhUGVuRmFuY3ksXG4gIGZhUGx1cyxcbiAgZmFSZWN5Y2xlLFxuICBmYVNhdmUsXG4gIGZhU2VhcmNoLFxuICBmYVNsaWRlcnNILFxuICBmYVRyYXNoLFxuICBmYVVubG9jayxcbiAgZmFGaWx0ZXIsXG4gIGZhVXBsb2FkLFxuICBmYVVzZXJTaGllbGQsXG4gIGZhSG9tZSxcbiAgZmFVc2VycyxcbiAgZmFCZWxsU2xhc2gsXG4gIGZhSW5mb0NpcmNsZSxcbiAgZmFUcnVjayxcbiAgZmFUYWcsXG4gIGZhUmVjZWlwdCxcbiAgZmFCYW5rLFxuICBmYUFycm93c0gsXG4gIGZhUGxheSxcbiAgZmFMaW5rLFxuICBmYVBlcmNlbnQsXG4gIGZhQ2FuY2VsLFxuICBmYUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUhhbmRzaGFrZSxcbiAgZmFUYWJsZSxcbiAgZmFTcG9vbixcbiAgSWNvbkRlZmluaXRpb24sXG4gIGZhQm94LFxuICBmYVN0b3AsXG4gIGZhUGF1c2UsXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBCdG5Db21wb25lbnQgfSBmcm9tICcuL2J0bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnRuVHlwZSwgSWNvblR5cGUgfSBmcm9tICcuL2J0bi5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyQWN0aXZpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vUmV1c2FibGVzL3JldXNhYmxlLXBhZ2VzL3VzZXItYWN0aXZpdHkvdWEtZXh0cmFzL3VzZXItYWN0aXZpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBFVUEgfSBmcm9tICcuLi8uLi8uLi9SZXVzYWJsZXMvcmV1c2FibGUtcGFnZXMvdXNlci1hY3Rpdml0eS91YS1leHRyYXMvdXNlci1hY3Rpdml0eS5tb2RlbCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWVyZ2UsIHRha2UsIHRhcCwgdGltZUludGVydmFsLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEJ0blNlcnZpY2Uge1xuICBidG5DbGFzc0NvbmZpZzogQnRuQ2xhc3MgPSB7XG4gICAgWydwcmltYXJ5J106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLXByaW1hcnkgY2FuY2VsQnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnc2Vjb25kYXJ5J106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBidG4tY2xvbmUgY2FuY2VsQnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnb3V0bGluZSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgY2FuY2VsQnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnY2xlYXInXToge1xuICAgICAgX21jbGFzczogJ2J0biB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2Rhcmstb3V0bGluZSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLWRhcmsgY2FuY2VsQnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnb3V0bGluZS1ubSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgdy0xMDAnLFxuICAgIH0sXG4gICAgWydkYXJrJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLWRhcmsgY2FuY2VsQnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnZGFuZ2VyJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLWRhbmdlciBjYW5jZWxCdG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydkYW5nZXItb3V0bGluZSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLWRhbmdlciBjYW5jZWxCdG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydjbG9zZSddOiB7IF9tY2xhc3M6ICdidG4gY2FuY2VsQnRuLWxnICB0ZXh0LWRhbmdlcicsIF9pY29uOiAnY2xvc2UnIH0sXG4gICAgWydzdWNjZXNzJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gY2FuY2VsQnRuLWxnIGJ0bi1zdWNjZXNzIHctMTAwJyxcbiAgICB9LFxuICB9O1xuICBidXR0b25JY29uSW5kZXg6IHtcbiAgICBbayBpbiBJY29uVHlwZV0/OiB7XG4gICAgICBpY29uPzogSWNvbkRlZmluaXRpb247XG4gICAgICBpY29uU3RyaW5nPzogc3RyaW5nO1xuICAgICAgaWNvblBvc2l0aW9uPzogJ3JpZ2h0JyB8ICdsZWZ0JztcbiAgICB9O1xuICB9ID0ge1xuICAgIGFkZDoge1xuICAgICAgaWNvbjogZmFQbHVzLFxuICAgIH0sXG4gICAgYWRqdXN0OiB7XG4gICAgICBpY29uOiBmYVNsaWRlcnNILFxuICAgIH0sXG4gICAgY2FsZW5kYXI6IHtcbiAgICAgIGljb25TdHJpbmc6ICdmYXMgZmEtY2FsZW5kYXItYWx0JyxcbiAgICB9LFxuICAgIGNhc2g6IHtcbiAgICAgIGljb246IGZhTW9uZXlDaGVjayxcbiAgICB9LFxuICAgIGNhbmNlbDoge1xuICAgICAgaWNvbjogZmFDYW5jZWwsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBpY29uOiBmYUNoZWNrLFxuICAgIH0sXG4gICAgY2hlY2tsaXN0OiB7XG4gICAgICBpY29uOiBmYUxpc3RBbHQsXG4gICAgfSxcbiAgICBjbG9uZToge1xuICAgICAgaWNvbjogZmFDbG9uZSxcbiAgICB9LFxuICAgIGNsb3NlOiB7XG4gICAgICBpY29uU3RyaW5nOiAnZmEgZmEtY2xvc2UnLFxuICAgIH0sXG4gICAgY29nczoge1xuICAgICAgaWNvbjogZmFDb2dzLFxuICAgIH0sXG4gICAgZGVsZXRlOiB7XG4gICAgICBpY29uOiBmYVRyYXNoLFxuICAgIH0sXG4gICAgZG93bmxvYWQ6IHtcbiAgICAgIGljb246IGZhRG93bmxvYWQsXG4gICAgfSxcbiAgICBkcm9wZG93bjoge1xuICAgICAgaWNvblBvc2l0aW9uOiAncmlnaHQnLFxuICAgICAgaWNvblN0cmluZzogJ2ZhIGZhLWNoZXZyb24tZG93bicsXG4gICAgfSxcbiAgICBlZGl0OiB7XG4gICAgICBpY29uOiBmYUVkaXQsXG4gICAgfSxcbiAgICBleHBvcnQ6IHtcbiAgICAgIGljb246IGZhRmlsZUV4cG9ydCxcbiAgICB9LFxuICAgIGZpbGU6IHtcbiAgICAgIGljb246IGZhRmlsZSxcbiAgICB9LFxuICAgIGZpbHRlcjoge1xuICAgICAgaWNvbjogZmFGaWx0ZXIsXG4gICAgfSxcbiAgICBnZW5lcmF0ZToge1xuICAgICAgaWNvbjogZmFQZW5GYW5jeSxcbiAgICB9LFxuICAgIGd1YXJkOiB7XG4gICAgICBpY29uOiBmYVVzZXJTaGllbGQsXG4gICAgfSxcbiAgICBhY2Nlc3M6IHtcbiAgICAgIGljb246IGZhVXNlclNoaWVsZCxcbiAgICB9LFxuICAgIGhpc3Rvcnk6IHtcbiAgICAgIGljb246IGZhSGlzdG9yeSxcbiAgICB9LFxuICAgIGhvbWU6IHtcbiAgICAgIGljb246IGZhSG9tZSxcbiAgICB9LFxuICAgIGltcG9ydDoge1xuICAgICAgaWNvbjogZmFGaWxlSW1wb3J0LFxuICAgIH0sXG4gICAgaW5mbzoge1xuICAgICAgaWNvbjogZmFJbmZvQ2lyY2xlLFxuICAgIH0sXG4gICAgbGluazoge1xuICAgICAgaWNvblN0cmluZzogJ2ZhcyBmYS1jaGFpbicsXG4gICAgfSxcbiAgICBsb2NrOiB7XG4gICAgICBpY29uOiBmYUxvY2ssXG4gICAgfSxcbiAgICBuZXh0OiB7XG4gICAgICBpY29uOiBmYUFycm93UmlnaHQsXG4gICAgICBpY29uUG9zaXRpb246ICdyaWdodCcsXG4gICAgfSxcbiAgICBwYXVzZToge1xuICAgICAgaWNvbjogZmFQYXVzZSxcbiAgICB9LFxuICAgIHBlbjoge1xuICAgICAgaWNvbjogZmFQZW4sXG4gICAgfSxcbiAgICBwb3N0OiB7XG4gICAgICBpY29uOiBmYVBhcGVyUGxhbmUsXG4gICAgfSxcbiAgICBwcmV2aW91czoge1xuICAgICAgaWNvbjogZmFBcnJvd0xlZnQsXG4gICAgfSxcbiAgICByZW5ldzoge1xuICAgICAgaWNvbjogZmFSZWN5Y2xlLFxuICAgIH0sXG4gICAgc2F2ZToge1xuICAgICAgaWNvbjogZmFTYXZlLFxuICAgIH0sXG4gICAgc2VhcmNoOiB7XG4gICAgICBpY29uOiBmYVNlYXJjaCxcbiAgICB9LFxuICAgIHNob3c6IHtcbiAgICAgIGljb246IGZhRXllLFxuICAgIH0sXG4gICAgdmlldzoge1xuICAgICAgaWNvbjogZmFFeWUsXG4gICAgfSxcbiAgICBzbm9vemU6IHtcbiAgICAgIGljb246IGZhQmVsbFNsYXNoLFxuICAgIH0sXG4gICAgdXBsb2FkOiB7XG4gICAgICBpY29uOiBmYVVwbG9hZCxcbiAgICB9LFxuICAgIHVubG9jazoge1xuICAgICAgaWNvbjogZmFVbmxvY2ssXG4gICAgfSxcbiAgICB1c2Vyczoge1xuICAgICAgaWNvbjogZmFVc2VycyxcbiAgICB9LFxuICAgIHJlY3ljbGU6IHtcbiAgICAgIGljb246IGZhUmVjeWNsZSxcbiAgICB9LFxuICAgIHJlZnJlc2g6IHtcbiAgICAgIGljb25TdHJpbmc6ICdmYSBmYS1yZWZyZXNoJyxcbiAgICB9LFxuICAgIHN0b3A6IHtcbiAgICAgIGljb246IGZhU3RvcCxcbiAgICB9LFxuICAgIHRydWNrOiB7XG4gICAgICBpY29uOiBmYVRydWNrLFxuICAgIH0sXG4gICAgdGFnOiB7XG4gICAgICBpY29uOiBmYVRhZyxcbiAgICB9LFxuICAgIHJlY2VpcHQ6IHtcbiAgICAgIGljb246IGZhUmVjZWlwdCxcbiAgICB9LFxuICAgIGJhbms6IHtcbiAgICAgIGljb246IGZhQmFuayxcbiAgICB9LFxuICAgIGFycm93aDoge1xuICAgICAgaWNvbjogZmFBcnJvd3NILFxuICAgIH0sXG4gICAgcGxheToge1xuICAgICAgaWNvbjogZmFQbGF5LFxuICAgIH0sXG4gICAgcGVyY2VudDoge1xuICAgICAgaWNvbjogZmFQZXJjZW50LFxuICAgIH0sXG4gICAgc2hha2U6IHtcbiAgICAgIGljb246IGZhSGFuZHNoYWtlLFxuICAgIH0sXG4gICAgZXJyb3I6IHtcbiAgICAgIGljb246IGZhQ2lyY2xlRXhjbGFtYXRpb24sXG4gICAgfSxcbiAgICB0YWJsZToge1xuICAgICAgaWNvbjogZmFUYWJsZSxcbiAgICB9LFxuICAgIHNwb29uOiB7XG4gICAgICBpY29uOiBmYVNwb29uLFxuICAgIH0sXG4gIH07XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1YVM6IFVzZXJBY3Rpdml0eVNlcnZpY2UpIHt9XG4gIGdldEljb24gPSAoaWNvblR5cGU6IEljb25UeXBlKSA9PiB0aGlzLmJ1dHRvbkljb25JbmRleFtpY29uVHlwZV07XG5cbiAgZ2V0VHlwZSh2OiBCdG5UeXBlKSB7XG4gICAgcmV0dXJuIHRoaXMuYnRuQ2xhc3NDb25maWdbdl0gfHwgeyBfdHlwZTogJ3ByaW1hcnknIH07XG4gIH1cbiAgZGVmYXVsdFR5cGU6IEJ0blR5cGUgPSAnc2Vjb25kYXJ5JztcblxuICBsb2dDbGljayhidG46IEJ0bkNvbXBvbmVudCkge1xuICAgIGNvbnNvbGUubG9nKCdidG4uZXh0cmFjdFRleHQnLCBidG4uZXh0cmFjdFRleHQsIGJ0bik7XG4gICAgaWYgKGJ0bi5leGNsdWRlTG9nZ2luZykgcmV0dXJuO1xuICAgIHRoaXMudWFTLmFkZCh7XG4gICAgICBjb2RlOiBFVUEuY2xpY2tlZCxcbiAgICAgIGFjdGl2aXR5RGVzY3JpcHRpb246IGJ0bi5leHRyYWN0VGV4dCxcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrRm9ybShidG46IEJ0bkNvbXBvbmVudCkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGlmIChidG4uaXNEaXNhYmxlZCgpICYmIGJ0bi5mb3JtKCkpIHtcbiAgICAgIGJ0bi5mb3JtKCkubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgY29uc3QgZm9ybSA9IGJ0bi5mb3JtKCk7XG4gICAgICBjb25zb2xlLmxvZyhmb3JtKTtcbiAgICAgIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpXG4gICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhZm9ybS5jb250cm9sc1t4XS52YWxpZClcbiAgICAgICAgICAgIC5tYXAoKHgpID0+IGZvcm0uY29udHJvbHNbeF0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYnRuLmlzRGlzYWJsZWQoKSAmJiBidG4uZm9ybXMoKSkge1xuICAgICAgYnRuLmZvcm1zKCkuZm9yRWFjaCgoZm9ybSkgPT4gZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCkpO1xuICAgICAgLy8gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgY29uc29sZS5sb2coYnRuLmZvcm1zKCkpO1xuICAgIH1cbiAgfVxuICAvLyBwcm90ZWN0ZWQgZGVib3VuY2VyQXJyYXkgPSBbMjAwXS5jb25jYXQobmV3IEFycmF5KDMpLmZpbGwoMSkubWFwKCh4LCBpKSA9PiAoaSArIDEpICogMTAwMCkpO1xufVxuXG50eXBlIEJ0bkNsYXNzID0geyBbayBpbiBCdG5UeXBlXTogeyBfbWNsYXNzPzogc3RyaW5nOyBfaWNvbj86IEljb25UeXBlOyBfdHlwZT86IEJ0blR5cGUgfSB9O1xuIl19
|
|
@@ -14,10 +14,10 @@ export class DetailsBtnComponent {
|
|
|
14
14
|
return this.hasDetails() ? 'primary' : 'secondary';
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DetailsBtnComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: DetailsBtnComponent, isStandalone: true, selector: "details-btn", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, fields: { classPropertyName: "fields", publicName: "fields", isSignal: true, isRequired: false, transformFunction: null }, modal: { classPropertyName: "modal", publicName: "modal", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<app-btn icon=\"info\" text=\"Details\" [type]=\"type()\" (mclick)=\"modal?.open()\"></app-btn>\n", styles: [""], dependencies: [{ kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "debug", "centerBtn", "danger", "warning", "verbose", "loading", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "form", "forms", "help", "iconBtn", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid", "disabled"], outputs: ["loadingChange", "leftCustomIconChange", "mclick", "disabledChange"] }] }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DetailsBtnComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{ selector: 'details-btn', standalone: true, imports: [BtnComponent], template: "<app-btn icon=\"info\" text=\"Details\" [type]=\"type()\" (mclick)=\"modal?.open()\"></app-btn>\n" }]
|
|
23
23
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { modal: [{
|
|
@@ -12,10 +12,10 @@ export class CardComponent {
|
|
|
12
12
|
this.headerClass = input('bg-primary');
|
|
13
13
|
this.actionBtnTemplate = input();
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: CardComponent, isStandalone: true, selector: "app-card", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, isDarkBg: { classPropertyName: "isDarkBg", publicName: "isDarkBg", isSignal: true, isRequired: false, transformFunction: null }, contentHeight: { classPropertyName: "contentHeight", publicName: "contentHeight", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "containerClass", isSignal: true, isRequired: false, transformFunction: null }, headerClass: { classPropertyName: "headerClass", publicName: "headerClass", isSignal: true, isRequired: false, transformFunction: null }, actionBtnTemplate: { classPropertyName: "actionBtnTemplate", publicName: "actionBtnTemplate", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"card {{ containerClass() }} \">\n <h5 class=\"card-header {{ headerClass() }} {{ isDarkBg() ? 'isDarkBg' : 'isLightBg' }} d-flex justify-content-between align-items-center\">\n {{ header() | appTranslate | async }}\n <ng-container *ngTemplateOutlet=\"actionBtnTemplate()\" />\n </h5>\n <div class=\"card-body\" [style.height]=\"contentHeight()\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".card{border-radius:var(--border-radius)}.card .card-header.isDarkBg{color:#fff}.card .card-header.isLightBg{color:#000}.card .card-header:first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }] }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CardComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
20
|
args: [{ selector: 'app-card', standalone: true, imports: [CommonModule, SDKTranslatePipe], template: "<div class=\"card {{ containerClass() }} \">\n <h5 class=\"card-header {{ headerClass() }} {{ isDarkBg() ? 'isDarkBg' : 'isLightBg' }} d-flex justify-content-between align-items-center\">\n {{ header() | appTranslate | async }}\n <ng-container *ngTemplateOutlet=\"actionBtnTemplate()\" />\n </h5>\n <div class=\"card-body\" [style.height]=\"contentHeight()\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".card{border-radius:var(--border-radius)}.card .card-header.isDarkBg{color:#fff}.card .card-header.isLightBg{color:#000}.card .card-header:first-child{border-radius:var(--border-radius) var(--border-radius) 0 0}\n"] }]
|
|
21
21
|
}] });
|
|
@@ -17,10 +17,10 @@ export class ConfirmDialogComponent {
|
|
|
17
17
|
no() {
|
|
18
18
|
this.dialogRef.close(false);
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: ConfirmDialogComponent, isStandalone: true, selector: "app-confirm-dialog", ngImport: i0, template: "<div class=\"text-center\">\n <div class=\"font-weight-bold d-inline-block bg-peimary text-light mt-3 rounded ps-4 pe-4 pt-1 pb-1\">\n {{'CONFIRM'|appTranslate|async}}\n </div>\n <div class=\" \">\n <span class=\"fa fa-warning que text-peimary\">\n \n </span>\n </div>\n\n <div class=\"card-body overflow-auto pre-line\" [appTranslator]=\"text\">\n </div>\n\n <div class=\"p-1 p-md-4 \">\n <div class=\"justify-content-between d-flex align-items-center\">\n <div class=\"col-5 ps-0\">\n <button class=\"btn btn-outline-danger m-0 w-100\" (click)=\"no()\">{{'No'|appTranslate|async}}</button>\n </div>\n <div class=\"col-5 pe-0 text-right\">\n <button class=\"btn btn-outline-success m-0 w-100\" (click)=\"yes()\">{{'Yes'|appTranslate|async}}</button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".que{font-size:100px}\n"], dependencies: [{ kind: "directive", type: TranslatorDirective, selector: "[appTranslator]", inputs: ["appTranslator"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }, { kind: "ngmodule", type: MatDialogModule }] }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: 'app-confirm-dialog', standalone: true, imports: [TranslatorDirective, AsyncPipe, SDKTranslatePipe, MatDialogModule], template: "<div class=\"text-center\">\n <div class=\"font-weight-bold d-inline-block bg-peimary text-light mt-3 rounded ps-4 pe-4 pt-1 pb-1\">\n {{'CONFIRM'|appTranslate|async}}\n </div>\n <div class=\" \">\n <span class=\"fa fa-warning que text-peimary\">\n \n </span>\n </div>\n\n <div class=\"card-body overflow-auto pre-line\" [appTranslator]=\"text\">\n </div>\n\n <div class=\"p-1 p-md-4 \">\n <div class=\"justify-content-between d-flex align-items-center\">\n <div class=\"col-5 ps-0\">\n <button class=\"btn btn-outline-danger m-0 w-100\" (click)=\"no()\">{{'No'|appTranslate|async}}</button>\n </div>\n <div class=\"col-5 pe-0 text-right\">\n <button class=\"btn btn-outline-success m-0 w-100\" (click)=\"yes()\">{{'Yes'|appTranslate|async}}</button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".que{font-size:100px}\n"] }]
|
|
26
26
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -41,13 +41,13 @@ export class ETSConfirmDialogService {
|
|
|
41
41
|
autoFocus: false,
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ETSConfirmDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
45
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ETSConfirmDialogService, providedIn: 'root' }); }
|
|
46
46
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ETSConfirmDialogService, decorators: [{
|
|
48
48
|
type: Injectable,
|
|
49
49
|
args: [{
|
|
50
50
|
providedIn: 'root',
|
|
51
51
|
}]
|
|
52
52
|
}], ctorParameters: () => [{ type: i1.MatDialog }] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUtwRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW1CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7SUFBRyxDQUFDO0lBQ3hDOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQVk7UUFDeEIsTUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTTthQUN4QixJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDNUIsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxPQUFPO1lBQ2QsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQzthQUNELFdBQVcsRUFBRTthQUNiLFNBQVMsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxJQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDOUMsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxPQUFPO1lBQ2QsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FwQ1UsdUJBQXVCO2tIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRVRTQ29uZmlybURpYWxvZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2cpIHt9XG4gIC8qKlxuICAgKiBTaG93cyB0aGUgY29uZmlybWF0aW9uIGRpYWxvZyBib3hcbiAgICogQHBhcmFtIHRleHRcbiAgICogQHJldHVybnMgYm9vbGVhbiBwcm9taXNlXG4gICAqL1xuICBhc3luYyBjb25maXJtKHRleHQ6IHN0cmluZykge1xuICAgIGNvbnN0IHIgPSBhd2FpdCB0aGlzLmRpYWxvZ1xuICAgICAgLm9wZW4oQ29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICBkYXRhOiB0ZXh0LFxuICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgd2lkdGg6ICc0NTBweCcsXG4gICAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICB9KVxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgICBpZiAocikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgdGhlIGNvbmZpcm1hdGlvbiBkaWFsb2cgYm94XG4gICAqIEBwYXJhbSB0ZXh0XG4gICAqIEByZXR1cm5zIGRpYWxvZ2JveCBvYnNlcnZhYmxlXG4gICAqL1xuICBjb25maXJtJCh0ZXh0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbihDb25maXJtRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB0ZXh0LFxuICAgICAgaGVpZ2h0OiAnYXV0bycsXG4gICAgICB3aWR0aDogJzQ1MHB4JyxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|