@provoly/dashboard 0.22.6 → 0.22.7
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/admin/components/admin-abac-rules/store/abac-rules.effects.d.ts +2 -2
- package/admin/components/admin-classes/store/admin-class.effects.d.ts +2 -2
- package/admin/components/admin-fields/store/fields.effects.d.ts +2 -2
- package/admin/store/admin.effects.d.ts +3 -3
- package/components/metadata-editor/store/metadata.effects.d.ts +6 -6
- package/esm2022/admin/admin-routing.module.mjs +5 -5
- package/esm2022/admin/admin.module.mjs +6 -6
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/store/abac-rules.effects.mjs +5 -5
- package/esm2022/admin/components/admin-abac-rules/store/abac-rules.service.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +5 -5
- package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +5 -5
- package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +5 -5
- package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +4 -4
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +5 -5
- package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +5 -5
- package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +5 -5
- package/esm2022/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +5 -5
- package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +5 -5
- package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +5 -5
- package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +5 -5
- package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +5 -5
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +5 -5
- package/esm2022/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +5 -5
- package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +5 -5
- package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +5 -5
- package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +5 -5
- package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +5 -5
- package/esm2022/admin/components/admin-links/admin-links.component.mjs +5 -5
- package/esm2022/admin/components/admin-links/store/links.effects.mjs +5 -5
- package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.mjs +5 -5
- package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +5 -5
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +5 -5
- package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +5 -5
- package/esm2022/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.mjs +4 -4
- package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +5 -5
- package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +5 -5
- package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +5 -5
- package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +5 -5
- package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +5 -5
- package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +5 -5
- package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +5 -5
- package/esm2022/admin/components/admin-title/admin-title.component.mjs +5 -5
- package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +5 -5
- package/esm2022/admin/components/admin-user/admin-user.component.mjs +5 -5
- package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +5 -5
- package/esm2022/admin/components/admin.component.mjs +5 -5
- package/esm2022/admin/components/association/association.component.mjs +4 -4
- package/esm2022/admin/store/admin.effects.mjs +5 -5
- package/esm2022/admin/store/admin.reducer.mjs +1 -1
- package/esm2022/admin/store/admin.selectors.mjs +1 -1
- package/esm2022/admin/store/admin.service.mjs +5 -5
- package/esm2022/components/card/card.component.mjs +20 -20
- package/esm2022/components/card/card.module.mjs +5 -5
- package/esm2022/components/checkbox/checkbox.component.mjs +5 -5
- package/esm2022/components/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/components/color-picker/color-picker.component.mjs +5 -5
- package/esm2022/components/color-picker/color-picker.module.mjs +5 -5
- package/esm2022/components/expand-panel/expand-panel.component.mjs +7 -7
- package/esm2022/components/expand-panel/expand-panel.module.mjs +5 -5
- package/esm2022/components/filter/filter.module.mjs +5 -5
- package/esm2022/components/filter/filter.pipe.mjs +4 -4
- package/esm2022/components/metadata-editor/metadata-editor.component.mjs +5 -5
- package/esm2022/components/metadata-editor/metadata-editor.module.mjs +5 -5
- package/esm2022/components/metadata-editor/store/metadata.effects.mjs +5 -5
- package/esm2022/components/metadata-editor/store/metadata.service.mjs +5 -5
- package/esm2022/components/metadata-editor/style/css.component.mjs +4 -4
- package/esm2022/components/scheme-picker/scheme-picker.component.mjs +5 -5
- package/esm2022/components/scheme-picker/scheme-picker.module.mjs +5 -5
- package/esm2022/components/scheme-picker/scheme.service.mjs +5 -5
- package/esm2022/components/sinceDate/sinceDate.module.mjs +5 -5
- package/esm2022/components/sinceDate/sinceDate.pipe.mjs +5 -5
- package/esm2022/components/stepper/step/step.component.mjs +4 -4
- package/esm2022/components/stepper/step-title.directive.mjs +5 -5
- package/esm2022/components/stepper/stepper.component.mjs +4 -4
- package/esm2022/components/stepper/stepper.module.mjs +5 -5
- package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +5 -5
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +5 -5
- package/esm2022/dataset/components/dataset.component.mjs +5 -5
- package/esm2022/dataset/dataset.module.mjs +6 -6
- package/esm2022/dataset/style/css.component.mjs +4 -4
- package/esm2022/filters/autocomplete/autocomplete.component.mjs +5 -5
- package/esm2022/filters/autocomplete/autocomplete.module.mjs +5 -5
- package/esm2022/filters/autocomplete/style/css.component.mjs +4 -4
- package/esm2022/filters/date/date-filter.component.mjs +5 -5
- package/esm2022/filters/date/date-filter.module.mjs +5 -5
- package/esm2022/filters/list/list-filter.component.mjs +5 -5
- package/esm2022/filters/list/list-filter.module.mjs +5 -5
- package/esm2022/filters/list/style/css.component.mjs +4 -4
- package/esm2022/filters/number/number-filter.component.mjs +5 -5
- package/esm2022/filters/number/number-filter.module.mjs +5 -5
- package/esm2022/filters/text/text-filter.component.mjs +5 -5
- package/esm2022/filters/text/text-filter.module.mjs +5 -5
- package/esm2022/import/components/import.component.mjs +5 -5
- package/esm2022/import/import-routing.module.mjs +5 -5
- package/esm2022/import/import.module.mjs +6 -6
- package/esm2022/import/store/import.effects.mjs +5 -5
- package/esm2022/import/store/import.service.mjs +5 -5
- package/esm2022/import/style/css.component.mjs +4 -4
- package/esm2022/lib/core/access/access.directive.mjs +6 -6
- package/esm2022/lib/core/access/access.guard.mjs +4 -4
- package/esm2022/lib/core/access/access.service.mjs +5 -5
- package/esm2022/lib/core/access/access.utils.mjs +1 -1
- package/esm2022/lib/core/auth/geoAuth.service.mjs +5 -5
- package/esm2022/lib/core/components/about/about.component.mjs +5 -5
- package/esm2022/lib/core/components/about/pry-about.module.mjs +5 -5
- package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +5 -5
- package/esm2022/lib/core/components/accordion/accordion.component.mjs +5 -5
- package/esm2022/lib/core/components/base-layout/base-layout.component.mjs +5 -5
- package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +5 -5
- package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +4 -4
- package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +5 -5
- package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +5 -5
- package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +4 -4
- package/esm2022/lib/core/components/date-picker/date-picker.module.mjs +5 -5
- package/esm2022/lib/core/components/date-picker/date-range-highlight.pipe.mjs +4 -4
- package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +5 -5
- package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +4 -4
- package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +5 -5
- package/esm2022/lib/core/components/edit-input/edit-input.module.mjs +5 -5
- package/esm2022/lib/core/components/ellipsis.directive.mjs +5 -5
- package/esm2022/lib/core/components/get-secured-image/get-secured-image.pipe.mjs +5 -5
- package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.mjs +5 -5
- package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.mjs +5 -5
- package/esm2022/lib/core/components/icon/icon.component.mjs +5 -5
- package/esm2022/lib/core/components/icon/icon.module.mjs +5 -5
- package/esm2022/lib/core/components/modal/modal.component.mjs +4 -4
- package/esm2022/lib/core/components/modal/pry-modal.module.mjs +5 -5
- package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +5 -5
- package/esm2022/lib/core/components/modal-status/modal-status.module.mjs +6 -6
- package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +5 -5
- package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +6 -6
- package/esm2022/lib/core/components/overlay/dialog-ref.mjs +1 -1
- package/esm2022/lib/core/components/overlay/dialog.service.mjs +5 -5
- package/esm2022/lib/core/components/overlay/overlay.directive.mjs +5 -5
- package/esm2022/lib/core/components/overlay/overlay.module.mjs +5 -5
- package/esm2022/lib/core/components/range/range.component.mjs +5 -5
- package/esm2022/lib/core/components/range/range.module.mjs +5 -5
- package/esm2022/lib/core/components/select/select-a11y.service.mjs +1 -1
- package/esm2022/lib/core/components/select/select.component.mjs +5 -5
- package/esm2022/lib/core/components/select/select.module.mjs +5 -5
- package/esm2022/lib/core/components/select-image/select-image.component.mjs +5 -5
- package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +5 -5
- package/esm2022/lib/core/components/share/share.component.mjs +5 -5
- package/esm2022/lib/core/components/share/share.module.mjs +5 -5
- package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +5 -5
- package/esm2022/lib/core/components/snackbar/snackbar.module.mjs +5 -5
- package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +5 -5
- package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +4 -4
- package/esm2022/lib/core/components/sort/sort-header/sort-header.component.mjs +5 -5
- package/esm2022/lib/core/components/sort/sort-header.directive.mjs +4 -4
- package/esm2022/lib/core/components/sort/sort-table.directive.mjs +4 -4
- package/esm2022/lib/core/components/sort/sort.module.mjs +5 -5
- package/esm2022/lib/core/components/tabs/tab-group.component.mjs +5 -5
- package/esm2022/lib/core/components/tabs/tab.component.mjs +5 -5
- package/esm2022/lib/core/components/toggle/toggle.component.mjs +5 -5
- package/esm2022/lib/core/components/toggle/toggle.module.mjs +5 -5
- package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +5 -5
- package/esm2022/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +5 -5
- package/esm2022/lib/core/components/upload/upload.component.mjs +5 -5
- package/esm2022/lib/core/core.module.mjs +6 -6
- package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +5 -5
- package/esm2022/lib/core/i18n/deep-merge.function.mjs +1 -1
- package/esm2022/lib/core/i18n/i18n.module.mjs +5 -5
- package/esm2022/lib/core/i18n/i18n.pipe.mjs +5 -5
- package/esm2022/lib/core/i18n/i18n.service.mjs +5 -5
- package/esm2022/lib/core/model/display-options.interface.mjs +1 -1
- package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +5 -5
- package/esm2022/lib/core/store/aggregation/base-aggregation.service.mjs +4 -4
- package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +1 -2
- package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +5 -5
- package/esm2022/lib/core/store/category/category.effects.mjs +5 -5
- package/esm2022/lib/core/store/category/category.service.mjs +5 -5
- package/esm2022/lib/core/store/class/class.effects.mjs +5 -5
- package/esm2022/lib/core/store/class/class.selectors.mjs +1 -1
- package/esm2022/lib/core/store/class/class.service.mjs +5 -5
- package/esm2022/lib/core/store/config/config.effects.mjs +5 -5
- package/esm2022/lib/core/store/config/config.selectors.mjs +1 -1
- package/esm2022/lib/core/store/config/config.service.mjs +5 -5
- package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +5 -5
- package/esm2022/lib/core/store/context-menu/context-menu.effects.mjs +5 -5
- package/esm2022/lib/core/store/data-source/data-source.effects.mjs +5 -5
- package/esm2022/lib/core/store/data-source/data-source.selectors.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.service.mjs +5 -5
- package/esm2022/lib/core/store/field/field.effects.mjs +5 -5
- package/esm2022/lib/core/store/field/field.selectors.mjs +1 -1
- package/esm2022/lib/core/store/field/field.service.mjs +5 -5
- package/esm2022/lib/core/store/image/image.effects.mjs +5 -5
- package/esm2022/lib/core/store/image/image.selectors.mjs +1 -1
- package/esm2022/lib/core/store/image/image.service.mjs +5 -5
- package/esm2022/lib/core/store/item/item.effects.mjs +5 -5
- package/esm2022/lib/core/store/item/item.service.mjs +5 -5
- package/esm2022/lib/core/store/raw/raw.service.mjs +5 -5
- package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +5 -5
- package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +5 -5
- package/esm2022/lib/core/store/search/lat-lon-to-geographic-field-transformation.function.mjs +1 -1
- package/esm2022/lib/core/store/search/search.effects.mjs +5 -5
- package/esm2022/lib/core/store/search/search.service.mjs +5 -5
- package/esm2022/lib/core/symbol/symbol.service.mjs +5 -5
- package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +5 -5
- package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +5 -5
- package/esm2022/lib/core/ws/websocket.service.mjs +5 -5
- package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +5 -5
- package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +5 -5
- package/esm2022/lib/dashboard/base-widget.module.mjs +5 -5
- package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/solve-collisions.function.mjs +1 -1
- package/esm2022/lib/dashboard/components/subscriptionner.directive.mjs +4 -4
- package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/header/resultset-size.pipe.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +6 -6
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.mjs +1 -1
- package/esm2022/lib/dashboard/dashboard.module.mjs +6 -6
- package/esm2022/lib/dashboard/filter/base-filter.component.mjs +5 -5
- package/esm2022/lib/dashboard/filter/base-filter.module.mjs +5 -5
- package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +6 -6
- package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +5 -5
- package/esm2022/lib/dashboard/filter/filter-factory.service.mjs +6 -6
- package/esm2022/lib/dashboard/filter/filter-loader.function.mjs +1 -1
- package/esm2022/lib/dashboard/filter/style/css.component.mjs +4 -4
- package/esm2022/lib/dashboard/item-utils.mjs +1 -1
- package/esm2022/lib/dashboard/resultset-utils.mjs +1 -1
- package/esm2022/lib/dashboard/store/dashboard-init.service.mjs +6 -6
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +6 -6
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +1 -1
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +1 -1
- package/esm2022/lib/dashboard/store/manifest.service.mjs +5 -5
- package/esm2022/lib/dashboard/store/refresh.service.mjs +5 -5
- package/esm2022/lib/dashboard/store/title.service.mjs +5 -5
- package/esm2022/lib/dashboard/store/wms.service.mjs +5 -5
- package/esm2022/lib/dashboard/tooltip/base-tooltip.component.mjs +4 -4
- package/esm2022/lib/dashboard/tooltip/base-tooltip.module.mjs +5 -5
- package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +4 -4
- package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +6 -6
- package/esm2022/lib/dashboard/tooltip/tooltip-loader.function.mjs +1 -1
- package/esm2022/lib/dashboard/widget-loader.function.mjs +1 -1
- package/esm2022/notification/components/notification/content/notification-content.component.mjs +5 -5
- package/esm2022/notification/components/notification/notification.component.mjs +5 -5
- package/esm2022/notification/notification.module.mjs +6 -6
- package/esm2022/notification/store/notification.effects.mjs +5 -5
- package/esm2022/notification/store/notification.service.mjs +5 -5
- package/esm2022/notification/style/css.component.mjs +4 -4
- package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +5 -5
- package/esm2022/pipeline/components/pipeline-editor/graph-serializer.utils.mjs +1 -1
- package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +5 -5
- package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +5 -5
- package/esm2022/pipeline/components/pipeline-properties-panel.component.mjs +4 -4
- package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +5 -5
- package/esm2022/pipeline/node-class/base-node.class.mjs +1 -1
- package/esm2022/pipeline/pipeline.module.mjs +6 -6
- package/esm2022/pipeline/store/pipeline.effects.mjs +5 -5
- package/esm2022/pipeline/store/pipeline.service.mjs +5 -5
- package/esm2022/pipeline/style/css.component.mjs +4 -4
- package/esm2022/pipeline-components/filter/component/filter.component.mjs +5 -5
- package/esm2022/pipeline-components/filter/filter.module.mjs +6 -6
- package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +5 -5
- package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +6 -6
- package/esm2022/pipeline-components/noop/component/noop.component.mjs +5 -5
- package/esm2022/pipeline-components/noop/noop.module.mjs +6 -6
- package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +5 -5
- package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +6 -6
- package/esm2022/pipeline-components/subgraph/component/empty.component.mjs +5 -5
- package/esm2022/pipeline-components/subgraph/node-class/sub-graph-node.class.mjs +1 -1
- package/esm2022/pipeline-components/subgraph/subgraph.module.mjs +6 -6
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +6 -6
- package/esm2022/presentation/components/presentation.component.mjs +5 -5
- package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +5 -5
- package/esm2022/presentation/presentation.module.mjs +6 -6
- package/esm2022/presentation/style/css.component.mjs +4 -4
- package/esm2022/restitution/components/restitution/restitution.component.mjs +5 -5
- package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +5 -5
- package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +5 -5
- package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +5 -5
- package/esm2022/restitution/restitution.module.mjs +6 -6
- package/esm2022/restitution/style/css.component.mjs +5 -5
- package/esm2022/search/components/choose-widget/choose-widget.component.mjs +5 -5
- package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +5 -5
- package/esm2022/search/components/edit-named-query-modal/edit-named-query-modal.component.mjs +5 -5
- package/esm2022/search/components/save-query/save-query.component.mjs +6 -6
- package/esm2022/search/components/save-query-button/save-query-button.component.mjs +5 -5
- package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +5 -5
- package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +5 -5
- package/esm2022/search/search-fulltext/store/search-fulltext.service.mjs +4 -4
- package/esm2022/search/search-home/search-home.component.mjs +5 -5
- package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +5 -5
- package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +5 -5
- package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +5 -5
- package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +5 -5
- package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +5 -5
- package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +5 -5
- package/esm2022/search/search-mono-class/store/search-mono-class.selectors.mjs +1 -1
- package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +4 -4
- package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +5 -5
- package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +5 -5
- package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +5 -5
- package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +5 -5
- package/esm2022/search/search-multi-class/store/search-multi-class.reducer.mjs +1 -1
- package/esm2022/search/search-multi-class/store/search-multi-class.selectors.mjs +1 -1
- package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +4 -4
- package/esm2022/search/search-tools/search-tools.component.mjs +5 -5
- package/esm2022/search/search.module.mjs +6 -6
- package/esm2022/search/style/css.component.mjs +5 -5
- package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +5 -5
- package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +5 -5
- package/esm2022/toolbox/components/delete/delete.component.mjs +5 -5
- package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +5 -5
- package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +5 -5
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +5 -5
- package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +5 -5
- package/esm2022/toolbox/components/named-query/named-query.component.mjs +5 -5
- package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +5 -5
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +5 -5
- package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +5 -5
- package/esm2022/toolbox/components/share/share.component.mjs +5 -5
- package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +5 -5
- package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +5 -5
- package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +5 -5
- package/esm2022/toolbox/components/toolbox.component.mjs +6 -6
- package/esm2022/toolbox/style/css.component.mjs +5 -5
- package/esm2022/toolbox/toolbox.module.mjs +5 -5
- package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +5 -5
- package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +5 -5
- package/esm2022/tooltips/cluster/cluster-tooltip.component.mjs +4 -4
- package/esm2022/tooltips/cluster/cluster-tooltip.module.mjs +5 -5
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +5 -5
- package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +6 -6
- package/esm2022/widgets/widget-chart/component/vega-error.handler.mjs +1 -1
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +6 -6
- package/esm2022/widgets/widget-chart/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-chart/widget-chart.module.mjs +6 -6
- package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +5 -5
- package/esm2022/widgets/widget-detail/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-detail/widget-detail.module.mjs +6 -6
- package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +5 -5
- package/esm2022/widgets/widget-graph/layout/simple.function.mjs +1 -1
- package/esm2022/widgets/widget-graph/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-graph/widget-graph.module.mjs +6 -6
- package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +5 -5
- package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +4 -4
- package/esm2022/widgets/widget-iframe/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-iframe/widget-iframe.module.mjs +6 -6
- package/esm2022/widgets/widget-image/component/widget-image.component.mjs +5 -5
- package/esm2022/widgets/widget-image/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-image/widget-image.module.mjs +5 -5
- package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +4 -4
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +6 -6
- package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +1 -1
- package/esm2022/widgets/widget-map/interaction/layer-slider.class.mjs +1 -1
- package/esm2022/widgets/widget-map/interaction/selection-interaction.class.mjs +1 -1
- package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +5 -5
- package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +5 -5
- package/esm2022/widgets/widget-map/style/css.component.mjs +5 -5
- package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +1 -1
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +1 -1
- package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +1 -1
- package/esm2022/widgets/widget-map/widget-map.module.mjs +6 -6
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +5 -5
- package/esm2022/widgets/widget-table/expand-value/detach-row.directive.mjs +5 -5
- package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +4 -4
- package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +5 -5
- package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +5 -5
- package/esm2022/widgets/widget-table/resizable/resizable.component.mjs +4 -4
- package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +6 -6
- package/esm2022/widgets/widget-table/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-table/widget-table.module.mjs +6 -6
- package/esm2022/widgets/widget-template/component/widget-template.component.mjs +5 -5
- package/esm2022/widgets/widget-template/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-template/widget-template.module.mjs +6 -6
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +5 -5
- package/esm2022/widgets/widget-tile/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-tile/widget-tile.module.mjs +6 -6
- package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +6 -6
- package/esm2022/widgets/widget-vega/style/css.component.mjs +4 -4
- package/esm2022/widgets/widget-vega/widget-vega.module.mjs +6 -6
- package/fesm2022/provoly-dashboard-admin.mjs +333 -333
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-card.mjs +23 -23
- package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-checkbox.mjs +8 -8
- package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-color-picker.mjs +8 -8
- package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-expand-panel.mjs +10 -10
- package/fesm2022/provoly-dashboard-components-expand-panel.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-filter.mjs +7 -7
- package/fesm2022/provoly-dashboard-components-filter.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +19 -19
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +12 -12
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-sinceDate.mjs +8 -8
- package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-stepper.mjs +14 -14
- package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +20 -20
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +11 -11
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-date.mjs +8 -8
- package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-list.mjs +11 -11
- package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-number.mjs +8 -8
- package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-text.mjs +8 -8
- package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +24 -24
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-notification.mjs +24 -24
- package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +9 -9
- package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +9 -9
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs +9 -9
- package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +9 -9
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs +9 -9
- package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline.mjs +35 -35
- package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +21 -21
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +25 -25
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +95 -95
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +73 -73
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +8 -8
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-tooltips-cluster.mjs +7 -7
- package/fesm2022/provoly-dashboard-tooltips-cluster.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +12 -12
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +13 -13
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +12 -12
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +12 -12
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +15 -15
- package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +11 -11
- package/fesm2022/provoly-dashboard-widgets-widget-image.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +25 -25
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +35 -35
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +12 -12
- package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +12 -12
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +13 -13
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +509 -510
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/store/image/image.effects.d.ts +3 -3
- package/lib/dashboard/store/dashboard.effects.d.ts +7 -7
- package/package.json +40 -40
- package/schematics/ng-add/index.js.map +1 -1
- package/search/search-mono-class/store/search-mono-class.effects.d.ts +3 -3
- package/schematics/ng-add/index.spec.d.ts +0 -1
- package/schematics/ng-add/index.spec.js +0 -87
- package/schematics/ng-add/index.spec.js.map +0 -1
- package/schematics/ng-update/version-0-13/index.spec.d.ts +0 -1
- package/schematics/ng-update/version-0-13/index.spec.js +0 -184
- package/schematics/ng-update/version-0-13/index.spec.js.map +0 -1
- package/schematics/ng-update/version-0-14/index.spec.d.ts +0 -1
- package/schematics/ng-update/version-0-14/index.spec.js +0 -51
- package/schematics/ng-update/version-0-14/index.spec.js.map +0 -1
- package/schematics/ng-update/version-0-15/index.spec.d.ts +0 -1
- package/schematics/ng-update/version-0-15/index.spec.js +0 -51
- package/schematics/ng-update/version-0-15/index.spec.js.map +0 -1
|
@@ -175,13 +175,13 @@ export class PrySearchHomeComponent {
|
|
|
175
175
|
ngOnDestroy() {
|
|
176
176
|
this.subscription.unsubscribe();
|
|
177
177
|
}
|
|
178
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
179
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PrySearchHomeComponent, selector: "pry-search-home", inputs: { searchFulltextTpl: "searchFulltextTpl", isMoreList: "isMoreList" }, outputs: { changeListView: "changeListView", changeSearchCriteria: "changeSearchCriteria" }, viewQueries: [{ propertyName: "templateSpot", first: true, predicate: ["templateSpot"], descendants: true, read: TemplateRef }, { propertyName: "templateRefresh", first: true, predicate: ["templateRefresh"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<pry-search-css></pry-search-css>\n<div class=\"o-pry-search-home__named-query\">\n <ng-container *ngIf=\"namedQueryList$ | async as namedQuery\">\n <ng-container *ngIf=\"namedQuery.length > 0; else noNamedQuery\">\n <div class=\"o-pry-search-home__named-query__card\">\n <pry-expand-panel [open]=\"true\">\n <pry-expand-panel-title>{{ '@pry.search.home.title' | i18n }}</pry-expand-panel-title>\n\n <pry-card *ngFor=\"let nq of namedQuery.length > 1 && !isMoreList ? namedQuery.slice(0, 2) : namedQuery\">\n <pry-card-header [marker]=\"true\">\n <pry-card-icon>\n <pry-nq-color-selector [datasource]=\"nq\" [disabled]=\"true\"></pry-nq-color-selector>\n <img\n [alt]=\"nq.id | translateId : { type: 'datasource', output: 'name' } | async\"\n [height]=\"22\"\n [width]=\"22\"\n [src]=\"nq.id | translateId : { type: 'datasource', output: 'icon' } | async\"\n />\n </pry-card-icon>\n\n <pry-card-title>\n <div class=\"o-pry-card-title__text\" aria-describedby=\"infoTooltip_searchHome\">\n <div class=\"a-p o-pry-card-title__text__title\">{{ nq.name }}</div>\n <div class=\"a-p o-pry-card-title__text__description\" *ngIf=\"nq.description\">{{ nq.description }}</div>\n </div>\n <ng-template #infoTooltip>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltip_searchHome\">\n <span class=\"m-tooltip__text\">\n {{ nq.name }}\n </span>\n <span class=\"m-tooltip__description\" *ngIf=\"nq.description\">\n {{ nq.description }}\n </span>\n </div>\n </ng-template>\n <pry-icon\n class=\"o-pry-card-title__pin\"\n *ngIf=\"nq.favorite\"\n [width]=\"18\"\n [height]=\"18\"\n aria-label=\"favorite\"\n iconSvg=\"epingle\"\n ></pry-icon>\n\n <button\n [attr.data-tooltip]=\"'@pry.search.home.showAssociatedWidget' | i18n\"\n data-tooltip-position=\"bottom\"\n class=\"a-tooltip a-btn a-btn--secondary -size-sm -override-tooltip-position\"\n (click)=\"onSearchNamedQuery(nq.id)\"\n *ngIf=\"(layout$ | async) !== DashboardGridLayout.MANUAL\"\n >\n {{ '@pry.search.namedQuery.display' | i18n }}\n <span class=\"u-visually-hidden\">{{ '@pry.search.home.associatedWidget' | i18n }}</span>\n </button>\n </pry-card-title>\n\n <pry-card-menu>\n <div class=\"o-pry-card-menu__nav\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onFavorite(nq.id, nq.favorite)\"\n >\n <pry-icon iconSvg=\"epingle\"></pry-icon>\n {{ (nq.favorite ? '@pry.search.namedQuery.noFavorite' : '@pry.search.namedQuery.favorite') | i18n }}\n </button>\n <pry-card-menu (click)=\"refresh(nq.id)\" class=\"refreshbt\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n {{ '@pry.search.namedQuery.refreshData' | i18n }}\n </button>\n </pry-card-menu>\n <pry-card-menu *ngIf=\"(layout$ | async) !== DashboardGridLayout.MANUAL\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"loadOpened = nq.id; $event.stopPropagation()\"\n cdkOverlayOrigin\n #triggerLoad=\"cdkOverlayOrigin\"\n >\n <pry-icon iconSvg=\"file_download\"></pry-icon>\n {{ '@pry.search.namedQuery.display' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"triggerLoad\"\n [cdkConnectedOverlayOpen]=\"loadOpened === nq.id\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayPositions]=\"[connectedPosition]\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"loadOpened = undefined\"\n >\n <div class=\"o-draggable-menu -search-home\">\n <ul class=\"o-draggable-menu__list\">\n <ng-container *ngFor=\"let menu of structure\">\n <li class=\"o-draggable-menu__list__item\">\n <button class=\"a-btn\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <pry-icon [iconSvg]=\"menu.icon\"></pry-icon>\n {{ menu.label | i18n }}\n </button>\n\n <ul class=\"o-draggable-menu__list__submenu\">\n <ng-container *ngFor=\"let sub of menu.sub\">\n <li class=\"o-draggable-menu__list__submenu__item\">\n <button class=\"a-btn\" (click)=\"loadWidget(nq.id, sub)\">\n <pry-icon [iconSvg]=\"sub.icon\"></pry-icon>\n {{ sub.label | i18n }}\n </button>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n </ng-template>\n </pry-card-menu>\n\n <pry-card-menu class=\"o-pry-card-menu__nav__item\">\n <pry-nq-color-selector [ngStyle]=\"{ width: '100%' }\" [datasource]=\"nq\"></pry-nq-color-selector>\n </pry-card-menu>\n\n <pry-card-menu (click)=\"onSpot(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"mode_clic\"></pry-icon>\n {{ '@pry.search.namedQuery.spot' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <pry-card-menu (click)=\"onRefresh(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"history-line\"></pry-icon>\n {{ '@pry.search.namedQuery.refresh.title' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onDelete(nq)\"\n *ngIf=\"nq.owner\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n {{ '@pry.search.namedQuery.delete' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onRename(nq)\"\n *ngIf=\"nq.owner\"\n >\n <pry-icon iconSvg=\"renamed\"></pry-icon>\n {{ '@pry.search.namedQuery.rename' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onEdit(nq)\"\n (keydown.tab)=\"hideSpot()\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n {{ '@pry.search.namedQuery.edit' | i18n }}\n </button>\n </div>\n </pry-card-menu>\n </pry-card-header>\n </pry-card>\n </pry-expand-panel>\n </div>\n <button\n class=\"a-btn -link-like\"\n aria-pressed=\"false\"\n id=\"btn_view_more\"\n *ngIf=\"namedQuery.length > 2\"\n (click)=\"onChangeListView(isMoreList)\"\n >\n {{ isMoreList ? ('@pry.search.namedQuery.seeLess' | i18n) : ('@pry.search.namedQuery.seeMore' | i18n) }}\n </button>\n </ng-container>\n\n <ng-template #noNamedQuery>\n <p class=\"search-home__container-search\">{{ '@pry.search.namedQuery.emptyNamedQuery' | i18n }}</p>\n </ng-template>\n </ng-container>\n</div>\n\n<div class=\"o-pry-search-home__search\">\n <h3 class=\"a-h3\">{{ '@pry.search.home.ssTitle' | i18n }}</h3>\n <ng-container *ngIf=\"searchFulltextTpl\">\n <ng-container [ngTemplateOutlet]=\"searchFulltextTpl\"></ng-container>\n <p class=\"a-p o-pry-search-home__search__or\">{{ '@pry.search.home.or' | i18n }}</p>\n </ng-container>\n <button class=\"a-btn a-btn--primary -width-full\" (click)=\"onSearchCriteria()\">\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"search-criteria\"></pry-icon>\n {{ '@pry.search.home.searchByCriteria' | i18n }}\n <pry-icon iconSvg=\"arrow_right\"></pry-icon>\n </button>\n</div>\n\n<ng-template #templateSpot>\n <div (mouseleave)=\"hideSpot()\">\n {{\n ((spottingWidget$ | async)?.length ?? 0 > 0\n ? '@pry.search.namedQuery.spotTitle'\n : '@pry.search.namedQuery.noSpot'\n ) | i18n : { length: (spottingWidget$ | async)?.length }\n }}\n <div *ngFor=\"let use of spottingWidget$ | async\" class=\"spot-line\">\n <pry-icon [width]=\"20\" [height]=\"20\" [iconSvg]=\"icons[use.type]\"></pry-icon>\n {{ '@pry.search.namedQuery.type.' + use.type | i18n }} - {{ '@pry.search.namedQuery.use' | i18n : use }}\n </div>\n </div>\n</ng-template>\n\n<ng-template #templateRefresh>\n <div>\n <button\n *ngFor=\"let option of refreshOptions\"\n class=\"refresh-line a-btn a-btn--icon-text -size-sm\"\n (click)=\"selectRefresh(option)\"\n >\n <pry-icon\n [width]=\"20\"\n [height]=\"20\"\n iconSvg=\"check\"\n *ngIf=\"(((refreshRates$ | async) ?? {})[refreshId] ?? 0) === option\"\n ></pry-icon>\n {{ '@pry.search.namedQuery.refresh.' + option | i18n }}\n </button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.PryNqColorSelectorComponent, selector: "pry-nq-color-selector", inputs: ["disabled", "datasource"], outputs: ["colorChanged"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i5.PryExpandPanelComponent, selector: "pry-expand-panel", inputs: ["open"] }, { kind: "directive", type: i5.PryExpansionPanelTitleDirective, selector: "pry-expand-panel-title" }, { kind: "component", type: i6.PryCardComponent, selector: "pry-card", inputs: ["selected"], outputs: ["statusChange"] }, { kind: "directive", type: i6.PryCardIconDirective, selector: "pry-card-icon, [pry-card-icon], [pryCardIcon]" }, { kind: "directive", type: i6.PryCardTitleDirective, selector: "pry-card-title, [o-pry-card-title], [pryCardTitle]" }, { kind: "directive", type: i6.PryCardMenuDirective, selector: "pry-card-menu", outputs: ["closeMenu$"], exportAs: ["pryCardMenu"] }, { kind: "component", type: i6.PryCardHeaderComponent, selector: "pry-card-header", inputs: ["marker"] }, { kind: "component", type: i7.PrySearchCssComponent, selector: "pry-search-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
178
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySearchHomeComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i3.PryDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
179
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PrySearchHomeComponent, selector: "pry-search-home", inputs: { searchFulltextTpl: "searchFulltextTpl", isMoreList: "isMoreList" }, outputs: { changeListView: "changeListView", changeSearchCriteria: "changeSearchCriteria" }, viewQueries: [{ propertyName: "templateSpot", first: true, predicate: ["templateSpot"], descendants: true, read: TemplateRef }, { propertyName: "templateRefresh", first: true, predicate: ["templateRefresh"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<pry-search-css></pry-search-css>\n<div class=\"o-pry-search-home__named-query\">\n <ng-container *ngIf=\"namedQueryList$ | async as namedQuery\">\n <ng-container *ngIf=\"namedQuery.length > 0; else noNamedQuery\">\n <div class=\"o-pry-search-home__named-query__card\">\n <pry-expand-panel [open]=\"true\">\n <pry-expand-panel-title>{{ '@pry.search.home.title' | i18n }}</pry-expand-panel-title>\n\n <pry-card *ngFor=\"let nq of namedQuery.length > 1 && !isMoreList ? namedQuery.slice(0, 2) : namedQuery\">\n <pry-card-header [marker]=\"true\">\n <pry-card-icon>\n <pry-nq-color-selector [datasource]=\"nq\" [disabled]=\"true\"></pry-nq-color-selector>\n <img\n [alt]=\"nq.id | translateId : { type: 'datasource', output: 'name' } | async\"\n [height]=\"22\"\n [width]=\"22\"\n [src]=\"nq.id | translateId : { type: 'datasource', output: 'icon' } | async\"\n />\n </pry-card-icon>\n\n <pry-card-title>\n <div class=\"o-pry-card-title__text\" aria-describedby=\"infoTooltip_searchHome\">\n <div class=\"a-p o-pry-card-title__text__title\">{{ nq.name }}</div>\n <div class=\"a-p o-pry-card-title__text__description\" *ngIf=\"nq.description\">{{ nq.description }}</div>\n </div>\n <ng-template #infoTooltip>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltip_searchHome\">\n <span class=\"m-tooltip__text\">\n {{ nq.name }}\n </span>\n <span class=\"m-tooltip__description\" *ngIf=\"nq.description\">\n {{ nq.description }}\n </span>\n </div>\n </ng-template>\n <pry-icon\n class=\"o-pry-card-title__pin\"\n *ngIf=\"nq.favorite\"\n [width]=\"18\"\n [height]=\"18\"\n aria-label=\"favorite\"\n iconSvg=\"epingle\"\n ></pry-icon>\n\n <button\n [attr.data-tooltip]=\"'@pry.search.home.showAssociatedWidget' | i18n\"\n data-tooltip-position=\"bottom\"\n class=\"a-tooltip a-btn a-btn--secondary -size-sm -override-tooltip-position\"\n (click)=\"onSearchNamedQuery(nq.id)\"\n *ngIf=\"(layout$ | async) !== DashboardGridLayout.MANUAL\"\n >\n {{ '@pry.search.namedQuery.display' | i18n }}\n <span class=\"u-visually-hidden\">{{ '@pry.search.home.associatedWidget' | i18n }}</span>\n </button>\n </pry-card-title>\n\n <pry-card-menu>\n <div class=\"o-pry-card-menu__nav\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onFavorite(nq.id, nq.favorite)\"\n >\n <pry-icon iconSvg=\"epingle\"></pry-icon>\n {{ (nq.favorite ? '@pry.search.namedQuery.noFavorite' : '@pry.search.namedQuery.favorite') | i18n }}\n </button>\n <pry-card-menu (click)=\"refresh(nq.id)\" class=\"refreshbt\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n {{ '@pry.search.namedQuery.refreshData' | i18n }}\n </button>\n </pry-card-menu>\n <pry-card-menu *ngIf=\"(layout$ | async) !== DashboardGridLayout.MANUAL\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"loadOpened = nq.id; $event.stopPropagation()\"\n cdkOverlayOrigin\n #triggerLoad=\"cdkOverlayOrigin\"\n >\n <pry-icon iconSvg=\"file_download\"></pry-icon>\n {{ '@pry.search.namedQuery.display' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"triggerLoad\"\n [cdkConnectedOverlayOpen]=\"loadOpened === nq.id\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayPositions]=\"[connectedPosition]\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"loadOpened = undefined\"\n >\n <div class=\"o-draggable-menu -search-home\">\n <ul class=\"o-draggable-menu__list\">\n <ng-container *ngFor=\"let menu of structure\">\n <li class=\"o-draggable-menu__list__item\">\n <button class=\"a-btn\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <pry-icon [iconSvg]=\"menu.icon\"></pry-icon>\n {{ menu.label | i18n }}\n </button>\n\n <ul class=\"o-draggable-menu__list__submenu\">\n <ng-container *ngFor=\"let sub of menu.sub\">\n <li class=\"o-draggable-menu__list__submenu__item\">\n <button class=\"a-btn\" (click)=\"loadWidget(nq.id, sub)\">\n <pry-icon [iconSvg]=\"sub.icon\"></pry-icon>\n {{ sub.label | i18n }}\n </button>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n </ng-template>\n </pry-card-menu>\n\n <pry-card-menu class=\"o-pry-card-menu__nav__item\">\n <pry-nq-color-selector [ngStyle]=\"{ width: '100%' }\" [datasource]=\"nq\"></pry-nq-color-selector>\n </pry-card-menu>\n\n <pry-card-menu (click)=\"onSpot(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"mode_clic\"></pry-icon>\n {{ '@pry.search.namedQuery.spot' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <pry-card-menu (click)=\"onRefresh(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"history-line\"></pry-icon>\n {{ '@pry.search.namedQuery.refresh.title' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onDelete(nq)\"\n *ngIf=\"nq.owner\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n {{ '@pry.search.namedQuery.delete' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onRename(nq)\"\n *ngIf=\"nq.owner\"\n >\n <pry-icon iconSvg=\"renamed\"></pry-icon>\n {{ '@pry.search.namedQuery.rename' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onEdit(nq)\"\n (keydown.tab)=\"hideSpot()\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n {{ '@pry.search.namedQuery.edit' | i18n }}\n </button>\n </div>\n </pry-card-menu>\n </pry-card-header>\n </pry-card>\n </pry-expand-panel>\n </div>\n <button\n class=\"a-btn -link-like\"\n aria-pressed=\"false\"\n id=\"btn_view_more\"\n *ngIf=\"namedQuery.length > 2\"\n (click)=\"onChangeListView(isMoreList)\"\n >\n {{ isMoreList ? ('@pry.search.namedQuery.seeLess' | i18n) : ('@pry.search.namedQuery.seeMore' | i18n) }}\n </button>\n </ng-container>\n\n <ng-template #noNamedQuery>\n <p class=\"search-home__container-search\">{{ '@pry.search.namedQuery.emptyNamedQuery' | i18n }}</p>\n </ng-template>\n </ng-container>\n</div>\n\n<div class=\"o-pry-search-home__search\">\n <h3 class=\"a-h3\">{{ '@pry.search.home.ssTitle' | i18n }}</h3>\n <ng-container *ngIf=\"searchFulltextTpl\">\n <ng-container [ngTemplateOutlet]=\"searchFulltextTpl\"></ng-container>\n <p class=\"a-p o-pry-search-home__search__or\">{{ '@pry.search.home.or' | i18n }}</p>\n </ng-container>\n <button class=\"a-btn a-btn--primary -width-full\" (click)=\"onSearchCriteria()\">\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"search-criteria\"></pry-icon>\n {{ '@pry.search.home.searchByCriteria' | i18n }}\n <pry-icon iconSvg=\"arrow_right\"></pry-icon>\n </button>\n</div>\n\n<ng-template #templateSpot>\n <div (mouseleave)=\"hideSpot()\">\n {{\n ((spottingWidget$ | async)?.length ?? 0 > 0\n ? '@pry.search.namedQuery.spotTitle'\n : '@pry.search.namedQuery.noSpot'\n ) | i18n : { length: (spottingWidget$ | async)?.length }\n }}\n <div *ngFor=\"let use of spottingWidget$ | async\" class=\"spot-line\">\n <pry-icon [width]=\"20\" [height]=\"20\" [iconSvg]=\"icons[use.type]\"></pry-icon>\n {{ '@pry.search.namedQuery.type.' + use.type | i18n }} - {{ '@pry.search.namedQuery.use' | i18n : use }}\n </div>\n </div>\n</ng-template>\n\n<ng-template #templateRefresh>\n <div>\n <button\n *ngFor=\"let option of refreshOptions\"\n class=\"refresh-line a-btn a-btn--icon-text -size-sm\"\n (click)=\"selectRefresh(option)\"\n >\n <pry-icon\n [width]=\"20\"\n [height]=\"20\"\n iconSvg=\"check\"\n *ngIf=\"(((refreshRates$ | async) ?? {})[refreshId] ?? 0) === option\"\n ></pry-icon>\n {{ '@pry.search.namedQuery.refresh.' + option | i18n }}\n </button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.PryNqColorSelectorComponent, selector: "pry-nq-color-selector", inputs: ["disabled", "datasource"], outputs: ["colorChanged"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i5.PryExpandPanelComponent, selector: "pry-expand-panel", inputs: ["open"] }, { kind: "directive", type: i5.PryExpansionPanelTitleDirective, selector: "pry-expand-panel-title" }, { kind: "component", type: i6.PryCardComponent, selector: "pry-card", inputs: ["selected"], outputs: ["statusChange"] }, { kind: "directive", type: i6.PryCardIconDirective, selector: "pry-card-icon, [pry-card-icon], [pryCardIcon]" }, { kind: "directive", type: i6.PryCardTitleDirective, selector: "pry-card-title, [o-pry-card-title], [pryCardTitle]" }, { kind: "directive", type: i6.PryCardMenuDirective, selector: "pry-card-menu", outputs: ["closeMenu$"], exportAs: ["pryCardMenu"] }, { kind: "component", type: i6.PryCardHeaderComponent, selector: "pry-card-header", inputs: ["marker"] }, { kind: "component", type: i7.PrySearchCssComponent, selector: "pry-search-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
180
180
|
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySearchHomeComponent, decorators: [{
|
|
182
182
|
type: Component,
|
|
183
183
|
args: [{ selector: 'pry-search-home', template: "<pry-search-css></pry-search-css>\n<div class=\"o-pry-search-home__named-query\">\n <ng-container *ngIf=\"namedQueryList$ | async as namedQuery\">\n <ng-container *ngIf=\"namedQuery.length > 0; else noNamedQuery\">\n <div class=\"o-pry-search-home__named-query__card\">\n <pry-expand-panel [open]=\"true\">\n <pry-expand-panel-title>{{ '@pry.search.home.title' | i18n }}</pry-expand-panel-title>\n\n <pry-card *ngFor=\"let nq of namedQuery.length > 1 && !isMoreList ? namedQuery.slice(0, 2) : namedQuery\">\n <pry-card-header [marker]=\"true\">\n <pry-card-icon>\n <pry-nq-color-selector [datasource]=\"nq\" [disabled]=\"true\"></pry-nq-color-selector>\n <img\n [alt]=\"nq.id | translateId : { type: 'datasource', output: 'name' } | async\"\n [height]=\"22\"\n [width]=\"22\"\n [src]=\"nq.id | translateId : { type: 'datasource', output: 'icon' } | async\"\n />\n </pry-card-icon>\n\n <pry-card-title>\n <div class=\"o-pry-card-title__text\" aria-describedby=\"infoTooltip_searchHome\">\n <div class=\"a-p o-pry-card-title__text__title\">{{ nq.name }}</div>\n <div class=\"a-p o-pry-card-title__text__description\" *ngIf=\"nq.description\">{{ nq.description }}</div>\n </div>\n <ng-template #infoTooltip>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltip_searchHome\">\n <span class=\"m-tooltip__text\">\n {{ nq.name }}\n </span>\n <span class=\"m-tooltip__description\" *ngIf=\"nq.description\">\n {{ nq.description }}\n </span>\n </div>\n </ng-template>\n <pry-icon\n class=\"o-pry-card-title__pin\"\n *ngIf=\"nq.favorite\"\n [width]=\"18\"\n [height]=\"18\"\n aria-label=\"favorite\"\n iconSvg=\"epingle\"\n ></pry-icon>\n\n <button\n [attr.data-tooltip]=\"'@pry.search.home.showAssociatedWidget' | i18n\"\n data-tooltip-position=\"bottom\"\n class=\"a-tooltip a-btn a-btn--secondary -size-sm -override-tooltip-position\"\n (click)=\"onSearchNamedQuery(nq.id)\"\n *ngIf=\"(layout$ | async) !== DashboardGridLayout.MANUAL\"\n >\n {{ '@pry.search.namedQuery.display' | i18n }}\n <span class=\"u-visually-hidden\">{{ '@pry.search.home.associatedWidget' | i18n }}</span>\n </button>\n </pry-card-title>\n\n <pry-card-menu>\n <div class=\"o-pry-card-menu__nav\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onFavorite(nq.id, nq.favorite)\"\n >\n <pry-icon iconSvg=\"epingle\"></pry-icon>\n {{ (nq.favorite ? '@pry.search.namedQuery.noFavorite' : '@pry.search.namedQuery.favorite') | i18n }}\n </button>\n <pry-card-menu (click)=\"refresh(nq.id)\" class=\"refreshbt\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n {{ '@pry.search.namedQuery.refreshData' | i18n }}\n </button>\n </pry-card-menu>\n <pry-card-menu *ngIf=\"(layout$ | async) !== DashboardGridLayout.MANUAL\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"loadOpened = nq.id; $event.stopPropagation()\"\n cdkOverlayOrigin\n #triggerLoad=\"cdkOverlayOrigin\"\n >\n <pry-icon iconSvg=\"file_download\"></pry-icon>\n {{ '@pry.search.namedQuery.display' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"triggerLoad\"\n [cdkConnectedOverlayOpen]=\"loadOpened === nq.id\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayPositions]=\"[connectedPosition]\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"loadOpened = undefined\"\n >\n <div class=\"o-draggable-menu -search-home\">\n <ul class=\"o-draggable-menu__list\">\n <ng-container *ngFor=\"let menu of structure\">\n <li class=\"o-draggable-menu__list__item\">\n <button class=\"a-btn\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <pry-icon [iconSvg]=\"menu.icon\"></pry-icon>\n {{ menu.label | i18n }}\n </button>\n\n <ul class=\"o-draggable-menu__list__submenu\">\n <ng-container *ngFor=\"let sub of menu.sub\">\n <li class=\"o-draggable-menu__list__submenu__item\">\n <button class=\"a-btn\" (click)=\"loadWidget(nq.id, sub)\">\n <pry-icon [iconSvg]=\"sub.icon\"></pry-icon>\n {{ sub.label | i18n }}\n </button>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </div>\n </ng-template>\n </pry-card-menu>\n\n <pry-card-menu class=\"o-pry-card-menu__nav__item\">\n <pry-nq-color-selector [ngStyle]=\"{ width: '100%' }\" [datasource]=\"nq\"></pry-nq-color-selector>\n </pry-card-menu>\n\n <pry-card-menu (click)=\"onSpot(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"mode_clic\"></pry-icon>\n {{ '@pry.search.namedQuery.spot' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <pry-card-menu (click)=\"onRefresh(nq.id, $event)\">\n <button type=\"button\" class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\">\n <pry-icon iconSvg=\"history-line\"></pry-icon>\n {{ '@pry.search.namedQuery.refresh.title' | i18n }}\n <pry-icon\n iconSvg=\"fleche_haut\"\n [ngStyle]=\"{ transform: 'rotate(90deg)', marginLeft: 'auto' }\"\n ></pry-icon>\n </button>\n </pry-card-menu>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onDelete(nq)\"\n *ngIf=\"nq.owner\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n {{ '@pry.search.namedQuery.delete' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onRename(nq)\"\n *ngIf=\"nq.owner\"\n >\n <pry-icon iconSvg=\"renamed\"></pry-icon>\n {{ '@pry.search.namedQuery.rename' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text o-pry-card-menu__nav__item\"\n (click)=\"onEdit(nq)\"\n (keydown.tab)=\"hideSpot()\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n {{ '@pry.search.namedQuery.edit' | i18n }}\n </button>\n </div>\n </pry-card-menu>\n </pry-card-header>\n </pry-card>\n </pry-expand-panel>\n </div>\n <button\n class=\"a-btn -link-like\"\n aria-pressed=\"false\"\n id=\"btn_view_more\"\n *ngIf=\"namedQuery.length > 2\"\n (click)=\"onChangeListView(isMoreList)\"\n >\n {{ isMoreList ? ('@pry.search.namedQuery.seeLess' | i18n) : ('@pry.search.namedQuery.seeMore' | i18n) }}\n </button>\n </ng-container>\n\n <ng-template #noNamedQuery>\n <p class=\"search-home__container-search\">{{ '@pry.search.namedQuery.emptyNamedQuery' | i18n }}</p>\n </ng-template>\n </ng-container>\n</div>\n\n<div class=\"o-pry-search-home__search\">\n <h3 class=\"a-h3\">{{ '@pry.search.home.ssTitle' | i18n }}</h3>\n <ng-container *ngIf=\"searchFulltextTpl\">\n <ng-container [ngTemplateOutlet]=\"searchFulltextTpl\"></ng-container>\n <p class=\"a-p o-pry-search-home__search__or\">{{ '@pry.search.home.or' | i18n }}</p>\n </ng-container>\n <button class=\"a-btn a-btn--primary -width-full\" (click)=\"onSearchCriteria()\">\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"search-criteria\"></pry-icon>\n {{ '@pry.search.home.searchByCriteria' | i18n }}\n <pry-icon iconSvg=\"arrow_right\"></pry-icon>\n </button>\n</div>\n\n<ng-template #templateSpot>\n <div (mouseleave)=\"hideSpot()\">\n {{\n ((spottingWidget$ | async)?.length ?? 0 > 0\n ? '@pry.search.namedQuery.spotTitle'\n : '@pry.search.namedQuery.noSpot'\n ) | i18n : { length: (spottingWidget$ | async)?.length }\n }}\n <div *ngFor=\"let use of spottingWidget$ | async\" class=\"spot-line\">\n <pry-icon [width]=\"20\" [height]=\"20\" [iconSvg]=\"icons[use.type]\"></pry-icon>\n {{ '@pry.search.namedQuery.type.' + use.type | i18n }} - {{ '@pry.search.namedQuery.use' | i18n : use }}\n </div>\n </div>\n</ng-template>\n\n<ng-template #templateRefresh>\n <div>\n <button\n *ngFor=\"let option of refreshOptions\"\n class=\"refresh-line a-btn a-btn--icon-text -size-sm\"\n (click)=\"selectRefresh(option)\"\n >\n <pry-icon\n [width]=\"20\"\n [height]=\"20\"\n iconSvg=\"check\"\n *ngIf=\"(((refreshRates$ | async) ?? {})[refreshId] ?? 0) === option\"\n ></pry-icon>\n {{ '@pry.search.namedQuery.refresh.' + option | i18n }}\n </button>\n </div>\n</ng-template>\n" }]
|
|
184
|
-
}], ctorParameters:
|
|
184
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: i3.PryDialogService }], propDecorators: { templateSpot: [{
|
|
185
185
|
type: ViewChild,
|
|
186
186
|
args: ['templateSpot', { read: TemplateRef }]
|
|
187
187
|
}], templateRefresh: [{
|
|
@@ -196,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
196
196
|
}], changeSearchCriteria: [{
|
|
197
197
|
type: Output
|
|
198
198
|
}] } });
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvc2VhcmNoL3NlYXJjaC1ob21lL3NlYXJjaC1ob21lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtaG9tZS9zZWFyY2gtaG9tZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixvQkFBb0IsRUFHcEIsZUFBZSxFQUNmLHlCQUF5QixFQUd6QixhQUFhLEVBRWQsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQWMsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7QUFPdEYsTUFBTSxPQUFPLHNCQUFzQjtJQThDakMsWUFDVSxLQUFZLEVBQ1osT0FBZ0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLFNBQTJCO1FB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QyxRQUFRLENBQ2pCLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxrQ0FBa0MsRUFBRSxDQUFDLENBQ3RHLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQzsrR0EzTlUsc0JBQXNCO21HQUF0QixzQkFBc0IsMlRBQ0UsV0FBVyw2R0FDUixXQUFXLDZCQzNDbkQsNDdXQWtQQTs7NEZEek1hLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxpQkFBaUI7Z0xBSXVCLFlBQVk7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDSyxlQUFlO3NCQUFuRSxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFFMUMsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIENvbmZpZ0FjdGlvbnMsXG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZUFjdGlvbnMsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIERhdGFzb3VyY2VVdGlscyxcbiAgZGVmYXVsdE1lbnVTdHJ1Y3R1cmUsXG4gIEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCxcbiAgTmFtZWRRdWVyeSxcbiAgTmFtZWRRdWVyeVR5cGVzLFxuICBQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50LFxuICBQcnlEaWFsb2dDb25maXJtRGF0YSxcbiAgUHJ5RGlhbG9nU2VydmljZSxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgV2lkZ2V0TGF5b3V0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGNvbWJpbmVMYXRlc3RXaXRoLCBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcnlTYXZlUXVlcnlDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3NhdmUtcXVlcnkvc2F2ZS1xdWVyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoRnVsbHRleHRDaGFuZ2UgfSBmcm9tICcuLi9zZWFyY2gtZnVsbHRleHQvc2VhcmNoLWZ1bGx0ZXh0L3NlYXJjaC1mdWxsdGV4dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc2VhcmNoLWhvbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWhvbWUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeVNlYXJjaEhvbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlU3BvdCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGVtcGxhdGVTcG90ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWZyZXNoJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZVJlZnJlc2ghOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpIHNlYXJjaEZ1bGx0ZXh0VHBsPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgaXNNb3JlTGlzdCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2VMaXN0VmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNoYW5nZVNlYXJjaENyaXRlcmlhID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIG5hbWVkUXVlcnlMaXN0JD86IE9ic2VydmFibGU8TmFtZWRRdWVyeVtdPjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBuYW1lZFF1ZXJpZXNVc2VzJCE6IE9ic2VydmFibGU8eyBbcDogc3RyaW5nXTogeyB3aW5kb3dJbmRleDogbnVtYmVyOyB0eXBlOiBzdHJpbmc7IGxheW91dDogV2lkZ2V0TGF5b3V0IH1bXSB9PjtcbiAgc3BvdHRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgc3BvdHRpbmdXaWRnZXQkITogT2JzZXJ2YWJsZTx7IHdpbmRvd0luZGV4OiBudW1iZXI7IHR5cGU6IHN0cmluZzsgbGF5b3V0OiBXaWRnZXRMYXlvdXQgfVtdPjtcbiAgcmVmcmVzaE9wdGlvbnMgPSBbMCwgMTAsIDMwLCA2MF07XG5cbiAgaWNvbnMgPSB7XG4gICAgbWFwOiAnc2hhcmVfbG9jYXRpb24nLFxuICAgIHRhYmxlOiAndGFibGVfY2hhcnQnLFxuICAgIGNoYXJ0OiAnc2hvd19jaGFydCcsXG4gICAgZ3JhcGg6ICdncmFwaCdcbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIGxvYWRPcGVuZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gIHJlYWRvbmx5IGNvbm5lY3RlZFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgIG92ZXJsYXlZOiAndG9wJ1xuICB9O1xuICBzdHJ1Y3R1cmUgPSBkZWZhdWx0TWVudVN0cnVjdHVyZS5tYXAoKGl0ZW1zKSA9PiAoe1xuICAgIC4uLml0ZW1zLFxuICAgIHN1YjogaXRlbXMuc3ViLmZpbHRlcigocykgPT4gcy50eXBlICE9PSAnaWZyYW1lJyAmJiBzLnR5cGUgIT09ICdkZXRhaWwnKVxuICB9KSk7XG5cbiAgcmVmcmVzaFJhdGVzJCE6IE9ic2VydmFibGU8eyBbcDogc3RyaW5nXTogbnVtYmVyIH0+O1xuICByZWZyZXNoSWQ6IHN0cmluZyA9ICcnO1xuICBkZWxldGVFcnJvciQ/OiBPYnNlcnZhYmxlPGFueT47XG4gIGxheW91dCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIERhc2hib2FyZEdyaWRMYXlvdXQgPSBEYXNoYm9hcmRHcmlkTGF5b3V0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBwcnlEaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLm5hbWVkUXVlcnlMaXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0TmFtZWRRdWVyeVNvcnRlZCk7XG4gICAgdGhpcy5uYW1lZFF1ZXJpZXNVc2VzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5uYW1lZFF1ZXJpZXNVc2VzKTtcbiAgICB0aGlzLnNwb3R0aW5nV2lkZ2V0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubmFtZWRRdWVyaWVzVXNlcyQsIHRoaXMuc3BvdHRpbmckXSkucGlwZShcbiAgICAgIG1hcCgoW3VzZXMsIHNwb3R0aW5nXSkgPT4gdXNlc1tzcG90dGluZ10gPz8gW10pLFxuICAgICAgbWFwKCh1c2VzKSA9PiB1c2VzLm1hcCgodXNlKSA9PiAoeyAuLi51c2UsIHdpbmRvd0luZGV4OiB1c2Uud2luZG93SW5kZXggKyAxIH0pKSlcbiAgICApO1xuICAgIHRoaXMucmVmcmVzaFJhdGVzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5yZWZyZXNoUmF0ZXMpO1xuICAgIHRoaXMubGF5b3V0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5ncmlkTGF5b3V0KTtcbiAgICB0aGlzLmRlbGV0ZUVycm9yJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZXJyb3JzKS5waXBlKGRlYm91bmNlVGltZSgxMDApKTtcbiAgfVxuXG4gIG9uU2VhcmNoTmFtZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uKHsgaWQsIHdpZGdldFR5cGU6ICd0YWJsZScgfSkpO1xuICB9XG5cbiAgb25GYXZvcml0ZShpZDogc3RyaW5nLCBpc0Zhdm9yaXRlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFpc0Zhdm9yaXRlKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuYWRkRmF2b3JpdGUoeyBpZCB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5kZWxldGVGYXZvcml0ZSh7IGlkIH0pKTtcbiAgICB9XG4gIH1cblxuICBvblNwb3QoaWQ6IHN0cmluZywgJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5zcG90dGluZyQubmV4dChpZCk7XG5cbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ3Nwb3QtcnMnXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5hZGRpbmdPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlU3BvdCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICBjb25zdCBzcG90RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zcG90LXJzJykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBpZiAoISFzcG90RWxlbWVudCkge1xuICAgICAgICBzcG90RWxlbWVudC5zdHlsZS5sZWZ0ID0gJGV2ZW50LmNsaWVudFggLSAxMCArICdweCc7XG4gICAgICAgIHNwb3RFbGVtZW50LnN0eWxlLnRvcCA9ICRldmVudC5jbGllbnRZIC0gMTAgKyAncHgnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhpZGVTcG90KCkge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5jbG9zZU92ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBvbkVkaXQobmFtZWRRdWVyeTogTmFtZWRRdWVyeSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5lZGl0KHsgY3VycmVudEVkaXQ6IG5hbWVkUXVlcnkgfSkpO1xuICB9XG5cbiAgb25DaGFuZ2VMaXN0Vmlldyhpc01vcmVMaXN0OiBib29sZWFuKSB7XG4gICAgdGhpcy5jaGFuZ2VMaXN0Vmlldy5lbWl0KGlzTW9yZUxpc3QpO1xuICB9XG5cbiAgb25TZWFyY2hDcml0ZXJpYSgpIHtcbiAgICB0aGlzLmNoYW5nZVNlYXJjaENyaXRlcmlhLmVtaXQoKTtcbiAgfVxuXG4gIGxvYWRXaWRnZXQoaWQ6IHN0cmluZywgc3ViOiB7IGljb246IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgdHlwZTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMudXBkYXRlV2lkZ2V0SW5QcmVzZW50YXRpb24oeyBpZCwgd2lkZ2V0VHlwZTogc3ViLnR5cGUgfSkpO1xuICAgIHRoaXMubG9hZE9wZW5lZCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG9uRGVsZXRlKG5xOiBOYW1lZFF1ZXJ5KSB7XG4gICAgY29uc3QgZGF0YTogUHJ5RGlhbG9nQ29uZmlybURhdGEgPSB7XG4gICAgICB0aXRsZTogJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGVsZXRlJyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgeyBpZDogMCwgbGFiZWw6ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2xvc2UnLCBjb2xvcjogJ3NlY29uZGFyeScgfSxcbiAgICAgICAgeyBpZDogMSwgbGFiZWw6ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LmRlbGV0ZScgfVxuICAgICAgXVxuICAgIH07XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5wcnlEaWFsb2cub3BlbihQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7XG4gICAgICBkYXRhXG4gICAgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgZGlhbG9nLmNsb3NlVmFsdWUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGFjdGlvbikgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY2xvc2VPdmVybGF5KHsgaWQ6ICdQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50JyB9KSk7XG4gICAgICAgIGlmIChhY3Rpb24uaWQgPT09IDEpIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuZGVsZXRlKHsgaWQ6IG5xLmlkID8/ICcnIH0pKTtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUVycm9yJFxuICAgICAgICAgICAgICA/LnBpcGUoXG4gICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5pc0xvYWRpbmcpKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKFssIGlzTG9hZGluZ10pID0+ICFpc0xvYWRpbmcpLFxuICAgICAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKChbZXJyb3JdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yPy5zdGF0dXMgPT09IDQwMykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YTogUHJ5RGlhbG9nQ29uZmlybURhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQHByeS5tYW5pZmVzdC5kZWxldGVFcnJvcicsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFt7IGlkOiAxLCBsYWJlbDogJ0BwcnkudG9vbGJveC5jbG9zZScgfV1cbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICBjb25zdCBlcnJvckRpYWxvZyA9IHRoaXMucHJ5RGlhbG9nLm9wZW4oUHJ5RGlhbG9nQ29uZmlybUNvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgICAgICBkYXRhXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JEaWFsb2cuY2xvc2VWYWx1ZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmNsb3NlT3ZlcmxheSh7IGlkOiAnUHJ5RGlhbG9nQ29uZmlybUNvbXBvbmVudCcgfSkpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25SZW5hbWUobnE6IE5hbWVkUXVlcnkpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkub3BlblJlbmFtZSgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuZWRpdCh7IGN1cnJlbnRFZGl0OiBucSB9KSk7XG4gICAgY29uc3Qgc2F2ZSA9IGZhbHNlO1xuICAgIGNvbnN0IHR5cGUgPSBEYXRhc291cmNlVXRpbHMuZ2V0VHlwZUZyb21QYXlsb2FkKG5xLnJlcXVlc3QpO1xuICAgIGNvbnN0IGRhdGEgPVxuICAgICAgdHlwZSA9PT0gTmFtZWRRdWVyeVR5cGVzLkZVTExfVEVYVFxuICAgICAgICA/IHsgc2F2ZSwgdHlwZSwgcGF5bG9hZDogdGhpcy5leHRyYWN0UGF5bG9hZChucS5yZXF1ZXN0IGFzIEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCkgfVxuICAgICAgICA6IHsgc2F2ZSwgdHlwZSB9O1xuICAgIHRoaXMucHJ5RGlhbG9nLm9wZW4oUHJ5U2F2ZVF1ZXJ5Q29tcG9uZW50LCB7IGRhdGEgfSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RQYXlsb2FkKHBheWxvYWQ6IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCk6IFNlYXJjaEZ1bGx0ZXh0Q2hhbmdlIHtcbiAgICBjb25zdCB7IGZ1bGxTZWFyY2gsIG9DbGFzc2VzIH0gPSBwYXlsb2FkO1xuICAgIHJldHVybiB7IHZhbHVlOiBmdWxsU2VhcmNoLnZhbHVlLCBjbGFzc2VzOiBvQ2xhc3NlcyA/PyBbXSB9O1xuICB9XG5cbiAgb25SZWZyZXNoKGlkOiBzdHJpbmcsICRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMucmVmcmVzaElkID0gaWQ7XG5cbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgIHBhbmVsQ2xhc3M6IFsncmVmcmVzaC1ycyddXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmFkZGluZ092ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGVSZWZyZXNoLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKChfKSA9PiB0aGlzLmhpZGVTcG90KCkpO1xuICAgICAgY29uc3QgcmVmcmVzaEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucmVmcmVzaC1ycycpIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgY29uc3QgcmVmcmVzaCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5yZWZyZXNoYnQnKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGlmICghIXJlZnJlc2hFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHJlY3QgPSByZWZyZXNoLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICByZWZyZXNoRWxlbWVudC5zdHlsZS5sZWZ0ID0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCArIDEwICsgJ3B4JztcbiAgICAgICAgcmVmcmVzaEVsZW1lbnQuc3R5bGUudG9wID0gcmVjdC50b3AgKyAxMzcgKyAncHgnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFJlZnJlc2goJGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuc2V0UmVmcmVzaFJhdGUoeyBpZDogdGhpcy5yZWZyZXNoSWQgPz8gJycsIHJhdGU6ICRldmVudCB9KSk7XG4gICAgdGhpcy5oaWRlU3BvdCgpO1xuICB9XG5cbiAgcmVmcmVzaChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHsgaWQsIGV4Y2x1ZGVHZW86IGZhbHNlLCBmcm9tOiAnUHJ5U2VhcmNoSG9tZUNvbXBvbmVudC5yZWZyZXNoKCknIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxwcnktc2VhcmNoLWNzcz48L3ByeS1zZWFyY2gtY3NzPlxuPGRpdiBjbGFzcz1cIm8tcHJ5LXNlYXJjaC1ob21lX19uYW1lZC1xdWVyeVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibmFtZWRRdWVyeUxpc3QkIHwgYXN5bmMgYXMgbmFtZWRRdWVyeVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJuYW1lZFF1ZXJ5Lmxlbmd0aCA+IDA7IGVsc2Ugbm9OYW1lZFF1ZXJ5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLWhvbWVfX25hbWVkLXF1ZXJ5X19jYXJkXCI+XG4gICAgICAgIDxwcnktZXhwYW5kLXBhbmVsIFtvcGVuXT1cInRydWVcIj5cbiAgICAgICAgICA8cHJ5LWV4cGFuZC1wYW5lbC10aXRsZT57eyAnQHByeS5zZWFyY2guaG9tZS50aXRsZScgfCBpMThuIH19PC9wcnktZXhwYW5kLXBhbmVsLXRpdGxlPlxuXG4gICAgICAgICAgPHByeS1jYXJkICpuZ0Zvcj1cImxldCBucSBvZiBuYW1lZFF1ZXJ5Lmxlbmd0aCA+IDEgJiYgIWlzTW9yZUxpc3QgPyBuYW1lZFF1ZXJ5LnNsaWNlKDAsIDIpIDogbmFtZWRRdWVyeVwiPlxuICAgICAgICAgICAgPHByeS1jYXJkLWhlYWRlciBbbWFya2VyXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgPHByeS1jYXJkLWljb24+XG4gICAgICAgICAgICAgICAgPHByeS1ucS1jb2xvci1zZWxlY3RvciBbZGF0YXNvdXJjZV09XCJucVwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC9wcnktbnEtY29sb3Itc2VsZWN0b3I+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgW2FsdF09XCJucS5pZCB8IHRyYW5zbGF0ZUlkIDogeyB0eXBlOiAnZGF0YXNvdXJjZScsIG91dHB1dDogJ25hbWUnIH0gfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjIyXCJcbiAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCIyMlwiXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cIm5xLmlkIHwgdHJhbnNsYXRlSWQgOiB7IHR5cGU6ICdkYXRhc291cmNlJywgb3V0cHV0OiAnaWNvbicgfSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3ByeS1jYXJkLWljb24+XG5cbiAgICAgICAgICAgICAgPHByeS1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1jYXJkLXRpdGxlX190ZXh0XCIgYXJpYS1kZXNjcmliZWRieT1cImluZm9Ub29sdGlwX3NlYXJjaEhvbWVcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhLXAgby1wcnktY2FyZC10aXRsZV9fdGV4dF9fdGl0bGVcIj57eyBucS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYS1wIG8tcHJ5LWNhcmQtdGl0bGVfX3RleHRfX2Rlc2NyaXB0aW9uXCIgKm5nSWY9XCJucS5kZXNjcmlwdGlvblwiPnt7IG5xLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpbmZvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiIGlkPVwiaW5mb1Rvb2x0aXBfc2VhcmNoSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tdG9vbHRpcF9fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IG5xLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tdG9vbHRpcF9fZGVzY3JpcHRpb25cIiAqbmdJZj1cIm5xLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgbnEuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiby1wcnktY2FyZC10aXRsZV9fcGluXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwibnEuZmF2b3JpdGVcIlxuICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE4XCJcbiAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMThcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cImZhdm9yaXRlXCJcbiAgICAgICAgICAgICAgICAgIGljb25Tdmc9XCJlcGluZ2xlXCJcbiAgICAgICAgICAgICAgICA+PC9wcnktaWNvbj5cblxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5zZWFyY2guaG9tZS5zaG93QXNzb2NpYXRlZFdpZGdldCcgfCBpMThuXCJcbiAgICAgICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtdG9vbHRpcCBhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IC1zaXplLXNtIC1vdmVycmlkZS10b29sdGlwLXBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlYXJjaE5hbWVkUXVlcnkobnEuaWQpXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiKGxheW91dCQgfCBhc3luYykgIT09IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5kaXNwbGF5JyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5zZWFyY2guaG9tZS5hc3NvY2lhdGVkV2lkZ2V0JyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvcHJ5LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgICAgICAgPHByeS1jYXJkLW1lbnU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWNhcmQtbWVudV9fbmF2XCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25GYXZvcml0ZShucS5pZCwgbnEuZmF2b3JpdGUpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJlcGluZ2xlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAge3sgKG5xLmZhdm9yaXRlID8gJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkubm9GYXZvcml0ZScgOiAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5mYXZvcml0ZScpIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWNhcmQtbWVudSAoY2xpY2spPVwicmVmcmVzaChucS5pZClcIiBjbGFzcz1cInJlZnJlc2hidFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInN5bmNocm9cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnJlZnJlc2hEYXRhJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L3ByeS1jYXJkLW1lbnU+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWNhcmQtbWVudSAqbmdJZj1cIihsYXlvdXQkIHwgYXN5bmMpICE9PSBEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IG8tcHJ5LWNhcmQtbWVudV9fbmF2X19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibG9hZE9wZW5lZCA9IG5xLmlkOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAgICAgICAgICAgICAgICAgICAjdHJpZ2dlckxvYWQ9XCJjZGtPdmVybGF5T3JpZ2luXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZmlsZV9kb3dubG9hZFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGlzcGxheScgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3ZnPVwiZmxlY2hlX2hhdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJywgbWFyZ2luTGVmdDogJ2F1dG8nIH1cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgICAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlckxvYWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJsb2FkT3BlbmVkID09PSBucS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJbY29ubmVjdGVkUG9zaXRpb25dXCJcbiAgICAgICAgICAgICAgICAgICAgICBjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcz1cImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcbiAgICAgICAgICAgICAgICAgICAgICAoYmFja2Ryb3BDbGljayk9XCJsb2FkT3BlbmVkID0gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51IC1zZWFyY2gtaG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiby1kcmFnZ2FibGUtbWVudV9fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW51IG9mIHN0cnVjdHVyZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnVfX2xpc3RfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0blwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBbaWNvblN2Z109XCJtZW51Lmljb25cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBtZW51LmxhYmVsIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnVfX2xpc3RfX3N1Ym1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3ViIG9mIG1lbnUuc3ViXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiby1kcmFnZ2FibGUtbWVudV9fbGlzdF9fc3VibWVudV9faXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuXCIgKGNsaWNrKT1cImxvYWRXaWRnZXQobnEuaWQsIHN1YilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIFtpY29uU3ZnXT1cInN1Yi5pY29uXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3ViLmxhYmVsIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cblxuICAgICAgICAgICAgICAgICAgPHByeS1jYXJkLW1lbnUgY2xhc3M9XCJvLXByeS1jYXJkLW1lbnVfX25hdl9faXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8cHJ5LW5xLWNvbG9yLXNlbGVjdG9yIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJyB9XCIgW2RhdGFzb3VyY2VdPVwibnFcIj48L3ByeS1ucS1jb2xvci1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cblxuICAgICAgICAgICAgICAgICAgPHByeS1jYXJkLW1lbnUgKGNsaWNrKT1cIm9uU3BvdChucS5pZCwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cIm1vZGVfY2xpY1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuc3BvdCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3ZnPVwiZmxlY2hlX2hhdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJywgbWFyZ2luTGVmdDogJ2F1dG8nIH1cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cbiAgICAgICAgICAgICAgICAgIDxwcnktY2FyZC1tZW51IChjbGljayk9XCJvblJlZnJlc2gobnEuaWQsICRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IG8tcHJ5LWNhcmQtbWVudV9fbmF2X19pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJoaXN0b3J5LWxpbmVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnJlZnJlc2gudGl0bGUnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN2Zz1cImZsZWNoZV9oYXV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgdHJhbnNmb3JtOiAncm90YXRlKDkwZGVnKScsIG1hcmdpbkxlZnQ6ICdhdXRvJyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L3ByeS1jYXJkLW1lbnU+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUobnEpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJucS5vd25lclwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZGVsZXRlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGVsZXRlJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IG8tcHJ5LWNhcmQtbWVudV9fbmF2X19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVuYW1lKG5xKVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibnEub3duZXJcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInJlbmFtZWRcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5yZW5hbWUnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FZGl0KG5xKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLnRhYik9XCJoaWRlU3BvdCgpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJlZGl0XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZWRpdCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9wcnktY2FyZC1tZW51PlxuICAgICAgICAgICAgPC9wcnktY2FyZC1oZWFkZXI+XG4gICAgICAgICAgPC9wcnktY2FyZD5cbiAgICAgICAgPC9wcnktZXhwYW5kLXBhbmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYS1idG4gLWxpbmstbGlrZVwiXG4gICAgICAgIGFyaWEtcHJlc3NlZD1cImZhbHNlXCJcbiAgICAgICAgaWQ9XCJidG5fdmlld19tb3JlXCJcbiAgICAgICAgKm5nSWY9XCJuYW1lZFF1ZXJ5Lmxlbmd0aCA+IDJcIlxuICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VMaXN0Vmlldyhpc01vcmVMaXN0KVwiXG4gICAgICA+XG4gICAgICAgIHt7IGlzTW9yZUxpc3QgPyAoJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuc2VlTGVzcycgfCBpMThuKSA6ICgnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5zZWVNb3JlJyB8IGkxOG4pIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm9OYW1lZFF1ZXJ5PlxuICAgICAgPHAgY2xhc3M9XCJzZWFyY2gtaG9tZV9fY29udGFpbmVyLXNlYXJjaFwiPnt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LmVtcHR5TmFtZWRRdWVyeScgfCBpMThuIH19PC9wPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtaG9tZV9fc2VhcmNoXCI+XG4gIDxoMyBjbGFzcz1cImEtaDNcIj57eyAnQHByeS5zZWFyY2guaG9tZS5zc1RpdGxlJyB8IGkxOG4gfX08L2gzPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VhcmNoRnVsbHRleHRUcGxcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlYXJjaEZ1bGx0ZXh0VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPHAgY2xhc3M9XCJhLXAgby1wcnktc2VhcmNoLWhvbWVfX3NlYXJjaF9fb3JcIj57eyAnQHByeS5zZWFyY2guaG9tZS5vcicgfCBpMThuIH19PC9wPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IC13aWR0aC1mdWxsXCIgKGNsaWNrKT1cIm9uU2VhcmNoQ3JpdGVyaWEoKVwiPlxuICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCIgaWNvblN2Zz1cInNlYXJjaC1jcml0ZXJpYVwiPjwvcHJ5LWljb24+XG4gICAge3sgJ0Bwcnkuc2VhcmNoLmhvbWUuc2VhcmNoQnlDcml0ZXJpYScgfCBpMThuIH19XG4gICAgPHByeS1pY29uIGljb25Tdmc9XCJhcnJvd19yaWdodFwiPjwvcHJ5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVTcG90PlxuICA8ZGl2IChtb3VzZWxlYXZlKT1cImhpZGVTcG90KClcIj5cbiAgICB7e1xuICAgICAgKChzcG90dGluZ1dpZGdldCQgfCBhc3luYyk/Lmxlbmd0aCA/PyAwID4gMFxuICAgICAgICA/ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnNwb3RUaXRsZSdcbiAgICAgICAgOiAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5ub1Nwb3QnXG4gICAgICApIHwgaTE4biA6IHsgbGVuZ3RoOiAoc3BvdHRpbmdXaWRnZXQkIHwgYXN5bmMpPy5sZW5ndGggfVxuICAgIH19XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdXNlIG9mIHNwb3R0aW5nV2lkZ2V0JCB8IGFzeW5jXCIgY2xhc3M9XCJzcG90LWxpbmVcIj5cbiAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCIgW2ljb25TdmddPVwiaWNvbnNbdXNlLnR5cGVdXCI+PC9wcnktaWNvbj5cbiAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnR5cGUuJyArIHVzZS50eXBlIHwgaTE4biB9fSAtIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnVzZScgfCBpMThuIDogdXNlIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZnJlc2g+XG4gIDxkaXY+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiByZWZyZXNoT3B0aW9uc1wiXG4gICAgICBjbGFzcz1cInJlZnJlc2gtbGluZSBhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IC1zaXplLXNtXCJcbiAgICAgIChjbGljayk9XCJzZWxlY3RSZWZyZXNoKG9wdGlvbilcIlxuICAgID5cbiAgICAgIDxwcnktaWNvblxuICAgICAgICBbd2lkdGhdPVwiMjBcIlxuICAgICAgICBbaGVpZ2h0XT1cIjIwXCJcbiAgICAgICAgaWNvblN2Zz1cImNoZWNrXCJcbiAgICAgICAgKm5nSWY9XCIoKChyZWZyZXNoUmF0ZXMkIHwgYXN5bmMpID8/IHt9KVtyZWZyZXNoSWRdID8/IDApID09PSBvcHRpb25cIlxuICAgICAgPjwvcHJ5LWljb24+XG4gICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5yZWZyZXNoLicgKyBvcHRpb24gfCBpMThuIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvc2VhcmNoL3NlYXJjaC1ob21lL3NlYXJjaC1ob21lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtaG9tZS9zZWFyY2gtaG9tZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixvQkFBb0IsRUFHcEIsZUFBZSxFQUNmLHlCQUF5QixFQUd6QixhQUFhLEVBRWQsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQWMsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7QUFPdEYsTUFBTSxPQUFPLHNCQUFzQjtJQThDakMsWUFDVSxLQUFZLEVBQ1osT0FBZ0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLFNBQTJCO1FBSDNCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUE3QzVCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbEIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHckQsaUJBQVksR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd4RCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFNUMsbUJBQWMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpDLFVBQUssR0FBRztZQUNOLEdBQUcsRUFBRSxnQkFBZ0I7WUFDckIsS0FBSyxFQUFFLGFBQWE7WUFDcEIsS0FBSyxFQUFFLFlBQVk7WUFDbkIsS0FBSyxFQUFFLE9BQU87U0FDYyxDQUFDO1FBTXRCLHNCQUFpQixHQUFzQjtZQUM5QyxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsUUFBUTtZQUNqQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBQ0YsY0FBUyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvQyxHQUFHLEtBQUs7WUFDUixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO1NBQ3pFLENBQUMsQ0FBQyxDQUFDO1FBR0osY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUd2Qix3QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztJQU92QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxlQUFlLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakYsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsRUFDL0MsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ2pGLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQVU7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQVUsRUFBRSxVQUErQjtRQUNwRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0UsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsRUFBVSxFQUFFLE1BQWtCO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDbkMsSUFBSSxhQUFhLENBQUM7Z0JBQ2hCLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDeEIsQ0FBQyxDQUNILENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUNyRixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBbUIsQ0FBQztZQUN6RSxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbEIsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUNwRCxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQXNCO1FBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBVSxFQUFFLEdBQWtEO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBYztRQUNyQixNQUFNLElBQUksR0FBeUI7WUFDakMsS0FBSyxFQUFFLCtCQUErQjtZQUN0QyxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dCQUNuRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLCtCQUErQixFQUFFO2FBQ2xEO1NBQ0YsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQzVELElBQUk7U0FDTCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyRixJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzlFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNuQixJQUFJLENBQUMsWUFBWTtvQkFDZixFQUFFLElBQUksQ0FDSixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUNuRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQ3JDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjtxQkFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUU7b0JBQ3JCLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQzt3QkFDMUIsTUFBTSxJQUFJLEdBQXlCOzRCQUNqQyxLQUFLLEVBQUUsMkJBQTJCOzRCQUNsQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLENBQUM7eUJBQ2xELENBQUM7d0JBQ0YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUU7NEJBQ2pFLElBQUk7eUJBQ0wsQ0FBQyxDQUFDO3dCQUNILElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNuQixXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFOzRCQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLDJCQUEyQixFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUN2RixDQUFDLENBQUMsQ0FDSCxDQUFDO29CQUNKLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQ0wsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxFQUFjO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNuQixNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVELE1BQU0sSUFBSSxHQUNSLElBQUksS0FBSyxlQUFlLENBQUMsU0FBUztZQUNoQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxPQUFnQyxDQUFDLEVBQUU7WUFDbkYsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQThCO1FBQ25ELE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRCxTQUFTLENBQUMsRUFBVSxFQUFFLE1BQWtCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXBCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDbkMsSUFBSSxhQUFhLENBQUM7Z0JBQ2hCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixVQUFVLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDM0IsQ0FBQyxDQUNILENBQUM7WUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDbEUsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQW1CLENBQUM7WUFDL0UsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQW1CLENBQUM7WUFDdkUsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUM3QyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDL0QsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFjO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQVU7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxrQ0FBa0MsRUFBRSxDQUFDLENBQ3RHLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs4R0EzTlUsc0JBQXNCO2tHQUF0QixzQkFBc0IsMlRBQ0UsV0FBVyw2R0FDUixXQUFXLDZCQzNDbkQsNDdXQWtQQTs7MkZEek1hLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxpQkFBaUI7OEpBSXVCLFlBQVk7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDSyxlQUFlO3NCQUFuRSxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFFMUMsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIENvbmZpZ0FjdGlvbnMsXG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZUFjdGlvbnMsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIERhdGFzb3VyY2VVdGlscyxcbiAgZGVmYXVsdE1lbnVTdHJ1Y3R1cmUsXG4gIEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCxcbiAgTmFtZWRRdWVyeSxcbiAgTmFtZWRRdWVyeVR5cGVzLFxuICBQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50LFxuICBQcnlEaWFsb2dDb25maXJtRGF0YSxcbiAgUHJ5RGlhbG9nU2VydmljZSxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgV2lkZ2V0TGF5b3V0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGNvbWJpbmVMYXRlc3RXaXRoLCBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcnlTYXZlUXVlcnlDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3NhdmUtcXVlcnkvc2F2ZS1xdWVyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoRnVsbHRleHRDaGFuZ2UgfSBmcm9tICcuLi9zZWFyY2gtZnVsbHRleHQvc2VhcmNoLWZ1bGx0ZXh0L3NlYXJjaC1mdWxsdGV4dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc2VhcmNoLWhvbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWhvbWUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeVNlYXJjaEhvbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlU3BvdCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGVtcGxhdGVTcG90ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWZyZXNoJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZVJlZnJlc2ghOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpIHNlYXJjaEZ1bGx0ZXh0VHBsPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgaXNNb3JlTGlzdCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2VMaXN0VmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNoYW5nZVNlYXJjaENyaXRlcmlhID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIG5hbWVkUXVlcnlMaXN0JD86IE9ic2VydmFibGU8TmFtZWRRdWVyeVtdPjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBuYW1lZFF1ZXJpZXNVc2VzJCE6IE9ic2VydmFibGU8eyBbcDogc3RyaW5nXTogeyB3aW5kb3dJbmRleDogbnVtYmVyOyB0eXBlOiBzdHJpbmc7IGxheW91dDogV2lkZ2V0TGF5b3V0IH1bXSB9PjtcbiAgc3BvdHRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgc3BvdHRpbmdXaWRnZXQkITogT2JzZXJ2YWJsZTx7IHdpbmRvd0luZGV4OiBudW1iZXI7IHR5cGU6IHN0cmluZzsgbGF5b3V0OiBXaWRnZXRMYXlvdXQgfVtdPjtcbiAgcmVmcmVzaE9wdGlvbnMgPSBbMCwgMTAsIDMwLCA2MF07XG5cbiAgaWNvbnMgPSB7XG4gICAgbWFwOiAnc2hhcmVfbG9jYXRpb24nLFxuICAgIHRhYmxlOiAndGFibGVfY2hhcnQnLFxuICAgIGNoYXJ0OiAnc2hvd19jaGFydCcsXG4gICAgZ3JhcGg6ICdncmFwaCdcbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIGxvYWRPcGVuZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gIHJlYWRvbmx5IGNvbm5lY3RlZFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgIG92ZXJsYXlZOiAndG9wJ1xuICB9O1xuICBzdHJ1Y3R1cmUgPSBkZWZhdWx0TWVudVN0cnVjdHVyZS5tYXAoKGl0ZW1zKSA9PiAoe1xuICAgIC4uLml0ZW1zLFxuICAgIHN1YjogaXRlbXMuc3ViLmZpbHRlcigocykgPT4gcy50eXBlICE9PSAnaWZyYW1lJyAmJiBzLnR5cGUgIT09ICdkZXRhaWwnKVxuICB9KSk7XG5cbiAgcmVmcmVzaFJhdGVzJCE6IE9ic2VydmFibGU8eyBbcDogc3RyaW5nXTogbnVtYmVyIH0+O1xuICByZWZyZXNoSWQ6IHN0cmluZyA9ICcnO1xuICBkZWxldGVFcnJvciQ/OiBPYnNlcnZhYmxlPGFueT47XG4gIGxheW91dCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIERhc2hib2FyZEdyaWRMYXlvdXQgPSBEYXNoYm9hcmRHcmlkTGF5b3V0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBwcnlEaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLm5hbWVkUXVlcnlMaXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0TmFtZWRRdWVyeVNvcnRlZCk7XG4gICAgdGhpcy5uYW1lZFF1ZXJpZXNVc2VzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5uYW1lZFF1ZXJpZXNVc2VzKTtcbiAgICB0aGlzLnNwb3R0aW5nV2lkZ2V0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubmFtZWRRdWVyaWVzVXNlcyQsIHRoaXMuc3BvdHRpbmckXSkucGlwZShcbiAgICAgIG1hcCgoW3VzZXMsIHNwb3R0aW5nXSkgPT4gdXNlc1tzcG90dGluZ10gPz8gW10pLFxuICAgICAgbWFwKCh1c2VzKSA9PiB1c2VzLm1hcCgodXNlKSA9PiAoeyAuLi51c2UsIHdpbmRvd0luZGV4OiB1c2Uud2luZG93SW5kZXggKyAxIH0pKSlcbiAgICApO1xuICAgIHRoaXMucmVmcmVzaFJhdGVzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5yZWZyZXNoUmF0ZXMpO1xuICAgIHRoaXMubGF5b3V0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5ncmlkTGF5b3V0KTtcbiAgICB0aGlzLmRlbGV0ZUVycm9yJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZXJyb3JzKS5waXBlKGRlYm91bmNlVGltZSgxMDApKTtcbiAgfVxuXG4gIG9uU2VhcmNoTmFtZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uKHsgaWQsIHdpZGdldFR5cGU6ICd0YWJsZScgfSkpO1xuICB9XG5cbiAgb25GYXZvcml0ZShpZDogc3RyaW5nLCBpc0Zhdm9yaXRlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFpc0Zhdm9yaXRlKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuYWRkRmF2b3JpdGUoeyBpZCB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5kZWxldGVGYXZvcml0ZSh7IGlkIH0pKTtcbiAgICB9XG4gIH1cblxuICBvblNwb3QoaWQ6IHN0cmluZywgJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5zcG90dGluZyQubmV4dChpZCk7XG5cbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ3Nwb3QtcnMnXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5hZGRpbmdPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlU3BvdCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICBjb25zdCBzcG90RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zcG90LXJzJykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBpZiAoISFzcG90RWxlbWVudCkge1xuICAgICAgICBzcG90RWxlbWVudC5zdHlsZS5sZWZ0ID0gJGV2ZW50LmNsaWVudFggLSAxMCArICdweCc7XG4gICAgICAgIHNwb3RFbGVtZW50LnN0eWxlLnRvcCA9ICRldmVudC5jbGllbnRZIC0gMTAgKyAncHgnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhpZGVTcG90KCkge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5jbG9zZU92ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBvbkVkaXQobmFtZWRRdWVyeTogTmFtZWRRdWVyeSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5lZGl0KHsgY3VycmVudEVkaXQ6IG5hbWVkUXVlcnkgfSkpO1xuICB9XG5cbiAgb25DaGFuZ2VMaXN0Vmlldyhpc01vcmVMaXN0OiBib29sZWFuKSB7XG4gICAgdGhpcy5jaGFuZ2VMaXN0Vmlldy5lbWl0KGlzTW9yZUxpc3QpO1xuICB9XG5cbiAgb25TZWFyY2hDcml0ZXJpYSgpIHtcbiAgICB0aGlzLmNoYW5nZVNlYXJjaENyaXRlcmlhLmVtaXQoKTtcbiAgfVxuXG4gIGxvYWRXaWRnZXQoaWQ6IHN0cmluZywgc3ViOiB7IGljb246IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgdHlwZTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMudXBkYXRlV2lkZ2V0SW5QcmVzZW50YXRpb24oeyBpZCwgd2lkZ2V0VHlwZTogc3ViLnR5cGUgfSkpO1xuICAgIHRoaXMubG9hZE9wZW5lZCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG9uRGVsZXRlKG5xOiBOYW1lZFF1ZXJ5KSB7XG4gICAgY29uc3QgZGF0YTogUHJ5RGlhbG9nQ29uZmlybURhdGEgPSB7XG4gICAgICB0aXRsZTogJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGVsZXRlJyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgeyBpZDogMCwgbGFiZWw6ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2xvc2UnLCBjb2xvcjogJ3NlY29uZGFyeScgfSxcbiAgICAgICAgeyBpZDogMSwgbGFiZWw6ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LmRlbGV0ZScgfVxuICAgICAgXVxuICAgIH07XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5wcnlEaWFsb2cub3BlbihQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7XG4gICAgICBkYXRhXG4gICAgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgZGlhbG9nLmNsb3NlVmFsdWUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGFjdGlvbikgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY2xvc2VPdmVybGF5KHsgaWQ6ICdQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50JyB9KSk7XG4gICAgICAgIGlmIChhY3Rpb24uaWQgPT09IDEpIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuZGVsZXRlKHsgaWQ6IG5xLmlkID8/ICcnIH0pKTtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUVycm9yJFxuICAgICAgICAgICAgICA/LnBpcGUoXG4gICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5pc0xvYWRpbmcpKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKFssIGlzTG9hZGluZ10pID0+ICFpc0xvYWRpbmcpLFxuICAgICAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKChbZXJyb3JdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yPy5zdGF0dXMgPT09IDQwMykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YTogUHJ5RGlhbG9nQ29uZmlybURhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQHByeS5tYW5pZmVzdC5kZWxldGVFcnJvcicsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFt7IGlkOiAxLCBsYWJlbDogJ0BwcnkudG9vbGJveC5jbG9zZScgfV1cbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICBjb25zdCBlcnJvckRpYWxvZyA9IHRoaXMucHJ5RGlhbG9nLm9wZW4oUHJ5RGlhbG9nQ29uZmlybUNvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgICAgICBkYXRhXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JEaWFsb2cuY2xvc2VWYWx1ZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmNsb3NlT3ZlcmxheSh7IGlkOiAnUHJ5RGlhbG9nQ29uZmlybUNvbXBvbmVudCcgfSkpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25SZW5hbWUobnE6IE5hbWVkUXVlcnkpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkub3BlblJlbmFtZSgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuZWRpdCh7IGN1cnJlbnRFZGl0OiBucSB9KSk7XG4gICAgY29uc3Qgc2F2ZSA9IGZhbHNlO1xuICAgIGNvbnN0IHR5cGUgPSBEYXRhc291cmNlVXRpbHMuZ2V0VHlwZUZyb21QYXlsb2FkKG5xLnJlcXVlc3QpO1xuICAgIGNvbnN0IGRhdGEgPVxuICAgICAgdHlwZSA9PT0gTmFtZWRRdWVyeVR5cGVzLkZVTExfVEVYVFxuICAgICAgICA/IHsgc2F2ZSwgdHlwZSwgcGF5bG9hZDogdGhpcy5leHRyYWN0UGF5bG9hZChucS5yZXF1ZXN0IGFzIEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCkgfVxuICAgICAgICA6IHsgc2F2ZSwgdHlwZSB9O1xuICAgIHRoaXMucHJ5RGlhbG9nLm9wZW4oUHJ5U2F2ZVF1ZXJ5Q29tcG9uZW50LCB7IGRhdGEgfSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RQYXlsb2FkKHBheWxvYWQ6IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCk6IFNlYXJjaEZ1bGx0ZXh0Q2hhbmdlIHtcbiAgICBjb25zdCB7IGZ1bGxTZWFyY2gsIG9DbGFzc2VzIH0gPSBwYXlsb2FkO1xuICAgIHJldHVybiB7IHZhbHVlOiBmdWxsU2VhcmNoLnZhbHVlLCBjbGFzc2VzOiBvQ2xhc3NlcyA/PyBbXSB9O1xuICB9XG5cbiAgb25SZWZyZXNoKGlkOiBzdHJpbmcsICRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMucmVmcmVzaElkID0gaWQ7XG5cbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgIHBhbmVsQ2xhc3M6IFsncmVmcmVzaC1ycyddXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmFkZGluZ092ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGVSZWZyZXNoLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKChfKSA9PiB0aGlzLmhpZGVTcG90KCkpO1xuICAgICAgY29uc3QgcmVmcmVzaEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucmVmcmVzaC1ycycpIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgY29uc3QgcmVmcmVzaCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5yZWZyZXNoYnQnKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGlmICghIXJlZnJlc2hFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHJlY3QgPSByZWZyZXNoLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICByZWZyZXNoRWxlbWVudC5zdHlsZS5sZWZ0ID0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCArIDEwICsgJ3B4JztcbiAgICAgICAgcmVmcmVzaEVsZW1lbnQuc3R5bGUudG9wID0gcmVjdC50b3AgKyAxMzcgKyAncHgnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFJlZnJlc2goJGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuc2V0UmVmcmVzaFJhdGUoeyBpZDogdGhpcy5yZWZyZXNoSWQgPz8gJycsIHJhdGU6ICRldmVudCB9KSk7XG4gICAgdGhpcy5oaWRlU3BvdCgpO1xuICB9XG5cbiAgcmVmcmVzaChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHsgaWQsIGV4Y2x1ZGVHZW86IGZhbHNlLCBmcm9tOiAnUHJ5U2VhcmNoSG9tZUNvbXBvbmVudC5yZWZyZXNoKCknIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxwcnktc2VhcmNoLWNzcz48L3ByeS1zZWFyY2gtY3NzPlxuPGRpdiBjbGFzcz1cIm8tcHJ5LXNlYXJjaC1ob21lX19uYW1lZC1xdWVyeVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibmFtZWRRdWVyeUxpc3QkIHwgYXN5bmMgYXMgbmFtZWRRdWVyeVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJuYW1lZFF1ZXJ5Lmxlbmd0aCA+IDA7IGVsc2Ugbm9OYW1lZFF1ZXJ5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLWhvbWVfX25hbWVkLXF1ZXJ5X19jYXJkXCI+XG4gICAgICAgIDxwcnktZXhwYW5kLXBhbmVsIFtvcGVuXT1cInRydWVcIj5cbiAgICAgICAgICA8cHJ5LWV4cGFuZC1wYW5lbC10aXRsZT57eyAnQHByeS5zZWFyY2guaG9tZS50aXRsZScgfCBpMThuIH19PC9wcnktZXhwYW5kLXBhbmVsLXRpdGxlPlxuXG4gICAgICAgICAgPHByeS1jYXJkICpuZ0Zvcj1cImxldCBucSBvZiBuYW1lZFF1ZXJ5Lmxlbmd0aCA+IDEgJiYgIWlzTW9yZUxpc3QgPyBuYW1lZFF1ZXJ5LnNsaWNlKDAsIDIpIDogbmFtZWRRdWVyeVwiPlxuICAgICAgICAgICAgPHByeS1jYXJkLWhlYWRlciBbbWFya2VyXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgPHByeS1jYXJkLWljb24+XG4gICAgICAgICAgICAgICAgPHByeS1ucS1jb2xvci1zZWxlY3RvciBbZGF0YXNvdXJjZV09XCJucVwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC9wcnktbnEtY29sb3Itc2VsZWN0b3I+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgW2FsdF09XCJucS5pZCB8IHRyYW5zbGF0ZUlkIDogeyB0eXBlOiAnZGF0YXNvdXJjZScsIG91dHB1dDogJ25hbWUnIH0gfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjIyXCJcbiAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCIyMlwiXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cIm5xLmlkIHwgdHJhbnNsYXRlSWQgOiB7IHR5cGU6ICdkYXRhc291cmNlJywgb3V0cHV0OiAnaWNvbicgfSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3ByeS1jYXJkLWljb24+XG5cbiAgICAgICAgICAgICAgPHByeS1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1jYXJkLXRpdGxlX190ZXh0XCIgYXJpYS1kZXNjcmliZWRieT1cImluZm9Ub29sdGlwX3NlYXJjaEhvbWVcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhLXAgby1wcnktY2FyZC10aXRsZV9fdGV4dF9fdGl0bGVcIj57eyBucS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYS1wIG8tcHJ5LWNhcmQtdGl0bGVfX3RleHRfX2Rlc2NyaXB0aW9uXCIgKm5nSWY9XCJucS5kZXNjcmlwdGlvblwiPnt7IG5xLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpbmZvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiIGlkPVwiaW5mb1Rvb2x0aXBfc2VhcmNoSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tdG9vbHRpcF9fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IG5xLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tdG9vbHRpcF9fZGVzY3JpcHRpb25cIiAqbmdJZj1cIm5xLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgbnEuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiby1wcnktY2FyZC10aXRsZV9fcGluXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwibnEuZmF2b3JpdGVcIlxuICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE4XCJcbiAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMThcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cImZhdm9yaXRlXCJcbiAgICAgICAgICAgICAgICAgIGljb25Tdmc9XCJlcGluZ2xlXCJcbiAgICAgICAgICAgICAgICA+PC9wcnktaWNvbj5cblxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5zZWFyY2guaG9tZS5zaG93QXNzb2NpYXRlZFdpZGdldCcgfCBpMThuXCJcbiAgICAgICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtdG9vbHRpcCBhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IC1zaXplLXNtIC1vdmVycmlkZS10b29sdGlwLXBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlYXJjaE5hbWVkUXVlcnkobnEuaWQpXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiKGxheW91dCQgfCBhc3luYykgIT09IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5kaXNwbGF5JyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5zZWFyY2guaG9tZS5hc3NvY2lhdGVkV2lkZ2V0JyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvcHJ5LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgICAgICAgPHByeS1jYXJkLW1lbnU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWNhcmQtbWVudV9fbmF2XCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25GYXZvcml0ZShucS5pZCwgbnEuZmF2b3JpdGUpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJlcGluZ2xlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAge3sgKG5xLmZhdm9yaXRlID8gJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkubm9GYXZvcml0ZScgOiAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5mYXZvcml0ZScpIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWNhcmQtbWVudSAoY2xpY2spPVwicmVmcmVzaChucS5pZClcIiBjbGFzcz1cInJlZnJlc2hidFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInN5bmNocm9cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnJlZnJlc2hEYXRhJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L3ByeS1jYXJkLW1lbnU+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWNhcmQtbWVudSAqbmdJZj1cIihsYXlvdXQkIHwgYXN5bmMpICE9PSBEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IG8tcHJ5LWNhcmQtbWVudV9fbmF2X19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibG9hZE9wZW5lZCA9IG5xLmlkOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAgICAgICAgICAgICAgICAgICAjdHJpZ2dlckxvYWQ9XCJjZGtPdmVybGF5T3JpZ2luXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZmlsZV9kb3dubG9hZFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGlzcGxheScgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3ZnPVwiZmxlY2hlX2hhdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJywgbWFyZ2luTGVmdDogJ2F1dG8nIH1cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgICAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlckxvYWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJsb2FkT3BlbmVkID09PSBucS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJbY29ubmVjdGVkUG9zaXRpb25dXCJcbiAgICAgICAgICAgICAgICAgICAgICBjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcz1cImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcbiAgICAgICAgICAgICAgICAgICAgICAoYmFja2Ryb3BDbGljayk9XCJsb2FkT3BlbmVkID0gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51IC1zZWFyY2gtaG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiby1kcmFnZ2FibGUtbWVudV9fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW51IG9mIHN0cnVjdHVyZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnVfX2xpc3RfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0blwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBbaWNvblN2Z109XCJtZW51Lmljb25cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBtZW51LmxhYmVsIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnVfX2xpc3RfX3N1Ym1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3ViIG9mIG1lbnUuc3ViXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiby1kcmFnZ2FibGUtbWVudV9fbGlzdF9fc3VibWVudV9faXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuXCIgKGNsaWNrKT1cImxvYWRXaWRnZXQobnEuaWQsIHN1YilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIFtpY29uU3ZnXT1cInN1Yi5pY29uXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3ViLmxhYmVsIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cblxuICAgICAgICAgICAgICAgICAgPHByeS1jYXJkLW1lbnUgY2xhc3M9XCJvLXByeS1jYXJkLW1lbnVfX25hdl9faXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8cHJ5LW5xLWNvbG9yLXNlbGVjdG9yIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJyB9XCIgW2RhdGFzb3VyY2VdPVwibnFcIj48L3ByeS1ucS1jb2xvci1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cblxuICAgICAgICAgICAgICAgICAgPHByeS1jYXJkLW1lbnUgKGNsaWNrKT1cIm9uU3BvdChucS5pZCwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cIm1vZGVfY2xpY1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuc3BvdCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3ZnPVwiZmxlY2hlX2hhdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJywgbWFyZ2luTGVmdDogJ2F1dG8nIH1cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cbiAgICAgICAgICAgICAgICAgIDxwcnktY2FyZC1tZW51IChjbGljayk9XCJvblJlZnJlc2gobnEuaWQsICRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IG8tcHJ5LWNhcmQtbWVudV9fbmF2X19pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJoaXN0b3J5LWxpbmVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnJlZnJlc2gudGl0bGUnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN2Zz1cImZsZWNoZV9oYXV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgdHJhbnNmb3JtOiAncm90YXRlKDkwZGVnKScsIG1hcmdpbkxlZnQ6ICdhdXRvJyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L3ByeS1jYXJkLW1lbnU+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUobnEpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJucS5vd25lclwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZGVsZXRlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGVsZXRlJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IG8tcHJ5LWNhcmQtbWVudV9fbmF2X19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVuYW1lKG5xKVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibnEub3duZXJcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInJlbmFtZWRcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5yZW5hbWUnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FZGl0KG5xKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLnRhYik9XCJoaWRlU3BvdCgpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJlZGl0XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZWRpdCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9wcnktY2FyZC1tZW51PlxuICAgICAgICAgICAgPC9wcnktY2FyZC1oZWFkZXI+XG4gICAgICAgICAgPC9wcnktY2FyZD5cbiAgICAgICAgPC9wcnktZXhwYW5kLXBhbmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYS1idG4gLWxpbmstbGlrZVwiXG4gICAgICAgIGFyaWEtcHJlc3NlZD1cImZhbHNlXCJcbiAgICAgICAgaWQ9XCJidG5fdmlld19tb3JlXCJcbiAgICAgICAgKm5nSWY9XCJuYW1lZFF1ZXJ5Lmxlbmd0aCA+IDJcIlxuICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VMaXN0Vmlldyhpc01vcmVMaXN0KVwiXG4gICAgICA+XG4gICAgICAgIHt7IGlzTW9yZUxpc3QgPyAoJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuc2VlTGVzcycgfCBpMThuKSA6ICgnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5zZWVNb3JlJyB8IGkxOG4pIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm9OYW1lZFF1ZXJ5PlxuICAgICAgPHAgY2xhc3M9XCJzZWFyY2gtaG9tZV9fY29udGFpbmVyLXNlYXJjaFwiPnt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LmVtcHR5TmFtZWRRdWVyeScgfCBpMThuIH19PC9wPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtaG9tZV9fc2VhcmNoXCI+XG4gIDxoMyBjbGFzcz1cImEtaDNcIj57eyAnQHByeS5zZWFyY2guaG9tZS5zc1RpdGxlJyB8IGkxOG4gfX08L2gzPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VhcmNoRnVsbHRleHRUcGxcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlYXJjaEZ1bGx0ZXh0VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPHAgY2xhc3M9XCJhLXAgby1wcnktc2VhcmNoLWhvbWVfX3NlYXJjaF9fb3JcIj57eyAnQHByeS5zZWFyY2guaG9tZS5vcicgfCBpMThuIH19PC9wPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IC13aWR0aC1mdWxsXCIgKGNsaWNrKT1cIm9uU2VhcmNoQ3JpdGVyaWEoKVwiPlxuICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCIgaWNvblN2Zz1cInNlYXJjaC1jcml0ZXJpYVwiPjwvcHJ5LWljb24+XG4gICAge3sgJ0Bwcnkuc2VhcmNoLmhvbWUuc2VhcmNoQnlDcml0ZXJpYScgfCBpMThuIH19XG4gICAgPHByeS1pY29uIGljb25Tdmc9XCJhcnJvd19yaWdodFwiPjwvcHJ5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVTcG90PlxuICA8ZGl2IChtb3VzZWxlYXZlKT1cImhpZGVTcG90KClcIj5cbiAgICB7e1xuICAgICAgKChzcG90dGluZ1dpZGdldCQgfCBhc3luYyk/Lmxlbmd0aCA/PyAwID4gMFxuICAgICAgICA/ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnNwb3RUaXRsZSdcbiAgICAgICAgOiAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5ub1Nwb3QnXG4gICAgICApIHwgaTE4biA6IHsgbGVuZ3RoOiAoc3BvdHRpbmdXaWRnZXQkIHwgYXN5bmMpPy5sZW5ndGggfVxuICAgIH19XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdXNlIG9mIHNwb3R0aW5nV2lkZ2V0JCB8IGFzeW5jXCIgY2xhc3M9XCJzcG90LWxpbmVcIj5cbiAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCIgW2ljb25TdmddPVwiaWNvbnNbdXNlLnR5cGVdXCI+PC9wcnktaWNvbj5cbiAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnR5cGUuJyArIHVzZS50eXBlIHwgaTE4biB9fSAtIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnVzZScgfCBpMThuIDogdXNlIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZnJlc2g+XG4gIDxkaXY+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiByZWZyZXNoT3B0aW9uc1wiXG4gICAgICBjbGFzcz1cInJlZnJlc2gtbGluZSBhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IC1zaXplLXNtXCJcbiAgICAgIChjbGljayk9XCJzZWxlY3RSZWZyZXNoKG9wdGlvbilcIlxuICAgID5cbiAgICAgIDxwcnktaWNvblxuICAgICAgICBbd2lkdGhdPVwiMjBcIlxuICAgICAgICBbaGVpZ2h0XT1cIjIwXCJcbiAgICAgICAgaWNvblN2Zz1cImNoZWNrXCJcbiAgICAgICAgKm5nSWY9XCIoKChyZWZyZXNoUmF0ZXMkIHwgYXN5bmMpID8/IHt9KVtyZWZyZXNoSWRdID8/IDApID09PSBvcHRpb25cIlxuICAgICAgPjwvcHJ5LWljb24+XG4gICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5yZWZyZXNoLicgKyBvcHRpb24gfCBpMThuIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs
CHANGED
|
@@ -54,13 +54,13 @@ export class PrySearchComposedComponent {
|
|
|
54
54
|
onDeleteNestedCondition(conditionId) {
|
|
55
55
|
this.store.dispatch(SearchMonoClassActions.deleteNormalizedConditionById({ conditionId }));
|
|
56
56
|
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySearchComposedComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PrySearchComposedComponent, selector: "pry-search-composed", inputs: { id: "id" }, host: { listeners: { "mouseover": "onMouseOver($event)", "mouseout": "onMouseOut($event)" }, properties: { "class": "this.class", "class.is-hover": "this.hover" } }, ngImport: i0, template: "<div class=\"o-pry-search-composed\" [ngClass]=\"{ 'pry-search-composed-hover': hover }\">\n <ng-container *ngIf=\"condition$ | async as cond\">\n <ng-container *ngIf=\"cond.type === 'ATTRIBUTE'; else composedBlock\">\n <ng-container *ngIf=\"cond.attribute\">\n <pry-search-condition [attributeId]=\"cond.attribute\" [id]=\"cond.id\"></pry-search-condition>\n </ng-container>\n </ng-container>\n <ng-template #composedBlock>\n <div class=\"o-pry-search-composed__condition\">\n <div class=\"o-pry-search-composed__condition__type -vertical-bar\">\n <div class=\"o-pry-search-composed__condition__type__content\">\n <pry-toggle\n [leftword]=\"'@pry.search.type.or' | i18n\"\n [rightword]=\"'@pry.search.type.and' | i18n\"\n [alwaysActive]=\"true\"\n [ngModel]=\"cond.type === 'OR'\"\n (ngModelChange)=\"onSelectType(cond.id, cond.type === 'OR' ? 'AND' : 'OR')\"\n ></pry-toggle>\n </div>\n </div>\n <div class=\"o-pry-search-composed__condition__content\">\n <ng-container *ngFor=\"let composedId of cond.composed\">\n <pry-search-composed [id]=\"composedId\"></pry-search-composed>\n </ng-container>\n\n <div class=\"o-pry-search-composed__condition__content__footer\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--select -size-sm\"\n (click)=\"onOpenPanel()\"\n [pryOverlay]=\"selectAttribute\"\n [overlayOpen]=\"panelNewAttributeOpen\"\n (overlayOpenChange)=\"onClosePanel()\"\n pryOverlayPosition=\"start-bottom\"\n [pryOverlayNoPadding]=\"true\"\n >\n <pry-icon iconSvg=\"add\" [width]=\"15\" [height]=\"15\"></pry-icon>\n <span>{{ '@pry.search.composed.addCondition' | i18n }}</span>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--secondary -size-sm\" (click)=\"onAddNestedCondition(cond.id)\">\n <pry-icon iconSvg=\"picture-in-picture\" [width]=\"16\" [height]=\"16\"></pry-icon>\n <span>{{ '@pry.search.composed.addGroup' | i18n }}</span>\n </button>\n <ng-container *ngIf=\"masterId$ | async as masterId\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only -circle -size-sm o-pry-search-composed__condition__content__footer__remove\"\n *ngIf=\"masterId !== cond.id\"\n (click)=\"onDeleteNestedCondition(cond.id)\"\n >\n <pry-icon iconSvg=\"close\" [width]=\"16\" [height]=\"16\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.search.composed.remove' | i18n }}</span>\n </button>\n </ng-container>\n </div>\n\n <ng-template #selectAttribute>\n <pry-search-select-attribute\n [id]=\"cond.id\"\n (selectAttributeChange)=\"onAddAttributeCondition($event, cond.id)\"\n ></pry-search-select-attribute>\n </ng-template>\n </div>\n </div>\n </ng-template>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryToggleComponent, selector: "pry-toggle", inputs: ["alwaysActive", "disabled", "mode", "size", "dir", "leftword", "rightword"] }, { kind: "directive", type: i3.PryOverlayDirective, selector: "[pryOverlay]", inputs: ["pryOverlay", "styleReversed", "pryOverlaySticky", "pryOverlayNoPadding", "pryOverlayPosition", "overlayOpen", "hasBackdrop"], outputs: ["overlayOpenChange"] }, { kind: "component", type: PrySearchComposedComponent, selector: "pry-search-composed", inputs: ["id"] }, { kind: "component", type: i5.PrySearchSelectAttributeComponent, selector: "pry-search-select-attribute", inputs: ["id"], outputs: ["selectAttributeChange"] }, { kind: "component", type: i6.PrySearchConditionComponent, selector: "pry-search-condition", inputs: ["attributeId", "id", "useTextDateInputs"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySearchComposedComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
62
|
args: [{ selector: 'pry-search-composed', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-search-composed\" [ngClass]=\"{ 'pry-search-composed-hover': hover }\">\n <ng-container *ngIf=\"condition$ | async as cond\">\n <ng-container *ngIf=\"cond.type === 'ATTRIBUTE'; else composedBlock\">\n <ng-container *ngIf=\"cond.attribute\">\n <pry-search-condition [attributeId]=\"cond.attribute\" [id]=\"cond.id\"></pry-search-condition>\n </ng-container>\n </ng-container>\n <ng-template #composedBlock>\n <div class=\"o-pry-search-composed__condition\">\n <div class=\"o-pry-search-composed__condition__type -vertical-bar\">\n <div class=\"o-pry-search-composed__condition__type__content\">\n <pry-toggle\n [leftword]=\"'@pry.search.type.or' | i18n\"\n [rightword]=\"'@pry.search.type.and' | i18n\"\n [alwaysActive]=\"true\"\n [ngModel]=\"cond.type === 'OR'\"\n (ngModelChange)=\"onSelectType(cond.id, cond.type === 'OR' ? 'AND' : 'OR')\"\n ></pry-toggle>\n </div>\n </div>\n <div class=\"o-pry-search-composed__condition__content\">\n <ng-container *ngFor=\"let composedId of cond.composed\">\n <pry-search-composed [id]=\"composedId\"></pry-search-composed>\n </ng-container>\n\n <div class=\"o-pry-search-composed__condition__content__footer\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--select -size-sm\"\n (click)=\"onOpenPanel()\"\n [pryOverlay]=\"selectAttribute\"\n [overlayOpen]=\"panelNewAttributeOpen\"\n (overlayOpenChange)=\"onClosePanel()\"\n pryOverlayPosition=\"start-bottom\"\n [pryOverlayNoPadding]=\"true\"\n >\n <pry-icon iconSvg=\"add\" [width]=\"15\" [height]=\"15\"></pry-icon>\n <span>{{ '@pry.search.composed.addCondition' | i18n }}</span>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--secondary -size-sm\" (click)=\"onAddNestedCondition(cond.id)\">\n <pry-icon iconSvg=\"picture-in-picture\" [width]=\"16\" [height]=\"16\"></pry-icon>\n <span>{{ '@pry.search.composed.addGroup' | i18n }}</span>\n </button>\n <ng-container *ngIf=\"masterId$ | async as masterId\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only -circle -size-sm o-pry-search-composed__condition__content__footer__remove\"\n *ngIf=\"masterId !== cond.id\"\n (click)=\"onDeleteNestedCondition(cond.id)\"\n >\n <pry-icon iconSvg=\"close\" [width]=\"16\" [height]=\"16\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.search.composed.remove' | i18n }}</span>\n </button>\n </ng-container>\n </div>\n\n <ng-template #selectAttribute>\n <pry-search-select-attribute\n [id]=\"cond.id\"\n (selectAttributeChange)=\"onAddAttributeCondition($event, cond.id)\"\n ></pry-search-select-attribute>\n </ng-template>\n </div>\n </div>\n </ng-template>\n </ng-container>\n</div>\n" }]
|
|
63
|
-
}], ctorParameters:
|
|
63
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i0.ChangeDetectorRef }], propDecorators: { class: [{
|
|
64
64
|
type: HostBinding,
|
|
65
65
|
args: ['class']
|
|
66
66
|
}], hover: [{
|
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
75
75
|
}], id: [{
|
|
76
76
|
type: Input
|
|
77
77
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbXBvc2VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtbW9uby1jbGFzcy9jb21wb25lbnRzL3NlYXJjaC1jb21wb3NlZC9zZWFyY2gtY29tcG9zZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvc2VhcmNoL3NlYXJjaC1tb25vLWNsYXNzL2NvbXBvbmVudHMvc2VhcmNoLWNvbXBvc2VkL3NlYXJjaC1jb21wb3NlZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4SCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7OztBQU9uRixNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBR0QsVUFBVSxDQUFDLEdBQVE7UUFDakIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFhLEVBQUUsQ0FBQyxHQUFXO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBT0QsWUFDVSxLQUFpQixFQUNqQixPQUEwQjtRQUQxQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBNUJkLFVBQUssR0FBRywrQkFBK0IsQ0FBQztRQUMvQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBcUI3QyxlQUFVLEdBQTJDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RCwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFNNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxXQUFtQjtRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyw0Q0FBNEMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQW1CLEVBQUUsYUFBNEI7UUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLHNCQUFzQixDQUFDLDJDQUEyQyxDQUFDLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQ25HLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzlCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxTQUFvQixFQUFFLFdBQW1CO1FBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixzQkFBc0IsQ0FBQyw2Q0FBNkMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUNqRyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxXQUFtQjtRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDOytHQWpFVSwwQkFBMEI7bUdBQTFCLDBCQUEwQix1UENadkMseXNHQW1FQSx5dUNEdkRhLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTs0SEFHekIsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPO2dCQUNXLEtBQUs7c0JBQW5DLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUk3QixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9yQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU12QixFQUFFO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXR0cmlidXRlLCBDb25kaXRpb25UeXBlLCBOb3JtYWxpemVkQ29uZGl0aW9uIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2VhcmNoLW1vbm8tY2xhc3MuYWN0aW9ucyc7XG5pbXBvcnQgeyBTZWFyY2hNb25vQ2xhc3NTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9zZWFyY2gtbW9uby1jbGFzcy5zZWxlY3RvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc2VhcmNoLWNvbXBvc2VkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1jb21wb3NlZC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByeVNlYXJjaENvbXBvc2VkQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ28tcHJ5LXNlYXJjaC1jb21wb3NlZC13cmFwcGVyJztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1ob3ZlcicpIGhvdmVyID0gZmFsc2U7XG4gIG1hc3RlcklkJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPjtcblxuICBASG9zdExpc3RlbmVyKCdtb3VzZW92ZXInLCBbJyRldmVudCddKVxuICBvbk1vdXNlT3ZlcihldnQ6IGFueSkge1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmhvdmVyID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3V0JywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZU91dChldnQ6IGFueSkge1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmhvdmVyID0gZmFsc2U7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaWQodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbDtcbiAgICB0aGlzLmNvbmRpdGlvbiQgPSB0aGlzLnN0b3JlLnNlbGVjdChTZWFyY2hNb25vQ2xhc3NTZWxlY3RvcnMuc2VsZWN0TW9ub0NsYXNzQ29uZGl0aW9uc0J5SWQodGhpcy5faWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lkITogc3RyaW5nO1xuICBjb25kaXRpb24kOiBPYnNlcnZhYmxlPE5vcm1hbGl6ZWRDb25kaXRpb24gfCBudWxsPiA9IG9mKG51bGwpO1xuXG4gIHBhbmVsTmV3QXR0cmlidXRlT3BlbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgcHJpdmF0ZSBfY2hhbmdlOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLm1hc3RlcklkJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFNlYXJjaE1vbm9DbGFzc1NlbGVjdG9ycy5zZWxlY3RNb25vQ2xhc3NDb25kaXRpb25zTWFzdGVySWQpO1xuICB9XG5cbiAgb25BZGROZXN0ZWRDb25kaXRpb24oY29uZGl0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2VhcmNoTW9ub0NsYXNzQWN0aW9ucy5hZGROb3JtYWxpemVkQ29uZGl0aW9uQ29tcG9zZWRGb3JDb25kaXRpb25JZCh7IGNvbmRpdGlvbklkIH0pKTtcbiAgfVxuXG4gIG9uU2VsZWN0VHlwZShjb25kaXRpb25JZDogc3RyaW5nLCBjb25kaXRpb25UeXBlOiBDb25kaXRpb25UeXBlKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMudXBkYXRlTm9ybWFsaXplZENvbmRpdGlvblR5cGVGb3JDb25kaXRpb25JZCh7IGNvbmRpdGlvbklkLCBjb25kaXRpb25UeXBlIH0pXG4gICAgKTtcbiAgfVxuXG4gIG9uT3BlblBhbmVsKCkge1xuICAgIHRoaXMucGFuZWxOZXdBdHRyaWJ1dGVPcGVuID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2UubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNsb3NlUGFuZWwoKSB7XG4gICAgaWYgKHRoaXMucGFuZWxOZXdBdHRyaWJ1dGVPcGVuKSB7XG4gICAgICB0aGlzLnBhbmVsTmV3QXR0cmlidXRlT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG9uQWRkQXR0cmlidXRlQ29uZGl0aW9uKGF0dHJpYnV0ZTogQXR0cmlidXRlLCBjb25kaXRpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuYWRkTm9ybWFsaXplZENvbmRpdGlvbkF0dHJpYnV0ZUZvckNvbmRpdGlvbklkKHsgY29uZGl0aW9uSWQsIGF0dHJpYnV0ZSB9KVxuICAgICk7XG4gICAgdGhpcy5vbkNsb3NlUGFuZWwoKTtcbiAgfVxuXG4gIG9uRGVsZXRlTmVzdGVkQ29uZGl0aW9uKGNvbmRpdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuZGVsZXRlTm9ybWFsaXplZENvbmRpdGlvbkJ5SWQoeyBjb25kaXRpb25JZCB9KSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtY29tcG9zZWRcIiBbbmdDbGFzc109XCJ7ICdwcnktc2VhcmNoLWNvbXBvc2VkLWhvdmVyJzogaG92ZXIgfVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZGl0aW9uJCB8IGFzeW5jIGFzIGNvbmRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZC50eXBlID09PSAnQVRUUklCVVRFJzsgZWxzZSBjb21wb3NlZEJsb2NrXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZC5hdHRyaWJ1dGVcIj5cbiAgICAgICAgPHByeS1zZWFyY2gtY29uZGl0aW9uIFthdHRyaWJ1dGVJZF09XCJjb25kLmF0dHJpYnV0ZVwiIFtpZF09XCJjb25kLmlkXCI+PC9wcnktc2VhcmNoLWNvbmRpdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9zZWRCbG9jaz5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtY29tcG9zZWRfX2NvbmRpdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLWNvbXBvc2VkX19jb25kaXRpb25fX3R5cGUgLXZlcnRpY2FsLWJhclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtY29tcG9zZWRfX2NvbmRpdGlvbl9fdHlwZV9fY29udGVudFwiPlxuICAgICAgICAgICAgPHByeS10b2dnbGVcbiAgICAgICAgICAgICAgW2xlZnR3b3JkXT1cIidAcHJ5LnNlYXJjaC50eXBlLm9yJyB8IGkxOG5cIlxuICAgICAgICAgICAgICBbcmlnaHR3b3JkXT1cIidAcHJ5LnNlYXJjaC50eXBlLmFuZCcgfCBpMThuXCJcbiAgICAgICAgICAgICAgW2Fsd2F5c0FjdGl2ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwiY29uZC50eXBlID09PSAnT1InXCJcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3RUeXBlKGNvbmQuaWQsIGNvbmQudHlwZSA9PT0gJ09SJyA/ICdBTkQnIDogJ09SJylcIlxuICAgICAgICAgICAgPjwvcHJ5LXRvZ2dsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtY29tcG9zZWRfX2NvbmRpdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbXBvc2VkSWQgb2YgY29uZC5jb21wb3NlZFwiPlxuICAgICAgICAgICAgPHByeS1zZWFyY2gtY29tcG9zZWQgW2lkXT1cImNvbXBvc2VkSWRcIj48L3ByeS1zZWFyY2gtY29tcG9zZWQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLWNvbXBvc2VkX19jb25kaXRpb25fX2NvbnRlbnRfX2Zvb3RlclwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2VsZWN0IC1zaXplLXNtXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3BlblBhbmVsKClcIlxuICAgICAgICAgICAgICBbcHJ5T3ZlcmxheV09XCJzZWxlY3RBdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICBbb3ZlcmxheU9wZW5dPVwicGFuZWxOZXdBdHRyaWJ1dGVPcGVuXCJcbiAgICAgICAgICAgICAgKG92ZXJsYXlPcGVuQ2hhbmdlKT1cIm9uQ2xvc2VQYW5lbCgpXCJcbiAgICAgICAgICAgICAgcHJ5T3ZlcmxheVBvc2l0aW9uPVwic3RhcnQtYm90dG9tXCJcbiAgICAgICAgICAgICAgW3ByeU92ZXJsYXlOb1BhZGRpbmddPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiYWRkXCIgW3dpZHRoXT1cIjE1XCIgW2hlaWdodF09XCIxNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LnNlYXJjaC5jb21wb3NlZC5hZGRDb25kaXRpb24nIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IC1zaXplLXNtXCIgKGNsaWNrKT1cIm9uQWRkTmVzdGVkQ29uZGl0aW9uKGNvbmQuaWQpXCI+XG4gICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwicGljdHVyZS1pbi1waWN0dXJlXCIgW3dpZHRoXT1cIjE2XCIgW2hlaWdodF09XCIxNlwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LnNlYXJjaC5jb21wb3NlZC5hZGRHcm91cCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWFzdGVySWQkIHwgYXN5bmMgYXMgbWFzdGVySWRcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seSAtY2lyY2xlIC1zaXplLXNtIG8tcHJ5LXNlYXJjaC1jb21wb3NlZF9fY29uZGl0aW9uX19jb250ZW50X19mb290ZXJfX3JlbW92ZVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJtYXN0ZXJJZCAhPT0gY29uZC5pZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlTmVzdGVkQ29uZGl0aW9uKGNvbmQuaWQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIiBbd2lkdGhdPVwiMTZcIiBbaGVpZ2h0XT1cIjE2XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0Bwcnkuc2VhcmNoLmNvbXBvc2VkLnJlbW92ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzZWxlY3RBdHRyaWJ1dGU+XG4gICAgICAgICAgICA8cHJ5LXNlYXJjaC1zZWxlY3QtYXR0cmlidXRlXG4gICAgICAgICAgICAgIFtpZF09XCJjb25kLmlkXCJcbiAgICAgICAgICAgICAgKHNlbGVjdEF0dHJpYnV0ZUNoYW5nZSk9XCJvbkFkZEF0dHJpYnV0ZUNvbmRpdGlvbigkZXZlbnQsIGNvbmQuaWQpXCJcbiAgICAgICAgICAgID48L3ByeS1zZWFyY2gtc2VsZWN0LWF0dHJpYnV0ZT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbXBvc2VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtbW9uby1jbGFzcy9jb21wb25lbnRzL3NlYXJjaC1jb21wb3NlZC9zZWFyY2gtY29tcG9zZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvc2VhcmNoL3NlYXJjaC1tb25vLWNsYXNzL2NvbXBvbmVudHMvc2VhcmNoLWNvbXBvc2VkL3NlYXJjaC1jb21wb3NlZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4SCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7OztBQU9uRixNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBR0QsVUFBVSxDQUFDLEdBQVE7UUFDakIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFhLEVBQUUsQ0FBQyxHQUFXO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBT0QsWUFDVSxLQUFpQixFQUNqQixPQUEwQjtRQUQxQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBNUJkLFVBQUssR0FBRywrQkFBK0IsQ0FBQztRQUMvQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBcUI3QyxlQUFVLEdBQTJDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RCwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFNNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxXQUFtQjtRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyw0Q0FBNEMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQW1CLEVBQUUsYUFBNEI7UUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLHNCQUFzQixDQUFDLDJDQUEyQyxDQUFDLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQ25HLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBb0IsRUFBRSxXQUFtQjtRQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsc0JBQXNCLENBQUMsNkNBQTZDLENBQUMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FDakcsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsdUJBQXVCLENBQUMsV0FBbUI7UUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsNkJBQTZCLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQzs4R0FqRVUsMEJBQTBCO2tHQUExQiwwQkFBMEIsdVBDWnZDLHlzR0FtRUEseXVDRHZEYSwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUVkLHVCQUF1QixDQUFDLE1BQU07MEdBR3pCLEtBQUs7c0JBQTFCLFdBQVc7dUJBQUMsT0FBTztnQkFDVyxLQUFLO3NCQUFuQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFJN0IsV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPckMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNdkIsRUFBRTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEF0dHJpYnV0ZSwgQ29uZGl0aW9uVHlwZSwgTm9ybWFsaXplZENvbmRpdGlvbiB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VhcmNoTW9ub0NsYXNzQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL3NlYXJjaC1tb25vLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2VhcmNoLW1vbm8tY2xhc3Muc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXNlYXJjaC1jb21wb3NlZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtY29tcG9zZWQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcnlTZWFyY2hDb21wb3NlZENvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9ICdvLXByeS1zZWFyY2gtY29tcG9zZWQtd3JhcHBlcic7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtaG92ZXInKSBob3ZlciA9IGZhbHNlO1xuICBtYXN0ZXJJZCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD47XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZU92ZXIoZXZ0OiBhbnkpIHtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5ob3ZlciA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZW91dCcsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VPdXQoZXZ0OiBhbnkpIHtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5ob3ZlciA9IGZhbHNlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGlkKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWw7XG4gICAgdGhpcy5jb25kaXRpb24kID0gdGhpcy5zdG9yZS5zZWxlY3QoU2VhcmNoTW9ub0NsYXNzU2VsZWN0b3JzLnNlbGVjdE1vbm9DbGFzc0NvbmRpdGlvbnNCeUlkKHRoaXMuX2lkKSk7XG4gIH1cblxuICBwcml2YXRlIF9pZCE6IHN0cmluZztcbiAgY29uZGl0aW9uJDogT2JzZXJ2YWJsZTxOb3JtYWxpemVkQ29uZGl0aW9uIHwgbnVsbD4gPSBvZihudWxsKTtcblxuICBwYW5lbE5ld0F0dHJpYnV0ZU9wZW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgX2NoYW5nZTogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5tYXN0ZXJJZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChTZWFyY2hNb25vQ2xhc3NTZWxlY3RvcnMuc2VsZWN0TW9ub0NsYXNzQ29uZGl0aW9uc01hc3RlcklkKTtcbiAgfVxuXG4gIG9uQWRkTmVzdGVkQ29uZGl0aW9uKGNvbmRpdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNlYXJjaE1vbm9DbGFzc0FjdGlvbnMuYWRkTm9ybWFsaXplZENvbmRpdGlvbkNvbXBvc2VkRm9yQ29uZGl0aW9uSWQoeyBjb25kaXRpb25JZCB9KSk7XG4gIH1cblxuICBvblNlbGVjdFR5cGUoY29uZGl0aW9uSWQ6IHN0cmluZywgY29uZGl0aW9uVHlwZTogQ29uZGl0aW9uVHlwZSk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLnVwZGF0ZU5vcm1hbGl6ZWRDb25kaXRpb25UeXBlRm9yQ29uZGl0aW9uSWQoeyBjb25kaXRpb25JZCwgY29uZGl0aW9uVHlwZSB9KVxuICAgICk7XG4gIH1cblxuICBvbk9wZW5QYW5lbCgpIHtcbiAgICB0aGlzLnBhbmVsTmV3QXR0cmlidXRlT3BlbiA9IHRydWU7XG4gICAgdGhpcy5fY2hhbmdlLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DbG9zZVBhbmVsKCkge1xuICAgIGlmICh0aGlzLnBhbmVsTmV3QXR0cmlidXRlT3Blbikge1xuICAgICAgdGhpcy5wYW5lbE5ld0F0dHJpYnV0ZU9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuX2NoYW5nZS5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBvbkFkZEF0dHJpYnV0ZUNvbmRpdGlvbihhdHRyaWJ1dGU6IEF0dHJpYnV0ZSwgY29uZGl0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLmFkZE5vcm1hbGl6ZWRDb25kaXRpb25BdHRyaWJ1dGVGb3JDb25kaXRpb25JZCh7IGNvbmRpdGlvbklkLCBhdHRyaWJ1dGUgfSlcbiAgICApO1xuICAgIHRoaXMub25DbG9zZVBhbmVsKCk7XG4gIH1cblxuICBvbkRlbGV0ZU5lc3RlZENvbmRpdGlvbihjb25kaXRpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZWFyY2hNb25vQ2xhc3NBY3Rpb25zLmRlbGV0ZU5vcm1hbGl6ZWRDb25kaXRpb25CeUlkKHsgY29uZGl0aW9uSWQgfSkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLWNvbXBvc2VkXCIgW25nQ2xhc3NdPVwieyAncHJ5LXNlYXJjaC1jb21wb3NlZC1ob3Zlcic6IGhvdmVyIH1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmRpdGlvbiQgfCBhc3luYyBhcyBjb25kXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmQudHlwZSA9PT0gJ0FUVFJJQlVURSc7IGVsc2UgY29tcG9zZWRCbG9ja1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmQuYXR0cmlidXRlXCI+XG4gICAgICAgIDxwcnktc2VhcmNoLWNvbmRpdGlvbiBbYXR0cmlidXRlSWRdPVwiY29uZC5hdHRyaWJ1dGVcIiBbaWRdPVwiY29uZC5pZFwiPjwvcHJ5LXNlYXJjaC1jb25kaXRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2NvbXBvc2VkQmxvY2s+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLWNvbXBvc2VkX19jb25kaXRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LXNlYXJjaC1jb21wb3NlZF9fY29uZGl0aW9uX190eXBlIC12ZXJ0aWNhbC1iYXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLWNvbXBvc2VkX19jb25kaXRpb25fX3R5cGVfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxwcnktdG9nZ2xlXG4gICAgICAgICAgICAgIFtsZWZ0d29yZF09XCInQHByeS5zZWFyY2gudHlwZS5vcicgfCBpMThuXCJcbiAgICAgICAgICAgICAgW3JpZ2h0d29yZF09XCInQHByeS5zZWFyY2gudHlwZS5hbmQnIHwgaTE4blwiXG4gICAgICAgICAgICAgIFthbHdheXNBY3RpdmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cImNvbmQudHlwZSA9PT0gJ09SJ1wiXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VsZWN0VHlwZShjb25kLmlkLCBjb25kLnR5cGUgPT09ICdPUicgPyAnQU5EJyA6ICdPUicpXCJcbiAgICAgICAgICAgID48L3ByeS10b2dnbGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLWNvbXBvc2VkX19jb25kaXRpb25fX2NvbnRlbnRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb21wb3NlZElkIG9mIGNvbmQuY29tcG9zZWRcIj5cbiAgICAgICAgICAgIDxwcnktc2VhcmNoLWNvbXBvc2VkIFtpZF09XCJjb21wb3NlZElkXCI+PC9wcnktc2VhcmNoLWNvbXBvc2VkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LXNlYXJjaC1jb21wb3NlZF9fY29uZGl0aW9uX19jb250ZW50X19mb290ZXJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlbGVjdCAtc2l6ZS1zbVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbk9wZW5QYW5lbCgpXCJcbiAgICAgICAgICAgICAgW3ByeU92ZXJsYXldPVwic2VsZWN0QXR0cmlidXRlXCJcbiAgICAgICAgICAgICAgW292ZXJsYXlPcGVuXT1cInBhbmVsTmV3QXR0cmlidXRlT3BlblwiXG4gICAgICAgICAgICAgIChvdmVybGF5T3BlbkNoYW5nZSk9XCJvbkNsb3NlUGFuZWwoKVwiXG4gICAgICAgICAgICAgIHByeU92ZXJsYXlQb3NpdGlvbj1cInN0YXJ0LWJvdHRvbVwiXG4gICAgICAgICAgICAgIFtwcnlPdmVybGF5Tm9QYWRkaW5nXT1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFkZFwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyAnQHByeS5zZWFyY2guY29tcG9zZWQuYWRkQ29uZGl0aW9uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeSAtc2l6ZS1zbVwiIChjbGljayk9XCJvbkFkZE5lc3RlZENvbmRpdGlvbihjb25kLmlkKVwiPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInBpY3R1cmUtaW4tcGljdHVyZVwiIFt3aWR0aF09XCIxNlwiIFtoZWlnaHRdPVwiMTZcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyAnQHByeS5zZWFyY2guY29tcG9zZWQuYWRkR3JvdXAnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1hc3RlcklkJCB8IGFzeW5jIGFzIG1hc3RlcklkXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHkgLWNpcmNsZSAtc2l6ZS1zbSBvLXByeS1zZWFyY2gtY29tcG9zZWRfX2NvbmRpdGlvbl9fY29udGVudF9fZm9vdGVyX19yZW1vdmVcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwibWFzdGVySWQgIT09IGNvbmQuaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZU5lc3RlZENvbmRpdGlvbihjb25kLmlkKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW3dpZHRoXT1cIjE2XCIgW2hlaWdodF09XCIxNlwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnNlYXJjaC5jb21wb3NlZC5yZW1vdmUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0QXR0cmlidXRlPlxuICAgICAgICAgICAgPHByeS1zZWFyY2gtc2VsZWN0LWF0dHJpYnV0ZVxuICAgICAgICAgICAgICBbaWRdPVwiY29uZC5pZFwiXG4gICAgICAgICAgICAgIChzZWxlY3RBdHRyaWJ1dGVDaGFuZ2UpPVwib25BZGRBdHRyaWJ1dGVDb25kaXRpb24oJGV2ZW50LCBjb25kLmlkKVwiXG4gICAgICAgICAgICA+PC9wcnktc2VhcmNoLXNlbGVjdC1hdHRyaWJ1dGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|