aril 2.0.1-dev.3 → 2.0.1-dev.5
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/boot/bridge/src/mfe-bridge.d.ts +33 -0
- package/boot/config/apps/src/interfaces.d.ts +7 -1
- package/boot/config/apps/src/route-close.service.d.ts +8 -3
- package/boot/config/apps/src/route-permissions.d.ts +2 -2
- package/esm2022/boot/bridge/src/mfe-bridge.mjs +18 -1
- package/esm2022/boot/config/api/src/interfaces.mjs +3 -2
- package/esm2022/boot/config/apps/src/apps.service.mjs +2 -2
- package/esm2022/boot/config/apps/src/custom-route-reuse-strategy.class.mjs +4 -4
- package/esm2022/boot/config/apps/src/interfaces.mjs +2 -1
- package/esm2022/boot/config/apps/src/route-close.service.mjs +11 -4
- package/esm2022/boot/config/apps/src/route-permissions.mjs +24 -6
- package/esm2022/boot/config/plugins/src/plugins.service.mjs +7 -5
- package/esm2022/boot/host/src/bootstrap.mjs +5 -3
- package/esm2022/boot/mfe/src/bootstrap.mjs +15 -3
- package/esm2022/http/index.mjs +1 -2
- package/esm2022/http/src/serviceBase.mjs +4 -4
- package/esm2022/http/src/serviceStateMethods.mjs +9 -1
- package/esm2022/keycloak/src/auth.interceptor.mjs +5 -2
- package/esm2022/selection/aril-selection.mjs +5 -0
- package/esm2022/selection/index.mjs +2 -0
- package/esm2022/selection/src/interfaces.mjs +2 -0
- package/esm2022/selection/src/selection-group.service.mjs +195 -0
- package/esm2022/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.mjs +2 -2
- package/esm2022/theme/layout/index.mjs +4 -2
- package/esm2022/theme/layout/service/breadcrumb-publisher.service.mjs +12 -4
- package/esm2022/theme/layout/service/interfaces/interfaces.mjs +1 -1
- package/esm2022/ui/button/index.mjs +1 -2
- package/esm2022/ui/button/src/button.component.mjs +5 -2
- package/esm2022/ui/charts/index.mjs +1 -11
- package/esm2022/ui/lib/index.mjs +1 -4
- package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +9 -5
- package/esm2022/ui/multiSelect/src/multi-select.component.mjs +25 -25
- package/esm2022/ui/relativeDateSelector/src/relative-date-selector.component.mjs +2 -2
- package/esm2022/ui/selectBox/src/select-box.component.mjs +11 -34
- package/esm2022/ui/table/src/table.component.mjs +10 -5
- package/esm2022/ui/value/src/value.component.mjs +3 -2
- package/esm2022/ui-business/enumPicker/src/enum-picker.component.mjs +14 -6
- package/esm2022/util/activity/aril-util-activity.mjs +5 -0
- package/esm2022/util/activity/index.mjs +4 -0
- package/esm2022/util/activity/src/activity.constants.mjs +4 -0
- package/esm2022/util/activity/src/activity.service.mjs +218 -0
- package/esm2022/util/activity/src/activity.types.mjs +2 -0
- package/esm2022/util/block/src/block.mjs +9 -25
- package/esm2022/util/pub-sub/src/pub-sub.service.mjs +10 -5
- package/fesm2022/{aril-app.component-s14ruALV.mjs → aril-app.component-MjG_tPEe.mjs} +2 -1
- package/fesm2022/{aril-app.component-s14ruALV.mjs.map → aril-app.component-MjG_tPEe.mjs.map} +1 -1
- package/fesm2022/aril-boot-bridge.mjs +17 -0
- package/fesm2022/aril-boot-bridge.mjs.map +1 -1
- package/fesm2022/aril-boot-config-api.mjs +2 -1
- package/fesm2022/aril-boot-config-api.mjs.map +1 -1
- package/fesm2022/aril-boot-config-apps.mjs +36 -12
- package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
- package/fesm2022/aril-boot-config-plugins.mjs +6 -4
- package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
- package/fesm2022/aril-boot-host.mjs +4 -2
- package/fesm2022/aril-boot-host.mjs.map +1 -1
- package/fesm2022/{aril-boot-mfe-app.component-AS4MzEo2.mjs → aril-boot-mfe-app.component-DtspQ3J8.mjs} +3 -2
- package/fesm2022/{aril-boot-mfe-app.component-AS4MzEo2.mjs.map → aril-boot-mfe-app.component-DtspQ3J8.mjs.map} +1 -1
- package/fesm2022/{aril-boot-mfe-aril-boot-mfe-Ui9Cv3UC.mjs → aril-boot-mfe-aril-boot-mfe-lovoFcgw.mjs} +16 -4
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-lovoFcgw.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe.mjs +2 -1
- package/fesm2022/aril-boot-mfe.mjs.map +1 -1
- package/fesm2022/aril-http.mjs +11 -7
- package/fesm2022/aril-http.mjs.map +1 -1
- package/fesm2022/aril-keycloak.mjs +4 -1
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-selection.mjs +202 -0
- package/fesm2022/aril-selection.mjs.map +1 -0
- package/fesm2022/aril-theme-layout.mjs +14 -66
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-ui-business-enumPicker.mjs +14 -6
- package/fesm2022/aril-ui-business-enumPicker.mjs.map +1 -1
- package/fesm2022/aril-ui-button.mjs +5 -17
- package/fesm2022/aril-ui-button.mjs.map +1 -1
- package/fesm2022/aril-ui-charts.mjs +4 -1302
- package/fesm2022/aril-ui-charts.mjs.map +1 -1
- package/fesm2022/aril-ui-lib.mjs +10 -98
- package/fesm2022/aril-ui-lib.mjs.map +1 -1
- package/fesm2022/aril-ui-multiSelect.mjs +24 -24
- package/fesm2022/aril-ui-multiSelect.mjs.map +1 -1
- package/fesm2022/aril-ui-relativeDateSelector.mjs +1 -1
- package/fesm2022/aril-ui-relativeDateSelector.mjs.map +1 -1
- package/fesm2022/aril-ui-selectBox.mjs +10 -33
- package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
- package/fesm2022/aril-ui-table.mjs +9 -4
- package/fesm2022/aril-ui-table.mjs.map +1 -1
- package/fesm2022/aril-ui-value.mjs +2 -1
- package/fesm2022/aril-ui-value.mjs.map +1 -1
- package/fesm2022/aril-util-activity.mjs +228 -0
- package/fesm2022/aril-util-activity.mjs.map +1 -0
- package/fesm2022/aril-util-block.mjs +9 -25
- package/fesm2022/aril-util-block.mjs.map +1 -1
- package/fesm2022/aril-util-pub-sub.mjs +9 -4
- package/fesm2022/aril-util-pub-sub.mjs.map +1 -1
- package/fesm2022/aril.mjs +18 -5
- package/fesm2022/aril.mjs.map +1 -1
- package/http/index.d.ts +0 -1
- package/http/src/serviceStateMethods.d.ts +1 -0
- package/package.json +210 -234
- package/scripts/mf-shared.js +47 -0
- package/selection/index.d.ts +1 -0
- package/selection/src/interfaces.d.ts +8 -0
- package/{theme/layout/service → selection/src}/selection-group.service.d.ts +9 -5
- package/theme/layout/index.d.ts +1 -1
- package/theme/layout/index.ts +3 -1
- package/theme/layout/service/breadcrumb-publisher.service.ts +18 -8
- package/theme/layout/service/interfaces/interfaces.d.ts +3 -17
- package/theme/layout/service/interfaces/interfaces.ts +6 -18
- package/ui/button/index.d.ts +0 -1
- package/ui/button/src/button.component.d.ts +2 -0
- package/ui/charts/index.d.ts +0 -10
- package/ui/lib/index.d.ts +0 -3
- package/ui/lib/src/form/form-error-message.directive.d.ts +4 -3
- package/ui/multiSelect/src/multi-select.component.d.ts +4 -5
- package/ui/selectBox/src/select-box.component.d.ts +2 -7
- package/ui/table/src/table.component.d.ts +3 -2
- package/util/activity/index.d.ts +3 -0
- package/util/activity/src/activity.constants.d.ts +3 -0
- package/util/activity/src/activity.service.d.ts +35 -0
- package/util/activity/src/activity.types.d.ts +13 -0
- package/util/block/src/block.d.ts +4 -10
- package/util/pub-sub/src/pub-sub.service.d.ts +2 -2
- package/esm2022/http/src/serviceMockBase.mjs +0 -4
- package/esm2022/theme/layout/service/selection-group.service.mjs +0 -65
- package/esm2022/ui/button/src/split-button.component.mjs +0 -18
- package/esm2022/ui/charts/src/amCharts/column/column-chart.component.mjs +0 -124
- package/esm2022/ui/charts/src/amCharts/line/line-chart.component.mjs +0 -164
- package/esm2022/ui/charts/src/amCharts/pie/pie-chart.component.mjs +0 -116
- package/esm2022/ui/charts/src/highCharts/area/area-chart.component.mjs +0 -114
- package/esm2022/ui/charts/src/highCharts/bar/bar-chart.component.mjs +0 -100
- package/esm2022/ui/charts/src/highCharts/column/column-chart.component.mjs +0 -117
- package/esm2022/ui/charts/src/highCharts/heatmap/heatMap-chart.component.mjs +0 -252
- package/esm2022/ui/charts/src/highCharts/line/line-chart-series.component.mjs +0 -89
- package/esm2022/ui/charts/src/highCharts/line/line-chart.component.mjs +0 -82
- package/esm2022/ui/charts/src/highCharts/pie/pie-chart.component.mjs +0 -137
- package/esm2022/ui/charts/src/theme/theme.mjs +0 -54
- package/esm2022/ui/dxEditor/aril-ui-dxEditor.mjs +0 -5
- package/esm2022/ui/dxEditor/index.mjs +0 -2
- package/esm2022/ui/dxEditor/src/dx-editor.component.mjs +0 -26
- package/esm2022/ui/lib/src/form/form-field-builder.mjs +0 -23
- package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +0 -49
- package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +0 -25
- package/esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs +0 -5
- package/esm2022/ui/overlayPanel/index.mjs +0 -2
- package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +0 -20
- package/esm2022/ui/tooltip/aril-ui-tooltip.mjs +0 -5
- package/esm2022/ui/tooltip/index.mjs +0 -2
- package/esm2022/ui/tooltip/src/tooltip-component.mjs +0 -23
- package/esm2022/ui/treeTable/aril-ui-treeTable.mjs +0 -5
- package/esm2022/ui/treeTable/index.mjs +0 -2
- package/esm2022/ui/treeTable/src/tree-table.component.mjs +0 -55
- package/esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs +0 -5
- package/esm2022/ui-business/operation-types-dialog/index.mjs +0 -2
- package/esm2022/ui-business/operation-types-dialog/src/operation-types-dialog.component.mjs +0 -76
- package/esm2022/util/unwrap/aril-util-unwrap.mjs +0 -5
- package/esm2022/util/unwrap/index.mjs +0 -2
- package/esm2022/util/unwrap/src/unwrap-tag.directive.mjs +0 -24
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-Ui9Cv3UC.mjs.map +0 -1
- package/fesm2022/aril-ui-business-operation-types-dialog.mjs +0 -83
- package/fesm2022/aril-ui-business-operation-types-dialog.mjs.map +0 -1
- package/fesm2022/aril-ui-dxEditor.mjs +0 -33
- package/fesm2022/aril-ui-dxEditor.mjs.map +0 -1
- package/fesm2022/aril-ui-overlayPanel.mjs +0 -27
- package/fesm2022/aril-ui-overlayPanel.mjs.map +0 -1
- package/fesm2022/aril-ui-tooltip.mjs +0 -30
- package/fesm2022/aril-ui-tooltip.mjs.map +0 -1
- package/fesm2022/aril-ui-treeTable.mjs +0 -62
- package/fesm2022/aril-ui-treeTable.mjs.map +0 -1
- package/fesm2022/aril-util-unwrap.mjs +0 -31
- package/fesm2022/aril-util-unwrap.mjs.map +0 -1
- package/http/src/serviceMockBase.d.ts +0 -6
- package/theme/layout/service/selection-group.service.ts +0 -73
- package/ui/button/src/split-button.component.d.ts +0 -8
- package/ui/charts/src/amCharts/column/column-chart.component.d.ts +0 -25
- package/ui/charts/src/amCharts/line/line-chart.component.d.ts +0 -26
- package/ui/charts/src/amCharts/pie/pie-chart.component.d.ts +0 -24
- package/ui/charts/src/highCharts/area/area-chart.component.d.ts +0 -20
- package/ui/charts/src/highCharts/bar/bar-chart.component.d.ts +0 -26
- package/ui/charts/src/highCharts/column/column-chart.component.d.ts +0 -28
- package/ui/charts/src/highCharts/heatmap/heatMap-chart.component.d.ts +0 -32
- package/ui/charts/src/highCharts/line/line-chart-series.component.d.ts +0 -21
- package/ui/charts/src/highCharts/line/line-chart.component.d.ts +0 -21
- package/ui/charts/src/highCharts/pie/pie-chart.component.d.ts +0 -27
- package/ui/charts/src/theme/theme.d.ts +0 -5
- package/ui/dxEditor/index.d.ts +0 -1
- package/ui/dxEditor/src/dx-editor.component.d.ts +0 -11
- package/ui/lib/src/form/form-field-builder.d.ts +0 -8
- package/ui/lib/src/input/common-input-validators.service.d.ts +0 -20
- package/ui/lib/src/input/input-disabled.directive.d.ts +0 -9
- package/ui/overlayPanel/index.d.ts +0 -1
- package/ui/overlayPanel/src/overlay-panel.component.d.ts +0 -8
- package/ui/tooltip/index.d.ts +0 -1
- package/ui/tooltip/src/tooltip-component.d.ts +0 -14
- package/ui/treeTable/index.d.ts +0 -1
- package/ui/treeTable/src/tree-table.component.d.ts +0 -21
- package/ui-business/operation-types-dialog/index.d.ts +0 -1
- package/ui-business/operation-types-dialog/src/operation-types-dialog.component.d.ts +0 -28
- package/util/unwrap/index.d.ts +0 -1
- package/util/unwrap/src/unwrap-tag.directive.d.ts +0 -9
|
@@ -17,5 +17,6 @@ export var Apps;
|
|
|
17
17
|
Apps["REPORT"] = "report";
|
|
18
18
|
Apps["LGC"] = "lgc";
|
|
19
19
|
Apps["DMS"] = "dms";
|
|
20
|
+
Apps["EVENT_GATEWAY"] = "event-gateway";
|
|
20
21
|
})(Apps || (Apps = {}));
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvYm9vdC9jb25maWcvYXBwcy9zcmMvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQU4sSUFBWSxJQW1CWDtBQW5CRCxXQUFZLElBQUk7SUFDZixxQkFBYSxDQUFBO0lBQ2IsbUJBQVcsQ0FBQTtJQUNYLG1CQUFXLENBQUE7SUFDWCwyQkFBbUIsQ0FBQTtJQUNuQiwyQkFBbUIsQ0FBQTtJQUNuQixxQkFBYSxDQUFBO0lBQ2IsaUJBQVMsQ0FBQTtJQUNULHFCQUFhLENBQUE7SUFDYixtQkFBVyxDQUFBO0lBQ1gsbUJBQVcsQ0FBQTtJQUNYLG1CQUFXLENBQUE7SUFDWCxtQkFBVyxDQUFBO0lBQ1gsbUJBQVcsQ0FBQTtJQUNYLHVDQUErQixDQUFBO0lBQy9CLHlCQUFpQixDQUFBO0lBQ2pCLG1CQUFXLENBQUE7SUFDWCxtQkFBVyxDQUFBO0lBQ1gsdUNBQStCLENBQUE7QUFDaEMsQ0FBQyxFQW5CVyxJQUFJLEtBQUosSUFBSSxRQW1CZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVJdGVtQ29tbWFuZEV2ZW50IH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5cclxuaW1wb3J0IHsgV2ViQ29tcG9uZW50V3JhcHBlck9wdGlvbnMgfSBmcm9tICdAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uLXRvb2xzJztcclxuXHJcbmV4cG9ydCBlbnVtIEFwcHMge1xyXG5cdFRIT1IgPSAndGhvcicsXHJcblx0Q1JNID0gJ2NybScsXHJcblx0V0RNID0gJ3dkbScsXHJcblx0QklMTElORyA9ICdiaWxsaW5nJyxcclxuXHRQQVlNRU5UID0gJ3BheW1lbnQnLFxyXG5cdFlFQVAgPSAneWVhcCcsXHJcblx0TVcgPSAnbXcnLFxyXG5cdExFTkEgPSAnbGVuYScsXHJcblx0SEVTID0gJ2hlcycsXHJcblx0Q1RTID0gJ2N0cycsXHJcblx0U0lTID0gJ3NpcycsXHJcblx0TU5HID0gJ21uZycsXHJcblx0TURNID0gJ21kbScsXHJcblx0U1RBVEVfTUFDSElORSA9ICdzdGF0ZS1tYWNoaW5lJyxcclxuXHRSRVBPUlQgPSAncmVwb3J0JyxcclxuXHRMR0MgPSAnbGdjJyxcclxuXHRETVMgPSAnZG1zJyxcclxuXHRFVkVOVF9HQVRFV0FZID0gJ2V2ZW50LWdhdGV3YXknXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXBwc0RUTyB7XHJcblx0dmVyc2lvbjogbnVtYmVyO1xyXG5cdG1vZHVsZXM6IFBsdWdpbkNvbmZpZ1tdO1xyXG5cdHBsdWdpbnM6IFBsdWdpbkNvbmZpZ1tdO1xyXG5cdGV4dGVuc2lvbnM6IFJlY29yZDxzdHJpbmcsIEV4dGVuc2lvbkNvbmZpZz47XHJcblx0bWVudUl0ZW1zOiBQbHVnaW5NZW51SXRlbVtdO1xyXG5cdHJvdXRlUGVybWlzc2lvbnM/OiBSb3V0ZVBlcm1pc3Npb25bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZVBlcm1pc3Npb24ge1xyXG5cdHJvdXRlckxpbms6IHN0cmluZztcclxuXHRwZXJtaXR0ZWRSb2xlczogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5zaW9uQ29uZmlnIHtcclxuXHRvcHRpb25zOiBQbHVnaW5Db25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFBsdWdpbkNvbmZpZyA9IFdlYkNvbXBvbmVudFdyYXBwZXJPcHRpb25zICYge1xyXG5cdGlkPzogc3RyaW5nO1xyXG5cdHJlbW90ZU5hbWU6IHN0cmluZztcclxuXHRzaGFkb3dEb21QYXNzaXZlOiBib29sZWFuO1xyXG5cdHBlcm1pdHRlZFJvbGVzPzogc3RyaW5nW107XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lbnVJdGVtQWN0aW9uIHtcclxuXHRtZXRob2Q/OiAnR0VUJyB8ICdQT1NUJztcclxuXHR1cmw6IHN0cmluZztcclxuXHRib2R5PzogYW55O1xyXG5cdHN1Y2Nlc3NSb3V0ZTogc3RyaW5nO1xyXG5cdHN1Y2Nlc3NSb3V0ZVJlc3BvbnNlS2V5Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbk1lbnVJdGVtIHtcclxuXHRyb3V0ZXJMaW5rPzogc3RyaW5nO1xyXG5cdGljb24/OiBzdHJpbmc7XHJcblx0bGFiZWw6IHtcclxuXHRcdFtsYW5ndWFnZUNvZGU6IHN0cmluZ106IHN0cmluZztcclxuXHR9O1xyXG5cdGl0ZW1zPzogUGx1Z2luTWVudUl0ZW1bXTtcclxuXHRwZXJtaXR0ZWRSb2xlcz86IHN0cmluZ1tdO1xyXG5cdGFjdGlvbj86IE1lbnVJdGVtQWN0aW9uO1xyXG5cclxuXHQvLyBVSSBmaWVsZHNcclxuXHRzZXBhcmF0b3I/OiBib29sZWFuO1xyXG5cdHJvb3Q/OiBib29sZWFuO1xyXG5cdHBhdGg/OiBzdHJpbmc7XHJcblx0ZGlzYWJsZWQ/OiBib29sZWFuO1xyXG5cdGNvbW1hbmQ/KGV2ZW50OiBNZW51SXRlbUNvbW1hbmRFdmVudCk6IHZvaWQ7XHJcbn1cclxuIl19
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
import { Injectable
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export class RouteCloseService {
|
|
4
5
|
constructor() {
|
|
5
|
-
this.
|
|
6
|
+
this.deleteRouteSubject = new Subject();
|
|
7
|
+
/**
|
|
8
|
+
* Kapatılan tab key'lerinin kuyruğu. Tek-slot signal yerine Subject kullanılıyor:
|
|
9
|
+
* toplu kapatmada (closeAll/closeOthers/closeToRight) ardışık çağrıların her biri ayrı
|
|
10
|
+
* emit olur ve tüketici hepsini işler. Signal coalescing'i son key dışındakileri düşürüyordu.
|
|
11
|
+
*/
|
|
12
|
+
this.deleteRoute$ = this.deleteRouteSubject.asObservable();
|
|
6
13
|
}
|
|
7
14
|
deleteStoredRoute(key) {
|
|
8
|
-
this.
|
|
15
|
+
this.deleteRouteSubject.next(key);
|
|
9
16
|
}
|
|
10
17
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RouteCloseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
18
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RouteCloseService, providedIn: 'root' }); }
|
|
@@ -16,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
16
23
|
providedIn: 'root',
|
|
17
24
|
}]
|
|
18
25
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtY2xvc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvYm9vdC9jb25maWcvYXBwcy9zcmMvcm91dGUtY2xvc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxpQkFBaUI7SUFIOUI7UUFJbUIsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUM1RDs7OztXQUlHO1FBQ0gsaUJBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7S0FLdkQ7SUFIQyxpQkFBaUIsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0FYVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlQ2xvc2VTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlbGV0ZVJvdXRlU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICAvKipcclxuICAgKiBLYXBhdMSxbGFuIHRhYiBrZXknbGVyaW5pbiBrdXlydcSfdS4gVGVrLXNsb3Qgc2lnbmFsIHllcmluZSBTdWJqZWN0IGt1bGxhbsSxbMSxeW9yOlxyXG4gICAqIHRvcGx1IGthcGF0bWFkYSAoY2xvc2VBbGwvY2xvc2VPdGhlcnMvY2xvc2VUb1JpZ2h0KSBhcmTEscWfxLFrIMOnYcSfcsSxbGFyxLFuIGhlciBiaXJpIGF5csSxXHJcbiAgICogZW1pdCBvbHVyIHZlIHTDvGtldGljaSBoZXBzaW5pIGnFn2xlci4gU2lnbmFsIGNvYWxlc2NpbmcnaSBzb24ga2V5IGTEscWfxLFuZGFraWxlcmkgZMO8xZ/DvHLDvHlvcmR1LlxyXG4gICAqL1xyXG4gIGRlbGV0ZVJvdXRlJCA9IHRoaXMuZGVsZXRlUm91dGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBkZWxldGVTdG9yZWRSb3V0ZShrZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5kZWxldGVSb3V0ZVN1YmplY3QubmV4dChrZXkpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,21 +1,39 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const exactPermissions = new Map();
|
|
2
|
+
const patternPermissions = [];
|
|
3
|
+
export function setRoutePermissions(menuItems, routePermissions) {
|
|
4
|
+
exactPermissions.clear();
|
|
5
|
+
patternPermissions.length = 0;
|
|
4
6
|
buildPermissionsMap(menuItems);
|
|
7
|
+
buildPatternList(routePermissions);
|
|
5
8
|
}
|
|
6
9
|
export function getRoutePermissions(url) {
|
|
7
10
|
const normalizedUrl = url.split('?')[0].replace(/^\//, '');
|
|
8
|
-
return
|
|
11
|
+
return exactPermissions.get(normalizedUrl) ?? patternPermissions.find((p) => p.regex.test(normalizedUrl))?.roles;
|
|
9
12
|
}
|
|
10
13
|
function buildPermissionsMap(items) {
|
|
11
14
|
for (const item of items) {
|
|
12
15
|
if (item.routerLink && item.permittedRoles?.length) {
|
|
13
16
|
const normalized = item.routerLink.replace(/^\//, '');
|
|
14
|
-
|
|
17
|
+
exactPermissions.set(normalized, item.permittedRoles);
|
|
15
18
|
}
|
|
16
19
|
if (item.items?.length) {
|
|
17
20
|
buildPermissionsMap(item.items);
|
|
18
21
|
}
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
|
-
|
|
24
|
+
function buildPatternList(routePermissions) {
|
|
25
|
+
if (!routePermissions?.length) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
for (const entry of routePermissions) {
|
|
29
|
+
if (entry.routerLink && entry.permittedRoles?.length) {
|
|
30
|
+
patternPermissions.push({ regex: globToRegExp(entry.routerLink), roles: entry.permittedRoles });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function globToRegExp(pattern) {
|
|
35
|
+
const normalized = pattern.replace(/^\//, '').replace(/[.+?^${}()|[\]\\]/g, '\\$&');
|
|
36
|
+
const body = normalized.replace(/\*\*|\*/g, (match) => (match === '**' ? '.*' : '[^/]+'));
|
|
37
|
+
return new RegExp(`^${body}$`);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGVybWlzc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2Jvb3QvY29uZmlnL2FwcHMvc3JjL3JvdXRlLXBlcm1pc3Npb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7QUFDckQsTUFBTSxrQkFBa0IsR0FBeUMsRUFBRSxDQUFDO0FBRXBFLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxTQUEyQixFQUFFLGdCQUFvQztJQUNwRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxHQUFXO0lBQzlDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxPQUFPLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO0FBQ2xILENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEtBQXVCO0lBQ25ELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDeEIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDRixDQUFDO0FBQ0YsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsZ0JBQW9DO0lBQzdELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMvQixPQUFPO0lBQ1IsQ0FBQztJQUVELEtBQUssTUFBTSxLQUFLLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QyxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN0RCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDakcsQ0FBQztJQUNGLENBQUM7QUFDRixDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsT0FBZTtJQUNwQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEYsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzFGLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbHVnaW5NZW51SXRlbSwgUm91dGVQZXJtaXNzaW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbmNvbnN0IGV4YWN0UGVybWlzc2lvbnMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nW10+KCk7XHJcbmNvbnN0IHBhdHRlcm5QZXJtaXNzaW9uczogeyByZWdleDogUmVnRXhwOyByb2xlczogc3RyaW5nW10gfVtdID0gW107XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0Um91dGVQZXJtaXNzaW9ucyhtZW51SXRlbXM6IFBsdWdpbk1lbnVJdGVtW10sIHJvdXRlUGVybWlzc2lvbnM/OiBSb3V0ZVBlcm1pc3Npb25bXSk6IHZvaWQge1xyXG5cdGV4YWN0UGVybWlzc2lvbnMuY2xlYXIoKTtcclxuXHRwYXR0ZXJuUGVybWlzc2lvbnMubGVuZ3RoID0gMDtcclxuXHRidWlsZFBlcm1pc3Npb25zTWFwKG1lbnVJdGVtcyk7XHJcblx0YnVpbGRQYXR0ZXJuTGlzdChyb3V0ZVBlcm1pc3Npb25zKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlUGVybWlzc2lvbnModXJsOiBzdHJpbmcpOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XHJcblx0Y29uc3Qgbm9ybWFsaXplZFVybCA9IHVybC5zcGxpdCgnPycpWzBdLnJlcGxhY2UoL15cXC8vLCAnJyk7XHJcblx0cmV0dXJuIGV4YWN0UGVybWlzc2lvbnMuZ2V0KG5vcm1hbGl6ZWRVcmwpID8/IHBhdHRlcm5QZXJtaXNzaW9ucy5maW5kKChwKSA9PiBwLnJlZ2V4LnRlc3Qobm9ybWFsaXplZFVybCkpPy5yb2xlcztcclxufVxyXG5cclxuZnVuY3Rpb24gYnVpbGRQZXJtaXNzaW9uc01hcChpdGVtczogUGx1Z2luTWVudUl0ZW1bXSk6IHZvaWQge1xyXG5cdGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xyXG5cdFx0aWYgKGl0ZW0ucm91dGVyTGluayAmJiBpdGVtLnBlcm1pdHRlZFJvbGVzPy5sZW5ndGgpIHtcclxuXHRcdFx0Y29uc3Qgbm9ybWFsaXplZCA9IGl0ZW0ucm91dGVyTGluay5yZXBsYWNlKC9eXFwvLywgJycpO1xyXG5cdFx0XHRleGFjdFBlcm1pc3Npb25zLnNldChub3JtYWxpemVkLCBpdGVtLnBlcm1pdHRlZFJvbGVzKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoaXRlbS5pdGVtcz8ubGVuZ3RoKSB7XHJcblx0XHRcdGJ1aWxkUGVybWlzc2lvbnNNYXAoaXRlbS5pdGVtcyk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5mdW5jdGlvbiBidWlsZFBhdHRlcm5MaXN0KHJvdXRlUGVybWlzc2lvbnM/OiBSb3V0ZVBlcm1pc3Npb25bXSk6IHZvaWQge1xyXG5cdGlmICghcm91dGVQZXJtaXNzaW9ucz8ubGVuZ3RoKSB7XHJcblx0XHRyZXR1cm47XHJcblx0fVxyXG5cclxuXHRmb3IgKGNvbnN0IGVudHJ5IG9mIHJvdXRlUGVybWlzc2lvbnMpIHtcclxuXHRcdGlmIChlbnRyeS5yb3V0ZXJMaW5rICYmIGVudHJ5LnBlcm1pdHRlZFJvbGVzPy5sZW5ndGgpIHtcclxuXHRcdFx0cGF0dGVyblBlcm1pc3Npb25zLnB1c2goeyByZWdleDogZ2xvYlRvUmVnRXhwKGVudHJ5LnJvdXRlckxpbmspLCByb2xlczogZW50cnkucGVybWl0dGVkUm9sZXMgfSk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5mdW5jdGlvbiBnbG9iVG9SZWdFeHAocGF0dGVybjogc3RyaW5nKTogUmVnRXhwIHtcclxuXHRjb25zdCBub3JtYWxpemVkID0gcGF0dGVybi5yZXBsYWNlKC9eXFwvLywgJycpLnJlcGxhY2UoL1suKz9eJHt9KCl8W1xcXVxcXFxdL2csICdcXFxcJCYnKTtcclxuXHRjb25zdCBib2R5ID0gbm9ybWFsaXplZC5yZXBsYWNlKC9cXCpcXCp8XFwqL2csIChtYXRjaCkgPT4gKG1hdGNoID09PSAnKionID8gJy4qJyA6ICdbXi9dKycpKTtcclxuXHRyZXR1cm4gbmV3IFJlZ0V4cChgXiR7Ym9keX0kYCk7XHJcbn1cclxuIl19
|
|
@@ -15,6 +15,7 @@ import { API_CONFIGS } from 'aril/boot/config/api';
|
|
|
15
15
|
import { LanguageCode, TR_TRANSLATIONS } from 'aril/boot/config/translate';
|
|
16
16
|
import { HttpBackendService } from 'aril/http';
|
|
17
17
|
import { provideHost, provideHostRouter } from 'aril/provider';
|
|
18
|
+
import { ActivityService } from 'aril/util/activity';
|
|
18
19
|
import { getNgZone } from './getNgZone';
|
|
19
20
|
import { FactoryClass } from './interfaces';
|
|
20
21
|
export const PLUGINS = new FactoryClass();
|
|
@@ -41,8 +42,8 @@ export async function bootPlugin(selector, component) {
|
|
|
41
42
|
getNgZone(),
|
|
42
43
|
{
|
|
43
44
|
provide: APP_INITIALIZER,
|
|
44
|
-
useFactory: (httpBackend, translocoService, primeNgConfig) => {
|
|
45
|
-
return () => {
|
|
45
|
+
useFactory: (httpBackend, translocoService, primeNgConfig, activityService) => {
|
|
46
|
+
return async () => {
|
|
46
47
|
const activeLang = localStorage.getItem('lang') ?? LanguageCode.TR;
|
|
47
48
|
translocoService.setActiveLang(activeLang);
|
|
48
49
|
if (!activeLang?.length) {
|
|
@@ -57,10 +58,11 @@ export async function bootPlugin(selector, component) {
|
|
|
57
58
|
.pipe(tap((configs) => {
|
|
58
59
|
Object.assign(API_CONFIGS, { ...configs });
|
|
59
60
|
}));
|
|
60
|
-
|
|
61
|
+
await firstValueFrom(observable$);
|
|
62
|
+
activityService.start({ shellMode: false });
|
|
61
63
|
};
|
|
62
64
|
},
|
|
63
|
-
deps: [HttpBackendService, TranslocoService, PrimeNGConfig],
|
|
65
|
+
deps: [HttpBackendService, TranslocoService, PrimeNGConfig, ActivityService],
|
|
64
66
|
multi: true
|
|
65
67
|
}
|
|
66
68
|
]
|
|
@@ -69,4 +71,4 @@ export async function bootPlugin(selector, component) {
|
|
|
69
71
|
const plugin = createCustomElement(component, { injector: appRef.injector });
|
|
70
72
|
customElements.define(selector, plugin);
|
|
71
73
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC9ib290L2NvbmZpZy9wbHVnaW5zL3NyYy9wbHVnaW5zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBMkIsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFF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QUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQyxNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFN0UsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgQXBwbGljYXRpb25Db25maWcsIFR5cGUsIGltcG9ydFByb3ZpZGVyc0Zyb20sIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xyXG5pbXBvcnQgeyBjcmVhdGVBcHBsaWNhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuaW1wb3J0IHsgUHJpbWVOR0NvbmZpZyB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XHJcbmltcG9ydCB7IENvbmZpcm1Qb3B1cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybXBvcHVwJztcclxuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNZXNzYWdlc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZXMnO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgSE9TVF9JMThOX0ZPTERFUiwgY3JlYXRlQmFzZUFwcENvbmZpZyB9IGZyb20gJ2FyaWwvYm9vdC9iYXNlJztcclxuaW1wb3J0IHsgYnJpZGdlIH0gZnJvbSAnYXJpbC9ib290L2JyaWRnZSc7XHJcbmltcG9ydCB7IEFQSV9DT05GSUdTLCBBcGlDb25maWdzRmFjdG9yeSB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBpJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VDb2RlLCBUUl9UUkFOU0xBVElPTlMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL3RyYW5zbGF0ZSc7XHJcbmltcG9ydCB7IEh0dHBCYWNrZW5kU2VydmljZSB9IGZyb20gJ2FyaWwvaHR0cCc7XHJcbmltcG9ydCB7IHByb3ZpZGVIb3N0LCBwcm92aWRlSG9zdFJvdXRlciB9IGZyb20gJ2FyaWwvcHJvdmlkZXInO1xyXG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICdhcmlsL3V0aWwvYWN0aXZpdHknO1xyXG5cclxuaW1wb3J0IHsgZ2V0Tmdab25lIH0gZnJvbSAnLi9nZXROZ1pvbmUnO1xyXG5pbXBvcnQgeyBGYWN0b3J5Q2xhc3MsIFBsdWdpbkNvbmZpZ3MgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBMVUdJTlMgPSBuZXcgRmFjdG9yeUNsYXNzKCkgYXMgRmFjdG9yeUNsYXNzICYgUGx1Z2luQ29uZmlncztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkUGx1Z2lucygpOiAoKSA9PiB2b2lkIHtcclxuXHRyZXR1cm4gKCkgPT4ge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0Y29uc3QgcGx1Z2luc0RhdGEgPSBicmlkZ2UucGx1Z2luSnNvbigpO1xyXG5cdFx0XHRPYmplY3QuYXNzaWduKFBMVUdJTlMsIHBsdWdpbnNEYXRhKTtcclxuXHRcdH0gY2F0Y2ggKGVycikge1xyXG5cdFx0XHRjb25zb2xlLmxvZygnRXJyb3IgUGx1Z2lucyBMb2FkaW5nJywgZXJyKTtcclxuXHRcdH1cclxuXHR9O1xyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYm9vdFBsdWdpbihzZWxlY3Rvcjogc3RyaW5nLCBjb21wb25lbnQ6IFR5cGU8YW55Pikge1xyXG5cdGlmIChjdXN0b21FbGVtZW50cy5nZXQoc2VsZWN0b3IpKSByZXR1cm47XHJcblxyXG5cdGNvbnN0IGNvbmZpZzogQXBwbGljYXRpb25Db25maWcgPSB7XHJcblx0XHRwcm92aWRlcnM6IFtcclxuXHRcdFx0Y3JlYXRlQmFzZUFwcENvbmZpZyh7IGkxOG5Gb2xkZXI6IEhPU1RfSTE4Tl9GT0xERVIgfSksXHJcblx0XHRcdHByb3ZpZGVIb3N0KHNlbGVjdG9yIGFzIGFueSksIC8vIHRvZG8gcmVmYWN0b3JcclxuXHRcdFx0cHJvdmlkZUhvc3RSb3V0ZXIoKSxcclxuXHRcdFx0aW1wb3J0UHJvdmlkZXJzRnJvbShcclxuXHRcdFx0XHRDb25maXJtRGlhbG9nTW9kdWxlLFxyXG5cdFx0XHRcdENvbmZpcm1Qb3B1cE1vZHVsZSxcclxuXHRcdFx0XHREaWFsb2dNb2R1bGUsXHJcblx0XHRcdFx0TWVzc2FnZXNNb2R1bGUsXHJcblx0XHRcdFx0VG9hc3RNb2R1bGVcclxuXHRcdFx0KSxcclxuXHRcdFx0Z2V0Tmdab25lKCksXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcblx0XHRcdFx0dXNlRmFjdG9yeTogKFxyXG5cdFx0XHRcdFx0aHR0cEJhY2tlbmQ6IHsgaHR0cENsaWVudDogSHR0cENsaWVudCB9LFxyXG5cdFx0XHRcdFx0dHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZSxcclxuXHRcdFx0XHRcdHByaW1lTmdDb25maWc6IFByaW1lTkdDb25maWcsXHJcblx0XHRcdFx0XHRhY3Rpdml0eVNlcnZpY2U6IEFjdGl2aXR5U2VydmljZVxyXG5cdFx0XHRcdCkgPT4ge1xyXG5cdFx0XHRcdFx0cmV0dXJuIGFzeW5jICgpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc3QgYWN0aXZlTGFuZzogTGFuZ3VhZ2VDb2RlID0gKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5nJykgYXMgTGFuZ3VhZ2VDb2RlKSA/PyBMYW5ndWFnZUNvZGUuVFI7XHJcblxyXG5cdFx0XHRcdFx0XHR0cmFuc2xvY29TZXJ2aWNlLnNldEFjdGl2ZUxhbmcoYWN0aXZlTGFuZyk7XHJcblxyXG5cdFx0XHRcdFx0XHRpZiAoIWFjdGl2ZUxhbmc/Lmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUud2FybignTm8gbGFuZ3VhZ2Ugc2VsZWN0ZWQnKTtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGlmIChhY3RpdmVMYW5nID09PSBMYW5ndWFnZUNvZGUuVFIpIHtcclxuXHRcdFx0XHRcdFx0XHRwcmltZU5nQ29uZmlnLnNldFRyYW5zbGF0aW9uKFRSX1RSQU5TTEFUSU9OUyk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGNvbnN0IG9ic2VydmFibGUkID0gaHR0cEJhY2tlbmQuaHR0cENsaWVudFxyXG5cdFx0XHRcdFx0XHRcdC5nZXQ8QXBpQ29uZmlnc0ZhY3Rvcnk+KGlzRGV2TW9kZSgpID8gJy4vYXNzZXRzL2xvY2FsLWNvbmZpZ3MvYXBpLmxvY2FsLmpzb24nIDogJy4vYXBpLmpzb24nKVxyXG5cdFx0XHRcdFx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdFx0XHRcdFx0dGFwKChjb25maWdzKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdE9iamVjdC5hc3NpZ24oQVBJX0NPTkZJR1MsIHsgLi4uY29uZmlncyB9KTtcclxuXHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHJcblx0XHRcdFx0XHRcdGF3YWl0IGZpcnN0VmFsdWVGcm9tKG9ic2VydmFibGUkKTtcclxuXHRcdFx0XHRcdFx0YWN0aXZpdHlTZXJ2aWNlLnN0YXJ0KHsgc2hlbGxNb2RlOiBmYWxzZSB9KTtcclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRkZXBzOiBbSHR0cEJhY2tlbmRTZXJ2aWNlLCBUcmFuc2xvY29TZXJ2aWNlLCBQcmltZU5HQ29uZmlnLCBBY3Rpdml0eVNlcnZpY2VdLFxyXG5cdFx0XHRcdG11bHRpOiB0cnVlXHJcblx0XHRcdH1cclxuXHRcdF1cclxuXHR9O1xyXG5cclxuXHRjb25zdCBhcHBSZWYgPSBhd2FpdCBjcmVhdGVBcHBsaWNhdGlvbihjb25maWcpO1xyXG5cdGNvbnN0IHBsdWdpbiA9IGNyZWF0ZUN1c3RvbUVsZW1lbnQoY29tcG9uZW50LCB7IGluamVjdG9yOiBhcHBSZWYuaW5qZWN0b3IgfSk7XHJcblxyXG5cdGN1c3RvbUVsZW1lbnRzLmRlZmluZShzZWxlY3RvciwgcGx1Z2luKTtcclxufVxyXG4iXX0=
|
|
@@ -10,6 +10,7 @@ import { loadApiConfigs, loadInitData } from 'aril/boot/config/api';
|
|
|
10
10
|
import { CustomRouteReuseStrategy, MicroAppService, TabAwareUrlSerializer } from 'aril/boot/config/apps';
|
|
11
11
|
import { loadPlugins } from 'aril/boot/config/plugins';
|
|
12
12
|
import { i18nFolderName } from 'aril/i18n';
|
|
13
|
+
import { ActivityService } from 'aril/util/activity';
|
|
13
14
|
import { AppComponent } from './app.component';
|
|
14
15
|
export var appName;
|
|
15
16
|
export const boot = (_appName, routes) => {
|
|
@@ -33,7 +34,7 @@ export const boot = (_appName, routes) => {
|
|
|
33
34
|
},
|
|
34
35
|
{
|
|
35
36
|
provide: APP_INITIALIZER,
|
|
36
|
-
useFactory: (httpClient, keycloak, router, folderName, microAppService, location) => {
|
|
37
|
+
useFactory: (httpClient, keycloak, router, folderName, microAppService, location, activityService) => {
|
|
37
38
|
if (router)
|
|
38
39
|
bridge.hostRouter = router;
|
|
39
40
|
if (location)
|
|
@@ -45,13 +46,14 @@ export const boot = (_appName, routes) => {
|
|
|
45
46
|
await runLoadApiConfigs();
|
|
46
47
|
await runLoadInitData();
|
|
47
48
|
runLoadPlugins();
|
|
49
|
+
activityService.start({ shellMode: true });
|
|
48
50
|
};
|
|
49
51
|
},
|
|
50
52
|
multi: true,
|
|
51
|
-
deps: [HttpClient, KeycloakService, Router, i18nFolderName, MicroAppService, Location]
|
|
53
|
+
deps: [HttpClient, KeycloakService, Router, i18nFolderName, MicroAppService, Location, ActivityService]
|
|
52
54
|
}
|
|
53
55
|
]
|
|
54
56
|
};
|
|
55
57
|
bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));
|
|
56
58
|
};
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC9ib290L2hvc3Qvc3JjL2Jvb3RzdHJhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFDTixrQkFBa0IsRUFDbEIsTUFBTSxFQUVOLGFBQWEsRUFDYixhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEUsT0FBTyxFQUFRLHdCQUF3QixFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9HLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsTUFBTSxDQUFDLElBQUksT0FBYSxDQUFDO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLFFBQWMsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUN0RCxPQUFPLEdBQUcsUUFBUSxDQUFDO0lBQ25CLE1BQU0sU0FBUyxHQUFzQjtRQUNwQyxTQUFTLEVBQUU7WUFDVixtQkFBbUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JELGFBQWEsQ0FDWixNQUFNLEVBQ04seUJBQXlCLEVBQUUsRUFDM0IsZ0JBQWdCLEVBQUUsRUFDbEIsZ0JBQWdCLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUNuRDtZQUNELDhGQUE4RjtZQUM5RixxRkFBcUY7WUFDckYsb0ZBQW9GO1lBQ3BGLG9CQUFvQjtZQUNwQjtnQkFDQyxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsd0JBQXdCO2FBQ3JDO1lBQ0QsMEZBQTBGO1lBQzFGO2dCQUNDLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUscUJBQXFCO2FBQ2xDO1lBQ0Q7Z0JBQ0MsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxDQUNYLFVBQXNCLEVBQ3RCLFFBQXlCLEVBQ3pCLE1BQWMsRUFDZCxVQUFpQyxFQUNqQyxlQUFnQyxFQUNoQyxRQUFrQixFQUNsQixlQUFnQyxFQUMvQixFQUFFO29CQUNILElBQUksTUFBTTt3QkFBRSxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztvQkFDdkMsSUFBSSxRQUFRO3dCQUFFLE1BQU0sQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO29CQUU3QyxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FDdkMsVUFBVSxFQUNWLFFBQVEsRUFDUixVQUErQixFQUMvQixlQUFlLENBQ2YsQ0FBQztvQkFDRixNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ2pELE1BQU0sY0FBYyxHQUFHLFdBQVcsRUFBRSxDQUFDO29CQUNyQyxPQUFPLEtBQUssSUFBSSxFQUFFO3dCQUNqQixNQUFNLGlCQUFpQixFQUFFLENBQUM7d0JBQzFCLE1BQU0sZUFBZSxFQUFFLENBQUM7d0JBQ3hCLGNBQWMsRUFBRSxDQUFDO3dCQUNqQixlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQzVDLENBQUMsQ0FBQztnQkFDSCxDQUFDO2dCQUNELEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQzthQUN2RztTQUNEO0tBQ0QsQ0FBQztJQUVGLG9CQUFvQixDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgQXBwbGljYXRpb25Db25maWcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgYm9vdHN0cmFwQXBwbGljYXRpb24gfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtcclxuXHRSb3V0ZVJldXNlU3RyYXRlZ3ksXHJcblx0Um91dGVyLFxyXG5cdFJvdXRlcyxcclxuXHRVcmxTZXJpYWxpemVyLFxyXG5cdHByb3ZpZGVSb3V0ZXIsXHJcblx0d2l0aENvbXBvbmVudElucHV0QmluZGluZyxcclxuXHR3aXRoSGFzaExvY2F0aW9uLFxyXG5cdHdpdGhSb3V0ZXJDb25maWdcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcblxyXG5pbXBvcnQgeyBIT1NUX0kxOE5fRk9MREVSLCBjcmVhdGVCYXNlQXBwQ29uZmlnIH0gZnJvbSAnYXJpbC9ib290L2Jhc2UnO1xyXG5pbXBvcnQgeyBicmlkZ2UgfSBmcm9tICdhcmlsL2Jvb3QvYnJpZGdlJztcclxuaW1wb3J0IHsgbG9hZEFwaUNvbmZpZ3MsIGxvYWRJbml0RGF0YSB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBpJztcclxuaW1wb3J0IHsgQXBwcywgQ3VzdG9tUm91dGVSZXVzZVN0cmF0ZWd5LCBNaWNyb0FwcFNlcnZpY2UsIFRhYkF3YXJlVXJsU2VyaWFsaXplciB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBwcyc7XHJcbmltcG9ydCB7IGxvYWRQbHVnaW5zIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9wbHVnaW5zJztcclxuaW1wb3J0IHsgaTE4bkZvbGRlck5hbWUgfSBmcm9tICdhcmlsL2kxOG4nO1xyXG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICdhcmlsL3V0aWwvYWN0aXZpdHknO1xyXG5cclxuaW1wb3J0IHsgQXBwQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCB2YXIgYXBwTmFtZTogQXBwcztcclxuXHJcbmV4cG9ydCBjb25zdCBib290ID0gKF9hcHBOYW1lOiBBcHBzLCByb3V0ZXM6IFJvdXRlcykgPT4ge1xyXG5cdGFwcE5hbWUgPSBfYXBwTmFtZTtcclxuXHRjb25zdCBhcHBDb25maWc6IEFwcGxpY2F0aW9uQ29uZmlnID0ge1xyXG5cdFx0cHJvdmlkZXJzOiBbXHJcblx0XHRcdGNyZWF0ZUJhc2VBcHBDb25maWcoeyBpMThuRm9sZGVyOiBIT1NUX0kxOE5fRk9MREVSIH0pLFxyXG5cdFx0XHRwcm92aWRlUm91dGVyKFxyXG5cdFx0XHRcdHJvdXRlcyxcclxuXHRcdFx0XHR3aXRoQ29tcG9uZW50SW5wdXRCaW5kaW5nKCksXHJcblx0XHRcdFx0d2l0aEhhc2hMb2NhdGlvbigpLFxyXG5cdFx0XHRcdHdpdGhSb3V0ZXJDb25maWcoeyBvblNhbWVVcmxOYXZpZ2F0aW9uOiAncmVsb2FkJyB9KVxyXG5cdFx0XHQpLFxyXG5cdFx0XHQvLyBgdXNlRXhpc3RpbmdgOiBgQ3VzdG9tUm91dGVSZXVzZVN0cmF0ZWd5YCBgcHJvdmlkZWRJbjogJ3Jvb3QnYCBvbGR1xJ91IGnDp2luIHJvb3QgaW5qZWN0b3InZGFcclxuXHRcdFx0Ly8gemF0ZW4gYmlyIGluc3RhbmNlIHZhci4gUm91dGVyJ2EgYXluxLEgaW5zdGFuY2UnxLEgYmHEn2xhbWFrIGlsZXJpZGUgY2xhc3MnYSBkb8SfcnVkYW5cclxuXHRcdFx0Ly8gZXJpxZ9tZWsgaXN0ZXllbiB0w7xrZXRpY2lsZXIgKMO2cm4uIHRlc3QgaG9vaydsYXLEsSwgZGVidWcgcGFuZWxpKSBpw6dpbiB0ZWstaW5zdGFuY2VcclxuXHRcdFx0Ly8gZ2FyYW50aXNpIHNhxJ9sYXIuXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwcm92aWRlOiBSb3V0ZVJldXNlU3RyYXRlZ3ksXHJcblx0XHRcdFx0dXNlRXhpc3Rpbmc6IEN1c3RvbVJvdXRlUmV1c2VTdHJhdGVneVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyBgX3RhYmAgcXVlcnkgcGFyYW0nxLEgYWRkcmVzcyBiYXInZGFuIHN0cmlwIGVkZXI7IFJvdXRlciBpbnRlcm5hbCBgcXVlcnlQYXJhbXNgJ8SxIGtvcnVyLlxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cHJvdmlkZTogVXJsU2VyaWFsaXplcixcclxuXHRcdFx0XHR1c2VFeGlzdGluZzogVGFiQXdhcmVVcmxTZXJpYWxpemVyXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcblx0XHRcdFx0dXNlRmFjdG9yeTogKFxyXG5cdFx0XHRcdFx0aHR0cENsaWVudDogSHR0cENsaWVudCxcclxuXHRcdFx0XHRcdGtleWNsb2FrOiBLZXljbG9ha1NlcnZpY2UsXHJcblx0XHRcdFx0XHRyb3V0ZXI6IFJvdXRlcixcclxuXHRcdFx0XHRcdGZvbGRlck5hbWU6IHR5cGVvZiBpMThuRm9sZGVyTmFtZSxcclxuXHRcdFx0XHRcdG1pY3JvQXBwU2VydmljZTogTWljcm9BcHBTZXJ2aWNlLFxyXG5cdFx0XHRcdFx0bG9jYXRpb246IExvY2F0aW9uLFxyXG5cdFx0XHRcdFx0YWN0aXZpdHlTZXJ2aWNlOiBBY3Rpdml0eVNlcnZpY2VcclxuXHRcdFx0XHQpID0+IHtcclxuXHRcdFx0XHRcdGlmIChyb3V0ZXIpIGJyaWRnZS5ob3N0Um91dGVyID0gcm91dGVyO1xyXG5cdFx0XHRcdFx0aWYgKGxvY2F0aW9uKSBicmlkZ2UuaG9zdExvY2F0aW9uID0gbG9jYXRpb247XHJcblxyXG5cdFx0XHRcdFx0Y29uc3QgcnVuTG9hZEFwaUNvbmZpZ3MgPSBsb2FkQXBpQ29uZmlncyhcclxuXHRcdFx0XHRcdFx0aHR0cENsaWVudCxcclxuXHRcdFx0XHRcdFx0a2V5Y2xvYWssXHJcblx0XHRcdFx0XHRcdGZvbGRlck5hbWUgYXMgdW5rbm93biBhcyBzdHJpbmcsXHJcblx0XHRcdFx0XHRcdG1pY3JvQXBwU2VydmljZVxyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdGNvbnN0IHJ1bkxvYWRJbml0RGF0YSA9IGxvYWRJbml0RGF0YShodHRwQ2xpZW50KTtcclxuXHRcdFx0XHRcdGNvbnN0IHJ1bkxvYWRQbHVnaW5zID0gbG9hZFBsdWdpbnMoKTtcclxuXHRcdFx0XHRcdHJldHVybiBhc3luYyAoKSA9PiB7XHJcblx0XHRcdFx0XHRcdGF3YWl0IHJ1bkxvYWRBcGlDb25maWdzKCk7XHJcblx0XHRcdFx0XHRcdGF3YWl0IHJ1bkxvYWRJbml0RGF0YSgpO1xyXG5cdFx0XHRcdFx0XHRydW5Mb2FkUGx1Z2lucygpO1xyXG5cdFx0XHRcdFx0XHRhY3Rpdml0eVNlcnZpY2Uuc3RhcnQoeyBzaGVsbE1vZGU6IHRydWUgfSk7XHJcblx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHRcdFx0ZGVwczogW0h0dHBDbGllbnQsIEtleWNsb2FrU2VydmljZSwgUm91dGVyLCBpMThuRm9sZGVyTmFtZSwgTWljcm9BcHBTZXJ2aWNlLCBMb2NhdGlvbiwgQWN0aXZpdHlTZXJ2aWNlXVxyXG5cdFx0XHR9XHJcblx0XHRdXHJcblx0fTtcclxuXHJcblx0Ym9vdHN0cmFwQXBwbGljYXRpb24oQXBwQ29tcG9uZW50LCBhcHBDb25maWcpLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XHJcbn07XHJcbiJdfQ==
|
|
@@ -13,6 +13,7 @@ import { CustomRouteReuseStrategy, TabAwareUrlSerializer } from 'aril/boot/confi
|
|
|
13
13
|
import { getNgZone, loadPlugins } from 'aril/boot/config/plugins';
|
|
14
14
|
import { i18nFolderName } from 'aril/i18n';
|
|
15
15
|
import { provideHost } from 'aril/provider';
|
|
16
|
+
import { ActivityService } from 'aril/util/activity';
|
|
16
17
|
import { PubSubService } from 'aril/util/pub-sub';
|
|
17
18
|
import { appComponentLoader } from './appComponentLoader';
|
|
18
19
|
import { IsolatedLocationStrategy } from './isolated-location-strategy';
|
|
@@ -47,16 +48,17 @@ export const boot = (_appName, _routes, _menuItems) => {
|
|
|
47
48
|
getNgZone(),
|
|
48
49
|
{
|
|
49
50
|
provide: APP_INITIALIZER,
|
|
50
|
-
useFactory: (httpClient, keycloak, folderName) => {
|
|
51
|
+
useFactory: (httpClient, keycloak, folderName, activityService) => {
|
|
51
52
|
const runApiInit = setApiConfigOnMFEMode(httpClient, keycloak, folderName);
|
|
52
53
|
const runLoadPlugins = loadPlugins();
|
|
53
54
|
return async () => {
|
|
54
55
|
await runApiInit();
|
|
55
56
|
runLoadPlugins();
|
|
57
|
+
activityService.start({ shellMode: false });
|
|
56
58
|
};
|
|
57
59
|
},
|
|
58
60
|
multi: true,
|
|
59
|
-
deps: [HttpClient, KeycloakService, i18nFolderName]
|
|
61
|
+
deps: [HttpClient, KeycloakService, i18nFolderName, ActivityService]
|
|
60
62
|
},
|
|
61
63
|
importProvidersFrom(MonacoEditorModule.forRoot()),
|
|
62
64
|
{ provide: NGX_MONACO_EDITOR_CONFIG, useValue: monacoConfig }
|
|
@@ -154,11 +156,21 @@ export const boot = (_appName, _routes, _menuItems) => {
|
|
|
154
156
|
// (BreadcrumbService bilinçli olarak child-local bırakıldı: her tab kendi breadcrumb'ı.)
|
|
155
157
|
{ provide: PubSubService, useFactory: () => sharedAppRef.injector.get(PubSubService) },
|
|
156
158
|
{ provide: PrimeNGConfig, useFactory: () => sharedAppRef.injector.get(PrimeNGConfig) },
|
|
159
|
+
// ActivityService shared'da `APP_INITIALIZER` ile başlatıldı (Keycloak listener'ları + sessionId
|
|
160
|
+
// capture). Tab child injector'ında `ɵINJECTOR_SCOPE:'root'` yan etkisiyle ayrı bir instance
|
|
161
|
+
// üretilirdi — bu instance hiç `start()` çağrılmadığı için `track()` no-op olur ve aril-button
|
|
162
|
+
// click'leri sessizce kaybolur. Shared instance'ı forward ederek tek başlatılmış instance'ı
|
|
163
|
+
// her tab'a paylaştırıyoruz (authInterceptor'ın okuduğu `sessionId` ile birebir aynı).
|
|
164
|
+
{ provide: ActivityService, useFactory: () => sharedAppRef.injector.get(ActivityService) },
|
|
157
165
|
// Toast/confirm GLOBAL: tek shared MessageService/ConfirmationService. Aksi halde her tab
|
|
158
166
|
// kendi instance'ına sahip olur → host'tan tetiklenen toast MFE tab'ında (ya da tersi)
|
|
159
167
|
// görünmez. Shared instance ile tüm `<p-toast key="toast-root">` container'ları aynı kuyruğu dinler.
|
|
160
168
|
{ provide: MessageService, useFactory: () => sharedAppRef.injector.get(MessageService) },
|
|
161
169
|
{ provide: ConfirmationService, useFactory: () => sharedAppRef.injector.get(ConfirmationService) }
|
|
170
|
+
// SelectionGroupService bilinçli olarak BURADA YOK: tüm state'i (signal + loaded/loading +
|
|
171
|
+
// init flag'i) globalThis bridge'de yaşar; child-local instance'lar da aynı state'i alias'lar,
|
|
172
|
+
// bu yüzden instance sayısının önemi yoktur — forwarding yalnızca instance-local state'i olan
|
|
173
|
+
// servisler (MessageService vb.) için gereklidir.
|
|
162
174
|
];
|
|
163
175
|
const appComponentPromise = appComponentLoader();
|
|
164
176
|
class MFEAppElement extends HTMLElement {
|
|
@@ -272,4 +284,4 @@ export const boot = (_appName, _routes, _menuItems) => {
|
|
|
272
284
|
throw e;
|
|
273
285
|
}
|
|
274
286
|
};
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC9ib290L21mZS9zcmMvYm9vdHN0cmFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUNOLGVBQWUsRUFFZixjQUFjLEVBRWQsbUJBQW1CLEVBR25CLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLE1BQU0sRUFDTixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFFTixrQkFBa0IsRUFDbEIsTUFBTSxFQUVOLGFBQWEsRUFDYixhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQVEsd0JBQXdCLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxX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Q0FBQztZQUMvRSxPQUFPO1FBQ1IsQ0FBQztRQUNELE1BQU0sQ0FBQyxDQUFDO0lBQ1QsQ0FBQztBQUNGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uLCBMb2NhdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuXHRBUFBfSU5JVElBTElaRVIsXHJcblx0QXBwbGljYXRpb25Db25maWcsXHJcblx0QXBwbGljYXRpb25SZWYsXHJcblx0Q29tcG9uZW50UmVmLFxyXG5cdEVudmlyb25tZW50SW5qZWN0b3IsXHJcblx0RW52aXJvbm1lbnRQcm92aWRlcnMsXHJcblx0UHJvdmlkZXIsXHJcblx0Y3JlYXRlQ29tcG9uZW50LFxyXG5cdGNyZWF0ZUVudmlyb25tZW50SW5qZWN0b3IsXHJcblx0aW1wb3J0UHJvdmlkZXJzRnJvbSxcclxuXHRpbmplY3QsXHJcblx0aXNEZXZNb2RlLFxyXG5cdMm1SU5KRUNUT1JfU0NPUEVcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY3JlYXRlQXBwbGljYXRpb24gfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtcclxuXHRDaGlsZHJlbk91dGxldENvbnRleHRzLFxyXG5cdFJvdXRlUmV1c2VTdHJhdGVneSxcclxuXHRSb3V0ZXIsXHJcblx0Um91dGVzLFxyXG5cdFVybFNlcmlhbGl6ZXIsXHJcblx0cHJvdmlkZVJvdXRlcixcclxuXHR3aXRoQ29tcG9uZW50SW5wdXRCaW5kaW5nLFxyXG5cdHdpdGhSb3V0ZXJDb25maWdcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTWVzc2FnZVNlcnZpY2UsIFByaW1lTkdDb25maWcgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5cclxuaW1wb3J0IHsgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcbmltcG9ydCB7IE1vbmFjb0VkaXRvck1vZHVsZSwgTkdYX01PTkFDT19FRElUT1JfQ09ORklHIH0gZnJvbSAnbmd4LW1vbmFjby1lZGl0b3ItdjInO1xyXG5cclxuaW1wb3J0IHsgY3JlYXRlQmFzZUFwcENvbmZpZyB9IGZyb20gJ2FyaWwvYm9vdC9iYXNlJztcclxuaW1wb3J0IHsgc2V0QXBpQ29uZmlnT25NRkVNb2RlIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5pbXBvcnQgeyBBcHBzLCBDdXN0b21Sb3V0ZVJldXNlU3RyYXRlZ3ksIFBsdWdpbk1lbnVJdGVtLCBUYWJBd2FyZVVybFNlcmlhbGl6ZXIgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQgeyBnZXROZ1pvbmUsIGxvYWRQbHVnaW5zIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9wbHVnaW5zJztcclxuaW1wb3J0IHsgaTE4bkZvbGRlck5hbWUgfSBmcm9tICdhcmlsL2kxOG4nO1xyXG5pbXBvcnQgeyBwcm92aWRlSG9zdCB9IGZyb20gJ2FyaWwvcHJvdmlkZXInO1xyXG5pbXBvcnQgeyBQdWJTdWJTZXJ2aWNlIH0gZnJvbSAnYXJpbC91dGlsL3B1Yi1zdWInO1xyXG5cclxuaW1wb3J0IHsgYXBwQ29tcG9uZW50TG9hZGVyIH0gZnJvbSAnLi9hcHBDb21wb25lbnRMb2FkZXInO1xyXG5pbXBvcnQgeyBJc29sYXRlZExvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2lzb2xhdGVkLWxvY2F0aW9uLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgbW9uYWNvQ29uZmlnIH0gZnJvbSAnLi9tb25hY28uY29uZmlnJztcclxuXHJcbmV4cG9ydCB2YXIgYXBwTmFtZTogQXBwcztcclxuZXhwb3J0IHZhciBtZW51SXRlbXM6IFBsdWdpbk1lbnVJdGVtW10gPSBbXTtcclxuXHJcbi8qKlxyXG4gKiBgYm9vdGAgw6dhxJ9yxLFsYXLEsW7EsW4gaWRlbXBvdGVudCBrYWxtYXPEsW7EsSBzYcSfbGF5YW4gc3luYyBndWFyZC4gQXluxLEgcmVtb3RlIGnDp2luXHJcbiAqIGJpcmRlbiBmYXpsYSBwYXJhbGVsIGBib290KCd3ZG0nLCAuLi4pYCDDp2HEn3LEsXPEsSBnZWxkacSfaW5kZSwgaWxrIGBjdXN0b21FbGVtZW50cy5kZWZpbmVgXHJcbiAqIHRhbWFtbGFubWFkYW4gaWtpbmNpIMOnYcSfcsSxIGBjdXN0b21FbGVtZW50cy5nZXRgIGd1YXJkJ8SxbsSxIGdlw6dpeW9yZHUg4oaSIGhlciBpa2lzaSBkZVxyXG4gKiBkZWZpbmUgZXRtZXllIMOnYWzEscWfxLFwIGBOb3RTdXBwb3J0ZWRFcnJvcjogdGhlIG5hbWUgXCJhcHAtd2RtXCIgaGFzIGFscmVhZHkgYmVlbiB1c2VkYFxyXG4gKiBoYXRhc8SxIGbEsXJsYXTEsWzEsXlvcmR1LiBTZXQgaWxlIHN5bmMgbWFyayBlZGVyZWsgdGVrIGJpciBkZWZpbmUgY3ljbGUnxLEgZ2FyYW50aSBlZGl5b3J1ei5cclxuICovXHJcbmNvbnN0IGJvb3RlZEFwcHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHJcbmV4cG9ydCBjb25zdCBib290ID0gKF9hcHBOYW1lOiBBcHBzLCBfcm91dGVzOiBSb3V0ZXMsIF9tZW51SXRlbXM6IFBsdWdpbk1lbnVJdGVtW10pID0+IHtcclxuXHRpZiAoYm9vdGVkQXBwcy5oYXMoX2FwcE5hbWUpIHx8IGN1c3RvbUVsZW1lbnRzLmdldChgYXBwLSR7X2FwcE5hbWV9YCkpIHJldHVybjtcclxuXHRib290ZWRBcHBzLmFkZChfYXBwTmFtZSk7XHJcblxyXG5cdGFwcE5hbWUgPSBfYXBwTmFtZTtcclxuXHRtZW51SXRlbXMgPSBfbWVudUl0ZW1zO1xyXG5cclxuXHQvKipcclxuXHQgKiAqKlBheWxhxZ/EsWxhbiBiYXNlIGNvbmZpZyoqIOKAlCByZW1vdGUgYmHFn8SxbmEgVEVLIGBjcmVhdGVBcHBsaWNhdGlvbmAuIEHEn8SxciBzZXJ2aXNsZXJcclxuXHQgKiAoSHR0cENsaWVudCArIGludGVyY2VwdG9yIGNoYWluLCBLZXljbG9haywgaTE4bi9UcmFuc2xvY28sIE1vbmFjbywgYW5pbWF0aW9ucykgYnVyYWRhXHJcblx0ICogeWHFn2FyOyBgcHJvdmlkZWRJbmAgdGHFn8SxbWF5YW4gZXhwbGljaXQgcHJvdmlkZXIgb2xkdWtsYXLEsSBpw6dpbiB0w7xtIHRhYidsYXLEsW4gY2hpbGRcclxuXHQgKiBpbmplY3RvcidsYXLEsW5kYW4gcGFyZW50IG9sYXJhayBwYXlsYcWfxLFsxLFyIOKGkiBSQU0gbGluZWVyIGLDvHnDvG1lei4gUm91dGVyL0xvY2F0aW9uL1xyXG5cdCAqIFJldXNlU3RyYXRlZ3kvVXJsU2VyaWFsaXplciBidXJhZGEgWU9LOyBvbmxhciB0YWIgYmHFn8SxbmEgaXpvbGUgY2hpbGQgaW5qZWN0b3InZGEgdmVyaWxpci5cclxuXHQgKi9cclxuXHRjb25zdCBzaGFyZWRCYXNlQ29uZmlnOiBBcHBsaWNhdGlvbkNvbmZpZyA9IHtcclxuXHRcdHByb3ZpZGVyczogW1xyXG5cdFx0XHRjcmVhdGVCYXNlQXBwQ29uZmlnKHsgaTE4bkZvbGRlcjogX2FwcE5hbWUgfSksXHJcblx0XHRcdHByb3ZpZGVIb3N0KF9hcHBOYW1lKSxcclxuXHRcdFx0Z2V0Tmdab25lKCksXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcblx0XHRcdFx0dXNlRmFjdG9yeTogKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIGtleWNsb2FrOiBLZXljbG9ha1NlcnZpY2UsIGZvbGRlck5hbWU6IHR5cGVvZiBpMThuRm9sZGVyTmFtZSkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgcnVuQXBpSW5pdCA9IHNldEFwaUNvbmZpZ09uTUZFTW9kZShodHRwQ2xpZW50LCBrZXljbG9haywgZm9sZGVyTmFtZSBhcyB1bmtub3duIGFzIEFwcHMpO1xyXG5cdFx0XHRcdFx0Y29uc3QgcnVuTG9hZFBsdWdpbnMgPSBsb2FkUGx1Z2lucygpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIGFzeW5jICgpID0+IHtcclxuXHRcdFx0XHRcdFx0YXdhaXQgcnVuQXBpSW5pdCgpO1xyXG5cdFx0XHRcdFx0XHRydW5Mb2FkUGx1Z2lucygpO1xyXG5cdFx0XHRcdFx0fTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdG11bHRpOiB0cnVlLFxyXG5cdFx0XHRcdGRlcHM6IFtIdHRwQ2xpZW50LCBLZXljbG9ha1NlcnZpY2UsIGkxOG5Gb2xkZXJOYW1lXVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbXBvcnRQcm92aWRlcnNGcm9tKE1vbmFjb0VkaXRvck1vZHVsZS5mb3JSb290KCkpLFxyXG5cdFx0XHR7IHByb3ZpZGU6IE5HWF9NT05BQ09fRURJVE9SX0NPTkZJRywgdXNlVmFsdWU6IG1vbmFjb0NvbmZpZyB9XHJcblx0XHRdXHJcblx0fTtcclxuXHJcblx0LyoqXHJcblx0ICogUmVtb3RlIGJhxZ/EsW5hIFRFSyBwYXlsYcWfxLFsYW4gYEFwcGxpY2F0aW9uUmVmYCDigJQgY2xvc3VyZS1zY29wZS4gxLBsayBgPGFwcC0ke2FwcE5hbWV9PmBcclxuXHQgKiBlbGVtZW50J2kgYGNyZWF0ZUFwcGxpY2F0aW9uKHNoYXJlZEJhc2VDb25maWcpYCDDp2HEn8SxcsSxciwgc29ucmFraSB0w7xtIGVsZW1lbnQnbGVyIGF5bsSxXHJcblx0ICogcHJvbWlzZSfEsSBiZWtsZXIgKGR1cGxpY2F0ZSBBcHBsaWNhdGlvbiB5YXJhdMSxbcSxIGlta8OibnPEsXopLiBIZXIgZWxlbWVudCBrZW5kaSBjaGlsZFxyXG5cdCAqIGluamVjdG9yICsgYGNyZWF0ZUNvbXBvbmVudGAgaWxlIGtlbmRpIGBBcHBDb21wb25lbnRgIHZpZXcnxLFuxLEgeWFyYXTEsXAgc2hhcmVkIGFwcCdlXHJcblx0ICogYGF0dGFjaFZpZXdgIGlsZSBiYcSfbGFyLiBTaGFyZWQgYXBwIHV6dW4gw7Ztw7xybMO8ZMO8ciAodGFiJ2xhciBrYXBhbnNhIGRhIGRlc3Ryb3kgZWRpbG1leikuXHJcblx0ICpcclxuXHQgKiBgY2hpbGRQcm92aWRlcnNgJ3Rha2kgYFRyYW5zbG9jb1NlcnZpY2VgIGZhY3Rvcnknc2kgYnUgcmVmZXJhbnPEsSBrdWxsYW5kxLHEn8SxIGnDp2luXHJcblx0ICogYGNoaWxkUHJvdmlkZXJzYCd0YW4gw5ZOQ0UgdGFuxLFtbGFuxLFyIChmb3J3YXJkIFREWid5aSDDtm5sZXIpLlxyXG5cdCAqL1xyXG5cdGxldCBzaGFyZWRBcHBSZWY6IEFwcGxpY2F0aW9uUmVmIHwgbnVsbCA9IG51bGw7XHJcblx0bGV0IHNoYXJlZEFwcFByb21pc2U6IFByb21pc2U8QXBwbGljYXRpb25SZWY+IHwgbnVsbCA9IG51bGw7XHJcblxyXG5cdC8qKlxyXG5cdCAqICoqVGFiIGJhxZ/EsW5hIGl6b2xlIFJvdXRlciBzdGFjayoqIOKAlCBoZXIgYDxhcHAtJHthcHBOYW1lfT5gIGtlbmRpIGNoaWxkXHJcblx0ICogYEVudmlyb25tZW50SW5qZWN0b3JgJ8SxbmRhIGJ1bmxhcsSxIGFsxLFyLiBgybVJTkpFQ1RPUl9TQ09QRTogJ3Jvb3QnYCBjaGlsZCfEsSAncm9vdCdcclxuXHQgKiBzY29wZSB5YXBhciAoQW5ndWxhciBgUjNJbmplY3RvcmAgY3RvcjogYHNjb3Blcy5hZGQoJ3Jvb3QnKWApOyBiw7Z5bGVjZSBgcHJvdmlkZVJvdXRlcmAnxLFuXHJcblx0ICogaW5qZWN0IGV0dGnEn2kgYHByb3ZpZGVkSW46J3Jvb3QnYCBSb3V0ZXIgc2VydmlzbGVyaSDigJQgYFJvdXRlcmAsIGBDaGlsZHJlbk91dGxldENvbnRleHRzYCxcclxuXHQgKiBgTG9jYXRpb25gLCBgTmF2aWdhdGlvblRyYW5zaXRpb25zYCB2Yi4g4oCUIGNoaWxkLUxPQ0FMIMO8cmV0aWxpci4gU29udcOnOiBoZXIgdGFiIGtlbmRpXHJcblx0ICogUm91dGVyICsga2VuZGkgYFJvdXRlck91dGxldGAgY29udGV4dCdpbmUgc2FoaXAgb2x1ciDihpIgKioxIFJvdXRlciA6IDEgb3V0bGV0KiouXHJcblx0ICpcclxuXHQgKiBOZWRlbiBnZXJla2xpOiBwYXlsYcWfxLFsYW4gdGVrIEFwcGxpY2F0aW9uJ2RhIE4gYDxyb3V0ZXItb3V0bGV0PmAgYXluxLEgdGVrXHJcblx0ICogYENoaWxkcmVuT3V0bGV0Q29udGV4dHNgJ2UgXCJwcmltYXJ5XCIgZGl5ZSBrYXlkb2x1cCBiaXJiaXJpbmkgZXppeW9yZHUgKGBjb250ZXh0cy5zZXRgXHJcblx0ICogb3ZlcndyaXRlKSDihpIgdGFiIGdlw6dpxZ9pIHNvbnJhc8SxIGF5bsSxIHRhYiBpw6dpIG5hdmlnYXN5b24gKGxpc3TihpJkZXRhaWwpIHlhbmzEscWfIG91dGxldCdlXHJcblx0ICogcmVuZGVyIG9sdXlvcmR1LiBDaGlsZC1pbmplY3RvciBpem9sYXN5b251IGJ1bnUga8O2a3RlbiDDp8O2emVyLlxyXG5cdCAqXHJcblx0ICogKipUcmFuc2xvY29TZXJ2aWNlIGlzdGlzbmFzxLEqKjogYCdyb290J2Agc2NvcGUgb251IGRhIGNoaWxkLWxvY2FsIHlhcGFyZMSxOyBhbWEgZ2xvYmFsXHJcblx0ICogKHNjb3BlJ3N1eikgw6dldmlyaWxlciBzaGFyZWQgYXBwJ2luIGluaXQgYWvEscWfxLFuZGEgecO8a2xlbmRpxJ9pbmRlbiDigJQgYGNyZWF0ZUNvbXBvbmVudGBcclxuXHQgKiBgQVBQX0lOSVRJQUxJWkVSYCDDp2FsxLHFn3TEsXJtYXog4oCUIGNoaWxkLWxvY2FsIHNlcnZpY2UnaW4gZ2xvYmFsIGNhY2hlJ2kgYm/FnyBrYWzEsXAgaGFtIGtleVxyXG5cdCAqIGfDtnN0ZXJpeW9yZHUuIFRhYiBiYcWfxLFuYSBheXLEsSBkaWwgc2VuYXJ5b3N1IHlvazsgc2VydmljZSdpIHNoYXJlZCBhcHAndGVuIHBheWxhxZ90xLFyxLF5b3J1elxyXG5cdCAqIChnbG9iYWwgw6dldmlyaSB0ZWsgeWVyZGUgecO8a2xlbmlyLCB0ZWsgdHJhbnNsYXRpb24gY2FjaGUg4oaSIGVrIFJBTSBrYXphbmPEsSkuIFNjb3BlIMOnZXZpcmlsZXJpXHJcblx0ICogKGBwcm92aWRlaTE4blNjb3BlYCkgY29tcG9uZW50LWxldmVsIHNhxJ9sYW5kxLHEn8SxIGnDp2luIHBheWxhxZ/EsWxhbiBzZXJ2aWNlJ2xlIGRlIMOnYWzEscWfxLFyLlxyXG5cdCAqXHJcblx0ICogTk9UOiBgybVJTkpFQ1RPUl9TQ09QRWAgQW5ndWxhciBwcml2YXRlIEFQSSdzaWRpcjsgbWlub3Igc8O8csO8bSB5w7xrc2VsdG1lbGVyaW5kZSBkYXZyYW7EscWfxLFcclxuXHQgKiBkb8SfcnVsYW5tYWzEsSAoYcWfYcSfxLFkYWtpIFBPQyBpem9sYXN5b24gbG9nJ3UgYnVudW4gacOnaW4gYsSxcmFrxLFsZMSxKS5cclxuXHQgKi9cclxuXHRjb25zdCBjaGlsZFByb3ZpZGVyczogQXJyYXk8UHJvdmlkZXIgfCBFbnZpcm9ubWVudFByb3ZpZGVycz4gPSBbXHJcblx0XHR7IHByb3ZpZGU6IMm1SU5KRUNUT1JfU0NPUEUsIHVzZVZhbHVlOiAncm9vdCcgfSxcclxuXHRcdHByb3ZpZGVSb3V0ZXIoXHJcblx0XHRcdF9yb3V0ZXMsXHJcblx0XHRcdHdpdGhDb21wb25lbnRJbnB1dEJpbmRpbmcoKSxcclxuXHRcdFx0d2l0aFJvdXRlckNvbmZpZyh7IG9uU2FtZVVybE5hdmlnYXRpb246ICdyZWxvYWQnIH0pXHJcblx0XHQpLFxyXG5cdFx0eyBwcm92aWRlOiBMb2NhdGlvblN0cmF0ZWd5LCB1c2VDbGFzczogSXNvbGF0ZWRMb2NhdGlvblN0cmF0ZWd5IH0sXHJcblx0XHR7IHByb3ZpZGU6IExvY2F0aW9uLCB1c2VDbGFzczogTG9jYXRpb24gfSxcclxuXHRcdHsgcHJvdmlkZTogUm91dGVSZXVzZVN0cmF0ZWd5LCB1c2VFeGlzdGluZzogQ3VzdG9tUm91dGVSZXVzZVN0cmF0ZWd5IH0sXHJcblx0XHR7IHByb3ZpZGU6IFVybFNlcmlhbGl6ZXIsIHVzZUV4aXN0aW5nOiBUYWJBd2FyZVVybFNlcmlhbGl6ZXIgfSxcclxuXHRcdHsgcHJvdmlkZTogVHJhbnNsb2NvU2VydmljZSwgdXNlRmFjdG9yeTogKCkgPT4gc2hhcmVkQXBwUmVmIS5pbmplY3Rvci5nZXQoVHJhbnNsb2NvU2VydmljZSkgfSxcclxuXHRcdC8vIGDJtUlOSkVDVE9SX1NDT1BFOidyb290J2AgeWFuIGV0a2lzaTogYEFwcGxpY2F0aW9uUmVmYCBkZSBgcHJvdmlkZWRJbjoncm9vdCdgIG9sZHXEn3UgacOnaW5cclxuXHRcdC8vIGNoaWxkIGluamVjdG9yJ2RhIGNoaWxkLUxPS0FMIChzYWh0ZSkgYmlyIGluc3RhbmNlIMO8cmV0aWxpcmRpIOKAlCBidSBpbnN0YW5jZSBOZ1pvbmUndW5cclxuXHRcdC8vIHRpY2sgZMO2bmfDvHPDvG5lIGJhxJ9sxLEgREXEnsSwTETEsFIuIFNvbnXDpzogYnUgYXBwUmVmJ2UgYGF0dGFjaFZpZXdgIGVkaWxlbiB2aWV3J2xhciBoacOnIGNoYW5nZVxyXG5cdFx0Ly8gZGV0ZWN0aW9uIGFsbWF6LiBBcHBDb21wb25lbnQnaSBiaXogYcOnxLFrw6dhIGBzaGFyZWRBcHBSZWYuYXR0YWNoVmlld2AgaWxlIGJhxJ9sYWTEscSfxLFtxLF6IGnDp2luXHJcblx0XHQvLyDDp2FsxLHFn8SxcjsgYW1hIGBpbmplY3QoQXBwbGljYXRpb25SZWYpYCB5YXBhbiDDvMOnw7xuY8O8IHRhcmFmIGtvZCAoUHJpbWVORyBgRGlhbG9nU2VydmljZWAg4oaSXHJcblx0XHQvLyBgdGhpcy5hcHBSZWYuYXR0YWNoVmlld2ApIGNoaWxkLWxvY2FsIHNhaHRlIGFwcFJlZidpIGFsxLFwIGRpYWxvZyd1IG9uYSBiYcSfbMSxeW9yZHUg4oaSIGRpYWxvZ1xyXG5cdFx0Ly8geWFyYXTEsWzEsXlvciBhbWEgYCpuZ0lmPVwidmlzaWJsZVwiYCBoacOnIHJlbmRlciBlZGlsbWl5b3JkdSAoYm/FnyBhw6fEsWzEsXlvcmR1KS5cclxuXHRcdC8vXHJcblx0XHQvLyDDh8O2esO8bSDigJQgYHNoYXJlZEFwcFJlZmAnaSBzYXJhbiBQcm94eTogVMOcTSDDvHllbGVyIChhdHRhY2hWaWV3L2RldGFjaFZpZXcvdGljay9jb21wb25lbnRz4oCmKVxyXG5cdFx0Ly8gZ2Vyw6dlayBgc2hhcmVkQXBwUmVmYCdlIGRlbGVnZSBvbHVyIChtZXRob2QnbGFyIGB0YXJnZXRgJ2EgYmluZCdsaSDihpIgcHJpdmF0ZSBmaWVsZCBkYWhpbFxyXG5cdFx0Ly8gZG/En3J1IGB0aGlzYCksIFRFSyBmYXJrIGAuaW5qZWN0b3JgIOKGkiBidSB0YWInxLFuIGNoaWxkIGluamVjdG9yJ8SxLiBOZWRlbiBrcml0aWs6IFByaW1lTkdcclxuXHRcdC8vIGBEaWFsb2dTZXJ2aWNlYCBkaWFsb2cndSBgY3JlYXRlQ29tcG9uZW50KC4uLiwgeyBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmFwcFJlZi5pbmplY3RvciB9KWBcclxuXHRcdC8vIGlsZSB5YXJhdMSxci4gRMO8eiBgc2hhcmVkQXBwUmVmYCBkw7ZuZXJzZWsgZGlhbG9nIGnDp2VyacSfaSBzaGFyZWQgUk9PVCd0YSDDp8O2esO8bMO8ciwgc2F5ZmEgaXNlXHJcblx0XHQvLyBjaGlsZCBpbmplY3RvcidkYSDihpIgYHByb3ZpZGVkSW46J3Jvb3QnYCBoZXIgc2VydmlzIMSwS8SwIGF5csSxIGluc3RhbmNlIG9sdXIgKHNwbGl0LWJyYWluKSB2ZVxyXG5cdFx0Ly8gQmVoYXZpb3JTdWJqZWN0IHRhYmFubMSxIHNheWZh4oaUZGlhbG9nIHN0YXRlIHNlbmtyb25pemUgT0xNQVogKHNlw6dpbGkga2F5xLF0IGRpYWxvZydkYSBudWxsKS5cclxuXHRcdC8vIGAuaW5qZWN0b3JgJ8SxIGNoaWxkJ2EgecO2bmxlbmRpcmluY2UgZGlhbG9nIGnDp2VyacSfaSBzYXlmYXlsYSBBWU5JIGluamVjdG9yJ2RhIMOnw7Z6ZXIg4oaSIG90b21hdGlrXHJcblx0XHQvLyB0ZWsgaW5zdGFuY2UsIFTDnE0gKG1ldmN1dCtnZWxlY2VrKSBzZXJ2aXNsZXIgacOnaW4g4oCUIHNlcnZpcyBsaXN0ZXNpIHR1dG1heWEgZ2VyZWsgeW9rLlxyXG5cdFx0Ly8gYGF0dGFjaFZpZXdgIHlpbmUgYHNoYXJlZEFwcFJlZmAnZSBnaXR0acSfaSBpw6dpbiB0ZWsgdGljayBkw7ZuZ8O8c8O8L2NoYW5nZSBkZXRlY3Rpb24ga29ydW51ci5cclxuXHRcdHtcclxuXHRcdFx0cHJvdmlkZTogQXBwbGljYXRpb25SZWYsXHJcblx0XHRcdHVzZUZhY3Rvcnk6ICgpID0+IHtcclxuXHRcdFx0XHRjb25zdCB0YWJJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcclxuXHRcdFx0XHRyZXR1cm4gbmV3IFByb3h5KHNoYXJlZEFwcFJlZiEsIHtcclxuXHRcdFx0XHRcdGdldCh0YXJnZXQsIHByb3ApIHtcclxuXHRcdFx0XHRcdFx0aWYgKHByb3AgPT09ICdpbmplY3RvcicpIHJldHVybiB0YWJJbmplY3RvcjtcclxuXHRcdFx0XHRcdFx0Ly8gYG5nT25EZXN0cm95YCd1IEfEsFpMRSAodW5kZWZpbmVkIGTDtm5kw7xyKS4gQWtzaSBoYWxkZSBgaW5qZWN0KEFwcGxpY2F0aW9uUmVmKWBcclxuXHRcdFx0XHRcdFx0Ly8geWFwYW4gdGFiIGNoaWxkIGluamVjdG9yJ8SxIChQcmltZU5HIERpYWxvZ1NlcnZpY2UgdmV5YSBhxZ9hxJ/EsWRha2kgZGV2IGd1YXJkKVxyXG5cdFx0XHRcdFx0XHQvLyBwcm94eSd5aSBrZW5kaSBgX25nT25EZXN0cm95SG9va3NgJ3VuYSBrYXlkZWRlciAoUjNJbmplY3Rvci5oeWRyYXRlIOKGklxyXG5cdFx0XHRcdFx0XHQvLyBoYXNPbkRlc3Ryb3k9dHJ1ZSkgdmUgdGFiIGthcGFuxLHFn8SxbmRhIGBjaGlsZEluamVjdG9yLmRlc3Ryb3koKWAg4oaSXHJcblx0XHRcdFx0XHRcdC8vIGBzaGFyZWRBcHBSZWYubmdPbkRlc3Ryb3koKWAg4oaSIGHDp8SxayBUw5xNIHRhYidsYXLEsW4gdmlldydsYXLEsW7EsSBkZXN0cm95IGVkaXBcclxuXHRcdFx0XHRcdFx0Ly8gc2hhcmVkIGFwcCdpIMO2bGTDvHLDvHIuIFNoYXJlZCBhcHAnaW4gbGlmZWN5Y2xlJ8SxIGJvb3RzdHJhcCdhIGFpdHRpciwgdGFiJ2EgZGXEn2lsXHJcblx0XHRcdFx0XHRcdC8vIChnZXLDp2VrIGBzaGFyZWRBcHBSZWYubmdPbkRlc3Ryb3lgIGV0a2lsZW5tZXo7IHlhbG7EsXpjYSBwcm94eSDDvHplcmluZGVuIGdpemxlbmlyKS5cclxuXHRcdFx0XHRcdFx0aWYgKHByb3AgPT09ICduZ09uRGVzdHJveScpIHJldHVybiB1bmRlZmluZWQ7XHJcblx0XHRcdFx0XHRcdGNvbnN0IHZhbHVlID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCB0YXJnZXQpO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nID8gdmFsdWUuYmluZCh0YXJnZXQpIDogdmFsdWU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHQvLyBUYXJhbWEgKGxvZzE1KSBpbGUgc2FwdGFuYW4sIGNoaWxkLWxvY2FsIG9sdW5jYSBib3p1bGFuIGVrIGBwcm92aWRlZEluOidyb290J2Agc2VydmlzbGVyaTpcclxuXHRcdC8vIOKAoiBQdWJTdWJTZXJ2aWNlIOKAlCBNRkUnbmluIGBicmVhZGNydW1iVXBkYXRlZGAgZXZlbnQnaSBob3N0IGBoaXN0b3J5LnNlcnZpY2VgJ2UgdWxhxZ9tYWzEsTtcclxuXHRcdC8vICAgY2hpbGQtbG9jYWwgb2x1bmNhIE1GReKGlGhvc3QgZXZlbnQga8O2cHLDvHPDvCBrb3B1eW9yZHUuXHJcblx0XHQvLyDigKIgUHJpbWVOR0NvbmZpZyDigJQgZGluYW1payBkaWFsb2cnbGFyIHNoYXJlZCByb290IGNvbnRleHQnaW5kZSB5YXJhdMSxbGTEscSfxLEgacOnaW4gUHJpbWVOR1xyXG5cdFx0Ly8gICDDp2V2aXJpbGVyaSAoY2FsZW5kYXIvcGFnaW5hdG9yIHZiLikgdmUgYHNldFRyYW5zbGF0aW9uYCBzaGFyZWQgaW5zdGFuY2UndGFuIG9rdW5tYWzEsS5cclxuXHRcdC8vIChCcmVhZGNydW1iU2VydmljZSBiaWxpbsOnbGkgb2xhcmFrIGNoaWxkLWxvY2FsIGLEsXJha8SxbGTEsTogaGVyIHRhYiBrZW5kaSBicmVhZGNydW1iJ8SxLilcclxuXHRcdHsgcHJvdmlkZTogUHViU3ViU2VydmljZSwgdXNlRmFjdG9yeTogKCkgPT4gc2hhcmVkQXBwUmVmIS5pbmplY3Rvci5nZXQoUHViU3ViU2VydmljZSkgfSxcclxuXHRcdHsgcHJvdmlkZTogUHJpbWVOR0NvbmZpZywgdXNlRmFjdG9yeTogKCkgPT4gc2hhcmVkQXBwUmVmIS5pbmplY3Rvci5nZXQoUHJpbWVOR0NvbmZpZykgfSxcclxuXHRcdC8vIFRvYXN0L2NvbmZpcm0gR0xPQkFMOiB0ZWsgc2hhcmVkIE1lc3NhZ2VTZXJ2aWNlL0NvbmZpcm1hdGlvblNlcnZpY2UuIEFrc2kgaGFsZGUgaGVyIHRhYlxyXG5cdFx0Ly8ga2VuZGkgaW5zdGFuY2UnxLFuYSBzYWhpcCBvbHVyIOKGkiBob3N0J3RhbiB0ZXRpa2xlbmVuIHRvYXN0IE1GRSB0YWInxLFuZGEgKHlhIGRhIHRlcnNpKVxyXG5cdFx0Ly8gZ8O2csO8bm1lei4gU2hhcmVkIGluc3RhbmNlIGlsZSB0w7xtIGA8cC10b2FzdCBrZXk9XCJ0b2FzdC1yb290XCI+YCBjb250YWluZXInbGFyxLEgYXluxLEga3V5cnXEn3UgZGlubGVyLlxyXG5cdFx0eyBwcm92aWRlOiBNZXNzYWdlU2VydmljZSwgdXNlRmFjdG9yeTogKCkgPT4gc2hhcmVkQXBwUmVmIS5pbmplY3Rvci5nZXQoTWVzc2FnZVNlcnZpY2UpIH0sXHJcblx0XHR7IHByb3ZpZGU6IENvbmZpcm1hdGlvblNlcnZpY2UsIHVzZUZhY3Rvcnk6ICgpID0+IHNoYXJlZEFwcFJlZiEuaW5qZWN0b3IuZ2V0KENvbmZpcm1hdGlvblNlcnZpY2UpIH1cclxuXHRdO1xyXG5cclxuXHRjb25zdCBhcHBDb21wb25lbnRQcm9taXNlID0gYXBwQ29tcG9uZW50TG9hZGVyKCk7XHJcblxyXG5cdGNsYXNzIE1GRUFwcEVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XHJcblx0XHRwcml2YXRlIGNoaWxkSW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3IgfCBudWxsID0gbnVsbDtcclxuXHRcdHByaXZhdGUgY29tcFJlZjogQ29tcG9uZW50UmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XHJcblx0XHRwcml2YXRlIGlzQm9vdHN0cmFwcGluZyA9IGZhbHNlO1xyXG5cdFx0cHJpdmF0ZSBkZXN0cm95VGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XHJcblxyXG5cdFx0YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcblx0XHRcdC8vIFN0cmF0ZWd5IGhpZGRlbiBjb250YWluZXIg4oaUIHZpZXcgYXJhc8SxIHRhxZ/EsW1hbGFyZGEgcmUtYm9vdHN0cmFwJ8SxIMO2bmxlIOKAlFxyXG5cdFx0XHQvLyB2aWV3IHphdGVuIHlhcmF0xLFsZMSxeXNhIHNraXAuIGRlc3Ryb3lUaW1lciBwZW5kaW5nIGlzZSBpcHRhbCBldC5cclxuXHRcdFx0aWYgKHRoaXMuY29tcFJlZiB8fCB0aGlzLmlzQm9vdHN0cmFwcGluZykge1xyXG5cdFx0XHRcdGlmICh0aGlzLmRlc3Ryb3lUaW1lcikge1xyXG5cdFx0XHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMuZGVzdHJveVRpbWVyKTtcclxuXHRcdFx0XHRcdHRoaXMuZGVzdHJveVRpbWVyID0gbnVsbDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuaXNCb290c3RyYXBwaW5nID0gdHJ1ZTtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHQvLyBQYXlsYcWfxLFsYW4gQXBwbGljYXRpb24g4oCUIGlsayDDp2HEn8SxcmFuIHlhcmF0xLFyLCBkacSfZXJsZXJpIGF5bsSxIHByb21pc2UnxLEgYmVrbGVyLlxyXG5cdFx0XHRcdGlmICghc2hhcmVkQXBwUHJvbWlzZSkge1xyXG5cdFx0XHRcdFx0c2hhcmVkQXBwUHJvbWlzZSA9IGNyZWF0ZUFwcGxpY2F0aW9uKHNoYXJlZEJhc2VDb25maWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zdCBbYXBwUmVmLCBBcHBDb21wb25lbnRdID0gYXdhaXQgUHJvbWlzZS5hbGwoW3NoYXJlZEFwcFByb21pc2UsIGFwcENvbXBvbmVudFByb21pc2VdKTtcclxuXHRcdFx0XHRzaGFyZWRBcHBSZWYgPSBhcHBSZWY7XHJcblxyXG5cdFx0XHRcdC8vIEJ1IHRhYiBpw6dpbiBpem9sZSBSb3V0ZXIgc3RhY2snaSBiYXLEsW5kxLFyYW4gY2hpbGQgaW5qZWN0b3IuXHJcblx0XHRcdFx0Y29uc3QgdGFiSWQgPSB0aGlzLmdldEF0dHJpYnV0ZSgnYXJpbC10YWItaWQnKSA/PyAnJztcclxuXHRcdFx0XHR0aGlzLmNoaWxkSW5qZWN0b3IgPSBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yKFxyXG5cdFx0XHRcdFx0Y2hpbGRQcm92aWRlcnMsXHJcblx0XHRcdFx0XHRhcHBSZWYuaW5qZWN0b3IsXHJcblx0XHRcdFx0XHRgbWZlOiR7X2FwcE5hbWV9OiR7dGFiSWQgfHwgJ3BlbmRpbmcnfWBcclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHQvLyBbSGlicml0IGl6b2xhc3lvbiBndWFyZCDigJQga2FsxLFjxLFdIGDJtUlOSkVDVE9SX1NDT1BFOidyb290J2AgaWxlIGNoaWxkIGluamVjdG9yJ8SxblxyXG5cdFx0XHRcdC8vIEtFTkTEsCBSb3V0ZXIgKyBDaGlsZHJlbk91dGxldENvbnRleHRzJ2kgb2xtYXPEsSwgdGFiIGl6b2xhc3lvbnVudW4gdGVtZWxpZGlyXHJcblx0XHRcdFx0Ly8gKFwiMSBSb3V0ZXIgOiAxIG91dGxldFwiKS4gQnUgcHJpdmF0ZSBBUEkgQW5ndWxhciB1cGdyYWRlJ2luZGUgZGF2cmFuxLHFnyBkZcSfacWfdGlyaXJzZVxyXG5cdFx0XHRcdC8vIGJ1cmFkYSBlcmtlbiB5YWthbGFuxLFyOyBha3NpIGhhbGRlIFwiMSBSb3V0ZXIgOiBOIG91dGxldFwiIGJ1ZyfEsSBzZXNzaXpjZSBnZXJpIGTDtm5lci5cclxuXHRcdFx0XHRpZiAoaXNEZXZNb2RlKCkgJiYgdGhpcy5jaGlsZEluamVjdG9yLmdldChSb3V0ZXIpID09PSBhcHBSZWYuaW5qZWN0b3IuZ2V0KFJvdXRlcikpIHtcclxuXHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoXHJcblx0XHRcdFx0XHRcdGBbYm9vdDoke19hcHBOYW1lfV0gSMSwQlLEsFQgxLBaT0xBU1lPTiBCT1pVTERVOiBjaGlsZCBSb3V0ZXIgc2hhcmVkIHJvb3QgaWxlIGF5bsSxIGluc3RhbmNlISBgICtcclxuXHRcdFx0XHRcdFx0XHRgybVJTkpFQ1RPUl9TQ09QRSBkYXZyYW7EscWfxLEgZGXEn2nFn21pxZ8gb2xhYmlsaXIgKEFuZ3VsYXIgdXBncmFkZT8pIOKAlCB0YWIgaXpvbGFzeW9udSDDp2FsxLHFn21hei5gXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ly8gW0RpYWxvZyBpbmplY3RvciBrw7ZwcsO8c8O8IGd1YXJkIOKAlCBrYWzEsWPEsV0gQXBwbGljYXRpb25SZWYgcHJveHknc2luaW4gYC5pbmplY3RvcmAnxLEgYnVcclxuXHRcdFx0XHQvLyB0YWInxLFuIGNoaWxkIGluamVjdG9yJ8SxbsSxIGfDtnN0ZXJtZWxpOyBha3NpIGhhbGRlIFByaW1lTkcgRGlhbG9nU2VydmljZSBkaWFsb2cgacOnZXJpxJ9pbmlcclxuXHRcdFx0XHQvLyBzaGFyZWQgcm9vdCd0YSDDp8O2emVyIOKGkiBzYXlmYeKGlGRpYWxvZyBgcHJvdmlkZWRJbjoncm9vdCdgIHNwbGl0LWJyYWluIGdlcmkgZMO2bmVyLiBQcmltZU5HXHJcblx0XHRcdFx0Ly8geWEgZGEgQW5ndWxhciB1cGdyYWRlJ2kgYGFwcFJlZi5pbmplY3RvcmAga3VsbGFuxLFtxLFuxLEgZGXEn2nFn3Rpcmlyc2UgYnVyYWRhIHlha2FsYW7EsXIuXHJcblx0XHRcdFx0aWYgKGlzRGV2TW9kZSgpICYmIHRoaXMuY2hpbGRJbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpLmluamVjdG9yICE9PSB0aGlzLmNoaWxkSW5qZWN0b3IpIHtcclxuXHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoXHJcblx0XHRcdFx0XHRcdGBbYm9vdDoke19hcHBOYW1lfV0gRElBTE9HIElOSkVDVE9SIEvDllBSw5xTw5wgQk9aVUxEVTogQXBwbGljYXRpb25SZWYuaW5qZWN0b3IgdGFiIGNoaWxkIGAgK1xyXG5cdFx0XHRcdFx0XHRcdGBpbmplY3RvcifEsSBnw7ZzdGVybWl5b3Ig4oCUIGRpYWxvZyBpw6dlcmnEn2kgc2F5ZmFkYW4gZmFya2zEsSBpbmplY3RvcidkYSDDp8O2esO8bMO8ciAoc3BsaXQtYnJhaW4pLmBcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyBBcHBDb21wb25lbnQnaSBjaGlsZCBpbmplY3RvciBjb250ZXh0J2luZGUgeWFyYXQg4oaSIGluamVjdChSb3V0ZXIpL0xvY2F0aW9uU3RyYXRlZ3lcclxuXHRcdFx0XHQvLyBjaGlsZC1sb2NhbDsgaW5qZWN0KE1mZUJyaWRnZSkvSHR0cENsaWVudC9LZXljbG9hay9UcmFuc2xvY29TZXJ2aWNlIHZiLiBwYXJlbnQndGFuXHJcblx0XHRcdFx0Ly8gcGF5bGHFn8SxbWzEsS4gYGF0dGFjaFZpZXdgIHNoYXJlZCBhcHAnaW4gY2hhbmdlIGRldGVjdGlvbiBkw7ZuZ8O8c8O8bmUgYmHEn2xhci4gKGBib290c3RyYXBgXHJcblx0XHRcdFx0Ly8gZGXEn2lsOiBBUFBfQk9PVFNUUkFQX0xJU1RFTkVSIMOnYWzEscWfbWF6LCBjaGlsZCBSb3V0ZXInxLFuIGluaXRpYWwgbmF2aWdhdGlvbifEsW7EsVxyXG5cdFx0XHRcdC8vIEFwcENvbXBvbmVudCBob3N0LVJvdXRlciBzeW5jJ2kgYHNhZmVOYXZpZ2F0ZWAgaWxlIHlhcMSxeW9yLilcclxuXHRcdFx0XHR0aGlzLmNvbXBSZWYgPSBjcmVhdGVDb21wb25lbnQoQXBwQ29tcG9uZW50IGFzIG5ldmVyLCB7XHJcblx0XHRcdFx0XHRlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmNoaWxkSW5qZWN0b3IsXHJcblx0XHRcdFx0XHRob3N0RWxlbWVudDogdGhpc1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGFwcFJlZi5hdHRhY2hWaWV3KHRoaXMuY29tcFJlZi5ob3N0Vmlldyk7XHJcblx0XHRcdFx0Ly8gQmHFn2FyxLFsxLEgYm9vdDogZ3VhcmQgYXJ0xLFrIGBjb21wUmVmYCDDvHplcmluZGVuIMOnYWzEscWfxLFyIOKGkiBgaXNCb290c3RyYXBwaW5nYCdpIGLEsXJhay5cclxuXHRcdFx0XHQvLyAoYXdhaXQgc8SxcmFzxLFuZGEgZGlzY29ubmVjdCBvbHVwIGhhdGEgb2x1xZ9tYXpzYSBmbGFnIHRha8SxbMSxIGthbG1hc8SxbjsgYWtzaSBoYWxkZVxyXG5cdFx0XHRcdC8vIHJlY29ubmVjdCd0ZSBndWFyZCBlcmtlbiByZXR1cm4gZWRpcCB0YWInxLEga2FsxLFjxLEgYm/FnyBixLFyYWvEsXIuKVxyXG5cdFx0XHRcdHRoaXMuaXNCb290c3RyYXBwaW5nID0gZmFsc2U7XHJcblx0XHRcdH0gY2F0Y2ggKGVycikge1xyXG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoYFtib290OiR7X2FwcE5hbWV9XSBhcHBsaWNhdGlvbiBib290c3RyYXAgaGF0YXPEsTpgLCBlcnIpO1xyXG5cdFx0XHRcdHRoaXMuaXNCb290c3RyYXBwaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0Ly8gc2hhcmVkQXBwIGhlbsO8eiBzZXQgZWRpbG1lZGl5c2UgKGNyZWF0ZUFwcGxpY2F0aW9uIGJhxZ9hcsSxc8SxeikgcHJvbWlzZSfEsSBzxLFmxLFybGEga2lcclxuXHRcdFx0XHQvLyBzb25yYWtpIHRhYiByZXRyeSBlZGViaWxzaW4g4oCUIGFrc2kgaGFsZGUgcmVqZWN0ZWQgcHJvbWlzZSBjbG9zdXJlJ2RhIGthbMSxY8SxIGthbMSxciB2ZVxyXG5cdFx0XHRcdC8vIHJlbW90ZSBzYXlmYSB5ZW5pbGVtZWRlbiBiaXIgZGFoYSBib290IGVkaWxlbWV6LiAoY3JlYXRlQ29tcG9uZW50IGhhdGFzxLFuZGFcclxuXHRcdFx0XHQvLyBzaGFyZWRBcHBSZWYgemF0ZW4gc2V0J3RpcjsgbyBkdXJ1bWRhIHByb21pc2Uga29ydW51ciwgYXBwIHllbmlkZW4geWFyYXTEsWxtYXouKVxyXG5cdFx0XHRcdGlmICghc2hhcmVkQXBwUmVmKSBzaGFyZWRBcHBQcm9taXNlID0gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xyXG5cdFx0XHQvLyBTdHJhdGVneSBoaWRkZW4gY29udGFpbmVyIOKGlCB2aWV3IGFyYXPEsSB0YcWfxLFtYWxhcmRhIGByZW1vdmVDaGlsZGAgKyBgYXBwZW5kQ2hpbGRgXHJcblx0XHRcdC8vIGFyZMSxxZ/EsWsgb2xkdcSfdSBpw6dpbiBkaXNjb25uZWN0ZWRDYWxsYmFjayBwYXJlbnQgZGXEn2nFn2ltaXlsZSB0ZXRpa2xlbmlyIOKAlCBlbGVtZW50XHJcblx0XHRcdC8vIGdlcsOnZWt0ZW4gZGVzdHJveSBlZGlsbWl5b3IuIGBwcmVzZXJ2ZVdlYkNvbXBvbmVudEVsZW1lbnRgIMO2bmNlc2luZGUgU3RyYXRlZ3lcclxuXHRcdFx0Ly8gYF9fYXJpbFByZXNlcnZlRHVyaW5nRGV0YWNoYCBmbGFnJ2kgc2V0IGVkaXlvcjsgbyBmbGFnIHZhcnNhIHZpZXcga29ydW51ci5cclxuXHRcdFx0Y29uc3QgcHJlc2VydmVGbGFnID0gKHRoaXMgYXMgSFRNTEVsZW1lbnQgJiB7IF9fYXJpbFByZXNlcnZlRHVyaW5nRGV0YWNoPzogYm9vbGVhbiB9KS5fX2FyaWxQcmVzZXJ2ZUR1cmluZ0RldGFjaDtcclxuXHRcdFx0aWYgKHByZXNlcnZlRmxhZykge1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBGbGFnIHlvayDihpIgZ2Vyw6dlayBkZXN0cm95LiBBc3luYyByZS1jb25uZWN0IGlodGltYWxpbmUga2FyxZ/EsSBtaWNyb3Rhc2sgc8SxbsSxcmzEsVxyXG5cdFx0XHQvLyBkZWZhbnNpZiBnZWNpa21lOyBiaXIgc29ucmFraSB0aWNrJ3RlIGjDomzDoiBkaXNjb25uZWN0ZWQgbcSxIGRpeWUgc29uIGtvbnRyb2wuXHJcblx0XHRcdGlmICh0aGlzLmRlc3Ryb3lUaW1lcikgY2xlYXJUaW1lb3V0KHRoaXMuZGVzdHJveVRpbWVyKTtcclxuXHRcdFx0dGhpcy5kZXN0cm95VGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRpZiAoIXRoaXMuaXNDb25uZWN0ZWQgJiYgdGhpcy5jb21wUmVmKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhgW2Jvb3Q6JHtfYXBwTmFtZX1dIGdlcsOnZWsgZGVzdHJveSDihpIgdmlldyArIGNoaWxkIGluamVjdG9yIGRlc3Ryb3lgKTtcclxuXHRcdFx0XHRcdC8vIFNoYXJlZCBhcHAnZSBBU0xBIGRva3VubWE7IHNhZGVjZSBidSB0YWInxLFuIHZpZXcnxLFuxLEgdmUgY2hpbGQgaW5qZWN0b3InxLFuxLEgecSxay5cclxuXHRcdFx0XHRcdGlmIChzaGFyZWRBcHBSZWYpIHNoYXJlZEFwcFJlZi5kZXRhY2hWaWV3KHRoaXMuY29tcFJlZi5ob3N0Vmlldyk7XHJcblx0XHRcdFx0XHR0aGlzLmNvbXBSZWYuZGVzdHJveSgpO1xyXG5cdFx0XHRcdFx0dGhpcy5jaGlsZEluamVjdG9yPy5kZXN0cm95KCk7XHJcblx0XHRcdFx0XHR0aGlzLmNvbXBSZWYgPSBudWxsO1xyXG5cdFx0XHRcdFx0dGhpcy5jaGlsZEluamVjdG9yID0gbnVsbDtcclxuXHRcdFx0XHRcdHRoaXMuaXNCb290c3RyYXBwaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuZGVzdHJveVRpbWVyID0gbnVsbDtcclxuXHRcdFx0fSwgMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR0cnkge1xyXG5cdFx0Y3VzdG9tRWxlbWVudHMuZGVmaW5lKGBhcHAtJHthcHBOYW1lfWAsIE1GRUFwcEVsZW1lbnQpO1xyXG5cdH0gY2F0Y2ggKGUpIHtcclxuXHRcdGlmIChlIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uICYmIGUubmFtZSA9PT0gJ05vdFN1cHBvcnRlZEVycm9yJykge1xyXG5cdFx0XHRjb25zb2xlLndhcm4oYFtib290OiR7YXBwTmFtZX1dIGN1c3RvbSBlbGVtZW50IHphdGVuIHRhbsSxbWzEsSwgZGVmaW5lIGF0bGFuZMSxYCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRocm93IGU7XHJcblx0fVxyXG59O1xyXG4iXX0=
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC9ib290L21mZS9zcmMvYm9vdHN0cmFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUNOLGVBQWUsRUFFZixjQUFjLEVBRWQsbUJBQW1CLEVBR25CLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLE1BQU0sRUFDTixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFDTixrQkFBa0IsRUFDbEIsTUFBTSxFQUVOLGFBQWEsRUFDYixhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQVEsd0JBQXdCLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxX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SSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDMUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUNEO0lBRUQsSUFBSSxDQUFDO1FBQ0osY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLFlBQVksWUFBWSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztZQUNqRSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsT0FBTyxnREFBZ0QsQ0FBQyxDQUFDO1lBQy9FLE9BQU87UUFDUixDQUFDO1FBQ0QsTUFBTSxDQUFDLENBQUM7SUFDVCxDQUFDO0FBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24sIExvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge1xyXG5cdEFQUF9JTklUSUFMSVpFUixcclxuXHRBcHBsaWNhdGlvbkNvbmZpZyxcclxuXHRBcHBsaWNhdGlvblJlZixcclxuXHRDb21wb25lbnRSZWYsXHJcblx0RW52aXJvbm1lbnRJbmplY3RvcixcclxuXHRFbnZpcm9ubWVudFByb3ZpZGVycyxcclxuXHRQcm92aWRlcixcclxuXHRjcmVhdGVDb21wb25lbnQsXHJcblx0Y3JlYXRlRW52aXJvbm1lbnRJbmplY3RvcixcclxuXHRpbXBvcnRQcm92aWRlcnNGcm9tLFxyXG5cdGluamVjdCxcclxuXHRpc0Rldk1vZGUsXHJcblx0ybVJTkpFQ1RPUl9TQ09QRVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjcmVhdGVBcHBsaWNhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQge1xyXG5cdFJvdXRlUmV1c2VTdHJhdGVneSxcclxuXHRSb3V0ZXIsXHJcblx0Um91dGVzLFxyXG5cdFVybFNlcmlhbGl6ZXIsXHJcblx0cHJvdmlkZVJvdXRlcixcclxuXHR3aXRoQ29tcG9uZW50SW5wdXRCaW5kaW5nLFxyXG5cdHdpdGhSb3V0ZXJDb25maWdcclxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTWVzc2FnZVNlcnZpY2UsIFByaW1lTkdDb25maWcgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5cclxuaW1wb3J0IHsgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcbmltcG9ydCB7IE1vbmFjb0VkaXRvck1vZHVsZSwgTkdYX01PTkFDT19FRElUT1JfQ09ORklHIH0gZnJvbSAnbmd4LW1vbmFjby1lZGl0b3ItdjInO1xyXG5cclxuaW1wb3J0IHsgY3JlYXRlQmFzZUFwcENvbmZpZyB9IGZyb20gJ2FyaWwvYm9vdC9iYXNlJztcclxuaW1wb3J0IHsgc2V0QXBpQ29uZmlnT25NRkVNb2RlIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5pbXBvcnQgeyBBcHBzLCBDdXN0b21Sb3V0ZVJldXNlU3RyYXRlZ3ksIFBsdWdpbk1lbnVJdGVtLCBUYWJBd2FyZVVybFNlcmlhbGl6ZXIgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQgeyBnZXROZ1pvbmUsIGxvYWRQbHVnaW5zIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9wbHVnaW5zJztcclxuaW1wb3J0IHsgaTE4bkZvbGRlck5hbWUgfSBmcm9tICdhcmlsL2kxOG4nO1xyXG5pbXBvcnQgeyBwcm92aWRlSG9zdCB9IGZyb20gJ2FyaWwvcHJvdmlkZXInO1xyXG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICdhcmlsL3V0aWwvYWN0aXZpdHknO1xyXG5pbXBvcnQgeyBQdWJTdWJTZXJ2aWNlIH0gZnJvbSAnYXJpbC91dGlsL3B1Yi1zdWInO1xyXG5cclxuaW1wb3J0IHsgYXBwQ29tcG9uZW50TG9hZGVyIH0gZnJvbSAnLi9hcHBDb21wb25lbnRMb2FkZXInO1xyXG5pbXBvcnQgeyBJc29sYXRlZExvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2lzb2xhdGVkLWxvY2F0aW9uLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgbW9uYWNvQ29uZmlnIH0gZnJvbSAnLi9tb25hY28uY29uZmlnJztcclxuXHJcbmV4cG9ydCB2YXIgYXBwTmFtZTogQXBwcztcclxuZXhwb3J0IHZhciBtZW51SXRlbXM6IFBsdWdpbk1lbnVJdGVtW10gPSBbXTtcclxuXHJcbi8qKlxyXG4gKiBgYm9vdGAgw6dhxJ9yxLFsYXLEsW7EsW4gaWRlbXBvdGVudCBrYWxtYXPEsW7EsSBzYcSfbGF5YW4gc3luYyBndWFyZC4gQXluxLEgcmVtb3RlIGnDp2luXHJcbiAqIGJpcmRlbiBmYXpsYSBwYXJhbGVsIGBib290KCd3ZG0nLCAuLi4pYCDDp2HEn3LEsXPEsSBnZWxkacSfaW5kZSwgaWxrIGBjdXN0b21FbGVtZW50cy5kZWZpbmVgXHJcbiAqIHRhbWFtbGFubWFkYW4gaWtpbmNpIMOnYcSfcsSxIGBjdXN0b21FbGVtZW50cy5nZXRgIGd1YXJkJ8SxbsSxIGdlw6dpeW9yZHUg4oaSIGhlciBpa2lzaSBkZVxyXG4gKiBkZWZpbmUgZXRtZXllIMOnYWzEscWfxLFwIGBOb3RTdXBwb3J0ZWRFcnJvcjogdGhlIG5hbWUgXCJhcHAtd2RtXCIgaGFzIGFscmVhZHkgYmVlbiB1c2VkYFxyXG4gKiBoYXRhc8SxIGbEsXJsYXTEsWzEsXlvcmR1LiBTZXQgaWxlIHN5bmMgbWFyayBlZGVyZWsgdGVrIGJpciBkZWZpbmUgY3ljbGUnxLEgZ2FyYW50aSBlZGl5b3J1ei5cclxuICovXHJcbmNvbnN0IGJvb3RlZEFwcHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHJcbmV4cG9ydCBjb25zdCBib290ID0gKF9hcHBOYW1lOiBBcHBzLCBfcm91dGVzOiBSb3V0ZXMsIF9tZW51SXRlbXM6IFBsdWdpbk1lbnVJdGVtW10pID0+IHtcclxuXHRpZiAoYm9vdGVkQXBwcy5oYXMoX2FwcE5hbWUpIHx8IGN1c3RvbUVsZW1lbnRzLmdldChgYXBwLSR7X2FwcE5hbWV9YCkpIHJldHVybjtcclxuXHRib290ZWRBcHBzLmFkZChfYXBwTmFtZSk7XHJcblxyXG5cdGFwcE5hbWUgPSBfYXBwTmFtZTtcclxuXHRtZW51SXRlbXMgPSBfbWVudUl0ZW1zO1xyXG5cclxuXHQvKipcclxuXHQgKiAqKlBheWxhxZ/EsWxhbiBiYXNlIGNvbmZpZyoqIOKAlCByZW1vdGUgYmHFn8SxbmEgVEVLIGBjcmVhdGVBcHBsaWNhdGlvbmAuIEHEn8SxciBzZXJ2aXNsZXJcclxuXHQgKiAoSHR0cENsaWVudCArIGludGVyY2VwdG9yIGNoYWluLCBLZXljbG9haywgaTE4bi9UcmFuc2xvY28sIE1vbmFjbywgYW5pbWF0aW9ucykgYnVyYWRhXHJcblx0ICogeWHFn2FyOyBgcHJvdmlkZWRJbmAgdGHFn8SxbWF5YW4gZXhwbGljaXQgcHJvdmlkZXIgb2xkdWtsYXLEsSBpw6dpbiB0w7xtIHRhYidsYXLEsW4gY2hpbGRcclxuXHQgKiBpbmplY3RvcidsYXLEsW5kYW4gcGFyZW50IG9sYXJhayBwYXlsYcWfxLFsxLFyIOKGkiBSQU0gbGluZWVyIGLDvHnDvG1lei4gUm91dGVyL0xvY2F0aW9uL1xyXG5cdCAqIFJldXNlU3RyYXRlZ3kvVXJsU2VyaWFsaXplciBidXJhZGEgWU9LOyBvbmxhciB0YWIgYmHFn8SxbmEgaXpvbGUgY2hpbGQgaW5qZWN0b3InZGEgdmVyaWxpci5cclxuXHQgKi9cclxuXHRjb25zdCBzaGFyZWRCYXNlQ29uZmlnOiBBcHBsaWNhdGlvbkNvbmZpZyA9IHtcclxuXHRcdHByb3ZpZGVyczogW1xyXG5cdFx0XHRjcmVhdGVCYXNlQXBwQ29uZmlnKHsgaTE4bkZvbGRlcjogX2FwcE5hbWUgfSksXHJcblx0XHRcdHByb3ZpZGVIb3N0KF9hcHBOYW1lKSxcclxuXHRcdFx0Z2V0Tmdab25lKCksXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcblx0XHRcdFx0dXNlRmFjdG9yeTogKFxyXG5cdFx0XHRcdFx0aHR0cENsaWVudDogSHR0cENsaWVudCxcclxuXHRcdFx0XHRcdGtleWNsb2FrOiBLZXljbG9ha1NlcnZpY2UsXHJcblx0XHRcdFx0XHRmb2xkZXJOYW1lOiB0eXBlb2YgaTE4bkZvbGRlck5hbWUsXHJcblx0XHRcdFx0XHRhY3Rpdml0eVNlcnZpY2U6IEFjdGl2aXR5U2VydmljZVxyXG5cdFx0XHRcdCkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgcnVuQXBpSW5pdCA9IHNldEFwaUNvbmZpZ09uTUZFTW9kZShodHRwQ2xpZW50LCBrZXljbG9haywgZm9sZGVyTmFtZSBhcyB1bmtub3duIGFzIEFwcHMpO1xyXG5cdFx0XHRcdFx0Y29uc3QgcnVuTG9hZFBsdWdpbnMgPSBsb2FkUGx1Z2lucygpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIGFzeW5jICgpID0+IHtcclxuXHRcdFx0XHRcdFx0YXdhaXQgcnVuQXBpSW5pdCgpO1xyXG5cdFx0XHRcdFx0XHRydW5Mb2FkUGx1Z2lucygpO1xyXG5cdFx0XHRcdFx0XHRhY3Rpdml0eVNlcnZpY2Uuc3RhcnQoeyBzaGVsbE1vZGU6IGZhbHNlIH0pO1xyXG5cdFx0XHRcdFx0fTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdG11bHRpOiB0cnVlLFxyXG5cdFx0XHRcdGRlcHM6IFtIdHRwQ2xpZW50LCBLZXljbG9ha1NlcnZpY2UsIGkxOG5Gb2xkZXJOYW1lLCBBY3Rpdml0eVNlcnZpY2VdXHJcblx0XHRcdH0sXHJcblx0XHRcdGltcG9ydFByb3ZpZGVyc0Zyb20oTW9uYWNvRWRpdG9yTW9kdWxlLmZvclJvb3QoKSksXHJcblx0XHRcdHsgcHJvdmlkZTogTkdYX01PTkFDT19FRElUT1JfQ09ORklHLCB1c2VWYWx1ZTogbW9uYWNvQ29uZmlnIH1cclxuXHRcdF1cclxuXHR9O1xyXG5cclxuXHQvKipcclxuXHQgKiBSZW1vdGUgYmHFn8SxbmEgVEVLIHBheWxhxZ/EsWxhbiBgQXBwbGljYXRpb25SZWZgIOKAlCBjbG9zdXJlLXNjb3BlLiDEsGxrIGA8YXBwLSR7YXBwTmFtZX0+YFxyXG5cdCAqIGVsZW1lbnQnaSBgY3JlYXRlQXBwbGljYXRpb24oc2hhcmVkQmFzZUNvbmZpZylgIMOnYcSfxLFyxLFyLCBzb25yYWtpIHTDvG0gZWxlbWVudCdsZXIgYXluxLFcclxuXHQgKiBwcm9taXNlJ8SxIGJla2xlciAoZHVwbGljYXRlIEFwcGxpY2F0aW9uIHlhcmF0xLFtxLEgaW1rw6Juc8SxeikuIEhlciBlbGVtZW50IGtlbmRpIGNoaWxkXHJcblx0ICogaW5qZWN0b3IgKyBgY3JlYXRlQ29tcG9uZW50YCBpbGUga2VuZGkgYEFwcENvbXBvbmVudGAgdmlldyfEsW7EsSB5YXJhdMSxcCBzaGFyZWQgYXBwJ2VcclxuXHQgKiBgYXR0YWNoVmlld2AgaWxlIGJhxJ9sYXIuIFNoYXJlZCBhcHAgdXp1biDDtm3DvHJsw7xkw7xyICh0YWInbGFyIGthcGFuc2EgZGEgZGVzdHJveSBlZGlsbWV6KS5cclxuXHQgKlxyXG5cdCAqIGBjaGlsZFByb3ZpZGVyc2AndGFraSBgVHJhbnNsb2NvU2VydmljZWAgZmFjdG9yeSdzaSBidSByZWZlcmFuc8SxIGt1bGxhbmTEscSfxLEgacOnaW5cclxuXHQgKiBgY2hpbGRQcm92aWRlcnNgJ3RhbiDDlk5DRSB0YW7EsW1sYW7EsXIgKGZvcndhcmQgVERaJ3lpIMO2bmxlcikuXHJcblx0ICovXHJcblx0bGV0IHNoYXJlZEFwcFJlZjogQXBwbGljYXRpb25SZWYgfCBudWxsID0gbnVsbDtcclxuXHRsZXQgc2hhcmVkQXBwUHJvbWlzZTogUHJvbWlzZTxBcHBsaWNhdGlvblJlZj4gfCBudWxsID0gbnVsbDtcclxuXHJcblx0LyoqXHJcblx0ICogKipUYWIgYmHFn8SxbmEgaXpvbGUgUm91dGVyIHN0YWNrKiog4oCUIGhlciBgPGFwcC0ke2FwcE5hbWV9PmAga2VuZGkgY2hpbGRcclxuXHQgKiBgRW52aXJvbm1lbnRJbmplY3RvcmAnxLFuZGEgYnVubGFyxLEgYWzEsXIuIGDJtUlOSkVDVE9SX1NDT1BFOiAncm9vdCdgIGNoaWxkJ8SxICdyb290J1xyXG5cdCAqIHNjb3BlIHlhcGFyIChBbmd1bGFyIGBSM0luamVjdG9yYCBjdG9yOiBgc2NvcGVzLmFkZCgncm9vdCcpYCk7IGLDtnlsZWNlIGBwcm92aWRlUm91dGVyYCfEsW5cclxuXHQgKiBpbmplY3QgZXR0acSfaSBgcHJvdmlkZWRJbjoncm9vdCdgIFJvdXRlciBzZXJ2aXNsZXJpIOKAlCBgUm91dGVyYCwgYENoaWxkcmVuT3V0bGV0Q29udGV4dHNgLFxyXG5cdCAqIGBMb2NhdGlvbmAsIGBOYXZpZ2F0aW9uVHJhbnNpdGlvbnNgIHZiLiDigJQgY2hpbGQtTE9DQUwgw7xyZXRpbGlyLiBTb251w6c6IGhlciB0YWIga2VuZGlcclxuXHQgKiBSb3V0ZXIgKyBrZW5kaSBgUm91dGVyT3V0bGV0YCBjb250ZXh0J2luZSBzYWhpcCBvbHVyIOKGkiAqKjEgUm91dGVyIDogMSBvdXRsZXQqKi5cclxuXHQgKlxyXG5cdCAqIE5lZGVuIGdlcmVrbGk6IHBheWxhxZ/EsWxhbiB0ZWsgQXBwbGljYXRpb24nZGEgTiBgPHJvdXRlci1vdXRsZXQ+YCBheW7EsSB0ZWtcclxuXHQgKiBgQ2hpbGRyZW5PdXRsZXRDb250ZXh0c2AnZSBcInByaW1hcnlcIiBkaXllIGtheWRvbHVwIGJpcmJpcmluaSBleml5b3JkdSAoYGNvbnRleHRzLnNldGBcclxuXHQgKiBvdmVyd3JpdGUpIOKGkiB0YWIgZ2XDp2nFn2kgc29ucmFzxLEgYXluxLEgdGFiIGnDp2kgbmF2aWdhc3lvbiAobGlzdOKGkmRldGFpbCkgeWFubMSxxZ8gb3V0bGV0J2VcclxuXHQgKiByZW5kZXIgb2x1eW9yZHUuIENoaWxkLWluamVjdG9yIGl6b2xhc3lvbnUgYnVudSBrw7ZrdGVuIMOnw7Z6ZXIuXHJcblx0ICpcclxuXHQgKiAqKlRyYW5zbG9jb1NlcnZpY2UgaXN0aXNuYXPEsSoqOiBgJ3Jvb3QnYCBzY29wZSBvbnUgZGEgY2hpbGQtbG9jYWwgeWFwYXJkxLE7IGFtYSBnbG9iYWxcclxuXHQgKiAoc2NvcGUnc3V6KSDDp2V2aXJpbGVyIHNoYXJlZCBhcHAnaW4gaW5pdCBha8SxxZ/EsW5kYSB5w7xrbGVuZGnEn2luZGVuIOKAlCBgY3JlYXRlQ29tcG9uZW50YFxyXG5cdCAqIGBBUFBfSU5JVElBTElaRVJgIMOnYWzEscWfdMSxcm1heiDigJQgY2hpbGQtbG9jYWwgc2VydmljZSdpbiBnbG9iYWwgY2FjaGUnaSBib8WfIGthbMSxcCBoYW0ga2V5XHJcblx0ICogZ8O2c3Rlcml5b3JkdS4gVGFiIGJhxZ/EsW5hIGF5csSxIGRpbCBzZW5hcnlvc3UgeW9rOyBzZXJ2aWNlJ2kgc2hhcmVkIGFwcCd0ZW4gcGF5bGHFn3TEsXLEsXlvcnV6XHJcblx0ICogKGdsb2JhbCDDp2V2aXJpIHRlayB5ZXJkZSB5w7xrbGVuaXIsIHRlayB0cmFuc2xhdGlvbiBjYWNoZSDihpIgZWsgUkFNIGthemFuY8SxKS4gU2NvcGUgw6dldmlyaWxlcmlcclxuXHQgKiAoYHByb3ZpZGVpMThuU2NvcGVgKSBjb21wb25lbnQtbGV2ZWwgc2HEn2xhbmTEscSfxLEgacOnaW4gcGF5bGHFn8SxbGFuIHNlcnZpY2UnbGUgZGUgw6dhbMSxxZ/EsXIuXHJcblx0ICpcclxuXHQgKiBOT1Q6IGDJtUlOSkVDVE9SX1NDT1BFYCBBbmd1bGFyIHByaXZhdGUgQVBJJ3NpZGlyOyBtaW5vciBzw7xyw7xtIHnDvGtzZWx0bWVsZXJpbmRlIGRhdnJhbsSxxZ/EsVxyXG5cdCAqIGRvxJ9ydWxhbm1hbMSxIChhxZ9hxJ/EsWRha2kgUE9DIGl6b2xhc3lvbiBsb2cndSBidW51biBpw6dpbiBixLFyYWvEsWxkxLEpLlxyXG5cdCAqL1xyXG5cdGNvbnN0IGNoaWxkUHJvdmlkZXJzOiBBcnJheTxQcm92aWRlciB8IEVudmlyb25tZW50UHJvdmlkZXJzPiA9IFtcclxuXHRcdHsgcHJvdmlkZTogybVJTkpFQ1RPUl9TQ09QRSwgdXNlVmFsdWU6ICdyb290JyB9LFxyXG5cdFx0cHJvdmlkZVJvdXRlcihcclxuXHRcdFx0X3JvdXRlcyxcclxuXHRcdFx0d2l0aENvbXBvbmVudElucHV0QmluZGluZygpLFxyXG5cdFx0XHR3aXRoUm91dGVyQ29uZmlnKHsgb25TYW1lVXJsTmF2aWdhdGlvbjogJ3JlbG9hZCcgfSlcclxuXHRcdCksXHJcblx0XHR7IHByb3ZpZGU6IExvY2F0aW9uU3RyYXRlZ3ksIHVzZUNsYXNzOiBJc29sYXRlZExvY2F0aW9uU3RyYXRlZ3kgfSxcclxuXHRcdHsgcHJvdmlkZTogTG9jYXRpb24sIHVzZUNsYXNzOiBMb2NhdGlvbiB9LFxyXG5cdFx0eyBwcm92aWRlOiBSb3V0ZVJldXNlU3RyYXRlZ3ksIHVzZUV4aXN0aW5nOiBDdXN0b21Sb3V0ZVJldXNlU3RyYXRlZ3kgfSxcclxuXHRcdHsgcHJvdmlkZTogVXJsU2VyaWFsaXplciwgdXNlRXhpc3Rpbmc6IFRhYkF3YXJlVXJsU2VyaWFsaXplciB9LFxyXG5cdFx0eyBwcm92aWRlOiBUcmFuc2xvY29TZXJ2aWNlLCB1c2VGYWN0b3J5OiAoKSA9PiBzaGFyZWRBcHBSZWYhLmluamVjdG9yLmdldChUcmFuc2xvY29TZXJ2aWNlKSB9LFxyXG5cdFx0Ly8gYMm1SU5KRUNUT1JfU0NPUEU6J3Jvb3QnYCB5YW4gZXRraXNpOiBgQXBwbGljYXRpb25SZWZgIGRlIGBwcm92aWRlZEluOidyb290J2Agb2xkdcSfdSBpw6dpblxyXG5cdFx0Ly8gY2hpbGQgaW5qZWN0b3InZGEgY2hpbGQtTE9LQUwgKHNhaHRlKSBiaXIgaW5zdGFuY2Ugw7xyZXRpbGlyZGkg4oCUIGJ1IGluc3RhbmNlIE5nWm9uZSd1blxyXG5cdFx0Ly8gdGljayBkw7ZuZ8O8c8O8bmUgYmHEn2zEsSBERcSexLBMRMSwUi4gU29udcOnOiBidSBhcHBSZWYnZSBgYXR0YWNoVmlld2AgZWRpbGVuIHZpZXcnbGFyIGhpw6cgY2hhbmdlXHJcblx0XHQvLyBkZXRlY3Rpb24gYWxtYXouIEFwcENvbXBvbmVudCdpIGJpeiBhw6fEsWvDp2EgYHNoYXJlZEFwcFJlZi5hdHRhY2hWaWV3YCBpbGUgYmHEn2xhZMSxxJ/EsW3EsXogacOnaW5cclxuXHRcdC8vIMOnYWzEscWfxLFyOyBhbWEgYGluamVjdChBcHBsaWNhdGlvblJlZilgIHlhcGFuIMO8w6fDvG5jw7wgdGFyYWYga29kIChQcmltZU5HIGBEaWFsb2dTZXJ2aWNlYCDihpJcclxuXHRcdC8vIGB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3YCkgY2hpbGQtbG9jYWwgc2FodGUgYXBwUmVmJ2kgYWzEsXAgZGlhbG9nJ3Ugb25hIGJhxJ9sxLF5b3JkdSDihpIgZGlhbG9nXHJcblx0XHQvLyB5YXJhdMSxbMSxeW9yIGFtYSBgKm5nSWY9XCJ2aXNpYmxlXCJgIGhpw6cgcmVuZGVyIGVkaWxtaXlvcmR1IChib8WfIGHDp8SxbMSxeW9yZHUpLlxyXG5cdFx0Ly9cclxuXHRcdC8vIMOHw7Z6w7xtIOKAlCBgc2hhcmVkQXBwUmVmYCdpIHNhcmFuIFByb3h5OiBUw5xNIMO8eWVsZXIgKGF0dGFjaFZpZXcvZGV0YWNoVmlldy90aWNrL2NvbXBvbmVudHPigKYpXHJcblx0XHQvLyBnZXLDp2VrIGBzaGFyZWRBcHBSZWZgJ2UgZGVsZWdlIG9sdXIgKG1ldGhvZCdsYXIgYHRhcmdldGAnYSBiaW5kJ2xpIOKGkiBwcml2YXRlIGZpZWxkIGRhaGlsXHJcblx0XHQvLyBkb8SfcnUgYHRoaXNgKSwgVEVLIGZhcmsgYC5pbmplY3RvcmAg4oaSIGJ1IHRhYifEsW4gY2hpbGQgaW5qZWN0b3InxLEuIE5lZGVuIGtyaXRpazogUHJpbWVOR1xyXG5cdFx0Ly8gYERpYWxvZ1NlcnZpY2VgIGRpYWxvZyd1IGBjcmVhdGVDb21wb25lbnQoLi4uLCB7IGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuYXBwUmVmLmluamVjdG9yIH0pYFxyXG5cdFx0Ly8gaWxlIHlhcmF0xLFyLiBEw7x6IGBzaGFyZWRBcHBSZWZgIGTDtm5lcnNlayBkaWFsb2cgacOnZXJpxJ9pIHNoYXJlZCBST09UJ3RhIMOnw7Z6w7xsw7xyLCBzYXlmYSBpc2VcclxuXHRcdC8vIGNoaWxkIGluamVjdG9yJ2RhIOKGkiBgcHJvdmlkZWRJbjoncm9vdCdgIGhlciBzZXJ2aXMgxLBLxLAgYXlyxLEgaW5zdGFuY2Ugb2x1ciAoc3BsaXQtYnJhaW4pIHZlXHJcblx0XHQvLyBCZWhhdmlvclN1YmplY3QgdGFiYW5sxLEgc2F5ZmHihpRkaWFsb2cgc3RhdGUgc2Vua3Jvbml6ZSBPTE1BWiAoc2XDp2lsaSBrYXnEsXQgZGlhbG9nJ2RhIG51bGwpLlxyXG5cdFx0Ly8gYC5pbmplY3RvcmAnxLEgY2hpbGQnYSB5w7ZubGVuZGlyaW5jZSBkaWFsb2cgacOnZXJpxJ9pIHNheWZheWxhIEFZTkkgaW5qZWN0b3InZGEgw6fDtnplciDihpIgb3RvbWF0aWtcclxuXHRcdC8vIHRlayBpbnN0YW5jZSwgVMOcTSAobWV2Y3V0K2dlbGVjZWspIHNlcnZpc2xlciBpw6dpbiDigJQgc2VydmlzIGxpc3Rlc2kgdHV0bWF5YSBnZXJlayB5b2suXHJcblx0XHQvLyBgYXR0YWNoVmlld2AgeWluZSBgc2hhcmVkQXBwUmVmYCdlIGdpdHRpxJ9pIGnDp2luIHRlayB0aWNrIGTDtm5nw7xzw7wvY2hhbmdlIGRldGVjdGlvbiBrb3J1bnVyLlxyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBBcHBsaWNhdGlvblJlZixcclxuXHRcdFx0dXNlRmFjdG9yeTogKCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHRhYkluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xyXG5cdFx0XHRcdHJldHVybiBuZXcgUHJveHkoc2hhcmVkQXBwUmVmISwge1xyXG5cdFx0XHRcdFx0Z2V0KHRhcmdldCwgcHJvcCkge1xyXG5cdFx0XHRcdFx0XHRpZiAocHJvcCA9PT0gJ2luamVjdG9yJykgcmV0dXJuIHRhYkluamVjdG9yO1xyXG5cdFx0XHRcdFx0XHQvLyBgbmdPbkRlc3Ryb3lgJ3UgR8SwWkxFICh1bmRlZmluZWQgZMO2bmTDvHIpLiBBa3NpIGhhbGRlIGBpbmplY3QoQXBwbGljYXRpb25SZWYpYFxyXG5cdFx0XHRcdFx0XHQvLyB5YXBhbiB0YWIgY2hpbGQgaW5qZWN0b3InxLEgKFByaW1lTkcgRGlhbG9nU2VydmljZSB2ZXlhIGHFn2HEn8SxZGFraSBkZXYgZ3VhcmQpXHJcblx0XHRcdFx0XHRcdC8vIHByb3h5J3lpIGtlbmRpIGBfbmdPbkRlc3Ryb3lIb29rc2AndW5hIGtheWRlZGVyIChSM0luamVjdG9yLmh5ZHJhdGUg4oaSXHJcblx0XHRcdFx0XHRcdC8vIGhhc09uRGVzdHJveT10cnVlKSB2ZSB0YWIga2FwYW7EscWfxLFuZGEgYGNoaWxkSW5qZWN0b3IuZGVzdHJveSgpYCDihpJcclxuXHRcdFx0XHRcdFx0Ly8gYHNoYXJlZEFwcFJlZi5uZ09uRGVzdHJveSgpYCDihpIgYcOnxLFrIFTDnE0gdGFiJ2xhcsSxbiB2aWV3J2xhcsSxbsSxIGRlc3Ryb3kgZWRpcFxyXG5cdFx0XHRcdFx0XHQvLyBzaGFyZWQgYXBwJ2kgw7ZsZMO8csO8ci4gU2hhcmVkIGFwcCdpbiBsaWZlY3ljbGUnxLEgYm9vdHN0cmFwJ2EgYWl0dGlyLCB0YWInYSBkZcSfaWxcclxuXHRcdFx0XHRcdFx0Ly8gKGdlcsOnZWsgYHNoYXJlZEFwcFJlZi5uZ09uRGVzdHJveWAgZXRraWxlbm1lejsgeWFsbsSxemNhIHByb3h5IMO8emVyaW5kZW4gZ2l6bGVuaXIpLlxyXG5cdFx0XHRcdFx0XHRpZiAocHJvcCA9PT0gJ25nT25EZXN0cm95JykgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHRcdFx0XHRcdFx0Y29uc3QgdmFsdWUgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3AsIHRhcmdldCk7XHJcblx0XHRcdFx0XHRcdHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgPyB2YWx1ZS5iaW5kKHRhcmdldCkgOiB2YWx1ZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdC8vIFRhcmFtYSAobG9nMTUpIGlsZSBzYXB0YW5hbiwgY2hpbGQtbG9jYWwgb2x1bmNhIGJvenVsYW4gZWsgYHByb3ZpZGVkSW46J3Jvb3QnYCBzZXJ2aXNsZXJpOlxyXG5cdFx0Ly8g4oCiIFB1YlN1YlNlcnZpY2Ug4oCUIE1GRSduaW4gYGJyZWFkY3J1bWJVcGRhdGVkYCBldmVudCdpIGhvc3QgYGhpc3Rvcnkuc2VydmljZWAnZSB1bGHFn21hbMSxO1xyXG5cdFx0Ly8gICBjaGlsZC1sb2NhbCBvbHVuY2EgTUZF4oaUaG9zdCBldmVudCBrw7ZwcsO8c8O8IGtvcHV5b3JkdS5cclxuXHRcdC8vIOKAoiBQcmltZU5HQ29uZmlnIOKAlCBkaW5hbWlrIGRpYWxvZydsYXIgc2hhcmVkIHJvb3QgY29udGV4dCdpbmRlIHlhcmF0xLFsZMSxxJ/EsSBpw6dpbiBQcmltZU5HXHJcblx0XHQvLyAgIMOnZXZpcmlsZXJpIChjYWxlbmRhci9wYWdpbmF0b3IgdmIuKSB2ZSBgc2V0VHJhbnNsYXRpb25gIHNoYXJlZCBpbnN0YW5jZSd0YW4gb2t1bm1hbMSxLlxyXG5cdFx0Ly8gKEJyZWFkY3J1bWJTZXJ2aWNlIGJpbGluw6dsaSBvbGFyYWsgY2hpbGQtbG9jYWwgYsSxcmFrxLFsZMSxOiBoZXIgdGFiIGtlbmRpIGJyZWFkY3J1bWInxLEuKVxyXG5cdFx0eyBwcm92aWRlOiBQdWJTdWJTZXJ2aWNlLCB1c2VGYWN0b3J5OiAoKSA9PiBzaGFyZWRBcHBSZWYhLmluamVjdG9yLmdldChQdWJTdWJTZXJ2aWNlKSB9LFxyXG5cdFx0eyBwcm92aWRlOiBQcmltZU5HQ29uZmlnLCB1c2VGYWN0b3J5OiAoKSA9PiBzaGFyZWRBcHBSZWYhLmluamVjdG9yLmdldChQcmltZU5HQ29uZmlnKSB9LFxyXG5cdFx0Ly8gQWN0aXZpdHlTZXJ2aWNlIHNoYXJlZCdkYSBgQVBQX0lOSVRJQUxJWkVSYCBpbGUgYmHFn2xhdMSxbGTEsSAoS2V5Y2xvYWsgbGlzdGVuZXInbGFyxLEgKyBzZXNzaW9uSWRcclxuXHRcdC8vIGNhcHR1cmUpLiBUYWIgY2hpbGQgaW5qZWN0b3InxLFuZGEgYMm1SU5KRUNUT1JfU0NPUEU6J3Jvb3QnYCB5YW4gZXRraXNpeWxlIGF5csSxIGJpciBpbnN0YW5jZVxyXG5cdFx0Ly8gw7xyZXRpbGlyZGkg4oCUIGJ1IGluc3RhbmNlIGhpw6cgYHN0YXJ0KClgIMOnYcSfcsSxbG1hZMSxxJ/EsSBpw6dpbiBgdHJhY2soKWAgbm8tb3Agb2x1ciB2ZSBhcmlsLWJ1dHRvblxyXG5cdFx0Ly8gY2xpY2snbGVyaSBzZXNzaXpjZSBrYXlib2x1ci4gU2hhcmVkIGluc3RhbmNlJ8SxIGZvcndhcmQgZWRlcmVrIHRlayBiYcWfbGF0xLFsbcSxxZ8gaW5zdGFuY2UnxLFcclxuXHRcdC8vIGhlciB0YWInYSBwYXlsYcWfdMSxcsSxeW9ydXogKGF1dGhJbnRlcmNlcHRvcifEsW4gb2t1ZHXEn3UgYHNlc3Npb25JZGAgaWxlIGJpcmViaXIgYXluxLEpLlxyXG5cdFx0eyBwcm92aWRlOiBBY3Rpdml0eVNlcnZpY2UsIHVzZUZhY3Rvcnk6ICgpID0+IHNoYXJlZEFwcFJlZiEuaW5qZWN0b3IuZ2V0KEFjdGl2aXR5U2VydmljZSkgfSxcclxuXHRcdC8vIFRvYXN0L2NvbmZpcm0gR0xPQkFMOiB0ZWsgc2hhcmVkIE1lc3NhZ2VTZXJ2aWNlL0NvbmZpcm1hdGlvblNlcnZpY2UuIEFrc2kgaGFsZGUgaGVyIHRhYlxyXG5cdFx0Ly8ga2VuZGkgaW5zdGFuY2UnxLFuYSBzYWhpcCBvbHVyIOKGkiBob3N0J3RhbiB0ZXRpa2xlbmVuIHRvYXN0IE1GRSB0YWInxLFuZGEgKHlhIGRhIHRlcnNpKVxyXG5cdFx0Ly8gZ8O2csO8bm1lei4gU2hhcmVkIGluc3RhbmNlIGlsZSB0w7xtIGA8cC10b2FzdCBrZXk9XCJ0b2FzdC1yb290XCI+YCBjb250YWluZXInbGFyxLEgYXluxLEga3V5cnXEn3UgZGlubGVyLlxyXG5cdFx0eyBwcm92aWRlOiBNZXNzYWdlU2VydmljZSwgdXNlRmFjdG9yeTogKCkgPT4gc2hhcmVkQXBwUmVmIS5pbmplY3Rvci5nZXQoTWVzc2FnZVNlcnZpY2UpIH0sXHJcblx0XHR7IHByb3ZpZGU6IENvbmZpcm1hdGlvblNlcnZpY2UsIHVzZUZhY3Rvcnk6ICgpID0+IHNoYXJlZEFwcFJlZiEuaW5qZWN0b3IuZ2V0KENvbmZpcm1hdGlvblNlcnZpY2UpIH1cclxuXHRcdC8vIFNlbGVjdGlvbkdyb3VwU2VydmljZSBiaWxpbsOnbGkgb2xhcmFrIEJVUkFEQSBZT0s6IHTDvG0gc3RhdGUnaSAoc2lnbmFsICsgbG9hZGVkL2xvYWRpbmcgK1xyXG5cdFx0Ly8gaW5pdCBmbGFnJ2kpIGdsb2JhbFRoaXMgYnJpZGdlJ2RlIHlhxZ9hcjsgY2hpbGQtbG9jYWwgaW5zdGFuY2UnbGFyIGRhIGF5bsSxIHN0YXRlJ2kgYWxpYXMnbGFyLFxyXG5cdFx0Ly8gYnUgecO8emRlbiBpbnN0YW5jZSBzYXnEsXPEsW7EsW4gw7ZuZW1pIHlva3R1ciDigJQgZm9yd2FyZGluZyB5YWxuxLF6Y2EgaW5zdGFuY2UtbG9jYWwgc3RhdGUnaSBvbGFuXHJcblx0XHQvLyBzZXJ2aXNsZXIgKE1lc3NhZ2VTZXJ2aWNlIHZiLikgacOnaW4gZ2VyZWtsaWRpci5cclxuXHRdO1xyXG5cclxuXHRjb25zdCBhcHBDb21wb25lbnRQcm9taXNlID0gYXBwQ29tcG9uZW50TG9hZGVyKCk7XHJcblxyXG5cdGNsYXNzIE1GRUFwcEVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XHJcblx0XHRwcml2YXRlIGNoaWxkSW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3IgfCBudWxsID0gbnVsbDtcclxuXHRcdHByaXZhdGUgY29tcFJlZjogQ29tcG9uZW50UmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XHJcblx0XHRwcml2YXRlIGlzQm9vdHN0cmFwcGluZyA9IGZhbHNlO1xyXG5cdFx0cHJpdmF0ZSBkZXN0cm95VGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XHJcblxyXG5cdFx0YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcblx0XHRcdC8vIFN0cmF0ZWd5IGhpZGRlbiBjb250YWluZXIg4oaUIHZpZXcgYXJhc8SxIHRhxZ/EsW1hbGFyZGEgcmUtYm9vdHN0cmFwJ8SxIMO2bmxlIOKAlFxyXG5cdFx0XHQvLyB2aWV3IHphdGVuIHlhcmF0xLFsZMSxeXNhIHNraXAuIGRlc3Ryb3lUaW1lciBwZW5kaW5nIGlzZSBpcHRhbCBldC5cclxuXHRcdFx0aWYgKHRoaXMuY29tcFJlZiB8fCB0aGlzLmlzQm9vdHN0cmFwcGluZykge1xyXG5cdFx0XHRcdGlmICh0aGlzLmRlc3Ryb3lUaW1lcikge1xyXG5cdFx0XHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMuZGVzdHJveVRpbWVyKTtcclxuXHRcdFx0XHRcdHRoaXMuZGVzdHJveVRpbWVyID0gbnVsbDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuaXNCb290c3RyYXBwaW5nID0gdHJ1ZTtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHQvLyBQYXlsYcWfxLFsYW4gQXBwbGljYXRpb24g4oCUIGlsayDDp2HEn8SxcmFuIHlhcmF0xLFyLCBkacSfZXJsZXJpIGF5bsSxIHByb21pc2UnxLEgYmVrbGVyLlxyXG5cdFx0XHRcdGlmICghc2hhcmVkQXBwUHJvbWlzZSkge1xyXG5cdFx0XHRcdFx0c2hhcmVkQXBwUHJvbWlzZSA9IGNyZWF0ZUFwcGxpY2F0aW9uKHNoYXJlZEJhc2VDb25maWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zdCBbYXBwUmVmLCBBcHBDb21wb25lbnRdID0gYXdhaXQgUHJvbWlzZS5hbGwoW3NoYXJlZEFwcFByb21pc2UsIGFwcENvbXBvbmVudFByb21pc2VdKTtcclxuXHRcdFx0XHRzaGFyZWRBcHBSZWYgPSBhcHBSZWY7XHJcblxyXG5cdFx0XHRcdC8vIEJ1IHRhYiBpw6dpbiBpem9sZSBSb3V0ZXIgc3RhY2snaSBiYXLEsW5kxLFyYW4gY2hpbGQgaW5qZWN0b3IuXHJcblx0XHRcdFx0Y29uc3QgdGFiSWQgPSB0aGlzLmdldEF0dHJpYnV0ZSgnYXJpbC10YWItaWQnKSA/PyAnJztcclxuXHRcdFx0XHR0aGlzLmNoaWxkSW5qZWN0b3IgPSBjcmVhdGVFbnZpcm9ubWVudEluamVjdG9yKFxyXG5cdFx0XHRcdFx0Y2hpbGRQcm92aWRlcnMsXHJcblx0XHRcdFx0XHRhcHBSZWYuaW5qZWN0b3IsXHJcblx0XHRcdFx0XHRgbWZlOiR7X2FwcE5hbWV9OiR7dGFiSWQgfHwgJ3BlbmRpbmcnfWBcclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHQvLyBbSGlicml0IGl6b2xhc3lvbiBndWFyZCDigJQga2FsxLFjxLFdIGDJtUlOSkVDVE9SX1NDT1BFOidyb290J2AgaWxlIGNoaWxkIGluamVjdG9yJ8SxblxyXG5cdFx0XHRcdC8vIEtFTkTEsCBSb3V0ZXIgKyBDaGlsZHJlbk91dGxldENvbnRleHRzJ2kgb2xtYXPEsSwgdGFiIGl6b2xhc3lvbnVudW4gdGVtZWxpZGlyXHJcblx0XHRcdFx0Ly8gKFwiMSBSb3V0ZXIgOiAxIG91dGxldFwiKS4gQnUgcHJpdmF0ZSBBUEkgQW5ndWxhciB1cGdyYWRlJ2luZGUgZGF2cmFuxLHFnyBkZcSfacWfdGlyaXJzZVxyXG5cdFx0XHRcdC8vIGJ1cmFkYSBlcmtlbiB5YWthbGFuxLFyOyBha3NpIGhhbGRlIFwiMSBSb3V0ZXIgOiBOIG91dGxldFwiIGJ1ZyfEsSBzZXNzaXpjZSBnZXJpIGTDtm5lci5cclxuXHRcdFx0XHRpZiAoaXNEZXZNb2RlKCkgJiYgdGhpcy5jaGlsZEluamVjdG9yLmdldChSb3V0ZXIpID09PSBhcHBSZWYuaW5qZWN0b3IuZ2V0KFJvdXRlcikpIHtcclxuXHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoXHJcblx0XHRcdFx0XHRcdGBbYm9vdDoke19hcHBOYW1lfV0gSMSwQlLEsFQgxLBaT0xBU1lPTiBCT1pVTERVOiBjaGlsZCBSb3V0ZXIgc2hhcmVkIHJvb3QgaWxlIGF5bsSxIGluc3RhbmNlISBgICtcclxuXHRcdFx0XHRcdFx0XHRgybVJTkpFQ1RPUl9TQ09QRSBkYXZyYW7EscWfxLEgZGXEn2nFn21pxZ8gb2xhYmlsaXIgKEFuZ3VsYXIgdXBncmFkZT8pIOKAlCB0YWIgaXpvbGFzeW9udSDDp2FsxLHFn21hei5gXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ly8gW0RpYWxvZyBpbmplY3RvciBrw7ZwcsO8c8O8IGd1YXJkIOKAlCBrYWzEsWPEsV0gQXBwbGljYXRpb25SZWYgcHJveHknc2luaW4gYC5pbmplY3RvcmAnxLEgYnVcclxuXHRcdFx0XHQvLyB0YWInxLFuIGNoaWxkIGluamVjdG9yJ8SxbsSxIGfDtnN0ZXJtZWxpOyBha3NpIGhhbGRlIFByaW1lTkcgRGlhbG9nU2VydmljZSBkaWFsb2cgacOnZXJpxJ9pbmlcclxuXHRcdFx0XHQvLyBzaGFyZWQgcm9vdCd0YSDDp8O2emVyIOKGkiBzYXlmYeKGlGRpYWxvZyBgcHJvdmlkZWRJbjoncm9vdCdgIHNwbGl0LWJyYWluIGdlcmkgZMO2bmVyLiBQcmltZU5HXHJcblx0XHRcdFx0Ly8geWEgZGEgQW5ndWxhciB1cGdyYWRlJ2kgYGFwcFJlZi5pbmplY3RvcmAga3VsbGFuxLFtxLFuxLEgZGXEn2nFn3Rpcmlyc2UgYnVyYWRhIHlha2FsYW7EsXIuXHJcblx0XHRcdFx0aWYgKGlzRGV2TW9kZSgpICYmIHRoaXMuY2hpbGRJbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpLmluamVjdG9yICE9PSB0aGlzLmNoaWxkSW5qZWN0b3IpIHtcclxuXHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoXHJcblx0XHRcdFx0XHRcdGBbYm9vdDoke19hcHBOYW1lfV0gRElBTE9HIElOSkVDVE9SIEvDllBSw5xTw5wgQk9aVUxEVTogQXBwbGljYXRpb25SZWYuaW5qZWN0b3IgdGFiIGNoaWxkIGAgK1xyXG5cdFx0XHRcdFx0XHRcdGBpbmplY3RvcifEsSBnw7ZzdGVybWl5b3Ig4oCUIGRpYWxvZyBpw6dlcmnEn2kgc2F5ZmFkYW4gZmFya2zEsSBpbmplY3RvcidkYSDDp8O2esO8bMO8ciAoc3BsaXQtYnJhaW4pLmBcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyBBcHBDb21wb25lbnQnaSBjaGlsZCBpbmplY3RvciBjb250ZXh0J2luZGUgeWFyYXQg4oaSIGluamVjdChSb3V0ZXIpL0xvY2F0aW9uU3RyYXRlZ3lcclxuXHRcdFx0XHQvLyBjaGlsZC1sb2NhbDsgaW5qZWN0KE1mZUJyaWRnZSkvSHR0cENsaWVudC9LZXljbG9hay9UcmFuc2xvY29TZXJ2aWNlIHZiLiBwYXJlbnQndGFuXHJcblx0XHRcdFx0Ly8gcGF5bGHFn8SxbWzEsS4gYGF0dGFjaFZpZXdgIHNoYXJlZCBhcHAnaW4gY2hhbmdlIGRldGVjdGlvbiBkw7ZuZ8O8c8O8bmUgYmHEn2xhci4gKGBib290c3RyYXBgXHJcblx0XHRcdFx0Ly8gZGXEn2lsOiBBUFBfQk9PVFNUUkFQX0xJU1RFTkVSIMOnYWzEscWfbWF6LCBjaGlsZCBSb3V0ZXInxLFuIGluaXRpYWwgbmF2aWdhdGlvbifEsW7EsVxyXG5cdFx0XHRcdC8vIEFwcENvbXBvbmVudCBob3N0LVJvdXRlciBzeW5jJ2kgYHNhZmVOYXZpZ2F0ZWAgaWxlIHlhcMSxeW9yLilcclxuXHRcdFx0XHR0aGlzLmNvbXBSZWYgPSBjcmVhdGVDb21wb25lbnQoQXBwQ29tcG9uZW50IGFzIG5ldmVyLCB7XHJcblx0XHRcdFx0XHRlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmNoaWxkSW5qZWN0b3IsXHJcblx0XHRcdFx0XHRob3N0RWxlbWVudDogdGhpc1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGFwcFJlZi5hdHRhY2hWaWV3KHRoaXMuY29tcFJlZi5ob3N0Vmlldyk7XHJcblx0XHRcdFx0Ly8gQmHFn2FyxLFsxLEgYm9vdDogZ3VhcmQgYXJ0xLFrIGBjb21wUmVmYCDDvHplcmluZGVuIMOnYWzEscWfxLFyIOKGkiBgaXNCb290c3RyYXBwaW5nYCdpIGLEsXJhay5cclxuXHRcdFx0XHQvLyAoYXdhaXQgc8SxcmFzxLFuZGEgZGlzY29ubmVjdCBvbHVwIGhhdGEgb2x1xZ9tYXpzYSBmbGFnIHRha8SxbMSxIGthbG1hc8SxbjsgYWtzaSBoYWxkZVxyXG5cdFx0XHRcdC8vIHJlY29ubmVjdCd0ZSBndWFyZCBlcmtlbiByZXR1cm4gZWRpcCB0YWInxLEga2FsxLFjxLEgYm/FnyBixLFyYWvEsXIuKVxyXG5cdFx0XHRcdHRoaXMuaXNCb290c3RyYXBwaW5nID0gZmFsc2U7XHJcblx0XHRcdH0gY2F0Y2ggKGVycikge1xyXG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoYFtib290OiR7X2FwcE5hbWV9XSBhcHBsaWNhdGlvbiBib290c3RyYXAgaGF0YXPEsTpgLCBlcnIpO1xyXG5cdFx0XHRcdHRoaXMuaXNCb290c3RyYXBwaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0Ly8gc2hhcmVkQXBwIGhlbsO8eiBzZXQgZWRpbG1lZGl5c2UgKGNyZWF0ZUFwcGxpY2F0aW9uIGJhxZ9hcsSxc8SxeikgcHJvbWlzZSfEsSBzxLFmxLFybGEga2lcclxuXHRcdFx0XHQvLyBzb25yYWtpIHRhYiByZXRyeSBlZGViaWxzaW4g4oCUIGFrc2kgaGFsZGUgcmVqZWN0ZWQgcHJvbWlzZSBjbG9zdXJlJ2RhIGthbMSxY8SxIGthbMSxciB2ZVxyXG5cdFx0XHRcdC8vIHJlbW90ZSBzYXlmYSB5ZW5pbGVtZWRlbiBiaXIgZGFoYSBib290IGVkaWxlbWV6LiAoY3JlYXRlQ29tcG9uZW50IGhhdGFzxLFuZGFcclxuXHRcdFx0XHQvLyBzaGFyZWRBcHBSZWYgemF0ZW4gc2V0J3RpcjsgbyBkdXJ1bWRhIHByb21pc2Uga29ydW51ciwgYXBwIHllbmlkZW4geWFyYXTEsWxtYXouKVxyXG5cdFx0XHRcdGlmICghc2hhcmVkQXBwUmVmKSBzaGFyZWRBcHBQcm9taXNlID0gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xyXG5cdFx0XHQvLyBTdHJhdGVneSBoaWRkZW4gY29udGFpbmVyIOKGlCB2aWV3IGFyYXPEsSB0YcWfxLFtYWxhcmRhIGByZW1vdmVDaGlsZGAgKyBgYXBwZW5kQ2hpbGRgXHJcblx0XHRcdC8vIGFyZMSxxZ/EsWsgb2xkdcSfdSBpw6dpbiBkaXNjb25uZWN0ZWRDYWxsYmFjayBwYXJlbnQgZGXEn2nFn2ltaXlsZSB0ZXRpa2xlbmlyIOKAlCBlbGVtZW50XHJcblx0XHRcdC8vIGdlcsOnZWt0ZW4gZGVzdHJveSBlZGlsbWl5b3IuIGBwcmVzZXJ2ZVdlYkNvbXBvbmVudEVsZW1lbnRgIMO2bmNlc2luZGUgU3RyYXRlZ3lcclxuXHRcdFx0Ly8gYF9fYXJpbFByZXNlcnZlRHVyaW5nRGV0YWNoYCBmbGFnJ2kgc2V0IGVkaXlvcjsgbyBmbGFnIHZhcnNhIHZpZXcga29ydW51ci5cclxuXHRcdFx0Y29uc3QgcHJlc2VydmVGbGFnID0gKHRoaXMgYXMgSFRNTEVsZW1lbnQgJiB7IF9fYXJpbFByZXNlcnZlRHVyaW5nRGV0YWNoPzogYm9vbGVhbiB9KS5fX2FyaWxQcmVzZXJ2ZUR1cmluZ0RldGFjaDtcclxuXHRcdFx0aWYgKHByZXNlcnZlRmxhZykge1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBGbGFnIHlvayDihpIgZ2Vyw6dlayBkZXN0cm95LiBBc3luYyByZS1jb25uZWN0IGlodGltYWxpbmUga2FyxZ/EsSBtaWNyb3Rhc2sgc8SxbsSxcmzEsVxyXG5cdFx0XHQvLyBkZWZhbnNpZiBnZWNpa21lOyBiaXIgc29ucmFraSB0aWNrJ3RlIGjDomzDoiBkaXNjb25uZWN0ZWQgbcSxIGRpeWUgc29uIGtvbnRyb2wuXHJcblx0XHRcdGlmICh0aGlzLmRlc3Ryb3lUaW1lcikgY2xlYXJUaW1lb3V0KHRoaXMuZGVzdHJveVRpbWVyKTtcclxuXHRcdFx0dGhpcy5kZXN0cm95VGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRpZiAoIXRoaXMuaXNDb25uZWN0ZWQgJiYgdGhpcy5jb21wUmVmKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhgW2Jvb3Q6JHtfYXBwTmFtZX1dIGdlcsOnZWsgZGVzdHJveSDihpIgdmlldyArIGNoaWxkIGluamVjdG9yIGRlc3Ryb3lgKTtcclxuXHRcdFx0XHRcdC8vIFNoYXJlZCBhcHAnZSBBU0xBIGRva3VubWE7IHNhZGVjZSBidSB0YWInxLFuIHZpZXcnxLFuxLEgdmUgY2hpbGQgaW5qZWN0b3InxLFuxLEgecSxay5cclxuXHRcdFx0XHRcdGlmIChzaGFyZWRBcHBSZWYpIHNoYXJlZEFwcFJlZi5kZXRhY2hWaWV3KHRoaXMuY29tcFJlZi5ob3N0Vmlldyk7XHJcblx0XHRcdFx0XHR0aGlzLmNvbXBSZWYuZGVzdHJveSgpO1xyXG5cdFx0XHRcdFx0dGhpcy5jaGlsZEluamVjdG9yPy5kZXN0cm95KCk7XHJcblx0XHRcdFx0XHR0aGlzLmNvbXBSZWYgPSBudWxsO1xyXG5cdFx0XHRcdFx0dGhpcy5jaGlsZEluamVjdG9yID0gbnVsbDtcclxuXHRcdFx0XHRcdHRoaXMuaXNCb290c3RyYXBwaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuZGVzdHJveVRpbWVyID0gbnVsbDtcclxuXHRcdFx0fSwgMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR0cnkge1xyXG5cdFx0Y3VzdG9tRWxlbWVudHMuZGVmaW5lKGBhcHAtJHthcHBOYW1lfWAsIE1GRUFwcEVsZW1lbnQpO1xyXG5cdH0gY2F0Y2ggKGUpIHtcclxuXHRcdGlmIChlIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uICYmIGUubmFtZSA9PT0gJ05vdFN1cHBvcnRlZEVycm9yJykge1xyXG5cdFx0XHRjb25zb2xlLndhcm4oYFtib290OiR7YXBwTmFtZX1dIGN1c3RvbSBlbGVtZW50IHphdGVuIHRhbsSxbWzEsSwgZGVmaW5lIGF0bGFuZMSxYCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRocm93IGU7XHJcblx0fVxyXG59O1xyXG4iXX0=
|
package/esm2022/http/index.mjs
CHANGED
|
@@ -5,8 +5,7 @@ export * from './lib/interfaces';
|
|
|
5
5
|
export * from './src/httpBackend';
|
|
6
6
|
export * from './src/httpClient';
|
|
7
7
|
export * from './src/serviceBase';
|
|
8
|
-
export * from './src/serviceMockBase';
|
|
9
8
|
export * from './src/serviceStateMethods';
|
|
10
9
|
/* interceptor */
|
|
11
10
|
export * from './src/interceptor/accept-language.interceptor';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2h0dHAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUztBQUNULGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsU0FBUztBQUNULGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsaUJBQWlCO0FBQ2pCLGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBsaWIgKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW51bXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzJztcclxuXHJcbi8qIHNyYyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9odHRwQmFja2VuZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2h0dHBDbGllbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9zZXJ2aWNlQmFzZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NlcnZpY2VTdGF0ZU1ldGhvZHMnO1xyXG5cclxuLyogaW50ZXJjZXB0b3IgKi9cclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvaW50ZXJjZXB0b3IvYWNjZXB0LWxhbmd1YWdlLmludGVyY2VwdG9yJztcclxuIl19
|