@provoly/dashboard 0.21.3 → 0.21.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/svgs/layers.svg +3 -2
- package/assets/svgs/legend.svg +14 -3
- package/dataset/style/_o-pry-dataset.scss +6 -9
- package/esm2022/dataset/components/dataset.component.mjs +3 -3
- package/esm2022/dataset/style/css.component.mjs +2 -2
- package/esm2022/lib/core/auth/geoAuth.service.mjs +29 -5
- package/esm2022/lib/core/components/select/select.component.mjs +13 -3
- package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +14 -6
- package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +8 -3
- package/esm2022/lib/core/i18n/en.translations.mjs +9 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +9 -3
- package/esm2022/lib/core/model/display-options.interface.mjs +24 -7
- package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
- package/esm2022/lib/core/store/field/field.interface.mjs +2 -1
- package/esm2022/lib/core/store/item/item.effects.mjs +2 -2
- package/esm2022/lib/core/store/search/search.reducer.mjs +2 -2
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +3 -3
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +12 -3
- package/esm2022/lib/dashboard/dashboard.module.mjs +5 -4
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -1
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +14 -6
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +8 -2
- package/esm2022/lib/dashboard/store/manifest.service.mjs +4 -3
- package/esm2022/notification/components/notification/content/notification-content.component.mjs +12 -8
- package/esm2022/notification/components/notification/notification.component.mjs +2 -1
- package/esm2022/notification/style/css.component.mjs +2 -2
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +3 -3
- package/esm2022/presentation/components/presentation.component.mjs +17 -9
- package/esm2022/presentation/i18n/en.translations.mjs +2 -1
- package/esm2022/presentation/i18n/fr.translations.mjs +3 -2
- package/esm2022/presentation/style/css.component.mjs +2 -2
- package/esm2022/restitution/components/restitution/restitution.component.mjs +5 -5
- package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +3 -3
- package/esm2022/restitution/style/css.component.mjs +2 -2
- package/esm2022/toolbox/components/delete/delete.component.mjs +29 -0
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +12 -6
- package/esm2022/toolbox/components/share/share.component.mjs +72 -0
- package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +26 -0
- package/esm2022/toolbox/components/toolbox.component.mjs +3 -3
- package/esm2022/toolbox/public-api.mjs +4 -1
- package/esm2022/toolbox/toolbox.model.mjs +22 -2
- package/esm2022/toolbox/toolbox.module.mjs +16 -4
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +2 -2
- package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +27 -13
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +61 -22
- package/esm2022/widgets/widget-map/i18n/en.translations.mjs +5 -2
- package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +5 -2
- package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +3 -2
- package/esm2022/widgets/widget-map/style/css.component.mjs +2 -2
- package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +16 -7
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +3 -2
- package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +2 -2
- package/fesm2022/provoly-dashboard-dataset.mjs +4 -4
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-notification.mjs +14 -9
- package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +23 -13
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +8 -8
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +145 -12
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +114 -47
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +138 -39
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/auth/geoAuth.service.d.ts +5 -1
- package/lib/core/components/select/select.component.d.ts +2 -0
- package/lib/core/components/share/group-share/group-share.component.d.ts +2 -2
- package/lib/core/components/snackbar/snackbar.service.d.ts +2 -1
- package/lib/core/i18n/en.translations.d.ts +7 -0
- package/lib/core/i18n/fr.translations.d.ts +7 -1
- package/lib/core/model/display-options.interface.d.ts +3 -0
- package/lib/core/model/manifest.interface.d.ts +3 -1
- package/lib/core/store/field/field.interface.d.ts +1 -0
- package/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.d.ts +1 -0
- package/lib/dashboard/store/dashboard.actions.d.ts +3 -0
- package/lib/dashboard/store/dashboard.effects.d.ts +1 -1
- package/lib/dashboard/store/manifest.service.d.ts +2 -1
- package/notification/components/notification/content/notification-content.component.d.ts +4 -2
- package/notification/style/_m-notifications.scss +6 -7
- package/package.json +7 -7
- package/presentation/components/presentation.component.d.ts +4 -1
- package/presentation/i18n/en.translations.d.ts +1 -0
- package/presentation/i18n/fr.translations.d.ts +1 -0
- package/presentation/style/_o-pry-presentation.scss +0 -16
- package/restitution/components/restitution/restitution.component.d.ts +1 -1
- package/restitution/style/_o-restitution.scss +12 -42
- package/styles/components/_a-page-loader.scss +1 -1
- package/styles/components/_o-draggable-menu.scss +8 -0
- package/styles/components/_o-pry-stepper.scss +9 -10
- package/styles/components/_o-widget.scss +7 -3
- package/styles/layout/_o-manifest-layout.scss +20 -0
- package/styles-theme/components-theme/_o-widget.theme.scss +1 -1
- package/toolbox/components/delete/delete.component.d.ts +19 -0
- package/toolbox/components/save-view/save-view.component.d.ts +3 -2
- package/toolbox/components/share/share.component.d.ts +26 -0
- package/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.d.ts +15 -0
- package/toolbox/public-api.d.ts +3 -0
- package/toolbox/toolbox.module.d.ts +12 -9
- package/widgets/widget-chart/component/widget-chart.component.d.ts +1 -1
- package/widgets/widget-map/component/widget-map-layer.service.d.ts +4 -3
- package/widgets/widget-map/component/widget-map.component.d.ts +8 -6
- package/widgets/widget-map/i18n/en.translations.d.ts +3 -0
- package/widgets/widget-map/i18n/fr.translations.d.ts +3 -0
- package/widgets/widget-map/style/_o-layer-legend.scss +43 -54
- package/widgets/widget-map/utils/cql-utils.class.d.ts +2 -2
- package/widgets/widget-map/utils/widget-map.utils.d.ts +2 -0
|
@@ -34,6 +34,7 @@ export const enTranslations = {
|
|
|
34
34
|
required: 'This field is required',
|
|
35
35
|
maxLength: 'Allowed length : {{len}}',
|
|
36
36
|
edition: 'Edit',
|
|
37
|
+
editionContent: 'Edit content',
|
|
37
38
|
delete: 'Delete',
|
|
38
39
|
backToCatalog: 'Back to catalog',
|
|
39
40
|
search: 'Search',
|
|
@@ -41,4 +42,4 @@ export const enTranslations = {
|
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvcHJlc2VudGF0aW9uL2kxOG4vZW4udHJhbnNsYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixNQUFNLEVBQUU7UUFDTixZQUFZLEVBQUU7WUFDWixHQUFHLEVBQUU7Z0JBQ0gsU0FBUyxFQUFFLDhCQUE4QjtnQkFDekMsTUFBTSxFQUFFLGdCQUFnQjthQUN6QjtZQUNELElBQUksRUFBRTtnQkFDSixTQUFTLEVBQUUsOEJBQThCO2dCQUN6QyxNQUFNLEVBQUUsZ0JBQWdCO2FBQ3pCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxPQUFPO2dCQUNiLFdBQVcsRUFBRSxhQUFhO2dCQUMxQixLQUFLLEVBQUUsT0FBTztnQkFDZCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsRUFBRSxFQUFFLElBQUk7Z0JBQ1IsVUFBVSxFQUFFLFlBQVk7Z0JBQ3hCLGFBQWEsRUFBRSxnQkFBZ0I7Z0JBQy9CLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLEtBQUssRUFBRSw4Q0FBOEM7Z0JBQ3JELEtBQUssRUFBRSxPQUFPO2FBQ2Y7WUFDRCxLQUFLLEVBQUUsT0FBTztZQUNkLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsT0FBTyxFQUFFLFNBQVM7WUFDbEIsSUFBSSxFQUFFLDBCQUEwQjtZQUNoQyxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsS0FBSyxFQUFFLHFCQUFxQjtZQUM1QixNQUFNLEVBQUUseUJBQXlCO1lBQ2pDLE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsYUFBYSxFQUFFLG9CQUFvQjtZQUNuQyxRQUFRLEVBQUUsd0JBQXdCO1lBQ2xDLFNBQVMsRUFBRSwwQkFBMEI7WUFDckMsT0FBTyxFQUFFLE1BQU07WUFDZixjQUFjLEVBQUUsY0FBYztZQUM5QixNQUFNLEVBQUUsUUFBUTtZQUNoQixhQUFhLEVBQUUsaUJBQWlCO1lBQ2hDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEtBQUssRUFBRSxzQkFBc0I7U0FDOUI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5UcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHByZXNlbnRhdGlvbjoge1xuICAgICAgYWRkOiB7XG4gICAgICAgIHBhZ2VUaXRsZTogJ0FkZCBwcmVzZW50YXRpb24gZGVzY3JpcHRpb24nLFxuICAgICAgICBzdWJtaXQ6ICdTYXZlIGRhc2hib2FyZCdcbiAgICAgIH0sXG4gICAgICBlZGl0OiB7XG4gICAgICAgIHBhZ2VUaXRsZTogJ0NoYW5nZSBkYXNoYm9hcmQgZGVzY3JpcHRpb24nLFxuICAgICAgICBzdWJtaXQ6ICdTYXZlIGRhc2hib2FyZCdcbiAgICAgIH0sXG4gICAgICBmb3JtOiB7XG4gICAgICAgIG5hbWU6ICdUaXRsZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICBpbWFnZTogJ0ltYWdlJyxcbiAgICAgICAgZHJhZ0Ryb3A6ICdEcmFnIGFuZCBkcm9wJyxcbiAgICAgICAgb3I6ICdvcicsXG4gICAgICAgIGNhdGVnb3JpZXM6ICdDYXRlZ29yaWVzJyxcbiAgICAgICAgY2F0ZWdvcnlJbnB1dDogJ0FkZCBjYXRlZ29yaWVzJyxcbiAgICAgICAgZ3JpZDogJ0N1cnJlbnQgZ3JpZDogJyxcbiAgICAgICAgY292ZXI6ICdJbWFnZSB3aWxsIGNvdmVyIHRoZSB3aG9sZSBwcmVzZW50YXRpb24gY2FyZCcsXG4gICAgICAgIHRoZW1lOiAnVGhlbWUnXG4gICAgICB9LFxuICAgICAgc2hhcmU6ICdTaGFyZScsXG4gICAgICBvcHRpb25zOiAnUHJlc2VudGF0aW9uIG9wdGlvbnMnLFxuICAgICAgY29uc3VsdDogJ0NvbnN1bHQnLFxuICAgICAgdmlldzogJ0NvbnN1bHQgdGhlIHByZXNlbnRhdGlvbicsXG4gICAgICBwcml2YXRlOiAnUHJpdmF0ZSBwcmVzZW50YXRpb24nLFxuICAgICAgaG9tZVZpZXc6ICdTaG93IG9uIGhvbWVwYWdlJyxcbiAgICAgIGVyYXNlOiAnRGVsZXRlIHByZXNlbnRhdGlvbicsXG4gICAgICBjaGFuZ2U6ICdNb2RpZnkgdGhlIHByZXNlbnRhdGlvbicsXG4gICAgICBjcmVhdGU6ICdDcmVhdGUgcHJlc2VudGF0aW9uJyxcbiAgICAgIGNvbmZpZ3VyYXRpb246ICdCdWlsZCBwcmVzZW50YXRpb24nLFxuICAgICAgcmVxdWlyZWQ6ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJyxcbiAgICAgIG1heExlbmd0aDogJ0FsbG93ZWQgbGVuZ3RoIDoge3tsZW59fScsXG4gICAgICBlZGl0aW9uOiAnRWRpdCcsXG4gICAgICBlZGl0aW9uQ29udGVudDogJ0VkaXQgY29udGVudCcsXG4gICAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgICAgYmFja1RvQ2F0YWxvZzogJ0JhY2sgdG8gY2F0YWxvZycsXG4gICAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgICAgdGl0bGU6ICdQcmVzZW50YXRpb24gY2F0YWxvZydcbiAgICB9XG4gIH1cbn07XG4iXX0=
|
|
@@ -34,7 +34,8 @@ export const frTranslations = {
|
|
|
34
34
|
configuration: 'Construire le tableau de bord',
|
|
35
35
|
required: 'Ce champ est requis',
|
|
36
36
|
maxLength: 'Nombre de caractères autorisés : {{len}}',
|
|
37
|
-
edition: '
|
|
37
|
+
edition: 'Modifier',
|
|
38
|
+
editionContent: 'Modifier la composition',
|
|
38
39
|
delete: 'Supprimer',
|
|
39
40
|
backToCatalog: 'Revenir au catalogue',
|
|
40
41
|
search: 'Rechercher',
|
|
@@ -42,4 +43,4 @@ export const frTranslations = {
|
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvcHJlc2VudGF0aW9uL2kxOG4vZnIudHJhbnNsYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixNQUFNLEVBQUU7UUFDTixZQUFZLEVBQUU7WUFDWixHQUFHLEVBQUU7Z0JBQ0gsU0FBUyxFQUFFLDhDQUE4QztnQkFDekQsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLE1BQU0sRUFBRSxhQUFhO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLFNBQVMsRUFBRSwyQ0FBMkM7Z0JBQ3RELE1BQU0sRUFBRSxnQ0FBZ0M7YUFDekM7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE9BQU87Z0JBQ2IsV0FBVyxFQUFFLGFBQWE7Z0JBQzFCLEtBQUssRUFBRSxzQkFBc0I7Z0JBQzdCLFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLEVBQUUsRUFBRSxJQUFJO2dCQUNSLFVBQVUsRUFBRSxZQUFZO2dCQUN4QixhQUFhLEVBQUUsMEJBQTBCO2dCQUN6QyxJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixLQUFLLEVBQUUsa0RBQWtEO2dCQUN6RCxLQUFLLEVBQUUsWUFBWTthQUNwQjtZQUNELEtBQUssRUFBRSxVQUFVO1lBQ2pCLE9BQU8sRUFBRSw0QkFBNEI7WUFDckMsT0FBTyxFQUFFLFdBQVc7WUFDcEIsSUFBSSxFQUFFLDhCQUE4QjtZQUNwQyxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsRUFBRSw0QkFBNEI7WUFDdEMsS0FBSyxFQUFFLDhCQUE4QjtZQUNyQyxNQUFNLEVBQUUsNkJBQTZCO1lBQ3JDLE1BQU0sRUFBRSwwQkFBMEI7WUFDbEMsYUFBYSxFQUFFLCtCQUErQjtZQUM5QyxRQUFRLEVBQUUscUJBQXFCO1lBQy9CLFNBQVMsRUFBRSwwQ0FBMEM7WUFDckQsT0FBTyxFQUFFLFVBQVU7WUFDbkIsY0FBYyxFQUFFLHlCQUF5QjtZQUN6QyxNQUFNLEVBQUUsV0FBVztZQUNuQixhQUFhLEVBQUUsc0JBQXNCO1lBQ3JDLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLEtBQUssRUFBRSwrQkFBK0I7U0FDdkM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHByZXNlbnRhdGlvbjoge1xuICAgICAgYWRkOiB7XG4gICAgICAgIHBhZ2VUaXRsZTogJ1JlbnNlaWduZXIgbGEgZGVzY3JpcHRpb24gZHUgdGFibGVhdSBkZSBib3JkJyxcbiAgICAgICAgaW5mbzogJ0luZm9ybWF0aW9ucycsXG4gICAgICAgIHN1Ym1pdDogJ0VucmVnaXN0cmVyJ1xuICAgICAgfSxcbiAgICAgIGVkaXQ6IHtcbiAgICAgICAgcGFnZVRpdGxlOiAnQ2hhbmdlciBsYSBkZXNjcmlwdGlvbiBkdSB0YWJsZWF1IGRlIGJvcmQnLFxuICAgICAgICBzdWJtaXQ6ICdTYXV2ZWdhcmRlciBsZSB0YWJsZWF1IGRlIGJvcmQnXG4gICAgICB9LFxuICAgICAgZm9ybToge1xuICAgICAgICBuYW1lOiAnVGl0cmUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgaW1hZ2U6ICdJbWFnZSBk4oCZaWxsdXN0cmF0aW9uJyxcbiAgICAgICAgZHJhZ0Ryb3A6ICdHbGlzc2VyIC0gRMOpcG9zZXInLFxuICAgICAgICBvcjogJ291JyxcbiAgICAgICAgY2F0ZWdvcmllczogJ0NhdMOpZ29yaWVzJyxcbiAgICAgICAgY2F0ZWdvcnlJbnB1dDogJ1NhaXNpciBsYS9sZXMgY2F0w6lnb3JpZXMnLFxuICAgICAgICBncmlkOiAnR3JpbGxlIGFjdHVlbGxlOiAnLFxuICAgICAgICBjb3ZlcjogXCJMJ2ltYWdlIGRvaXQgY291dnJpciBsYSBjYXJ0ZSBkdSB0YWJsZWF1IGRlIGJvcmRcIixcbiAgICAgICAgdGhlbWU6ICdUaMOpbWF0aXF1ZSdcbiAgICAgIH0sXG4gICAgICBzaGFyZTogJ1BhcnRhZ2VyJyxcbiAgICAgIG9wdGlvbnM6ICdPcHRpb25zIGR1IHRhYmxlYXUgZGUgYm9yZCcsXG4gICAgICBjb25zdWx0OiAnQ29uc3VsdGVyJyxcbiAgICAgIHZpZXc6ICdDb25zdWx0ZXIgbGUgdGFibGVhdSBkZSBib3JkJyxcbiAgICAgIHByaXZhdGU6ICdQcsOpc2VudGF0aW9uIHByaXbDqWUnLFxuICAgICAgaG9tZVZpZXc6IFwiQWZmaWNoZXIgZW4gcGFnZSBkJ2FjY3VlaWxcIixcbiAgICAgIGVyYXNlOiAnU3VwcHJpbWVyIGxlIHRhYmxlYXUgZGUgYm9yZCcsXG4gICAgICBjaGFuZ2U6ICdNb2RpZmllciBsZSB0YWJsZWF1IGRlIGJvcmQnLFxuICAgICAgY3JlYXRlOiAnQ3LDqWVyIHVuIHRhYmxlYXUgZGUgYm9yZCcsXG4gICAgICBjb25maWd1cmF0aW9uOiAnQ29uc3RydWlyZSBsZSB0YWJsZWF1IGRlIGJvcmQnLFxuICAgICAgcmVxdWlyZWQ6ICdDZSBjaGFtcCBlc3QgcmVxdWlzJyxcbiAgICAgIG1heExlbmd0aDogJ05vbWJyZSBkZSBjYXJhY3TDqHJlcyBhdXRvcmlzw6lzIDoge3tsZW59fScsXG4gICAgICBlZGl0aW9uOiAnTW9kaWZpZXInLFxuICAgICAgZWRpdGlvbkNvbnRlbnQ6ICdNb2RpZmllciBsYSBjb21wb3NpdGlvbicsXG4gICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgYmFja1RvQ2F0YWxvZzogJ1JldmVuaXIgYXUgY2F0YWxvZ3VlJyxcbiAgICAgIHNlYXJjaDogJ1JlY2hlcmNoZXInLFxuICAgICAgdGl0bGU6ICdDYXRhbG9ndWUgZGUgdGFibGVhdXggZGUgYm9yZCdcbiAgICB9XG4gIH1cbn07XG4iXX0=
|
|
@@ -2,10 +2,10 @@ import { Component, ViewEncapsulation } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class PryPresentationCssComponent {
|
|
4
4
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryPresentationCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryPresentationCssComponent, selector: "pry-presentation-css", ngImport: i0, template: '', isInline: true, styles: ["pry-add-edit-presentation{height:100%}.o-manifest-layout__content--presentation{width:100%;display:flex;flex-direction:column;padding:20px;text-align:left}.o-manifest-layout__content--presentation .a-h1{line-height:38px;font-size:28px;text-align:left}.o-manifest-layout__content--presentation .a-btn{margin:0 auto}.o-manifest-layout__toolbox{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.9375rem}.o-manifest-layout__toolbox .a-btn{border-radius:22px}.o-presentation-form-wrapper{display:flex;padding-bottom:.3125rem;gap:3rem}.o-presentation__metadata-editor{flex:1 50%}.o-presentation-form{display:flex;flex-direction:column;align-items:center;flex:1 50%}.o-presentation-form .a-presentation-form-input{padding:.25rem .75rem;margin-bottom:.75rem}.o-presentation-form .o-file-input{border:1px dashed black;display:flex;flex-direction:column;align-items:center;width:100%;padding:2.5rem 0;gap:15px}.o-presentation-form pry-select{width:100%}.o-presentation-form .a-btn[type=submit]{margin-top:20px}.a-presentation-title{padding:10px}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__toolbox.-u-hidden{display:none}.o-manifest-
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryPresentationCssComponent, selector: "pry-presentation-css", ngImport: i0, template: '', isInline: true, styles: ["pry-add-edit-presentation{height:100%}.o-manifest-layout__content--presentation{width:100%;display:flex;flex-direction:column;padding:20px;text-align:left}.o-manifest-layout__content--presentation .a-h1{line-height:38px;font-size:28px;text-align:left}.o-manifest-layout__content--presentation .a-btn{margin:0 auto}.o-manifest-layout__toolbox{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.9375rem}.o-manifest-layout__toolbox .a-btn{border-radius:22px}.o-presentation-form-wrapper{display:flex;padding-bottom:.3125rem;gap:3rem}.o-presentation__metadata-editor{flex:1 50%}.o-presentation-form{display:flex;flex-direction:column;align-items:center;flex:1 50%}.o-presentation-form .a-presentation-form-input{padding:.25rem .75rem;margin-bottom:.75rem}.o-presentation-form .o-file-input{border:1px dashed black;display:flex;flex-direction:column;align-items:center;width:100%;padding:2.5rem 0;gap:15px}.o-presentation-form pry-select{width:100%}.o-presentation-form .a-btn[type=submit]{margin-top:20px}.a-presentation-title{padding:10px}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__toolbox.-u-hidden{display:none}.o-manifest-layout__content{height:100%;overflow:auto}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:visible}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item:hover{cursor:pointer}.o-presentation__item:hover .o-presentation__item__footer pry-icon{visibility:visible;opacity:1}.o-presentation__item__image{cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image img{width:100px}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:flex-start;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__header .a-tooltip{width:100%}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem;display:flex;flex-direction:column;justify-content:space-between}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__title-container.a-tooltip[data-tooltip]:after{top:calc(100% - 15px)}.o-presentation__item__description-container{position:relative;width:100%;display:flex;align-content:center;min-height:1.25rem}.o-presentation__item__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-presentation__item__description{width:100%;max-height:2.5rem}.o-presentation__item__footer{display:flex;align-content:center;justify-content:center;font-size:.875rem;line-height:1.125rem;padding:.1875rem 0;max-height:2.3125rem}.o-presentation__item__footer .a-btn{margin-left:1.25rem}.o-presentation__item__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-presentation-consult{width:100%;padding:.9375rem}.more-button{position:absolute;top:.375rem;right:.625rem}.more-button .a-btn{padding:.125rem 0;border-radius:50%}.m-context-menu{position:absolute}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
6
6
|
}
|
|
7
7
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryPresentationCssComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
|
-
args: [{ selector: 'pry-presentation-css', template: '', encapsulation: ViewEncapsulation.None, styles: ["pry-add-edit-presentation{height:100%}.o-manifest-layout__content--presentation{width:100%;display:flex;flex-direction:column;padding:20px;text-align:left}.o-manifest-layout__content--presentation .a-h1{line-height:38px;font-size:28px;text-align:left}.o-manifest-layout__content--presentation .a-btn{margin:0 auto}.o-manifest-layout__toolbox{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.9375rem}.o-manifest-layout__toolbox .a-btn{border-radius:22px}.o-presentation-form-wrapper{display:flex;padding-bottom:.3125rem;gap:3rem}.o-presentation__metadata-editor{flex:1 50%}.o-presentation-form{display:flex;flex-direction:column;align-items:center;flex:1 50%}.o-presentation-form .a-presentation-form-input{padding:.25rem .75rem;margin-bottom:.75rem}.o-presentation-form .o-file-input{border:1px dashed black;display:flex;flex-direction:column;align-items:center;width:100%;padding:2.5rem 0;gap:15px}.o-presentation-form pry-select{width:100%}.o-presentation-form .a-btn[type=submit]{margin-top:20px}.a-presentation-title{padding:10px}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__toolbox.-u-hidden{display:none}.o-manifest-
|
|
9
|
+
args: [{ selector: 'pry-presentation-css', template: '', encapsulation: ViewEncapsulation.None, styles: ["pry-add-edit-presentation{height:100%}.o-manifest-layout__content--presentation{width:100%;display:flex;flex-direction:column;padding:20px;text-align:left}.o-manifest-layout__content--presentation .a-h1{line-height:38px;font-size:28px;text-align:left}.o-manifest-layout__content--presentation .a-btn{margin:0 auto}.o-manifest-layout__toolbox{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.9375rem}.o-manifest-layout__toolbox .a-btn{border-radius:22px}.o-presentation-form-wrapper{display:flex;padding-bottom:.3125rem;gap:3rem}.o-presentation__metadata-editor{flex:1 50%}.o-presentation-form{display:flex;flex-direction:column;align-items:center;flex:1 50%}.o-presentation-form .a-presentation-form-input{padding:.25rem .75rem;margin-bottom:.75rem}.o-presentation-form .o-file-input{border:1px dashed black;display:flex;flex-direction:column;align-items:center;width:100%;padding:2.5rem 0;gap:15px}.o-presentation-form pry-select{width:100%}.o-presentation-form .a-btn[type=submit]{margin-top:20px}.a-presentation-title{padding:10px}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__toolbox.-u-hidden{display:none}.o-manifest-layout__content{height:100%;overflow:auto}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:visible}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item:hover{cursor:pointer}.o-presentation__item:hover .o-presentation__item__footer pry-icon{visibility:visible;opacity:1}.o-presentation__item__image{cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image img{width:100px}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:flex-start;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__header .a-tooltip{width:100%}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem;display:flex;flex-direction:column;justify-content:space-between}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__title-container.a-tooltip[data-tooltip]:after{top:calc(100% - 15px)}.o-presentation__item__description-container{position:relative;width:100%;display:flex;align-content:center;min-height:1.25rem}.o-presentation__item__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-presentation__item__description{width:100%;max-height:2.5rem}.o-presentation__item__footer{display:flex;align-content:center;justify-content:center;font-size:.875rem;line-height:1.125rem;padding:.1875rem 0;max-height:2.3125rem}.o-presentation__item__footer .a-btn{margin-left:1.25rem}.o-presentation__item__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-presentation-consult{width:100%;padding:.9375rem}.more-button{position:absolute;top:.375rem;right:.625rem}.more-button .a-btn{padding:.125rem 0;border-radius:50%}.m-context-menu{position:absolute}\n"] }]
|
|
10
10
|
}] });
|
|
11
11
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3ByZXNlbnRhdGlvbi9zdHlsZS9jc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTdELE1BQU0sT0FBTywyQkFBMkI7K0dBQTNCLDJCQUEyQjttR0FBM0IsMkJBQTJCLDREQUo1QixFQUFFOzs0RkFJRCwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0Usc0JBQXNCLFlBQ3RCLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXByZXNlbnRhdGlvbi1jc3MnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL19vLXByeS1uZXctcHJlc2VudGF0aW9uLnNjc3MnLCAnLi9fby1wcnktcHJlc2VudGF0aW9uLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBQcnlQcmVzZW50YXRpb25Dc3NDb21wb25lbnQge31cbiJdfQ==
|
|
@@ -164,8 +164,8 @@ export class PryRestitutionComponent extends SubscriptionnerDirective {
|
|
|
164
164
|
this.openSettings$.next();
|
|
165
165
|
}, 150);
|
|
166
166
|
}
|
|
167
|
-
goNext(stepper) {
|
|
168
|
-
stepper.next();
|
|
167
|
+
goNext(stepper, submit) {
|
|
168
|
+
submit ? this.submit(stepper) : stepper.next();
|
|
169
169
|
}
|
|
170
170
|
prev(stepper) {
|
|
171
171
|
stepper.prev();
|
|
@@ -194,11 +194,11 @@ export class PryRestitutionComponent extends SubscriptionnerDirective {
|
|
|
194
194
|
this.restitutionCreated.emit();
|
|
195
195
|
}
|
|
196
196
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryRestitutionComponent, deps: [{ token: i1.ToolboxManifestService }, { token: i2.Store }, { token: i1.ToolboxMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
197
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryRestitutionComponent, selector: "pry-restitution", inputs: { selectedRestitution: "selectedRestitution", edit: "edit", isDataSourceSelected: "isDataSourceSelected", bindId: "bindId" }, outputs: { restitutionCreated: "restitutionCreated" }, usesInheritance: true, ngImport: i0, template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-restitution\">\n <h3 class=\"a-h2 o-restitution__title\">\n {{ (consultMode ? '@pry.restitution.consult' : edit ? '@pry.restitution.edit' : '@pry.restitution.create') | i18n }}\n </h3>\n <pry-stepper #stepper [isConsultMode]=\"consultMode || edit\" (lastStepCompleted)=\"lastStepCompleted()\">\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.configure' | i18n }}</h4>\n <div
|
|
197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryRestitutionComponent, selector: "pry-restitution", inputs: { selectedRestitution: "selectedRestitution", edit: "edit", isDataSourceSelected: "isDataSourceSelected", bindId: "bindId" }, outputs: { restitutionCreated: "restitutionCreated" }, usesInheritance: true, ngImport: i0, template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-restitution\">\n <h3 class=\"a-h2 o-restitution__title\">\n {{ (consultMode ? '@pry.restitution.consult' : edit ? '@pry.restitution.edit' : '@pry.restitution.create') | i18n }}\n </h3>\n <pry-stepper #stepper [isConsultMode]=\"consultMode || edit\" (lastStepCompleted)=\"lastStepCompleted()\">\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.configure' | i18n }}</h4>\n <div class=\"m-form-label-field\">\n <label for=\"restitution\" class=\"a-label\">{{ '@pry.restitution.restitution_type' | i18n }}</label>\n <pry-select\n id=\"restitution\"\n [items]=\"types$ | async\"\n [(ngModel)]=\"form.selectedWidget\"\n [disabled]=\"consultMode\"\n bindIcon=\"icon\"\n bindLabel=\"label\"\n bindValue=\"type\"\n >\n </pry-select>\n </div>\n <ng-container *ngIf=\"form.selectedWidget !== ''\">\n <div class=\"m-form-label-field\">\n <label for=\"graphTitle\" class=\"a-label\">{{ '@pry.restitution.graph_title' | i18n }}</label>\n <input\n name=\"title\"\n id=\"graphTitle\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.title\"\n type=\"text\"\n [disabled]=\"consultMode\"\n maxlength=\"30\"\n ngDefaultControl\n />\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"description\" class=\"a-label\">{{ '@pry.restitution.description' | i18n }}</label>\n <textarea\n name=\"description\"\n id=\"description\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.description\"\n style=\"resize: none\"\n [disabled]=\"consultMode\"\n maxlength=\"255\"\n ngDefaultControl\n >\n </textarea>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image (changed)=\"image = $event\" [iconUrl]=\"image\" [mode]=\"type\"></pry-select-image>\n <pry-checkbox [(ngModel)]=\"form.cover\" name=\"cover\"> {{ '@pry.restitution.cover' | i18n }}</pry-checkbox>\n </div>\n </div>\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"cancel(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button\n (click)=\"goNext(stepper)\"\n [disabled]=\"form.selectedWidget === '' || form.title.trim().length === 0\"\n class=\"a-btn a-btn--primary\"\n >\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </ng-container>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.dataSource' | i18n }}</h4>\n <pry-datasource-selector\n bindLabel=\"name\"\n bindValue=\"id\"\n translationStringBase=\"@pry.components.chipsSelector.datasource.\"\n (itemsChanged)=\"datasourcesChanged($event)\"\n [usedItems]=\"(usedDatasources$ | async) ?? []\"\n [showActionButtons]=\"false\"\n ></pry-datasource-selector>\n <ng-container [ngTemplateOutlet]=\"buttons\" [ngTemplateOutletContext]=\"{ submit: true }\"></ng-container>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.visualize' | i18n }}</h4>\n <div class=\"widget-instanciator\">\n <pry-widget-instanciator\n [standalone]=\"true\"\n [staticManifest]=\"customManifest\"\n [open$]=\"openSettings$\"\n (manifestModified)=\"updateManifest($event)\"\n ></pry-widget-instanciator>\n </div>\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.share' | i18n }}</h4>\n <h3>{{ '@pry.restitution.access' | i18n }}</h3>\n {{ '@pry.restitution.choice' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.public' | i18n }}\n </li>\n </ul>\n {{ '@pry.restitution.or' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.private' | i18n }}\n </li>\n </ul>\n <pry-share\n [(ngModel)]=\"visibility\"\n [users$]=\"users$\"\n labelProperty=\"name\"\n valueProperty=\"id\"\n [disabled]=\"consultMode\"\n ></pry-share>\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </pry-step>\n </pry-stepper>\n</div>\n\n<ng-template #buttons let-submit=\"submit\">\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper, submit)\" type=\"button\" class=\"a-btn a-btn--primary\">\n {{ (consultMode ? '@pry.restitution.share' : '@pry.restitution.next') | i18n }}\n </button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.PrySelectImageComponent, selector: "pry-select-image", inputs: ["iconUrl", "size", "mode"], outputs: ["toggled", "changed"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryStepperComponent, selector: "pry-stepper", inputs: ["isConsultMode"], outputs: ["lastStepCompleted"] }, { kind: "component", type: i5.PryStepComponent, selector: "pry-step", inputs: ["setActiveState"] }, { kind: "directive", type: i5.PryStepTitleDirective, selector: "[stepTitle]" }, { kind: "component", type: i1.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: i1.WidgetInstanciatorComponent, selector: "pry-widget-instanciator", inputs: ["widgetIndex", "staticManifest", "standalone", "open$"], outputs: ["manifestModified"] }, { kind: "component", type: i1.DatasourceSelectorComponent, selector: "pry-datasource-selector", inputs: ["usedItems", "manifest"] }, { kind: "component", type: i1.PryShareComponent, selector: "pry-share", inputs: ["value", "labelProperty", "valueProperty", "users$"] }, { kind: "component", type: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: i7.PryCatalogCssComponent, selector: "pry-restitution-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
|
|
198
198
|
}
|
|
199
199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryRestitutionComponent, decorators: [{
|
|
200
200
|
type: Component,
|
|
201
|
-
args: [{ selector: 'pry-restitution', template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-restitution\">\n <h3 class=\"a-h2 o-restitution__title\">\n {{ (consultMode ? '@pry.restitution.consult' : edit ? '@pry.restitution.edit' : '@pry.restitution.create') | i18n }}\n </h3>\n <pry-stepper #stepper [isConsultMode]=\"consultMode || edit\" (lastStepCompleted)=\"lastStepCompleted()\">\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.configure' | i18n }}</h4>\n <div
|
|
201
|
+
args: [{ selector: 'pry-restitution', template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-restitution\">\n <h3 class=\"a-h2 o-restitution__title\">\n {{ (consultMode ? '@pry.restitution.consult' : edit ? '@pry.restitution.edit' : '@pry.restitution.create') | i18n }}\n </h3>\n <pry-stepper #stepper [isConsultMode]=\"consultMode || edit\" (lastStepCompleted)=\"lastStepCompleted()\">\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.configure' | i18n }}</h4>\n <div class=\"m-form-label-field\">\n <label for=\"restitution\" class=\"a-label\">{{ '@pry.restitution.restitution_type' | i18n }}</label>\n <pry-select\n id=\"restitution\"\n [items]=\"types$ | async\"\n [(ngModel)]=\"form.selectedWidget\"\n [disabled]=\"consultMode\"\n bindIcon=\"icon\"\n bindLabel=\"label\"\n bindValue=\"type\"\n >\n </pry-select>\n </div>\n <ng-container *ngIf=\"form.selectedWidget !== ''\">\n <div class=\"m-form-label-field\">\n <label for=\"graphTitle\" class=\"a-label\">{{ '@pry.restitution.graph_title' | i18n }}</label>\n <input\n name=\"title\"\n id=\"graphTitle\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.title\"\n type=\"text\"\n [disabled]=\"consultMode\"\n maxlength=\"30\"\n ngDefaultControl\n />\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"description\" class=\"a-label\">{{ '@pry.restitution.description' | i18n }}</label>\n <textarea\n name=\"description\"\n id=\"description\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.description\"\n style=\"resize: none\"\n [disabled]=\"consultMode\"\n maxlength=\"255\"\n ngDefaultControl\n >\n </textarea>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image (changed)=\"image = $event\" [iconUrl]=\"image\" [mode]=\"type\"></pry-select-image>\n <pry-checkbox [(ngModel)]=\"form.cover\" name=\"cover\"> {{ '@pry.restitution.cover' | i18n }}</pry-checkbox>\n </div>\n </div>\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"cancel(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button\n (click)=\"goNext(stepper)\"\n [disabled]=\"form.selectedWidget === '' || form.title.trim().length === 0\"\n class=\"a-btn a-btn--primary\"\n >\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </ng-container>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.dataSource' | i18n }}</h4>\n <pry-datasource-selector\n bindLabel=\"name\"\n bindValue=\"id\"\n translationStringBase=\"@pry.components.chipsSelector.datasource.\"\n (itemsChanged)=\"datasourcesChanged($event)\"\n [usedItems]=\"(usedDatasources$ | async) ?? []\"\n [showActionButtons]=\"false\"\n ></pry-datasource-selector>\n <ng-container [ngTemplateOutlet]=\"buttons\" [ngTemplateOutletContext]=\"{ submit: true }\"></ng-container>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.visualize' | i18n }}</h4>\n <div class=\"widget-instanciator\">\n <pry-widget-instanciator\n [standalone]=\"true\"\n [staticManifest]=\"customManifest\"\n [open$]=\"openSettings$\"\n (manifestModified)=\"updateManifest($event)\"\n ></pry-widget-instanciator>\n </div>\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.share' | i18n }}</h4>\n <h3>{{ '@pry.restitution.access' | i18n }}</h3>\n {{ '@pry.restitution.choice' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.public' | i18n }}\n </li>\n </ul>\n {{ '@pry.restitution.or' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.private' | i18n }}\n </li>\n </ul>\n <pry-share\n [(ngModel)]=\"visibility\"\n [users$]=\"users$\"\n labelProperty=\"name\"\n valueProperty=\"id\"\n [disabled]=\"consultMode\"\n ></pry-share>\n <ng-container [ngTemplateOutlet]=\"buttons\"></ng-container>\n </pry-step>\n </pry-stepper>\n</div>\n\n<ng-template #buttons let-submit=\"submit\">\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper, submit)\" type=\"button\" class=\"a-btn a-btn--primary\">\n {{ (consultMode ? '@pry.restitution.share' : '@pry.restitution.next') | i18n }}\n </button>\n </div>\n</ng-template>\n" }]
|
|
202
202
|
}], ctorParameters: function () { return [{ type: i1.ToolboxManifestService }, { type: i2.Store }, { type: i1.ToolboxMenuService }]; }, propDecorators: { selectedRestitution: [{
|
|
203
203
|
type: Input
|
|
204
204
|
}], edit: [{
|
|
@@ -210,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
210
210
|
}], bindId: [{
|
|
211
211
|
type: Input
|
|
212
212
|
}] } });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGl0dXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvcmVzdGl0dXRpb24vY29tcG9uZW50cy9yZXN0aXR1dGlvbi9yZXN0aXR1dGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uL3Jlc3RpdHV0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUdMLFlBQVksRUFDWixjQUFjLEVBQ2QsYUFBYSxFQUNiLGdCQUFnQixFQUVoQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFlBQVksRUFFWixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLHdCQUF3QixFQUd4QixRQUFRLEVBR1QsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFPMUIsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHdCQUF3QjtJQWtDbkUsWUFDVSxzQkFBOEMsRUFDOUMsS0FBWSxFQUNaLGtCQUFzQztRQUU5QyxLQUFLLEVBQUUsQ0FBQztRQUpBLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFsQ2hELG1CQUFjLEdBQW1CO1lBQy9CLElBQUks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QUFXO29CQUNsQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtvQkFDNUIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO29CQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxFQUFFO29CQUMvQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSztvQkFDL0IsZ0JBQWdCLEVBQUUsRUFBRTtpQkFDckI7YUFDRixDQUFDLENBQ0gsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7K0dBeE5VLHVCQUF1QjttR0FBdkIsdUJBQXVCLDJRQ25DcEMsMG5NQXdKQTs7NEZEckhhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxpQkFBaUI7a0tBMEJsQixtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFHRSxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBDYXRhbG9nRW50cnksXG4gIENsYXNzLFxuICBDbGFzc0FjdGlvbnMsXG4gIENsYXNzU2VsZWN0b3JzLFxuICBDb25maWdBY3Rpb25zLFxuICBEYXNoYm9hcmRBY3Rpb25zLFxuICBEYXRhU291cmNlLFxuICBEYXRhU291cmNlQWN0aW9ucyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgREVGQVVMVF9SRVNUSVRVVElPTl9JQ09OX1VSTCxcbiAgRmllbGRBY3Rpb25zLFxuICBnZXREaXNwbGF5T3B0aW9ucyxcbiAgTGlicmFyeVR5cGVzLFxuICBQcnlWaXNpYmlsaXR5LFxuICBQcnlWaXNpYmlsaXR5VHlwZSxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlLFxuICBUb29sYm94TWFuaWZlc3RTZXJ2aWNlLFxuICBUb29sYm94TWVudVNlcnZpY2UsXG4gIFZpZXdNb2RlLFxuICBXaWRnZXQsXG4gIFdpZGdldE1hbmlmZXN0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBQcnlTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvc3RlcHBlcic7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBSZXN0aXR1dGlvbkZvcm0gfSBmcm9tICcuLi8uLi9tb2RlbC9yZXN0aXR1dGlvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1yZXN0aXR1dGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXN0aXR1dGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5UmVzdGl0dXRpb25Db21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICB0eXBlcyQ6IE9ic2VydmFibGU8eyBpY29uOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IHR5cGU6IHN0cmluZzsgbWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0IH1bXT47XG4gIGNsYXNzZXMkOiBPYnNlcnZhYmxlPENsYXNzW10+O1xuICBjdXN0b21NYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QgPSB7XG4gICAgdHlwZTogJ2RldGFpbCcsXG4gICAgbGF5b3V0OiB7IHg6IDEsIHk6IDEsIHdpZHRoOiAxLCBoZWlnaHQ6IDEgfSxcbiAgICBvcHRpb25zOiB7IGl0ZW1JZHM6IFtdIGFzIHN0cmluZ1tdIH1cbiAgfTtcbiAgZm9ybTogUmVzdGl0dXRpb25Gb3JtID0ge1xuICAgIHNlbGVjdGVkV2lkZ2V0OiAnJyxcbiAgICBzZWxlY3RlZERhdGFTb3VyY2VzOiBbXSxcbiAgICB0aXRsZTogJycsXG4gICAgaW1hZ2U6IERFRkFVTFRfUkVTVElUVVRJT05fSUNPTl9VUkwsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIGNvdmVyOiBmYWxzZVxuICB9O1xuICB2aXNpYmlsaXR5OiBQcnlWaXNpYmlsaXR5ID0ge1xuICAgIHR5cGU6IFByeVZpc2liaWxpdHlUeXBlLlBSSVZBVEUsXG4gICAgdXNlcnM6IFtdXG4gIH07XG4gIG9wZW5TZXR0aW5ncyQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICB1c2VycyQ6IE9ic2VydmFibGU8YW55W10+IHwgbnVsbCA9IG51bGw7XG4gIGNvbnN1bHRNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUmVzdGl0dXRpb246IFdpZGdldCB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBlZGl0OiBib29sZWFuID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHJlc3RpdHV0aW9uQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgd2lkZ2V0c0xpc3QkOiBPYnNlcnZhYmxlPENhdGFsb2dFbnRyeVtdPjtcbiAgdHlwZTogTGlicmFyeVR5cGVzID0gTGlicmFyeVR5cGVzLklMTFVTVFJBVElPTjtcbiAgQElucHV0KCkgaXNEYXRhU291cmNlU2VsZWN0ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgYmluZElkOiBhbnk7XG4gIGltYWdlOiBzdHJpbmcgPSBERUZBVUxUX1JFU1RJVFVUSU9OX0lDT05fVVJMO1xuICB3aWRnZXRUeXBlczogeyBpY29uOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IHR5cGU6IHN0cmluZzsgbWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0IH1bXSA9IFtdO1xuICB1c2VkRGF0YXNvdXJjZXMkOiBPYnNlcnZhYmxlPERhdGFTb3VyY2VbXT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0b29sYm94TWFuaWZlc3RTZXJ2aWNlOiBUb29sYm94TWFuaWZlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgdG9vbGJveE1lbnVTZXJ2aWNlOiBUb29sYm94TWVudVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGFzc0FjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMubG9hZEN1c3RvbWl6YXRpb24oKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChGaWVsZEFjdGlvbnMubG9hZCgpKTtcblxuICAgIHRoaXMudHlwZXMkID0gdGhpcy50b29sYm94TWVudVNlcnZpY2UudHlwZXMkLnBpcGUoXG4gICAgICBtYXAoKHR5cGUpID0+IHR5cGUuZmlsdGVyKChmaWx0ZXJlZFR5cGUpID0+IGZpbHRlcmVkVHlwZS50eXBlICE9PSAnZGV0YWlsJykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMudHlwZXMkLnN1YnNjcmliZSgodHlwZXMpID0+ICh0aGlzLndpZGdldFR5cGVzID0gdHlwZXMpKSk7XG4gICAgdGhpcy5jbGFzc2VzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpO1xuICAgIHRoaXMud2lkZ2V0c0xpc3QkID0gdGhpcy50b29sYm94TWVudVNlcnZpY2UubWVudVN0cnVjdHVyZSQucGlwZShcbiAgICAgIG1hcCgobWVudSkgPT5cbiAgICAgICAgbWVudVxuICAgICAgICAgIC5tYXAoKGl0ZW1zKSA9PiBbLi4uaXRlbXMuc3ViLmZpbHRlcigocykgPT4gdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLmlzTW9kZWwocy50eXBlKSldKVxuICAgICAgICAgIC5yZWR1Y2UoKGFjYywgaXRlbXMpID0+IFsuLi5hY2MsIC4uLml0ZW1zXSwgW10pXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLnVzZWREYXRhc291cmNlcyQgPSB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0RGF0YVNvdXJjZXNTb3J0ZWQpXG4gICAgICAucGlwZShtYXAoKGFsbERzcykgPT4gYWxsRHNzLmZpbHRlcigoZGF0YXNvdXJjZSkgPT4gdGhpcy5mb3JtLnNlbGVjdGVkRGF0YVNvdXJjZXMuaW5jbHVkZXMoZGF0YXNvdXJjZS5pZCkpKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFJlc3RpdHV0aW9uKSB7XG4gICAgICBpZiAoIXRoaXMuZWRpdCkge1xuICAgICAgICB0aGlzLmNvbnN1bHRNb2RlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZURpc3BsYXlPcHRpb25zKHsgbW9kZTogVmlld01vZGUuQ09OU1VMVCB9KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlRGlzcGxheU9wdGlvbnMoe1xuICAgICAgICAgICAgbW9kZTogVmlld01vZGUuQ1VTVE9NLFxuICAgICAgICAgICAgY3VzdG9tRGlzcGxheToge1xuICAgICAgICAgICAgICAuLi5nZXREaXNwbGF5T3B0aW9ucyhWaWV3TW9kZS5FRElUSU9OKSxcbiAgICAgICAgICAgICAgd2lkZ2V0Q29udGV4dE1lbnU6IHtcbiAgICAgICAgICAgICAgICBkYXRhc291cmNlU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgICAgICAgICAgIHdpbmRvdzogZmFsc2UsXG4gICAgICAgICAgICAgICAgbWF4aW1pemU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGFkZFRvQ2F0YWxvZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgZGVsZXRlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjaGFuZ2VTcG90OiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY3VzdG9tTWFuaWZlc3QgPSBKU09OLnBhcnNlKHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbi5jb250ZW50KTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuY3VzdG9tTWFuaWZlc3QuZGF0YXNvdXJjZSkpIHtcbiAgICAgICAgdGhpcy5jdXN0b21NYW5pZmVzdC5kYXRhc291cmNlLmZvckVhY2goKGRhdGFTb3VyY2U6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICBTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcyh7XG4gICAgICAgICAgICAgIGlkOiBkYXRhU291cmNlLFxuICAgICAgICAgICAgICBleGNsdWRlR2VvOiB0aGlzLmN1c3RvbU1hbmlmZXN0LnR5cGUgPT09ICdtYXAnLFxuICAgICAgICAgICAgICBmcm9tOiAnUHJ5UmVzdGl0dXRpb25Db21wb25lbnQubmdPbkluaXQoKS0xJ1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgU2VhcmNoQWN0aW9ucy5nZXREYXRhc291cmNlSXRlbXMoe1xuICAgICAgICAgICAgaWQ6IHRoaXMuY3VzdG9tTWFuaWZlc3QuZGF0YXNvdXJjZSBhcyBzdHJpbmcsXG4gICAgICAgICAgICBleGNsdWRlR2VvOiB0aGlzLmN1c3RvbU1hbmlmZXN0LnR5cGUgPT09ICdtYXAnLFxuICAgICAgICAgICAgZnJvbTogJ1ByeVJlc3RpdHV0aW9uQ29tcG9uZW50Lm5nT25Jbml0KCktMidcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbi52aXNpYmlsaXR5KSB7XG4gICAgICAgIHRoaXMudmlzaWJpbGl0eSA9IHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbi52aXNpYmlsaXR5O1xuICAgICAgfVxuICAgICAgdGhpcy5mb3JtLnNlbGVjdGVkRGF0YVNvdXJjZXMuZm9yRWFjaCgoZGF0YVNvdXJjZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgU2VhcmNoQWN0aW9ucy5nZXREYXRhc291cmNlSXRlbXMoe1xuICAgICAgICAgICAgaWQ6IGRhdGFTb3VyY2UsXG4gICAgICAgICAgICBleGNsdWRlR2VvOiB0aGlzLmN1c3RvbU1hbmlmZXN0LnR5cGUgPT09ICdtYXAnLFxuICAgICAgICAgICAgZnJvbTogJ1ByeVJlc3RpdHV0aW9uQ29tcG9uZW50Lm5nT25Jbml0KCktMydcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmN1c3RvbU1hbmlmZXN0ID0gSlNPTi5wYXJzZSh0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24uY29udGVudCk7XG4gICAgICB0aGlzLmZvcm0gPSB7XG4gICAgICAgIHNlbGVjdGVkV2lkZ2V0OiB0aGlzLmN1c3RvbU1hbmlmZXN0LnR5cGUsXG4gICAgICAgIHNlbGVjdGVkRGF0YVNvdXJjZXM6ICh0aGlzLmN1c3RvbU1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pIGFzIHN0cmluZ1tdLFxuICAgICAgICB0aXRsZTogdGhpcy5zZWxlY3RlZFJlc3RpdHV0aW9uLm5hbWUsXG4gICAgICAgIGNvdmVyOiB0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24uY292ZXIsXG4gICAgICAgIC4uLnRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvblxuICAgICAgfTtcbiAgICB9XG4gICAgdGhpcy5pbWFnZSA9IHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbj8uaW1hZ2UgPz8gREVGQVVMVF9SRVNUSVRVVElPTl9JQ09OX1VSTDtcbiAgfVxuXG4gIGNhbmNlbChzdGVwcGVyOiBQcnlTdGVwcGVyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5mb3JtLnNlbGVjdGVkV2lkZ2V0ID0gJyc7XG4gICAgdGhpcy5mb3JtLnNlbGVjdGVkRGF0YVNvdXJjZXMgPSBbXTtcbiAgICB0aGlzLmZvcm0udGl0bGUgPSAnJztcbiAgICB0aGlzLmZvcm0uZGVzY3JpcHRpb24gPSAnJztcbiAgICB0aGlzLmZvcm0uaW1hZ2UgPSAnJztcbiAgICB0aGlzLmZvcm0uY292ZXIgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5jb25zdWx0TW9kZSB8fCB0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24pIHtcbiAgICAgIHRoaXMucmVzdGl0dXRpb25DcmVhdGVkLmVtaXQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wcmV2KHN0ZXBwZXIpO1xuICB9XG5cbiAgZGF0YXNvdXJjZXNDaGFuZ2VkKCRldmVudDogRGF0YVNvdXJjZVtdKSB7XG4gICAgdGhpcy5mb3JtLnNlbGVjdGVkRGF0YVNvdXJjZXMgPSAoJGV2ZW50ID8/IFtdKS5tYXAoKGRzKSA9PiBkcy5pZCk7XG4gIH1cblxuICBzdWJtaXQoc3RlcHBlcjogUHJ5U3RlcHBlckNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLmNvbnN1bHRNb2RlKSB7XG4gICAgICB0aGlzLmdvTmV4dChzdGVwcGVyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB3aWRnZXRUeXBlID0gdGhpcy53aWRnZXRUeXBlcy5maW5kKCh3aWRnZXRUeXBlKSA9PiB3aWRnZXRUeXBlLnR5cGUgPT09IHRoaXMuZm9ybS5zZWxlY3RlZFdpZGdldCk7XG5cbiAgICB0aGlzLmN1c3RvbU1hbmlmZXN0ID0ge1xuICAgICAgLi4udGhpcy5jdXN0b21NYW5pZmVzdCxcbiAgICAgIHR5cGU6IHRoaXMuZm9ybS5zZWxlY3RlZFdpZGdldCxcbiAgICAgIHRpdGxlOiB0aGlzLmZvcm0udGl0bGUsXG4gICAgICBkYXRhc291cmNlOiB0aGlzLmZvcm0uc2VsZWN0ZWREYXRhU291cmNlcyA/PyBbXSxcbiAgICAgIGNvdmVyOiB0aGlzLmZvcm0uY292ZXIgPz8gZmFsc2UsXG4gICAgICBoZWFkZXI6IHRydWUsXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIC4uLndpZGdldFR5cGU/Lm1hbmlmZXN0Lm9wdGlvbnMsXG4gICAgICAgIHRpdGxlOiB0aGlzLmZvcm0udGl0bGVcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuZm9ybS5zZWxlY3RlZERhdGFTb3VyY2VzLmZvckVhY2goKG5hbWVRdWVyeTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBTZWFyY2hBY3Rpb25zLmdldERhdGFzb3VyY2VJdGVtcyh7XG4gICAgICAgICAgaWQ6IG5hbWVRdWVyeSxcbiAgICAgICAgICBleGNsdWRlR2VvOiB0aGlzLmN1c3RvbU1hbmlmZXN0LnR5cGUgPT09ICdtYXAnLFxuICAgICAgICAgIGZyb206ICdQcnlSZXN0aXR1dGlvbkNvbXBvbmVudC5zdWJtaXQoKSdcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdGhpcy5nb05leHQoc3RlcHBlcik7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm9wZW5TZXR0aW5ncyQubmV4dCgpO1xuICAgIH0sIDE1MCk7XG4gIH1cblxuICBnb05leHQoc3RlcHBlcjogUHJ5U3RlcHBlckNvbXBvbmVudCkge1xuICAgIHN0ZXBwZXIubmV4dCgpO1xuICB9XG5cbiAgcHJldihzdGVwcGVyOiBQcnlTdGVwcGVyQ29tcG9uZW50KSB7XG4gICAgc3RlcHBlci5wcmV2KCk7XG4gIH1cblxuICB1cGRhdGVNYW5pZmVzdCgkZXZlbnQ6IHsgd2lkZ2V0SW5kZXg6IG51bWJlcjsgbWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0IH0pIHtcbiAgICB0aGlzLmN1c3RvbU1hbmlmZXN0ID0gJGV2ZW50Lm1hbmlmZXN0O1xuICB9XG5cbiAgbGFzdFN0ZXBDb21wbGV0ZWQoKSB7XG4gICAgdGhpcy5mb3JtLmltYWdlID0gdGhpcy5pbWFnZTtcbiAgICBpZiAodGhpcy5lZGl0KSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBDb25maWdBY3Rpb25zLnNhdmVXaWRnZXQoe1xuICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgaWQ6IHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbj8uaWQgPz8gdjQoKSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IEpTT04uc3RyaW5naWZ5KHRoaXMuY3VzdG9tTWFuaWZlc3QpLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5mb3JtLnRpdGxlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZm9ybS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIGltYWdlOiB0aGlzLmZvcm0uaW1hZ2UgPz8gJycsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0aGlzLnZpc2liaWxpdHksXG4gICAgICAgICAgICBkYXRhc291cmNlOiB0aGlzLmZvcm0uc2VsZWN0ZWREYXRhU291cmNlcyA/PyBbXSxcbiAgICAgICAgICAgIGNvdmVyOiB0aGlzLmZvcm0uY292ZXIgPz8gZmFsc2UsXG4gICAgICAgICAgICBtb2RpZmljYXRpb25EYXRlOiAnJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5sb2FkV2lkZ2V0cygpKTtcbiAgICB0aGlzLnJlc3RpdHV0aW9uQ3JlYXRlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxwcnktcmVzdGl0dXRpb24tY3NzPjwvcHJ5LXJlc3RpdHV0aW9uLWNzcz5cbjxkaXYgY2xhc3M9XCJvLXJlc3RpdHV0aW9uXCI+XG4gIDxoMyBjbGFzcz1cImEtaDIgby1yZXN0aXR1dGlvbl9fdGl0bGVcIj5cbiAgICB7eyAoY29uc3VsdE1vZGUgPyAnQHByeS5yZXN0aXR1dGlvbi5jb25zdWx0JyA6IGVkaXQgPyAnQHByeS5yZXN0aXR1dGlvbi5lZGl0JyA6ICdAcHJ5LnJlc3RpdHV0aW9uLmNyZWF0ZScpIHwgaTE4biB9fVxuICA8L2gzPlxuICA8cHJ5LXN0ZXBwZXIgI3N0ZXBwZXIgW2lzQ29uc3VsdE1vZGVdPVwiY29uc3VsdE1vZGUgfHwgZWRpdFwiIChsYXN0U3RlcENvbXBsZXRlZCk9XCJsYXN0U3RlcENvbXBsZXRlZCgpXCI+XG4gICAgPHByeS1zdGVwPlxuICAgICAgPGg0IGNsYXNzPVwibS1zdGVwcGVyLWl0ZW1fX3RpdGxlXCIgKnN0ZXBUaXRsZT57eyAnQHByeS5yZXN0aXR1dGlvbi5jb25maWd1cmUnIHwgaTE4biB9fTwvaDQ+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cInJlc3RpdHV0aW9uXCIgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkucmVzdGl0dXRpb24ucmVzdGl0dXRpb25fdHlwZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgaWQ9XCJyZXN0aXR1dGlvblwiXG4gICAgICAgICAgICBbaXRlbXNdPVwidHlwZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JtLnNlbGVjdGVkV2lkZ2V0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25zdWx0TW9kZVwiXG4gICAgICAgICAgICBiaW5kSWNvbj1cImljb25cIlxuICAgICAgICAgICAgYmluZExhYmVsPVwibGFiZWxcIlxuICAgICAgICAgICAgYmluZFZhbHVlPVwidHlwZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJmb3JtLnNlbGVjdGVkV2lkZ2V0ICE9PSAnJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJncmFwaFRpdGxlXCIgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkucmVzdGl0dXRpb24uZ3JhcGhfdGl0bGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgbmFtZT1cInRpdGxlXCJcbiAgICAgICAgICAgICAgaWQ9XCJncmFwaFRpdGxlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcm0udGl0bGVcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25zdWx0TW9kZVwiXG4gICAgICAgICAgICAgIG1heGxlbmd0aD1cIjMwXCJcbiAgICAgICAgICAgICAgbmdEZWZhdWx0Q29udHJvbFxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5yZXN0aXR1dGlvbi5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBpZD1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcm0uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICBzdHlsZT1cInJlc2l6ZTogbm9uZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25zdWx0TW9kZVwiXG4gICAgICAgICAgICAgIG1heGxlbmd0aD1cIjI1NVwiXG4gICAgICAgICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtZnVsbFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LnByZXNlbnRhdGlvbi5mb3JtLmltYWdlJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tZmlsZS1pbnB1dFwiPlxuICAgICAgICAgICAgICA8cHJ5LXNlbGVjdC1pbWFnZSAoY2hhbmdlZCk9XCJpbWFnZSA9ICRldmVudFwiIFtpY29uVXJsXT1cImltYWdlXCIgW21vZGVdPVwidHlwZVwiPjwvcHJ5LXNlbGVjdC1pbWFnZT5cbiAgICAgICAgICAgICAgPHByeS1jaGVja2JveCBbKG5nTW9kZWwpXT1cImZvcm0uY292ZXJcIiBuYW1lPVwiY292ZXJcIj4ge3sgJ0BwcnkucmVzdGl0dXRpb24uY292ZXInIHwgaTE4biB9fTwvcHJ5LWNoZWNrYm94PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC1zcGFjZS1ldmVubHkgYWN0aW9uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKHN0ZXBwZXIpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5jbG9zZScgfCBpMThuIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgKGNsaWNrKT1cImdvTmV4dChzdGVwcGVyKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtLnNlbGVjdGVkV2lkZ2V0ID09PSAnJyB8fCBmb3JtLnRpdGxlLnRyaW0oKS5sZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ0BwcnkucmVzdGl0dXRpb24udmFsaWRhdGUnIHwgaTE4biB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9wcnktc3RlcD5cbiAgICA8cHJ5LXN0ZXA+XG4gICAgICA8aDQgY2xhc3M9XCJtLXN0ZXBwZXItaXRlbV9fdGl0bGVcIiAqc3RlcFRpdGxlPnt7ICdAcHJ5LnJlc3RpdHV0aW9uLmRhdGFTb3VyY2UnIHwgaTE4biB9fTwvaDQ+XG4gICAgICA8cHJ5LWRhdGFzb3VyY2Utc2VsZWN0b3JcbiAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICAgICAgdHJhbnNsYXRpb25TdHJpbmdCYXNlPVwiQHByeS5jb21wb25lbnRzLmNoaXBzU2VsZWN0b3IuZGF0YXNvdXJjZS5cIlxuICAgICAgICAoY2FuY2VsKT1cInByZXYoc3RlcHBlcilcIlxuICAgICAgICAodmFsaWRhdGVkKT1cInN1Ym1pdChzdGVwcGVyKVwiXG4gICAgICAgIChpdGVtc0NoYW5nZWQpPVwiZGF0YXNvdXJjZXNDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICBbdXNlZEl0ZW1zXT1cIih1c2VkRGF0YXNvdXJjZXMkIHwgYXN5bmMpID8/IFtdXCJcbiAgICAgID48L3ByeS1kYXRhc291cmNlLXNlbGVjdG9yPlxuICAgIDwvcHJ5LXN0ZXA+XG4gICAgPHByeS1zdGVwPlxuICAgICAgPGg0IGNsYXNzPVwibS1zdGVwcGVyLWl0ZW1fX3RpdGxlXCIgKnN0ZXBUaXRsZT57eyAnQHByeS5yZXN0aXR1dGlvbi52aXN1YWxpemUnIHwgaTE4biB9fTwvaDQ+XG4gICAgICA8ZGl2IGNsYXNzPVwid2lkZ2V0LWluc3RhbmNpYXRvclwiPlxuICAgICAgICA8cHJ5LXdpZGdldC1pbnN0YW5jaWF0b3JcbiAgICAgICAgICBbc3RhbmRhbG9uZV09XCJ0cnVlXCJcbiAgICAgICAgICBbc3RhdGljTWFuaWZlc3RdPVwiY3VzdG9tTWFuaWZlc3RcIlxuICAgICAgICAgIFtvcGVuJF09XCJvcGVuU2V0dGluZ3MkXCJcbiAgICAgICAgICAobWFuaWZlc3RNb2RpZmllZCk9XCJ1cGRhdGVNYW5pZmVzdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvcHJ5LXdpZGdldC1pbnN0YW5jaWF0b3I+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cCAtc3BhY2UtZXZlbmx5IGFjdGlvbnNcIiAqbmdJZj1cIiFjb25zdWx0TW9kZTsgZWxzZSBjb25zdWx0XCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cInByZXYoc3RlcHBlcilcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCI+XG4gICAgICAgICAge3sgJ0BwcnkucmVzdGl0dXRpb24uY2xvc2UnIHwgaTE4biB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZ29OZXh0KHN0ZXBwZXIpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIj5cbiAgICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi52YWxpZGF0ZScgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9wcnktc3RlcD5cbiAgICA8cHJ5LXN0ZXA+XG4gICAgICA8aDQgY2xhc3M9XCJtLXN0ZXBwZXItaXRlbV9fdGl0bGVcIiAqc3RlcFRpdGxlPnt7ICdAcHJ5LnJlc3RpdHV0aW9uLnNoYXJlJyB8IGkxOG4gfX08L2g0PlxuICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICA8aDM+e3sgJ0BwcnkucmVzdGl0dXRpb24uYWNjZXNzJyB8IGkxOG4gfX08L2gzPlxuICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5jaG9pY2UnIHwgaTE4biB9fVxuICAgICAgICA8dWw+XG4gICAgICAgICAgPGxpPlxuICAgICAgICAgICAge3sgJ0BwcnkucmVzdGl0dXRpb24ucHVibGljJyB8IGkxOG4gfX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5vcicgfCBpMThuIH19XG4gICAgICAgIDx1bD5cbiAgICAgICAgICA8bGk+XG4gICAgICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5wcml2YXRlJyB8IGkxOG4gfX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgICA8cHJ5LXNoYXJlXG4gICAgICAgIFsobmdNb2RlbCldPVwidmlzaWJpbGl0eVwiXG4gICAgICAgIFt1c2VycyRdPVwidXNlcnMkXCJcbiAgICAgICAgbGFiZWxQcm9wZXJ0eT1cIm5hbWVcIlxuICAgICAgICB2YWx1ZVByb3BlcnR5PVwiaWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29uc3VsdE1vZGVcIlxuICAgICAgPjwvcHJ5LXNoYXJlPlxuICAgICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC1zcGFjZS1ldmVubHkgYWN0aW9uc1wiICpuZ0lmPVwiIWNvbnN1bHRNb2RlOyBlbHNlIGNvbnN1bHRcIj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicHJldihzdGVwcGVyKVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIj5cbiAgICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5jbG9zZScgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJnb05leHQoc3RlcHBlcilcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiPlxuICAgICAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLnNoYXJlJyB8IGkxOG4gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3ByeS1zdGVwPlxuICA8L3ByeS1zdGVwcGVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjY29uc3VsdD5cbiAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC1zcGFjZS1ldmVubHkgYWN0aW9uc1wiPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInByZXYoc3RlcHBlcilcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCI+XG4gICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5jbG9zZScgfCBpMThuIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiZ29OZXh0KHN0ZXBwZXIpXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIj5cbiAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLm5leHQnIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI25vRGF0YXNvdXJjZT5cbiAgPHAgY2xhc3M9XCJzZWFyY2gtaG9tZV9fY29udGFpbmVyLXNlYXJjaFwiPnt7ICdAcHJ5LnJlc3RpdHV0aW9uLm5vRGF0YVNvdXJjZScgfCBpMThuIH19PC9wPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGl0dXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvcmVzdGl0dXRpb24vY29tcG9uZW50cy9yZXN0aXR1dGlvbi9yZXN0aXR1dGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uL3Jlc3RpdHV0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUdMLFlBQVksRUFDWixjQUFjLEVBQ2QsYUFBYSxFQUNiLGdCQUFnQixFQUVoQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFlBQVksRUFFWixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLHdCQUF3QixFQUd4QixRQUFRLEVBR1QsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFPMUIsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHdCQUF3QjtJQWtDbkUsWUFDVSxzQkFBOEMsRUFDOUMsS0FBWSxFQUNaLGtCQUFzQztRQUU5QyxLQUFLLEVBQUUsQ0FBQztRQUpBLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFsQ2hELG1CQUFjLEdBQW1CO1lBQy9CLElBQUks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NUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztvQkFDckIsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztvQkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7b0JBQzVCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtvQkFDM0IsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksRUFBRTtvQkFDL0MsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUs7b0JBQy9CLGdCQUFnQixFQUFFLEVBQUU7aUJBQ3JCO2FBQ0YsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDOytHQXhOVSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwyUUNuQ3BDLDB1S0FtSUE7OzRGRGhHYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0UsaUJBQWlCO2tLQTBCbEIsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBR0Usb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ0VudHJ5LFxuICBDbGFzcyxcbiAgQ2xhc3NBY3Rpb25zLFxuICBDbGFzc1NlbGVjdG9ycyxcbiAgQ29uZmlnQWN0aW9ucyxcbiAgRGFzaGJvYXJkQWN0aW9ucyxcbiAgRGF0YVNvdXJjZSxcbiAgRGF0YVNvdXJjZUFjdGlvbnMsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIERFRkFVTFRfUkVTVElUVVRJT05fSUNPTl9VUkwsXG4gIEZpZWxkQWN0aW9ucyxcbiAgZ2V0RGlzcGxheU9wdGlvbnMsXG4gIExpYnJhcnlUeXBlcyxcbiAgUHJ5VmlzaWJpbGl0eSxcbiAgUHJ5VmlzaWJpbGl0eVR5cGUsXG4gIFNlYXJjaEFjdGlvbnMsXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSxcbiAgVG9vbGJveE1hbmlmZXN0U2VydmljZSxcbiAgVG9vbGJveE1lbnVTZXJ2aWNlLFxuICBWaWV3TW9kZSxcbiAgV2lkZ2V0LFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgUHJ5U3RlcHBlckNvbXBvbmVudCB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3N0ZXBwZXInO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgUmVzdGl0dXRpb25Gb3JtIH0gZnJvbSAnLi4vLi4vbW9kZWwvcmVzdGl0dXRpb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktcmVzdGl0dXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzdGl0dXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeVJlc3RpdHV0aW9uQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgdHlwZXMkOiBPYnNlcnZhYmxlPHsgaWNvbjogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyB0eXBlOiBzdHJpbmc7IG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdCB9W10+O1xuICBjbGFzc2VzJDogT2JzZXJ2YWJsZTxDbGFzc1tdPjtcbiAgY3VzdG9tTWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0ID0ge1xuICAgIHR5cGU6ICdkZXRhaWwnLFxuICAgIGxheW91dDogeyB4OiAxLCB5OiAxLCB3aWR0aDogMSwgaGVpZ2h0OiAxIH0sXG4gICAgb3B0aW9uczogeyBpdGVtSWRzOiBbXSBhcyBzdHJpbmdbXSB9XG4gIH07XG4gIGZvcm06IFJlc3RpdHV0aW9uRm9ybSA9IHtcbiAgICBzZWxlY3RlZFdpZGdldDogJycsXG4gICAgc2VsZWN0ZWREYXRhU291cmNlczogW10sXG4gICAgdGl0bGU6ICcnLFxuICAgIGltYWdlOiBERUZBVUxUX1JFU1RJVFVUSU9OX0lDT05fVVJMLFxuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICBjb3ZlcjogZmFsc2VcbiAgfTtcbiAgdmlzaWJpbGl0eTogUHJ5VmlzaWJpbGl0eSA9IHtcbiAgICB0eXBlOiBQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFLFxuICAgIHVzZXJzOiBbXVxuICB9O1xuICBvcGVuU2V0dGluZ3MkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgdXNlcnMkOiBPYnNlcnZhYmxlPGFueVtdPiB8IG51bGwgPSBudWxsO1xuICBjb25zdWx0TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3RlZFJlc3RpdHV0aW9uOiBXaWRnZXQgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgZWRpdDogYm9vbGVhbiA9IHRydWU7XG4gIEBPdXRwdXQoKSByZXN0aXR1dGlvbkNyZWF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHdpZGdldHNMaXN0JDogT2JzZXJ2YWJsZTxDYXRhbG9nRW50cnlbXT47XG4gIHR5cGU6IExpYnJhcnlUeXBlcyA9IExpYnJhcnlUeXBlcy5JTExVU1RSQVRJT047XG4gIEBJbnB1dCgpIGlzRGF0YVNvdXJjZVNlbGVjdGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGJpbmRJZDogYW55O1xuICBpbWFnZTogc3RyaW5nID0gREVGQVVMVF9SRVNUSVRVVElPTl9JQ09OX1VSTDtcbiAgd2lkZ2V0VHlwZXM6IHsgaWNvbjogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyB0eXBlOiBzdHJpbmc7IG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdCB9W10gPSBbXTtcbiAgdXNlZERhdGFzb3VyY2VzJDogT2JzZXJ2YWJsZTxEYXRhU291cmNlW10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdG9vbGJveE1hbmlmZXN0U2VydmljZTogVG9vbGJveE1hbmlmZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHRvb2xib3hNZW51U2VydmljZTogVG9vbGJveE1lbnVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ2xhc3NBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmxvYWRDdXN0b21pemF0aW9uKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRmllbGRBY3Rpb25zLmxvYWQoKSk7XG5cbiAgICB0aGlzLnR5cGVzJCA9IHRoaXMudG9vbGJveE1lbnVTZXJ2aWNlLnR5cGVzJC5waXBlKFxuICAgICAgbWFwKCh0eXBlKSA9PiB0eXBlLmZpbHRlcigoZmlsdGVyZWRUeXBlKSA9PiBmaWx0ZXJlZFR5cGUudHlwZSAhPT0gJ2RldGFpbCcpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLnR5cGVzJC5zdWJzY3JpYmUoKHR5cGVzKSA9PiAodGhpcy53aWRnZXRUeXBlcyA9IHR5cGVzKSkpO1xuICAgIHRoaXMuY2xhc3NlcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKTtcbiAgICB0aGlzLndpZGdldHNMaXN0JCA9IHRoaXMudG9vbGJveE1lbnVTZXJ2aWNlLm1lbnVTdHJ1Y3R1cmUkLnBpcGUoXG4gICAgICBtYXAoKG1lbnUpID0+XG4gICAgICAgIG1lbnVcbiAgICAgICAgICAubWFwKChpdGVtcykgPT4gWy4uLml0ZW1zLnN1Yi5maWx0ZXIoKHMpID0+IHRoaXMudG9vbGJveE1hbmlmZXN0U2VydmljZS5pc01vZGVsKHMudHlwZSkpXSlcbiAgICAgICAgICAucmVkdWNlKChhY2MsIGl0ZW1zKSA9PiBbLi4uYWNjLCAuLi5pdGVtc10sIFtdKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy51c2VkRGF0YXNvdXJjZXMkID0gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmdldERhdGFTb3VyY2VzU29ydGVkKVxuICAgICAgLnBpcGUobWFwKChhbGxEc3MpID0+IGFsbERzcy5maWx0ZXIoKGRhdGFzb3VyY2UpID0+IHRoaXMuZm9ybS5zZWxlY3RlZERhdGFTb3VyY2VzLmluY2x1ZGVzKGRhdGFzb3VyY2UuaWQpKSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbikge1xuICAgICAgaWYgKCF0aGlzLmVkaXQpIHtcbiAgICAgICAgdGhpcy5jb25zdWx0TW9kZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVEaXNwbGF5T3B0aW9ucyh7IG1vZGU6IFZpZXdNb2RlLkNPTlNVTFQgfSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZURpc3BsYXlPcHRpb25zKHtcbiAgICAgICAgICAgIG1vZGU6IFZpZXdNb2RlLkNVU1RPTSxcbiAgICAgICAgICAgIGN1c3RvbURpc3BsYXk6IHtcbiAgICAgICAgICAgICAgLi4uZ2V0RGlzcGxheU9wdGlvbnMoVmlld01vZGUuRURJVElPTiksXG4gICAgICAgICAgICAgIHdpZGdldENvbnRleHRNZW51OiB7XG4gICAgICAgICAgICAgICAgZGF0YXNvdXJjZVNlbGVjdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgcGFyYW1ldGVyczogdHJ1ZSxcbiAgICAgICAgICAgICAgICB3aW5kb3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG1heGltaXplOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBhZGRUb0NhdGFsb2c6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRlbGV0ZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgY2hhbmdlU3BvdDogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLmN1c3RvbU1hbmlmZXN0ID0gSlNPTi5wYXJzZSh0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24uY29udGVudCk7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmN1c3RvbU1hbmlmZXN0LmRhdGFzb3VyY2UpKSB7XG4gICAgICAgIHRoaXMuY3VzdG9tTWFuaWZlc3QuZGF0YXNvdXJjZS5mb3JFYWNoKChkYXRhU291cmNlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgICAgU2VhcmNoQWN0aW9ucy5nZXREYXRhc291cmNlSXRlbXMoe1xuICAgICAgICAgICAgICBpZDogZGF0YVNvdXJjZSxcbiAgICAgICAgICAgICAgZXhjbHVkZUdlbzogdGhpcy5jdXN0b21NYW5pZmVzdC50eXBlID09PSAnbWFwJyxcbiAgICAgICAgICAgICAgZnJvbTogJ1ByeVJlc3RpdHV0aW9uQ29tcG9uZW50Lm5nT25Jbml0KCktMSdcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHtcbiAgICAgICAgICAgIGlkOiB0aGlzLmN1c3RvbU1hbmlmZXN0LmRhdGFzb3VyY2UgYXMgc3RyaW5nLFxuICAgICAgICAgICAgZXhjbHVkZUdlbzogdGhpcy5jdXN0b21NYW5pZmVzdC50eXBlID09PSAnbWFwJyxcbiAgICAgICAgICAgIGZyb206ICdQcnlSZXN0aXR1dGlvbkNvbXBvbmVudC5uZ09uSW5pdCgpLTInXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24udmlzaWJpbGl0eSkge1xuICAgICAgICB0aGlzLnZpc2liaWxpdHkgPSB0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24udmlzaWJpbGl0eTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybS5zZWxlY3RlZERhdGFTb3VyY2VzLmZvckVhY2goKGRhdGFTb3VyY2U6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHtcbiAgICAgICAgICAgIGlkOiBkYXRhU291cmNlLFxuICAgICAgICAgICAgZXhjbHVkZUdlbzogdGhpcy5jdXN0b21NYW5pZmVzdC50eXBlID09PSAnbWFwJyxcbiAgICAgICAgICAgIGZyb206ICdQcnlSZXN0aXR1dGlvbkNvbXBvbmVudC5uZ09uSW5pdCgpLTMnXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jdXN0b21NYW5pZmVzdCA9IEpTT04ucGFyc2UodGhpcy5zZWxlY3RlZFJlc3RpdHV0aW9uLmNvbnRlbnQpO1xuICAgICAgdGhpcy5mb3JtID0ge1xuICAgICAgICBzZWxlY3RlZFdpZGdldDogdGhpcy5jdXN0b21NYW5pZmVzdC50eXBlLFxuICAgICAgICBzZWxlY3RlZERhdGFTb3VyY2VzOiAodGhpcy5jdXN0b21NYW5pZmVzdC5kYXRhc291cmNlID8/IFtdKSBhcyBzdHJpbmdbXSxcbiAgICAgICAgdGl0bGU6IHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbi5uYW1lLFxuICAgICAgICBjb3ZlcjogdGhpcy5zZWxlY3RlZFJlc3RpdHV0aW9uLmNvdmVyLFxuICAgICAgICAuLi50aGlzLnNlbGVjdGVkUmVzdGl0dXRpb25cbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMuaW1hZ2UgPSB0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24/LmltYWdlID8/IERFRkFVTFRfUkVTVElUVVRJT05fSUNPTl9VUkw7XG4gIH1cblxuICBjYW5jZWwoc3RlcHBlcjogUHJ5U3RlcHBlckNvbXBvbmVudCkge1xuICAgIHRoaXMuZm9ybS5zZWxlY3RlZFdpZGdldCA9ICcnO1xuICAgIHRoaXMuZm9ybS5zZWxlY3RlZERhdGFTb3VyY2VzID0gW107XG4gICAgdGhpcy5mb3JtLnRpdGxlID0gJyc7XG4gICAgdGhpcy5mb3JtLmRlc2NyaXB0aW9uID0gJyc7XG4gICAgdGhpcy5mb3JtLmltYWdlID0gJyc7XG4gICAgdGhpcy5mb3JtLmNvdmVyID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29uc3VsdE1vZGUgfHwgdGhpcy5zZWxlY3RlZFJlc3RpdHV0aW9uKSB7XG4gICAgICB0aGlzLnJlc3RpdHV0aW9uQ3JlYXRlZC5lbWl0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucHJldihzdGVwcGVyKTtcbiAgfVxuXG4gIGRhdGFzb3VyY2VzQ2hhbmdlZCgkZXZlbnQ6IERhdGFTb3VyY2VbXSkge1xuICAgIHRoaXMuZm9ybS5zZWxlY3RlZERhdGFTb3VyY2VzID0gKCRldmVudCA/PyBbXSkubWFwKChkcykgPT4gZHMuaWQpO1xuICB9XG5cbiAgc3VibWl0KHN0ZXBwZXI6IFByeVN0ZXBwZXJDb21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5jb25zdWx0TW9kZSkge1xuICAgICAgdGhpcy5nb05leHQoc3RlcHBlcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgd2lkZ2V0VHlwZSA9IHRoaXMud2lkZ2V0VHlwZXMuZmluZCgod2lkZ2V0VHlwZSkgPT4gd2lkZ2V0VHlwZS50eXBlID09PSB0aGlzLmZvcm0uc2VsZWN0ZWRXaWRnZXQpO1xuXG4gICAgdGhpcy5jdXN0b21NYW5pZmVzdCA9IHtcbiAgICAgIC4uLnRoaXMuY3VzdG9tTWFuaWZlc3QsXG4gICAgICB0eXBlOiB0aGlzLmZvcm0uc2VsZWN0ZWRXaWRnZXQsXG4gICAgICB0aXRsZTogdGhpcy5mb3JtLnRpdGxlLFxuICAgICAgZGF0YXNvdXJjZTogdGhpcy5mb3JtLnNlbGVjdGVkRGF0YVNvdXJjZXMgPz8gW10sXG4gICAgICBjb3ZlcjogdGhpcy5mb3JtLmNvdmVyID8/IGZhbHNlLFxuICAgICAgaGVhZGVyOiB0cnVlLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICAuLi53aWRnZXRUeXBlPy5tYW5pZmVzdC5vcHRpb25zLFxuICAgICAgICB0aXRsZTogdGhpcy5mb3JtLnRpdGxlXG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLmZvcm0uc2VsZWN0ZWREYXRhU291cmNlcy5mb3JFYWNoKChuYW1lUXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgU2VhcmNoQWN0aW9ucy5nZXREYXRhc291cmNlSXRlbXMoe1xuICAgICAgICAgIGlkOiBuYW1lUXVlcnksXG4gICAgICAgICAgZXhjbHVkZUdlbzogdGhpcy5jdXN0b21NYW5pZmVzdC50eXBlID09PSAnbWFwJyxcbiAgICAgICAgICBmcm9tOiAnUHJ5UmVzdGl0dXRpb25Db21wb25lbnQuc3VibWl0KCknXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pO1xuICAgIHRoaXMuZ29OZXh0KHN0ZXBwZXIpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5vcGVuU2V0dGluZ3MkLm5leHQoKTtcbiAgICB9LCAxNTApO1xuICB9XG5cbiAgZ29OZXh0KHN0ZXBwZXI6IFByeVN0ZXBwZXJDb21wb25lbnQsIHN1Ym1pdD86IGJvb2xlYW4pIHtcbiAgICBzdWJtaXQgPyB0aGlzLnN1Ym1pdChzdGVwcGVyKSA6IHN0ZXBwZXIubmV4dCgpO1xuICB9XG5cbiAgcHJldihzdGVwcGVyOiBQcnlTdGVwcGVyQ29tcG9uZW50KSB7XG4gICAgc3RlcHBlci5wcmV2KCk7XG4gIH1cblxuICB1cGRhdGVNYW5pZmVzdCgkZXZlbnQ6IHsgd2lkZ2V0SW5kZXg6IG51bWJlcjsgbWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0IH0pIHtcbiAgICB0aGlzLmN1c3RvbU1hbmlmZXN0ID0gJGV2ZW50Lm1hbmlmZXN0O1xuICB9XG5cbiAgbGFzdFN0ZXBDb21wbGV0ZWQoKSB7XG4gICAgdGhpcy5mb3JtLmltYWdlID0gdGhpcy5pbWFnZTtcbiAgICBpZiAodGhpcy5lZGl0KSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBDb25maWdBY3Rpb25zLnNhdmVXaWRnZXQoe1xuICAgICAgICAgIHdpZGdldDoge1xuICAgICAgICAgICAgaWQ6IHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbj8uaWQgPz8gdjQoKSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IEpTT04uc3RyaW5naWZ5KHRoaXMuY3VzdG9tTWFuaWZlc3QpLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5mb3JtLnRpdGxlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZm9ybS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIGltYWdlOiB0aGlzLmZvcm0uaW1hZ2UgPz8gJycsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0aGlzLnZpc2liaWxpdHksXG4gICAgICAgICAgICBkYXRhc291cmNlOiB0aGlzLmZvcm0uc2VsZWN0ZWREYXRhU291cmNlcyA/PyBbXSxcbiAgICAgICAgICAgIGNvdmVyOiB0aGlzLmZvcm0uY292ZXIgPz8gZmFsc2UsXG4gICAgICAgICAgICBtb2RpZmljYXRpb25EYXRlOiAnJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5sb2FkV2lkZ2V0cygpKTtcbiAgICB0aGlzLnJlc3RpdHV0aW9uQ3JlYXRlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxwcnktcmVzdGl0dXRpb24tY3NzPjwvcHJ5LXJlc3RpdHV0aW9uLWNzcz5cbjxkaXYgY2xhc3M9XCJvLXJlc3RpdHV0aW9uXCI+XG4gIDxoMyBjbGFzcz1cImEtaDIgby1yZXN0aXR1dGlvbl9fdGl0bGVcIj5cbiAgICB7eyAoY29uc3VsdE1vZGUgPyAnQHByeS5yZXN0aXR1dGlvbi5jb25zdWx0JyA6IGVkaXQgPyAnQHByeS5yZXN0aXR1dGlvbi5lZGl0JyA6ICdAcHJ5LnJlc3RpdHV0aW9uLmNyZWF0ZScpIHwgaTE4biB9fVxuICA8L2gzPlxuICA8cHJ5LXN0ZXBwZXIgI3N0ZXBwZXIgW2lzQ29uc3VsdE1vZGVdPVwiY29uc3VsdE1vZGUgfHwgZWRpdFwiIChsYXN0U3RlcENvbXBsZXRlZCk9XCJsYXN0U3RlcENvbXBsZXRlZCgpXCI+XG4gICAgPHByeS1zdGVwPlxuICAgICAgPGg0IGNsYXNzPVwibS1zdGVwcGVyLWl0ZW1fX3RpdGxlXCIgKnN0ZXBUaXRsZT57eyAnQHByeS5yZXN0aXR1dGlvbi5jb25maWd1cmUnIHwgaTE4biB9fTwvaDQ+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJyZXN0aXR1dGlvblwiIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LnJlc3RpdHV0aW9uLnJlc3RpdHV0aW9uX3R5cGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgaWQ9XCJyZXN0aXR1dGlvblwiXG4gICAgICAgICAgW2l0ZW1zXT1cInR5cGVzJCB8IGFzeW5jXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcm0uc2VsZWN0ZWRXaWRnZXRcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25zdWx0TW9kZVwiXG4gICAgICAgICAgYmluZEljb249XCJpY29uXCJcbiAgICAgICAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgYmluZFZhbHVlPVwidHlwZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9wcnktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybS5zZWxlY3RlZFdpZGdldCAhPT0gJydcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJncmFwaFRpdGxlXCIgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkucmVzdGl0dXRpb24uZ3JhcGhfdGl0bGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBuYW1lPVwidGl0bGVcIlxuICAgICAgICAgICAgaWQ9XCJncmFwaFRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9ybS50aXRsZVwiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiY29uc3VsdE1vZGVcIlxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMzBcIlxuICAgICAgICAgICAgbmdEZWZhdWx0Q29udHJvbFxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJhLWxhYmVsXCI+e3sgJ0BwcnkucmVzdGl0dXRpb24uZGVzY3JpcHRpb24nIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgaWQ9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcm0uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgc3R5bGU9XCJyZXNpemU6IG5vbmVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNvbnN1bHRNb2RlXCJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cIjI1NVwiXG4gICAgICAgICAgICBuZ0RlZmF1bHRDb250cm9sXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1mdWxsXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LnByZXNlbnRhdGlvbi5mb3JtLmltYWdlJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWZpbGUtaW5wdXRcIj5cbiAgICAgICAgICAgIDxwcnktc2VsZWN0LWltYWdlIChjaGFuZ2VkKT1cImltYWdlID0gJGV2ZW50XCIgW2ljb25VcmxdPVwiaW1hZ2VcIiBbbW9kZV09XCJ0eXBlXCI+PC9wcnktc2VsZWN0LWltYWdlPlxuICAgICAgICAgICAgPHByeS1jaGVja2JveCBbKG5nTW9kZWwpXT1cImZvcm0uY292ZXJcIiBuYW1lPVwiY292ZXJcIj4ge3sgJ0BwcnkucmVzdGl0dXRpb24uY292ZXInIHwgaTE4biB9fTwvcHJ5LWNoZWNrYm94PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC1zcGFjZS1ldmVubHkgYWN0aW9uc1wiPlxuICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNhbmNlbChzdGVwcGVyKVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLmNsb3NlJyB8IGkxOG4gfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiZ29OZXh0KHN0ZXBwZXIpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtLnNlbGVjdGVkV2lkZ2V0ID09PSAnJyB8fCBmb3JtLnRpdGxlLnRyaW0oKS5sZW5ndGggPT09IDBcIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkucmVzdGl0dXRpb24udmFsaWRhdGUnIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcHJ5LXN0ZXA+XG4gICAgPHByeS1zdGVwPlxuICAgICAgPGg0IGNsYXNzPVwibS1zdGVwcGVyLWl0ZW1fX3RpdGxlXCIgKnN0ZXBUaXRsZT57eyAnQHByeS5yZXN0aXR1dGlvbi5kYXRhU291cmNlJyB8IGkxOG4gfX08L2g0PlxuICAgICAgPHByeS1kYXRhc291cmNlLXNlbGVjdG9yXG4gICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICBiaW5kVmFsdWU9XCJpZFwiXG4gICAgICAgIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkuY29tcG9uZW50cy5jaGlwc1NlbGVjdG9yLmRhdGFzb3VyY2UuXCJcbiAgICAgICAgKGl0ZW1zQ2hhbmdlZCk9XCJkYXRhc291cmNlc0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFt1c2VkSXRlbXNdPVwiKHVzZWREYXRhc291cmNlcyQgfCBhc3luYykgPz8gW11cIlxuICAgICAgICBbc2hvd0FjdGlvbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgPjwvcHJ5LWRhdGFzb3VyY2Utc2VsZWN0b3I+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJ1dHRvbnNcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzdWJtaXQ6IHRydWUgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvcHJ5LXN0ZXA+XG4gICAgPHByeS1zdGVwPlxuICAgICAgPGg0IGNsYXNzPVwibS1zdGVwcGVyLWl0ZW1fX3RpdGxlXCIgKnN0ZXBUaXRsZT57eyAnQHByeS5yZXN0aXR1dGlvbi52aXN1YWxpemUnIHwgaTE4biB9fTwvaDQ+XG4gICAgICA8ZGl2IGNsYXNzPVwid2lkZ2V0LWluc3RhbmNpYXRvclwiPlxuICAgICAgICA8cHJ5LXdpZGdldC1pbnN0YW5jaWF0b3JcbiAgICAgICAgICBbc3RhbmRhbG9uZV09XCJ0cnVlXCJcbiAgICAgICAgICBbc3RhdGljTWFuaWZlc3RdPVwiY3VzdG9tTWFuaWZlc3RcIlxuICAgICAgICAgIFtvcGVuJF09XCJvcGVuU2V0dGluZ3MkXCJcbiAgICAgICAgICAobWFuaWZlc3RNb2RpZmllZCk9XCJ1cGRhdGVNYW5pZmVzdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvcHJ5LXdpZGdldC1pbnN0YW5jaWF0b3I+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvcHJ5LXN0ZXA+XG4gICAgPHByeS1zdGVwPlxuICAgICAgPGg0IGNsYXNzPVwibS1zdGVwcGVyLWl0ZW1fX3RpdGxlXCIgKnN0ZXBUaXRsZT57eyAnQHByeS5yZXN0aXR1dGlvbi5zaGFyZScgfCBpMThuIH19PC9oND5cbiAgICAgIDxoMz57eyAnQHByeS5yZXN0aXR1dGlvbi5hY2Nlc3MnIHwgaTE4biB9fTwvaDM+XG4gICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5jaG9pY2UnIHwgaTE4biB9fVxuICAgICAgPHVsPlxuICAgICAgICA8bGk+XG4gICAgICAgICAge3sgJ0BwcnkucmVzdGl0dXRpb24ucHVibGljJyB8IGkxOG4gfX1cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5vcicgfCBpMThuIH19XG4gICAgICA8dWw+XG4gICAgICAgIDxsaT5cbiAgICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5wcml2YXRlJyB8IGkxOG4gfX1cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgICA8cHJ5LXNoYXJlXG4gICAgICAgIFsobmdNb2RlbCldPVwidmlzaWJpbGl0eVwiXG4gICAgICAgIFt1c2VycyRdPVwidXNlcnMkXCJcbiAgICAgICAgbGFiZWxQcm9wZXJ0eT1cIm5hbWVcIlxuICAgICAgICB2YWx1ZVByb3BlcnR5PVwiaWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29uc3VsdE1vZGVcIlxuICAgICAgPjwvcHJ5LXNoYXJlPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9wcnktc3RlcD5cbiAgPC9wcnktc3RlcHBlcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2J1dHRvbnMgbGV0LXN1Ym1pdD1cInN1Ym1pdFwiPlxuICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXAgLXNwYWNlLWV2ZW5seSBhY3Rpb25zXCI+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwicHJldihzdGVwcGVyKVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIj5cbiAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLmNsb3NlJyB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJnb05leHQoc3RlcHBlciwgc3VibWl0KVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCI+XG4gICAgICB7eyAoY29uc3VsdE1vZGUgPyAnQHByeS5yZXN0aXR1dGlvbi5zaGFyZScgOiAnQHByeS5yZXN0aXR1dGlvbi5uZXh0JykgfCBpMThuIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs
CHANGED
|
@@ -77,13 +77,13 @@ export class PryRestitutionCatalogComponent {
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryRestitutionCatalogComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryRestitutionCatalogComponent, selector: "pry-restitution-catalog", viewQueries: [{ propertyName: "templateActions", first: true, predicate: ["modalActions"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-manifest-layout o-restitution-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n type=\"button\"\n (click)=\"selectMode(mode.CREATION)\"\n class=\"a-btn a-btn--primary a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.restitution.create' | i18n\"\n data-tooltip-position=\"bottom\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'create' }\"\n >\n {{ '@pry.context.create' | i18n }}\n </button>\n <div>\n <div class=\"o-catalog__search\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.restitution.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n </div>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.restitution.catalog' | i18n }}</h1>\n\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let restitution of filteredRestitution$ | async; let index = index\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"restitution.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div\n class=\"a-tooltip -tooltip-no-wrap\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <div class=\"o-presentation__item__image\">\n <img\n alt=\"\"\n [class.is-full-width]=\"restitution.cover\"\n [src]=\"restitution.image | getSecuredImage : [600, 600] | async\"\n class=\"pointer\"\n />\n </div>\n </div>\n <ng-container *ngIf=\"restitution.owner\">\n <div class=\"more-button\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--more a-tooltip -tooltip-no-wrap\"\n [id]=\"'more-actions-' + index\"\n [attr.data-tooltip]=\"'@pry.restitution.more' | i18n\"\n (click)=\"toggleModalActions(restitution, button)\"\n #button\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </div>\n </ng-container>\n </div>\n <div\n class=\"o-presentation__item__txt\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <div class=\"o-presentation__item__title-container\" ellipsis textElementSelector=\".a-h3\">\n <h3 class=\"a-h3\">{{ restitution.name }}</h3>\n </div>\n <div class=\"o-presentation__item__description-container\" ellipsis textElementSelector=\".a-p\">\n <div class=\"o-presentation__item__description a-p\">\n {{ restitution.description }}\n </div>\n </div>\n <p class=\"a-p -date\">{{ restitution.modificationDate | sinceDate }}</p>\n </div>\n\n <div\n class=\"o-presentation__item__footer a-tooltip -tooltip-no-wrap\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <button class=\"a-btn\">\n {{ '@pry.restitution.view' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-template>\n <ng-template #modalActions>\n <div class=\"m-context-menu\">\n <ul\n *ngIf=\"selectedRestitution\"\n class=\"m-context-menu__list\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog restitution options\"\n >\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"editRestitution(selectedRestitution)\"\n [disabled]=\"!selectedRestitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'edit' }\"\n >\n {{ '@pry.restitution.update' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n #openModal\n (click)=\"deleteRestitution(selectedRestitution.id)\"\n [disabled]=\"!selectedRestitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'delete' }\"\n >\n {{ '@pry.restitution.delete' | i18n }}\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution($event)\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution (restitutionCreated)=\"closeRestitution($event)\" class=\"restitution\"></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.EDITION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n (restitutionCreated)=\"closeRestitution($event)\"\n [selectedRestitution]=\"selectedRestitution\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "directive", type: i4.EllipsisDirective, selector: "[ellipsis]", inputs: ["textElementSelector"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.PryRestitutionComponent, selector: "pry-restitution", inputs: ["selectedRestitution", "edit", "isDataSourceSelected", "bindId"], outputs: ["restitutionCreated"] }, { kind: "component", type: i7.PryCatalogCssComponent, selector: "pry-restitution-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.GetSecuredImagePipe, name: "getSecuredImage" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i8.PrySinceDatePipe, name: "sinceDate" }] }); }
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryRestitutionCatalogComponent, selector: "pry-restitution-catalog", viewQueries: [{ propertyName: "templateActions", first: true, predicate: ["modalActions"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-manifest-layout o-restitution-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n type=\"button\"\n (click)=\"selectMode(mode.CREATION)\"\n class=\"a-btn a-btn--primary a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.restitution.create' | i18n\"\n data-tooltip-position=\"bottom\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'create' }\"\n >\n {{ '@pry.context.create' | i18n }}\n </button>\n <div>\n <div class=\"o-catalog__search o-manifest-layout__toolbox__search\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.restitution.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n </div>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.restitution.catalog' | i18n }}</h1>\n\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let restitution of filteredRestitution$ | async; let index = index\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"restitution.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div\n class=\"a-tooltip -tooltip-no-wrap\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <div class=\"o-presentation__item__image\">\n <img\n alt=\"\"\n [class.is-full-width]=\"restitution.cover\"\n [src]=\"restitution.image | getSecuredImage : [600, 600] | async\"\n class=\"pointer\"\n />\n </div>\n </div>\n <ng-container *ngIf=\"restitution.owner\">\n <div class=\"more-button\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--more a-tooltip -tooltip-no-wrap\"\n [id]=\"'more-actions-' + index\"\n [attr.data-tooltip]=\"'@pry.restitution.more' | i18n\"\n (click)=\"toggleModalActions(restitution, button)\"\n #button\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </div>\n </ng-container>\n </div>\n <div\n class=\"o-presentation__item__txt\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <div class=\"o-presentation__item__title-container\" ellipsis textElementSelector=\".a-h3\">\n <h3 class=\"a-h3\">{{ restitution.name }}</h3>\n </div>\n <div class=\"o-presentation__item__description-container\" ellipsis textElementSelector=\".a-p\">\n <div class=\"o-presentation__item__description a-p\">\n {{ restitution.description }}\n </div>\n </div>\n <p class=\"a-p -date\">{{ restitution.modificationDate | sinceDate }}</p>\n </div>\n\n <div\n class=\"o-presentation__item__footer a-tooltip -tooltip-no-wrap\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <button class=\"a-btn\">\n {{ '@pry.restitution.view' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-template>\n <ng-template #modalActions>\n <div class=\"m-context-menu\">\n <ul\n *ngIf=\"selectedRestitution\"\n class=\"m-context-menu__list\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog restitution options\"\n >\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"editRestitution(selectedRestitution)\"\n [disabled]=\"!selectedRestitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'edit' }\"\n >\n {{ '@pry.restitution.update' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n #openModal\n (click)=\"deleteRestitution(selectedRestitution.id)\"\n [disabled]=\"!selectedRestitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'delete' }\"\n >\n {{ '@pry.restitution.delete' | i18n }}\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution($event)\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution (restitutionCreated)=\"closeRestitution($event)\" class=\"restitution\"></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.EDITION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n (restitutionCreated)=\"closeRestitution($event)\"\n [selectedRestitution]=\"selectedRestitution\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "directive", type: i4.EllipsisDirective, selector: "[ellipsis]", inputs: ["textElementSelector"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.PryRestitutionComponent, selector: "pry-restitution", inputs: ["selectedRestitution", "edit", "isDataSourceSelected", "bindId"], outputs: ["restitutionCreated"] }, { kind: "component", type: i7.PryCatalogCssComponent, selector: "pry-restitution-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.GetSecuredImagePipe, name: "getSecuredImage" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i8.PrySinceDatePipe, name: "sinceDate" }] }); }
|
|
81
81
|
}
|
|
82
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryRestitutionCatalogComponent, decorators: [{
|
|
83
83
|
type: Component,
|
|
84
|
-
args: [{ selector: 'pry-restitution-catalog', template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-manifest-layout o-restitution-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n type=\"button\"\n (click)=\"selectMode(mode.CREATION)\"\n class=\"a-btn a-btn--primary a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.restitution.create' | i18n\"\n data-tooltip-position=\"bottom\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'create' }\"\n >\n {{ '@pry.context.create' | i18n }}\n </button>\n <div>\n <div class=\"o-catalog__search\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.restitution.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n </div>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.restitution.catalog' | i18n }}</h1>\n\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let restitution of filteredRestitution$ | async; let index = index\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"restitution.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div\n class=\"a-tooltip -tooltip-no-wrap\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <div class=\"o-presentation__item__image\">\n <img\n alt=\"\"\n [class.is-full-width]=\"restitution.cover\"\n [src]=\"restitution.image | getSecuredImage : [600, 600] | async\"\n class=\"pointer\"\n />\n </div>\n </div>\n <ng-container *ngIf=\"restitution.owner\">\n <div class=\"more-button\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--more a-tooltip -tooltip-no-wrap\"\n [id]=\"'more-actions-' + index\"\n [attr.data-tooltip]=\"'@pry.restitution.more' | i18n\"\n (click)=\"toggleModalActions(restitution, button)\"\n #button\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </div>\n </ng-container>\n </div>\n <div\n class=\"o-presentation__item__txt\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <div class=\"o-presentation__item__title-container\" ellipsis textElementSelector=\".a-h3\">\n <h3 class=\"a-h3\">{{ restitution.name }}</h3>\n </div>\n <div class=\"o-presentation__item__description-container\" ellipsis textElementSelector=\".a-p\">\n <div class=\"o-presentation__item__description a-p\">\n {{ restitution.description }}\n </div>\n </div>\n <p class=\"a-p -date\">{{ restitution.modificationDate | sinceDate }}</p>\n </div>\n\n <div\n class=\"o-presentation__item__footer a-tooltip -tooltip-no-wrap\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <button class=\"a-btn\">\n {{ '@pry.restitution.view' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-template>\n <ng-template #modalActions>\n <div class=\"m-context-menu\">\n <ul\n *ngIf=\"selectedRestitution\"\n class=\"m-context-menu__list\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog restitution options\"\n >\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"editRestitution(selectedRestitution)\"\n [disabled]=\"!selectedRestitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'edit' }\"\n >\n {{ '@pry.restitution.update' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n #openModal\n (click)=\"deleteRestitution(selectedRestitution.id)\"\n [disabled]=\"!selectedRestitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'delete' }\"\n >\n {{ '@pry.restitution.delete' | i18n }}\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution($event)\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution (restitutionCreated)=\"closeRestitution($event)\" class=\"restitution\"></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.EDITION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n (restitutionCreated)=\"closeRestitution($event)\"\n [selectedRestitution]=\"selectedRestitution\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n</div>\n" }]
|
|
84
|
+
args: [{ selector: 'pry-restitution-catalog', template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-manifest-layout o-restitution-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n type=\"button\"\n (click)=\"selectMode(mode.CREATION)\"\n class=\"a-btn a-btn--primary a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.restitution.create' | i18n\"\n data-tooltip-position=\"bottom\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'create' }\"\n >\n {{ '@pry.context.create' | i18n }}\n </button>\n <div>\n <div class=\"o-catalog__search o-manifest-layout__toolbox__search\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.restitution.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n </div>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.restitution.catalog' | i18n }}</h1>\n\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let restitution of filteredRestitution$ | async; let index = index\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"restitution.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div\n class=\"a-tooltip -tooltip-no-wrap\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <div class=\"o-presentation__item__image\">\n <img\n alt=\"\"\n [class.is-full-width]=\"restitution.cover\"\n [src]=\"restitution.image | getSecuredImage : [600, 600] | async\"\n class=\"pointer\"\n />\n </div>\n </div>\n <ng-container *ngIf=\"restitution.owner\">\n <div class=\"more-button\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--more a-tooltip -tooltip-no-wrap\"\n [id]=\"'more-actions-' + index\"\n [attr.data-tooltip]=\"'@pry.restitution.more' | i18n\"\n (click)=\"toggleModalActions(restitution, button)\"\n #button\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </div>\n </ng-container>\n </div>\n <div\n class=\"o-presentation__item__txt\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <div class=\"o-presentation__item__title-container\" ellipsis textElementSelector=\".a-h3\">\n <h3 class=\"a-h3\">{{ restitution.name }}</h3>\n </div>\n <div class=\"o-presentation__item__description-container\" ellipsis textElementSelector=\".a-p\">\n <div class=\"o-presentation__item__description a-p\">\n {{ restitution.description }}\n </div>\n </div>\n <p class=\"a-p -date\">{{ restitution.modificationDate | sinceDate }}</p>\n </div>\n\n <div\n class=\"o-presentation__item__footer a-tooltip -tooltip-no-wrap\"\n (click)=\"selectRestitution(restitution)\"\n [attr.data-tooltip]=\"'@pry.restitution.consultRestitution' | i18n\"\n >\n <button class=\"a-btn\">\n {{ '@pry.restitution.view' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-template>\n <ng-template #modalActions>\n <div class=\"m-context-menu\">\n <ul\n *ngIf=\"selectedRestitution\"\n class=\"m-context-menu__list\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog restitution options\"\n >\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"editRestitution(selectedRestitution)\"\n [disabled]=\"!selectedRestitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'edit' }\"\n >\n {{ '@pry.restitution.update' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n #openModal\n (click)=\"deleteRestitution(selectedRestitution.id)\"\n [disabled]=\"!selectedRestitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'delete' }\"\n >\n {{ '@pry.restitution.delete' | i18n }}\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution($event)\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution (restitutionCreated)=\"closeRestitution($event)\" class=\"restitution\"></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.EDITION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n (restitutionCreated)=\"closeRestitution($event)\"\n [selectedRestitution]=\"selectedRestitution\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n</div>\n" }]
|
|
85
85
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { templateActions: [{
|
|
86
86
|
type: ViewChild,
|
|
87
87
|
args: ['modalActions', { read: TemplateRef }]
|
|
88
88
|
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGl0dXRpb24tY2F0YWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uLWNhdGFsb2cvcmVzdGl0dXRpb24tY2F0YWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uLWNhdGFsb2cvcmVzdGl0dXRpb24tY2F0YWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQVUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7O0FBTXJELE1BQU0sT0FBTyw4QkFBOEI7SUFZekMsWUFBb0IsS0FBWSxFQUFZLE9BQWdCLEVBQVksZ0JBQWtDO1FBQXRGLFVBQUssR0FBTCxLQUFLLENBQU87UUFBWSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVkscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVYxRyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbEMsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQixpQkFBWSxHQUFhLFFBQVEsQ0FBQyxPQUFP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QztZQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzsrR0F0RlUsOEJBQThCO21HQUE5Qiw4QkFBOEIsMkpBVU4sV0FBVyw2QkNyQmhELHk5T0FzTEE7OzRGRDNLYSw4QkFBOEI7a0JBSjFDLFNBQVM7K0JBQ0UseUJBQXlCO2lKQWFlLGVBQWU7c0JBQWhFLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnQWN0aW9ucywgQ29uZmlnU2VsZWN0b3JzLCBQcnlWaXNpYmlsaXR5VHlwZSwgVmlld01vZGUsIFdpZGdldCB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXJlc3RpdHV0aW9uLWNhdGFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzdGl0dXRpb24tY2F0YWxvZy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5UmVzdGl0dXRpb25DYXRhbG9nQ29tcG9uZW50IHtcbiAgcmVzdGl0dXRpb25zJDogT2JzZXJ2YWJsZTxXaWRnZXRbXT47XG4gIHNlYXJjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcbiAgZmlsdGVyZWRSZXN0aXR1dGlvbiQ6IE9ic2VydmFibGU8V2lkZ2V0W10+O1xuICBtb2RlID0gVmlld01vZGU7XG4gIHNlbGVjdGVkTW9kZTogVmlld01vZGUgPSBWaWV3TW9kZS5DQVRBTE9HO1xuICBzZWxlY3RlZFJlc3RpdHV0aW9uOiBXaWRnZXQgfCBudWxsID0gbnVsbDtcbiAgcmVzdGl0dXRpb24/OiBXaWRnZXQ7XG4gIFByeVZpc2liaWxpdHlUeXBlID0gUHJ5VmlzaWJpbGl0eVR5cGU7XG4gIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuICBAVmlld0NoaWxkKCdtb2RhbEFjdGlvbnMnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHRlbXBsYXRlQWN0aW9ucyE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByb3RlY3RlZCBvdmVybGF5OiBPdmVybGF5LCBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5sb2FkV2lkZ2V0cygpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuZ2V0TWFwU3R5bGVzKCkpO1xuXG4gICAgdGhpcy5yZXN0aXR1dGlvbnMkID0gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMuY2F0YWxvZylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3RpdHV0aW9uTGlzdCkgPT5cbiAgICAgICAgICBbLi4ucmVzdGl0dXRpb25MaXN0XS5zb3J0KChhLCBiKSA9PlxuICAgICAgICAgICAgYS5tb2RpZmljYXRpb25EYXRlID8gYi5tb2RpZmljYXRpb25EYXRlLmxvY2FsZUNvbXBhcmUoYS5tb2RpZmljYXRpb25EYXRlKSA6IDFcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgdGhpcy5maWx0ZXJlZFJlc3RpdHV0aW9uJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMucmVzdGl0dXRpb25zJCwgdGhpcy5zZWFyY2gkXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3RpdHV0aW9ucywgc2VhcmNoXSkgPT5cbiAgICAgICAgcmVzdGl0dXRpb25zLmZpbHRlcihcbiAgICAgICAgICAocmVzdGl0dXRpb24pID0+IHNlYXJjaC5sZW5ndGggPT09IDAgfHwgcmVzdGl0dXRpb24ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaC50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdE1vZGUobmV3TW9kZTogVmlld01vZGUpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kZSA9IG5ld01vZGU7XG4gIH1cblxuICBzZWxlY3RSZXN0aXR1dGlvbihyZXN0aXR1dGlvbjogV2lkZ2V0KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3RpdHV0aW9uID0gcmVzdGl0dXRpb247XG4gICAgdGhpcy5zZWxlY3RNb2RlKHRoaXMubW9kZS5DT05TVUxUKTtcbiAgICB0aGlzLnNlYXJjaCQubmV4dCgnJyk7XG4gIH1cblxuICBjbG9zZVJlc3RpdHV0aW9uKCRldmVudDogdm9pZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbiA9IG51bGw7XG4gICAgdGhpcy5zZWxlY3RNb2RlKHRoaXMubW9kZS5DQVRBTE9HKTtcbiAgfVxuXG4gIGRlbGV0ZVJlc3RpdHV0aW9uKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY29uZmlybVJlc3RpdHV0aW9uRGVsZXRpb24oeyBpZCB9KSk7XG4gICAgdGhpcy50b2dnbGVNb2RhbEFjdGlvbnMoKTtcbiAgfVxuXG4gIGVkaXRSZXN0aXR1dGlvbihyZXN0aXR1dGlvbjogV2lkZ2V0KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3RpdHV0aW9uID0gcmVzdGl0dXRpb247XG4gICAgdGhpcy5zZWxlY3RNb2RlKFZpZXdNb2RlLkVESVRJT04pO1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KCcnKTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gIH1cblxuICB0b2dnbGVNb2RhbEFjdGlvbnMocmVzdGl0dXRpb24/OiBXaWRnZXQsIG1vcmVCdXR0b24/OiBIVE1MQnV0dG9uRWxlbWVudCkge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmICYmIHJlc3RpdHV0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24gPSByZXN0aXR1dGlvbjtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoXG4gICAgICAgIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ20tY29udGV4dC1tZW51LXdyYXBwZXInXSxcbiAgICAgICAgICBiYWNrZHJvcENsYXNzOiAnYmFja2Ryb3AnXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGVNb2RhbEFjdGlvbnMocmVzdGl0dXRpb24pKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGVBY3Rpb25zLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICAgIGNvbnN0IGNvbnRleHRNZW51ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZGl2Lm0tY29udGV4dC1tZW51JykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBpZiAoISFjb250ZXh0TWVudSAmJiBtb3JlQnV0dG9uKSB7XG4gICAgICAgIGNvbnN0IHRvZ2dsZUFjdGlvbnNNb2RhbEJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyMnICsgbW9yZUJ1dHRvbi5pZCk7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0b2dnbGVBY3Rpb25zTW9kYWxCdXR0b24/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb250ZXh0TWVudS5zdHlsZS5sZWZ0ID0gKHJlY3Q/LmxlZnQgPz8gMCkgLSAoY29udGV4dE1lbnU/LmNsaWVudFdpZHRoID8/IDApICsgMjMgKyAncHgnO1xuICAgICAgICBjb250ZXh0TWVudS5zdHlsZS50b3AgPSAocmVjdD8udG9wID8/IDApICsgMjUgKyAncHgnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbiA9IG51bGw7XG4gICAgfVxuICB9XG59XG4iLCI8cHJ5LXJlc3RpdHV0aW9uLWNzcz48L3ByeS1yZXN0aXR1dGlvbi1jc3M+XG48ZGl2IGNsYXNzPVwiby1tYW5pZmVzdC1sYXlvdXQgby1yZXN0aXR1dGlvbi1jYXRhbG9nXCI+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzZWxlY3RlZE1vZGUgPT09IG1vZGUuQ0FUQUxPR1wiPlxuICAgIDxkaXYgY2xhc3M9XCJvLW1hbmlmZXN0LWxheW91dF9fdG9vbGJveFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdE1vZGUobW9kZS5DUkVBVElPTilcIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IGEtdG9vbHRpcCAtdG9vbHRpcC1uby13cmFwXCJcbiAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIidAcHJ5LnJlc3RpdHV0aW9uLmNyZWF0ZScgfCBpMThuXCJcbiAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Jlc3RpdHV0aW9uJywgYWN0aW9uOiAnY3JlYXRlJyB9XCJcbiAgICAgID5cbiAgICAgICAge3sgJ0BwcnkuY29udGV4dC5jcmVhdGUnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1jYXRhbG9nX19zZWFyY2hcIj5cbiAgICAgICAgICA8bGFiZWwgaWQ9XCJjYXRhbG9nLXNlYXJjaC1sYWJlbFwiIGZvcj1cImNhdGFsb2ctc2VhcmNoXCIgY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgJ0BwcnkudG9vbGJveC5jYXRhbG9nLmZpbHRlci5uYW1lJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGlkPVwiY2F0YWxvZy1zZWFyY2hcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAcHJ5LnJlc3RpdHV0aW9uLnNlYXJjaCcgfCBpMThuXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaCQgfCBhc3luY1wiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aGlzLnNlYXJjaCQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJzZWFyY2hcIiBbd2lkdGhdPVwiMTdcIiBbaGVpZ2h0XT1cIjE3XCI+PC9wcnktaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiby1tYW5pZmVzdC1sYXlvdXRfX2NvbnRlbnRcIj5cbiAgICAgIDxoMSBjbGFzcz1cImEtaDFcIj57eyAnQHByeS5yZXN0aXR1dGlvbi5jYXRhbG9nJyB8IGkxOG4gfX08L2gxPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiby1wcmVzZW50YXRpb24td3JhcHBlclwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJvLXByZXNlbnRhdGlvblwiPlxuICAgICAgICAgIDxsaSBjbGFzcz1cIm8tcHJlc2VudGF0aW9uX19pdGVtXCIgKm5nRm9yPVwibGV0IHJlc3RpdHV0aW9uIG9mIGZpbHRlcmVkUmVzdGl0dXRpb24kIHwgYXN5bmM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcmVzZW50YXRpb25fX2l0ZW1fX2hlYWRlclwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzdGl0dXRpb24udmlzaWJpbGl0eT8udHlwZSA9PT0gUHJ5VmlzaWJpbGl0eVR5cGUuUFJJVkFURVwiPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAgICAgaWNvblN2Zz1cInByaXZhdGVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpcy1wcml2YXRlIGEtdG9vbHRpcCAtdG9vbHRpcC1uby13cmFwXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5yZXN0aXR1dGlvbi5sb2NrJyB8IGkxOG5cIlxuICAgICAgICAgICAgICAgICAgW2hlaWdodF09XCIxN1wiXG4gICAgICAgICAgICAgICAgICBbd2lkdGhdPVwiMTdcIlxuICAgICAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYS10b29sdGlwIC10b29sdGlwLW5vLXdyYXBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSZXN0aXR1dGlvbihyZXN0aXR1dGlvbilcIlxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5yZXN0aXR1dGlvbi5jb25zdWx0UmVzdGl0dXRpb24nIHwgaTE4blwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcmVzZW50YXRpb25fX2l0ZW1fX2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1mdWxsLXdpZHRoXT1cInJlc3RpdHV0aW9uLmNvdmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJyZXN0aXR1dGlvbi5pbWFnZSB8IGdldFNlY3VyZWRJbWFnZSA6IFs2MDAsIDYwMF0gfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc3RpdHV0aW9uLm93bmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vcmUtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1tb3JlIGEtdG9vbHRpcCAtdG9vbHRpcC1uby13cmFwXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIidtb3JlLWFjdGlvbnMtJyArIGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIidAcHJ5LnJlc3RpdHV0aW9uLm1vcmUnIHwgaTE4blwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVNb2RhbEFjdGlvbnMocmVzdGl0dXRpb24sIGJ1dHRvbilcIlxuICAgICAgICAgICAgICAgICAgICAjYnV0dG9uXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBbaGVpZ2h0XT1cIjI1XCIgW3dpZHRoXT1cIjI1XCIgaWNvblN2Zz1cIm1vcmVfaG9yaXpcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiby1wcmVzZW50YXRpb25fX2l0ZW1fX3R4dFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSZXN0aXR1dGlvbihyZXN0aXR1dGlvbilcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiJ0BwcnkucmVzdGl0dXRpb24uY29uc3VsdFJlc3RpdHV0aW9uJyB8IGkxOG5cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcmVzZW50YXRpb25fX2l0ZW1fX3RpdGxlLWNvbnRhaW5lclwiIGVsbGlwc2lzIHRleHRFbGVtZW50U2VsZWN0b3I9XCIuYS1oM1wiPlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImEtaDNcIj57eyByZXN0aXR1dGlvbi5uYW1lIH19PC9oMz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXByZXNlbnRhdGlvbl9faXRlbV9fZGVzY3JpcHRpb24tY29udGFpbmVyXCIgZWxsaXBzaXMgdGV4dEVsZW1lbnRTZWxlY3Rvcj1cIi5hLXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcmVzZW50YXRpb25fX2l0ZW1fX2Rlc2NyaXB0aW9uIGEtcFwiPlxuICAgICAgICAgICAgICAgICAge3sgcmVzdGl0dXRpb24uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiYS1wIC1kYXRlXCI+e3sgcmVzdGl0dXRpb24ubW9kaWZpY2F0aW9uRGF0ZSB8IHNpbmNlRGF0ZSB9fTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiby1wcmVzZW50YXRpb25fX2l0ZW1fX2Zvb3RlciBhLXRvb2x0aXAgLXRvb2x0aXAtbm8td3JhcFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSZXN0aXR1dGlvbihyZXN0aXR1dGlvbilcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiJ0BwcnkucmVzdGl0dXRpb24uY29uc3VsdFJlc3RpdHV0aW9uJyB8IGkxOG5cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG5cIj5cbiAgICAgICAgICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi52aWV3JyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjIwXCIgW2hlaWdodF09XCIyMFwiIGljb25Tdmc9XCJhcnJvd19yaWdodFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI21vZGFsQWN0aW9ucz5cbiAgICA8ZGl2IGNsYXNzPVwibS1jb250ZXh0LW1lbnVcIj5cbiAgICAgIDx1bFxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkUmVzdGl0dXRpb25cIlxuICAgICAgICBjbGFzcz1cIm0tY29udGV4dC1tZW51X19saXN0XCJcbiAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZGlhbG9nIHJlc3RpdHV0aW9uIG9wdGlvbnNcIlxuICAgICAgPlxuICAgICAgICA8bGkgY2xhc3M9XCJtLWNvbnRleHQtbWVudV9fbGlzdF9faXRlbVwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gLWxpbmstbGlrZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdFJlc3RpdHV0aW9uKHNlbGVjdGVkUmVzdGl0dXRpb24pXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRSZXN0aXR1dGlvbi5vd25lclwiXG4gICAgICAgICAgICAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAncmVzdGl0dXRpb24nLCBhY3Rpb246ICdlZGl0JyB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi51cGRhdGUnIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGkgY2xhc3M9XCJtLWNvbnRleHQtbWVudV9fbGlzdF9faXRlbVwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gLWxpbmstbGlrZVwiXG4gICAgICAgICAgICAjb3Blbk1vZGFsXG4gICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlUmVzdGl0dXRpb24oc2VsZWN0ZWRSZXN0aXR1dGlvbi5pZClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzZWxlY3RlZFJlc3RpdHV0aW9uLm93bmVyXCJcbiAgICAgICAgICAgICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICdyZXN0aXR1dGlvbicsIGFjdGlvbjogJ2RlbGV0ZScgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkucmVzdGl0dXRpb24uZGVsZXRlJyB8IGkxOG4gfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNlbGVjdGVkTW9kZSA9PT0gbW9kZS5DT05TVUxUXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X190b29sYm94XCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2VsZWN0TW9kZShtb2RlLkNBVEFMT0cpXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiPlxuICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5iYWNrVG9DYXRhbG9nJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvLW1hbmlmZXN0LWxheW91dF9fY29udGVudFwiPlxuICAgICAgPHByeS1yZXN0aXR1dGlvblxuICAgICAgICBbc2VsZWN0ZWRSZXN0aXR1dGlvbl09XCJzZWxlY3RlZFJlc3RpdHV0aW9uXCJcbiAgICAgICAgW2VkaXRdPVwiZmFsc2VcIlxuICAgICAgICAocmVzdGl0dXRpb25DcmVhdGVkKT1cImNsb3NlUmVzdGl0dXRpb24oJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwicmVzdGl0dXRpb25cIlxuICAgICAgPjwvcHJ5LXJlc3RpdHV0aW9uPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwic2VsZWN0ZWRNb2RlID09PSBtb2RlLkNSRUFUSU9OXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X190b29sYm94XCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2VsZWN0TW9kZShtb2RlLkNBVEFMT0cpXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiPlxuICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5iYWNrVG9DYXRhbG9nJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvLW1hbmlmZXN0LWxheW91dF9fY29udGVudFwiPlxuICAgICAgPHByeS1yZXN0aXR1dGlvbiAocmVzdGl0dXRpb25DcmVhdGVkKT1cImNsb3NlUmVzdGl0dXRpb24oJGV2ZW50KVwiIGNsYXNzPVwicmVzdGl0dXRpb25cIj48L3ByeS1yZXN0aXR1dGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNlbGVjdGVkTW9kZSA9PT0gbW9kZS5FRElUSU9OXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X190b29sYm94XCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2VsZWN0TW9kZShtb2RlLkNBVEFMT0cpXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiPlxuICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5iYWNrVG9DYXRhbG9nJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvLW1hbmlmZXN0LWxheW91dF9fY29udGVudFwiPlxuICAgICAgPHByeS1yZXN0aXR1dGlvblxuICAgICAgICAocmVzdGl0dXRpb25DcmVhdGVkKT1cImNsb3NlUmVzdGl0dXRpb24oJGV2ZW50KVwiXG4gICAgICAgIFtzZWxlY3RlZFJlc3RpdHV0aW9uXT1cInNlbGVjdGVkUmVzdGl0dXRpb25cIlxuICAgICAgICBjbGFzcz1cInJlc3RpdHV0aW9uXCJcbiAgICAgID48L3ByeS1yZXN0aXR1dGlvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGl0dXRpb24tY2F0YWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uLWNhdGFsb2cvcmVzdGl0dXRpb24tY2F0YWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uLWNhdGFsb2cvcmVzdGl0dXRpb24tY2F0YWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQVUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7O0FBTXJELE1BQU0sT0FBTyw4QkFBOEI7SUFZekMsWUFBb0IsS0FBWSxFQUFZLE9BQWdCLEVBQVksZ0JBQWtDO1FBQXRGLFVBQUssR0FBTCxLQUFLLENBQU87UUFBWSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVkscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVYxRyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbEMsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQixpQkFBWSxHQUFhLFFBQVEsQ0FBQyxPQUFP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QztZQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzsrR0F0RlUsOEJBQThCO21HQUE5Qiw4QkFBOEIsMkpBVU4sV0FBVyw2QkNyQmhELDQvT0FzTEE7OzRGRDNLYSw4QkFBOEI7a0JBSjFDLFNBQVM7K0JBQ0UseUJBQXlCO2lKQWFlLGVBQWU7c0JBQWhFLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnQWN0aW9ucywgQ29uZmlnU2VsZWN0b3JzLCBQcnlWaXNpYmlsaXR5VHlwZSwgVmlld01vZGUsIFdpZGdldCB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXJlc3RpdHV0aW9uLWNhdGFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzdGl0dXRpb24tY2F0YWxvZy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5UmVzdGl0dXRpb25DYXRhbG9nQ29tcG9uZW50IHtcbiAgcmVzdGl0dXRpb25zJDogT2JzZXJ2YWJsZTxXaWRnZXRbXT47XG4gIHNlYXJjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcbiAgZmlsdGVyZWRSZXN0aXR1dGlvbiQ6IE9ic2VydmFibGU8V2lkZ2V0W10+O1xuICBtb2RlID0gVmlld01vZGU7XG4gIHNlbGVjdGVkTW9kZTogVmlld01vZGUgPSBWaWV3TW9kZS5DQVRBTE9HO1xuICBzZWxlY3RlZFJlc3RpdHV0aW9uOiBXaWRnZXQgfCBudWxsID0gbnVsbDtcbiAgcmVzdGl0dXRpb24/OiBXaWRnZXQ7XG4gIFByeVZpc2liaWxpdHlUeXBlID0gUHJ5VmlzaWJpbGl0eVR5cGU7XG4gIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuICBAVmlld0NoaWxkKCdtb2RhbEFjdGlvbnMnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHRlbXBsYXRlQWN0aW9ucyE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByb3RlY3RlZCBvdmVybGF5OiBPdmVybGF5LCBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5sb2FkV2lkZ2V0cygpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuZ2V0TWFwU3R5bGVzKCkpO1xuXG4gICAgdGhpcy5yZXN0aXR1dGlvbnMkID0gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMuY2F0YWxvZylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3RpdHV0aW9uTGlzdCkgPT5cbiAgICAgICAgICBbLi4ucmVzdGl0dXRpb25MaXN0XS5zb3J0KChhLCBiKSA9PlxuICAgICAgICAgICAgYS5tb2RpZmljYXRpb25EYXRlID8gYi5tb2RpZmljYXRpb25EYXRlLmxvY2FsZUNvbXBhcmUoYS5tb2RpZmljYXRpb25EYXRlKSA6IDFcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgdGhpcy5maWx0ZXJlZFJlc3RpdHV0aW9uJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMucmVzdGl0dXRpb25zJCwgdGhpcy5zZWFyY2gkXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3RpdHV0aW9ucywgc2VhcmNoXSkgPT5cbiAgICAgICAgcmVzdGl0dXRpb25zLmZpbHRlcihcbiAgICAgICAgICAocmVzdGl0dXRpb24pID0+IHNlYXJjaC5sZW5ndGggPT09IDAgfHwgcmVzdGl0dXRpb24ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaC50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdE1vZGUobmV3TW9kZTogVmlld01vZGUpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kZSA9IG5ld01vZGU7XG4gIH1cblxuICBzZWxlY3RSZXN0aXR1dGlvbihyZXN0aXR1dGlvbjogV2lkZ2V0KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3RpdHV0aW9uID0gcmVzdGl0dXRpb247XG4gICAgdGhpcy5zZWxlY3RNb2RlKHRoaXMubW9kZS5DT05TVUxUKTtcbiAgICB0aGlzLnNlYXJjaCQubmV4dCgnJyk7XG4gIH1cblxuICBjbG9zZVJlc3RpdHV0aW9uKCRldmVudDogdm9pZCkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbiA9IG51bGw7XG4gICAgdGhpcy5zZWxlY3RNb2RlKHRoaXMubW9kZS5DQVRBTE9HKTtcbiAgfVxuXG4gIGRlbGV0ZVJlc3RpdHV0aW9uKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY29uZmlybVJlc3RpdHV0aW9uRGVsZXRpb24oeyBpZCB9KSk7XG4gICAgdGhpcy50b2dnbGVNb2RhbEFjdGlvbnMoKTtcbiAgfVxuXG4gIGVkaXRSZXN0aXR1dGlvbihyZXN0aXR1dGlvbjogV2lkZ2V0KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3RpdHV0aW9uID0gcmVzdGl0dXRpb247XG4gICAgdGhpcy5zZWxlY3RNb2RlKFZpZXdNb2RlLkVESVRJT04pO1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KCcnKTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gIH1cblxuICB0b2dnbGVNb2RhbEFjdGlvbnMocmVzdGl0dXRpb24/OiBXaWRnZXQsIG1vcmVCdXR0b24/OiBIVE1MQnV0dG9uRWxlbWVudCkge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmICYmIHJlc3RpdHV0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24gPSByZXN0aXR1dGlvbjtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoXG4gICAgICAgIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ20tY29udGV4dC1tZW51LXdyYXBwZXInXSxcbiAgICAgICAgICBiYWNrZHJvcENsYXNzOiAnYmFja2Ryb3AnXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGVNb2RhbEFjdGlvbnMocmVzdGl0dXRpb24pKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGVBY3Rpb25zLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICAgIGNvbnN0IGNvbnRleHRNZW51ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZGl2Lm0tY29udGV4dC1tZW51JykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBpZiAoISFjb250ZXh0TWVudSAmJiBtb3JlQnV0dG9uKSB7XG4gICAgICAgIGNvbnN0IHRvZ2dsZUFjdGlvbnNNb2RhbEJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyMnICsgbW9yZUJ1dHRvbi5pZCk7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0b2dnbGVBY3Rpb25zTW9kYWxCdXR0b24/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb250ZXh0TWVudS5zdHlsZS5sZWZ0ID0gKHJlY3Q/LmxlZnQgPz8gMCkgLSAoY29udGV4dE1lbnU/LmNsaWVudFdpZHRoID8/IDApICsgMjMgKyAncHgnO1xuICAgICAgICBjb250ZXh0TWVudS5zdHlsZS50b3AgPSAocmVjdD8udG9wID8/IDApICsgMjUgKyAncHgnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZXN0aXR1dGlvbiA9IG51bGw7XG4gICAgfVxuICB9XG59XG4iLCI8cHJ5LXJlc3RpdHV0aW9uLWNzcz48L3ByeS1yZXN0aXR1dGlvbi1jc3M+XG48ZGl2IGNsYXNzPVwiby1tYW5pZmVzdC1sYXlvdXQgby1yZXN0aXR1dGlvbi1jYXRhbG9nXCI+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzZWxlY3RlZE1vZGUgPT09IG1vZGUuQ0FUQUxPR1wiPlxuICAgIDxkaXYgY2xhc3M9XCJvLW1hbmlmZXN0LWxheW91dF9fdG9vbGJveFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdE1vZGUobW9kZS5DUkVBVElPTilcIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IGEtdG9vbHRpcCAtdG9vbHRpcC1uby13cmFwXCJcbiAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIidAcHJ5LnJlc3RpdHV0aW9uLmNyZWF0ZScgfCBpMThuXCJcbiAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Jlc3RpdHV0aW9uJywgYWN0aW9uOiAnY3JlYXRlJyB9XCJcbiAgICAgID5cbiAgICAgICAge3sgJ0BwcnkuY29udGV4dC5jcmVhdGUnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1jYXRhbG9nX19zZWFyY2ggby1tYW5pZmVzdC1sYXlvdXRfX3Rvb2xib3hfX3NlYXJjaFwiPlxuICAgICAgICAgIDxsYWJlbCBpZD1cImNhdGFsb2ctc2VhcmNoLWxhYmVsXCIgZm9yPVwiY2F0YWxvZy1zZWFyY2hcIiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyAnQHByeS50b29sYm94LmNhdGFsb2cuZmlsdGVyLm5hbWUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgaWQ9XCJjYXRhbG9nLXNlYXJjaFwiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0BwcnkucmVzdGl0dXRpb24uc2VhcmNoJyB8IGkxOG5cIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRoaXMuc2VhcmNoJC5uZXh0KCRldmVudClcIlxuICAgICAgICAgIC8+XG5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInNlYXJjaFwiIFt3aWR0aF09XCIxN1wiIFtoZWlnaHRdPVwiMTdcIj48L3ByeS1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvLW1hbmlmZXN0LWxheW91dF9fY29udGVudFwiPlxuICAgICAgPGgxIGNsYXNzPVwiYS1oMVwiPnt7ICdAcHJ5LnJlc3RpdHV0aW9uLmNhdGFsb2cnIHwgaTE4biB9fTwvaDE+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXByZXNlbnRhdGlvbi13cmFwcGVyXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm8tcHJlc2VudGF0aW9uXCI+XG4gICAgICAgICAgPGxpIGNsYXNzPVwiby1wcmVzZW50YXRpb25fX2l0ZW1cIiAqbmdGb3I9XCJsZXQgcmVzdGl0dXRpb24gb2YgZmlsdGVyZWRSZXN0aXR1dGlvbiQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXByZXNlbnRhdGlvbl9faXRlbV9faGVhZGVyXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXN0aXR1dGlvbi52aXNpYmlsaXR5Py50eXBlID09PSBQcnlWaXNpYmlsaXR5VHlwZS5QUklWQVRFXCI+XG4gICAgICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICAgICBpY29uU3ZnPVwicHJpdmF0ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImlzLXByaXZhdGUgYS10b29sdGlwIC10b29sdGlwLW5vLXdyYXBcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIidAcHJ5LnJlc3RpdHV0aW9uLmxvY2snIHwgaTE4blwiXG4gICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjE3XCJcbiAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCIxN1wiXG4gICAgICAgICAgICAgICAgPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhLXRvb2x0aXAgLXRvb2x0aXAtbm8td3JhcFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJlc3RpdHV0aW9uKHJlc3RpdHV0aW9uKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIidAcHJ5LnJlc3RpdHV0aW9uLmNvbnN1bHRSZXN0aXR1dGlvbicgfCBpMThuXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXByZXNlbnRhdGlvbl9faXRlbV9faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmlzLWZ1bGwtd2lkdGhdPVwicmVzdGl0dXRpb24uY292ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInJlc3RpdHV0aW9uLmltYWdlIHwgZ2V0U2VjdXJlZEltYWdlIDogWzYwMCwgNjAwXSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzdGl0dXRpb24ub3duZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLW1vcmUgYS10b29sdGlwIC10b29sdGlwLW5vLXdyYXBcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ21vcmUtYWN0aW9ucy0nICsgaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiJ0BwcnkucmVzdGl0dXRpb24ubW9yZScgfCBpMThuXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU1vZGFsQWN0aW9ucyhyZXN0aXR1dGlvbiwgYnV0dG9uKVwiXG4gICAgICAgICAgICAgICAgICAgICNidXR0b25cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIFtoZWlnaHRdPVwiMjVcIiBbd2lkdGhdPVwiMjVcIiBpY29uU3ZnPVwibW9yZV9ob3JpelwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJvLXByZXNlbnRhdGlvbl9faXRlbV9fdHh0XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJlc3RpdHV0aW9uKHJlc3RpdHV0aW9uKVwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5yZXN0aXR1dGlvbi5jb25zdWx0UmVzdGl0dXRpb24nIHwgaTE4blwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXByZXNlbnRhdGlvbl9faXRlbV9fdGl0bGUtY29udGFpbmVyXCIgZWxsaXBzaXMgdGV4dEVsZW1lbnRTZWxlY3Rvcj1cIi5hLWgzXCI+XG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiYS1oM1wiPnt7IHJlc3RpdHV0aW9uLm5hbWUgfX08L2gzPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJlc2VudGF0aW9uX19pdGVtX19kZXNjcmlwdGlvbi1jb250YWluZXJcIiBlbGxpcHNpcyB0ZXh0RWxlbWVudFNlbGVjdG9yPVwiLmEtcFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXByZXNlbnRhdGlvbl9faXRlbV9fZGVzY3JpcHRpb24gYS1wXCI+XG4gICAgICAgICAgICAgICAgICB7eyByZXN0aXR1dGlvbi5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXAgLWRhdGVcIj57eyByZXN0aXR1dGlvbi5tb2RpZmljYXRpb25EYXRlIHwgc2luY2VEYXRlIH19PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJvLXByZXNlbnRhdGlvbl9faXRlbV9fZm9vdGVyIGEtdG9vbHRpcCAtdG9vbHRpcC1uby13cmFwXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJlc3RpdHV0aW9uKHJlc3RpdHV0aW9uKVwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5yZXN0aXR1dGlvbi5jb25zdWx0UmVzdGl0dXRpb24nIHwgaTE4blwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0blwiPlxuICAgICAgICAgICAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLnZpZXcnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCIgaWNvblN2Zz1cImFycm93X3JpZ2h0XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjbW9kYWxBY3Rpb25zPlxuICAgIDxkaXYgY2xhc3M9XCJtLWNvbnRleHQtbWVudVwiPlxuICAgICAgPHVsXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRSZXN0aXR1dGlvblwiXG4gICAgICAgIGNsYXNzPVwibS1jb250ZXh0LW1lbnVfX2xpc3RcIlxuICAgICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJkaWFsb2cgcmVzdGl0dXRpb24gb3B0aW9uc1wiXG4gICAgICA+XG4gICAgICAgIDxsaSBjbGFzcz1cIm0tY29udGV4dC1tZW51X19saXN0X19pdGVtXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biAtbGluay1saWtlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0UmVzdGl0dXRpb24oc2VsZWN0ZWRSZXN0aXR1dGlvbilcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzZWxlY3RlZFJlc3RpdHV0aW9uLm93bmVyXCJcbiAgICAgICAgICAgICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2Rhc2hib2FyZCcsIHBhZ2U6ICdyZXN0aXR1dGlvbicsIGFjdGlvbjogJ2VkaXQnIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLnVwZGF0ZScgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaSBjbGFzcz1cIm0tY29udGV4dC1tZW51X19saXN0X19pdGVtXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biAtbGluay1saWtlXCJcbiAgICAgICAgICAgICNvcGVuTW9kYWxcbiAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVSZXN0aXR1dGlvbihzZWxlY3RlZFJlc3RpdHV0aW9uLmlkKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXNlbGVjdGVkUmVzdGl0dXRpb24ub3duZXJcIlxuICAgICAgICAgICAgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnZGFzaGJvYXJkJywgcGFnZTogJ3Jlc3RpdHV0aW9uJywgYWN0aW9uOiAnZGVsZXRlJyB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5kZWxldGUnIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwic2VsZWN0ZWRNb2RlID09PSBtb2RlLkNPTlNVTFRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1tYW5pZmVzdC1sYXlvdXRfX3Rvb2xib3hcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzZWxlY3RNb2RlKG1vZGUuQ0FUQUxPRylcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCI+XG4gICAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLmJhY2tUb0NhdGFsb2cnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X19jb250ZW50XCI+XG4gICAgICA8cHJ5LXJlc3RpdHV0aW9uXG4gICAgICAgIFtzZWxlY3RlZFJlc3RpdHV0aW9uXT1cInNlbGVjdGVkUmVzdGl0dXRpb25cIlxuICAgICAgICBbZWRpdF09XCJmYWxzZVwiXG4gICAgICAgIChyZXN0aXR1dGlvbkNyZWF0ZWQpPVwiY2xvc2VSZXN0aXR1dGlvbigkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJyZXN0aXR1dGlvblwiXG4gICAgICA+PC9wcnktcmVzdGl0dXRpb24+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzZWxlY3RlZE1vZGUgPT09IG1vZGUuQ1JFQVRJT05cIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1tYW5pZmVzdC1sYXlvdXRfX3Rvb2xib3hcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzZWxlY3RNb2RlKG1vZGUuQ0FUQUxPRylcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCI+XG4gICAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLmJhY2tUb0NhdGFsb2cnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X19jb250ZW50XCI+XG4gICAgICA8cHJ5LXJlc3RpdHV0aW9uIChyZXN0aXR1dGlvbkNyZWF0ZWQpPVwiY2xvc2VSZXN0aXR1dGlvbigkZXZlbnQpXCIgY2xhc3M9XCJyZXN0aXR1dGlvblwiPjwvcHJ5LXJlc3RpdHV0aW9uPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwic2VsZWN0ZWRNb2RlID09PSBtb2RlLkVESVRJT05cIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1tYW5pZmVzdC1sYXlvdXRfX3Rvb2xib3hcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzZWxlY3RNb2RlKG1vZGUuQ0FUQUxPRylcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCI+XG4gICAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLmJhY2tUb0NhdGFsb2cnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tbWFuaWZlc3QtbGF5b3V0X19jb250ZW50XCI+XG4gICAgICA8cHJ5LXJlc3RpdHV0aW9uXG4gICAgICAgIChyZXN0aXR1dGlvbkNyZWF0ZWQpPVwiY2xvc2VSZXN0aXR1dGlvbigkZXZlbnQpXCJcbiAgICAgICAgW3NlbGVjdGVkUmVzdGl0dXRpb25dPVwic2VsZWN0ZWRSZXN0aXR1dGlvblwiXG4gICAgICAgIGNsYXNzPVwicmVzdGl0dXRpb25cIlxuICAgICAgPjwvcHJ5LXJlc3RpdHV0aW9uPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|