@acorex/platform 18.2.1 → 18.2.2
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/common/lib/app/application.types.d.ts +8 -0
- package/common/lib/data/entity-storage-service.d.ts +0 -1
- package/common/lib/layout/menu/index.d.ts +0 -1
- package/common/lib/layout/menu/menu.provider.d.ts +11 -4
- package/common/lib/layout/menu/menu.service.d.ts +8 -2
- package/common/lib/layout/menu/menu.types.d.ts +9 -6
- package/common/lib/settings/index.d.ts +2 -1
- package/common/lib/settings/setting-definition.provider.d.ts +19 -0
- package/common/lib/settings/settings.types.d.ts +42 -0
- package/common/lib/utils/index.d.ts +0 -1
- package/esm2022/common/lib/app/application.types.mjs +4 -4
- package/esm2022/common/lib/data/entity-storage-service.mjs +4 -4
- package/esm2022/common/lib/layout/menu/index.mjs +1 -2
- package/esm2022/common/lib/layout/menu/menu.provider.mjs +105 -24
- package/esm2022/common/lib/layout/menu/menu.service.mjs +42 -10
- package/esm2022/common/lib/layout/menu/menu.types.mjs +1 -1
- package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +2 -1
- package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +4 -4
- package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +2 -2
- package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +2 -2
- package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +2 -2
- package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +2 -2
- package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +22 -22
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +2 -2
- package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +2 -2
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +2 -2
- package/esm2022/common/lib/settings/index.mjs +3 -2
- package/esm2022/common/lib/settings/setting-definition.provider.mjs +229 -0
- package/esm2022/common/lib/settings/settings.types.mjs +7 -2
- package/esm2022/common/lib/utils/index.mjs +1 -2
- package/esm2022/common/lib/workflows/common.workflow.mjs +5 -3
- package/esm2022/layout/builder/lib/builder/builder.service.mjs +3 -2
- package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +2 -1
- package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +7 -5
- package/esm2022/layout/builder/lib/builder/widget.types.mjs +8 -4
- package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +61 -34
- package/esm2022/layout/designer/lib/designer/components/breadcrumbs/breadcrumbs.component.mjs +27 -32
- package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +1 -1
- package/esm2022/layout/designer/lib/designer/components/grid-drawer/grid-drawer.component.mjs +2 -2
- package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +35 -10
- package/esm2022/layout/designer/lib/designer/components/size-mode/view-size-toolbar.component.mjs +23 -23
- package/esm2022/layout/designer/lib/designer/components/widget-picker/widget-picker.component.mjs +3 -3
- package/esm2022/layout/designer/lib/designer/designer.component.mjs +10 -4
- package/esm2022/layout/designer/lib/designer/index.mjs +2 -1
- package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +5 -6
- package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +158 -61
- package/esm2022/layout/designer/lib/designer/shared/designer.types.mjs +1 -1
- package/esm2022/layout/designer/lib/designer/shared/generic-commands.types.mjs +52 -0
- package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +32 -38
- package/esm2022/layout/designer/lib/preview/preview-viewer.component.mjs +3 -3
- package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +3 -3
- package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +3 -4
- package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +18 -14
- package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +2 -1
- package/esm2022/layout/entity/lib/entity.viewmodel.mjs +7 -5
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.mjs +10 -4
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +42 -32
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +3 -3
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +1 -2
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +79 -40
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +2 -2
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +2 -2
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +6 -5
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +2 -2
- package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +2 -2
- package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +2 -2
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +29 -9
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +2 -2
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +24 -18
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +2 -2
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +2 -2
- package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +2 -4
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +3 -2
- package/esm2022/widgets/lib/properties/editors.props.mjs +2 -2
- package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-designer.component.mjs +2 -2
- package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.mjs +44 -20
- package/esm2022/widgets/lib/widgets/editors/contact/popup-component.mjs +1 -1
- package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +1 -2
- package/esm2022/widgets/lib/widgets/editors/link/link-widget-edit.component.mjs +1 -2
- package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-view.component.mjs +18 -25
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +4 -3
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +9 -7
- package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.mjs +24 -15
- package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.mjs +14 -7
- package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-print.component.mjs +3 -3
- package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-view.component.mjs +29 -67
- package/esm2022/widgets/lib/widgets/layout/block/block-widget-designer.component.mjs +32 -17
- package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-designer.component.mjs +1 -22
- package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-designer.component.mjs +3 -3
- package/esm2022/widgets/lib/widgets/layout/page/page-widget-designer.component.mjs +76 -78
- package/esm2022/widgets/lib/widgets/layout/page/page-widget.config.mjs +9 -9
- package/esm2022/widgets/lib/widgets/layout/template/template-picker/template-picker.component.mjs +120 -0
- package/esm2022/widgets/lib/widgets/layout/template/template-widget-edit.component.mjs +65 -24
- package/esm2022/widgets/lib/widgets/layout/template/template-widget-view.component.mjs +27 -7
- package/esm2022/widgets/lib/widgets/layout/template/template.provider.mjs +18 -1
- package/fesm2022/acorex-platform-auth.mjs +1 -1
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-BYEjzXpW.mjs → acorex-platform-common-avatar-widget-edit.component-vDhYokEG.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-BYEjzXpW.mjs.map → acorex-platform-common-avatar-widget-edit.component-vDhYokEG.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-avatar-widget-view.component-CfHELBLm.mjs → acorex-platform-common-avatar-widget-view.component-Dew3CVLm.mjs} +2 -3
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-Dew3CVLm.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DRDiIxsn.mjs → acorex-platform-common-boolean-widget-filter.component-BdE7WOK5.mjs} +3 -4
- package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DRDiIxsn.mjs.map → acorex-platform-common-boolean-widget-filter.component-BdE7WOK5.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-change-password.component-Djd4SeNv.mjs → acorex-platform-common-change-password.component-g_GEw3IZ.mjs} +4 -4
- package/fesm2022/{acorex-platform-common-change-password.component-Djd4SeNv.mjs.map → acorex-platform-common-change-password.component-g_GEw3IZ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Bn0tnHyT.mjs → acorex-platform-common-checkbox-widget-column.component-Bj5rjEk1.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Bn0tnHyT.mjs.map → acorex-platform-common-checkbox-widget-column.component-Bj5rjEk1.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-BuS0Pg-j.mjs → acorex-platform-common-checkbox-widget-edit.component-ChXbJsuG.mjs} +3 -4
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-ChXbJsuG.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-D7kmxXjj.mjs → acorex-platform-common-checkbox-widget-view.component-CbQwjE_u.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-D7kmxXjj.mjs.map → acorex-platform-common-checkbox-widget-view.component-CbQwjE_u.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-CtS98tbi.mjs → acorex-platform-common-dateTime-widget-column.component-QUYyDVw8.mjs} +2 -3
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-QUYyDVw8.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-Dm4QofDq.mjs → acorex-platform-common-dateTime-widget-edit.component-CzLb3xnR.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-Dm4QofDq.mjs.map → acorex-platform-common-dateTime-widget-edit.component-CzLb3xnR.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-DDny36SE.mjs → acorex-platform-common-dateTime-widget-filter.component-DZRQ6yVk.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-DDny36SE.mjs.map → acorex-platform-common-dateTime-widget-filter.component-DZRQ6yVk.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-lzf0fwxr.mjs → acorex-platform-common-dateTime-widget-view.component-DxNwm_5m.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-lzf0fwxr.mjs.map → acorex-platform-common-dateTime-widget-view.component-DxNwm_5m.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-column.component-Cy_Kj9po.mjs → acorex-platform-common-email-widget-column.component-Cm-fhlNZ.mjs} +2 -3
- package/fesm2022/acorex-platform-common-email-widget-column.component-Cm-fhlNZ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-email-widget-edit.component-DTxCX3ok.mjs → acorex-platform-common-email-widget-edit.component-BfXFBLF6.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-email-widget-edit.component-DTxCX3ok.mjs.map → acorex-platform-common-email-widget-edit.component-BfXFBLF6.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-view.component-CvEHLvcT.mjs → acorex-platform-common-email-widget-view.component-ClRjKVy6.mjs} +1 -2
- package/fesm2022/{acorex-platform-common-email-widget-view.component-CvEHLvcT.mjs.map → acorex-platform-common-email-widget-view.component-ClRjKVy6.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-column.component-GtbElxmS.mjs → acorex-platform-common-file-widget-column.component-B0v2rSWI.mjs} +2 -3
- package/fesm2022/acorex-platform-common-file-widget-column.component-B0v2rSWI.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-3fR5jRFv.mjs → acorex-platform-common-file-widget-edit.component-DsIqehpt.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-3fR5jRFv.mjs.map → acorex-platform-common-file-widget-edit.component-DsIqehpt.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-filter.component-B7etTIuq.mjs → acorex-platform-common-file-widget-filter.component-C3uBjqF-.mjs} +2 -3
- package/fesm2022/acorex-platform-common-file-widget-filter.component-C3uBjqF-.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-file-widget-view.component-RsQQjlL7.mjs → acorex-platform-common-file-widget-view.component-DTl_Rehd.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-file-widget-view.component-RsQQjlL7.mjs.map → acorex-platform-common-file-widget-view.component-DTl_Rehd.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CixJEDUT.mjs → acorex-platform-common-gallery-widget-edit.component-DHeFVg5x.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CixJEDUT.mjs.map → acorex-platform-common-gallery-widget-edit.component-DHeFVg5x.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-1wzY6U5s.mjs → acorex-platform-common-gallery-widget-filter.component-Di446i2c.mjs} +2 -3
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Di446i2c.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-YaLJU3Cv.mjs → acorex-platform-common-gallery-widget-view.component-CkcRvfv-.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-YaLJU3Cv.mjs.map → acorex-platform-common-gallery-widget-view.component-CkcRvfv-.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-BeiJZnEv.mjs → acorex-platform-common-largetext-widget-edit.component-D89AlBSm.mjs} +1 -2
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-D89AlBSm.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-column.component-C5DZ-cez.mjs → acorex-platform-common-lookup-widget-column.component-CB0ehp_y.mjs} +2 -3
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-CB0ehp_y.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-uopyJIC1.mjs → acorex-platform-common-lookup-widget-edit.component-B0HQnsb8.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-uopyJIC1.mjs.map → acorex-platform-common-lookup-widget-edit.component-B0HQnsb8.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-D1lrIkz4.mjs → acorex-platform-common-lookup-widget-filter.component-Dxj_XEYV.mjs} +3 -4
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-Dxj_XEYV.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-view.component-DTNcGNir.mjs → acorex-platform-common-lookup-widget-view.component-BtO3feA9.mjs} +2 -3
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-BtO3feA9.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-map-widget-edit.component-h4SRiV6_.mjs → acorex-platform-common-map-widget-edit.component-hXIZrhzg.mjs} +2 -3
- package/fesm2022/acorex-platform-common-map-widget-edit.component-hXIZrhzg.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-map-widget-view.component-Deos8gVy.mjs → acorex-platform-common-map-widget-view.component-RgV-r8q6.mjs} +2 -3
- package/fesm2022/acorex-platform-common-map-widget-view.component-RgV-r8q6.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DN8dFLZD.mjs → acorex-platform-common-messenger-widget-column.component-DGWQWuzM.mjs} +2 -3
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-DGWQWuzM.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-m_zxHCw5.mjs → acorex-platform-common-messenger-widget-edit.component-Blv1qL4e.mjs} +2 -3
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-Blv1qL4e.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DA9MiNb9.mjs → acorex-platform-common-messenger-widget-view.component-DEbnPggG.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DA9MiNb9.mjs.map → acorex-platform-common-messenger-widget-view.component-DEbnPggG.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-number-widget-edit.component-B0if4vR4.mjs → acorex-platform-common-number-widget-edit.component-gQCEBhPv.mjs} +2 -3
- package/fesm2022/acorex-platform-common-number-widget-edit.component-gQCEBhPv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-number-widget-filter.component-BgTJbR2u.mjs → acorex-platform-common-number-widget-filter.component-CvEw3awN.mjs} +3 -4
- package/fesm2022/acorex-platform-common-number-widget-filter.component-CvEw3awN.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-number-widget-view.component-Du1oQYBH.mjs → acorex-platform-common-number-widget-view.component-ROrdklif.mjs} +2 -3
- package/fesm2022/acorex-platform-common-number-widget-view.component-ROrdklif.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-password-widget-column.component-CEWtRX1S.mjs → acorex-platform-common-password-widget-column.component-vXdE4UjM.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-password-widget-column.component-CEWtRX1S.mjs.map → acorex-platform-common-password-widget-column.component-vXdE4UjM.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-password-widget-edit.component-B-_m6f_C.mjs → acorex-platform-common-password-widget-edit.component-BCOoHtGl.mjs} +2 -3
- package/fesm2022/acorex-platform-common-password-widget-edit.component-BCOoHtGl.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-password-widget-view.component-BVW-Zak-.mjs → acorex-platform-common-password-widget-view.component-rpjAeimk.mjs} +3 -4
- package/fesm2022/{acorex-platform-common-password-widget-view.component-BVW-Zak-.mjs.map → acorex-platform-common-password-widget-view.component-rpjAeimk.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-DGaGGltV.mjs → acorex-platform-common-phone-widget-column.component-BbuUbPCu.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-DGaGGltV.mjs.map → acorex-platform-common-phone-widget-column.component-BbuUbPCu.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BNfAQ_4j.mjs → acorex-platform-common-phone-widget-edit.component-Bo_aOxfZ.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BNfAQ_4j.mjs.map → acorex-platform-common-phone-widget-edit.component-Bo_aOxfZ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-xGygt5Y9.mjs → acorex-platform-common-phone-widget-view.component-DDBCR_QY.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-xGygt5Y9.mjs.map → acorex-platform-common-phone-widget-view.component-DDBCR_QY.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BJYxnZm2.mjs → acorex-platform-common-rich-text-widget-column.component-BHiq7hdp.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BJYxnZm2.mjs.map → acorex-platform-common-rich-text-widget-column.component-BHiq7hdp.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-Dvv8JnXl.mjs → acorex-platform-common-rich-text-widget-edit.component-12odUyzb.mjs} +2 -3
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-12odUyzb.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-B77Y5luo.mjs → acorex-platform-common-rich-text-widget-view.component-Xr0ohz5L.mjs} +2 -3
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Xr0ohz5L.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-1zPVFgFG.mjs → acorex-platform-common-selection-list-widget-column.component-C2JikSdw.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-1zPVFgFG.mjs.map → acorex-platform-common-selection-list-widget-column.component-C2JikSdw.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-Tdkf-0cn.mjs → acorex-platform-common-selection-list-widget-edit.component-C1QPfHCm.mjs} +3 -4
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-C1QPfHCm.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-y2aFk-A6.mjs → acorex-platform-common-selection-list-widget-filter.component-DIgxHmqa.mjs} +2 -3
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DIgxHmqa.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-DLc1MHex.mjs → acorex-platform-common-selection-list-widget-view.component-D-VQ4JNC.mjs} +2 -3
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-D-VQ4JNC.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-qUuwwYlj.mjs → acorex-platform-common-signature-pad-widget-edit.component-BimaJ4_d.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-qUuwwYlj.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-BimaJ4_d.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-D5XVZ88b.mjs → acorex-platform-common-signature-pad-widget-view.component-USd0U707.mjs} +2 -3
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-USd0U707.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-string-widget-filter.component-B9h7CnEz.mjs → acorex-platform-common-string-widget-filter.component-wI9D-Ju5.mjs} +3 -4
- package/fesm2022/acorex-platform-common-string-widget-filter.component-wI9D-Ju5.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-text-widget-column.component-LFKeHZbS.mjs → acorex-platform-common-text-widget-column.component-Be7Nr0lJ.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-text-widget-column.component-LFKeHZbS.mjs.map → acorex-platform-common-text-widget-column.component-Be7Nr0lJ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-edit.component-BiyTKmvV.mjs → acorex-platform-common-text-widget-edit.component-feJTTnye.mjs} +2 -3
- package/fesm2022/acorex-platform-common-text-widget-edit.component-feJTTnye.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-text-widget-view.component-BDxpsxE6.mjs → acorex-platform-common-text-widget-view.component-DsUAJ-md.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-text-widget-view.component-BDxpsxE6.mjs.map → acorex-platform-common-text-widget-view.component-DsUAJ-md.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BnmR9hFM.mjs → acorex-platform-common-toggle-widget-column.component-BFwzsY4-.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BnmR9hFM.mjs.map → acorex-platform-common-toggle-widget-column.component-BFwzsY4-.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-Cz7LayX-.mjs → acorex-platform-common-toggle-widget-edit.component-Cuf9_RrU.mjs} +2 -3
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-Cuf9_RrU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-Cq2-5QUg.mjs → acorex-platform-common-toggle-widget-view.component-DYz6VTey.mjs} +2 -3
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-Cq2-5QUg.mjs.map → acorex-platform-common-toggle-widget-view.component-DYz6VTey.mjs.map} +1 -1
- package/fesm2022/acorex-platform-common.mjs +489 -216
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +15 -7
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +397 -207
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +158 -100
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layouts-entity-create-view.component-CPGbLM4C.mjs → acorex-platform-layouts-entity-create-view.component-JsGlDx_S.mjs} +3 -3
- package/fesm2022/{acorex-platform-layouts-entity-create-view.component-CPGbLM4C.mjs.map → acorex-platform-layouts-entity-create-view.component-JsGlDx_S.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs → acorex-platform-layouts-entity-import-view.component-9FK_Iro9.mjs} +2 -2
- package/fesm2022/{acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs.map → acorex-platform-layouts-entity-import-view.component-9FK_Iro9.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-Bt4MLEou.mjs → acorex-platform-layouts-entity-modify-view.component-CNbc8ewu.mjs} +3 -3
- package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-Bt4MLEou.mjs.map → acorex-platform-layouts-entity-modify-view.component-CNbc8ewu.mjs.map} +1 -1
- package/fesm2022/acorex-platform-layouts.mjs +14 -13
- package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-dByV3T8-.mjs → acorex-platform-themes-default-entity-master-create-view.component-Cf5ttvrG.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-dByV3T8-.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-Cf5ttvrG.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLb_4pK5.mjs +306 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLb_4pK5.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CdwlY0Fa.mjs → acorex-platform-themes-default-entity-master-modify-view.component-CCvE7XiE.mjs} +5 -5
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CdwlY0Fa.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-CCvE7XiE.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-ItkFB3QF.mjs → acorex-platform-themes-default-entity-master-single-view.component-CwrgQFY7.mjs} +7 -7
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CwrgQFY7.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +43 -24
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-M_JuDPbt.mjs → acorex-platform-widgets-button-widget-designer.component-CPFA79Gx.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-M_JuDPbt.mjs.map → acorex-platform-widgets-button-widget-designer.component-CPFA79Gx.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-j1jG8pCr.mjs → acorex-platform-widgets-checkbox-widget-column.component-MInF2GVN.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-j1jG8pCr.mjs.map → acorex-platform-widgets-checkbox-widget-column.component-MInF2GVN.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs → acorex-platform-widgets-checkbox-widget-designer.component-B7Qv2aYx.mjs} +3 -3
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-B7Qv2aYx.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-CDA7Jwov.mjs → acorex-platform-widgets-checkbox-widget-view.component-DP4kITs-.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-CDA7Jwov.mjs.map → acorex-platform-widgets-checkbox-widget-view.component-DP4kITs-.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs → acorex-platform-widgets-color-box-widget-designer.component-uQBHAspe.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs.map → acorex-platform-widgets-color-box-widget-designer.component-uQBHAspe.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-contact-widget-filter.component-GTwK51nJ.mjs → acorex-platform-widgets-contact-widget-filter.component-DnQZon-E.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-contact-widget-filter.component-GTwK51nJ.mjs.map → acorex-platform-widgets-contact-widget-filter.component-DnQZon-E.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-BL_EAwUs.mjs → acorex-platform-widgets-page-widget-designer.component-DOulAanE.mjs} +76 -78
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DOulAanE.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs → acorex-platform-widgets-rich-text-popup.component-C8KmObPV.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs.map → acorex-platform-widgets-rich-text-popup.component-C8KmObPV.mjs.map} +1 -1
- package/fesm2022/acorex-platform-widgets-template-picker.component-DPlvwgbu.mjs +123 -0
- package/fesm2022/acorex-platform-widgets-template-picker.component-DPlvwgbu.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-template-widget-edit.component-JlCVB-Aq.mjs +135 -0
- package/fesm2022/acorex-platform-widgets-template-widget-edit.component-JlCVB-Aq.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-Bi9hlpvB.mjs → acorex-platform-widgets-text-block-widget-designer.component-BE6goaZc.mjs} +2 -2
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-Bi9hlpvB.mjs.map → acorex-platform-widgets-text-block-widget-designer.component-BE6goaZc.mjs.map} +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +255 -239
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +1 -1
- package/layout/builder/lib/builder/widget.types.d.ts +3 -1
- package/layout/designer/lib/designer/components/board/board.component.d.ts +8 -0
- package/layout/designer/lib/designer/designer.component.d.ts +3 -1
- package/layout/designer/lib/designer/index.d.ts +1 -0
- package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +10 -6
- package/layout/designer/lib/designer/shared/designer.service.d.ts +18 -3
- package/layout/designer/lib/designer/shared/generic-commands.types.d.ts +9 -0
- package/layout/designer/lib/designer/shared/widget-designer-renderer.directive.d.ts +8 -5
- package/layout/designer/lib/preview/preview-viewer.component.d.ts +2 -2
- package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +2 -2
- package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +2 -1
- package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -3
- package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -0
- package/layout/entity/lib/entity.viewmodel.d.ts +5 -3
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +14 -12
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +13 -10
- package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +0 -1
- package/package.json +13 -13
- package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +4 -1
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.d.ts +1 -1
- package/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.d.ts +8 -2
- package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +3 -6
- package/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.d.ts +2 -0
- package/widgets/lib/widgets/editors/select/select-box-widget-view.component.d.ts +2 -3
- package/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.d.ts +1 -1
- package/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.d.ts +1 -1
- package/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.d.ts +3 -3
- package/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.d.ts +1 -2
- package/widgets/lib/widgets/editors/toggle/toggle-widget-print.component.d.ts +1 -1
- package/widgets/lib/widgets/editors/toggle/toggle-widget-view.component.d.ts +1 -1
- package/widgets/lib/widgets/layout/page/page-widget-designer.component.d.ts +8 -9
- package/widgets/lib/widgets/layout/template/template-picker/template-picker.component.d.ts +30 -0
- package/widgets/lib/widgets/layout/template/template-widget-edit.component.d.ts +3 -0
- package/widgets/lib/widgets/layout/template/template-widget-view.component.d.ts +1 -0
- package/widgets/lib/widgets/layout/template/template.provider.d.ts +3 -0
- package/common/lib/layout/menu/menu.loader.d.ts +0 -17
- package/common/lib/utils/router-util.service.d.ts +0 -12
- package/esm2022/common/lib/layout/menu/menu.loader.mjs +0 -39
- package/esm2022/common/lib/utils/router-util.service.mjs +0 -43
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-CfHELBLm.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BuS0Pg-j.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-CtS98tbi.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-column.component-Cy_Kj9po.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-column.component-GtbElxmS.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-filter.component-B7etTIuq.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-1wzY6U5s.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BeiJZnEv.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-C5DZ-cez.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-D1lrIkz4.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-DTNcGNir.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-edit.component-h4SRiV6_.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-view.component-Deos8gVy.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-DN8dFLZD.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-m_zxHCw5.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-edit.component-B0if4vR4.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-filter.component-BgTJbR2u.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-view.component-Du1oQYBH.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-edit.component-B-_m6f_C.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Dvv8JnXl.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-B77Y5luo.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-Tdkf-0cn.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-y2aFk-A6.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-DLc1MHex.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-D5XVZ88b.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-string-widget-filter.component-B9h7CnEz.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-text-widget-edit.component-BiyTKmvV.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-Cz7LayX-.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-mzb-FV9E.mjs +0 -299
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-mzb-FV9E.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-ItkFB3QF.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-BL_EAwUs.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-template-widget-edit.component-BWc0_EA0.mjs +0 -96
- package/fesm2022/acorex-platform-widgets-template-widget-edit.component-BWc0_EA0.mjs.map +0 -1
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { Injectable, InjectionToken, inject } from '@angular/core';
|
|
2
|
+
import { AXPSettingDefinitionItemType, } from './settings.types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
// Injection token for setting providers
|
|
5
|
+
export const AXP_SETTING_PROVIDER = new InjectionToken('AXP_SETTING_PROVIDER');
|
|
6
|
+
export class AXPSettingProviderService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.providers = inject(AXP_SETTING_PROVIDER, { optional: true });
|
|
9
|
+
this.cache = null;
|
|
10
|
+
this.pendingInserts = [];
|
|
11
|
+
this.pendingAdditions = [];
|
|
12
|
+
}
|
|
13
|
+
// Retrieve all setting items, applying any pending operations
|
|
14
|
+
async items() {
|
|
15
|
+
if (this.cache) {
|
|
16
|
+
return this.cache;
|
|
17
|
+
}
|
|
18
|
+
const items = [];
|
|
19
|
+
const context = this.createProviderContext(items);
|
|
20
|
+
if (Array.isArray(this.providers)) {
|
|
21
|
+
for (const provider of this.providers) {
|
|
22
|
+
await provider.provide(context);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
this.applyPendingOperations(items);
|
|
26
|
+
this.cache = items;
|
|
27
|
+
return items;
|
|
28
|
+
}
|
|
29
|
+
// Create the provider context with methods to add items and find existing ones
|
|
30
|
+
createProviderContext(items) {
|
|
31
|
+
return {
|
|
32
|
+
addItems: (newItems) => {
|
|
33
|
+
items.push(...newItems);
|
|
34
|
+
},
|
|
35
|
+
addItem: (item) => {
|
|
36
|
+
items.push(item);
|
|
37
|
+
},
|
|
38
|
+
addGroup: (group) => {
|
|
39
|
+
items.push(group);
|
|
40
|
+
},
|
|
41
|
+
find: (target) => {
|
|
42
|
+
return {
|
|
43
|
+
insertGroup: (item, position) => {
|
|
44
|
+
this.pendingInserts.push({ target, newItems: [item], position });
|
|
45
|
+
},
|
|
46
|
+
insertSingle: (item, position) => {
|
|
47
|
+
this.pendingInserts.push({ target, newItems: [item], position });
|
|
48
|
+
},
|
|
49
|
+
insertSingles: (items, position) => {
|
|
50
|
+
this.pendingInserts.push({ target, newItems: items, position });
|
|
51
|
+
},
|
|
52
|
+
addItems: (items) => {
|
|
53
|
+
this.pendingAdditions.push({ target, newItems: items });
|
|
54
|
+
},
|
|
55
|
+
addChildSingleAt: (item, index) => {
|
|
56
|
+
const foundItemInfo = this.findItemWithParent(this.cache || [], target);
|
|
57
|
+
if (foundItemInfo && foundItemInfo.foundItem) {
|
|
58
|
+
const { foundItem } = foundItemInfo;
|
|
59
|
+
if (foundItem.type === AXPSettingDefinitionItemType.Group) {
|
|
60
|
+
const group = foundItem;
|
|
61
|
+
if (index >= 0 && index <= group.singles.length) {
|
|
62
|
+
group.singles.splice(index, 0, item);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.warn(`Index "${index}" is out of bounds for singles.`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
console.warn(`Target "${target}" is not a group; cannot add a child single.`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
console.warn(`Target "${target}" not found for adding a child single.`);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
addChildSingleFirst: (item) => {
|
|
77
|
+
const foundItemInfo = this.findItemWithParent(this.cache || [], target);
|
|
78
|
+
if (foundItemInfo && foundItemInfo.foundItem) {
|
|
79
|
+
const { foundItem } = foundItemInfo;
|
|
80
|
+
if (foundItem.type === AXPSettingDefinitionItemType.Group) {
|
|
81
|
+
const group = foundItem;
|
|
82
|
+
group.singles.unshift(item);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
console.warn(`Target "${target}" is not a group; cannot add a child single.`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
console.warn(`Target "${target}" not found for adding a child single.`);
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
addChildSingleLast: (item) => {
|
|
93
|
+
const foundItemInfo = this.findItemWithParent(this.cache || [], target);
|
|
94
|
+
if (foundItemInfo && foundItemInfo.foundItem) {
|
|
95
|
+
const { foundItem } = foundItemInfo;
|
|
96
|
+
if (foundItem.type === AXPSettingDefinitionItemType.Group) {
|
|
97
|
+
const group = foundItem;
|
|
98
|
+
group.singles.push(item);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.warn(`Target "${target}" is not a group; cannot add a child single.`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
console.warn(`Target "${target}" not found for adding a child single.`);
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
addChildGroupAt: (item, index) => {
|
|
109
|
+
const foundItemInfo = this.findItemWithParent(this.cache || [], target);
|
|
110
|
+
if (foundItemInfo && foundItemInfo.foundItem) {
|
|
111
|
+
const { foundItem } = foundItemInfo;
|
|
112
|
+
if (foundItem.type === AXPSettingDefinitionItemType.Group) {
|
|
113
|
+
const group = foundItem;
|
|
114
|
+
if (index >= 0 && index <= group.groups.length) {
|
|
115
|
+
group.groups.splice(index, 0, item);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
console.warn(`Index "${index}" is out of bounds for groups.`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
console.warn(`Target "${target}" is not a group; cannot add a child group.`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
console.warn(`Target "${target}" not found for adding a child group.`);
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
addChildGroupFirst: (item) => {
|
|
130
|
+
const foundItemInfo = this.findItemWithParent(this.cache || [], target);
|
|
131
|
+
if (foundItemInfo && foundItemInfo.foundItem) {
|
|
132
|
+
const { foundItem } = foundItemInfo;
|
|
133
|
+
if (foundItem.type === AXPSettingDefinitionItemType.Group) {
|
|
134
|
+
const group = foundItem;
|
|
135
|
+
group.groups.unshift(item);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
console.warn(`Target "${target}" is not a group; cannot add a child group.`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
console.warn(`Target "${target}" not found for adding a child group.`);
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
addChildGroupLast: (item) => {
|
|
146
|
+
const foundItemInfo = this.findItemWithParent(this.cache || [], target);
|
|
147
|
+
if (foundItemInfo && foundItemInfo.foundItem) {
|
|
148
|
+
const { foundItem } = foundItemInfo;
|
|
149
|
+
if (foundItem.type === AXPSettingDefinitionItemType.Group) {
|
|
150
|
+
const group = foundItem;
|
|
151
|
+
group.groups.push(item);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
console.warn(`Target "${target}" is not a group; cannot add a child group.`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
console.warn(`Target "${target}" not found for adding a child group.`);
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
applyPendingOperations(items) {
|
|
166
|
+
// Process pending insertions
|
|
167
|
+
for (const { target, newItems, position } of this.pendingInserts) {
|
|
168
|
+
const foundItemInfo = this.findItemWithParent(items, target);
|
|
169
|
+
if (foundItemInfo && foundItemInfo.foundItem) {
|
|
170
|
+
const { foundItem, parentItems } = foundItemInfo;
|
|
171
|
+
const index = parentItems.indexOf(foundItem);
|
|
172
|
+
const insertIndex = position === 'before' ? index : index + 1;
|
|
173
|
+
parentItems.splice(insertIndex, 0, ...newItems);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
console.warn(`Target "${target}" not found for insertion.`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// Process pending additions
|
|
180
|
+
for (const { target, newItems } of this.pendingAdditions) {
|
|
181
|
+
const foundItemInfo = this.findItemWithParent(items, target);
|
|
182
|
+
if (foundItemInfo && foundItemInfo.foundItem) {
|
|
183
|
+
const { foundItem } = foundItemInfo;
|
|
184
|
+
if (foundItem.type === AXPSettingDefinitionItemType.Group) {
|
|
185
|
+
const group = foundItem;
|
|
186
|
+
group.groups.push(...newItems.filter((item) => item.type === AXPSettingDefinitionItemType.Group));
|
|
187
|
+
group.singles.push(...newItems.filter((item) => item.type === AXPSettingDefinitionItemType.Single));
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
console.warn(`Target "${target}" is not a group; cannot add items.`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
console.warn(`Target "${target}" not found for adding items.`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// Clear pending operations after applying them
|
|
198
|
+
this.pendingInserts = [];
|
|
199
|
+
this.pendingAdditions = [];
|
|
200
|
+
}
|
|
201
|
+
findItemWithParent(items, target, parentItems = items) {
|
|
202
|
+
for (const item of items) {
|
|
203
|
+
if (item.name === target) {
|
|
204
|
+
return { foundItem: item, parentItems };
|
|
205
|
+
}
|
|
206
|
+
if (item.type === AXPSettingDefinitionItemType.Group) {
|
|
207
|
+
const group = item;
|
|
208
|
+
// Search within child groups
|
|
209
|
+
const groupResult = this.findItemWithParent(group.groups, target, group.groups);
|
|
210
|
+
if (groupResult) {
|
|
211
|
+
return groupResult;
|
|
212
|
+
}
|
|
213
|
+
// Search within child singles
|
|
214
|
+
const singleResult = this.findItemWithParent(group.singles, target, group.singles);
|
|
215
|
+
if (singleResult) {
|
|
216
|
+
return singleResult;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
223
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingProviderService, providedIn: 'root' }); }
|
|
224
|
+
}
|
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingProviderService, decorators: [{
|
|
226
|
+
type: Injectable,
|
|
227
|
+
args: [{ providedIn: 'root' }]
|
|
228
|
+
}] });
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zZXR0aW5ncy9zZXR0aW5nLWRlZmluaXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFLTCw0QkFBNEIsR0FFN0IsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPMUIsd0NBQXdDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUFpQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRy9HLE1BQU0sT0FBTyx5QkFBeUI7SUFEdEM7UUFFVSxjQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0QsVUFBSyxHQUFzQyxJQUFJLENBQUM7UUFDaEQsbUJBQWMsR0FJakIsRUFBRSxDQUFDO1FBQ0EscUJBQWdCLEdBQW9FLEVBQUUsQ0FBQztLQXVOaEc7SUFyTkMsOERBQThEO0lBQzlELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUErQixFQUFFLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxRQUFR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RyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLGtCQUFrQixDQUN4QixLQUFpQyxFQUNqQyxNQUFjLEVBQ2QsY0FBMEMsS0FBSztRQUUvQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDMUMsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckQsTUFBTSxLQUFLLEdBQUcsSUFBaUMsQ0FBQztnQkFFaEQsNkJBQTZCO2dCQUM3QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNoRixJQUFJLFdBQVcsRUFBRSxDQUFDO29CQUNoQixPQUFPLFdBQVcsQ0FBQztnQkFDckIsQ0FBQztnQkFFRCw4QkFBOEI7Z0JBQzlCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ25GLElBQUksWUFBWSxFQUFFLENBQUM7b0JBQ2pCLE9BQU8sWUFBWSxDQUFDO2dCQUN0QixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBOU5VLHlCQUF5QjtrSEFBekIseUJBQXlCLGNBRFosTUFBTTs7MkZBQ25CLHlCQUF5QjtrQkFEckMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWFBTZXR0aW5nRGVmaW5pdGlvbixcbiAgQVhQU2V0dGluZ0RlZmluaXRpb25GaW5kZXJSZXN1bHQsXG4gIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXAsXG4gIEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbSxcbiAgQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZSxcbiAgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlckNvbnRleHQsXG59IGZyb20gJy4vc2V0dGluZ3MudHlwZXMnO1xuXG4vLyBJbnRlcmZhY2UgZm9yIHNldHRpbmcgcHJvdmlkZXJzXG5leHBvcnQgaW50ZXJmYWNlIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIge1xuICBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLy8gSW5qZWN0aW9uIHRva2VuIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGNvbnN0IEFYUF9TRVRUSU5HX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJbXT4oJ0FYUF9TRVRUSU5HX1BST1ZJREVSJyk7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ1Byb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9TRVRUSU5HX1BST1ZJREVSLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIGNhY2hlOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHBlbmRpbmdJbnNlcnRzOiBBcnJheTx7XG4gICAgdGFyZ2V0OiBzdHJpbmc7XG4gICAgbmV3SXRlbXM6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdO1xuICAgIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcic7XG4gIH0+ID0gW107XG4gIHByaXZhdGUgcGVuZGluZ0FkZGl0aW9uczogQXJyYXk8eyB0YXJnZXQ6IHN0cmluZzsgbmV3SXRlbXM6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdIH0+ID0gW107XG5cbiAgLy8gUmV0cmlldmUgYWxsIHNldHRpbmcgaXRlbXMsIGFwcGx5aW5nIGFueSBwZW5kaW5nIG9wZXJhdGlvbnNcbiAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXT4ge1xuICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZTtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10gPSBbXTtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jcmVhdGVQcm92aWRlckNvbnRleHQoaXRlbXMpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5wcm92aWRlcnMpKSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMucHJvdmlkZXJzKSB7XG4gICAgICAgIGF3YWl0IHByb3ZpZGVyLnByb3ZpZGUoY29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5hcHBseVBlbmRpbmdPcGVyYXRpb25zKGl0ZW1zKTtcbiAgICB0aGlzLmNhY2hlID0gaXRlbXM7XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgLy8gQ3JlYXRlIHRoZSBwcm92aWRlciBjb250ZXh0IHdpdGggbWV0aG9kcyB0byBhZGQgaXRlbXMgYW5kIGZpbmQgZXhpc3Rpbmcgb25lc1xuICBwcml2YXRlIGNyZWF0ZVByb3ZpZGVyQ29udGV4dChpdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10pOiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZEl0ZW1zOiAobmV3SXRlbXM6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdKSA9PiB7XG4gICAgICAgIGl0ZW1zLnB1c2goLi4ubmV3SXRlbXMpO1xuICAgICAgfSxcbiAgICAgIGFkZEl0ZW06IChpdGVtOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW0pID0+IHtcbiAgICAgICAgaXRlbXMucHVzaChpdGVtKTtcbiAgICAgIH0sXG4gICAgICBhZGRHcm91cDogKGdyb3VwOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwKSA9PiB7XG4gICAgICAgIGl0ZW1zLnB1c2goZ3JvdXApO1xuICAgICAgfSxcbiAgICAgIGZpbmQ6ICh0YXJnZXQ6IHN0cmluZyk6IEFYUFNldHRpbmdEZWZpbml0aW9uRmluZGVyUmVzdWx0ID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbnNlcnRHcm91cDogKGl0ZW0sIHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdJbnNlcnRzLnB1c2goeyB0YXJnZXQsIG5ld0l0ZW1zOiBbaXRlbV0sIHBvc2l0aW9uIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5zZXJ0U2luZ2xlOiAoaXRlbSwgcG9zaXRpb24pID0+IHtcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ0luc2VydHMucHVzaCh7IHRhcmdldCwgbmV3SXRlbXM6IFtpdGVtXSwgcG9zaXRpb24gfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbnNlcnRTaW5nbGVzOiAoaXRlbXMsIHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdJbnNlcnRzLnB1c2goeyB0YXJnZXQsIG5ld0l0ZW1zOiBpdGVtcywgcG9zaXRpb24gfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBhZGRJdGVtczogKGl0ZW1zKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdBZGRpdGlvbnMucHVzaCh7IHRhcmdldCwgbmV3SXRlbXM6IGl0ZW1zIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgYWRkQ2hpbGRTaW5nbGVBdDogKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZEl0ZW1JbmZvID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQodGhpcy5jYWNoZSB8fCBbXSwgdGFyZ2V0KTtcbiAgICAgICAgICAgIGlmIChmb3VuZEl0ZW1JbmZvICYmIGZvdW5kSXRlbUluZm8uZm91bmRJdGVtKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgZm91bmRJdGVtIH0gPSBmb3VuZEl0ZW1JbmZvO1xuICAgICAgICAgICAgICBpZiAoZm91bmRJdGVtLnR5cGUgPT09IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuR3JvdXApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBncm91cCA9IGZvdW5kSXRlbSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwO1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+PSAwICYmIGluZGV4IDw9IGdyb3VwLnNpbmdsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICBncm91cC5zaW5nbGVzLnNwbGljZShpbmRleCwgMCwgaXRlbSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgSW5kZXggXCIke2luZGV4fVwiIGlzIG91dCBvZiBib3VuZHMgZm9yIHNpbmdsZXMuYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgaXMgbm90IGEgZ3JvdXA7IGNhbm5vdCBhZGQgYSBjaGlsZCBzaW5nbGUuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kIGZvciBhZGRpbmcgYSBjaGlsZCBzaW5nbGUuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBhZGRDaGlsZFNpbmdsZUZpcnN0OiAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KHRoaXMuY2FjaGUgfHwgW10sIHRhcmdldCk7XG4gICAgICAgICAgICBpZiAoZm91bmRJdGVtSW5mbyAmJiBmb3VuZEl0ZW1JbmZvLmZvdW5kSXRlbSkge1xuICAgICAgICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgICAgICAgICAgaWYgKGZvdW5kSXRlbS50eXBlID09PSBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLkdyb3VwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBmb3VuZEl0ZW0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcbiAgICAgICAgICAgICAgICBncm91cC5zaW5nbGVzLnVuc2hpZnQoaXRlbSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBpcyBub3QgYSBncm91cDsgY2Fubm90IGFkZCBhIGNoaWxkIHNpbmdsZS5gKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQgZm9yIGFkZGluZyBhIGNoaWxkIHNpbmdsZS5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGFkZENoaWxkU2luZ2xlTGFzdDogKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudCh0aGlzLmNhY2hlIHx8IFtdLCB0YXJnZXQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kSXRlbUluZm8gJiYgZm91bmRJdGVtSW5mby5mb3VuZEl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0gfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAgICAgICAgIGlmIChmb3VuZEl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gZm91bmRJdGVtIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXA7XG4gICAgICAgICAgICAgICAgZ3JvdXAuc2luZ2xlcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgaXMgbm90IGEgZ3JvdXA7IGNhbm5vdCBhZGQgYSBjaGlsZCBzaW5nbGUuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kIGZvciBhZGRpbmcgYSBjaGlsZCBzaW5nbGUuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBhZGRDaGlsZEdyb3VwQXQ6IChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KHRoaXMuY2FjaGUgfHwgW10sIHRhcmdldCk7XG4gICAgICAgICAgICBpZiAoZm91bmRJdGVtSW5mbyAmJiBmb3VuZEl0ZW1JbmZvLmZvdW5kSXRlbSkge1xuICAgICAgICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgICAgICAgICAgaWYgKGZvdW5kSXRlbS50eXBlID09PSBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLkdyb3VwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBmb3VuZEl0ZW0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPj0gMCAmJiBpbmRleCA8PSBncm91cC5ncm91cHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICBncm91cC5ncm91cHMuc3BsaWNlKGluZGV4LCAwLCBpdGVtKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBJbmRleCBcIiR7aW5kZXh9XCIgaXMgb3V0IG9mIGJvdW5kcyBmb3IgZ3JvdXBzLmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIGlzIG5vdCBhIGdyb3VwOyBjYW5ub3QgYWRkIGEgY2hpbGQgZ3JvdXAuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kIGZvciBhZGRpbmcgYSBjaGlsZCBncm91cC5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGFkZENoaWxkR3JvdXBGaXJzdDogKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudCh0aGlzLmNhY2hlIHx8IFtdLCB0YXJnZXQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kSXRlbUluZm8gJiYgZm91bmRJdGVtSW5mby5mb3VuZEl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0gfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAgICAgICAgIGlmIChmb3VuZEl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gZm91bmRJdGVtIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXA7XG4gICAgICAgICAgICAgICAgZ3JvdXAuZ3JvdXBzLnVuc2hpZnQoaXRlbSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBpcyBub3QgYSBncm91cDsgY2Fubm90IGFkZCBhIGNoaWxkIGdyb3VwLmApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIG5vdCBmb3VuZCBmb3IgYWRkaW5nIGEgY2hpbGQgZ3JvdXAuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBhZGRDaGlsZEdyb3VwTGFzdDogKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudCh0aGlzLmNhY2hlIHx8IFtdLCB0YXJnZXQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kSXRlbUluZm8gJiYgZm91bmRJdGVtSW5mby5mb3VuZEl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0gfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAgICAgICAgIGlmIChmb3VuZEl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gZm91bmRJdGVtIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXA7XG4gICAgICAgICAgICAgICAgZ3JvdXAuZ3JvdXBzLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBpcyBub3QgYSBncm91cDsgY2Fubm90IGFkZCBhIGNoaWxkIGdyb3VwLmApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIG5vdCBmb3VuZCBmb3IgYWRkaW5nIGEgY2hpbGQgZ3JvdXAuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlQZW5kaW5nT3BlcmF0aW9ucyhpdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10pOiB2b2lkIHtcbiAgICAvLyBQcm9jZXNzIHBlbmRpbmcgaW5zZXJ0aW9uc1xuICAgIGZvciAoY29uc3QgeyB0YXJnZXQsIG5ld0l0ZW1zLCBwb3NpdGlvbiB9IG9mIHRoaXMucGVuZGluZ0luc2VydHMpIHtcbiAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudChpdGVtcywgdGFyZ2V0KTtcbiAgICAgIGlmIChmb3VuZEl0ZW1JbmZvICYmIGZvdW5kSXRlbUluZm8uZm91bmRJdGVtKSB7XG4gICAgICAgIGNvbnN0IHsgZm91bmRJdGVtLCBwYXJlbnRJdGVtcyB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgICAgY29uc3QgaW5kZXggPSBwYXJlbnRJdGVtcy5pbmRleE9mKGZvdW5kSXRlbSk7XG4gICAgICAgIGNvbnN0IGluc2VydEluZGV4ID0gcG9zaXRpb24gPT09ICdiZWZvcmUnID8gaW5kZXggOiBpbmRleCArIDE7XG4gICAgICAgIHBhcmVudEl0ZW1zLnNwbGljZShpbnNlcnRJbmRleCwgMCwgLi4ubmV3SXRlbXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQgZm9yIGluc2VydGlvbi5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9jZXNzIHBlbmRpbmcgYWRkaXRpb25zXG4gICAgZm9yIChjb25zdCB7IHRhcmdldCwgbmV3SXRlbXMgfSBvZiB0aGlzLnBlbmRpbmdBZGRpdGlvbnMpIHtcbiAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudChpdGVtcywgdGFyZ2V0KTtcbiAgICAgIGlmIChmb3VuZEl0ZW1JbmZvICYmIGZvdW5kSXRlbUluZm8uZm91bmRJdGVtKSB7XG4gICAgICAgIGNvbnN0IHsgZm91bmRJdGVtIH0gPSBmb3VuZEl0ZW1JbmZvO1xuICAgICAgICBpZiAoZm91bmRJdGVtLnR5cGUgPT09IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuR3JvdXApIHtcbiAgICAgICAgICBjb25zdCBncm91cCA9IGZvdW5kSXRlbSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwO1xuICAgICAgICAgIGdyb3VwLmdyb3Vwcy5wdXNoKFxuICAgICAgICAgICAgLi4uKG5ld0l0ZW1zLmZpbHRlcihcbiAgICAgICAgICAgICAgKGl0ZW0pID0+IGl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cFxuICAgICAgICAgICAgKSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwW10pXG4gICAgICAgICAgKTtcbiAgICAgICAgICBncm91cC5zaW5nbGVzLnB1c2goXG4gICAgICAgICAgICAuLi4obmV3SXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnR5cGUgPT09IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuU2luZ2xlKSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbltdKVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBpcyBub3QgYSBncm91cDsgY2Fubm90IGFkZCBpdGVtcy5gKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQgZm9yIGFkZGluZyBpdGVtcy5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBwZW5kaW5nIG9wZXJhdGlvbnMgYWZ0ZXIgYXBwbHlpbmcgdGhlbVxuICAgIHRoaXMucGVuZGluZ0luc2VydHMgPSBbXTtcbiAgICB0aGlzLnBlbmRpbmdBZGRpdGlvbnMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEl0ZW1XaXRoUGFyZW50KFxuICAgIGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSxcbiAgICB0YXJnZXQ6IHN0cmluZyxcbiAgICBwYXJlbnRJdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10gPSBpdGVtc1xuICApOiB7IGZvdW5kSXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtOyBwYXJlbnRJdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10gfSB8IG51bGwge1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgaWYgKGl0ZW0ubmFtZSA9PT0gdGFyZ2V0KSB7XG4gICAgICAgIHJldHVybiB7IGZvdW5kSXRlbTogaXRlbSwgcGFyZW50SXRlbXMgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCkge1xuICAgICAgICBjb25zdCBncm91cCA9IGl0ZW0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcblxuICAgICAgICAvLyBTZWFyY2ggd2l0aGluIGNoaWxkIGdyb3Vwc1xuICAgICAgICBjb25zdCBncm91cFJlc3VsdCA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KGdyb3VwLmdyb3VwcywgdGFyZ2V0LCBncm91cC5ncm91cHMpO1xuICAgICAgICBpZiAoZ3JvdXBSZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gZ3JvdXBSZXN1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWFyY2ggd2l0aGluIGNoaWxkIHNpbmdsZXNcbiAgICAgICAgY29uc3Qgc2luZ2xlUmVzdWx0ID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQoZ3JvdXAuc2luZ2xlcywgdGFyZ2V0LCBncm91cC5zaW5nbGVzKTtcbiAgICAgICAgaWYgKHNpbmdsZVJlc3VsdCkge1xuICAgICAgICAgIHJldHVybiBzaW5nbGVSZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// Enum to distinguish between single settings and groups
|
|
2
|
+
export var AXPSettingDefinitionItemType;
|
|
3
|
+
(function (AXPSettingDefinitionItemType) {
|
|
4
|
+
AXPSettingDefinitionItemType["Single"] = "single";
|
|
5
|
+
AXPSettingDefinitionItemType["Group"] = "group";
|
|
6
|
+
})(AXPSettingDefinitionItemType || (AXPSettingDefinitionItemType = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NldHRpbmdzL3NldHRpbmdzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxNQUFNLENBQU4sSUFBWSw0QkFHWDtBQUhELFdBQVksNEJBQTRCO0lBQ3RDLGlEQUFpQixDQUFBO0lBQ2pCLCtDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLDRCQUE0QixLQUE1Qiw0QkFBNEIsUUFHdkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFbnVtIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gc2luZ2xlIHNldHRpbmdzIGFuZCBncm91cHNcbmV4cG9ydCBlbnVtIEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUge1xuICBTaW5nbGUgPSAnc2luZ2xlJyxcbiAgR3JvdXAgPSAnZ3JvdXAnLFxufVxuXG4vLyBJbnRlcmZhY2UgZm9yIGEgc2luZ2xlIHNldHRpbmcncyB2YWx1ZVxuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nVmFsdWUge1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWU6IGFueTtcbn1cblxuLy8gSW50ZXJmYWNlIGZvciBhIHNpbmdsZSBzZXR0aW5nIGRlZmluaXRpb25cbmV4cG9ydCBpbnRlcmZhY2UgQVhQU2V0dGluZ0RlZmluaXRpb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkYXRhVHlwZTogc3RyaW5nO1xuICBzY29wZTogc3RyaW5nO1xuICBpc1JlcXVpcmVkOiBib29sZWFuO1xuICBpc0luaGVyaXRlZDogYm9vbGVhbjtcbiAgaXNFbmNyeXB0ZWQ6IGJvb2xlYW47XG4gIHR5cGU6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuU2luZ2xlOyAvLyBEaXNjcmltaW5hbnQgcHJvcGVydHlcbn1cblxuLy8gSW50ZXJmYWNlIGZvciBhIGdyb3VwIG9mIHNldHRpbmdzLCB3aGljaCBjYW4gY29udGFpbiBuZXN0ZWQgZ3JvdXBzIGFuZCBzaW5nbGVzXG5leHBvcnQgaW50ZXJmYWNlIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXAge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBncm91cHM6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXTtcbiAgc2luZ2xlczogQVhQU2V0dGluZ0RlZmluaXRpb25bXTtcbiAgdHlwZTogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cDsgLy8gRGlzY3JpbWluYW50IHByb3BlcnR5XG59XG5cbi8vIFVuaW9uIHR5cGUgdG8gcmVwcmVzZW50IGVpdGhlciBhIHNpbmdsZSBzZXR0aW5nIG9yIGEgZ3JvdXBcbmV4cG9ydCB0eXBlIEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbSA9IEFYUFNldHRpbmdEZWZpbml0aW9uIHwgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcblxuLy8gSW50ZXJmYWNlIGZvciBvcGVyYXRpb25zIHRoYXQgY2FuIGJlIHBlcmZvcm1lZCBvbiBhIHNldHRpbmcgaXRlbVxuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nRGVmaW5pdGlvbkZpbmRlclJlc3VsdCB7XG4gIGluc2VydEdyb3VwKGl0ZW06IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXAsIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicpOiB2b2lkO1xuICBpbnNlcnRTaW5nbGUoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb24sIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicpOiB2b2lkO1xuICBpbnNlcnRTaW5nbGVzKGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbltdLCBwb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInKTogdm9pZDtcbiAgYWRkSXRlbXMoaXRlbXM6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdKTogdm9pZDtcbiAgYWRkQ2hpbGRTaW5nbGVBdChpdGVtOiBBWFBTZXR0aW5nRGVmaW5pdGlvbiwgaW5kZXg6IG51bWJlcik6IHZvaWQ7XG4gIGFkZENoaWxkU2luZ2xlRmlyc3QoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb24pOiB2b2lkO1xuICBhZGRDaGlsZFNpbmdsZUxhc3QoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb24pOiB2b2lkO1xuICBhZGRDaGlsZEdyb3VwQXQoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCwgaW5kZXg6IG51bWJlcik6IHZvaWQ7XG4gIGFkZENoaWxkR3JvdXBGaXJzdChpdGVtOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwKTogdm9pZDtcbiAgYWRkQ2hpbGRHcm91cExhc3QoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCk6IHZvaWQ7XG59XG5cbi8vIEludGVyZmFjZSBmb3IgdGhlIGNvbnRleHQgaW4gd2hpY2ggc2V0dGluZyBwcm92aWRlcnMgb3BlcmF0ZVxuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gIGFkZEl0ZW1zKGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSk6IHZvaWQ7XG4gIGFkZEl0ZW0oaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtKTogdm9pZDtcbiAgYWRkR3JvdXAoZ3JvdXA6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXApOiB2b2lkO1xuICBmaW5kKHRhcmdldDogc3RyaW5nKTogQVhQU2V0dGluZ0RlZmluaXRpb25GaW5kZXJSZXN1bHQ7XG59XG4iXX0=
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from './clipboard-service';
|
|
2
|
-
export * from './router-util.service';
|
|
3
2
|
export * from './data-generator';
|
|
4
3
|
export * from './pdf.service';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLGVBQWUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xpcGJvYXJkLXNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtZ2VuZXJhdG9yJ1xuZXhwb3J0ICogZnJvbSAnLi9wZGYuc2VydmljZSciXX0=
|
|
@@ -14,11 +14,13 @@ export class AXPWorkflowNavigateAction extends AXPWorkflowAction {
|
|
|
14
14
|
}
|
|
15
15
|
async execute(context) {
|
|
16
16
|
const payload = context.getVariable('payload');
|
|
17
|
-
if (Array.isArray(payload.commands))
|
|
17
|
+
if (Array.isArray(payload.commands)) {
|
|
18
18
|
this.router.navigate(payload.commands, payload.extras);
|
|
19
|
+
}
|
|
19
20
|
else {
|
|
20
|
-
if (payload.commands.toLowerCase().startsWith('http'))
|
|
21
|
+
if (payload.commands.toLowerCase().startsWith('http') || payload.target == "blank") {
|
|
21
22
|
window.open(payload.commands, '_blank');
|
|
23
|
+
}
|
|
22
24
|
else
|
|
23
25
|
this.router.navigate([payload.commands], payload.extras);
|
|
24
26
|
}
|
|
@@ -68,4 +70,4 @@ export class AXPToastAction extends AXPWorkflowAction {
|
|
|
68
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPToastAction, decorators: [{
|
|
69
71
|
type: Injectable
|
|
70
72
|
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi93b3JrZmxvd3MvY29tbW9uLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFekMsNENBQTRDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFrQixzQkFBc0IsQ0FBQyxDQUFDO0FBRzdGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxpQkFBaUI7SUFEaEU7O1FBRVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQWFqQztJQVpDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDdkMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ25GLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMxQyxDQUFDOztnQkFDSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7OEdBYlUseUJBQXlCO2tIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7O0FBa0JYLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxpQkFBaUI7SUFEN0Q7O1FBRVUsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FlM0Q7SUFUQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ3ZDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQ25ELE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQ3hELE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQzFELENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBcUIsQ0FDOUUsQ0FBQztRQUNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDOzhHQWhCVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVTs7QUFxQlgsTUFBTSxPQUFPLGNBQWUsU0FBUSxpQkFBaUI7SUFEckQ7O1FBRVUsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FnQjNEO0lBVkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQy9ELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNuRSxXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtZQUNiLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBakJVLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYU3R5bGVDb2xvclR5cGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG4vL1RPRE8gTG9hZGluZywgUmVkaXJlY3QsIERyYXdlciwgU2hvdyB0b2FzdFxuXG5leHBvcnQgY29uc3QgQVhQUmVkaXJlY3RFdmVudCA9IGNyZWF0ZVdvcmtGbG93RXZlbnQ8eyB1cmw6IHN0cmluZyB9PignUmVkaXJlY3QgRXZlbnQgRmlyZWQnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93TmF2aWdhdGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGNvbnRleHQuZ2V0VmFyaWFibGUoJ3BheWxvYWQnKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXlsb2FkLmNvbW1hbmRzKSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocGF5bG9hZC5jb21tYW5kcywgcGF5bG9hZC5leHRyYXMpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChwYXlsb2FkLmNvbW1hbmRzLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnaHR0cCcpIHx8IHBheWxvYWQudGFyZ2V0ID09IFwiYmxhbmtcIikge1xuICAgICAgICB3aW5kb3cub3BlbihwYXlsb2FkLmNvbW1hbmRzLCAnX2JsYW5rJyk7XG4gICAgICB9XG4gICAgICBlbHNlIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYXlsb2FkLmNvbW1hbmRzXSwgcGF5bG9hZC5leHRyYXMpO1xuICAgIH1cbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRGlhbG9nQ29uZmlybUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICB0aXRsZSE6IHN0cmluZztcbiAgbWVzc2FnZSE6IHN0cmluZztcbiAgdHlwZSE6IEFYU3R5bGVDb2xvclR5cGU7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb250ZXh0LnNldE91dHB1dCgncmVzdWx0JywgZmFsc2UpO1xuICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKFxuICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGhpcy50aXRsZSksXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyh0aGlzLm1lc3NhZ2UpLFxuICAgICAgKGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMudHlwZSkpIGFzIEFYU3R5bGVDb2xvclR5cGVcbiAgICApO1xuICAgIGNvbnRleHQuc2V0T3V0cHV0KCdyZXN1bHQnLCBkaWFsb2dSZXN1bHQucmVzdWx0KTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQVG9hc3RBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgdG9hc3RTZXJ2aWNlID0gaW5qZWN0KEFYVG9hc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIGNvbG9yITogQVhTdHlsZUNvbG9yVHlwZTtcbiAgdGl0bGUhOiBzdHJpbmc7XG4gIGNvbnRlbnQhOiBzdHJpbmc7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnRvYXN0U2VydmljZS5zaG93KHtcbiAgICAgIGNvbG9yOiB0aGlzLmNvbG9yLFxuICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMudGl0bGUpLFxuICAgICAgY29udGVudDogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGhpcy5jb250ZW50KSxcbiAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgdGltZU91dDogMzAwMCxcbiAgICAgIHRpbWVPdXRQcm9ncmVzczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -54,8 +54,9 @@ export class AXPLayoutBuilderService {
|
|
|
54
54
|
}
|
|
55
55
|
setValue(path, value, init = false) {
|
|
56
56
|
const oldValue = get(this.context$(), path);
|
|
57
|
-
if (isEqual(oldValue, value))
|
|
57
|
+
if (isEqual(oldValue, value)) {
|
|
58
58
|
return;
|
|
59
|
+
}
|
|
59
60
|
if (!this.debouncers[path]) {
|
|
60
61
|
// Create a new Subject for debouncing if it doesn't exist
|
|
61
62
|
this.debouncers[path] = new Subject();
|
|
@@ -101,4 +102,4 @@ export class AXPLayoutBuilderService {
|
|
|
101
102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutBuilderService, decorators: [{
|
|
102
103
|
type: Injectable
|
|
103
104
|
}] });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlci9zcmMvbGliL2J1aWxkZXIvYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszRCxNQUFNLE9BQWdCLGdCQUFnQjtJQUdwQyxHQUFHO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0Y7QUFHRCxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRW1CLGFBQVEsR0FBRyxNQUFNLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLE1BQU0sQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsTUFBTSxDQUE4QixFQUFFLENBQUMsQ0FBQztRQUV0RCxjQUFTLEdBQW1DLElBQUksT0FBTyxFQUF5QixDQUFDO1FBQ2pGLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV2RCxlQUFVLEdBQTRFLEVBQUUsQ0FBQztRQUN6RiwyQkFBc0IsR0FBb0MsRUFBRSxDQUFDO1FBRTdELFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztRQUUvQyxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztLQTRGN0M7SUExRkMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFD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dGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmUsIGdldCwgaXNFcXVhbCwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBMYXlvdXRDb250ZXh0RXZlbnQgfSBmcm9tICcuL3dpZGdldC50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEFYUExheW91dEVsZW1lbnRBUEkgPSB7IFtuYW1lOiBzdHJpbmddOiBTdWJqZWN0PGFueT4gfCBGdW5jdGlvbiB9O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQTGF5b3V0RWxlbWVudCB7XG4gIGFic3RyYWN0IGdldCBpZCgpOiBzdHJpbmcgfCBudWxsO1xuXG4gIGFwaSgpOiBBWFBMYXlvdXRFbGVtZW50QVBJIHtcbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0JCA9IHNpZ25hbDxhbnk+KHt9KTtcbiAgcHJpdmF0ZSByZWFkb25seSB2YXJpYWJsZXMkID0gc2lnbmFsPGFueT4oe30pO1xuICBwcml2YXRlIHJlYWRvbmx5IGZ1bmN0aW9ucyQgPSBzaWduYWw8eyBba2V5OiBzdHJpbmddOiBGdW5jdGlvbiB9Pih7fSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9uQ2hhbmdlZDogU3ViamVjdDxBWFBMYXlvdXRDb250ZXh0RXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQTGF5b3V0Q29udGV4dEV2ZW50PigpO1xuICBwdWJsaWMgcmVhZG9ubHkgb25SZWZyZXNoOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIGRlYm91bmNlcnM6IHsgW2tleTogc3RyaW5nXTogU3ViamVjdDx7IHBhdGg6IHN0cmluZzsgdmFsdWU6IGFueTsgaW5pdDogYm9vbGVhbiB9PiB9ID0ge307XG4gIHByaXZhdGUgZGVib3VuY2VyU3Vic2NyaXB0aW9uczogeyBba2V5OiBzdHJpbmddOiBTdWJzY3JpcHRpb24gfSA9IHt9O1xuXG4gIHByaXZhdGUgd2lkZ2V0cyA9IG5ldyBNYXA8c3RyaW5nLCBBWFBMYXlvdXRFbGVtZW50PigpO1xuXG4gIHB1YmxpYyBjb250ZXh0ID0gdGhpcy5jb250ZXh0JC5hc1JlYWRvbmx5KCk7XG5cbiAgZ2V0IHZhcmlhYmxlcygpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZXMkKCk7XG4gIH1cblxuICBnZXQgZnVuY3Rpb25zKCk6IHsgW2tleTogc3RyaW5nXTogRnVuY3Rpb24gfSB7XG4gICAgcmV0dXJuIHRoaXMuZnVuY3Rpb25zJCgpO1xuICB9XG5cbiAgaW5pdGlhbCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5jb250ZXh0JC5zZXQodmFsdWUpO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMub25SZWZyZXNoLm5leHQoKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHNldFZhcmlhYmxlcyhrZXlzVmFsdWVzOiBhbnkpOiB2b2lkO1xuICBzZXRWYXJpYWJsZXMoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xuICBzZXRWYXJpYWJsZXMoLi4uYXJnczogYW55W10pOiB2b2lkIHtcbiAgICBpZiAoYXJncy5sZW5ndGggPT0gMCkgcmV0dXJuO1xuICAgIGVsc2UgaWYgKGFyZ3MubGVuZ3RoID09IDEpIHRoaXMudmFyaWFibGVzJC5zZXQoYXJnc1swXSk7XG4gICAgZWxzZSBpZiAoYXJncy5sZW5ndGggPT0gMikge1xuICAgICAgdGhpcy52YXJpYWJsZXMkLnVwZGF0ZSgodikgPT4gc2V0KHYsIGFyZ3NbMF0sIGFyZ3NbMV0pKTtcbiAgICB9XG4gIH1cblxuICBzZXRGdW5jdGlvbnMoa2V5c1ZhbHVlczogYW55KTogdm9pZDtcbiAgc2V0RnVuY3Rpb25zKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgc2V0RnVuY3Rpb25zKC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgaWYgKGFyZ3MubGVuZ3RoID09IDApIHJldHVybjtcbiAgICBlbHNlIGlmIChhcmdzLmxlbmd0aCA9PSAxKSB0aGlzLmZ1bmN0aW9ucyQuc2V0KGFyZ3NbMF0pO1xuICAgIGVsc2UgaWYgKGFyZ3MubGVuZ3RoID09IDIpIHtcbiAgICAgIHRoaXMuZnVuY3Rpb25zJC51cGRhdGUoKHYpID0+IHNldCh2LCBhcmdzWzBdLCBhcmdzWzFdKSk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmFsdWUocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55LCBpbml0OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IGdldCh0aGlzLmNvbnRleHQkKCksIHBhdGgpO1xuICAgIGlmIChpc0VxdWFsKG9sZFZhbHVlLCB2YWx1ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmRlYm91bmNlcnNbcGF0aF0pIHtcbiAgICAgIC8vIENyZWF0ZSBhIG5ldyBTdWJqZWN0IGZvciBkZWJvdW5jaW5nIGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICAgIHRoaXMuZGVib3VuY2Vyc1twYXRoXSA9IG5ldyBTdWJqZWN0PHsgcGF0aDogc3RyaW5nOyB2YWx1ZTogYW55OyBpbml0OiBib29sZWFuIH0+KCk7XG5cbiAgICAgIC8vIFN1YnNjcmliZSB0byB0aGUgc3ViamVjdCB3aXRoIGRlYm91bmNlVGltZVxuICAgICAgdGhpcy5kZWJvdW5jZXJTdWJzY3JpcHRpb25zW3BhdGhdID0gdGhpcy5kZWJvdW5jZXJzW3BhdGhdLnBpcGUoZGVib3VuY2VUaW1lKDE1MCkpLnN1YnNjcmliZSgoeyB2YWx1ZSwgaW5pdCB9KSA9PiB7XG4gICAgICAgIC8vIE9ubHkgZW1pdCBvbkNoYW5nZWQgZXZlbnQgYWZ0ZXIgZGVib3VuY2UgdGltZVxuICAgICAgICB0aGlzLm9uQ2hhbmdlZC5uZXh0KHtcbiAgICAgICAgICBvbGRWYWx1ZTogb2xkVmFsdWUsXG4gICAgICAgICAgbmV3VmFsdWU6IHZhbHVlLFxuICAgICAgICAgIGRhdGE6IHRoaXMuY29udGV4dCgpLFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgaW5pdCxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgY29udGV4dCBpbW1lZGlhdGVseVxuICAgIHRoaXMuY29udGV4dCQudXBkYXRlKChjdHgpID0+IHNldChjbG9uZShjdHgpLCBwYXRoLCB2YWx1ZSkpO1xuICAgIC8vIEVtaXQgdmFsdWUgdGhyb3VnaCB0aGUgZGVib3VuY2VyIHN1YmplY3RcbiAgICB0aGlzLmRlYm91bmNlcnNbcGF0aF0ubmV4dCh7IHBhdGgsIHZhbHVlLCBpbml0IH0pO1xuICB9XG5cbiAgZ2V0VmFsdWUocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGdldCh0aGlzLmNvbnRleHQoKSwgcGF0aCk7XG4gIH1cblxuICByZWdpc3RlcldpZGdldChpZDogc3RyaW5nLCB3aWRnZXQ6IEFYUExheW91dEVsZW1lbnQpIHtcbiAgICB0aGlzLndpZGdldHMuc2V0KGlkLCB3aWRnZXQpO1xuICB9XG5cbiAgZ2V0V2lkZ2V0KGlkOiBzdHJpbmcpOiBBWFBMYXlvdXRFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy53aWRnZXRzLmdldChpZCk7XG4gIH1cblxuICBwcml2YXRlIHVuc3Vic2NyaWJlRGVib3VuY2VycygpIHtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmRlYm91bmNlclN1YnNjcmlwdGlvbnMpLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VyU3Vic2NyaXB0aW9uc1twYXRoXS51bnN1YnNjcmliZSgpO1xuICAgICAgZGVsZXRlIHRoaXMuZGVib3VuY2VyU3Vic2NyaXB0aW9uc1twYXRoXTsgLy8gQ2xlYW4gdXAgdGhlIHJlZmVyZW5jZVxuICAgICAgZGVsZXRlIHRoaXMuZGVib3VuY2Vyc1twYXRoXTsgLy8gQWxzbyBjbGVhbiB1cCB0aGUgZGVib3VuY2VyIHN1YmplY3RcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmVEZWJvdW5jZXJzKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -32,6 +32,7 @@ const AXPWidgetsCatalog = {
|
|
|
32
32
|
gridRow: 'grid-row-layout',
|
|
33
33
|
widgetSelector: 'widget-selector',
|
|
34
34
|
template: 'template',
|
|
35
|
+
templateDesigner: 'template-designer',
|
|
35
36
|
};
|
|
36
37
|
export { AXPWidgetsCatalog };
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNhdGFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9idWlsZGVyL3NyYy9saWIvYnVpbGRlci93aWRnZXQtY2F0YWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGlCQUFpQixHQUFzQjtJQUMzQyxRQUFRLEVBQUUsaUJBQWlCO0lBQzNCLEtBQUssRUFBRSxjQUFjO0lBQ3JCLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsUUFBUSxFQUFFLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsY0FBYztJQUNyQixTQUFTLEVBQUUsbUJBQW1CO0lBQzlCLElBQUksRUFBRSxhQUFhO0lBQ25CLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsS0FBSyxFQUFFLGNBQWM7SUFDckIsUUFBUSxFQUFFLGtCQUFrQjtJQUM1QixNQUFNLEVBQUUsZUFBZTtJQUN2QixhQUFhLEVBQUUsdUJBQXVCO0lBQ3RDLElBQUksRUFBRSxhQUFhO0lBQ25CLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsZUFBZSxFQUFFLG1CQUFtQjtJQUNwQyxJQUFJLEVBQUUsTUFBTTtJQUNaLEdBQUcsRUFBRSxLQUFLO0lBQ1YsT0FBTyxFQUFFLFNBQVM7SUFDbEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsWUFBWSxFQUFFLGVBQWU7SUFDN0IsUUFBUSxFQUFFLGlCQUFpQjtJQUMzQixNQUFNLEVBQUUsZUFBZTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixNQUFNLEVBQUUsUUFBUTtJQUNoQixJQUFJLEVBQUUsYUFBYTtJQUNuQixRQUFRLEVBQUUsa0JBQWtCO0lBQzVCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsY0FBYyxFQUFFLGlCQUFpQjtJQUNqQyxRQUFRLEVBQUUsVUFBVTtJQUNwQixnQkFBZ0IsRUFBRSxtQkFBbUI7Q0FDdEMsQ0FBQztBQUVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQV2lkZ2V0VHlwZXNNYXAgfSBmcm9tICcuL3dpZGdldC50eXBlcyc7XG5cbmNvbnN0IEFYUFdpZGdldHNDYXRhbG9nOiBBWFBXaWRnZXRUeXBlc01hcCA9IHtcbiAgY2hlY2tib3g6ICdjaGVja2JveC1lZGl0b3InLFxuICBjb2xvcjogJ2NvbG9yLWVkaXRvcicsXG4gIGNvbnRhY3Q6ICdjb250YWN0LWVkaXRvcicsXG4gIGRhdGVUaW1lOiAnZGF0ZS10aW1lLWVkaXRvcicsXG4gIGVtYWlsOiAnZW1haWwtZWRpdG9yJyxcbiAgbGFyZ2VUZXh0OiAnbGFyZ2UtdGV4dC1lZGl0b3InLFxuICBsaW5rOiAnbGluay1lZGl0b3InLFxuICBudW1iZXI6ICdudW1iZXItZWRpdG9yJyxcbiAgcGFzc3dvcmQ6ICdwYXNzd29yZC1lZGl0b3InLFxuICBwaG9uZTogJ3Bob25lLWVkaXRvcicsXG4gIHJpY2hUZXh0OiAncmljaC10ZXh0LWVkaXRvcicsXG4gIHNlbGVjdDogJ3NlbGVjdC1lZGl0b3InLFxuICBzZWxlY3Rpb25MaXN0OiAnc2VsZWN0aW9uLWxpc3QtZWRpdG9yJyxcbiAgdGV4dDogJ3RleHQtZWRpdG9yJyxcbiAgdG9nZ2xlOiAndG9nZ2xlLWVkaXRvcicsXG4gIGJsb2NrTGF5b3V0OiAnYmxvY2stbGF5b3V0JyxcbiAgcGFnZUxheW91dDogJ3BhZ2UtbGF5b3V0JyxcbiAgcmVwZWF0ZXJMYXlvdXQ6ICdyZXBlYXRlci1sYXlvdXQnLFxuICB0ZXh0QmxvY2tMYXlvdXQ6ICd0ZXh0LWJsb2NrLWxheW91dCcsXG4gIGZpbGU6ICdmaWxlJyxcbiAgbWFwOiAnbWFwJyxcbiAgZ2FsbGVyeTogJ2dhbGxlcnknLFxuICBzaWduYXR1cmU6ICdzaWduYXR1cmUnLFxuICBidXR0b25BY3Rpb246ICdidXR0b24tYWN0aW9uJyxcbiAgZG9jdW1lbnQ6ICdkb2N1bWVudC1sYXlvdXQnLFxuICBsb29rdXA6ICdsb29rdXAtZWRpdG9yJyxcbiAgZm9ybUZpZWxkOiAnZm9ybS1maWVsZCcsXG4gIHFyY29kZTogJ3FyY29kZScsXG4gIGdyaWQ6ICdncmlkLWxheW91dCcsXG4gIGdyaWRJdGVtOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gIGdyaWRSb3c6ICdncmlkLXJvdy1sYXlvdXQnLFxuICB3aWRnZXRTZWxlY3RvcjogJ3dpZGdldC1zZWxlY3RvcicsXG4gIHRlbXBsYXRlOiAndGVtcGxhdGUnLFxuICB0ZW1wbGF0ZURlc2lnbmVyOiAndGVtcGxhdGUtZGVzaWduZXInLFxufTtcblxuZXhwb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfTtcbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AXUnsubscriber } from '@acorex/core/utils';
|
|
2
2
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
-
import { ChangeDetectionStrategy, Component, Injector, Input, inject, signal } from '@angular/core';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, Injector, Input, inject, signal, } from '@angular/core';
|
|
4
4
|
import { cloneDeep, get, merge, set, sum } from 'lodash-es';
|
|
5
5
|
import { filter } from 'rxjs';
|
|
6
6
|
import { AXPLayoutBuilderService } from './builder.service';
|
|
7
7
|
import { AXPWidgetRegistryService } from './widget-registery.service';
|
|
8
|
-
import { AXP_WIDGET_TOKEN } from './widget.types';
|
|
8
|
+
import { AXP_WIDGET_TOKEN, } from './widget.types';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@angular/common";
|
|
11
11
|
import * as i2 from "@angular/cdk/portal";
|
|
@@ -49,7 +49,7 @@ export class AXPWidgetRendererComponent {
|
|
|
49
49
|
const widget = this.widgetRegistery.resolve(this.node.type);
|
|
50
50
|
//
|
|
51
51
|
const props = widget?.components[this.mode]?.properties
|
|
52
|
-
?.filter((c) => c.schema.defaultValue)
|
|
52
|
+
?.filter((c) => c.schema.defaultValue != null)
|
|
53
53
|
.map((c) => ({ [c.name]: c.schema.defaultValue }))
|
|
54
54
|
.reduce((acc, curr) => {
|
|
55
55
|
return { ...acc, ...curr };
|
|
@@ -109,7 +109,9 @@ export class AXPWidgetRendererComponent {
|
|
|
109
109
|
// Cache dynamic expression for later evaluation
|
|
110
110
|
this.expressionEvaluators.set(currentPath, () => this.evaluateExpression(value));
|
|
111
111
|
}
|
|
112
|
-
else if (typeof value === 'object' &&
|
|
112
|
+
else if (typeof value === 'object' &&
|
|
113
|
+
value !== null &&
|
|
114
|
+
(value.constructor === Object || Array.isArray(value))) {
|
|
113
115
|
// Recursively handle nested objects
|
|
114
116
|
this.preprocessAndInitialOptions(value, currentPath);
|
|
115
117
|
}
|
|
@@ -315,4 +317,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
315
317
|
}], index: [{
|
|
316
318
|
type: Input
|
|
317
319
|
}] } });
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXIvc3JjL2xpYi9idWlsZGVyL3dpZGdldC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBOEIsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBZ0IsUUFBUSxFQUFFLEtBQUssRUFBa0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1RCxPQUFPLEVBQWMsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBOEUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFxQjlILE1BQU0sT0FBTywwQkFBMEI7SUFFckMsSUFDVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLElBQUksQ0FBQyxDQUFnQjtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBR0QsSUFDVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLElBQUks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QU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV0QyxzREFBc0Q7WUFDdEQsTUFBTSxLQUFLLEdBQVEsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsVUFBVSxJQUFJLENBQUMsQ0FBQztZQUN6RSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDOzhHQTVSVSwwQkFBMEI7a0dBQTFCLDBCQUEwQixnSUFOMUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsY0FBYzthQUN4QjtTQUNGLDBCQWZTOzs7Ozs7Ozs7R0FTVDs7MkZBUVUsMEJBQTBCO2tCQW5CdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7OztHQVNUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGNBQWM7eUJBQ3hCO3FCQUNGO2lCQUNGO3dEQUlZLElBQUk7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBV2QsSUFBSTtzQkFEZCxLQUFLO2dCQVNOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZiwgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIEluamVjdG9yLCBJbnB1dCwgV3JpdGFibGVTaWduYWwsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGdldCwgbWVyZ2UsIHNldCwgc3VtIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL2J1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL3dpZGdldC1yZWdpc3Rlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRDb21wb25lbnQsIEFYUFdpZGdldE5vZGUsIEFYUFdpZGdldE5vZGVUb2tlbiwgQVhQV2lkZ2V0UmVuZGVyTW9kZSwgQVhQX1dJREdFVF9UT0tFTiB9IGZyb20gJy4vd2lkZ2V0LnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLXdpZGdldC1yZW5kZXJlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmKG1lcmdlZE9wdGlvbnMoKS5pc1Zpc2libGUhPWZhbHNlKSB7IEBpZihpc0xvYWRpbmcoKSl7XG4gICAgPGF4LXNrZWxldG9uIFthbmltYXRlZF09XCJ0cnVlXCIgY2xhc3M9XCJheC13LWZ1bGwgIGxnOmF4LXctWzUwJV0gYXgtaC04IGF4LXJvdW5kZWRcIj48L2F4LXNrZWxldG9uPlxuICAgIH0gQGVsc2Uge1xuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0dFwiPjwvbmctY29udGFpbmVyPlxuICAgIH0gfVxuICAgIDxuZy10ZW1wbGF0ZSAjdHQ+XG4gICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJwb3J0YWxcIiAoYXR0YWNoZWQpPVwiaGFuZGxlQXR0YWNoZWQoJGV2ZW50KVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYVW5zdWJzY3JpYmVyLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdpZGdldFJlbmRlcmVyQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBfbm9kZTogQVhQV2lkZ2V0Tm9kZTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcHVibGljIGdldCBub2RlKCk6IEFYUFdpZGdldE5vZGUge1xuICAgIHJldHVybiB0aGlzLl9ub2RlO1xuICB9XG4gIHB1YmxpYyBzZXQgbm9kZSh2OiBBWFBXaWRnZXROb2RlKSB7XG4gICAgdGhpcy5fbm9kZSA9IHY7XG4gICAgdGhpcy5sb2FkQ29tcG9uZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9tb2RlOiBBWFBXaWRnZXRSZW5kZXJNb2RlID0gJ2VkaXQnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IG1vZGUoKTogQVhQV2lkZ2V0UmVuZGVyTW9kZSB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGU7XG4gIH1cbiAgcHVibGljIHNldCBtb2RlKHY6IEFYUFdpZGdldFJlbmRlck1vZGUpIHtcbiAgICB0aGlzLl9tb2RlID0gdjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHBhcmVudE5vZGU6IEFYUFdpZGdldENvbXBvbmVudCB8IG51bGw7XG5cbiAgQElucHV0KClcbiAgaW5kZXg6IG51bWJlciB8IG51bGw7XG5cbiAgcHJvdGVjdGVkIG1lcmdlZE9wdGlvbnM6IFdyaXRhYmxlU2lnbmFsPGFueT4gPSBzaWduYWw8YW55Pih7fSk7XG5cbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByb3RlY3RlZCBidWlsZGVyU2VydmljZSA9IGluamVjdChBWFBMYXlvdXRCdWlsZGVyU2VydmljZSk7XG4gIHByb3RlY3RlZCB3aWRnZXRSZWdpc3RlcnkgPSBpbmplY3QoQVhQV2lkZ2V0UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHVuc3Vic2NyaWJlciA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG5cbiAgcHJvdGVjdGVkIGlzTG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcHJpdmF0ZSBpbnN0YW5jZSE6IEFYUFdpZGdldENvbXBvbmVudDtcbiAgcHJvdGVjdGVkIHBvcnRhbCE6IENvbXBvbmVudFBvcnRhbDxhbnk+O1xuICBwcml2YXRlIGV4cHJlc3Npb25DYWNoZTogTWFwPHN0cmluZywgKCkgPT4gUHJvbWlzZTxhbnk+PiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBleHByZXNzaW9uRXZhbHVhdG9yczogTWFwPHN0cmluZywgKCkgPT4gUHJvbWlzZTxhbnk+PiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBzY29wZTogYW55ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmJ1aWxkZXJTZXJ2aWNlLm9uQ2hhbmdlZC5waXBlKHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZShhc3luYyAoZSkgPT4ge1xuICAgICAgaWYgKChhd2FpdCB0aGlzLnVwZGF0ZU9wdGlvbnNCYXNlZE9uQ29udGV4dCgpKSA+IDApIHtcbiAgICAgICAgdGhpcy5hcHBseU9wdGlvbnMoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNoZWNrRm9ybXVsYUZvclVwZGF0ZSh0aGlzLm5vZGUuZm9ybXVsYSwgZS5wYXRoKSkge1xuICAgICAgICBhd2FpdCB0aGlzLnVwZGF0ZVZhbHVlQmFzZWRPbkZvcm11bGEoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZENvbXBvbmVudCgpIHtcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgY29uc3Qgd2lkZ2V0ID0gdGhpcy53aWRnZXRSZWdpc3RlcnkucmVzb2x2ZSh0aGlzLm5vZGUudHlwZSk7XG4gICAgLy9cbiAgICBjb25zdCBwcm9wcyA9IHdpZGdldD8uY29tcG9uZW50c1t0aGlzLm1vZGVdPy5wcm9wZXJ0aWVzXG4gICAgICA/LmZpbHRlcigoYykgPT4gYy5zY2hlbWEuZGVmYXVsdFZhbHVlKVxuICAgICAgLm1hcCgoYykgPT4gKHsgW2MubmFtZV06IGMuc2NoZW1hLmRlZmF1bHRWYWx1ZSB9KSlcbiAgICAgIC5yZWR1Y2UoKGFjYywgY3VycikgPT4ge1xuICAgICAgICByZXR1cm4geyAuLi5hY2MsIC4uLmN1cnIgfTtcbiAgICAgIH0sIHt9KTtcbiAgICAvL1xuICAgIHRoaXMubWVyZ2VkT3B0aW9ucy5zZXQobWVyZ2UocHJvcHMsIHRoaXMubm9kZS5vcHRpb25zKSB8fCB7fSk7XG4gICAgdGhpcy5wcmVwcm9jZXNzQW5kSW5pdGlhbE9wdGlvbnMoY2xvbmVEZWVwKHRoaXMubm9kZS5vcHRpb25zKSk7XG4gICAgYXdhaXQgdGhpcy51cGRhdGVPcHRpb25zQmFzZWRPbkNvbnRleHQoKTtcbiAgICBjb25zdCB0b2tlblZhbHVlID0ge1xuICAgICAgbm9kZTogdGhpcy5ub2RlLFxuICAgICAgb3B0aW9uczogdGhpcy5tZXJnZWRPcHRpb25zKCksXG4gICAgICBjb25maWc6IHdpZGdldCxcbiAgICB9IGFzIEFYUFdpZGdldE5vZGVUb2tlbjtcbiAgICBjb25zdCB0b2tlbiA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFYUF9XSURHRVRfVE9LRU4sXG4gICAgICAgICAgdXNlVmFsdWU6IHRva2VuVmFsdWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICAgIHZhciBjb20gPSBhd2FpdCB3aWRnZXQ/LmNvbXBvbmVudHNbdGhpcy5tb2RlXT8uY29tcG9uZW50KCk7XG4gICAgdGhpcy5wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbSwgbnVsbCwgdG9rZW4pO1xuICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlQXR0YWNoZWQocG9ydGFsT3V0bGV0UmVmOiBDZGtQb3J0YWxPdXRsZXRBdHRhY2hlZFJlZikge1xuICAgIHBvcnRhbE91dGxldFJlZiA9IHBvcnRhbE91dGxldFJlZiBhcyBDb21wb25lbnRSZWY8QVhQV2lkZ2V0Q29tcG9uZW50PjtcbiAgICB0aGlzLmluc3RhbmNlID0gcG9ydGFsT3V0bGV0UmVmLmluc3RhbmNlIGFzIEFYUFdpZGdldENvbXBvbmVudDtcbiAgICB0aGlzLmluc3RhbmNlLnBhcmVudCA9IHRoaXMucGFyZW50Tm9kZTtcbiAgICB0aGlzLmluc3RhbmNlLmluZGV4ID0gdGhpcy5pbmRleDtcbiAgICB0aGlzLmluc3RhbmNlLm1vZGUgPSB0aGlzLm1vZGU7XG4gICAgYXdhaXQgdGhpcy51cGRhdGVWYWx1ZUJhc2VkT25Gb3JtdWxhKCk7XG4gICAgYXdhaXQgdGhpcy5hc3NpZ25UcmlnZ2VycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseU9wdGlvbnMoKSB7XG4gICAgaWYgKCF0aGlzLmluc3RhbmNlKSByZXR1cm47XG4gICAgdGhpcy5pbnN0YW5jZS5zZXRPcHRpb25zKHRoaXMubWVyZ2VkT3B0aW9ucygpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tGb3JtdWxhRm9yVXBkYXRlKGZvcm11bGE6IHN0cmluZyB8IHVuZGVmaW5lZCwgcGF0aD86IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoZm9ybXVsYSkge1xuICAgICAgY29uc3QgcmVnZXggPSAvY29udGV4dFxcLmV2YWxcXCgnKFteJ10rKSdcXCkvZztcbiAgICAgIGNvbnN0IG1hdGNoZXMgPSBmb3JtdWxhLm1hdGNoKHJlZ2V4KTtcbiAgICAgIGNvbnN0IG5vZGVzID0gbWF0Y2hlcyA/IG1hdGNoZXMubWFwKChtYXRjaDogYW55KSA9PiBtYXRjaC5tYXRjaCgvJyhbXiddKyknLylbMV0pIDogW107XG4gICAgICByZXR1cm4gbm9kZXMuaW5jbHVkZXMocGF0aCk7XG4gICAgfSBlbHNlIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByZXByb2Nlc3NBbmRJbml0aWFsT3B0aW9ucyhvYmo6IGFueSwgcGF0aFByZWZpeDogc3RyaW5nID0gJycpOiB2b2lkIHtcbiAgICBpZiAoIW9iaikgcmV0dXJuO1xuICAgIE9iamVjdC5lbnRyaWVzKG9iaikuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50UGF0aCA9IHBhdGhQcmVmaXggPyBgJHtwYXRoUHJlZml4fS4ke2tleX1gIDoga2V5O1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUuaW5jbHVkZXMoJ3t7JykpIHtcbiAgICAgICAgLy8gQ2FjaGUgZHluYW1pYyBleHByZXNzaW9uIGZvciBsYXRlciBldmFsdWF0aW9uXG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbkV2YWx1YXRvcnMuc2V0KGN1cnJlbnRQYXRoLCAoKSA9PiB0aGlzLmV2YWx1YXRlRXhwcmVzc2lvbih2YWx1ZSkpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsICYmICh2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0IHx8IEFycmF5LmlzQXJyYXkodmFsdWUpKSkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBoYW5kbGUgbmVzdGVkIG9iamVjdHNcbiAgICAgICAgdGhpcy5wcmVwcm9jZXNzQW5kSW5pdGlhbE9wdGlvbnModmFsdWUsIGN1cnJlbnRQYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFwcGx5IHN0YXRpYyB2YWx1ZXMgZGlyZWN0bHlcbiAgICAgICAgdGhpcy5tZXJnZWRPcHRpb25zLnVwZGF0ZSgoY3VycmVudE9wdGlvbnMpID0+IHtcbiAgICAgICAgICByZXR1cm4gc2V0KGN1cnJlbnRPcHRpb25zLCBjdXJyZW50UGF0aCwgdmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZU9wdGlvbnNCYXNlZE9uQ29udGV4dCgpIHtcbiAgICBjb25zdCB1cGRhdGVzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAobGV0IFtwYXRoLCBldmFsdWF0b3JdIG9mIHRoaXMuZXhwcmVzc2lvbkV2YWx1YXRvcnMpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXdhaXQgZXZhbHVhdG9yKCk7XG4gICAgICB1cGRhdGVzLnB1c2goeyBwYXRoLCBuZXdWYWx1ZSB9KTtcbiAgICB9XG4gICAgLy8gQXBwbHkgdXBkYXRlcyB0byBtZXJnZWRPcHRpb25zXG4gICAgaWYgKHVwZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5tZXJnZWRPcHRpb25zLnVwZGF0ZSgobykgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVkT3B0aW9ucyA9IHsgLi4ubyB9O1xuICAgICAgICB1cGRhdGVzLmZvckVhY2goKHsgcGF0aCwgbmV3VmFsdWUgfSkgPT4ge1xuICAgICAgICAgIC8vIFNldCB0aGUgbmV3IHZhbHVlIGluIHRoZSB1cGRhdGVkT3B0aW9ucyBvYmplY3QgYnkgcGF0aFxuICAgICAgICAgIHNldCh1cGRhdGVkT3B0aW9ucywgcGF0aCwgbmV3VmFsdWUpOyAvLyBBc3N1bWluZyAnc2V0JyBjYW4gaGFuZGxlIHBhdGhzIGxpa2UgJ3Byb3BlcnR5LnN1YnByb3BlcnR5J1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRPcHRpb25zO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB1cGRhdGVzLmxlbmd0aDtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVZhbHVlQmFzZWRPbkZvcm11bGEoKSB7XG4gICAgaWYgKHRoaXMubm9kZS5mb3JtdWxhKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IHRoaXMuZXZhbHVhdGVFeHByZXNzaW9uKHRoaXMubm9kZS5mb3JtdWxhKTtcbiAgICAgIHRoaXMuaW5zdGFuY2Uuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXZhbHVhdGVFeHByZXNzaW9uKHRlbXBsYXRlRXhwcmVzc2lvbjogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0cnkge1xuICAgICAgLy8gQ2hlY2sgY2FjaGUgZmlyc3QsIGJ1dCBjYWNoZSB0aGUgZnVuY3Rpb24gZm9yIGV2YWx1YXRpb24sIG5vdCB0aGUgZXZhbHVhdGVkIHZhbHVlXG4gICAgICBpZiAoIXRoaXMuZXhwcmVzc2lvbkNhY2hlLmhhcyh0ZW1wbGF0ZUV4cHJlc3Npb24pKSB7XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb25NYXRjaCA9IHRlbXBsYXRlRXhwcmVzc2lvbi5tYXRjaCgvXFx7XFx7XFxzKiguKj8pXFxzKlxcfVxcfS8pO1xuICAgICAgICBpZiAoIWV4cHJlc3Npb25NYXRjaCkge1xuICAgICAgICAgIHRocm93IEVycm9yKGBObyB2YWxpZCBleHByZXNzaW9uIGZvdW5kIGluIFwiJHt0ZW1wbGF0ZUV4cHJlc3Npb259XCJgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBleHByZXNzaW9uID0gZXhwcmVzc2lvbk1hdGNoWzFdO1xuXG4gICAgICAgIC8vIENhY2hlIHRoZSBldmFsdWF0aW9uIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIHJlc3VsdFxuICAgICAgICBjb25zdCBzY29wZSA9IHRoaXMuZ2V0R2xvYmFsU2NvcGUoKTtcbiAgICAgICAgY29uc3QgZXZhbHVhdGlvbkZ1bmN0aW9uID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNhbmRib3ggPSBuZXcgRnVuY3Rpb24oJ3Njb3BlJywgYHdpdGggKHNjb3BlKSB7IHJldHVybiAoYXN5bmMgZnVuY3Rpb24oKSB7IHJldHVybiAke2V4cHJlc3Npb259OyB9KSgpOyB9YCk7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IHNhbmRib3goc2NvcGUpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbkNhY2hlLnNldCh0ZW1wbGF0ZUV4cHJlc3Npb24sIGV2YWx1YXRpb25GdW5jdGlvbik7XG4gICAgICB9XG5cbiAgICAgIC8vIFJldHJpZXZlIHRoZSBmdW5jdGlvbiBmcm9tIHRoZSBjYWNoZSBhbmQgY2FsbCBpdCB0byBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvblxuICAgICAgY29uc3QgZXZhbHVhdGUgPSB0aGlzLmV4cHJlc3Npb25DYWNoZS5nZXQodGVtcGxhdGVFeHByZXNzaW9uKTtcbiAgICAgIGlmIChldmFsdWF0ZSkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBldmFsdWF0ZSgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBldmFsdWF0aW9uIGZ1bmN0aW9uIGZvciBleHByZXNzaW9uOiBcIiR7dGVtcGxhdGVFeHByZXNzaW9ufVwiYCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV2YWx1YXRpbmcgZXhwcmVzc2lvbjonLCBlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRHbG9iYWxTY29wZSgpIHtcbiAgICBpZiAodGhpcy5zY29wZSkgcmV0dXJuIHRoaXMuc2NvcGU7XG4gICAgdGhpcy5zY29wZSA9IHt9O1xuICAgIHNldCh0aGlzLnNjb3BlLCAnY29udGV4dCcsIHRoaXMuZ2V0Q29udGV4dFNjb3BlKCkpO1xuICAgIHNldCh0aGlzLnNjb3BlLCAnZXZlbnRzJywgdGhpcy5nZXRFdmVudFNjb3BlKCkpO1xuICAgIHNldCh0aGlzLnNjb3BlLCAnd2lkZ2V0JywgdGhpcy5nZXRXaWRnZXRTY29wZSgpKTtcbiAgICBzZXQodGhpcy5zY29wZSwgJ21ldGhvZHMnLCB0aGlzLmdldEZ1bmN0aW9uU2NvcGUoKSk7XG4gICAgc2V0KHRoaXMuc2NvcGUsICd2YXJzJywgdGhpcy5nZXRWYXJpYWJsZXNTY29wZSgpKTtcbiAgICByZXR1cm4gdGhpcy5zY29wZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udGV4dFNjb3BlKCk6IGFueSB7XG4gICAgY29uc3Qgc2NvcGU6IGFueSA9IHt9O1xuICAgIHNldChzY29wZSwgJ2V2YWwnLCAocGF0aDogc3RyaW5nKSA9PiB0aGlzLmJ1aWxkZXJTZXJ2aWNlLmdldFZhbHVlKHBhdGgpKTtcbiAgICByZXR1cm4gc2NvcGU7XG4gIH1cblxuICBwcml2YXRlIGdldEV2ZW50U2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgc2V0KHNjb3BlLCAnY29udGV4dCcsIChwYXRoOiBzdHJpbmcpID0+IHRoaXMuYnVpbGRlclNlcnZpY2Uub25DaGFuZ2VkLnBpcGUoZmlsdGVyKChjKSA9PiBjLnBhdGggPT0gcGF0aCkpKTtcbiAgICBzZXQoc2NvcGUsICdmcm9tJywgKGV2ZW50OiBzdHJpbmcpID0+IGdldCh0aGlzLmluc3RhbmNlLmFwaSgpLCBldmVudCkpO1xuICAgIHJldHVybiBzY29wZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V2lkZ2V0U2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgc2V0KHNjb3BlLCAnY2FsbCcsIChuYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICB0aGlzLmluc3RhbmNlLmNhbGwobmFtZSwgLi4uYXJncyk7XG4gICAgfSk7XG4gICAgc2V0KHNjb3BlLCAnZmluZCcsIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5idWlsZGVyU2VydmljZS5nZXRXaWRnZXQoaWQpPy5hcGkoKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc2NvcGU7XG4gIH1cblxuICBwcml2YXRlIGdldEZ1bmN0aW9uU2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgc2V0KHNjb3BlLCAnc3VtJywgKHZhbHVlczogYW55KSA9PiB7XG4gICAgICByZXR1cm4gc3VtKHZhbHVlcyk7XG4gICAgfSk7XG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5idWlsZGVyU2VydmljZS5mdW5jdGlvbnMpLmZvckVhY2goKGkpID0+IHtcbiAgICAgIHNldChzY29wZSwgaVswXSwgKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgIHJldHVybiBpWzFdKC4uLmFyZ3MpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHNjb3BlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXJpYWJsZXNTY29wZSgpOiBhbnkge1xuICAgIGNvbnN0IHNjb3BlOiBhbnkgPSB7fTtcbiAgICBzZXQoc2NvcGUsICdldmFsJywgKHBhdGg6IHN0cmluZykgPT4gZ2V0KHRoaXMuYnVpbGRlclNlcnZpY2UudmFyaWFibGVzLCBwYXRoKSk7XG4gICAgcmV0dXJuIHNjb3BlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhc3NpZ25UcmlnZ2VycygpIHtcbiAgICB0aGlzLm5vZGUudHJpZ2dlcnM/LmZvckVhY2goKHQpID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50ID0gdGhpcy5ldmFsdWF0ZVRyaWdnZXIodC5ldmVudCk7XG4gICAgICBldmVudD8ucGlwZSh0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgdGhpcy5ldmFsdWF0ZUFjdGlvbih0LmFjdGlvbik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVUcmlnZ2VyKHRlbXBsYXRlRXhwcmVzc2lvbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHwgbnVsbCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV4cHJlc3Npb25NYXRjaCA9IHRlbXBsYXRlRXhwcmVzc2lvbi5tYXRjaCgvXFx7XFx7XFxzKiguKj8pXFxzKlxcfVxcfS8pO1xuICAgICAgaWYgKCFleHByZXNzaW9uTWF0Y2gpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYE5vIHZhbGlkIGV4cHJlc3Npb24gZm91bmQgaW4gXCIke3RlbXBsYXRlRXhwcmVzc2lvbn1cImApO1xuICAgICAgfVxuICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb25NYXRjaFsxXTtcblxuICAgICAgLy8gQ2FjaGUgdGhlIGV2YWx1YXRpb24gZnVuY3Rpb24gaW5zdGVhZCBvZiB0aGUgcmVzdWx0XG4gICAgICBjb25zdCBzY29wZSA9IHRoaXMuZ2V0R2xvYmFsU2NvcGUoKTtcbiAgICAgIGNvbnN0IHNhbmRib3ggPSBuZXcgRnVuY3Rpb24oJ3Njb3BlJywgYHdpdGggKHNjb3BlKSB7IHJldHVybiAoICBmdW5jdGlvbigpIHsgcmV0dXJuICR7ZXhwcmVzc2lvbn07IH0pKCk7IH1gKTtcbiAgICAgIHJldHVybiBzYW5kYm94KHNjb3BlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXZhbHVhdGluZyBleHByZXNzaW9uOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVBY3Rpb24odGVtcGxhdGVFeHByZXNzaW9uOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZXhwcmVzc2lvbk1hdGNoID0gdGVtcGxhdGVFeHByZXNzaW9uLm1hdGNoKC9cXHtcXHtcXHMqKC4qPylcXHMqXFx9XFx9Lyk7XG4gICAgICBpZiAoIWV4cHJlc3Npb25NYXRjaCkge1xuICAgICAgICB0aHJvdyBFcnJvcihgTm8gdmFsaWQgZXhwcmVzc2lvbiBmb3VuZCBpbiBcIiR7dGVtcGxhdGVFeHByZXNzaW9ufVwiYCk7XG4gICAgICB9XG4gICAgICBjb25zdCBleHByZXNzaW9uID0gZXhwcmVzc2lvbk1hdGNoWzFdO1xuXG4gICAgICAvLyBDYWNoZSB0aGUgZXZhbHVhdGlvbiBmdW5jdGlvbiBpbnN0ZWFkIG9mIHRoZSByZXN1bHRcbiAgICAgIGNvbnN0IHNjb3BlOiBhbnkgPSB0aGlzLmdldEdsb2JhbFNjb3BlKCk7XG4gICAgICBjb25zdCBzYW5kYm94ID0gbmV3IEZ1bmN0aW9uKCdzY29wZScsIGB3aXRoIChzY29wZSkgeyAgJHtleHByZXNzaW9ufSB9YCk7XG4gICAgICBzYW5kYm94KHNjb3BlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXZhbHVhdGluZyBleHByZXNzaW9uOicsIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
320
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXIvc3JjL2xpYi9idWlsZGVyL3dpZGdldC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBOEIsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVELE9BQU8sRUFBYyxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUtMLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDOzs7OztBQXFCeEIsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxJQUNXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLENBQWdCO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxJQUNXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxD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LENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEMsc0RBQXNEO1lBQ3RELE1BQU0sS0FBSyxHQUFRLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLFVBQVUsSUFBSSxDQUFDLENBQUM7WUFDekUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQzs4R0FuU1UsMEJBQTBCO2tHQUExQiwwQkFBMEIsZ0lBTjFCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGNBQWM7YUFDeEI7U0FDRiwwQkFmUzs7Ozs7Ozs7O0dBU1Q7OzJGQVFVLDBCQUEwQjtrQkFuQnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7R0FTVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxjQUFjO3lCQUN4QjtxQkFDRjtpQkFDRjt3REFJWSxJQUFJO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVdkLElBQUk7c0JBRGQsS0FBSztnQkFTTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYsIENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIFdyaXRhYmxlU2lnbmFsLFxuICBpbmplY3QsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGdldCwgbWVyZ2UsIHNldCwgc3VtIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL2J1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL3dpZGdldC1yZWdpc3Rlcnkuc2VydmljZSc7XG5pbXBvcnQge1xuICBBWFBXaWRnZXRDb21wb25lbnQsXG4gIEFYUFdpZGdldE5vZGUsXG4gIEFYUFdpZGdldE5vZGVUb2tlbixcbiAgQVhQV2lkZ2V0UmVuZGVyTW9kZSxcbiAgQVhQX1dJREdFVF9UT0tFTixcbn0gZnJvbSAnLi93aWRnZXQudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtd2lkZ2V0LXJlbmRlcmVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYobWVyZ2VkT3B0aW9ucygpLmlzVmlzaWJsZSE9ZmFsc2UpIHsgQGlmKGlzTG9hZGluZygpKXtcbiAgICA8YXgtc2tlbGV0b24gW2FuaW1hdGVkXT1cInRydWVcIiBjbGFzcz1cImF4LXctZnVsbCAgbGc6YXgtdy1bNTAlXSBheC1oLTggYXgtcm91bmRlZFwiPjwvYXgtc2tlbGV0b24+XG4gICAgfSBAZWxzZSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInR0XCI+PC9uZy1jb250YWluZXI+XG4gICAgfSB9XG4gICAgPG5nLXRlbXBsYXRlICN0dD5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInBvcnRhbFwiIChhdHRhY2hlZCk9XCJoYW5kbGVBdHRhY2hlZCgkZXZlbnQpXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhVbnN1YnNjcmliZXIsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV2lkZ2V0UmVuZGVyZXJDb21wb25lbnQge1xuICBwcml2YXRlIF9ub2RlOiBBWFBXaWRnZXROb2RlO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgZ2V0IG5vZGUoKTogQVhQV2lkZ2V0Tm9kZSB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGU7XG4gIH1cbiAgcHVibGljIHNldCBub2RlKHY6IEFYUFdpZGdldE5vZGUpIHtcbiAgICB0aGlzLl9ub2RlID0gdjtcbiAgICB0aGlzLmxvYWRDb21wb25lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX21vZGU6IEFYUFdpZGdldFJlbmRlck1vZGUgPSAnZWRpdCc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgbW9kZSgpOiBBWFBXaWRnZXRSZW5kZXJNb2RlIHtcbiAgICByZXR1cm4gdGhpcy5fbW9kZTtcbiAgfVxuICBwdWJsaWMgc2V0IG1vZGUodjogQVhQV2lkZ2V0UmVuZGVyTW9kZSkge1xuICAgIHRoaXMuX21vZGUgPSB2O1xuICB9XG5cbiAgQElucHV0KClcbiAgcGFyZW50Tm9kZTogQVhQV2lkZ2V0Q29tcG9uZW50IHwgbnVsbDtcblxuICBASW5wdXQoKVxuICBpbmRleDogbnVtYmVyIHwgbnVsbDtcblxuICBwcm90ZWN0ZWQgbWVyZ2VkT3B0aW9uczogV3JpdGFibGVTaWduYWw8YW55PiA9IHNpZ25hbDxhbnk+KHt9KTtcblxuICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJvdGVjdGVkIGJ1aWxkZXJTZXJ2aWNlID0gaW5qZWN0KEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHdpZGdldFJlZ2lzdGVyeSA9IGluamVjdChBWFBXaWRnZXRSZWdpc3RyeVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgdW5zdWJzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcblxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gc2lnbmFsKHRydWUpO1xuICBwcml2YXRlIGluc3RhbmNlITogQVhQV2lkZ2V0Q29tcG9uZW50O1xuICBwcm90ZWN0ZWQgcG9ydGFsITogQ29tcG9uZW50UG9ydGFsPGFueT47XG4gIHByaXZhdGUgZXhwcmVzc2lvbkNhY2hlOiBNYXA8c3RyaW5nLCAoKSA9PiBQcm9taXNlPGFueT4+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGV4cHJlc3Npb25FdmFsdWF0b3JzOiBNYXA8c3RyaW5nLCAoKSA9PiBQcm9taXNlPGFueT4+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIHNjb3BlOiBhbnkgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYnVpbGRlclNlcnZpY2Uub25DaGFuZ2VkLnBpcGUodGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKGFzeW5jIChlKSA9PiB7XG4gICAgICBpZiAoKGF3YWl0IHRoaXMudXBkYXRlT3B0aW9uc0Jhc2VkT25Db250ZXh0KCkpID4gMCkge1xuICAgICAgICB0aGlzLmFwcGx5T3B0aW9ucygpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY2hlY2tGb3JtdWxhRm9yVXBkYXRlKHRoaXMubm9kZS5mb3JtdWxhLCBlLnBhdGgpKSB7XG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlVmFsdWVCYXNlZE9uRm9ybXVsYSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkQ29tcG9uZW50KCkge1xuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcbiAgICBjb25zdCB3aWRnZXQgPSB0aGlzLndpZGdldFJlZ2lzdGVyeS5yZXNvbHZlKHRoaXMubm9kZS50eXBlKTtcbiAgICAvL1xuICAgIGNvbnN0IHByb3BzID0gd2lkZ2V0Py5jb21wb25lbnRzW3RoaXMubW9kZV0/LnByb3BlcnRpZXNcbiAgICAgID8uZmlsdGVyKChjKSA9PiBjLnNjaGVtYS5kZWZhdWx0VmFsdWUgIT0gbnVsbClcbiAgICAgIC5tYXAoKGMpID0+ICh7IFtjLm5hbWVdOiBjLnNjaGVtYS5kZWZhdWx0VmFsdWUgfSkpXG4gICAgICAucmVkdWNlKChhY2MsIGN1cnIpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCAuLi5jdXJyIH07XG4gICAgICB9LCB7fSk7XG4gICAgLy9cbiAgICB0aGlzLm1lcmdlZE9wdGlvbnMuc2V0KG1lcmdlKHByb3BzLCB0aGlzLm5vZGUub3B0aW9ucykgfHwge30pO1xuICAgIHRoaXMucHJlcHJvY2Vzc0FuZEluaXRpYWxPcHRpb25zKGNsb25lRGVlcCh0aGlzLm5vZGUub3B0aW9ucykpO1xuICAgIGF3YWl0IHRoaXMudXBkYXRlT3B0aW9uc0Jhc2VkT25Db250ZXh0KCk7XG4gICAgY29uc3QgdG9rZW5WYWx1ZSA9IHtcbiAgICAgIG5vZGU6IHRoaXMubm9kZSxcbiAgICAgIG9wdGlvbnM6IHRoaXMubWVyZ2VkT3B0aW9ucygpLFxuICAgICAgY29uZmlnOiB3aWRnZXQsXG4gICAgfSBhcyBBWFBXaWRnZXROb2RlVG9rZW47XG4gICAgY29uc3QgdG9rZW4gPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBWFBfV0lER0VUX1RPS0VOLFxuICAgICAgICAgIHVzZVZhbHVlOiB0b2tlblZhbHVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgICB2YXIgY29tID0gYXdhaXQgd2lkZ2V0Py5jb21wb25lbnRzW3RoaXMubW9kZV0/LmNvbXBvbmVudCgpO1xuICAgIHRoaXMucG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb20sIG51bGwsIHRva2VuKTtcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUF0dGFjaGVkKHBvcnRhbE91dGxldFJlZjogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpIHtcbiAgICBwb3J0YWxPdXRsZXRSZWYgPSBwb3J0YWxPdXRsZXRSZWYgYXMgQ29tcG9uZW50UmVmPEFYUFdpZGdldENvbXBvbmVudD47XG4gICAgdGhpcy5pbnN0YW5jZSA9IHBvcnRhbE91dGxldFJlZi5pbnN0YW5jZSBhcyBBWFBXaWRnZXRDb21wb25lbnQ7XG4gICAgdGhpcy5pbnN0YW5jZS5wYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7XG4gICAgdGhpcy5pbnN0YW5jZS5pbmRleCA9IHRoaXMuaW5kZXg7XG4gICAgdGhpcy5pbnN0YW5jZS5tb2RlID0gdGhpcy5tb2RlO1xuICAgIGF3YWl0IHRoaXMudXBkYXRlVmFsdWVCYXNlZE9uRm9ybXVsYSgpO1xuICAgIGF3YWl0IHRoaXMuYXNzaWduVHJpZ2dlcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5pbnN0YW5jZSkgcmV0dXJuO1xuICAgIHRoaXMuaW5zdGFuY2Uuc2V0T3B0aW9ucyh0aGlzLm1lcmdlZE9wdGlvbnMoKSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRm9ybXVsYUZvclVwZGF0ZShmb3JtdWxhOiBzdHJpbmcgfCB1bmRlZmluZWQsIHBhdGg/OiBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKGZvcm11bGEpIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gL2NvbnRleHRcXC5ldmFsXFwoJyhbXiddKyknXFwpL2c7XG4gICAgICBjb25zdCBtYXRjaGVzID0gZm9ybXVsYS5tYXRjaChyZWdleCk7XG4gICAgICBjb25zdCBub2RlcyA9IG1hdGNoZXMgPyBtYXRjaGVzLm1hcCgobWF0Y2g6IGFueSkgPT4gbWF0Y2gubWF0Y2goLycoW14nXSspJy8pWzFdKSA6IFtdO1xuICAgICAgcmV0dXJuIG5vZGVzLmluY2x1ZGVzKHBhdGgpO1xuICAgIH0gZWxzZSByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcmVwcm9jZXNzQW5kSW5pdGlhbE9wdGlvbnMob2JqOiBhbnksIHBhdGhQcmVmaXg6IHN0cmluZyA9ICcnKTogdm9pZCB7XG4gICAgaWYgKCFvYmopIHJldHVybjtcbiAgICBPYmplY3QuZW50cmllcyhvYmopLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgY3VycmVudFBhdGggPSBwYXRoUHJlZml4ID8gYCR7cGF0aFByZWZpeH0uJHtrZXl9YCA6IGtleTtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmluY2x1ZGVzKCd7eycpKSB7XG4gICAgICAgIC8vIENhY2hlIGR5bmFtaWMgZXhwcmVzc2lvbiBmb3IgbGF0ZXIgZXZhbHVhdGlvblxuICAgICAgICB0aGlzLmV4cHJlc3Npb25FdmFsdWF0b3JzLnNldChjdXJyZW50UGF0aCwgKCkgPT4gdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24odmFsdWUpKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgKHZhbHVlLmNvbnN0cnVjdG9yID09PSBPYmplY3QgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICApIHtcbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgaGFuZGxlIG5lc3RlZCBvYmplY3RzXG4gICAgICAgIHRoaXMucHJlcHJvY2Vzc0FuZEluaXRpYWxPcHRpb25zKHZhbHVlLCBjdXJyZW50UGF0aCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBBcHBseSBzdGF0aWMgdmFsdWVzIGRpcmVjdGx5XG4gICAgICAgIHRoaXMubWVyZ2VkT3B0aW9ucy51cGRhdGUoKGN1cnJlbnRPcHRpb25zKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHNldChjdXJyZW50T3B0aW9ucywgY3VycmVudFBhdGgsIHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVPcHRpb25zQmFzZWRPbkNvbnRleHQoKSB7XG4gICAgY29uc3QgdXBkYXRlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGxldCBbcGF0aCwgZXZhbHVhdG9yXSBvZiB0aGlzLmV4cHJlc3Npb25FdmFsdWF0b3JzKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGF3YWl0IGV2YWx1YXRvcigpO1xuICAgICAgdXBkYXRlcy5wdXNoKHsgcGF0aCwgbmV3VmFsdWUgfSk7XG4gICAgfVxuICAgIC8vIEFwcGx5IHVwZGF0ZXMgdG8gbWVyZ2VkT3B0aW9uc1xuICAgIGlmICh1cGRhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubWVyZ2VkT3B0aW9ucy51cGRhdGUoKG8pID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZE9wdGlvbnMgPSB7IC4uLm8gfTtcbiAgICAgICAgdXBkYXRlcy5mb3JFYWNoKCh7IHBhdGgsIG5ld1ZhbHVlIH0pID0+IHtcbiAgICAgICAgICAvLyBTZXQgdGhlIG5ldyB2YWx1ZSBpbiB0aGUgdXBkYXRlZE9wdGlvbnMgb2JqZWN0IGJ5IHBhdGhcbiAgICAgICAgICBzZXQodXBkYXRlZE9wdGlvbnMsIHBhdGgsIG5ld1ZhbHVlKTsgLy8gQXNzdW1pbmcgJ3NldCcgY2FuIGhhbmRsZSBwYXRocyBsaWtlICdwcm9wZXJ0eS5zdWJwcm9wZXJ0eSdcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB1cGRhdGVkT3B0aW9ucztcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdXBkYXRlcy5sZW5ndGg7XG4gIH1cblxuICBhc3luYyB1cGRhdGVWYWx1ZUJhc2VkT25Gb3JtdWxhKCkge1xuICAgIGlmICh0aGlzLm5vZGUuZm9ybXVsYSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBhd2FpdCB0aGlzLmV2YWx1YXRlRXhwcmVzc2lvbih0aGlzLm5vZGUuZm9ybXVsYSk7XG4gICAgICB0aGlzLmluc3RhbmNlLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlRXhwcmVzc2lvbih0ZW1wbGF0ZUV4cHJlc3Npb246IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIENoZWNrIGNhY2hlIGZpcnN0LCBidXQgY2FjaGUgdGhlIGZ1bmN0aW9uIGZvciBldmFsdWF0aW9uLCBub3QgdGhlIGV2YWx1YXRlZCB2YWx1ZVxuICAgICAgaWYgKCF0aGlzLmV4cHJlc3Npb25DYWNoZS5oYXModGVtcGxhdGVFeHByZXNzaW9uKSkge1xuICAgICAgICBjb25zdCBleHByZXNzaW9uTWF0Y2ggPSB0ZW1wbGF0ZUV4cHJlc3Npb24ubWF0Y2goL1xce1xce1xccyooLio/KVxccypcXH1cXH0vKTtcbiAgICAgICAgaWYgKCFleHByZXNzaW9uTWF0Y2gpIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcihgTm8gdmFsaWQgZXhwcmVzc2lvbiBmb3VuZCBpbiBcIiR7dGVtcGxhdGVFeHByZXNzaW9ufVwiYCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb25NYXRjaFsxXTtcblxuICAgICAgICAvLyBDYWNoZSB0aGUgZXZhbHVhdGlvbiBmdW5jdGlvbiBpbnN0ZWFkIG9mIHRoZSByZXN1bHRcbiAgICAgICAgY29uc3Qgc2NvcGUgPSB0aGlzLmdldEdsb2JhbFNjb3BlKCk7XG4gICAgICAgIGNvbnN0IGV2YWx1YXRpb25GdW5jdGlvbiA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICBjb25zdCBzYW5kYm94ID0gbmV3IEZ1bmN0aW9uKFxuICAgICAgICAgICAgJ3Njb3BlJyxcbiAgICAgICAgICAgIGB3aXRoIChzY29wZSkgeyByZXR1cm4gKGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4gJHtleHByZXNzaW9ufTsgfSkoKTsgfWBcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiBhd2FpdCBzYW5kYm94KHNjb3BlKTtcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmV4cHJlc3Npb25DYWNoZS5zZXQodGVtcGxhdGVFeHByZXNzaW9uLCBldmFsdWF0aW9uRnVuY3Rpb24pO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXRyaWV2ZSB0aGUgZnVuY3Rpb24gZnJvbSB0aGUgY2FjaGUgYW5kIGNhbGwgaXQgdG8gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb25cbiAgICAgIGNvbnN0IGV2YWx1YXRlID0gdGhpcy5leHByZXNzaW9uQ2FjaGUuZ2V0KHRlbXBsYXRlRXhwcmVzc2lvbik7XG4gICAgICBpZiAoZXZhbHVhdGUpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZXZhbHVhdGUoKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IEVycm9yKGBGYWlsZWQgdG8gcmV0cmlldmUgZXZhbHVhdGlvbiBmdW5jdGlvbiBmb3IgZXhwcmVzc2lvbjogXCIke3RlbXBsYXRlRXhwcmVzc2lvbn1cImApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBldmFsdWF0aW5nIGV4cHJlc3Npb246JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0R2xvYmFsU2NvcGUoKSB7XG4gICAgaWYgKHRoaXMuc2NvcGUpIHJldHVybiB0aGlzLnNjb3BlO1xuICAgIHRoaXMuc2NvcGUgPSB7fTtcbiAgICBzZXQodGhpcy5zY29wZSwgJ2NvbnRleHQnLCB0aGlzLmdldENvbnRleHRTY29wZSgpKTtcbiAgICBzZXQodGhpcy5zY29wZSwgJ2V2ZW50cycsIHRoaXMuZ2V0RXZlbnRTY29wZSgpKTtcbiAgICBzZXQodGhpcy5zY29wZSwgJ3dpZGdldCcsIHRoaXMuZ2V0V2lkZ2V0U2NvcGUoKSk7XG4gICAgc2V0KHRoaXMuc2NvcGUsICdtZXRob2RzJywgdGhpcy5nZXRGdW5jdGlvblNjb3BlKCkpO1xuICAgIHNldCh0aGlzLnNjb3BlLCAndmFycycsIHRoaXMuZ2V0VmFyaWFibGVzU2NvcGUoKSk7XG4gICAgcmV0dXJuIHRoaXMuc2NvcGU7XG4gIH1cblxuICBwcml2YXRlIGdldENvbnRleHRTY29wZSgpOiBhbnkge1xuICAgIGNvbnN0IHNjb3BlOiBhbnkgPSB7fTtcbiAgICBzZXQoc2NvcGUsICdldmFsJywgKHBhdGg6IHN0cmluZykgPT4gdGhpcy5idWlsZGVyU2VydmljZS5nZXRWYWx1ZShwYXRoKSk7XG4gICAgcmV0dXJuIHNjb3BlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFdmVudFNjb3BlKCk6IGFueSB7XG4gICAgY29uc3Qgc2NvcGU6IGFueSA9IHt9O1xuICAgIHNldChzY29wZSwgJ2NvbnRleHQnLCAocGF0aDogc3RyaW5nKSA9PiB0aGlzLmJ1aWxkZXJTZXJ2aWNlLm9uQ2hhbmdlZC5waXBlKGZpbHRlcigoYykgPT4gYy5wYXRoID09IHBhdGgpKSk7XG4gICAgc2V0KHNjb3BlLCAnZnJvbScsIChldmVudDogc3RyaW5nKSA9PiBnZXQodGhpcy5pbnN0YW5jZS5hcGkoKSwgZXZlbnQpKTtcbiAgICByZXR1cm4gc2NvcGU7XG4gIH1cblxuICBwcml2YXRlIGdldFdpZGdldFNjb3BlKCk6IGFueSB7XG4gICAgY29uc3Qgc2NvcGU6IGFueSA9IHt9O1xuICAgIHNldChzY29wZSwgJ2NhbGwnLCAobmFtZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgdGhpcy5pbnN0YW5jZS5jYWxsKG5hbWUsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICAgIHNldChzY29wZSwgJ2ZpbmQnLCAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuYnVpbGRlclNlcnZpY2UuZ2V0V2lkZ2V0KGlkKT8uYXBpKCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHNjb3BlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGdW5jdGlvblNjb3BlKCk6IGFueSB7XG4gICAgY29uc3Qgc2NvcGU6IGFueSA9IHt9O1xuICAgIHNldChzY29wZSwgJ3N1bScsICh2YWx1ZXM6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHN1bSh2YWx1ZXMpO1xuICAgIH0pO1xuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuYnVpbGRlclNlcnZpY2UuZnVuY3Rpb25zKS5mb3JFYWNoKChpKSA9PiB7XG4gICAgICBzZXQoc2NvcGUsIGlbMF0sICguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICByZXR1cm4gaVsxXSguLi5hcmdzKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBzY29wZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFyaWFibGVzU2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgc2V0KHNjb3BlLCAnZXZhbCcsIChwYXRoOiBzdHJpbmcpID0+IGdldCh0aGlzLmJ1aWxkZXJTZXJ2aWNlLnZhcmlhYmxlcywgcGF0aCkpO1xuICAgIHJldHVybiBzY29wZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYXNzaWduVHJpZ2dlcnMoKSB7XG4gICAgdGhpcy5ub2RlLnRyaWdnZXJzPy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICBjb25zdCBldmVudCA9IHRoaXMuZXZhbHVhdGVUcmlnZ2VyKHQuZXZlbnQpO1xuICAgICAgZXZlbnQ/LnBpcGUodGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgIHRoaXMuZXZhbHVhdGVBY3Rpb24odC5hY3Rpb24pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGV2YWx1YXRlVHJpZ2dlcih0ZW1wbGF0ZUV4cHJlc3Npb246IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB8IG51bGwge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uTWF0Y2ggPSB0ZW1wbGF0ZUV4cHJlc3Npb24ubWF0Y2goL1xce1xce1xccyooLio/KVxccypcXH1cXH0vKTtcbiAgICAgIGlmICghZXhwcmVzc2lvbk1hdGNoKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBObyB2YWxpZCBleHByZXNzaW9uIGZvdW5kIGluIFwiJHt0ZW1wbGF0ZUV4cHJlc3Npb259XCJgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBleHByZXNzaW9uTWF0Y2hbMV07XG5cbiAgICAgIC8vIENhY2hlIHRoZSBldmFsdWF0aW9uIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIHJlc3VsdFxuICAgICAgY29uc3Qgc2NvcGUgPSB0aGlzLmdldEdsb2JhbFNjb3BlKCk7XG4gICAgICBjb25zdCBzYW5kYm94ID0gbmV3IEZ1bmN0aW9uKCdzY29wZScsIGB3aXRoIChzY29wZSkgeyByZXR1cm4gKCAgZnVuY3Rpb24oKSB7IHJldHVybiAke2V4cHJlc3Npb259OyB9KSgpOyB9YCk7XG4gICAgICByZXR1cm4gc2FuZGJveChzY29wZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV2YWx1YXRpbmcgZXhwcmVzc2lvbjonLCBlcnJvcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGV2YWx1YXRlQWN0aW9uKHRlbXBsYXRlRXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV4cHJlc3Npb25NYXRjaCA9IHRlbXBsYXRlRXhwcmVzc2lvbi5tYXRjaCgvXFx7XFx7XFxzKiguKj8pXFxzKlxcfVxcfS8pO1xuICAgICAgaWYgKCFleHByZXNzaW9uTWF0Y2gpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYE5vIHZhbGlkIGV4cHJlc3Npb24gZm91bmQgaW4gXCIke3RlbXBsYXRlRXhwcmVzc2lvbn1cImApO1xuICAgICAgfVxuICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb25NYXRjaFsxXTtcblxuICAgICAgLy8gQ2FjaGUgdGhlIGV2YWx1YXRpb24gZnVuY3Rpb24gaW5zdGVhZCBvZiB0aGUgcmVzdWx0XG4gICAgICBjb25zdCBzY29wZTogYW55ID0gdGhpcy5nZXRHbG9iYWxTY29wZSgpO1xuICAgICAgY29uc3Qgc2FuZGJveCA9IG5ldyBGdW5jdGlvbignc2NvcGUnLCBgd2l0aCAoc2NvcGUpIHsgICR7ZXhwcmVzc2lvbn0gfWApO1xuICAgICAgc2FuZGJveChzY29wZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV2YWx1YXRpbmcgZXhwcmVzc2lvbjonLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
|