ca-components 1.3.31 → 1.3.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/scss/input-dropdown-test.scss +2030 -0
- package/esm2022/lib/ca-components.module.mjs +2 -2
- package/esm2022/lib/components/ca-custom-datetime-pickers/ca-custom-datetime-pickers.component.mjs +4 -4
- package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs +32 -34
- package/esm2022/lib/components/ca-input-address-dropdown/enums/input-address-basic-string.enum.mjs +6 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/ca-input-address-dropdown-test.component.mjs +351 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/enums/input-address-basic-string.enum.mjs +6 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/enums/input-address-commands-string.enum.mjs +8 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/enums/input-address-layers-string.enum.mjs +6 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/enums/input-address-stop-types-string.enum.mjs +6 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/enums/input-address-type-string.enum.mjs +7 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/models/address-data.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/models/address-list.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/models/command-properties.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/models/commands-handler.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/models/input-address-commands-string.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/models/long-lat.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/models/sent-address-data.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-address-dropdown-test/validators/ca-input-address-value.validations.mjs +11 -0
- package/esm2022/lib/components/ca-input-datetime-picker/ca-input-datetime-picker.component.mjs +4 -4
- package/esm2022/lib/components/ca-input-dropdown-test/animations/index.mjs +2 -0
- package/esm2022/lib/components/ca-input-dropdown-test/animations/input-dropdown.animation.mjs +11 -0
- package/esm2022/lib/components/ca-input-dropdown-test/ca-input-dropdown-test.component.mjs +692 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-default-template/ca-input-dropdown-default-template.component.mjs +62 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-details-template/ca-input-dropdown-details-template.component.mjs +72 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-dispatch/ca-input-dropdown-dispatch.component.mjs +60 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-double-text-template/ca-input-dropdown-double-text-template.component.mjs +62 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-fuel-franchise/ca-input-dropdown-fuel-franchise.component.mjs +76 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-groups/ca-input-dropdown-groups.component.mjs +58 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-labels/ca-input-dropdown-labels.component.mjs +76 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker/ca-input-dropdown-load-broker-item/ca-input-dropdown-load-broker-item.component.mjs +41 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker/ca-input-dropdown-load-broker.component.mjs +64 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker-contact/ca-input-dropdown-load-broker-contact-item/ca-input-dropdown-load-broker-contact-item.component.mjs +38 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker-contact/ca-input-dropdown-load-broker-contact.component.mjs +62 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker-shipper/ca-input-dropdown-load-broker-shipper-item/ca-input-dropdown-load-broker-shipper-item.component.mjs +37 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker-shipper/ca-input-dropdown-load-broker-shipper.component.mjs +61 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-dispatcher/ca-input-dropdown-load-dispatcher-item/ca-input-dropdown-load-dispatcher-item.component.mjs +49 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-dispatcher/ca-input-dropdown-load-dispatcher.component.mjs +60 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-dispatches-ttd/ca-input-dropdown-load-dispatches-ttd-item/ca-input-dropdown-load-dispatches-ttd-item.mjs +49 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-dispatches-ttd/ca-input-dropdown-load-dispatches-ttd.component.mjs +65 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-multiselect/ca-input-dropdown-multiselect.component.mjs +58 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-payroll-trucks/ca-input-dropdown-payroll-trucks.component.mjs +62 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-svg-template/ca-input-dropdown-svg-template.component.mjs +63 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-svgtext-dispatch-template/ca-input-dropdown-svgtext-dispatch-template.component.mjs +72 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-svgtext-template/ca-input-dropdown-svgtext-template-item/ca-input-dropdown-svgtext-template-item.component.mjs +56 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-svgtext-template/ca-input-dropdown-svgtext-template.component.mjs +77 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-text-counter/ca-input-dropdown-text-counter.component.mjs +58 -0
- package/esm2022/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-triple-text-template/ca-input-dropdown-triple-text-template.component.mjs +62 -0
- package/esm2022/lib/components/ca-input-dropdown-test/enums/dropdown-string.enum.mjs +6 -0
- package/esm2022/lib/components/ca-input-dropdown-test/enums/dropdown-template-type.enum.mjs +23 -0
- package/esm2022/lib/components/ca-input-dropdown-test/enums/index.mjs +3 -0
- package/esm2022/lib/components/ca-input-dropdown-test/models/index.mjs +4 -0
- package/esm2022/lib/components/ca-input-dropdown-test/models/input-dropdown-option.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-dropdown-test/models/load-modal-status.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-dropdown-test/models/status-order.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/dropdown-count.pipe.mjs +29 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/dropdown-options.pipe.mjs +73 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/index.mjs +10 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/input-dropdown-default-template-class.pipe.mjs +27 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/input-dropdown-fuel-franchise-class.pipe.mjs +22 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/input-dropdown-get-icon.pipe.mjs +18 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/input-dropdown-label-class.pipe.mjs +27 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/input-dropdown-load-broker-container.pipe.mjs +25 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/input-dropdown-multiselect-class.pipe.mjs +23 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/input-dropdown-svgtext-template-container.pipe.mjs +25 -0
- package/esm2022/lib/components/ca-input-dropdown-test/pipes/input-dropdown-svgtext-template-icon.pipe.mjs +23 -0
- package/esm2022/lib/components/ca-input-dropdown-test/utils/svg-routes/index.mjs +2 -0
- package/esm2022/lib/components/ca-input-dropdown-test/utils/svg-routes/input-dropdown-svg-routes.mjs +13 -0
- package/esm2022/lib/components/ca-input-test/base-classes/ca-input-event-manager.mjs +24 -0
- package/esm2022/lib/components/ca-input-test/components/ca-input-clear/ca-input-clear.component.mjs +66 -0
- package/esm2022/lib/components/ca-input-test/components/ca-input-commands/ca-input-commands.component.mjs +48 -0
- package/esm2022/lib/components/ca-input-test/components/ca-input-password/ca-input-password.component.mjs +63 -0
- package/esm2022/lib/components/ca-input-test/components/ca-input-placeholder-icon/ca-input-placeholder-icon.component.mjs +85 -0
- package/esm2022/lib/components/ca-input-test/config/ca-input.config.mjs +2 -0
- package/esm2022/lib/components/ca-input-test/config/index.mjs +2 -0
- package/esm2022/lib/components/ca-input-test/directives/caps-lock.directive.mjs +50 -0
- package/esm2022/lib/components/ca-input-test/directives/command-visible.directive.mjs +48 -0
- package/esm2022/lib/components/ca-input-test/directives/index.mjs +6 -0
- package/esm2022/lib/components/ca-input-test/directives/input-max-value.directive.mjs +53 -0
- package/esm2022/lib/components/ca-input-test/directives/min-max-value.directive.mjs +41 -0
- package/esm2022/lib/components/ca-input-test/directives/price_format.directive.mjs +41 -0
- package/esm2022/lib/components/ca-input-test/directives/restrict-input.directive.mjs +94 -0
- package/esm2022/lib/components/ca-input-test/enums/index.mjs +5 -0
- package/esm2022/lib/components/ca-input-test/enums/input-commands-action.enum.mjs +11 -0
- package/esm2022/lib/components/ca-input-test/enums/input-commands-type.enum.mjs +8 -0
- package/esm2022/lib/components/ca-input-test/enums/input-config-name-string.enum.mjs +9 -0
- package/esm2022/lib/components/ca-input-test/enums/input-string.enum.mjs +114 -0
- package/esm2022/lib/components/ca-input-test/enums/input-text-transform.enum.mjs +9 -0
- package/esm2022/lib/components/ca-input-test/input-test.component.mjs +273 -0
- package/esm2022/lib/components/ca-input-test/mixins/input-command.mixin.mjs +127 -0
- package/esm2022/lib/components/ca-input-test/mixins/input-helper.mixin.mjs +49 -0
- package/esm2022/lib/components/ca-input-test/mixins/restriction-pipe.mixin.mjs +34 -0
- package/esm2022/lib/components/ca-input-test/models/base.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-test/models/command-click.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-test/models/commands-event.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-test/models/index.mjs +4 -0
- package/esm2022/lib/components/ca-input-test/models/label-color.model.mjs +2 -0
- package/esm2022/lib/components/ca-input-test/pipes/color-finder.pipe.mjs +62 -0
- package/esm2022/lib/components/ca-input-test/pipes/form-control.pipe.mjs +17 -0
- package/esm2022/lib/components/ca-input-test/pipes/index.mjs +20 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-class.pipe.mjs +155 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-clear-class.pipe.mjs +87 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-container-class.pipe.mjs +58 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-datetime-picker-class.pipe.mjs +77 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-dropdown-arrow-class.pipe.mjs +61 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-error.pipe.mjs +88 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-password-eye-class.pipe.mjs +37 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-pattern.pipe.mjs +326 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-placeholder-icon-right.pipe.mjs +46 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-placeholder-icon.class.pipe.mjs +58 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-placeholder-text-class.pipe.mjs +45 -0
- package/esm2022/lib/components/ca-input-test/pipes/input-type.pipe.mjs +25 -0
- package/esm2022/lib/components/ca-input-test/pipes/label-class.pipe.mjs +38 -0
- package/esm2022/lib/components/ca-input-test/pipes/show-clear.pipe.mjs +22 -0
- package/esm2022/lib/components/ca-input-test/pipes/show-dropdown-arrow.pipe.mjs +26 -0
- package/esm2022/lib/components/ca-input-test/pipes/show-invalid-danger-mark.pipe.mjs +27 -0
- package/esm2022/lib/components/ca-input-test/pipes/show-placeholder-text.pipe.mjs +24 -0
- package/esm2022/lib/components/ca-input-test/pipes/show-valid-check.pipe.mjs +27 -0
- package/esm2022/lib/components/ca-input-test/utils/index.mjs +3 -0
- package/esm2022/lib/components/ca-input-test/utils/input-change-value.type.mjs +2 -0
- package/esm2022/lib/components/ca-input-test/utils/input-svg-routes.mjs +17 -0
- package/esm2022/public-api.mjs +4 -2
- package/fesm2022/ca-components.mjs +5995 -1476
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/ca-components.module.d.ts +1 -1
- package/lib/components/ca-custom-datetime-pickers/ca-custom-datetime-pickers.component.d.ts +1 -1
- package/lib/components/ca-input-address-dropdown/enums/input-address-basic-string.enum.d.ts +4 -0
- package/lib/components/ca-input-address-dropdown-test/ca-input-address-dropdown-test.component.d.ts +74 -0
- package/lib/components/ca-input-address-dropdown-test/enums/input-address-basic-string.enum.d.ts +4 -0
- package/lib/components/ca-input-address-dropdown-test/enums/input-address-commands-string.enum.d.ts +6 -0
- package/lib/components/ca-input-address-dropdown-test/enums/input-address-layers-string.enum.d.ts +4 -0
- package/lib/components/ca-input-address-dropdown-test/enums/input-address-stop-types-string.enum.d.ts +4 -0
- package/lib/components/ca-input-address-dropdown-test/enums/input-address-type-string.enum.d.ts +5 -0
- package/lib/components/ca-input-address-dropdown-test/models/address-data.model.d.ts +10 -0
- package/lib/components/ca-input-address-dropdown-test/models/address-list.model.d.ts +5 -0
- package/lib/components/ca-input-address-dropdown-test/models/command-properties.model.d.ts +7 -0
- package/lib/components/ca-input-address-dropdown-test/models/commands-handler.model.d.ts +7 -0
- package/lib/components/ca-input-address-dropdown-test/models/input-address-commands-string.model.d.ts +1 -0
- package/lib/components/ca-input-address-dropdown-test/models/long-lat.model.d.ts +4 -0
- package/lib/components/ca-input-address-dropdown-test/models/sent-address-data.model.d.ts +6 -0
- package/lib/components/ca-input-address-dropdown-test/validators/ca-input-address-value.validations.d.ts +2 -0
- package/lib/components/ca-input-dropdown-test/animations/index.d.ts +1 -0
- package/lib/components/ca-input-dropdown-test/animations/input-dropdown.animation.d.ts +1 -0
- package/lib/components/ca-input-dropdown-test/ca-input-dropdown-test.component.d.ts +125 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-default-template/ca-input-dropdown-default-template.component.d.ts +20 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-details-template/ca-input-dropdown-details-template.component.d.ts +22 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-dispatch/ca-input-dropdown-dispatch.component.d.ts +19 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-double-text-template/ca-input-dropdown-double-text-template.component.d.ts +20 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-fuel-franchise/ca-input-dropdown-fuel-franchise.component.d.ts +27 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-groups/ca-input-dropdown-groups.component.d.ts +18 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-labels/ca-input-dropdown-labels.component.d.ts +24 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker/ca-input-dropdown-load-broker-item/ca-input-dropdown-load-broker-item.component.d.ts +10 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker/ca-input-dropdown-load-broker.component.d.ts +18 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker-contact/ca-input-dropdown-load-broker-contact-item/ca-input-dropdown-load-broker-contact-item.component.d.ts +11 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker-contact/ca-input-dropdown-load-broker-contact.component.d.ts +18 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker-shipper/ca-input-dropdown-load-broker-shipper-item/ca-input-dropdown-load-broker-shipper-item.component.d.ts +11 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-broker-shipper/ca-input-dropdown-load-broker-shipper.component.d.ts +18 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-dispatcher/ca-input-dropdown-load-dispatcher-item/ca-input-dropdown-load-dispatcher-item.component.d.ts +14 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-dispatcher/ca-input-dropdown-load-dispatcher.component.d.ts +20 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-dispatches-ttd/ca-input-dropdown-load-dispatches-ttd-item/ca-input-dropdown-load-dispatches-ttd-item.d.ts +14 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-load-dispatches-ttd/ca-input-dropdown-load-dispatches-ttd.component.d.ts +20 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-multiselect/ca-input-dropdown-multiselect.component.d.ts +18 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-payroll-trucks/ca-input-dropdown-payroll-trucks.component.d.ts +20 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-svg-template/ca-input-dropdown-svg-template.component.d.ts +20 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-svgtext-dispatch-template/ca-input-dropdown-svgtext-dispatch-template.component.d.ts +22 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-svgtext-template/ca-input-dropdown-svgtext-template-item/ca-input-dropdown-svgtext-template-item.component.d.ts +15 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-svgtext-template/ca-input-dropdown-svgtext-template.component.d.ts +22 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-text-counter/ca-input-dropdown-text-counter.component.d.ts +18 -0
- package/lib/components/ca-input-dropdown-test/components/ca-input-dropdown-triple-text-template/ca-input-dropdown-triple-text-template.component.d.ts +20 -0
- package/lib/components/ca-input-dropdown-test/enums/dropdown-string.enum.d.ts +4 -0
- package/lib/components/ca-input-dropdown-test/enums/dropdown-template-type.enum.d.ts +21 -0
- package/lib/components/ca-input-dropdown-test/enums/index.d.ts +2 -0
- package/lib/components/ca-input-dropdown-test/models/index.d.ts +3 -0
- package/lib/components/ca-input-dropdown-test/models/input-dropdown-option.model.d.ts +95 -0
- package/lib/components/ca-input-dropdown-test/models/load-modal-status.model.d.ts +5 -0
- package/lib/components/ca-input-dropdown-test/models/status-order.model.d.ts +4 -0
- package/lib/components/ca-input-dropdown-test/pipes/dropdown-count.pipe.d.ts +7 -0
- package/lib/components/ca-input-dropdown-test/pipes/dropdown-options.pipe.d.ts +10 -0
- package/lib/components/ca-input-dropdown-test/pipes/index.d.ts +9 -0
- package/lib/components/ca-input-dropdown-test/pipes/input-dropdown-default-template-class.pipe.d.ts +11 -0
- package/lib/components/ca-input-dropdown-test/pipes/input-dropdown-fuel-franchise-class.pipe.d.ts +10 -0
- package/lib/components/ca-input-dropdown-test/pipes/input-dropdown-get-icon.pipe.d.ts +9 -0
- package/lib/components/ca-input-dropdown-test/pipes/input-dropdown-label-class.pipe.d.ts +11 -0
- package/lib/components/ca-input-dropdown-test/pipes/input-dropdown-load-broker-container.pipe.d.ts +10 -0
- package/lib/components/ca-input-dropdown-test/pipes/input-dropdown-multiselect-class.pipe.d.ts +11 -0
- package/lib/components/ca-input-dropdown-test/pipes/input-dropdown-svgtext-template-container.pipe.d.ts +10 -0
- package/lib/components/ca-input-dropdown-test/pipes/input-dropdown-svgtext-template-icon.pipe.d.ts +11 -0
- package/lib/components/ca-input-dropdown-test/utils/svg-routes/index.d.ts +1 -0
- package/lib/components/ca-input-dropdown-test/utils/svg-routes/input-dropdown-svg-routes.d.ts +12 -0
- package/lib/components/ca-input-test/base-classes/ca-input-event-manager.d.ts +16 -0
- package/lib/components/ca-input-test/components/ca-input-clear/ca-input-clear.component.d.ts +20 -0
- package/lib/components/ca-input-test/components/ca-input-commands/ca-input-commands.component.d.ts +16 -0
- package/lib/components/ca-input-test/components/ca-input-password/ca-input-password.component.d.ts +20 -0
- package/lib/components/ca-input-test/components/ca-input-placeholder-icon/ca-input-placeholder-icon.component.d.ts +26 -0
- package/lib/components/ca-input-test/config/ca-input.config.d.ts +168 -0
- package/lib/components/ca-input-test/config/index.d.ts +1 -0
- package/lib/components/ca-input-test/directives/caps-lock.directive.d.ts +14 -0
- package/lib/components/ca-input-test/directives/index.d.ts +5 -0
- package/lib/components/ca-input-test/directives/input-max-value.directive.d.ts +12 -0
- package/lib/components/ca-input-test/directives/min-max-value.directive.d.ts +13 -0
- package/lib/components/ca-input-test/directives/price_format.directive.d.ts +11 -0
- package/lib/components/ca-input-test/directives/restrict-input.directive.d.ts +27 -0
- package/lib/components/ca-input-test/enums/index.d.ts +4 -0
- package/lib/components/ca-input-test/enums/input-commands-action.enum.d.ts +9 -0
- package/lib/components/ca-input-test/enums/input-commands-type.enum.d.ts +6 -0
- package/lib/components/ca-input-test/enums/input-config-name-string.enum.d.ts +7 -0
- package/lib/components/ca-input-test/enums/input-string.enum.d.ts +112 -0
- package/lib/components/ca-input-test/enums/input-text-transform.enum.d.ts +6 -0
- package/lib/components/{ca-input/input-test → ca-input-test}/input-test.component.d.ts +13 -12
- package/lib/components/ca-input-test/mixins/restriction-pipe.mixin.d.ts +12 -0
- package/lib/components/ca-input-test/models/command-click.model.d.ts +5 -0
- package/lib/components/ca-input-test/models/commands-event.model.d.ts +5 -0
- package/lib/components/ca-input-test/models/index.d.ts +3 -0
- package/lib/components/ca-input-test/models/label-color.model.d.ts +11 -0
- package/lib/components/ca-input-test/pipes/color-finder.pipe.d.ts +7 -0
- package/lib/components/ca-input-test/pipes/form-control.pipe.d.ts +8 -0
- package/lib/components/ca-input-test/pipes/index.d.ts +19 -0
- package/lib/components/ca-input-test/pipes/input-class.pipe.d.ts +13 -0
- package/lib/components/ca-input-test/pipes/input-clear-class.pipe.d.ts +11 -0
- package/lib/components/ca-input-test/pipes/input-container-class.pipe.d.ts +11 -0
- package/lib/components/ca-input-test/pipes/input-datetime-picker-class.pipe.d.ts +11 -0
- package/lib/components/ca-input-test/pipes/input-dropdown-arrow-class.pipe.d.ts +11 -0
- package/lib/components/ca-input-test/pipes/input-error.pipe.d.ts +7 -0
- package/lib/components/ca-input-test/pipes/input-password-eye-class.pipe.d.ts +11 -0
- package/lib/components/ca-input-test/pipes/input-pattern.pipe.d.ts +38 -0
- package/lib/components/ca-input-test/pipes/input-placeholder-icon-right.pipe.d.ts +11 -0
- package/lib/components/ca-input-test/pipes/input-placeholder-icon.class.pipe.d.ts +12 -0
- package/lib/components/ca-input-test/pipes/input-placeholder-text-class.pipe.d.ts +11 -0
- package/lib/components/ca-input-test/pipes/input-type.pipe.d.ts +7 -0
- package/lib/components/ca-input-test/pipes/label-class.pipe.d.ts +10 -0
- package/lib/components/ca-input-test/pipes/show-clear.pipe.d.ts +8 -0
- package/lib/components/ca-input-test/pipes/show-dropdown-arrow.pipe.d.ts +8 -0
- package/lib/components/ca-input-test/pipes/show-invalid-danger-mark.pipe.d.ts +9 -0
- package/lib/components/ca-input-test/pipes/show-placeholder-text.pipe.d.ts +9 -0
- package/lib/components/ca-input-test/pipes/show-valid-check.pipe.d.ts +9 -0
- package/lib/components/ca-input-test/utils/index.d.ts +2 -0
- package/lib/components/ca-input-test/utils/input-change-value.type.d.ts +1 -0
- package/lib/components/ca-input-test/utils/input-svg-routes.d.ts +16 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -1
- package/esm2022/lib/components/ca-input/directives/command-visible.directive.mjs +0 -48
- package/esm2022/lib/components/ca-input/input-test/input-test.component.mjs +0 -266
- package/esm2022/lib/components/ca-input/mixins/input-command.mixin.mjs +0 -127
- package/esm2022/lib/components/ca-input/mixins/input-helper.mixin.mjs +0 -49
- package/esm2022/lib/components/ca-input/models/base.model.mjs +0 -2
- /package/lib/components/{ca-input → ca-input-test}/directives/command-visible.directive.d.ts +0 -0
- /package/lib/components/{ca-input → ca-input-test}/mixins/input-command.mixin.d.ts +0 -0
- /package/lib/components/{ca-input → ca-input-test}/mixins/input-helper.mixin.d.ts +0 -0
- /package/lib/components/{ca-input → ca-input-test}/models/base.model.d.ts +0 -0
package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
3
3
|
import { Component, EventEmitter, Input, Output, Self, ViewChild, ViewEncapsulation, HostListener, } from '@angular/core';
|
|
4
|
-
import { distinctUntilChanged, filter, of, Subject, switchMap, takeUntil,
|
|
4
|
+
import { catchError, debounceTime, distinctUntilChanged, filter, of, Subject, switchMap, takeUntil, tap, } from 'rxjs';
|
|
5
5
|
import { FormsModule, } from '@angular/forms';
|
|
6
6
|
// Components
|
|
7
7
|
import { CaInputDropdownComponent } from '../ca-input-dropdown/ca-input-dropdown.component';
|
|
@@ -13,6 +13,7 @@ import { InputAddressCommandsStringEnum } from './enums/input-address-commands-s
|
|
|
13
13
|
import { InputAddressStopTypesStringEnum } from './enums/input-address-stop-types-string.enum';
|
|
14
14
|
import { InputAddressTypeStringEnum } from './enums/input-address-type-string.enum';
|
|
15
15
|
import { InputAddressLayersStringEnum } from './enums/input-address-layers-string.enum';
|
|
16
|
+
import { eInputBasicString } from './enums/input-address-basic-string.enum';
|
|
16
17
|
import { CaAppTooltipV2Component } from '../ca-app-tooltip-v2/ca-app-tooltip-v2.component';
|
|
17
18
|
import { HttpClientModule } from '@angular/common/http';
|
|
18
19
|
import * as i0 from "@angular/core";
|
|
@@ -25,20 +26,19 @@ export class CaInputAddressDropdownComponent {
|
|
|
25
26
|
this.checkSearchLayers(value);
|
|
26
27
|
}
|
|
27
28
|
set activeAddress(value) {
|
|
28
|
-
if (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
isValid = this.checkAddressValidation(address);
|
|
29
|
+
if (value) {
|
|
30
|
+
this._activeAddress = value;
|
|
31
|
+
let isValid = true;
|
|
32
|
+
if (this.searchLayers[0] === InputAddressLayersStringEnum.ADDRESS) {
|
|
33
|
+
const address = value?.address;
|
|
34
|
+
if (address)
|
|
35
|
+
isValid = this.checkAddressValidation(address);
|
|
36
36
|
}
|
|
37
|
+
if (!value || !isValid)
|
|
38
|
+
this.getSuperControl.setErrors({ invalid: true });
|
|
39
|
+
else
|
|
40
|
+
this.getSuperControl.setErrors(null);
|
|
37
41
|
}
|
|
38
|
-
if (!value || !isValid)
|
|
39
|
-
this.getSuperControl.setErrors({ invalid: true });
|
|
40
|
-
else
|
|
41
|
-
this.getSuperControl.setErrors(null);
|
|
42
42
|
}
|
|
43
43
|
set receivedAddressData(value) {
|
|
44
44
|
if (value) {
|
|
@@ -113,7 +113,16 @@ export class CaInputAddressDropdownComponent {
|
|
|
113
113
|
}
|
|
114
114
|
initChangesListener() {
|
|
115
115
|
this.getSuperControl?.valueChanges
|
|
116
|
-
?.pipe(distinctUntilChanged(),
|
|
116
|
+
?.pipe(distinctUntilChanged(), takeUntil(this.destroy$), tap((term) => {
|
|
117
|
+
this.inputConfig = {
|
|
118
|
+
...this.inputConfig,
|
|
119
|
+
loadingSpinner: {
|
|
120
|
+
...this.inputConfig.loadingSpinner,
|
|
121
|
+
isLoading: true,
|
|
122
|
+
size: eInputBasicString.SMALL,
|
|
123
|
+
color: eInputBasicString.WHITE,
|
|
124
|
+
},
|
|
125
|
+
};
|
|
117
126
|
if (!term) {
|
|
118
127
|
this.inputConfig = {
|
|
119
128
|
...this.inputConfig,
|
|
@@ -124,7 +133,7 @@ export class CaInputAddressDropdownComponent {
|
|
|
124
133
|
};
|
|
125
134
|
this.addresList = [];
|
|
126
135
|
}
|
|
127
|
-
else if (term
|
|
136
|
+
else if (term !== this.currentAddressData?.address.address &&
|
|
128
137
|
this.inputConfig.name ===
|
|
129
138
|
InputAddressTypeStringEnum.ROUTING_ADDRESS) {
|
|
130
139
|
this.currentAddressData = null;
|
|
@@ -142,40 +151,29 @@ export class CaInputAddressDropdownComponent {
|
|
|
142
151
|
this.selectedAddress.emit(addressData);
|
|
143
152
|
}
|
|
144
153
|
this.allowValidation = true;
|
|
154
|
+
}), filter((term) => {
|
|
145
155
|
return term?.length >= 3;
|
|
146
|
-
}), switchMap((query) => {
|
|
147
|
-
this.inputConfig = {
|
|
148
|
-
...this.inputConfig,
|
|
149
|
-
loadingSpinner: {
|
|
150
|
-
...this.inputConfig.loadingSpinner,
|
|
151
|
-
isLoading: true,
|
|
152
|
-
size: 'small',
|
|
153
|
-
color: 'white',
|
|
154
|
-
},
|
|
155
|
-
};
|
|
156
|
+
}), debounceTime(500), switchMap((query) => {
|
|
156
157
|
const params = {
|
|
157
|
-
query,
|
|
158
|
+
query: query,
|
|
158
159
|
searchLayers: this.searchLayers,
|
|
159
160
|
closedBorder: this.closedBorder,
|
|
160
161
|
};
|
|
161
162
|
this.sentAddressData.next(params);
|
|
162
|
-
return of(this.receivedAddressList);
|
|
163
|
+
return of(this.receivedAddressList).pipe(catchError(() => of([])));
|
|
163
164
|
}))
|
|
164
165
|
.subscribe(() => {
|
|
165
166
|
let isValid = true;
|
|
166
167
|
if (this.searchLayers[0] ===
|
|
167
168
|
InputAddressLayersStringEnum.ADDRESS) {
|
|
168
169
|
const address = this._activeAddress?.address;
|
|
169
|
-
if (address)
|
|
170
|
+
if (address)
|
|
170
171
|
isValid = this.checkAddressValidation(address);
|
|
171
|
-
}
|
|
172
172
|
}
|
|
173
|
-
if (!this._activeAddress || !isValid)
|
|
173
|
+
if (!this._activeAddress || !isValid)
|
|
174
174
|
this.getSuperControl.setErrors({ invalid: true });
|
|
175
|
-
|
|
176
|
-
else {
|
|
175
|
+
else
|
|
177
176
|
this.getSuperControl.setErrors(null);
|
|
178
|
-
}
|
|
179
177
|
this.inputConfig = {
|
|
180
178
|
...this.inputConfig,
|
|
181
179
|
loadingSpinner: {
|
|
@@ -383,4 +381,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
383
381
|
type: HostListener,
|
|
384
382
|
args: ['document:keydown', ['$event']]
|
|
385
383
|
}] } });
|
|
386
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixFQUFFLEVBQ0YsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUlILFdBQVcsR0FDZCxNQUFNLGdCQUFnQixDQUFDO0FBS3hCLGFBQWE7QUFDYixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU1RixVQUFVO0FBQ1YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZELFFBQVE7QUFDUixPQUFPLEVBQUUsOEJBQThC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O3NCQUEzQixLQUFLO2dCQUljLGFBQWE7c0JBQWhDLEtBQUs7Z0JBZ0JjLG1CQUFtQjtzQkFBdEMsS0FBSztnQkFlYyxtQkFBbUI7c0JBQXRDLEtBQUs7Z0JBZVcsZ0JBQWdCO3NCQUFoQyxNQUFNO2dCQUdTLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxlQUFlO3NCQUF4QixNQUFNO2dCQUlQLGFBQWE7c0JBRFosTUFBTTtnQkFFRyxZQUFZO3NCQUFyQixNQUFNO2dCQUdHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFJUCxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIG9mLFxuICAgIFN1YmplY3QsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbiAgICB0aHJvdHRsZVRpbWUsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBVbnR5cGVkRm9ybUdyb3VwLFxuICAgIE5nQ29udHJvbCxcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBDb25maWdcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi4vY2EtaW5wdXQvY29uZmlnL2NhLWlucHV0LmNvbmZpZyc7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IENhSW5wdXREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL2NhLWlucHV0LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5cbi8vIE1vZHVsZXNcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbi8vIGVudW1zXG5pbXBvcnQgeyBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zL2lucHV0LWFkZHJlc3MtY29tbWFuZHMtc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzU3RvcFR5cGVzU3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy1zdG9wLXR5cGVzLXN0cmluZy5lbnVtJztcbmltcG9ydCB7IElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcy9pbnB1dC1hZGRyZXNzLXR5cGUtc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy1sYXllcnMtc3RyaW5nLmVudW0nO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IEFkZHJlc3NEYXRhIH0gZnJvbSAnLi9tb2RlbHMvYWRkcmVzcy1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEFkZHJlc3NMaXN0IH0gZnJvbSAnLi9tb2RlbHMvYWRkcmVzcy1saXN0Lm1vZGVsJztcbmltcG9ydCB7IENvbW1hbmRzSGFuZGxlciB9IGZyb20gJy4vbW9kZWxzL2NvbW1hbmRzLWhhbmRsZXIubW9kZWwnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlU2VhcmNoTGF5ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXV0b2NvbXBsZXRlLXNlYXJjaC1sYXllci5tb2RlbCc7XG5pbXBvcnQgeyBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWFwcC10b29sdGlwLXYyL2NhLWFwcC10b29sdGlwLXYyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmcgfSBmcm9tICcuL21vZGVscy9pbnB1dC1hZGRyZXNzLWNvbW1hbmRzLXN0cmluZy5tb2RlbCc7XG5pbXBvcnQgeyBTZW50QWRkcmVzc0RhdGEgfSBmcm9tICcuL21vZGVscy9zZW50LWFkZHJlc3MtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzTGlzdFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3MtbGlzdC1yZXNwb25zZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLWNhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFtcbiAgICAgICAgJy4vY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi5jb21wb25lbnQuc2NzcycsXG4gICAgICAgICcuLi9jYS1pbnB1dC9jYS1pbnB1dC5jb21wb25lbnQuc2NzcycsXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBNb2R1bGVzXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nYk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXG5cbiAgICAgICAgLy8gQ29tcG9uZW50c1xuICAgICAgICBDYUlucHV0RHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIENhQXBwVG9vbHRpcFYyQ29tcG9uZW50LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhSW5wdXRBZGRyZXNzRHJvcGRvd25Db21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveVxue1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RHJvcGRvd24nKSBpbnB1dERyb3Bkb3duITogQ2FJbnB1dERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQElucHV0KCkgc2V0IHBsYWNlaG9sZGVyVHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY2hlY2tTZWFyY2hMYXllcnModmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgYWN0aXZlQWRkcmVzcyh2YWx1ZTogQWRkcmVzc0xpc3QgfCBudWxsKSB7XG4gICAgICAgIGlmKCAhdmFsdWUgKSByZXR1cm47XG4gICAgICAgIHRoaXMuX2FjdGl2ZUFkZHJlc3MgPSB2YWx1ZTtcbiAgICAgICAgbGV0IGlzVmFsaWQgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hMYXllcnNbMF0gPT09IElucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0uQUREUkVTUykge1xuICAgICAgICAgICAgY29uc3QgYWRkcmVzcyA9IHZhbHVlPy5hZGRyZXNzO1xuICAgICAgICAgICAgaWYgKGFkZHJlc3MpIHtcbiAgICAgICAgICAgICAgICBpc1ZhbGlkID0gdGhpcy5jaGVja0FkZHJlc3NWYWxpZGF0aW9uKGFkZHJlc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCAhaXNWYWxpZClcbiAgICAgICAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRFcnJvcnMoeyBpbnZhbGlkOiB0cnVlIH0pO1xuICAgICAgICBlbHNlIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRFcnJvcnMobnVsbCk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgcHVibGljIHNldCByZWNlaXZlZEFkZHJlc3NEYXRhKHZhbHVlOiBBZGRyZXNzRGF0YSB8IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA9IHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiB2YWx1ZS5hZGRyZXNzISxcbiAgICAgICAgICAgICAgICB2YWxpZDogdmFsdWUuYWRkcmVzcyAmJiB2YWx1ZS5sb25nTGF0ID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGxvbmdMYXQ6IHZhbHVlLmxvbmdMYXQsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50QWRkcmVzc0RhdGEhLnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFkZHJlc3MuZW1pdCh0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgcmVjZWl2ZWRBZGRyZXNzTGlzdCh2YWx1ZTogQWRkcmVzc0xpc3RSZXNwb25zZSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fcmVjZWl2ZWRBZGRyZXNzTGlzdCA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZT8uYWRkcmVzc2VzKSB7XG4gICAgICAgICAgICB0aGlzLmFkZHJlc0xpc3QgPSB2YWx1ZS5hZGRyZXNzZXMubWFwKFxuICAgICAgICAgICAgICAgIChpdGVtOiBzdHJpbmcsIGluZHg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpbmR4LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHNlbnRBZGRyZXNzVmFsdWU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgaW5wdXRDb25maWchOiBJQ2FJbnB1dDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29tbWFuZEhhbmRsZXIhOiBDb21tYW5kc0hhbmRsZXI7XG4gICAgQElucHV0KCkgcHVibGljIGlzUm91dGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjbG9zZWRCb3JkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaW5jb3JyZWN0VmFsdWUhOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoaWRlRW1wdHlMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWRkcmVzTGlzdCE6IEFkZHJlc3NMaXN0W107XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRBZGRyZXNzOiBFdmVudEVtaXR0ZXI8QWRkcmVzc0RhdGE+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxBZGRyZXNzRGF0YT4oKTtcbiAgICBAT3V0cHV0KCkgc2VudEFkZHJlc3NEYXRhOiBFdmVudEVtaXR0ZXI8U2VudEFkZHJlc3NEYXRhPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8U2VudEFkZHJlc3NEYXRhPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgY2xvc2VEcm9wZG93bjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBjb21tYW5kRXZlbnQ6IEV2ZW50RW1pdHRlcjxBZGRyZXNzRGF0YSB8IHt9PiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgICAgIEFkZHJlc3NEYXRhIHwge31cbiAgICA+KCk7XG4gICAgQE91dHB1dCgpIGNoYW5nZUZsYWc6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgaW5jb3JyZWN0RXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnLm5hbWUgPT0gSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0uUk9VVElOR19BRERSRVNTXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkVOVEVSKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudEFkZHJlc3NEYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Db21tYW5kcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkNPTkZJUk1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkVTQ0FQRSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJJbnB1dChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL0FkZHJlc3MgZGF0YVxuICAgIHByaXZhdGUgc2VhcmNoTGF5ZXJzITogQXV0b2NvbXBsZXRlU2VhcmNoTGF5ZXJbXTtcbiAgICBwdWJsaWMgY3VycmVudEFkZHJlc3NEYXRhOiBBZGRyZXNzRGF0YSB8IG51bGwgPSBudWxsO1xuXG4gICAgLy9Db25mZ1xuICAgIHB1YmxpYyBhZGRyZXNzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY2hvc2VuRnJvbURyb3Bkb3duOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBhbGxvd1ZhbGlkYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgc3RvcFR5cGU6IHN0cmluZyA9IElucHV0QWRkcmVzc1N0b3BUeXBlc1N0cmluZ0VudW0uRU1QVFk7XG4gICAgcHJpdmF0ZSByZXF1ZXN0U2VudDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBfcmVjZWl2ZWRBZGRyZXNzTGlzdDogQWRkcmVzc0xpc3RSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBfYWN0aXZlQWRkcmVzczogQWRkcmVzc0xpc3QgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBhZGRyZXNzRm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQFNlbGYoKSBwdWJsaWMgc3VwZXJDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICB0aGlzLnN1cGVyQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKF86IGFueSk6IHZvaWQge31cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZShfOiBhbnkpOiB2b2lkIHt9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoXzogYW55KTogdm9pZCB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdENoYW5nZXNMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0Q2hhbmdlc0xpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFN1cGVyQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICA/LnBpcGUoXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICB0aHJvdHRsZVRpbWUoMSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigodGVybTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGVybSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTcGlubmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcubG9hZGluZ1NwaW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZHJlc0xpc3QgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm0gIT0gdGhpcy5jdXJyZW50QWRkcmVzc0RhdGE/LmFkZHJlc3MuYWRkcmVzcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZy5uYW1lID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLlJPVVRJTkdfQUREUkVTU1xuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnLm5hbWUgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0uUk9VVElOR19BRERSRVNTICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbG93VmFsaWRhdGlvbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duLmlucHV0UmVmLmlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVxdWVzdFNlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkZHJlc3NEYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nTGF0OiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQWRkcmVzcy5lbWl0KGFkZHJlc3NEYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbG93VmFsaWRhdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXJtPy5sZW5ndGggPj0gMztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NwaW5uZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaExheWVyczogdGhpcy5zZWFyY2hMYXllcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbG9zZWRCb3JkZXI6IHRoaXMuY2xvc2VkQm9yZGVyLFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VudEFkZHJlc3NEYXRhLm5leHQocGFyYW1zKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMucmVjZWl2ZWRBZGRyZXNzTGlzdCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBpc1ZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoTGF5ZXJzWzBdID09PVxuICAgICAgICAgICAgICAgICAgICBJbnB1dEFkZHJlc3NMYXllcnNTdHJpbmdFbnVtLkFERFJFU1NcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkcmVzcyA9IHRoaXMuX2FjdGl2ZUFkZHJlc3M/LmFkZHJlc3M7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhZGRyZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkID0gdGhpcy5jaGVja0FkZHJlc3NWYWxpZGF0aW9uKGFkZHJlc3MpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fYWN0aXZlQWRkcmVzcyB8fCAhaXNWYWxpZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0RXJyb3JzKHsgaW52YWxpZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nU3Bpbm5lcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5pbnB1dENvbmZpZy5sb2FkaW5nU3Bpbm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBnZXRTdXBlckNvbnRyb2woKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1cGVyQ29udHJvbC5jb250cm9sIGFzIEZvcm1Db250cm9sO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsb3NlRHJvcGRvd24oZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgbGV0IGlzVmFsaWQgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaExheWVyc1swXSA9PT0gSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bS5BRERSRVNTKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWRkcmVzcyA9IHRoaXMuX2FjdGl2ZUFkZHJlc3M/LmFkZHJlc3M7XG4gICAgICAgICAgICAgICAgaWYgKGFkZHJlc3MpIGlzVmFsaWQgPSB0aGlzLmNoZWNrQWRkcmVzc1ZhbGlkYXRpb24oYWRkcmVzcyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWQpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRFcnJvcnMoeyBpbnZhbGlkOiB0cnVlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLnJlcXVlc3RTZW50ICYmIGlzVmFsaWQpXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldEVycm9ycyh7IGludmFsaWQ6IHRydWUgfSk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnZhbHVlID09PSB0aGlzLl9hY3RpdmVBZGRyZXNzPy5hZGRyZXNzICYmXG4gICAgICAgICAgICAgICAgaXNWYWxpZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgIH0sIDIwMCk7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bi5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWRkcmVzc0RhdGEoYWRkcmVzczogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVxdWVzdFNlbnQgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuc2VudEFkZHJlc3NWYWx1ZS5lbWl0KGFkZHJlc3MpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNlbGVjdERyb3Bkb3duKGV2ZW50OiBBZGRyZXNzTGlzdCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlQWRkcmVzcyA9IGV2ZW50ID8geyAuLi5ldmVudCwgYWRkcmVzczogZXZlbnQ/Lm5hbWUgfSA6IG51bGw7XG5cbiAgICAgICAgaWYgKGV2ZW50Py5uYW1lKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWFyY2hMYXllcnNbMF0gPT09IElucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0uQUREUkVTUykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLmNoZWNrQWRkcmVzc1ZhbGlkYXRpb24oZXZlbnQubmFtZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFkZHJlc3NEYXRhKGV2ZW50Lm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0VmFsdWUoZXZlbnQubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWRkcmVzc0RhdGEoZXZlbnQubmFtZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldFZhbHVlKGV2ZW50Lm5hbWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2hvc2VuRnJvbURyb3Bkb3duID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25DbGVhcklucHV0RXZlbnQoKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuYWRkcmVzTGlzdCA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5wdXREcm9wZG93bj8ucG9wb3ZlclJlZj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Db21tYW5kcyhcbiAgICAgICAgZXZlbnQ6IEtleWJvYXJkRXZlbnQsXG4gICAgICAgIHR5cGU6IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0eXBlID09PSBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uQ09ORklSTSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhKSB8fFxuICAgICAgICAgICAgdHlwZSA9PT0gSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkNBTkNFTFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhIS50eXBlID0gdHlwZTtcbiAgICAgICAgICAgIHRoaXMuY29tbWFuZEV2ZW50LmVtaXQodGhpcy5jdXJyZW50QWRkcmVzc0RhdGEgPz8ge30pO1xuXG4gICAgICAgICAgICB0aGlzLmNsb3NlQWRkcmVzcygpO1xuICAgICAgICAgICAgdGhpcy5jbGVhcklucHV0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhZGRyZXNzRXhwYW5kKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuYWRkcmVzc0V4cGFuZGVkKSB0aGlzLmFkZHJlc3NFeHBhbmRlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlQWRkcmVzcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRyZXNzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJJbnB1dChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA9IG51bGw7XG4gICAgICAgIHRoaXMuYWRkcmVzTGlzdCA9IFtdO1xuICAgICAgICB0aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMuX2FjdGl2ZUFkZHJlc3MgPSBudWxsO1xuICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24/LmlucHV0UmVmPy5jbGVhcklucHV0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5jaG9zZW5Gcm9tRHJvcGRvd24gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrU2VhcmNoTGF5ZXJzKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hMYXllcnMgPVxuICAgICAgICAgICAgdmFsdWUgPT09IElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLkxPTkdfQUREUkVTU1xuICAgICAgICAgICAgICAgID8gW0lucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0uQUREUkVTU11cbiAgICAgICAgICAgICAgICA6IHZhbHVlID09PSBJbnB1dEFkZHJlc3NUeXBlU3RyaW5nRW51bS5TSE9SVF9BRERSRVNTXG4gICAgICAgICAgICAgICAgICA/IFtJbnB1dEFkZHJlc3NMYXllcnNTdHJpbmdFbnVtLkxPQ0FMSVRZXVxuICAgICAgICAgICAgICAgICAgOiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hhbmdlU3RvcFR5cGUoKTogdm9pZCB7XG4gICAgICAgIGxldCBmbGFnID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnN0b3BUeXBlID09PSBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtLkVNUFRZKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3BUeXBlID0gSW5wdXRBZGRyZXNzU3RvcFR5cGVzU3RyaW5nRW51bS5MT0FERUQ7XG4gICAgICAgICAgICBmbGFnID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcFR5cGUgPSBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtLkVNUFRZO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VGbGFnLmVtaXQoZmxhZyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmNob3NlbkZyb21Ecm9wZG93bikge1xuICAgICAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duPy5pbnB1dFJlZj8uaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duLmlucHV0UmVmLmlzRm9jdXNJbnB1dCA9IHRydWU7XG4gICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uSW5jb3JyZWN0SW5wdXQoZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbmNvcnJlY3RFdmVudC5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGVhcklucHV0RXZlbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0Q29uZmlnLmlzUmVxdWlyZWQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRFcnJvcnMoeyByZXF1aXJlZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWRkcmVzc0RhdGEgPSB7XG4gICAgICAgICAgICBhZGRyZXNzOiB7fSxcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgIGxvbmdMYXQ6IHt9LFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNlbGVjdGVkQWRkcmVzcy5lbWl0KGFkZHJlc3NEYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrQWRkcmVzc1ZhbGlkYXRpb24oYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHN0cmVldE51bSA9IC9cXGQuKlxcZC87XG5cbiAgICAgICAgcmV0dXJuIHN0cmVldE51bS50ZXN0KGFkZHJlc3MpID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGRyZXNzX2hvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgKGNsaWNrKT1cImFkZHJlc3NFeHBhbmQoKVwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtYWluX2FkZHJlc3NfaG9sZGVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgaW5wdXRfZm9yX3JvdXRpbmc6IGlzUm91dGluZyxcbiAgICAgICAgICAgIG5vdF9leHBhbmRlZDogaXNSb3V0aW5nICYmICFhZGRyZXNzRXhwYW5kZWQsXG4gICAgICAgICAgICBleHBhbmRlZF9hZGRyZXNzOiBpc1JvdXRpbmcgJiYgYWRkcmVzc0V4cGFuZGVkLFxuICAgICAgICB9XCJcbiAgICA+XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtZHJvcGRvd25cbiAgICAgICAgICAgICNpbnB1dERyb3Bkb3duXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZ2V0U3VwZXJDb250cm9sXCJcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJhZGRyZXNMaXN0XCJcbiAgICAgICAgICAgIFthY3RpdmVJdGVtXT1cIl9hY3RpdmVBZGRyZXNzXCJcbiAgICAgICAgICAgIFtpc0luY29ycmVjdFZhbHVlXT1cImluY29ycmVjdFZhbHVlXCJcbiAgICAgICAgICAgIChpbmNvcnJlY3RFdmVudCk9XCJvbkluY29ycmVjdElucHV0KCRldmVudClcIlxuICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSk9XCJvblNlbGVjdERyb3Bkb3duKCRldmVudClcIlxuICAgICAgICAgICAgKGNsb3NlRHJvcGRvd24pPVwib25DbG9zZURyb3Bkb3duKCRldmVudClcIlxuICAgICAgICAgICAgKGNsZWFySW5wdXRFdmVudCk9XCJvbkNsZWFySW5wdXRFdmVudCgpXCJcbiAgICAgICAgPjwvYXBwLWNhLWlucHV0LWRyb3Bkb3duPlxuICAgICAgICBAaWYgKGlzUm91dGluZyAmJiBhZGRyZXNzRXhwYW5kZWQgJiYgIWhpZGVFbXB0eUxvYWRlZCkge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3RvcF9ob2xkIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0b3BUeXBlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9wX3RleHRcIj57eyBzdG9wVHlwZSB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGlzUm91dGluZyAmJiBhZGRyZXNzRXhwYW5kZWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhLWlucHV0LWNvbW1hbmRzIGFkZHJlc3MtZmxhZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYWluLWNvbW1hbmRzIGNhLWlucHV0LWNvbW1hbmQtZmlyc3RcIlxuICAgICAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgICAgICBbbWFpbkNhVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LmZpcnN0Q29tbWFuZD8ucG9wdXA/Lm5hbWVcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LmZpcnN0Q29tbWFuZD8ucG9wdXBcbiAgICAgICAgICAgICAgICAgICAgICAgID8uYmFja2dyb3VuZENvbG9yXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZVRvb2x0aXBdPVwiIWNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzPy5maXJzdENvbW1hbmQ/LnBvcHVwXCJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2EtaW5wdXQtY29tbWFuZC1zdmctZmlyc3RcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWxsb3dfY29uZmlybV09XCJjaG9zZW5Gcm9tRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzLmZpcnN0Q29tbWFuZC5zdmdcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkNvbW1hbmRzKCRldmVudCwgJ2NvbmZpcm0nKVwiXG4gICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1haW4tY29tbWFuZHMgY2EtaW5wdXQtY29tbWFuZC1zZWNvbmRcIlxuICAgICAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgICAgICBbbWFpbkNhVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LnNlY29uZENvbW1hbmQ/LnBvcHVwPy5uYW1lXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcEJhY2tncm91bmRdPVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzPy5zZWNvbmRDb21tYW5kPy5wb3B1cFxuICAgICAgICAgICAgICAgICAgICAgICAgPy5iYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgIWNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzPy5zZWNvbmRDb21tYW5kPy5wb3B1cFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgcG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhLWlucHV0LWNvbW1hbmQtc3ZnLXNlY29uZFwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiY29tbWFuZEhhbmRsZXIuY29tbWFuZHMuc2Vjb25kQ29tbWFuZC5zdmdcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkNvbW1hbmRzKCRldmVudCwgJ2NhbmNlbCcpXCJcbiAgICAgICAgICAgICAgICA+PC9zdmctaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
|
|
384
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEVBQUUsRUFDRixPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBSUgsV0FBVyxHQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFLeEIsYUFBYTtBQUNiLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRTVGLFVBQVU7QUFDVixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsUUFBUTtBQUNSLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQy9GLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBTzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUE0QnhELE1BQU0sT0FBTywrQkFBK0I7SUFLeEMsSUFBYSxlQUFlLENBQUMsS0FBYTtRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQW9CLGFBQWEsQ0FBQyxLQUF5QjtRQUN2RCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyw0QkFBNEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQztnQkFDL0IsSUFBSSxPQUFPO29CQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEUsQ0FBQztZQUVELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPO2dCQUNsQixJQUFJLENBQUMsZUFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzs7Z0JBQ2xELElBQUksQ0FBQyxlQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQW9CLG1CQUFtQixDQUFDLEtBQXlCO1FBQzdELElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsa0JBQWtCLEdBQUc7Z0JBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBUTtnQkFDdkIsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO2dCQUNwRCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87YUFDekIsQ0FBQztZQUVGLElBQUksSUFBSSxDQUFDLGtCQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBbUIsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBb0IsbUJBQW1CLENBQUMsS0FBaUM7UUFDckUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUVsQyxJQUFJLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNqQyxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsRUFBRTtnQkFDM0IsT0FBTztvQkFDSCxJQUFJLEVBQUUsSUFBSTtvQkFDVixFQUFFLEVBQUUsSUFBSTtpQkFDWCxDQUFDO1lBQ04sQ0FBQyxDQUNKLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQTRCRCxtQkFBbUIsQ0FBQyxLQUFvQjtRQUNwQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3RCLElBQ0ksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksMEJBQTBCLENBQUMsZUFBZSxFQUNyRSxDQUFDO1lBQ0MsSUFBSSxHQUFHLEtBQUssOEJBQThCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQy9DLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7b0JBQzFCLElBQUksQ0FBQyxVQUFVLENBQ1gsS0FBSyxFQUNMLDhCQUE4QixDQUFDLE9BQU8sQ0FDekMsQ0FBQztnQkFDTixDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLEdBQUcsS0FBSyw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFrQkQsWUFDbUIsWUFBdUIsRUFDOUIsR0FBc0I7UUFEZixpQkFBWSxHQUFaLFlBQVksQ0FBVztRQUM5QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTlEakIscUJBQWdCLEdBQzdCLElBQUksWUFBWSxFQUFVLENBQUM7UUFJZixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBR3ZDLG9CQUFlLEdBQ3JCLElBQUksWUFBWSxFQUFlLENBQUM7UUFDMUIsb0JBQWUsR0FDckIsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFHeEMsa0JBQWEsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN6RCxpQkFBWSxHQUFtQyxJQUFJLFlBQVksRUFFdEUsQ0FBQztRQUNNLGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRSxtQkFBYyxHQUNwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBdUJ6Qix1QkFBa0IsR0FBdUIsSUFBSSxDQUFDO1FBRXJELE9BQU87UUFDQSxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDbkMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDbEMsYUFBUSxHQUFXLCtCQUErQixDQUFDLEtBQUssQ0FBQztRQUN4RCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM5Qix5QkFBb0IsR0FBK0IsSUFBSSxDQUFDO1FBQ3hELG1CQUFjLEdBQXVCLElBQUksQ0FBQztRQUV6QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU9uQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDM0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxDQUFNLElBQVMsQ0FBQztJQUVwQixnQkFBZ0IsQ0FBQyxFQUFPO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxRQUFRLENBQUMsQ0FBTSxJQUFTLENBQUM7SUFFekIsaUJBQWlCLENBQUMsQ0FBTSxJQUFTLENBQUM7SUFFekMsUUFBUTtRQUNKLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxtQkFBbUI7UUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxZQUFZO1lBQzlCLEVBQUUsSUFBSSxDQUNGLG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRztnQkFDZixHQUFHLElBQUksQ0FBQyxXQUFXO2dCQUNuQixjQUFjLEVBQUU7b0JBQ1osR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWM7b0JBQ2xDLFNBQVMsRUFBRSxJQUFJO29CQUNmLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO29CQUM3QixLQUFLLEVBQUUsaUJBQWlCLENBQUMsS0FBSztpQkFDakM7YUFDSixDQUFDO1lBRUYsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNSLElBQUksQ0FBQyxXQUFXLEdBQUc7b0JBQ2YsR0FBRyxJQUFJLENBQUMsV0FBVztvQkFDbkIsY0FBYyxFQUFFO3dCQUNaLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjO3dCQUNsQyxTQUFTLEVBQUUsS0FBSztxQkFDbkI7aUJBQ0osQ0FBQztnQkFDRixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztZQUN6QixDQUFDO2lCQUFNLElBQ0gsSUFBSSxLQUFLLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO29CQUNqQiwwQkFBMEIsQ0FBQyxlQUFlLEVBQ2hELENBQUM7Z0JBQ0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUNuQyxDQUFDO1lBQ0QsSUFDSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7Z0JBQ2pCLDBCQUEwQixDQUFDLGVBQWU7Z0JBQzlDLElBQUksQ0FBQyxlQUFlO2dCQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQzFDLENBQUM7Z0JBQ0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLE1BQU0sV0FBVyxHQUFHO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxLQUFLLEVBQUUsS0FBSztvQkFDWixPQUFPLEVBQUUsRUFBRTtpQkFDZCxDQUFDO2dCQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUNwQixPQUFPLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxFQUNGLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDeEIsTUFBTSxNQUFNLEdBQUc7Z0JBQ1gsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7YUFDbEMsQ0FBQztZQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWxDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FDcEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMzQixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQ0ksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLDRCQUE0QixDQUFDLE9BQU8sRUFDdEMsQ0FBQztnQkFDQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQztnQkFDN0MsSUFBSSxPQUFPO29CQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEUsQ0FBQztZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsT0FBTztnQkFDaEMsSUFBSSxDQUFDLGVBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7O2dCQUNsRCxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0MsSUFBSSxDQUFDLFdBQVcsR0FBRztnQkFDZixHQUFHLElBQUksQ0FBQyxXQUFXO2dCQUNuQixjQUFjLEVBQUU7b0JBQ1osR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWM7b0JBQ2xDLFNBQVMsRUFBRSxLQUFLO2lCQUNuQjthQUNKLENBQUM7WUFFRixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFzQixDQUFDO0lBQ3BELENBQUM7SUFFTSxlQUFlLENBQUMsS0FBYztRQUNqQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyw0QkFBNEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUM7Z0JBQzdDLElBQUksT0FBTztvQkFBRSxPQUFPLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUU1RCxJQUFJLENBQUMsT0FBTztvQkFDUixJQUFJLENBQUMsZUFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTztnQkFDNUIsSUFBSSxDQUFDLGVBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFDSSxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPO2dCQUM1RCxPQUFPO2dCQUVQLElBQUksQ0FBQyxlQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDUixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sY0FBYyxDQUFDLE9BQWU7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFFeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBeUI7UUFDN0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRXhFLElBQUksS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLDRCQUE0QixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUV4RCxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNoQyxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMzQyxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFDLENBQUM7cUJBQU0sQ0FBQztvQkFDSixJQUFJLENBQUMsZUFBZ0IsQ0FBQyxTQUFTLENBQUM7d0JBQzVCLE9BQU8sRUFBRSxJQUFJO3FCQUNoQixDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGVBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGVBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFFRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVNLFVBQVUsQ0FDYixLQUFvQixFQUNwQixJQUFnQztRQUVoQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQ0ksQ0FBQyxJQUFJLEtBQUssOEJBQThCLENBQUMsT0FBTztZQUM1QyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDNUIsSUFBSSxLQUFLLDhCQUE4QixDQUFDLE1BQU0sRUFDaEQsQ0FBQztZQUNDLElBQUksQ0FBQyxrQkFBbUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUV0RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWE7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO1lBQUUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDM0QsQ0FBQztJQUVNLFlBQVk7UUFDZixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQW9CO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxZQUFZO1lBQ2IsS0FBSyxLQUFLLDBCQUEwQixDQUFDLFlBQVk7Z0JBQzdDLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLEtBQUssS0FBSywwQkFBMEIsQ0FBQyxhQUFhO29CQUNsRCxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUM7b0JBQ3pDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSywrQkFBK0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLCtCQUErQixDQUFDLE1BQU0sQ0FBQztZQUN2RCxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRywrQkFBK0IsQ0FBQyxLQUFLLENBQUM7UUFDMUQsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEtBQWM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDOUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsZUFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN4RCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUc7WUFDaEIsT0FBTyxFQUFFLEVBQUU7WUFDWCxLQUFLLEVBQUUsS0FBSztZQUNaLE9BQU8sRUFBRSxFQUFFO1NBQ2QsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxPQUFlO1FBQzFDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUUzQixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2xELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7K0dBOVhRLCtCQUErQjttR0FBL0IsK0JBQStCLHM0QkNwRjVDLDRpR0E0RUE7Z0JETFEsVUFBVTtnQkFDVixZQUFZLDRIQUNaLFdBQVcsc0lBQ1gsU0FBUyxzV0FDVCxtQkFBbUIsaU5BQ25CLG9CQUFvQixnT0FDcEIsZ0JBQWdCO2dCQUVoQixhQUFhO2dCQUNiLHdCQUF3QiwrZkFDeEIsdUJBQXVCOzs0RkFHbEIsK0JBQStCO2tCQXZCM0MsU0FBUzsrQkFDSSwrQkFBK0IsaUJBTTFCLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNMLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFFaEIsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLHVCQUF1QjtxQkFDMUI7OzBCQXFISSxJQUFJO3lFQWhIbUIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUViLGVBQWU7c0JBQTNCLEtBQUs7Z0JBSWMsYUFBYTtzQkFBaEMsS0FBSztnQkFlYyxtQkFBbUI7c0JBQXRDLEtBQUs7Z0JBZWMsbUJBQW1CO3NCQUF0QyxLQUFLO2dCQWVXLGdCQUFnQjtzQkFBaEMsTUFBTTtnQkFHUyxXQUFXO3NCQUExQixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFJUCxhQUFhO3NCQURaLE1BQU07Z0JBRUcsWUFBWTtzQkFBckIsTUFBTTtnQkFHRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBSVAsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGNhdGNoRXJyb3IsXG4gICAgZGVib3VuY2VUaW1lLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBvZixcbiAgICBTdWJqZWN0LFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlVW50aWwsXG4gICAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgVW50eXBlZEZvcm1Hcm91cCxcbiAgICBOZ0NvbnRyb2wsXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgRm9ybXNNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gQ29uZmlnXG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uL2NhLWlucHV0L2NvbmZpZy9jYS1pbnB1dC5jb25maWcnO1xuXG4vLyBDb21wb25lbnRzXG5pbXBvcnQgeyBDYUlucHV0RHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9jYS1pbnB1dC1kcm9wZG93bi9jYS1pbnB1dC1kcm9wZG93bi5jb21wb25lbnQnO1xuXG4vLyBNb2R1bGVzXG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuaW1wb3J0IHsgTmdiTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcy9pbnB1dC1hZGRyZXNzLWNvbW1hbmRzLXN0cmluZy5lbnVtJztcbmltcG9ydCB7IElucHV0QWRkcmVzc1N0b3BUeXBlc1N0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zL2lucHV0LWFkZHJlc3Mtc3RvcC10eXBlcy1zdHJpbmcuZW51bSc7XG5pbXBvcnQgeyBJbnB1dEFkZHJlc3NUeXBlU3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy10eXBlLXN0cmluZy5lbnVtJztcbmltcG9ydCB7IElucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zL2lucHV0LWFkZHJlc3MtbGF5ZXJzLXN0cmluZy5lbnVtJztcbmltcG9ydCB7IGVJbnB1dEJhc2ljU3RyaW5nIH0gZnJvbSAnLi9lbnVtcy9pbnB1dC1hZGRyZXNzLWJhc2ljLXN0cmluZy5lbnVtJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBBZGRyZXNzRGF0YSB9IGZyb20gJy4vbW9kZWxzL2FkZHJlc3MtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzTGlzdCB9IGZyb20gJy4vbW9kZWxzL2FkZHJlc3MtbGlzdC5tb2RlbCc7XG5pbXBvcnQgeyBDb21tYW5kc0hhbmRsZXIgfSBmcm9tICcuL21vZGVscy9jb21tYW5kcy1oYW5kbGVyLm1vZGVsJztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZVNlYXJjaExheWVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dG9jb21wbGV0ZS1zZWFyY2gtbGF5ZXIubW9kZWwnO1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nIH0gZnJvbSAnLi9tb2RlbHMvaW5wdXQtYWRkcmVzcy1jb21tYW5kcy1zdHJpbmcubW9kZWwnO1xuaW1wb3J0IHsgU2VudEFkZHJlc3NEYXRhIH0gZnJvbSAnLi9tb2RlbHMvc2VudC1hZGRyZXNzLWRhdGEubW9kZWwnO1xuaW1wb3J0IHsgQWRkcmVzc0xpc3RSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzLWxpc3QtcmVzcG9uc2UubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICcuL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLFxuICAgICAgICAnLi4vY2EtaW5wdXQvY2EtaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgLy8gTW9kdWxlc1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBOZ2JNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuXG4gICAgICAgIC8vIENvbXBvbmVudHNcbiAgICAgICAgQ2FJbnB1dERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYUlucHV0QWRkcmVzc0Ryb3Bkb3duQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3lcbntcbiAgICBAVmlld0NoaWxkKCdpbnB1dERyb3Bkb3duJykgaW5wdXREcm9wZG93biE6IENhSW5wdXREcm9wZG93bkNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHNldCBwbGFjZWhvbGRlclR5cGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNoZWNrU2VhcmNoTGF5ZXJzKHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGFjdGl2ZUFkZHJlc3ModmFsdWU6IEFkZHJlc3NMaXN0IHwgbnVsbCkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZUFkZHJlc3MgPSB2YWx1ZTtcbiAgICAgICAgICAgIGxldCBpc1ZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaExheWVyc1swXSA9PT0gSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bS5BRERSRVNTKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWRkcmVzcyA9IHZhbHVlPy5hZGRyZXNzO1xuICAgICAgICAgICAgICAgIGlmIChhZGRyZXNzKSBpc1ZhbGlkID0gdGhpcy5jaGVja0FkZHJlc3NWYWxpZGF0aW9uKGFkZHJlc3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXZhbHVlIHx8ICFpc1ZhbGlkKVxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRFcnJvcnMoeyBpbnZhbGlkOiB0cnVlIH0pO1xuICAgICAgICAgICAgZWxzZSB0aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgcHVibGljIHNldCByZWNlaXZlZEFkZHJlc3NEYXRhKHZhbHVlOiBBZGRyZXNzRGF0YSB8IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA9IHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiB2YWx1ZS5hZGRyZXNzISxcbiAgICAgICAgICAgICAgICB2YWxpZDogdmFsdWUuYWRkcmVzcyAmJiB2YWx1ZS5sb25nTGF0ID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGxvbmdMYXQ6IHZhbHVlLmxvbmdMYXQsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50QWRkcmVzc0RhdGEhLnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFkZHJlc3MuZW1pdCh0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgcmVjZWl2ZWRBZGRyZXNzTGlzdCh2YWx1ZTogQWRkcmVzc0xpc3RSZXNwb25zZSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fcmVjZWl2ZWRBZGRyZXNzTGlzdCA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZT8uYWRkcmVzc2VzKSB7XG4gICAgICAgICAgICB0aGlzLmFkZHJlc0xpc3QgPSB2YWx1ZS5hZGRyZXNzZXMubWFwKFxuICAgICAgICAgICAgICAgIChpdGVtOiBzdHJpbmcsIGluZHg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpbmR4LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHNlbnRBZGRyZXNzVmFsdWU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgaW5wdXRDb25maWchOiBJQ2FJbnB1dDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29tbWFuZEhhbmRsZXIhOiBDb21tYW5kc0hhbmRsZXI7XG4gICAgQElucHV0KCkgcHVibGljIGlzUm91dGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjbG9zZWRCb3JkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaW5jb3JyZWN0VmFsdWUhOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoaWRlRW1wdHlMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWRkcmVzTGlzdCE6IEFkZHJlc3NMaXN0W107XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRBZGRyZXNzOiBFdmVudEVtaXR0ZXI8QWRkcmVzc0RhdGE+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxBZGRyZXNzRGF0YT4oKTtcbiAgICBAT3V0cHV0KCkgc2VudEFkZHJlc3NEYXRhOiBFdmVudEVtaXR0ZXI8U2VudEFkZHJlc3NEYXRhPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8U2VudEFkZHJlc3NEYXRhPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgY2xvc2VEcm9wZG93bjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBjb21tYW5kRXZlbnQ6IEV2ZW50RW1pdHRlcjxBZGRyZXNzRGF0YSB8IHt9PiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgICAgIEFkZHJlc3NEYXRhIHwge31cbiAgICA+KCk7XG4gICAgQE91dHB1dCgpIGNoYW5nZUZsYWc6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgaW5jb3JyZWN0RXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnLm5hbWUgPT0gSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0uUk9VVElOR19BRERSRVNTXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkVOVEVSKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudEFkZHJlc3NEYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Db21tYW5kcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkNPTkZJUk1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkVTQ0FQRSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJJbnB1dChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL0FkZHJlc3MgZGF0YVxuICAgIHByaXZhdGUgc2VhcmNoTGF5ZXJzITogQXV0b2NvbXBsZXRlU2VhcmNoTGF5ZXJbXTtcbiAgICBwdWJsaWMgY3VycmVudEFkZHJlc3NEYXRhOiBBZGRyZXNzRGF0YSB8IG51bGwgPSBudWxsO1xuXG4gICAgLy9Db25mZ1xuICAgIHB1YmxpYyBhZGRyZXNzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY2hvc2VuRnJvbURyb3Bkb3duOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBhbGxvd1ZhbGlkYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgc3RvcFR5cGU6IHN0cmluZyA9IElucHV0QWRkcmVzc1N0b3BUeXBlc1N0cmluZ0VudW0uRU1QVFk7XG4gICAgcHJpdmF0ZSByZXF1ZXN0U2VudDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBfcmVjZWl2ZWRBZGRyZXNzTGlzdDogQWRkcmVzc0xpc3RSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBfYWN0aXZlQWRkcmVzczogQWRkcmVzc0xpc3QgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBhZGRyZXNzRm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQFNlbGYoKSBwdWJsaWMgc3VwZXJDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICB0aGlzLnN1cGVyQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKF86IGFueSk6IHZvaWQge31cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZShfOiBhbnkpOiB2b2lkIHt9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoXzogYW55KTogdm9pZCB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdENoYW5nZXNMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0Q2hhbmdlc0xpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFN1cGVyQ29udHJvbD8udmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICA/LnBpcGUoXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICAgICAgdGFwKCh0ZXJtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NwaW5uZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBlSW5wdXRCYXNpY1N0cmluZy5TTUFMTCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZUlucHV0QmFzaWNTdHJpbmcuV0hJVEUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGVybSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTcGlubmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcubG9hZGluZ1NwaW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZHJlc0xpc3QgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm0gIT09IHRoaXMuY3VycmVudEFkZHJlc3NEYXRhPy5hZGRyZXNzLmFkZHJlc3MgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcubmFtZSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnB1dEFkZHJlc3NUeXBlU3RyaW5nRW51bS5ST1VUSU5HX0FERFJFU1NcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZy5uYW1lICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLlJPVVRJTkdfQUREUkVTUyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd1ZhbGlkYXRpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXREcm9wZG93bi5pbnB1dFJlZi5pc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RTZW50ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZ0xhdDoge30sXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFkZHJlc3MuZW1pdChhZGRyZXNzRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbG93VmFsaWRhdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCh0ZXJtOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRlcm0/Lmxlbmd0aCA+PSAzO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgocXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeTogcXVlcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hMYXllcnM6IHRoaXMuc2VhcmNoTGF5ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VkQm9yZGVyOiB0aGlzLmNsb3NlZEJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbnRBZGRyZXNzRGF0YS5uZXh0KHBhcmFtcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMucmVjZWl2ZWRBZGRyZXNzTGlzdCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgaXNWYWxpZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaExheWVyc1swXSA9PT1cbiAgICAgICAgICAgICAgICAgICAgSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bS5BRERSRVNTXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkZHJlc3MgPSB0aGlzLl9hY3RpdmVBZGRyZXNzPy5hZGRyZXNzO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWRkcmVzcykgaXNWYWxpZCA9IHRoaXMuY2hlY2tBZGRyZXNzVmFsaWRhdGlvbihhZGRyZXNzKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2FjdGl2ZUFkZHJlc3MgfHwgIWlzVmFsaWQpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRFcnJvcnMoeyBpbnZhbGlkOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIGVsc2UgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldEVycm9ycyhudWxsKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTcGlubmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGdldFN1cGVyQ29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VwZXJDb250cm9sLmNvbnRyb2wgYXMgRm9ybUNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2xvc2VEcm9wZG93bihldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBsZXQgaXNWYWxpZCA9IHRydWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VhcmNoTGF5ZXJzWzBdID09PSBJbnB1dEFkZHJlc3NMYXllcnNTdHJpbmdFbnVtLkFERFJFU1MpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzID0gdGhpcy5fYWN0aXZlQWRkcmVzcz8uYWRkcmVzcztcbiAgICAgICAgICAgICAgICBpZiAoYWRkcmVzcykgaXNWYWxpZCA9IHRoaXMuY2hlY2tBZGRyZXNzVmFsaWRhdGlvbihhZGRyZXNzKTtcblxuICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZClcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldEVycm9ycyh7IGludmFsaWQ6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMucmVxdWVzdFNlbnQgJiYgaXNWYWxpZClcbiAgICAgICAgICAgICAgICB0aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0RXJyb3JzKHsgaW52YWxpZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0aGlzLmdldFN1cGVyQ29udHJvbCEudmFsdWUgPT09IHRoaXMuX2FjdGl2ZUFkZHJlc3M/LmFkZHJlc3MgJiZcbiAgICAgICAgICAgICAgICBpc1ZhbGlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBZGRyZXNzRGF0YShhZGRyZXNzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0U2VudCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5zZW50QWRkcmVzc1ZhbHVlLmVtaXQoYWRkcmVzcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2VsZWN0RHJvcGRvd24oZXZlbnQ6IEFkZHJlc3NMaXN0IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hY3RpdmVBZGRyZXNzID0gZXZlbnQgPyB7IC4uLmV2ZW50LCBhZGRyZXNzOiBldmVudD8ubmFtZSB9IDogbnVsbDtcblxuICAgICAgICBpZiAoZXZlbnQ/Lm5hbWUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaExheWVyc1swXSA9PT0gSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bS5BRERSRVNTKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IHRoaXMuY2hlY2tBZGRyZXNzVmFsaWRhdGlvbihldmVudC5uYW1lKTtcblxuICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWRkcmVzc0RhdGEoZXZlbnQubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRWYWx1ZShldmVudC5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBZGRyZXNzRGF0YShldmVudC5uYW1lKTtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0VmFsdWUoZXZlbnQubmFtZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jaG9zZW5Gcm9tRHJvcGRvd24gPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkNsZWFySW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNMaXN0ID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duPy5wb3BvdmVyUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNvbW1hbmRzKFxuICAgICAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICAgICAgdHlwZTogSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdcbiAgICApOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHR5cGUgPT09IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nRW51bS5DT05GSVJNICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEpIHx8XG4gICAgICAgICAgICB0eXBlID09PSBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uQ0FOQ0VMXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEhLnR5cGUgPSB0eXBlO1xuICAgICAgICAgICAgdGhpcy5jb21tYW5kRXZlbnQuZW1pdCh0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA/PyB7fSk7XG5cbiAgICAgICAgICAgIHRoaXMuY2xvc2VBZGRyZXNzKCk7XG4gICAgICAgICAgICB0aGlzLmNsZWFySW5wdXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFkZHJlc3NFeHBhbmQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hZGRyZXNzRXhwYW5kZWQpIHRoaXMuYWRkcmVzc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VBZGRyZXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZHJlc3NFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID0gbnVsbDtcbiAgICAgICAgdGhpcy5hZGRyZXNMaXN0ID0gW107XG4gICAgICAgIHRoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlQWRkcmVzcyA9IG51bGw7XG4gICAgICAgIHRoaXMuaW5wdXREcm9wZG93bj8uaW5wdXRSZWY/LmNsZWFySW5wdXQoZXZlbnQpO1xuICAgICAgICB0aGlzLmNob3NlbkZyb21Ecm9wZG93biA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tTZWFyY2hMYXllcnModmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaExheWVycyA9XG4gICAgICAgICAgICB2YWx1ZSA9PT0gSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0uTE9OR19BRERSRVNTXG4gICAgICAgICAgICAgICAgPyBbSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bS5BRERSRVNTXVxuICAgICAgICAgICAgICAgIDogdmFsdWUgPT09IElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLlNIT1JUX0FERFJFU1NcbiAgICAgICAgICAgICAgICAgID8gW0lucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0uTE9DQUxJVFldXG4gICAgICAgICAgICAgICAgICA6IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGFuZ2VTdG9wVHlwZSgpOiB2b2lkIHtcbiAgICAgICAgbGV0IGZsYWcgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc3RvcFR5cGUgPT09IElucHV0QWRkcmVzc1N0b3BUeXBlc1N0cmluZ0VudW0uRU1QVFkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcFR5cGUgPSBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtLkxPQURFRDtcbiAgICAgICAgICAgIGZsYWcgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdG9wVHlwZSA9IElucHV0QWRkcmVzc1N0b3BUeXBlc1N0cmluZ0VudW0uRU1QVFk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoYW5nZUZsYWcuZW1pdChmbGFnKTtcblxuICAgICAgICBpZiAoIXRoaXMuY2hvc2VuRnJvbURyb3Bkb3duKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24/LmlucHV0UmVmPy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24uaW5wdXRSZWYuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25JbmNvcnJlY3RJbnB1dChldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmluY29ycmVjdEV2ZW50LmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsZWFySW5wdXRFdmVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRDb25maWcuaXNSZXF1aXJlZCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldEVycm9ycyh7IHJlcXVpcmVkOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSwgMzAwKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhZGRyZXNzRGF0YSA9IHtcbiAgICAgICAgICAgIGFkZHJlc3M6IHt9LFxuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICAgICAgbG9uZ0xhdDoge30sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBZGRyZXNzLmVtaXQoYWRkcmVzc0RhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tBZGRyZXNzVmFsaWRhdGlvbihhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc3RyZWV0TnVtID0gL1xcZC4qXFxkLztcblxuICAgICAgICByZXR1cm4gc3RyZWV0TnVtLnRlc3QoYWRkcmVzcykgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZHJlc3NfaG9sZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiAoY2xpY2spPVwiYWRkcmVzc0V4cGFuZCgpXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1haW5fYWRkcmVzc19ob2xkZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICBpbnB1dF9mb3Jfcm91dGluZzogaXNSb3V0aW5nLFxuICAgICAgICAgICAgbm90X2V4cGFuZGVkOiBpc1JvdXRpbmcgJiYgIWFkZHJlc3NFeHBhbmRlZCxcbiAgICAgICAgICAgIGV4cGFuZGVkX2FkZHJlc3M6IGlzUm91dGluZyAmJiBhZGRyZXNzRXhwYW5kZWQsXG4gICAgICAgIH1cIlxuICAgID5cbiAgICAgICAgPGFwcC1jYS1pbnB1dC1kcm9wZG93blxuICAgICAgICAgICAgI2lucHV0RHJvcGRvd25cbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJnZXRTdXBlckNvbnRyb2xcIlxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cImlucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cImFkZHJlc0xpc3RcIlxuICAgICAgICAgICAgW2FjdGl2ZUl0ZW1dPVwiX2FjdGl2ZUFkZHJlc3NcIlxuICAgICAgICAgICAgW2lzSW5jb3JyZWN0VmFsdWVdPVwiaW5jb3JyZWN0VmFsdWVcIlxuICAgICAgICAgICAgKGluY29ycmVjdEV2ZW50KT1cIm9uSW5jb3JyZWN0SW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoc2VsZWN0ZWRJdGVtKT1cIm9uU2VsZWN0RHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xvc2VEcm9wZG93bik9XCJvbkNsb3NlRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xlYXJJbnB1dEV2ZW50KT1cIm9uQ2xlYXJJbnB1dEV2ZW50KClcIlxuICAgICAgICA+PC9hcHAtY2EtaW5wdXQtZHJvcGRvd24+XG4gICAgICAgIEBpZiAoaXNSb3V0aW5nICYmIGFkZHJlc3NFeHBhbmRlZCAmJiAhaGlkZUVtcHR5TG9hZGVkKSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzdG9wX2hvbGQgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlU3RvcFR5cGUoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b3BfdGV4dFwiPnt7IHN0b3BUeXBlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoaXNSb3V0aW5nICYmIGFkZHJlc3NFeHBhbmRlZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY2EtaW5wdXQtY29tbWFuZHMgYWRkcmVzcy1mbGFnIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1haW4tY29tbWFuZHMgY2EtaW5wdXQtY29tbWFuZC1maXJzdFwiXG4gICAgICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgICAgIFttYWluQ2FUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uZmlyc3RDb21tYW5kPy5wb3B1cD8ubmFtZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uZmlyc3RDb21tYW5kPy5wb3B1cFxuICAgICAgICAgICAgICAgICAgICAgICAgPy5iYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlVG9vbHRpcF09XCIhY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LmZpcnN0Q29tbWFuZD8ucG9wdXBcIlxuICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYS1pbnB1dC1jb21tYW5kLXN2Zy1maXJzdFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hbGxvd19jb25maXJtXT1cImNob3NlbkZyb21Ecm9wZG93blwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiY29tbWFuZEhhbmRsZXIuY29tbWFuZHMuZmlyc3RDb21tYW5kLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uQ29tbWFuZHMoJGV2ZW50LCAnY29uZmlybScpXCJcbiAgICAgICAgICAgICAgICA+PC9zdmctaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbi1jb21tYW5kcyBjYS1pbnB1dC1jb21tYW5kLXNlY29uZFwiXG4gICAgICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgICAgIFttYWluQ2FUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uc2Vjb25kQ29tbWFuZD8ucG9wdXA/Lm5hbWVcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LnNlY29uZENvbW1hbmQ/LnBvcHVwXG4gICAgICAgICAgICAgICAgICAgICAgICA/LmJhY2tncm91bmRDb2xvclxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICAhY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LnNlY29uZENvbW1hbmQ/LnBvcHVwXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2EtaW5wdXQtY29tbWFuZC1zdmctc2Vjb25kXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjb21tYW5kSGFuZGxlci5jb21tYW5kcy5zZWNvbmRDb21tYW5kLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uQ29tbWFuZHMoJGV2ZW50LCAnY2FuY2VsJylcIlxuICAgICAgICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGl2PlxuIl19
|
package/esm2022/lib/components/ca-input-address-dropdown/enums/input-address-basic-string.enum.mjs
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var eInputBasicString;
|
|
2
|
+
(function (eInputBasicString) {
|
|
3
|
+
eInputBasicString["SMALL"] = "small";
|
|
4
|
+
eInputBasicString["WHITE"] = "white";
|
|
5
|
+
})(eInputBasicString || (eInputBasicString = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYWRkcmVzcy1iYXNpYy1zdHJpbmcuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24vZW51bXMvaW5wdXQtYWRkcmVzcy1iYXNpYy1zdHJpbmcuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQ3pCLG9DQUFlLENBQUE7SUFDZixvQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFIVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBRzVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gZUlucHV0QmFzaWNTdHJpbmcge1xuICAgIFNNQUxMID0gJ3NtYWxsJyxcbiAgICBXSElURSA9ICd3aGl0ZScsXG59Il19
|