@provoly/dashboard 1.1.6 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/core/components/share/access-rights-share/access-rights-share.component.mjs +17 -6
- package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +3 -2
- package/esm2022/lib/core/components/share/share.utils.mjs +10 -7
- package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
- package/esm2022/lib/core/model/filter.interface.mjs +1 -1
- package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +52 -47
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +1 -3
- package/esm2022/presentation/components/presentation.component.mjs +12 -12
- package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +14 -11
- package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +15 -11
- package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +15 -13
- package/esm2022/toolbox/components/delete/delete.component.mjs +17 -18
- package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +16 -11
- package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +14 -12
- package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +12 -7
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +19 -14
- package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +15 -11
- package/esm2022/toolbox/components/named-query/named-query.component.mjs +3 -3
- package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +14 -10
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +14 -10
- package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +14 -9
- package/esm2022/toolbox/components/share/share.component.mjs +30 -34
- package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +14 -12
- package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +20 -6
- package/esm2022/toolbox/components/toolbox.component.mjs +1 -1
- package/esm2022/toolbox/toolbox.model.mjs +4 -4
- package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +2 -2
- package/fesm2022/provoly-dashboard-presentation.mjs +11 -11
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +197 -139
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +145 -126
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/components/share/access-rights-share/access-rights-share.component.d.ts +7 -1
- package/lib/core/components/share/share.utils.d.ts +3 -0
- package/lib/core/i18n/en.translations.d.ts +1 -0
- package/lib/core/i18n/fr.translations.d.ts +1 -0
- package/lib/core/model/filter.interface.d.ts +1 -1
- package/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.d.ts +1 -1
- package/lib/dashboard/store/dashboard.selectors.d.ts +0 -5
- package/package.json +7 -7
- package/presentation/components/presentation.component.d.ts +4 -5
- package/styles/components/_o-access-rights-share.scss +9 -1
- package/toolbox/components/automate-refresh/automate-refresh.component.d.ts +2 -2
- package/toolbox/components/clear-view/clear-view.component.d.ts +3 -2
- package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +3 -5
- package/toolbox/components/delete/delete.component.d.ts +4 -13
- package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +3 -3
- package/toolbox/components/edit-mode-action/edit-mode-action.component.d.ts +3 -8
- package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +3 -2
- package/toolbox/components/filter-settings/filter-settings.component.d.ts +3 -3
- package/toolbox/components/launch-tab/launch-tab.component.d.ts +3 -2
- package/toolbox/components/refresh-datasets/refresh-datasets.component.d.ts +3 -3
- package/toolbox/components/save-view/save-view.component.d.ts +3 -5
- package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +3 -3
- package/toolbox/components/share/share.component.d.ts +4 -8
- package/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.d.ts +3 -8
- package/toolbox/components/toolbox-action/toolbox-action.component.d.ts +6 -3
|
@@ -79,7 +79,8 @@ export const frTranslations = {
|
|
|
79
79
|
validated: 'Valider',
|
|
80
80
|
check: 'Enregistrer',
|
|
81
81
|
close: 'Annuler',
|
|
82
|
-
validate: 'Valider'
|
|
82
|
+
validate: 'Valider',
|
|
83
|
+
all: 'Tous'
|
|
83
84
|
},
|
|
84
85
|
catalog: {
|
|
85
86
|
title: 'Personnalisés',
|
|
@@ -407,4 +408,4 @@ export const frTranslations = {
|
|
|
407
408
|
}
|
|
408
409
|
}
|
|
409
410
|
};
|
|
410
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvaTE4bi9mci50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtRQUNELEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsR0FBRyxFQUFFLGFBQWE7WUFDbEIsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsT0FBTztZQUNmLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsU0FBUyxFQUFFLHFCQUFxQjtTQUNqQztRQUNELE1BQU0sRUFBRTtZQUNOLHFCQUFxQixFQUFFLDhCQUE4QjtTQUN0RDtRQUNELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSx1Q0FBdUM7WUFDL0MsWUFBWSxFQUFFLDhDQUE4QztZQUM1RCxXQUFXLEVBQUUsc0RBQXNEO1lBQ25FLGFBQWEsRUFBRSwwREFBMEQ7WUFDekUsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxhQUFhO2dCQUNwQixXQUFXLEVBQUUseUJBQXlCO2dCQUN0QyxnQkFBZ0IsRUFBRSx5QkFBeUI7YUFDNUM7WUFDRCxhQUFhLEVBQUUsc0NBQXNDO1lBQ3JELFlBQVksRUFBRSw4QkFBOEI7WUFDNUMsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRSx3Q0FBd0M7Z0JBQ2hELFVBQVUsRUFBRSxxQkFBcUI7Z0JBQ2pDLFlBQVksRUFBRSw2QkFBNkI7Z0JBQzNDLGFBQWEsRUFBRSxzQkFBc0I7Z0JBQ3JDLFVBQVUsRUFBRSx1QkFBdUI7Z0JBQ25DLFFBQVEsRUFBRSx5QkFBeUI7YUFDcEM7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sR0FBRyxFQUFFLCtCQUErQjtnQkFDcEMsUUFBUSxFQUFFLHVDQUF1QztnQkFDakQsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFFBQVEsRUFBRSxXQUFXO2dCQUNyQixTQUFTLEVBQUUsOEJBQThCO2dCQUN6QyxXQUFXLEVBQUUsbUJBQW1CO2dCQUNoQyxPQUFPLEVBQUUsWUFBWTthQUN0QjtZQUNELFVBQVUsRUFBRTtnQkFDVixTQUFTLEVBQUUsb0JBQW9CO2dCQUMvQixlQUFlLEVBQUUsV0FBVztnQkFDNUIsa0JBQWtCLEVBQUUscUNBQXFDO2FBQzFEO1lBQ0QsVUFBVSxFQUFFLHlCQUF5QjtZQUNyQyxNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxRQUFRO1lBQ2YsV0FBVyxFQUFFLG1CQUFtQjtZQUNoQyxNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsV0FBVyxFQUFFLHVCQUF1QjtTQUNyQztRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxpQkFBaUI7U0FDeEI7UUFDRCxPQUFPLEVBQUU7WUFDUCxXQUFXLEVBQUUsdUJBQXVCO1lBQ3BDLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSx3QkFBd0I7Z0JBQzlCLFdBQVcsRUFBRSxnQ0FBZ0M7Z0JBQzdDLEtBQUssRUFBRSxxQ0FBcUM7Z0JBQzVDLGFBQWEsRUFBRTtvQkFDYixPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixTQUFTLEVBQUUsd0RBQXdEO29CQUNuRSxpQkFBaUIsRUFBRSwwRkFBMEY7b0JBQzdHLGFBQWEsRUFBRSx1RUFBdUU7aUJBQ3ZGO2dCQUNELFNBQVMsRUFBRSw0Q0FBNEM7Z0JBQ3ZELFdBQVcsRUFBRSwwREFBMEQ7Z0JBQ3ZFLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFFBQVEsRUFBRSxTQUFTO2FBQ3BCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxlQUFlO2dCQUN0QixLQUFLLEVBQUUsS0FBSztnQkFDWixXQUFXLEVBQUUsYUFBYTtnQkFDMUIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsTUFBTSxFQUFFO29CQUNOLE1BQU0sRUFBRSxxQkFBcUI7b0JBQzdCLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLElBQUksRUFBRSxpQkFBaUI7aUJBQ3hCO2dCQUNELGFBQWEsRUFBRTtvQkFDYixPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixpQkFBaUIsRUFBRSx5RkFBeUY7aUJBQzdHO2dCQUNELEtBQUssRUFBRSxxQ0FBcUM7YUFDN0M7WUFDRCxLQUFLLEVBQUUsY0FBYztZQUNyQixJQUFJLEVBQUUseUJBQXlCO1lBQy9CLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsTUFBTSxFQUFFLGVBQWU7WUFDdkIsZ0JBQWdCLEVBQUUsMkJBQTJCO1lBQzdDLFVBQVUsRUFBRSxtQkFBbUI7WUFDL0IsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLGVBQWUsRUFBRSw2QkFBNkI7WUFDOUMsT0FBTyxFQUFFLFNBQVM7WUFDbEIsS0FBSyxFQUFFLFFBQVE7WUFDZixNQUFNLEVBQUUsU0FBUztZQUNqQixPQUFPLEVBQUUsZUFBZTtZQUN4QixTQUFTLEVBQUUsUUFBUTtZQUNuQixTQUFTLEVBQUUsV0FBVztZQUN0QixTQUFTLEVBQUUsT0FBTztZQUNsQixHQUFHLEVBQUUsT0FBTztZQUNaLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsTUFBTSxFQUFFLGtCQUFrQjtZQUMxQixPQUFPLEVBQUUscUJBQXFCO1lBQzlCLElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsY0FBYyxFQUFFLFlBQVk7WUFDNUIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsU0FBUyxFQUFFLGFBQWE7WUFDeEIsU0FBUyxFQUFFLFFBQVE7WUFDbkIsVUFBVSxFQUFFLFFBQVE7WUFDcEIsU0FBUyxFQUFFLE1BQU07WUFDakIsUUFBUSxFQUFFLFlBQVk7WUFDdEIsVUFBVSxFQUFFLE9BQU87WUFDbkIsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxNQUFNLEVBQUUscUJBQXFCO1lBQzdCLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsS0FBSyxFQUFFLFdBQVc7WUFDbEIsV0FBVyxFQUFFLEVBQUU7WUFDZixHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxFQUFFLGNBQWM7Z0JBQ25CLEtBQUssRUFBRSxXQUFXO2dCQUNsQixLQUFLLEVBQUUsT0FBTzthQUNmO1lBQ0QsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsZUFBZTtZQUN6QixHQUFHLEVBQUUsYUFBYTtZQUNsQixTQUFTLEVBQUUsK0JBQStCO1lBQzFDLE1BQU0sRUFBRTtnQkFDTixHQUFHLEVBQUUsbUJBQW1CO2dCQUN4QixhQUFhLEVBQ1gsNEhBQTRIO2dCQUM5SCxHQUFHLEVBQUUsYUFBYTtnQkFDbEIsYUFBYSxFQUNYLHFHQUFxRztnQkFDdkcsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsZ0JBQWdCLEVBQ2QsK0tBQStLO2dCQUNqTCxNQUFNLEVBQUUsc0JBQXNCO2dCQUM5QixnQkFBZ0IsRUFDZCxpTEFBaUw7Z0JBQ25MLE1BQU0sRUFBRSxvQkFBb0I7Z0JBQzVCLGdCQUFnQixFQUNkLGdMQUFnTDtnQkFDbEwsTUFBTSxFQUFFLHNCQUFzQjtnQkFDOUIsZ0JBQWdCLEVBQ2Qsa0xBQWtMO2dCQUNwTCxLQUFLLEVBQUUsV0FBVztnQkFDbEIsZUFBZSxFQUNiLHVLQUF1SzthQUMxSztZQUNELFVBQVUsRUFBRSxVQUFVO1lBQ3RCLGlCQUFpQixFQUFFLHlCQUF5QjtZQUM1QyxLQUFLLEVBQUUsVUFBVTtZQUNqQixpQkFBaUIsRUFBRSxnQkFBZ0I7WUFDbkMsTUFBTSxFQUFFLFdBQVc7WUFDbkIsV0FBVyxFQUFFLHVCQUF1QjtTQUNyQztRQUNELFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxLQUFLO1lBQ1gsV0FBVyxFQUFFLGFBQWE7WUFDMUIsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixZQUFZLEVBQUUsc0JBQXNCO1lBQ3BDLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLFNBQVMsRUFBRSwyQkFBMkI7WUFDdEMsS0FBSyxFQUFFLGVBQWU7WUFDdEIsR0FBRyxFQUFFO2dCQUNILFVBQVUsRUFBRSx5QkFBeUI7Z0JBQ3JDLFNBQVMsRUFBRSxtQ0FBbUM7YUFDL0M7WUFDRCxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFdBQVc7WUFDbkIsV0FBVyxFQUNULHNHQUFzRztTQUN6RztRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxZQUFZO1lBQ2xCLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsT0FBTyxFQUFFLEdBQUc7WUFDWixTQUFTLEVBQUUsR0FBRztTQUNmO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsR0FBRyxFQUFFLHdCQUF3QjtZQUM3QixNQUFNLEVBQUUseUJBQXlCO1lBQ2pDLElBQUksRUFBRSxxQkFBcUI7WUFDM0IsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixTQUFTLEVBQUUsNEJBQTRCO1lBQ3ZDLE9BQU8sRUFBRSxpQ0FBaUM7WUFDMUMsTUFBTSxFQUFFLDhCQUE4QjtZQUN0QyxZQUFZLEVBQUUsbUJBQW1CO1lBQ2pDLGNBQWMsRUFBRSxtQkFBbUI7WUFDbkMsa0JBQWtCLEVBQUUscUJBQXFCO1lBQ3pDLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRTtvQkFDTCxNQUFNLEVBQUUsZ0JBQWdCO29CQUN4QixJQUFJLEVBQUUsb0JBQW9CO29CQUMxQixTQUFTLEVBQUUsc0JBQXNCO29CQUNqQyxZQUFZLEVBQUUsb0JBQW9CO2lCQUNuQztnQkFDRCxLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixJQUFJLEVBQUUsK0JBQStCO2dCQUNyQyxPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixhQUFhLEVBQUUsZ0NBQWdDO2FBQ2hEO1NBQ0Y7UUFDRCxNQUFNLEVBQUU7WUFDTixHQUFHLEVBQUUsU0FBUztZQUNkLEtBQUssRUFBRSxRQUFRO1lBQ2YsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixNQUFNLEVBQUUsV0FBVztZQUNuQixJQUFJLEVBQUUsUUFBUTtZQUNkLFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsU0FBUyxFQUFFLGlCQUFpQjtZQUM1QixNQUFNLEVBQUUsaUJBQWlCO1lBQ3pCLFlBQVksRUFBRSxrQ0FBa0M7WUFDaEQsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixvQkFBb0IsRUFBRSx1REFBdUQ7WUFDN0UsV0FBVyxFQUFFLGtCQUFrQjtZQUMvQixVQUFVLEVBQUUsa0JBQWtCO1lBQzlCLGFBQWEsRUFBRSxtQ0FBbUM7WUFDbEQsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixhQUFhLEVBQUUsd0JBQXdCO1lBQ3ZDLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixjQUFjLEVBQUUsb0JBQW9CO1lBQ3BDLGNBQWMsRUFBRSx3QkFBd0I7WUFDeEMsTUFBTSxFQUFFLFlBQVk7WUFDcEIsTUFBTSxFQUFFLG1CQUFtQjtZQUMzQixJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsWUFBWSxFQUFFLGtCQUFrQjtZQUNoQyxZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLFdBQVcsRUFBRSx1QkFBdUI7U0FDckM7UUFDRCxLQUFLLEVBQUU7WUFDTCxPQUFPLEVBQUUsc0VBQXNFO1lBQy9FLGFBQWEsRUFBRSxzRkFBc0Y7WUFDckcsWUFBWSxFQUFFLHlGQUF5RjtZQUN2RyxXQUFXLEVBQUUsb0dBQW9HO1lBQ2pILFlBQVksRUFBRSwwRkFBMEY7WUFDeEcsb0JBQW9CLEVBQUUsd0NBQXdDO1NBQy9EO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRSxRQUFRO2dCQUNoQixPQUFPLEVBQUUsV0FBVzthQUNyQjtZQUNELGFBQWEsRUFBRSxnQkFBZ0I7WUFDL0IsU0FBUyxFQUFFLGNBQWM7WUFDekIsUUFBUSxFQUFFO2dCQUNSLENBQUMsRUFBRSxPQUFPO2dCQUNWLENBQUMsRUFBRSxPQUFPO2dCQUNWLENBQUMsRUFBRSxVQUFVO2dCQUNiLENBQUMsRUFBRSxPQUFPO2dCQUNWLENBQUMsRUFBRSxVQUFVO2dCQUNiLENBQUMsRUFBRSxRQUFRO2dCQUNYLENBQUMsRUFBRSxVQUFVO2FBQ2Q7WUFDRCxhQUFhLEVBQUU7Z0JBQ2IsQ0FBQyxFQUFFLElBQUk7Z0JBQ1AsQ0FBQyxFQUFFLElBQUk7Z0JBQ1AsQ0FBQyxFQUFFLElBQUk7Z0JBQ1AsQ0FBQyxFQUFFLElBQUk7Z0JBQ1AsQ0FBQyxFQUFFLElBQUk7Z0JBQ1AsQ0FBQyxFQUFFLElBQUk7Z0JBQ1AsQ0FBQyxFQUFFLElBQUk7YUFDUjtZQUNELE1BQU0sRUFBRTtnQkFDTixDQUFDLEVBQUUsU0FBUztnQkFDWixDQUFDLEVBQUUsU0FBUztnQkFDWixDQUFDLEVBQUUsTUFBTTtnQkFDVCxDQUFDLEVBQUUsT0FBTztnQkFDVixDQUFDLEVBQUUsS0FBSztnQkFDUixDQUFDLEVBQUUsTUFBTTtnQkFDVCxDQUFDLEVBQUUsU0FBUztnQkFDWixDQUFDLEVBQUUsTUFBTTtnQkFDVCxDQUFDLEVBQUUsV0FBVztnQkFDZCxDQUFDLEVBQUUsU0FBUztnQkFDWixFQUFFLEVBQUUsVUFBVTtnQkFDZCxFQUFFLEVBQUUsVUFBVTthQUNmO1NBQ0Y7UUFDRCxLQUFLLEVBQUU7WUFDTCxPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUsUUFBUTtZQUNoQixVQUFVLEVBQUUsV0FBVztZQUN2QixJQUFJLEVBQUUsWUFBWTtZQUNsQixLQUFLLEVBQUUsd0JBQXdCO1lBQy9CLE1BQU0sRUFBRTtnQkFDTixHQUFHLEVBQUUsUUFBUTtnQkFDYixhQUFhLEVBQUUsNEJBQTRCO2FBQzVDO1lBQ0QsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLElBQUksRUFBRSx5SEFBeUg7Z0JBQy9ILFdBQVcsRUFBRSw2QkFBNkI7YUFDM0M7WUFDRCxlQUFlLEVBQUUscUZBQXFGO1lBQ3RHLFdBQVcsRUFBRSwyQ0FBMkM7WUFDeEQsSUFBSSxFQUFFLFdBQVc7WUFDakIsS0FBSyxFQUFFLGVBQWU7WUFDdEIsaUJBQWlCLEVBQ2YsaUdBQWlHO1lBQ25HLEVBQUUsRUFBRSxLQUFLO1lBQ1QsS0FBSyxFQUFFLGNBQWM7U0FDdEI7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIsSUFBSSxFQUFFLG1CQUFtQjthQUMxQjtTQUNGO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLDJCQUEyQjtTQUNsQztRQUNELFVBQVUsRUFBRTtZQUNWLFVBQVUsRUFBRSx1QkFBdUI7WUFDbkMsYUFBYSxFQUFFO2dCQUNiLFVBQVUsRUFBRTtvQkFDVixNQUFNLEVBQUUsc0RBQXNEO29CQUM5RCxTQUFTLEVBQUUscUNBQXFDO29CQUNoRCxVQUFVLEVBQUUsbUNBQW1DO29CQUMvQyxZQUFZLEVBQUUscUNBQXFDO29CQUNuRCxjQUFjLEVBQUUsdUNBQXVDO2lCQUN4RDtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFLHlEQUF5RDtvQkFDakUsU0FBUyxFQUFFLHdDQUF3QztvQkFDbkQsVUFBVSxFQUFFLHVDQUF1QztvQkFDbkQsWUFBWSxFQUFFLHlDQUF5QztvQkFDdkQsY0FBYyxFQUFFLHlDQUF5QztpQkFDMUQ7YUFDRjtTQUNGO1FBQ0QsTUFBTSxFQUFFO1lBQ04sT0FBTyxFQUNMLHVIQUF1SDtZQUN6SCxLQUFLLEVBQUU7Z0JBQ0wsQ0FBQyxFQUFFLHNJQUFzSTtnQkFDekksR0FBRyxFQUFFLDBCQUEwQjtnQkFDL0IsR0FBRyxFQUFFLDJEQUEyRDtnQkFDaEUsR0FBRyxFQUFFLDJEQUEyRDtnQkFDaEUsR0FBRyxFQUFFLG9DQUFvQztnQkFDekMsR0FBRyxFQUFFLHFDQUFxQztnQkFDMUMsR0FBRyxFQUFFLDBCQUEwQjtnQkFDL0IsR0FBRyxFQUFFLHNFQUFzRTthQUM1RTtTQUNGO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsS0FBSyxFQUFFLHdCQUF3QjtZQUMvQixZQUFZLEVBQUUsMEVBQTBFO1lBQ3hGLFNBQVMsRUFBRSw2Q0FBNkM7WUFDeEQsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFO2dCQUNKLFVBQVUsRUFBRSxhQUFhO2dCQUN6QixHQUFHLEVBQUUsaUJBQWlCO2dCQUN0QixNQUFNLEVBQUUsV0FBVztnQkFDbkIsTUFBTSxFQUFFLFVBQVU7YUFDbkI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLGlCQUFpQjtnQkFDekIsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixVQUFVLEVBQUUsV0FBVztnQkFDdkIsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixLQUFLLEVBQUUsaURBQWlEO2dCQUN4RCxTQUFTLEVBQUUsZ0JBQWdCO2FBQzVCO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxZQUFZO2dCQUN4QixLQUFLLEVBQUUsUUFBUTtnQkFDZixRQUFRLEVBQUUsV0FBVzthQUN0QjtZQUNELEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsT0FBTztnQkFDYixJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsT0FBTztnQkFDYixNQUFNLEVBQUUsV0FBVztnQkFDbkIsWUFBWSxFQUFFLHVCQUF1QjthQUN0QztTQUNGO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLGtCQUFrQjtTQUM1QjtRQUNELElBQUksRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLFVBQVU7U0FDcEI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHNlbGVjdDoge1xuICAgICAgbGFiZWw6ICdMaXN0ZSBkZXMgY2hvaXgnLFxuICAgICAgbG9hZGluZzogJ0NoYXJnZW1lbnQgZW4gY291cnMnXG4gICAgfSxcbiAgICBhYm91dDoge1xuICAgICAgZnJvbnQ6ICdMaWJyYWlyaWUgZnJvbnQnLFxuICAgICAgcmVmOiAnUsOpZsOpcmVudGllbCcsXG4gICAgICBkYXRhOiAnRG9ubsOpZXMnLFxuICAgICAgcmVwbGF5OiAnUmVqZXUnLFxuICAgICAgZXhlYzogJ0V4w6ljdXRpb24nLFxuICAgICAgdHJhbnNmbzogJ1RyYW5zZm9ybWF0aW9uJyxcbiAgICAgIG5vVmVyc2lvbjogJ1ZlcnNpb24gbm9uIHRyb3V2w6llJ1xuICAgIH0sXG4gICAgaGVhZGVyOiB7XG4gICAgICBub0N1cnJlbnRQcmVzZW50YXRpb246ICdQcsOpc2VudGF0aW9uIG5vbiBzYXV2ZWdhcmTDqWUnXG4gICAgfSxcbiAgICB3aWRnZXQ6IHtcbiAgICAgIG5vRGF0YTogJ0F1Y3VuZSBzb3VyY2UgZGUgZG9ubsOpZXMgc8OpbGVjdGlvbm7DqWUnLFxuICAgICAgdW5yZWNvZ25pemVkOiAnTGEgcmVzdGl0dXRpb24gZGUgdHlwZSB7e3R5cGV9fSBlc3QgaW5jb25udS4nLFxuICAgICAgYWRkZWRJblZpZXc6ICdMYSByZXN0aXR1dGlvbiBhIMOpdMOpIGFqb3V0w6llIHN1ciBsYSBwYWdlIG7CsHt7aW5kZXh9fScsXG4gICAgICB1cGRhdGVkSW5WaWV3OiAnTGEgcmVzdGl0dXRpb24gYSDDqXTDqSBtaXNlIMOgIGpvdXIgc3VyIGxhIHBhZ2UgbsKwe3tpbmRleH19JyxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIHRpdGxlOiAnUGFyYW3DqXRyYWdlJyxcbiAgICAgICAgY2hhbmdlVGl0bGU6ICdUaXRyZSBkZSBsYSByZXN0aXR1dGlvbicsXG4gICAgICAgIHZhbGlkYXRlVXBkYXRpbmc6ICdWYWxpZGVyIGxhIG1vZGlmaWNhdGlvbidcbiAgICAgIH0sXG4gICAgICBkZWZpbmVDYXRhbG9nOiAnRMOpZmluaXNzZXogdm90cmUgZW50csOpZSBkZSBjYXRhbG9ndWUnLFxuICAgICAgYnV0dG9uQ2hvaWNlOiAnU8OpbGVjdGlvbm5lciB1bmUgcmVzdGl0dXRpb24nLFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBwYXJhbXM6ICdQYXJhbcOpdHJlciBsYSB2dWUgZGUgdm90cmUgcmVzdGl0dXRpb24nLFxuICAgICAgICByZWFkU2VhcmNoOiAnQ2hvaXNpciBsZXMgZG9ubsOpZXMnLFxuICAgICAgICBkZWxldGVXaWRnZXQ6ICdTdXBwcmltZXIgdm90cmUgcmVzdGl0dXRpb24nLFxuICAgICAgICBjYXRhbG9nV2lkZ2V0OiAnQWpvdXRlciBhdSBjYXRhbG9ndWUnLFxuICAgICAgICBjaGFuZ2VTcG90OiBcIkNoYW5nZXIgZCdlbXBsYWNlbWVudFwiLFxuICAgICAgICBzcG90TmFtZTogJ0VtcGxhY2VtZW50IG7CsHt7cGxhY2V9fSdcbiAgICAgIH0sXG4gICAgICB0YXJnZXQ6IHtcbiAgICAgICAgbmV3OiAnT3V2cmlyIGRhbnMgdW5lIG5vdXZlbGxlIHBhZ2UnLFxuICAgICAgICBleGlzdGluZzogJ091dnJpciBkYW5zIGxhIHBhZ2UgbsKwe3t0YXJnZXRJbmRleH19JyxcbiAgICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICAgICAgbWF4aW1pemU6ICdNYXhpbWlzZXInLFxuICAgICAgICBub25lX2F1dG86ICdJbnPDqXJleiBpY2kgdm9zIHJlc3RpdHV0aW9ucycsXG4gICAgICAgIG5vbmVfbWFudWFsOiAnR2xpc3NlciAtIETDqXBvc2VyJyxcbiAgICAgICAgbG9hZGluZzogJ0NoYXJnZW1lbnQnXG4gICAgICB9LFxuICAgICAgbmFtZWRRdWVyeToge1xuICAgICAgICBkZWZhdWx0UnM6ICdSZWNoZXJjaGUgY291cmFudGUnLFxuICAgICAgICByZXN1bHRzQWNjdXJhdGU6ICd7e3RvdGFsfX0nLFxuICAgICAgICByZXN1bHRzTm9uQWNjdXJhdGU6ICd7e2Rpc3BsYXllZH19IHN1ciBlbnZpcm9uIHt7dG90YWx9fSdcbiAgICAgIH0sXG4gICAgICBtb2RhbFRpdGxlOiAnVm91bGV6LXZvdXMgY29uZmlybWVyID8nLFxuICAgICAgaXRlbUlkOiAnSWQnLFxuICAgICAgY2xhc3M6ICdDbGFzc2UnLFxuICAgICAgY29sb3JTY2hlbWU6ICdTY2jDqW1hIGRlIGNvdWxldXInLFxuICAgICAgY3VzdG9tOiAnUGVyc29uYWxpc8OpIG7CsHt7aWR9fScsXG4gICAgICBhZGRDb2xvcjogJ0Fqb3V0ZXIgdW5lIGNvdWxldXInLFxuICAgICAgcmVtb3ZlQ29sb3I6ICdTdXBwcmltZXIgdW5lIGNvdWxldXInXG4gICAgfSxcbiAgICB2aWV3OiB7XG4gICAgICBuYW1lOiAnUGFnZSBuwrB7e3Jhbmt9fSdcbiAgICB9LFxuICAgIHRvb2xib3g6IHtcbiAgICAgIGRlZmF1bHRTaXplOiAnVGFpbGxlIGRlIHJlc3RpdHV0aW9uJyxcbiAgICAgIGFuYWx5dGljOiAnVGFibGVhdSBhbmFseXRpcXVlJyxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIG5hbWU6ICdOb20gZGUgbGEgcHLDqXNlbnRhdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24gZGUgbGEgcHLDqXNlbnRhdGlvbicsXG4gICAgICAgIHNhdmVkOiAnUHLDqXNlbnRhdGlvbiB7e3ZpZXdJZH19IHNhdXZlZ2FyZMOpZScsXG4gICAgICAgIHNhdmVFcnJvckNvZGU6IHtcbiAgICAgICAgICBVTktOT1dOOiAnRXJyZXVyIGluY29ubnVlJyxcbiAgICAgICAgICBGT1JCSURERU46IFwiVm91cyBuJ8OqdGVzIHBhcyBsZSBwcm9wcmnDqXRhaXJlIGRlIGNldHRlIHByw6lzZW50YXRpb24gXCIsXG4gICAgICAgICAgTkFNRV9BTFJFQURZX1VTRUQ6ICdVbmUgcHLDqXNlbnRhdGlvbiBhdmVjIGxlIG5vbSBcInt7bmFtZX19XCIgZXhpc3RlIGTDqWrDoCwgdmV1aWxsZXogc8OpbGVjdGlvbm5lciB1biBhdXRyZSBub20uJyxcbiAgICAgICAgICBTQVZFX01FVEFEQVRBOiAnVmV1aWxsZXogc2F1dmVnYXJkZXIgbGEgcHJlc2VudGF0aW9uIGF2YW50IGRlIGNob2lzaXIgdW5lIHRow6ltYXRpcXVlLidcbiAgICAgICAgfSxcbiAgICAgICAgZGVmYXVsdGVkOiAnUHLDqXNlbnRhdGlvbiB7e3ZpZXdJZH19IG1hcnF1w6llIHBhciBkw6lmYXV0JyxcbiAgICAgICAgdW5kZWZhdWx0ZWQ6IFwiTGEgcHLDqXNlbnRhdGlvbiB7e3ZpZXdJZH19IG4nZXN0IHBsdXMgbWFycXXDqWUgcGFyIGTDqWZhdXRcIixcbiAgICAgICAgdmFsaWRhdGVkOiAnVmFsaWRlcicsXG4gICAgICAgIGNoZWNrOiAnRW5yZWdpc3RyZXInLFxuICAgICAgICBjbG9zZTogJ0FubnVsZXInLFxuICAgICAgICB2YWxpZGF0ZTogJ1ZhbGlkZXInXG4gICAgICB9LFxuICAgICAgY2F0YWxvZzoge1xuICAgICAgICB0aXRsZTogJ1BlcnNvbm5hbGlzw6lzJyxcbiAgICAgICAgbGFiZWw6ICdOb20nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgaWNvbjogJ0ltYWdlJyxcbiAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyIGNlIGZpbHRyZScsXG4gICAgICAgICAgdHlwZTogJ0ZpbHRyZXIgcGFyIHR5cGUnLFxuICAgICAgICAgIG5hbWU6ICdGaWx0cmVyIHBhciBub20nXG4gICAgICAgIH0sXG4gICAgICAgIHNhdmVFcnJvckNvZGU6IHtcbiAgICAgICAgICBVTktOT1dOOiAnRXJyZXVyIGluY29ubnVlJyxcbiAgICAgICAgICBOQU1FX0FMUkVBRFlfVVNFRDogJ1VuZSByZXN0aXR1dGlvbiBhdmVjIGxlIG5vbSBcInt7bmFtZX19XCIgZXhpc3RlIGTDqWrDoCwgdmV1aWxsZXogc8OpbGVjdGlvbm5lciB1biBhdXRyZSBub20uJ1xuICAgICAgICB9LFxuICAgICAgICBzYXZlZDogJ1Byw6lzZW50YXRpb24ge3t2aWV3SWR9fSBzYXV2ZWdhcmTDqWUnXG4gICAgICB9LFxuICAgICAgYWJvdXQ6ICdJbmZvcm1hdGlvbnMnLFxuICAgICAgZWRpdDogJ01vZGlmaWVyIGxhIGRpc3Bvc2l0aW9uJyxcbiAgICAgIGVkaXRPZmY6ICdWaXN1YWxpc2VyIGxhIGRpc3Bvc2l0aW9uJyxcbiAgICAgIGxhdW5jaDogJ05vdXZlbGxlIHBhZ2UnLFxuICAgICAgbGF1bmNoSW5kaWNhdGlvbjogJ091dnJpciBjZXR0ZSBwYWdlIGRhbnMgdW4nLFxuICAgICAgY2hvb3NlR3JpZDogJ0NoYW5nZXIgbGEgZ3JpbGxlJyxcbiAgICAgIGNsZWFyOiBcIlZpZGVyIGwnYWZmaWNoYWdlXCIsXG4gICAgICByZWZyZXNoOiAnUmFmcmFpY2hpciBsZXMgZG9ubsOpZXMnLFxuICAgICAgYXV0b21hdGVSZWZyZXNoOiBcIkF1dG9tYXRpc2VyIGwnYWN0dWFsaXNhdGlvblwiLFxuICAgICAgb3B0aW9uczogJ09wdGlvbnMnLFxuICAgICAgY2xvc2U6ICdGZXJtZXInLFxuICAgICAgZmlsdGVyOiAnRmlsdHJlcicsXG4gICAgICBoZWF0bWFwOiAnRnLDqXF1ZW50YXRpb24nLFxuICAgICAgYnViYmxlbWFwOiAnQnVsbGVzJyxcbiAgICAgIG1hcmtlcm1hcDogJ01hcnF1ZXVycycsXG4gICAgICBzaW1wbGVtYXA6ICdDYXJ0ZScsXG4gICAgICBtYXA6ICdDYXJ0ZScsXG4gICAgICB0YWJsZTogJ1RhYmxlYXUnLFxuICAgICAgZGV0YWlsOiAnRMOpdGFpbCcsXG4gICAgICBjaGFydDogJ0dyYXBoaXF1ZScsXG4gICAgICByZXN1bHRTZXQ6ICdSZWNoZXJjaGVzIG5vbW3DqWVzJyxcbiAgICAgIHJlbmFtZTogJ0VucmVnaXN0cmVyIHNvdXMnLFxuICAgICAgcmVzdG9yZTogJ1Jlc3RhdXJlciBsZXMgcGFnZXMnLFxuICAgICAgc2F2ZTogJ0VucmVnaXN0cmVyJyxcbiAgICAgIGRyYWc6ICdSZXN0aXR1dGlvbi4uLicsXG4gICAgICBkcmFnSW5kaWNhdGlvbjogJ0luc8OpcmVyIHVuJyxcbiAgICAgIGJhcmNoYXJ0OiAnQmFycmVzJyxcbiAgICAgIGhpc3RvZ3JhbTogJ0hpc3RvZ3JhbW1lJyxcbiAgICAgIGxpbmVjaGFydDogJ0NvdXJiZScsXG4gICAgICBwb2ludGNoYXJ0OiAnUG9pbnRzJyxcbiAgICAgIGFyZWFjaGFydDogJ0FpcmUnLFxuICAgICAgYXJjY2hhcnQ6ICdDaXJjdWxhaXJlJyxcbiAgICAgIHJhZGFyY2hhcnQ6ICdSYWRhcicsXG4gICAgICBjaXJjbGVjaGFydDogJ1BhcXVldHMgZGUgY2VyY2xlcycsXG4gICAgICBpZnJhbWU6ICdBcHBsaWNhdGlvbiBleHRlcm5lJyxcbiAgICAgIHZlZ2E6ICdHcmFwaGlxdWUgYXZhbmPDqScsXG4gICAgICBncmFwaDogJ1JlbGF0aW9ucycsXG4gICAgICBwbGFjZWhvbGRlcjogJycsXG4gICAgICBzdWI6IHtcbiAgICAgICAgbWFwOiAnQ2FydG9ncmFwaGllJyxcbiAgICAgICAgY2hhcnQ6ICdHcmFwaGlxdWUnLFxuICAgICAgICBvdGhlcjogJ0F1dHJlJ1xuICAgICAgfSxcbiAgICAgIHRpbGU6ICdUdWlsZXMnLFxuICAgICAgdGVtcGxhdGU6ICdUZW1wbGF0ZSBIVE1MJyxcbiAgICAgIG5vdzogXCJBdWpvdXJkJ2h1aVwiLFxuICAgICAgc2luY2VfZGF5OiAnSWwgeSBhIHt7ZGF5fX0gam91cnt7cGx1cmFsfX0nLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgICcwJzogJ0NvbXBvc2l0aW9uIGxpYnJlJyxcbiAgICAgICAgJzBfZGV0YWlsbGVkJzpcbiAgICAgICAgICBcIkFmZmljaGFnZSBlbiBtb2RlIGxpYnJlLCBsYSB0YWlsbGUgZXQgbGUgcG9zaXRpb25uZW1lbnQgZGVzIHJlc3RpdHV0aW9ucyBzb250IGVudGnDqHJlbWVudCBwYXJhbcOpdHJhYmxlcyBwYXIgbCd1dGlsaXNhdGV1ci5cIixcbiAgICAgICAgJzEnOiAnUGxlaW4gw6ljcmFuJyxcbiAgICAgICAgJzFfZGV0YWlsbGVkJzpcbiAgICAgICAgICBcIkFmZmljaGFnZSBk4oCZdW5lIHNldWxlIHJlc3RpdHV0aW9uIHN1ciBsJ2Vuc2VtYmxlIGRlIGwnw6ljcmFuLCBsZSBwbGFjZW1lbnQgZXN0IGd1aWTDqSBwYXIgbGUgc3lzdMOobWUuXCIsXG4gICAgICAgICcxLzJ2JzogJzEvMiDDqWNyYW4gdmVydGljYWwnLFxuICAgICAgICAnMS8ydl9kZXRhaWxsZWQnOlxuICAgICAgICAgIFwiQWZmaWNoYWdlIGRlIDIgcmVzdGl0dXRpb25zIG1heGltdW0gc3VyIGwnw6ljcmFuIGTDqWNvdXDDqSBlbiBkZXV4IHpvbmVzIHZlcnRpY2FsZXMsIGwnYWpvdXQgZGUgcmVzdGl0dXRpb24gc2UgZmFpdCBkYW5zIGxlcyB6b25lcyB2aWRlcy4gTGUgcGxhY2VtZW50IGVzdCBndWlkw6kgcGFyIGxlIHN5c3TDqG1lLlwiLFxuICAgICAgICAnMS8yaCc6ICcxLzIgw6ljcmFuIGhvcml6b250YWwnLFxuICAgICAgICAnMS8yaF9kZXRhaWxsZWQnOlxuICAgICAgICAgIFwiQWZmaWNoYWdlIGRlIDIgcmVzdGl0dXRpb25zIG1heGltdW0gc3VyIGzigJnDqWNyYW4gZMOpY291cMOpIGVuIGRldXggem9uZXMgaG9yaXpvbnRhbGVzLCBsJ2Fqb3V0IGRlIHJlc3RpdHV0aW9uIHNlIGZhaXQgZGFucyBsZXMgem9uZXMgdmlkZXMuIExlIHBsYWNlbWVudCBlc3QgZ3VpZMOpIHBhciBsZSBzeXN0w6htZS5cIixcbiAgICAgICAgJzEvM3YnOiAnMS8zIMOpY3JhbiB2ZXJ0aWNhbCcsXG4gICAgICAgICcxLzN2X2RldGFpbGxlZCc6XG4gICAgICAgICAgXCJBZmZpY2hhZ2UgZGUgMyByZXN0aXR1dGlvbnMgbWF4aW11bSBzdXIgbOKAmcOpY3JhbiBkw6ljb3Vww6kgZW4gdHJvaXMgem9uZXMgdmVydGljYWxlcywgbCdham91dCBkZSByZXN0aXR1dGlvbiBzZSBmYWl0IGRhbnMgbGVzIHpvbmVzIHZpZGVzLiBMZSBwbGFjZW1lbnQgZXN0IGd1aWTDqSBwYXIgbGUgc3lzdMOobWUuXCIsXG4gICAgICAgICcxLzNoJzogJzEvMyDDqWNyYW4gaG9yaXpvbnRhbCcsXG4gICAgICAgICcxLzNoX2RldGFpbGxlZCc6XG4gICAgICAgICAgXCJBZmZpY2hhZ2UgZGUgMyByZXN0aXR1dGlvbnMgbWF4aW11bSBzdXIgbOKAmcOpY3JhbiBkw6ljb3Vww6kgZW4gdHJvaXMgem9uZXMgaG9yaXpvbnRhbGVzLCBsJ2Fqb3V0IGRlIHJlc3RpdHV0aW9uIHNlIGZhaXQgZGFucyBsZXMgem9uZXMgdmlkZXMuIExlIHBsYWNlbWVudCBlc3QgZ3VpZMOpIHBhciBsZSBzeXN0w6htZS5cIixcbiAgICAgICAgJzEvNCc6ICcxLzQgw6ljcmFuJyxcbiAgICAgICAgJzEvNF9kZXRhaWxsZWQnOlxuICAgICAgICAgIFwiQWZmaWNoYWdlIGRlIDQgcmVzdGl0dXRpb25zIG1heGltdW0gc3VyIGzigJnDqWNyYW4gZMOpY291cMOpIGVuIHF1YXRyZSB6b25lcyAsIGwnYWpvdXQgZGUgcmVzdGl0dXRpb24gc2UgZmFpdCBkYW5zIGxlcyB6b25lcyB2aWRlcy4gTGUgcGxhY2VtZW50IGVzdCBndWlkw6kgcGFyIGxlIHN5c3TDqG1lLlwiXG4gICAgICB9LFxuICAgICAgc3dpdGNoRWRpdDogJ01vZGlmaWVyJyxcbiAgICAgIHN3aXRjaEVkaXRDb250ZW50OiAnTW9kaWZpZXIgbGEgY29tcG9zaXRpb24nLFxuICAgICAgc2hhcmU6ICdQYXJ0YWdlcicsXG4gICAgICBzaGFyZUFjY2Vzc1JpZ2h0czogXCJEcm9pdHMgZCdhY2PDqHNcIixcbiAgICAgIGRlbGV0ZTogJ1N1cHByaW1lcicsXG4gICAgICBub3RJbkRzQXR0cjogJ0F0dHJpYnV0IGluZGlzcG9uaWJsZSdcbiAgICB9LFxuICAgIG1hbmlmZXN0OiB7XG4gICAgICBuYW1lOiAnTm9tJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgY3JlYXRpb246ICdEYXRlIGRlIGNyw6lhdGlvbicsXG4gICAgICBtb2RpZmljYXRpb246ICdEYXRlIGRlIG1vZGlmaWNhdGlvbicsXG4gICAgICBhY3Rpb25zOiAnQWN0aW9ucycsXG4gICAgICBpbXBvcnQ6ICdJbXBvcnRlcicsXG4gICAgICBpbXBvcnRBbHQ6ICdJbXBvcnRlciB1bmUgcHLDqXNlbnRhdGlvbicsXG4gICAgICB0aXRsZTogJ1Byw6lzZW50YXRpb25zJyxcbiAgICAgIGdldDoge1xuICAgICAgICBlcnJvckZyb250OiAnRXJyZXVyIGNsaWVudCA6IHt7bXNnfX0nLFxuICAgICAgICBlcnJvckJhY2s6ICdFcnJldXIgc2VydmV1ciBkZSBjb2RlIFt7e2NvZGV9fV0nXG4gICAgICB9LFxuICAgICAgZGVmYXVsdDogJ0TDqWZpbmlyIHBhciBkw6lmYXV0JyxcbiAgICAgIGRvd25sb2FkOiAnVMOpbMOpY2hhcmdlcicsXG4gICAgICBsb2FkOiAnQ2hhcmdlcicsXG4gICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgZGVsZXRlRXJyb3I6XG4gICAgICAgIFwiUmVjaGVyY2hlIHV0aWxpc8OpZSBkYW5zIHVuZSBvdSBwbHVzaWV1cnMgcmVzdGl0dXRpb24ocyksIHZldWlsbGV6IHN1cHByaW1lciBsZXMgdXRpbGlzYXRpb25zIGQnYWJvcmRcIlxuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBkYXRlOiAnZGQvTU0veXl5eScsXG4gICAgICBkYXRldGltZTogJ2RkL01NL3l5eXkgSEg6bW06c3MnLFxuICAgICAgZGVjaW1hbDogJywnLFxuICAgICAgdGhvdXNhbmRzOiAnICdcbiAgICB9LFxuICAgIGNvbnRleHQ6IHtcbiAgICAgIGFkZDogJ0Fqb3V0ZXIgw6AgbGEgc8OpbGVjdGlvbicsXG4gICAgICByZW1vdmU6ICdFbmxldmVyIGRlIGxhIHPDqWxlY3Rpb24nLFxuICAgICAgbGluazogJ0xpZXIgw6AgbGEgc8OpbGVjdGlvbicsXG4gICAgICBpbnZlcnQ6ICdJbnZlcnNlciBsYSBzw6lsZWN0aW9uJyxcbiAgICAgIHByb3hpbWl0eTogJ1JlY2hlcmNoZXIgbGVzIG9iamV0cyBsacOpcycsXG4gICAgICBleHBsb3JlOiAnT3V2cmlyIGxhIHJlc3RpdHV0aW9uIFJlbGF0aW9ucycsXG4gICAgICBkZXRhaWw6ICdPdXZyaXIgbGEgcmVzdGl0dXRpb24gRMOpdGFpbCcsXG4gICAgICBmbHlpbmdEZXRhaWw6IFwiQ29uc3VsdGVyIGwnb2JqZXRcIixcbiAgICAgIGFkZHJlc3NGcm9tTG9jOiBcIk9idGVuaXIgbCdhZHJlc3NlXCIsXG4gICAgICBlcnJvclNlYXJjaEFkZHJlc3M6ICdBZHJlc3NlIGludHJvdXZhYmxlJyxcbiAgICAgIGNhbmNlbDogJ0FubnVsZXInLFxuICAgICAgY3JlYXRlOiAnQ3LDqWVyJyxcbiAgICAgIGNyZWF0ZU9iamVjdDoge1xuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIG9iamVjdDogJ0Nyw6llciB1biBvYmpldCcsXG4gICAgICAgICAgbGluazogJ0Nyw6llciB1bmUgcmVsYXRpb24nLFxuICAgICAgICAgIGludmVyc2lvbjogJ0ludmVyc2VyIGxhIHJlbGF0aW9uJyxcbiAgICAgICAgICBsaW5rZWRPYmplY3Q6ICdDcsOpZXIgdW4gb2JqZXQgbGnDqSdcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3M6IFwiQ2xhc3NlIGRlIGwnb2JqZXRcIixcbiAgICAgICAgbGluazogJ1JlbGF0aW9uIGF2ZWMgbGUgbm91dmVsIG9iamV0JyxcbiAgICAgICAgY3JlYXRlZDogXCJMJ29iamV0IGEgw6l0w6kgY3LDqcOpXCIsXG4gICAgICAgIGRldGFpbHM6ICdWb2lyIGxlIGTDqXRhaWwnLFxuICAgICAgICBhZGRNdWx0aUZpZWxkOiAnQWpvdXRlciB1bmUgdmFsZXVyIGRlIHt7bmFtZX19J1xuICAgICAgfVxuICAgIH0sXG4gICAgYWN0aW9uOiB7XG4gICAgICBhZGQ6ICdBam91dGVyJyxcbiAgICAgIGNsb3NlOiAnRmVybWVyJyxcbiAgICAgIGNsb3NlUGFuZWw6ICdGZXJtZXIgbGUgcGFubmVhdScsXG4gICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgZWRpdDogJ0VkaXRlcicsXG4gICAgICBlZGl0UHJvZmlsOiAnRWRpdGVyIGxlIHByb2ZpbCcsXG4gICAgICBlZGl0VGl0bGU6ICdFZGl0ZXIgbGUgdGl0cmUnLFxuICAgICAgY2hvaWNlOiAnQ2hvaXNpciB1biAuLi4uJyxcbiAgICAgIGNob2ljZUluTGlzdDogJ0Nob2lzaXIgdW4gw6lsw6ltZW50IGRhbnMgbGEgbGlzdGUnLFxuICAgICAgdGV4dDogJ1JlbXBsaXIgbGUgY2hhbXAnLFxuICAgICAgc29ydGFibGVDb2x1bW5IZWFkZXI6IFwiVXRpbGlzZXogbGVzIGJvdXRvbnMgZCdlbi10w6p0ZSBkZSBjb2xvbm5lIHBvdXIgdHJpZXIuXCIsXG4gICAgICB2aWV3RGV0YWlsczogJ1ZvaXIgbGVzIGTDqXRhaWxzJyxcbiAgICAgIHNlbGVjdERhdGU6ICdDaG9pc2lyIHVuZSBkYXRlJyxcbiAgICAgIG9wZW5zSW5OZXdUYWI6IFwiUydvdXZyZSBkYW5zIHVuZSBub3V2ZWxsZSBmZW7DqnRyZVwiLFxuICAgICAgc2tpcExpbms6ICdBbGxlciBhdSBjb250ZW51JyxcbiAgICAgIHNlbGVjdFBpY3R1cmU6ICdTw6lsZWN0aW9ubmVyIHVuZSBpbWFnZScsXG4gICAgICBtb3ZlRG93bjogJ0TDqXBsYWNlciB2ZXJzIGxlIGJhcycsXG4gICAgICBtb3ZlVXA6ICdEw6lwbGFjZXIgdmVycyBsZSBoYXV0JyxcbiAgICAgIGV4cG9ydEFzRm9ybWF0OiAnRXhwb3J0ZXIgYXUgZm9ybWF0JyxcbiAgICAgIG9wZW5NZW51V2lkZ2V0OiAnTWVudSBkZSBsYSByZXN0aXR1dGlvbicsXG4gICAgICBzZWFyY2g6ICdSZWNoZXJjaGVyJyxcbiAgICAgIHVwbG9hZDogJ0Fqb3V0ZXIgdW5lIGltYWdlJyxcbiAgICAgIG5leHQ6ICdTdWl2YW50JyxcbiAgICAgIGJhY2s6ICdSZXRvdXInLFxuICAgICAgZmlsdGVyQnlUeXBlOiAnRmlsdHJlciBwYXIgdHlwZScsXG4gICAgICBlZGl0TWV0YWRhdGE6ICdNb2RpZmllciBsYSBtw6l0YWRvbm7DqWUnLFxuICAgICAgYWRkTWV0YWRhdGE6ICdBam91dGVyIGxhIG3DqXRhZG9ubsOpZSdcbiAgICB9LFxuICAgIHNuYWNrOiB7XG4gICAgICBkZWZhdWx0OiAnVmVnYSBhIHJlbmNvbnRyw6kgdW5lIGVycmV1ciBlbiB1dGlsaXNhbnQgdm9zIGRvbm7DqWVzIGV0IHBhcmFtw6l0cmFnZS4nLFxuICAgICAgbWlzc2luZ1BhcmVudDogXCJVbiBub2V1ZCBlc3QgbWFucXVhbnQgZGFucyBsJ2FyYnJlIGRlIHJlcHLDqXNlbnRhdGlvbi4gTWVyY2kgZGUgY29ycmlnZXIgdm9zIGRvbm7DqWVzLlwiLFxuICAgICAgbWlzc2luZ1ZhbHVlOiBcIlVuIGl0ZW0gw6AgYWZmaWNoZXIgbmUgcG9zc8OoZGUgcGFzIGwnYXR0cmlidXQgw6AgYWZmaWNoZXIuIE1lcmNpIGRlIGNvcnJpZ2VyIHZvcyBkb25uw6llcy5cIixcbiAgICAgIGVtcHR5VmFsdWVzOiBcIkxlcyB2YWxldXJzIGRlIGwnYXR0cmlidXQgw6AgYWZmaWNoZXIgbmUgcGV1dmVudCDDqnRyZSB0b3V0ZXMgbnVsbGVzLiBNZXJjaSBkZSBjb3JyaWdlciB2b3MgZG9ubsOpZXMuXCIsXG4gICAgICBwYWdlc0NoYW5nZWQ6ICdBdHRlbnRpb24sIGxlIG5vbWJyZSBkZSBwYWdlcyBkZSB2b3RyZSBwcsOpc2VudGF0aW9uIGEgY2hhbmfDqSwgcXVlIHNvdWhhaXRlei12b3VzIGZhaXJlID8nLFxuICAgICAgaW1hZ2VOYW1lQWxyZWFkeVVzZWQ6ICdMZSBub20gZGUgY2V0dGUgaW1hZ2UgZXN0IGTDqWrDoCB1dGlsaXPDqSdcbiAgICB9LFxuICAgIHRoZW1lOiB7XG4gICAgICBlZGl0SW5wdXQ6IHtcbiAgICAgICAgdG9nZ2xlOiAnRWRpdGVyJyxcbiAgICAgICAgY29uZmlybTogJ0NvbmZpcm1lcidcbiAgICAgIH0sXG4gICAgICBwcmV2aW91c01vbnRoOiAnTW9pcyBwcsOpY8OpZGVudCcsXG4gICAgICBuZXh0TW9udGg6ICdNb2lzIHN1aXZhbnQnLFxuICAgICAgd2Vla2RheXM6IHtcbiAgICAgICAgMDogJ0x1bmRpJyxcbiAgICAgICAgMTogJ01hcmRpJyxcbiAgICAgICAgMjogJ01lcmNyZWRpJyxcbiAgICAgICAgMzogJ0pldWRpJyxcbiAgICAgICAgNDogJ1ZlbmRyZWRpJyxcbiAgICAgICAgNTogJ1NhbWVkaScsXG4gICAgICAgIDY6ICdEaW1hbmNoZSdcbiAgICAgIH0sXG4gICAgICBzaG9ydFdlZWtkYXlzOiB7XG4gICAgICAgIDA6ICdMdScsXG4gICAgICAgIDE6ICdNYScsXG4gICAgICAgIDI6ICdNZScsXG4gICAgICAgIDM6ICdKZScsXG4gICAgICAgIDQ6ICdWZScsXG4gICAgICAgIDU6ICdTYScsXG4gICAgICAgIDY6ICdEaSdcbiAgICAgIH0sXG4gICAgICBtb250aHM6IHtcbiAgICAgICAgMDogJ0phbnZpZXInLFxuICAgICAgICAxOiAnRsOpdnJpZXInLFxuICAgICAgICAyOiAnTWFycycsXG4gICAgICAgIDM6ICdBdnJpbCcsXG4gICAgICAgIDQ6ICdNYWknLFxuICAgICAgICA1OiAnSnVpbicsXG4gICAgICAgIDY6ICdKdWlsbGV0JyxcbiAgICAgICAgNzogJ0Fvw7t0JyxcbiAgICAgICAgODogJ1NlcHRlbWJyZScsXG4gICAgICAgIDk6ICdPY3RvYnJlJyxcbiAgICAgICAgMTA6ICdOb3ZlbWJyZScsXG4gICAgICAgIDExOiAnRMOpY2VtYnJlJ1xuICAgICAgfVxuICAgIH0sXG4gICAgc2hhcmU6IHtcbiAgICAgIHByaXZhdGU6ICdQcml2w6knLFxuICAgICAgcHVibGljOiAnUHVibGljJyxcbiAgICAgIHJlc3RyaWN0ZWQ6ICdSZXN0cmVpbnQnLFxuICAgICAgdHlwZTogJ1Zpc2liaWxpdMOpJyxcbiAgICAgIHVzZXJzOiAnVXRpbGlzYXRldXJzIGF1dG9yaXPDqXMnLFxuICAgICAgZ3JvdXBzOiB7XG4gICAgICAgIEFMTDogJ1B1YmxpYycsXG4gICAgICAgIEFVVEhFTlRJQ0FURUQ6ICdMZXMgdXRpbGlzYXRldXJzIGNvbm5lY3TDqXMnXG4gICAgICB9LFxuICAgICAgbm9Hcm91cHM6ICdBdWN1biBncm91cGUgZGlzcG9uaWJsZScsXG4gICAgICBjb25mbGljdDoge1xuICAgICAgICB0aXRsZTogJ1dhcm5pbmcnLFxuICAgICAgICBtYWluOiAnQXR0ZW50aW9uLCBsZXMgc291cmNlcyBkZSBkb25uw6llcyBzdWl2YW50ZXMgbmUgc2Vyb250IHBhcyB2aXNpYmxlIGRlIHRvdXRlcyBsZXMgcGVyc29ubmVzIGFjY8OpZGFudCDDoCBsYSBwcsOpc2VudGF0aW9uIDogJyxcbiAgICAgICAgdW5hdmFpbGFibGU6ICdpbmFjY2Vzc2libGUgYXV4IGdyb3VwZXMgOiAnXG4gICAgICB9LFxuICAgICAgZGFzaGJvYXJkQWNjZXNzOiBcIkRvbm5lciBsZXMgZHJvaXRzIGQnYWNjw6hzIGRlIGNlIHRhYmxlYXUgZGUgYm9yZCDDoCBjZXJ0YWlucyBncm91cGVzIGTigJl1dGlsaXNhdGV1cnMgOlwiLFxuICAgICAgcGxhY2Vob2xkZXI6ICdDaG9pc2lzc2V6IGxlIG91IGxlcyBncm91cGVzIHV0aWxpc2F0ZXVycycsXG4gICAgICByZWFkOiAnUGV1dCB2b2lyJyxcbiAgICAgIHdyaXRlOiAnUGV1dCBtb2RpZmllcicsXG4gICAgICBhY2Nlc3NEZXNjcmlwdGlvbjpcbiAgICAgICAgJ1wiUGV1dCB2b2lyXCIgb3V2cmUgbGVzIGRyb2l0cyBkZSBjb25zdWx0YXRpb24gZXQgXCJQZXV0IG1vZGlmaWVyXCIgcGVybWV0IGRlIGNvbnN1bHRlciBldCBtb2RpZmllcicsXG4gICAgICBtZTogJ01vaScsXG4gICAgICBvd25lcjogJ1Byb3ByacOpdGFpcmUnXG4gICAgfSxcbiAgICBob21lcGFnZToge1xuICAgICAgbWVudToge1xuICAgICAgICBtb2RlbDogJ01vZMOobGUgZGUgZG9ubsOpZXMnLFxuICAgICAgICBkYXRhOiAnQWNjw6hzIGF1eCBkb25uw6llcydcbiAgICAgIH1cbiAgICB9LFxuICAgIG1ldGFkYXRhOiB7XG4gICAgICB2aWV3OiAnQ29uc3VsdGVyIGxlcyBtZXRhZG9ubsOpZXMnXG4gICAgfSxcbiAgICBjb21wb25lbnRzOiB7XG4gICAgICBzZWFyY2hEYXRhOiAnUmVjaGVyY2hleiB1bmUgZG9ubsOpZScsXG4gICAgICBjaGlwc1NlbGVjdG9yOiB7XG4gICAgICAgIGRhdGFzb3VyY2U6IHtcbiAgICAgICAgICBzZWxlY3Q6ICdTw6lsZWN0aW9ubmVyIHVuZSBvdSBwbHVzaWV1cnMgc291cmNlKHMpIGRlIGRvbm7DqWVzIDonLFxuICAgICAgICAgIHNlbGVjdGlvbjogJ1NvdXJjZShzKSBkZSBkb25uw6llcyBzw6lsZWN0aW9ubsOpZXM6JyxcbiAgICAgICAgICBzZWxlY3RJdGVtOiAnU8OpbGVjdGlvbm5lciBsYSBzb3VyY2UgZGUgZG9ubsOpZXMnLFxuICAgICAgICAgIHVuc2VsZWN0SXRlbTogJ0TDqXPDqWxlY3Rpb25uZXIgbGEgc291cmNlIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgICBub0l0ZW1TZWxlY3RlZDogJ0F1Y3VuZSBzb3VyY2UgZGUgZG9ubsOpZXMgc8OpbGVjdGlvbm7DqWUnXG4gICAgICAgIH0sXG4gICAgICAgIHNoYXJlOiB7XG4gICAgICAgICAgc2VsZWN0OiBcIlPDqWxlY3Rpb25uZXIgdW4gb3UgcGx1c2lldXJzIGdyb3VwZShzKSBkJ3V0aWxpc2F0ZXVycyA6XCIsXG4gICAgICAgICAgc2VsZWN0aW9uOiBcIkdyb3VwZShzKSBkJ3V0aWxpc2F0ZXVycyBzw6lsZWN0aW9ubsOpczpcIixcbiAgICAgICAgICBzZWxlY3RJdGVtOiBcIlPDqWxlY3Rpb25uZXIgbGUgZ3JvdXBlIGQndXRpbGlzYXRldXJzXCIsXG4gICAgICAgICAgdW5zZWxlY3RJdGVtOiBcIkTDqXPDqWxlY3Rpb25uZXIgbGUgZ3JvdXBlIGQndXRpbGlzYXRldXJzXCIsXG4gICAgICAgICAgbm9JdGVtU2VsZWN0ZWQ6IFwiQXVjdW4gZ3JvdXBlIGQndXRpbGlzYXRldXJzIHPDqWxlY3Rpb25uw6lcIlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBlcnJvcnM6IHtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZS4gVmV1aWxsZXogdsOpcmlmaWV6IGxlcyBpbmZvcm1hdGlvbnMgb3UgY29udGFjdGVyIHZvdHJlIGFkbWluaXN0cmF0ZXVyIHNpIGxlIHByb2Jsw6htZSBwZXJzaXN0ZScsXG4gICAgICBjb2Rlczoge1xuICAgICAgICAwOiAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUgYXUgbml2ZWF1IG5hdmlnYXRldXIuIENlbGEgcGV1dC3DqnRyZSB1bmUgZXJyZXVyIENPUlMsIGRlIHLDqXNlYXUgLi4uIExhIHJlc3NvdXJjZSBuZSBwZXV0IHBhcyDDqnRyZSByw6ljdXDDqXLDqWUuJyxcbiAgICAgICAgNDAwOiAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUuJyxcbiAgICAgICAgNDAxOiAnVm90cmUgc2Vzc2lvbiBlc3QgaW52YWxpZGUuIEVzc2F5ZXogZGUgdm91cyByZWNvbm5lY3RlciAhJyxcbiAgICAgICAgNDAzOiBcIlZvdXMgbidhdmV6IHBhcyBsZXMgZHJvaXRzIHBvdXIgY29uc3VsdGVyIGNldHRlIHJlc3NvdXJjZVwiLFxuICAgICAgICA0MDQ6IFwiTGEgcmVzc291cmNlIGRlbWFuZMOpZSBuJ2V4aXN0ZSBwYXNcIixcbiAgICAgICAgNDA5OiAnVW5lIHJlc3NvdXJjZSBzaW1pbGFpcmUgZXhpc3RlIGTDqWrDoCcsXG4gICAgICAgIDUwMDogJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlLicsXG4gICAgICAgIDUwMzogJ0xlIHNlcnZpY2UgZXN0IGFjdHVlbGxlbWVudCBpbmRpc3BvbmlibGUuIFLDqWVzc2F5ZXIgdWx0w6lyaWV1cmVtZW50ICEnXG4gICAgICB9XG4gICAgfSxcbiAgICBmaWx0ZXJzOiB7XG4gICAgICBsYWJlbDogJ1BhcmFtw6l0cmVyIGxlcyBmaWx0cmVzJyxcbiAgICAgIG5vQXR0cmlidXRlczogXCJMYSBwcsOpc2VudGF0aW9uIGVuIGNvdXJzIG5lIGRpc3Bvc2UgZCdhdWN1bmUgYXR0cmlidXQgc3VyIGxlcXVlbCBmaWx0cmVyXCIsXG4gICAgICBub0ZpbHRlcnM6IFwiVm91cyBuJ2F2ZXogcGFzIGVuY29yZSBwYXJhbcOpdHLDqSBkZSBmaWx0cmUuXCIsXG4gICAgICBjbGVhcjogJ0VmZmFjZXInLFxuICAgICAgbGlzdDoge1xuICAgICAgICBhdHRyaWJ1dGVzOiAnQXR0cmlidXRzOiAnLFxuICAgICAgICBhZGQ6ICdDcsOpZXIgdW4gZmlsdHJlJyxcbiAgICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICAgICAgbW9kaWZ5OiAnTW9kaWZpZXInXG4gICAgICB9LFxuICAgICAgY3JlYXRpb246IHtcbiAgICAgICAgY3JlYXRlOiAnQ3LDqWVyIHVuIGZpbHRyZScsXG4gICAgICAgIHVwZGF0ZTogJ01vZGlmaWVyIHVuIGZpbHRyZScsXG4gICAgICAgIG5hbWU6ICdOb20gZHUgZmlsdHJlJyxcbiAgICAgICAgdHlwZTogJ1R5cGUgZHUgZmlsdHJlJyxcbiAgICAgICAgZmlsdGVyOiAnRmlsdHJlJyxcbiAgICAgICAgYXR0cmlidXRlczogJ0F0dHJpYnV0cycsXG4gICAgICAgIHZhbHVlOiAnVmFsZXVyJyxcbiAgICAgICAgdmFsdWVzOiAnVmFsZXVycycsXG4gICAgICAgIHZhbGlkYXRlOiAnVmFsaWRlcicsXG4gICAgICAgIGxpbWl0OiBcIk5vbWJyZSBkZSBzdWdnZXN0aW9ucyBwcm9wb3PDqWVzIMOgIGwndXRpbGlzYXRldXJcIixcbiAgICAgICAgZGF0ZVJhbmdlOiAnUGxhZ2UgZGUgZGF0ZXMnXG4gICAgICB9LFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBkYXRhc291cmNlOiAnRGF0YXNvdXJjZScsXG4gICAgICAgIGNsYXNzOiAnQ2xhc3NlJyxcbiAgICAgICAgb3BlcmF0b3I6ICdPcMOpcmF0ZXVyJ1xuICAgICAgfSxcbiAgICAgIHR5cGVzOiB7XG4gICAgICAgIHRleHQ6ICdUZXh0ZScsXG4gICAgICAgIGRhdGU6ICdEYXRlJyxcbiAgICAgICAgbGlzdDogJ0xpc3RlJyxcbiAgICAgICAgbnVtYmVyOiAnTnVtw6lyaXF1ZScsXG4gICAgICAgIGF1dG9jb21wbGV0ZTogJ0xpc3RlIGF2ZWMgc3VnZ2VzdGlvbidcbiAgICAgIH1cbiAgICB9LFxuICAgIGdlb0F1dGg6IHtcbiAgICAgIGZhaWx1cmU6ICdFcnJldXIgZ2Vvc2VydmVyJ1xuICAgIH0sXG4gICAgZ3JpZDoge1xuICAgICAgcm93czogJ0xpZ25lcycsXG4gICAgICBjb2x1bW5zOiAnQ29sb25uZXMnXG4gICAgfVxuICB9XG59O1xuIl19
|
|
411
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvaTE4bi9mci50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtRQUNELEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsR0FBRyxFQUFFLGFBQWE7WUFDbEIsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsT0FBTztZQUNmLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsU0FBUyxFQUFFLHFCQUFxQjtTQUNqQztRQUNELE1BQU0sRUFBRTtZQUNOLHFCQUFxQixFQUFFLDhCQUE4QjtTQUN0RDtRQUNELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSx1Q0FBdUM7WUFDL0MsWUFBWSxFQUFFLDhDQUE4QztZQUM1RCxXQUFXLEVBQUUsc0RBQXNEO1lBQ25FLGFBQWEsRUFBRSwwREFBMEQ7WUFDekUsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxhQUFhO2dCQUNwQixXQUFXLEVBQUUseUJBQXlCO2dCQUN0QyxnQkFBZ0IsRUFBRSx5QkFBeUI7YUFDNUM7WUFDRCxhQUFhLEVBQUUsc0NBQXNDO1lBQ3JELFlBQVksRUFBRSw4QkFBOEI7WUFDNUMsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRSx3Q0FBd0M7Z0JBQ2hELFVBQVUsRUFBRSxxQkFBcUI7Z0JBQ2pDLFlBQVksRUFBRSw2QkFBNkI7Z0JBQzNDLGFBQWEsRUFBRSxzQkFBc0I7Z0JBQ3JDLFVBQVUsRUFBRSx1QkFBdUI7Z0JBQ25DLFFBQVEsRUFBRSx5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QUksRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLFVBQVU7U0FDcEI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHNlbGVjdDoge1xuICAgICAgbGFiZWw6ICdMaXN0ZSBkZXMgY2hvaXgnLFxuICAgICAgbG9hZGluZzogJ0NoYXJnZW1lbnQgZW4gY291cnMnXG4gICAgfSxcbiAgICBhYm91dDoge1xuICAgICAgZnJvbnQ6ICdMaWJyYWlyaWUgZnJvbnQnLFxuICAgICAgcmVmOiAnUsOpZsOpcmVudGllbCcsXG4gICAgICBkYXRhOiAnRG9ubsOpZXMnLFxuICAgICAgcmVwbGF5OiAnUmVqZXUnLFxuICAgICAgZXhlYzogJ0V4w6ljdXRpb24nLFxuICAgICAgdHJhbnNmbzogJ1RyYW5zZm9ybWF0aW9uJyxcbiAgICAgIG5vVmVyc2lvbjogJ1ZlcnNpb24gbm9uIHRyb3V2w6llJ1xuICAgIH0sXG4gICAgaGVhZGVyOiB7XG4gICAgICBub0N1cnJlbnRQcmVzZW50YXRpb246ICdQcsOpc2VudGF0aW9uIG5vbiBzYXV2ZWdhcmTDqWUnXG4gICAgfSxcbiAgICB3aWRnZXQ6IHtcbiAgICAgIG5vRGF0YTogJ0F1Y3VuZSBzb3VyY2UgZGUgZG9ubsOpZXMgc8OpbGVjdGlvbm7DqWUnLFxuICAgICAgdW5yZWNvZ25pemVkOiAnTGEgcmVzdGl0dXRpb24gZGUgdHlwZSB7e3R5cGV9fSBlc3QgaW5jb25udS4nLFxuICAgICAgYWRkZWRJblZpZXc6ICdMYSByZXN0aXR1dGlvbiBhIMOpdMOpIGFqb3V0w6llIHN1ciBsYSBwYWdlIG7CsHt7aW5kZXh9fScsXG4gICAgICB1cGRhdGVkSW5WaWV3OiAnTGEgcmVzdGl0dXRpb24gYSDDqXTDqSBtaXNlIMOgIGpvdXIgc3VyIGxhIHBhZ2UgbsKwe3tpbmRleH19JyxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIHRpdGxlOiAnUGFyYW3DqXRyYWdlJyxcbiAgICAgICAgY2hhbmdlVGl0bGU6ICdUaXRyZSBkZSBsYSByZXN0aXR1dGlvbicsXG4gICAgICAgIHZhbGlkYXRlVXBkYXRpbmc6ICdWYWxpZGVyIGxhIG1vZGlmaWNhdGlvbidcbiAgICAgIH0sXG4gICAgICBkZWZpbmVDYXRhbG9nOiAnRMOpZmluaXNzZXogdm90cmUgZW50csOpZSBkZSBjYXRhbG9ndWUnLFxuICAgICAgYnV0dG9uQ2hvaWNlOiAnU8OpbGVjdGlvbm5lciB1bmUgcmVzdGl0dXRpb24nLFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBwYXJhbXM6ICdQYXJhbcOpdHJlciBsYSB2dWUgZGUgdm90cmUgcmVzdGl0dXRpb24nLFxuICAgICAgICByZWFkU2VhcmNoOiAnQ2hvaXNpciBsZXMgZG9ubsOpZXMnLFxuICAgICAgICBkZWxldGVXaWRnZXQ6ICdTdXBwcmltZXIgdm90cmUgcmVzdGl0dXRpb24nLFxuICAgICAgICBjYXRhbG9nV2lkZ2V0OiAnQWpvdXRlciBhdSBjYXRhbG9ndWUnLFxuICAgICAgICBjaGFuZ2VTcG90OiBcIkNoYW5nZXIgZCdlbXBsYWNlbWVudFwiLFxuICAgICAgICBzcG90TmFtZTogJ0VtcGxhY2VtZW50IG7CsHt7cGxhY2V9fSdcbiAgICAgIH0sXG4gICAgICB0YXJnZXQ6IHtcbiAgICAgICAgbmV3OiAnT3V2cmlyIGRhbnMgdW5lIG5vdXZlbGxlIHBhZ2UnLFxuICAgICAgICBleGlzdGluZzogJ091dnJpciBkYW5zIGxhIHBhZ2UgbsKwe3t0YXJnZXRJbmRleH19JyxcbiAgICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICAgICAgbWF4aW1pemU6ICdNYXhpbWlzZXInLFxuICAgICAgICBub25lX2F1dG86ICdJbnPDqXJleiBpY2kgdm9zIHJlc3RpdHV0aW9ucycsXG4gICAgICAgIG5vbmVfbWFudWFsOiAnR2xpc3NlciAtIETDqXBvc2VyJyxcbiAgICAgICAgbG9hZGluZzogJ0NoYXJnZW1lbnQnXG4gICAgICB9LFxuICAgICAgbmFtZWRRdWVyeToge1xuICAgICAgICBkZWZhdWx0UnM6ICdSZWNoZXJjaGUgY291cmFudGUnLFxuICAgICAgICByZXN1bHRzQWNjdXJhdGU6ICd7e3RvdGFsfX0nLFxuICAgICAgICByZXN1bHRzTm9uQWNjdXJhdGU6ICd7e2Rpc3BsYXllZH19IHN1ciBlbnZpcm9uIHt7dG90YWx9fSdcbiAgICAgIH0sXG4gICAgICBtb2RhbFRpdGxlOiAnVm91bGV6LXZvdXMgY29uZmlybWVyID8nLFxuICAgICAgaXRlbUlkOiAnSWQnLFxuICAgICAgY2xhc3M6ICdDbGFzc2UnLFxuICAgICAgY29sb3JTY2hlbWU6ICdTY2jDqW1hIGRlIGNvdWxldXInLFxuICAgICAgY3VzdG9tOiAnUGVyc29uYWxpc8OpIG7CsHt7aWR9fScsXG4gICAgICBhZGRDb2xvcjogJ0Fqb3V0ZXIgdW5lIGNvdWxldXInLFxuICAgICAgcmVtb3ZlQ29sb3I6ICdTdXBwcmltZXIgdW5lIGNvdWxldXInXG4gICAgfSxcbiAgICB2aWV3OiB7XG4gICAgICBuYW1lOiAnUGFnZSBuwrB7e3Jhbmt9fSdcbiAgICB9LFxuICAgIHRvb2xib3g6IHtcbiAgICAgIGRlZmF1bHRTaXplOiAnVGFpbGxlIGRlIHJlc3RpdHV0aW9uJyxcbiAgICAgIGFuYWx5dGljOiAnVGFibGVhdSBhbmFseXRpcXVlJyxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIG5hbWU6ICdOb20gZGUgbGEgcHLDqXNlbnRhdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24gZGUgbGEgcHLDqXNlbnRhdGlvbicsXG4gICAgICAgIHNhdmVkOiAnUHLDqXNlbnRhdGlvbiB7e3ZpZXdJZH19IHNhdXZlZ2FyZMOpZScsXG4gICAgICAgIHNhdmVFcnJvckNvZGU6IHtcbiAgICAgICAgICBVTktOT1dOOiAnRXJyZXVyIGluY29ubnVlJyxcbiAgICAgICAgICBGT1JCSURERU46IFwiVm91cyBuJ8OqdGVzIHBhcyBsZSBwcm9wcmnDqXRhaXJlIGRlIGNldHRlIHByw6lzZW50YXRpb24gXCIsXG4gICAgICAgICAgTkFNRV9BTFJFQURZX1VTRUQ6ICdVbmUgcHLDqXNlbnRhdGlvbiBhdmVjIGxlIG5vbSBcInt7bmFtZX19XCIgZXhpc3RlIGTDqWrDoCwgdmV1aWxsZXogc8OpbGVjdGlvbm5lciB1biBhdXRyZSBub20uJyxcbiAgICAgICAgICBTQVZFX01FVEFEQVRBOiAnVmV1aWxsZXogc2F1dmVnYXJkZXIgbGEgcHJlc2VudGF0aW9uIGF2YW50IGRlIGNob2lzaXIgdW5lIHRow6ltYXRpcXVlLidcbiAgICAgICAgfSxcbiAgICAgICAgZGVmYXVsdGVkOiAnUHLDqXNlbnRhdGlvbiB7e3ZpZXdJZH19IG1hcnF1w6llIHBhciBkw6lmYXV0JyxcbiAgICAgICAgdW5kZWZhdWx0ZWQ6IFwiTGEgcHLDqXNlbnRhdGlvbiB7e3ZpZXdJZH19IG4nZXN0IHBsdXMgbWFycXXDqWUgcGFyIGTDqWZhdXRcIixcbiAgICAgICAgdmFsaWRhdGVkOiAnVmFsaWRlcicsXG4gICAgICAgIGNoZWNrOiAnRW5yZWdpc3RyZXInLFxuICAgICAgICBjbG9zZTogJ0FubnVsZXInLFxuICAgICAgICB2YWxpZGF0ZTogJ1ZhbGlkZXInLFxuICAgICAgICBhbGw6ICdUb3VzJ1xuICAgICAgfSxcbiAgICAgIGNhdGFsb2c6IHtcbiAgICAgICAgdGl0bGU6ICdQZXJzb25uYWxpc8OpcycsXG4gICAgICAgIGxhYmVsOiAnTm9tJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIGljb246ICdJbWFnZScsXG4gICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgIGRlbGV0ZTogJ1N1cHByaW1lciBjZSBmaWx0cmUnLFxuICAgICAgICAgIHR5cGU6ICdGaWx0cmVyIHBhciB0eXBlJyxcbiAgICAgICAgICBuYW1lOiAnRmlsdHJlciBwYXIgbm9tJ1xuICAgICAgICB9LFxuICAgICAgICBzYXZlRXJyb3JDb2RlOiB7XG4gICAgICAgICAgVU5LTk9XTjogJ0VycmV1ciBpbmNvbm51ZScsXG4gICAgICAgICAgTkFNRV9BTFJFQURZX1VTRUQ6ICdVbmUgcmVzdGl0dXRpb24gYXZlYyBsZSBub20gXCJ7e25hbWV9fVwiIGV4aXN0ZSBkw6lqw6AsIHZldWlsbGV6IHPDqWxlY3Rpb25uZXIgdW4gYXV0cmUgbm9tLidcbiAgICAgICAgfSxcbiAgICAgICAgc2F2ZWQ6ICdQcsOpc2VudGF0aW9uIHt7dmlld0lkfX0gc2F1dmVnYXJkw6llJ1xuICAgICAgfSxcbiAgICAgIGFib3V0OiAnSW5mb3JtYXRpb25zJyxcbiAgICAgIGVkaXQ6ICdNb2RpZmllciBsYSBkaXNwb3NpdGlvbicsXG4gICAgICBlZGl0T2ZmOiAnVmlzdWFsaXNlciBsYSBkaXNwb3NpdGlvbicsXG4gICAgICBsYXVuY2g6ICdOb3V2ZWxsZSBwYWdlJyxcbiAgICAgIGxhdW5jaEluZGljYXRpb246ICdPdXZyaXIgY2V0dGUgcGFnZSBkYW5zIHVuJyxcbiAgICAgIGNob29zZUdyaWQ6ICdDaGFuZ2VyIGxhIGdyaWxsZScsXG4gICAgICBjbGVhcjogXCJWaWRlciBsJ2FmZmljaGFnZVwiLFxuICAgICAgcmVmcmVzaDogJ1JhZnJhaWNoaXIgbGVzIGRvbm7DqWVzJyxcbiAgICAgIGF1dG9tYXRlUmVmcmVzaDogXCJBdXRvbWF0aXNlciBsJ2FjdHVhbGlzYXRpb25cIixcbiAgICAgIG9wdGlvbnM6ICdPcHRpb25zJyxcbiAgICAgIGNsb3NlOiAnRmVybWVyJyxcbiAgICAgIGZpbHRlcjogJ0ZpbHRyZXInLFxuICAgICAgaGVhdG1hcDogJ0Zyw6lxdWVudGF0aW9uJyxcbiAgICAgIGJ1YmJsZW1hcDogJ0J1bGxlcycsXG4gICAgICBtYXJrZXJtYXA6ICdNYXJxdWV1cnMnLFxuICAgICAgc2ltcGxlbWFwOiAnQ2FydGUnLFxuICAgICAgbWFwOiAnQ2FydGUnLFxuICAgICAgdGFibGU6ICdUYWJsZWF1JyxcbiAgICAgIGRldGFpbDogJ0TDqXRhaWwnLFxuICAgICAgY2hhcnQ6ICdHcmFwaGlxdWUnLFxuICAgICAgcmVzdWx0U2V0OiAnUmVjaGVyY2hlcyBub21tw6llcycsXG4gICAgICByZW5hbWU6ICdFbnJlZ2lzdHJlciBzb3VzJyxcbiAgICAgIHJlc3RvcmU6ICdSZXN0YXVyZXIgbGVzIHBhZ2VzJyxcbiAgICAgIHNhdmU6ICdFbnJlZ2lzdHJlcicsXG4gICAgICBkcmFnOiAnUmVzdGl0dXRpb24uLi4nLFxuICAgICAgZHJhZ0luZGljYXRpb246ICdJbnPDqXJlciB1bicsXG4gICAgICBiYXJjaGFydDogJ0JhcnJlcycsXG4gICAgICBoaXN0b2dyYW06ICdIaXN0b2dyYW1tZScsXG4gICAgICBsaW5lY2hhcnQ6ICdDb3VyYmUnLFxuICAgICAgcG9pbnRjaGFydDogJ1BvaW50cycsXG4gICAgICBhcmVhY2hhcnQ6ICdBaXJlJyxcbiAgICAgIGFyY2NoYXJ0OiAnQ2lyY3VsYWlyZScsXG4gICAgICByYWRhcmNoYXJ0OiAnUmFkYXInLFxuICAgICAgY2lyY2xlY2hhcnQ6ICdQYXF1ZXRzIGRlIGNlcmNsZXMnLFxuICAgICAgaWZyYW1lOiAnQXBwbGljYXRpb24gZXh0ZXJuZScsXG4gICAgICB2ZWdhOiAnR3JhcGhpcXVlIGF2YW5jw6knLFxuICAgICAgZ3JhcGg6ICdSZWxhdGlvbnMnLFxuICAgICAgcGxhY2Vob2xkZXI6ICcnLFxuICAgICAgc3ViOiB7XG4gICAgICAgIG1hcDogJ0NhcnRvZ3JhcGhpZScsXG4gICAgICAgIGNoYXJ0OiAnR3JhcGhpcXVlJyxcbiAgICAgICAgb3RoZXI6ICdBdXRyZSdcbiAgICAgIH0sXG4gICAgICB0aWxlOiAnVHVpbGVzJyxcbiAgICAgIHRlbXBsYXRlOiAnVGVtcGxhdGUgSFRNTCcsXG4gICAgICBub3c6IFwiQXVqb3VyZCdodWlcIixcbiAgICAgIHNpbmNlX2RheTogJ0lsIHkgYSB7e2RheX19IGpvdXJ7e3BsdXJhbH19JyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICAnMCc6ICdDb21wb3NpdGlvbiBsaWJyZScsXG4gICAgICAgICcwX2RldGFpbGxlZCc6XG4gICAgICAgICAgXCJBZmZpY2hhZ2UgZW4gbW9kZSBsaWJyZSwgbGEgdGFpbGxlIGV0IGxlIHBvc2l0aW9ubmVtZW50IGRlcyByZXN0aXR1dGlvbnMgc29udCBlbnRpw6hyZW1lbnQgcGFyYW3DqXRyYWJsZXMgcGFyIGwndXRpbGlzYXRldXIuXCIsXG4gICAgICAgICcxJzogJ1BsZWluIMOpY3JhbicsXG4gICAgICAgICcxX2RldGFpbGxlZCc6XG4gICAgICAgICAgXCJBZmZpY2hhZ2UgZOKAmXVuZSBzZXVsZSByZXN0aXR1dGlvbiBzdXIgbCdlbnNlbWJsZSBkZSBsJ8OpY3JhbiwgbGUgcGxhY2VtZW50IGVzdCBndWlkw6kgcGFyIGxlIHN5c3TDqG1lLlwiLFxuICAgICAgICAnMS8ydic6ICcxLzIgw6ljcmFuIHZlcnRpY2FsJyxcbiAgICAgICAgJzEvMnZfZGV0YWlsbGVkJzpcbiAgICAgICAgICBcIkFmZmljaGFnZSBkZSAyIHJlc3RpdHV0aW9ucyBtYXhpbXVtIHN1ciBsJ8OpY3JhbiBkw6ljb3Vww6kgZW4gZGV1eCB6b25lcyB2ZXJ0aWNhbGVzLCBsJ2Fqb3V0IGRlIHJlc3RpdHV0aW9uIHNlIGZhaXQgZGFucyBsZXMgem9uZXMgdmlkZXMuIExlIHBsYWNlbWVudCBlc3QgZ3VpZMOpIHBhciBsZSBzeXN0w6htZS5cIixcbiAgICAgICAgJzEvMmgnOiAnMS8yIMOpY3JhbiBob3Jpem9udGFsJyxcbiAgICAgICAgJzEvMmhfZGV0YWlsbGVkJzpcbiAgICAgICAgICBcIkFmZmljaGFnZSBkZSAyIHJlc3RpdHV0aW9ucyBtYXhpbXVtIHN1ciBs4oCZw6ljcmFuIGTDqWNvdXDDqSBlbiBkZXV4IHpvbmVzIGhvcml6b250YWxlcywgbCdham91dCBkZSByZXN0aXR1dGlvbiBzZSBmYWl0IGRhbnMgbGVzIHpvbmVzIHZpZGVzLiBMZSBwbGFjZW1lbnQgZXN0IGd1aWTDqSBwYXIgbGUgc3lzdMOobWUuXCIsXG4gICAgICAgICcxLzN2JzogJzEvMyDDqWNyYW4gdmVydGljYWwnLFxuICAgICAgICAnMS8zdl9kZXRhaWxsZWQnOlxuICAgICAgICAgIFwiQWZmaWNoYWdlIGRlIDMgcmVzdGl0dXRpb25zIG1heGltdW0gc3VyIGzigJnDqWNyYW4gZMOpY291cMOpIGVuIHRyb2lzIHpvbmVzIHZlcnRpY2FsZXMsIGwnYWpvdXQgZGUgcmVzdGl0dXRpb24gc2UgZmFpdCBkYW5zIGxlcyB6b25lcyB2aWRlcy4gTGUgcGxhY2VtZW50IGVzdCBndWlkw6kgcGFyIGxlIHN5c3TDqG1lLlwiLFxuICAgICAgICAnMS8zaCc6ICcxLzMgw6ljcmFuIGhvcml6b250YWwnLFxuICAgICAgICAnMS8zaF9kZXRhaWxsZWQnOlxuICAgICAgICAgIFwiQWZmaWNoYWdlIGRlIDMgcmVzdGl0dXRpb25zIG1heGltdW0gc3VyIGzigJnDqWNyYW4gZMOpY291cMOpIGVuIHRyb2lzIHpvbmVzIGhvcml6b250YWxlcywgbCdham91dCBkZSByZXN0aXR1dGlvbiBzZSBmYWl0IGRhbnMgbGVzIHpvbmVzIHZpZGVzLiBMZSBwbGFjZW1lbnQgZXN0IGd1aWTDqSBwYXIgbGUgc3lzdMOobWUuXCIsXG4gICAgICAgICcxLzQnOiAnMS80IMOpY3JhbicsXG4gICAgICAgICcxLzRfZGV0YWlsbGVkJzpcbiAgICAgICAgICBcIkFmZmljaGFnZSBkZSA0IHJlc3RpdHV0aW9ucyBtYXhpbXVtIHN1ciBs4oCZw6ljcmFuIGTDqWNvdXDDqSBlbiBxdWF0cmUgem9uZXMgLCBsJ2Fqb3V0IGRlIHJlc3RpdHV0aW9uIHNlIGZhaXQgZGFucyBsZXMgem9uZXMgdmlkZXMuIExlIHBsYWNlbWVudCBlc3QgZ3VpZMOpIHBhciBsZSBzeXN0w6htZS5cIlxuICAgICAgfSxcbiAgICAgIHN3aXRjaEVkaXQ6ICdNb2RpZmllcicsXG4gICAgICBzd2l0Y2hFZGl0Q29udGVudDogJ01vZGlmaWVyIGxhIGNvbXBvc2l0aW9uJyxcbiAgICAgIHNoYXJlOiAnUGFydGFnZXInLFxuICAgICAgc2hhcmVBY2Nlc3NSaWdodHM6IFwiRHJvaXRzIGQnYWNjw6hzXCIsXG4gICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgbm90SW5Ec0F0dHI6ICdBdHRyaWJ1dCBpbmRpc3BvbmlibGUnXG4gICAgfSxcbiAgICBtYW5pZmVzdDoge1xuICAgICAgbmFtZTogJ05vbScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgIGNyZWF0aW9uOiAnRGF0ZSBkZSBjcsOpYXRpb24nLFxuICAgICAgbW9kaWZpY2F0aW9uOiAnRGF0ZSBkZSBtb2RpZmljYXRpb24nLFxuICAgICAgYWN0aW9uczogJ0FjdGlvbnMnLFxuICAgICAgaW1wb3J0OiAnSW1wb3J0ZXInLFxuICAgICAgaW1wb3J0QWx0OiAnSW1wb3J0ZXIgdW5lIHByw6lzZW50YXRpb24nLFxuICAgICAgdGl0bGU6ICdQcsOpc2VudGF0aW9ucycsXG4gICAgICBnZXQ6IHtcbiAgICAgICAgZXJyb3JGcm9udDogJ0VycmV1ciBjbGllbnQgOiB7e21zZ319JyxcbiAgICAgICAgZXJyb3JCYWNrOiAnRXJyZXVyIHNlcnZldXIgZGUgY29kZSBbe3tjb2RlfX1dJ1xuICAgICAgfSxcbiAgICAgIGRlZmF1bHQ6ICdEw6lmaW5pciBwYXIgZMOpZmF1dCcsXG4gICAgICBkb3dubG9hZDogJ1TDqWzDqWNoYXJnZXInLFxuICAgICAgbG9hZDogJ0NoYXJnZXInLFxuICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICAgIGRlbGV0ZUVycm9yOlxuICAgICAgICBcIlJlY2hlcmNoZSB1dGlsaXPDqWUgZGFucyB1bmUgb3UgcGx1c2lldXJzIHJlc3RpdHV0aW9uKHMpLCB2ZXVpbGxleiBzdXBwcmltZXIgbGVzIHV0aWxpc2F0aW9ucyBkJ2Fib3JkXCJcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgZGF0ZTogJ2RkL01NL3l5eXknLFxuICAgICAgZGF0ZXRpbWU6ICdkZC9NTS95eXl5IEhIOm1tOnNzJyxcbiAgICAgIGRlY2ltYWw6ICcsJyxcbiAgICAgIHRob3VzYW5kczogJyAnXG4gICAgfSxcbiAgICBjb250ZXh0OiB7XG4gICAgICBhZGQ6ICdBam91dGVyIMOgIGxhIHPDqWxlY3Rpb24nLFxuICAgICAgcmVtb3ZlOiAnRW5sZXZlciBkZSBsYSBzw6lsZWN0aW9uJyxcbiAgICAgIGxpbms6ICdMaWVyIMOgIGxhIHPDqWxlY3Rpb24nLFxuICAgICAgaW52ZXJ0OiAnSW52ZXJzZXIgbGEgc8OpbGVjdGlvbicsXG4gICAgICBwcm94aW1pdHk6ICdSZWNoZXJjaGVyIGxlcyBvYmpldHMgbGnDqXMnLFxuICAgICAgZXhwbG9yZTogJ091dnJpciBsYSByZXN0aXR1dGlvbiBSZWxhdGlvbnMnLFxuICAgICAgZGV0YWlsOiAnT3V2cmlyIGxhIHJlc3RpdHV0aW9uIETDqXRhaWwnLFxuICAgICAgZmx5aW5nRGV0YWlsOiBcIkNvbnN1bHRlciBsJ29iamV0XCIsXG4gICAgICBhZGRyZXNzRnJvbUxvYzogXCJPYnRlbmlyIGwnYWRyZXNzZVwiLFxuICAgICAgZXJyb3JTZWFyY2hBZGRyZXNzOiAnQWRyZXNzZSBpbnRyb3V2YWJsZScsXG4gICAgICBjYW5jZWw6ICdBbm51bGVyJyxcbiAgICAgIGNyZWF0ZTogJ0Nyw6llcicsXG4gICAgICBjcmVhdGVPYmplY3Q6IHtcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBvYmplY3Q6ICdDcsOpZXIgdW4gb2JqZXQnLFxuICAgICAgICAgIGxpbms6ICdDcsOpZXIgdW5lIHJlbGF0aW9uJyxcbiAgICAgICAgICBpbnZlcnNpb246ICdJbnZlcnNlciBsYSByZWxhdGlvbicsXG4gICAgICAgICAgbGlua2VkT2JqZWN0OiAnQ3LDqWVyIHVuIG9iamV0IGxpw6knXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzOiBcIkNsYXNzZSBkZSBsJ29iamV0XCIsXG4gICAgICAgIGxpbms6ICdSZWxhdGlvbiBhdmVjIGxlIG5vdXZlbCBvYmpldCcsXG4gICAgICAgIGNyZWF0ZWQ6IFwiTCdvYmpldCBhIMOpdMOpIGNyw6nDqVwiLFxuICAgICAgICBkZXRhaWxzOiAnVm9pciBsZSBkw6l0YWlsJyxcbiAgICAgICAgYWRkTXVsdGlGaWVsZDogJ0Fqb3V0ZXIgdW5lIHZhbGV1ciBkZSB7e25hbWV9fSdcbiAgICAgIH1cbiAgICB9LFxuICAgIGFjdGlvbjoge1xuICAgICAgYWRkOiAnQWpvdXRlcicsXG4gICAgICBjbG9zZTogJ0Zlcm1lcicsXG4gICAgICBjbG9zZVBhbmVsOiAnRmVybWVyIGxlIHBhbm5lYXUnLFxuICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICAgIGVkaXQ6ICdFZGl0ZXInLFxuICAgICAgZWRpdFByb2ZpbDogJ0VkaXRlciBsZSBwcm9maWwnLFxuICAgICAgZWRpdFRpdGxlOiAnRWRpdGVyIGxlIHRpdHJlJyxcbiAgICAgIGNob2ljZTogJ0Nob2lzaXIgdW4gLi4uLicsXG4gICAgICBjaG9pY2VJbkxpc3Q6ICdDaG9pc2lyIHVuIMOpbMOpbWVudCBkYW5zIGxhIGxpc3RlJyxcbiAgICAgIHRleHQ6ICdSZW1wbGlyIGxlIGNoYW1wJyxcbiAgICAgIHNvcnRhYmxlQ29sdW1uSGVhZGVyOiBcIlV0aWxpc2V6IGxlcyBib3V0b25zIGQnZW4tdMOqdGUgZGUgY29sb25uZSBwb3VyIHRyaWVyLlwiLFxuICAgICAgdmlld0RldGFpbHM6ICdWb2lyIGxlcyBkw6l0YWlscycsXG4gICAgICBzZWxlY3REYXRlOiAnQ2hvaXNpciB1bmUgZGF0ZScsXG4gICAgICBvcGVuc0luTmV3VGFiOiBcIlMnb3V2cmUgZGFucyB1bmUgbm91dmVsbGUgZmVuw6p0cmVcIixcbiAgICAgIHNraXBMaW5rOiAnQWxsZXIgYXUgY29udGVudScsXG4gICAgICBzZWxlY3RQaWN0dXJlOiAnU8OpbGVjdGlvbm5lciB1bmUgaW1hZ2UnLFxuICAgICAgbW92ZURvd246ICdEw6lwbGFjZXIgdmVycyBsZSBiYXMnLFxuICAgICAgbW92ZVVwOiAnRMOpcGxhY2VyIHZlcnMgbGUgaGF1dCcsXG4gICAgICBleHBvcnRBc0Zvcm1hdDogJ0V4cG9ydGVyIGF1IGZvcm1hdCcsXG4gICAgICBvcGVuTWVudVdpZGdldDogJ01lbnUgZGUgbGEgcmVzdGl0dXRpb24nLFxuICAgICAgc2VhcmNoOiAnUmVjaGVyY2hlcicsXG4gICAgICB1cGxvYWQ6ICdBam91dGVyIHVuZSBpbWFnZScsXG4gICAgICBuZXh0OiAnU3VpdmFudCcsXG4gICAgICBiYWNrOiAnUmV0b3VyJyxcbiAgICAgIGZpbHRlckJ5VHlwZTogJ0ZpbHRyZXIgcGFyIHR5cGUnLFxuICAgICAgZWRpdE1ldGFkYXRhOiAnTW9kaWZpZXIgbGEgbcOpdGFkb25uw6llJyxcbiAgICAgIGFkZE1ldGFkYXRhOiAnQWpvdXRlciBsYSBtw6l0YWRvbm7DqWUnXG4gICAgfSxcbiAgICBzbmFjazoge1xuICAgICAgZGVmYXVsdDogJ1ZlZ2EgYSByZW5jb250csOpIHVuZSBlcnJldXIgZW4gdXRpbGlzYW50IHZvcyBkb25uw6llcyBldCBwYXJhbcOpdHJhZ2UuJyxcbiAgICAgIG1pc3NpbmdQYXJlbnQ6IFwiVW4gbm9ldWQgZXN0IG1hbnF1YW50IGRhbnMgbCdhcmJyZSBkZSByZXByw6lzZW50YXRpb24uIE1lcmNpIGRlIGNvcnJpZ2VyIHZvcyBkb25uw6llcy5cIixcbiAgICAgIG1pc3NpbmdWYWx1ZTogXCJVbiBpdGVtIMOgIGFmZmljaGVyIG5lIHBvc3PDqGRlIHBhcyBsJ2F0dHJpYnV0IMOgIGFmZmljaGVyLiBNZXJjaSBkZSBjb3JyaWdlciB2b3MgZG9ubsOpZXMuXCIsXG4gICAgICBlbXB0eVZhbHVlczogXCJMZXMgdmFsZXVycyBkZSBsJ2F0dHJpYnV0IMOgIGFmZmljaGVyIG5lIHBldXZlbnQgw6p0cmUgdG91dGVzIG51bGxlcy4gTWVyY2kgZGUgY29ycmlnZXIgdm9zIGRvbm7DqWVzLlwiLFxuICAgICAgcGFnZXNDaGFuZ2VkOiAnQXR0ZW50aW9uLCBsZSBub21icmUgZGUgcGFnZXMgZGUgdm90cmUgcHLDqXNlbnRhdGlvbiBhIGNoYW5nw6ksIHF1ZSBzb3VoYWl0ZXotdm91cyBmYWlyZSA/JyxcbiAgICAgIGltYWdlTmFtZUFscmVhZHlVc2VkOiAnTGUgbm9tIGRlIGNldHRlIGltYWdlIGVzdCBkw6lqw6AgdXRpbGlzw6knXG4gICAgfSxcbiAgICB0aGVtZToge1xuICAgICAgZWRpdElucHV0OiB7XG4gICAgICAgIHRvZ2dsZTogJ0VkaXRlcicsXG4gICAgICAgIGNvbmZpcm06ICdDb25maXJtZXInXG4gICAgICB9LFxuICAgICAgcHJldmlvdXNNb250aDogJ01vaXMgcHLDqWPDqWRlbnQnLFxuICAgICAgbmV4dE1vbnRoOiAnTW9pcyBzdWl2YW50JyxcbiAgICAgIHdlZWtkYXlzOiB7XG4gICAgICAgIDA6ICdMdW5kaScsXG4gICAgICAgIDE6ICdNYXJkaScsXG4gICAgICAgIDI6ICdNZXJjcmVkaScsXG4gICAgICAgIDM6ICdKZXVkaScsXG4gICAgICAgIDQ6ICdWZW5kcmVkaScsXG4gICAgICAgIDU6ICdTYW1lZGknLFxuICAgICAgICA2OiAnRGltYW5jaGUnXG4gICAgICB9LFxuICAgICAgc2hvcnRXZWVrZGF5czoge1xuICAgICAgICAwOiAnTHUnLFxuICAgICAgICAxOiAnTWEnLFxuICAgICAgICAyOiAnTWUnLFxuICAgICAgICAzOiAnSmUnLFxuICAgICAgICA0OiAnVmUnLFxuICAgICAgICA1OiAnU2EnLFxuICAgICAgICA2OiAnRGknXG4gICAgICB9LFxuICAgICAgbW9udGhzOiB7XG4gICAgICAgIDA6ICdKYW52aWVyJyxcbiAgICAgICAgMTogJ0bDqXZyaWVyJyxcbiAgICAgICAgMjogJ01hcnMnLFxuICAgICAgICAzOiAnQXZyaWwnLFxuICAgICAgICA0OiAnTWFpJyxcbiAgICAgICAgNTogJ0p1aW4nLFxuICAgICAgICA2OiAnSnVpbGxldCcsXG4gICAgICAgIDc6ICdBb8O7dCcsXG4gICAgICAgIDg6ICdTZXB0ZW1icmUnLFxuICAgICAgICA5OiAnT2N0b2JyZScsXG4gICAgICAgIDEwOiAnTm92ZW1icmUnLFxuICAgICAgICAxMTogJ0TDqWNlbWJyZSdcbiAgICAgIH1cbiAgICB9LFxuICAgIHNoYXJlOiB7XG4gICAgICBwcml2YXRlOiAnUHJpdsOpJyxcbiAgICAgIHB1YmxpYzogJ1B1YmxpYycsXG4gICAgICByZXN0cmljdGVkOiAnUmVzdHJlaW50JyxcbiAgICAgIHR5cGU6ICdWaXNpYmlsaXTDqScsXG4gICAgICB1c2VyczogJ1V0aWxpc2F0ZXVycyBhdXRvcmlzw6lzJyxcbiAgICAgIGdyb3Vwczoge1xuICAgICAgICBBTEw6ICdQdWJsaWMnLFxuICAgICAgICBBVVRIRU5USUNBVEVEOiAnTGVzIHV0aWxpc2F0ZXVycyBjb25uZWN0w6lzJ1xuICAgICAgfSxcbiAgICAgIG5vR3JvdXBzOiAnQXVjdW4gZ3JvdXBlIGRpc3BvbmlibGUnLFxuICAgICAgY29uZmxpY3Q6IHtcbiAgICAgICAgdGl0bGU6ICdXYXJuaW5nJyxcbiAgICAgICAgbWFpbjogJ0F0dGVudGlvbiwgbGVzIHNvdXJjZXMgZGUgZG9ubsOpZXMgc3VpdmFudGVzIG5lIHNlcm9udCBwYXMgdmlzaWJsZSBkZSB0b3V0ZXMgbGVzIHBlcnNvbm5lcyBhY2PDqWRhbnQgw6AgbGEgcHLDqXNlbnRhdGlvbiA6ICcsXG4gICAgICAgIHVuYXZhaWxhYmxlOiAnaW5hY2Nlc3NpYmxlIGF1eCBncm91cGVzIDogJ1xuICAgICAgfSxcbiAgICAgIGRhc2hib2FyZEFjY2VzczogXCJEb25uZXIgbGVzIGRyb2l0cyBkJ2FjY8OocyBkZSBjZSB0YWJsZWF1IGRlIGJvcmQgw6AgY2VydGFpbnMgZ3JvdXBlcyBk4oCZdXRpbGlzYXRldXJzIDpcIixcbiAgICAgIHBsYWNlaG9sZGVyOiAnQ2hvaXNpc3NleiBsZSBvdSBsZXMgZ3JvdXBlcyB1dGlsaXNhdGV1cnMnLFxuICAgICAgcmVhZDogJ1BldXQgdm9pcicsXG4gICAgICB3cml0ZTogJ1BldXQgbW9kaWZpZXInLFxuICAgICAgYWNjZXNzRGVzY3JpcHRpb246XG4gICAgICAgICdcIlBldXQgdm9pclwiIG91dnJlIGxlcyBkcm9pdHMgZGUgY29uc3VsdGF0aW9uIGV0IFwiUGV1dCBtb2RpZmllclwiIHBlcm1ldCBkZSBjb25zdWx0ZXIgZXQgbW9kaWZpZXInLFxuICAgICAgbWU6ICdNb2knLFxuICAgICAgb3duZXI6ICdQcm9wcmnDqXRhaXJlJ1xuICAgIH0sXG4gICAgaG9tZXBhZ2U6IHtcbiAgICAgIG1lbnU6IHtcbiAgICAgICAgbW9kZWw6ICdNb2TDqGxlIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgZGF0YTogJ0FjY8OocyBhdXggZG9ubsOpZXMnXG4gICAgICB9XG4gICAgfSxcbiAgICBtZXRhZGF0YToge1xuICAgICAgdmlldzogJ0NvbnN1bHRlciBsZXMgbWV0YWRvbm7DqWVzJ1xuICAgIH0sXG4gICAgY29tcG9uZW50czoge1xuICAgICAgc2VhcmNoRGF0YTogJ1JlY2hlcmNoZXogdW5lIGRvbm7DqWUnLFxuICAgICAgY2hpcHNTZWxlY3Rvcjoge1xuICAgICAgICBkYXRhc291cmNlOiB7XG4gICAgICAgICAgc2VsZWN0OiAnU8OpbGVjdGlvbm5lciB1bmUgb3UgcGx1c2lldXJzIHNvdXJjZShzKSBkZSBkb25uw6llcyA6JyxcbiAgICAgICAgICBzZWxlY3Rpb246ICdTb3VyY2UocykgZGUgZG9ubsOpZXMgc8OpbGVjdGlvbm7DqWVzOicsXG4gICAgICAgICAgc2VsZWN0SXRlbTogJ1PDqWxlY3Rpb25uZXIgbGEgc291cmNlIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgICB1bnNlbGVjdEl0ZW06ICdEw6lzw6lsZWN0aW9ubmVyIGxhIHNvdXJjZSBkZSBkb25uw6llcycsXG4gICAgICAgICAgbm9JdGVtU2VsZWN0ZWQ6ICdBdWN1bmUgc291cmNlIGRlIGRvbm7DqWVzIHPDqWxlY3Rpb25uw6llJ1xuICAgICAgICB9LFxuICAgICAgICBzaGFyZToge1xuICAgICAgICAgIHNlbGVjdDogXCJTw6lsZWN0aW9ubmVyIHVuIG91IHBsdXNpZXVycyBncm91cGUocykgZCd1dGlsaXNhdGV1cnMgOlwiLFxuICAgICAgICAgIHNlbGVjdGlvbjogXCJHcm91cGUocykgZCd1dGlsaXNhdGV1cnMgc8OpbGVjdGlvbm7DqXM6XCIsXG4gICAgICAgICAgc2VsZWN0SXRlbTogXCJTw6lsZWN0aW9ubmVyIGxlIGdyb3VwZSBkJ3V0aWxpc2F0ZXVyc1wiLFxuICAgICAgICAgIHVuc2VsZWN0SXRlbTogXCJEw6lzw6lsZWN0aW9ubmVyIGxlIGdyb3VwZSBkJ3V0aWxpc2F0ZXVyc1wiLFxuICAgICAgICAgIG5vSXRlbVNlbGVjdGVkOiBcIkF1Y3VuIGdyb3VwZSBkJ3V0aWxpc2F0ZXVycyBzw6lsZWN0aW9ubsOpXCJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgZXJyb3JzOiB7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUuIFZldWlsbGV6IHbDqXJpZmlleiBsZXMgaW5mb3JtYXRpb25zIG91IGNvbnRhY3RlciB2b3RyZSBhZG1pbmlzdHJhdGV1ciBzaSBsZSBwcm9ibMOobWUgcGVyc2lzdGUnLFxuICAgICAgY29kZXM6IHtcbiAgICAgICAgMDogJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGF1IG5pdmVhdSBuYXZpZ2F0ZXVyLiBDZWxhIHBldXQtw6p0cmUgdW5lIGVycmV1ciBDT1JTLCBkZSByw6lzZWF1IC4uLiBMYSByZXNzb3VyY2UgbmUgcGV1dCBwYXMgw6p0cmUgcsOpY3Vww6lyw6llLicsXG4gICAgICAgIDQwMDogJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlLicsXG4gICAgICAgIDQwMTogJ1ZvdHJlIHNlc3Npb24gZXN0IGludmFsaWRlLiBFc3NheWV6IGRlIHZvdXMgcmVjb25uZWN0ZXIgIScsXG4gICAgICAgIDQwMzogXCJWb3VzIG4nYXZleiBwYXMgbGVzIGRyb2l0cyBwb3VyIGNvbnN1bHRlciBjZXR0ZSByZXNzb3VyY2VcIixcbiAgICAgICAgNDA0OiBcIkxhIHJlc3NvdXJjZSBkZW1hbmTDqWUgbidleGlzdGUgcGFzXCIsXG4gICAgICAgIDQwOTogJ1VuZSByZXNzb3VyY2Ugc2ltaWxhaXJlIGV4aXN0ZSBkw6lqw6AnLFxuICAgICAgICA1MDA6ICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZS4nLFxuICAgICAgICA1MDM6ICdMZSBzZXJ2aWNlIGVzdCBhY3R1ZWxsZW1lbnQgaW5kaXNwb25pYmxlLiBSw6llc3NheWVyIHVsdMOpcmlldXJlbWVudCAhJ1xuICAgICAgfVxuICAgIH0sXG4gICAgZmlsdGVyczoge1xuICAgICAgbGFiZWw6ICdQYXJhbcOpdHJlciBsZXMgZmlsdHJlcycsXG4gICAgICBub0F0dHJpYnV0ZXM6IFwiTGEgcHLDqXNlbnRhdGlvbiBlbiBjb3VycyBuZSBkaXNwb3NlIGQnYXVjdW5lIGF0dHJpYnV0IHN1ciBsZXF1ZWwgZmlsdHJlclwiLFxuICAgICAgbm9GaWx0ZXJzOiBcIlZvdXMgbidhdmV6IHBhcyBlbmNvcmUgcGFyYW3DqXRyw6kgZGUgZmlsdHJlLlwiLFxuICAgICAgY2xlYXI6ICdFZmZhY2VyJyxcbiAgICAgIGxpc3Q6IHtcbiAgICAgICAgYXR0cmlidXRlczogJ0F0dHJpYnV0czogJyxcbiAgICAgICAgYWRkOiAnQ3LDqWVyIHVuIGZpbHRyZScsXG4gICAgICAgIGRlbGV0ZTogJ1N1cHByaW1lcicsXG4gICAgICAgIG1vZGlmeTogJ01vZGlmaWVyJ1xuICAgICAgfSxcbiAgICAgIGNyZWF0aW9uOiB7XG4gICAgICAgIGNyZWF0ZTogJ0Nyw6llciB1biBmaWx0cmUnLFxuICAgICAgICB1cGRhdGU6ICdNb2RpZmllciB1biBmaWx0cmUnLFxuICAgICAgICBuYW1lOiAnTm9tIGR1IGZpbHRyZScsXG4gICAgICAgIHR5cGU6ICdUeXBlIGR1IGZpbHRyZScsXG4gICAgICAgIGZpbHRlcjogJ0ZpbHRyZScsXG4gICAgICAgIGF0dHJpYnV0ZXM6ICdBdHRyaWJ1dHMnLFxuICAgICAgICB2YWx1ZTogJ1ZhbGV1cicsXG4gICAgICAgIHZhbHVlczogJ1ZhbGV1cnMnLFxuICAgICAgICB2YWxpZGF0ZTogJ1ZhbGlkZXInLFxuICAgICAgICBsaW1pdDogXCJOb21icmUgZGUgc3VnZ2VzdGlvbnMgcHJvcG9zw6llcyDDoCBsJ3V0aWxpc2F0ZXVyXCIsXG4gICAgICAgIGRhdGVSYW5nZTogJ1BsYWdlIGRlIGRhdGVzJ1xuICAgICAgfSxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgZGF0YXNvdXJjZTogJ0RhdGFzb3VyY2UnLFxuICAgICAgICBjbGFzczogJ0NsYXNzZScsXG4gICAgICAgIG9wZXJhdG9yOiAnT3DDqXJhdGV1cidcbiAgICAgIH0sXG4gICAgICB0eXBlczoge1xuICAgICAgICB0ZXh0OiAnVGV4dGUnLFxuICAgICAgICBkYXRlOiAnRGF0ZScsXG4gICAgICAgIGxpc3Q6ICdMaXN0ZScsXG4gICAgICAgIG51bWJlcjogJ051bcOpcmlxdWUnLFxuICAgICAgICBhdXRvY29tcGxldGU6ICdMaXN0ZSBhdmVjIHN1Z2dlc3Rpb24nXG4gICAgICB9XG4gICAgfSxcbiAgICBnZW9BdXRoOiB7XG4gICAgICBmYWlsdXJlOiAnRXJyZXVyIGdlb3NlcnZlcidcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIHJvd3M6ICdMaWduZXMnLFxuICAgICAgY29sdW1uczogJ0NvbG9ubmVzJ1xuICAgIH1cbiAgfVxufTtcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXM6IHsgaWQ6IHN0cmluZzsgY3VzdG9tSWQ/OiBzdHJpbmc7IHRlY2huaWNhbE5hbWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgZGF0YXNvdXJjZTogc3RyaW5nIH1bXTtcbiAgb3BlcmF0b3I/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGF0dHJpYnV0ZXM6IHsgaWQ6IHN0cmluZzsgY3VzdG9tSWQ/OiBzdHJpbmc7IHRlY2huaWNhbE5hbWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgZGF0YXNvdXJjZTogc3RyaW5nIH1bXTtcbiAgb3BlcmF0b3I/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW10gfCBudW1iZXJbXTtcbiAgcG9zc2libGVWYWx1ZXM/OiBzdHJpbmc7IC8vIG9ubHkgdXNlZCBpbiBsaXN0LWZpbHRlclxuICBoYXNEYXRlUmFuZ2U/OiBib29sZWFuO1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJDb250ZXh0IHtcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIG9wZXJhdG9yOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBzdHJpbmdbXSB8IG51bWJlcltdIHwgdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -126,52 +126,57 @@ export class AggregationUtils {
|
|
|
126
126
|
static doesItemValuePassFilter(item, attribute, operator, filterValue) {
|
|
127
127
|
let value = AggregationUtils.getValueFromAttribute(item, attribute)?.value;
|
|
128
128
|
let date1, date2;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return value
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
new Date(
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
129
|
+
let filterPossibleValues = Array.isArray(filterValue) ? filterValue : [filterValue];
|
|
130
|
+
return filterPossibleValues
|
|
131
|
+
.map((possibleFilterValue) => {
|
|
132
|
+
switch (operator) {
|
|
133
|
+
case 'EQUALS':
|
|
134
|
+
return value === filterValue;
|
|
135
|
+
case 'NOT_EQUALS':
|
|
136
|
+
return value !== filterValue;
|
|
137
|
+
case 'CONTAINS':
|
|
138
|
+
return value.includes(filterValue);
|
|
139
|
+
case 'START_WITH':
|
|
140
|
+
return value.startsWith(filterValue);
|
|
141
|
+
case 'END_WITH':
|
|
142
|
+
return value.endsWith(filterValue);
|
|
143
|
+
case 'GREATER_THAN':
|
|
144
|
+
if (typeof filterValue === 'number') {
|
|
145
|
+
return value > filterValue;
|
|
146
|
+
}
|
|
147
|
+
else if (typeof filterValue === 'string') {
|
|
148
|
+
return new Date(value) > new Date(filterValue);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
case 'LOWER_THAN':
|
|
154
|
+
if (typeof filterValue === 'number') {
|
|
155
|
+
return value < filterValue;
|
|
156
|
+
}
|
|
157
|
+
else if (typeof filterValue === 'string') {
|
|
158
|
+
return new Date(value) < new Date(filterValue);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
case 'INSIDE':
|
|
164
|
+
[date1, date2] = [
|
|
165
|
+
new Date(filterValue.split(',')[0]),
|
|
166
|
+
new Date(filterValue.split(',')[1])
|
|
167
|
+
];
|
|
168
|
+
return new Date(value) > new Date(date1) && new Date(value) < new Date(date2);
|
|
169
|
+
case 'OUTSIDE':
|
|
170
|
+
[date1, date2] = [
|
|
171
|
+
new Date(filterValue.split(',')[0]),
|
|
172
|
+
new Date(filterValue.split(',')[1])
|
|
173
|
+
];
|
|
174
|
+
return new Date(value) < new Date(date1) && new Date(value) > new Date(date2);
|
|
175
|
+
default:
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
})
|
|
179
|
+
.reduce((p, c) => p || c);
|
|
175
180
|
}
|
|
176
181
|
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9hZ2dyZWdhdGlvbi9mcm9udGVuZC1hZ2dyZWdhdGlvbi9hZ2dyZWdhdGlvbi11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVWLE1BQU0sMkRBQTJELENBQUM7QUFJbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUc3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLE9BQXFDLEVBQUUsSUFBNkI7UUFDNUcsT0FBTyxPQUFPO2FBQ1gsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEYsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsV0FBcUIsRUFBRSxVQUFzQjtRQUM5RSxPQUFPLFdBQVc7YUFDZixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7YUFDeEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkMsTUFBTSxDQUFDLENB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QUFDLENBQUM7WUFDaEY7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsXG4gIE9wZXJhdGlvbixcbiAgVGltZUludGVydmFsXG59IGZyb20gJy4uLy4uLy4uL21vZGVsL3dpZGdldC1hZ2dyZWdhdGVkLWNoYXJ0LW1hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uLy4uL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJdGVtLCBWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0c2V0VXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXNoYm9hcmQvcmVzdWx0c2V0LXV0aWxzJztcbmltcG9ydCB7IEl0ZW1VdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2Rhc2hib2FyZC9pdGVtLXV0aWxzJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgQWdncmVnYXRpb25VdGlscyB7XG4gIHN0YXRpYyBnZXRBeGlzQXR0cmlidXRlKGNsYXNzZXM6IENsYXNzW10sIG9wdGlvbnM6IENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsIGF4aXM6ICdvcmRpbmF0ZScgfCAnYWJzY2lzc2EnKSB7XG4gICAgcmV0dXJuIGNsYXNzZXNcbiAgICAgIC5tYXAoKGNsYXp6KSA9PiBjbGF6ei5hdHRyaWJ1dGVzLmZpbmQoKGF0dHIpID0+IGF0dHIuaWQgPT09IG9wdGlvbnNbYXhpc10uYXR0cmlidXRlKSlcbiAgICAgIC5maW5kKChhdHRyKSA9PiAhIWF0dHIpPy5uYW1lO1xuICB9XG5cbiAgc3RhdGljIGdldENoYXJ0RGF0YXNvdXJjZVJlc3VsdFNldChkYXRhc291cmNlczogc3RyaW5nW10sIHJlc3VsdFNldHM6IFJlc3VsdFNldHMpIHtcbiAgICByZXR1cm4gZGF0YXNvdXJjZXNcbiAgICAgIC5maWx0ZXIoKHJzTmFtZSkgPT4gcnNOYW1lIGluIHJlc3VsdFNldHMpXG4gICAgICAubWFwKChyc05hbWUpID0+IHJlc3VsdFNldHNbcnNOYW1lXSlcbiAgICAgIC5yZWR1Y2UoKHJzMSwgcnMyKSA9PiBSZXN1bHRzZXRVdGlscy5tZXJnZVJlc3VsdFNldHMocnMxLCByczIpLCB7XG4gICAgICAgIGl0ZW1zOiB7fSxcbiAgICAgICAgcmVsYXRpb25zOiBbXSxcbiAgICAgICAgbWVyZ2VkOiBkYXRhc291cmNlcy5maWx0ZXIoKHJzTmFtZSkgPT4gcnNOYW1lIGluIHJlc3VsdFNldHMpLmxlbmd0aFxuICAgICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0QWdncmVnYXRlZFZhbHVlKFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uLFxuICAgIGdyb3VwZWRJdGVtczogeyBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiBJdGVtW10gfSxcbiAgICBhYnNjaXNzYUF0dHJpYnV0ZToga2V5b2YgdHlwZW9mIGdyb3VwZWRJdGVtcyxcbiAgICBvcmRpbmF0ZUF0dHJpYnV0ZTogc3RyaW5nXG4gICk6IG51bWJlciB8IFZhbHVlVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWdncmVnYXRlZFZhbHVlRm9yT3BlcmF0aW9uKFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgZ3JvdXBlZEl0ZW1zW2Fic2Npc3NhQXR0cmlidXRlXS5tYXAoKGl0ZW0pID0+IHRoaXMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKGl0ZW0sIG9yZGluYXRlQXR0cmlidXRlKS52YWx1ZSBhcyBudW1iZXIpXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRWYWx1ZUZyb21BdHRyaWJ1dGUoaXRlbTogSXRlbSwgYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICBsZXQgdmFsdWUgPSBJdGVtVXRpbHMuZ2V0QXR0cmlidXRlVmFsdWUoaXRlbSwgYXR0cmlidXRlKTtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZVswXSA6IHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIGdldEFnZ3JlZ2F0ZWRWYWx1ZUZvck9wZXJhdGlvbihvcGVyYXRpb246IE9wZXJhdGlvbiwgdmFsdWVzOiBudW1iZXJbXSk6IG51bWJlciB8IFZhbHVlVHlwZSB7XG4gICAgc3dpdGNoIChvcGVyYXRpb24pIHtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLkNPVU5UOlxuICAgICAgICByZXR1cm4gdmFsdWVzLmxlbmd0aDtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlNVTTpcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MgKyB2YWwsIDApO1xuICAgICAgY2FzZSBPcGVyYXRpb24uRElTVElOQ1Q6XG4gICAgICAgIHJldHVybiBbLi4ubmV3IFNldCh2YWx1ZXMpXS5sZW5ndGg7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5BVkVSQUdFOlxuICAgICAgICByZXR1cm4gdmFsdWVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIHZhbCwgMCkgLyB2YWx1ZXMubGVuZ3RoO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUVESUFOOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuNSk7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5RMTpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UXVhcnRpbGUodmFsdWVzLCAwLjI1KTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlEzOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuNzUpO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUlOOlxuICAgICAgICByZXR1cm4gTWF0aC5taW4oLi4udmFsdWVzKTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLk1BWDpcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KC4uLnZhbHVlcyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldFF1YXJ0aWxlKHZhbHVlczogbnVtYmVyW10sIHE6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSByZXR1cm4gMDtcbiAgICB2YWx1ZXMuc29ydCgoYTogbnVtYmVyLCBiOiBudW1iZXIpID0+IGEgLSBiKTtcblxuICAgIGxldCBwb3MgPSAodmFsdWVzLmxlbmd0aCAtIDEpICogcTtcbiAgICBpZiAocG9zICUgMSA9PT0gMCkge1xuICAgICAgcmV0dXJuIHZhbHVlc1twb3NdO1xuICAgIH1cblxuICAgIHBvcyA9IE1hdGguZmxvb3IocG9zKTtcbiAgICByZXR1cm4gdmFsdWVzW3BvcyArIDFdICE9PSB1bmRlZmluZWQgPyAodmFsdWVzW3Bvc10gKyB2YWx1ZXNbcG9zICsgMV0pIC8gMiA6IHZhbHVlc1twb3NdO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdEJ5TGltaXQoXG4gICAgZGF0YTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10sXG4gICAgaW50ZXJ2YWw6IG51bWJlciB8IFRpbWVJbnRlcnZhbCxcbiAgICBvcGVyYXRpb246IE9wZXJhdGlvblxuICApIHtcbiAgICByZXR1cm4gdHlwZW9mIGludGVydmFsID09PSAnbnVtYmVyJyA/IGRhdGEgOiB0aGlzLmZvcm1hdERhdGFCeVRpbWVMaW1pdChkYXRhLCBpbnRlcnZhbCwgb3BlcmF0aW9uKTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JtYXREYXRhQnlUaW1lTGltaXQoXG4gICAgZGF0YTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10sXG4gICAgaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCxcbiAgICBvcGVyYXRpb246IE9wZXJhdGlvblxuICApIHtcbiAgICBsZXQgZGlzdGluY3RWYWx1ZXM6IHsga2V5OiBWYWx1ZVR5cGU7IHZhbHVlczogVmFsdWVUeXBlW10gfVtdID0gW107XG4gICAgZGF0YVxuICAgICAgLm1hcCgob2JqKSA9PiAoeyAuLi5vYmosIGtleTogdGhpcy5nZXRLZXlWYWx1ZUZvclRpbWVJbnRlcnZhbChvYmoua2V5LCBpbnRlcnZhbCkgfSkpXG4gICAgICAuZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzTm90RGlzdGluY3QgPSBkaXN0aW5jdFZhbHVlcy5maW5kKChkaXN0aW5jdCkgPT4gb2JqLmtleSA9PT0gZGlzdGluY3Qua2V5KTtcbiAgICAgICAgaWYgKCEhaXNOb3REaXN0aW5jdCkge1xuICAgICAgICAgIGlzTm90RGlzdGluY3QudmFsdWVzLnB1c2gob2JqLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaXN0aW5jdFZhbHVlcy5wdXNoKHsga2V5OiBvYmoua2V5LCB2YWx1ZXM6IFtdIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gZGlzdGluY3RWYWx1ZXMubWFwKChvYmopID0+ICh7XG4gICAgICAuLi5vYmosXG4gICAgICB2YWx1ZTogQWdncmVnYXRpb25VdGlscy5nZXRBZ2dyZWdhdGVkVmFsdWVGb3JPcGVyYXRpb24ob3BlcmF0aW9uLCBvYmoudmFsdWVzIGFzIG51bWJlcltdKVxuICAgIH0pKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRLZXlWYWx1ZUZvclRpbWVJbnRlcnZhbChrZXk6IFZhbHVlVHlwZSwgaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGtleSBhcyBzdHJpbmcpO1xuICAgIHN3aXRjaCAoaW50ZXJ2YWwpIHtcbiAgICAgIGNhc2UgJ3NlY29uZCc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShcbiAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgICBkYXRlLmdldFNlY29uZHMoKVxuICAgICAgICApLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICByZXR1cm4gbmV3IERhdGUoXG4gICAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgICBkYXRlLmdldERhdGUoKSxcbiAgICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgICAgZGF0ZS5nZXRNaW51dGVzKClcbiAgICAgICAgKS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksIGRhdGUuZ2V0SG91cnMoKSkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkpLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgY29uc3QgZGF5c1RvU3VidHJhY3QgPSAoNyArIGRhdGUuZ2V0VVRDRGF5KCkpICUgNztcbiAgICAgICAgZGF0ZS5zZXRVVENEYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpIC0gZGF5c1RvU3VidHJhY3QpO1xuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgIGNvbnN0IHF1YXJ0ZXJTdGFydE1vbnRocyA9IFswLCAzLCA2LCA5XTsgLy8gSmFudWFyeSwgQXByaWwsIEp1bHksIE9jdG9iZXJcbiAgICAgICAgY29uc3QgcXVhcnRlciA9IE1hdGguZmxvb3IoZGF0ZS5nZXRVVENNb250aCgpIC8gMyk7XG4gICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldFVUQ0Z1bGxZZWFyKCk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnRPZlF1YXJ0ZXIgPSBuZXcgRGF0ZShEYXRlLlVUQyh5ZWFyLCBxdWFydGVyU3RhcnRNb250aHNbcXVhcnRlcl0sIDEsIDAsIDAsIDAsIDApKTtcbiAgICAgICAgcmV0dXJuIHN0YXJ0T2ZRdWFydGVyLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKG5ldyBEYXRlKGtleSBhcyBzdHJpbmcpLmdldEZ1bGxZZWFyKCksIDAsIDEpLnRvSVNPU3RyaW5nKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaWx0ZXJJdGVtcyhpdGVtczogSXRlbVtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkge1xuICAgIGxldCBmaWx0ZXJzQnlBdHRyaWJ1dGUgPSBmaWx0ZXJzXG4gICAgICAubWFwKChmaWx0ZXIpID0+XG4gICAgICAgIGZpbHRlci5hdHRyaWJ1dGVzLm1hcCgoYXR0cmlidXRlKSA9PiAoe1xuICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICBhdHRyaWJ1dGU6IGF0dHJpYnV0ZS5pZCxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB1bmRlZmluZWRcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgICAuZmxhdCgpO1xuXG4gICAgcmV0dXJuIGZpbHRlcnMubGVuZ3RoID4gMFxuICAgICAgPyBbXG4gICAgICAgICAgLi4ubmV3IFNldChcbiAgICAgICAgICAgIGZpbHRlcnNCeUF0dHJpYnV0ZVxuICAgICAgICAgICAgICAubWFwKChmaWx0ZXIpID0+XG4gICAgICAgICAgICAgICAgaXRlbXMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgdGhpcy5kb2VzSXRlbVZhbHVlUGFzc0ZpbHRlcihpdGVtLCBmaWx0ZXIuYXR0cmlidXRlLCBmaWx0ZXIub3BlcmF0b3IsIGZpbHRlci52YWx1ZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgIClcbiAgICAgICAgXVxuICAgICAgOiBpdGVtcztcbiAgfVxuXG4gIHN0YXRpYyBkb2VzSXRlbVZhbHVlUGFzc0ZpbHRlcihcbiAgICBpdGVtOiBJdGVtLFxuICAgIGF0dHJpYnV0ZTogc3RyaW5nLFxuICAgIG9wZXJhdG9yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyVmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZFxuICApOiBib29sZWFuIHtcbiAgICBsZXQgdmFsdWUgPSBBZ2dyZWdhdGlvblV0aWxzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpPy52YWx1ZSBhcyBzdHJpbmcgfCBudW1iZXI7XG4gICAgbGV0IGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZTtcblxuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcbiAgICAgIGNhc2UgJ0VRVUFMUyc6XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gZmlsdGVyVmFsdWU7XG4gICAgICBjYXNlICdOT1RfRVFVQUxTJzpcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9PSBmaWx0ZXJWYWx1ZTtcbiAgICAgIGNhc2UgJ0NPTlRBSU5TJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLmluY2x1ZGVzKGZpbHRlclZhbHVlIGFzIHN0cmluZyk7XG4gICAgICBjYXNlICdTVEFSVF9XSVRIJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLnN0YXJ0c1dpdGgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgIGNhc2UgJ0VORF9XSVRIJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLmVuZHNXaXRoKGZpbHRlclZhbHVlIGFzIHN0cmluZyk7XG4gICAgICBjYXNlICdHUkVBVEVSX1RIQU4nOlxuICAgICAgICBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHJldHVybiAodmFsdWUgYXMgbnVtYmVyKSA+IGZpbHRlclZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBmaWx0ZXJWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZmlsdGVyVmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgY2FzZSAnTE9XRVJfVEhBTic6XG4gICAgICAgIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBudW1iZXIpIDwgZmlsdGVyVmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSkgPCBuZXcgRGF0ZShmaWx0ZXJWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICBjYXNlICdJTlNJREUnOlxuICAgICAgICBbZGF0ZTEsIGRhdGUyXSA9IFtcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzFdKVxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA8IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgIGNhc2UgJ09VVFNJREUnOlxuICAgICAgICBbZGF0ZTEsIGRhdGUyXSA9IFtcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzFdKVxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpIDwgbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA+IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9hZ2dyZWdhdGlvbi9mcm9udGVuZC1hZ2dyZWdhdGlvbi9hZ2dyZWdhdGlvbi11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVWLE1BQU0sMkRBQTJELENBQUM7QUFJbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUc3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLE9BQXFDLEVBQUUsSUFBNkI7UUFDNUcsT0FBTyxPQUFPO2FBQ1gsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEYsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsV0FBcUIsRUFBRSxVQUFzQjtRQUM5RSxPQUFPLFdBQVc7YUFDZixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7YUFDeEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkMsTUFBTSxDQUFDLENB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S0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNoRCxDQUFDO29CQUNGLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hGO29CQUNFLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7UUFDSCxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucyxcbiAgT3BlcmF0aW9uLFxuICBUaW1lSW50ZXJ2YWxcbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvd2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsYXNzIH0gZnJvbSAnLi4vLi4vY2xhc3MvY2xhc3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IEl0ZW0sIFZhbHVlVHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRzZXRVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2Rhc2hib2FyZC9yZXN1bHRzZXQtdXRpbHMnO1xuaW1wb3J0IHsgSXRlbVV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGFzaGJvYXJkL2l0ZW0tdXRpbHMnO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGlvblV0aWxzIHtcbiAgc3RhdGljIGdldEF4aXNBdHRyaWJ1dGUoY2xhc3NlczogQ2xhc3NbXSwgb3B0aW9uczogQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucywgYXhpczogJ29yZGluYXRlJyB8ICdhYnNjaXNzYScpIHtcbiAgICByZXR1cm4gY2xhc3Nlc1xuICAgICAgLm1hcCgoY2xhenopID0+IGNsYXp6LmF0dHJpYnV0ZXMuZmluZCgoYXR0cikgPT4gYXR0ci5pZCA9PT0gb3B0aW9uc1theGlzXS5hdHRyaWJ1dGUpKVxuICAgICAgLmZpbmQoKGF0dHIpID0+ICEhYXR0cik/Lm5hbWU7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q2hhcnREYXRhc291cmNlUmVzdWx0U2V0KGRhdGFzb3VyY2VzOiBzdHJpbmdbXSwgcmVzdWx0U2V0czogUmVzdWx0U2V0cykge1xuICAgIHJldHVybiBkYXRhc291cmNlc1xuICAgICAgLmZpbHRlcigocnNOYW1lKSA9PiByc05hbWUgaW4gcmVzdWx0U2V0cylcbiAgICAgIC5tYXAoKHJzTmFtZSkgPT4gcmVzdWx0U2V0c1tyc05hbWVdKVxuICAgICAgLnJlZHVjZSgocnMxLCByczIpID0+IFJlc3VsdHNldFV0aWxzLm1lcmdlUmVzdWx0U2V0cyhyczEsIHJzMiksIHtcbiAgICAgICAgaXRlbXM6IHt9LFxuICAgICAgICByZWxhdGlvbnM6IFtdLFxuICAgICAgICBtZXJnZWQ6IGRhdGFzb3VyY2VzLmZpbHRlcigocnNOYW1lKSA9PiByc05hbWUgaW4gcmVzdWx0U2V0cykubGVuZ3RoXG4gICAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRBZ2dyZWdhdGVkVmFsdWUoXG4gICAgb3BlcmF0aW9uOiBPcGVyYXRpb24sXG4gICAgZ3JvdXBlZEl0ZW1zOiB7IFtrZXk6IHN0cmluZyB8IG51bWJlcl06IEl0ZW1bXSB9LFxuICAgIGFic2Npc3NhQXR0cmlidXRlOiBrZXlvZiB0eXBlb2YgZ3JvdXBlZEl0ZW1zLFxuICAgIG9yZGluYXRlQXR0cmlidXRlOiBzdHJpbmdcbiAgKTogbnVtYmVyIHwgVmFsdWVUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBZ2dyZWdhdGVkVmFsdWVGb3JPcGVyYXRpb24oXG4gICAgICBvcGVyYXRpb24sXG4gICAgICBncm91cGVkSXRlbXNbYWJzY2lzc2FBdHRyaWJ1dGVdLm1hcCgoaXRlbSkgPT4gdGhpcy5nZXRWYWx1ZUZyb21BdHRyaWJ1dGUoaXRlbSwgb3JkaW5hdGVBdHRyaWJ1dGUpLnZhbHVlIGFzIG51bWJlcilcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIGdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtOiBJdGVtLCBhdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIGxldCB2YWx1ZSA9IEl0ZW1VdGlscy5nZXRBdHRyaWJ1dGVWYWx1ZShpdGVtLCBhdHRyaWJ1dGUpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgZ2V0QWdncmVnYXRlZFZhbHVlRm9yT3BlcmF0aW9uKG9wZXJhdGlvbjogT3BlcmF0aW9uLCB2YWx1ZXM6IG51bWJlcltdKTogbnVtYmVyIHwgVmFsdWVUeXBlIHtcbiAgICBzd2l0Y2ggKG9wZXJhdGlvbikge1xuICAgICAgY2FzZSBPcGVyYXRpb24uQ09VTlQ6XG4gICAgICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoO1xuICAgICAgY2FzZSBPcGVyYXRpb24uU1VNOlxuICAgICAgICByZXR1cm4gdmFsdWVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIHZhbCwgMCk7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5ESVNUSU5DVDpcbiAgICAgICAgcmV0dXJuIFsuLi5uZXcgU2V0KHZhbHVlcyldLmxlbmd0aDtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLkFWRVJBR0U6XG4gICAgICAgIHJldHVybiB2YWx1ZXMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLCAwKSAvIHZhbHVlcy5sZW5ndGg7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5NRURJQU46XG4gICAgICAgIHJldHVybiB0aGlzLmdldFF1YXJ0aWxlKHZhbHVlcywgMC41KTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlExOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuMjUpO1xuICAgICAgY2FzZSBPcGVyYXRpb24uUTM6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFF1YXJ0aWxlKHZhbHVlcywgMC43NSk7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5NSU46XG4gICAgICAgIHJldHVybiBNYXRoLm1pbiguLi52YWx1ZXMpO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUFYOlxuICAgICAgICByZXR1cm4gTWF0aC5tYXgoLi4udmFsdWVzKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0UXVhcnRpbGUodmFsdWVzOiBudW1iZXJbXSwgcTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApIHJldHVybiAwO1xuICAgIHZhbHVlcy5zb3J0KChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gYSAtIGIpO1xuXG4gICAgbGV0IHBvcyA9ICh2YWx1ZXMubGVuZ3RoIC0gMSkgKiBxO1xuICAgIGlmIChwb3MgJSAxID09PSAwKSB7XG4gICAgICByZXR1cm4gdmFsdWVzW3Bvc107XG4gICAgfVxuXG4gICAgcG9zID0gTWF0aC5mbG9vcihwb3MpO1xuICAgIHJldHVybiB2YWx1ZXNbcG9zICsgMV0gIT09IHVuZGVmaW5lZCA/ICh2YWx1ZXNbcG9zXSArIHZhbHVlc1twb3MgKyAxXSkgLyAyIDogdmFsdWVzW3Bvc107XG4gIH1cblxuICBzdGF0aWMgZm9ybWF0QnlMaW1pdChcbiAgICBkYXRhOiB7IGtleTogVmFsdWVUeXBlOyB2YWx1ZTogVmFsdWVUeXBlIH1bXSxcbiAgICBpbnRlcnZhbDogbnVtYmVyIHwgVGltZUludGVydmFsLFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uXG4gICkge1xuICAgIHJldHVybiB0eXBlb2YgaW50ZXJ2YWwgPT09ICdudW1iZXInID8gZGF0YSA6IHRoaXMuZm9ybWF0RGF0YUJ5VGltZUxpbWl0KGRhdGEsIGludGVydmFsLCBvcGVyYXRpb24pO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdERhdGFCeVRpbWVMaW1pdChcbiAgICBkYXRhOiB7IGtleTogVmFsdWVUeXBlOyB2YWx1ZTogVmFsdWVUeXBlIH1bXSxcbiAgICBpbnRlcnZhbDogVGltZUludGVydmFsLFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uXG4gICkge1xuICAgIGxldCBkaXN0aW5jdFZhbHVlczogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWVzOiBWYWx1ZVR5cGVbXSB9W10gPSBbXTtcbiAgICBkYXRhXG4gICAgICAubWFwKChvYmopID0+ICh7IC4uLm9iaiwga2V5OiB0aGlzLmdldEtleVZhbHVlRm9yVGltZUludGVydmFsKG9iai5rZXksIGludGVydmFsKSB9KSlcbiAgICAgIC5mb3JFYWNoKChvYmopID0+IHtcbiAgICAgICAgY29uc3QgaXNOb3REaXN0aW5jdCA9IGRpc3RpbmN0VmFsdWVzLmZpbmQoKGRpc3RpbmN0KSA9PiBvYmoua2V5ID09PSBkaXN0aW5jdC5rZXkpO1xuICAgICAgICBpZiAoISFpc05vdERpc3RpbmN0KSB7XG4gICAgICAgICAgaXNOb3REaXN0aW5jdC52YWx1ZXMucHVzaChvYmoudmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpc3RpbmN0VmFsdWVzLnB1c2goeyBrZXk6IG9iai5rZXksIHZhbHVlczogW10gfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHJldHVybiBkaXN0aW5jdFZhbHVlcy5tYXAoKG9iaikgPT4gKHtcbiAgICAgIC4uLm9iaixcbiAgICAgIHZhbHVlOiBBZ2dyZWdhdGlvblV0aWxzLmdldEFnZ3JlZ2F0ZWRWYWx1ZUZvck9wZXJhdGlvbihvcGVyYXRpb24sIG9iai52YWx1ZXMgYXMgbnVtYmVyW10pXG4gICAgfSkpO1xuICB9XG5cbiAgc3RhdGljIGdldEtleVZhbHVlRm9yVGltZUludGVydmFsKGtleTogVmFsdWVUeXBlLCBpbnRlcnZhbDogVGltZUludGVydmFsKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoa2V5IGFzIHN0cmluZyk7XG4gICAgc3dpdGNoIChpbnRlcnZhbCkge1xuICAgICAgY2FzZSAnc2Vjb25kJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKFxuICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgICAgZGF0ZS5nZXREYXRlKCksXG4gICAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICAgIGRhdGUuZ2V0U2Vjb25kcygpXG4gICAgICAgICkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShcbiAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKVxuICAgICAgICApLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICdob3VyJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSwgZGF0ZS5nZXRIb3VycygpKS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICBjb25zdCBkYXlzVG9TdWJ0cmFjdCA9ICg3ICsgZGF0ZS5nZXRVVENEYXkoKSkgJSA3O1xuICAgICAgICBkYXRlLnNldFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgLSBkYXlzVG9TdWJ0cmFjdCk7XG4gICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgY29uc3QgcXVhcnRlclN0YXJ0TW9udGhzID0gWzAsIDMsIDYsIDldOyAvLyBKYW51YXJ5LCBBcHJpbCwgSnVseSwgT2N0b2JlclxuICAgICAgICBjb25zdCBxdWFydGVyID0gTWF0aC5mbG9vcihkYXRlLmdldFVUQ01vbnRoKCkgLyAzKTtcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0VVRDRnVsbFllYXIoKTtcblxuICAgICAgICBjb25zdCBzdGFydE9mUXVhcnRlciA9IG5ldyBEYXRlKERhdGUuVVRDKHllYXIsIHF1YXJ0ZXJTdGFydE1vbnRoc1txdWFydGVyXSwgMSwgMCwgMCwgMCwgMCkpO1xuICAgICAgICByZXR1cm4gc3RhcnRPZlF1YXJ0ZXIudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoa2V5IGFzIHN0cmluZykuZ2V0RnVsbFllYXIoKSwgMCwgMSkudG9JU09TdHJpbmcoKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZpbHRlckl0ZW1zKGl0ZW1zOiBJdGVtW10sIGZpbHRlcnM6IEZpbHRlcltdKSB7XG4gICAgbGV0IGZpbHRlcnNCeUF0dHJpYnV0ZSA9IGZpbHRlcnNcbiAgICAgIC5tYXAoKGZpbHRlcikgPT5cbiAgICAgICAgZmlsdGVyLmF0dHJpYnV0ZXMubWFwKChhdHRyaWJ1dGUpID0+ICh7XG4gICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgIGF0dHJpYnV0ZTogYXR0cmlidXRlLmlkLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHVuZGVmaW5lZFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICAgIC5mbGF0KCk7XG5cbiAgICByZXR1cm4gZmlsdGVycy5sZW5ndGggPiAwXG4gICAgICA/IFtcbiAgICAgICAgICAuLi5uZXcgU2V0KFxuICAgICAgICAgICAgZmlsdGVyc0J5QXR0cmlidXRlXG4gICAgICAgICAgICAgIC5tYXAoKGZpbHRlcikgPT5cbiAgICAgICAgICAgICAgICBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICB0aGlzLmRvZXNJdGVtVmFsdWVQYXNzRmlsdGVyKGl0ZW0sIGZpbHRlci5hdHRyaWJ1dGUsIGZpbHRlci5vcGVyYXRvciwgZmlsdGVyLnZhbHVlKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgKVxuICAgICAgICBdXG4gICAgICA6IGl0ZW1zO1xuICB9XG5cbiAgc3RhdGljIGRvZXNJdGVtVmFsdWVQYXNzRmlsdGVyKFxuICAgIGl0ZW06IEl0ZW0sXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgb3BlcmF0b3I6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJWYWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW10gfCBudW1iZXJbXSB8IHVuZGVmaW5lZFxuICApOiBib29sZWFuIHtcbiAgICBsZXQgdmFsdWUgPSBBZ2dyZWdhdGlvblV0aWxzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpPy52YWx1ZSBhcyBzdHJpbmcgfCBudW1iZXI7XG4gICAgbGV0IGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZTtcblxuICAgIGxldCBmaWx0ZXJQb3NzaWJsZVZhbHVlcyA9IEFycmF5LmlzQXJyYXkoZmlsdGVyVmFsdWUpID8gZmlsdGVyVmFsdWUgOiAoW2ZpbHRlclZhbHVlXSBhcyBzdHJpbmdbXSB8IG51bWJlcltdKTtcblxuICAgIHJldHVybiBmaWx0ZXJQb3NzaWJsZVZhbHVlc1xuICAgICAgLm1hcCgocG9zc2libGVGaWx0ZXJWYWx1ZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKG9wZXJhdG9yKSB7XG4gICAgICAgICAgY2FzZSAnRVFVQUxTJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gZmlsdGVyVmFsdWU7XG4gICAgICAgICAgY2FzZSAnTk9UX0VRVUFMUyc6XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgIT09IGZpbHRlclZhbHVlO1xuICAgICAgICAgIGNhc2UgJ0NPTlRBSU5TJzpcbiAgICAgICAgICAgIHJldHVybiAodmFsdWUgYXMgc3RyaW5nKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgICAgIGNhc2UgJ1NUQVJUX1dJVEgnOlxuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLnN0YXJ0c1dpdGgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICBjYXNlICdFTkRfV0lUSCc6XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlIGFzIHN0cmluZykuZW5kc1dpdGgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICBjYXNlICdHUkVBVEVSX1RIQU4nOlxuICAgICAgICAgICAgaWYgKHR5cGVvZiBmaWx0ZXJWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBudW1iZXIpID4gZmlsdGVyVmFsdWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBmaWx0ZXJWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKSA+IG5ldyBEYXRlKGZpbHRlclZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlICdMT1dFUl9USEFOJzpcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgIHJldHVybiAodmFsdWUgYXMgbnVtYmVyKSA8IGZpbHRlclZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSkgPCBuZXcgRGF0ZShmaWx0ZXJWYWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSAnSU5TSURFJzpcbiAgICAgICAgICAgIFtkYXRlMSwgZGF0ZTJdID0gW1xuICAgICAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICAgICAgbmV3IERhdGUoKGZpbHRlclZhbHVlIGFzIHN0cmluZykuc3BsaXQoJywnKVsxXSlcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA8IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgICAgICBjYXNlICdPVVRTSURFJzpcbiAgICAgICAgICAgIFtkYXRlMSwgZGF0ZTJdID0gW1xuICAgICAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICAgICAgbmV3IERhdGUoKGZpbHRlclZhbHVlIGFzIHN0cmluZykuc3BsaXQoJywnKVsxXSlcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpIDwgbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA+IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAucmVkdWNlKChwLCBjKSA9PiBwIHx8IGMpO1xuICB9XG59XG4iXX0=
|
|
@@ -70,7 +70,6 @@ const namedQueriesUses = createSelector(globalManifest, (manifest) => manifest.w
|
|
|
70
70
|
.reduce((p, c) => ({ ...p, [c.rsName ?? '']: [...(p[c.rsName ?? ''] || []), { ...c }] }), {}));
|
|
71
71
|
const presentation = createSelector(feature, (state) => state?.presentation);
|
|
72
72
|
const isCurrentPresentationModified = createSelector(presentation, globalManifest, (state, global) => !equal(global, state.initial));
|
|
73
|
-
const isCurrentPresentationOwner = createSelector(presentation, (state) => !!state.current && state.current.owner);
|
|
74
73
|
const filters = createSelector(feature, (state) => state?.manifests.manifest.filters ?? []);
|
|
75
74
|
const datasourceFilters = createSelector(feature, (state) => state?.manifests.manifest.filters
|
|
76
75
|
? state?.manifests.manifest.filters.reduce((obj, filter) => (filter.attributes.forEach((attribute) => (obj[attribute.datasource] || (obj[attribute.datasource] = [])).push({
|
|
@@ -122,11 +121,10 @@ export const DashboardSelectors = {
|
|
|
122
121
|
presentation,
|
|
123
122
|
filters,
|
|
124
123
|
isCurrentPresentationModified,
|
|
125
|
-
isCurrentPresentationOwner,
|
|
126
124
|
datasourceFilters,
|
|
127
125
|
wmsFeatures,
|
|
128
126
|
displayOptions,
|
|
129
127
|
capabilities,
|
|
130
128
|
layerGroups
|
|
131
129
|
};
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUN0RixPQUFPLEtBQUssTUFBTSxxQkFBcUIsQ0FBQztBQUd4QyxPQUFPLEVBQ0wsbUJBQW1CLEVBS3BCLE1BQU0scUNBQXFDLENBQUM7QUFLN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbEYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUU3QixNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQztBQUN4RSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZGLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3BHLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3hGLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FDbkMsU0FBUztBQUNULGFBQWE7QUFDYixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQUUsUUFBUSxFQUFFLENB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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yLCBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbC9lczYnO1xuaW1wb3J0IHsgRmlsdGVyLCBGaWx0ZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIERhc2hib2FyZE1hbmlmZXN0LFxuICBHbG9iYWxNYW5pZmVzdCxcbiAgV2lkZ2V0TGF5b3V0LFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRPcmRlciB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LW9yZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXQsIFJlc3VsdFNldHMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhc2hib2FyZENlbGxQYXJhbXMgfSBmcm9tICcuL2Rhc2hib2FyZC5hY3Rpb25zJztcbmltcG9ydCB7IERhc2hib2FyZFN0YXRlIH0gZnJvbSAnLi9kYXNoYm9hcmQucmVkdWNlcnMnO1xuaW1wb3J0IHsgQkFTRV9ESVNQTEFZX09QVElPTlMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2Rpc3BsYXktb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG5jb25zdCBORVdfV0lORE9XX1RBUkdFVCA9IC0xO1xuXG5jb25zdCBmZWF0dXJlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPERhc2hib2FyZFN0YXRlPignQHByeS9kYXNoYm9hcmQnKTtcbmNvbnN0IG1hbmlmZXN0cyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+IHN0YXRlPy5tYW5pZmVzdHMpO1xuY29uc3QgcmFuayA9IGNyZWF0ZVNlbGVjdG9yKG1hbmlmZXN0cywgKG1hbmlmZXN0cykgPT4gbWFuaWZlc3RzPy50ZW5hbnRzLmluZGV4T2YobWFuaWZlc3RzLnNlbmRlcikpO1xuY29uc3QgY3VycmVudE1hbmlmZXN0SWQgPSBjcmVhdGVTZWxlY3RvcihtYW5pZmVzdHMsIChtYW5pZmVzdHMpID0+IG1hbmlmZXN0cy5jdXJyZW50SWQpO1xuY29uc3QgZ2xvYmFsTWFuaWZlc3QgPSBjcmVhdGVTZWxlY3RvcihcbiAgbWFuaWZlc3RzLFxuICAvLyBAdHMtaWdub3JlXG4gIChtYW5pZmVzdHMpID0+ICh7IHdpbmRvd3M6IFtdLCAuLi5tYW5pZmVzdHM/Lm1hbmlmZXN0IH0pID8/ICh7IHdpbmRvd3M6IFtdIH0gYXMgR2xvYmFsTWFuaWZlc3QpXG4pO1xuY29uc3Qgc3RhdGljTWFuaWZlc3QgPSBjcmVhdGVTZWxlY3RvcihcbiAgbWFuaWZlc3RzLFxuICAvLyBAdHMtaWdub3JlXG4gIChtYW5pZmVzdHMpID0+ICh7IHdpbmRvd3M6IFtdLCAuLi5tYW5pZmVzdHM/LnN0YXRpY01hbmlmZXN0IH0pID8/ICh7IHdpbmRvd3M6IFtdIH0gYXMgR2xvYmFsTWFuaWZlc3QpXG4pO1xuY29uc3QgbG9hZGluZyA9IGNyZWF0ZVNlbGVjdG9yKG1hbmlmZXN0cywgKG1hbmlmZXN0cykgPT4gISFtYW5pZmVzdHM/LmxvYWRpbmcpO1xuY29uc3QgcmVmcmVzaFJhdGVzID0gY3JlYXRlU2VsZWN0b3IoZ2xvYmFsTWFuaWZlc3QsIChtYW5pZmVzdHMpID0+IG1hbmlmZXN0cy5yZWZyZXNoUmF0ZXMgPz8ge30pO1xuY29uc3Qgd2luZG93TWFuaWZlc3QgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2xvYmFsTWFuaWZlc3QsXG4gIHJhbmssXG4gIChtYW5pZmVzdCwgcmFuaykgPT4gbWFuaWZlc3Qud2luZG93c1tyYW5rXSA/PyA8RGFzaGJvYXJkTWFuaWZlc3Q+eyB3aWRnZXRzOiBbXSB9XG4pO1xuY29uc3QgZ3JpZExheW91dCA9IGNyZWF0ZVNlbGVjdG9yKFxuICB3aW5kb3dNYW5pZmVzdCxcbiAgKG1hbmlmZXN0KSA9PiAoKG1hbmlmZXN0LmdyaWQgPz8ge30pLmxheW91dCA/PyBEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTCkgYXMgc3RyaW5nXG4pO1xuY29uc3QgbWVtb2l6ZVdpZGdldE1hbmlmZXN0ID0ge30gYXMgYW55O1xuY29uc3Qgd2lkZ2V0TWFuaWZlc3QgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICBpZiAoIW1lbW9pemVXaWRnZXRNYW5pZmVzdFtpbmRleF0pIHtcbiAgICBtZW1vaXplV2lkZ2V0TWFuaWZlc3RbaW5kZXhdID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICB3aW5kb3dNYW5pZmVzdCxcbiAgICAgICh3aW5kb3dNYW5pZmVzdDogRGFzaGJvYXJkTWFuaWZlc3QpID0+XG4gICAgICAgIHdpbmRvd01hbmlmZXN0LndpZGdldHNbaW5kZXhdID8/XG4gICAgICAgICh7XG4gICAgICAgICAgdHlwZTogJ3BsYWNlaG9sZGVyJyxcbiAgICAgICAgICBsYXlvdXQ6IHsgeDogMSwgeTogMSwgd2lkdGg6IDEsIGhlaWdodDogMSB9XG4gICAgICAgIH0gYXMgV2lkZ2V0TWFuaWZlc3QpXG4gICAgKTtcbiAgfVxuICByZXR1cm4gbWVtb2l6ZVdpZGdldE1hbmlmZXN0W2luZGV4XSBhcyBNZW1vaXplZFNlbGVjdG9yPERhc2hib2FyZE1hbmlmZXN0LCBXaWRnZXRNYW5pZmVzdD47XG59O1xuY29uc3QgbWFuaWZlc3RzTGlzdCA9IGNyZWF0ZVNlbGVjdG9yKG1hbmlmZXN0cywgKG1hbmlmZXN0cykgPT4gbWFuaWZlc3RzLmxpc3QpO1xuY29uc3QgdGVuYW50cyA9IGNyZWF0ZVNlbGVjdG9yKG1hbmlmZXN0cywgKG1hbmlmZXN0cykgPT4gbWFuaWZlc3RzLnRlbmFudHMgPz8gPHN0cmluZ1tdPltdKTtcbmNvbnN0IHRhcmdldFRlbmFudHNJbmRleGVzID0gY3JlYXRlU2VsZWN0b3IobWFuaWZlc3RzLCByYW5rLCAobWFuaWZlc3RzLCByYW5rKSA9PiBbXG4gIE5FV19XSU5ET1dfVEFSR0VULFxuICAuLi4obWFuaWZlc3RzLnRlbmFudHMgPz8gKFtdIGFzIHN0cmluZ1tdKSkubWFwKCh0ZW4sIGlkeCkgPT4gaWR4KS5maWx0ZXIoKGlkeCkgPT4gaWR4ICE9PSByYW5rKVxuXSk7XG5jb25zdCByZXN1bHRzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/LnJlc3VsdHMpO1xuXG5jb25zdCByZXN1bHRTZXRzID0gY3JlYXRlU2VsZWN0b3IocmVzdWx0cywgKHJlc3VsdHMpID0+IHJlc3VsdHMucmVzdWx0U2V0cyA/PyAoe30gYXMgUmVzdWx0U2V0cykpO1xuY29uc3QgcmVzdWx0U2V0c1BhcmFtcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICByZXN1bHRzLFxuICAocmVzdWx0cykgPT4gcmVzdWx0cy5yZXN1bHRTZXRzUGFyYW1zID8/ICh7fSBhcyB7IFtpZDogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH0pXG4pO1xuY29uc3QgbmFtZWRRdWVyaWVzTmFtZXMgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRTZXRzLCAoc3RhdGU6IFJlc3VsdFNldHMpID0+IE9iamVjdC5rZXlzKHN0YXRlKSA/PyA8c3RyaW5nW10+W10pO1xuY29uc3QgYXZhaWxhYmxlTmFtZWRRdWVyaWVzID0gY3JlYXRlU2VsZWN0b3IocmVzdWx0cywgKHJlc3VsdHMpID0+IHtcbiAgcmV0dXJuIFsuLi5uZXcgU2V0KFsuLi5yZXN1bHRzLmF2YWlsYWJsZURhdGFzb3VyY2VOYW1lcywgLi4uT2JqZWN0LmtleXMocmVzdWx0cy5yZXN1bHRTZXRzKV0pXSA/PyA8c3RyaW5nW10+W107XG59KTtcbmNvbnN0IGRlZmF1bHREYXRhc291cmNlTmFtZXMgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRzLCAocmVzdWx0cykgPT4gcmVzdWx0cy5kZWZhdWx0RGF0YXNvdXJjZSA/PyAnY3VycmVudCcpO1xuY29uc3Qgc2VsZWN0ZWRJdGVtSWRzID0gY3JlYXRlU2VsZWN0b3IocmVzdWx0cywgKHJlc3VsdHMpID0+IHJlc3VsdHMuc2VsZWN0ZWRJdGVtcyA/PyAoW10gYXMgc3RyaW5nW10pKTtcbmNvbnN0IG9iamVjdERldGFpbHMgPSBjcmVhdGVTZWxlY3RvcihyZXN1bHRzLCAocmVzdWx0cykgPT4gcmVzdWx0cy5vYmplY3REZXRhaWxzID8/ICh7fSBhcyB7IFtpZDogc3RyaW5nXTogSXRlbSB9KSk7XG5jb25zdCBxdWlja09yZGVyID0gY3JlYXRlU2VsZWN0b3IocmVzdWx0cywgKHJlc3VsdHMpID0+IHJlc3VsdHMucXVpY2tPcmRlciA/PyAoe30gYXMgeyBbaWQ6IHN0cmluZ106IFJlc3VsdE9yZGVyIH0pKTtcbmNvbnN0IGFsbEl0ZW1zID0gY3JlYXRlU2VsZWN0b3IocmVzdWx0cywgKHJlc3VsdHMpID0+XG4gIE9iamVjdC5rZXlzKHJlc3VsdHMucmVzdWx0U2V0cylcbiAgICAubWFwKChyc0tleSkgPT5cbiAgICAgIE9iamVjdC5rZXlzKHJlc3VsdHMucmVzdWx0U2V0c1tyc0tleV0uaXRlbXMpXG4gICAgICAgIC5tYXAoKGNsYXNzS2V5KSA9PiAocmVzdWx0cy5yZXN1bHRTZXRzW3JzS2V5XSBhcyBSZXN1bHRTZXQpLml0ZW1zW2NsYXNzS2V5XSlcbiAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSlcbiAgICApXG4gICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSlcbik7XG5jb25zdCBnZXRJdGVtc0J5SWRzID0gKGlkczogc3RyaW5nW10pID0+XG4gIGNyZWF0ZVNlbGVjdG9yKGFsbEl0ZW1zLCAoaXRlbXMpID0+IGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaWRzLmluY2x1ZGVzKGl0ZW0uaWQpKSk7XG5jb25zdCBzZWxlY3RlZEl0ZW1zID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdGVkSXRlbUlkcyxcbiAgYWxsSXRlbXMsXG4gIChpdGVtTmFtZXMsIGFsbEl0ZW1zKSA9PiBpdGVtTmFtZXMubWFwKChuYW1lKSA9PiBhbGxJdGVtcy5maW5kKChpdCkgPT4gaXQuaWQgPT09IG5hbWUpKSA/PyAoW10gYXMgSXRlbVtdKVxuKTtcbmNvbnN0IGRhc2hib2FyZCA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+IHN0YXRlPy5kYXNoYm9hcmQgPz8ge30pO1xuY29uc3QgZGFzaGJvYXJkQ2VsbFBhcmFtcyA9IGNyZWF0ZVNlbGVjdG9yKGRhc2hib2FyZCwgKGRhc2hib2FyZCkgPT4gZGFzaGJvYXJkLnBhcmFtcyA/PyA8RGFzaGJvYXJkQ2VsbFBhcmFtcz57fSk7XG5jb25zdCBkYXNoYm9hcmRFZGl0aW9uTW9kZSA9IGNyZWF0ZVNlbGVjdG9yKGRhc2hib2FyZCwgKGRhc2hib2FyZCkgPT4gZGFzaGJvYXJkLmVkaXRpb25Nb2RlID8/IGZhbHNlKTtcbmNvbnN0IG5hbWVkUXVlcmllc1VzZXMgPSBjcmVhdGVTZWxlY3RvcihnbG9iYWxNYW5pZmVzdCwgKG1hbmlmZXN0KSA9PlxuICBtYW5pZmVzdC53aW5kb3dzXG4gICAgLm1hcCgod2luZG93LCBpZHgpID0+ICh7IHdpbmRvd0luZGV4OiBpZHgsIHdpZGdldHM6IHdpbmRvdy53aWRnZXRzIH0pKVxuICAgIC5tYXAoKHsgd2luZG93SW5kZXgsIHdpZGdldHMgfSkgPT5cbiAgICAgIHdpZGdldHMubWFwKCh3aWRnZXQpID0+XG4gICAgICAgIChBcnJheS5pc0FycmF5KHdpZGdldC5kYXRhc291cmNlKSA/IHdpZGdldC5kYXRhc291cmNlIDogW3dpZGdldC5kYXRhc291cmNlXSlcbiAgICAgICAgICAuZmlsdGVyKChyc05hbWUpID0+IHJzTmFtZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgIC5tYXAoKHJzTmFtZSkgPT4gKHtcbiAgICAgICAgICAgIHJzTmFtZSxcbiAgICAgICAgICAgIHdpbmRvd0luZGV4LFxuICAgICAgICAgICAgdHlwZTogd2lkZ2V0LnR5cGUsXG4gICAgICAgICAgICBsYXlvdXQ6IHdpZGdldC5sYXlvdXRcbiAgICAgICAgICB9KSlcbiAgICAgIClcbiAgICApXG4gICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSlcbiAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgIC5yZWR1Y2UoXG4gICAgICAocCwgYykgPT4gKHsgLi4ucCwgW2MucnNOYW1lID8/ICcnXTogWy4uLihwW2MucnNOYW1lID8/ICcnXSB8fCBbXSksIHsgLi4uYyB9XSB9KSxcbiAgICAgIHt9IGFzIHsgW2tleTogc3RyaW5nXTogeyB3aW5kb3dJbmRleDogbnVtYmVyOyB0eXBlOiBzdHJpbmc7IGxheW91dDogV2lkZ2V0TGF5b3V0OyByc05hbWU/OiBzdHJpbmcgfVtdIH1cbiAgICApXG4pO1xuY29uc3QgcHJlc2VudGF0aW9uID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/LnByZXNlbnRhdGlvbik7XG5jb25zdCBpc0N1cnJlbnRQcmVzZW50YXRpb25Nb2RpZmllZCA9IGNyZWF0ZVNlbGVjdG9yKFxuICBwcmVzZW50YXRpb24sXG4gIGdsb2JhbE1hbmlmZXN0LFxuICAoc3RhdGUsIGdsb2JhbCkgPT4gIWVxdWFsKGdsb2JhbCwgc3RhdGUuaW5pdGlhbClcbik7XG5jb25zdCBpc0N1cnJlbnRQcmVzZW50YXRpb25Pd25lciA9IGNyZWF0ZVNlbGVjdG9yKHByZXNlbnRhdGlvbiwgKHN0YXRlKSA9PiAhIXN0YXRlLmN1cnJlbnQgJiYgc3RhdGUuY3VycmVudC5vd25lcik7XG5cbmNvbnN0IGZpbHRlcnMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PiBzdGF0ZT8ubWFuaWZlc3RzLm1hbmlmZXN0LmZpbHRlcnMgPz8gW10pO1xuY29uc3QgZGF0YXNvdXJjZUZpbHRlcnMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PlxuICBzdGF0ZT8ubWFuaWZlc3RzLm1hbmlmZXN0LmZpbHRlcnNcbiAgICA/IHN0YXRlPy5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycy5yZWR1Y2UoXG4gICAgICAgIChvYmo6IHsgW2RhdGFzb3VyY2VJZDogc3RyaW5nXTogRmlsdGVyQ29udGV4dFtdIH0sIGZpbHRlcjogRmlsdGVyKSA9PiAoXG4gICAgICAgICAgZmlsdGVyLmF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cmlidXRlKSA9PlxuICAgICAgICAgICAgKG9ialthdHRyaWJ1dGUuZGF0YXNvdXJjZV0gfHwgKG9ialthdHRyaWJ1dGUuZGF0YXNvdXJjZV0gPSBbXSkpLnB1c2goe1xuICAgICAgICAgICAgICBhdHRyaWJ1dGU6IGF0dHJpYnV0ZS5pZCxcbiAgICAgICAgICAgICAgb3BlcmF0b3I6IGZpbHRlci5vcGVyYXRvciA/PyAnJyxcbiAgICAgICAgICAgICAgdmFsdWU6IGZpbHRlci52YWx1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLFxuICAgICAgICAgIG9ialxuICAgICAgICApLFxuICAgICAgICB7fVxuICAgICAgKVxuICAgIDoge31cbik7XG5cbmNvbnN0IG1lbW9pemVGZWF0dXJlcyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH07XG5jb25zdCB3bXNGZWF0dXJlcyA9IChjb21wb25lbnRJZDogc3RyaW5nKSA9PiB7XG4gIGlmICghbWVtb2l6ZUZlYXR1cmVzW2NvbXBvbmVudElkXSkge1xuICAgIG1lbW9pemVGZWF0dXJlc1tjb21wb25lbnRJZF0gPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIGZlYXR1cmUsXG4gICAgICAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PiBzdGF0ZS53bXNGZWF0dXJlc1tjb21wb25lbnRJZF0gPz8gW11cbiAgICApO1xuICB9XG4gIHJldHVybiBtZW1vaXplRmVhdHVyZXNbY29tcG9uZW50SWRdIGFzIE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0LCBhbnlbXSwgKHMxOiBEYXNoYm9hcmRTdGF0ZSkgPT4gYW55W10+O1xufTtcblxuY29uc3QgZGlzcGxheU9wdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PiBzdGF0ZT8uZGlzcGxheSA/PyBCQVNFX0RJU1BMQVlfT1BUSU9OUyk7XG5jb25zdCBjYXBhYmlsaXRpZXMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PiBzdGF0ZT8uY2FwYWJpbGl0aWVzKTtcbmNvbnN0IGxheWVyR3JvdXBzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/Lm1hbmlmZXN0cy5tYW5pZmVzdC5sYXllckdyb3VwcyA/PyBbXSk7XG5cbmV4cG9ydCBjb25zdCBEYXNoYm9hcmRTZWxlY3RvcnMgPSB7XG4gIGZlYXR1cmUsXG4gIHJhbmssXG4gIGN1cnJlbnRNYW5pZmVzdElkLFxuICBnbG9iYWxNYW5pZmVzdCxcbiAgcmVmcmVzaFJhdGVzLFxuICB3aW5kb3dNYW5pZmVzdCxcbiAgd2lkZ2V0TWFuaWZlc3QsXG4gIG1hbmlmZXN0c0xpc3QsXG4gIGdyaWRMYXlvdXQsXG4gIHRlbmFudHMsXG4gIHJlc3VsdFNldHMsXG4gIHJlc3VsdFNldHNQYXJhbXMsXG4gIG5hbWVkUXVlcmllc05hbWVzLFxuICBuYW1lZFF1ZXJpZXNVc2VzLFxuICBhdmFpbGFibGVOYW1lZFF1ZXJpZXMsXG4gIGRlZmF1bHREYXRhc291cmNlTmFtZXMsXG4gIHNlbGVjdGVkSXRlbUlkcyxcbiAgYWxsSXRlbXMsXG4gIGdldEl0ZW1zQnlJZHMsXG4gIHNlbGVjdGVkSXRlbXMsXG4gIG9iamVjdERldGFpbHMsXG4gIHRhcmdldFRlbmFudHNJbmRleGVzLFxuICBkYXNoYm9hcmQsXG4gIGRhc2hib2FyZENlbGxQYXJhbXMsXG4gIGRhc2hib2FyZEVkaXRpb25Nb2RlLFxuICBzdGF0aWNNYW5pZmVzdCxcbiAgbG9hZGluZyxcbiAgcXVpY2tPcmRlcixcbiAgcHJlc2VudGF0aW9uLFxuICBmaWx0ZXJzLFxuICBpc0N1cnJlbnRQcmVzZW50YXRpb25Nb2RpZmllZCxcbiAgaXNDdXJyZW50UHJlc2VudGF0aW9uT3duZXIsXG4gIGRhdGFzb3VyY2VGaWx0ZXJzLFxuICB3bXNGZWF0dXJlcyxcbiAgZGlzcGxheU9wdGlvbnMsXG4gIGNhcGFiaWxpdGllcyxcbiAgbGF5ZXJHcm91cHNcbn07XG4iXX0=
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUN0RixPQUFPLEtBQUssTUFBTSxxQkFBcUIsQ0FBQztBQUd4QyxPQUFPLEVBQ0wsbUJBQW1CLEVBS3BCLE1BQU0scUNBQXFDLENBQUM7QUFLN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbEYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUU3QixNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQztBQUN4RSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZGLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3BHLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3hGLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FDbkMsU0FBUztBQUNULGFBQWE7QUFDYixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQUUsUUFBUSxFQUFFLENB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QUFFRixNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2xILE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDN0YsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUVwSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxPQUFPO0lBQ1AsSUFBSTtJQUNKLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsWUFBWTtJQUNaLGNBQWM7SUFDZCxjQUFjO0lBQ2QsYUFBYTtJQUNiLFVBQVU7SUFDVixPQUFPO0lBQ1AsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLFFBQVE7SUFDUixhQUFhO0lBQ2IsYUFBYTtJQUNiLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsU0FBUztJQUNULG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsY0FBYztJQUNkLE9BQU87SUFDUCxVQUFVO0lBQ1YsWUFBWTtJQUNaLE9BQU87SUFDUCw2QkFBNkI7SUFDN0IsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxjQUFjO0lBQ2QsWUFBWTtJQUNaLFdBQVc7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciwgTWVtb2l6ZWRTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCBlcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwvZXM2JztcbmltcG9ydCB7IEZpbHRlciwgRmlsdGVyQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRHcmlkTGF5b3V0LFxuICBEYXNoYm9hcmRNYW5pZmVzdCxcbiAgR2xvYmFsTWFuaWZlc3QsXG4gIFdpZGdldExheW91dCxcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0T3JkZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0LCBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRDZWxsUGFyYW1zIH0gZnJvbSAnLi9kYXNoYm9hcmQuYWN0aW9ucyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRTdGF0ZSB9IGZyb20gJy4vZGFzaGJvYXJkLnJlZHVjZXJzJztcbmltcG9ydCB7IEJBU0VfRElTUExBWV9PUFRJT05TIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9kaXNwbGF5LW9wdGlvbnMuaW50ZXJmYWNlJztcblxuY29uc3QgTkVXX1dJTkRPV19UQVJHRVQgPSAtMTtcblxuY29uc3QgZmVhdHVyZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxEYXNoYm9hcmRTdGF0ZT4oJ0BwcnkvZGFzaGJvYXJkJyk7XG5jb25zdCBtYW5pZmVzdHMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PiBzdGF0ZT8ubWFuaWZlc3RzKTtcbmNvbnN0IHJhbmsgPSBjcmVhdGVTZWxlY3RvcihtYW5pZmVzdHMsIChtYW5pZmVzdHMpID0+IG1hbmlmZXN0cz8udGVuYW50cy5pbmRleE9mKG1hbmlmZXN0cy5zZW5kZXIpKTtcbmNvbnN0IGN1cnJlbnRNYW5pZmVzdElkID0gY3JlYXRlU2VsZWN0b3IobWFuaWZlc3RzLCAobWFuaWZlc3RzKSA9PiBtYW5pZmVzdHMuY3VycmVudElkKTtcbmNvbnN0IGdsb2JhbE1hbmlmZXN0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIG1hbmlmZXN0cyxcbiAgLy8gQHRzLWlnbm9yZVxuICAobWFuaWZlc3RzKSA9PiAoeyB3aW5kb3dzOiBbXSwgLi4ubWFuaWZlc3RzPy5tYW5pZmVzdCB9KSA/PyAoeyB3aW5kb3dzOiBbXSB9IGFzIEdsb2JhbE1hbmlmZXN0KVxuKTtcbmNvbnN0IHN0YXRpY01hbmlmZXN0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIG1hbmlmZXN0cyxcbiAgLy8gQHRzLWlnbm9yZVxuICAobWFuaWZlc3RzKSA9PiAoeyB3aW5kb3dzOiBbXSwgLi4ubWFuaWZlc3RzPy5zdGF0aWNNYW5pZmVzdCB9KSA/PyAoeyB3aW5kb3dzOiBbXSB9IGFzIEdsb2JhbE1hbmlmZXN0KVxuKTtcbmNvbnN0IGxvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihtYW5pZmVzdHMsIChtYW5pZmVzdHMpID0+ICEhbWFuaWZlc3RzPy5sb2FkaW5nKTtcbmNvbnN0IHJlZnJlc2hSYXRlcyA9IGNyZWF0ZVNlbGVjdG9yKGdsb2JhbE1hbmlmZXN0LCAobWFuaWZlc3RzKSA9PiBtYW5pZmVzdHMucmVmcmVzaFJhdGVzID8/IHt9KTtcbmNvbnN0IHdpbmRvd01hbmlmZXN0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdsb2JhbE1hbmlmZXN0LFxuICByYW5rLFxuICAobWFuaWZlc3QsIHJhbmspID0+IG1hbmlmZXN0LndpbmRvd3NbcmFua10gPz8gPERhc2hib2FyZE1hbmlmZXN0Pnsgd2lkZ2V0czogW10gfVxuKTtcbmNvbnN0IGdyaWRMYXlvdXQgPSBjcmVhdGVTZWxlY3RvcihcbiAgd2luZG93TWFuaWZlc3QsXG4gIChtYW5pZmVzdCkgPT4gKChtYW5pZmVzdC5ncmlkID8/IHt9KS5sYXlvdXQgPz8gRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUwpIGFzIHN0cmluZ1xuKTtcbmNvbnN0IG1lbW9pemVXaWRnZXRNYW5pZmVzdCA9IHt9IGFzIGFueTtcbmNvbnN0IHdpZGdldE1hbmlmZXN0ID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgaWYgKCFtZW1vaXplV2lkZ2V0TWFuaWZlc3RbaW5kZXhdKSB7XG4gICAgbWVtb2l6ZVdpZGdldE1hbmlmZXN0W2luZGV4XSA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgd2luZG93TWFuaWZlc3QsXG4gICAgICAod2luZG93TWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0KSA9PlxuICAgICAgICB3aW5kb3dNYW5pZmVzdC53aWRnZXRzW2luZGV4XSA/P1xuICAgICAgICAoe1xuICAgICAgICAgIHR5cGU6ICdwbGFjZWhvbGRlcicsXG4gICAgICAgICAgbGF5b3V0OiB7IHg6IDEsIHk6IDEsIHdpZHRoOiAxLCBoZWlnaHQ6IDEgfVxuICAgICAgICB9IGFzIFdpZGdldE1hbmlmZXN0KVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG1lbW9pemVXaWRnZXRNYW5pZmVzdFtpbmRleF0gYXMgTWVtb2l6ZWRTZWxlY3RvcjxEYXNoYm9hcmRNYW5pZmVzdCwgV2lkZ2V0TWFuaWZlc3Q+O1xufTtcbmNvbnN0IG1hbmlmZXN0c0xpc3QgPSBjcmVhdGVTZWxlY3RvcihtYW5pZmVzdHMsIChtYW5pZmVzdHMpID0+IG1hbmlmZXN0cy5saXN0KTtcbmNvbnN0IHRlbmFudHMgPSBjcmVhdGVTZWxlY3RvcihtYW5pZmVzdHMsIChtYW5pZmVzdHMpID0+IG1hbmlmZXN0cy50ZW5hbnRzID8/IDxzdHJpbmdbXT5bXSk7XG5jb25zdCB0YXJnZXRUZW5hbnRzSW5kZXhlcyA9IGNyZWF0ZVNlbGVjdG9yKG1hbmlmZXN0cywgcmFuaywgKG1hbmlmZXN0cywgcmFuaykgPT4gW1xuICBORVdfV0lORE9XX1RBUkdFVCxcbiAgLi4uKG1hbmlmZXN0cy50ZW5hbnRzID8/IChbXSBhcyBzdHJpbmdbXSkpLm1hcCgodGVuLCBpZHgpID0+IGlkeCkuZmlsdGVyKChpZHgpID0+IGlkeCAhPT0gcmFuaylcbl0pO1xuY29uc3QgcmVzdWx0cyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+IHN0YXRlPy5yZXN1bHRzKTtcblxuY29uc3QgcmVzdWx0U2V0cyA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdHMsIChyZXN1bHRzKSA9PiByZXN1bHRzLnJlc3VsdFNldHMgPz8gKHt9IGFzIFJlc3VsdFNldHMpKTtcbmNvbnN0IHJlc3VsdFNldHNQYXJhbXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgcmVzdWx0cyxcbiAgKHJlc3VsdHMpID0+IHJlc3VsdHMucmVzdWx0U2V0c1BhcmFtcyA/PyAoe30gYXMgeyBbaWQ6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZCB9KVxuKTtcbmNvbnN0IG5hbWVkUXVlcmllc05hbWVzID0gY3JlYXRlU2VsZWN0b3IocmVzdWx0U2V0cywgKHN0YXRlOiBSZXN1bHRTZXRzKSA9PiBPYmplY3Qua2V5cyhzdGF0ZSkgPz8gPHN0cmluZ1tdPltdKTtcbmNvbnN0IGF2YWlsYWJsZU5hbWVkUXVlcmllcyA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdHMsIChyZXN1bHRzKSA9PiB7XG4gIHJldHVybiBbLi4ubmV3IFNldChbLi4ucmVzdWx0cy5hdmFpbGFibGVEYXRhc291cmNlTmFtZXMsIC4uLk9iamVjdC5rZXlzKHJlc3VsdHMucmVzdWx0U2V0cyldKV0gPz8gPHN0cmluZ1tdPltdO1xufSk7XG5jb25zdCBkZWZhdWx0RGF0YXNvdXJjZU5hbWVzID0gY3JlYXRlU2VsZWN0b3IocmVzdWx0cywgKHJlc3VsdHMpID0+IHJlc3VsdHMuZGVmYXVsdERhdGFzb3VyY2UgPz8gJ2N1cnJlbnQnKTtcbmNvbnN0IHNlbGVjdGVkSXRlbUlkcyA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdHMsIChyZXN1bHRzKSA9PiByZXN1bHRzLnNlbGVjdGVkSXRlbXMgPz8gKFtdIGFzIHN0cmluZ1tdKSk7XG5jb25zdCBvYmplY3REZXRhaWxzID0gY3JlYXRlU2VsZWN0b3IocmVzdWx0cywgKHJlc3VsdHMpID0+IHJlc3VsdHMub2JqZWN0RGV0YWlscyA/PyAoe30gYXMgeyBbaWQ6IHN0cmluZ106IEl0ZW0gfSkpO1xuY29uc3QgcXVpY2tPcmRlciA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdHMsIChyZXN1bHRzKSA9PiByZXN1bHRzLnF1aWNrT3JkZXIgPz8gKHt9IGFzIHsgW2lkOiBzdHJpbmddOiBSZXN1bHRPcmRlciB9KSk7XG5jb25zdCBhbGxJdGVtcyA9IGNyZWF0ZVNlbGVjdG9yKHJlc3VsdHMsIChyZXN1bHRzKSA9PlxuICBPYmplY3Qua2V5cyhyZXN1bHRzLnJlc3VsdFNldHMpXG4gICAgLm1hcCgocnNLZXkpID0+XG4gICAgICBPYmplY3Qua2V5cyhyZXN1bHRzLnJlc3VsdFNldHNbcnNLZXldLml0ZW1zKVxuICAgICAgICAubWFwKChjbGFzc0tleSkgPT4gKHJlc3VsdHMucmVzdWx0U2V0c1tyc0tleV0gYXMgUmVzdWx0U2V0KS5pdGVtc1tjbGFzc0tleV0pXG4gICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pXG4gICAgKVxuICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pXG4pO1xuY29uc3QgZ2V0SXRlbXNCeUlkcyA9IChpZHM6IHN0cmluZ1tdKSA9PlxuICBjcmVhdGVTZWxlY3RvcihhbGxJdGVtcywgKGl0ZW1zKSA9PiBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGlkcy5pbmNsdWRlcyhpdGVtLmlkKSkpO1xuY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RlZEl0ZW1JZHMsXG4gIGFsbEl0ZW1zLFxuICAoaXRlbU5hbWVzLCBhbGxJdGVtcykgPT4gaXRlbU5hbWVzLm1hcCgobmFtZSkgPT4gYWxsSXRlbXMuZmluZCgoaXQpID0+IGl0LmlkID09PSBuYW1lKSkgPz8gKFtdIGFzIEl0ZW1bXSlcbik7XG5jb25zdCBkYXNoYm9hcmQgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGU6IERhc2hib2FyZFN0YXRlKSA9PiBzdGF0ZT8uZGFzaGJvYXJkID8/IHt9KTtcbmNvbnN0IGRhc2hib2FyZENlbGxQYXJhbXMgPSBjcmVhdGVTZWxlY3RvcihkYXNoYm9hcmQsIChkYXNoYm9hcmQpID0+IGRhc2hib2FyZC5wYXJhbXMgPz8gPERhc2hib2FyZENlbGxQYXJhbXM+e30pO1xuY29uc3QgZGFzaGJvYXJkRWRpdGlvbk1vZGUgPSBjcmVhdGVTZWxlY3RvcihkYXNoYm9hcmQsIChkYXNoYm9hcmQpID0+IGRhc2hib2FyZC5lZGl0aW9uTW9kZSA/PyBmYWxzZSk7XG5jb25zdCBuYW1lZFF1ZXJpZXNVc2VzID0gY3JlYXRlU2VsZWN0b3IoZ2xvYmFsTWFuaWZlc3QsIChtYW5pZmVzdCkgPT5cbiAgbWFuaWZlc3Qud2luZG93c1xuICAgIC5tYXAoKHdpbmRvdywgaWR4KSA9PiAoeyB3aW5kb3dJbmRleDogaWR4LCB3aWRnZXRzOiB3aW5kb3cud2lkZ2V0cyB9KSlcbiAgICAubWFwKCh7IHdpbmRvd0luZGV4LCB3aWRnZXRzIH0pID0+XG4gICAgICB3aWRnZXRzLm1hcCgod2lkZ2V0KSA9PlxuICAgICAgICAoQXJyYXkuaXNBcnJheSh3aWRnZXQuZGF0YXNvdXJjZSkgPyB3aWRnZXQuZGF0YXNvdXJjZSA6IFt3aWRnZXQuZGF0YXNvdXJjZV0pXG4gICAgICAgICAgLmZpbHRlcigocnNOYW1lKSA9PiByc05hbWUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAubWFwKChyc05hbWUpID0+ICh7XG4gICAgICAgICAgICByc05hbWUsXG4gICAgICAgICAgICB3aW5kb3dJbmRleCxcbiAgICAgICAgICAgIHR5cGU6IHdpZGdldC50eXBlLFxuICAgICAgICAgICAgbGF5b3V0OiB3aWRnZXQubGF5b3V0XG4gICAgICAgICAgfSkpXG4gICAgICApXG4gICAgKVxuICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pXG4gICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSlcbiAgICAucmVkdWNlKFxuICAgICAgKHAsIGMpID0+ICh7IC4uLnAsIFtjLnJzTmFtZSA/PyAnJ106IFsuLi4ocFtjLnJzTmFtZSA/PyAnJ10gfHwgW10pLCB7IC4uLmMgfV0gfSksXG4gICAgICB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHsgd2luZG93SW5kZXg6IG51bWJlcjsgdHlwZTogc3RyaW5nOyBsYXlvdXQ6IFdpZGdldExheW91dDsgcnNOYW1lPzogc3RyaW5nIH1bXSB9XG4gICAgKVxuKTtcbmNvbnN0IHByZXNlbnRhdGlvbiA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+IHN0YXRlPy5wcmVzZW50YXRpb24pO1xuY29uc3QgaXNDdXJyZW50UHJlc2VudGF0aW9uTW9kaWZpZWQgPSBjcmVhdGVTZWxlY3RvcihcbiAgcHJlc2VudGF0aW9uLFxuICBnbG9iYWxNYW5pZmVzdCxcbiAgKHN0YXRlLCBnbG9iYWwpID0+ICFlcXVhbChnbG9iYWwsIHN0YXRlLmluaXRpYWwpXG4pO1xuXG5jb25zdCBmaWx0ZXJzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/Lm1hbmlmZXN0cy5tYW5pZmVzdC5maWx0ZXJzID8/IFtdKTtcbmNvbnN0IGRhdGFzb3VyY2VGaWx0ZXJzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT5cbiAgc3RhdGU/Lm1hbmlmZXN0cy5tYW5pZmVzdC5maWx0ZXJzXG4gICAgPyBzdGF0ZT8ubWFuaWZlc3RzLm1hbmlmZXN0LmZpbHRlcnMucmVkdWNlKFxuICAgICAgICAob2JqOiB7IFtkYXRhc291cmNlSWQ6IHN0cmluZ106IEZpbHRlckNvbnRleHRbXSB9LCBmaWx0ZXI6IEZpbHRlcikgPT4gKFxuICAgICAgICAgIGZpbHRlci5hdHRyaWJ1dGVzLmZvckVhY2goKGF0dHJpYnV0ZSkgPT5cbiAgICAgICAgICAgIChvYmpbYXR0cmlidXRlLmRhdGFzb3VyY2VdIHx8IChvYmpbYXR0cmlidXRlLmRhdGFzb3VyY2VdID0gW10pKS5wdXNoKHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlOiBhdHRyaWJ1dGUuaWQsXG4gICAgICAgICAgICAgIG9wZXJhdG9yOiBmaWx0ZXIub3BlcmF0b3IgPz8gJycsXG4gICAgICAgICAgICAgIHZhbHVlOiBmaWx0ZXIudmFsdWVcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKSxcbiAgICAgICAgICBvYmpcbiAgICAgICAgKSxcbiAgICAgICAge31cbiAgICAgIClcbiAgICA6IHt9XG4pO1xuXG5jb25zdCBtZW1vaXplRmVhdHVyZXMgPSB7fSBhcyB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuY29uc3Qgd21zRmVhdHVyZXMgPSAoY29tcG9uZW50SWQ6IHN0cmluZykgPT4ge1xuICBpZiAoIW1lbW9pemVGZWF0dXJlc1tjb21wb25lbnRJZF0pIHtcbiAgICBtZW1vaXplRmVhdHVyZXNbY29tcG9uZW50SWRdID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBmZWF0dXJlLFxuICAgICAgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGUud21zRmVhdHVyZXNbY29tcG9uZW50SWRdID8/IFtdXG4gICAgKTtcbiAgfVxuICByZXR1cm4gbWVtb2l6ZUZlYXR1cmVzW2NvbXBvbmVudElkXSBhcyBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgYW55W10sIChzMTogRGFzaGJvYXJkU3RhdGUpID0+IGFueVtdPjtcbn07XG5cbmNvbnN0IGRpc3BsYXlPcHRpb25zID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/LmRpc3BsYXkgPz8gQkFTRV9ESVNQTEFZX09QVElPTlMpO1xuY29uc3QgY2FwYWJpbGl0aWVzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlOiBEYXNoYm9hcmRTdGF0ZSkgPT4gc3RhdGU/LmNhcGFiaWxpdGllcyk7XG5jb25zdCBsYXllckdyb3VwcyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZTogRGFzaGJvYXJkU3RhdGUpID0+IHN0YXRlPy5tYW5pZmVzdHMubWFuaWZlc3QubGF5ZXJHcm91cHMgPz8gW10pO1xuXG5leHBvcnQgY29uc3QgRGFzaGJvYXJkU2VsZWN0b3JzID0ge1xuICBmZWF0dXJlLFxuICByYW5rLFxuICBjdXJyZW50TWFuaWZlc3RJZCxcbiAgZ2xvYmFsTWFuaWZlc3QsXG4gIHJlZnJlc2hSYXRlcyxcbiAgd2luZG93TWFuaWZlc3QsXG4gIHdpZGdldE1hbmlmZXN0LFxuICBtYW5pZmVzdHNMaXN0LFxuICBncmlkTGF5b3V0LFxuICB0ZW5hbnRzLFxuICByZXN1bHRTZXRzLFxuICByZXN1bHRTZXRzUGFyYW1zLFxuICBuYW1lZFF1ZXJpZXNOYW1lcyxcbiAgbmFtZWRRdWVyaWVzVXNlcyxcbiAgYXZhaWxhYmxlTmFtZWRRdWVyaWVzLFxuICBkZWZhdWx0RGF0YXNvdXJjZU5hbWVzLFxuICBzZWxlY3RlZEl0ZW1JZHMsXG4gIGFsbEl0ZW1zLFxuICBnZXRJdGVtc0J5SWRzLFxuICBzZWxlY3RlZEl0ZW1zLFxuICBvYmplY3REZXRhaWxzLFxuICB0YXJnZXRUZW5hbnRzSW5kZXhlcyxcbiAgZGFzaGJvYXJkLFxuICBkYXNoYm9hcmRDZWxsUGFyYW1zLFxuICBkYXNoYm9hcmRFZGl0aW9uTW9kZSxcbiAgc3RhdGljTWFuaWZlc3QsXG4gIGxvYWRpbmcsXG4gIHF1aWNrT3JkZXIsXG4gIHByZXNlbnRhdGlvbixcbiAgZmlsdGVycyxcbiAgaXNDdXJyZW50UHJlc2VudGF0aW9uTW9kaWZpZWQsXG4gIGRhdGFzb3VyY2VGaWx0ZXJzLFxuICB3bXNGZWF0dXJlcyxcbiAgZGlzcGxheU9wdGlvbnMsXG4gIGNhcGFiaWxpdGllcyxcbiAgbGF5ZXJHcm91cHNcbn07XG4iXX0=
|