@po-ui/ng-components 16.0.0 → 16.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -37
- package/esm2022/lib/components/components.module.mjs +1 -1
- package/esm2022/lib/components/index.mjs +1 -1
- package/esm2022/lib/components/po-accordion/index.mjs +1 -1
- package/esm2022/lib/components/po-accordion/po-accordion-base.component.mjs +1 -1
- package/esm2022/lib/components/po-accordion/po-accordion-item/po-accordion-item.component.mjs +2 -2
- package/esm2022/lib/components/po-accordion/po-accordion-item-body/po-accordion-item-body.component.mjs +2 -2
- package/esm2022/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.mjs +2 -2
- package/esm2022/lib/components/po-accordion/po-accordion.component.mjs +2 -2
- package/esm2022/lib/components/po-accordion/po-accordion.module.mjs +1 -1
- package/esm2022/lib/components/po-accordion/services/po-accordion.service.mjs +1 -1
- package/esm2022/lib/components/po-avatar/index.mjs +1 -1
- package/esm2022/lib/components/po-avatar/po-avatar-base.component.mjs +1 -1
- package/esm2022/lib/components/po-avatar/po-avatar.component.mjs +2 -2
- package/esm2022/lib/components/po-avatar/po-avatar.module.mjs +1 -1
- package/esm2022/lib/components/po-badge/po-badge-base.component.mjs +1 -1
- package/esm2022/lib/components/po-badge/po-badge.component.mjs +2 -2
- package/esm2022/lib/components/po-badge/po-badge.module.mjs +1 -1
- package/esm2022/lib/components/po-breadcrumb/index.mjs +1 -1
- package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-base.component.mjs +1 -1
- package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-dropdown/po-breadcrumb-dropdown.component.mjs +2 -2
- package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.component.mjs +2 -2
- package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.service.mjs +1 -1
- package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-item/po-breadcrumb-item.component.mjs +2 -2
- package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-item.interface.mjs +1 -1
- package/esm2022/lib/components/po-breadcrumb/po-breadcrumb.component.mjs +2 -2
- package/esm2022/lib/components/po-breadcrumb/po-breadcrumb.interface.mjs +1 -1
- package/esm2022/lib/components/po-breadcrumb/po-breadcrumb.module.mjs +1 -1
- package/esm2022/lib/components/po-button/index.mjs +1 -1
- package/esm2022/lib/components/po-button/po-button-base.component.mjs +1 -1
- package/esm2022/lib/components/po-button/po-button-kind.enum.mjs +1 -1
- package/esm2022/lib/components/po-button/po-button-size.enum.mjs +1 -1
- package/esm2022/lib/components/po-button/po-button.component.mjs +2 -2
- package/esm2022/lib/components/po-button/po-button.module.mjs +1 -1
- package/esm2022/lib/components/po-button-group/index.mjs +1 -1
- package/esm2022/lib/components/po-button-group/po-button-group-base.component.mjs +1 -1
- package/esm2022/lib/components/po-button-group/po-button-group-item.interface.mjs +1 -1
- package/esm2022/lib/components/po-button-group/po-button-group-toggle.enum.mjs +1 -1
- package/esm2022/lib/components/po-button-group/po-button-group.component.mjs +2 -2
- package/esm2022/lib/components/po-button-group/po-button-group.module.mjs +1 -1
- package/esm2022/lib/components/po-calendar/index.mjs +1 -1
- package/esm2022/lib/components/po-calendar/po-calendar-base.component.mjs +1 -1
- package/esm2022/lib/components/po-calendar/po-calendar-header/po-calendar-header.component.mjs +2 -2
- package/esm2022/lib/components/po-calendar/po-calendar-mode.enum.mjs +1 -1
- package/esm2022/lib/components/po-calendar/po-calendar-wrapper/po-calendar-wrapper.component.mjs +2 -2
- package/esm2022/lib/components/po-calendar/po-calendar.component.mjs +2 -2
- package/esm2022/lib/components/po-calendar/po-calendar.module.mjs +1 -1
- package/esm2022/lib/components/po-calendar/services/po-calendar.lang.service.mjs +1 -1
- package/esm2022/lib/components/po-calendar/services/po-calendar.service.mjs +1 -1
- package/esm2022/lib/components/po-chart/directives/po-resize-observer.directive.mjs +1 -1
- package/esm2022/lib/components/po-chart/enums/po-chart-type.enum.mjs +1 -1
- package/esm2022/lib/components/po-chart/helpers/po-chart-default-values.constant.mjs +1 -1
- package/esm2022/lib/components/po-chart/index.mjs +1 -1
- package/esm2022/lib/components/po-chart/interfaces/po-chart-axis-options.interface.mjs +1 -1
- package/esm2022/lib/components/po-chart/interfaces/po-chart-bar-coordinates.interface.mjs +1 -1
- package/esm2022/lib/components/po-chart/interfaces/po-chart-container-size.interface.mjs +1 -1
- package/esm2022/lib/components/po-chart/interfaces/po-chart-label-coordinates.interface.mjs +1 -1
- package/esm2022/lib/components/po-chart/interfaces/po-chart-min-max-values.interface.mjs +1 -1
- package/esm2022/lib/components/po-chart/interfaces/po-chart-options.interface.mjs +1 -1
- package/esm2022/lib/components/po-chart/interfaces/po-chart-path-coordinates.interface.mjs +1 -1
- package/esm2022/lib/components/po-chart/interfaces/po-chart-points-coordinates.interface.mjs +1 -1
- package/esm2022/lib/components/po-chart/interfaces/po-chart-serie.interface.mjs +1 -1
- package/esm2022/lib/components/po-chart/po-chart-base.component.mjs +1 -1
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis-label/po-chart-axis-label.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis-path/po-chart-axis-path.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar-base.component.mjs +1 -1
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar-path/po-chart-bar-path.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-column/po-chart-column.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-label/po-chart-circular-label.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-path/po-chart-circular-path.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-path/po-chart-tooltip.directive.mjs +1 -1
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular.component.mjs +1 -1
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-donut/po-chart-donut.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-pie/po-chart-pie.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-container.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-area/po-chart-area.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-line-base.component.mjs +1 -1
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-line.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-path/po-chart-path.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-series-point/po-chart-series-point.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-legend/po-chart-legend.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart-types/po-chart-dynamic-type.component.mjs +1 -1
- package/esm2022/lib/components/po-chart/po-chart.component.mjs +2 -2
- package/esm2022/lib/components/po-chart/po-chart.module.mjs +1 -1
- package/esm2022/lib/components/po-chart/services/po-chart-maths.service.mjs +1 -1
- package/esm2022/lib/components/po-chart/services/po-chart-svg-container.service.mjs +1 -1
- package/esm2022/lib/components/po-container/index.mjs +1 -1
- package/esm2022/lib/components/po-container/po-container-base.component.mjs +1 -1
- package/esm2022/lib/components/po-container/po-container.component.mjs +2 -2
- package/esm2022/lib/components/po-container/po-container.module.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer/index.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer/po-disclaimer-base.component.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer/po-disclaimer.component.mjs +2 -2
- package/esm2022/lib/components/po-disclaimer/po-disclaimer.interface.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer/po-disclaimer.literals.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer/po-disclaimer.module.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer-group/index.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer-group/po-disclaimer-group-base.component.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer-group/po-disclaimer-group-remove-action.interface.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer-group/po-disclaimer-group.component.mjs +2 -2
- package/esm2022/lib/components/po-disclaimer-group/po-disclaimer-group.interface.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer-group/po-disclaimer-group.module.mjs +1 -1
- package/esm2022/lib/components/po-disclaimer-group/po-disclaimer-remove/po-disclaimer-remove.component.mjs +2 -2
- package/esm2022/lib/components/po-divider/index.mjs +1 -1
- package/esm2022/lib/components/po-divider/po-divider-base.component.mjs +1 -1
- package/esm2022/lib/components/po-divider/po-divider-size.enum.mjs +1 -1
- package/esm2022/lib/components/po-divider/po-divider.component.mjs +2 -2
- package/esm2022/lib/components/po-divider/po-divider.module.mjs +1 -1
- package/esm2022/lib/components/po-dropdown/index.mjs +1 -1
- package/esm2022/lib/components/po-dropdown/po-dropdown-action.interface.mjs +1 -1
- package/esm2022/lib/components/po-dropdown/po-dropdown-base.component.mjs +1 -1
- package/esm2022/lib/components/po-dropdown/po-dropdown.component.mjs +2 -2
- package/esm2022/lib/components/po-dropdown/po-dropdown.module.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/index.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-field-force-component.enum.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-field-type.enum.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-field.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-field-internal.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields-base.component.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +2 -2
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-load/po-dynamic-form-load.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-load/po-dynamic-form-load.service.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-operation/po-dynamic-form-operation.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-response.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-changed.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-validation.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.service.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form.component.mjs +2 -2
- package/esm2022/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-field.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.mjs +2 -2
- package/esm2022/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.service.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic.module.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic.util.mjs +1 -1
- package/esm2022/lib/components/po-field/index.mjs +1 -1
- package/esm2022/lib/components/po-field/po-checkbox/po-checkbox-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-checkbox/po-checkbox-size.enum.mjs +1 -1
- package/esm2022/lib/components/po-field/po-checkbox/po-checkbox.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-checkbox/po-checkbox.module.mjs +1 -1
- package/esm2022/lib/components/po-field/po-checkbox-group/interfaces/po-checkbox-group-option-view.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-checkbox-group/interfaces/po-checkbox-group-option.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-checkbox-group/po-checkbox-group.module.mjs +1 -1
- package/esm2022/lib/components/po-field/po-clean/index.mjs +1 -1
- package/esm2022/lib/components/po-field/po-clean/po-clean-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-clean/po-clean.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-clean/po-clean.module.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/interfaces/po-combo-filter.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/interfaces/po-combo-group.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/interfaces/po-combo-literals-default.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/interfaces/po-combo-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/interfaces/po-combo-option-group.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/interfaces/po-combo-option.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/interfaces/po-response.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/po-combo-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/po-combo-filter-mode.enum.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/po-combo-filter.service.mjs +2 -2
- package/esm2022/lib/components/po-field/po-combo/po-combo-option-template/po-combo-option-template.directive.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/po-combo.component.mjs +49 -40
- package/esm2022/lib/components/po-field/po-datepicker/enums/po-datepicker-iso-format.enum.mjs +1 -1
- package/esm2022/lib/components/po-field/po-datepicker/po-datepicker-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-datepicker/po-datepicker.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-datepicker/po-datepicker.literals.mjs +1 -1
- package/esm2022/lib/components/po-field/po-datepicker/po-datepicker.module.mjs +1 -1
- package/esm2022/lib/components/po-field/po-datepicker-range/interfaces/po-datepicker-range-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-datepicker-range/interfaces/po-datepicker-range.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-datepicker-range/po-datepicker-range.literals.mjs +1 -1
- package/esm2022/lib/components/po-field/po-decimal/po-decimal.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-email/po-email.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-field-container/index.mjs +1 -1
- package/esm2022/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-field-container/po-field-container-literals.mjs +1 -1
- package/esm2022/lib/components/po-field/po-field-container/po-field-container.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-field-container/po-field-container.module.mjs +1 -1
- package/esm2022/lib/components/po-field/po-field-validate.model.mjs +1 -1
- package/esm2022/lib/components/po-field/po-field.model.mjs +1 -1
- package/esm2022/lib/components/po-field/po-field.module.mjs +6 -2
- package/esm2022/lib/components/po-field/po-input/po-input-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-input/po-input.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-input/po-mask.mjs +1 -1
- package/esm2022/lib/components/po-field/po-input-generic/po-input-generic.mjs +1 -1
- package/esm2022/lib/components/po-field/po-login/po-login.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-lookup/interfaces/po-lookup-advanced-filter.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-lookup/interfaces/po-lookup-column.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-lookup/interfaces/po-lookup-filter.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-lookup/interfaces/po-lookup-filtered-items-params.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-lookup/interfaces/po-lookup-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-lookup/interfaces/po-lookup-response-api.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-lookup/po-lookup-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-lookup/po-lookup.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-lookup/services/po-lookup-filter.service.mjs +1 -1
- package/esm2022/lib/components/po-field/po-lookup/services/po-lookup-modal.service.mjs +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-filter-mode.enum.mjs +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-filter.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-filter.service.mjs +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-option-template/po-multiselect-option-template.directive.mjs +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-option.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-number/po-number-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-number/po-number.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-password/po-password.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-radio/po-radio-size.enum.mjs +1 -1
- package/esm2022/lib/components/po-field/po-radio/po-radio.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-radio/po-radio.module.mjs +1 -1
- package/esm2022/lib/components/po-field/po-radio-group/po-radio-group-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-radio-group/po-radio-group-option.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-radio-group/po-radio-group.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-radio-group/po-radio-group.module.mjs +1 -1
- package/esm2022/lib/components/po-field/po-rich-text/interfaces/po-rich-text-toolbar-button-group-item.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-body/po-rich-text-body.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-image-modal/po-rich-text-image-modal.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-link-modal/po-rich-text-link-modal.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-literals.mjs +1 -1
- package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-rich-text/po-rich-text.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-rich-text/po-rich-text.service.mjs +1 -1
- package/esm2022/lib/components/po-field/po-select/po-select-option-group.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-select/po-select-option.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-select/po-select.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-switch/index.mjs +1 -1
- package/esm2022/lib/components/po-field/po-switch/po-switch-label-position.enum.mjs +1 -1
- package/esm2022/lib/components/po-field/po-switch/po-switch.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-switch/po-switch.module.mjs +1 -1
- package/esm2022/lib/components/po-field/po-textarea/po-textarea-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-textarea/po-textarea.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-upload/interfaces/po-upload-file-restriction.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-upload/interfaces/po-upload-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-upload/po-upload-base.component.mjs +1 -1
- package/esm2022/lib/components/po-field/po-upload/po-upload-base.service.mjs +1 -1
- package/esm2022/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area/po-upload-drag-drop-area.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area-overlay/po-upload-drag-drop-area-overlay.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.directive.mjs +1 -1
- package/esm2022/lib/components/po-field/po-upload/po-upload-file-restrictions/po-upload-file-restrictions.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-upload/po-upload-file.mjs +1 -1
- package/esm2022/lib/components/po-field/po-upload/po-upload-status.enum.mjs +1 -1
- package/esm2022/lib/components/po-field/po-upload/po-upload.component.mjs +2 -2
- package/esm2022/lib/components/po-field/po-upload/po-upload.service.mjs +1 -1
- package/esm2022/lib/components/po-field/po-url/po-url.component.mjs +2 -2
- package/esm2022/lib/components/po-field/validators.mjs +1 -1
- package/esm2022/lib/components/po-gauge/index.mjs +1 -1
- package/esm2022/lib/components/po-gauge/interfaces/po-gauge-coordinates.interface.mjs +1 -1
- package/esm2022/lib/components/po-gauge/interfaces/po-gauge-ranges.interface.mjs +1 -1
- package/esm2022/lib/components/po-gauge/interfaces/po-gauge-svg-container.interface.mjs +1 -1
- package/esm2022/lib/components/po-gauge/po-gauge-base.component.mjs +1 -1
- package/esm2022/lib/components/po-gauge/po-gauge-default-values.constant.mjs +1 -1
- package/esm2022/lib/components/po-gauge/po-gauge-description/po-gauge-description.component.mjs +2 -2
- package/esm2022/lib/components/po-gauge/po-gauge-legend/po-gauge-legend.component.mjs +2 -2
- package/esm2022/lib/components/po-gauge/po-gauge-svg/po-gauge-path/po-gauge-path.component.mjs +2 -2
- package/esm2022/lib/components/po-gauge/po-gauge-svg/po-gauge-pointer/po-gauge-pointer.component.mjs +2 -2
- package/esm2022/lib/components/po-gauge/po-gauge-svg/po-gauge-svg.component.mjs +2 -2
- package/esm2022/lib/components/po-gauge/po-gauge-title/po-gauge-title.component.mjs +2 -2
- package/esm2022/lib/components/po-gauge/po-gauge.component.mjs +2 -2
- package/esm2022/lib/components/po-gauge/po-gauge.module.mjs +1 -1
- package/esm2022/lib/components/po-grid/index.mjs +1 -1
- package/esm2022/lib/components/po-grid/po-grid-cell/po-grid-cell.component.mjs +2 -2
- package/esm2022/lib/components/po-grid/po-grid-cell-action/po-grid-cell-action.component.mjs +2 -2
- package/esm2022/lib/components/po-grid/po-grid-head/po-grid-head.component.mjs +2 -2
- package/esm2022/lib/components/po-grid/po-grid-row-actions.interface.mjs +1 -1
- package/esm2022/lib/components/po-grid/po-grid.component.mjs +2 -2
- package/esm2022/lib/components/po-grid/po-grid.module.mjs +1 -1
- package/esm2022/lib/components/po-icon/index.mjs +1 -1
- package/esm2022/lib/components/po-icon/po-icon.component.mjs +2 -2
- package/esm2022/lib/components/po-icon/po-icon.module.mjs +1 -1
- package/esm2022/lib/components/po-image/index.mjs +1 -1
- package/esm2022/lib/components/po-image/po-image-base.component.mjs +1 -1
- package/esm2022/lib/components/po-image/po-image.component.mjs +2 -2
- package/esm2022/lib/components/po-image/po-image.module.mjs +1 -1
- package/esm2022/lib/components/po-info/index.mjs +1 -1
- package/esm2022/lib/components/po-info/po-info-base.component.mjs +1 -1
- package/esm2022/lib/components/po-info/po-info-orietation.enum.mjs +1 -1
- package/esm2022/lib/components/po-info/po-info.component.mjs +2 -2
- package/esm2022/lib/components/po-info/po-info.module.mjs +1 -1
- package/esm2022/lib/components/po-label/index.mjs +1 -1
- package/esm2022/lib/components/po-label/po-label.component.mjs +2 -2
- package/esm2022/lib/components/po-label/po-label.module.mjs +1 -1
- package/esm2022/lib/components/po-link/index.mjs +1 -1
- package/esm2022/lib/components/po-link/po-link-base.component.mjs +1 -1
- package/esm2022/lib/components/po-link/po-link.component.mjs +2 -2
- package/esm2022/lib/components/po-link/po-link.module.mjs +1 -1
- package/esm2022/lib/components/po-list-view/index.mjs +1 -1
- package/esm2022/lib/components/po-list-view/interfaces/po-list-view-action.interface.mjs +1 -1
- package/esm2022/lib/components/po-list-view/interfaces/po-list-view-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-list-view/po-list-view-base.component.mjs +1 -1
- package/esm2022/lib/components/po-list-view/po-list-view-content-template/po-list-view-content-template.directive.mjs +1 -1
- package/esm2022/lib/components/po-list-view/po-list-view-detail-template/po-list-view-detail-template.directive.mjs +1 -1
- package/esm2022/lib/components/po-list-view/po-list-view.component.mjs +2 -2
- package/esm2022/lib/components/po-list-view/po-list-view.module.mjs +1 -1
- package/esm2022/lib/components/po-listbox/enums/po-item-list-filter-mode.enum.mjs +1 -1
- package/esm2022/lib/components/po-listbox/enums/po-item-list-type.enum.mjs +1 -1
- package/esm2022/lib/components/po-listbox/index.mjs +1 -1
- package/esm2022/lib/components/po-listbox/interfaces/po-listbox-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-listbox/po-item-list/interfaces/po-item-list-action.interface.mjs +1 -1
- package/esm2022/lib/components/po-listbox/po-item-list/interfaces/po-item-list-option-group.interface.mjs +1 -1
- package/esm2022/lib/components/po-listbox/po-item-list/interfaces/po-item-list-option.interface.mjs +1 -1
- package/esm2022/lib/components/po-listbox/po-item-list/po-item-list-base.component.mjs +1 -1
- package/esm2022/lib/components/po-listbox/po-item-list/po-item-list.component.mjs +2 -2
- package/esm2022/lib/components/po-listbox/po-listbox-base.component.mjs +1 -1
- package/esm2022/lib/components/po-listbox/po-listbox.component.mjs +2 -2
- package/esm2022/lib/components/po-listbox/po-listbox.module.mjs +1 -1
- package/esm2022/lib/components/po-listbox/po-search-list/po-search-list.component.mjs +2 -2
- package/esm2022/lib/components/po-loading/index.mjs +1 -1
- package/esm2022/lib/components/po-loading/interfaces/po-loading-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-loading/po-loading-base.component.mjs +1 -1
- package/esm2022/lib/components/po-loading/po-loading-icon/po-loading-icon.component.mjs +2 -2
- package/esm2022/lib/components/po-loading/po-loading-overlay/interfaces/po-loading-overlay-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-loading/po-loading-overlay/po-loading-overlay-base.component.mjs +1 -1
- package/esm2022/lib/components/po-loading/po-loading-overlay/po-loading-overlay.component.mjs +2 -2
- package/esm2022/lib/components/po-loading/po-loading.component.mjs +2 -2
- package/esm2022/lib/components/po-loading/po-loading.module.mjs +1 -1
- package/esm2022/lib/components/po-logo/index.mjs +1 -1
- package/esm2022/lib/components/po-logo/po-logo.component.mjs +2 -2
- package/esm2022/lib/components/po-logo/po-logo.module.mjs +1 -1
- package/esm2022/lib/components/po-menu/index.mjs +1 -1
- package/esm2022/lib/components/po-menu/po-menu-base.component.mjs +1 -1
- package/esm2022/lib/components/po-menu/po-menu-filter/po-menu-filter-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-menu/po-menu-filter/po-menu-filter.component.mjs +2 -2
- package/esm2022/lib/components/po-menu/po-menu-filter/po-menu-filter.interface.mjs +1 -1
- package/esm2022/lib/components/po-menu/po-menu-header-template/po-menu-header-template.directive.mjs +1 -1
- package/esm2022/lib/components/po-menu/po-menu-item/po-menu-item-badge.interface.mjs +1 -1
- package/esm2022/lib/components/po-menu/po-menu-item/po-menu-item-filtered.interface.mjs +1 -1
- package/esm2022/lib/components/po-menu/po-menu-item/po-menu-item.component.mjs +2 -2
- package/esm2022/lib/components/po-menu/po-menu-item.interface.mjs +1 -1
- package/esm2022/lib/components/po-menu/po-menu.component.mjs +2 -2
- package/esm2022/lib/components/po-menu/po-menu.module.mjs +1 -1
- package/esm2022/lib/components/po-menu/services/po-menu-global.service.mjs +1 -1
- package/esm2022/lib/components/po-menu/services/po-menu-items.service.mjs +1 -1
- package/esm2022/lib/components/po-menu/services/po-menu.service.mjs +1 -1
- package/esm2022/lib/components/po-menu-panel/index.mjs +1 -1
- package/esm2022/lib/components/po-menu-panel/po-menu-panel-base.component.mjs +1 -1
- package/esm2022/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item-internal.interface.mjs +1 -1
- package/esm2022/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.component.mjs +2 -2
- package/esm2022/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.interface.mjs +1 -1
- package/esm2022/lib/components/po-menu-panel/po-menu-panel.component.mjs +2 -2
- package/esm2022/lib/components/po-menu-panel/po-menu-panel.module.mjs +1 -1
- package/esm2022/lib/components/po-menu-panel/services/po-menu-panel-items.service.mjs +1 -1
- package/esm2022/lib/components/po-modal/index.mjs +1 -1
- package/esm2022/lib/components/po-modal/po-modal-action.interface.mjs +1 -1
- package/esm2022/lib/components/po-modal/po-modal-base.component.mjs +1 -1
- package/esm2022/lib/components/po-modal/po-modal-footer/po-modal-footer.component.mjs +2 -2
- package/esm2022/lib/components/po-modal/po-modal.component.mjs +2 -2
- package/esm2022/lib/components/po-modal/po-modal.literals.mjs +1 -1
- package/esm2022/lib/components/po-modal/po-modal.module.mjs +1 -1
- package/esm2022/lib/components/po-navbar/index.mjs +1 -1
- package/esm2022/lib/components/po-navbar/interfaces/po-navbar-icon-action.interface.mjs +1 -1
- package/esm2022/lib/components/po-navbar/interfaces/po-navbar-item.interface.mjs +1 -1
- package/esm2022/lib/components/po-navbar/interfaces/po-navbar-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-navbar/po-navbar-actions/po-navbar-action/po-navbar-action.component.mjs +2 -2
- package/esm2022/lib/components/po-navbar/po-navbar-actions/po-navbar-action-popup/po-navbar-action-popup.component.mjs +2 -2
- package/esm2022/lib/components/po-navbar/po-navbar-actions/po-navbar-actions.component.mjs +2 -2
- package/esm2022/lib/components/po-navbar/po-navbar-actions/po-navbar-actions.module.mjs +1 -1
- package/esm2022/lib/components/po-navbar/po-navbar-base.component.mjs +1 -1
- package/esm2022/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation-icon/po-navbar-item-navigation-icon.component.mjs +2 -2
- package/esm2022/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation.component.mjs +2 -2
- package/esm2022/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation.module.mjs +1 -1
- package/esm2022/lib/components/po-navbar/po-navbar-items/po-navbar-item/po-navbar-item.component.mjs +2 -2
- package/esm2022/lib/components/po-navbar/po-navbar-items/po-navbar-items.component.mjs +2 -2
- package/esm2022/lib/components/po-navbar/po-navbar-items/po-navbar-items.module.mjs +1 -1
- package/esm2022/lib/components/po-navbar/po-navbar-logo/po-navbar-logo.component.mjs +2 -2
- package/esm2022/lib/components/po-navbar/po-navbar.component.mjs +2 -2
- package/esm2022/lib/components/po-navbar/po-navbar.module.mjs +1 -1
- package/esm2022/lib/components/po-page/index.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-action.interface.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-base.component.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-content/po-page-content-base.component.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-content/po-page-content.component.mjs +2 -2
- package/esm2022/lib/components/po-page/po-page-default/po-page-default-base.component.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-default/po-page-default-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-default/po-page-default.component.mjs +2 -2
- package/esm2022/lib/components/po-page/po-page-default/po-page-default.interface.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-detail/po-page-detail-base.component.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-detail/po-page-detail-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-detail/po-page-detail.component.mjs +2 -2
- package/esm2022/lib/components/po-page/po-page-edit/po-page-edit-base.component.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-edit/po-page-edit-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-edit/po-page-edit.component.mjs +2 -2
- package/esm2022/lib/components/po-page/po-page-filter.interface.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-header/po-page-header-base.component.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-header/po-page-header.component.mjs +2 -2
- package/esm2022/lib/components/po-page/po-page-list/po-page-list-base.component.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-list/po-page-list-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-list/po-page-list.component.mjs +2 -2
- package/esm2022/lib/components/po-page/po-page-slide/index.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-slide/po-page-slide-base.component.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page-slide/po-page-slide.component.mjs +2 -2
- package/esm2022/lib/components/po-page/po-page-slide/po-page-slide.module.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page.component.mjs +2 -2
- package/esm2022/lib/components/po-page/po-page.interface.mjs +1 -1
- package/esm2022/lib/components/po-page/po-page.module.mjs +1 -1
- package/esm2022/lib/components/po-popover/index.mjs +1 -1
- package/esm2022/lib/components/po-popover/po-popover-base.component.mjs +1 -1
- package/esm2022/lib/components/po-popover/po-popover.component.mjs +2 -2
- package/esm2022/lib/components/po-popover/po-popover.module.mjs +1 -1
- package/esm2022/lib/components/po-popup/index.mjs +1 -1
- package/esm2022/lib/components/po-popup/po-popup-action.interface.mjs +1 -1
- package/esm2022/lib/components/po-popup/po-popup-base.component.mjs +1 -1
- package/esm2022/lib/components/po-popup/po-popup.component.mjs +2 -2
- package/esm2022/lib/components/po-popup/po-popup.module.mjs +1 -1
- package/esm2022/lib/components/po-progress/enums/po-progress-status.enum.mjs +1 -1
- package/esm2022/lib/components/po-progress/index.mjs +1 -1
- package/esm2022/lib/components/po-progress/po-progress-bar/po-progress-bar.component.mjs +2 -2
- package/esm2022/lib/components/po-progress/po-progress-base.component.mjs +1 -1
- package/esm2022/lib/components/po-progress/po-progress.component.mjs +2 -2
- package/esm2022/lib/components/po-progress/po-progress.module.mjs +1 -1
- package/esm2022/lib/components/po-search/index.mjs +1 -1
- package/esm2022/lib/components/po-search/literals/po-search-literals.mjs +1 -1
- package/esm2022/lib/components/po-search/po-search-base.component.mjs +1 -1
- package/esm2022/lib/components/po-search/po-search-filter-mode.enum.mjs +1 -1
- package/esm2022/lib/components/po-search/po-search.component.mjs +2 -2
- package/esm2022/lib/components/po-search/po-search.module.mjs +1 -1
- package/esm2022/lib/components/po-slide/directives/po-slide-content-template.directive.mjs +1 -1
- package/esm2022/lib/components/po-slide/index.mjs +1 -1
- package/esm2022/lib/components/po-slide/interfaces/po-slide-item.interface.mjs +1 -1
- package/esm2022/lib/components/po-slide/po-slide-base.component.mjs +1 -1
- package/esm2022/lib/components/po-slide/po-slide-circles/po-slide-circles.component.mjs +2 -2
- package/esm2022/lib/components/po-slide/po-slide-control/po-slide-control.component.mjs +2 -2
- package/esm2022/lib/components/po-slide/po-slide-item/po-slide-item.component.mjs +2 -2
- package/esm2022/lib/components/po-slide/po-slide.component.mjs +2 -2
- package/esm2022/lib/components/po-slide/po-slide.module.mjs +1 -1
- package/esm2022/lib/components/po-stepper/enums/po-stepper-orientation.enum.mjs +1 -1
- package/esm2022/lib/components/po-stepper/enums/po-stepper-status.enum.mjs +1 -1
- package/esm2022/lib/components/po-stepper/index.mjs +1 -1
- package/esm2022/lib/components/po-stepper/po-step/po-step.component.mjs +2 -2
- package/esm2022/lib/components/po-stepper/po-stepper-base.component.mjs +1 -1
- package/esm2022/lib/components/po-stepper/po-stepper-circle/po-stepper-circle.component.mjs +2 -2
- package/esm2022/lib/components/po-stepper/po-stepper-item.interface.mjs +1 -1
- package/esm2022/lib/components/po-stepper/po-stepper-label/po-stepper-label.component.mjs +2 -2
- package/esm2022/lib/components/po-stepper/po-stepper-step/po-stepper-step.component.mjs +2 -2
- package/esm2022/lib/components/po-stepper/po-stepper.component.mjs +2 -2
- package/esm2022/lib/components/po-stepper/po-stepper.module.mjs +1 -1
- package/esm2022/lib/components/po-table/enums/po-table-column-sort-type.enum.mjs +1 -1
- package/esm2022/lib/components/po-table/enums/po-table-row-template-arrow-direction.enum.mjs +1 -1
- package/esm2022/lib/components/po-table/enums/po-table-spacing.enum.mjs +1 -1
- package/esm2022/lib/components/po-table/index.mjs +1 -1
- package/esm2022/lib/components/po-table/interfaces/po-table-action.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/interfaces/po-table-boolean.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/interfaces/po-table-column-sort.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/interfaces/po-table-column.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/interfaces/po-table-filter.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/interfaces/po-table-filtered-items-params.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/interfaces/po-table-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/interfaces/po-table-response-api.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/po-table-base.component.mjs +3 -3
- package/esm2022/lib/components/po-table/po-table-cell-template/po-table-cell-template.directive.mjs +1 -1
- package/esm2022/lib/components/po-table/po-table-column-frozen/po-table-column-frozen.directive.mjs +1 -1
- package/esm2022/lib/components/po-table/po-table-column-icon/po-table-column-icon.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table-column-icon/po-table-column-icon.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/po-table-column-label/po-table-column-label.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table-column-label/po-table-column-label.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/po-table-column-link/po-table-column-link.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table-column-manager/po-table-column-manager.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table-column-template/po-table-column-template.directive.mjs +1 -1
- package/esm2022/lib/components/po-table/po-table-detail/po-table-detail-column.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/po-table-detail/po-table-detail.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table-detail/po-table-detail.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/po-table-icon/po-table-icon.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table-list-manager/po-table-list-manager.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table-row-template/po-table-row-template.directive.mjs +1 -1
- package/esm2022/lib/components/po-table/po-table-show-subtitle/po-table-show-subtitle.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table-subtitle-circle/po-table-subtitle-circle.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-column.interface.mjs +1 -1
- package/esm2022/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-footer.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table.module.mjs +1 -1
- package/esm2022/lib/components/po-table/services/po-table.service.mjs +1 -1
- package/esm2022/lib/components/po-tabs/index.mjs +1 -1
- package/esm2022/lib/components/po-tabs/po-tab/po-tab-base.component.mjs +1 -1
- package/esm2022/lib/components/po-tabs/po-tab/po-tab.component.mjs +2 -2
- package/esm2022/lib/components/po-tabs/po-tab/po-tab.interface.mjs +1 -1
- package/esm2022/lib/components/po-tabs/po-tab-button/po-tab-button.component.mjs +2 -2
- package/esm2022/lib/components/po-tabs/po-tab-dropdown/po-tab-dropdown.component.mjs +2 -2
- package/esm2022/lib/components/po-tabs/po-tabs-base.component.mjs +1 -1
- package/esm2022/lib/components/po-tabs/po-tabs.component.mjs +2 -2
- package/esm2022/lib/components/po-tabs/po-tabs.module.mjs +1 -1
- package/esm2022/lib/components/po-tag/enums/po-tag-icon.enum.mjs +1 -1
- package/esm2022/lib/components/po-tag/enums/po-tag-orientation.enum.mjs +1 -1
- package/esm2022/lib/components/po-tag/enums/po-tag-type.enum.mjs +1 -1
- package/esm2022/lib/components/po-tag/index.mjs +1 -1
- package/esm2022/lib/components/po-tag/interfaces/po-tag-item.interface.mjs +1 -1
- package/esm2022/lib/components/po-tag/po-tag-base.component.mjs +1 -1
- package/esm2022/lib/components/po-tag/po-tag.component.mjs +2 -2
- package/esm2022/lib/components/po-tag/po-tag.literals.mjs +1 -1
- package/esm2022/lib/components/po-tag/po-tag.module.mjs +1 -1
- package/esm2022/lib/components/po-toolbar/index.mjs +1 -1
- package/esm2022/lib/components/po-toolbar/po-toolbar-action.interface.mjs +1 -1
- package/esm2022/lib/components/po-toolbar/po-toolbar-actions/po-toolbar-actions.component.mjs +2 -2
- package/esm2022/lib/components/po-toolbar/po-toolbar-base.component.mjs +1 -1
- package/esm2022/lib/components/po-toolbar/po-toolbar-notification/po-toolbar-notification.component.mjs +2 -2
- package/esm2022/lib/components/po-toolbar/po-toolbar-profile/po-toolbar-profile.component.mjs +2 -2
- package/esm2022/lib/components/po-toolbar/po-toolbar-profile/po-toolbar-profile.interface.mjs +1 -1
- package/esm2022/lib/components/po-toolbar/po-toolbar.component.mjs +2 -2
- package/esm2022/lib/components/po-toolbar/po-toolbar.module.mjs +1 -1
- package/esm2022/lib/components/po-tree-view/index.mjs +1 -1
- package/esm2022/lib/components/po-tree-view/po-tree-view-base.component.mjs +27 -5
- package/esm2022/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.mjs +2 -2
- package/esm2022/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.interface.mjs +1 -1
- package/esm2022/lib/components/po-tree-view/po-tree-view-item-header/po-tree-view-item-header.component.mjs +2 -2
- package/esm2022/lib/components/po-tree-view/po-tree-view.component.mjs +8 -3
- package/esm2022/lib/components/po-tree-view/po-tree-view.module.mjs +1 -1
- package/esm2022/lib/components/po-tree-view/services/po-tree-view.service.mjs +1 -1
- package/esm2022/lib/components/po-widget/index.mjs +1 -1
- package/esm2022/lib/components/po-widget/po-widget-base.component.mjs +1 -1
- package/esm2022/lib/components/po-widget/po-widget.component.mjs +2 -2
- package/esm2022/lib/components/po-widget/po-widget.module.mjs +1 -1
- package/esm2022/lib/decorators/index.mjs +1 -1
- package/esm2022/lib/decorators/input-boolean/input-boolean.decorator.mjs +1 -1
- package/esm2022/lib/decorators/input-required/input-required.decorator.mjs +1 -1
- package/esm2022/lib/decorators/property-decorator.interface.mjs +1 -1
- package/esm2022/lib/decorators/utils-decorators.mjs +1 -1
- package/esm2022/lib/directives/directives.module.mjs +1 -1
- package/esm2022/lib/directives/index.mjs +1 -1
- package/esm2022/lib/directives/po-tooltip/index.mjs +1 -1
- package/esm2022/lib/directives/po-tooltip/po-tooltip-base.directive.mjs +1 -1
- package/esm2022/lib/directives/po-tooltip/po-tooltip-control-position.service.mjs +1 -1
- package/esm2022/lib/directives/po-tooltip/po-tooltip.directive.mjs +1 -1
- package/esm2022/lib/directives/po-tooltip/po-tooltip.module.mjs +1 -1
- package/esm2022/lib/enums/po-color-palette.enum.mjs +1 -1
- package/esm2022/lib/enums/po-key-code.enum.mjs +1 -1
- package/esm2022/lib/guards/guards.module.mjs +1 -1
- package/esm2022/lib/guards/index.mjs +1 -1
- package/esm2022/lib/index.mjs +1 -1
- package/esm2022/lib/interceptors/index.mjs +1 -1
- package/esm2022/lib/interceptors/interceptors.module.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-interceptor/index.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail-literals.interface.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.component.mjs +2 -2
- package/esm2022/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.interface.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-interceptor/po-http-interceptor-literals.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-interceptor/po-http-interceptor.module.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-interceptor/po-http-interceptor.service.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-request/index.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-request/po-http-request-control-service.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-request/po-http-request-interceptor.service.mjs +1 -1
- package/esm2022/lib/interceptors/po-http-request/po-http-request.module.mjs +1 -1
- package/esm2022/lib/interfaces/index.mjs +1 -1
- package/esm2022/lib/interfaces/po-http/po-response-api.interface.mjs +1 -1
- package/esm2022/lib/pipes/index.mjs +1 -1
- package/esm2022/lib/pipes/pipes.module.mjs +1 -1
- package/esm2022/lib/pipes/po-time/index.mjs +1 -1
- package/esm2022/lib/pipes/po-time/po-time.module.mjs +1 -1
- package/esm2022/lib/pipes/po-time/po-time.pipe.mjs +1 -1
- package/esm2022/lib/po.module.mjs +1 -1
- package/esm2022/lib/services/index.mjs +1 -1
- package/esm2022/lib/services/po-active-overlay/index.mjs +1 -1
- package/esm2022/lib/services/po-active-overlay/po-active-overlay.module.mjs +1 -1
- package/esm2022/lib/services/po-active-overlay/po-active-overlay.service.mjs +1 -1
- package/esm2022/lib/services/po-color/po-color.service.mjs +1 -1
- package/esm2022/lib/services/po-color/po-colors.constant.mjs +1 -1
- package/esm2022/lib/services/po-color-palette/index.mjs +1 -1
- package/esm2022/lib/services/po-color-palette/po-color-palette.module.mjs +1 -1
- package/esm2022/lib/services/po-color-palette/po-color-palette.service.mjs +1 -1
- package/esm2022/lib/services/po-component-injector/index.mjs +1 -1
- package/esm2022/lib/services/po-component-injector/po-component-injector.module.mjs +1 -1
- package/esm2022/lib/services/po-component-injector/po-component-injector.service.mjs +1 -1
- package/esm2022/lib/services/po-control-position/index.mjs +1 -1
- package/esm2022/lib/services/po-control-position/po-control-position.constants.mjs +1 -1
- package/esm2022/lib/services/po-control-position/po-control-position.module.mjs +1 -1
- package/esm2022/lib/services/po-control-position/po-control-position.service.mjs +1 -1
- package/esm2022/lib/services/po-date/index.mjs +1 -1
- package/esm2022/lib/services/po-date/po-date.module.mjs +1 -1
- package/esm2022/lib/services/po-date/po-date.service.mjs +1 -1
- package/esm2022/lib/services/po-dialog/index.mjs +1 -1
- package/esm2022/lib/services/po-dialog/interfaces/po-dialog-alert-literals.interface.mjs +1 -1
- package/esm2022/lib/services/po-dialog/interfaces/po-dialog-confirm-literals.interface.mjs +1 -1
- package/esm2022/lib/services/po-dialog/interfaces/po-dialog.interface.mjs +1 -1
- package/esm2022/lib/services/po-dialog/po-dialog-base.service.mjs +1 -1
- package/esm2022/lib/services/po-dialog/po-dialog.component.mjs +2 -2
- package/esm2022/lib/services/po-dialog/po-dialog.enum.mjs +1 -1
- package/esm2022/lib/services/po-dialog/po-dialog.module.mjs +1 -1
- package/esm2022/lib/services/po-dialog/po-dialog.service.mjs +1 -1
- package/esm2022/lib/services/po-i18n/index.mjs +1 -1
- package/esm2022/lib/services/po-i18n/interfaces/po-i18n-config-default.interface.mjs +1 -1
- package/esm2022/lib/services/po-i18n/interfaces/po-i18n-config.interface.mjs +1 -1
- package/esm2022/lib/services/po-i18n/interfaces/po-i18n-literals.interface.mjs +1 -1
- package/esm2022/lib/services/po-i18n/po-i18n-base.pipe.mjs +1 -1
- package/esm2022/lib/services/po-i18n/po-i18n-base.service.mjs +1 -1
- package/esm2022/lib/services/po-i18n/po-i18n-config-injection-token.mjs +1 -1
- package/esm2022/lib/services/po-i18n/po-i18n.module.mjs +1 -1
- package/esm2022/lib/services/po-i18n/po-i18n.pipe.mjs +1 -1
- package/esm2022/lib/services/po-i18n/po-i18n.service.mjs +1 -1
- package/esm2022/lib/services/po-language/index.mjs +1 -1
- package/esm2022/lib/services/po-language/po-language.constant.mjs +1 -1
- package/esm2022/lib/services/po-language/po-language.interface.mjs +1 -1
- package/esm2022/lib/services/po-language/po-language.module.mjs +1 -1
- package/esm2022/lib/services/po-language/po-language.service.mjs +1 -1
- package/esm2022/lib/services/po-notification/index.mjs +1 -1
- package/esm2022/lib/services/po-notification/po-notification-base.service.mjs +1 -1
- package/esm2022/lib/services/po-notification/po-notification.interface.mjs +1 -1
- package/esm2022/lib/services/po-notification/po-notification.module.mjs +1 -1
- package/esm2022/lib/services/po-notification/po-notification.service.mjs +1 -1
- package/esm2022/lib/services/po-notification/po-toaster/po-toaster-base.component.mjs +1 -1
- package/esm2022/lib/services/po-notification/po-toaster/po-toaster-orientation.enum.mjs +1 -1
- package/esm2022/lib/services/po-notification/po-toaster/po-toaster-type.enum.mjs +1 -1
- package/esm2022/lib/services/po-notification/po-toaster/po-toaster.component.mjs +2 -2
- package/esm2022/lib/services/po-notification/po-toaster/po-toaster.interface.mjs +1 -1
- package/esm2022/lib/services/po-notification/po-toaster/po-toaster.literals.mjs +1 -1
- package/esm2022/lib/services/services.module.mjs +1 -1
- package/esm2022/lib/utils/util.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/po-ui-ng-components.mjs +246 -206
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-field/po-field.module.d.ts +25 -24
- package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +30 -5
- package/lib/components/po-tree-view/po-tree-view-base.component.d.ts +16 -1
- package/lib/components/po-tree-view/po-tree-view.component.d.ts +3 -2
- package/package.json +4 -4
- package/po-ui-ng-components-16.1.0.tgz +0 -0
- package/schematics/README.md +74 -74
- package/schematics/collection.json +40 -40
- package/schematics/migrations.json +45 -45
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/schema.json +23 -23
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +3 -3
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +18 -18
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-default/schema.json +67 -67
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +8 -8
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +26 -26
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-detail/schema.json +67 -67
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +8 -8
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +26 -26
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-edit/schema.json +67 -67
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +28 -28
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +35 -35
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +33 -33
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-list/schema.json +78 -78
- package/schematics/ng-generate/sidemenu/files/app.component.html.template +9 -9
- package/schematics/ng-generate/sidemenu/files/app.component.spec.ts.template +30 -30
- package/schematics/ng-generate/sidemenu/files/app.component.ts.template +20 -20
- package/schematics/ng-generate/sidemenu/schema.json +32 -32
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-16.0.0.tgz +0 -0
|
@@ -460,8 +460,8 @@ export class PoTableBaseComponent {
|
|
|
460
460
|
else if (!this.hasColumns) {
|
|
461
461
|
this.columns = this.getDefaultColumns(items[0]);
|
|
462
462
|
}
|
|
463
|
-
this.filteredItems = [...this.items];
|
|
464
|
-
// timeout
|
|
463
|
+
this.filteredItems = this.height ? [...this.items] : this.items;
|
|
464
|
+
// timeout necessário para os itens serem refletidos na tabela
|
|
465
465
|
setTimeout(() => this.checkInfiniteScroll());
|
|
466
466
|
}
|
|
467
467
|
get items() {
|
|
@@ -1256,4 +1256,4 @@ export class PoTableBaseComponent {
|
|
|
1256
1256
|
type: Input,
|
|
1257
1257
|
args: ['p-draggable']
|
|
1258
1258
|
}] }); })();
|
|
1259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tdGFibGUvcG8tdGFibGUtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUF3QixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSTVHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFXckUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsUUFBUSxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxFQUFFLEVBQW1CO1FBQ25CLFNBQVMsRUFBRSx5QkFBeUI7UUFDcEMsTUFBTSxFQUFFLGVBQWU7UUFDdkIsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLGFBQWEsRUFBRSxnQkFBZ0I7UUFDL0IsZUFBZSxFQUFFLG1CQUFtQjtRQUNwQyxXQUFXLEVBQUUsU0FBUztRQUN0QixZQUFZLEVBQUUsZ0JBQWdCO1FBQzlCLG1CQUFtQixFQUFFLHVCQUF1QjtRQUM1QyxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDckMsY0FBYyxFQUFFLGlCQUFpQjtRQUNqQyxVQUFVLEVBQUUseUNBQXlDO1FBQ3JELE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLGdCQUFnQixFQUFFLDRCQUE0QjtRQUM5QyxjQUFjLEVBQUUsc0RBQXNEO0tBQ3ZFO0lBQ0QsRUFBRSxFQUFtQjtRQUNuQixTQUFTLEVBQUUsdUJBQXVCO1FBQ2xDLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsTUFBTSxFQUFFLDhCQUE4QjtRQUN0QyxPQUFPLEVBQUUseUJBQXlCO1FBQ2xDLGFBQWEsRUFBRSx5QkFBeUI7UUFDeEMsZUFBZSxFQUFFLHVCQUF1QjtRQUN4QyxXQUFXLEVBQUUsZ0JBQWdCO1FBQzdCLFlBQVksRUFBRSx1QkFBdUI7UUFDckMsbUJBQW1CLEVBQUUsd0JBQXdCO1FBQzdDLGdCQUFnQixFQUFFLG9CQUFvQjtRQUN0QyxjQUFjLEVBQUUsb0JBQW9CO1FBQ3BDLFVBQVUsRUFBRSwwQ0FBMEM7UUFDdEQsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsZ0JBQWdCLEVBQUUsZ0NBQWdDO1FBQ2xELGNBQWMsRUFBRSwyREFBMkQ7S0FDNUU7SUFDRCxFQUFFLEVBQW1CO1FBQ25CLFNBQVMsRUFBRSw4QkFBOEI7UUFDekMsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxlQUFlLEVBQUUsd0JBQXdCO1FBQ3pDLE1BQU0sRUFBRSx5QkFBeUI7UUFDakMsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixhQUFhLEVBQUUsb0JBQW9CO1FBQ25DLFdBQVcsRUFBRSxZQUFZO1FBQ3pCLFlBQVksRUFBRSwwQkFBMEI7UUFDeEMsbUJBQW1CLEVBQUUsc0JBQXNCO1FBQzNDLGdCQUFnQixFQUFFLGtCQUFrQjtRQUNwQyxjQUFjLEVBQUUsd0JBQXdCO1FBQ3hDLFVBQVUsRUFBRSxxQ0FBcUM7UUFDakQsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsZ0JBQWdCLEVBQUUsNkJBQTZCO1FBQy9DLGNBQWMsRUFBRSx5REFBeUQ7S0FDMUU7SUFDRCxFQUFFLEVBQW1CO1FBQ25CLFNBQVMsRUFBRSx5QkFBeUI7UUFDcEMsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsYUFBYSxFQUFFLG9CQUFvQjtRQUNuQyxlQUFlLEVBQUUsc0JBQXNCO1FBQ3ZDLFdBQVcsRUFBRSxVQUFVO1FBQ3ZCLFlBQVksRUFBRSxVQUFVO1FBQ3hCLG1CQUFtQixFQUFFLDJCQUEyQjtRQUNoRCxnQkFBZ0IsRUFBRSxrQkFBa0I7UUFDcEMsY0FBYyxFQUFFLGtCQUFrQjtRQUNsQyxVQUFVLEVBQUUsK0NBQStDO1FBQzNELE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLGdCQUFnQixFQUFFLDBCQUEwQjtRQUM1QyxjQUFjLEVBQUUsMERBQTBEO0tBQzNFO0NBQ0YsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBRUgsTUFBTSxPQUFnQixvQkFBb0I7SUFvVzlCO0lBRUE7SUFyV1Y7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ29FLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUV6Rzs7Ozs7Ozs7T0FRRztJQUNzRSxrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFDN0c7Ozs7Ozs7O09BUUc7SUFDb0UsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBRXpHOzs7Ozs7OztPQVFHO0lBQ0gsSUFBMEMsc0JBQXNCLENBQUMsSUFBYTtRQUM1RSxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN2RDtRQUNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNtRSxlQUFlLEdBQVksS0FBSyxDQUFDO0lBRXZHOzs7Ozs7OztPQVFHO0lBQytELFlBQVksR0FBWSxLQUFLLENBQUM7SUFFaEc7Ozs7Ozs7O09BUUc7SUFDbUUsZUFBZSxHQUFZLEtBQUssQ0FBQztJQUN2Rzs7Ozs7Ozs7O09BU0c7SUFDc0QsSUFBSSxHQUFZLEtBQUssQ0FBQztJQUUvRTs7Ozs7O09BTUc7SUFDb0UsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBRXpHOzs7Ozs7O09BT0c7SUFDeUQsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUVyRjs7Ozs7Ozs7T0FRRztJQUNpRSxhQUFhLEdBQVksS0FBSyxDQUFDO0lBRW5HOzs7Ozs7T0FNRztJQUMrRCxZQUFZLEdBQVksS0FBSyxDQUFDO0lBRWhHOzs7Ozs7OztPQVFHO0lBQ3dFLG9CQUFvQixHQUFZLElBQUksQ0FBQztJQUVoSDs7Ozs7Ozs7T0FRRztJQUMrRCxXQUFXLEdBQVksS0FBSyxDQUFDO0lBRS9GOzs7Ozs7Ozs7O09BVUc7SUFDcUIsVUFBVSxDQUFVO0lBRTVDOzs7Ozs7Ozs7OztPQVdHO0lBQ3FCLFVBQVUsR0FBaUIsWUFBWSxDQUFDLFVBQVUsQ0FBQztJQUUzRTs7Ozs7T0FLRztJQUN1QixXQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFbkY7Ozs7O09BS0c7SUFDeUIsYUFBYSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRXZGOzs7Ozs7OztPQVFHO0lBQ29CLFNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUU5RTs7Ozs7Ozs7T0FRRztJQUNtQixRQUFRLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFNUU7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDdUIsV0FBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRW5GOzs7Ozs7T0FNRztJQUNtQixRQUFRLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFNUU7Ozs7Ozs7Ozs7OztPQVlHO0lBQ29CLFFBQVEsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFFekc7Ozs7Ozs7Ozs7O09BV0c7SUFDa0IsTUFBTSxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUVyRzs7Ozs7T0FLRztJQUNxQixVQUFVLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFaEY7Ozs7Ozs7O09BUUc7SUFDaUMsb0JBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFFN0Y7Ozs7Ozs7O09BUUc7SUFDaUMsb0JBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFFN0YscUJBQXFCLENBQVU7SUFDL0Isa0JBQWtCLENBQWdCO0lBQ2xDLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsV0FBVyxHQUF5QixFQUFFLENBQUM7SUFDdkMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixZQUFZLEdBQUcsRUFBRSxRQUFRLEVBQWlCLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEUsZUFBZSxHQUF5QixFQUFFLENBQUM7SUFDM0MsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDZCxVQUFVLEdBQWEsS0FBSyxDQUFDO0lBQzdCLGNBQWMsQ0FBdUI7SUFDckMsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2xDLGFBQWEsR0FBZSxFQUFFLENBQUM7SUFDL0IsWUFBWSxDQUFLO0lBQ2pCLGFBQWEsR0FBZSxFQUFFLENBQUM7SUFDdkIscUJBQXFCLEdBQVksS0FBSyxDQUFDO0lBQ3ZDLFFBQVEsR0FBeUIsb0JBQW9CLENBQUMsTUFBTSxDQUFDO0lBQzdELGdCQUFnQixDQUFnQjtJQUNoQyxRQUFRLEdBQTBCLEVBQUUsQ0FBQztJQUNyQyxRQUFRLEdBQXlCLEVBQUUsQ0FBQztJQUNwQyxVQUFVLENBQVU7SUFDcEIsWUFBWSxHQUFXLHFCQUFxQixDQUFDO0lBQzdDLE9BQU8sQ0FBVTtJQUNqQixXQUFXLEdBQWEsS0FBSyxDQUFDO0lBQzlCLE1BQU0sQ0FBdUI7SUFDN0IsU0FBUyxDQUFrQjtJQUMzQixRQUFRLEdBQWEsS0FBSyxDQUFDO0lBQzNCLFdBQVcsQ0FBVztJQUN0QixRQUFRLEdBQVcsZUFBZSxDQUFDO0lBQ25DLFdBQVcsQ0FBUztJQUNwQixpQkFBaUIsQ0FBUztJQUMxQiwwQkFBMEIsQ0FBZTtJQUN6QyxTQUFTLENBQW9CO0lBQzdCLHVCQUF1QixHQUFZLEdBQUcsQ0FBQztJQUN2QyxlQUFlLEdBQWEsS0FBSyxDQUFDO0lBQ2xDLFVBQVUsR0FBYSxLQUFLLENBQUM7SUFDN0IsdUJBQXVCLEdBQWEsS0FBSyxDQUFDO0lBRWxELFlBQ1UsTUFBcUIsRUFDN0IsZUFBa0MsRUFDMUIsY0FBOEI7UUFGOUIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUVyQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFzQixLQUFLLENBQUMsS0FBaUI7UUFDM0MsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUN0RDthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNqRDtRQUVELHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUN4QjthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLDhEQUE4RDtRQUM5RCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxJQUF3QixPQUFPLENBQUMsT0FBNkI7UUFDM0QsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQztRQUMvRSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1NBQy9CO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBRTlCLElBQUkscUJBQXFCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDeEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUNsQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztTQUNqQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2RDtRQUVELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsSUFBMEIsU0FBUyxDQUFDLEtBQWE7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQWlDLGNBQWMsQ0FBQyxLQUFhO1FBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztJQUN6RixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxJQUF1QixNQUFNLENBQUMsTUFBYztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQTRCLFVBQVUsQ0FBQyxVQUFtQjtRQUN4RCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BZ0RHO0lBQ0gsSUFBeUIsUUFBUSxDQUFDLEtBQXNCO1FBQ3RELElBQUksS0FBSyxZQUFZLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxFQUFFO1lBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUc7Z0JBQ2YsR0FBRyxzQkFBc0IsQ0FBQyxlQUFlLENBQUM7Z0JBQzFDLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDeEMsR0FBRyxLQUFLO2FBQ1QsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQXdCLE9BQU8sQ0FBQyxPQUFnQjtRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxJQUF3QixPQUFPLENBQUMsT0FBNkI7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSCxJQUEyQixVQUFVLENBQUMsS0FBYztRQUNsRCxJQUFJLENBQUMsV0FBVyxHQUFRLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsSUFBZ0MsY0FBYyxDQUFDLEtBQWM7UUFDM0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ0Q7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQXlDLHNCQUFzQixDQUFDLEtBQWE7UUFDM0UsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssR0FBRyxHQUFHLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXlCRztJQUNILElBQTRCLFVBQVUsQ0FBQyxPQUFlO1FBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILElBQStCLGdCQUFnQixDQUFDLE9BQWU7UUFDN0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILElBQXdCLE9BQU8sQ0FBQyxLQUEyQjtRQUN6RCxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztTQUM3QztJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsSUFBaUMsZUFBZSxDQUFDLE1BQXFCO1FBQ3BFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE1BQU0sVUFBVSxHQUFHO1lBQ2pCLFFBQVE7WUFDUixRQUFRO1lBQ1IsU0FBUztZQUNULE1BQU07WUFDTixNQUFNO1lBQ04sVUFBVTtZQUNWLFVBQVU7WUFDVixVQUFVO1lBQ1YsTUFBTTtZQUNOLE9BQU87WUFDUCxNQUFNO1lBQ04sY0FBYztZQUNkLGdCQUFnQjtTQUNqQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxDQUNMLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FDaEgsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNoQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQzthQUMxQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO0lBQzFHLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQTBCLFNBQVMsQ0FBQyxTQUFrQjtRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQywwQkFBMEIsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBRWpDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFRO1FBQ2hCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBRS9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDdEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFRO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU07UUFDdkIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVE7UUFDbkIsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBUTtRQUN0QixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFFekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQzthQUMxQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLGdCQUFnQixDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBcUI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7WUFDdkUsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFMUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVsSCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFFNUIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDekUsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsV0FBZ0Q7UUFDL0QsTUFBTSxjQUFjLEdBQStCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELDBCQUEwQixDQUFDLElBQXdCO1FBQ2pELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQTJDO1FBQ3hELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztZQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxJQUFTO1FBQ25DLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsT0FBTyxJQUFJO2FBQ1IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDO2FBQzVDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUscUJBQXFCLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRVMsYUFBYSxDQUFDLGFBQTJCLEVBQUUsWUFBcUI7UUFDeEUsTUFBTSxVQUFVLEdBQUcsT0FBTyxhQUFhLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbEYsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFFbkUsR0FBRyxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7SUFDakMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQW9DO1FBQzNELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QjtTQUNGO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLElBQWdCLEVBQUUsR0FBRztRQUNoRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNuQzthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFRO1FBQy9CLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU8sbUJBQW1CLENBQUMsU0FBa0IsRUFBRSxJQUFTO1FBQ3ZELFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFRO1FBQy9CLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU8sY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFakMsT0FBTyxRQUFRLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQzdGLENBQUM7SUFFRCw0REFBNEQ7SUFDcEQscUJBQXFCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxnREFBZ0Q7SUFDeEMsY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZ0NBQWdDO0lBQ3hCLGtCQUFrQjtRQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWlCO1FBQ3ZDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDO1FBQ3JGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUU1QyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxFQUFFO1lBQzFDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBRWhELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxNQUFxQixFQUFFLFNBQWtCO1FBQ3pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0QsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQVUsRUFBRSxDQUM3QyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUM3RSxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBZ0IsRUFBRSxHQUFHO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO2dCQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDeEcsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksZUFBZSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3RHLElBQUksQ0FBQyxPQUFPLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDckgsQ0FBQztJQUVPLFVBQVUsQ0FBQyxPQUFlLEVBQUUsTUFBd0I7UUFDMUQsSUFBSSxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsV0FBZ0Q7UUFDeEUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRTNDLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUV6RCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRTtZQUN4QixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDM0QsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNuQztTQUNGO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxPQUEwQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7UUFDakUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFOUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxLQUFLLHFCQUFxQixDQUFDLFVBQVUsRUFBRTtZQUM3QyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzlCO1FBRUQsT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsR0FBZTtRQUN6QyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMvQixHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUNuQjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhFQTduQ21CLG9CQUFvQjs2REFBcEIsb0JBQW9CLDJFQWlCVyxnQkFBZ0Isd0VBV2QsZ0JBQWdCLGtFQVVsQixnQkFBZ0Isa0pBK0JqQixnQkFBZ0IscURBV3BCLGdCQUFnQiwrREFXWixnQkFBZ0IsNEJBVzdCLGdCQUFnQixrRUFTRixnQkFBZ0IscUNBVTNCLGdCQUFnQix5REFXUixnQkFBZ0IscURBU2xCLGdCQUFnQiw4RUFXUCxnQkFBZ0IsbURBV3pCLGdCQUFnQjs7dUZBbksxQyxvQkFBb0I7Y0FEekMsU0FBUzs2SEFrQitELGdCQUFnQjtrQkFBdEYsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFXSSxrQkFBa0I7a0JBQTFGLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBVUEsZ0JBQWdCO2tCQUF0RixLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVczQixzQkFBc0I7a0JBQS9ELEtBQUs7bUJBQUMsNkJBQTZCO1lBb0JrQyxlQUFlO2tCQUFwRixLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVdGLFlBQVk7a0JBQTdFLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBV00sZUFBZTtrQkFBcEYsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFXWCxJQUFJO2tCQUE1RCxLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFTZ0IsZ0JBQWdCO2tCQUF0RixLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVVULE9BQU87a0JBQWxFLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVdVLGFBQWE7a0JBQWhGLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBU0EsWUFBWTtrQkFBN0UsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFXVyxvQkFBb0I7a0JBQTlGLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBV1AsV0FBVztrQkFBNUUsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFheEMsVUFBVTtrQkFBakMsS0FBSzttQkFBQyxlQUFlO1lBY0UsVUFBVTtrQkFBakMsS0FBSzttQkFBQyxlQUFlO1lBUUksV0FBVztrQkFBcEMsTUFBTTttQkFBQyxnQkFBZ0I7WUFRSSxhQUFhO2tCQUF4QyxNQUFNO21CQUFDLGtCQUFrQjtZQVdILFNBQVM7a0JBQS9CLE1BQU07bUJBQUMsYUFBYTtZQVdDLFFBQVE7a0JBQTdCLE1BQU07bUJBQUMsWUFBWTtZQW1CTSxXQUFXO2tCQUFwQyxNQUFNO21CQUFDLGdCQUFnQjtZQVNGLFFBQVE7a0JBQTdCLE1BQU07bUJBQUMsWUFBWTtZQWVHLFFBQVE7a0JBQTlCLE1BQU07bUJBQUMsYUFBYTtZQWNBLE1BQU07a0JBQTFCLE1BQU07bUJBQUMsV0FBVztZQVFLLFVBQVU7a0JBQWpDLE1BQU07bUJBQUMsY0FBYztZQVdjLG9CQUFvQjtrQkFBdkQsTUFBTTttQkFBQywwQkFBMEI7WUFXRSxvQkFBb0I7a0JBQXZELE1BQU07bUJBQUMsMEJBQTBCO1lBc0RaLEtBQUs7a0JBQTFCLEtBQUs7bUJBQUMsU0FBUztZQWdDUSxPQUFPO2tCQUE5QixLQUFLO21CQUFDLFdBQVc7WUFxQ1EsU0FBUztrQkFBbEMsS0FBSzttQkFBQyxhQUFhO1lBbUJhLGNBQWM7a0JBQTlDLEtBQUs7bUJBQUMsb0JBQW9CO1lBaUJKLE1BQU07a0JBQTVCLEtBQUs7bUJBQUMsVUFBVTtZQWlCVyxVQUFVO2tCQUFyQyxLQUFLO21CQUFDLGVBQWU7WUF5REcsUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZO1lBd0JLLE9BQU87a0JBQTlCLEtBQUs7bUJBQUMsV0FBVztZQXNCTSxPQUFPO2tCQUE5QixLQUFLO21CQUFDLFdBQVc7WUF1QlMsVUFBVTtrQkFBcEMsS0FBSzttQkFBQyxjQUFjO1lBcUJXLGNBQWM7a0JBQTdDLEtBQUs7bUJBQUMsbUJBQW1CO1lBa0JlLHNCQUFzQjtrQkFBOUQsS0FBSzttQkFBQyw0QkFBNEI7WUFrQ1AsVUFBVTtrQkFBckMsS0FBSzttQkFBQyxlQUFlO1lBeUJTLGdCQUFnQjtrQkFBOUMsS0FBSzttQkFBQyxrQkFBa0I7WUFzQkQsT0FBTztrQkFBOUIsS0FBSzttQkFBQyxXQUFXO1lBcUJlLGVBQWU7a0JBQS9DLEtBQUs7bUJBQUMsb0JBQW9CO1lBZ0VELFNBQVM7a0JBQWxDLEtBQUs7bUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFBvRGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1kYXRlL3BvLWRhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IHBvTG9jYWxlRGVmYXVsdCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLmNvbnN0YW50JztcclxuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyLCBjb252ZXJ0VG9Cb29sZWFuLCBpc1R5cGVvZiwgc29ydFZhbHVlcyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xyXG5cclxuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFBvRmlsdGVyTW9kZSB9IGZyb20gJy4uL3BvLXNlYXJjaC9wby1zZWFyY2gtZmlsdGVyLW1vZGUuZW51bSc7XHJcbmltcG9ydCB7IFBvVGFibGVDb2x1bW5Tb3J0VHlwZSB9IGZyb20gJy4vZW51bXMvcG8tdGFibGUtY29sdW1uLXNvcnQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgUG9UYWJsZUNvbHVtblNwYWNpbmcgfSBmcm9tICcuL2VudW1zL3BvLXRhYmxlLXNwYWNpbmcuZW51bSc7XHJcbmltcG9ydCB7IFBvVGFibGVBY3Rpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtYWN0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvVGFibGVDb2x1bW5Tb3J0IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRhYmxlLWNvbHVtbi1zb3J0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvVGFibGVDb2x1bW4gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtY29sdW1uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvVGFibGVGaWx0ZXJlZEl0ZW1zUGFyYW1zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRhYmxlLWZpbHRlcmVkLWl0ZW1zLXBhcmFtcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBQb1RhYmxlTGl0ZXJhbHMgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtbGl0ZXJhbHMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUG9UYWJsZVJlc3BvbnNlQXBpIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRhYmxlLXJlc3BvbnNlLWFwaS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBQb1RhYmxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tdGFibGUuc2VydmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVBhcmFtc1R5cGUgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xyXG5cclxuZXhwb3J0IGNvbnN0IHBvVGFibGVDb250YWluZXIgPSBbJ2JvcmRlcicsICdzaGFkb3cnXTtcclxuZXhwb3J0IGNvbnN0IHBvVGFibGVDb250YWluZXJEZWZhdWx0ID0gJ2JvcmRlcic7XHJcbmV4cG9ydCBjb25zdCBwb1RhYmxlUGFyYW1EZWxldGVBcGkgPSAnaWQnO1xyXG5cclxuZXhwb3J0IGNvbnN0IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQgPSB7XHJcbiAgZW46IDxQb1RhYmxlTGl0ZXJhbHM+e1xyXG4gICAgbm9Db2x1bW5zOiAnQ29sdW1ucyBhcmUgbm90IGRlZmluZWQnLFxyXG4gICAgbm9EYXRhOiAnTm8gZGF0YSBmb3VuZCcsXHJcbiAgICBub0l0ZW06ICdObyBzZWxlY3RlZCBpdGVtJyxcclxuICAgIG9uZUl0ZW06ICcxIHNlbGVjdGVkIGl0ZW0nLFxyXG4gICAgbXVsdGlwbGVJdGVtczogJ3NlbGVjdGVkIGl0ZW1zJyxcclxuICAgIG5vVmlzaWJsZUNvbHVtbjogJ05vIHZpc2libGUgY29sdW1uJyxcclxuICAgIGxvYWRpbmdEYXRhOiAnTG9hZGluZycsXHJcbiAgICBsb2FkTW9yZURhdGE6ICdMb2FkIG1vcmUgZGF0YScsXHJcbiAgICBzZWVDb21wbGV0ZVN1YnRpdGxlOiAnU2VlIGNvbXBsZXRlIHN1YnRpdGxlJyxcclxuICAgIGNvbXBsZXRlU3VidGl0bGU6ICdDb21wbGV0ZSBzdWJ0aXRsZScsXHJcbiAgICBjb2x1bW5zTWFuYWdlcjogJ0NvbHVtbnMgbWFuYWdlcicsXHJcbiAgICBib2R5RGVsZXRlOiAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/JyxcclxuICAgIGNhbmNlbDogJ0NhbmNlbCcsXHJcbiAgICBkZWxldGU6ICdEZWxldGUnLFxyXG4gICAgZGVsZXRlU3VjY2Vzc2Z1bDogJ0l0ZW1zIHJlbW92ZWQgc3VjY2Vzc2Z1bGx5JyxcclxuICAgIGRlbGV0ZUFwaUVycm9yOiAnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZCwgcGxlYXNlIHRyeSBhZ2FpbiBsYXRlcidcclxuICB9LFxyXG4gIGVzOiA8UG9UYWJsZUxpdGVyYWxzPntcclxuICAgIG5vQ29sdW1uczogJ0NvbHVtbmFzIG5vIGRlZmluaWRhcycsXHJcbiAgICBub0RhdGE6ICdEYXRvcyBubyBlbmNvbnRyYWRvcycsXHJcbiAgICBub0l0ZW06ICdOaW5nw7puIGVsZW1lbnRvIHNlbGVjY2lvbmFkbycsXHJcbiAgICBvbmVJdGVtOiAnMSBlbGVtZW50byBzZWxlY2Npb25hZG8nLFxyXG4gICAgbXVsdGlwbGVJdGVtczogJ2VsZW1lbnRvcyBzZWxlY2Npb25hZG9zJyxcclxuICAgIG5vVmlzaWJsZUNvbHVtbjogJ1NpbiBjb2x1bW5hcyB2aXNpYmxlcycsXHJcbiAgICBsb2FkaW5nRGF0YTogJ0NhcmdhbmRvIGRhdG9zJyxcclxuICAgIGxvYWRNb3JlRGF0YTogJ0NhcmdhciBtw6FzIHJlc3VsdGFkb3MnLFxyXG4gICAgc2VlQ29tcGxldGVTdWJ0aXRsZTogJ1ZlciBzdWJ0aXR1bG8gY29tcGxldG8nLFxyXG4gICAgY29tcGxldGVTdWJ0aXRsZTogJ1N1YnRpdHVsbyBjb21wbGV0bycsXHJcbiAgICBjb2x1bW5zTWFuYWdlcjogJ0dlcmVudGUgZGUgY29sdW1uYScsXHJcbiAgICBib2R5RGVsZXRlOiAnwr9SZWFsbWVudGUgZGVzZWEgZWxpbWluYXIgZXN0ZSBlbGVtZW50bz8nLFxyXG4gICAgY2FuY2VsOiAnQ2FuY2VsYXInLFxyXG4gICAgZGVsZXRlOiAnQm9ycmFyJyxcclxuICAgIGRlbGV0ZVN1Y2Nlc3NmdWw6ICdFbGVtZW50b3MgZWxpbWluYWRvcyBjb24gw6l4aXRvJyxcclxuICAgIGRlbGV0ZUFwaUVycm9yOiAnT2N1cnJpw7MgdW4gZXJyb3IgaW5lc3BlcmFkbywgaW50w6ludGFsbyBkZSBudWV2byBtw6FzIHRhcmRlJ1xyXG4gIH0sXHJcbiAgcHQ6IDxQb1RhYmxlTGl0ZXJhbHM+e1xyXG4gICAgbm9Db2x1bW5zOiAnTmVuaHVtYSBkZWZpbmnDp8OjbyBkZSBjb2x1bmFzJyxcclxuICAgIG5vRGF0YTogJ05lbmh1bSBkYWRvIGVuY29udHJhZG8nLFxyXG4gICAgbm9WaXNpYmxlQ29sdW1uOiAnTmVuaHVtYSBjb2x1bmEgdmlzw612ZWwnLFxyXG4gICAgbm9JdGVtOiAnTmVuaHVtIGl0ZW0gc2VsZWNpb25hZG8nLFxyXG4gICAgb25lSXRlbTogJzEgaXRlbSBzZWxlY2lvbmFkbycsXHJcbiAgICBtdWx0aXBsZUl0ZW1zOiAnaXRlbnMgc2VsZWNpb25hZG9zJyxcclxuICAgIGxvYWRpbmdEYXRhOiAnQ2FycmVnYW5kbycsXHJcbiAgICBsb2FkTW9yZURhdGE6ICdDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3MnLFxyXG4gICAgc2VlQ29tcGxldGVTdWJ0aXRsZTogJ1ZlciBsZWdlbmRhIGNvbXBsZXRhJyxcclxuICAgIGNvbXBsZXRlU3VidGl0bGU6ICdMZWdlbmRhIGNvbXBsZXRhJyxcclxuICAgIGNvbHVtbnNNYW5hZ2VyOiAnR2VyZW5jaWFkb3IgZGUgY29sdW5hcycsXHJcbiAgICBib2R5RGVsZXRlOiAnRGVzZWphIHJlYWxtZW50ZSBleGNsdWlyIGVzc2UgaXRlbT8nLFxyXG4gICAgY2FuY2VsOiAnQ2FuY2VsYXInLFxyXG4gICAgZGVsZXRlOiAnRXhjbHVpcicsXHJcbiAgICBkZWxldGVTdWNjZXNzZnVsOiAnSXRlbnMgcmVtb3ZpZG9zIGNvbSBzdWNlc3NvJyxcclxuICAgIGRlbGV0ZUFwaUVycm9yOiAnT2NvcnJldSB1bSBlcnJvIGluZXNwZXJhZG8sIHRlbnRlIG5vdmFtZW50ZSBtYWlzIHRhcmRlISdcclxuICB9LFxyXG4gIHJ1OiA8UG9UYWJsZUxpdGVyYWxzPntcclxuICAgIG5vQ29sdW1uczogJ9Cd0LXRgiDQvtC/0YDQtdC00LXQu9C10L3QuNGPINGB0YLQvtC70LHRhtCwJyxcclxuICAgIG5vRGF0YTogJ9CU0LDQvdC90YvQtSDQvdC1INC90LDQudC00LXQvdGLJyxcclxuICAgIG5vSXRlbTogJ9Cd0LXRgiDQstGL0LHRgNCw0L3QvdC+0LPQviDRjdC70LXQvNC10L3RgtCwJyxcclxuICAgIG9uZUl0ZW06ICcxINGN0LvQtdC80LXQvdGCINCy0YvQsdGA0LDQvScsXHJcbiAgICBtdWx0aXBsZUl0ZW1zOiAn0LLRi9Cx0YDQsNC90L3Ri9C1INGN0LvQtdC80LXQvdGC0YsnLFxyXG4gICAgbm9WaXNpYmxlQ29sdW1uOiAn0L3QtdGCINCy0LjQtNC40LzRi9GFINGB0YLQvtC70LHRhtC+0LInLFxyXG4gICAgbG9hZGluZ0RhdGE6ICfQl9Cw0LPRgNGD0LfQutCwJyxcclxuICAgIGxvYWRNb3JlRGF0YTogJ9CX0LDQs9GA0YPQt9C60LAnLFxyXG4gICAgc2VlQ29tcGxldGVTdWJ0aXRsZTogJ9Cf0L7RgdC80L7RgtGA0LXRgtGMINC/0L7Qu9C90YvQuSDRgdGD0LHRgtC40YLRgCcsXHJcbiAgICBjb21wbGV0ZVN1YnRpdGxlOiAn0J/QvtC70L3Ri9C5INC30LDQs9C+0LvQvtCy0L7QuicsXHJcbiAgICBjb2x1bW5zTWFuYWdlcjogJ9C80LXQvdC10LTQttC10YAg0LrQvtC70L7QvdC+0LonLFxyXG4gICAgYm9keURlbGV0ZTogJ9CS0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGN0YLQvtGCINGN0LvQtdC80LXQvdGCPycsXHJcbiAgICBjYW5jZWw6ICfQntGC0LzQtdC90LAnLFxyXG4gICAgZGVsZXRlOiAn0KPQtNCw0LvQuNGC0YwnLFxyXG4gICAgZGVsZXRlU3VjY2Vzc2Z1bDogJ9Ct0LvQtdC80LXQvdGC0Ysg0YPRgdC/0LXRiNC90L4g0YPQtNCw0LvQtdC90YsnLFxyXG4gICAgZGVsZXRlQXBpRXJyb3I6ICfQn9GA0L7QuNC30L7RiNC70LAg0L3QtdC/0YDQtdC00LLQuNC00LXQvdC90LDRjyDQvtGI0LjQsdC60LAsINC/0L7QstGC0L7RgNC40YLQtSDQv9C+0L/Ri9GC0LrRgyDQv9C+0LfQttC1J1xyXG4gIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICpcclxuICogRXN0ZSBjb21wb25lbnRlIGRlIHRhYmVsYSDDqSB1dGlsaXphZG8gcGFyYSBleGliacOnw6NvIGRlIGRhZG9zIGNvbSBkaWZlcmVudGVzIHRpcG9zIGNvbW8gcG9yIGV4ZW1wbG8gdGV4dG9zLCBkYXRhLCBob3JhcyBlIG7Dum1lcm9zIGNvbVxyXG4gKiBmb3JtYXRvIHBlcnNvbmFsaXphZG8uXHJcbiAqXHJcbiAqIFRhbWLDqW0gw6kgcG9zc2l2ZWwgY3JpYXIgdGFiZWxhcyBjb20gb3JkZW5hw6fDo28gZGUgZGFkb3MsIGxpbmhhcyBjb20gZGV0YWxoZXMsIGNvbHVuYSBwYXJhIHNlbGXDp8OjbyBkZSBsaW5oYXMsIGNvbHVuYSBjb20gYcOnw7VlcyBlIHRhbWLDqW1cclxuICogY2FycmVnYW1lbnRvIHBvciBkZW1hbmRhIGF0cmF2w6lzIGRvIGJvdMOjbyAqKkNhcnJlZ2FyIG1haXMgcmVzdWx0YWRvcyoqLlxyXG4gKlxyXG4gKiA+IEFzIGxpbmhhcyBkZSBkZXRhbGhlcyBwb2RlbSB0YW1iw6ltIHNlciBjdXN0b21pemFkYXMgYXRyYXbDqXMgZG8gW2BwLXRhYmxlLXJvdy10ZW1wbGF0ZWBdKC9kb2N1bWVudGF0aW9uL3BvLXRhYmxlLXJvdy10ZW1wbGF0ZSkuXHJcbiAqXHJcbiAqID4gQXMgY29sdW5hcyBwb2RlbSBzZXIgY3VzdG9taXphZGFzIGF0cmF2w6lzIGRvcyB0ZW1wbGF0ZXMgW2BwLXRhYmxlLWNvbHVtbi10ZW1wbGF0ZWBdKC9kb2N1bWVudGF0aW9uL3BvLXRhYmxlLWNvbHVtbi10ZW1wbGF0ZSlcclxuICogZSBbYHAtdGFibGUtY2VsbC10ZW1wbGF0ZWBdKC9kb2N1bWVudGF0aW9uL3BvLXRhYmxlLWNlbGwtdGVtcGxhdGUpLlxyXG4gKlxyXG4gKiBPIGNvbXBvbmVudGUgcGVybWl0ZSBnZXJlbmNpYXIgYSBleGliacOnw6NvIGRhcyBjb2x1bmFzIGRpbmFtaWNhbWVudGUuIEVzdGEgZnVuY2lvbmFsaWRhZGUgcG9kZSBzZXIgYWNlc3NhZGEgYXRyYXbDqXMgZG8gw61jb25lIGRlIGVuZ3JlbmFnZW1cclxuICogbm8gY2FudG8gc3VwZXJpb3IgZGlyZWl0byBkbyBjYWJlw6dhbGhvIGRhIHRhYmVsYS5cclxuICpcclxuICogQ2FzbyBhIGxhcmd1cmEgZGUgdG9kYXMgYXMgY29sdW5hcyBmb3JlbSBkZWZpbmlkYXMgZSBvIHRvdGFsIHVsdHJhcGFzc2FyIG8gdGFtYW5obyB0YWJlbGEsIHNlcsOhIGV4aWJpZG8gdW0gKnNjcm9sbCogbmEgaG9yaXpvbnRhbCBwYXJhIGFcclxuICogY29tcGxldGEgdmlzdWFsaXphw6fDo28gZG9zIGRhZG9zLlxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQb1RhYmxlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBAZGVwcmVjYXRlZCAxNi54LnhcclxuICAgKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiAqKkRlcHJlY2F0ZWQgMTYueC54KiouXHJcbiAgICpcclxuICAgKiA+IFBvciByZWdyYXMgZGUgYWNlc3NpYmlsaWRhZGUgYSBjw6lsdWxhIGRhIHRhYmVsYSBhcHJlc2VudGFyw6EgcmV0aWPDqm5jaWFzIGF1dG9tw6F0aWNhbWVudGVcclxuICAgKiBxdWFuZG8gbsOjbyBob3V2ZXIgZXNwYcOnbyBwYXJhIG8gc2V1IGNvbnTDqXVkbyBlIHBvciBpc3NvIGEgcHJvcHJpZWRhZGUgc2Vyw6EgZGVwcmVjaWFkYS5cclxuICAgKlxyXG4gICAqIFNlIHZlcmRhZGVpcm8sIGhhYmlsaXRhIGEgcXVlYnJhIGRlIHRleHRvIGFvIHRyYW5zYm9yZGEtbG8gZGVudHJvIGRlIHF1YWxxdWVyIGNvbHVuYS5cclxuICAgKiA+IFF1YW5kbyBvY29ycmVyIGEgcXVlYnJhIGRlIHRleHRvLCBhbyBwYXNzYXIgbyBtb3VzZSBubyBjb250ZcO6ZG8gZGEgY8OpbHVsYSxcclxuICAgKiBvIG1lc21vIHNlcsOhIGV4aWJpZG8gYXRyYXbDqXMgZG8gW2Bwby10b29sdGlwYF0oL2RvY3VtZW50YXRpb24vcG8tdG9vbHRpcCkuXHJcbiAgICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdwLWhpZGUtdGV4dC1vdmVyZmxvdycsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBoaWRlVGV4dE92ZXJmbG93OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBQZXJtaXRlIHF1ZSBvIGdlcmVuY2lhZG9yIGRlIGNvbHVuYXMsIHJlc3BvbnPDoXZlbCBwZWxhIGRlZmluacOnw6NvIGRlIHF1YWlzIGNvbHVuYXMgc2Vyw6NvIGV4aWJpZGFzLCBzZWphIGVzY29uZGlkby5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoeyBhbGlhczogJ3AtaGlkZS1jb2x1bW5zLW1hbmFnZXInLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgaGlkZUNvbHVtbnNNYW5hZ2VyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFBlcm1pdGUgcXVlIGFzIGHDp8O1ZXMgZW0gbG90ZSwgcmVzcG9uc8OhdmVsIHBvciBleGNsdWlyIGUgZXhpYmlyIGEgcXVhbnRpZGFkZSBkZSBpdGVucywgc2VqYW0gZXNjb25kaWRhcy5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoeyBhbGlhczogJ3AtaGlkZS1iYXRjaC1hY3Rpb25zJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGhpZGVCYXRjaEFjdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFBlcm1pdGUgcXVlIGFzIGHDp8O1ZXMgcGFyYSBmaXhhciB1bWEgY29sdW5hIGRhIHRhYmVsYSBzZWphbSBlc2NvbmRpZGFzLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1oaWRlLWFjdGlvbi1maXhlZC1jb2x1bW5zJykgc2V0IGhpZGVBY3Rpb25GaXhlZENvbHVtbnMoaGlkZTogYm9vbGVhbikge1xyXG4gICAgaWYgKGhpZGUpIHtcclxuICAgICAgdGhpcy5jb2x1bW5zID0gdGhpcy5yZW1vdmVQcm9wZXJ0eUZpeGVkKHRoaXMuY29sdW1ucyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9oaWRlQWN0aW9uRml4ZWRDb2x1bW5zID0gaGlkZTtcclxuICB9XHJcblxyXG4gIGdldCBoaWRlQWN0aW9uRml4ZWRDb2x1bW5zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hpZGVBY3Rpb25GaXhlZENvbHVtbnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogUGVybWl0ZSBxdWUgbyBjYW1wbyBkZSBwZXNxdWlzYSBzZWphIGVzY29uZGlkby5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoeyBhbGlhczogJ3AtaGlkZS10YWJsZS1zZWFyY2gnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgaGlkZVRhYmxlU2VhcmNoOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBQZXJtaXRlIGZlY2hhciB1bSBkZXRhbGhlIG91IHJvdyB0ZW1wbGF0ZSBhdXRvbWF0aWNhbWVudGUsIGFvIGFicmlyIG91dHJvIGl0ZW0uXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdwLWF1dG8tY29sbGFwc2UnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgYXV0b0NvbGxhcHNlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBQZXJtaXRlIHF1ZSBzZWphIGFkaWNpb25hZG8gbyBlc3RhZG8gZGUgY2FycmVnYW1lbnRvIG5vIGJvdMOjbyBcIkNhcnJlZ2FyIG1haXMgcmVzdWx0YWRvc1wiLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1sb2FkaW5nLXNob3ctbW9yZScsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBsb2FkaW5nU2hvd01vcmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogSGFiaWxpdGEgZW0gdG9kYXMgYXMgY29sdW5hcyBhIG9ww6fDo28gZGUgb3JkZW5hw6fDo28gZGUgZGFkb3MuIENhc28gYSBjb2x1bmEgc2VqYSBkbyB0aXBvICdkYXRhJyBvdSAnZGF0ZVRpbWUnIGFcclxuICAgKiBtZXNtYSBkZXZlIHJlc3BlaXRhciBvcyB0aXBvcyBkZSBlbnRyYWRhIGRlZmluaWRvcyBwYXJhIHF1ZSBzZWphbSBvcmRlbmFkYXMuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdwLXNvcnQnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgc29ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFNlIHZlcmRhZGVpcm8sIHRvcm5hIGhhYmlsaXRhZG8gbyBib3TDo28gXCJDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3NcIi5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoeyBhbGlhczogJ3Atc2hvdy1tb3JlLWRpc2FibGVkJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHNob3dNb3JlRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBIYWJpbGl0YSBvdSBkZXNhYmlsaXRhIG8gZXN0aWxvIGxpc3RyYWRvIGRhIHRhYmVsYSAoYHN0cmlwZWRgKS5cclxuICAgKiA+IFJlY29tZW5kYWRvIHBhcmEgdGFiZWxhcyBjb20gbWFpb3IgbsO6bWVybyBkZSBkYWRvcywgZmFjaWxpdGFuZG8gYSBzdWEgdmlzdWFsaXphw6fDo28gbmEgdGFiZWxhLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1zdHJpcGVkJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHN0cmlwZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBFc2NvbmRlIG8gKmNoZWNrYm94KiBwYXJhIHNlbGXDp8OjbyBkZSB0b2RhcyBhcyBsaW5oYXMuXHJcbiAgICpcclxuICAgKiA+IFNlbXByZSByZWNlYmVyw6EgKnRydWUqIGNhc28gYSBzZWxlw6fDo28gZGUgYXBlbmFzIHVtYSBsaW5oYSBlc3RlamEgYXRpdmEuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdwLWhpZGUtc2VsZWN0LWFsbCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBoaWRlU2VsZWN0QWxsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIHF1ZSBzb21lbnRlIHVtYSBsaW5oYSBkYSB0YWJlbGEgcG9kZSBzZXIgc2VsZWNpb25hZGEuXHJcbiAgICpcclxuICAgKiA+IEVzdGEgZGVmaW5pw6fDo28gbsOjbyBzZSBhcGxpY2EgYW9zIGl0ZW5zIGZpbGhvcywgb3MgbWVzbW9zIHBvc3N1ZW0gY29tcG9ydGFtZW50byBpbmRlcGVuZGVudGUgZG8gaXRlbSBwYWkuXHJcbiAgICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdwLXNpbmdsZS1zZWxlY3QnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgc2luZ2xlU2VsZWN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogUGVybWl0ZSBzZWxlY2lvbmFyIHVtIGl0ZW0gZGEgdGFiZWxhIGNsaWNhbmRvIG5hIGxpbmhhLlxyXG4gICAqXHJcbiAgICogPiBDYXNvIGhhamEgbmVjZXNzaWRhZGUgZGUgc2VsZWNpb25hciBvIGl0ZW0gYXBlbmFzIHZpYSByYWRpbyBvdSBjaGVja2JveCwgZGV2ZS1zZSBkZWZpbmlyIGVzdGEgcHJvcHJpZWRhZGUgY29tbyBgZmFsc2VgLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYHRydWVgXHJcbiAgICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdwLXNlbGVjdGFibGUtZW50aXJlLWxpbmUnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgc2VsZWN0YWJsZUVudGlyZUxpbmU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIHF1ZSBhIGNvbHVuYSBkZSBhw6fDtWVzIGZpY2Fyw6Egbm8gbGFkbyBkaXJlaXRvIGRhIHRhYmVsYS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoeyBhbGlhczogJ3AtYWN0aW9ucy1yaWdodCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBhY3Rpb25SaWdodDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIHVtYSBxdWFudGlkYWRlIG3DoXhpbWEgZGUgY29sdW5hcyBxdWUgc2Vyw6NvIGV4aWJpZGFzIG5hIHRhYmVsYS5cclxuICAgKlxyXG4gICAqIFF1YW5kbyBjaGVnYXIgbm8gdmFsb3IgaW5mb3JtYWRvLCBhcyBjb2x1bmFzIHF1ZSBuw6NvIGVzdGl2ZXJlbSBzZWxlY2lvbmFkYXMgZmljYXLDo29cclxuICAgKiBkZXNhYmlsaXRhZGFzIGUgY2FzbyBob3V2ZXIgbWFpcyBjb2x1bmFzIHZpc8OtdmVpcyBkbyBxdWUgbyBwZXJtaXRpZG8sIGFzIGV4Y2VkZW50ZXNcclxuICAgKiBzZXLDo28gaWdub3JhZGFzIHBvciBvcmRlbSBkZSBwb3Npw6fDo28uXHJcbiAgICovXHJcbiAgQElucHV0KCdwLW1heC1jb2x1bW5zJykgbWF4Q29sdW1ucz86IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIERlZmluZSBvIG1vZG8gZGUgcGVzcXVpc2EgdXRpbGl6YWRvIG5vIGNhbXBvIGRlIGJ1c2NhLCBxdWFuZG8gaGFiaWxpdGFkby5cclxuICAgKiBWYWxvcmVzIGRlZmluaWRvcyBubyBlbnVtOiBQb1NlYXJjaEZpbHRlck1vZGVcclxuICAgKiA+IE9iczogQSBwZXNxdWlzYSDDqSByZWFsaXphZGEgZXhjbHVzaXZhbWVudGUgbm9zIGRhZG9zIGxvY2Fpcywgb3Ugc2VqYSwgYXF1ZWxlcyBxdWUgZm9yYW1cclxuICAgKiA+IHJlbmRlcml6YWRvcyBuYSB0YWJlbGEuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgc3RhcnRzV2l0aGBcclxuICAgKi9cclxuICBASW5wdXQoJ3AtZmlsdGVyLXR5cGUnKSBmaWx0ZXJUeXBlOiBQb0ZpbHRlck1vZGUgPSBQb0ZpbHRlck1vZGUuc3RhcnRzV2l0aDtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKiBFdmVudG8gZXhlY3V0YWRvIHF1YW5kbyB0b2RhcyBhcyBsaW5oYXMgc8OjbyBzZWxlY2lvbmFkYXMgcG9yIG1laW8gZG8gKmNoZWNrYm94KiBxdWUgc2VsZWNpb25hIHRvZGFzIGFzIGxpbmhhcy5cclxuICAgKi9cclxuICBAT3V0cHV0KCdwLWFsbC1zZWxlY3RlZCcpIGFsbFNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqIEV2ZW50byBleGVjdXRhZG8gcXVhbmRvIGEgc2VsZcOnw6NvIGRhcyBsaW5oYXMgw6kgZGVzbWFyY2FkYSBwb3IgbWVpbyBkbyAqY2hlY2tib3gqIHF1ZSBzZWxlY2lvbmEgdG9kYXMgYXMgbGluaGFzLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3AtYWxsLXVuc2VsZWN0ZWQnKSBhbGxVbnNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRXZlbnRvIGV4ZWN1dGFkbyBhbyBjb2xhcHNhciB1bWEgbGluaGEgZG8gYHBvLXRhYmxlYC5cclxuICAgKlxyXG4gICAqID4gQ29tbyBwYXLDom1ldHJvIG8gY29tcG9uZW50ZSBlbnZpYSBvIGl0ZW0gY29sYXBzYWRvLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3AtY29sbGFwc2VkJykgY29sbGFwc2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRXZlbnRvIGV4ZWN1dGFkbyBhbyBleHBhbmRpciB1bWEgbGluaGEgZG8gYHBvLXRhYmxlYC5cclxuICAgKlxyXG4gICAqID4gQ29tbyBwYXLDom1ldHJvIG8gY29tcG9uZW50ZSBlbnZpYSBvIGl0ZW0gZXhwYW5kaWRvLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3AtZXhwYW5kZWQnKSBleHBhbmRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEV2ZW50byBleGVjdXRhZG8gYXDDs3MgbyBtw6l0b2RvIGRlIGV4Y2x1c8OjbyBzZXIgZmluYWxpemFkby5cclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqPHBvLXRhYmxlXHJcbiAgICogIChwLWRlbGV0ZS1pdGVtcyk9XCJpdGVtcyA9ICRldmVudFwiXHJcbiAgICogPlxyXG4gICAqPC9wby10YWJsZT5cclxuICAgKiBgYGBcclxuICAgKlxyXG4gICAqXHJcbiAgICogPiBDb21vIHBhcsOibWV0cm8gbyBjb21wb25lbnRlIGVudmlhIGEgbGlzdGEgYXR1YWxpemFkYSwgc2VtIG9zIGl0ZW5zIGV4Y2x1w61kb3MuXHJcbiAgICovXHJcbiAgQE91dHB1dCgncC1kZWxldGUtaXRlbXMnKSBldmVudERlbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEV2ZW50byBleGVjdXRhZG8gYW8gc2VsZWNpb25hciB1bWEgbGluaGEgZG8gYHBvLXRhYmxlYC5cclxuICAgKi9cclxuICBAT3V0cHV0KCdwLXNlbGVjdGVkJykgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBSZWNlYmUgdW1hIGHDp8OjbyBkZSBjbGlxdWUgcGFyYSBvIGJvdMOjbyBcIkNhcnJlZ2FyIG1haXMgcmVzdWx0YWRvc1wiLCBjYXNvIG5lbmh1bWEgYcOnw6NvIGZvciBkZWZpbmlkYSBvIG1lc21vXHJcbiAgICogbsOjbyDDqSB2aXPDrXZlbC5cclxuICAgKlxyXG4gICAqIFJlY2ViZSB1bSBvYmpldG8gYHsgY29sdW1uLCB0eXBlIH1gIG9uZGU6XHJcbiAgICpcclxuICAgKiAtIGNvbHVtbiAoYFBvVGFibGVDb2x1bW5gKTogb2JqZXRvIGRhIGNvbHVuYSBxdWUgZXN0w6Egb3JkZW5hZGEuXHJcbiAgICogLSB0eXBlIChgUG9UYWJsZUNvbHVtblNvcnRUeXBlYCk6IHRpcG8gZGEgb3JkZW5hw6fDo28uXHJcbiAgICovXHJcbiAgQE91dHB1dCgncC1zaG93LW1vcmUnKSBzaG93TW9yZTogRXZlbnRFbWl0dGVyPFBvVGFibGVDb2x1bW5Tb3J0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UG9UYWJsZUNvbHVtblNvcnQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBFdmVudG8gZXhlY3V0YWRvIGFvIG9yZGVuYXIgY29sdW5hcyBkYSB0YWJlbGEuXHJcbiAgICpcclxuICAgKiBSZWNlYmUgdW0gb2JqZXRvIGB7IGNvbHVtbiwgdHlwZSB9YCBvbmRlOlxyXG4gICAqXHJcbiAgICogLSBjb2x1bW4gKGBQb1RhYmxlQ29sdW1uYCk6IG9iamV0byBkYSBjb2x1bmEgcXVlIGZvaSBjbGljYWRhL29yZGVuYWRhLlxyXG4gICAqIC0gdHlwZSAoYFBvVGFibGVDb2x1bW5Tb3J0VHlwZWApOiB0aXBvIGRhIG9yZGVuYcOnw6NvLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3Atc29ydC1ieScpIHNvcnRCeTogRXZlbnRFbWl0dGVyPFBvVGFibGVDb2x1bW5Tb3J0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UG9UYWJsZUNvbHVtblNvcnQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICogRXZlbnRvIGV4ZWN1dGFkbyBhbyBkZXNtYXJjYXIgYSBzZWxlw6fDo28gZGUgdW1hIGxpbmhhIGRvIGBwby10YWJsZWAuXHJcbiAgICovXHJcbiAgQE91dHB1dCgncC11bnNlbGVjdGVkJykgdW5zZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGZlY2hhciBvIHBhZ2Ugc2xpZGUgZG8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcyBhcMOzcyBhbHRlcmFyIGFzIGNvbHVuYXMgdmlzw612ZWlzLlxyXG4gICAqXHJcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgdmlzw612ZWlzIGF0dWFsaXphZGFzLlxyXG4gICAqIFBvciBleGVtcGxvOiBbXCJpZENhcmRcIiwgXCJuYW1lXCIsIFwiaGlyZVN0YXR1c1wiLCBcImFnZVwiXS5cclxuICAgKi9cclxuICBAT3V0cHV0KCdwLWNoYW5nZS12aXNpYmxlLWNvbHVtbnMnKSBjaGFuZ2VWaXNpYmxlQ29sdW1ucyA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8c3RyaW5nPj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGNsaWNhciBubyBib3TDo28gZGUgcmVzdGF1cmFyIHBhZHLDo28gbm8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcy5cclxuICAgKlxyXG4gICAqIE8gY29tcG9uZW50ZSBlbnZpYSBjb21vIHBhcsOibWV0cm8gdW0gYXJyYXkgZGUgc3RyaW5nIGNvbSBhcyBjb2x1bmFzIGNvbmZpZ3VyYWRhcyBpbmljaWFsbWVudGUuXHJcbiAgICogUG9yIGV4ZW1wbG86IFtcImlkQ2FyZFwiLCBcIm5hbWVcIiwgXCJoaXJlU3RhdHVzXCIsIFwiYWdlXCJdLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3AtcmVzdG9yZS1jb2x1bW4tbWFuYWdlcicpIGNvbHVtblJlc3RvcmVNYW5hZ2VyID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxTdHJpbmc+PigpO1xyXG5cclxuICBhbGxDb2x1bW5zV2lkdGhQaXhlbHM6IGJvb2xlYW47XHJcbiAgY29sdW1uTWFzdGVyRGV0YWlsOiBQb1RhYmxlQ29sdW1uO1xyXG4gIGhhc01haW5Db2x1bW5zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbWFpbkNvbHVtbnM6IEFycmF5PFBvVGFibGVDb2x1bW4+ID0gW107XHJcbiAgc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgc29ydGVkQ29sdW1uID0geyBwcm9wZXJ0eTogPFBvVGFibGVDb2x1bW4+bnVsbCwgYXNjZW5kaW5nOiB0cnVlIH07XHJcbiAgc3VidGl0bGVDb2x1bW5zOiBBcnJheTxQb1RhYmxlQ29sdW1uPiA9IFtdO1xyXG4gIHBhZ2UgPSAxO1xyXG4gIHBhZ2VTaXplID0gMTA7XHJcbiAgaGFzU2VydmljZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpbml0aWFsQ29sdW1uczogQXJyYXk8UG9UYWJsZUNvbHVtbj47XHJcbiAgc2hvd0JhdGNoQWN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGl0ZW1zU2VsZWN0ZWQ6IEFycmF5PGFueT4gPSBbXTtcclxuICBwYXJhbXNGaWx0ZXI6IHt9O1xyXG4gIGZpbHRlcmVkSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcclxuICBwcml2YXRlIGluaXRpYWxWaXNpYmxlQ29sdW1uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3NwYWNpbmc6IFBvVGFibGVDb2x1bW5TcGFjaW5nID0gUG9UYWJsZUNvbHVtblNwYWNpbmcuTWVkaXVtO1xyXG4gIHByaXZhdGUgX2ZpbHRlcmVkQ29sdW1uczogQXJyYXk8c3RyaW5nPjtcclxuICBwcml2YXRlIF9hY3Rpb25zPzogQXJyYXk8UG9UYWJsZUFjdGlvbj4gPSBbXTtcclxuICBwcml2YXRlIF9jb2x1bW5zOiBBcnJheTxQb1RhYmxlQ29sdW1uPiA9IFtdO1xyXG4gIHByaXZhdGUgX2NvbnRhaW5lcj86IHN0cmluZztcclxuICBwcml2YXRlIF9wYXJhbURlbGV0ZTogc3RyaW5nID0gcG9UYWJsZVBhcmFtRGVsZXRlQXBpO1xyXG4gIHByaXZhdGUgX2hlaWdodD86IG51bWJlcjtcclxuICBwcml2YXRlIF9oaWRlRGV0YWlsPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2l0ZW1zOiBBcnJheTxQb1RhYmxlQ29sdW1uPjtcclxuICBwcml2YXRlIF9saXRlcmFsczogUG9UYWJsZUxpdGVyYWxzO1xyXG4gIHByaXZhdGUgX2xvYWRpbmc/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfc2VsZWN0YWJsZT86IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBsYW5ndWFnZTogc3RyaW5nID0gcG9Mb2NhbGVEZWZhdWx0O1xyXG4gIHByaXZhdGUgX3NlcnZpY2VBcGk6IHN0cmluZztcclxuICBwcml2YXRlIF9zZXJ2aWNlRGVsZXRlQXBpOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBwb1RhYmxlU2VydmljZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgc29ydFN0b3JlOiBQb1RhYmxlQ29sdW1uU29ydDtcclxuICBwcml2YXRlIF9pbmZpbml0ZVNjcm9sbERpc3RhbmNlPzogbnVtYmVyID0gMTAwO1xyXG4gIHByaXZhdGUgX2luZmluaXRlU2Nyb2xsPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2RyYWdnYWJsZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9oaWRlQWN0aW9uRml4ZWRDb2x1bW5zPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcG9EYXRlOiBQb0RhdGVTZXJ2aWNlLFxyXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgcG9UYWJsZVNlcnZpY2U6IFBvVGFibGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2VTZXJ2aWNlLmdldFNob3J0TGFuZ3VhZ2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogTGlzdGEgZGUgaXRlbnMgZGEgdGFiZWxhLlxyXG4gICAqID4gU2UgZmFsc28sIHNlcsOhIGluaWNpYWxpemFkbyBjb21vIHVtICphcnJheSogdmF6aW8uXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWl0ZW1zJykgc2V0IGl0ZW1zKGl0ZW1zOiBBcnJheTxhbnk+KSB7XHJcbiAgICBpZiAodGhpcy5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5faXRlbXMgPSBBcnJheS5pc0FycmF5KGl0ZW1zKSA/IFsuLi5pdGVtc10gOiBbXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2l0ZW1zID0gQXJyYXkuaXNBcnJheShpdGVtcykgPyBpdGVtcyA6IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHdoZW4gaGF2ZW4ndCBpdGVtcywgc2VsZWN0QWxsIHNob3VsZCBiZSB1bmNoZWNrZWQuXHJcbiAgICBpZiAoIXRoaXMuaGFzSXRlbXMpIHtcclxuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMuaGFzQ29sdW1ucykge1xyXG4gICAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmdldERlZmF1bHRDb2x1bW5zKGl0ZW1zWzBdKTtcclxuICAgIH1cclxuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IFsuLi50aGlzLml0ZW1zXTtcclxuICAgIC8vIHRpbWVvdXQgbmVjZXNzYXJpbyBwYXJhIG9zIGl0ZW5zIHNlcmVtIHJlZmxldGlkb3MgbmEgdGFiZWxhXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2hlY2tJbmZpbml0ZVNjcm9sbCgpKTtcclxuICB9XHJcblxyXG4gIGdldCBpdGVtcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBMaXN0YSBkYXMgY29sdW5hcyBkYSB0YWJlbGEsIGRldmUgcmVjZWJlciB1bSAqYXJyYXkqIGRlIG9iamV0b3MgcXVlIGltcGxlbWVudGFtIGEgaW50ZXJmYWNlIGBQb1RhYmxlQ29sdW1uYC5cclxuICAgKiBQb3IgcGFkcsOjbyByZWNlYmVyw6EgY29tbyB2YWxvciBhIHByaW1laXJhIGNvbHVuYSBkYSBsaXN0YSBkZSBpdGVucyBkYSB0YWJlbGEuXHJcbiAgICogPiBDYXNvIG7Do28gZW5jb250cmUgdmFsb3IsIGEgbWVuc2FnZW0gJ05lbmh1bWEgZGVmaW5pw6fDo28gZGUgY29sdW5hcycgc2Vyw6EgZXhpYmlkYS5cclxuICAgKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1jb2x1bW5zJykgc2V0IGNvbHVtbnMoY29sdW1uczogQXJyYXk8UG9UYWJsZUNvbHVtbj4pIHtcclxuICAgIGNvbnN0IGhhc0NvbHVtbnNXaXRoVmlzaWJsZSA9IGNvbHVtbnM/LmZpbmQoY29sdW1uID0+IGNvbHVtbi52aXNpYmxlID09PSB0cnVlKTtcclxuICAgIGlmICh0aGlzLmluaXRpYWxDb2x1bW5zID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5pbml0aWFsQ29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fY29sdW1ucyA9IGNvbHVtbnMgfHwgW107XHJcblxyXG4gICAgaWYgKGhhc0NvbHVtbnNXaXRoVmlzaWJsZSAmJiAhdGhpcy5pbml0aWFsVmlzaWJsZUNvbHVtbnMpIHtcclxuICAgICAgdGhpcy5pbml0aWFsVmlzaWJsZUNvbHVtbnMgPSB0cnVlO1xyXG4gICAgICB0aGlzLnZlcmlmeUludGVyYWN0aXZlQ29sdW1ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9jb2x1bW5zLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNldENvbHVtbkxpbmsoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNJdGVtcykge1xyXG4gICAgICB0aGlzLl9jb2x1bW5zID0gdGhpcy5nZXREZWZhdWx0Q29sdW1ucyh0aGlzLml0ZW1zWzBdKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9uQ2hhbmdlQ29sdW1ucygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbHVtbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sdW1ucztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBBZGljaW9uYSB1bSBjb250b3JubyBhcnJlZG9uZGFkbyBhbyBgcG8tdGFibGVgLCBhcyBvcMOnw7VlcyBzw6NvOlxyXG4gICAqIC0gYGJvcmRlcmA6IGNvbSBib3JkYXMvbGluaGFzLlxyXG4gICAqIC0gYHNoYWRvd2A6IGNvbSBzb21icmFzLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGJvcmRlcmBcclxuICAgKi9cclxuICBASW5wdXQoJ3AtY29udGFpbmVyJykgc2V0IGNvbnRhaW5lcih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb250YWluZXIgPSBwb1RhYmxlQ29udGFpbmVyLmluY2x1ZGVzKHZhbHVlKSA/IHZhbHVlIDogcG9UYWJsZUNvbnRhaW5lckRlZmF1bHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgY29udGFpbmVyKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udGFpbmVyO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEFkaWNpb25hIG8gcGFyw6JtZXRybyBhIHNlciBlbnZpYWRvIHBhcmEgYSByZXF1aXNpw6fDo28gZGUgREVMRVRFLlxyXG4gICAqXHJcbiAgICogw4kgbmVjZXNzw6FyaW8gYSB1dGlsaXphw6fDo28gZGEgcHJvcHJpZWRhZGUgYHAtc2VydmljZS1kZWxldGVgIGVtIGNvbmp1bnRvLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGlkYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1wYXJhbS1kZWxldGUtYXBpJykgc2V0IHBhcmFtRGVsZXRlQXBpKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3BhcmFtRGVsZXRlID0gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogcG9UYWJsZVBhcmFtRGVsZXRlQXBpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhcmFtRGVsZXRlQXBpKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGFyYW1EZWxldGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIGEgYWx0dXJhIGRhIHRhYmVsYSBlbSAqcGl4ZWxzKiBlIGZpeGEgbyBjYWJlw6dhbGhvLlxyXG4gICAqXHJcbiAgICogQW8gdXRpbGl6YXIgZXNzYSBwcm9wcmllZGFkZSBzZXLDoSBpbnNlcmlkbyBvIGB2aXJ0dWFsLXNjcm9sbGAgbmEgdGFiZWxhIG1lbGhvcmFuZG8gYSBwZXJmb3JtYW5jZS5cclxuICAgKi9cclxuICBASW5wdXQoJ3AtaGVpZ2h0Jykgc2V0IGhlaWdodChoZWlnaHQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5faGVpZ2h0ID0gaGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhlaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogSGFiaWxpdGEgYSB2aXN1YWxpemHDp8OjbyBkYSBsaXN0YSBkZSBkZXRhbGhlcyBkZSBjYWRhIGxpbmhhIGRhIGNvbHVuYS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3AtaGlkZS1kZXRhaWwnKSBzZXQgaGlkZURldGFpbChoaWRlRGV0YWlsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9oaWRlRGV0YWlsID0gaGlkZURldGFpbCAhPSBudWxsICYmIGhpZGVEZXRhaWwudG9TdHJpbmcoKSA9PT0gJycgPyB0cnVlIDogY29udmVydFRvQm9vbGVhbihoaWRlRGV0YWlsKTtcclxuICB9XHJcblxyXG4gIGdldCBoaWRlRGV0YWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hpZGVEZXRhaWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogT2JqZXRvIGNvbSBhcyBsaXRlcmFpcyB1c2FkYXMgbm8gYHBvLXRhYmxlYC5cclxuICAgKlxyXG4gICAqIEV4aXN0ZW0gZHVhcyBtYW5laXJhcyBkZSBjdXN0b21pemFyIG8gY29tcG9uZW50ZSwgcGFzc2FuZG8gdW0gb2JqZXRvIGNvbSB0b2RhcyBhcyBsaXRlcmFpcyBkaXNwb27DrXZlaXM6XHJcbiAgICpcclxuICAgKiBgYGBcclxuICAgKiAgY29uc3QgY3VzdG9tTGl0ZXJhbHM6IFBvVGFibGVMaXRlcmFscyA9IHtcclxuICAgKiAgICBub0NvbHVtbnM6ICdOZW5odW1hIGRlZmluacOnw6NvIGRlIGNvbHVuYXMnLFxyXG4gICAqICAgIG5vRGF0YTogJ05lbmh1bSBkYWRvIGVuY29udHJhZG8nLFxyXG4gICAqICAgIG5vVmlzaWJsZUNvbHVtbjogJ05lbmh1bWEgY29sdW5hIHZpc8OtdmVsJyxcclxuICAgKiAgICBub0l0ZW06ICdOZW5odW0gaXRlbSBzZWxlY2lvbmFkbycsXHJcbiAgICogICAgb25lSXRlbTogJzEgaXRlbSBzZWxlY2lvbmFkbycsXHJcbiAgICogICAgbXVsdGlwbGVJdGVtczogJ2l0ZW5zIHNlbGVjaW9uYWRvcycsXHJcbiAgICogICAgbG9hZGluZ0RhdGE6ICdDYXJyZWdhbmRvJyxcclxuICAgKiAgICBsb2FkTW9yZURhdGE6ICdDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3MnLFxyXG4gICAqICAgIHNlZUNvbXBsZXRlU3VidGl0bGU6ICdWZXIgbGVnZW5kYSBjb21wbGV0YScsXHJcbiAgICogICAgY29tcGxldGVTdWJ0aXRsZTogJ0xlZ2VuZGEgY29tcGxldGEnLFxyXG4gICAqICAgIGNvbHVtbnNNYW5hZ2VyOiAnR2VyZW5jaWFkb3IgZGUgY29sdW5hcycsXHJcbiAgICogICAgYm9keURlbGV0ZTogJ0Rlc2VqYSByZWFsbWVudGUgZXhjbHVpciBlc3NlIGl0ZW0/JyxcclxuICAgKiAgICBjYW5jZWw6ICdDYW5jZWxhcicsXHJcbiAgICogICAgZGVsZXRlOiAnRXhjbHVpcicsXHJcbiAgICogICAgZGVsZXRlU3VjY2Vzc2Z1bDogJ0l0ZW5zIHJlbW92aWRvcyBjb20gc3VjZXNzbycsXHJcbiAgICogICAgZGVsZXRlQXBpRXJyb3I6ICdPY29ycmV1IHVtIGVycm8gaW5lc3BlcmFkbywgdGVudGUgbm92YW1lbnRlIG1haXMgdGFyZGUhJyxcclxuICAgKiAgfTtcclxuICAgKiBgYGBcclxuICAgKlxyXG4gICAqIE91IHBhc3NhbmRvIGFwZW5hcyBhcyBsaXRlcmFpcyBxdWUgZGVzZWphIGN1c3RvbWl6YXI6XHJcbiAgICpcclxuICAgKiBgYGBcclxuICAgKiAgY29uc3QgY3VzdG9tTGl0ZXJhbHM6IFBvVGFibGVMaXRlcmFscyA9IHtcclxuICAgKiAgICBub0RhdGE6ICdTZW0gZGFkb3MnXHJcbiAgICogIH07XHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBFIHBhcmEgY2FycmVnYXIgYXMgbGl0ZXJhaXMgY3VzdG9taXphZGFzLCBiYXN0YSBhcGVuYXMgcGFzc2FyIG8gb2JqZXRvIHBhcmEgbyBjb21wb25lbnRlLlxyXG4gICAqXHJcbiAgICogYGBgXHJcbiAgICogPHBvLXRhYmxlXHJcbiAgICogICBbcC1saXRlcmFsc109XCJjdXN0b21MaXRlcmFsc1wiPlxyXG4gICAqIDwvcG8tdGFibGU+XHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiA+IE8gb2JqZXRvIHBhZHLDo28gZGUgbGl0ZXJhaXMgc2Vyw6EgdHJhZHV6aWRvIGRlIGFjb3JkbyBjb20gbyBpZGlvbWEgZG9cclxuICAgKiBbYFBvSTE4blNlcnZpY2VgXSgvZG9jdW1lbnRhdGlvbi9wby1pMThuKSBvdSBkbyBicm93c2VyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1saXRlcmFscycpIHNldCBsaXRlcmFscyh2YWx1ZTogUG9UYWJsZUxpdGVyYWxzKSB7XHJcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSkge1xyXG4gICAgICB0aGlzLl9saXRlcmFscyA9IHtcclxuICAgICAgICAuLi5wb1RhYmxlTGl0ZXJhbHNEZWZhdWx0W3BvTG9jYWxlRGVmYXVsdF0sXHJcbiAgICAgICAgLi4ucG9UYWJsZUxpdGVyYWxzRGVmYXVsdFt0aGlzLmxhbmd1YWdlXSxcclxuICAgICAgICAuLi52YWx1ZVxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fbGl0ZXJhbHMgPSBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgbGl0ZXJhbHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGl0ZXJhbHMgfHwgcG9UYWJsZUxpdGVyYWxzRGVmYXVsdFt0aGlzLmxhbmd1YWdlXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBCbG9xdWVpYSBhIGludGVyYcOnw6NvIGRvIHVzdcOhcmlvIGNvbSBvcyBkYWRvcyBkYSBfdGFibGVfLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1sb2FkaW5nJykgc2V0IGxvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fbG9hZGluZyA9IGNvbnZlcnRUb0Jvb2xlYW4obG9hZGluZyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbG9hZGluZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIERlZmluZSB1bWEgbGlzdGEgZGUgYcOnw7Vlcy5cclxuICAgKlxyXG4gICAqIFF1YW5kbyBob3V2ZXIgYXBlbmFzIHVtYSBhw6fDo28gZGVmaW5pZGEgZWxhIHNlcsOhIGV4aWJpZGEgZGlyZXRhbWVudGUgbmEgY29sdW5hLCBjYXNvIGNvbnRyw6FyaW8sIG8gY29tcG9uZW50ZVxyXG4gICAqIHNlIGVuY2FycmVnYSBkZSBhZ3J1cMOhLWxhcyBleGliaW5kbyBvIMOtY29uZSBbKipwby1pY29uLW1vcmUqKl0oL2d1aWRlcy9pY29ucykgcXVlIGxpc3RhcsOhIGFzIGHDp8O1ZXMgYW8gc2VyIGNsaWNhZG8uXHJcbiAgICpcclxuICAgKiAqKkEgY29sdW5hIGRlIGHDp8O1ZXMgbsOjbyBzZXLDoSBleGliaWRhIHF1YW5kbzoqKlxyXG4gICAqICAtIGEgbGlzdGEgY29udGVyIHZhbG9yZXMgaW52w6FsaWRvcyBvdSBpbmRlZmluaWRvcy5cclxuICAgKiAgLSB0ZW5oYSB1bWEgw7puaWNhIGHDp8OjbyBlIGEgbWVzbWEgbsOjbyBmb3Igdmlzw612ZWwuXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWFjdGlvbnMnKSBzZXQgYWN0aW9ucyhhY3Rpb25zOiBBcnJheTxQb1RhYmxlQWN0aW9uPikge1xyXG4gICAgdGhpcy5fYWN0aW9ucyA9IGFjdGlvbnM7XHJcbiAgfVxyXG5cclxuICBnZXQgYWN0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFBlcm1pdGUgYSBzZWxlw6fDo28gZGUgbGluaGFzIG5hIHRhYmVsYSBlLCBjYXNvIGEgcHJvcHJpZWRhZGUgYHAtc2luZ2xlLXNlbGVjdGAgZXN0ZWphIGRlZmluaWRhIHNlcsOhIHBvc3PDrXZlbFxyXG4gICAqIHNlbGVjaW9uYXIgYXBlbmFzIHVtYSDDum5pY2EgbGluaGEuXHJcbiAgICpcclxuICAgKiAqKkltcG9ydGFudGU6KipcclxuICAgKiAgLSBBcyBsaW5oYXMgZGUgZGV0YWxoZSBkZWZpbmlkYXMgZW0gYFBvVGFibGVEZXRhaWxgIHBvc3N1ZW0gY29tcG9ydGFtZW50byBpbmRlcGVuZGVudGUgZGEgbGluaGEgbWVzdHJlO1xyXG4gICAqICAtIENhZGEgbGluaGEgcG9zc3VpIHBvciBwYWRyw6NvIGEgcHJvcHJpZWRhZGUgZGluw6JtaWNhIGAkc2VsZWN0ZWRgLCBuYSBxdWFsIMOpIHBvc3PDrXZlbCB2YWxpZGFyIHNlIGEgbGluaGFcclxuICAgKiBlc3TDoSBzZWxlY2lvbmFkYSwgcG9yIGV4ZW1wbG86IGBpdGVtLiRzZWxlY3RlZGAgb3UgYGl0ZW1bJyRzZWxlY3RlZCddYC5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3Atc2VsZWN0YWJsZScpIHNldCBzZWxlY3RhYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zZWxlY3RhYmxlID0gPGFueT52YWx1ZSA9PT0gJycgPyB0cnVlIDogY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgc2VsZWN0YWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RhYmxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFNlIHZlcmRhZGVpcm8sIGF0aXZhIGEgZnVuY2lvbmFsaWRhZGUgZGUgc2Nyb2xsIGluZmluaXRvIHBhcmEgYSB0YWJlbGEgZSBvIGJvdMOjbyBcIkNhcnJlZ2FyIE1haXNcIiBkZWl4YXLDoSBkZSBzZXIgZXhpYmlkby4gQW8gY2hlZ2FyIG5vIGZpbSBkYSB0YWJlbGFcclxuICAgKiBleGVjdXRhcsOhIGEgZnVuw6fDo28gYHAtc2hvdy1tb3JlYC5cclxuICAgKlxyXG4gICAqICoqUmVncmFzIGRlIHV0aWxpemHDp8OjbzoqKlxyXG4gICAqICAtIE8gc2Nyb2xsIGluZmluaXRvIHPDsyBmdW5jaW9uYSBwYXJhIHRhYmVsYXMgcXVlIHV0aWxpemFtIGEgcHJvcHJpZWRhZGUgYHAtaGVpZ2h0YCBlIHF1ZSBwb3NzdWVtIG8gc2Nyb2xsIGrDoSBuYSBjYXJnYSBpbmljaWFsIGRvcyBkYWRvcy5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3AtaW5maW5pdGUtc2Nyb2xsJykgc2V0IGluZmluaXRlU2Nyb2xsKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pbmZpbml0ZVNjcm9sbCA9IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUgJiYgdGhpcy5oZWlnaHQgPiAwKTtcclxuICB9XHJcblxyXG4gIGdldCBpbmZpbml0ZVNjcm9sbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9pbmZpbml0ZVNjcm9sbDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIERlZmluZSBvIHBlcmNlbnR1YWwgbmVjZXNzw6FyaW8gcGFyYSBkaXNwYXJhciBvIGV2ZW50byBgcC1zaG93LW1vcmVgLCBxdWUgw6kgcmVzcG9uc8OhdmVsIHBvciBjYXJyZWdhciBtYWlzIGRhZG9zIG5hIHRhYmVsYS4gQ2FzbyBvIHZhbG9yIGluZm9ybWFkbyBzZWphIG1haW9yIHF1ZSAxMDAgb3UgbWVub3JcclxuICAgKiBxdWUgMCwgbyB2YWxvciBwYWRyw6NvIHNlcsOhIDEwMCVcclxuICAgKlxyXG4gICAqICoqRXhlbXBsb3M6KipcclxuICAgKiAgLSBwLWluZmluaXRlLXNjcm9sbC1kaXN0YW5jZSA9IDgwOiBRdWFuZG8gYXRpbmdpciA4MCUgIGRvIHNjcm9sbCBkYSB0YWJlbGEsIG8gYHAtc2hvdy1tb3JlYCBzZXLDoSBkaXNwYXJhZG8uXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWluZmluaXRlLXNjcm9sbC1kaXN0YW5jZScpIHNldCBpbmZpbml0ZVNjcm9sbERpc3RhbmNlKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2luZmluaXRlU2Nyb2xsRGlzdGFuY2UgPSB2YWx1ZSA+IDEwMCB8fCB2YWx1ZSA8IDAgPyAxMDAgOiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBpbmZpbml0ZVNjcm9sbERpc3RhbmNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luZmluaXRlU2Nyb2xsRGlzdGFuY2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogVVJMIGRhIEFQSSByZXNwb25zw6F2ZWwgcG9yIHJldG9ybmFyIG9zIHJlZ2lzdHJvcy5cclxuICAgKlxyXG4gICAqIEFvIHJlYWxpemFyIGEgYnVzY2EgZGUgbWFpcyByZWdpc3Ryb3MgdmlhIHBhZ2luYcOnw6NvIChDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3MpLCBzZXLDoSBlbnZpYWRvIG9zIHBhcsOibWV0cm9zIGBwYWdlYCBlIGBwYWdlU2l6ZWAsIGNvbmZvcm1lIGFiYWl4bzpcclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqIHVybCArID9wYWdlPTEmcGFnZVNpemU9MTBcclxuICAgKiBgYGBcclxuICAgKlxyXG4gICAqIENhc28gdXRpbGl6YXIgb3JkZW5hw6fDo28sIGEgY29sdW5hIG9yZGVuYWRhIHNlcsOhIGVudmlhZGEgYXRyYXbDqXMgZG8gcGFyw6JtZXRybyBgb3JkZXJgLCBwb3IgZXhlbXBsbzpcclxuICAgKiAtIENvbHVuYSBkZWNyZXNjZW50ZTpcclxuICAgKiBgYGBcclxuICAgKiAgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0xMCZvcmRlcj0tbmFtZVxyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogLSBDb2x1bmEgYXNjZW5kZW50ZTpcclxuICAgKiBgYGBcclxuICAgKiAgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0xMCZvcmRlcj1uYW1lXHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiA+IEVzdGEgVVJMIGRldmUgcmV0b3JuYXIgZSByZWNlYmVyIG9zIGRhZG9zIG5vIHBhZHLDo28gZGUgW0FQSSBkbyBQTyBVSV0oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvYXBpKS5cclxuICAgKi9cclxuICBASW5wdXQoJ3Atc2VydmljZS1hcGknKSBzZXQgc2VydmljZUFwaShzZXJ2aWNlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3NlcnZpY2VBcGkgPSBzZXJ2aWNlO1xyXG4gICAgdGhpcy5zZXRTZXJ2aWNlKHRoaXMuc2VydmljZUFwaSwgJ0dFVCcpO1xyXG4gICAgdGhpcy5oYXNTZXJ2aWNlID0gISFzZXJ2aWNlO1xyXG4gICAgdGhpcy5zaG93TW9yZURpc2FibGVkID0gIXRoaXMuaGFzU2VydmljZTtcclxuICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgc2VydmljZUFwaSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlQXBpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFVSTCBkYSBBUEkgcmVzcG9uc8OhdmVsIHBvciBleGNsdWlyIG9zIHJlZ2lzdHJvcy5cclxuICAgKlxyXG4gICAqIEFvIHNlbGVjaW9uYXIgbyBib3TDo28gZGUgZXhjbHVpciBpdGVucywgZXNzYSB1cmwgc2Vyw6EgZXhlY3V0YWRhIHV0aWxpemFuZG8gbyBwYXLDom1ldHJvIGVudmlhZG8gbmEgcHJvcHJpZWRhZGUgYHAtcGFyYW0tZGVsZXRlLWFwaWAuXHJcbiAgICogQ2FzbyBlbGEgbsOjbyBzZWphIHV0aWxpemFkYSwgbyBwYXLDom1ldHJvIHBhZHLDo28gYSBzZXIgZW52aWFkbyBzZXLDoSBgaWRgLlxyXG4gICAqXHJcbiAgICogPiBFc3RhIFVSTCBkZXZlIHJldG9ybmFyIGUgcmVjZWJlciBvcyBkYWRvcyBubyBwYWRyw6NvIGRlIFtBUEkgZG8gUE8gVUldKGh0dHBzOi8vcG8tdWkuaW8vZ3VpZGVzL2FwaSkuXHJcbiAgICovXHJcbiAgQElucHV0KCdwLXNlcnZpY2UtZGVsZXRlJykgc2V0IHNlcnZpY2VEZWxldGVBcGkoc2VydmljZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlRGVsZXRlQXBpID0gc2VydmljZTtcclxuICAgIHRoaXMuc2V0U2VydmljZSh0aGlzLnNlcnZpY2VEZWxldGVBcGksICdERUxFVEUnKTtcclxuICB9XHJcblxyXG4gIGdldCBzZXJ2aWNlRGVsZXRlQXBpKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlcnZpY2VEZWxldGVBcGk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogUmVzcG9uc8OhdmVsIHBvciBhcGxpY2FyIGVzcGHDp2FtZW50byBuYXMgY29sdW5hcy5cclxuICAgKlxyXG4gICAqIERldmUgcmVjZWJlciB1bSBkb3MgdmFsb3JlcyBkbyBlbnVtIGBQb1RhYmxlQ29sdW1uU3BhY2luZ2AuXHJcbiAgICpcclxuICAgKiBWYWxvciBgc21hbGxgIHPDsyBmdW5jaW9uYSBlbSB0YWJlbGFzIG7Do28gaW50ZXJhdGl2YXMuIENhc28gc2VqYSBzZXRhZG8gY29tIGBzbWFsbGAgZSBhIHRhYmVsYSBzZWphIGludGVyYXRpdmEsIG8gdmFsb3Igc2Vyw6EgcmV0b3JuYWRvIHBhcmEgYG1lZGl1bWAuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgbWVkaXVtYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1zcGFjaW5nJykgc2V0IHNwYWNpbmcodmFsdWU6IFBvVGFibGVDb2x1bW5TcGFjaW5nKSB7XHJcbiAgICBpZiAodmFsdWUgPT09ICdzbWFsbCcgfHwgdmFsdWUgPT09ICdtZWRpdW0nIHx8IHZhbHVlID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgIHRoaXMuX3NwYWNpbmcgPSB2YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3NwYWNpbmcgPSBQb1RhYmxlQ29sdW1uU3BhY2luZy5NZWRpdW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgc3BhY2luZygpIHtcclxuICAgIHJldHVybiB0aGlzLl9zcGFjaW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIERlZmluZSBhcyBjb2x1bmFzIHF1ZSBzZXLDo28gZmlsdHJhZGFzIG5vIGNhbXBvIGRlIHBlc3F1aXNhLlxyXG4gICAqIEFjZWl0YSB1bSBhcnJheSBkZSBzdHJpbmdzLCByZXByZXNlbnRhbmRvIGFzIGNvbHVuYXMgZXNwZWPDrWZpY2FzIHF1ZSBzZXLDo28gY29uc2lkZXJhZGFzIG5hIGZpbHRyYWdlbS5cclxuICAgKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1maWx0ZXJlZC1jb2x1bW5zJykgc2V0IGZpbHRlcmVkQ29sdW1ucyh2YWx1ZXM6IEFycmF5PHN0cmluZz4pIHtcclxuICAgIHRoaXMuX2ZpbHRlcmVkQ29sdW1ucyA9IHZhbHVlcztcclxuICB9XHJcblxyXG4gIGdldCBmaWx0ZXJlZENvbHVtbnMoKTogQXJyYXk8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyZWRDb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0NvbHVtbnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zICYmIHRoaXMuY29sdW1ucy5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0l0ZW1zKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhKHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG5hbWVDb2x1bW5EZXRhaWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5NYXN0ZXJEZXRhaWwgPyB0aGlzLmNvbHVtbk1hc3RlckRldGFpbC5wcm9wZXJ0eSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsaWRDb2x1bW5zKCkge1xyXG4gICAgY29uc3QgdHlwZXNWYWxpZCA9IFtcclxuICAgICAgJ3N0cmluZycsXHJcbiAgICAgICdudW1iZXInLFxyXG4gICAgICAnYm9vbGVhbicsXHJcbiAgICAgICdkYXRlJyxcclxuICAgICAgJ3RpbWUnLFxyXG4gICAgICAnZGF0ZVRpbWUnLFxyXG4gICAgICAnY3VycmVuY3knLFxyXG4gICAgICAnc3VidGl0bGUnLFxyXG4gICAgICAnbGluaycsXHJcbiAgICAgICdsYWJlbCcsXHJcbiAgICAgICdpY29uJyxcclxuICAgICAgJ2NlbGxUZW1wbGF0ZScsXHJcbiAgICAgICdjb2x1bW5UZW1wbGF0ZSdcclxuICAgIF07XHJcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zLmZpbHRlcihjb2wgPT4gIWNvbC50eXBlIHx8IHR5cGVzVmFsaWQuaW5jbHVkZXMoY29sLnR5cGUpKTtcclxuICB9XHJcblxyXG4gIGdldCB2aXNpYmxlQWN0aW9ucygpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuYWN0aW9ucyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYWN0aW9ucyAmJiB0aGlzLmFjdGlvbnMuZmlsdGVyKGFjdGlvbiA9PiBhY3Rpb24gJiYgYWN0aW9uLnZpc2libGUgIT09IGZhbHNlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RmlsdGVyZWRDb2x1bW5zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJlZENvbHVtbnMgPSB0aGlzLmNvbHVtbnNcclxuICAgICAgLmZpbHRlcihjb2x1bW4gPT4gY29sdW1uLnZpc2libGUgIT09IGZhbHNlKVxyXG4gICAgICAubWFwKGNvbHVtbiA9PiBjb2x1bW4ucHJvcGVydHkgfHwgY29sdW1uLmxhYmVsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IHNvcnRUeXBlKCk6IFBvVGFibGVDb2x1bW5Tb3J0VHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5zb3J0ZWRDb2x1bW4uYXNjZW5kaW5nID8gUG9UYWJsZUNvbHVtblNvcnRUeXBlLkFzY2VuZGluZyA6IFBvVGFibGVDb2x1bW5Tb3J0VHlwZS5EZXNjZW5kaW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEhhYmlsaXRhIG8gbW9kbyBkcmFnIGFuZCBkcm9wIHBhcmEgYXMgY29sdW5hcyBkYSB0YWJlbGEuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWRyYWdnYWJsZScpIHNldCBkcmFnZ2FibGUoZHJhZ2dhYmxlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9kcmFnZ2FibGUgPSBkcmFnZ2FibGUgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgZHJhZ2dhYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RyYWdnYWJsZTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5wb1RhYmxlU2VydmljZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNpbmdsZVNlbGVjdCB8fCB0aGlzLmhpZGVTZWxlY3RBbGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBmYWxzZTtcclxuICAgICAgdGhpcy5oaWRlU2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlcy5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5jYWxjdWxhdGVIZWlnaHRUYWJsZUNvbnRhaW5lcih0aGlzLmhlaWdodCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGxSb3dzKCkge1xyXG4gICAgaWYgKCF0aGlzLmhpZGVTZWxlY3RBbGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RBbGwgPSAhdGhpcy5zZWxlY3RBbGw7XHJcblxyXG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgaXRlbS4kc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdEFsbDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLmVtaXRTZWxlY3RBbGxFdmVudHModGhpcy5zZWxlY3RBbGwsIFsuLi50aGlzLml0ZW1zXSk7XHJcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRMaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RSb3cocm93OiBhbnkpIHtcclxuICAgIHJvdy4kc2VsZWN0ZWQgPSAhcm93LiRzZWxlY3RlZDtcclxuXHJcbiAgICB0aGlzLmVtaXRTZWxlY3RFdmVudHMocm93KTtcclxuXHJcbiAgICB0aGlzLmNvbmZpZ0FmdGVyU2VsZWN0Um93KHRoaXMuaXRlbXMsIHJvdyk7XHJcbiAgICB0aGlzLnNldFNlbGVjdGVkTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgaGFzU2VsZWN0YWJsZVJvdygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGFibGUgJiYgdGhpcy5zZWxlY3RhYmxlRW50aXJlTGluZTtcclxuICB9XHJcblxyXG4gIHNlbGVjdERldGFpbFJvdyhyb3c6IGFueSkge1xyXG4gICAgdGhpcy5lbWl0U2VsZWN0RXZlbnRzKHJvdyk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZExpc3QoKSB7XHJcbiAgICB0aGlzLml0ZW1zU2VsZWN0ZWQgPSBbXTtcclxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgaWYgKGl0ZW0uJHNlbGVjdGVkKSB7XHJcbiAgICAgICAgdGhpcy5pdGVtc1NlbGVjdGVkLnB1c2goaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2xhc3NDb2xvcihyb3csIGNvbHVtbikge1xyXG4gICAgcmV0dXJuIGNvbHVtbi5jb2xvciA/IGBwby10ZXh0LSR7dGhpcy5nZXRDb2x1bW5Db2xvcihyb3csIGNvbHVtbil9YCA6ICcnO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRGV0YWlsKHJvdzogYW55KSB7XHJcbiAgICBjb25zdCByb3dTaG93RGV0YWlsID0gcm93LiRzaG93RGV0YWlsO1xyXG4gICAgaWYgKHRoaXMuYXV0b0NvbGxhcHNlKSB7XHJcbiAgICAgIHRoaXMuY29sbGFwc2VBbGxJdGVtcyh0aGlzLml0ZW1zKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldFNob3dEZXRhaWwocm93LCAhcm93U2hvd0RldGFpbCk7XHJcbiAgICB0aGlzLmVtaXRFeHBhbmRFdmVudHMocm93KTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVJvd0FjdGlvbihyb3c6IGFueSkge1xyXG4gICAgY29uc3QgdG9nZ2xlU2hvd0FjdGlvbiA9IHJvdy4kc2hvd0FjdGlvbjtcclxuXHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLiRzaG93QWN0aW9uKSB7XHJcbiAgICAgICAgaXRlbS4kc2hvd0FjdGlvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJvdy4kc2hvd0FjdGlvbiA9ICF0b2dnbGVTaG93QWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgc29ydENvbHVtbihjb2x1bW46IFBvVGFibGVDb2x1bW4pIHtcclxuICAgIGlmICghdGhpcy5zb3J0IHx8IGNvbHVtbi50eXBlID09PSAnZGV0YWlsJyB8fCBjb2x1bW4uc29ydGFibGUgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNvcnRlZENvbHVtbi5hc2NlbmRpbmcgPSB0aGlzLnNvcnRlZENvbHVtbi5wcm9wZXJ0eSA9PT0gY29sdW1uID8gIXRoaXMuc29ydGVkQ29sdW1uLmFzY2VuZGluZyA6IHRydWU7XHJcblxyXG4gICAgdGhpcy5zb3J0QXJyYXkoY29sdW1uLCB0aGlzLnNvcnRlZENvbHVtbi5hc2NlbmRpbmcpO1xyXG4gICAgdGhpcy5zb3J0QnkuZW1pdCh7IGNvbHVtbiwgdHlwZTogdGhpcy5zb3J0VHlwZSB9KTtcclxuICAgIGlmICh0aGlzLmhhc1NlcnZpY2UgJiYgdGhpcy5zb3J0KSB7XHJcbiAgICAgIHRoaXMuc29ydFN0b3JlID0geyBjb2x1bW4sIHR5cGU6IHRoaXMuc29ydFR5cGUgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNvcnRlZENvbHVtbi5wcm9wZXJ0eSA9IGNvbHVtbjtcclxuICB9XHJcblxyXG4gIG9uU2hvd01vcmUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzb3J0ID0gdGhpcy5zb3J0ZWRDb2x1bW4ucHJvcGVydHkgPyB7IGNvbHVtbjogdGhpcy5zb3J0ZWRDb2x1bW4ucHJvcGVydHksIHR5cGU6IHRoaXMuc29ydFR5cGUgfSA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAodGhpcy5oYXNTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMucGFnZSsrO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLmxvYWRpbmdTaG93TW9yZSA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLnBvVGFibGVTZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5nZXRGaWx0ZXJlZEl0ZW1zKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMgPSBbLi4udGhpcy5pdGVtcywgLi4uZGF0YS5pdGVtc107XHJcbiAgICAgICAgdGhpcy5zaG93TW9yZURpc2FibGVkID0gIWRhdGEuaGFzTmV4dDtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTaG93TW9yZSA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3dNb3JlLmVtaXQoc29ydCk7XHJcbiAgfVxyXG5cclxuICBnZXRGaWx0ZXJlZEl0ZW1zKHF1ZXJ5UGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBRdWVyeVBhcmFtc1R5cGUgfSk6IE9ic2VydmFibGU8UG9UYWJsZVJlc3BvbnNlQXBpPiB7XHJcbiAgICBjb25zdCBmaWx0ZXJlZFBhcmFtczogUG9UYWJsZUZpbHRlcmVkSXRlbXNQYXJhbXMgPSB0aGlzLmdldEZpbHRlcmVkUGFyYW1zKHF1ZXJ5UGFyYW1zKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5wb1RhYmxlU2VydmljZS5nZXRGaWx0ZXJlZEl0ZW1zKGZpbHRlcmVkUGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHNldFRhYmxlUmVzcG9uc2VQcm9wZXJ0aWVzKGRhdGE6IFBvVGFibGVSZXNwb25zZUFwaSkge1xyXG4gICAgdGhpcy5pdGVtcyA9IGRhdGEuaXRlbXMgfHwgW107XHJcbiAgICB0aGlzLnNob3dNb3JlRGlzYWJsZWQgPSAhZGF0YS5oYXNOZXh0O1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplRGF0YShwYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IFF1ZXJ5UGFyYW1zVHlwZSB9KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oYXNTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMucGFyYW1zRmlsdGVyID0gcGFyYW1zO1xyXG4gICAgICB0aGlzLmdldEZpbHRlcmVkSXRlbXMocGFyYW1zKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRUYWJsZVJlc3BvbnNlUHJvcGVydGllcyhkYXRhKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdENvbHVtbnMoaXRlbTogYW55KSB7XHJcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoaXRlbSk7XHJcblxyXG4gICAgcmV0dXJuIGtleXNcclxuICAgICAgLmZpbHRlcihrZXkgPT4gdHlwZW9mIGl0ZW1ba2V5XSAhPT0gJ29iamVjdCcpXHJcbiAgICAgIC5tYXAoa2V5ID0+ICh7IGxhYmVsOiBjYXBpdGFsaXplRmlyc3RMZXR0ZXIoa2V5KSwgcHJvcGVydHk6IGtleSB9KSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0U2hvd0RldGFpbChyb3dJZGVudGlmaWVyOiBhbnkgfCBudW1iZXIsIGlzU2hvd0RldGFpbDogYm9vbGVhbikge1xyXG4gICAgY29uc3QgaXNSb3dJbmRleCA9IHR5cGVvZiByb3dJZGVudGlmaWVyID09PSAnbnVtYmVyJyAmJiB0aGlzLml0ZW1zW3Jvd0lkZW50aWZpZXJdO1xyXG5cclxuICAgIGNvbnN0IHJvdyA9IGlzUm93SW5kZXggPyB0aGlzLml0ZW1zW3Jvd0lkZW50aWZpZXJdIDogcm93SWRlbnRpZmllcjtcclxuXHJcbiAgICByb3cuJHNob3dEZXRhaWwgPSBpc1Nob3dEZXRhaWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbGxhcHNlQWxsSXRlbXMoaXRlbXM6IEFycmF5PHsgW2tleTogc3RyaW5nXTogYW55IH0+KSB7XHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgaWYgKGl0ZW0uJHNob3dEZXRhaWwpIHtcclxuICAgICAgICB0aGlzLnNldFNob3dEZXRhaWwoaXRlbSwgZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuZW1pdEV4cGFuZEV2ZW50cyhpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb25maWdBZnRlclNlbGVjdFJvdyhyb3dzOiBBcnJheTxhbnk+LCByb3cpIHtcclxuICAgIGlmICh0aGlzLnNpbmdsZVNlbGVjdCkge1xyXG4gICAgICB0aGlzLnVuc2VsZWN0T3RoZXJSb3dzKHJvd3MsIHJvdyk7XHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmhpZGVTZWxlY3RBbGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RBbGwgPSB0aGlzLmlzRXZlcnlTZWxlY3RlZChyb3dzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdEV4cGFuZEV2ZW50cyhyb3c6IGFueSkge1xyXG4gICAgcm93LiRzaG93RGV0YWlsID8gdGhpcy5leHBhbmRlZC5lbWl0KHJvdykgOiB0aGlzLmNvbGxhcHNlZC5lbWl0KHJvdyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRTZWxlY3RBbGxFdmVudHMoc2VsZWN0QWxsOiBib29sZWFuLCByb3dzOiBhbnkpIHtcclxuICAgIHNlbGVjdEFsbCA/IHRoaXMuYWxsU2VsZWN0ZWQuZW1pdChyb3dzKSA6IHRoaXMuYWxsVW5zZWxlY3RlZC5lbWl0KHJvd3MpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0U2VsZWN0RXZlbnRzKHJvdzogYW55KSB7XHJcbiAgICByb3cuJHNlbGVjdGVkID8gdGhpcy5zZWxlY3RlZC5lbWl0KHJvdykgOiB0aGlzLnVuc2VsZWN0ZWQuZW1pdChyb3cpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDb2x1bW5Db2xvcihyb3csIGNvbHVtbikge1xyXG4gICAgY29uc3QgY29sdW1uQ29sb3IgPSBjb2x1bW4uY29sb3I7XHJcblxyXG4gICAgcmV0dXJuIGlzVHlwZW9mKGNvbHVtbkNvbG9yLCAnZnVuY3Rpb24nKSA/IGNvbHVtbkNvbG9yKHJvdywgY29sdW1uLnByb3BlcnR5KSA6IGNvbHVtbkNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0b3JuYSBhIGNvbHVuYSBkYSBsaXN0YSBkZSBjb2x1bmFzIHF1ZSDDqSBkbyB0aXBvIGRldGFpbFxyXG4gIHByaXZhdGUgZ2V0Q29sdW1uTWFzdGVyRGV0YWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maW5kKGNvbCA9PiBjb2wudHlwZSA9PT0gJ2RldGFpbCcpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29sdW5hcyBxdWUgc8OjbyBpbnNlcmlkYXMgbm8gPGhlYWQ+IGRhIHRhYmVsYVxyXG4gIHByaXZhdGUgZ2V0TWFpbkNvbHVtbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZENvbHVtbnMuZmlsdGVyKGNvbCA9PiBjb2wudmlzaWJsZSAhPT0gZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0b3JuYSBhcyBjb2x1bmFzIGNvbSBzdGF0dXNcclxuICBwcml2YXRlIGdldFN1YnRpdGxlQ29sdW1ucygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbCA9PiBjb2wudHlwZSA9PT0gJ3N1YnRpdGxlJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRXZlcnlTZWxlY3RlZChpdGVtczogQXJyYXk8YW55Pik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc29tZUNoZWNrZWRPckluZGV0ZXJtaW5hdGUgPSBpdGVtID0+IGl0ZW0uJHNlbGVjdGVkIHx8IGl0ZW0uJHNlbGVjdGVkID09PSBudWxsO1xyXG4gICAgY29uc3QgZXZlcnlDaGVja2VkID0gaXRlbSA9PiBpdGVtLiRzZWxlY3RlZDtcclxuXHJcbiAgICBpZiAoaXRlbXMuZXZlcnkoZXZlcnlDaGVja2VkKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXRlbXMuc29tZShzb21lQ2hlY2tlZE9ySW5kZXRlcm1pbmF0ZSkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZUNvbHVtbnMoKSB7XHJcbiAgICB0aGlzLnNldE1haW5Db2x1bW5zKCk7XHJcbiAgICB0aGlzLnNldENvbHVtbk1hc3RlckRldGFpbCgpO1xyXG4gICAgdGhpcy5zZXRTdWJ0aXRsZUNvbHVtbnMoKTtcclxuICAgIHRoaXMuZ2V0RmlsdGVyZWRDb2x1bW5zKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbHVtbkxpbmsoKSB7XHJcbiAgICB0aGlzLmNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xyXG4gICAgICBpZiAoY29sdW1uWyd0eXBlJ10gPT09ICdsaW5rJyAmJiAhY29sdW1uWydsaW5rJ10pIHtcclxuICAgICAgICBjb2x1bW5bJ2xpbmsnXSA9ICdsaW5rJztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbHVtbk1hc3RlckRldGFpbCgpIHtcclxuICAgIHRoaXMuY29sdW1uTWFzdGVyRGV0YWlsID0gdGhpcy5nZXRDb2x1bW5NYXN0ZXJEZXRhaWwoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TWFpbkNvbHVtbnMoKSB7XHJcbiAgICB0aGlzLm1haW5Db2x1bW5zID0gdGhpcy5nZXRNYWluQ29sdW1ucygpO1xyXG5cclxuICAgIHRoaXMuaGFzTWFpbkNvbHVtbnMgPSAhIXRoaXMubWFpbkNvbHVtbnMubGVuZ3RoO1xyXG5cclxuICAgIHRoaXMuYWxsQ29sdW1uc1dpZHRoUGl4ZWxzID0gdGhpcy52ZXJpZnlXaWR0aENvbHVtbnNQaXhlbHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U3VidGl0bGVDb2x1bW5zKCkge1xyXG4gICAgdGhpcy5zdWJ0aXRsZUNvbHVtbnMgPSB0aGlzLmdldFN1YnRpdGxlQ29sdW1ucygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzb3J0QXJyYXkoY29sdW1uOiBQb1RhYmxlQ29sdW1uLCBhc2NlbmRpbmc6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGl0ZW1zTGlzdCA9IHRoaXMuaGVpZ2h0ID8gWy4uLnRoaXMuaXRlbXNdIDogdGhpcy5pdGVtcztcclxuICAgIGl0ZW1zTGlzdC5zb3J0KChsZWZ0U2lkZSwgcmlnaHRTaWRlKTogbnVtYmVyID0+XHJcbiAgICAgIHNvcnRWYWx1ZXMobGVmdFNpZGVbY29sdW1uLnByb3BlcnR5XSwgcmlnaHRTaWRlW2NvbHVtbi5wcm9wZXJ0eV0sIGFzY2VuZGluZylcclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5pdGVtcyA9IGl0ZW1zTGlzdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5zZWxlY3RPdGhlclJvd3Mocm93czogQXJyYXk8YW55Piwgcm93KSB7XHJcbiAgICByb3dzLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGlmIChpdGVtICE9PSByb3cpIHtcclxuICAgICAgICBpdGVtLiRzZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmVyaWZ5SW50ZXJhY3RpdmVDb2x1bW5zKCkge1xyXG4gICAgY29uc3QgaGFzTGlua09yRGV0YWlsID0gdGhpcy5jb2x1bW5zLmZpbmQoY29sdW1uID0+IGNvbHVtbi50eXBlID09PSAnbGluaycgfHwgY29sdW1uLnR5cGUgPT09ICdkZXRhaWwnKTtcclxuICAgIGlmICh0aGlzLnNwYWNpbmcgPT09ICdzbWFsbCcgJiYgKHRoaXMuc2VsZWN0YWJsZSB8fCBoYXNMaW5rT3JEZXRhaWwgfHwgdGhpcy52aXNpYmxlQWN0aW9ucy5sZW5ndGggPiAwKSkge1xyXG4gICAgICB0aGlzLnNwYWNpbmcgPSBQb1RhYmxlQ29sdW1uU3BhY2luZy5NZWRpdW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZlcmlmeVdpZHRoQ29sdW1uc1BpeGVscygpIHtcclxuICAgIHJldHVybiB0aGlzLmhhc01haW5Db2x1bW5zID8gdGhpcy5tYWluQ29sdW1ucy5ldmVyeShjb2x1bW4gPT4gY29sdW1uLndpZHRoICYmIGNvbHVtbi53aWR0aC5pbmNsdWRlcygncHgnKSkgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2VydmljZShzZXJ2aWNlOiBzdHJpbmcsIG1ldGhvZDogJ0dFVCcgfCAnREVMRVRFJykge1xyXG4gICAgaWYgKHNlcnZpY2UgJiYgaXNUeXBlb2Yoc2VydmljZSwgJ3N0cmluZycpKSB7XHJcbiAgICAgIHRoaXMucG9UYWJsZVNlcnZpY2Uuc2V0VXJsKHNlcnZpY2UsIG1ldGhvZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZpbHRlcmVkUGFyYW1zKHF1ZXJ5UGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBRdWVyeVBhcmFtc1R5cGUgfSkge1xyXG4gICAgY29uc3QgeyBwYWdlLCBwYWdlU2l6ZSwgc29ydFN0b3JlIH0gPSB0aGlzO1xyXG5cclxuICAgIGNvbnN0IGZpbHRlcmVkUGFyYW1zID0ge307XHJcbiAgICBjb25zdCBvcmRlciA9IHRoaXMuZ2V0T3JkZXJQYXJhbShzb3J0U3RvcmUpO1xyXG4gICAgY29uc3QgcGFyYW1zID0geyBwYWdlLCBwYWdlU2l6ZSwgb3JkZXIsIC4uLnF1ZXJ5UGFyYW1zIH07XHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gcGFyYW1zKSB7XHJcbiAgICAgIGlmIChwYXJhbXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBwYXJhbXNba2V5XSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgZmlsdGVyZWRQYXJhbXNba2V5XSA9IHBhcmFtc1trZXldO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmlsdGVyZWRQYXJhbXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE9yZGVyUGFyYW0oc29ydDogUG9UYWJsZUNvbHVtblNvcnQgPSB7IHR5cGU6IHVuZGVmaW5lZCB9KSB7XHJcbiAgICBjb25zdCB7IGNvbHVtbiwgdHlwZSB9ID0gc29ydDtcclxuXHJcbiAgICBpZiAoIWNvbHVtbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGUgPT09IFBvVGFibGVDb2x1bW5Tb3J0VHlwZS5EZXNjZW5kaW5nKSB7XHJcbiAgICAgIHJldHVybiBgLSR7Y29sdW1uLnByb3BlcnR5fWA7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGAke2NvbHVtbi5wcm9wZXJ0eX1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVQcm9wZXJ0eUZpeGVkKGFycjogQXJyYXk8YW55Pikge1xyXG4gICAgcmV0dXJuIGFyci5tYXAob2JqID0+IHtcclxuICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnZml4ZWQnKSkge1xyXG4gICAgICAgIG9iai5maXhlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBvYmo7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjYWxjdWxhdGVIZWlnaHRUYWJsZUNvbnRhaW5lcihoZWlnaHQpO1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY2hlY2tJbmZpbml0ZVNjcm9sbCgpO1xyXG59XHJcbiJdfQ==
|
|
1259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tdGFibGUvcG8tdGFibGUtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUF3QixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSTVHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFXckUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsUUFBUSxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxFQUFFLEVBQW1CO1FBQ25CLFNBQVMsRUFBRSx5QkFBeUI7UUFDcEMsTUFBTSxFQUFFLGVBQWU7UUFDdkIsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLGFBQWEsRUFBRSxnQkFBZ0I7UUFDL0IsZUFBZSxFQUFFLG1CQUFtQjtRQUNwQyxXQUFXLEVBQUUsU0FBUztRQUN0QixZQUFZLEVBQUUsZ0JBQWdCO1FBQzlCLG1CQUFtQixFQUFFLHVCQUF1QjtRQUM1QyxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDckMsY0FBYyxFQUFFLGlCQUFpQjtRQUNqQyxVQUFVLEVBQUUseUNBQXlDO1FBQ3JELE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLGdCQUFnQixFQUFFLDRCQUE0QjtRQUM5QyxjQUFjLEVBQUUsc0RBQXNEO0tBQ3ZFO0lBQ0QsRUFBRSxFQUFtQjtRQUNuQixTQUFTLEVBQUUsdUJBQXVCO1FBQ2xDLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsTUFBTSxFQUFFLDhCQUE4QjtRQUN0QyxPQUFPLEVBQUUseUJBQXlCO1FBQ2xDLGFBQWEsRUFBRSx5QkFBeUI7UUFDeEMsZUFBZSxFQUFFLHVCQUF1QjtRQUN4QyxXQUFXLEVBQUUsZ0JBQWdCO1FBQzdCLFlBQVksRUFBRSx1QkFBdUI7UUFDckMsbUJBQW1CLEVBQUUsd0JBQXdCO1FBQzdDLGdCQUFnQixFQUFFLG9CQUFvQjtRQUN0QyxjQUFjLEVBQUUsb0JBQW9CO1FBQ3BDLFVBQVUsRUFBRSwwQ0FBMEM7UUFDdEQsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsZ0JBQWdCLEVBQUUsZ0NBQWdDO1FBQ2xELGNBQWMsRUFBRSwyREFBMkQ7S0FDNUU7SUFDRCxFQUFFLEVBQW1CO1FBQ25CLFNBQVMsRUFBRSw4QkFBOEI7UUFDekMsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxlQUFlLEVBQUUsd0JBQXdCO1FBQ3pDLE1BQU0sRUFBRSx5QkFBeUI7UUFDakMsT0FBTyxFQUFFLG9CQUFvQjtRQUM3QixhQUFhLEVBQUUsb0JBQW9CO1FBQ25DLFdBQVcsRUFBRSxZQUFZO1FBQ3pCLFlBQVksRUFBRSwwQkFBMEI7UUFDeEMsbUJBQW1CLEVBQUUsc0JBQXNCO1FBQzNDLGdCQUFnQixFQUFFLGtCQUFrQjtRQUNwQyxjQUFjLEVBQUUsd0JBQXdCO1FBQ3hDLFVBQVUsRUFBRSxxQ0FBcUM7UUFDakQsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsZ0JBQWdCLEVBQUUsNkJBQTZCO1FBQy9DLGNBQWMsRUFBRSx5REFBeUQ7S0FDMUU7SUFDRCxFQUFFLEVBQW1CO1FBQ25CLFNBQVMsRUFBRSx5QkFBeUI7UUFDcEMsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsYUFBYSxFQUFFLG9CQUFvQjtRQUNuQyxlQUFlLEVBQUUsc0JBQXNCO1FBQ3ZDLFdBQVcsRUFBRSxVQUFVO1FBQ3ZCLFlBQVksRUFBRSxVQUFVO1FBQ3hCLG1CQUFtQixFQUFFLDJCQUEyQjtRQUNoRCxnQkFBZ0IsRUFBRSxrQkFBa0I7UUFDcEMsY0FBYyxFQUFFLGtCQUFrQjtRQUNsQyxVQUFVLEVBQUUsK0NBQStDO1FBQzNELE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLGdCQUFnQixFQUFFLDBCQUEwQjtRQUM1QyxjQUFjLEVBQUUsMERBQTBEO0tBQzNFO0NBQ0YsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBRUgsTUFBTSxPQUFnQixvQkFBb0I7SUFvVzlCO0lBRUE7SUFyV1Y7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ29FLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUV6Rzs7Ozs7Ozs7T0FRRztJQUNzRSxrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFDN0c7Ozs7Ozs7O09BUUc7SUFDb0UsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBRXpHOzs7Ozs7OztPQVFHO0lBQ0gsSUFBMEMsc0JBQXNCLENBQUMsSUFBYTtRQUM1RSxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN2RDtRQUNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNtRSxlQUFlLEdBQVksS0FBSyxDQUFDO0lBRXZHOzs7Ozs7OztPQVFHO0lBQytELFlBQVksR0FBWSxLQUFLLENBQUM7SUFFaEc7Ozs7Ozs7O09BUUc7SUFDbUUsZUFBZSxHQUFZLEtBQUssQ0FBQztJQUN2Rzs7Ozs7Ozs7O09BU0c7SUFDc0QsSUFBSSxHQUFZLEtBQUssQ0FBQztJQUUvRTs7Ozs7O09BTUc7SUFDb0UsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBRXpHOzs7Ozs7O09BT0c7SUFDeUQsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUVyRjs7Ozs7Ozs7T0FRRztJQUNpRSxhQUFhLEdBQVksS0FBSyxDQUFDO0lBRW5HOzs7Ozs7T0FNRztJQUMrRCxZQUFZLEdBQVksS0FBSyxDQUFDO0lBRWhHOzs7Ozs7OztPQVFHO0lBQ3dFLG9CQUFvQixHQUFZLElBQUksQ0FBQztJQUVoSDs7Ozs7Ozs7T0FRRztJQUMrRCxXQUFXLEdBQVksS0FBSyxDQUFDO0lBRS9GOzs7Ozs7Ozs7O09BVUc7SUFDcUIsVUFBVSxDQUFVO0lBRTVDOzs7Ozs7Ozs7OztPQVdHO0lBQ3FCLFVBQVUsR0FBaUIsWUFBWSxDQUFDLFVBQVUsQ0FBQztJQUUzRTs7Ozs7T0FLRztJQUN1QixXQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFbkY7Ozs7O09BS0c7SUFDeUIsYUFBYSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRXZGOzs7Ozs7OztPQVFHO0lBQ29CLFNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUU5RTs7Ozs7Ozs7T0FRRztJQUNtQixRQUFRLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFNUU7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDdUIsV0FBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRW5GOzs7Ozs7T0FNRztJQUNtQixRQUFRLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFNUU7Ozs7Ozs7Ozs7OztPQVlHO0lBQ29CLFFBQVEsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFFekc7Ozs7Ozs7Ozs7O09BV0c7SUFDa0IsTUFBTSxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUVyRzs7Ozs7T0FLRztJQUNxQixVQUFVLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFaEY7Ozs7Ozs7O09BUUc7SUFDaUMsb0JBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFFN0Y7Ozs7Ozs7O09BUUc7SUFDaUMsb0JBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFFN0YscUJBQXFCLENBQVU7SUFDL0Isa0JBQWtCLENBQWdCO0lBQ2xDLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsV0FBVyxHQUF5QixFQUFFLENBQUM7SUFDdkMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixZQUFZLEdBQUcsRUFBRSxRQUFRLEVBQWlCLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEUsZUFBZSxHQUF5QixFQUFFLENBQUM7SUFDM0MsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDZCxVQUFVLEdBQWEsS0FBSyxDQUFDO0lBQzdCLGNBQWMsQ0FBdUI7SUFDckMsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2xDLGFBQWEsR0FBZSxFQUFFLENBQUM7SUFDL0IsWUFBWSxDQUFLO0lBQ2pCLGFBQWEsR0FBZSxFQUFFLENBQUM7SUFDdkIscUJBQXFCLEdBQVksS0FBSyxDQUFDO0lBQ3ZDLFFBQVEsR0FBeUIsb0JBQW9CLENBQUMsTUFBTSxDQUFDO0lBQzdELGdCQUFnQixDQUFnQjtJQUNoQyxRQUFRLEdBQTBCLEVBQUUsQ0FBQztJQUNyQyxRQUFRLEdBQXlCLEVBQUUsQ0FBQztJQUNwQyxVQUFVLENBQVU7SUFDcEIsWUFBWSxHQUFXLHFCQUFxQixDQUFDO0lBQzdDLE9BQU8sQ0FBVTtJQUNqQixXQUFXLEdBQWEsS0FBSyxDQUFDO0lBQzlCLE1BQU0sQ0FBdUI7SUFDN0IsU0FBUyxDQUFrQjtJQUMzQixRQUFRLEdBQWEsS0FBSyxDQUFDO0lBQzNCLFdBQVcsQ0FBVztJQUN0QixRQUFRLEdBQVcsZUFBZSxDQUFDO0lBQ25DLFdBQVcsQ0FBUztJQUNwQixpQkFBaUIsQ0FBUztJQUMxQiwwQkFBMEIsQ0FBZTtJQUN6QyxTQUFTLENBQW9CO0lBQzdCLHVCQUF1QixHQUFZLEdBQUcsQ0FBQztJQUN2QyxlQUFlLEdBQWEsS0FBSyxDQUFDO0lBQ2xDLFVBQVUsR0FBYSxLQUFLLENBQUM7SUFDN0IsdUJBQXVCLEdBQWEsS0FBSyxDQUFDO0lBRWxELFlBQ1UsTUFBcUIsRUFDN0IsZUFBa0MsRUFDMUIsY0FBOEI7UUFGOUIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUVyQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFzQixLQUFLLENBQUMsS0FBaUI7UUFDM0MsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUN0RDthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNqRDtRQUVELHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUN4QjthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRWhFLDhEQUE4RDtRQUM5RCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxJQUF3QixPQUFPLENBQUMsT0FBNkI7UUFDM0QsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQztRQUMvRSxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1NBQy9CO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBRTlCLElBQUkscUJBQXFCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDeEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUNsQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztTQUNqQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2RDtRQUVELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsSUFBMEIsU0FBUyxDQUFDLEtBQWE7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQWlDLGNBQWMsQ0FBQyxLQUFhO1FBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztJQUN6RixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxJQUF1QixNQUFNLENBQUMsTUFBYztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQTRCLFVBQVUsQ0FBQyxVQUFtQjtRQUN4RCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BZ0RHO0lBQ0gsSUFBeUIsUUFBUSxDQUFDLEtBQXNCO1FBQ3RELElBQUksS0FBSyxZQUFZLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxFQUFFO1lBQ3hELElBQUksQ0FBQyxTQUFTLEdBQUc7Z0JBQ2YsR0FBRyxzQkFBc0IsQ0FBQyxlQUFlLENBQUM7Z0JBQzFDLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDeEMsR0FBRyxLQUFLO2FBQ1QsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQXdCLE9BQU8sQ0FBQyxPQUFnQjtRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxJQUF3QixPQUFPLENBQUMsT0FBNkI7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSCxJQUEyQixVQUFVLENBQUMsS0FBYztRQUNsRCxJQUFJLENBQUMsV0FBVyxHQUFRLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsSUFBZ0MsY0FBYyxDQUFDLEtBQWM7UUFDM0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ0Q7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQXlDLHNCQUFzQixDQUFDLEtBQWE7UUFDM0UsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssR0FBRyxHQUFHLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXlCRztJQUNILElBQTRCLFVBQVUsQ0FBQyxPQUFlO1FBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILElBQStCLGdCQUFnQixDQUFDLE9BQWU7UUFDN0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILElBQXdCLE9BQU8sQ0FBQyxLQUEyQjtRQUN6RCxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztTQUM3QztJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsSUFBaUMsZUFBZSxDQUFDLE1BQXFCO1FBQ3BFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE1BQU0sVUFBVSxHQUFHO1lBQ2pCLFFBQVE7WUFDUixRQUFRO1lBQ1IsU0FBUztZQUNULE1BQU07WUFDTixNQUFNO1lBQ04sVUFBVTtZQUNWLFVBQVU7WUFDVixVQUFVO1lBQ1YsTUFBTTtZQUNOLE9BQU87WUFDUCxNQUFNO1lBQ04sY0FBYztZQUNkLGdCQUFnQjtTQUNqQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxDQUNMLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FDaEgsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNoQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQzthQUMxQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO0lBQzFHLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQTBCLFNBQVMsQ0FBQyxTQUFrQjtRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQywwQkFBMEIsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO1FBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBRWpDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFRO1FBQ2hCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBRS9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDdEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFRO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU07UUFDdkIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVE7UUFDbkIsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBUTtRQUN0QixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFFekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQzthQUMxQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLFdBQVcsR0FBRyxDQUFDLGdCQUFnQixDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBcUI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7WUFDdkUsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFMUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVsSCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFFNUIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDekUsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsV0FBZ0Q7UUFDL0QsTUFBTSxjQUFjLEdBQStCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELDBCQUEwQixDQUFDLElBQXdCO1FBQ2pELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQTJDO1FBQ3hELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztZQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxJQUFTO1FBQ25DLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsT0FBTyxJQUFJO2FBQ1IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDO2FBQzVDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUscUJBQXFCLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRVMsYUFBYSxDQUFDLGFBQTJCLEVBQUUsWUFBcUI7UUFDeEUsTUFBTSxVQUFVLEdBQUcsT0FBTyxhQUFhLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbEYsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFFbkUsR0FBRyxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7SUFDakMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQW9DO1FBQzNELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QjtTQUNGO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLElBQWdCLEVBQUUsR0FBRztRQUNoRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNuQzthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFRO1FBQy9CLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU8sbUJBQW1CLENBQUMsU0FBa0IsRUFBRSxJQUFTO1FBQ3ZELFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFRO1FBQy9CLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU8sY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFakMsT0FBTyxRQUFRLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQzdGLENBQUM7SUFFRCw0REFBNEQ7SUFDcEQscUJBQXFCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxnREFBZ0Q7SUFDeEMsY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZ0NBQWdDO0lBQ3hCLGtCQUFrQjtRQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWlCO1FBQ3ZDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDO1FBQ3JGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUU1QyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxFQUFFO1lBQzFDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBRWhELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxNQUFxQixFQUFFLFNBQWtCO1FBQ3pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0QsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQVUsRUFBRSxDQUM3QyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUM3RSxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBZ0IsRUFBRSxHQUFHO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO2dCQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDeEcsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksZUFBZSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3RHLElBQUksQ0FBQyxPQUFPLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDckgsQ0FBQztJQUVPLFVBQVUsQ0FBQyxPQUFlLEVBQUUsTUFBd0I7UUFDMUQsSUFBSSxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsV0FBZ0Q7UUFDeEUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRTNDLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUV6RCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRTtZQUN4QixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDM0QsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNuQztTQUNGO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxPQUEwQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7UUFDakUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFOUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxLQUFLLHFCQUFxQixDQUFDLFVBQVUsRUFBRTtZQUM3QyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzlCO1FBRUQsT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsR0FBZTtRQUN6QyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMvQixHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUNuQjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhFQTluQ21CLG9CQUFvQjs2REFBcEIsb0JBQW9CLDJFQWlCVyxnQkFBZ0Isd0VBV2QsZ0JBQWdCLGtFQVVsQixnQkFBZ0Isa0pBK0JqQixnQkFBZ0IscURBV3BCLGdCQUFnQiwrREFXWixnQkFBZ0IsNEJBVzdCLGdCQUFnQixrRUFTRixnQkFBZ0IscUNBVTNCLGdCQUFnQix5REFXUixnQkFBZ0IscURBU2xCLGdCQUFnQiw4RUFXUCxnQkFBZ0IsbURBV3pCLGdCQUFnQjs7dUZBbksxQyxvQkFBb0I7Y0FEekMsU0FBUzs2SEFrQitELGdCQUFnQjtrQkFBdEYsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFXSSxrQkFBa0I7a0JBQTFGLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBVUEsZ0JBQWdCO2tCQUF0RixLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVczQixzQkFBc0I7a0JBQS9ELEtBQUs7bUJBQUMsNkJBQTZCO1lBb0JrQyxlQUFlO2tCQUFwRixLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVdGLFlBQVk7a0JBQTdFLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBV00sZUFBZTtrQkFBcEYsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFXWCxJQUFJO2tCQUE1RCxLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFTZ0IsZ0JBQWdCO2tCQUF0RixLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVVULE9BQU87a0JBQWxFLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQVdVLGFBQWE7a0JBQWhGLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBU0EsWUFBWTtrQkFBN0UsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFXVyxvQkFBb0I7a0JBQTlGLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBV1AsV0FBVztrQkFBNUUsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFheEMsVUFBVTtrQkFBakMsS0FBSzttQkFBQyxlQUFlO1lBY0UsVUFBVTtrQkFBakMsS0FBSzttQkFBQyxlQUFlO1lBUUksV0FBVztrQkFBcEMsTUFBTTttQkFBQyxnQkFBZ0I7WUFRSSxhQUFhO2tCQUF4QyxNQUFNO21CQUFDLGtCQUFrQjtZQVdILFNBQVM7a0JBQS9CLE1BQU07bUJBQUMsYUFBYTtZQVdDLFFBQVE7a0JBQTdCLE1BQU07bUJBQUMsWUFBWTtZQW1CTSxXQUFXO2tCQUFwQyxNQUFNO21CQUFDLGdCQUFnQjtZQVNGLFFBQVE7a0JBQTdCLE1BQU07bUJBQUMsWUFBWTtZQWVHLFFBQVE7a0JBQTlCLE1BQU07bUJBQUMsYUFBYTtZQWNBLE1BQU07a0JBQTFCLE1BQU07bUJBQUMsV0FBVztZQVFLLFVBQVU7a0JBQWpDLE1BQU07bUJBQUMsY0FBYztZQVdjLG9CQUFvQjtrQkFBdkQsTUFBTTttQkFBQywwQkFBMEI7WUFXRSxvQkFBb0I7a0JBQXZELE1BQU07bUJBQUMsMEJBQTBCO1lBc0RaLEtBQUs7a0JBQTFCLEtBQUs7bUJBQUMsU0FBUztZQWlDUSxPQUFPO2tCQUE5QixLQUFLO21CQUFDLFdBQVc7WUFxQ1EsU0FBUztrQkFBbEMsS0FBSzttQkFBQyxhQUFhO1lBbUJhLGNBQWM7a0JBQTlDLEtBQUs7bUJBQUMsb0JBQW9CO1lBaUJKLE1BQU07a0JBQTVCLEtBQUs7bUJBQUMsVUFBVTtZQWlCVyxVQUFVO2tCQUFyQyxLQUFLO21CQUFDLGVBQWU7WUF5REcsUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZO1lBd0JLLE9BQU87a0JBQTlCLEtBQUs7bUJBQUMsV0FBVztZQXNCTSxPQUFPO2tCQUE5QixLQUFLO21CQUFDLFdBQVc7WUF1QlMsVUFBVTtrQkFBcEMsS0FBSzttQkFBQyxjQUFjO1lBcUJXLGNBQWM7a0JBQTdDLEtBQUs7bUJBQUMsbUJBQW1CO1lBa0JlLHNCQUFzQjtrQkFBOUQsS0FBSzttQkFBQyw0QkFBNEI7WUFrQ1AsVUFBVTtrQkFBckMsS0FBSzttQkFBQyxlQUFlO1lBeUJTLGdCQUFnQjtrQkFBOUMsS0FBSzttQkFBQyxrQkFBa0I7WUFzQkQsT0FBTztrQkFBOUIsS0FBSzttQkFBQyxXQUFXO1lBcUJlLGVBQWU7a0JBQS9DLEtBQUs7bUJBQUMsb0JBQW9CO1lBZ0VELFNBQVM7a0JBQWxDLEtBQUs7bUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFBvRGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1kYXRlL3BvLWRhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBwb0xvY2FsZURlZmF1bHQgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5jb25zdGFudCc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyLCBjb252ZXJ0VG9Cb29sZWFuLCBpc1R5cGVvZiwgc29ydFZhbHVlcyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzJztcbmltcG9ydCB7IFBvRmlsdGVyTW9kZSB9IGZyb20gJy4uL3BvLXNlYXJjaC9wby1zZWFyY2gtZmlsdGVyLW1vZGUuZW51bSc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uU29ydFR5cGUgfSBmcm9tICcuL2VudW1zL3BvLXRhYmxlLWNvbHVtbi1zb3J0LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uU3BhY2luZyB9IGZyb20gJy4vZW51bXMvcG8tdGFibGUtc3BhY2luZy5lbnVtJztcbmltcG9ydCB7IFBvVGFibGVBY3Rpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uU29ydCB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10YWJsZS1jb2x1bW4tc29ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UYWJsZUNvbHVtbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10YWJsZS1jb2x1bW4uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGFibGVGaWx0ZXJlZEl0ZW1zUGFyYW1zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRhYmxlLWZpbHRlcmVkLWl0ZW1zLXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UYWJsZUxpdGVyYWxzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRhYmxlLWxpdGVyYWxzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlUmVzcG9uc2VBcGkgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtcmVzcG9uc2UtYXBpLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tdGFibGUuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UGFyYW1zVHlwZSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XG5cbmV4cG9ydCBjb25zdCBwb1RhYmxlQ29udGFpbmVyID0gWydib3JkZXInLCAnc2hhZG93J107XG5leHBvcnQgY29uc3QgcG9UYWJsZUNvbnRhaW5lckRlZmF1bHQgPSAnYm9yZGVyJztcbmV4cG9ydCBjb25zdCBwb1RhYmxlUGFyYW1EZWxldGVBcGkgPSAnaWQnO1xuXG5leHBvcnQgY29uc3QgcG9UYWJsZUxpdGVyYWxzRGVmYXVsdCA9IHtcbiAgZW46IDxQb1RhYmxlTGl0ZXJhbHM+e1xuICAgIG5vQ29sdW1uczogJ0NvbHVtbnMgYXJlIG5vdCBkZWZpbmVkJyxcbiAgICBub0RhdGE6ICdObyBkYXRhIGZvdW5kJyxcbiAgICBub0l0ZW06ICdObyBzZWxlY3RlZCBpdGVtJyxcbiAgICBvbmVJdGVtOiAnMSBzZWxlY3RlZCBpdGVtJyxcbiAgICBtdWx0aXBsZUl0ZW1zOiAnc2VsZWN0ZWQgaXRlbXMnLFxuICAgIG5vVmlzaWJsZUNvbHVtbjogJ05vIHZpc2libGUgY29sdW1uJyxcbiAgICBsb2FkaW5nRGF0YTogJ0xvYWRpbmcnLFxuICAgIGxvYWRNb3JlRGF0YTogJ0xvYWQgbW9yZSBkYXRhJyxcbiAgICBzZWVDb21wbGV0ZVN1YnRpdGxlOiAnU2VlIGNvbXBsZXRlIHN1YnRpdGxlJyxcbiAgICBjb21wbGV0ZVN1YnRpdGxlOiAnQ29tcGxldGUgc3VidGl0bGUnLFxuICAgIGNvbHVtbnNNYW5hZ2VyOiAnQ29sdW1ucyBtYW5hZ2VyJyxcbiAgICBib2R5RGVsZXRlOiAnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/JyxcbiAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgZGVsZXRlU3VjY2Vzc2Z1bDogJ0l0ZW1zIHJlbW92ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICBkZWxldGVBcGlFcnJvcjogJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQsIHBsZWFzZSB0cnkgYWdhaW4gbGF0ZXInXG4gIH0sXG4gIGVzOiA8UG9UYWJsZUxpdGVyYWxzPntcbiAgICBub0NvbHVtbnM6ICdDb2x1bW5hcyBubyBkZWZpbmlkYXMnLFxuICAgIG5vRGF0YTogJ0RhdG9zIG5vIGVuY29udHJhZG9zJyxcbiAgICBub0l0ZW06ICdOaW5nw7puIGVsZW1lbnRvIHNlbGVjY2lvbmFkbycsXG4gICAgb25lSXRlbTogJzEgZWxlbWVudG8gc2VsZWNjaW9uYWRvJyxcbiAgICBtdWx0aXBsZUl0ZW1zOiAnZWxlbWVudG9zIHNlbGVjY2lvbmFkb3MnLFxuICAgIG5vVmlzaWJsZUNvbHVtbjogJ1NpbiBjb2x1bW5hcyB2aXNpYmxlcycsXG4gICAgbG9hZGluZ0RhdGE6ICdDYXJnYW5kbyBkYXRvcycsXG4gICAgbG9hZE1vcmVEYXRhOiAnQ2FyZ2FyIG3DoXMgcmVzdWx0YWRvcycsXG4gICAgc2VlQ29tcGxldGVTdWJ0aXRsZTogJ1ZlciBzdWJ0aXR1bG8gY29tcGxldG8nLFxuICAgIGNvbXBsZXRlU3VidGl0bGU6ICdTdWJ0aXR1bG8gY29tcGxldG8nLFxuICAgIGNvbHVtbnNNYW5hZ2VyOiAnR2VyZW50ZSBkZSBjb2x1bW5hJyxcbiAgICBib2R5RGVsZXRlOiAnwr9SZWFsbWVudGUgZGVzZWEgZWxpbWluYXIgZXN0ZSBlbGVtZW50bz8nLFxuICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICBkZWxldGU6ICdCb3JyYXInLFxuICAgIGRlbGV0ZVN1Y2Nlc3NmdWw6ICdFbGVtZW50b3MgZWxpbWluYWRvcyBjb24gw6l4aXRvJyxcbiAgICBkZWxldGVBcGlFcnJvcjogJ09jdXJyacOzIHVuIGVycm9yIGluZXNwZXJhZG8sIGludMOpbnRhbG8gZGUgbnVldm8gbcOhcyB0YXJkZSdcbiAgfSxcbiAgcHQ6IDxQb1RhYmxlTGl0ZXJhbHM+e1xuICAgIG5vQ29sdW1uczogJ05lbmh1bWEgZGVmaW5pw6fDo28gZGUgY29sdW5hcycsXG4gICAgbm9EYXRhOiAnTmVuaHVtIGRhZG8gZW5jb250cmFkbycsXG4gICAgbm9WaXNpYmxlQ29sdW1uOiAnTmVuaHVtYSBjb2x1bmEgdmlzw612ZWwnLFxuICAgIG5vSXRlbTogJ05lbmh1bSBpdGVtIHNlbGVjaW9uYWRvJyxcbiAgICBvbmVJdGVtOiAnMSBpdGVtIHNlbGVjaW9uYWRvJyxcbiAgICBtdWx0aXBsZUl0ZW1zOiAnaXRlbnMgc2VsZWNpb25hZG9zJyxcbiAgICBsb2FkaW5nRGF0YTogJ0NhcnJlZ2FuZG8nLFxuICAgIGxvYWRNb3JlRGF0YTogJ0NhcnJlZ2FyIG1haXMgcmVzdWx0YWRvcycsXG4gICAgc2VlQ29tcGxldGVTdWJ0aXRsZTogJ1ZlciBsZWdlbmRhIGNvbXBsZXRhJyxcbiAgICBjb21wbGV0ZVN1YnRpdGxlOiAnTGVnZW5kYSBjb21wbGV0YScsXG4gICAgY29sdW1uc01hbmFnZXI6ICdHZXJlbmNpYWRvciBkZSBjb2x1bmFzJyxcbiAgICBib2R5RGVsZXRlOiAnRGVzZWphIHJlYWxtZW50ZSBleGNsdWlyIGVzc2UgaXRlbT8nLFxuICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICBkZWxldGU6ICdFeGNsdWlyJyxcbiAgICBkZWxldGVTdWNjZXNzZnVsOiAnSXRlbnMgcmVtb3ZpZG9zIGNvbSBzdWNlc3NvJyxcbiAgICBkZWxldGVBcGlFcnJvcjogJ09jb3JyZXUgdW0gZXJybyBpbmVzcGVyYWRvLCB0ZW50ZSBub3ZhbWVudGUgbWFpcyB0YXJkZSEnXG4gIH0sXG4gIHJ1OiA8UG9UYWJsZUxpdGVyYWxzPntcbiAgICBub0NvbHVtbnM6ICfQndC10YIg0L7Qv9GA0LXQtNC10LvQtdC90LjRjyDRgdGC0L7Qu9Cx0YbQsCcsXG4gICAgbm9EYXRhOiAn0JTQsNC90L3Ri9C1INC90LUg0L3QsNC50LTQtdC90YsnLFxuICAgIG5vSXRlbTogJ9Cd0LXRgiDQstGL0LHRgNCw0L3QvdC+0LPQviDRjdC70LXQvNC10L3RgtCwJyxcbiAgICBvbmVJdGVtOiAnMSDRjdC70LXQvNC10L3RgiDQstGL0LHRgNCw0L0nLFxuICAgIG11bHRpcGxlSXRlbXM6ICfQstGL0LHRgNCw0L3QvdGL0LUg0Y3Qu9C10LzQtdC90YLRiycsXG4gICAgbm9WaXNpYmxlQ29sdW1uOiAn0L3QtdGCINCy0LjQtNC40LzRi9GFINGB0YLQvtC70LHRhtC+0LInLFxuICAgIGxvYWRpbmdEYXRhOiAn0JfQsNCz0YDRg9C30LrQsCcsXG4gICAgbG9hZE1vcmVEYXRhOiAn0JfQsNCz0YDRg9C30LrQsCcsXG4gICAgc2VlQ29tcGxldGVTdWJ0aXRsZTogJ9Cf0L7RgdC80L7RgtGA0LXRgtGMINC/0L7Qu9C90YvQuSDRgdGD0LHRgtC40YLRgCcsXG4gICAgY29tcGxldGVTdWJ0aXRsZTogJ9Cf0L7Qu9C90YvQuSDQt9Cw0LPQvtC70L7QstC+0LonLFxuICAgIGNvbHVtbnNNYW5hZ2VyOiAn0LzQtdC90LXQtNC20LXRgCDQutC+0LvQvtC90L7QuicsXG4gICAgYm9keURlbGV0ZTogJ9CS0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGN0YLQvtGCINGN0LvQtdC80LXQvdGCPycsXG4gICAgY2FuY2VsOiAn0J7RgtC80LXQvdCwJyxcbiAgICBkZWxldGU6ICfQo9C00LDQu9C40YLRjCcsXG4gICAgZGVsZXRlU3VjY2Vzc2Z1bDogJ9Ct0LvQtdC80LXQvdGC0Ysg0YPRgdC/0LXRiNC90L4g0YPQtNCw0LvQtdC90YsnLFxuICAgIGRlbGV0ZUFwaUVycm9yOiAn0J/RgNC+0LjQt9C+0YjQu9CwINC90LXQv9GA0LXQtNCy0LjQtNC10L3QvdCw0Y8g0L7RiNC40LHQutCwLCDQv9C+0LLRgtC+0YDQuNGC0LUg0L/QvtC/0YvRgtC60YMg0L/QvtC30LbQtSdcbiAgfVxufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBFc3RlIGNvbXBvbmVudGUgZGUgdGFiZWxhIMOpIHV0aWxpemFkbyBwYXJhIGV4aWJpw6fDo28gZGUgZGFkb3MgY29tIGRpZmVyZW50ZXMgdGlwb3MgY29tbyBwb3IgZXhlbXBsbyB0ZXh0b3MsIGRhdGEsIGhvcmFzIGUgbsO6bWVyb3MgY29tXG4gKiBmb3JtYXRvIHBlcnNvbmFsaXphZG8uXG4gKlxuICogVGFtYsOpbSDDqSBwb3NzaXZlbCBjcmlhciB0YWJlbGFzIGNvbSBvcmRlbmHDp8OjbyBkZSBkYWRvcywgbGluaGFzIGNvbSBkZXRhbGhlcywgY29sdW5hIHBhcmEgc2VsZcOnw6NvIGRlIGxpbmhhcywgY29sdW5hIGNvbSBhw6fDtWVzIGUgdGFtYsOpbVxuICogY2FycmVnYW1lbnRvIHBvciBkZW1hbmRhIGF0cmF2w6lzIGRvIGJvdMOjbyAqKkNhcnJlZ2FyIG1haXMgcmVzdWx0YWRvcyoqLlxuICpcbiAqID4gQXMgbGluaGFzIGRlIGRldGFsaGVzIHBvZGVtIHRhbWLDqW0gc2VyIGN1c3RvbWl6YWRhcyBhdHJhdsOpcyBkbyBbYHAtdGFibGUtcm93LXRlbXBsYXRlYF0oL2RvY3VtZW50YXRpb24vcG8tdGFibGUtcm93LXRlbXBsYXRlKS5cbiAqXG4gKiA+IEFzIGNvbHVuYXMgcG9kZW0gc2VyIGN1c3RvbWl6YWRhcyBhdHJhdsOpcyBkb3MgdGVtcGxhdGVzIFtgcC10YWJsZS1jb2x1bW4tdGVtcGxhdGVgXSgvZG9jdW1lbnRhdGlvbi9wby10YWJsZS1jb2x1bW4tdGVtcGxhdGUpXG4gKiBlIFtgcC10YWJsZS1jZWxsLXRlbXBsYXRlYF0oL2RvY3VtZW50YXRpb24vcG8tdGFibGUtY2VsbC10ZW1wbGF0ZSkuXG4gKlxuICogTyBjb21wb25lbnRlIHBlcm1pdGUgZ2VyZW5jaWFyIGEgZXhpYmnDp8OjbyBkYXMgY29sdW5hcyBkaW5hbWljYW1lbnRlLiBFc3RhIGZ1bmNpb25hbGlkYWRlIHBvZGUgc2VyIGFjZXNzYWRhIGF0cmF2w6lzIGRvIMOtY29uZSBkZSBlbmdyZW5hZ2VtXG4gKiBubyBjYW50byBzdXBlcmlvciBkaXJlaXRvIGRvIGNhYmXDp2FsaG8gZGEgdGFiZWxhLlxuICpcbiAqIENhc28gYSBsYXJndXJhIGRlIHRvZGFzIGFzIGNvbHVuYXMgZm9yZW0gZGVmaW5pZGFzIGUgbyB0b3RhbCB1bHRyYXBhc3NhciBvIHRhbWFuaG8gdGFiZWxhLCBzZXLDoSBleGliaWRvIHVtICpzY3JvbGwqIG5hIGhvcml6b250YWwgcGFyYSBhXG4gKiBjb21wbGV0YSB2aXN1YWxpemHDp8OjbyBkb3MgZGFkb3MuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBvVGFibGVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgMTYueC54XG4gICAqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogKipEZXByZWNhdGVkIDE2LngueCoqLlxuICAgKlxuICAgKiA+IFBvciByZWdyYXMgZGUgYWNlc3NpYmlsaWRhZGUgYSBjw6lsdWxhIGRhIHRhYmVsYSBhcHJlc2VudGFyw6EgcmV0aWPDqm5jaWFzIGF1dG9tw6F0aWNhbWVudGVcbiAgICogcXVhbmRvIG7Do28gaG91dmVyIGVzcGHDp28gcGFyYSBvIHNldSBjb250w6l1ZG8gZSBwb3IgaXNzbyBhIHByb3ByaWVkYWRlIHNlcsOhIGRlcHJlY2lhZGEuXG4gICAqXG4gICAqIFNlIHZlcmRhZGVpcm8sIGhhYmlsaXRhIGEgcXVlYnJhIGRlIHRleHRvIGFvIHRyYW5zYm9yZGEtbG8gZGVudHJvIGRlIHF1YWxxdWVyIGNvbHVuYS5cbiAgICogPiBRdWFuZG8gb2NvcnJlciBhIHF1ZWJyYSBkZSB0ZXh0bywgYW8gcGFzc2FyIG8gbW91c2Ugbm8gY29udGXDumRvIGRhIGPDqWx1bGEsXG4gICAqIG8gbWVzbW8gc2Vyw6EgZXhpYmlkbyBhdHJhdsOpcyBkbyBbYHBvLXRvb2x0aXBgXSgvZG9jdW1lbnRhdGlvbi9wby10b29sdGlwKS5cbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1oaWRlLXRleHQtb3ZlcmZsb3cnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgaGlkZVRleHRPdmVyZmxvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBlcm1pdGUgcXVlIG8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcywgcmVzcG9uc8OhdmVsIHBlbGEgZGVmaW5pw6fDo28gZGUgcXVhaXMgY29sdW5hcyBzZXLDo28gZXhpYmlkYXMsIHNlamEgZXNjb25kaWRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtaGlkZS1jb2x1bW5zLW1hbmFnZXInLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgaGlkZUNvbHVtbnNNYW5hZ2VyOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBlcm1pdGUgcXVlIGFzIGHDp8O1ZXMgZW0gbG90ZSwgcmVzcG9uc8OhdmVsIHBvciBleGNsdWlyIGUgZXhpYmlyIGEgcXVhbnRpZGFkZSBkZSBpdGVucywgc2VqYW0gZXNjb25kaWRhcy5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6ICdwLWhpZGUtYmF0Y2gtYWN0aW9ucycsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBoaWRlQmF0Y2hBY3Rpb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogUGVybWl0ZSBxdWUgYXMgYcOnw7VlcyBwYXJhIGZpeGFyIHVtYSBjb2x1bmEgZGEgdGFiZWxhIHNlamFtIGVzY29uZGlkYXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1oaWRlLWFjdGlvbi1maXhlZC1jb2x1bW5zJykgc2V0IGhpZGVBY3Rpb25GaXhlZENvbHVtbnMoaGlkZTogYm9vbGVhbikge1xuICAgIGlmIChoaWRlKSB7XG4gICAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLnJlbW92ZVByb3BlcnR5Rml4ZWQodGhpcy5jb2x1bW5zKTtcbiAgICB9XG4gICAgdGhpcy5faGlkZUFjdGlvbkZpeGVkQ29sdW1ucyA9IGhpZGU7XG4gIH1cblxuICBnZXQgaGlkZUFjdGlvbkZpeGVkQ29sdW1ucygpIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZUFjdGlvbkZpeGVkQ29sdW1ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBlcm1pdGUgcXVlIG8gY2FtcG8gZGUgcGVzcXVpc2Egc2VqYSBlc2NvbmRpZG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1oaWRlLXRhYmxlLXNlYXJjaCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBoaWRlVGFibGVTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBQZXJtaXRlIGZlY2hhciB1bSBkZXRhbGhlIG91IHJvdyB0ZW1wbGF0ZSBhdXRvbWF0aWNhbWVudGUsIGFvIGFicmlyIG91dHJvIGl0ZW0uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1hdXRvLWNvbGxhcHNlJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGF1dG9Db2xsYXBzZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBlcm1pdGUgcXVlIHNlamEgYWRpY2lvbmFkbyBvIGVzdGFkbyBkZSBjYXJyZWdhbWVudG8gbm8gYm90w6NvIFwiQ2FycmVnYXIgbWFpcyByZXN1bHRhZG9zXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1sb2FkaW5nLXNob3ctbW9yZScsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBsb2FkaW5nU2hvd01vcmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSGFiaWxpdGEgZW0gdG9kYXMgYXMgY29sdW5hcyBhIG9ww6fDo28gZGUgb3JkZW5hw6fDo28gZGUgZGFkb3MuIENhc28gYSBjb2x1bmEgc2VqYSBkbyB0aXBvICdkYXRhJyBvdSAnZGF0ZVRpbWUnIGFcbiAgICogbWVzbWEgZGV2ZSByZXNwZWl0YXIgb3MgdGlwb3MgZGUgZW50cmFkYSBkZWZpbmlkb3MgcGFyYSBxdWUgc2VqYW0gb3JkZW5hZGFzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3Atc29ydCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBzb3J0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBTZSB2ZXJkYWRlaXJvLCB0b3JuYSBoYWJpbGl0YWRvIG8gYm90w6NvIFwiQ2FycmVnYXIgbWFpcyByZXN1bHRhZG9zXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1zaG93LW1vcmUtZGlzYWJsZWQnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgc2hvd01vcmVEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSGFiaWxpdGEgb3UgZGVzYWJpbGl0YSBvIGVzdGlsbyBsaXN0cmFkbyBkYSB0YWJlbGEgKGBzdHJpcGVkYCkuXG4gICAqID4gUmVjb21lbmRhZG8gcGFyYSB0YWJlbGFzIGNvbSBtYWlvciBuw7ptZXJvIGRlIGRhZG9zLCBmYWNpbGl0YW5kbyBhIHN1YSB2aXN1YWxpemHDp8OjbyBuYSB0YWJlbGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1zdHJpcGVkJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHN0cmlwZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEVzY29uZGUgbyAqY2hlY2tib3gqIHBhcmEgc2VsZcOnw6NvIGRlIHRvZGFzIGFzIGxpbmhhcy5cbiAgICpcbiAgICogPiBTZW1wcmUgcmVjZWJlcsOhICp0cnVlKiBjYXNvIGEgc2VsZcOnw6NvIGRlIGFwZW5hcyB1bWEgbGluaGEgZXN0ZWphIGF0aXZhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtaGlkZS1zZWxlY3QtYWxsJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGhpZGVTZWxlY3RBbGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBxdWUgc29tZW50ZSB1bWEgbGluaGEgZGEgdGFiZWxhIHBvZGUgc2VyIHNlbGVjaW9uYWRhLlxuICAgKlxuICAgKiA+IEVzdGEgZGVmaW5pw6fDo28gbsOjbyBzZSBhcGxpY2EgYW9zIGl0ZW5zIGZpbGhvcywgb3MgbWVzbW9zIHBvc3N1ZW0gY29tcG9ydGFtZW50byBpbmRlcGVuZGVudGUgZG8gaXRlbSBwYWkuXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3Atc2luZ2xlLXNlbGVjdCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBzaW5nbGVTZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBlcm1pdGUgc2VsZWNpb25hciB1bSBpdGVtIGRhIHRhYmVsYSBjbGljYW5kbyBuYSBsaW5oYS5cbiAgICpcbiAgICogPiBDYXNvIGhhamEgbmVjZXNzaWRhZGUgZGUgc2VsZWNpb25hciBvIGl0ZW0gYXBlbmFzIHZpYSByYWRpbyBvdSBjaGVja2JveCwgZGV2ZS1zZSBkZWZpbmlyIGVzdGEgcHJvcHJpZWRhZGUgY29tbyBgZmFsc2VgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdHJ1ZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1zZWxlY3RhYmxlLWVudGlyZS1saW5lJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHNlbGVjdGFibGVFbnRpcmVMaW5lOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgcXVlIGEgY29sdW5hIGRlIGHDp8O1ZXMgZmljYXLDoSBubyBsYWRvIGRpcmVpdG8gZGEgdGFiZWxhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtYWN0aW9ucy1yaWdodCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBhY3Rpb25SaWdodDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSB1bWEgcXVhbnRpZGFkZSBtw6F4aW1hIGRlIGNvbHVuYXMgcXVlIHNlcsOjbyBleGliaWRhcyBuYSB0YWJlbGEuXG4gICAqXG4gICAqIFF1YW5kbyBjaGVnYXIgbm8gdmFsb3IgaW5mb3JtYWRvLCBhcyBjb2x1bmFzIHF1ZSBuw6NvIGVzdGl2ZXJlbSBzZWxlY2lvbmFkYXMgZmljYXLDo29cbiAgICogZGVzYWJpbGl0YWRhcyBlIGNhc28gaG91dmVyIG1haXMgY29sdW5hcyB2aXPDrXZlaXMgZG8gcXVlIG8gcGVybWl0aWRvLCBhcyBleGNlZGVudGVzXG4gICAqIHNlcsOjbyBpZ25vcmFkYXMgcG9yIG9yZGVtIGRlIHBvc2nDp8Ojby5cbiAgICovXG4gIEBJbnB1dCgncC1tYXgtY29sdW1ucycpIG1heENvbHVtbnM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIG8gbW9kbyBkZSBwZXNxdWlzYSB1dGlsaXphZG8gbm8gY2FtcG8gZGUgYnVzY2EsIHF1YW5kbyBoYWJpbGl0YWRvLlxuICAgKiBWYWxvcmVzIGRlZmluaWRvcyBubyBlbnVtOiBQb1NlYXJjaEZpbHRlck1vZGVcbiAgICogPiBPYnM6IEEgcGVzcXVpc2Egw6kgcmVhbGl6YWRhIGV4Y2x1c2l2YW1lbnRlIG5vcyBkYWRvcyBsb2NhaXMsIG91IHNlamEsIGFxdWVsZXMgcXVlIGZvcmFtXG4gICAqID4gcmVuZGVyaXphZG9zIG5hIHRhYmVsYS5cbiAgICpcbiAgICogQGRlZmF1bHQgYHN0YXJ0c1dpdGhgXG4gICAqL1xuICBASW5wdXQoJ3AtZmlsdGVyLXR5cGUnKSBmaWx0ZXJUeXBlOiBQb0ZpbHRlck1vZGUgPSBQb0ZpbHRlck1vZGUuc3RhcnRzV2l0aDtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFdmVudG8gZXhlY3V0YWRvIHF1YW5kbyB0b2RhcyBhcyBsaW5oYXMgc8OjbyBzZWxlY2lvbmFkYXMgcG9yIG1laW8gZG8gKmNoZWNrYm94KiBxdWUgc2VsZWNpb25hIHRvZGFzIGFzIGxpbmhhcy5cbiAgICovXG4gIEBPdXRwdXQoJ3AtYWxsLXNlbGVjdGVkJykgYWxsU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRXZlbnRvIGV4ZWN1dGFkbyBxdWFuZG8gYSBzZWxlw6fDo28gZGFzIGxpbmhhcyDDqSBkZXNtYXJjYWRhIHBvciBtZWlvIGRvICpjaGVja2JveCogcXVlIHNlbGVjaW9uYSB0b2RhcyBhcyBsaW5oYXMuXG4gICAqL1xuICBAT3V0cHV0KCdwLWFsbC11bnNlbGVjdGVkJykgYWxsVW5zZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gZXhlY3V0YWRvIGFvIGNvbGFwc2FyIHVtYSBsaW5oYSBkbyBgcG8tdGFibGVgLlxuICAgKlxuICAgKiA+IENvbW8gcGFyw6JtZXRybyBvIGNvbXBvbmVudGUgZW52aWEgbyBpdGVtIGNvbGFwc2Fkby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY29sbGFwc2VkJykgY29sbGFwc2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBleGVjdXRhZG8gYW8gZXhwYW5kaXIgdW1hIGxpbmhhIGRvIGBwby10YWJsZWAuXG4gICAqXG4gICAqID4gQ29tbyBwYXLDom1ldHJvIG8gY29tcG9uZW50ZSBlbnZpYSBvIGl0ZW0gZXhwYW5kaWRvLlxuICAgKi9cbiAgQE91dHB1dCgncC1leHBhbmRlZCcpIGV4cGFuZGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBleGVjdXRhZG8gYXDDs3MgbyBtw6l0b2RvIGRlIGV4Y2x1c8OjbyBzZXIgZmluYWxpemFkby5cbiAgICpcbiAgICogYGBgXG4gICAqPHBvLXRhYmxlXG4gICAqICAocC1kZWxldGUtaXRlbXMpPVwiaXRlbXMgPSAkZXZlbnRcIlxuICAgKiA+XG4gICAqPC9wby10YWJsZT5cbiAgICogYGBgXG4gICAqXG4gICAqXG4gICAqID4gQ29tbyBwYXLDom1ldHJvIG8gY29tcG9uZW50ZSBlbnZpYSBhIGxpc3RhIGF0dWFsaXphZGEsIHNlbSBvcyBpdGVucyBleGNsdcOtZG9zLlxuICAgKi9cbiAgQE91dHB1dCgncC1kZWxldGUtaXRlbXMnKSBldmVudERlbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gZXhlY3V0YWRvIGFvIHNlbGVjaW9uYXIgdW1hIGxpbmhhIGRvIGBwby10YWJsZWAuXG4gICAqL1xuICBAT3V0cHV0KCdwLXNlbGVjdGVkJykgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogUmVjZWJlIHVtYSBhw6fDo28gZGUgY2xpcXVlIHBhcmEgbyBib3TDo28gXCJDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3NcIiwgY2FzbyBuZW5odW1hIGHDp8OjbyBmb3IgZGVmaW5pZGEgbyBtZXNtb1xuICAgKiBuw6NvIMOpIHZpc8OtdmVsLlxuICAgKlxuICAgKiBSZWNlYmUgdW0gb2JqZXRvIGB7IGNvbHVtbiwgdHlwZSB9YCBvbmRlOlxuICAgKlxuICAgKiAtIGNvbHVtbiAoYFBvVGFibGVDb2x1bW5gKTogb2JqZXRvIGRhIGNvbHVuYSBxdWUgZXN0w6Egb3JkZW5hZGEuXG4gICAqIC0gdHlwZSAoYFBvVGFibGVDb2x1bW5Tb3J0VHlwZWApOiB0aXBvIGRhIG9yZGVuYcOnw6NvLlxuICAgKi9cbiAgQE91dHB1dCgncC1zaG93LW1vcmUnKSBzaG93TW9yZTogRXZlbnRFbWl0dGVyPFBvVGFibGVDb2x1bW5Tb3J0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UG9UYWJsZUNvbHVtblNvcnQ+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIGV4ZWN1dGFkbyBhbyBvcmRlbmFyIGNvbHVuYXMgZGEgdGFiZWxhLlxuICAgKlxuICAgKiBSZWNlYmUgdW0gb2JqZXRvIGB7IGNvbHVtbiwgdHlwZSB9YCBvbmRlOlxuICAgKlxuICAgKiAtIGNvbHVtbiAoYFBvVGFibGVDb2x1bW5gKTogb2JqZXRvIGRhIGNvbHVuYSBxdWUgZm9pIGNsaWNhZGEvb3JkZW5hZGEuXG4gICAqIC0gdHlwZSAoYFBvVGFibGVDb2x1bW5Tb3J0VHlwZWApOiB0aXBvIGRhIG9yZGVuYcOnw6NvLlxuICAgKi9cbiAgQE91dHB1dCgncC1zb3J0LWJ5Jykgc29ydEJ5OiBFdmVudEVtaXR0ZXI8UG9UYWJsZUNvbHVtblNvcnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxQb1RhYmxlQ29sdW1uU29ydD4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFdmVudG8gZXhlY3V0YWRvIGFvIGRlc21hcmNhciBhIHNlbGXDp8OjbyBkZSB1bWEgbGluaGEgZG8gYHBvLXRhYmxlYC5cbiAgICovXG4gIEBPdXRwdXQoJ3AtdW5zZWxlY3RlZCcpIHVuc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRXZlbnRvIGRpc3BhcmFkbyBhbyBmZWNoYXIgbyBwYWdlIHNsaWRlIGRvIGdlcmVuY2lhZG9yIGRlIGNvbHVuYXMgYXDDs3MgYWx0ZXJhciBhcyBjb2x1bmFzIHZpc8OtdmVpcy5cbiAgICpcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgdmlzw612ZWlzIGF0dWFsaXphZGFzLlxuICAgKiBQb3IgZXhlbXBsbzogW1wiaWRDYXJkXCIsIFwibmFtZVwiLCBcImhpcmVTdGF0dXNcIiwgXCJhZ2VcIl0uXG4gICAqL1xuICBAT3V0cHV0KCdwLWNoYW5nZS12aXNpYmxlLWNvbHVtbnMnKSBjaGFuZ2VWaXNpYmxlQ29sdW1ucyA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8c3RyaW5nPj4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGNsaWNhciBubyBib3TDo28gZGUgcmVzdGF1cmFyIHBhZHLDo28gbm8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcy5cbiAgICpcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgY29uZmlndXJhZGFzIGluaWNpYWxtZW50ZS5cbiAgICogUG9yIGV4ZW1wbG86IFtcImlkQ2FyZFwiLCBcIm5hbWVcIiwgXCJoaXJlU3RhdHVzXCIsIFwiYWdlXCJdLlxuICAgKi9cbiAgQE91dHB1dCgncC1yZXN0b3JlLWNvbHVtbi1tYW5hZ2VyJykgY29sdW1uUmVzdG9yZU1hbmFnZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PFN0cmluZz4+KCk7XG5cbiAgYWxsQ29sdW1uc1dpZHRoUGl4ZWxzOiBib29sZWFuO1xuICBjb2x1bW5NYXN0ZXJEZXRhaWw6IFBvVGFibGVDb2x1bW47XG4gIGhhc01haW5Db2x1bW5zOiBib29sZWFuID0gZmFsc2U7XG4gIG1haW5Db2x1bW5zOiBBcnJheTxQb1RhYmxlQ29sdW1uPiA9IFtdO1xuICBzZWxlY3RBbGwgPSBmYWxzZTtcbiAgc29ydGVkQ29sdW1uID0geyBwcm9wZXJ0eTogPFBvVGFibGVDb2x1bW4+bnVsbCwgYXNjZW5kaW5nOiB0cnVlIH07XG4gIHN1YnRpdGxlQ29sdW1uczogQXJyYXk8UG9UYWJsZUNvbHVtbj4gPSBbXTtcbiAgcGFnZSA9IDE7XG4gIHBhZ2VTaXplID0gMTA7XG4gIGhhc1NlcnZpY2U/OiBib29sZWFuID0gZmFsc2U7XG4gIGluaXRpYWxDb2x1bW5zOiBBcnJheTxQb1RhYmxlQ29sdW1uPjtcbiAgc2hvd0JhdGNoQWN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xuICBpdGVtc1NlbGVjdGVkOiBBcnJheTxhbnk+ID0gW107XG4gIHBhcmFtc0ZpbHRlcjoge307XG4gIGZpbHRlcmVkSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcbiAgcHJpdmF0ZSBpbml0aWFsVmlzaWJsZUNvbHVtbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc3BhY2luZzogUG9UYWJsZUNvbHVtblNwYWNpbmcgPSBQb1RhYmxlQ29sdW1uU3BhY2luZy5NZWRpdW07XG4gIHByaXZhdGUgX2ZpbHRlcmVkQ29sdW1uczogQXJyYXk8c3RyaW5nPjtcbiAgcHJpdmF0ZSBfYWN0aW9ucz86IEFycmF5PFBvVGFibGVBY3Rpb24+ID0gW107XG4gIHByaXZhdGUgX2NvbHVtbnM6IEFycmF5PFBvVGFibGVDb2x1bW4+ID0gW107XG4gIHByaXZhdGUgX2NvbnRhaW5lcj86IHN0cmluZztcbiAgcHJpdmF0ZSBfcGFyYW1EZWxldGU6IHN0cmluZyA9IHBvVGFibGVQYXJhbURlbGV0ZUFwaTtcbiAgcHJpdmF0ZSBfaGVpZ2h0PzogbnVtYmVyO1xuICBwcml2YXRlIF9oaWRlRGV0YWlsPzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9pdGVtczogQXJyYXk8UG9UYWJsZUNvbHVtbj47XG4gIHByaXZhdGUgX2xpdGVyYWxzOiBQb1RhYmxlTGl0ZXJhbHM7XG4gIHByaXZhdGUgX2xvYWRpbmc/OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3NlbGVjdGFibGU/OiBib29sZWFuO1xuICBwcml2YXRlIGxhbmd1YWdlOiBzdHJpbmcgPSBwb0xvY2FsZURlZmF1bHQ7XG4gIHByaXZhdGUgX3NlcnZpY2VBcGk6IHN0cmluZztcbiAgcHJpdmF0ZSBfc2VydmljZURlbGV0ZUFwaTogc3RyaW5nO1xuICBwcml2YXRlIHBvVGFibGVTZXJ2aWNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc29ydFN0b3JlOiBQb1RhYmxlQ29sdW1uU29ydDtcbiAgcHJpdmF0ZSBfaW5maW5pdGVTY3JvbGxEaXN0YW5jZT86IG51bWJlciA9IDEwMDtcbiAgcHJpdmF0ZSBfaW5maW5pdGVTY3JvbGw/OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2RyYWdnYWJsZT86IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaGlkZUFjdGlvbkZpeGVkQ29sdW1ucz86IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBvRGF0ZTogUG9EYXRlU2VydmljZSxcbiAgICBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9UYWJsZVNlcnZpY2U6IFBvVGFibGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBMaXN0YSBkZSBpdGVucyBkYSB0YWJlbGEuXG4gICAqID4gU2UgZmFsc28sIHNlcsOhIGluaWNpYWxpemFkbyBjb21vIHVtICphcnJheSogdmF6aW8uXG4gICAqL1xuICBASW5wdXQoJ3AtaXRlbXMnKSBzZXQgaXRlbXMoaXRlbXM6IEFycmF5PGFueT4pIHtcbiAgICBpZiAodGhpcy5oZWlnaHQpIHtcbiAgICAgIHRoaXMuX2l0ZW1zID0gQXJyYXkuaXNBcnJheShpdGVtcykgPyBbLi4uaXRlbXNdIDogW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2l0ZW1zID0gQXJyYXkuaXNBcnJheShpdGVtcykgPyBpdGVtcyA6IFtdO1xuICAgIH1cblxuICAgIC8vIHdoZW4gaGF2ZW4ndCBpdGVtcywgc2VsZWN0QWxsIHNob3VsZCBiZSB1bmNoZWNrZWQuXG4gICAgaWYgKCF0aGlzLmhhc0l0ZW1zKSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbCA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuaGFzQ29sdW1ucykge1xuICAgICAgdGhpcy5jb2x1bW5zID0gdGhpcy5nZXREZWZhdWx0Q29sdW1ucyhpdGVtc1swXSk7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaGVpZ2h0ID8gWy4uLnRoaXMuaXRlbXNdIDogdGhpcy5pdGVtcztcblxuICAgIC8vIHRpbWVvdXQgbmVjZXNzw6FyaW8gcGFyYSBvcyBpdGVucyBzZXJlbSByZWZsZXRpZG9zIG5hIHRhYmVsYVxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGVja0luZmluaXRlU2Nyb2xsKCkpO1xuICB9XG5cbiAgZ2V0IGl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIExpc3RhIGRhcyBjb2x1bmFzIGRhIHRhYmVsYSwgZGV2ZSByZWNlYmVyIHVtICphcnJheSogZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgYFBvVGFibGVDb2x1bW5gLlxuICAgKiBQb3IgcGFkcsOjbyByZWNlYmVyw6EgY29tbyB2YWxvciBhIHByaW1laXJhIGNvbHVuYSBkYSBsaXN0YSBkZSBpdGVucyBkYSB0YWJlbGEuXG4gICAqID4gQ2FzbyBuw6NvIGVuY29udHJlIHZhbG9yLCBhIG1lbnNhZ2VtICdOZW5odW1hIGRlZmluacOnw6NvIGRlIGNvbHVuYXMnIHNlcsOhIGV4aWJpZGEuXG4gICAqXG4gICAqL1xuICBASW5wdXQoJ3AtY29sdW1ucycpIHNldCBjb2x1bW5zKGNvbHVtbnM6IEFycmF5PFBvVGFibGVDb2x1bW4+KSB7XG4gICAgY29uc3QgaGFzQ29sdW1uc1dpdGhWaXNpYmxlID0gY29sdW1ucz8uZmluZChjb2x1bW4gPT4gY29sdW1uLnZpc2libGUgPT09IHRydWUpO1xuICAgIGlmICh0aGlzLmluaXRpYWxDb2x1bW5zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbENvbHVtbnMgPSBjb2x1bW5zO1xuICAgIH1cblxuICAgIHRoaXMuX2NvbHVtbnMgPSBjb2x1bW5zIHx8IFtdO1xuXG4gICAgaWYgKGhhc0NvbHVtbnNXaXRoVmlzaWJsZSAmJiAhdGhpcy5pbml0aWFsVmlzaWJsZUNvbHVtbnMpIHtcbiAgICAgIHRoaXMuaW5pdGlhbFZpc2libGVDb2x1bW5zID0gdHJ1ZTtcbiAgICAgIHRoaXMudmVyaWZ5SW50ZXJhY3RpdmVDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbHVtbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNldENvbHVtbkxpbmsoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGFzSXRlbXMpIHtcbiAgICAgIHRoaXMuX2NvbHVtbnMgPSB0aGlzLmdldERlZmF1bHRDb2x1bW5zKHRoaXMuaXRlbXNbMF0pO1xuICAgIH1cblxuICAgIHRoaXMub25DaGFuZ2VDb2x1bW5zKCk7XG4gIH1cblxuICBnZXQgY29sdW1ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEFkaWNpb25hIHVtIGNvbnRvcm5vIGFycmVkb25kYWRvIGFvIGBwby10YWJsZWAsIGFzIG9ww6fDtWVzIHPDo286XG4gICAqIC0gYGJvcmRlcmA6IGNvbSBib3JkYXMvbGluaGFzLlxuICAgKiAtIGBzaGFkb3dgOiBjb20gc29tYnJhcy5cbiAgICpcbiAgICogQGRlZmF1bHQgYGJvcmRlcmBcbiAgICovXG4gIEBJbnB1dCgncC1jb250YWluZXInKSBzZXQgY29udGFpbmVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb250YWluZXIgPSBwb1RhYmxlQ29udGFpbmVyLmluY2x1ZGVzKHZhbHVlKSA/IHZhbHVlIDogcG9UYWJsZUNvbnRhaW5lckRlZmF1bHQ7XG4gIH1cblxuICBnZXQgY29udGFpbmVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEFkaWNpb25hIG8gcGFyw6JtZXRybyBhIHNlciBlbnZpYWRvIHBhcmEgYSByZXF1aXNpw6fDo28gZGUgREVMRVRFLlxuICAgKlxuICAgKiDDiSBuZWNlc3PDoXJpbyBhIHV0aWxpemHDp8OjbyBkYSBwcm9wcmllZGFkZSBgcC1zZXJ2aWNlLWRlbGV0ZWAgZW0gY29uanVudG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBpZGBcbiAgICovXG4gIEBJbnB1dCgncC1wYXJhbS1kZWxldGUtYXBpJykgc2V0IHBhcmFtRGVsZXRlQXBpKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wYXJhbURlbGV0ZSA9IHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6IHBvVGFibGVQYXJhbURlbGV0ZUFwaTtcbiAgfVxuXG4gIGdldCBwYXJhbURlbGV0ZUFwaSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wYXJhbURlbGV0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBhIGFsdHVyYSBkYSB0YWJlbGEgZW0gKnBpeGVscyogZSBmaXhhIG8gY2FiZcOnYWxoby5cbiAgICpcbiAgICogQW8gdXRpbGl6YXIgZXNzYSBwcm9wcmllZGFkZSBzZXLDoSBpbnNlcmlkbyBvIGB2aXJ0dWFsLXNjcm9sbGAgbmEgdGFiZWxhIG1lbGhvcmFuZG8gYSBwZXJmb3JtYW5jZS5cbiAgICovXG4gIEBJbnB1dCgncC1oZWlnaHQnKSBzZXQgaGVpZ2h0KGhlaWdodDogbnVtYmVyKSB7XG4gICAgdGhpcy5faGVpZ2h0ID0gaGVpZ2h0O1xuICB9XG5cbiAgZ2V0IGhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSGFiaWxpdGEgYSB2aXN1YWxpemHDp8OjbyBkYSBsaXN0YSBkZSBkZXRhbGhlcyBkZSBjYWRhIGxpbmhhIGRhIGNvbHVuYS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLWhpZGUtZGV0YWlsJykgc2V0IGhpZGVEZXRhaWwoaGlkZURldGFpbDogYm9vbGVhbikge1xuICAgIHRoaXMuX2hpZGVEZXRhaWwgPSBoaWRlRGV0YWlsICE9IG51bGwgJiYgaGlkZURldGFpbC50b1N0cmluZygpID09PSAnJyA/IHRydWUgOiBjb252ZXJ0VG9Cb29sZWFuKGhpZGVEZXRhaWwpO1xuICB9XG5cbiAgZ2V0IGhpZGVEZXRhaWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2hpZGVEZXRhaWw7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBPYmpldG8gY29tIGFzIGxpdGVyYWlzIHVzYWRhcyBubyBgcG8tdGFibGVgLlxuICAgKlxuICAgKiBFeGlzdGVtIGR1YXMgbWFuZWlyYXMgZGUgY3VzdG9taXphciBvIGNvbXBvbmVudGUsIHBhc3NhbmRvIHVtIG9iamV0byBjb20gdG9kYXMgYXMgbGl0ZXJhaXMgZGlzcG9uw612ZWlzOlxuICAgKlxuICAgKiBgYGBcbiAgICogIGNvbnN0IGN1c3RvbUxpdGVyYWxzOiBQb1RhYmxlTGl0ZXJhbHMgPSB7XG4gICAqICAgIG5vQ29sdW1uczogJ05lbmh1bWEgZGVmaW5pw6fDo28gZGUgY29sdW5hcycsXG4gICAqICAgIG5vRGF0YTogJ05lbmh1bSBkYWRvIGVuY29udHJhZG8nLFxuICAgKiAgICBub1Zpc2libGVDb2x1bW46ICdOZW5odW1hIGNvbHVuYSB2aXPDrXZlbCcsXG4gICAqICAgIG5vSXRlbTogJ05lbmh1bSBpdGVtIHNlbGVjaW9uYWRvJyxcbiAgICogICAgb25lSXRlbTogJzEgaXRlbSBzZWxlY2lvbmFkbycsXG4gICAqICAgIG11bHRpcGxlSXRlbXM6ICdpdGVucyBzZWxlY2lvbmFkb3MnLFxuICAgKiAgICBsb2FkaW5nRGF0YTogJ0NhcnJlZ2FuZG8nLFxuICAgKiAgICBsb2FkTW9yZURhdGE6ICdDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3MnLFxuICAgKiAgICBzZWVDb21wbGV0ZVN1YnRpdGxlOiAnVmVyIGxlZ2VuZGEgY29tcGxldGEnLFxuICAgKiAgICBjb21wbGV0ZVN1YnRpdGxlOiAnTGVnZW5kYSBjb21wbGV0YScsXG4gICAqICAgIGNvbHVtbnNNYW5hZ2VyOiAnR2VyZW5jaWFkb3IgZGUgY29sdW5hcycsXG4gICAqICAgIGJvZHlEZWxldGU6ICdEZXNlamEgcmVhbG1lbnRlIGV4Y2x1aXIgZXNzZSBpdGVtPycsXG4gICAqICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICogICAgZGVsZXRlOiAnRXhjbHVpcicsXG4gICAqICAgIGRlbGV0ZVN1Y2Nlc3NmdWw6ICdJdGVucyByZW1vdmlkb3MgY29tIHN1Y2Vzc28nLFxuICAgKiAgICBkZWxldGVBcGlFcnJvcjogJ09jb3JyZXUgdW0gZXJybyBpbmVzcGVyYWRvLCB0ZW50ZSBub3ZhbWVudGUgbWFpcyB0YXJkZSEnLFxuICAgKiAgfTtcbiAgICogYGBgXG4gICAqXG4gICAqIE91IHBhc3NhbmRvIGFwZW5hcyBhcyBsaXRlcmFpcyBxdWUgZGVzZWphIGN1c3RvbWl6YXI6XG4gICAqXG4gICAqIGBgYFxuICAgKiAgY29uc3QgY3VzdG9tTGl0ZXJhbHM6IFBvVGFibGVMaXRlcmFscyA9IHtcbiAgICogICAgbm9EYXRhOiAnU2VtIGRhZG9zJ1xuICAgKiAgfTtcbiAgICogYGBgXG4gICAqXG4gICAqIEUgcGFyYSBjYXJyZWdhciBhcyBsaXRlcmFpcyBjdXN0b21pemFkYXMsIGJhc3RhIGFwZW5hcyBwYXNzYXIgbyBvYmpldG8gcGFyYSBvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIGBgYFxuICAgKiA8cG8tdGFibGVcbiAgICogICBbcC1saXRlcmFsc109XCJjdXN0b21MaXRlcmFsc1wiPlxuICAgKiA8L3BvLXRhYmxlPlxuICAgKiBgYGBcbiAgICpcbiAgICogPiBPIG9iamV0byBwYWRyw6NvIGRlIGxpdGVyYWlzIHNlcsOhIHRyYWR1emlkbyBkZSBhY29yZG8gY29tIG8gaWRpb21hIGRvXG4gICAqIFtgUG9JMThuU2VydmljZWBdKC9kb2N1bWVudGF0aW9uL3BvLWkxOG4pIG91IGRvIGJyb3dzZXIuXG4gICAqL1xuICBASW5wdXQoJ3AtbGl0ZXJhbHMnKSBzZXQgbGl0ZXJhbHModmFsdWU6IFBvVGFibGVMaXRlcmFscykge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCAmJiAhKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpKSB7XG4gICAgICB0aGlzLl9saXRlcmFscyA9IHtcbiAgICAgICAgLi4ucG9UYWJsZUxpdGVyYWxzRGVmYXVsdFtwb0xvY2FsZURlZmF1bHRdLFxuICAgICAgICAuLi5wb1RhYmxlTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdLFxuICAgICAgICAuLi52YWx1ZVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbGl0ZXJhbHMgPSBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdO1xuICAgIH1cbiAgfVxuICBnZXQgbGl0ZXJhbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xpdGVyYWxzIHx8IHBvVGFibGVMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV07XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBCbG9xdWVpYSBhIGludGVyYcOnw6NvIGRvIHVzdcOhcmlvIGNvbSBvcyBkYWRvcyBkYSBfdGFibGVfLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3AtbG9hZGluZycpIHNldCBsb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9sb2FkaW5nID0gY29udmVydFRvQm9vbGVhbihsb2FkaW5nKTtcbiAgfVxuXG4gIGdldCBsb2FkaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIHVtYSBsaXN0YSBkZSBhw6fDtWVzLlxuICAgKlxuICAgKiBRdWFuZG8gaG91dmVyIGFwZW5hcyB1bWEgYcOnw6NvIGRlZmluaWRhIGVsYSBzZXLDoSBleGliaWRhIGRpcmV0YW1lbnRlIG5hIGNvbHVuYSwgY2FzbyBjb250csOhcmlvLCBvIGNvbXBvbmVudGVcbiAgICogc2UgZW5jYXJyZWdhIGRlIGFncnVww6EtbGFzIGV4aWJpbmRvIG8gw61jb25lIFsqKnBvLWljb24tbW9yZSoqXSgvZ3VpZGVzL2ljb25zKSBxdWUgbGlzdGFyw6EgYXMgYcOnw7VlcyBhbyBzZXIgY2xpY2Fkby5cbiAgICpcbiAgICogKipBIGNvbHVuYSBkZSBhw6fDtWVzIG7Do28gc2Vyw6EgZXhpYmlkYSBxdWFuZG86KipcbiAgICogIC0gYSBsaXN0YSBjb250ZXIgdmFsb3JlcyBpbnbDoWxpZG9zIG91IGluZGVmaW5pZG9zLlxuICAgKiAgLSB0ZW5oYSB1bWEgw7puaWNhIGHDp8OjbyBlIGEgbWVzbWEgbsOjbyBmb3Igdmlzw612ZWwuXG4gICAqL1xuICBASW5wdXQoJ3AtYWN0aW9ucycpIHNldCBhY3Rpb25zKGFjdGlvbnM6IEFycmF5PFBvVGFibGVBY3Rpb24+KSB7XG4gICAgdGhpcy5fYWN0aW9ucyA9IGFjdGlvbnM7XG4gIH1cblxuICBnZXQgYWN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFBlcm1pdGUgYSBzZWxlw6fDo28gZGUgbGluaGFzIG5hIHRhYmVsYSBlLCBjYXNvIGEgcHJvcHJpZWRhZGUgYHAtc2luZ2xlLXNlbGVjdGAgZXN0ZWphIGRlZmluaWRhIHNlcsOhIHBvc3PDrXZlbFxuICAgKiBzZWxlY2lvbmFyIGFwZW5hcyB1bWEgw7puaWNhIGxpbmhhLlxuICAgKlxuICAgKiAqKkltcG9ydGFudGU6KipcbiAgICogIC0gQXMgbGluaGFzIGRlIGRldGFsaGUgZGVmaW5pZGFzIGVtIGBQb1RhYmxlRGV0YWlsYCBwb3NzdWVtIGNvbXBvcnRhbWVudG8gaW5kZXBlbmRlbnRlIGRhIGxpbmhhIG1lc3RyZTtcbiAgICogIC0gQ2FkYSBsaW5oYSBwb3NzdWkgcG9yIHBhZHLDo28gYSBwcm9wcmllZGFkZSBkaW7Dom1pY2EgYCRzZWxlY3RlZGAsIG5hIHF1YWwgw6kgcG9zc8OtdmVsIHZhbGlkYXIgc2UgYSBsaW5oYVxuICAgKiBlc3TDoSBzZWxlY2lvbmFkYSwgcG9yIGV4ZW1wbG86IGBpdGVtLiRzZWxlY3RlZGAgb3UgYGl0ZW1bJyRzZWxlY3RlZCddYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLXNlbGVjdGFibGUnKSBzZXQgc2VsZWN0YWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3NlbGVjdGFibGUgPSA8YW55PnZhbHVlID09PSAnJyA/IHRydWUgOiBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogU2UgdmVyZGFkZWlybywgYXRpdmEgYSBmdW5jaW9uYWxpZGFkZSBkZSBzY3JvbGwgaW5maW5pdG8gcGFyYSBhIHRhYmVsYSBlIG8gYm90w6NvIFwiQ2FycmVnYXIgTWFpc1wiIGRlaXhhcsOhIGRlIHNlciBleGliaWRvLiBBbyBjaGVnYXIgbm8gZmltIGRhIHRhYmVsYVxuICAgKiBleGVjdXRhcsOhIGEgZnVuw6fDo28gYHAtc2hvdy1tb3JlYC5cbiAgICpcbiAgICogKipSZWdyYXMgZGUgdXRpbGl6YcOnw6NvOioqXG4gICAqICAtIE8gc2Nyb2xsIGluZmluaXRvIHPDsyBmdW5jaW9uYSBwYXJhIHRhYmVsYXMgcXVlIHV0aWxpemFtIGEgcHJvcHJpZWRhZGUgYHAtaGVpZ2h0YCBlIHF1ZSBwb3NzdWVtIG8gc2Nyb2xsIGrDoSBuYSBjYXJnYSBpbmljaWFsIGRvcyBkYWRvcy5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLWluZmluaXRlLXNjcm9sbCcpIHNldCBpbmZpbml0ZVNjcm9sbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2luZmluaXRlU2Nyb2xsID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSAmJiB0aGlzLmhlaWdodCA+IDApO1xuICB9XG5cbiAgZ2V0IGluZmluaXRlU2Nyb2xsKCkge1xuICAgIHJldHVybiB0aGlzLl9pbmZpbml0ZVNjcm9sbDtcbiAgfVxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgbyBwZXJjZW50dWFsIG5lY2Vzc8OhcmlvIHBhcmEgZGlzcGFyYXIgbyBldmVudG8gYHAtc2hvdy1tb3JlYCwgcXVlIMOpIHJlc3BvbnPDoXZlbCBwb3IgY2FycmVnYXIgbWFpcyBkYWRvcyBuYSB0YWJlbGEuIENhc28gbyB2YWxvciBpbmZvcm1hZG8gc2VqYSBtYWlvciBxdWUgMTAwIG91IG1lbm9yXG4gICAqIHF1ZSAwLCBvIHZhbG9yIHBhZHLDo28gc2Vyw6EgMTAwJVxuICAgKlxuICAgKiAqKkV4ZW1wbG9zOioqXG4gICAqICAtIHAtaW5maW5pdGUtc2Nyb2xsLWRpc3RhbmNlID0gODA6IFF1YW5kbyBhdGluZ2lyIDgwJSAgZG8gc2Nyb2xsIGRhIHRhYmVsYSwgbyBgcC1zaG93LW1vcmVgIHNlcsOhIGRpc3BhcmFkby5cbiAgICovXG4gIEBJbnB1dCgncC1pbmZpbml0ZS1zY3JvbGwtZGlzdGFuY2UnKSBzZXQgaW5maW5pdGVTY3JvbGxEaXN0YW5jZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5faW5maW5pdGVTY3JvbGxEaXN0YW5jZSA9IHZhbHVlID4gMTAwIHx8IHZhbHVlIDwgMCA/IDEwMCA6IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGluZmluaXRlU2Nyb2xsRGlzdGFuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2luZmluaXRlU2Nyb2xsRGlzdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBVUkwgZGEgQVBJIHJlc3BvbnPDoXZlbCBwb3IgcmV0b3JuYXIgb3MgcmVnaXN0cm9zLlxuICAgKlxuICAgKiBBbyByZWFsaXphciBhIGJ1c2NhIGRlIG1haXMgcmVnaXN0cm9zIHZpYSBwYWdpbmHDp8OjbyAoQ2FycmVnYXIgbWFpcyByZXN1bHRhZG9zKSwgc2Vyw6EgZW52aWFkbyBvcyBwYXLDom1ldHJvcyBgcGFnZWAgZSBgcGFnZVNpemVgLCBjb25mb3JtZSBhYmFpeG86XG4gICAqXG4gICAqIGBgYFxuICAgKiB1cmwgKyA/cGFnZT0xJnBhZ2VTaXplPTEwXG4gICAqIGBgYFxuICAgKlxuICAgKiBDYXNvIHV0aWxpemFyIG9yZGVuYcOnw6NvLCBhIGNvbHVuYSBvcmRlbmFkYSBzZXLDoSBlbnZpYWRhIGF0cmF2w6lzIGRvIHBhcsOibWV0cm8gYG9yZGVyYCwgcG9yIGV4ZW1wbG86XG4gICAqIC0gQ29sdW5hIGRlY3Jlc2NlbnRlOlxuICAgKiBgYGBcbiAgICogIHVybCArID9wYWdlPTEmcGFnZVNpemU9MTAmb3JkZXI9LW5hbWVcbiAgICogYGBgXG4gICAqXG4gICAqIC0gQ29sdW5hIGFzY2VuZGVudGU6XG4gICAqIGBgYFxuICAgKiAgdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0xMCZvcmRlcj1uYW1lXG4gICAqIGBgYFxuICAgKlxuICAgKiA+IEVzdGEgVVJMIGRldmUgcmV0b3JuYXIgZSByZWNlYmVyIG9zIGRhZG9zIG5vIHBhZHLDo28gZGUgW0FQSSBkbyBQTyBVSV0oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvYXBpKS5cbiAgICovXG4gIEBJbnB1dCgncC1zZXJ2aWNlLWFwaScpIHNldCBzZXJ2aWNlQXBpKHNlcnZpY2U6IHN0cmluZykge1xuICAgIHRoaXMuX3NlcnZpY2VBcGkgPSBzZXJ2aWNlO1xuICAgIHRoaXMuc2V0U2VydmljZSh0aGlzLnNlcnZpY2VBcGksICdHRVQnKTtcbiAgICB0aGlzLmhhc1NlcnZpY2UgPSAhIXNlcnZpY2U7XG4gICAgdGhpcy5zaG93TW9yZURpc2FibGVkID0gIXRoaXMuaGFzU2VydmljZTtcbiAgICB0aGlzLnBhZ2UgPSAxO1xuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgfVxuXG4gIGdldCBzZXJ2aWNlQXBpKCkge1xuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlQXBpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogVVJMIGRhIEFQSSByZXNwb25zw6F2ZWwgcG9yIGV4Y2x1aXIgb3MgcmVnaXN0cm9zLlxuICAgKlxuICAgKiBBbyBzZWxlY2lvbmFyIG8gYm90w6NvIGRlIGV4Y2x1aXIgaXRlbnMsIGVzc2EgdXJsIHNlcsOhIGV4ZWN1dGFkYSB1dGlsaXphbmRvIG8gcGFyw6JtZXRybyBlbnZpYWRvIG5hIHByb3ByaWVkYWRlIGBwLXBhcmFtLWRlbGV0ZS1hcGlgLlxuICAgKiBDYXNvIGVsYSBuw6NvIHNlamEgdXRpbGl6YWRhLCBvIHBhcsOibWV0cm8gcGFkcsOjbyBhIHNlciBlbnZpYWRvIHNlcsOhIGBpZGAuXG4gICAqXG4gICAqID4gRXN0YSBVUkwgZGV2ZSByZXRvcm5hciBlIHJlY2ViZXIgb3MgZGFkb3Mgbm8gcGFkcsOjbyBkZSBbQVBJIGRvIFBPIFVJXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9hcGkpLlxuICAgKi9cbiAgQElucHV0KCdwLXNlcnZpY2UtZGVsZXRlJykgc2V0IHNlcnZpY2VEZWxldGVBcGkoc2VydmljZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2VydmljZURlbGV0ZUFwaSA9IHNlcnZpY2U7XG4gICAgdGhpcy5zZXRTZXJ2aWNlKHRoaXMuc2VydmljZURlbGV0ZUFwaSwgJ0RFTEVURScpO1xuICB9XG5cbiAgZ2V0IHNlcnZpY2VEZWxldGVBcGkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlcnZpY2VEZWxldGVBcGk7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBSZXNwb25zw6F2ZWwgcG9yIGFwbGljYXIgZXNwYcOnYW1lbnRvIG5hcyBjb2x1bmFzLlxuICAgKlxuICAgKiBEZXZlIHJlY2ViZXIgdW0gZG9zIHZhbG9yZXMgZG8gZW51bSBgUG9UYWJsZUNvbHVtblNwYWNpbmdgLlxuICAgKlxuICAgKiBWYWxvciBgc21hbGxgIHPDsyBmdW5jaW9uYSBlbSB0YWJlbGFzIG7Do28gaW50ZXJhdGl2YXMuIENhc28gc2VqYSBzZXRhZG8gY29tIGBzbWFsbGAgZSBhIHRhYmVsYSBzZWphIGludGVyYXRpdmEsIG8gdmFsb3Igc2Vyw6EgcmV0b3JuYWRvIHBhcmEgYG1lZGl1bWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBtZWRpdW1gXG4gICAqL1xuICBASW5wdXQoJ3Atc3BhY2luZycpIHNldCBzcGFjaW5nKHZhbHVlOiBQb1RhYmxlQ29sdW1uU3BhY2luZykge1xuICAgIGlmICh2YWx1ZSA9PT0gJ3NtYWxsJyB8fCB2YWx1ZSA9PT0gJ21lZGl1bScgfHwgdmFsdWUgPT09ICdsYXJnZScpIHtcbiAgICAgIHRoaXMuX3NwYWNpbmcgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc3BhY2luZyA9IFBvVGFibGVDb2x1bW5TcGFjaW5nLk1lZGl1bTtcbiAgICB9XG4gIH1cblxuICBnZXQgc3BhY2luZygpIHtcbiAgICByZXR1cm4gdGhpcy5fc3BhY2luZztcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBhcyBjb2x1bmFzIHF1ZSBzZXLDo28gZmlsdHJhZGFzIG5vIGNhbXBvIGRlIHBlc3F1aXNhLlxuICAgKiBBY2VpdGEgdW0gYXJyYXkgZGUgc3RyaW5ncywgcmVwcmVzZW50YW5kbyBhcyBjb2x1bmFzIGVzcGVjw61maWNhcyBxdWUgc2Vyw6NvIGNvbnNpZGVyYWRhcyBuYSBmaWx0cmFnZW0uXG4gICAqXG4gICAqL1xuICBASW5wdXQoJ3AtZmlsdGVyZWQtY29sdW1ucycpIHNldCBmaWx0ZXJlZENvbHVtbnModmFsdWVzOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgdGhpcy5fZmlsdGVyZWRDb2x1bW5zID0gdmFsdWVzO1xuICB9XG5cbiAgZ2V0IGZpbHRlcmVkQ29sdW1ucygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyZWRDb2x1bW5zO1xuICB9XG5cbiAgZ2V0IGhhc0NvbHVtbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucyAmJiB0aGlzLmNvbHVtbnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdldCBoYXNJdGVtcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCk7XG4gIH1cblxuICBnZXQgbmFtZUNvbHVtbkRldGFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5NYXN0ZXJEZXRhaWwgPyB0aGlzLmNvbHVtbk1hc3RlckRldGFpbC5wcm9wZXJ0eSA6IG51bGw7XG4gIH1cblxuICBnZXQgdmFsaWRDb2x1bW5zKCkge1xuICAgIGNvbnN0IHR5cGVzVmFsaWQgPSBbXG4gICAgICAnc3RyaW5nJyxcbiAgICAgICdudW1iZXInLFxuICAgICAgJ2Jvb2xlYW4nLFxuICAgICAgJ2RhdGUnLFxuICAgICAgJ3RpbWUnLFxuICAgICAgJ2RhdGVUaW1lJyxcbiAgICAgICdjdXJyZW5jeScsXG4gICAgICAnc3VidGl0bGUnLFxuICAgICAgJ2xpbmsnLFxuICAgICAgJ2xhYmVsJyxcbiAgICAgICdpY29uJyxcbiAgICAgICdjZWxsVGVtcGxhdGUnLFxuICAgICAgJ2NvbHVtblRlbXBsYXRlJ1xuICAgIF07XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+ICFjb2wudHlwZSB8fCB0eXBlc1ZhbGlkLmluY2x1ZGVzKGNvbC50eXBlKSk7XG4gIH1cblxuICBnZXQgdmlzaWJsZUFjdGlvbnMoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYWN0aW9ucyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYWN0aW9ucyAmJiB0aGlzLmFjdGlvbnMuZmlsdGVyKGFjdGlvbiA9PiBhY3Rpb24gJiYgYWN0aW9uLnZpc2libGUgIT09IGZhbHNlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcmVkQ29sdW1ucygpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlcmVkQ29sdW1ucyA9IHRoaXMuY29sdW1uc1xuICAgICAgLmZpbHRlcihjb2x1bW4gPT4gY29sdW1uLnZpc2libGUgIT09IGZhbHNlKVxuICAgICAgLm1hcChjb2x1bW4gPT4gY29sdW1uLnByb3BlcnR5IHx8IGNvbHVtbi5sYWJlbCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBzb3J0VHlwZSgpOiBQb1RhYmxlQ29sdW1uU29ydFR5cGUge1xuICAgIHJldHVybiB0aGlzLnNvcnRlZENvbHVtbi5hc2NlbmRpbmcgPyBQb1RhYmxlQ29sdW1uU29ydFR5cGUuQXNjZW5kaW5nIDogUG9UYWJsZUNvbHVtblNvcnRUeXBlLkRlc2NlbmRpbmc7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBIYWJpbGl0YSBvIG1vZG8gZHJhZyBhbmQgZHJvcCBwYXJhIGFzIGNvbHVuYXMgZGEgdGFiZWxhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3AtZHJhZ2dhYmxlJykgc2V0IGRyYWdnYWJsZShkcmFnZ2FibGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kcmFnZ2FibGUgPSBkcmFnZ2FibGUgfHwgZmFsc2U7XG4gIH1cblxuICBnZXQgZHJhZ2dhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9kcmFnZ2FibGU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnBvVGFibGVTZXJ2aWNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNpbmdsZVNlbGVjdCB8fCB0aGlzLmhpZGVTZWxlY3RBbGwpIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XG4gICAgICB0aGlzLmhpZGVTZWxlY3RBbGwgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmhlaWdodCkge1xuICAgICAgdGhpcy5jYWxjdWxhdGVIZWlnaHRUYWJsZUNvbnRhaW5lcih0aGlzLmhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0QWxsUm93cygpIHtcbiAgICBpZiAoIXRoaXMuaGlkZVNlbGVjdEFsbCkge1xuICAgICAgdGhpcy5zZWxlY3RBbGwgPSAhdGhpcy5zZWxlY3RBbGw7XG5cbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaXRlbS4kc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdEFsbDtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmVtaXRTZWxlY3RBbGxFdmVudHModGhpcy5zZWxlY3RBbGwsIFsuLi50aGlzLml0ZW1zXSk7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkTGlzdCgpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFJvdyhyb3c6IGFueSkge1xuICAgIHJvdy4kc2VsZWN0ZWQgPSAhcm93LiRzZWxlY3RlZDtcblxuICAgIHRoaXMuZW1pdFNlbGVjdEV2ZW50cyhyb3cpO1xuXG4gICAgdGhpcy5jb25maWdBZnRlclNlbGVjdFJvdyh0aGlzLml0ZW1zLCByb3cpO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRMaXN0KCk7XG4gIH1cblxuICBoYXNTZWxlY3RhYmxlUm93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGFibGUgJiYgdGhpcy5zZWxlY3RhYmxlRW50aXJlTGluZTtcbiAgfVxuXG4gIHNlbGVjdERldGFpbFJvdyhyb3c6IGFueSkge1xuICAgIHRoaXMuZW1pdFNlbGVjdEV2ZW50cyhyb3cpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRMaXN0KCkge1xuICAgIHRoaXMuaXRlbXNTZWxlY3RlZCA9IFtdO1xuICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtLiRzZWxlY3RlZCkge1xuICAgICAgICB0aGlzLml0ZW1zU2VsZWN0ZWQucHVzaChpdGVtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldENsYXNzQ29sb3Iocm93LCBjb2x1bW4pIHtcbiAgICByZXR1cm4gY29sdW1uLmNvbG9yID8gYHBvLXRleHQtJHt0aGlzLmdldENvbHVtbkNvbG9yKHJvdywgY29sdW1uKX1gIDogJyc7XG4gIH1cblxuICB0b2dnbGVEZXRhaWwocm93OiBhbnkpIHtcbiAgICBjb25zdCByb3dTaG93RGV0YWlsID0gcm93LiRzaG93RGV0YWlsO1xuICAgIGlmICh0aGlzLmF1dG9Db2xsYXBzZSkge1xuICAgICAgdGhpcy5jb2xsYXBzZUFsbEl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U2hvd0RldGFpbChyb3csICFyb3dTaG93RGV0YWlsKTtcbiAgICB0aGlzLmVtaXRFeHBhbmRFdmVudHMocm93KTtcbiAgfVxuXG4gIHRvZ2dsZVJvd0FjdGlvbihyb3c6IGFueSkge1xuICAgIGNvbnN0IHRvZ2dsZVNob3dBY3Rpb24gPSByb3cuJHNob3dBY3Rpb247XG5cbiAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpZiAoaXRlbS4kc2hvd0FjdGlvbikge1xuICAgICAgICBpdGVtLiRzaG93QWN0aW9uID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcm93LiRzaG93QWN0aW9uID0gIXRvZ2dsZVNob3dBY3Rpb247XG4gIH1cblxuICBzb3J0Q29sdW1uKGNvbHVtbjogUG9UYWJsZUNvbHVtbikge1xuICAgIGlmICghdGhpcy5zb3J0IHx8IGNvbHVtbi50eXBlID09PSAnZGV0YWlsJyB8fCBjb2x1bW4uc29ydGFibGUgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zb3J0ZWRDb2x1bW4uYXNjZW5kaW5nID0gdGhpcy5zb3J0ZWRDb2x1bW4ucHJvcGVydHkgPT09IGNvbHVtbiA/ICF0aGlzLnNvcnRlZENvbHVtbi5hc2NlbmRpbmcgOiB0cnVlO1xuXG4gICAgdGhpcy5zb3J0QXJyYXkoY29sdW1uLCB0aGlzLnNvcnRlZENvbHVtbi5hc2NlbmRpbmcpO1xuICAgIHRoaXMuc29ydEJ5LmVtaXQoeyBjb2x1bW4sIHR5cGU6IHRoaXMuc29ydFR5cGUgfSk7XG4gICAgaWYgKHRoaXMuaGFzU2VydmljZSAmJiB0aGlzLnNvcnQpIHtcbiAgICAgIHRoaXMuc29ydFN0b3JlID0geyBjb2x1bW4sIHR5cGU6IHRoaXMuc29ydFR5cGUgfTtcbiAgICB9XG5cbiAgICB0aGlzLnNvcnRlZENvbHVtbi5wcm9wZXJ0eSA9IGNvbHVtbjtcbiAgfVxuXG4gIG9uU2hvd01vcmUoKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydCA9IHRoaXMuc29ydGVkQ29sdW1uLnByb3BlcnR5ID8geyBjb2x1bW46IHRoaXMuc29ydGVkQ29sdW1uLnByb3BlcnR5LCB0eXBlOiB0aGlzLnNvcnRUeXBlIH0gOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAodGhpcy5oYXNTZXJ2aWNlKSB7XG4gICAgICB0aGlzLnBhZ2UrKztcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmxvYWRpbmdTaG93TW9yZSA9IHRydWU7XG5cbiAgICAgIHRoaXMucG9UYWJsZVNlcnZpY2VTdWJzY3JpcHRpb24gPSB0aGlzLmdldEZpbHRlcmVkSXRlbXMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBbLi4udGhpcy5pdGVtcywgLi4uZGF0YS5pdGVtc107XG4gICAgICAgIHRoaXMuc2hvd01vcmVEaXNhYmxlZCA9ICFkYXRhLmhhc05leHQ7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxvYWRpbmdTaG93TW9yZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93TW9yZS5lbWl0KHNvcnQpO1xuICB9XG5cbiAgZ2V0RmlsdGVyZWRJdGVtcyhxdWVyeVBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogUXVlcnlQYXJhbXNUeXBlIH0pOiBPYnNlcnZhYmxlPFBvVGFibGVSZXNwb25zZUFwaT4ge1xuICAgIGNvbnN0IGZpbHRlcmVkUGFyYW1zOiBQb1RhYmxlRmlsdGVyZWRJdGVtc1BhcmFtcyA9IHRoaXMuZ2V0RmlsdGVyZWRQYXJhbXMocXVlcnlQYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMucG9UYWJsZVNlcnZpY2UuZ2V0RmlsdGVyZWRJdGVtcyhmaWx0ZXJlZFBhcmFtcyk7XG4gIH1cblxuICBzZXRUYWJsZVJlc3BvbnNlUHJvcGVydGllcyhkYXRhOiBQb1RhYmxlUmVzcG9uc2VBcGkpIHtcbiAgICB0aGlzLml0ZW1zID0gZGF0YS5pdGVtcyB8fCBbXTtcbiAgICB0aGlzLnNob3dNb3JlRGlzYWJsZWQgPSAhZGF0YS5oYXNOZXh0O1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgaW5pdGlhbGl6ZURhdGEocGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBRdWVyeVBhcmFtc1R5cGUgfSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc1NlcnZpY2UpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLnBhcmFtc0ZpbHRlciA9IHBhcmFtcztcbiAgICAgIHRoaXMuZ2V0RmlsdGVyZWRJdGVtcyhwYXJhbXMpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgdGhpcy5zZXRUYWJsZVJlc3BvbnNlUHJvcGVydGllcyhkYXRhKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0Q29sdW1ucyhpdGVtOiBhbnkpIHtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoaXRlbSk7XG5cbiAgICByZXR1cm4ga2V5c1xuICAgICAgLmZpbHRlcihrZXkgPT4gdHlwZW9mIGl0ZW1ba2V5XSAhPT0gJ29iamVjdCcpXG4gICAgICAubWFwKGtleSA9PiAoeyBsYWJlbDogY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGtleSksIHByb3BlcnR5OiBrZXkgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFNob3dEZXRhaWwocm93SWRlbnRpZmllcjogYW55IHwgbnVtYmVyLCBpc1Nob3dEZXRhaWw6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBpc1Jvd0luZGV4ID0gdHlwZW9mIHJvd0lkZW50aWZpZXIgPT09ICdudW1iZXInICYmIHRoaXMuaXRlbXNbcm93SWRlbnRpZmllcl07XG5cbiAgICBjb25zdCByb3cgPSBpc1Jvd0luZGV4ID8gdGhpcy5pdGVtc1tyb3dJZGVudGlmaWVyXSA6IHJvd0lkZW50aWZpZXI7XG5cbiAgICByb3cuJHNob3dEZXRhaWwgPSBpc1Nob3dEZXRhaWw7XG4gIH1cblxuICBwcml2YXRlIGNvbGxhcHNlQWxsSXRlbXMoaXRlbXM6IEFycmF5PHsgW2tleTogc3RyaW5nXTogYW55IH0+KSB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICBpZiAoaXRlbS4kc2hvd0RldGFpbCkge1xuICAgICAgICB0aGlzLnNldFNob3dEZXRhaWwoaXRlbSwgZmFsc2UpO1xuICAgICAgICB0aGlzLmVtaXRFeHBhbmRFdmVudHMoaXRlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb25maWdBZnRlclNlbGVjdFJvdyhyb3dzOiBBcnJheTxhbnk+LCByb3cpIHtcbiAgICBpZiAodGhpcy5zaW5nbGVTZWxlY3QpIHtcbiAgICAgIHRoaXMudW5zZWxlY3RPdGhlclJvd3Mocm93cywgcm93KTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmhpZGVTZWxlY3RBbGwpIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gdGhpcy5pc0V2ZXJ5U2VsZWN0ZWQocm93cyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RXhwYW5kRXZlbnRzKHJvdzogYW55KSB7XG4gICAgcm93LiRzaG93RGV0YWlsID8gdGhpcy5leHBhbmRlZC5lbWl0KHJvdykgOiB0aGlzLmNvbGxhcHNlZC5lbWl0KHJvdyk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRTZWxlY3RBbGxFdmVudHMoc2VsZWN0QWxsOiBib29sZWFuLCByb3dzOiBhbnkpIHtcbiAgICBzZWxlY3RBbGwgPyB0aGlzLmFsbFNlbGVjdGVkLmVtaXQocm93cykgOiB0aGlzLmFsbFVuc2VsZWN0ZWQuZW1pdChyb3dzKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdFNlbGVjdEV2ZW50cyhyb3c6IGFueSkge1xuICAgIHJvdy4kc2VsZWN0ZWQgPyB0aGlzLnNlbGVjdGVkLmVtaXQocm93KSA6IHRoaXMudW5zZWxlY3RlZC5lbWl0KHJvdyk7XG4gIH1cblxuICBwcml2YXRlIGdldENvbHVtbkNvbG9yKHJvdywgY29sdW1uKSB7XG4gICAgY29uc3QgY29sdW1uQ29sb3IgPSBjb2x1bW4uY29sb3I7XG5cbiAgICByZXR1cm4gaXNUeXBlb2YoY29sdW1uQ29sb3IsICdmdW5jdGlvbicpID8gY29sdW1uQ29sb3Iocm93LCBjb2x1bW4ucHJvcGVydHkpIDogY29sdW1uQ29sb3I7XG4gIH1cblxuICAvLyBSZXRvcm5hIGEgY29sdW5hIGRhIGxpc3RhIGRlIGNvbHVuYXMgcXVlIMOpIGRvIHRpcG8gZGV0YWlsXG4gIHByaXZhdGUgZ2V0Q29sdW1uTWFzdGVyRGV0YWlsKCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnMuZmluZChjb2wgPT4gY29sLnR5cGUgPT09ICdkZXRhaWwnKTtcbiAgfVxuXG4gIC8vIENvbHVuYXMgcXVlIHPDo28gaW5zZXJpZGFzIG5vIDxoZWFkPiBkYSB0YWJlbGFcbiAgcHJpdmF0ZSBnZXRNYWluQ29sdW1ucygpIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZENvbHVtbnMuZmlsdGVyKGNvbCA9PiBjb2wudmlzaWJsZSAhPT0gZmFsc2UpO1xuICB9XG5cbiAgLy8gUmV0b3JuYSBhcyBjb2x1bmFzIGNvbSBzdGF0dXNcbiAgcHJpdmF0ZSBnZXRTdWJ0aXRsZUNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC50eXBlID09PSAnc3VidGl0bGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNFdmVyeVNlbGVjdGVkKGl0ZW1zOiBBcnJheTxhbnk+KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc29tZUNoZWNrZWRPckluZGV0ZXJtaW5hdGUgPSBpdGVtID0+IGl0ZW0uJHNlbGVjdGVkIHx8IGl0ZW0uJHNlbGVjdGVkID09PSBudWxsO1xuICAgIGNvbnN0IGV2ZXJ5Q2hlY2tlZCA9IGl0ZW0gPT4gaXRlbS4kc2VsZWN0ZWQ7XG5cbiAgICBpZiAoaXRlbXMuZXZlcnkoZXZlcnlDaGVja2VkKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGl0ZW1zLnNvbWUoc29tZUNoZWNrZWRPckluZGV0ZXJtaW5hdGUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIG9uQ2hhbmdlQ29sdW1ucygpIHtcbiAgICB0aGlzLnNldE1haW5Db2x1bW5zKCk7XG4gICAgdGhpcy5zZXRDb2x1bW5NYXN0ZXJEZXRhaWwoKTtcbiAgICB0aGlzLnNldFN1YnRpdGxlQ29sdW1ucygpO1xuICAgIHRoaXMuZ2V0RmlsdGVyZWRDb2x1bW5zKCk7XG4gIH1cblxuICBwcml2YXRlIHNldENvbHVtbkxpbmsoKSB7XG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgIGlmIChjb2x1bW5bJ3R5cGUnXSA9PT0gJ2xpbmsnICYmICFjb2x1bW5bJ2xpbmsnXSkge1xuICAgICAgICBjb2x1bW5bJ2xpbmsnXSA9ICdsaW5rJztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29sdW1uTWFzdGVyRGV0YWlsKCkge1xuICAgIHRoaXMuY29sdW1uTWFzdGVyRGV0YWlsID0gdGhpcy5nZXRDb2x1bW5NYXN0ZXJEZXRhaWwoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TWFpbkNvbHVtbnMoKSB7XG4gICAgdGhpcy5tYWluQ29sdW1ucyA9IHRoaXMuZ2V0TWFpbkNvbHVtbnMoKTtcblxuICAgIHRoaXMuaGFzTWFpbkNvbHVtbnMgPSAhIXRoaXMubWFpbkNvbHVtbnMubGVuZ3RoO1xuXG4gICAgdGhpcy5hbGxDb2x1bW5zV2lkdGhQaXhlbHMgPSB0aGlzLnZlcmlmeVdpZHRoQ29sdW1uc1BpeGVscygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdWJ0aXRsZUNvbHVtbnMoKSB7XG4gICAgdGhpcy5zdWJ0aXRsZUNvbHVtbnMgPSB0aGlzLmdldFN1YnRpdGxlQ29sdW1ucygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0QXJyYXkoY29sdW1uOiBQb1RhYmxlQ29sdW1uLCBhc2NlbmRpbmc6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBpdGVtc0xpc3QgPSB0aGlzLmhlaWdodCA/IFsuLi50aGlzLml0ZW1zXSA6IHRoaXMuaXRlbXM7XG4gICAgaXRlbXNMaXN0LnNvcnQoKGxlZnRTaWRlLCByaWdodFNpZGUpOiBudW1iZXIgPT5cbiAgICAgIHNvcnRWYWx1ZXMobGVmdFNpZGVbY29sdW1uLnByb3BlcnR5XSwgcmlnaHRTaWRlW2NvbHVtbi5wcm9wZXJ0eV0sIGFzY2VuZGluZylcbiAgICApO1xuICAgIGlmICh0aGlzLmhlaWdodCkge1xuICAgICAgdGhpcy5pdGVtcyA9IGl0ZW1zTGlzdDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVuc2VsZWN0T3RoZXJSb3dzKHJvd3M6IEFycmF5PGFueT4sIHJvdykge1xuICAgIHJvd3MuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtICE9PSByb3cpIHtcbiAgICAgICAgaXRlbS4kc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmVyaWZ5SW50ZXJhY3RpdmVDb2x1bW5zKCkge1xuICAgIGNvbnN0IGhhc0xpbmtPckRldGFpbCA9IHRoaXMuY29sdW1ucy5maW5kKGNvbHVtbiA9PiBjb2x1bW4udHlwZSA9PT0gJ2xpbmsnIHx8IGNvbHVtbi50eXBlID09PSAnZGV0YWlsJyk7XG4gICAgaWYgKHRoaXMuc3BhY2luZyA9PT0gJ3NtYWxsJyAmJiAodGhpcy5zZWxlY3RhYmxlIHx8IGhhc0xpbmtPckRldGFpbCB8fCB0aGlzLnZpc2libGVBY3Rpb25zLmxlbmd0aCA+IDApKSB7XG4gICAgICB0aGlzLnNwYWNpbmcgPSBQb1RhYmxlQ29sdW1uU3BhY2luZy5NZWRpdW07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2ZXJpZnlXaWR0aENvbHVtbnNQaXhlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzTWFpbkNvbHVtbnMgPyB0aGlzLm1haW5Db2x1bW5zLmV2ZXJ5KGNvbHVtbiA9PiBjb2x1bW4ud2lkdGggJiYgY29sdW1uLndpZHRoLmluY2x1ZGVzKCdweCcpKSA6IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTZXJ2aWNlKHNlcnZpY2U6IHN0cmluZywgbWV0aG9kOiAnR0VUJyB8ICdERUxFVEUnKSB7XG4gICAgaWYgKHNlcnZpY2UgJiYgaXNUeXBlb2Yoc2VydmljZSwgJ3N0cmluZycpKSB7XG4gICAgICB0aGlzLnBvVGFibGVTZXJ2aWNlLnNldFVybChzZXJ2aWNlLCBtZXRob2QpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsdGVyZWRQYXJhbXMocXVlcnlQYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IFF1ZXJ5UGFyYW1zVHlwZSB9KSB7XG4gICAgY29uc3QgeyBwYWdlLCBwYWdlU2l6ZSwgc29ydFN0b3JlIH0gPSB0aGlzO1xuXG4gICAgY29uc3QgZmlsdGVyZWRQYXJhbXMgPSB7fTtcbiAgICBjb25zdCBvcmRlciA9IHRoaXMuZ2V0T3JkZXJQYXJhbShzb3J0U3RvcmUpO1xuICAgIGNvbnN0IHBhcmFtcyA9IHsgcGFnZSwgcGFnZVNpemUsIG9yZGVyLCAuLi5xdWVyeVBhcmFtcyB9O1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gcGFyYW1zKSB7XG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KGtleSkgJiYgcGFyYW1zW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmaWx0ZXJlZFBhcmFtc1trZXldID0gcGFyYW1zW2tleV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJlZFBhcmFtcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3JkZXJQYXJhbShzb3J0OiBQb1RhYmxlQ29sdW1uU29ydCA9IHsgdHlwZTogdW5kZWZpbmVkIH0pIHtcbiAgICBjb25zdCB7IGNvbHVtbiwgdHlwZSB9ID0gc29ydDtcblxuICAgIGlmICghY29sdW1uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09IFBvVGFibGVDb2x1bW5Tb3J0VHlwZS5EZXNjZW5kaW5nKSB7XG4gICAgICByZXR1cm4gYC0ke2NvbHVtbi5wcm9wZXJ0eX1gO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtjb2x1bW4ucHJvcGVydHl9YDtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUHJvcGVydHlGaXhlZChhcnI6IEFycmF5PGFueT4pIHtcbiAgICByZXR1cm4gYXJyLm1hcChvYmogPT4ge1xuICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnZml4ZWQnKSkge1xuICAgICAgICBvYmouZml4ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY2FsY3VsYXRlSGVpZ2h0VGFibGVDb250YWluZXIoaGVpZ2h0KTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY2hlY2tJbmZpbml0ZVNjcm9sbCgpO1xufVxuIl19
|
package/esm2022/lib/components/po-table/po-table-cell-template/po-table-cell-template.directive.mjs
CHANGED
|
@@ -81,4 +81,4 @@ export class PoTableCellTemplateDirective {
|
|
|
81
81
|
selector: '[p-table-cell-template]'
|
|
82
82
|
}]
|
|
83
83
|
}], function () { return [{ type: i0.TemplateRef }]; }, null); })();
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtY2VsbC10ZW1wbGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tdGFibGUvcG8tdGFibGUtY2VsbC10ZW1wbGF0ZS9wby10YWJsZS1jZWxsLXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQUN2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpRUc7QUFJSCxNQUFNLE9BQU8sNEJBQTRCO0lBRXBCO0lBRG5CLHVFQUF1RTtJQUN2RSxZQUFtQixXQUE2QjtRQUE3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7SUFBRyxDQUFDO3NGQUZ6Qyw0QkFBNEI7NkRBQTVCLDRCQUE0Qjs7dUZBQTVCLDRCQUE0QjtjQUh4QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjthQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8qKlxuICogQHVzZWRCeSBQb1RhYmxlQ29tcG9uZW50XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogRXN0YSBkaXJldGl2YSBwZXJtaXRlIHF1ZSBzZWphIHBvc3PDrXZlbCBhbHRlcmFyIG8gY29udGXDumRvIGRhcyBjw6lsdWxhcyBkZSB1bWEgY29sdW5hLCBwYXJhIHF1ZSBvcyB2YWxvcmVzIHBvc3NhbSBzZXIgZXhpYmlkb3NcbiAqIGRlIGFjb3JkbyBjb20gYSBuZWNlc3NpZGFkZSBkbyB1c3XDoXJpby5cbiAqXG4gKiBFbSBzZXUgdXNvLCBkZXZlLXNlIGFwZW5hcyBhZGljaW9uYXIgYSBkaXJldGl2YSAqKnAtdGFibGUtY2VsbC10ZW1wbGF0ZSoqIMOgIHRhZyBgbmctdGVtcGxhdGVgLlxuICpcbiAqIFJldG9ybm86XG4gKiAgLSBgY29sdW1uYDogY29udGXDumRvIGRhIGNvbHVuYSBjb3JyZW50ZS5cbiAqICAtIGByb3dgOiBjb250ZcO6ZG8gZGEgbGluaGEgY29ycmVudGVcbiAqXG4gKiBNb2RvIGRlIHVzbzpcbiAqXG4gKiBgYGBcbiAqIC4uLlxuICogPHBvLXRhYmxlXG4gKiAgIFtwLWNvbHVtbnNdPVwiY29sdW1uc1wiXG4gKiAgIFtwLWl0ZW1zXT1cIml0ZW1zXCI+XG4gKiAgICAgPG5nLXRlbXBsYXRlIHAtdGFibGUtY2VsbC10ZW1wbGF0ZSBsZXQtY29sdW1uPVwiY29sdW1uXCIgbGV0LXJvdz1cInJvd1wiPlxuICogICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLnByb3BlcnR5ID09PSAnc3RhdHVzJyAmJiByb3cuc3RhdHVzID09PSAnQ0FOQ0VMRUQnXCI+XG4gKiAgICAgICAgPGgxIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIidyZWQnXCI+Q0FOQ0VMQURBPC9oMT5cbiAqICAgICAgICA8c3BhbiAoY2xpY2spPVwib25DbGljaygpXCI+PHNtYWxsPmNsaXF1ZSBhcXVpPC9zbWFsbD48L3NwYW4+XG4gKiAgICAgIDwvZGl2PlxuICogICAgICA8aDEgKm5nSWY9XCJjb2x1bW4ucHJvcGVydHkgPT09ICdzdGF0dXMnICYmIHJvdy5zdGF0dXMgPT09ICdGSU5JU0hFRCdcIiBbc3R5bGUuYmFja2dyb3VuZF09XCInZ3JlZW4nXCI+RklOQUxJWkFEQTwvaDE+XG4gKiAgICAgIDxoMSAqbmdJZj1cImNvbHVtbi5wcm9wZXJ0eSA9PT0gJ3N0YXR1cycgJiYgcm93LnN0YXR1cyA9PT0gJ09QRU5FRCdcIiBbc3R5bGUuYmFja2dyb3VuZF09XCInb3JhbmdlJ1wiPkFCRVJUQTwvaDE+XG4gKiAgICAgIDxoMSAqbmdJZj1cImNvbHVtbi5wcm9wZXJ0eSA9PT0gJ3N0YXR1czInXCI+Q29udGXDumRvIGRvIHN0YXR1cyAyPC9oMT5cbiAqICAgICAgPGgxICpuZ0lmPVwiY29sdW1uLnByb3BlcnR5ID09PSAnc3RhdHVzMydcIj5Db250ZcO6ZG8gZG8gc3RhdHVzIDM8L2gxPlxuICogICAgPC9uZy10ZW1wbGF0ZT5cbiAqIC4uLlxuICogYGBgXG4gKiA+IE5vIGV4ZW1wbG8gYWNpbWEsIG8gdXN1w6FyaW8gdGVtIGNvbW8gcmV0b3JubyBgcm93YCBlIGEgYGNvbHVtbmAgY29ycmVudGUsIG5lc3RlIGNhc28gZWxlIHRlbSB0b3RhbCBsaWJlcmRhZGUgcGFyYSBtYW5pcHVsYXIgb3Mgb2JqZXRvcy5cbiAqXG4gKiBBYmFpeG8sIGEgZGVjbGFyYcOnw6NvIGRvcyBkYWRvcyBkZSBlbnRyYWRhIGRvIFBPLVRBQkxFIHBhcmEgbyB1c28gZGEgZGlyZWN0aXZhLlxuICogYGBgXG4gKiAuLi5cbiAqIGV4cG9ydCBjbGFzcyBBcHBDb21wb25lbnQge1xuICpcbiAqICAgIGl0ZW1zID0gW3tcbiAqICAgICAgY29kZTogMTIwMCxcbiAqICAgICAgcHJvZHVjdDogJ1JpY2UnLFxuICogICAgICBzdGF0dXM6ICdDQU5DRUxFRCcsXG4gKiAgICAgIHN0YXR1czI6ICcnLFxuICogICAgICBzdGF0dXMzOiAnJ1xuICogICAgICB9LHtcbiAqICAgICAgY29kZTogMTM1NSxcbiAqICAgICAgcHJvZHVjdDogJ0JlYW4nLFxuICogICAgICBzdGF0dXM6ICdGSU5JU0hFRCcsXG4gKiAgICAgIHN0YXR1czI6ICcnLFxuICogICAgICBzdGF0dXMzOiAnJ1xuICogICAgICB9XTtcbiAqXG4gKiAgICBjb2x1bW5zID0gW1xuICogICAgICAgeyBwcm9wZXJ0eTogJ2NvZGUnLCBsYWJlbDogJ0lEJyB9LFxuICogICAgICAgeyBwcm9wZXJ0eTogJ3Byb2R1Y3QnLCBsYWJlbDogJ1BST0RVVE8nIH0sXG4gKiAgICAgICB7IHByb3BlcnR5OiAnc3RhdHVzJywgbGFiZWw6ICdTVEFUVVMnLCB0eXBlOiAnY2VsbFRlbXBsYXRlJyB9LFxuICogICAgICAgeyBwcm9wZXJ0eTogJ3N0YXR1czInLCBsYWJlbDogJ1NUQVRVUyAyJywgdHlwZTogJ2NlbGxUZW1wbGF0ZScgfSxcbiAqICAgICAgIHsgcHJvcGVydHk6ICdzdGF0dXMzJywgbGFiZWw6ICdTVEFUVVMgMycsIHR5cGU6ICdjZWxsVGVtcGxhdGUnIH1cbiAqICAgIF07XG4gKiB9XG4gKiAuLi5cbiAqIGBgYFxuICogPiBPYnNlcnZhw6fDo286IFNlbXByZSBhZGljaW9uYXIgbyAqKnR5cGUqKiBkYSBjb2x1bmEgcXVlIGRlc2VqYSBtYW5pcHVsYXIgY29tIGEgZGlyZWN0aXZhIGNvbW8gYGNlbGxUZW1wbGF0ZWBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3AtdGFibGUtY2VsbC10ZW1wbGF0ZV0nXG59KVxuZXhwb3J0IGNsYXNzIFBvVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmUge1xuICAvLyBOZWNlc3PDoXJpbyBtYW50ZXIgdGVtcGxhdGVSZWYgcGFyYSBvIGZ1bmNpb25hbWVudG8gZG8gY2VsbCB0ZW1wbGF0ZS5cbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxufVxuIl19
|
package/esm2022/lib/components/po-table/po-table-column-frozen/po-table-column-frozen.directive.mjs
CHANGED
|
@@ -129,4 +129,4 @@ export class PoTableColumnFrozenDirective {
|
|
|
129
129
|
}], alignFrozen: [{
|
|
130
130
|
type: Input
|
|
131
131
|
}] }); })();
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtY29sdW1uLWZyb3plbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tdGFibGUvcG8tdGFibGUtY29sdW1uLWZyb3plbi9wby10YWJsZS1jb2x1bW4tZnJvemVuLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDOztBQVNqSCxNQUFNLE9BQU8sNEJBQTRCO0lBbUJuQjtJQUF3QjtJQWxCNUMsT0FBTyxHQUFZLElBQUksQ0FBQztJQUV4QixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQTRCLE1BQU0sQ0FBQyxHQUFZO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBRW5CLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQzNFO2FBQU07WUFDTCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFUSxXQUFXLEdBQVcsTUFBTSxDQUFDO0lBRXRDLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFbkUsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM5QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE1B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QUFZO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQy9DLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNaLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sRUFBRTtnQkFDM0IsT0FBTyxHQUFHLENBQUM7YUFDWjtZQUNELElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUU7Z0JBQzlCLEdBQUcsRUFBRSxDQUFDO2FBQ1A7U0FDRjtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO3NGQTFIVSw0QkFBNEI7NkRBQTVCLDRCQUE0Qjs7Ozt1RkFBNUIsNEJBQTRCO2NBUHhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLFdBQVc7b0JBQ2xCLDBCQUEwQixFQUFFLFFBQVE7aUJBQ3JDO2FBQ0Y7cUZBUTZCLE1BQU07a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQVViLFdBQVc7a0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcEZyb3plbkNvbHVtbl0nLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAncC1lbGVtZW50JyxcclxuICAgICdbY2xhc3MucG8tZnJvemVuLWNvbHVtbl0nOiAnZnJvemVuJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBvVGFibGVDb2x1bW5Gcm96ZW5EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xyXG4gIF9mcm96ZW46IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBnZXQgZnJvemVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zyb3plbjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgncEZyb3plbkNvbHVtbicpIHNldCBmcm96ZW4odmFsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9mcm96ZW4gPSB2YWw7XHJcblxyXG4gICAgaWYgKCF2YWwpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdwby10YWJsZS1jb2x1bW4tZml4ZWQnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudXBkYXRlU3RpY2t5UG9zaXRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGFsaWduRnJvemVuOiBzdHJpbmcgPSAnbGVmdCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudXBkYXRlU3RpY2t5UG9zaXRpb24oKTtcclxuICAgIH0sIDMwMCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5mcm96ZW4ucHJldmlvdXNWYWx1ZSAmJiAhY2hhbmdlcy5mcm96ZW4uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVzaXplQ29sdW1ucygpO1xyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICB1cGRhdGVTdGlja3lQb3NpdGlvbigpIHtcclxuICAgIGlmICh0aGlzLl9mcm96ZW4pIHtcclxuICAgICAgaWYgKHRoaXMuYWxpZ25Gcm96ZW4gPT09ICdyaWdodCcpIHtcclxuICAgICAgICBsZXQgcmlnaHQgPSAwO1xyXG4gICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nO1xyXG5cclxuICAgICAgICBpZiAobmV4dCkge1xyXG4gICAgICAgICAgcmlnaHQgPSB0aGlzLmdldE91dGVyV2lkdGgobmV4dCkgKyAocGFyc2VGbG9hdChuZXh0LnN0eWxlLnJpZ2h0KSB8fCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnJpZ2h0ID0gcmlnaHQgKyAncHgnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBsZWZ0ID0gMDtcclxuICAgICAgICBjb25zdCBwcmV2ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcHJldiAmJlxyXG4gICAgICAgICAgIXByZXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdwby10YWJsZS1jb2x1bW4tc2VsZWN0YWJsZScpICYmXHJcbiAgICAgICAgICAhcHJldi5jbGFzc0xpc3QuY29udGFpbnMoJ3BvLXRhYmxlLWNvbHVtbi1hY3Rpb25zJykgJiZcclxuICAgICAgICAgICFwcmV2LmNsYXNzTGlzdC5jb250YWlucygncG8tdGFibGUtY29sdW1uLWRldGFpbC10b2dnbGUnKSAmJlxyXG4gICAgICAgICAgIXByZXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdwby10YWJsZS1oZWFkZXItbWFzdGVyLWRldGFpbCcpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBsZWZ0ID0gdGhpcy5nZXRPdXRlcldpZHRoKHByZXYpICsgKHBhcnNlRmxvYXQocHJldi5zdHlsZS5sZWZ0KSB8fCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBsZWZ0IC0gMSArICdweCc7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdwby10YWJsZS1jb2x1bW4tZml4ZWQnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgZmlsdGVyUm93ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQubmV4dEVsZW1lbnRTaWJsaW5nO1xyXG5cclxuICAgICAgaWYgKGZpbHRlclJvdykge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIGlmIChmaWx0ZXJSb3cuY2hpbGRyZW4gJiYgZmlsdGVyUm93LmNoaWxkcmVuW2luZGV4XSkge1xyXG4gICAgICAgICAgZmlsdGVyUm93LmNoaWxkcmVuW2luZGV4XS5zdHlsZS5sZWZ0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQ7XHJcbiAgICAgICAgICBmaWx0ZXJSb3cuY2hpbGRyZW5baW5kZXhdLnN0eWxlLnJpZ2h0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICByZXNpemVDb2x1bW5zKCkge1xyXG4gICAgY29uc3QgY3VycmVudEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCBwcmV2RWxlbWVudHMgPSBbXTtcclxuICAgIGxldCBwcmV2RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XHJcblxyXG4gICAgLy8gRW5jb250cmEgdG9kb3Mgb3MgZWxlbWVudG9zIGFudGVyaW9yZXMgY29tIGEgY2xhc3NlICdwby10YWJsZS1jb2x1bW4tZml4ZWQnXHJcbiAgICB3aGlsZSAocHJldkVsZW1lbnQgJiYgcHJldkVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdwby10YWJsZS1jb2x1bW4tZml4ZWQnKSkge1xyXG4gICAgICBwcmV2RWxlbWVudHMucHVzaChwcmV2RWxlbWVudCk7XHJcbiAgICAgIHByZXZFbGVtZW50ID0gcHJldkVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZztcclxuICAgIH1cclxuXHJcbiAgICAvLyBWZXJpZmljYSBzZSBow6EgZWxlbWVudG9zIHN1ZmljaWVudGVzIHBhcmEgYWp1c3RhciBvcyB3aWR0aHNcclxuICAgIGlmIChwcmV2RWxlbWVudHMubGVuZ3RoID49IDIpIHtcclxuICAgICAgbGV0IGxlZnRBY2N1bXVsYXRvciA9IDA7XHJcblxyXG4gICAgICAvLyBDYWxjdWxhIG8gbm92byAnbGVmdCcgcGFyYSBjYWRhIGVsZW1lbnRvIGFudGVyaW9yIGUgYXBsaWNhXHJcbiAgICAgIGZvciAobGV0IGkgPSBwcmV2RWxlbWVudHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICBjb25zdCBwcmV2V2lkdGggPSB0aGlzLmdldE91dGVyV2lkdGgocHJldkVsZW1lbnRzW2ldLCB0cnVlKTtcclxuICAgICAgICBwcmV2RWxlbWVudHNbaV0uc3R5bGUubGVmdCA9IGxlZnRBY2N1bXVsYXRvciAtIDEgKyAncHgnO1xyXG4gICAgICAgIGxlZnRBY2N1bXVsYXRvciArPSBwcmV2V2lkdGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldE91dGVyV2lkdGgoZWwsIG1hcmdpbj8pIHtcclxuICAgIGxldCB3aWR0aCA9IGVsLm9mZnNldFdpZHRoO1xyXG5cclxuICAgIGlmIChtYXJnaW4pIHtcclxuICAgICAgY29uc3Qgc3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsKTtcclxuICAgICAgd2lkdGggKz0gcGFyc2VGbG9hdChzdHlsZS5tYXJnaW5MZWZ0KSArIHBhcnNlRmxvYXQoc3R5bGUubWFyZ2luUmlnaHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB3aWR0aCAtIDE7XHJcbiAgfVxyXG5cclxuICBpbmRleChlbGVtZW50OiBhbnkpOiBudW1iZXIge1xyXG4gICAgY29uc3QgY2hpbGRyZW4gPSBlbGVtZW50LnBhcmVudE5vZGUuY2hpbGROb2RlcztcclxuICAgIGxldCBudW0gPSAwO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoY2hpbGRyZW5baV0gPT09IGVsZW1lbnQpIHtcclxuICAgICAgICByZXR1cm4gbnVtO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjaGlsZHJlbltpXS5ub2RlVHlwZSA9PT0gMSkge1xyXG4gICAgICAgIG51bSsrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gLTE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtY29sdW1uLWZyb3plbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tdGFibGUvcG8tdGFibGUtY29sdW1uLWZyb3plbi9wby10YWJsZS1jb2x1bW4tZnJvemVuLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDOztBQVNqSCxNQUFNLE9BQU8sNEJBQTRCO0lBbUJuQjtJQUF3QjtJQWxCNUMsT0FBTyxHQUFZLElBQUksQ0FBQztJQUV4QixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQTRCLE1BQU0sQ0FBQyxHQUFZO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBRW5CLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQzNFO2FBQU07WUFDTCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFUSxXQUFXLEdBQVcsTUFBTSxDQUFDO0lBRXRDLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFbkUsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM5QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE1B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QUFZO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQy9DLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNaLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sRUFBRTtnQkFDM0IsT0FBTyxHQUFHLENBQUM7YUFDWjtZQUNELElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUU7Z0JBQzlCLEdBQUcsRUFBRSxDQUFDO2FBQ1A7U0FDRjtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO3NGQTFIVSw0QkFBNEI7NkRBQTVCLDRCQUE0Qjs7Ozt1RkFBNUIsNEJBQTRCO2NBUHhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLFdBQVc7b0JBQ2xCLDBCQUEwQixFQUFFLFFBQVE7aUJBQ3JDO2FBQ0Y7cUZBUTZCLE1BQU07a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQVViLFdBQVc7a0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcEZyb3plbkNvbHVtbl0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdwLWVsZW1lbnQnLFxuICAgICdbY2xhc3MucG8tZnJvemVuLWNvbHVtbl0nOiAnZnJvemVuJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFBvVGFibGVDb2x1bW5Gcm96ZW5EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBfZnJvemVuOiBib29sZWFuID0gdHJ1ZTtcblxuICBnZXQgZnJvemVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mcm96ZW47XG4gIH1cblxuICBASW5wdXQoJ3BGcm96ZW5Db2x1bW4nKSBzZXQgZnJvemVuKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuX2Zyb3plbiA9IHZhbDtcblxuICAgIGlmICghdmFsKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3BvLXRhYmxlLWNvbHVtbi1maXhlZCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVN0aWNreVBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgYWxpZ25Gcm96ZW46IHN0cmluZyA9ICdsZWZ0JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTdGlja3lQb3NpdGlvbigpO1xuICAgIH0sIDMwMCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuZnJvemVuLnByZXZpb3VzVmFsdWUgJiYgIWNoYW5nZXMuZnJvemVuLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzaXplQ29sdW1ucygpO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICB1cGRhdGVTdGlja3lQb3NpdGlvbigpIHtcbiAgICBpZiAodGhpcy5fZnJvemVuKSB7XG4gICAgICBpZiAodGhpcy5hbGlnbkZyb3plbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICBsZXQgcmlnaHQgPSAwO1xuICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5leHRFbGVtZW50U2libGluZztcblxuICAgICAgICBpZiAobmV4dCkge1xuICAgICAgICAgIHJpZ2h0ID0gdGhpcy5nZXRPdXRlcldpZHRoKG5leHQpICsgKHBhcnNlRmxvYXQobmV4dC5zdHlsZS5yaWdodCkgfHwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnJpZ2h0ID0gcmlnaHQgKyAncHgnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGxlZnQgPSAwO1xuICAgICAgICBjb25zdCBwcmV2ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwcmV2ICYmXG4gICAgICAgICAgIXByZXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdwby10YWJsZS1jb2x1bW4tc2VsZWN0YWJsZScpICYmXG4gICAgICAgICAgIXByZXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdwby10YWJsZS1jb2x1bW4tYWN0aW9ucycpICYmXG4gICAgICAgICAgIXByZXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdwby10YWJsZS1jb2x1bW4tZGV0YWlsLXRvZ2dsZScpICYmXG4gICAgICAgICAgIXByZXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdwby10YWJsZS1oZWFkZXItbWFzdGVyLWRldGFpbCcpXG4gICAgICAgICkge1xuICAgICAgICAgIGxlZnQgPSB0aGlzLmdldE91dGVyV2lkdGgocHJldikgKyAocGFyc2VGbG9hdChwcmV2LnN0eWxlLmxlZnQpIHx8IDApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gbGVmdCAtIDEgKyAncHgnO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3BvLXRhYmxlLWNvbHVtbi1maXhlZCcpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWx0ZXJSb3cgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmc7XG5cbiAgICAgIGlmIChmaWx0ZXJSb3cpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGlmIChmaWx0ZXJSb3cuY2hpbGRyZW4gJiYgZmlsdGVyUm93LmNoaWxkcmVuW2luZGV4XSkge1xuICAgICAgICAgIGZpbHRlclJvdy5jaGlsZHJlbltpbmRleF0uc3R5bGUubGVmdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0O1xuICAgICAgICAgIGZpbHRlclJvdy5jaGlsZHJlbltpbmRleF0uc3R5bGUucmlnaHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUucmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICByZXNpemVDb2x1bW5zKCkge1xuICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHByZXZFbGVtZW50cyA9IFtdO1xuICAgIGxldCBwcmV2RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG5cbiAgICAvLyBFbmNvbnRyYSB0b2RvcyBvcyBlbGVtZW50b3MgYW50ZXJpb3JlcyBjb20gYSBjbGFzc2UgJ3BvLXRhYmxlLWNvbHVtbi1maXhlZCdcbiAgICB3aGlsZSAocHJldkVsZW1lbnQgJiYgcHJldkVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdwby10YWJsZS1jb2x1bW4tZml4ZWQnKSkge1xuICAgICAgcHJldkVsZW1lbnRzLnB1c2gocHJldkVsZW1lbnQpO1xuICAgICAgcHJldkVsZW1lbnQgPSBwcmV2RWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIC8vIFZlcmlmaWNhIHNlIGjDoSBlbGVtZW50b3Mgc3VmaWNpZW50ZXMgcGFyYSBhanVzdGFyIG9zIHdpZHRoc1xuICAgIGlmIChwcmV2RWxlbWVudHMubGVuZ3RoID49IDIpIHtcbiAgICAgIGxldCBsZWZ0QWNjdW11bGF0b3IgPSAwO1xuXG4gICAgICAvLyBDYWxjdWxhIG8gbm92byAnbGVmdCcgcGFyYSBjYWRhIGVsZW1lbnRvIGFudGVyaW9yIGUgYXBsaWNhXG4gICAgICBmb3IgKGxldCBpID0gcHJldkVsZW1lbnRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgIGNvbnN0IHByZXZXaWR0aCA9IHRoaXMuZ2V0T3V0ZXJXaWR0aChwcmV2RWxlbWVudHNbaV0sIHRydWUpO1xuICAgICAgICBwcmV2RWxlbWVudHNbaV0uc3R5bGUubGVmdCA9IGxlZnRBY2N1bXVsYXRvciAtIDEgKyAncHgnO1xuICAgICAgICBsZWZ0QWNjdW11bGF0b3IgKz0gcHJldldpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldE91dGVyV2lkdGgoZWwsIG1hcmdpbj8pIHtcbiAgICBsZXQgd2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAgIGlmIChtYXJnaW4pIHtcbiAgICAgIGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbCk7XG4gICAgICB3aWR0aCArPSBwYXJzZUZsb2F0KHN0eWxlLm1hcmdpbkxlZnQpICsgcGFyc2VGbG9hdChzdHlsZS5tYXJnaW5SaWdodCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdpZHRoIC0gMTtcbiAgfVxuXG4gIGluZGV4KGVsZW1lbnQ6IGFueSk6IG51bWJlciB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBlbGVtZW50LnBhcmVudE5vZGUuY2hpbGROb2RlcztcbiAgICBsZXQgbnVtID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoY2hpbGRyZW5baV0gPT09IGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIG51bTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGlsZHJlbltpXS5ub2RlVHlwZSA9PT0gMSkge1xuICAgICAgICBudW0rKztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIC0xO1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/components/po-table/po-table-column-icon/po-table-column-icon.component.mjs
CHANGED
|
@@ -80,7 +80,7 @@ export class PoTableColumnIconComponent {
|
|
|
80
80
|
}
|
|
81
81
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoTableColumnIconComponent, [{
|
|
82
82
|
type: Component,
|
|
83
|
-
args: [{ selector: 'po-table-column-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<po-table-icon\
|
|
83
|
+
args: [{ selector: 'po-table-column-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<po-table-icon\n *ngFor=\"let column of icons; trackBy: trackByFunction\"\n [p-clickable]=\"isClickable(column)\"\n [p-color]=\"getColor(column)\"\n [p-disabled]=\"isDisabled(column)\"\n [p-icon]=\"getIcon(column)\"\n [p-icon-tooltip]=\"column.tooltip\"\n (p-click)=\"click(column, $event)\"\n>\n</po-table-icon>\n" }]
|
|
84
84
|
}], null, { column: [{
|
|
85
85
|
type: Input,
|
|
86
86
|
args: ['p-column']
|
|
@@ -91,4 +91,4 @@ export class PoTableColumnIconComponent {
|
|
|
91
91
|
type: Input,
|
|
92
92
|
args: ['p-icons']
|
|
93
93
|
}] }); })();
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtY29sdW1uLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXRhYmxlL3BvLXRhYmxlLWNvbHVtbi1pY29uL3BvLXRhYmxlLWNvbHVtbi1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1jb2x1bW4taWNvbi9wby10YWJsZS1jb2x1bW4taWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDQTFFLHdDQVFDO0lBREMsK1BBQVcsZUFBQSwrQkFBcUIsQ0FBQSxJQUFDO0lBRW5DLGlCQUFnQjs7OztJQVBkLDJEQUFtQyx1Q0FBQSw0Q0FBQSxxQ0FBQSxxQ0FBQTs7QURHckM7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxpREFBaUQ7SUFDOUIsTUFBTSxDQUFnQjtJQUV6QyxnQ0FBZ0M7SUFDaEIsR0FBRyxDQUFNO0lBRWpCLE1BQU0sR0FBNkIsRUFBRSxDQUFDO0lBRTlDLG1DQUFtQztJQUNuQyxJQUFzQixLQUFLLENBQUMsS0FBd0Q7UUFDbEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQTZCLEVBQUUsS0FBSztRQUN4QyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEQsSUFBSSxZQUFZLEVBQUU7WUFDaEIsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFO2dCQUNyQixVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDekM7aUJBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQzthQUMxQztZQUNELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsTUFBeUI7UUFDaEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRWpHLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxXQUFXLEtBQUssRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUF5QjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQTZCO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUF5QjtRQUNsQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDN0QsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFLO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFFBQTJEO1FBQ3JGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzQixPQUFhLFFBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDckc7UUFFRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUNoQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUM5QjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztvRkFqRVUsMEJBQTBCOzZEQUExQiwwQkFBMEI7WUNqQnZDLCtGQVNnQjs7WUFSSyxtQ0FBVSxxQ0FBQTs7O3VGRGdCbEIsMEJBQTBCO2NBTHRDLFNBQVM7MkJBQ0Usc0JBQXNCLG1CQUVmLHVCQUF1QixDQUFDLE1BQU07Z0JBSTVCLE1BQU07a0JBQXhCLEtBQUs7bUJBQUMsVUFBVTtZQUdELEdBQUc7a0JBQWxCLEtBQUs7bUJBQUMsT0FBTztZQUtRLEtBQUs7a0JBQTFCLEtBQUs7bUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvVGFibGVDb2x1bW4gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvLXRhYmxlLWNvbHVtbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UYWJsZUNvbHVtbkljb24gfSBmcm9tICcuL3BvLXRhYmxlLWNvbHVtbi1pY29uLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSByZXNwb25zw6F2ZWwgcG9yIGV4aWJpciDDrWNvbmVzIG5hcyBjb2x1bmFzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby10YWJsZS1jb2x1bW4taWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby10YWJsZS1jb2x1bW4taWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBvVGFibGVDb2x1bW5JY29uQ29tcG9uZW50IHtcbiAgLyoqIERlZmluacOnw6NvIGRhIGNvbHVuYSBxdWUgdXRpbGl6YSBvcyBpY29uZXMuICovXG4gIEBJbnB1dCgncC1jb2x1bW4nKSBjb2x1bW46IFBvVGFibGVDb2x1bW47XG5cbiAgLyoqIERhZG9zIGRhIGxpbmhhIGRhIHRhYmVsYS4gKi9cbiAgQElucHV0KCdwLXJvdycpIHJvdzogYW55O1xuXG4gIHByaXZhdGUgX2ljb25zOiBBcnJheTxQb1RhYmxlQ29sdW1uSWNvbj4gPSBbXTtcblxuICAvKiogTGlzdGEgZGUgY29sdW5hcyBjb20gw61jb25lcy4gKi9cbiAgQElucHV0KCdwLWljb25zJykgc2V0IGljb25zKGljb25zOiBBcnJheTxQb1RhYmxlQ29sdW1uSWNvbj4gfCBBcnJheTxzdHJpbmc+IHwgc3RyaW5nKSB7XG4gICAgdGhpcy5faWNvbnMgPSB0aGlzLmNvbnZlcnRUb0NvbHVtbkljb24oaWNvbnMpO1xuICB9XG5cbiAgZ2V0IGljb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9pY29ucztcbiAgfVxuXG4gIGNsaWNrKGNvbHVtbkljb246IFBvVGFibGVDb2x1bW5JY29uLCBldmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlzQWJsZUFjdGlvbiA9ICF0aGlzLmlzRGlzYWJsZWQoY29sdW1uSWNvbik7XG5cbiAgICBpZiAoaXNBYmxlQWN0aW9uKSB7XG4gICAgICBpZiAoY29sdW1uSWNvbi5hY3Rpb24pIHtcbiAgICAgICAgY29sdW1uSWNvbi5hY3Rpb24odGhpcy5yb3csIGNvbHVtbkljb24pO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbHVtbi5hY3Rpb24pIHtcbiAgICAgICAgdGhpcy5jb2x1bW4uYWN0aW9uKHRoaXMucm93LCBjb2x1bW5JY29uKTtcbiAgICAgIH1cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIGdldENvbG9yKGNvbHVtbjogUG9UYWJsZUNvbHVtbkljb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbG9yID0gdHlwZW9mIGNvbHVtbi5jb2xvciA9PT0gJ2Z1bmN0aW9uJyA/IGNvbHVtbi5jb2xvcih0aGlzLnJvdywgY29sdW1uKSA6IGNvbHVtbi5jb2xvcjtcblxuICAgIGlmIChjb2xvcikge1xuICAgICAgcmV0dXJuIGBwby10ZXh0LSR7Y29sb3J9YDtcbiAgICB9XG4gIH1cblxuICBnZXRJY29uKGNvbHVtbjogUG9UYWJsZUNvbHVtbkljb24pIHtcbiAgICByZXR1cm4gY29sdW1uLmljb24gfHwgY29sdW1uLnZhbHVlO1xuICB9XG5cbiAgaXNDbGlja2FibGUoY29sdW1uSWNvbjogUG9UYWJsZUNvbHVtbkljb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoIXRoaXMuaXNEaXNhYmxlZChjb2x1bW5JY29uKSAmJiAoY29sdW1uSWNvbi5hY3Rpb24gfHwgdGhpcy5jb2x1bW4uYWN0aW9uKSk7XG4gIH1cblxuICBpc0Rpc2FibGVkKGNvbHVtbjogUG9UYWJsZUNvbHVtbkljb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29sdW1uLmRpc2FibGVkID8gY29sdW1uLmRpc2FibGVkKHRoaXMucm93KSA6IGZhbHNlO1xuICB9XG5cbiAgdHJhY2tCeUZ1bmN0aW9uKGluZGV4KSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9Db2x1bW5JY29uKHJvd0ljb25zOiBBcnJheTxQb1RhYmxlQ29sdW1uSWNvbj4gfCBBcnJheTxzdHJpbmc+IHwgc3RyaW5nKTogQXJyYXk8UG9UYWJsZUNvbHVtbkljb24+IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dJY29ucykpIHtcbiAgICAgIHJldHVybiAoPGFueT5yb3dJY29ucykubWFwKHJvd0ljb24gPT4gKHR5cGVvZiByb3dJY29uID09PSAnc3RyaW5nJyA/IHsgdmFsdWU6IHJvd0ljb24gfSA6IHJvd0ljb24pKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHJvd0ljb25zID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIFt7IHZhbHVlOiByb3dJY29ucyB9XTtcbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cbn1cbiIsIjxwby10YWJsZS1pY29uXG4gICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgaWNvbnM7IHRyYWNrQnk6IHRyYWNrQnlGdW5jdGlvblwiXG4gIFtwLWNsaWNrYWJsZV09XCJpc0NsaWNrYWJsZShjb2x1bW4pXCJcbiAgW3AtY29sb3JdPVwiZ2V0Q29sb3IoY29sdW1uKVwiXG4gIFtwLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoY29sdW1uKVwiXG4gIFtwLWljb25dPVwiZ2V0SWNvbihjb2x1bW4pXCJcbiAgW3AtaWNvbi10b29sdGlwXT1cImNvbHVtbi50b29sdGlwXCJcbiAgKHAtY2xpY2spPVwiY2xpY2soY29sdW1uLCAkZXZlbnQpXCJcbj5cbjwvcG8tdGFibGUtaWNvbj5cbiJdfQ==
|
package/esm2022/lib/components/po-table/po-table-column-icon/po-table-column-icon.interface.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtY29sdW1uLWljb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXRhYmxlL3BvLXRhYmxlLWNvbHVtbi1pY29uL3BvLXRhYmxlLWNvbHVtbi1pY29uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAdXNlZEJ5IFBvVGFibGVDb21wb25lbnRcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiA8YSBpZD1cInRhYmxlQ29sdW1uSWNvblwiPjwvYT5cbiAqXG4gKiBJbnRlcmZhY2UgcXVlIGRlZmluZSBhIGNvbHVuYSBjb20gw61jb25lKHMpIGRvIGBwby10YWJsZWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9UYWJsZUNvbHVtbkljb24ge1xuICAvKiogRGVmaW5lIGEgYcOnw6NvIHF1ZSBzZXLDoSBleGVjdXRhZGEgYW8gY2xpY2FyIG5vIMOtY29uZS4gKi9cbiAgYWN0aW9uPzogRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIGEgY29yIGRvIMOtY29uZS5cbiAgICpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wMVwiPjwvc3Bhbj4gYGNvbG9yLTAxYFxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTAyXCI+PC9zcGFuPiBgY29sb3ItMDJgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDNcIj48L3NwYW4+IGBjb2xvci0wM2BcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wNFwiPjwvc3Bhbj4gYGNvbG9yLTA0YFxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA1XCI+PC9zcGFuPiBgY29sb3ItMDVgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDZcIj48L3NwYW4+IGBjb2xvci0wNmBcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wN1wiPjwvc3Bhbj4gYGNvbG9yLTA3YFxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA4XCI+PC9zcGFuPiBgY29sb3ItMDhgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDlcIj48L3NwYW4+IGBjb2xvci0wOWBcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0xMFwiPjwvc3Bhbj4gYGNvbG9yLTEwYFxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTExXCI+PC9zcGFuPiBgY29sb3ItMTFgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTJcIj48L3NwYW4+IGBjb2xvci0xMmBcbiAgICpcbiAgICovXG4gIGNvbG9yPzogc3RyaW5nIHwgRnVuY3Rpb247XG5cbiAgLyoqIEZ1bsOnw6NvIHF1ZSBkZXZlIHJldG9ybmFyIHVtIGJvb2xlYW5vIHBhcmEgaGFiaWxpdGFyIG91IGRlc2FiaWxpdGFyIG8gw61jb25lIGUgc3VhIGHDp8Ojby4gKi9cbiAgZGlzYWJsZWQ/OiBGdW5jdGlvbjtcblxuICAvKipcbiAgICogw4kgcG9zc8OtdmVsIHVzYXIgcXVhbHF1ZXIgdW0gZG9zIMOtY29uZXMgZGEgW0JpYmxpb3RlY2EgZGUgw61jb25lc10oL2d1aWRlcy9pY29ucykuIGNvbmZvcm1lIGV4ZW1wbG8gYWJhaXhvOlxuICAgKiBgYGBcbiAgICogWyB7IGljb246ICdwby1pY29uLXBsdXMnIH0gXVxuICAgKiBgYGBcbiAgICpcbiAgICogVGFtYsOpbSDDqSBwb3Nzw612ZWwgdXRpbGl6YXIgb3V0cmFzIGZvbnRlcyBkZSDDrWNvbmVzLCBwb3IgZXhlbXBsbyBhIGJpYmxpb3RlY2EgRm9udCBBd2Vzb21lLCBkYSBzZWd1aW50ZSBmb3JtYTpcbiAgICogYGBgXG4gICAqIFsgeyAgaWNvbjogJ2ZhcyBmYS1wbHVzJyB9IF1cbiAgICogYGBgXG4gICAqXG4gICAqIE91dHJhIG9ww6fDo28gc2VyaWEgYSBjdXN0b21pemHDp8OjbyBkbyDDrWNvbmUgYXRyYXbDqXMgZG8gYFRlbXBsYXRlUmVmYCwgY29uZm9ybWUgZXhlbXBsbyBhYmFpeG86XG4gICAqIGBjb21wb25lbnQuaHRtbGA6XG4gICAqIGBgYFxuICAgKiA8bmctdGVtcGxhdGUgI2ljb25UZW1wbGF0ZUFkZD5cbiAgICogIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBzdHlsZT1cImZvbnQtc2l6ZTogaW5oZXJpdDtcIj5hZGQ8L3NwYW4+XG4gICAqIDwvbmctdGVtcGxhdGU+XG4gICAqXG4gICAqIDxwby10YWJsZSBbcC1jb2x1bW5dPVwibXlQcm9wZXJ0eVwiPjwvcG8tdGFibGU+XG4gICAqIGBgYFxuICAgKiBgY29tcG9uZW50LnRzYDpcbiAgICogYGBgXG4gICAqXG4gICAqIEBWaWV3Q2hpbGQoJ2ljb25UZW1wbGF0ZUFkZCcsIHsgc3RhdGljOiB0cnVlIH0pIGljb25UZW1wbGF0ZUFkZDogVGVtcGxhdGVSZWY8dm9pZD47XG4gICAqXG4gICAqIG15UHJvcGVydHkgPSBbXG4gICAqICB7IHByb3BlcnR5OiAnY29sdW1uSWNvbicsIGxhYmVsOiAnSWNvbnMnLCB0eXBlOiAnaWNvbicsIGljb25zOiBbXG4gICAqICAgeyB2YWx1ZTogJ3BsdXMnLCBpY29uOiB0aGlzLmljb25UZW1wbGF0ZUFkZCB9LFxuICAgKiAgXX1cbiAgICogXTtcbiAgICogYGBgXG4gICAqXG4gICAqID4gQ2FzbyBlc3RhIHByb3ByaWVkYWRlIG7Do28gc2VqYSBkZWZpbmlkYSwgYSBtZXNtYSByZWNlYmVyw6EgbyB2YWxvciBjb250aWRvIGVtIGB2YWx1ZWAuXG4gICAqL1xuICBpY29uPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgLyoqIERlZmluZSB1bSB0ZXh0byBkZSBhanVkYSBxdWUgc2Vyw6EgZXhpYmlkbyBhbyBwYXNzYXIgbyAqbW91c2UqIGVtIGNpbWEgZG8gw61jb25lLiAqL1xuICB0b29sdGlwPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgbyB2YWxvciBkbyDDrWNvbmUgcXVlIHNlcsOhIGV4aWJpZG8uXG4gICAqL1xuICB2YWx1ZTogc3RyaW5nO1xufVxuIl19
|
package/esm2022/lib/components/po-table/po-table-column-label/po-table-column-label.component.mjs
CHANGED
|
@@ -33,9 +33,9 @@ export class PoTableColumnLabelComponent {
|
|
|
33
33
|
}
|
|
34
34
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoTableColumnLabelComponent, [{
|
|
35
35
|
type: Component,
|
|
36
|
-
args: [{ selector: 'po-table-column-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<po-tag\
|
|
36
|
+
args: [{ selector: 'po-table-column-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<po-tag\n *ngIf=\"hasLabel\"\n [p-color]=\"value?.color\"\n [p-value]=\"value?.label\"\n [p-text-color]=\"value?.textColor\"\n [p-icon]=\"value?.icon\"\n [p-type]=\"value?.type\"\n>\n</po-tag>\n" }]
|
|
37
37
|
}], null, { value: [{
|
|
38
38
|
type: Input,
|
|
39
39
|
args: ['p-value']
|
|
40
40
|
}] }); })();
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtY29sdW1uLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1jb2x1bW4tbGFiZWwvcG8tdGFibGUtY29sdW1uLWxhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1jb2x1bW4tbGFiZWwvcG8tdGFibGUtY29sdW1uLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztJQ0FsRiw0QkFRUzs7O0lBTlAsMEVBQXdCLDZEQUFBLHNFQUFBLDJEQUFBLDJEQUFBOztBREUxQjs7Ozs7O0dBTUc7QUFPSCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFUixLQUFLLENBQXFCO0lBRTVDLFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzNELENBQUM7cUZBWFUsMkJBQTJCOzZEQUEzQiwyQkFBMkI7WUNqQnhDLGtGQVFTOztZQVBOLG1DQUFjOzs7dUZEZ0JKLDJCQUEyQjtjQUx2QyxTQUFTOzJCQUNFLHVCQUF1QixtQkFFaEIsdUJBQXVCLENBQUMsTUFBTTtnQkFLN0IsS0FBSztrQkFBdEIsS0FBSzttQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uTGFiZWwgfSBmcm9tICcuL3BvLXRhYmxlLWNvbHVtbi1sYWJlbC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBkb2NzUHJpdmF0ZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIENvbXBvbmVudGUgcGFyYSBhIGNyaWHDp8OjbyBkYSByZXByZXNlbnRhw6fDo28gZGEgbGVnZW5kYSwgZW0gZm9ybWF0byBkZSB0ZXh0byAuXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tdGFibGUtY29sdW1uLWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXRhYmxlLWNvbHVtbi1sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBvVGFibGVDb2x1bW5MYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGhhc0xhYmVsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdwLXZhbHVlJykgdmFsdWU6IFBvVGFibGVDb2x1bW5MYWJlbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrVmFsdWVIYXNMYWJlbCgpO1xuICB9XG5cbiAgY2hlY2tWYWx1ZUhhc0xhYmVsKCk6IHZvaWQge1xuICAgIHRoaXMuaGFzTGFiZWwgPSB0aGlzLnZhbHVlPy5sYWJlbD8udHJpbSgpID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG59XG4iLCI8cG8tdGFnXG4gICpuZ0lmPVwiaGFzTGFiZWxcIlxuICBbcC1jb2xvcl09XCJ2YWx1ZT8uY29sb3JcIlxuICBbcC12YWx1ZV09XCJ2YWx1ZT8ubGFiZWxcIlxuICBbcC10ZXh0LWNvbG9yXT1cInZhbHVlPy50ZXh0Q29sb3JcIlxuICBbcC1pY29uXT1cInZhbHVlPy5pY29uXCJcbiAgW3AtdHlwZV09XCJ2YWx1ZT8udHlwZVwiXG4+XG48L3BvLXRhZz5cbiJdfQ==
|