@acorex/platform 18.1.6 → 18.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/index.d.ts +3 -3
- package/esm2022/common/index.mjs +4 -4
- package/esm2022/common/lib/data/dexie-storage.service.mjs +5 -3
- package/esm2022/layout/builder/lib/builder/builder.service.mjs +19 -23
- package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +1 -8
- package/esm2022/layout/builder/lib/builder/widget-renderer.component.directive.mjs +38 -22
- package/esm2022/layout/builder/lib/builder/widget.types.mjs +2 -2
- 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-single-view/entity-master-single-view.component.mjs +7 -6
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +6 -6
- package/esm2022/themes/shared/index.mjs +1 -5
- package/esm2022/themes/shared/lib/components/theme-slot.component.mjs +13 -11
- package/esm2022/widgets/lib/properties/editors.props.mjs +2 -2
- package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-view.component.mjs +26 -5
- package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +11 -3
- package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.mjs +19 -8
- package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.mjs +10 -2
- package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +8 -15
- package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +3 -2
- package/esm2022/widgets/lib/widgets/editors/select/select-box-widget.config.mjs +3 -2
- package/esm2022/widgets/lib/widgets/layout/template/template-widget-view.component.mjs +7 -21
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs → acorex-platform-common-avatar-widget-edit.component-D4k52w2k.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs.map → acorex-platform-common-avatar-widget-edit.component-D4k52w2k.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs → acorex-platform-common-avatar-widget-view.component-Bbg1imZG.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs.map → acorex-platform-common-avatar-widget-view.component-Bbg1imZG.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DY4oTjC-.mjs → acorex-platform-common-boolean-widget-filter.component-CRFI7vNR.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-DY4oTjC-.mjs.map → acorex-platform-common-boolean-widget-filter.component-CRFI7vNR.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-NSXcrUwU.mjs → acorex-platform-common-checkbox-widget-column.component-BCUcZiP_.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-NSXcrUwU.mjs.map → acorex-platform-common-checkbox-widget-column.component-BCUcZiP_.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-BU7qV5Cm.mjs → acorex-platform-common-checkbox-widget-edit.component-GgWLpxV0.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-BU7qV5Cm.mjs.map → acorex-platform-common-checkbox-widget-edit.component-GgWLpxV0.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-2Du2IzDS.mjs → acorex-platform-common-checkbox-widget-view.component-KuRnDGoQ.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-2Du2IzDS.mjs.map → acorex-platform-common-checkbox-widget-view.component-KuRnDGoQ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-Dd7fgwu3.mjs → acorex-platform-common-dateTime-widget-column.component-DaXNK6e2.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-Dd7fgwu3.mjs.map → acorex-platform-common-dateTime-widget-column.component-DaXNK6e2.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-B4AelVJp.mjs → acorex-platform-common-dateTime-widget-edit.component-XOReyHZ-.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-B4AelVJp.mjs.map → acorex-platform-common-dateTime-widget-edit.component-XOReyHZ-.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Ytm-TwOP.mjs → acorex-platform-common-dateTime-widget-filter.component-3PJx2C6G.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Ytm-TwOP.mjs.map → acorex-platform-common-dateTime-widget-filter.component-3PJx2C6G.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BKdqOPkb.mjs → acorex-platform-common-dateTime-widget-view.component-BWTedYCf.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-BKdqOPkb.mjs.map → acorex-platform-common-dateTime-widget-view.component-BWTedYCf.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-column.component-CDKqwlPD.mjs → acorex-platform-common-email-widget-column.component-MySWR3RG.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-email-widget-column.component-CDKqwlPD.mjs.map → acorex-platform-common-email-widget-column.component-MySWR3RG.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-edit.component-BT2rJjaW.mjs → acorex-platform-common-email-widget-edit.component-DzqW3Ay6.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-email-widget-edit.component-BT2rJjaW.mjs.map → acorex-platform-common-email-widget-edit.component-DzqW3Ay6.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-email-widget-view.component-DbhRWpB1.mjs → acorex-platform-common-email-widget-view.component-ikN6SIj0.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-email-widget-view.component-DbhRWpB1.mjs.map → acorex-platform-common-email-widget-view.component-ikN6SIj0.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-column.component-8U76QgEQ.mjs → acorex-platform-common-file-widget-column.component-GtbElxmS.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-file-widget-column.component-8U76QgEQ.mjs.map → acorex-platform-common-file-widget-column.component-GtbElxmS.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-OFmiYz_5.mjs → acorex-platform-common-file-widget-edit.component-CPSsJviw.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-OFmiYz_5.mjs.map → acorex-platform-common-file-widget-edit.component-CPSsJviw.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-filter.component-ZLnpXMXK.mjs → acorex-platform-common-file-widget-filter.component-D-_WnxlE.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-file-widget-filter.component-ZLnpXMXK.mjs.map → acorex-platform-common-file-widget-filter.component-D-_WnxlE.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-view.component-BcrM4XrO.mjs → acorex-platform-common-file-widget-view.component-BU8iWCVR.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-file-widget-view.component-BcrM4XrO.mjs.map → acorex-platform-common-file-widget-view.component-BU8iWCVR.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-pBBjrjDP.mjs → acorex-platform-common-gallery-widget-edit.component-DMu9OW45.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-pBBjrjDP.mjs.map → acorex-platform-common-gallery-widget-edit.component-DMu9OW45.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Cp7t9ovC.mjs → acorex-platform-common-gallery-widget-filter.component-BNYgn0eK.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Cp7t9ovC.mjs.map → acorex-platform-common-gallery-widget-filter.component-BNYgn0eK.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CPS-h3cq.mjs → acorex-platform-common-gallery-widget-view.component-D52gjNcJ.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CPS-h3cq.mjs.map → acorex-platform-common-gallery-widget-view.component-D52gjNcJ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DA6r3rVA.mjs → acorex-platform-common-largetext-widget-edit.component-B7Hq-1ny.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DA6r3rVA.mjs.map → acorex-platform-common-largetext-widget-edit.component-B7Hq-1ny.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cxv1yZvE.mjs → acorex-platform-common-lookup-widget-column.component-2ccF27nN.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cxv1yZvE.mjs.map → acorex-platform-common-lookup-widget-column.component-2ccF27nN.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CUtGoAGX.mjs → acorex-platform-common-lookup-widget-edit.component-Cn3yALld.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CUtGoAGX.mjs.map → acorex-platform-common-lookup-widget-edit.component-Cn3yALld.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-DJZqB3vj.mjs → acorex-platform-common-lookup-widget-filter.component-NY-w7EgD.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-DJZqB3vj.mjs.map → acorex-platform-common-lookup-widget-filter.component-NY-w7EgD.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-lookup-widget-view.component-CghJK1C4.mjs → acorex-platform-common-lookup-widget-view.component-DjbS0xsx.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-lookup-widget-view.component-CghJK1C4.mjs.map → acorex-platform-common-lookup-widget-view.component-DjbS0xsx.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-map-widget-edit.component-oSb3kVMc.mjs → acorex-platform-common-map-widget-edit.component-CHyEencO.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-map-widget-edit.component-oSb3kVMc.mjs.map → acorex-platform-common-map-widget-edit.component-CHyEencO.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-map-widget-view.component-BrYwr914.mjs → acorex-platform-common-map-widget-view.component-BMK6QTKt.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-map-widget-view.component-BrYwr914.mjs.map → acorex-platform-common-map-widget-view.component-BMK6QTKt.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DIJAffxy.mjs → acorex-platform-common-messenger-widget-column.component-iVdgR19k.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DIJAffxy.mjs.map → acorex-platform-common-messenger-widget-column.component-iVdgR19k.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-DpGvbM4a.mjs → acorex-platform-common-messenger-widget-edit.component-BicSI2_5.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-DpGvbM4a.mjs.map → acorex-platform-common-messenger-widget-edit.component-BicSI2_5.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-CeuDEI-j.mjs → acorex-platform-common-messenger-widget-view.component-DlSSOqrz.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-CeuDEI-j.mjs.map → acorex-platform-common-messenger-widget-view.component-DlSSOqrz.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-number-widget-edit.component-B1YGwr60.mjs → acorex-platform-common-number-widget-edit.component-DlLjt4OQ.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-number-widget-edit.component-B1YGwr60.mjs.map → acorex-platform-common-number-widget-edit.component-DlLjt4OQ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-number-widget-filter.component-BmmgPy1w.mjs → acorex-platform-common-number-widget-filter.component-DPZQomNX.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-number-widget-filter.component-BmmgPy1w.mjs.map → acorex-platform-common-number-widget-filter.component-DPZQomNX.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-number-widget-view.component-bqylVHOz.mjs → acorex-platform-common-number-widget-view.component-BW1ftaLk.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-number-widget-view.component-bqylVHOz.mjs.map → acorex-platform-common-number-widget-view.component-BW1ftaLk.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-password-widget-column.component-DVdZh7s4.mjs → acorex-platform-common-password-widget-column.component-BZEavb7p.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-password-widget-column.component-DVdZh7s4.mjs.map → acorex-platform-common-password-widget-column.component-BZEavb7p.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-password-widget-edit.component-OjHwMT5d.mjs → acorex-platform-common-password-widget-edit.component-De5r-L4i.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-password-widget-edit.component-OjHwMT5d.mjs.map → acorex-platform-common-password-widget-edit.component-De5r-L4i.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-password-widget-view.component-BeSk1OgU.mjs → acorex-platform-common-password-widget-view.component-Dw4xxdOT.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-password-widget-view.component-BeSk1OgU.mjs.map → acorex-platform-common-password-widget-view.component-Dw4xxdOT.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-DOfzGKBi.mjs → acorex-platform-common-phone-widget-column.component-BTbtfPty.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-DOfzGKBi.mjs.map → acorex-platform-common-phone-widget-column.component-BTbtfPty.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BJ-iEyLP.mjs → acorex-platform-common-phone-widget-edit.component-Ay4y8j_t.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-phone-widget-edit.component-BJ-iEyLP.mjs.map → acorex-platform-common-phone-widget-edit.component-Ay4y8j_t.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-DW4AHCE6.mjs → acorex-platform-common-phone-widget-view.component-D4WqjjBP.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-DW4AHCE6.mjs.map → acorex-platform-common-phone-widget-view.component-D4WqjjBP.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-2zZBG6Ze.mjs → acorex-platform-common-rich-text-widget-column.component-B5rev2NB.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-2zZBG6Ze.mjs.map → acorex-platform-common-rich-text-widget-column.component-B5rev2NB.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-BJveJgHZ.mjs → acorex-platform-common-rich-text-widget-edit.component-BHBRQKhj.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-BJveJgHZ.mjs.map → acorex-platform-common-rich-text-widget-edit.component-BHBRQKhj.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-CiViWpBX.mjs → acorex-platform-common-rich-text-widget-view.component-0bIoY7Ws.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-CiViWpBX.mjs.map → acorex-platform-common-rich-text-widget-view.component-0bIoY7Ws.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-D9lsVFgo.mjs → acorex-platform-common-selection-list-widget-column.component-CzJWP4YT.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-D9lsVFgo.mjs.map → acorex-platform-common-selection-list-widget-column.component-CzJWP4YT.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-ocEwyUP7.mjs → acorex-platform-common-selection-list-widget-edit.component-DhYa6y65.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-ocEwyUP7.mjs.map → acorex-platform-common-selection-list-widget-edit.component-DhYa6y65.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-CS0f_jCx.mjs → acorex-platform-common-selection-list-widget-filter.component-B344MeXJ.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-CS0f_jCx.mjs.map → acorex-platform-common-selection-list-widget-filter.component-B344MeXJ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-C65lbpo_.mjs → acorex-platform-common-selection-list-widget-view.component-Czk5DzgK.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-C65lbpo_.mjs.map → acorex-platform-common-selection-list-widget-view.component-Czk5DzgK.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DbfQSGxm.mjs → acorex-platform-common-signature-pad-widget-edit.component-YSGjL25D.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DbfQSGxm.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-YSGjL25D.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CDY3JdP-.mjs → acorex-platform-common-signature-pad-widget-view.component-D64btt99.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CDY3JdP-.mjs.map → acorex-platform-common-signature-pad-widget-view.component-D64btt99.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-string-widget-filter.component-BW2ehdOx.mjs → acorex-platform-common-string-widget-filter.component-5wb1x5Fa.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-string-widget-filter.component-BW2ehdOx.mjs.map → acorex-platform-common-string-widget-filter.component-5wb1x5Fa.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-column.component-bhx0QWAX.mjs → acorex-platform-common-text-widget-column.component-U-V3HD2V.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-text-widget-column.component-bhx0QWAX.mjs.map → acorex-platform-common-text-widget-column.component-U-V3HD2V.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-edit.component-Cb1k59hs.mjs → acorex-platform-common-text-widget-edit.component-BCs13zUr.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-text-widget-edit.component-Cb1k59hs.mjs.map → acorex-platform-common-text-widget-edit.component-BCs13zUr.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-view.component-CGwY9c2O.mjs → acorex-platform-common-text-widget-view.component-V1RkKuNZ.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-text-widget-view.component-CGwY9c2O.mjs.map → acorex-platform-common-text-widget-view.component-V1RkKuNZ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BxAwa7jw.mjs → acorex-platform-common-toggle-widget-column.component-FqKLeAhY.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BxAwa7jw.mjs.map → acorex-platform-common-toggle-widget-column.component-FqKLeAhY.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CT2fRAKm.mjs → acorex-platform-common-toggle-widget-edit.component-DKSnFdTQ.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CT2fRAKm.mjs.map → acorex-platform-common-toggle-widget-edit.component-DKSnFdTQ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-9tquFHhE.mjs → acorex-platform-common-toggle-widget-view.component-BOYPRUCt.mjs} +2 -2
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-9tquFHhE.mjs.map → acorex-platform-common-toggle-widget-view.component-BOYPRUCt.mjs.map} +1 -1
- package/fesm2022/acorex-platform-common.mjs +495 -494
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +54 -49
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-i6vjEhti.mjs → acorex-platform-themes-default-entity-master-create-view.component-BJ7inoTB.mjs} +2 -2
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BJ7inoTB.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-DyZHE0o-.mjs → acorex-platform-themes-default-entity-master-single-view.component-BO_lAQc_.mjs} +8 -6
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BO_lAQc_.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +5 -5
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +20 -488
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs → acorex-platform-widgets-checkbox-widget-designer.component-e9O9qFIf.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-DzGg-uFi.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-e9O9qFIf.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs → acorex-platform-widgets-color-box-widget-designer.component-Brsun0id.mjs} +4 -4
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-Brsun0id.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +134 -108
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/builder/lib/builder/builder.service.d.ts +2 -0
- package/layout/builder/lib/builder/widget-container.component.d.ts +0 -1
- package/layout/builder/lib/builder/widget-renderer.component.directive.d.ts +1 -1
- package/layout/builder/lib/builder/widget.types.d.ts +1 -1
- package/package.json +13 -13
- package/themes/shared/index.d.ts +0 -4
- package/widgets/lib/widgets/editors/color/color-box-widget-view.component.d.ts +3 -0
- package/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.d.ts +1 -1
- package/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.d.ts +3 -4
- package/esm2022/themes/shared/lib/comments/comment-list-view.component.mjs +0 -429
- package/esm2022/themes/shared/lib/comments/comment-lookup-popup.component.mjs +0 -56
- package/esm2022/themes/shared/lib/comments/comments.service.mjs +0 -4
- package/esm2022/themes/shared/lib/comments/comments.type.mjs +0 -2
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-i6vjEhti.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DyZHE0o-.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-DIvi0BtT.mjs.map +0 -1
- package/themes/shared/lib/comments/comment-list-view.component.d.ts +0 -66
- package/themes/shared/lib/comments/comment-lookup-popup.component.d.ts +0 -10
- package/themes/shared/lib/comments/comments.service.d.ts +0 -5
- package/themes/shared/lib/comments/comments.type.d.ts +0 -74
package/common/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
export * from './lib/app';
|
|
1
2
|
export * from './lib/common.module';
|
|
2
3
|
export * from './lib/configs/app.config';
|
|
3
4
|
export * from './lib/configs/config.types';
|
|
4
|
-
export * from './lib/data';
|
|
5
|
+
export * from './lib/data/index';
|
|
5
6
|
export * from './lib/errors';
|
|
7
|
+
export * from './lib/layout';
|
|
6
8
|
export * from './lib/schema';
|
|
7
9
|
export * from './lib/settings';
|
|
8
10
|
export * from './lib/store';
|
|
9
11
|
export * from './lib/utils';
|
|
10
|
-
export * from './lib/app';
|
|
11
|
-
export * from './lib/layout';
|
|
12
12
|
export * from './lib/workflows';
|
package/esm2022/common/index.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
export * from './lib/app';
|
|
1
2
|
export * from './lib/common.module';
|
|
2
3
|
export * from './lib/configs/app.config';
|
|
3
4
|
export * from './lib/configs/config.types';
|
|
4
|
-
export * from './lib/data';
|
|
5
|
+
export * from './lib/data/index';
|
|
5
6
|
export * from './lib/errors';
|
|
7
|
+
export * from './lib/layout';
|
|
6
8
|
export * from './lib/schema';
|
|
7
9
|
export * from './lib/settings';
|
|
8
10
|
export * from './lib/store';
|
|
9
11
|
export * from './lib/utils';
|
|
10
|
-
export * from './lib/app';
|
|
11
|
-
export * from './lib/layout';
|
|
12
12
|
export * from './lib/workflows';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hcHAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maWdzL2FwcC5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlncy9jb25maWcudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGF5b3V0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NjaGVtYSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi93b3JrZmxvd3MnO1xuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { applyFilterArray, applySortArray } from '@acorex/platform/core';
|
|
2
2
|
import Dexie from 'dexie';
|
|
3
|
+
import { AXPDataGenerator } from '../utils';
|
|
3
4
|
export class AXPDexieEntityStorageService extends Dexie {
|
|
4
5
|
constructor() {
|
|
5
6
|
super('ACoreXPlatform');
|
|
@@ -27,8 +28,9 @@ export class AXPDexieEntityStorageService extends Dexie {
|
|
|
27
28
|
await this.table('entity-store').where({ entityName, id: id }).delete();
|
|
28
29
|
}
|
|
29
30
|
async insertOne(entityName, entity) {
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
const uuid = AXPDataGenerator.uuid();
|
|
32
|
+
await this.table('entity-store').add({ ...entity, id: uuid, entityName });
|
|
33
|
+
return uuid;
|
|
32
34
|
}
|
|
33
35
|
async getAll(entityName) {
|
|
34
36
|
return await this.table('entity-store').where({ entityName }).toArray();
|
|
@@ -125,4 +127,4 @@ export class AXPDexieEntityStorageService extends Dexie {
|
|
|
125
127
|
// return await table.toArray();
|
|
126
128
|
// }
|
|
127
129
|
// }
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV4aWUtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9kYXRhL2RleGllLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBSTFCLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxLQUFLO0lBQ3JEO1FBQ0UsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDckIsY0FBYyxFQUFFLG1DQUFtQztTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBVSxVQUFrQixFQUFFLFVBQWU7UUFDeEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUUsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEcsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFVLFVBQWtCLEVBQUUsRUFBVTtRQUNsRCxPQUFP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RSwyREFBMkQ7QUFDM0QsOENBQThDO0FBQzlDLDREQUE0RDtBQUM1RCw4QkFBOEI7QUFFOUIsMENBQTBDO0FBQzFDLHNDQUFzQztBQUN0Qyx5RUFBeUU7QUFDekUsMEJBQTBCO0FBQzFCLCtEQUErRDtBQUMvRCx1QkFBdUI7QUFDdkIsVUFBVTtBQUNWLFVBQVU7QUFFVixpREFBaUQ7QUFDakQsbUNBQW1DO0FBQ25DLE1BQU07QUFFTix5RUFBeUU7QUFDekUsK0VBQStFO0FBQy9FLG1FQUFtRTtBQUNuRSw0Q0FBNEM7QUFDNUMsZ0RBQWdEO0FBQ2hELFFBQVE7QUFDUixNQUFNO0FBRU4sMkJBQTJCO0FBQzNCLCtCQUErQjtBQUMvQixNQUFNO0FBRU4sb0RBQW9EO0FBQ3BELGdEQUFnRDtBQUNoRCxnREFBZ0Q7QUFDaEQsTUFBTTtBQUVOLGlGQUFpRjtBQUNqRix3REFBd0Q7QUFDeEQsMENBQTBDO0FBQzFDLDBCQUEwQjtBQUMxQix5Q0FBeUM7QUFDekMsUUFBUTtBQUNSLE1BQU07QUFFTix3RUFBd0U7QUFDeEUsd0RBQXdEO0FBQ3hELHFFQUFxRTtBQUNyRSxNQUFNO0FBRU4sdUdBQXVHO0FBQ3ZHLHFEQUFxRDtBQUNyRCxrREFBa0Q7QUFDbEQsTUFBTTtBQUVOLHFFQUFxRTtBQUNyRSxxREFBcUQ7QUFDckQsd0NBQXdDO0FBQ3hDLE1BQU07QUFFTiw2RUFBNkU7QUFDN0Usd0RBQXdEO0FBQ3hELCtCQUErQjtBQUMvQixNQUFNO0FBRU4sOERBQThEO0FBQzlELHdEQUF3RDtBQUN4RCxvQ0FBb0M7QUFDcEMsTUFBTTtBQUNOLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcHBseUZpbHRlckFycmF5LCBhcHBseVNvcnRBcnJheSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgRGV4aWUgZnJvbSAnZGV4aWUnO1xuaW1wb3J0IHsgQVhQUGFnZWRMaXN0UmVzdWx0LCBBWFBRdWVyeVJlcXVlc3QgfSBmcm9tICcuL2RhdGEudHlwZXMnO1xuaW1wb3J0IHsgQVhQRW50aXR5U3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2VudGl0eS1zdG9yYWdlLXNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgQVhQRGV4aWVFbnRpdHlTdG9yYWdlU2VydmljZSBleHRlbmRzIERleGllIGltcGxlbWVudHMgQVhQRW50aXR5U3RvcmFnZVNlcnZpY2U8c3RyaW5nLCBhbnk+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0FDb3JlWFBsYXRmb3JtJyk7XG4gICAgdGhpcy52ZXJzaW9uKDEpLnN0b3Jlcyh7XG4gICAgICAnZW50aXR5LXN0b3JlJzogJysraWQsIGVudGl0eU5hbWUsIFtlbnRpdHlOYW1lK2lkXScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgZGJOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdBQ29yZVhQbGF0Zm9ybSc7XG4gIH1cblxuICBhc3luYyBpbml0aWFsPFQgPSBhbnk+KGVudGl0eU5hbWU6IHN0cmluZywgY29sbGVjdGlvbjogVFtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZXhpc3RzID0gYXdhaXQgdGhpcy50YWJsZSgnZW50aXR5LXN0b3JlJykud2hlcmUoeyBlbnRpdHlOYW1lIH0pLmNvdW50KCk7XG4gICAgaWYgKGV4aXN0cyA9PT0gMCkge1xuICAgICAgYXdhaXQgdGhpcy50YWJsZSgnZW50aXR5LXN0b3JlJykuYnVsa0FkZChjb2xsZWN0aW9uLm1hcCgoaXRlbSkgPT4gKHsgLi4uaXRlbSwgZW50aXR5TmFtZSB9KSkpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldE9uZTxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy50YWJsZSgnZW50aXR5LXN0b3JlJykud2hlcmUoeyBlbnRpdHlOYW1lLCBpZDogaWQgfSkuZmlyc3QoKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZU9uZTxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGtleVZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogUHJvbWlzZTxUPiB7XG4gICAgYXdhaXQgdGhpcy50YWJsZSgnZW50aXR5LXN0b3JlJykud2hlcmUoeyBlbnRpdHlOYW1lLCBpZDogaWQgfSkubW9kaWZ5KGtleVZhbHVlKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXRPbmUoZW50aXR5TmFtZSwgaWQpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlT25lKGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMudGFibGUoJ2VudGl0eS1zdG9yZScpLndoZXJlKHsgZW50aXR5TmFtZSwgaWQ6IGlkIH0pLmRlbGV0ZSgpO1xuICB9XG5cbiAgYXN5bmMgaW5zZXJ0T25lPFQgPSBhbnk+KGVudGl0eU5hbWU6IHN0cmluZywgZW50aXR5OiBUKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBhd2FpdCB0aGlzLnRhYmxlKCdlbnRpdHktc3RvcmUnKS5hZGQoeyAuLi5lbnRpdHksIGVudGl0eU5hbWUgfSk7XG4gICAgcmV0dXJuIChlbnRpdHkgYXMgYW55KS5pZDtcbiAgfVxuXG4gIGFzeW5jIGdldEFsbDxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFRbXT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnRhYmxlKCdlbnRpdHktc3RvcmUnKS53aGVyZSh7IGVudGl0eU5hbWUgfSkudG9BcnJheSgpO1xuICB9XG5cbiAgYXN5bmMgcXVlcnk8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nLCByZXF1ZXN0OiBBWFBRdWVyeVJlcXVlc3QpOiBQcm9taXNlPEFYUFBhZ2VkTGlzdFJlc3VsdDxUPj4ge1xuICAgIGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLnRhYmxlKCdlbnRpdHktc3RvcmUnKS53aGVyZSh7IGVudGl0eU5hbWUgfSkudG9BcnJheSgpO1xuXG4gICAgaWYgKHJlcXVlc3Quc29ydCAmJiByZXF1ZXN0LnNvcnQubGVuZ3RoKSB7XG4gICAgICByZXN1bHQgPSBhcHBseVNvcnRBcnJheShyZXN1bHQsIHJlcXVlc3Quc29ydCk7XG4gICAgfVxuICAgIHJlc3VsdCA9IGFwcGx5RmlsdGVyQXJyYXkocmVzdWx0LCByZXF1ZXN0LmZpbHRlciA/IFtyZXF1ZXN0LmZpbHRlcl0gOiBbXSk7XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgIHRvdGFsQ291bnQ6IHJlc3VsdC5sZW5ndGgsXG4gICAgICBpdGVtczogcmVzdWx0LnNsaWNlKHJlcXVlc3Quc2tpcCwgKHJlcXVlc3Quc2tpcCA/PyAwKSArIChyZXF1ZXN0LnRha2UgPz8gMCkpLFxuICAgIH0pO1xuICB9XG59XG5cbi8vIGV4cG9ydCBjbGFzcyBBWFBEZXhpZVRhYmxlU3RvcmFnZVNlcnZpY2UgZXh0ZW5kcyBEZXhpZSBpbXBsZW1lbnRzIEFYUEVudGl0eVN0b3JhZ2VTZXJ2aWNlIHtcbi8vICAgcHJpdmF0ZSBzY2hlbWFVcGRhdGVMb2NrOiBQcm9taXNlPHZvaWQ+ID0gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbi8vICAgY29uc3RydWN0b3IoKSB7XG4vLyAgICAgc3VwZXIoJ0FDb3JlWFBsYXRmb3JtJyk7XG4vLyAgICAgLy8gSW5pdGlhbCBlbXB0eSB2ZXJzaW9uXG4vLyAgICAgLy90aGlzLnZlcnNpb24oMSkuc3RvcmVzKHt9KTtcbi8vICAgfVxuXG4vLyAgIC8vIEZ1bmN0aW9uIHRvIGNoYW5nZSB0aGUgc2NoZW1hIGR5bmFtaWNhbGx5XG4vLyAgIHByaXZhdGUgYXN5bmMgY2hhbmdlU2NoZW1hKHNjaGVtYUNoYW5nZXM6IHsgW3RhYmxlTmFtZTogc3RyaW5nXTogc3RyaW5nIHwgbnVsbCB9KTogUHJvbWlzZTx2b2lkPiB7XG4vLyAgICAgLy8gQWNxdWlyZSBzY2hlbWEgdXBkYXRlIGxvY2sgdG8gZW5zdXJlIG5vIG90aGVyIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZCB3aGlsZSBzY2hlbWEgaXMgY2hhbmdpbmdcbi8vICAgICB0aGlzLnNjaGVtYVVwZGF0ZUxvY2sgPSB0aGlzLnNjaGVtYVVwZGF0ZUxvY2sudGhlbihhc3luYyAoKSA9PiB7XG4vLyAgICAgICBjb25zb2xlLmxvZygnQXR0ZW1wdGluZyBzY2hlbWEgY2hhbmdlIHdpdGg6Jywgc2NoZW1hQ2hhbmdlcyk7XG5cbi8vICAgICAgIHRyeSB7XG4vLyAgICAgICAgIHRoaXMuY2xvc2UoKTtcblxuLy8gICAgICAgICBjb25zdCBuZXdEYiA9IG5ldyBEZXhpZSh0aGlzLm5hbWUpO1xuXG4vLyAgICAgICAgIC8vIEV4dHJhY3QgY3VycmVudCBzY2hlbWEgaW4gRGV4aWUgZm9ybWF0XG4vLyAgICAgICAgIGNvbnN0IGN1cnJlbnRTY2hlbWEgPSB0aGlzLnRhYmxlcy5yZWR1Y2UoKHJlc3VsdCwgeyBuYW1lLCBzY2hlbWEgfSkgPT4ge1xuLy8gICAgICAgICAgIHJlc3VsdFtuYW1lXSA9IFtzY2hlbWEucHJpbUtleS5zcmMsIC4uLnNjaGVtYS5pbmRleGVzLm1hcCgoaWR4KSA9PiBpZHguc3JjKV0uam9pbignLCcpO1xuLy8gICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4vLyAgICAgICAgIH0sIHt9IGFzIHsgW3RhYmxlTmFtZTogc3RyaW5nXTogc3RyaW5nIH0pO1xuXG4vLyAgICAgICAgIGNvbnNvbGUubG9nKCdDdXJyZW50IFNjaGVtYTonLCBjdXJyZW50U2NoZW1hKTtcblxuLy8gICAgICAgICAvLyBEZWZpbmUgY3VycmVudCBzY2hlbWEgdmVyc2lvblxuXG4vLyAgICAgICAgIG5ld0RiLnZlcnNpb24odGhpcy52ZXJubyArIDEwKS5zdG9yZXMoY3VycmVudFNjaGVtYSk7XG5cbi8vICAgICAgICAgLy8gRGVmaW5lIG5ldyBzY2hlbWEgdmVyc2lvbiB3aXRoIHNjaGVtYSBjaGFuZ2VzXG4vLyAgICAgICAgIGNvbnN0IG5leHRWZXJzaW9uID0gdGhpcy52ZXJubyArIDE7XG4vLyAgICAgICAgIG5ld0RiLnZlcnNpb24obmV4dFZlcnNpb24pLnN0b3JlcyhzY2hlbWFDaGFuZ2VzKTtcbi8vICAgICAgICAgYXdhaXQgbmV3RGIub3BlbigpO1xuXG4vLyAgICAgICAgIC8vIFJlYXNzaWduIHVwZGF0ZWQgZGIgaW5zdGFuY2Vcbi8vICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBuZXdEYik7XG4vLyAgICAgICAgIGNvbnNvbGUubG9nKGBTY2hlbWEgdXBkYXRlZC4gQ3VycmVudCB2ZXJzaW9uOiAke3RoaXMudmVybm99YCk7XG4vLyAgICAgICB9IGNhdGNoIChlcnJvcikge1xuLy8gICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkdXJpbmcgc2NoZW1hIGNoYW5nZTonLCBlcnJvcik7XG4vLyAgICAgICAgIHRocm93IGVycm9yO1xuLy8gICAgICAgfVxuLy8gICAgIH0pO1xuXG4vLyAgICAgLy8gV2FpdCBmb3Igc2NoZW1hIGNoYW5nZSBsb2NrIHRvIGNvbXBsZXRlXG4vLyAgICAgYXdhaXQgdGhpcy5zY2hlbWFVcGRhdGVMb2NrO1xuLy8gICB9XG5cbi8vICAgcHJpdmF0ZSBhc3luYyBlbnN1cmVJbml0aWFsaXplZChlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgICBpZiAodGhpcy50YWJsZXMuZmluZEluZGV4KCh0YWJsZSkgPT4gdGFibGUubmFtZSA9PT0gZW50aXR5TmFtZSkgPT0gLTEpIHtcbi8vICAgICAgIGNvbnN0IHNjaGVtYUNoYW5nZXM6IHsgW3RhYmxlTmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbi8vICAgICAgIHNjaGVtYUNoYW5nZXNbZW50aXR5TmFtZV0gPSAnKytpZCc7XG4vLyAgICAgICBhd2FpdCB0aGlzLmNoYW5nZVNjaGVtYShzY2hlbWFDaGFuZ2VzKTtcbi8vICAgICB9XG4vLyAgIH1cblxuLy8gICBnZXQgZGJOYW1lKCk6IHN0cmluZyB7XG4vLyAgICAgcmV0dXJuICdBQ29yZVhQbGF0Zm9ybSc7XG4vLyAgIH1cblxuLy8gICBwcml2YXRlIGFzeW5jIGdldFRhYmxlPFQ+KGVudGl0eU5hbWU6IHN0cmluZykge1xuLy8gICAgIGF3YWl0IHRoaXMuZW5zdXJlSW5pdGlhbGl6ZWQoZW50aXR5TmFtZSk7XG4vLyAgICAgcmV0dXJuIHRoaXMudGFibGU8VCwgbnVtYmVyPihlbnRpdHlOYW1lKTtcbi8vICAgfVxuXG4vLyAgIGFzeW5jIGluaXRpYWw8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nLCBjb2xsZWN0aW9uOiBUW10pOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgICBjb25zdCB0YWJsZSA9IGF3YWl0IHRoaXMuZ2V0VGFibGU8VD4oZW50aXR5TmFtZSk7XG4vLyAgICAgY29uc3QgZXhpc3RzID0gYXdhaXQgdGFibGUuY291bnQoKTtcbi8vICAgICBpZiAoZXhpc3RzID09PSAwKSB7XG4vLyAgICAgICBhd2FpdCB0YWJsZS5idWxrQWRkKGNvbGxlY3Rpb24pO1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIGFzeW5jIGdldE9uZTxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbi8vICAgICBjb25zdCB0YWJsZSA9IGF3YWl0IHRoaXMuZ2V0VGFibGU8VD4oZW50aXR5TmFtZSk7XG4vLyAgICAgcmV0dXJuIChhd2FpdCB0YWJsZS53aGVyZSh7IGlkOiBwYXJzZUludChpZCkgfSkuZmlyc3QoKSkgYXMgVDtcbi8vICAgfVxuXG4vLyAgIGFzeW5jIHVwZGF0ZU9uZShlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGtleVZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogUHJvbWlzZTx2b2lkPiB7XG4vLyAgICAgY29uc3QgdGFibGUgPSBhd2FpdCB0aGlzLmdldFRhYmxlKGVudGl0eU5hbWUpO1xuLy8gICAgIGF3YWl0IHRhYmxlLnVwZGF0ZShwYXJzZUludChpZCksIGtleVZhbHVlKTtcbi8vICAgfVxuXG4vLyAgIGFzeW5jIGRlbGV0ZU9uZShlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgICBjb25zdCB0YWJsZSA9IGF3YWl0IHRoaXMuZ2V0VGFibGUoZW50aXR5TmFtZSk7XG4vLyAgICAgYXdhaXQgdGFibGUuZGVsZXRlKHBhcnNlSW50KGlkKSk7XG4vLyAgIH1cblxuLy8gICBhc3luYyBpbnNlcnRPbmU8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nLCBlbnRpdHk6IFQpOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgICBjb25zdCB0YWJsZSA9IGF3YWl0IHRoaXMuZ2V0VGFibGU8VD4oZW50aXR5TmFtZSk7XG4vLyAgICAgYXdhaXQgdGFibGUuYWRkKGVudGl0eSk7XG4vLyAgIH1cblxuLy8gICBhc3luYyBnZXRBbGw8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nKTogUHJvbWlzZTxUW10+IHtcbi8vICAgICBjb25zdCB0YWJsZSA9IGF3YWl0IHRoaXMuZ2V0VGFibGU8VD4oZW50aXR5TmFtZSk7XG4vLyAgICAgcmV0dXJuIGF3YWl0IHRhYmxlLnRvQXJyYXkoKTtcbi8vICAgfVxuLy8gfVxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV4aWUtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9kYXRhL2RleGllLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUk1QyxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsS0FBSztJQUNyRDtRQUNFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3JCLGNBQWMsRUFBRSxtQ0FBbUM7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQVUsVUFBa0IsRUFBRSxVQUFlO1FBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlFLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FB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QUFvRDtBQUNwRCxtRkFBbUY7QUFDbkYsb0dBQW9HO0FBQ3BHLDJCQUEyQjtBQUMzQixxREFBcUQ7QUFFckQseURBQXlEO0FBRXpELDJDQUEyQztBQUUzQyxnRUFBZ0U7QUFFaEUsMkRBQTJEO0FBQzNELDhDQUE4QztBQUM5Qyw0REFBNEQ7QUFDNUQsOEJBQThCO0FBRTlCLDBDQUEwQztBQUMxQyxzQ0FBc0M7QUFDdEMseUVBQXlFO0FBQ3pFLDBCQUEwQjtBQUMxQiwrREFBK0Q7QUFDL0QsdUJBQXVCO0FBQ3ZCLFVBQVU7QUFDVixVQUFVO0FBRVYsaURBQWlEO0FBQ2pELG1DQUFtQztBQUNuQyxNQUFNO0FBRU4seUVBQXlFO0FBQ3pFLCtFQUErRTtBQUMvRSxtRUFBbUU7QUFDbkUsNENBQTRDO0FBQzVDLGdEQUFnRDtBQUNoRCxRQUFRO0FBQ1IsTUFBTTtBQUVOLDJCQUEyQjtBQUMzQiwrQkFBK0I7QUFDL0IsTUFBTTtBQUVOLG9EQUFvRDtBQUNwRCxnREFBZ0Q7QUFDaEQsZ0RBQWdEO0FBQ2hELE1BQU07QUFFTixpRkFBaUY7QUFDakYsd0RBQXdEO0FBQ3hELDBDQUEwQztBQUMxQywwQkFBMEI7QUFDMUIseUNBQXlDO0FBQ3pDLFFBQVE7QUFDUixNQUFNO0FBRU4sd0VBQXdFO0FBQ3hFLHdEQUF3RDtBQUN4RCxxRUFBcUU7QUFDckUsTUFBTTtBQUVOLHVHQUF1RztBQUN2RyxxREFBcUQ7QUFDckQsa0RBQWtEO0FBQ2xELE1BQU07QUFFTixxRUFBcUU7QUFDckUscURBQXFEO0FBQ3JELHdDQUF3QztBQUN4QyxNQUFNO0FBRU4sNkVBQTZFO0FBQzdFLHdEQUF3RDtBQUN4RCwrQkFBK0I7QUFDL0IsTUFBTTtBQUVOLDhEQUE4RDtBQUM5RCx3REFBd0Q7QUFDeEQsb0NBQW9DO0FBQ3BDLE1BQU07QUFDTixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHlGaWx0ZXJBcnJheSwgYXBwbHlTb3J0QXJyYXkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IERleGllIGZyb20gJ2RleGllJztcbmltcG9ydCB7IEFYUERhdGFHZW5lcmF0b3IgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBBWFBQYWdlZExpc3RSZXN1bHQsIEFYUFF1ZXJ5UmVxdWVzdCB9IGZyb20gJy4vZGF0YS50eXBlcyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vZW50aXR5LXN0b3JhZ2Utc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBBWFBEZXhpZUVudGl0eVN0b3JhZ2VTZXJ2aWNlIGV4dGVuZHMgRGV4aWUgaW1wbGVtZW50cyBBWFBFbnRpdHlTdG9yYWdlU2VydmljZTxzdHJpbmcsIGFueT4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignQUNvcmVYUGxhdGZvcm0nKTtcbiAgICB0aGlzLnZlcnNpb24oMSkuc3RvcmVzKHtcbiAgICAgICdlbnRpdHktc3RvcmUnOiAnKytpZCwgZW50aXR5TmFtZSwgW2VudGl0eU5hbWUraWRdJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBkYk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0FDb3JlWFBsYXRmb3JtJztcbiAgfVxuXG4gIGFzeW5jIGluaXRpYWw8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nLCBjb2xsZWN0aW9uOiBUW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBleGlzdHMgPSBhd2FpdCB0aGlzLnRhYmxlKCdlbnRpdHktc3RvcmUnKS53aGVyZSh7IGVudGl0eU5hbWUgfSkuY291bnQoKTtcbiAgICBpZiAoZXhpc3RzID09PSAwKSB7XG4gICAgICBhd2FpdCB0aGlzLnRhYmxlKCdlbnRpdHktc3RvcmUnKS5idWxrQWRkKGNvbGxlY3Rpb24ubWFwKChpdGVtKSA9PiAoeyAuLi5pdGVtLCBlbnRpdHlOYW1lIH0pKSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0T25lPFQgPSBhbnk+KGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnRhYmxlKCdlbnRpdHktc3RvcmUnKS53aGVyZSh7IGVudGl0eU5hbWUsIGlkOiBpZCB9KS5maXJzdCgpO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlT25lPFQgPSBhbnk+KGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZywga2V5VmFsdWU6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBQcm9taXNlPFQ+IHtcbiAgICBhd2FpdCB0aGlzLnRhYmxlKCdlbnRpdHktc3RvcmUnKS53aGVyZSh7IGVudGl0eU5hbWUsIGlkOiBpZCB9KS5tb2RpZnkoa2V5VmFsdWUpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmdldE9uZShlbnRpdHlOYW1lLCBpZCk7XG4gIH1cblxuICBhc3luYyBkZWxldGVPbmUoZW50aXR5TmFtZTogc3RyaW5nLCBpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy50YWJsZSgnZW50aXR5LXN0b3JlJykud2hlcmUoeyBlbnRpdHlOYW1lLCBpZDogaWQgfSkuZGVsZXRlKCk7XG4gIH1cblxuICBhc3luYyBpbnNlcnRPbmU8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nLCBlbnRpdHk6IFQpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHV1aWQgPSBBWFBEYXRhR2VuZXJhdG9yLnV1aWQoKTtcbiAgICBhd2FpdCB0aGlzLnRhYmxlKCdlbnRpdHktc3RvcmUnKS5hZGQoeyAuLi5lbnRpdHksIGlkOiB1dWlkLCBlbnRpdHlOYW1lIH0pO1xuICAgIHJldHVybiB1dWlkO1xuICB9XG5cbiAgYXN5bmMgZ2V0QWxsPFQgPSBhbnk+KGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8VFtdPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudGFibGUoJ2VudGl0eS1zdG9yZScpLndoZXJlKHsgZW50aXR5TmFtZSB9KS50b0FycmF5KCk7XG4gIH1cblxuICBhc3luYyBxdWVyeTxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcsIHJlcXVlc3Q6IEFYUFF1ZXJ5UmVxdWVzdCk6IFByb21pc2U8QVhQUGFnZWRMaXN0UmVzdWx0PFQ+PiB7XG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMudGFibGUoJ2VudGl0eS1zdG9yZScpLndoZXJlKHsgZW50aXR5TmFtZSB9KS50b0FycmF5KCk7XG5cbiAgICBpZiAocmVxdWVzdC5zb3J0ICYmIHJlcXVlc3Quc29ydC5sZW5ndGgpIHtcbiAgICAgIHJlc3VsdCA9IGFwcGx5U29ydEFycmF5KHJlc3VsdCwgcmVxdWVzdC5zb3J0KTtcbiAgICB9XG4gICAgcmVzdWx0ID0gYXBwbHlGaWx0ZXJBcnJheShyZXN1bHQsIHJlcXVlc3QuZmlsdGVyID8gW3JlcXVlc3QuZmlsdGVyXSA6IFtdKTtcblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgdG90YWxDb3VudDogcmVzdWx0Lmxlbmd0aCxcbiAgICAgIGl0ZW1zOiByZXN1bHQuc2xpY2UocmVxdWVzdC5za2lwLCAocmVxdWVzdC5za2lwID8/IDApICsgKHJlcXVlc3QudGFrZSA/PyAwKSksXG4gICAgfSk7XG4gIH1cbn1cblxuLy8gZXhwb3J0IGNsYXNzIEFYUERleGllVGFibGVTdG9yYWdlU2VydmljZSBleHRlbmRzIERleGllIGltcGxlbWVudHMgQVhQRW50aXR5U3RvcmFnZVNlcnZpY2Uge1xuLy8gICBwcml2YXRlIHNjaGVtYVVwZGF0ZUxvY2s6IFByb21pc2U8dm9pZD4gPSBQcm9taXNlLnJlc29sdmUoKTtcblxuLy8gICBjb25zdHJ1Y3RvcigpIHtcbi8vICAgICBzdXBlcignQUNvcmVYUGxhdGZvcm0nKTtcbi8vICAgICAvLyBJbml0aWFsIGVtcHR5IHZlcnNpb25cbi8vICAgICAvL3RoaXMudmVyc2lvbigxKS5zdG9yZXMoe30pO1xuLy8gICB9XG5cbi8vICAgLy8gRnVuY3Rpb24gdG8gY2hhbmdlIHRoZSBzY2hlbWEgZHluYW1pY2FsbHlcbi8vICAgcHJpdmF0ZSBhc3luYyBjaGFuZ2VTY2hlbWEoc2NoZW1hQ2hhbmdlczogeyBbdGFibGVOYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBudWxsIH0pOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgICAvLyBBY3F1aXJlIHNjaGVtYSB1cGRhdGUgbG9jayB0byBlbnN1cmUgbm8gb3RoZXIgb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkIHdoaWxlIHNjaGVtYSBpcyBjaGFuZ2luZ1xuLy8gICAgIHRoaXMuc2NoZW1hVXBkYXRlTG9jayA9IHRoaXMuc2NoZW1hVXBkYXRlTG9jay50aGVuKGFzeW5jICgpID0+IHtcbi8vICAgICAgIGNvbnNvbGUubG9nKCdBdHRlbXB0aW5nIHNjaGVtYSBjaGFuZ2Ugd2l0aDonLCBzY2hlbWFDaGFuZ2VzKTtcblxuLy8gICAgICAgdHJ5IHtcbi8vICAgICAgICAgdGhpcy5jbG9zZSgpO1xuXG4vLyAgICAgICAgIGNvbnN0IG5ld0RiID0gbmV3IERleGllKHRoaXMubmFtZSk7XG5cbi8vICAgICAgICAgLy8gRXh0cmFjdCBjdXJyZW50IHNjaGVtYSBpbiBEZXhpZSBmb3JtYXRcbi8vICAgICAgICAgY29uc3QgY3VycmVudFNjaGVtYSA9IHRoaXMudGFibGVzLnJlZHVjZSgocmVzdWx0LCB7IG5hbWUsIHNjaGVtYSB9KSA9PiB7XG4vLyAgICAgICAgICAgcmVzdWx0W25hbWVdID0gW3NjaGVtYS5wcmltS2V5LnNyYywgLi4uc2NoZW1hLmluZGV4ZXMubWFwKChpZHgpID0+IGlkeC5zcmMpXS5qb2luKCcsJyk7XG4vLyAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbi8vICAgICAgICAgfSwge30gYXMgeyBbdGFibGVOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSk7XG5cbi8vICAgICAgICAgY29uc29sZS5sb2coJ0N1cnJlbnQgU2NoZW1hOicsIGN1cnJlbnRTY2hlbWEpO1xuXG4vLyAgICAgICAgIC8vIERlZmluZSBjdXJyZW50IHNjaGVtYSB2ZXJzaW9uXG5cbi8vICAgICAgICAgbmV3RGIudmVyc2lvbih0aGlzLnZlcm5vICsgMTApLnN0b3JlcyhjdXJyZW50U2NoZW1hKTtcblxuLy8gICAgICAgICAvLyBEZWZpbmUgbmV3IHNjaGVtYSB2ZXJzaW9uIHdpdGggc2NoZW1hIGNoYW5nZXNcbi8vICAgICAgICAgY29uc3QgbmV4dFZlcnNpb24gPSB0aGlzLnZlcm5vICsgMTtcbi8vICAgICAgICAgbmV3RGIudmVyc2lvbihuZXh0VmVyc2lvbikuc3RvcmVzKHNjaGVtYUNoYW5nZXMpO1xuLy8gICAgICAgICBhd2FpdCBuZXdEYi5vcGVuKCk7XG5cbi8vICAgICAgICAgLy8gUmVhc3NpZ24gdXBkYXRlZCBkYiBpbnN0YW5jZVxuLy8gICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIG5ld0RiKTtcbi8vICAgICAgICAgY29uc29sZS5sb2coYFNjaGVtYSB1cGRhdGVkLiBDdXJyZW50IHZlcnNpb246ICR7dGhpcy52ZXJub31gKTtcbi8vICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4vLyAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGR1cmluZyBzY2hlbWEgY2hhbmdlOicsIGVycm9yKTtcbi8vICAgICAgICAgdGhyb3cgZXJyb3I7XG4vLyAgICAgICB9XG4vLyAgICAgfSk7XG5cbi8vICAgICAvLyBXYWl0IGZvciBzY2hlbWEgY2hhbmdlIGxvY2sgdG8gY29tcGxldGVcbi8vICAgICBhd2FpdCB0aGlzLnNjaGVtYVVwZGF0ZUxvY2s7XG4vLyAgIH1cblxuLy8gICBwcml2YXRlIGFzeW5jIGVuc3VyZUluaXRpYWxpemVkKGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuLy8gICAgIGlmICh0aGlzLnRhYmxlcy5maW5kSW5kZXgoKHRhYmxlKSA9PiB0YWJsZS5uYW1lID09PSBlbnRpdHlOYW1lKSA9PSAtMSkge1xuLy8gICAgICAgY29uc3Qgc2NoZW1hQ2hhbmdlczogeyBbdGFibGVOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuLy8gICAgICAgc2NoZW1hQ2hhbmdlc1tlbnRpdHlOYW1lXSA9ICcrK2lkJztcbi8vICAgICAgIGF3YWl0IHRoaXMuY2hhbmdlU2NoZW1hKHNjaGVtYUNoYW5nZXMpO1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIGdldCBkYk5hbWUoKTogc3RyaW5nIHtcbi8vICAgICByZXR1cm4gJ0FDb3JlWFBsYXRmb3JtJztcbi8vICAgfVxuXG4vLyAgIHByaXZhdGUgYXN5bmMgZ2V0VGFibGU8VD4oZW50aXR5TmFtZTogc3RyaW5nKSB7XG4vLyAgICAgYXdhaXQgdGhpcy5lbnN1cmVJbml0aWFsaXplZChlbnRpdHlOYW1lKTtcbi8vICAgICByZXR1cm4gdGhpcy50YWJsZTxULCBudW1iZXI+KGVudGl0eU5hbWUpO1xuLy8gICB9XG5cbi8vICAgYXN5bmMgaW5pdGlhbDxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcsIGNvbGxlY3Rpb246IFRbXSk6IFByb21pc2U8dm9pZD4ge1xuLy8gICAgIGNvbnN0IHRhYmxlID0gYXdhaXQgdGhpcy5nZXRUYWJsZTxUPihlbnRpdHlOYW1lKTtcbi8vICAgICBjb25zdCBleGlzdHMgPSBhd2FpdCB0YWJsZS5jb3VudCgpO1xuLy8gICAgIGlmIChleGlzdHMgPT09IDApIHtcbi8vICAgICAgIGF3YWl0IHRhYmxlLmJ1bGtBZGQoY29sbGVjdGlvbik7XG4vLyAgICAgfVxuLy8gICB9XG5cbi8vICAgYXN5bmMgZ2V0T25lPFQgPSBhbnk+KGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuLy8gICAgIGNvbnN0IHRhYmxlID0gYXdhaXQgdGhpcy5nZXRUYWJsZTxUPihlbnRpdHlOYW1lKTtcbi8vICAgICByZXR1cm4gKGF3YWl0IHRhYmxlLndoZXJlKHsgaWQ6IHBhcnNlSW50KGlkKSB9KS5maXJzdCgpKSBhcyBUO1xuLy8gICB9XG5cbi8vICAgYXN5bmMgdXBkYXRlT25lKGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZywga2V5VmFsdWU6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgICBjb25zdCB0YWJsZSA9IGF3YWl0IHRoaXMuZ2V0VGFibGUoZW50aXR5TmFtZSk7XG4vLyAgICAgYXdhaXQgdGFibGUudXBkYXRlKHBhcnNlSW50KGlkKSwga2V5VmFsdWUpO1xuLy8gICB9XG5cbi8vICAgYXN5bmMgZGVsZXRlT25lKGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuLy8gICAgIGNvbnN0IHRhYmxlID0gYXdhaXQgdGhpcy5nZXRUYWJsZShlbnRpdHlOYW1lKTtcbi8vICAgICBhd2FpdCB0YWJsZS5kZWxldGUocGFyc2VJbnQoaWQpKTtcbi8vICAgfVxuXG4vLyAgIGFzeW5jIGluc2VydE9uZTxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcsIGVudGl0eTogVCk6IFByb21pc2U8dm9pZD4ge1xuLy8gICAgIGNvbnN0IHRhYmxlID0gYXdhaXQgdGhpcy5nZXRUYWJsZTxUPihlbnRpdHlOYW1lKTtcbi8vICAgICBhd2FpdCB0YWJsZS5hZGQoZW50aXR5KTtcbi8vICAgfVxuXG4vLyAgIGFzeW5jIGdldEFsbDxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFRbXT4ge1xuLy8gICAgIGNvbnN0IHRhYmxlID0gYXdhaXQgdGhpcy5nZXRUYWJsZTxUPihlbnRpdHlOYW1lKTtcbi8vICAgICByZXR1cm4gYXdhaXQgdGFibGUudG9BcnJheSgpO1xuLy8gICB9XG4vLyB9XG4iXX0=
|
|
@@ -13,12 +13,12 @@ export class AXPLayoutBuilderService {
|
|
|
13
13
|
this.variables$ = signal({});
|
|
14
14
|
this.functions$ = signal({});
|
|
15
15
|
this.onChanged = new Subject();
|
|
16
|
+
this.onRefresh = new Subject();
|
|
16
17
|
this.debouncers = {};
|
|
17
18
|
this.debouncerSubscriptions = {};
|
|
18
19
|
this.widgets = new Map();
|
|
19
20
|
this.context = this.context$.asReadonly();
|
|
20
21
|
}
|
|
21
|
-
;
|
|
22
22
|
get variables() {
|
|
23
23
|
return this.variables$();
|
|
24
24
|
}
|
|
@@ -27,13 +27,12 @@ export class AXPLayoutBuilderService {
|
|
|
27
27
|
}
|
|
28
28
|
initial(value) {
|
|
29
29
|
this.context$.set(value);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
});
|
|
30
|
+
this.refresh();
|
|
31
|
+
}
|
|
32
|
+
refresh() {
|
|
33
|
+
setTimeout(() => {
|
|
34
|
+
this.onRefresh.next();
|
|
35
|
+
}, 0);
|
|
37
36
|
}
|
|
38
37
|
setVariables(...args) {
|
|
39
38
|
if (args.length == 0)
|
|
@@ -41,7 +40,7 @@ export class AXPLayoutBuilderService {
|
|
|
41
40
|
else if (args.length == 1)
|
|
42
41
|
this.variables$.set(args[0]);
|
|
43
42
|
else if (args.length == 2) {
|
|
44
|
-
this.variables$.update(v => set(v, args[0], args[1]));
|
|
43
|
+
this.variables$.update((v) => set(v, args[0], args[1]));
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
setFunctions(...args) {
|
|
@@ -50,7 +49,7 @@ export class AXPLayoutBuilderService {
|
|
|
50
49
|
else if (args.length == 1)
|
|
51
50
|
this.functions$.set(args[0]);
|
|
52
51
|
else if (args.length == 2) {
|
|
53
|
-
this.functions$.update(v => set(v, args[0], args[1]));
|
|
52
|
+
this.functions$.update((v) => set(v, args[0], args[1]));
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
55
|
setValue(path, value, init = false) {
|
|
@@ -61,19 +60,16 @@ export class AXPLayoutBuilderService {
|
|
|
61
60
|
// Create a new Subject for debouncing if it doesn't exist
|
|
62
61
|
this.debouncers[path] = new Subject();
|
|
63
62
|
// Subscribe to the subject with debounceTime
|
|
64
|
-
this.debouncerSubscriptions[path] =
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
this.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
data: this.context(),
|
|
73
|
-
path,
|
|
74
|
-
init
|
|
75
|
-
});
|
|
63
|
+
this.debouncerSubscriptions[path] = this.debouncers[path].pipe(debounceTime(150)).subscribe(({ value, init }) => {
|
|
64
|
+
// Only emit onChanged event after debounce time
|
|
65
|
+
this.onChanged.next({
|
|
66
|
+
oldValue: oldValue,
|
|
67
|
+
newValue: value,
|
|
68
|
+
data: this.context(),
|
|
69
|
+
path,
|
|
70
|
+
init,
|
|
76
71
|
});
|
|
72
|
+
});
|
|
77
73
|
}
|
|
78
74
|
// Update context immediately
|
|
79
75
|
this.context$.update((ctx) => set(clone(ctx), path, value));
|
|
@@ -105,4 +101,4 @@ export class AXPLayoutBuilderService {
|
|
|
105
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutBuilderService, decorators: [{
|
|
106
102
|
type: Injectable
|
|
107
103
|
}] });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlci9zcmMvbGliL2J1aWxkZXIvYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUszRCxNQUFNLE9BQWdCLGdCQUFnQjtJQUdwQyxHQUFHO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0Y7QUFHRCxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRW1CLGFBQVEsR0FBRyxNQUFNLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLE1BQU0sQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsTUFBTSxDQUE4QixFQUFFLENBQUMsQ0FBQztRQUV0RCxjQUFTLEdBQW1DLElBQUksT0FBTyxFQUF5QixDQUFDO1FBQ2pGLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV2RCxlQUFVLEdBQTRFLEVBQUUsQ0FBQztRQUN6RiwyQkFBc0IsR0FBb0MsRUFBRSxDQUFDO1FBRTdELFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztRQUUvQyxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztLQTBGN0M7SUF4RkMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFD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ICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lLCBnZXQsIGlzRXF1YWwsIHNldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQTGF5b3V0Q29udGV4dEV2ZW50IH0gZnJvbSAnLi93aWRnZXQudHlwZXMnO1xuXG5leHBvcnQgdHlwZSBBWFBMYXlvdXRFbGVtZW50QVBJID0geyBbbmFtZTogc3RyaW5nXTogU3ViamVjdDxhbnk+IHwgRnVuY3Rpb24gfTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUExheW91dEVsZW1lbnQge1xuICBhYnN0cmFjdCBnZXQgaWQoKTogc3RyaW5nIHwgbnVsbDtcblxuICBhcGkoKTogQVhQTGF5b3V0RWxlbWVudEFQSSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dCQgPSBzaWduYWw8YW55Pih7fSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFyaWFibGVzJCA9IHNpZ25hbDxhbnk+KHt9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBmdW5jdGlvbnMkID0gc2lnbmFsPHsgW2tleTogc3RyaW5nXTogRnVuY3Rpb24gfT4oe30pO1xuXG4gIHB1YmxpYyByZWFkb25seSBvbkNoYW5nZWQ6IFN1YmplY3Q8QVhQTGF5b3V0Q29udGV4dEV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUExheW91dENvbnRleHRFdmVudD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG9uUmVmcmVzaDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBkZWJvdW5jZXJzOiB7IFtrZXk6IHN0cmluZ106IFN1YmplY3Q8eyBwYXRoOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGluaXQ6IGJvb2xlYW4gfT4gfSA9IHt9O1xuICBwcml2YXRlIGRlYm91bmNlclN1YnNjcmlwdGlvbnM6IHsgW2tleTogc3RyaW5nXTogU3Vic2NyaXB0aW9uIH0gPSB7fTtcblxuICBwcml2YXRlIHdpZGdldHMgPSBuZXcgTWFwPHN0cmluZywgQVhQTGF5b3V0RWxlbWVudD4oKTtcblxuICBwdWJsaWMgY29udGV4dCA9IHRoaXMuY29udGV4dCQuYXNSZWFkb25seSgpO1xuXG4gIGdldCB2YXJpYWJsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGVzJCgpO1xuICB9XG5cbiAgZ2V0IGZ1bmN0aW9ucygpOiB7IFtrZXk6IHN0cmluZ106IEZ1bmN0aW9uIH0ge1xuICAgIHJldHVybiB0aGlzLmZ1bmN0aW9ucyQoKTtcbiAgfVxuXG4gIGluaXRpYWwodmFsdWU6IGFueSkge1xuICAgIHRoaXMuY29udGV4dCQuc2V0KHZhbHVlKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm9uUmVmcmVzaC5uZXh0KCk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBzZXRWYXJpYWJsZXMoa2V5c1ZhbHVlczogYW55KTogdm9pZDtcbiAgc2V0VmFyaWFibGVzKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgc2V0VmFyaWFibGVzKC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgaWYgKGFyZ3MubGVuZ3RoID09IDApIHJldHVybjtcbiAgICBlbHNlIGlmIChhcmdzLmxlbmd0aCA9PSAxKSB0aGlzLnZhcmlhYmxlcyQuc2V0KGFyZ3NbMF0pO1xuICAgIGVsc2UgaWYgKGFyZ3MubGVuZ3RoID09IDIpIHtcbiAgICAgIHRoaXMudmFyaWFibGVzJC51cGRhdGUoKHYpID0+IHNldCh2LCBhcmdzWzBdLCBhcmdzWzFdKSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RnVuY3Rpb25zKGtleXNWYWx1ZXM6IGFueSk6IHZvaWQ7XG4gIHNldEZ1bmN0aW9ucyhrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG4gIHNldEZ1bmN0aW9ucyguLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIGlmIChhcmdzLmxlbmd0aCA9PSAwKSByZXR1cm47XG4gICAgZWxzZSBpZiAoYXJncy5sZW5ndGggPT0gMSkgdGhpcy5mdW5jdGlvbnMkLnNldChhcmdzWzBdKTtcbiAgICBlbHNlIGlmIChhcmdzLmxlbmd0aCA9PSAyKSB7XG4gICAgICB0aGlzLmZ1bmN0aW9ucyQudXBkYXRlKCh2KSA9PiBzZXQodiwgYXJnc1swXSwgYXJnc1sxXSkpO1xuICAgIH1cbiAgfVxuXG4gIHNldFZhbHVlKHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSwgaW5pdDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3Qgb2xkVmFsdWUgPSBnZXQodGhpcy5jb250ZXh0JCgpLCBwYXRoKTtcbiAgICBpZiAoaXNFcXVhbChvbGRWYWx1ZSwgdmFsdWUpKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmRlYm91bmNlcnNbcGF0aF0pIHtcbiAgICAgIC8vIENyZWF0ZSBhIG5ldyBTdWJqZWN0IGZvciBkZWJvdW5jaW5nIGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICAgIHRoaXMuZGVib3VuY2Vyc1twYXRoXSA9IG5ldyBTdWJqZWN0PHsgcGF0aDogc3RyaW5nOyB2YWx1ZTogYW55OyBpbml0OiBib29sZWFuIH0+KCk7XG5cbiAgICAgIC8vIFN1YnNjcmliZSB0byB0aGUgc3ViamVjdCB3aXRoIGRlYm91bmNlVGltZVxuICAgICAgdGhpcy5kZWJvdW5jZXJTdWJzY3JpcHRpb25zW3BhdGhdID0gdGhpcy5kZWJvdW5jZXJzW3BhdGhdLnBpcGUoZGVib3VuY2VUaW1lKDE1MCkpLnN1YnNjcmliZSgoeyB2YWx1ZSwgaW5pdCB9KSA9PiB7XG4gICAgICAgIC8vIE9ubHkgZW1pdCBvbkNoYW5nZWQgZXZlbnQgYWZ0ZXIgZGVib3VuY2UgdGltZVxuICAgICAgICB0aGlzLm9uQ2hhbmdlZC5uZXh0KHtcbiAgICAgICAgICBvbGRWYWx1ZTogb2xkVmFsdWUsXG4gICAgICAgICAgbmV3VmFsdWU6IHZhbHVlLFxuICAgICAgICAgIGRhdGE6IHRoaXMuY29udGV4dCgpLFxuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgaW5pdCxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgY29udGV4dCBpbW1lZGlhdGVseVxuICAgIHRoaXMuY29udGV4dCQudXBkYXRlKChjdHgpID0+IHNldChjbG9uZShjdHgpLCBwYXRoLCB2YWx1ZSkpO1xuICAgIC8vIEVtaXQgdmFsdWUgdGhyb3VnaCB0aGUgZGVib3VuY2VyIHN1YmplY3RcbiAgICB0aGlzLmRlYm91bmNlcnNbcGF0aF0ubmV4dCh7IHBhdGgsIHZhbHVlLCBpbml0IH0pO1xuICB9XG5cbiAgZ2V0VmFsdWUocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGdldCh0aGlzLmNvbnRleHQoKSwgcGF0aCk7XG4gIH1cblxuICByZWdpc3RlcldpZGdldChpZDogc3RyaW5nLCB3aWRnZXQ6IEFYUExheW91dEVsZW1lbnQpIHtcbiAgICB0aGlzLndpZGdldHMuc2V0KGlkLCB3aWRnZXQpO1xuICB9XG5cbiAgZ2V0V2lkZ2V0KGlkOiBzdHJpbmcpOiBBWFBMYXlvdXRFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy53aWRnZXRzLmdldChpZCk7XG4gIH1cblxuICBwcml2YXRlIHVuc3Vic2NyaWJlRGVib3VuY2VycygpIHtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmRlYm91bmNlclN1YnNjcmlwdGlvbnMpLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VyU3Vic2NyaXB0aW9uc1twYXRoXS51bnN1YnNjcmliZSgpO1xuICAgICAgZGVsZXRlIHRoaXMuZGVib3VuY2VyU3Vic2NyaXB0aW9uc1twYXRoXTsgLy8gQ2xlYW4gdXAgdGhlIHJlZmVyZW5jZVxuICAgICAgZGVsZXRlIHRoaXMuZGVib3VuY2Vyc1twYXRoXTsgLy8gQWxzbyBjbGVhbiB1cCB0aGUgZGVib3VuY2VyIHN1YmplY3RcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmVEZWJvdW5jZXJzKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,17 +6,10 @@ export class AXPWidgetContainerComponent {
|
|
|
6
6
|
constructor() {
|
|
7
7
|
this.onChanged = new EventEmitter();
|
|
8
8
|
this.context = model({});
|
|
9
|
-
this.init = false;
|
|
10
9
|
this.unsubscriber = inject(AXUnsubscriber);
|
|
11
10
|
this.builderService = inject(AXPLayoutBuilderService);
|
|
12
11
|
this.ef = effect(() => {
|
|
13
|
-
//console.log('effect', this.context(), this.init);
|
|
14
12
|
this.builderService.initial(this.context());
|
|
15
|
-
// if (!this.init) {
|
|
16
|
-
// this.init = true;
|
|
17
|
-
// } else {
|
|
18
|
-
// this.builderService.refresh();
|
|
19
|
-
// }
|
|
20
13
|
}, { allowSignalWrites: true });
|
|
21
14
|
}
|
|
22
15
|
set variables(v) {
|
|
@@ -50,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
50
43
|
}], functions: [{
|
|
51
44
|
type: Input
|
|
52
45
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9idWlsZGVyL3NyYy9saWIvYnVpbGRlci93aWRnZXQtY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFVNUQsTUFBTSxPQUFPLDJCQUEyQjtJQVB4QztRQVNrQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFL0QsWUFBTyxHQUFHLEtBQUssQ0FBTSxFQUFFLENBQUMsQ0FBQztRQWF4QixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRWpELE9BQUUsR0FBRyxNQUFNLENBQ2pCLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsRUFDRCxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUM1QixDQUFDO0tBUUg7SUExQkMsSUFDVyxTQUFTLENBQUMsQ0FBTTtRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFDVyxTQUFTLENBQUMsQ0FBTTtRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBWUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FoQ1UsMkJBQTJCO2tHQUEzQiwyQkFBMkIsbWpCQUYzQixDQUFDLHVCQUF1QixFQUFFLGNBQWMsQ0FBQywwQkFIMUMsMkJBQTJCOzsyRkFLMUIsMkJBQTJCO2tCQVB2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixFQUFFLGNBQWMsQ0FBQztpQkFDckQ7OEJBR2lCLFNBQVM7c0JBRHhCLE1BQU07Z0JBT0ksU0FBUztzQkFEbkIsS0FBSztnQkFNSyxTQUFTO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBlZmZlY3QsIGluamVjdCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi9idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQTGF5b3V0Q29udGV4dEV2ZW50IH0gZnJvbSAnLi93aWRnZXQudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtd2lkZ2V0cy1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBzdHlsZTogJ2Rpc3BsYXk6IGNvbnRlbnRzOycgfSxcbiAgcHJvdmlkZXJzOiBbQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UsIEFYVW5zdWJzY3JpYmVyXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50IHtcbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWFkb25seSBvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEFYUExheW91dENvbnRleHRFdmVudD4oKTtcblxuICBwdWJsaWMgY29udGV4dCA9IG1vZGVsPGFueT4oe30pO1xuXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YXJpYWJsZXModjogYW55KSB7XG4gICAgdGhpcy5idWlsZGVyU2VydmljZS5zZXRWYXJpYWJsZXModik7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZ1bmN0aW9ucyh2OiBhbnkpIHtcbiAgICB0aGlzLmJ1aWxkZXJTZXJ2aWNlLnNldEZ1bmN0aW9ucyh2KTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcbiAgcHJpdmF0ZSBidWlsZGVyU2VydmljZSA9IGluamVjdChBWFBMYXlvdXRCdWlsZGVyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBlZiA9IGVmZmVjdChcbiAgICAoKSA9PiB7XG4gICAgICB0aGlzLmJ1aWxkZXJTZXJ2aWNlLmluaXRpYWwodGhpcy5jb250ZXh0KCkpO1xuICAgIH0sXG4gICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5idWlsZGVyU2VydmljZS5vbkNoYW5nZWQucGlwZSh0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgIHRoaXMuY29udGV4dC5zZXQoZS5kYXRhKTtcbiAgICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoZSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AXUnsubscriber } from '@acorex/core/utils';
|
|
2
|
-
import { Directive, Injector, ViewContainerRef, inject, input, signal } from '@angular/core';
|
|
2
|
+
import { Directive, Injector, ViewContainerRef, inject, input, signal, } from '@angular/core';
|
|
3
3
|
import { cloneDeep, get, merge, set, sum } from 'lodash-es';
|
|
4
4
|
import { filter } from 'rxjs';
|
|
5
5
|
import { AXPLayoutBuilderService } from './builder.service';
|
|
6
6
|
import { AXPWidgetRegistryService } from './widget-registery.service';
|
|
7
|
-
import { AXP_WIDGET_TOKEN } from './widget.types';
|
|
7
|
+
import { AXP_WIDGET_TOKEN, } from './widget.types';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class AXPWidgetRendererDirective {
|
|
10
10
|
constructor() {
|
|
@@ -22,9 +22,7 @@ export class AXPWidgetRendererDirective {
|
|
|
22
22
|
this.expressionCache = new Map();
|
|
23
23
|
this.expressionEvaluators = new Map();
|
|
24
24
|
this.scope = null;
|
|
25
|
-
this.builderService.onChanged
|
|
26
|
-
.pipe(this.unsubscriber.takeUntilDestroy)
|
|
27
|
-
.subscribe(async (e) => {
|
|
25
|
+
this.builderService.onChanged.pipe(this.unsubscriber.takeUntilDestroy).subscribe(async (e) => {
|
|
28
26
|
if ((await this.updateOptionsBasedOnContext()) > 0) {
|
|
29
27
|
this.applyOptions();
|
|
30
28
|
}
|
|
@@ -32,23 +30,31 @@ export class AXPWidgetRendererDirective {
|
|
|
32
30
|
await this.updateValueBasedOnFormula();
|
|
33
31
|
}
|
|
34
32
|
});
|
|
33
|
+
this.builderService.onRefresh.pipe(this.unsubscriber.takeUntilDestroy).subscribe(async () => {
|
|
34
|
+
if ((await this.updateOptionsBasedOnContext()) > 0) {
|
|
35
|
+
this.applyOptions();
|
|
36
|
+
}
|
|
37
|
+
});
|
|
35
38
|
}
|
|
39
|
+
// async ngOnInit() {
|
|
40
|
+
// await this.rerenderComponent();
|
|
41
|
+
// }
|
|
42
|
+
// async ngAfterViewInit() {
|
|
43
|
+
// await this.rerenderComponent();
|
|
44
|
+
// }
|
|
36
45
|
// Detect input changes
|
|
37
|
-
|
|
46
|
+
ngOnChanges(changes) {
|
|
38
47
|
if (changes['mode'] || changes['node']) {
|
|
39
48
|
// Check if either 'mode' or 'node' has changed
|
|
40
|
-
|
|
49
|
+
this.rerenderComponent();
|
|
41
50
|
}
|
|
42
51
|
}
|
|
43
|
-
|
|
44
|
-
// Destroy the existing component if it exists
|
|
45
|
-
if (this.componentRef) {
|
|
46
|
-
this.componentRef.destroy();
|
|
47
|
-
}
|
|
48
|
-
this.viewContainerRef.clear();
|
|
52
|
+
rerenderComponent() {
|
|
49
53
|
this.isLoading.set(false);
|
|
50
54
|
// Call loadComponent to create and render the component
|
|
51
|
-
|
|
55
|
+
setTimeout(async () => {
|
|
56
|
+
await this.loadComponent();
|
|
57
|
+
});
|
|
52
58
|
}
|
|
53
59
|
ngOnDestroy() {
|
|
54
60
|
if (this.componentRef) {
|
|
@@ -56,10 +62,16 @@ export class AXPWidgetRendererDirective {
|
|
|
56
62
|
}
|
|
57
63
|
}
|
|
58
64
|
async loadComponent() {
|
|
59
|
-
if (this.isLoading())
|
|
65
|
+
if (this.isLoading()) {
|
|
60
66
|
return;
|
|
67
|
+
}
|
|
61
68
|
this.isLoading.set(true);
|
|
69
|
+
// Destroy the existing component if it exists
|
|
70
|
+
if (this.componentRef) {
|
|
71
|
+
this.componentRef.destroy();
|
|
72
|
+
}
|
|
62
73
|
this.viewContainerRef.clear();
|
|
74
|
+
//
|
|
63
75
|
const widget = this.widgetRegistery.resolve(this.node().type);
|
|
64
76
|
//
|
|
65
77
|
const props = widget?.components[this.mode()]?.properties
|
|
@@ -115,15 +127,18 @@ export class AXPWidgetRendererDirective {
|
|
|
115
127
|
return false;
|
|
116
128
|
}
|
|
117
129
|
preprocessAndInitialOptions(obj, pathPrefix = '') {
|
|
118
|
-
if (!obj)
|
|
130
|
+
if (!obj) {
|
|
119
131
|
return;
|
|
132
|
+
}
|
|
120
133
|
Object.entries(obj).forEach(([key, value]) => {
|
|
121
134
|
const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;
|
|
122
135
|
if (typeof value === 'string' && value.includes('{{')) {
|
|
123
136
|
// Cache dynamic expression for later evaluation
|
|
124
137
|
this.expressionEvaluators.set(currentPath, () => this.evaluateExpression(value));
|
|
125
138
|
}
|
|
126
|
-
else if (typeof value === 'object' &&
|
|
139
|
+
else if (typeof value === 'object' &&
|
|
140
|
+
value !== null &&
|
|
141
|
+
(value.constructor === Object || Array.isArray(value))) {
|
|
127
142
|
// Recursively handle nested objects
|
|
128
143
|
this.preprocessAndInitialOptions(value, currentPath);
|
|
129
144
|
}
|
|
@@ -136,11 +151,12 @@ export class AXPWidgetRendererDirective {
|
|
|
136
151
|
});
|
|
137
152
|
}
|
|
138
153
|
async updateOptionsBasedOnContext() {
|
|
139
|
-
const
|
|
140
|
-
for (let [path, evaluator] of this.expressionEvaluators) {
|
|
154
|
+
const updatePromises = Array.from(this.expressionEvaluators).map(async ([path, evaluator]) => {
|
|
141
155
|
const newValue = await evaluator();
|
|
142
|
-
|
|
143
|
-
}
|
|
156
|
+
return { path, newValue };
|
|
157
|
+
});
|
|
158
|
+
// Wait for all evaluators to complete
|
|
159
|
+
const updates = await Promise.all(updatePromises);
|
|
144
160
|
// Apply updates to mergedOptions
|
|
145
161
|
if (updates.length > 0) {
|
|
146
162
|
this.mergedOptions.update((o) => {
|
|
@@ -300,4 +316,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
300
316
|
],
|
|
301
317
|
}]
|
|
302
318
|
}], ctorParameters: () => [] });
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXJlbmRlcmVyLmNvbXBvbmVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9idWlsZGVyL3NyYy9saWIvYnVpbGRlci93aWRnZXQtcmVuZGVyZXIuY29tcG9uZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFnQixTQUFTLEVBQUUsUUFBUSxFQUFpQixnQkFBZ0IsRUFBMEIsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUQsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQThFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBVzlILE1BQU0sT0FBTywwQkFBMEI7SUF5QnJDO1FBdEJBLGVBQVUsR0FBRyxLQUFLLEVBQTZCLENBQUM7UUFFaEQsVUFBSyxHQUFHLEtBQUssRUFBaUIsQ0FBQztRQUUvQixTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBdUIsQ0FBQztRQUM3QyxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBaUIsQ0FBQztRQUU3QixrQkFBYSxHQUF3QixNQUFNLENBQU0sRUFBRSxDQUFDLENBQUM7UUFFdkQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQixtQkFBYyxHQUFHLE1B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QTBCLG1pQkFOMUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsY0FBYzthQUN4QjtTQUNGOzsyRkFFVSwwQkFBMEI7a0JBUnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxjQUFjO3lCQUN4QjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBJbmplY3RvciwgU2ltcGxlQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZiwgV3JpdGFibGVTaWduYWwsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGdldCwgbWVyZ2UsIHNldCwgc3VtIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL2J1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL3dpZGdldC1yZWdpc3Rlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRDb21wb25lbnQsIEFYUFdpZGdldE5vZGUsIEFYUFdpZGdldE5vZGVUb2tlbiwgQVhQV2lkZ2V0UmVuZGVyTW9kZSwgQVhQX1dJREdFVF9UT0tFTiB9IGZyb20gJy4vd2lkZ2V0LnR5cGVzJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXhwLXdpZGdldC1yZW5kZXJlcl0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFVuc3Vic2NyaWJlcixcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXaWRnZXRSZW5kZXJlckRpcmVjdGl2ZSB7XG5cblxuICBwYXJlbnROb2RlID0gaW5wdXQ8QVhQV2lkZ2V0Q29tcG9uZW50IHwgbnVsbD4oKTtcblxuICBpbmRleCA9IGlucHV0PG51bWJlciB8IG51bGw+KCk7XG5cbiAgbW9kZSA9IGlucHV0LnJlcXVpcmVkPEFYUFdpZGdldFJlbmRlck1vZGU+KCk7XG4gIG5vZGUgPSBpbnB1dC5yZXF1aXJlZDxBWFBXaWRnZXROb2RlPigpO1xuXG4gIHByb3RlY3RlZCBtZXJnZWRPcHRpb25zOiBXcml0YWJsZVNpZ25hbDxhbnk+ID0gc2lnbmFsPGFueT4oe30pO1xuXG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcm90ZWN0ZWQgYnVpbGRlclNlcnZpY2UgPSBpbmplY3QoQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgd2lkZ2V0UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUFdpZGdldFJlZ2lzdHJ5U2VydmljZSk7XG4gIHByb3RlY3RlZCB1bnN1YnNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuICBwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgcHJvdGVjdGVkIGlzTG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgaW5zdGFuY2UhOiBBWFBXaWRnZXRDb21wb25lbnQ7XG4gIHByaXZhdGUgZXhwcmVzc2lvbkNhY2hlOiBNYXA8c3RyaW5nLCAoKSA9PiBQcm9taXNlPGFueT4+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGV4cHJlc3Npb25FdmFsdWF0b3JzOiBNYXA8c3RyaW5nLCAoKSA9PiBQcm9taXNlPGFueT4+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIHNjb3BlOiBhbnkgPSBudWxsO1xuICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5idWlsZGVyU2VydmljZS5vbkNoYW5nZWRcbiAgICAgIC5waXBlKHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChlKSA9PiB7XG4gICAgICAgIGlmICgoYXdhaXQgdGhpcy51cGRhdGVPcHRpb25zQmFzZWRPbkNvbnRleHQoKSkgPiAwKSB7XG4gICAgICAgICAgdGhpcy5hcHBseU9wdGlvbnMoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jaGVja0Zvcm11bGFGb3JVcGRhdGUodGhpcy5ub2RlKCkuZm9ybXVsYSwgZS5wYXRoKSkge1xuICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlVmFsdWVCYXNlZE9uRm9ybXVsYSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIERldGVjdCBpbnB1dCBjaGFuZ2VzXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snbW9kZSddIHx8IGNoYW5nZXNbJ25vZGUnXSkge1xuICAgICAgLy8gQ2hlY2sgaWYgZWl0aGVyICdtb2RlJyBvciAnbm9kZScgaGFzIGNoYW5nZWRcbiAgICAgIGF3YWl0IHRoaXMucmVyZW5kZXJDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlcmVuZGVyQ29tcG9uZW50KCkge1xuICAgIC8vIERlc3Ryb3kgdGhlIGV4aXN0aW5nIGNvbXBvbmVudCBpZiBpdCBleGlzdHNcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB9XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKClcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpXG4gICAgLy8gQ2FsbCBsb2FkQ29tcG9uZW50IHRvIGNyZWF0ZSBhbmQgcmVuZGVyIHRoZSBjb21wb25lbnRcbiAgICBhd2FpdCB0aGlzLmxvYWRDb21wb25lbnQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZENvbXBvbmVudCgpIHtcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcoKSlcbiAgICAgIHJldHVybjtcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgY29uc3Qgd2lkZ2V0ID0gdGhpcy53aWRnZXRSZWdpc3RlcnkucmVzb2x2ZSh0aGlzLm5vZGUoKS50eXBlKTtcbiAgICAvL1xuICAgIGNvbnN0IHByb3BzID0gd2lkZ2V0Py5jb21wb25lbnRzW3RoaXMubW9kZSgpXT8ucHJvcGVydGllc1xuICAgICAgPy5maWx0ZXIoKGMpID0+IGMuc2NoZW1hLmRlZmF1bHRWYWx1ZSlcbiAgICAgIC5tYXAoKGMpID0+ICh7IFtjLm5hbWVdOiBjLnNjaGVtYS5kZWZhdWx0VmFsdWUgfSkpXG4gICAgICAucmVkdWNlKChhY2MsIGN1cnIpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCAuLi5jdXJyIH07XG4gICAgICB9LCB7fSk7XG4gICAgLy9cbiAgICB0aGlzLm1lcmdlZE9wdGlvbnMuc2V0KG1lcmdlKHByb3BzLCB0aGlzLm5vZGUoKS5vcHRpb25zKSB8fCB7fSk7XG4gICAgdGhpcy5wcmVwcm9jZXNzQW5kSW5pdGlhbE9wdGlvbnMoY2xvbmVEZWVwKHRoaXMubm9kZSgpLm9wdGlvbnMpKTtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZU9wdGlvbnNCYXNlZE9uQ29udGV4dCgpO1xuICAgIC8vXG4gICAgY29uc3QgdG9rZW5WYWx1ZSA9IHtcbiAgICAgIG5vZGU6IHRoaXMubm9kZSgpLFxuICAgICAgb3B0aW9uczogdGhpcy5tZXJnZWRPcHRpb25zKCksXG4gICAgICBjb25maWc6IHdpZGdldCxcbiAgICB9IGFzIEFYUFdpZGdldE5vZGVUb2tlbjtcbiAgICBjb25zdCB0b2tlbiA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFYUF9XSURHRVRfVE9LRU4sXG4gICAgICAgICAgdXNlVmFsdWU6IHRva2VuVmFsdWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICAgIC8vXG4gICAgY29uc3QgY29tID0gYXdhaXQgd2lkZ2V0Py5jb21wb25lbnRzW3RoaXMubW9kZSgpXT8uY29tcG9uZW50KCk7XG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PEFYUFdpZGdldENvbXBvbmVudDxhbnk+Pihjb20sIHsgaW5qZWN0b3I6IHRva2VuIH0pO1xuICAgIHRoaXMuaW5zdGFuY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICB0aGlzLmluc3RhbmNlLnBhcmVudCA9IHRoaXMucGFyZW50Tm9kZSgpO1xuICAgIHRoaXMuaW5zdGFuY2UuaW5kZXggPSB0aGlzLmluZGV4KCk7XG4gICAgdGhpcy5pbnN0YW5jZS5tb2RlID0gdGhpcy5tb2RlKCk7XG4gICAgYXdhaXQgdGhpcy51cGRhdGVWYWx1ZUJhc2VkT25Gb3JtdWxhKCk7XG4gICAgYXdhaXQgdGhpcy5hc3NpZ25UcmlnZ2VycygpO1xuICAgIC8vXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5pbnN0YW5jZSkgcmV0dXJuO1xuICAgIHRoaXMuaW5zdGFuY2Uuc2V0T3B0aW9ucyh0aGlzLm1lcmdlZE9wdGlvbnMoKSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRm9ybXVsYUZvclVwZGF0ZShmb3JtdWxhOiBzdHJpbmcgfCB1bmRlZmluZWQsIHBhdGg/OiBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKGZvcm11bGEpIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gL2NvbnRleHRcXC5ldmFsXFwoJyhbXiddKyknXFwpL2c7XG4gICAgICBjb25zdCBtYXRjaGVzID0gZm9ybXVsYS5tYXRjaChyZWdleCk7XG4gICAgICBjb25zdCBub2RlcyA9IG1hdGNoZXMgPyBtYXRjaGVzLm1hcCgobWF0Y2g6IGFueSkgPT4gbWF0Y2gubWF0Y2goLycoW14nXSspJy8pWzFdKSA6IFtdO1xuICAgICAgcmV0dXJuIG5vZGVzLmluY2x1ZGVzKHBhdGgpO1xuICAgIH0gZWxzZSByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcmVwcm9jZXNzQW5kSW5pdGlhbE9wdGlvbnMob2JqOiBhbnksIHBhdGhQcmVmaXg6IHN0cmluZyA9ICcnKTogdm9pZCB7XG4gICAgaWYgKCFvYmopIHJldHVybjtcbiAgICBPYmplY3QuZW50cmllcyhvYmopLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgY3VycmVudFBhdGggPSBwYXRoUHJlZml4ID8gYCR7cGF0aFByZWZpeH0uJHtrZXl9YCA6IGtleTtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmluY2x1ZGVzKCd7eycpKSB7XG4gICAgICAgIC8vIENhY2hlIGR5bmFtaWMgZXhwcmVzc2lvbiBmb3IgbGF0ZXIgZXZhbHVhdGlvblxuICAgICAgICB0aGlzLmV4cHJlc3Npb25FdmFsdWF0b3JzLnNldChjdXJyZW50UGF0aCwgKCkgPT4gdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24odmFsdWUpKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCB8fCBBcnJheS5pc0FycmF5KHZhbHVlKSkpIHtcbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgaGFuZGxlIG5lc3RlZCBvYmplY3RzXG4gICAgICAgIHRoaXMucHJlcHJvY2Vzc0FuZEluaXRpYWxPcHRpb25zKHZhbHVlLCBjdXJyZW50UGF0aCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBBcHBseSBzdGF0aWMgdmFsdWVzIGRpcmVjdGx5XG4gICAgICAgIHRoaXMubWVyZ2VkT3B0aW9ucy51cGRhdGUoKGN1cnJlbnRPcHRpb25zKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHNldChjdXJyZW50T3B0aW9ucywgY3VycmVudFBhdGgsIHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVPcHRpb25zQmFzZWRPbkNvbnRleHQoKSB7XG4gICAgY29uc3QgdXBkYXRlczogYW55W10gPSBbXTtcbiAgICBmb3IgKGxldCBbcGF0aCwgZXZhbHVhdG9yXSBvZiB0aGlzLmV4cHJlc3Npb25FdmFsdWF0b3JzKSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGF3YWl0IGV2YWx1YXRvcigpO1xuICAgICAgdXBkYXRlcy5wdXNoKHsgcGF0aCwgbmV3VmFsdWUgfSk7XG4gICAgfVxuICAgIC8vIEFwcGx5IHVwZGF0ZXMgdG8gbWVyZ2VkT3B0aW9uc1xuICAgIGlmICh1cGRhdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubWVyZ2VkT3B0aW9ucy51cGRhdGUoKG8pID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZE9wdGlvbnMgPSB7IC4uLm8gfTtcbiAgICAgICAgdXBkYXRlcy5mb3JFYWNoKCh7IHBhdGgsIG5ld1ZhbHVlIH0pID0+IHtcbiAgICAgICAgICAvLyBTZXQgdGhlIG5ldyB2YWx1ZSBpbiB0aGUgdXBkYXRlZE9wdGlvbnMgb2JqZWN0IGJ5IHBhdGhcbiAgICAgICAgICBzZXQodXBkYXRlZE9wdGlvbnMsIHBhdGgsIG5ld1ZhbHVlKTsgLy8gQXNzdW1pbmcgJ3NldCcgY2FuIGhhbmRsZSBwYXRocyBsaWtlICdwcm9wZXJ0eS5zdWJwcm9wZXJ0eSdcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB1cGRhdGVkT3B0aW9ucztcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdXBkYXRlcy5sZW5ndGg7XG4gIH1cblxuICBhc3luYyB1cGRhdGVWYWx1ZUJhc2VkT25Gb3JtdWxhKCkge1xuICAgIGlmICh0aGlzLm5vZGUoKS5mb3JtdWxhKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IHRoaXMuZXZhbHVhdGVFeHByZXNzaW9uKHRoaXMubm9kZSgpLmZvcm11bGEhKTtcbiAgICAgIHRoaXMuaW5zdGFuY2Uuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXZhbHVhdGVFeHByZXNzaW9uKHRlbXBsYXRlRXhwcmVzc2lvbjogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0cnkge1xuICAgICAgLy8gQ2hlY2sgY2FjaGUgZmlyc3QsIGJ1dCBjYWNoZSB0aGUgZnVuY3Rpb24gZm9yIGV2YWx1YXRpb24sIG5vdCB0aGUgZXZhbHVhdGVkIHZhbHVlXG4gICAgICBpZiAoIXRoaXMuZXhwcmVzc2lvbkNhY2hlLmhhcyh0ZW1wbGF0ZUV4cHJlc3Npb24pKSB7XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb25NYXRjaCA9IHRlbXBsYXRlRXhwcmVzc2lvbi5tYXRjaCgvXFx7XFx7XFxzKiguKj8pXFxzKlxcfVxcfS8pO1xuICAgICAgICBpZiAoIWV4cHJlc3Npb25NYXRjaCkge1xuICAgICAgICAgIHRocm93IEVycm9yKGBObyB2YWxpZCBleHByZXNzaW9uIGZvdW5kIGluIFwiJHt0ZW1wbGF0ZUV4cHJlc3Npb259XCJgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBleHByZXNzaW9uID0gZXhwcmVzc2lvbk1hdGNoWzFdO1xuXG4gICAgICAgIC8vIENhY2hlIHRoZSBldmFsdWF0aW9uIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIHJlc3VsdFxuICAgICAgICBjb25zdCBzY29wZSA9IHRoaXMuZ2V0R2xvYmFsU2NvcGUoKTtcbiAgICAgICAgY29uc3QgZXZhbHVhdGlvbkZ1bmN0aW9uID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNhbmRib3ggPSBuZXcgRnVuY3Rpb24oJ3Njb3BlJywgYHdpdGggKHNjb3BlKSB7IHJldHVybiAoYXN5bmMgZnVuY3Rpb24oKSB7IHJldHVybiAke2V4cHJlc3Npb259OyB9KSgpOyB9YCk7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IHNhbmRib3goc2NvcGUpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZXhwcmVzc2lvbkNhY2hlLnNldCh0ZW1wbGF0ZUV4cHJlc3Npb24sIGV2YWx1YXRpb25GdW5jdGlvbik7XG4gICAgICB9XG5cbiAgICAgIC8vIFJldHJpZXZlIHRoZSBmdW5jdGlvbiBmcm9tIHRoZSBjYWNoZSBhbmQgY2FsbCBpdCB0byBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvblxuICAgICAgY29uc3QgZXZhbHVhdGUgPSB0aGlzLmV4cHJlc3Npb25DYWNoZS5nZXQodGVtcGxhdGVFeHByZXNzaW9uKTtcbiAgICAgIGlmIChldmFsdWF0ZSkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBldmFsdWF0ZSgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYEZhaWxlZCB0byByZXRyaWV2ZSBldmFsdWF0aW9uIGZ1bmN0aW9uIGZvciBleHByZXNzaW9uOiBcIiR7dGVtcGxhdGVFeHByZXNzaW9ufVwiYCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV2YWx1YXRpbmcgZXhwcmVzc2lvbjonLCBlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRHbG9iYWxTY29wZSgpIHtcbiAgICBpZiAodGhpcy5zY29wZSkgcmV0dXJuIHRoaXMuc2NvcGU7XG4gICAgdGhpcy5zY29wZSA9IHt9O1xuICAgIHNldCh0aGlzLnNjb3BlLCAnY29udGV4dCcsIHRoaXMuZ2V0Q29udGV4dFNjb3BlKCkpO1xuICAgIHNldCh0aGlzLnNjb3BlLCAnZXZlbnRzJywgdGhpcy5nZXRFdmVudFNjb3BlKCkpO1xuICAgIHNldCh0aGlzLnNjb3BlLCAnd2lkZ2V0JywgdGhpcy5nZXRXaWRnZXRTY29wZSgpKTtcbiAgICBzZXQodGhpcy5zY29wZSwgJ21ldGhvZHMnLCB0aGlzLmdldEZ1bmN0aW9uU2NvcGUoKSk7XG4gICAgc2V0KHRoaXMuc2NvcGUsICd2YXJzJywgdGhpcy5nZXRWYXJpYWJsZXNTY29wZSgpKTtcbiAgICByZXR1cm4gdGhpcy5zY29wZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udGV4dFNjb3BlKCk6IGFueSB7XG4gICAgY29uc3Qgc2NvcGU6IGFueSA9IHt9O1xuICAgIHNldChzY29wZSwgJ2V2YWwnLCAocGF0aDogc3RyaW5nKSA9PiB0aGlzLmJ1aWxkZXJTZXJ2aWNlLmdldFZhbHVlKHBhdGgpKTtcbiAgICByZXR1cm4gc2NvcGU7XG4gIH1cblxuICBwcml2YXRlIGdldEV2ZW50U2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgc2V0KHNjb3BlLCAnY29udGV4dCcsIChwYXRoOiBzdHJpbmcpID0+IHRoaXMuYnVpbGRlclNlcnZpY2Uub25DaGFuZ2VkLnBpcGUoZmlsdGVyKChjKSA9PiBjLnBhdGggPT0gcGF0aCkpKTtcbiAgICBzZXQoc2NvcGUsICdmcm9tJywgKGV2ZW50OiBzdHJpbmcpID0+IGdldCh0aGlzLmluc3RhbmNlLmFwaSgpLCBldmVudCkpO1xuICAgIHJldHVybiBzY29wZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V2lkZ2V0U2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgc2V0KHNjb3BlLCAnY2FsbCcsIChuYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICB0aGlzLmluc3RhbmNlLmNhbGwobmFtZSwgLi4uYXJncyk7XG4gICAgfSk7XG4gICAgc2V0KHNjb3BlLCAnZmluZCcsIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5idWlsZGVyU2VydmljZS5nZXRXaWRnZXQoaWQpPy5hcGkoKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc2NvcGU7XG4gIH1cblxuICBwcml2YXRlIGdldEZ1bmN0aW9uU2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgc2V0KHNjb3BlLCAnc3VtJywgKHZhbHVlczogYW55KSA9PiB7XG4gICAgICByZXR1cm4gc3VtKHZhbHVlcyk7XG4gICAgfSk7XG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5idWlsZGVyU2VydmljZS5mdW5jdGlvbnMpLmZvckVhY2goKGkpID0+IHtcbiAgICAgIHNldChzY29wZSwgaVswXSwgKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgIHJldHVybiBpWzFdKC4uLmFyZ3MpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHNjb3BlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXJpYWJsZXNTY29wZSgpOiBhbnkge1xuICAgIGNvbnN0IHNjb3BlOiBhbnkgPSB7fTtcbiAgICBzZXQoc2NvcGUsICdldmFsJywgKHBhdGg6IHN0cmluZykgPT4gZ2V0KHRoaXMuYnVpbGRlclNlcnZpY2UudmFyaWFibGVzLCBwYXRoKSk7XG4gICAgcmV0dXJuIHNjb3BlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhc3NpZ25UcmlnZ2VycygpIHtcbiAgICB0aGlzLm5vZGUoKS50cmlnZ2Vycz8uZm9yRWFjaCgodCkgPT4ge1xuICAgICAgY29uc3QgZXZlbnQgPSB0aGlzLmV2YWx1YXRlVHJpZ2dlcih0LmV2ZW50KTtcbiAgICAgIGV2ZW50Py5waXBlKHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgICB0aGlzLmV2YWx1YXRlQWN0aW9uKHQuYWN0aW9uKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBldmFsdWF0ZVRyaWdnZXIodGVtcGxhdGVFeHByZXNzaW9uOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZXhwcmVzc2lvbk1hdGNoID0gdGVtcGxhdGVFeHByZXNzaW9uLm1hdGNoKC9cXHtcXHtcXHMqKC4qPylcXHMqXFx9XFx9Lyk7XG4gICAgICBpZiAoIWV4cHJlc3Npb25NYXRjaCkge1xuICAgICAgICB0aHJvdyBFcnJvcihgTm8gdmFsaWQgZXhwcmVzc2lvbiBmb3VuZCBpbiBcIiR7dGVtcGxhdGVFeHByZXNzaW9ufVwiYCk7XG4gICAgICB9XG4gICAgICBjb25zdCBleHByZXNzaW9uID0gZXhwcmVzc2lvbk1hdGNoWzFdO1xuXG4gICAgICAvLyBDYWNoZSB0aGUgZXZhbHVhdGlvbiBmdW5jdGlvbiBpbnN0ZWFkIG9mIHRoZSByZXN1bHRcbiAgICAgIGNvbnN0IHNjb3BlID0gdGhpcy5nZXRHbG9iYWxTY29wZSgpO1xuICAgICAgY29uc3Qgc2FuZGJveCA9IG5ldyBGdW5jdGlvbignc2NvcGUnLCBgd2l0aCAoc2NvcGUpIHsgcmV0dXJuICggIGZ1bmN0aW9uKCkgeyByZXR1cm4gJHtleHByZXNzaW9ufTsgfSkoKTsgfWApO1xuICAgICAgcmV0dXJuIHNhbmRib3goc2NvcGUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBldmFsdWF0aW5nIGV4cHJlc3Npb246JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBldmFsdWF0ZUFjdGlvbih0ZW1wbGF0ZUV4cHJlc3Npb246IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uTWF0Y2ggPSB0ZW1wbGF0ZUV4cHJlc3Npb24ubWF0Y2goL1xce1xce1xccyooLio/KVxccypcXH1cXH0vKTtcbiAgICAgIGlmICghZXhwcmVzc2lvbk1hdGNoKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBObyB2YWxpZCBleHByZXNzaW9uIGZvdW5kIGluIFwiJHt0ZW1wbGF0ZUV4cHJlc3Npb259XCJgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBleHByZXNzaW9uTWF0Y2hbMV07XG5cbiAgICAgIC8vIENhY2hlIHRoZSBldmFsdWF0aW9uIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIHJlc3VsdFxuICAgICAgY29uc3Qgc2NvcGU6IGFueSA9IHRoaXMuZ2V0R2xvYmFsU2NvcGUoKTtcbiAgICAgIGNvbnN0IHNhbmRib3ggPSBuZXcgRnVuY3Rpb24oJ3Njb3BlJywgYHdpdGggKHNjb3BlKSB7ICAke2V4cHJlc3Npb259IH1gKTtcbiAgICAgIHNhbmRib3goc2NvcGUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBldmFsdWF0aW5nIGV4cHJlc3Npb246JywgZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
319
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXJlbmRlcmVyLmNvbXBvbmVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9idWlsZGVyL3NyYy9saWIvYnVpbGRlci93aWRnZXQtcmVuZGVyZXIuY29tcG9uZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUVMLFNBQVMsRUFDVCxRQUFRLEVBRVIsZ0JBQWdCLEVBRWhCLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVELE9BQU8sRUFBYyxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUtMLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDOztBQVV4QixNQUFNLE9BQU8sMEJBQTBCO0lBdUJyQztRQXRCQSxlQUFVLEdBQUcsS0FBSyxFQUE2QixDQUFDO1FBRWhELFVBQUssR0FBRyxLQUFLLEVBQWlCLENBQUM7UUFFL0IsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7UUFDN0MsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWlCLENBQUM7UUFFN0Isa0JBQWEsR0FBd0IsTUFBTSxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXZELGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsbUJBQWMsR0FBRyxNQUFN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SSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNyQixNQUFNLEtBQUssQ0FBQyxpQ0FBaUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEMsc0RBQXNEO1lBQ3RELE1BQU0sS0FBSyxHQUFRLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLFVBQVUsSUFBSSxDQUFDLENBQUM7WUFDekUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQzs4R0FqVVUsMEJBQTBCO2tHQUExQiwwQkFBMEIsbWlCQU4xQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxjQUFjO2FBQ3hCO1NBQ0Y7OzJGQUVVLDBCQUEwQjtrQkFSdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGNBQWM7eUJBQ3hCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEluamVjdG9yLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBXcml0YWJsZVNpZ25hbCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgZ2V0LCBtZXJnZSwgc2V0LCBzdW0gfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUFdpZGdldFJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4vd2lkZ2V0LXJlZ2lzdGVyeS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFYUFdpZGdldENvbXBvbmVudCxcbiAgQVhQV2lkZ2V0Tm9kZSxcbiAgQVhQV2lkZ2V0Tm9kZVRva2VuLFxuICBBWFBXaWRnZXRSZW5kZXJNb2RlLFxuICBBWFBfV0lER0VUX1RPS0VOLFxufSBmcm9tICcuL3dpZGdldC50eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theHAtd2lkZ2V0LXJlbmRlcmVyXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYVW5zdWJzY3JpYmVyLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdpZGdldFJlbmRlcmVyRGlyZWN0aXZlIHtcbiAgcGFyZW50Tm9kZSA9IGlucHV0PEFYUFdpZGdldENvbXBvbmVudCB8IG51bGw+KCk7XG5cbiAgaW5kZXggPSBpbnB1dDxudW1iZXIgfCBudWxsPigpO1xuXG4gIG1vZGUgPSBpbnB1dC5yZXF1aXJlZDxBWFBXaWRnZXRSZW5kZXJNb2RlPigpO1xuICBub2RlID0gaW5wdXQucmVxdWlyZWQ8QVhQV2lkZ2V0Tm9kZT4oKTtcblxuICBwcm90ZWN0ZWQgbWVyZ2VkT3B0aW9uczogV3JpdGFibGVTaWduYWw8YW55PiA9IHNpZ25hbDxhbnk+KHt9KTtcblxuICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJvdGVjdGVkIGJ1aWxkZXJTZXJ2aWNlID0gaW5qZWN0KEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHdpZGdldFJlZ2lzdGVyeSA9IGluamVjdChBWFBXaWRnZXRSZWdpc3RyeVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgdW5zdWJzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcbiAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIGluc3RhbmNlITogQVhQV2lkZ2V0Q29tcG9uZW50O1xuICBwcml2YXRlIGV4cHJlc3Npb25DYWNoZTogTWFwPHN0cmluZywgKCkgPT4gUHJvbWlzZTxhbnk+PiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBleHByZXNzaW9uRXZhbHVhdG9yczogTWFwPHN0cmluZywgKCkgPT4gUHJvbWlzZTxhbnk+PiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBzY29wZTogYW55ID0gbnVsbDtcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYnVpbGRlclNlcnZpY2Uub25DaGFuZ2VkLnBpcGUodGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKGFzeW5jIChlKSA9PiB7XG4gICAgICBpZiAoKGF3YWl0IHRoaXMudXBkYXRlT3B0aW9uc0Jhc2VkT25Db250ZXh0KCkpID4gMCkge1xuICAgICAgICB0aGlzLmFwcGx5T3B0aW9ucygpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY2hlY2tGb3JtdWxhRm9yVXBkYXRlKHRoaXMubm9kZSgpLmZvcm11bGEsIGUucGF0aCkpIHtcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVWYWx1ZUJhc2VkT25Gb3JtdWxhKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5idWlsZGVyU2VydmljZS5vblJlZnJlc2gucGlwZSh0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgaWYgKChhd2FpdCB0aGlzLnVwZGF0ZU9wdGlvbnNCYXNlZE9uQ29udGV4dCgpKSA+IDApIHtcbiAgICAgICAgdGhpcy5hcHBseU9wdGlvbnMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cbiAgLy8gYXN5bmMgbmdPbkluaXQoKSB7XG4gIC8vICAgYXdhaXQgdGhpcy5yZXJlbmRlckNvbXBvbmVudCgpO1xuICAvLyB9XG5cbiAgLy8gYXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xuICAvLyAgIGF3YWl0IHRoaXMucmVyZW5kZXJDb21wb25lbnQoKTtcbiAgLy8gfVxuXG4gIC8vIERldGVjdCBpbnB1dCBjaGFuZ2VzXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snbW9kZSddIHx8IGNoYW5nZXNbJ25vZGUnXSkge1xuICAgICAgLy8gQ2hlY2sgaWYgZWl0aGVyICdtb2RlJyBvciAnbm9kZScgaGFzIGNoYW5nZWRcbiAgICAgIHRoaXMucmVyZW5kZXJDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlcmVuZGVyQ29tcG9uZW50KCkge1xuICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgLy8gQ2FsbCBsb2FkQ29tcG9uZW50IHRvIGNyZWF0ZSBhbmQgcmVuZGVyIHRoZSBjb21wb25lbnRcbiAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMubG9hZENvbXBvbmVudCgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkQ29tcG9uZW50KCkge1xuICAgIGlmICh0aGlzLmlzTG9hZGluZygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAvLyBEZXN0cm95IHRoZSBleGlzdGluZyBjb21wb25lbnQgaWYgaXQgZXhpc3RzXG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfVxuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIC8vXG4gICAgY29uc3Qgd2lkZ2V0ID0gdGhpcy53aWRnZXRSZWdpc3RlcnkucmVzb2x2ZSh0aGlzLm5vZGUoKS50eXBlKTtcbiAgICAvL1xuICAgIGNvbnN0IHByb3BzID0gd2lkZ2V0Py5jb21wb25lbnRzW3RoaXMubW9kZSgpXT8ucHJvcGVydGllc1xuICAgICAgPy5maWx0ZXIoKGMpID0+IGMuc2NoZW1hLmRlZmF1bHRWYWx1ZSlcbiAgICAgIC5tYXAoKGMpID0+ICh7IFtjLm5hbWVdOiBjLnNjaGVtYS5kZWZhdWx0VmFsdWUgfSkpXG4gICAgICAucmVkdWNlKChhY2MsIGN1cnIpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCAuLi5jdXJyIH07XG4gICAgICB9LCB7fSk7XG4gICAgLy9cbiAgICB0aGlzLm1lcmdlZE9wdGlvbnMuc2V0KG1lcmdlKHByb3BzLCB0aGlzLm5vZGUoKS5vcHRpb25zKSB8fCB7fSk7XG4gICAgdGhpcy5wcmVwcm9jZXNzQW5kSW5pdGlhbE9wdGlvbnMoY2xvbmVEZWVwKHRoaXMubm9kZSgpLm9wdGlvbnMpKTtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZU9wdGlvbnNCYXNlZE9uQ29udGV4dCgpO1xuICAgIC8vXG4gICAgY29uc3QgdG9rZW5WYWx1ZSA9IHtcbiAgICAgIG5vZGU6IHRoaXMubm9kZSgpLFxuICAgICAgb3B0aW9uczogdGhpcy5tZXJnZWRPcHRpb25zKCksXG4gICAgICBjb25maWc6IHdpZGdldCxcbiAgICB9IGFzIEFYUFdpZGdldE5vZGVUb2tlbjtcbiAgICBjb25zdCB0b2tlbiA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFYUF9XSURHRVRfVE9LRU4sXG4gICAgICAgICAgdXNlVmFsdWU6IHRva2VuVmFsdWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICAgIC8vXG4gICAgY29uc3QgY29tID0gYXdhaXQgd2lkZ2V0Py5jb21wb25lbnRzW3RoaXMubW9kZSgpXT8uY29tcG9uZW50KCk7XG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PEFYUFdpZGdldENvbXBvbmVudDxhbnk+Pihjb20sIHsgaW5qZWN0b3I6IHRva2VuIH0pO1xuICAgIHRoaXMuaW5zdGFuY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICB0aGlzLmluc3RhbmNlLnBhcmVudCA9IHRoaXMucGFyZW50Tm9kZSgpO1xuICAgIHRoaXMuaW5zdGFuY2UuaW5kZXggPSB0aGlzLmluZGV4KCk7XG4gICAgdGhpcy5pbnN0YW5jZS5tb2RlID0gdGhpcy5tb2RlKCk7XG4gICAgYXdhaXQgdGhpcy51cGRhdGVWYWx1ZUJhc2VkT25Gb3JtdWxhKCk7XG4gICAgYXdhaXQgdGhpcy5hc3NpZ25UcmlnZ2VycygpO1xuICAgIC8vXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlPcHRpb25zKCkge1xuICAgIGlmICghdGhpcy5pbnN0YW5jZSkgcmV0dXJuO1xuICAgIHRoaXMuaW5zdGFuY2Uuc2V0T3B0aW9ucyh0aGlzLm1lcmdlZE9wdGlvbnMoKSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRm9ybXVsYUZvclVwZGF0ZShmb3JtdWxhOiBzdHJpbmcgfCB1bmRlZmluZWQsIHBhdGg/OiBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKGZvcm11bGEpIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gL2NvbnRleHRcXC5ldmFsXFwoJyhbXiddKyknXFwpL2c7XG4gICAgICBjb25zdCBtYXRjaGVzID0gZm9ybXVsYS5tYXRjaChyZWdleCk7XG4gICAgICBjb25zdCBub2RlcyA9IG1hdGNoZXMgPyBtYXRjaGVzLm1hcCgobWF0Y2g6IGFueSkgPT4gbWF0Y2gubWF0Y2goLycoW14nXSspJy8pWzFdKSA6IFtdO1xuICAgICAgcmV0dXJuIG5vZGVzLmluY2x1ZGVzKHBhdGgpO1xuICAgIH0gZWxzZSByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcmVwcm9jZXNzQW5kSW5pdGlhbE9wdGlvbnMob2JqOiBhbnksIHBhdGhQcmVmaXg6IHN0cmluZyA9ICcnKTogdm9pZCB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgT2JqZWN0LmVudHJpZXMob2JqKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gcGF0aFByZWZpeCA/IGAke3BhdGhQcmVmaXh9LiR7a2V5fWAgOiBrZXk7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5pbmNsdWRlcygne3snKSkge1xuICAgICAgICAvLyBDYWNoZSBkeW5hbWljIGV4cHJlc3Npb24gZm9yIGxhdGVyIGV2YWx1YXRpb25cbiAgICAgICAgdGhpcy5leHByZXNzaW9uRXZhbHVhdG9ycy5zZXQoY3VycmVudFBhdGgsICgpID0+IHRoaXMuZXZhbHVhdGVFeHByZXNzaW9uKHZhbHVlKSk7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgICAgICh2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0IHx8IEFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgKSB7XG4gICAgICAgIC8vIFJlY3Vyc2l2ZWx5IGhhbmRsZSBuZXN0ZWQgb2JqZWN0c1xuICAgICAgICB0aGlzLnByZXByb2Nlc3NBbmRJbml0aWFsT3B0aW9ucyh2YWx1ZSwgY3VycmVudFBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQXBwbHkgc3RhdGljIHZhbHVlcyBkaXJlY3RseVxuICAgICAgICB0aGlzLm1lcmdlZE9wdGlvbnMudXBkYXRlKChjdXJyZW50T3B0aW9ucykgPT4ge1xuICAgICAgICAgIHJldHVybiBzZXQoY3VycmVudE9wdGlvbnMsIGN1cnJlbnRQYXRoLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlT3B0aW9uc0Jhc2VkT25Db250ZXh0KCkge1xuICAgIGNvbnN0IHVwZGF0ZVByb21pc2VzID0gQXJyYXkuZnJvbSh0aGlzLmV4cHJlc3Npb25FdmFsdWF0b3JzKS5tYXAoYXN5bmMgKFtwYXRoLCBldmFsdWF0b3JdKSA9PiB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGF3YWl0IGV2YWx1YXRvcigpO1xuICAgICAgcmV0dXJuIHsgcGF0aCwgbmV3VmFsdWUgfTtcbiAgICB9KTtcbiAgICAvLyBXYWl0IGZvciBhbGwgZXZhbHVhdG9ycyB0byBjb21wbGV0ZVxuICAgIGNvbnN0IHVwZGF0ZXMgPSBhd2FpdCBQcm9taXNlLmFsbCh1cGRhdGVQcm9taXNlcyk7XG4gICAgLy8gQXBwbHkgdXBkYXRlcyB0byBtZXJnZWRPcHRpb25zXG4gICAgaWYgKHVwZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5tZXJnZWRPcHRpb25zLnVwZGF0ZSgobykgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVkT3B0aW9ucyA9IHsgLi4ubyB9O1xuICAgICAgICB1cGRhdGVzLmZvckVhY2goKHsgcGF0aCwgbmV3VmFsdWUgfSkgPT4ge1xuICAgICAgICAgIC8vIFNldCB0aGUgbmV3IHZhbHVlIGluIHRoZSB1cGRhdGVkT3B0aW9ucyBvYmplY3QgYnkgcGF0aFxuICAgICAgICAgIHNldCh1cGRhdGVkT3B0aW9ucywgcGF0aCwgbmV3VmFsdWUpOyAvLyBBc3N1bWluZyAnc2V0JyBjYW4gaGFuZGxlIHBhdGhzIGxpa2UgJ3Byb3BlcnR5LnN1YnByb3BlcnR5J1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRPcHRpb25zO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB1cGRhdGVzLmxlbmd0aDtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVZhbHVlQmFzZWRPbkZvcm11bGEoKSB7XG4gICAgaWYgKHRoaXMubm9kZSgpLmZvcm11bGEpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gYXdhaXQgdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24odGhpcy5ub2RlKCkuZm9ybXVsYSEpO1xuICAgICAgdGhpcy5pbnN0YW5jZS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBldmFsdWF0ZUV4cHJlc3Npb24odGVtcGxhdGVFeHByZXNzaW9uOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBDaGVjayBjYWNoZSBmaXJzdCwgYnV0IGNhY2hlIHRoZSBmdW5jdGlvbiBmb3IgZXZhbHVhdGlvbiwgbm90IHRoZSBldmFsdWF0ZWQgdmFsdWVcbiAgICAgIGlmICghdGhpcy5leHByZXNzaW9uQ2FjaGUuaGFzKHRlbXBsYXRlRXhwcmVzc2lvbikpIHtcbiAgICAgICAgY29uc3QgZXhwcmVzc2lvbk1hdGNoID0gdGVtcGxhdGVFeHByZXNzaW9uLm1hdGNoKC9cXHtcXHtcXHMqKC4qPylcXHMqXFx9XFx9Lyk7XG4gICAgICAgIGlmICghZXhwcmVzc2lvbk1hdGNoKSB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoYE5vIHZhbGlkIGV4cHJlc3Npb24gZm91bmQgaW4gXCIke3RlbXBsYXRlRXhwcmVzc2lvbn1cImApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBleHByZXNzaW9uTWF0Y2hbMV07XG5cbiAgICAgICAgLy8gQ2FjaGUgdGhlIGV2YWx1YXRpb24gZnVuY3Rpb24gaW5zdGVhZCBvZiB0aGUgcmVzdWx0XG4gICAgICAgIGNvbnN0IHNjb3BlID0gdGhpcy5nZXRHbG9iYWxTY29wZSgpO1xuICAgICAgICBjb25zdCBldmFsdWF0aW9uRnVuY3Rpb24gPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc2FuZGJveCA9IG5ldyBGdW5jdGlvbihcbiAgICAgICAgICAgICdzY29wZScsXG4gICAgICAgICAgICBgd2l0aCAoc2NvcGUpIHsgcmV0dXJuIChhc3luYyBmdW5jdGlvbigpIHsgcmV0dXJuICR7ZXhwcmVzc2lvbn07IH0pKCk7IH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgc2FuZGJveChzY29wZSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5leHByZXNzaW9uQ2FjaGUuc2V0KHRlbXBsYXRlRXhwcmVzc2lvbiwgZXZhbHVhdGlvbkZ1bmN0aW9uKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmV0cmlldmUgdGhlIGZ1bmN0aW9uIGZyb20gdGhlIGNhY2hlIGFuZCBjYWxsIGl0IHRvIGV2YWx1YXRlIHRoZSBleHByZXNzaW9uXG4gICAgICBjb25zdCBldmFsdWF0ZSA9IHRoaXMuZXhwcmVzc2lvbkNhY2hlLmdldCh0ZW1wbGF0ZUV4cHJlc3Npb24pO1xuICAgICAgaWYgKGV2YWx1YXRlKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGV2YWx1YXRlKCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBFcnJvcihgRmFpbGVkIHRvIHJldHJpZXZlIGV2YWx1YXRpb24gZnVuY3Rpb24gZm9yIGV4cHJlc3Npb246IFwiJHt0ZW1wbGF0ZUV4cHJlc3Npb259XCJgKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXZhbHVhdGluZyBleHByZXNzaW9uOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEdsb2JhbFNjb3BlKCkge1xuICAgIGlmICh0aGlzLnNjb3BlKSByZXR1cm4gdGhpcy5zY29wZTtcbiAgICB0aGlzLnNjb3BlID0ge307XG4gICAgc2V0KHRoaXMuc2NvcGUsICdjb250ZXh0JywgdGhpcy5nZXRDb250ZXh0U2NvcGUoKSk7XG4gICAgc2V0KHRoaXMuc2NvcGUsICdldmVudHMnLCB0aGlzLmdldEV2ZW50U2NvcGUoKSk7XG4gICAgc2V0KHRoaXMuc2NvcGUsICd3aWRnZXQnLCB0aGlzLmdldFdpZGdldFNjb3BlKCkpO1xuICAgIHNldCh0aGlzLnNjb3BlLCAnbWV0aG9kcycsIHRoaXMuZ2V0RnVuY3Rpb25TY29wZSgpKTtcbiAgICBzZXQodGhpcy5zY29wZSwgJ3ZhcnMnLCB0aGlzLmdldFZhcmlhYmxlc1Njb3BlKCkpO1xuICAgIHJldHVybiB0aGlzLnNjb3BlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb250ZXh0U2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgc2V0KHNjb3BlLCAnZXZhbCcsIChwYXRoOiBzdHJpbmcpID0+IHRoaXMuYnVpbGRlclNlcnZpY2UuZ2V0VmFsdWUocGF0aCkpO1xuICAgIHJldHVybiBzY29wZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXZlbnRTY29wZSgpOiBhbnkge1xuICAgIGNvbnN0IHNjb3BlOiBhbnkgPSB7fTtcbiAgICBzZXQoc2NvcGUsICdjb250ZXh0JywgKHBhdGg6IHN0cmluZykgPT4gdGhpcy5idWlsZGVyU2VydmljZS5vbkNoYW5nZWQucGlwZShmaWx0ZXIoKGMpID0+IGMucGF0aCA9PSBwYXRoKSkpO1xuICAgIHNldChzY29wZSwgJ2Zyb20nLCAoZXZlbnQ6IHN0cmluZykgPT4gZ2V0KHRoaXMuaW5zdGFuY2UuYXBpKCksIGV2ZW50KSk7XG4gICAgcmV0dXJuIHNjb3BlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRXaWRnZXRTY29wZSgpOiBhbnkge1xuICAgIGNvbnN0IHNjb3BlOiBhbnkgPSB7fTtcbiAgICBzZXQoc2NvcGUsICdjYWxsJywgKG5hbWU6IHN0cmluZywgLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgIHRoaXMuaW5zdGFuY2UuY2FsbChuYW1lLCAuLi5hcmdzKTtcbiAgICB9KTtcbiAgICBzZXQoc2NvcGUsICdmaW5kJywgKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkZXJTZXJ2aWNlLmdldFdpZGdldChpZCk/LmFwaSgpO1xuICAgIH0pO1xuICAgIHJldHVybiBzY29wZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RnVuY3Rpb25TY29wZSgpOiBhbnkge1xuICAgIGNvbnN0IHNjb3BlOiBhbnkgPSB7fTtcbiAgICBzZXQoc2NvcGUsICdzdW0nLCAodmFsdWVzOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBzdW0odmFsdWVzKTtcbiAgICB9KTtcbiAgICBPYmplY3QuZW50cmllcyh0aGlzLmJ1aWxkZXJTZXJ2aWNlLmZ1bmN0aW9ucykuZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgc2V0KHNjb3BlLCBpWzBdLCAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgcmV0dXJuIGlbMV0oLi4uYXJncyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gc2NvcGU7XG4gIH1cblxuICBwcml2YXRlIGdldFZhcmlhYmxlc1Njb3BlKCk6IGFueSB7XG4gICAgY29uc3Qgc2NvcGU6IGFueSA9IHt9O1xuICAgIHNldChzY29wZSwgJ2V2YWwnLCAocGF0aDogc3RyaW5nKSA9PiBnZXQodGhpcy5idWlsZGVyU2VydmljZS52YXJpYWJsZXMsIHBhdGgpKTtcbiAgICByZXR1cm4gc2NvcGU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGFzc2lnblRyaWdnZXJzKCkge1xuICAgIHRoaXMubm9kZSgpLnRyaWdnZXJzPy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICBjb25zdCBldmVudCA9IHRoaXMuZXZhbHVhdGVUcmlnZ2VyKHQuZXZlbnQpO1xuICAgICAgZXZlbnQ/LnBpcGUodGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICAgIHRoaXMuZXZhbHVhdGVBY3Rpb24odC5hY3Rpb24pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGV2YWx1YXRlVHJpZ2dlcih0ZW1wbGF0ZUV4cHJlc3Npb246IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB8IG51bGwge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uTWF0Y2ggPSB0ZW1wbGF0ZUV4cHJlc3Npb24ubWF0Y2goL1xce1xce1xccyooLio/KVxccypcXH1cXH0vKTtcbiAgICAgIGlmICghZXhwcmVzc2lvbk1hdGNoKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBObyB2YWxpZCBleHByZXNzaW9uIGZvdW5kIGluIFwiJHt0ZW1wbGF0ZUV4cHJlc3Npb259XCJgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBleHByZXNzaW9uTWF0Y2hbMV07XG5cbiAgICAgIC8vIENhY2hlIHRoZSBldmFsdWF0aW9uIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIHJlc3VsdFxuICAgICAgY29uc3Qgc2NvcGUgPSB0aGlzLmdldEdsb2JhbFNjb3BlKCk7XG4gICAgICBjb25zdCBzYW5kYm94ID0gbmV3IEZ1bmN0aW9uKCdzY29wZScsIGB3aXRoIChzY29wZSkgeyByZXR1cm4gKCAgZnVuY3Rpb24oKSB7IHJldHVybiAke2V4cHJlc3Npb259OyB9KSgpOyB9YCk7XG4gICAgICByZXR1cm4gc2FuZGJveChzY29wZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV2YWx1YXRpbmcgZXhwcmVzc2lvbjonLCBlcnJvcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGV2YWx1YXRlQWN0aW9uKHRlbXBsYXRlRXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV4cHJlc3Npb25NYXRjaCA9IHRlbXBsYXRlRXhwcmVzc2lvbi5tYXRjaCgvXFx7XFx7XFxzKiguKj8pXFxzKlxcfVxcfS8pO1xuICAgICAgaWYgKCFleHByZXNzaW9uTWF0Y2gpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYE5vIHZhbGlkIGV4cHJlc3Npb24gZm91bmQgaW4gXCIke3RlbXBsYXRlRXhwcmVzc2lvbn1cImApO1xuICAgICAgfVxuICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb25NYXRjaFsxXTtcblxuICAgICAgLy8gQ2FjaGUgdGhlIGV2YWx1YXRpb24gZnVuY3Rpb24gaW5zdGVhZCBvZiB0aGUgcmVzdWx0XG4gICAgICBjb25zdCBzY29wZTogYW55ID0gdGhpcy5nZXRHbG9iYWxTY29wZSgpO1xuICAgICAgY29uc3Qgc2FuZGJveCA9IG5ldyBGdW5jdGlvbignc2NvcGUnLCBgd2l0aCAoc2NvcGUpIHsgICR7ZXhwcmVzc2lvbn0gfWApO1xuICAgICAgc2FuZGJveChzY29wZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV2YWx1YXRpbmcgZXhwcmVzc2lvbjonLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
|