{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routes.ts","webpack:///./src/app/cars/shared/cars.contractstatus.ts","webpack:///./src/app/documents/add-document/add-document.component.html","webpack:///./src/app/documents/add-document/add-document.component.scss","webpack:///./src/app/documents/add-document/add-document.component.ts","webpack:///./src/app/documents/document-item/document-item.component.html","webpack:///./src/app/documents/document-item/document-item.component.scss","webpack:///./src/app/documents/document-item/document-item.component.ts","webpack:///./src/app/documents/documents-list/documents-list.component.html","webpack:///./src/app/documents/documents-list/documents-list.component.scss","webpack:///./src/app/documents/documents-list/documents-list.component.ts","webpack:///./src/app/documents/documents-search/documents-search.component.html","webpack:///./src/app/documents/documents-search/documents-search.component.scss","webpack:///./src/app/documents/documents-search/documents-search.component.ts","webpack:///./src/app/documents/documents.component.html","webpack:///./src/app/documents/documents.component.scss","webpack:///./src/app/documents/documents.component.ts","webpack:///./src/app/documents/documents.module.ts","webpack:///./src/app/documents/documents.routing.ts","webpack:///./src/app/documents/edit-document/edit-document.component.html","webpack:///./src/app/documents/edit-document/edit-document.component.scss","webpack:///./src/app/documents/edit-document/edit-document.component.ts","webpack:///./src/app/documents/shared/documents.const.ts","webpack:///./src/app/documents/shared/documents.effects.ts","webpack:///./src/app/documents/shared/documents.service.ts","webpack:///./src/app/documents/shared/enums/documents-actions-icon.ts","webpack:///./src/app/documents/shared/enums/documents-category.ts","webpack:///./src/app/documents/shared/models/document-shared-with-users-light.model.ts","webpack:///./src/app/documents/shared/models/fleet-manager-light.model.ts","webpack:///./src/app/driver/driver.module.ts","webpack:///./src/app/driver/shared/contract/contract-status.const.ts","webpack:///./src/app/driver/shared/contract/contract-status.helper.ts","webpack:///./src/app/driver/shared/contract/contract.const.ts","webpack:///./src/app/driver/shared/contract/contract.service.ts","webpack:///./src/app/driver/shared/contract/guards/contract-status-exclude-guard.service.ts","webpack:///./src/app/driver/shared/contract/guards/contract-status-guard.service.ts","webpack:///./src/app/driver/shared/driver.const.ts","webpack:///./src/app/driver/shared/driver.service.ts","webpack:///./src/app/feed/shared/feed.const.ts","webpack:///./src/app/feed/shared/feed.service.ts","webpack:///./src/app/help/help-assistance-for-driver/help-order-damage-repair/order-damage-repair.component.html","webpack:///./src/app/help/help-assistance-for-driver/help-order-damage-repair/order-damage-repair.component.scss","webpack:///./src/app/help/help-assistance-for-driver/help-order-damage-repair/order-damage-repair.component.ts","webpack:///./src/app/help/help-assistance-for-driver/help-order-maintenance/order-maintenance.component.html","webpack:///./src/app/help/help-assistance-for-driver/help-order-maintenance/order-maintenance.component.scss","webpack:///./src/app/help/help-assistance-for-driver/help-order-maintenance/order-maintenance.component.ts","webpack:///./src/app/help/help-assistance-for-driver/help-take-abroad/take-abroad.component.html","webpack:///./src/app/help/help-assistance-for-driver/help-take-abroad/take-abroad.component.scss","webpack:///./src/app/help/help-assistance-for-driver/help-take-abroad/take-abroad.component.ts","webpack:///./src/app/help/help-case-item/help-case-item.component.html","webpack:///./src/app/help/help-case-item/help-case-item.component.scss","webpack:///./src/app/help/help-case-item/help-case-item.component.ts","webpack:///./src/app/help/help-case-request/help-case-request.component.html","webpack:///./src/app/help/help-case-request/help-case-request.component.scss","webpack:///./src/app/help/help-case-request/help-case-request.component.ts","webpack:///./src/app/help/help-contact-us/help-contact-us.component.html","webpack:///./src/app/help/help-contact-us/help-contact-us.component.scss","webpack:///./src/app/help/help-contact-us/help-contact-us.component.ts","webpack:///./src/app/help/help-damage-declaration/help-damage-declaration.component.html","webpack:///./src/app/help/help-damage-declaration/help-damage-declaration.component.scss","webpack:///./src/app/help/help-damage-declaration/help-damage-declaration.component.ts","webpack:///./src/app/help/help-follow-requests/help-follow-requests.component.html","webpack:///./src/app/help/help-follow-requests/help-follow-requests.component.scss","webpack:///./src/app/help/help-follow-requests/help-follow-requests.component.ts","webpack:///./src/app/help/help-generic/help-generic.component.html","webpack:///./src/app/help/help-generic/help-generic.component.scss","webpack:///./src/app/help/help-generic/help-generic.component.ts","webpack:///./src/app/help/help-maintenance-request/help-maintenance-request.component.html","webpack:///./src/app/help/help-maintenance-request/help-maintenance-request.component.scss","webpack:///./src/app/help/help-maintenance-request/help-maintenance-request.component.ts","webpack:///./src/app/help/help.component.html","webpack:///./src/app/help/help.component.scss","webpack:///./src/app/help/help.component.ts","webpack:///./src/app/help/help.module.ts","webpack:///./src/app/help/shared/help.const.ts","webpack:///./src/app/help/shared/help.service.ts","webpack:///./src/app/more/more-faq/more-faq.component.html","webpack:///./src/app/more/more-faq/more-faq.component.scss","webpack:///./src/app/more/more-faq/more-faq.component.ts","webpack:///./src/app/more/more.component.html","webpack:///./src/app/more/more.component.scss","webpack:///./src/app/more/more.component.ts","webpack:///./src/app/more/more.module.ts","webpack:///./src/app/on-road-assistance/on-road-assistance.const.ts","webpack:///./src/app/on-road-assistance/on-road-assistance.service.ts","webpack:///./src/app/shared/accordion/accordion-item/accordion-item.component.html","webpack:///./src/app/shared/accordion/accordion-item/accordion-item.component.scss","webpack:///./src/app/shared/accordion/accordion-item/accordion-item.component.ts","webpack:///./src/app/shared/accordion/accordion.module.ts","webpack:///./src/app/shared/accordion/accordion/accordion.component.html","webpack:///./src/app/shared/accordion/accordion/accordion.component.scss","webpack:///./src/app/shared/accordion/accordion/accordion.component.ts","webpack:///./src/app/shared/animations/anim-mask-animations.ts","webpack:///./src/app/shared/animations/enter-animations.ts","webpack:///./src/app/shared/animations/fade.animations.ts","webpack:///./src/app/shared/animations/toggle.animations.ts","webpack:///./src/app/shared/app-forms/app-forms.module.ts","webpack:///./src/app/shared/app-forms/async-button/async-button.component.html","webpack:///./src/app/shared/app-forms/async-button/async-button.component.scss","webpack:///./src/app/shared/app-forms/async-button/async-button.component.ts","webpack:///./src/app/shared/app-forms/form-errors/form-errors.component.html","webpack:///./src/app/shared/app-forms/form-errors/form-errors.component.scss","webpack:///./src/app/shared/app-forms/form-errors/form-errors.component.ts","webpack:///./src/app/shared/app-forms/input-errors/input-errors.component.html","webpack:///./src/app/shared/app-forms/input-errors/input-errors.component.scss","webpack:///./src/app/shared/app-forms/input-errors/input-errors.component.ts","webpack:///./src/app/shared/app-forms/license-input/license-input.component.html","webpack:///./src/app/shared/app-forms/license-input/license-input.component.scss","webpack:///./src/app/shared/app-forms/license-input/license-input.component.ts","webpack:///./src/app/shared/app-forms/multiselect/multiselect.component.html","webpack:///./src/app/shared/app-forms/multiselect/multiselect.component.ts","webpack:///./src/app/shared/app-forms/numeric-keypad/numeric-keypad.component.html","webpack:///./src/app/shared/app-forms/numeric-keypad/numeric-keypad.component.scss","webpack:///./src/app/shared/app-forms/numeric-keypad/numeric-keypad.component.ts","webpack:///./src/app/shared/app-forms/password-input/password-input.component.html","webpack:///./src/app/shared/app-forms/password-input/password-input.component.scss","webpack:///./src/app/shared/app-forms/password-input/password-input.component.ts","webpack:///./src/app/shared/app-forms/password-validation/password-validation.component.html","webpack:///./src/app/shared/app-forms/password-validation/password-validation.component.scss","webpack:///./src/app/shared/app-forms/password-validation/password-validation.component.ts","webpack:///./src/app/shared/app-forms/select-autocomplete-address/select-autocomplete-address.component.html","webpack:///./src/app/shared/app-forms/select-autocomplete-address/select-autocomplete-address.component.scss","webpack:///./src/app/shared/app-forms/select-autocomplete-address/select-autocomplete-address.component.ts","webpack:///./src/app/shared/app-forms/select-menu/select-menu.component.html","webpack:///./src/app/shared/app-forms/select-menu/select-menu.component.scss","webpack:///./src/app/shared/app-forms/select-menu/select-menu.component.ts","webpack:///./src/app/shared/app-forms/sticky-header-form/sticky-header-form.component.html","webpack:///./src/app/shared/app-forms/sticky-header-form/sticky-header-form.component.scss","webpack:///./src/app/shared/app-forms/sticky-header-form/sticky-header-form.component.ts","webpack:///./src/app/shared/app-forms/string-input/string-input.component.html","webpack:///./src/app/shared/app-forms/string-input/string-input.component.scss","webpack:///./src/app/shared/app-forms/string-input/string-input.component.ts","webpack:///./src/app/shared/app-forms/validators/custom-email.validator.ts","webpack:///./src/app/shared/app-forms/validators/custom.validator.ts","webpack:///./src/app/shared/app-forms/validators/date.validator.ts","webpack:///./src/app/shared/app-forms/validators/email.validator.ts","webpack:///./src/app/shared/app-forms/validators/password-username.validator.ts","webpack:///./src/app/shared/app-forms/validators/password.validator.ts","webpack:///./src/app/shared/app-forms/validators/phone.validator.ts","webpack:///./src/app/shared/app-forms/validators/same-as.validator.ts","webpack:///./src/app/shared/app-menu/app-menu.module.ts","webpack:///./src/app/shared/app-menu/header-menu/header-menu.component.html","webpack:///./src/app/shared/app-menu/header-menu/header-menu.component.scss","webpack:///./src/app/shared/app-menu/header-menu/header-menu.component.ts","webpack:///./src/app/shared/app-menu/mobile-menu/mobile-menu.component.html","webpack:///./src/app/shared/app-menu/mobile-menu/mobile-menu.component.scss","webpack:///./src/app/shared/app-menu/mobile-menu/mobile-menu.component.ts","webpack:///./src/app/shared/app-menu/more-personal-information/more-personal-information.component.html","webpack:///./src/app/shared/app-menu/more-personal-information/more-personal-information.component.scss","webpack:///./src/app/shared/app-menu/more-personal-information/more-personal-information.component.ts","webpack:///./src/app/shared/app-menu/more-reset-password/more-reset-password.component.html","webpack:///./src/app/shared/app-menu/more-reset-password/more-reset-password.component.scss","webpack:///./src/app/shared/app-menu/more-reset-password/more-reset-password.component.ts","webpack:///./src/app/shared/app-menu/my-preferences/my-preferences.component.html","webpack:///./src/app/shared/app-menu/my-preferences/my-preferences.component.scss","webpack:///./src/app/shared/app-menu/my-preferences/my-preferences.component.ts","webpack:///./src/app/shared/app-menu/user-menu/user-menu.component.html","webpack:///./src/app/shared/app-menu/user-menu/user-menu.component.scss","webpack:///./src/app/shared/app-menu/user-menu/user-menu.component.ts","webpack:///./src/app/shared/authentication/access.service.ts","webpack:///./src/app/shared/authentication/auth.const.ts","webpack:///./src/app/shared/authentication/auth.service.ts","webpack:///./src/app/shared/authentication/prospect-access.service.ts","webpack:///./src/app/shared/authentication/sign-up.const.ts","webpack:///./src/app/shared/authentication/sign-up.service.ts","webpack:///./src/app/shared/available-soon/available-soon.component.html","webpack:///./src/app/shared/available-soon/available-soon.component.scss","webpack:///./src/app/shared/available-soon/available-soon.component.ts","webpack:///./src/app/shared/available-soon/available-soon.module.ts","webpack:///./src/app/shared/common/api.helper.ts","webpack:///./src/app/shared/common/api.service.ts","webpack:///./src/app/shared/common/api.settings.ts","webpack:///./src/app/shared/common/request-parameter.model.ts","webpack:///./src/app/shared/config/app-config.service.ts","webpack:///./src/app/shared/config/configuration-items.ts","webpack:///./src/app/shared/config/configuration.service.ts","webpack:///./src/app/shared/config/console-logger.service.ts","webpack:///./src/app/shared/config/host-page.service.ts","webpack:///./src/app/shared/config/maintenance.service.ts","webpack:///./src/app/shared/config/redirect-safari.ts","webpack:///./src/app/shared/cookies/cookies.service.ts","webpack:///./src/app/shared/cookies/didomi-cookies-consent-popin/didomi-cookies-consent-popin.component.html","webpack:///./src/app/shared/cookies/didomi-cookies-consent-popin/didomi-cookies-consent-popin.component.scss","webpack:///./src/app/shared/cookies/didomi-cookies-consent-popin/didomi-cookies-consent-popin.component.ts","webpack:///./src/app/shared/cookies/didomi-cookies.configurations.ts","webpack:///./src/app/shared/cookies/didomi-cookies.module.ts","webpack:///./src/app/shared/countdown/countdown.component.html","webpack:///./src/app/shared/countdown/countdown.component.scss","webpack:///./src/app/shared/countdown/countdown.component.ts","webpack:///./src/app/shared/countdown/countdown.module.ts","webpack:///./src/app/shared/directives/are-features-activated/are-features-activated.directive.ts","webpack:///./src/app/shared/directives/are-features-activated/are-features-activated.module.ts","webpack:///./src/app/shared/directives/click-outside/click-outside.directive.ts","webpack:///./src/app/shared/directives/custom-router-link-active/custom-router-link-active.directive.ts","webpack:///./src/app/shared/directives/custom-router-link-active/custom-router-link-active.module.ts","webpack:///./src/app/shared/directives/equal-validator/equal-validator.directive.ts","webpack:///./src/app/shared/directives/equal-validator/equal-validator.module.ts","webpack:///./src/app/shared/directives/hammer-gestures/hammer-gestures.directive.ts","webpack:///./src/app/shared/directives/hammer-gestures/hammer-gestures.module.ts","webpack:///./src/app/shared/directives/password-visibility-toggle/password-visibility-toggle.directive.ts","webpack:///./src/app/shared/directives/password-visibility-toggle/password-visibility-toggle.module.ts","webpack:///./src/app/shared/errors/errors.module.ts","webpack:///./src/app/shared/errors/http-error.interceptor.ts","webpack:///./src/app/shared/errors/maintenance/maintenance.component.html","webpack:///./src/app/shared/errors/maintenance/maintenance.component.scss","webpack:///./src/app/shared/errors/maintenance/maintenance.component.ts","webpack:///./src/app/shared/errors/no-contract-page/no-contract-page.component.html","webpack:///./src/app/shared/errors/no-contract-page/no-contract-page.component.ts","webpack:///./src/app/shared/errors/page-not-found/page-not-found.component.html","webpack:///./src/app/shared/errors/page-not-found/page-not-found.component.scss","webpack:///./src/app/shared/errors/page-not-found/page-not-found.component.ts","webpack:///./src/app/shared/errors/user-error/user-error-page.component.html","webpack:///./src/app/shared/errors/user-error/user-error-page.component.ts","webpack:///./src/app/shared/feature/feature.consts.ts","webpack:///./src/app/shared/feature/feature.service.ts","webpack:///./src/app/shared/gmap/gmap.module.ts","webpack:///./src/app/shared/gmap/gmap/gmap.component.html","webpack:///./src/app/shared/gmap/gmap/gmap.component.scss","webpack:///./src/app/shared/gmap/gmap/gmap.component.ts","webpack:///./src/app/shared/gtm/gtm-event.directive.ts","webpack:///./src/app/shared/gtm/gtm-events.const.ts","webpack:///./src/app/shared/gtm/gtm.helper.ts","webpack:///./src/app/shared/gtm/gtm.module.ts","webpack:///./src/app/shared/gtm/gtm.ref.ts","webpack:///./src/app/shared/gtm/gtm.service.ts","webpack:///./src/app/shared/header-cars-caroussel/header-cars-caroussel.component.html","webpack:///./src/app/shared/header-cars-caroussel/header-cars-caroussel.component.scss","webpack:///./src/app/shared/header-cars-caroussel/header-cars-caroussel.component.ts","webpack:///./src/app/shared/header-cars-caroussel/header-cars-caroussel.module.ts","webpack:///./src/app/shared/helper/base.service.ts","webpack:///./src/app/shared/helper/date-sorting.service.ts","webpack:///./src/app/shared/helper/document.ref.ts","webpack:///./src/app/shared/helper/http.const.ts","webpack:///./src/app/shared/helper/http.service.ts","webpack:///./src/app/shared/helper/logger.service.ts","webpack:///./src/app/shared/helper/utils/flatten-route-data.ts","webpack:///./src/app/shared/helper/window.ref.ts","webpack:///./src/app/shared/internals/CustomError.handler.ts","webpack:///./src/app/shared/loading/loading.component.html","webpack:///./src/app/shared/loading/loading.component.scss","webpack:///./src/app/shared/loading/loading.component.ts","webpack:///./src/app/shared/loading/loading.module.ts","webpack:///./src/app/shared/map/map.service.ts","webpack:///./src/app/shared/mask/mask.component.html","webpack:///./src/app/shared/mask/mask.component.scss","webpack:///./src/app/shared/mask/mask.component.ts","webpack:///./src/app/shared/mask/mask.module.ts","webpack:///./src/app/shared/modal-box/ModalCode.ts","webpack:///./src/app/shared/modal-box/modal-box.component.html","webpack:///./src/app/shared/modal-box/modal-box.component.scss","webpack:///./src/app/shared/modal-box/modal-box.component.ts","webpack:///./src/app/shared/modal-box/modal-box.module.ts","webpack:///./src/app/shared/modal-box/modal-content.model.ts","webpack:///./src/app/shared/modal-box/modal-input.model.ts","webpack:///./src/app/shared/pipes/address.pipe.ts","webpack:///./src/app/shared/pipes/asset-path.pipe.ts","webpack:///./src/app/shared/pipes/basic-number.pipe.ts","webpack:///./src/app/shared/pipes/capitalize.pipe.ts","webpack:///./src/app/shared/pipes/caracters-limit.pipe.ts","webpack:///./src/app/shared/pipes/culture-name.pipe.ts","webpack:///./src/app/shared/pipes/filter.pipe.ts","webpack:///./src/app/shared/pipes/foreach-filter.ts","webpack:///./src/app/shared/pipes/format-number.pipe.ts","webpack:///./src/app/shared/pipes/max.pipe.ts","webpack:///./src/app/shared/pipes/percentage-date.pipe.ts","webpack:///./src/app/shared/pipes/percentage.pipe.ts","webpack:///./src/app/shared/pipes/phone-number.pipe.ts","webpack:///./src/app/shared/pipes/pipes.module.ts","webpack:///./src/app/shared/pipes/relative-date.pipe.ts","webpack:///./src/app/shared/pipes/sort.pipe.ts","webpack:///./src/app/shared/pipes/warning-message-date.pipe.ts","webpack:///./src/app/shared/progressbar-simple/progressbar-simple.component.html","webpack:///./src/app/shared/progressbar-simple/progressbar-simple.component.scss","webpack:///./src/app/shared/progressbar-simple/progressbar-simple.component.ts","webpack:///./src/app/shared/progressbar-simple/progressbar-simple.module.ts","webpack:///./src/app/shared/rating/rating.component.html","webpack:///./src/app/shared/rating/rating.component.scss","webpack:///./src/app/shared/rating/rating.component.ts","webpack:///./src/app/shared/rating/rating.module.ts","webpack:///./src/app/shared/router-transitions/navigation-direction.directive.ts","webpack:///./src/app/shared/router-transitions/navigation-direction.service.ts","webpack:///./src/app/shared/router-transitions/router-transitions.animations.ts","webpack:///./src/app/shared/router-transitions/router-transitions.module.ts","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/app/shared/snackbar/snackbar.component.html","webpack:///./src/app/shared/snackbar/snackbar.component.scss","webpack:///./src/app/shared/snackbar/snackbar.component.ts","webpack:///./src/app/shared/snackbar/snackbar.module.ts","webpack:///./src/app/shared/snackbar/snackbar.service.ts","webpack:///./src/app/shared/sticky-header/sticky-header-pane/sticky-header-pane.component.html","webpack:///./src/app/shared/sticky-header/sticky-header-pane/sticky-header-pane.component.scss","webpack:///./src/app/shared/sticky-header/sticky-header-pane/sticky-header-pane.component.ts","webpack:///./src/app/shared/sticky-header/sticky-header.module.ts","webpack:///./src/app/shared/sticky-header/sticky-header/sticky-header.component.html","webpack:///./src/app/shared/sticky-header/sticky-header/sticky-header.component.scss","webpack:///./src/app/shared/sticky-header/sticky-header/sticky-header.component.ts","webpack:///./src/app/shared/storage/auth/auth-storage.service.ts","webpack:///./src/app/shared/storage/common/app-storage.service.ts","webpack:///./src/app/shared/storage/pos/pos-storage.const.ts","webpack:///./src/app/shared/storage/pos/pos-storage.service.ts","webpack:///./src/app/shared/storage/storage.module.ts","webpack:///./src/app/shared/storage/support-storage.model.ts","webpack:///./src/app/shared/storage/translation/translation-storage.const.ts","webpack:///./src/app/shared/storage/translation/translation-storage.service.ts","webpack:///./src/app/shared/svg-icon/svg-icon.component.html","webpack:///./src/app/shared/svg-icon/svg-icon.component.scss","webpack:///./src/app/shared/svg-icon/svg-icon.component.ts","webpack:///./src/app/shared/svg-icon/svg-icon.module.ts","webpack:///./src/app/shared/svg-inline/svg-inline.component.html","webpack:///./src/app/shared/svg-inline/svg-inline.component.ts","webpack:///./src/app/shared/svg-inline/svg-inline.module.ts","webpack:///./src/app/shared/svg-inline/svg-inline.service.ts","webpack:///./src/app/shared/text-carousel/text-carousel.component.html","webpack:///./src/app/shared/text-carousel/text-carousel.component.scss","webpack:///./src/app/shared/text-carousel/text-carousel.component.ts","webpack:///./src/app/shared/text-carousel/text-carousel.module.ts","webpack:///./src/app/shared/toast-message/toast-message.component.html","webpack:///./src/app/shared/toast-message/toast-message.component.scss","webpack:///./src/app/shared/toast-message/toast-message.component.ts","webpack:///./src/app/shared/toast-message/toast-message.module.ts","webpack:///./src/app/shared/toast-message/toast.directive.ts","webpack:///./src/app/shared/translation/languages-settings.ts","webpack:///./src/app/shared/translation/translation.service.ts","webpack:///./src/app/shared/translation/translation.settings.ts","webpack:///./src/app/shared/ui/map-google.service.ts","webpack:///./src/app/shared/ui/material/material.module.ts","webpack:///./src/app/shared/ui/modal.service.ts","webpack:///./src/app/shared/ui/myald-ui/myald-ui.module.ts","webpack:///./src/app/shared/ui/on-error.service.ts","webpack:///./src/app/shared/ui/popin.service.ts","webpack:///./src/app/shared/ui/sticky-header-form.service.ts","webpack:///./src/app/shared/ui/svg-sprite.service.ts","webpack:///./src/app/shared/user/user.service.ts","webpack:///./src/app/shared/user/userManagement.const.ts","webpack:///./src/app/shared/user/userManagement.service.ts","webpack:///./src/app/shared/user/userRoles.const.ts","webpack:///./src/app/shared/vertical-carousel/vertical-carousel.component.html","webpack:///./src/app/shared/vertical-carousel/vertical-carousel.component.scss","webpack:///./src/app/shared/vertical-carousel/vertical-carousel.component.ts","webpack:///./src/app/shared/vertical-carousel/vertical-carousel.module.ts","webpack:///./src/app/start/account-disabled/account-disabled.component.html","webpack:///./src/app/start/account-disabled/account-disabled.component.scss","webpack:///./src/app/start/account-disabled/account-disabled.component.ts","webpack:///./src/app/start/allow-notification/allow-notification.component.html","webpack:///./src/app/start/allow-notification/allow-notification.component.scss","webpack:///./src/app/start/allow-notification/allow-notification.component.ts","webpack:///./src/app/start/assistance/assistance.component.html","webpack:///./src/app/start/assistance/assistance.component.scss","webpack:///./src/app/start/assistance/assistance.component.ts","webpack:///./src/app/start/end-forgot-password/end-forgot-password.component.html","webpack:///./src/app/start/end-forgot-password/end-forgot-password.component.scss","webpack:///./src/app/start/end-forgot-password/end-forgot-password.component.ts","webpack:///./src/app/start/forgot-password-confirmation/forgot-password-confirmation.component.html","webpack:///./src/app/start/forgot-password-confirmation/forgot-password-confirmation.component.scss","webpack:///./src/app/start/forgot-password-confirmation/forgot-password-confirmation.component.ts","webpack:///./src/app/start/forgot-password/forgot-password.component.html","webpack:///./src/app/start/forgot-password/forgot-password.component.scss","webpack:///./src/app/start/forgot-password/forgot-password.component.ts","webpack:///./src/app/start/login/login.component.html","webpack:///./src/app/start/login/login.component.scss","webpack:///./src/app/start/login/login.component.ts","webpack:///./src/app/start/prospect-create-password/prospect-create-password.component.html","webpack:///./src/app/start/prospect-create-password/prospect-create-password.component.scss","webpack:///./src/app/start/prospect-create-password/prospect-create-password.component.ts","webpack:///./src/app/start/sign-up-confirmation/sign-up-confirmation.component.html","webpack:///./src/app/start/sign-up-confirmation/sign-up-confirmation.component.scss","webpack:///./src/app/start/sign-up-confirmation/sign-up-confirmation.component.ts","webpack:///./src/app/start/sign-up-denied/sign-up-denied.component.html","webpack:///./src/app/start/sign-up-denied/sign-up-denied.component.scss","webpack:///./src/app/start/sign-up-denied/sign-up-denied.component.ts","webpack:///./src/app/start/sign-up-error/sign-up-error.component.html","webpack:///./src/app/start/sign-up-error/sign-up-error.component.scss","webpack:///./src/app/start/sign-up-error/sign-up-error.component.ts","webpack:///./src/app/start/sign-up-prospect/sign-up-prospect.component.html","webpack:///./src/app/start/sign-up-prospect/sign-up-prospect.component.scss","webpack:///./src/app/start/sign-up-prospect/sign-up-prospect.component.ts","webpack:///./src/app/start/sign-up/sign-up.component.html","webpack:///./src/app/start/sign-up/sign-up.component.scss","webpack:///./src/app/start/sign-up/sign-up.component.ts","webpack:///./src/app/start/start.module.ts","webpack:///./src/app/start/start/start.component.html","webpack:///./src/app/start/start/start.component.scss","webpack:///./src/app/start/start/start.component.ts","webpack:///./src/app/start/success/success.component.html","webpack:///./src/app/start/success/success.component.scss","webpack:///./src/app/start/success/success.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;ACpRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClDyC;AACM;AACoB;AACF;AAC+B;AACzB;AACL;AACO;AACgB;AACW;AAEE;AACR;AAE9F;;;;;;;GAOG;AAEH,IAAM,MAAM,GAAG;IACb;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,qGAAoB;KAChC;IACD;QACE,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,CAAC,6EAAc,EAAE,qFAAkB,CAAC;QACjD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,MAAM;gBACjB,UAAU,EAAE,OAAO;aACpB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,kCAAkC;gBAChD,IAAI,EAAE;oBACJ,QAAQ,EAAE,KAAK;iBAChB;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,CAAC,+EAAW,EAAE,mFAAa,CAAC;gBACzC,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE;oBACJ,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE,IAAI;iBACrB;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,CAAC,+EAAW,EAAE,mFAAa,CAAC;gBACzC,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE;oBAC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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var map = {\n\t\"./cars/cars.module\": [\n\t\t\"./src/app/cars/cars.module.ts\",\n\t\t\"default~cars-cars-module~feed-feed-module\",\n\t\t\"cars-cars-module\"\n\t],\n\t\"./documents/documents.module\": [\n\t\t\"./src/app/documents/documents.module.ts\"\n\t],\n\t\"./feed/feed.module\": [\n\t\t\"./src/app/feed/feed.module.ts\",\n\t\t\"default~cars-cars-module~feed-feed-module\"\n\t],\n\t\"./more/more.module\": [\n\t\t\"./src/app/more/more.module.ts\"\n\t],\n\t\"./pos/pos.module\": [\n\t\t\"./src/app/pos/pos.module.ts\",\n\t\t\"pos-pos-module\"\n\t],\n\t\"./quotation/quotation.module\": [\n\t\t\"./src/app/quotation/quotation.module.ts\",\n\t\t\"quotation-quotation-module\"\n\t],\n\t\"./smart-care/smart-care.module\": [\n\t\t\"./src/app/smart-care/smart-care.module.ts\",\n\t\t\"smart-care-smart-care-module\"\n\t],\n\t\"./start/start.module\": [\n\t\t\"./src/app/start/start.module.ts\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { AuthService } from './shared/authentication/auth.service';\r\nimport { RedirectSafari } from './shared/config/redirect-safari';\r\nimport { PageNotFoundComponent } from './shared/errors/page-not-found/page-not-found.component';\r\nimport { AccessService } from './shared/authentication/access.service';\r\nimport { FeatureService } from './shared/feature/feature.service';\r\nimport { MaintenanceService } from './shared/config/maintenance.service';\r\nimport { MaintenanceComponent } from './shared/errors/maintenance/maintenance.component';\r\nimport { ContractStatusGuard } from './driver/shared/contract/guards/contract-status-guard.service';\r\nimport { QuotationComponent } from './quotation/quotation.component';\r\nimport { NoContractPageComponent } from './shared/errors/no-contract-page/no-contract-page.component';\r\nimport { UserErrorPageComponent } from './shared/errors/user-error/user-error-page.component';\r\n\r\n/*\r\n\r\n Other routes declared in\r\n\r\n - StartModule\r\n - FeedModule\r\n\r\n */\r\n\r\nconst ROUTES = [\r\n {\r\n path: 'maintenance',\r\n component: MaintenanceComponent,\r\n },\r\n {\r\n path: '',\r\n canActivate: [RedirectSafari, MaintenanceService],\r\n children: [\r\n {\r\n path: '',\r\n pathMatch: 'full',\r\n redirectTo: '/feed'\r\n },\r\n {\r\n path: 'start',\r\n loadChildren: './start/start.module#StartModule',\r\n data: {\r\n userMenu: false\r\n }\r\n },\r\n {\r\n path: 'feed',\r\n canActivate: [AuthService, AccessService],\r\n loadChildren: './feed/feed.module#FeedModule',\r\n data: {\r\n userMenu: true,\r\n acceptProspect: true\r\n }\r\n },\r\n {\r\n path: 'cars',\r\n canActivate: [AuthService, AccessService],\r\n loadChildren: './cars/cars.module#CarsModule',\r\n data: {\r\n userMenu: true\r\n }\r\n },\r\n {\r\n path: 'quotation',\r\n canActivate: [AccessService],\r\n loadChildren: './quotation/quotation.module#QuotationModule',\r\n data: {\r\n userMenu: true,\r\n acceptProspect: true\r\n }\r\n },\r\n {\r\n path: 'documents',\r\n canActivate: [AuthService, AccessService],\r\n loadChildren: './documents/documents.module#DocumentsModule',\r\n data: {\r\n userMenu: true,\r\n acceptProspect: true\r\n }\r\n },\r\n {\r\n path: 'pos',\r\n canActivate: [AuthService, AccessService, FeatureService, ContractStatusGuard],\r\n loadChildren: './pos/pos.module#PosModule',\r\n data: {\r\n userMenu: true,\r\n status: 'active',\r\n }\r\n },\r\n {\r\n path: 'smart-care',\r\n canActivate: [AuthService, AccessService, FeatureService],\r\n loadChildren: './smart-care/smart-care.module#SmartCareModule',\r\n data: {\r\n userMenu: true\r\n }\r\n },\r\n {\r\n path: 'more',\r\n canActivate: [AuthService, AccessService],\r\n loadChildren: './more/more.module#MoreModule',\r\n data: {\r\n userMenu: true,\r\n acceptProspect: true\r\n }\r\n },\r\n {\r\n path: 'no-contract',\r\n component: NoContractPageComponent,\r\n },\r\n {\r\n path: 'not-found',\r\n component: PageNotFoundComponent,\r\n },\r\n {\r\n path: 'user-error',\r\n component: UserErrorPageComponent,\r\n },\r\n {\r\n path: '**',\r\n redirectTo: 'not-found',\r\n }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(ROUTES)\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class AppRoutingModule {\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n transition: bottom 250ms ease;\\n overflow: hidden; }\\n@media screen and (max-width: 980px) {\\n .main:not(.full-screen) {\\n top: 50px; } }\\n.main.full-screen {\\n bottom: 0; }\\napp-mobile-menu.hidden {\\n display: none; }\\n@media screen and (min-width: 980px) {\\n app-mobile-menu {\\n display: none; } }\\napp-user-menu {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 65px; }\\n@media screen and (min-width: 980px) {\\n .main {\\n left: 250px;\\n bottom: 0; }\\n .main.full-screen {\\n left: 0; }\\n app-user-menu {\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 250px;\\n height: 100%;\\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.57); } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFFBQU87RUFDUCxTQUFRO0VBQ1IsVUFBUTtFQUNSLDhCQUE2QjtFQUM3QixpQkFBZ0IsRUFZbkI7QUZ1RVc7SUUxRlo7TUFXWSxVQUFTLEVBQ1osRUFBQTtBQVpUO0lBZ0JRLFVBQVMsRUFDWjtBQUlMO0VBRVEsY0FBYSxFQUNoQjtBRitDTztFRWxEWjtJQUtRLGNBQWEsRUFFcEIsRUFBQTtBQUVEO0VBQ0ksbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxRQUFPO0VBQ1AsU0FBUTtFQUNSLGFKV21CLEVJVnRCO0FGbUNXO0VFN0JSO0lBQ0ksWUpLdUI7SUlKdkIsVUFBUyxFQUtaO0lBUEQ7TUFLUSxRQUFPLEVBQ1Y7RUFHTDtJQUNJLGdCQUFlO0lBQ2YsT0FBTTtJQUNOLFVBQVM7SUFDVCxRQUFPO0lBQ1AsYUpSdUI7SUlTdkIsYUpSdUI7SUlXdkIsNENBQTJDLEVBQzlDLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uL2Fzc2V0cy9hbGQvc2Nzcy90aGVtZS1pbXBvcnRzXCI7XHJcblxyXG4ubWFpbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206MDtcclxuICAgIHRyYW5zaXRpb246IGJvdHRvbSAyNTBtcyBlYXNlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgobSkge1xyXG4gICAgICAgICY6bm90KC5mdWxsLXNjcmVlbikge1xyXG4gICAgICAgICAgICB0b3A6IDUwcHggLy8gcmVsYXRlZCB0byBtb2JpbGUgbWVudSBoZWlnaHRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5mdWxsLXNjcmVlbiB7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuYXBwLW1vYmlsZS1tZW51IHtcclxuICAgICYuaGlkZGVuIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWluLXdpZHRoKG0pIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5hcHAtdXNlci1tZW51IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGhlaWdodDogJHVzZXItbWVudS1oZWlnaHQ7XHJcbn1cclxuXHJcblxyXG5cclxuQGluY2x1ZGUgbWluLXdpZHRoKG0pIHtcclxuXHJcbiAgICAubWFpbiB7XHJcbiAgICAgICAgbGVmdDogJHVzZXItbWVudS13aWR0aC1kZXNrdG9wO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgJi5mdWxsLXNjcmVlbiB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFwcC11c2VyLW1lbnUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6ICR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDtcclxuICAgICAgICBoZWlnaHQ6ICR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuNTcpO1xyXG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjU3KTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuNTcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0= */\"","import { UserManagementService } from 'app/shared/user/userManagement.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { AppInsightsService } from 'ng2-appinsights';\r\nimport { environment } from '../environments/environment';\r\nimport { ModalInput } from './shared/modal-box/modal-input.model';\r\nimport { Subscription } from 'rxjs';\r\nimport { COUNTRIES } from './shared/translation/translation.settings';\r\nimport { ModalService } from './shared/ui/modal.service';\r\nimport { AuthService } from './shared/authentication/auth.service';\r\nimport { AppStorageService } from './shared/storage/common/app-storage.service';\r\nimport { AppConfigService } from 'app/shared/config/app-config.service';\r\nimport { SvgSpriteService } from './shared/ui/svg-sprite.service';\r\nimport { flattenRouteData } from './shared/helper/utils/flatten-route-data';\r\nimport ModalCode from './shared/modal-box/ModalCode';\r\nimport { AuthConst } from './shared/authentication/auth.const';\r\nimport { FeatureService } from './shared/feature/feature.service';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { APP_ROUTES } from './app.routes';\r\nimport { TranslationService } from './shared/translation/translation.service';\r\nimport { HostPageService } from './shared/config/host-page.service';\r\nimport { filter, tap, switchMap, take } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n private authUserMenu = false;\r\n private routeUserMenuFlag = false;\r\n\r\n private countrySelectorInput: ModalInput;\r\n\r\n public get displayUserMenu(): boolean {\r\n return this.routeUserMenuFlag && this.authUserMenu;\r\n }\r\n\r\n public modalSubscription: Subscription;\r\n private countriesList = COUNTRIES;\r\n\r\n constructor(private authService: AuthService,\r\n private appStorageService: AppStorageService,\r\n private translationService: TranslationService,\r\n private appConfig: AppConfigService,\r\n private svgSprite: SvgSpriteService,\r\n private hostPage: HostPageService,\r\n private router: Router,\r\n private userManagementService: UserManagementService,\r\n private appinsightsService: AppInsightsService,\r\n private modalService: ModalService,\r\n private featureService: FeatureService,\r\n private gtmService: GtmService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.selectCountry();\r\n this.initializeSvgSprite();\r\n this.initializeAppinsighs();\r\n this.displayAuthenticatedUserMenu();\r\n this.checkNavigation();\r\n this.featureService.updateFeaturesList();\r\n }\r\n\r\n private selectCountry() {\r\n if (this.appStorageService.countrySelected) {\r\n const mapScript = document.createElement('script');\r\n const googleMapCountry = this.appStorageService.countrySelected.toUpperCase() === 'NFFLEET' ? 'FI' : this.appStorageService.countrySelected.toUpperCase();\r\n mapScript.src = `https://maps.googleapis.com/maps/api/js?key=${environment.gmapApiKey}&libraries=places®ion=${googleMapCountry}`;\r\n document.body.appendChild(mapScript);\r\n this.translationService.translateService.onLangChange.subscribe(() => {\r\n this.hostPage.hideLoadingScreen();\r\n });\r\n };\r\n if (!this.appStorageService.countrySelected && !environment.production) {\r\n this.openSelectCountryModal();\r\n }\r\n }\r\n\r\n private openSelectCountryModal() {\r\n this.modalService.modalCode = ModalCode.COUNTRY_SELECT;\r\n this.countrySelectorInput = new ModalInput('countries');\r\n const countriesKeys = Object.keys(this.countriesList);\r\n this.countrySelectorInput.data = countriesKeys.map(country => {\r\n return { label: country, value: this.countriesList[country].country_code };\r\n }).sort((a, b) => a.label.localeCompare(b.label));\r\n\r\n this.modalService.openModal(\r\n 'country-selector',\r\n 'Choose your country',\r\n null,\r\n 'Save',\r\n null,\r\n this.countrySelectorInput\r\n );\r\n\r\n this.modalSubscription = this.modalService.modalActionObservable.subscribe(\r\n status => {\r\n if (status === true && this.modalService.modalCode === ModalCode.COUNTRY_SELECT) {\r\n this.appStorageService.countrySelected = this.modalService.modalValue[0].value;\r\n this.modalService.reset();\r\n window.location.reload();\r\n }\r\n }\r\n );\r\n }\r\n\r\n private initializeSvgSprite() {\r\n this.svgSprite.load(`${this.appConfig.config.assetsPath}/images/svg-sprite.svg`);\r\n }\r\n\r\n private initializeAppinsighs() {\r\n this.appinsightsService.Init({\r\n instrumentationKey: environment.appInsightInstrumentationKey,\r\n verboseLogging: true,\r\n disableCorrelationHeaders: false\r\n });\r\n }\r\n\r\n private displayAuthenticatedUserMenu() {\r\n this.authUserMenu = false;\r\n this.authService.authStatus$.pipe(\r\n filter(authStatus => authStatus !== AuthConst.status.LOGGED_OUT),\r\n tap(() => this.authUserMenu = true),\r\n take(1),\r\n switchMap(() => this.userManagementService.updateLastLoginDate()),\r\n ).subscribe();\r\n }\r\n\r\n private checkNavigation() {\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) { // Only react when the navigation ends\r\n if (/Trident\\/|MSIE/.test(window.navigator.userAgent) && this.appStorageService.countrySelected) {\r\n this.modalService.modalCode = ModalCode.UNSUPPORTED_BROWSER;\r\n this.modalService.openModal('global-browser_version_popin-text', 'global-browser_version_popin-title');\r\n }\r\n const routeData = flattenRouteData(this.router.routerState.root.snapshot);\r\n // Don't track in start, error page & non existing routes\r\n if (\r\n !new RegExp(APP_ROUTES.START).test(event.url) &&\r\n !new RegExp(APP_ROUTES.NOT_FOUND).test(event.url) &&\r\n !new RegExp(APP_ROUTES.NO_CONTRACTS).test(event.url) &&\r\n !new RegExp(APP_ROUTES.USER_ERROR).test(event.url) &&\r\n event.url === event.urlAfterRedirects\r\n ) {\r\n this.gtmService.sendPageView(event.url);\r\n }\r\n this.routeUserMenuFlag = routeData.userMenu;\r\n }\r\n });\r\n }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { AppInsightsModule } from 'ng2-appinsights';\r\nimport { AppComponent } from './app.component';\r\nimport { StartModule } from './start/start.module';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { TranslationService } from './shared/translation/translation.service';\r\nimport { AppConfigService } from './shared/config/app-config.service';\r\nimport { RouterTransitionsModule } from './shared/router-transitions/router-transitions.module';\r\nimport { NavigationDirectionService } from './shared/router-transitions/navigation-direction.service';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { environment } from '../environments/environment';\r\nimport { MoreModule } from './more/more.module';\r\nimport { DocumentsModule } from './documents/documents.module';\r\nimport { ErrorsModule } from './shared/errors/errors.module';\r\nimport { CustomErrorHandler } from './shared/internals/CustomError.handler';\r\nimport { LoggerService } from './shared/helper/logger.service';\r\nimport { ConsoleLogger } from './shared/config/console-logger.service';\r\nimport { DriverModule } from './driver/driver.module';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MaintenanceService } from './shared/config/maintenance.service';\r\nimport { FeedService } from './feed/shared/feed.service';\r\nimport { GtmModule } from './shared/gtm/gtm.module';\r\nimport { ContractStatusGuard } from './driver/shared/contract/guards/contract-status-guard.service';\r\nimport { ContractStatusExcludeGuard } from './driver/shared/contract/guards/contract-status-exclude-guard.service';\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule,\r\n FormsModule,\r\n HttpClientModule,\r\n SharedModule.forRoot(),\r\n AppInsightsModule,\r\n AppRoutingModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: Loader,\r\n deps: [HttpClient]\r\n }\r\n }),\r\n GtmModule.forRoot(),\r\n RouterTransitionsModule,\r\n ErrorsModule,\r\n StartModule,\r\n DocumentsModule,\r\n MoreModule,\r\n DriverModule,\r\n BrowserAnimationsModule,\r\n ],\r\n declarations: [AppComponent],\r\n providers: [\r\n FeedService,\r\n TranslationService,\r\n AppConfigService,\r\n ContractStatusGuard,\r\n ContractStatusExcludeGuard,\r\n NavigationDirectionService,\r\n {provide: ErrorHandler, useClass: CustomErrorHandler},\r\n LoggerService,\r\n ConsoleLogger,\r\n MaintenanceService,\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n\r\nexport function Loader(http: HttpClient) {\r\n const countrySelected = window.sessionStorage.getItem('country_selected');\r\n\r\n return new TranslateHttpLoader(\r\n http,\r\n environment.apigatewayUrl + environment.translateLoaderPrefix + countrySelected + '/',\r\n ''\r\n );\r\n}\r\n\r\n","export const APP_ROUTES = {\r\n NOT_FOUND: 'not-found',\r\n NO_CONTRACTS: 'no-contract',\r\n USER_ERROR: 'user-error',\r\n // ## Anonymous Routes\r\n START: 'start',\r\n LOGIN: 'login',\r\n // ## FEED Routes\r\n FEED: 'feed',\r\n // ## CARS Routes\r\n CARS: 'cars',\r\n CARS_INFOS: 'infos',\r\n CARS_CONTRACT: 'contract',\r\n CARS_RESTITUTION: 'restitution',\r\n CARS_MILEAGE: 'mileage',\r\n // ## DOCUMENTS Routes\r\n DOCUMENTS: 'documents',\r\n DOCUMENTS_ADD: 'add-other',\r\n // ## SERVICES Routes\r\n SERVICES: 'smart-care',\r\n POS: 'pos',\r\n // ## MORE Routes\r\n MORE: 'more',\r\n // ## GENERAL Routes\r\n ASSISTANCE: 'help',\r\n PERSONAL_INFOS: 'personal-informations',\r\n};\r\n","const ContractStatus = {\r\n VehicleOnRoad: 'VehicleOnRoad',\r\n ContractOrder: 'ContractOnOrder',\r\n CommandSaved: 'CommandSaved',\r\n CommandConfirmed: 'CommandConfirmed',\r\n VehicleFactored: 'VehicleFactored',\r\n VehicleDelivered: 'VehicleDelivered',\r\n VehicleRegistered: 'VehicleRegistered',\r\n VehicleReturned: 'VehicleReturned',\r\n VehicleSold: 'VehicleSold',\r\n ContractTerminating: 'ContractTerminating',\r\n ContractTerminated: 'ContractTerminated',\r\n};\r\n\r\nexport default ContractStatus;\r\n","module.exports = \"\\r\\n
\\r\\n

\\r\\n {{ \\\"documents-upload_panel-add_document\\\" | translate }}\\r\\n

\\r\\n {{ \\\"global-generic_terms-mandatory_fields_hint\\\" | translate }}\\r\\n
\\r\\n
\\r\\n {{ \\\"documents-upload_panel-file_size_error\\\" | translate }}\\r\\n
\\r\\n
\\r\\n {{ \\\"documents-upload_panel-file_format_error\\\" | translate }}\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
{{ \\\"documents-upload_panel-valid_file_format\\\" | translate }} : {{ fileFormats }}
\\r\\n
\\r\\n \\r\\n \\r\\n

{{ file.name }}

\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n {{ form.controls.title.value.length }} / 61\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ form.controls.comment.value.length }} / 150\\r\\n
\\r\\n
\\r\\n {{ \\\"documents-upload_panel-comment_field_hint\\\" | translate }}\\r\\n\\r\\n
\\r\\n

\\r\\n {{ \\\"documents-upload_panel-share_document\\\" | translate }}\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.add-document-title {\\n margin-bottom: 5px; }\\n.add-document-form {\\n padding: 30px 0; }\\n.add-document-upload {\\n display: inline-flex;\\n width: 100%; }\\n.add-document-upload-hint {\\n word-break: break-all;\\n position: absolute;\\n right: 45px;\\n width: 35%;\\n display: inline-block;\\n color: #b5b5b5;\\n font-size: 13px;\\n margin-top: 22px; }\\n.add-document-file {\\n margin-top: 10px;\\n width: 60%;\\n border-radius: 50px;\\n text-transform: uppercase;\\n font-family: montserrat;\\n cursor: pointer; }\\n.add-document-file-label {\\n color: white;\\n font-size: 12px; }\\n.add-document-file-icon {\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n right: 25px;\\n width: 23px;\\n height: 23px; }\\n.add-document-file-input {\\n position: absolute;\\n opacity: 0;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%; }\\n.add-document-chosen-file {\\n color: #00cfff;\\n font-size: 12px;\\n margin-bottom: 15px;\\n display: inline-block;\\n margin-left: 10px; }\\n.add-document-name {\\n display: block;\\n margin-top: 20px;\\n margin-bottom: 15px; }\\n.add-document-comment-hint {\\n display: inline-block;\\n color: #b5b5b5;\\n font-size: 13px;\\n margin-bottom: 15px; }\\n.add-document-fleet {\\n padding-top: 20px;\\n margin-bottom: 20px; }\\n.add-document-fleet-title {\\n font-weight: 600;\\n font-size: 24px;\\n font-family: \\\"montserrat\\\", Arial, sans-serif; }\\n.add-document-fleet-multiselect {\\n width: 100%; }\\n.add-document-legal {\\n margin-bottom: 20px; }\\n.add-document-legal-label {\\n float: left;\\n text-align: justify;\\n margin-bottom: 20px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZG9jdW1lbnRzL2FkZC1kb2N1bWVudC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvYWRkLWRvY3VtZW50L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvYWRkLWRvY3VtZW50L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9hZGQtZG9jdW1lbnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvYWRkLWRvY3VtZW50L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9hZGQtZG9jdW1lbnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvYWRkLWRvY3VtZW50L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxkb2N1bWVudHNcXGFkZC1kb2N1bWVudFxcYWRkLWRvY3VtZW50LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvYWRkLWRvY3VtZW50L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2FkZC1kb2N1bWVudC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9hZGQtZG9jdW1lbnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3ZhcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDR25DO0VBQ0ksbUJBQWtCLEVBQ3JCO0FBRUQ7RUFDSSxnQkFBZSxFQUNsQjtBQUVEO0VBQ0kscUJBQW9CO0VBQ3BCLFlBQVcsRUFXZDtBQVZHO0lBQ0ksc0JBQXFCO0lBQ3JCLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsV0FBVTtJQUNWLHNCQUFxQjtJQUNyQixlQ0FPO0lEQ1AsZ0JBQWU7SUFDZixpQkFBZ0IsRUFDbkI7QUFHTDtFQUNJLGlCQUFnQjtFQUNoQixXQUFVO0VBQ1Ysb0JBQW1CO0VBQ25CLDBCQUF5QjtFQUN6Qix3QkFBdUI7RUFDdkIsZ0JBQWUsRUFzQmxCO0FBcEJHO0lBQ0ksYUFBWTtJQUNaLGdCQUFlLEVBQ2xCO0FBRUQ7SUVHTixtQkFBa0I7SUFHaEIsU0FBUTtJQUdSLDRCQUEyQjtJRlBuQixZQUFXO0lBQ1gsWUFBVztJQUNYLGFBQVksRUFDZjtBQUVEO0lBQ0ksbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixPQUFNO0lBQ04sUUFBTztJQUNQLFlBQVc7SUFDWCxhQUFZLEVBQ2Y7QUFHTDtFQUNJLGVDcERnQjtFRHFEaEIsZ0JBQWU7RUFDZixvQkFBbUI7RUFDbkIsc0JBQXFCO0VBQ3JCLGtCQUFpQixFQUNwQjtBQUVEO0VBQ0ksZUFBYztFQUNkLGlCQUFnQjtFQUNoQixvQkFBbUIsRUFDdEI7QUFFRDtFQUNJLHNCQUFxQjtFQUNyQixlQ3BEVztFRHFEWCxnQkFBZTtFQUNmLG9CQUFtQixFQUN0QjtBQUVEO0VBQ0ksa0JBQWlCO0VBQ2pCLG9CQUFtQixFQVd0QjtBQVRHO0lBQ0ksaUJBQWdCO0lBQ2hCLGdCQUFlO0lBQ2YsNkNHN0UwQyxFSDhFN0M7QUFFRDtJQUNJLFlBQVcsRUFDZDtBQUdMO0VBQ0ksb0JBQW1CLEVBT3RCO0FBTEc7SUFDSSxZQUFXO0lBQ1gsb0JBQW1CO0lBQ25CLG9CQUFtQixFQUN0QiIsImZpbGUiOiJzcmMvYXBwL2RvY3VtZW50cy9hZGQtZG9jdW1lbnQvYWRkLWRvY3VtZW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuLmFkZC1kb2N1bWVudCB7XHJcbiAgICAmLXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi1mb3JtIHtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi11cGxvYWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICYtaGludCB7XHJcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogNDVweDtcclxuICAgICAgICAgICAgd2lkdGg6IDM1JTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktNjAwJyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1maWxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBtb250c2VycmF0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgJi1sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1pY29uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyKHZlcnRpY2FsKTtcclxuICAgICAgICAgICAgcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyM3B4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWlucHV0IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtY2hvc2VuLWZpbGUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLW5hbWUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAmLWNvbW1lbnQtaGludCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS02MDAnKTtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAmLWZsZWV0IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1tdWx0aXNlbGVjdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWxlZ2FsIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICAmLWxhYmVsIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iLCIvLyMjIEdlbmVyYWxcclxuJGNkbi1mb250LXBhdGg6ICdmb250cyc7XHJcbiRjZG4taWNvbi1wYXRoOiAnaWNvbnMnO1xyXG5cclxuXHJcbi8vICMjIEZvbnRzXHJcbiRmb250LWZhbWlseTogJ3NvdXJjZS1zYW5zJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRmb250LWZhbWlseS1oZWFkbGluZTogJ21vbnRzZXJyYXQnLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuXHJcbi8vICMgR2VuZXJhbCBlbGVtZW50cyBzdHlsZXNcclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4kYm94LXNoYWRvdy1tZWRpdW06IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTYpO1xyXG4kYm94LXNoYWRvdy1saWdodDogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45OCk7XHJcbiRib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG4vLyAjIyBOYXZpZ2F0aW9uXHJcbiRuYXZpZ2F0aW9uLXdpZHRoOiAyNjBweDtcclxuJG5hdmlnYXRpb24tbW9iaWxlLWhlaWdodDogNTBweDtcclxuXHJcbi8vICMjIExheW91dFxyXG4kY29udGVudC1wYWRkaW5nOiA1MHB4O1xyXG4kY29udGVudC1wYWRkaW5nLW1vYmlsZTogMjBweDtcclxuXHJcblxyXG5cclxuIl19 */\"","import { DocumentsEffects } from '../shared/documents.effects';\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { PopinService } from '../../shared/ui/popin.service';\r\nimport { DocumentsConst } from '../shared/documents.const';\r\nimport { InputChoice } from 'app/shared/models/input-choice.model';\r\nimport { DriverService } from 'app/driver/shared/driver.service';\r\nimport { tap, takeWhile, switchMap, filter } from 'rxjs/operators';\r\nimport { combineLatest } from 'rxjs';\r\nimport { FleetManagerLight } from '../shared/models/fleet-manager-light.model';\r\nimport { TranslationService } from 'app/shared/translation/translation.service';\r\nimport { DocumentSharedWithUsersModelLight } from '../shared/models/document-shared-with-users-light.model';\r\nimport { UploadDocumentDto } from '../shared/models/upload-document-dto.model';\r\nimport { FeatureService } from 'app/shared/feature/feature.service';\r\nimport { FeatureConst } from 'app/shared/feature/feature.consts';\r\nimport { UserProfile } from 'app/driver/shared/models/user-profile.model';\r\nimport { UserRole } from 'app/driver/shared/models/user-role.model';\r\nimport { UserRoles } from 'app/shared/user/userRoles.const';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\n\r\n@Component({\r\n selector: 'app-add-document',\r\n templateUrl: './add-document.component.html',\r\n styleUrls: ['./add-document.component.scss']\r\n})\r\nexport class AddDocumentComponent implements OnInit, OnDestroy {\r\n public isLoading: boolean;\r\n public form: FormGroup;\r\n public file: File;\r\n public availableFleetManagers: InputChoice[];\r\n public isSharedDocumentActivated = false;\r\n public fileFormats = DocumentsConst.fileFormats;\r\n private isComponentActive = true;\r\n private userRole: UserRole;\r\n\r\n constructor(\r\n public popinService: PopinService,\r\n private driverService: DriverService,\r\n private documentEffects: DocumentsEffects,\r\n private featureService: FeatureService,\r\n private gtmService: GtmService,\r\n private translationService: TranslationService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.form = new FormGroup({\r\n file: new FormControl(null, [Validators.required]),\r\n title: new FormControl('', [Validators.required]),\r\n comment: new FormControl('', []),\r\n fleetManagers: new FormControl([], []),\r\n legal: new FormControl(false, [])\r\n });\r\n\r\n this.form.get('fleetManagers').valueChanges.pipe(\r\n takeWhile(() => this.isComponentActive),\r\n tap(data => {\r\n data.length ? this.form.get('legal').setValidators([Validators.requiredTrue])\r\n : this.form.get('legal').setValidators([]);\r\n this.form.get('legal').updateValueAndValidity();\r\n })).subscribe();\r\n\r\n combineLatest([\r\n this.driverService.newDriverStream.pipe(\r\n tap((userProfile: UserProfile) => this.userRole = userProfile.userRoles.find((userRole: UserRole) => {\r\n return (userRole.role.toLocaleLowerCase() === UserRoles.Driver || userRole.role.toLocaleLowerCase() === UserRoles.Prospect)\r\n }))\r\n ),\r\n this.featureService.isFeatureActivated(FeatureConst.features.sharedDocuments).pipe(\r\n tap((isActivated: boolean) => this.isSharedDocumentActivated = isActivated),\r\n filter(isActivated => isActivated),\r\n switchMap(() => this.driverService.getFleetManagers()),\r\n tap((fleetManagers) => {\r\n fleetManagers ? this.availableFleetManagers = FleetManagerLight.toInputChoice([...fleetManagers])\r\n : this.availableFleetManagers = [];\r\n })\r\n ),\r\n ]).pipe(\r\n takeWhile(() => this.isComponentActive),\r\n ).subscribe();\r\n\r\n this.popinService.opened(true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.popinService.opened(false);\r\n this.isComponentActive = false;\r\n }\r\n\r\n public onBackClick(): void {\r\n this.popinService.opened(false);\r\n }\r\n\r\n public fileChange(event): void {\r\n this.file = event.target.files[0];\r\n this.form.controls.file.setValue(this.file ? this.file.name : null);\r\n const formatName = '.' + this.file.name.split('.').pop();\r\n if (!DocumentsConst.fileFormats.includes(formatName)) {\r\n this.form.controls.file.setErrors({ format: !DocumentsConst.fileFormats.includes(formatName) });\r\n }\r\n if (this.file.size > DocumentsConst.maximumFileSize) {\r\n this.form.controls.file.setErrors({ fileSize: this.file.size > DocumentsConst.maximumFileSize });\r\n }\r\n }\r\n\r\n public onSubmit(): void {\r\n if (this.form.valid) {\r\n this.isLoading = true;\r\n const uploadDocumentRequest: UploadDocumentDto = this.constructDataToSend();\r\n const documentSharedModelWith = DocumentSharedWithUsersModelLight.toDocumentSharedWithUsersModel(this.form.get('fleetManagers').value);\r\n const formData = new FormData();\r\n formData.append('fileData', JSON.stringify(uploadDocumentRequest));\r\n formData.append('file', this.file);\r\n this.documentEffects.uploadDocumentAction(formData, documentSharedModelWith)\r\n .subscribe(() => {\r\n this.isLoading = false;\r\n this.popinService.opened(false);\r\n this.gtmService.sendEvent(GTM_EVENTS.uploadDocument);\r\n },\r\n () => {\r\n this.isLoading = false;\r\n });\r\n }\r\n }\r\n\r\n private constructDataToSend(): UploadDocumentDto {\r\n const fleetManagers = this.form.get('fleetManagers').value;\r\n\r\n return {\r\n title: this.form.get('title').value,\r\n comment: this.form.get('comment').value ? this.form.get('comment').value : null,\r\n culture: this.translationService.language,\r\n roles: fleetManagers.length ? ['FleetManager'] : [],\r\n companyIds: [this.userRole.company.id],\r\n userIds: fleetManagers.length ? fleetManagers.map(fleetManager => fleetManager.value) : []\r\n } as UploadDocumentDto;\r\n }\r\n}\r\n\r\n","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n {{ document?.fileName?.split('.').pop().toUpperCase() }}\\r\\n

{{ document.title }}

\\r\\n
\\r\\n
\\r\\n \\r\\n

{{ ('documents-document_list_page-document_uploaded_on' | translate) + ' ' + (document.creationDate | relativeDate:'slashDate') }}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'documents-document_list_page-document_' + document.category.name | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.document-item {\\n border-radius: 30px;\\n display: flex;\\n flex-direction: column;\\n margin: 0;\\n padding: 15px;\\n text-align: left;\\n line-height: 1.15em;\\n height: 100%;\\n opacity: 1;\\n transition: opacity .2s ease;\\n box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\\n.document-item-content {\\n display: inherit; }\\n.document-item-category {\\n background-color: #050b7f;\\n color: #FFFFFF;\\n padding: 5px 8px;\\n border-radius: 8px; }\\n.document-item.deleting {\\n opacity: 0.4; }\\n.document-item-header {\\n color: #525252;\\n margin-bottom: 10px; }\\n.document-item-header .mat-card-title {\\n display: flex;\\n flex-direction: row; }\\n.document-item-header-ext {\\n color: #FFFFFF;\\n background: #f22f3b;\\n position: absolute;\\n width: 52px;\\n height: 47px;\\n text-align: center;\\n border-radius: 10px;\\n font-size: 14px;\\n padding: 7px 3px;\\n font-family: \\\"montserrat\\\", Arial, sans-serif;\\n font-weight: 600; }\\n.document-item-header-ext-pdf, .document-item-header-ext-ppt, .document-item-header-ext-pptx, .document-item-header-ext-odp {\\n background: #f22f3b; }\\n.document-item-header-ext-doc, .document-item-header-ext-docx, .document-item-header-ext-odt {\\n background: #050b7f; }\\n.document-item-header-ext-xls, .document-item-header-ext-xlsx, .document-item-header-ext-ods {\\n background: #00e6c2; }\\n.document-item-header-ext-jpg, .document-item-header-ext-png, .document-item-header-ext-jpeg, .document-item-header-ext-gif {\\n background: #7e7e7e; }\\n.document-item-header-ext-zip {\\n background: #ff931f; }\\n.document-item-header-name {\\n font-size: 18px;\\n padding: 6px;\\n white-space: nowrap;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n font-weight: bold;\\n margin-left: 55px;\\n font-family: \\\"montserrat\\\", Arial, sans-serif;\\n font-weight: 600; }\\n.document-item-uploaded-on-date {\\n font-style: italic;\\n white-space: nowrap;\\n width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n.document-item-bottom-shared-with {\\n width: 90%;\\n color: #525252; }\\n.document-item-bottom-shared-with-dropdown:hover .document-item-bottom-shared-with-dropdown-content {\\n display: block; }\\n.document-item-bottom-shared-with-dropdown-trigger {\\n display: block;\\n font-weight: bold;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n color: #b5b5b5; }\\n.document-item-bottom-shared-with-dropdown-trigger app-svg-icon {\\n width: 23px;\\n height: 23px;\\n color: #050b7f; }\\n.document-item-bottom-shared-with-dropdown-content {\\n padding: 10px;\\n border-radius: 10px;\\n display: none;\\n position: absolute;\\n background-color: #050b7f;\\n min-width: 160px;\\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\\n z-index: 1000; }\\n.document-item-bottom-shared-with-dropdown-content-item {\\n display: flex;\\n flex-direction: row; }\\n.document-item-bottom-shared-with-dropdown-content-item-svg-icon {\\n color: #FFFFFF;\\n width: 23px;\\n height: 18px; }\\n.document-item-bottom-shared-with-dropdown-content-item-shared-people {\\n color: white;\\n padding: 2px 16px;\\n text-decoration: none;\\n display: block;\\n text-align: left;\\n font-size: 0.875em; }\\n.document-item-bottom-actions {\\n width: 10%; }\\n.document-item-bottom-actions-trigger {\\n position: absolute;\\n right: 5px;\\n cursor: pointer; }\\n.document-item-bottom-actions-trigger app-svg-icon {\\n width: 23px;\\n height: 23px;\\n color: #050b7f; }\\n.document-item-bottom-actions-btn-item {\\n padding: 0;\\n margin: 0; }\\n.document-item-bottom-actions-icon-title {\\n font-weight: bold;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n color: #050b7f; }\\n.document-item-bottom-actions-svg-icon {\\n margin-right: 15px;\\n display: block;\\n height: 100%;\\n fill: currentColor;\\n float: left;\\n width: 23px;\\n color: #050b7f; }\\n:host ::ng-deep .mat-card-header-text {\\n margin: 0;\\n width: 100%; }\\n:host ::ng-deep .mat-card-actions {\\n margin-left: 0;\\n margin-right: 0;\\n display: flex;\\n flex-direction: row; }\\n:host ::ng-deep .mat-menu-item {\\n margin: 0;\\n padding: 0; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50LWl0ZW0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50LWl0ZW0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudC1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudC1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50LWl0ZW0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50LWl0ZW0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvZG9jdW1lbnQtaXRlbS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcZG9jdW1lbnRzXFxkb2N1bWVudC1pdGVtXFxkb2N1bWVudC1pdGVtLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvZG9jdW1lbnQtaXRlbS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudC1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF92YXJzLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudC1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDR3ZDO0VBQ0ksb0JKV3VCO0VJVnZCLGNBQWE7RUFDYix1QkFBc0I7RUFDdEIsVUFBUztFQUNULGNBQWE7RUFDYixpQkFBZ0I7RUFDaEIsb0JBQW1CO0VBQ25CLGFBQVk7RUFDWixXQUFVO0VBQ1YsNkJBQTRCO0VBQzVCLGdEQUErQyxFQTZLbEQ7QUEzS0c7SUFDRyxpQkFBZ0IsRUFDbEI7QUFFRDtJQUNJLDBCQ2pCVTtJRGtCVixlQ1RRO0lEVVIsaUJBQWdCO0lBQ2hCLG1CRVhXLEVGWWQ7QUF0Qkw7SUF5QlEsYUFBWSxFQUNmO0FBRUQ7SUFDSSxlQ1RXO0lEVVgsb0JBQW1CLEVBcUR0QjtBQXZEQTtNQUtPLGNBQWE7TUFDYixvQkFBbUIsRUFDdEI7QUFFRDtNQUNJLGVDNUJJO01ENkJKLG9CQ2hCSztNRGlCTCxtQkFBa0I7TUFDbEIsWUFBVztNQUNYLGFBQVk7TUFDWixtQkFBa0I7TUFDbEIsb0JBQW1CO01BQ25CLGdCQUFlO01BQ2YsaUJBQWdCO01BQ2hCLDZDRTNDMEM7TUY0QzFDLGlCQUFnQixFQXFCbkI7QUFuQkc7UUFDSSxvQkM1QkMsRUQ2Qko7QUFFRDtRQUNJLG9CQ3RERSxFRHVETDtBQUVEO1FBQ0ksb0JDcERTLEVEcURaO0FBRUQ7UUFDSSxvQkM3Q0csRUQ4Q047QUFFRDtRQUNJLG9CQzNDRSxFRDRDTDtBQUdMO01BQ0ksZ0JBQWU7TUFDZixhQUFZO01BQ1osb0JBQW1CO01BQ25CLFlBQVc7TUFDWCxpQkFBZ0I7TUFDaEIsd0JBQXVCO01BQ3ZCLGtCQUFpQjtNQUNqQixrQkFBaUI7TUFDakIsNkNFNUUwQztNRjZFMUMsaUJBQWdCLEVBQ25CO0FBR0w7SUFDUSxtQkFBa0I7SUFDbEIsb0JBQW1CO0lBQ25CLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsd0JBQXVCLEVBQzlCO0FBRUQ7SUFDSSxXQUFVO0lBQ1YsZUM1RVcsRURpSWQ7QUFuREk7TUFFTyxlQUFjLEVBQ2pCO0FBRUQ7TUFDSSxlQUFjO01BQ2Qsa0JBQWlCO01BQ2pCLG9CQUFtQjtNQUNuQixpQkFBZ0I7TUFDaEIsd0JBQXVCO01BQ3ZCLGVDM0ZHLEVEa0dOO0FBYkE7UUFTTyxZQUFXO1FBQ1gsYUFBWTtRQUNaLGVDaEhGLEVEaUhEO0FBR0w7TUFDSSxjQUFhO01BQ2Isb0JBQW1CO01BQ25CLGNBQWE7TUFDYixtQkFBa0I7TUFDbEIsMEJDekhFO01EMEhGLGlCQUFnQjtNQUNoQixnREFBNEM7TUFDNUMsY0FBYSxFQXFCaEI7QUFuQkc7UUFDSSxjQUFhO1FBQ2Isb0JBQW1CLEVBZ0J0QjtBQWRHO1VBQ0ksZUMxSFI7VUQySFEsWUFBVztVQUNYLGFBQVksRUFDZjtBQUVEO1VBQ0ksYUFBWTtVQUNaLGtCQUFpQjtVQUNqQixzQkFBcUI7VUFDckIsZUFBYztVQUNkLGlCQUFnQjtVQUNoQixtQkd4QlUsRUh5QmI7QUFLakI7SUFDSSxXQUFVLEVBaUNiO0FBaENHO01BQ0ksbUJBQWtCO01BQ2xCLFdBQVU7TUFDVixnQkFBZSxFQU1sQjtBQVRBO1FBS08sWUFBVztRQUNYLGFBQVk7UUFDWixlQzdKRSxFRDhKTDtBQUdMO01BQ0ksV0FBVTtNQUNWLFVBQVMsRUFDWjtBQUNEO01BQ0ksa0JBQWlCO01BQ2pCLG9CQUFtQjtNQUNuQixpQkFBZ0I7TUFDaEIsd0JBQXVCO01BQ3ZCLGVDMUtNLEVEMktUO0FBRUQ7TUFDSSxtQkFBa0I7TUFDbEIsZUFBYztNQUNkLGFBQVk7TUFDWixtQkFBa0I7TUFDbEIsWUFBVztNQUNYLFlBQVc7TUFDWCxlQ3BMTSxFRHFMVDtBQUlUO0VBRVEsVUFBUztFQUNULFlBQVcsRUFDZDtBQUpMO0VBTVEsZUFBYztFQUNkLGdCQUFlO0VBQ2YsY0FBYTtFQUNiLG9CQUFtQixFQUN0QjtBQVZMO0VBWVEsVUFBUztFQUNULFdBQVUsRUFDYiIsImZpbGUiOiJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudC1pdGVtL2RvY3VtZW50LWl0ZW0uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiXHJcbkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvdGhlbWUtaW1wb3J0c1wiO1xyXG5cclxuLmRvY3VtZW50LWl0ZW0ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1ib3JkZXItcmFkaXVzO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1ZW07XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZTtcclxuICAgIGJveC1zaGFkb3c6IDBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG5cclxuICAgICYtY29udGVudCB7XHJcbiAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gICAgfVxyXG5cclxuICAgICYtY2F0ZWdvcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5Jyk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCA4cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kZWxldGluZyB7XHJcbiAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgfVxyXG5cclxuICAgICYtaGVhZGVye1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS05MDAnKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAubWF0LWNhcmQtdGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1leHQge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdkYW5nZXInKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogNTJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0N3B4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgcGFkZGluZzogN3B4IDNweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkbGluZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcbiAgICAgICAgICAgICYtcGRmLCAmLXBwdCwgJi1wcHR4LCAmLW9kcCAge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2RhbmdlcicpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLWRvYywgJi1kb2N4LCAmLW9kdCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLXhscywgJi14bHN4LCAmLW9kcyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnY29tcGxlbWVudGFyeTEnKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi1qcGcsICYtcG5nLCAmLWpwZWcsICYtZ2lmIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTcwMCcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLXppcCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnd2FybmluZycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLW5hbWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDU1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGxpbmU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtdXBsb2FkZWQtb24tZGF0ZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgfVxyXG5cclxuICAgICYtYm90dG9tLXNoYXJlZC13aXRoIHtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS04MDAnKTtcclxuXHJcbiAgICAgICAgJi1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICY6aG92ZXIgJi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLXRyaWdnZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktNjAwJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgYXBwLXN2Zy1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjNweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5Jyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtY29udGVudHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5Jyk7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDhweCAxNnB4IDBweCByZ2JhKDAsMCwwLDAuMik7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG5cclxuICAgICAgICAgICAgICAgICYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLXN2Zy1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjNweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi1zaGFyZWQtcGVvcGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNHB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWJvdHRvbS1hY3Rpb25zIHtcclxuICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICYtdHJpZ2dlcntcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjNweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjNweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWJ0bi1pdGVte1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtaWNvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5Jyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXN2Zy1pY29uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICB3aWR0aDogMjNweDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAge1xyXG4gICAgLm1hdC1jYXJkLWhlYWRlci10ZXh0e1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5tYXQtY2FyZC1hY3Rpb25zIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgLm1hdC1tZW51LWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiLy8jIyBHZW5lcmFsXHJcbiRjZG4tZm9udC1wYXRoOiAnZm9udHMnO1xyXG4kY2RuLWljb24tcGF0aDogJ2ljb25zJztcclxuXHJcblxyXG4vLyAjIyBGb250c1xyXG4kZm9udC1mYW1pbHk6ICdzb3VyY2Utc2FucycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktaGVhZGxpbmU6ICdtb250c2VycmF0JywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblxyXG4vLyAjIEdlbmVyYWwgZWxlbWVudHMgc3R5bGVzXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuJGJveC1zaGFkb3ctbWVkaXVtOiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjk2KTtcclxuJGJveC1zaGFkb3ctbGlnaHQ6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTgpO1xyXG4kYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuLy8gIyMgTmF2aWdhdGlvblxyXG4kbmF2aWdhdGlvbi13aWR0aDogMjYwcHg7XHJcbiRuYXZpZ2F0aW9uLW1vYmlsZS1oZWlnaHQ6IDUwcHg7XHJcblxyXG4vLyAjIyBMYXlvdXRcclxuJGNvbnRlbnQtcGFkZGluZzogNTBweDtcclxuJGNvbnRlbnQtcGFkZGluZy1tb2JpbGU6IDIwcHg7XHJcblxyXG5cclxuXHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiJdfQ== */\"","import { DocumentsEffects } from '../shared/documents.effects';\r\nimport {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Document } from '../shared/models/document.model';\r\nimport { WindowRef } from 'app/shared/helper/window.ref';\r\nimport { DocumentsActionsIcon } from '../shared/enums/documents-actions-icon';\r\nimport { finalize, tap } from 'rxjs/operators';\r\nimport { fadeAnimation } from 'app/shared/animations/fade.animations';\r\nimport { Router } from '@angular/router';\r\nimport { APP_ROUTES } from 'app/app.routes';\r\nimport { DocumentsConst } from '../shared/documents.const';\r\nimport { FeatureConst } from 'app/shared/feature/feature.consts';\r\nimport { FeatureService } from 'app/shared/feature/feature.service';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\n\r\n@Component({\r\n selector: 'app-document-item',\r\n templateUrl: './document-item.component.html',\r\n styleUrls: ['./document-item.component.scss'],\r\n animations: [fadeAnimation],\r\n})\r\nexport class DocumentItemComponent implements OnInit {\r\n @Input() document: Document;\r\n @Input() isDriverDocument: boolean;\r\n\r\n public readonly ACTIONS_ICONS = DocumentsActionsIcon;\r\n public documentModule = DocumentsConst.name;\r\n public isDocumentDeleting: boolean;\r\n public isActivatedShareDocumentsFeature = false;\r\n\r\n constructor(\r\n private documentsEffects: DocumentsEffects,\r\n private router: Router,\r\n private featureService: FeatureService,\r\n private gtmService: GtmService,\r\n private windowRef: WindowRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.featureService.isFeatureActivated(FeatureConst.features.sharedDocuments).pipe(\r\n tap((isActivated: boolean) => this.isActivatedShareDocumentsFeature = isActivated)\r\n ).subscribe();\r\n }\r\n\r\n public deleteDocument(): void {\r\n this.isDocumentDeleting = true;\r\n this.documentsEffects.deleteDocumentAction(this.document.id).pipe(\r\n finalize(() => this.isDocumentDeleting = false)\r\n ).subscribe();\r\n }\r\n\r\n public downloadDocument(): void {\r\n this.documentsEffects.downloadDocumentAction(this.document.id).subscribe(documentUrl => {\r\n this.windowRef.nativeWindow.open(documentUrl, '_blank');\r\n this.gtmService.sendEvent(GTM_EVENTS.downloadDocument, 'download document');\r\n });\r\n }\r\n\r\n public editDocument(): void {\r\n this.router.navigate([APP_ROUTES.DOCUMENTS, 'edit', this.document.id]);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

{{ title }}

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.document-list {\\n padding: 20px 0; }\\n.document-list-title {\\n display: inline-block;\\n padding-right: 50px;\\n position: relative;\\n margin-bottom: 1.2em;\\n width: 100%; }\\n.document-list-title-text {\\n font-weight: 600;\\n font-size: 2rem;\\n color: #050b7f; }\\n@media screen and (min-width: 980px) {\\n .document-list-title-text {\\n font-size: 2.5em; } }\\n.document-list-title-add {\\n display: flex;\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n right: 0;\\n background-color: #00cfff;\\n border-radius: 50%;\\n color: #FFFFFF;\\n width: 40px;\\n height: 40px;\\n line-height: 35px;\\n align-items: center;\\n justify-content: center;\\n text-decoration: none; }\\n.document-list-title-add app-icon {\\n width: 15px;\\n height: 15px; }\\n.document-list-item {\\n width: 100%;\\n height: 100%;\\n padding-top: 2px;\\n padding-bottom: 2px; }\\n.document-list-tile {\\n overflow: visible; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50cy1saXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudHMtbGlzdC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50cy1saXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudHMtbGlzdC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudHMtbGlzdC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvZG9jdW1lbnRzLWxpc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvZG9jdW1lbnRzLWxpc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXGRvY3VtZW50c1xcZG9jdW1lbnRzLWxpc3RcXGRvY3VtZW50cy1saXN0LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvZG9jdW1lbnRzLWxpc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvZG9jdW1lbnRzLWxpc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxnQkFBZSxFQWtEbEI7QUFoREc7SUFDSSxzQkFBcUI7SUFDckIsb0JBQW1CO0lBQ25CLG1CQUFrQjtJQUNsQixxQkFBb0I7SUFDcEIsWUFBVyxFQStCZDtBQTdCRztNQUNJLGlCQUFnQjtNQUNoQixnQkFBZTtNQUNmLGVDWE0sRURnQlQ7QUZxREc7UUU3REo7VUFNUSxpQkFBZ0IsRUFFdkIsRUFBQTtBQUVEO01BQ0ksY0FBYTtNRW1CdkIsbUJBQWtCO01BR2hCLFNBQVE7TUFHUiw0QkFBMkI7TUZ2Qm5CLFNBQVE7TUFDUiwwQkNyQlk7TURzQlosbUJBQWtCO01BQ2xCLGVDZkk7TURnQkosWUFBVztNQUNYLGFBQVk7TUFDWixrQkFBaUI7TUFDakIsb0JBQW1CO01BQ25CLHdCQUF1QjtNQUN2QixzQkFBcUIsRUFNeEI7QUFsQkE7UUFlTyxZQUFXO1FBQ1gsYUFBWSxFQUNmO0FBSVQ7SUFDSSxZQUFXO0lBQ1gsYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixvQkFBbUIsRUFDdEI7QUFFRDtJQUNJLGtCQUFpQixFQUNwQiIsImZpbGUiOiJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudHMtbGlzdC9kb2N1bWVudHMtbGlzdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL3RoZW1lLWltcG9ydHNcIjtcclxuXHJcbi5kb2N1bWVudC1saXN0IHtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuXHJcbiAgICAmLXRpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yZW07XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICYtdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5Jyk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1hZGQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXIodmVydGljYWwpO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAgICAgYXBwLWljb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1pdGVtIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDJweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYtdGlsZXtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIl19 */\"","\r\nimport {\r\n Component,\r\n Input,\r\n OnInit,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { Document } from '../shared/models/document.model';\r\nimport { MediaObserver, MediaChange } from '@angular/flex-layout';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-documents-list',\r\n templateUrl: './documents-list.component.html',\r\n styleUrls: ['./documents-list.component.scss']\r\n})\r\nexport class DocumentsListComponent implements OnInit, OnDestroy {\r\n\r\n @Input() title: string;\r\n @Input() documents: Document[];\r\n @Input() isDriverDocument = false;\r\n\r\n public gridCols$: BehaviorSubject = new BehaviorSubject(2);\r\n\r\n private isComponentActive = true;\r\n\r\n constructor(\r\n private mediaObserver: MediaObserver\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.mediaObserver.media$.pipe(\r\n takeWhile(() => this.isComponentActive),\r\n ).subscribe((change: MediaChange) => {\r\n this.gridCols$.next(change.mqAlias === 'xs' ? 1 : 2);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.isComponentActive = false;\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.documents-searchbar {\\n position: relative;\\n width: 100%;\\n cursor: pointer; }\\n.documents-searchbar-form {\\n width: 100%; }\\n.documents-searchbar-input {\\n height: 60px;\\n box-shadow: 0 3px 6px 0 rgba(1, 17, 35, 0.29);\\n background-color: #FFFFFF;\\n border-radius: 30px;\\n font-size: 1.125em;\\n padding: 25px 50px 25px 50px;\\n width: 100%;\\n border: none;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden; }\\n.documents-searchbar-icon {\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n left: 20px;\\n width: 20px; }\\n.documents-searchbar-clear {\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n right: 15px;\\n width: 25px;\\n padding: 5px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50cy1zZWFyY2gvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50cy1zZWFyY2gvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudHMtc2VhcmNoL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudHMtc2VhcmNoL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50cy1zZWFyY2gvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50cy1zZWFyY2gvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvZG9jdW1lbnRzLXNlYXJjaC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcZG9jdW1lbnRzXFxkb2N1bWVudHMtc2VhcmNoXFxkb2N1bWVudHMtc2VhcmNoLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvZG9jdW1lbnRzLXNlYXJjaC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudHMtc2VhcmNoL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxnQkFBZSxFQWdDbEI7QUE5Qkc7SUFDSSxZQUFXLEVBQ2Q7QUFFRDtJQUNJLGFBQVk7SUFDWiw4Q0FBNkM7SUFDN0MsMEJDRFE7SURFUixvQkpBbUI7SUlDbkIsbUJBQWtCO0lBQ2xCLDZCQUE0QjtJQUM1QixZQUFXO0lBQ1gsYUFBWTtJQUNaLHdCQUF1QjtJQUN2QixvQkFBbUI7SUFDbkIsaUJBQWdCLEVBQ25CO0FBRUQ7SUVpQkYsbUJBQWtCO0lBR2hCLFNBQVE7SUFHUiw0QkFBMkI7SUZyQnZCLFdBQVU7SUFDVixZQUFXLEVBQ2Q7QUFFRDtJRVdGLG1CQUFrQjtJQUdoQixTQUFRO0lBR1IsNEJBQTJCO0lGZnZCLFlBQVc7SUFDWCxZQUFXO0lBQ1gsYUFBWSxFQUNmIiwiZmlsZSI6InNyYy9hcHAvZG9jdW1lbnRzL2RvY3VtZW50cy1zZWFyY2gvZG9jdW1lbnRzLXNlYXJjaC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL3RoZW1lLWltcG9ydHNcIjtcclxuXHJcbi5kb2N1bWVudHMtc2VhcmNoYmFyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICYtZm9ybSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJi1pbnB1dCB7XHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMSwgMTcsIDM1LCAwLjI5KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggNTBweCAyNXB4IDUwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAmLWljb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNlbnRlcih2ZXJ0aWNhbCk7XHJcbiAgICAgICAgbGVmdDogMjBweDtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLWNsZWFyIHtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXIodmVydGljYWwpO1xyXG4gICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { debounceTime, takeWhile, tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-documents-search',\r\n templateUrl: './documents-search.component.html',\r\n styleUrls: ['./documents-search.component.scss']\r\n})\r\nexport class DocumentsSearchComponent implements OnInit {\r\n @Output() search: EventEmitter = new EventEmitter();\r\n\r\n private isComponentActive = true;\r\n public searchQuery: FormControl;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.searchQuery = new FormControl('');\r\n this.searchQuery.valueChanges.pipe(\r\n debounceTime(300),\r\n takeWhile(() => this.isComponentActive),\r\n tap((pattern) => {\r\n this.search.emit(pattern);\r\n }),\r\n ).subscribe();\r\n }\r\n\r\n public clearSearch(): void {\r\n this.searchQuery.setValue('');\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{ 'global-generic_terms-no_result' | translate }}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

{{ 'documents-document_list_page-no_personal_documents' | translate }}

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

{{ 'documents-document_list_page-no_received_documents' | translate }}

\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'documents-document_list_page-no_documents' | translate }}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

\\r\\n {{'global-generic_terms-generic_server_error'| translate}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

{{ 'documents-document_list_page-no_documents' | translate }}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.documents {\\n position: relative;\\n display: inline-block;\\n width: 100%;\\n height: 100%; }\\n.documents-wrapper {\\n display: inline-block;\\n width: 100%;\\n height: 100%;\\n left: 0;\\n top: 0;\\n bottom: 65px;\\n margin: auto;\\n position: absolute;\\n overflow-y: scroll;\\n overflow-x: hidden;\\n -webkit-overflow-scrolling: touch; }\\n@media screen and (min-width: 980px) {\\n .documents-wrapper {\\n bottom: 0; } }\\n.documents-container {\\n width: 90%;\\n margin: auto;\\n padding-top: 50px; }\\n@media screen and (min-width: 980px) {\\n .documents-container {\\n padding-top: 80px;\\n max-width: 750px; } }\\n.documents-list {\\n padding-top: 10px;\\n display: block;\\n border-top: 1px solid rgba(0, 0, 0, 0.1); }\\n.documents-list.no-border {\\n border-top: 0; }\\n.documents-search-noresults {\\n width: 100%;\\n padding-top: 4em;\\n font-size: 1.2rem;\\n color: #b5b5b5; }\\n.documents-noresults {\\n font-size: 1.2rem;\\n padding-top: 1em;\\n color: #b5b5b5; }\\n.documents-empty {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n text-align: center; }\\n.documents-empty-title {\\n color: #b5b5b5;\\n font-size: 1.5rem;\\n font-weight: 600; }\\n.documents-empty-add {\\n margin-top: 20px; }\\n.documents-loading {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%); }\\n.documents-error {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n text-align: center;\\n font-size: 1.2rem;\\n font-weight: 500;\\n padding: 30px 0; }\\n.documents-popin-wrap {\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: 5;\\n width: 100%;\\n height: 100%;\\n max-width: 710px;\\n overflow-y: hidden;\\n background: #FFFFFF;\\n transform: translate3d(100%, 0, 0); }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZG9jdW1lbnRzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXGRvY3VtZW50c1xcZG9jdW1lbnRzLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxtQkFBa0I7RUFDbEIsc0JBQXFCO0VBQ3JCLFlBQVc7RUFDWCxhQUFZLEVBMkZmO0FBekZHO0lBQ0ksc0JBQXFCO0lBQ3JCLFlBQVc7SUFDWCxhQUFZO0lBQ1osUUFBTztJQUNQLE9BQU07SUFDTixhSmtDZTtJSWpDZixhQUFZO0lBQ1osbUJBQWtCO0lBQ2xCLG1CQUFrQjtJQUNsQixtQkFBa0I7SUFDbEIsa0NBQWlDLEVBSXBDO0FGa0RPO01FakVSO1FBYVEsVUFBUyxFQUVoQixFQUFBO0FBRUQ7SUFDSSxXQUFVO0lBQ1YsYUFBWTtJQUNaLGtCQUFpQixFQUtwQjtBRndDTztNRWhEUjtRQUtRLGtCQUFpQjtRQUNqQixpQkFBZ0IsRUFFdkIsRUFBQTtBQUVEO0lBQ0ksa0JBQWlCO0lBQ2pCLGVBQWM7SUFDZCx5Q0FBd0MsRUFLM0M7QUFSQTtNQU1PLGNBQWEsRUFDaEI7QUFHTDtJQUNJLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsa0JBQWlCO0lBQ2pCLGVDN0JXLEVEOEJkO0FBRUQ7SUFDSSxrQkFBaUI7SUFDakIsaUJBQWdCO0lBQ2hCLGVDbkNXLEVEb0NkO0FBRUQ7SUVoQkYsbUJBQWtCO0lBYWhCLFNBQVE7SUFDUixVQUFTO0lBR1QsaUNBQWdDO0lGQzVCLG1CQUFrQixFQVdyQjtBQVRHO01BQ0ksZUMzQ087TUQ0Q1Asa0JBQWlCO01BQ2pCLGlCQUFnQixFQUNuQjtBQUVEO01BQ0ksaUJBQWdCLEVBQ25CO0FBR0w7SUUvQkYsbUJBQWtCO0lBYWhCLFNBQVE7SUFDUixVQUFTO0lBR1QsaUNBQWdDLEVGZ0IvQjtBQUVEO0lFbkNGLG1CQUFrQjtJQWFoQixTQUFRO0lBQ1IsVUFBUztJQUdULGlDQUFnQztJRm9CNUIsbUJBQWtCO0lBQ2xCLGtCQUFpQjtJQUNqQixpQkFBZ0I7SUFDaEIsZ0JBQWUsRUFDbEI7QUFFRDtJQUNJLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1IsT0FBTTtJQUNOLFdBQVU7SUFDVixZQUFXO0lBQ1gsYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsb0JDakZRO0lEa0ZSLG1DQUFrQyxFQUNyQyIsImZpbGUiOiJzcmMvYXBwL2RvY3VtZW50cy9kb2N1bWVudHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy90aGVtZS1pbXBvcnRzXCI7XHJcblxyXG4uZG9jdW1lbnRzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICYtd3JhcHBlcntcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogJHVzZXItbWVudS1oZWlnaHQ7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgICAgICBAaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcclxuICAgICAgICBAaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1saXN0IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cclxuICAgICAgICAmLm5vLWJvcmRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtc2VhcmNoLW5vcmVzdWx0cyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDRlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktNjAwJyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi1ub3Jlc3VsdHMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxZW07XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTYwMCcpO1xyXG4gICAgfVxyXG5cclxuICAgICYtZW1wdHkge1xyXG4gICAgICAgIEBpbmNsdWRlIGNlbnRlcihib3RoKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICYtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktNjAwJyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1hZGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWxvYWRpbmcge1xyXG4gICAgICAgIEBpbmNsdWRlIGNlbnRlcihib3RoKTtcclxuICAgIH1cclxuXHJcbiAgICAmLWVycm9yIHtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXIoYm90aCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xyXG4gICAgfVxyXG5cclxuICAgICYtcG9waW4td3JhcCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDcxMHB4O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iXX0= */\"","import { DocumentsEffects } from './shared/documents.effects';\r\nimport { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MaskComponent } from '../shared/mask/mask.component';\r\nimport { Document } from './shared/models/document.model';\r\nimport { Observable, BehaviorSubject, combineLatest } from 'rxjs';\r\nimport { PopinService } from '../shared/ui/popin.service';\r\nimport { filter, map, takeWhile, tap } from 'rxjs/operators';\r\nimport { toggleAnimation } from 'app/shared/animations/toggle.animations';\r\nimport { DocumentsCategory } from './shared/enums/documents-category';\r\n\r\n@Component({\r\n selector: 'app-documents-menu',\r\n templateUrl: './documents.component.html',\r\n styleUrls: ['./documents.component.scss'],\r\n animations: [\r\n toggleAnimation\r\n ]\r\n})\r\nexport class DocumentsComponent implements OnInit, OnDestroy {\r\n\r\n private isComponentActive = true;\r\n\r\n public allDocuments$: Observable;\r\n public isDocumentsLoading$: BehaviorSubject;\r\n public hasDocumentsError$: BehaviorSubject;\r\n public personalDocuments: Document[];\r\n public receivedDocuments: Document[];\r\n public isSearchEmpty = true;\r\n\r\n @ViewChild(MaskComponent) mask: MaskComponent;\r\n public stateToggle: string;\r\n\r\n constructor(\r\n private router: Router,\r\n private documentsEffects: DocumentsEffects,\r\n private popinService: PopinService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.documentsEffects.getDocumentsAction().subscribe();\r\n\r\n this.allDocuments$ = this.documentsEffects.documents$;\r\n this.hasDocumentsError$ = this.documentsEffects.hasDocumentsError$;\r\n this.isDocumentsLoading$ = this.documentsEffects.isDocumentsLoading$;\r\n\r\n // Personal documents with search filter\r\n combineLatest([\r\n this.allDocuments$.pipe(\r\n filter(documents => !!documents),\r\n map((documents) => documents.filter(document => document.category.name === DocumentsCategory.PERSONAL_DOCUMENT)),\r\n ),\r\n this.documentsEffects.searchQuery$\r\n ]).pipe(\r\n takeWhile(() => this.isComponentActive),\r\n map(this.filterDocument),\r\n tap((personalDocuments) => this.personalDocuments = personalDocuments),\r\n ).subscribe();\r\n\r\n // Received documents with search filter\r\n combineLatest([\r\n this.allDocuments$.pipe(\r\n filter(documents => !!documents),\r\n map((documents) => documents.filter(document => document.category.name !== DocumentsCategory.PERSONAL_DOCUMENT)),\r\n ),\r\n this.documentsEffects.searchQuery$\r\n ]).pipe(\r\n takeWhile(() => this.isComponentActive),\r\n map(this.filterDocument),\r\n tap((receivedDocuments) => this.receivedDocuments = receivedDocuments),\r\n ).subscribe();\r\n\r\n this.popinService.opened(null);\r\n this.popinService.getOpened().pipe(\r\n takeWhile(() => this.isComponentActive),\r\n )\r\n .subscribe(\r\n isPopinOpened => {\r\n this.stateToggle = isPopinOpened ? 'shown' : 'hidden';\r\n this.mask.show = !!isPopinOpened;\r\n });\r\n }\r\n\r\n public isSearchNoResults(): boolean {\r\n return this.personalDocuments && !this.personalDocuments.length\r\n && this.receivedDocuments && !this.receivedDocuments.length && !this.isSearchEmpty;\r\n }\r\n\r\n public searchDocument(searchTerm: string): void {\r\n this.isSearchEmpty = searchTerm === '';\r\n this.documentsEffects.searchQuery$.next(searchTerm);\r\n }\r\n\r\n public filterDocument(searchParams: [Document[], string]): Document[] {\r\n const [documents, searchTerm] = searchParams;\r\n if (searchTerm === '') {\r\n return documents;\r\n }\r\n return documents.filter((d: Document) => d.title.toLowerCase().includes(searchTerm.trim().toLowerCase()));\r\n }\r\n\r\n public animationDone($event) {\r\n if ($event.toState === 'hidden') {\r\n this.router.navigate(['/documents']);\r\n }\r\n }\r\n\r\n public onClosePopin() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.isComponentActive = false;\r\n }\r\n}\r\n","import { TranslateModule } from '@ngx-translate/core';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DocumentsComponent } from './documents.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AddDocumentComponent } from './add-document/add-document.component';\r\nimport { DocumentsService } from './shared/documents.service';\r\nimport { DocumentsListComponent } from './documents-list/documents-list.component';\r\nimport { DocumentItemComponent } from './document-item/document-item.component';\r\nimport { HelpModule } from '../help/help.module';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatButtonModule } from '@angular/material';\r\nimport { DocumentsRouting } from './documents.routing';\r\nimport { DocumentsSearchComponent } from './documents-search/documents-search.component'\r\nimport { EditDocumentComponent } from './edit-document/edit-document.component';\r\nimport { MyAldUiModule } from 'app/shared/ui/myald-ui/myald-ui.module';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DocumentsRouting,\r\n SharedModule,\r\n TranslateModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatMenuModule,\r\n MatCardModule,\r\n MatGridListModule,\r\n MatButtonModule,\r\n HelpModule,\r\n MyAldUiModule,\r\n ],\r\n declarations: [\r\n DocumentsComponent,\r\n DocumentsListComponent,\r\n DocumentItemComponent,\r\n AddDocumentComponent,\r\n DocumentsSearchComponent,\r\n EditDocumentComponent,\r\n ],\r\n providers: [\r\n DocumentsService\r\n ],\r\n})\r\nexport class DocumentsModule {\r\n}\r\n","import { DocumentsComponent } from './documents.component';\r\nimport { AddDocumentComponent } from './add-document/add-document.component';\r\nimport { MorePersonalInformationComponent } from '../shared/app-menu/more-personal-information/more-personal-information.component';\r\nimport { HelpComponent } from '../help/help.component';\r\nimport { ContractStatusGuard } from '../driver/shared/contract/guards/contract-status-guard.service';\r\nimport { HelpGenericComponent } from '../help/help-generic/help-generic.component';\r\nimport { ContractStatusExcludeGuard } from '../driver/shared/contract/guards/contract-status-exclude-guard.service';\r\nimport { MoreResetPasswordComponent } from '../shared/app-menu/more-reset-password/more-reset-password.component';\r\nimport { MyPreferencesComponent } from 'app/shared/app-menu/my-preferences/my-preferences.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { EditDocumentComponent } from './edit-document/edit-document.component';\r\nimport { FeatureService } from 'app/shared/feature/feature.service';\r\n\r\n\r\nconst ROUTES = [\r\n {\r\n path: '',\r\n component: DocumentsComponent,\r\n children: [\r\n {\r\n path: 'add-other',\r\n component: AddDocumentComponent,\r\n },\r\n {\r\n path: 'edit/:id',\r\n component: EditDocumentComponent,\r\n canActivate: [FeatureService],\r\n },\r\n {\r\n path: 'personal-informations',\r\n component: MorePersonalInformationComponent,\r\n },\r\n {\r\n path: 'preferences',\r\n component: MyPreferencesComponent,\r\n },\r\n {\r\n path: 'reset-password',\r\n component: MoreResetPasswordComponent,\r\n },\r\n {\r\n path: 'help',\r\n component: HelpComponent,\r\n canActivate: [ContractStatusGuard],\r\n data: {\r\n status: ['active']\r\n }\r\n },\r\n {\r\n path: 'assistance',\r\n component: HelpGenericComponent,\r\n canActivate: [ContractStatusExcludeGuard],\r\n data: {\r\n status: ['active'],\r\n acceptProspect: true\r\n }\r\n },\r\n ]\r\n }\r\n ];\r\n\r\n export const DocumentsRouting = RouterModule.forChild(ROUTES);\r\n","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n {{'documents-edit_panel-edit_document' | translate}}\\r\\n

\\r\\n {{ \\\"global-generic_terms-mandatory_fields_hint\\\" | translate }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ form.controls.title.value.length }} / 61\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n {{ form.controls.comment.value.length }} / 150\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{'documents-edit_panel-share_document'| translate}}\\r\\n

\\r\\n \\r\\n >\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'documents-edit_panel-send_button' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.document-loading {\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%); }\\n.edit-document-title {\\n margin: 1.25em auto 0.75em auto; }\\n.edit-document-placeholder {\\n color: #525252;\\n margin-bottom: 40px; }\\n.edit-document-name {\\n display: block;\\n margin-top: 20px;\\n margin-bottom: 15px; }\\n.edit-document-fleet {\\n padding-top: 20px;\\n margin: 20px 0; }\\n.edit-document-fleet-title {\\n font-weight: 600;\\n font-size: 24px;\\n font-family: \\\"montserrat\\\", Arial, sans-serif; }\\n.edit-document-legal {\\n margin-bottom: 20px; }\\n.edit-document-legal-label {\\n text-align: justify;\\n margin-bottom: 20px; }\\n.edit-document-actions {\\n text-align: center; }\\n.edit-document-actions button:first-child {\\n margin-right: 30px; }\\n@media (max-width: 700px) and (max-height: 800px) {\\n .edit-document-actions {\\n position: relative;\\n bottom: unset;\\n right: unset; } }\\n:host ::ng-deep .form-fullwidth {\\n width: 100%; }\\n:host ::ng-deep .edit-document-actions :last-child .button {\\n background-color: #00cfff !important; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZG9jdW1lbnRzL2VkaXQtZG9jdW1lbnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2VkaXQtZG9jdW1lbnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9lZGl0LWRvY3VtZW50L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9lZGl0LWRvY3VtZW50L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2VkaXQtZG9jdW1lbnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvZG9jdW1lbnRzL2VkaXQtZG9jdW1lbnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvZWRpdC1kb2N1bWVudC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcZG9jdW1lbnRzXFxlZGl0LWRvY3VtZW50XFxlZGl0LWRvY3VtZW50LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9kb2N1bWVudHMvZWRpdC1kb2N1bWVudC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2RvY3VtZW50cy9lZGl0LWRvY3VtZW50L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF92YXJzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0d2QztFQUNFLG1CQUFrQjtFQUNsQixVQUFTO0VBQ1QsU0FBUTtFQUNSLGlDQUFnQyxFQUNqQztBQUdDO0VBQ0UsZ0NBQStCLEVBQ2hDO0FBRUQ7RUFDSSxlQ01hO0VETGIsb0JBQW1CLEVBQ3RCO0FBRUQ7RUFDRSxlQUFjO0VBQ2QsaUJBQWdCO0VBQ2hCLG9CQUFtQixFQUNwQjtBQUVEO0VBQ0Usa0JBQWlCO0VBQ2pCLGVBQWMsRUFPZjtBQUxDO0lBQ0UsaUJBQWdCO0lBQ2hCLGdCQUFlO0lBQ2YsNkNFMUJnRCxFRjJCakQ7QUFHSDtFQUNFLG9CQUFtQixFQUtwQjtBQUpDO0lBQ0ksb0JBQW1CO0lBQ25CLG9CQUFtQixFQUN0QjtBQUdIO0VBQ0UsbUJBQWtCLEVBVW5CO0FBWEE7SUFHSyxtQkFBa0IsRUFDckI7QUFFRDtJQU5GO01BT0ksbUJBQWtCO01BQ2xCLGNBQWE7TUFDYixhQUFZLEVBRWYsRUFBQTtBQUdIO0VBQ0ksWUFBVyxFQUNkO0FBRUQ7RUFDSSxxQ0FBa0UsRUFDckUiLCJmaWxlIjoic3JjL2FwcC9kb2N1bWVudHMvZWRpdC1kb2N1bWVudC9lZGl0LWRvY3VtZW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuXHJcbi5kb2N1bWVudC1sb2FkaW5nIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4uZWRpdC1kb2N1bWVudCB7XHJcbiAgJi10aXRsZSB7XHJcbiAgICBtYXJnaW46IDEuMjVlbSBhdXRvIDAuNzVlbSBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJi1wbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS04MDAnKTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICB9XHJcblxyXG4gICYtbmFtZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgJi1mbGVldCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG5cclxuICAgICYtdGl0bGUge1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGxpbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWxlZ2FsIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAmLWxhYmVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLWFjdGlvbnMge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYnV0dG9uOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSBhbmQgKG1heC1oZWlnaHQ6IDgwMHB4KSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYm90dG9tOiB1bnNldDtcclxuICAgICAgcmlnaHQ6IHVuc2V0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5mb3JtLWZ1bGx3aWR0aCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5lZGl0LWRvY3VtZW50LWFjdGlvbnMgOmxhc3QtY2hpbGQgLmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIi8vIyMgR2VuZXJhbFxyXG4kY2RuLWZvbnQtcGF0aDogJ2ZvbnRzJztcclxuJGNkbi1pY29uLXBhdGg6ICdpY29ucyc7XHJcblxyXG5cclxuLy8gIyMgRm9udHNcclxuJGZvbnQtZmFtaWx5OiAnc291cmNlLXNhbnMnLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LWhlYWRsaW5lOiAnbW9udHNlcnJhdCcsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gIyBHZW5lcmFsIGVsZW1lbnRzIHN0eWxlc1xyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiRib3gtc2hhZG93LW1lZGl1bTogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Nik7XHJcbiRib3gtc2hhZG93LWxpZ2h0OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjk4KTtcclxuJGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHJcbi8vICMjIE5hdmlnYXRpb25cclxuJG5hdmlnYXRpb24td2lkdGg6IDI2MHB4O1xyXG4kbmF2aWdhdGlvbi1tb2JpbGUtaGVpZ2h0OiA1MHB4O1xyXG5cclxuLy8gIyMgTGF5b3V0XHJcbiRjb250ZW50LXBhZGRpbmc6IDUwcHg7XHJcbiRjb250ZW50LXBhZGRpbmctbW9iaWxlOiAyMHB4O1xyXG5cclxuXHJcblxyXG4iXX0= */\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { PopinService } from '../../shared/ui/popin.service';\r\nimport { DriverService } from 'app/driver/shared/driver.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Observable, BehaviorSubject, combineLatest } from 'rxjs';\r\nimport { map, takeWhile, filter, tap, skip } from 'rxjs/operators';\r\nimport { Document } from '../shared/models/document.model';\r\nimport { InputChoice } from 'app/shared/models/input-choice.model';\r\nimport { FleetManagerLight } from '../shared/models/fleet-manager-light.model';\r\nimport { DocumentSharedWithUsersModelLight } from '../shared/models/document-shared-with-users-light.model';\r\nimport { DocumentsEffects } from '../shared/documents.effects';\r\nimport { EditDocumentDto } from '../shared/models/edit-document-dto.models';\r\nimport { TranslationService } from 'app/shared/translation/translation.service';\r\nimport { Driver } from 'app/driver/shared/models/driver.model';\r\nimport { DocumentsCategory } from '../shared/enums/documents-category';\r\nimport { APP_ROUTES } from 'app/app.routes';\r\n\r\n@Component({\r\n selector: 'app-edit-document',\r\n templateUrl: './edit-document.component.html',\r\n styleUrls: ['./edit-document.component.scss']\r\n})\r\nexport class EditDocumentComponent implements OnInit, OnDestroy {\r\n public isLoading: boolean;\r\n public form: FormGroup;\r\n public document: Document;\r\n public availableFleetManagers$: Observable = new Observable();\r\n private driver: Driver;\r\n private isComponentActive = true;\r\n public isDocumentLoading$: BehaviorSubject = new BehaviorSubject(true);\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n public popinService: PopinService,\r\n private driverService: DriverService,\r\n private documentEffects: DocumentsEffects,\r\n private translationService: TranslationService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute, ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n title: ['', Validators.required],\r\n comment: new FormControl('', []),\r\n fleetManagers: new FormControl([], []),\r\n legal: new FormControl(false, []),\r\n });\r\n\r\n this.form.get('fleetManagers').valueChanges.pipe(\r\n skip(1),\r\n takeWhile(() => this.isComponentActive),\r\n ).subscribe((data) => {\r\n data.length ? this.form.get('legal').setValidators([Validators.requiredTrue])\r\n : this.form.get('legal').setValidators([]);\r\n this.form.get('legal').updateValueAndValidity();\r\n\r\n this.form.get('fleetManagers').markAsDirty();\r\n });\r\n\r\n combineLatest([\r\n this.documentEffects.documents$.pipe(\r\n takeWhile(() => this.isComponentActive),\r\n filter(d => !!d),\r\n tap((documents: Document[]) => {\r\n this.document = documents.find(d => d.id === this.activatedRoute.snapshot.paramMap.get('id'));\r\n if (this.document.category.name !== DocumentsCategory.PERSONAL_DOCUMENT) {\r\n this.router.navigate([APP_ROUTES.DOCUMENTS]);\r\n } else {\r\n const documentUserIDs = this.document.users.map(u => u.userId);\r\n this.updateView();\r\n this.availableFleetManagers$ = this.driverService.getFleetManagers().pipe(\r\n map(fleetsManagers => FleetManagerLight.toInputChoice(fleetsManagers.filter((fleet: FleetManagerLight) => !documentUserIDs.includes(fleet.id)))\r\n )\r\n );\r\n this.isDocumentLoading$.next(false);\r\n }\r\n }\r\n ),\r\n ),\r\n this.driverService.driverStream.pipe(\r\n tap((driver: Driver) => this.driver = driver)\r\n ),\r\n ]).subscribe();\r\n this.popinService.opened(true);\r\n }\r\n\r\n private updateView(): void {\r\n this.form.get('title').setValue(this.document.title);\r\n this.form.get('comment').setValue(this.document.comment);\r\n this.form.get('fleetManagers').setValue(FleetManagerLight.toInputChoice(DocumentSharedWithUsersModelLight.toFleetManager(this.document.users)));\r\n }\r\n\r\n public onSubmit() {\r\n this.isLoading = true;\r\n const editDocumentRequest: EditDocumentDto = this.constructDataToSend();\r\n const documentSharedModelWith = DocumentSharedWithUsersModelLight.toDocumentSharedWithUsersModel(this.form.get('fleetManagers').value);\r\n this.documentEffects.editDocumentAction(this.document.id, editDocumentRequest, documentSharedModelWith)\r\n .subscribe(() => {\r\n this.isLoading = false;\r\n this.popinService.opened(false);\r\n },\r\n () => {\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.popinService.opened(false);\r\n this.isComponentActive = false;\r\n }\r\n\r\n public onBackClick() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n private constructDataToSend(): EditDocumentDto {\r\n const fleetManagers = this.form.get('fleetManagers').value;\r\n return {\r\n documentId: this.document.id,\r\n categoryId: this.document.category.id,\r\n title: this.form.get('title').value,\r\n comment: this.form.get('comment').value,\r\n culture : this.translationService.language,\r\n roles: fleetManagers.length ? ['FleetManager'] : [],\r\n companyIds: [this.driver.client.id],\r\n userIds: fleetManagers.length ? fleetManagers.map(fleetManager => fleetManager.value) : []\r\n } as EditDocumentDto;\r\n }\r\n}\r\n","import { environment } from 'environments/environment';\r\n\r\nexport const DocumentsConst = {\r\n name: 'documents',\r\n api: {\r\n baseUrl: `${environment.apigatewayUrl}/apigateway/`,\r\n modules: {\r\n documents: {\r\n url: 'documentmanagement/api/',\r\n endpoints: {\r\n GetDocuments: 'Documents/',\r\n GetDocument: 'Information/',\r\n CreateDocument: 'Documents/',\r\n DeleteDocuments: 'Documents/Delete/',\r\n DownloadDocuments: 'Documents/',\r\n GetCategories: 'Category/',\r\n },\r\n },\r\n },\r\n },\r\n maximumFileSize: 15728640,\r\n fileFormats: '.pdf,.doc,.docx,.odt,.xls,.xlsx,.ods,.ppt,.pptx,.png,.jpeg,.png,.jpg,.gif'\r\n};\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { Document } from './models/document.model';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport { map, finalize, catchError, filter, tap } from 'rxjs/operators';\r\nimport { DocumentSharedWithUsersModelLight } from './models/document-shared-with-users-light.model';\r\nimport { SnackbarService } from 'app/shared/snackbar/snackbar.service';\r\nimport { DocumentsService } from './documents.service';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\nimport { DocumentsCategory } from './enums/documents-category';\r\nimport { EditDocumentDto } from './models/edit-document-dto.models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocumentsEffects {\r\n\r\n public documents$: BehaviorSubject = new BehaviorSubject(null);\r\n public isDocumentsLoading$: BehaviorSubject = new BehaviorSubject(true);\r\n public hasDocumentsError$: BehaviorSubject = new BehaviorSubject(false);\r\n public searchQuery$: BehaviorSubject = new BehaviorSubject('');\r\n\r\n constructor(\r\n private documentsService: DocumentsService,\r\n private gtmService: GtmService,\r\n private snackBarService: SnackbarService) {\r\n }\r\n\r\n public getDocumentsAction(): Observable {\r\n return this.documentsService.getDocuments().pipe(\r\n map((documents: Document[]) => {\r\n this.documents$.next(documents);\r\n return documents;\r\n }),\r\n finalize(() => {\r\n this.isDocumentsLoading$.next(false);\r\n }),\r\n catchError((error) => {\r\n this.hasDocumentsError$.next(error);\r\n return of(error);\r\n })\r\n );\r\n }\r\n\r\n public downloadDocumentAction(documentID: string): Observable {\r\n return this.documentsService.getDocumentById(documentID).pipe(\r\n filter(documentUrl => !!documentUrl),\r\n map((documentUrl) => {\r\n this.gtmService.sendEvent(GTM_EVENTS.downloadDocument, 'download document');\r\n return documentUrl;\r\n }),\r\n catchError((error) => {\r\n this.snackBarService.error('documents-documents_list-download_document_snackbar_error');\r\n return of(error);\r\n })\r\n );\r\n }\r\n\r\n public uploadDocumentAction(formData, documentSharedModelWith: DocumentSharedWithUsersModelLight[]): Observable {\r\n return this.documentsService.uploadDocument(formData).pipe(\r\n map((id: string) => {\r\n const document: Document = {\r\n id: id,\r\n creationDate: new Date().toISOString(),\r\n category: {\r\n name: DocumentsCategory.PERSONAL_DOCUMENT,\r\n },\r\n title: JSON.parse(formData.get('fileData')).title,\r\n comment: JSON.parse(formData.get('fileData')).comment,\r\n type: formData.get('file').type,\r\n fileName: formData.get('file').name,\r\n users: documentSharedModelWith\r\n } as unknown as Document;\r\n const currentDocument = this.documents$.getValue();\r\n this.documents$.next(currentDocument ? [...[document], ...currentDocument] : [document]);\r\n this.gtmService.sendEvent(GTM_EVENTS.uploadDocument);\r\n this.snackBarService.success('documents-documents_list-upload_document_snackbar_success');\r\n return id;\r\n }),\r\n catchError((error) => {\r\n this.snackBarService.error('documents-documents_list-upload_document_snackbar_error');\r\n return of(error);\r\n }));\r\n }\r\n\r\n public editDocumentAction(documentID: string, document: EditDocumentDto, sharedWith: DocumentSharedWithUsersModelLight[]): Observable {\r\n return this.documentsService.editDocument(document).pipe(\r\n tap(() => {\r\n const documents = [...this.documents$.getValue()];\r\n const updatedDocumentList: Document[] = documents.map((value) => {\r\n if (value.id === documentID) {\r\n value.users = sharedWith;\r\n value.title = document.title;\r\n value.comment = document.comment;\r\n }\r\n return value;\r\n });\r\n this.documents$.next([...updatedDocumentList]);\r\n this.snackBarService.success('documents-documents_list-edit_document_snackbar_success');\r\n }),\r\n catchError((error) => {\r\n this.snackBarService.error('documents-documents_list-edit_document_snackbar_error');\r\n return of(error);\r\n }));\r\n }\r\n\r\n public deleteDocumentAction(documentId: string | number): Observable {\r\n this.snackBarService.loading('documents-documents_list-delete_document_snackbar_loading');\r\n return this.documentsService.deleteDocument(documentId).pipe(\r\n map(() => {\r\n this.snackBarService.success('documents-documents_list-delete_document_snackbar_success');\r\n this.documents$.next(this.documents$.getValue().filter(d => d.id !== documentId));\r\n }),\r\n catchError((error) => {\r\n this.snackBarService.error('documents-documents_list-delete_document_snackbar_error');\r\n return of(error);\r\n })\r\n )\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Document } from './models/document.model';\r\nimport { DocumentsConst } from './documents.const';\r\nimport { HttpService } from 'app/shared/helper/http.service';\r\nimport { EditDocumentDto } from './models/edit-document-dto.models';\r\n\r\n@Injectable()\r\nexport class DocumentsService {\r\n\r\n constructor(private httpService: HttpService) {}\r\n\r\n public getDocuments(): Observable {\r\n const documentsModule = DocumentsConst.api.modules.documents;\r\n const url = DocumentsConst.api.baseUrl + documentsModule.url + documentsModule.endpoints.GetDocuments;\r\n return this.httpService.getNoCache(url);\r\n }\r\n\r\n public getDocumentById(id: string): Observable {\r\n const documentsModule = DocumentsConst.api.modules.documents;\r\n const url = DocumentsConst.api.baseUrl + documentsModule.url + documentsModule.endpoints.DownloadDocuments + id;\r\n\r\n return this.httpService.get(url);\r\n }\r\n\r\n public uploadDocument(formData): Observable {\r\n const documentsModule = DocumentsConst.api.modules.documents;\r\n const url = DocumentsConst.api.baseUrl + documentsModule.url + documentsModule.endpoints.CreateDocument;\r\n return this.httpService.postFile(url, formData);\r\n }\r\n\r\n public editDocument(document: EditDocumentDto): Observable {\r\n const documentsModule = DocumentsConst.api.modules.documents;\r\n const url = DocumentsConst.api.baseUrl + documentsModule.url + documentsModule.endpoints.CreateDocument;\r\n return this.httpService.put(url, document);\r\n }\r\n\r\n public deleteDocument(documentId: string | number): Observable {\r\n const body = [documentId];\r\n const documentsModule = DocumentsConst.api.modules.documents;\r\n const url = DocumentsConst.api.baseUrl + documentsModule.url + documentsModule.endpoints.DeleteDocuments;\r\n return this.httpService.post(url, body);\r\n }\r\n}\r\n","export enum DocumentsActionsIcon {\r\n DOWNLOAD_ICON = 'download',\r\n DELETE_ICON = 'trash-2',\r\n SHARE_ICON = 'share-2',\r\n}\r\n","export enum DocumentsCategory {\r\n PERSONAL_DOCUMENT = 'personal_document',\r\n DRIVER_DOCUMENTS = 'driver_documents'\r\n}\r\n","import { InputChoice } from 'app/shared/models/input-choice.model';\r\nimport { FleetManagerLight } from './fleet-manager-light.model';\r\n\r\nexport class DocumentSharedWithUsersModelLight {\r\n userId: string;\r\n name: string;\r\n\r\n static toDocumentSharedWithUsersModel(inputChoices: InputChoice[]): DocumentSharedWithUsersModelLight[] {\r\n if (!inputChoices) {\r\n return [];\r\n }\r\n return inputChoices.map((inputChoice) => {\r\n return {\r\n name: inputChoice.label,\r\n userId: inputChoice.value\r\n };\r\n });\r\n }\r\n\r\n static toFleetManager(documents: DocumentSharedWithUsersModelLight[]): FleetManagerLight[] {\r\n if (!documents) {\r\n return [];\r\n }\r\n return documents.map((doc) => {\r\n return {\r\n id: doc.userId,\r\n name: doc.name,\r\n email: ''\r\n };\r\n });\r\n }\r\n}\r\n","import { InputChoice } from 'app/shared/models/input-choice.model';\r\n\r\nexport class FleetManagerLight {\r\n id: string;\r\n name: string;\r\n email: string;\r\n\r\n static toInputChoice(fleetManagers: FleetManagerLight[]): InputChoice[] {\r\n if (!fleetManagers) {\r\n return [];\r\n }\r\n return fleetManagers.map((fleet) => {\r\n return {\r\n label: fleet.name,\r\n value: fleet.id,\r\n };\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { DriverService } from './shared/driver.service';\r\nimport { ContractService } from './shared/contract/contract.service';\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule\r\n ],\r\n providers: [\r\n DriverService,\r\n ContractService\r\n ]\r\n})\r\nexport class DriverModule {\r\n}\r\n","import ContractStatus from '../../../cars/shared/cars.contractstatus';\r\n\r\nexport const ContractConsolidatedStatus = {\r\n Active: [\r\n ContractStatus.VehicleOnRoad,\r\n ContractStatus.ContractTerminating,\r\n ],\r\n Order: [\r\n ContractStatus.ContractOrder,\r\n ContractStatus.CommandSaved,\r\n ContractStatus.CommandConfirmed,\r\n ContractStatus.VehicleDelivered,\r\n ContractStatus.VehicleFactored,\r\n ContractStatus.VehicleRegistered,\r\n ContractStatus.VehicleReturned\r\n ],\r\n Terminated: [\r\n ContractStatus.ContractTerminated,\r\n ContractStatus.VehicleSold,\r\n ]\r\n};\r\n\r\nexport enum ContractConsolidatedStatusType {\r\n Active,\r\n Order,\r\n Terminated\r\n}\r\n","import { Contract } from '../models/contract.model';\r\nimport { ContractConsolidatedStatus, ContractConsolidatedStatusType } from './contract-status.const';\r\nimport { CarMake } from '../models/car-make.model';\r\n\r\nexport function contractsContainsStatusOfType(contracts: Contract[], status: ContractConsolidatedStatusType): boolean {\r\n return contracts.some((contract) => {\r\n return contractIsStatusOfType(contract, status);\r\n });\r\n}\r\n\r\n// TODO contract type is any for now as we test status or contractStatus. It should be UserRoleContract\r\nexport function contractIsStatusOfType(contract: any, status: ContractConsolidatedStatusType): boolean {\r\n const consStatus = ContractConsolidatedStatusType[status];\r\n return ContractConsolidatedStatus[consStatus].includes(contract.status) || ContractConsolidatedStatus[consStatus].includes(contract.contractStatus);\r\n}\r\n\r\nexport function carMakeIsStatusOfType(carMake: CarMake, status: ContractConsolidatedStatusType): boolean {\r\n const consolidatedStatus = ContractConsolidatedStatusType[status];\r\n return ContractConsolidatedStatus[consolidatedStatus].includes(carMake.stateName);\r\n}\r\n\r\nexport function contractConsolidatedStatusFromString(status: string) {\r\n if (status === null || status === undefined) {\r\n return undefined;\r\n }\r\n\r\n switch (status.toLowerCase().trim()) {\r\n case 'active':\r\n return ContractConsolidatedStatusType.Active;\r\n case 'order':\r\n return ContractConsolidatedStatusType.Order;\r\n case 'terminated':\r\n return ContractConsolidatedStatusType.Terminated;\r\n default:\r\n return undefined;\r\n }\r\n}\r\n","import { environment } from 'environments/environment';\r\n\r\nexport const ContractConst = {\r\n api: {\r\n baseUrl: `${environment.apigatewayUrl}/apigateway/contract/api/`,\r\n modules: {\r\n customer: {\r\n url: 'customer/',\r\n endpoints: {\r\n contract: 'contract',\r\n carpicture: 'carpicture',\r\n carpictureUpdate: 'carpicture/update',\r\n buyvehicle: 'buyvehicle',\r\n fuelcardpin: 'driver/fuelcardpin',\r\n },\r\n },\r\n contract: {\r\n url: 'contract/',\r\n endpoints: {\r\n maintenanceHistory: 'maintenanceHistory/',\r\n updateMileage: 'UpdateMileage',\r\n fuelHistory: 'FuelCardHistory/',\r\n },\r\n },\r\n },\r\n }\r\n};\r\n\r\nexport enum UpdateMileageStatus {\r\n Success = 'Success',\r\n Invalid = 'InvalidData',\r\n Error = 'Error',\r\n}\r\n","import { Session } from '../../../shared/common/api.settings';\r\nimport { Injectable } from '@angular/core';\r\nimport { RequestParameter } from '../../../shared/common/request-parameter.model';\r\nimport { ContractConst } from './contract.const';\r\nimport { AppStorageService } from '../../../shared/storage/common/app-storage.service';\r\nimport { ApiService } from '../../../shared/common/api.service';\r\nimport { Observable } from 'rxjs';\r\nimport { MaintenanceItem } from '../../../cars/shared/maintenance-item.model';\r\nimport { FuelHistory } from '../../../cars/shared/fuel-history.model';\r\n\r\n@Injectable()\r\nexport class ContractService {\r\n\r\n private _carsPictures = [];\r\n private _currentContractId = null;\r\n\r\n constructor(\r\n private api: ApiService,\r\n private appStorageService: AppStorageService\r\n ) {\r\n }\r\n\r\n get currentContractId() {\r\n return this._currentContractId;\r\n }\r\n\r\n set currentContractId(currentContractId) {\r\n this._currentContractId = currentContractId;\r\n }\r\n\r\n updateMileage(contractId: string, mileage: number): Promise {\r\n const params = {\r\n 'ContractId': contractId,\r\n 'Mileage': mileage\r\n };\r\n\r\n const url = ContractConst.api.baseUrl + ContractConst.api.modules.contract.url + ContractConst.api.modules.contract.endpoints.updateMileage;\r\n\r\n return this.api.post(url, params).toPromise()\r\n .then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n buyVehicle(contractId: string, dateOfPurchase: string, details?: string): Promise {\r\n\r\n const params: RequestParameter[] = [];\r\n params.push(new RequestParameter('driverId', Session.DRIVER_ID));\r\n params.push(new RequestParameter('contractId', contractId));\r\n params.push(new RequestParameter('dateOfPurchase', dateOfPurchase));\r\n if (details) {\r\n params.push(new RequestParameter('details', details));\r\n }\r\n const url = ContractConst.api.baseUrl + ContractConst.api.modules.customer.url + ContractConst.api.modules.customer.endpoints.buyvehicle;\r\n\r\n return this.api.post(url, params).toPromise()\r\n .then(response => {\r\n return response.status === 200 && response.json();\r\n });\r\n\r\n }\r\n\r\n getFuelCardPin(contractId: string, password: string, number: string): Promise {\r\n\r\n const params: RequestParameter[] = [];\r\n params.push(new RequestParameter('driverId', Session.DRIVER_ID));\r\n params.push(new RequestParameter('contractId', contractId));\r\n params.push(new RequestParameter('password', password));\r\n params.push(new RequestParameter('number', number));\r\n\r\n const url = ContractConst.api.baseUrl + ContractConst.api.modules.customer.url + ContractConst.api.modules.customer.endpoints.fuelcardpin;\r\n\r\n return this.api.post(url, params).toPromise()\r\n .then(response => {\r\n return response.json().value;\r\n });\r\n\r\n }\r\n\r\n public getMaintenanceHistory(contractID: string): Observable {\r\n const url = ContractConst.api.baseUrl + ContractConst.api.modules.contract.url + ContractConst.api.modules.contract.endpoints.maintenanceHistory + contractID;\r\n return this.api.get(url);\r\n }\r\n\r\n public getFuelHistory(contractID: string): Observable {\r\n const url = ContractConst.api.baseUrl + ContractConst.api.modules.contract.url + ContractConst.api.modules.contract.endpoints.fuelHistory + contractID;\r\n return this.api.get(url);\r\n }\r\n}\r\n","import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\r\nimport { DriverService } from '../../driver.service';\r\nimport {\r\n contractConsolidatedStatusFromString,\r\n contractsContainsStatusOfType\r\n} from '../contract-status.helper';\r\nimport { Injectable } from '@angular/core';\r\nimport { ContractService } from '../contract.service';\r\nimport { ContractStatusGuard } from './contract-status-guard.service';\r\nimport { ProspectAccessService } from '../../../../shared/authentication/prospect-access.service';\r\nimport { Observable } from 'rxjs';\r\nimport { of } from 'rxjs/observable/of';\r\nimport { mergeMap } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ContractStatusExcludeGuard extends ContractStatusGuard implements CanActivate {\r\n\r\n constructor(\r\n protected driverService: DriverService,\r\n protected contractService: ContractService,\r\n protected prospectAccessService: ProspectAccessService) {\r\n super(driverService, contractService, prospectAccessService);\r\n }\r\n\r\n public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n if (!route.data) {\r\n return of(false);\r\n }\r\n return this.driverService.driver.pipe(\r\n mergeMap((driver) => {\r\n return this.prospectAccessService.canActivate(route, state)\r\n .map((isProspectAllowed) => {\r\n if (isProspectAllowed !== null) {\r\n return isProspectAllowed;\r\n }\r\n const authorizedStatus = route.data['status'];\r\n if (!authorizedStatus) {\r\n return false;\r\n }\r\n\r\n const contracts = this.selectContract(route.data, driver);\r\n\r\n if (Array.isArray(authorizedStatus)) {\r\n let authorized = true;\r\n let oneStatusExists = false;\r\n authorizedStatus.forEach(status => {\r\n const expectedStatus = contractConsolidatedStatusFromString(status);\r\n if (expectedStatus !== undefined) {\r\n oneStatusExists = true;\r\n authorized = authorized && !contractsContainsStatusOfType(contracts, expectedStatus);\r\n }\r\n });\r\n return oneStatusExists ? authorized : false;\r\n } else {\r\n const expectedStatus = contractConsolidatedStatusFromString(authorizedStatus);\r\n return expectedStatus !== undefined ? !contractsContainsStatusOfType(contracts, expectedStatus) : false;\r\n }\r\n });\r\n }),\r\n )\r\n }\r\n}\r\n","import { ActivatedRouteSnapshot, CanActivate, Data, RouterStateSnapshot } from '@angular/router';\r\nimport { DriverService } from '../../driver.service';\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n contractConsolidatedStatusFromString,\r\n contractsContainsStatusOfType\r\n} from '../contract-status.helper';\r\nimport { Contract } from '../../models/contract.model';\r\nimport { ContractService } from '../contract.service';\r\nimport { ProspectAccessService } from '../../../../shared/authentication/prospect-access.service';\r\nimport { Observable } from 'rxjs';\r\nimport { of } from 'rxjs/observable/of';\r\nimport { mergeMap} from 'rxjs/operators';\r\nimport { Driver } from '../../models/driver.model';\r\n\r\n@Injectable()\r\nexport class ContractStatusGuard implements CanActivate {\r\n\r\n constructor(protected driverService: DriverService,\r\n protected contractService: ContractService,\r\n protected prospectAccessService: ProspectAccessService) {\r\n }\r\n\r\n public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n if (!route.data) {\r\n return of(false);\r\n }\r\n const authorizedStatus = route.data['status'];\r\n return this.driverService.driver.pipe(\r\n mergeMap((driver) => {\r\n if (!driver) {\r\n return of(false);\r\n }\r\n return this.prospectAccessService.canActivate(route, state).map((isProspectAllowed) => {\r\n if (isProspectAllowed !== null) {\r\n return isProspectAllowed;\r\n }\r\n if (!authorizedStatus) {\r\n return false;\r\n }\r\n\r\n const contracts = this.selectContract(route.data, driver);\r\n\r\n if (Array.isArray(authorizedStatus)) {\r\n let authorized = false;\r\n authorizedStatus.forEach(status => {\r\n const expectedStatus = contractConsolidatedStatusFromString(status);\r\n if (expectedStatus !== undefined) {\r\n authorized = authorized || contractsContainsStatusOfType(contracts, expectedStatus);\r\n }\r\n });\r\n return authorized;\r\n } else {\r\n const expectedStatus = contractConsolidatedStatusFromString(authorizedStatus);\r\n return expectedStatus !== undefined ? contractsContainsStatusOfType(contracts, expectedStatus) : false;\r\n }\r\n });\r\n }),\r\n );\r\n }\r\n\r\n protected selectContract(data: Data, driver: Driver): Contract[] {\r\n if (data['singleContract'] && data['singleContract'] === true) {\r\n const contract = driver.contracts.find(c => c.id === this.contractService.currentContractId);\r\n if (contract !== undefined) {\r\n return [contract];\r\n }\r\n }\r\n return driver.contracts;\r\n }\r\n}\r\n","import { environment } from 'environments/environment';\r\n\r\nexport const DriverConst = {\r\n api: {\r\n contractbase: environment.apigatewayUrl + '/apigateway/Contract/api/Customer/',\r\n userbase: environment.apigatewayUrl + '/apigateway/User/api/users/',\r\n userManagementBase: environment.apigatewayUrl + '/apigateway/usermanagement/api/',\r\n endpoints: {\r\n update: 'update',\r\n updateEnterpriseinfo: 'enterpriseinfo/update',\r\n updatePassword: 'updatepassword',\r\n driverInfo: 'GetUserProfile',\r\n updateUser: 'User/UserProfile',\r\n GetFleetManagers: 'User/FleetManagers',\r\n }\r\n }\r\n};\r\n\r\nexport enum UserRoles {\r\n Driver = 'Driver',\r\n FleetManager = 'FleetManager',\r\n Prospect = 'Prospect',\r\n Commercial = 'Commercial',\r\n Administrator = 'Administrator',\r\n Supplier = 'Supplier',\r\n}\r\n","import { RequestParameter } from '../../shared/common/request-parameter.model';\r\nimport { Driver } from './models/driver.model';\r\nimport { Session } from '../../shared/common/api.settings';\r\nimport { Injectable } from '@angular/core';\r\nimport { OnErrorService } from '../../shared/ui/on-error.service';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { UserService } from '../../shared/user/user.service';\r\nimport { DriverConst } from './driver.const';\r\nimport { ApiService } from '../../shared/common/api.service';\r\nimport { FeatureService } from 'app/shared/feature/feature.service';\r\nimport { UserManagementService } from 'app/shared/user/userManagement.service';\r\nimport { TranslationStorageService } from 'app/shared/storage/translation/translation-storage.service';\r\nimport { FleetManagerLight } from 'app/documents/shared/models/fleet-manager-light.model';\r\nimport { UserProfile } from './models/user-profile.model';\r\nimport { UserRole } from './models/user-role.model';\r\nimport { UserRoles } from '../../shared/user/userRoles.const';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class DriverService {\r\n\r\n public driverStream;\r\n public firstContractId: string;\r\n private _driver: Driver;\r\n public newDriverStream;\r\n private _newDriver: UserProfile;\r\n\r\n constructor(\r\n private router: Router,\r\n private api: ApiService,\r\n private userService: UserService,\r\n private onErrorService: OnErrorService,\r\n public featureService: FeatureService,\r\n private userManagementService: UserManagementService,\r\n private translationStorage: TranslationStorageService) {\r\n this.driverStream = new BehaviorSubject(this._driver);\r\n this.newDriverStream = new BehaviorSubject(this._newDriver);\r\n }\r\n\r\n get driver(): Observable {\r\n if (!this._driver) {\r\n return this.getDriver();\r\n };\r\n\r\n return Observable.of(this._driver);\r\n }\r\n\r\n get newDriver(): Observable {\r\n if (!this._newDriver) {\r\n return this.getNewDriver();\r\n };\r\n const cultureFromStorage = this.translationStorage.lang.toString();\r\n this._driver.culture = cultureFromStorage || 'en-US';\r\n return Observable.of(this._newDriver);\r\n }\r\n\r\n public getNewUserRole(newUserProfile: UserProfile): UserRole {\r\n const newUserRole = newUserProfile.userRoles.find((userRole: UserRole) => {\r\n return (userRole.role.toLocaleLowerCase() === UserRoles.Driver || userRole.role.toLocaleLowerCase() === UserRoles.Prospect)\r\n });\r\n return newUserRole;\r\n }\r\n\r\n public updateEnterpriseInfos(contactLastName: string, contactFirstName: string, contactEmail: string, contactPhone: string) {\r\n const params: RequestParameter[] = [];\r\n params.push(new RequestParameter('driverId', Session.DRIVER_ID));\r\n params.push(new RequestParameter('contactLastName', contactLastName));\r\n params.push(new RequestParameter('contactFirstName', contactFirstName));\r\n params.push(new RequestParameter('contactEmail', contactEmail));\r\n params.push(new RequestParameter('contactPhone', contactPhone));\r\n\r\n return this.api.post(DriverConst.api.endpoints.updateEnterpriseinfo, params)\r\n .map(response => {\r\n return response.json();\r\n });\r\n }\r\n\r\n public updateProfile(payload) {\r\n payload['userGuid'] = this.userService.userId;\r\n return this.api.post(DriverConst.api.userManagementBase + DriverConst.api.endpoints.updateUser, payload)\r\n .map(response => {\r\n });\r\n };\r\n\r\n public getLicensePlates(): string[] {\r\n const licensePlates = [];\r\n\r\n if (this._driver.carMakes) {\r\n this._driver.carMakes.forEach(carMake => {\r\n licensePlates.push(carMake.licensePlate);\r\n });\r\n }\r\n\r\n return licensePlates;\r\n }\r\n\r\n private getDriver(retry = 1): Observable {\r\n return this.userManagementService.getUserProfile().map((response: Driver) => {\r\n this._driver = response;\r\n const cultureFromStorage = this.translationStorage.lang.toString();\r\n this._driver.culture = cultureFromStorage || 'en-US';\r\n\r\n if (this._driver.contracts && this._driver.contracts.length !== 0) {\r\n this.firstContractId = this._driver.contracts[0].id;\r\n }\r\n if (this._driver) {\r\n this.driverStream.next(this._driver);\r\n }\r\n\r\n return this._driver;\r\n }).catch(error => {\r\n if (retry) {\r\n return this.getDriver(--retry);\r\n } else {\r\n if (error.status !== 419) {\r\n this.onErrorService.updateMaintenanceStatus(true);\r\n }\r\n throwError(error);\r\n }\r\n });\r\n }\r\n\r\n private getNewDriver(retry = 1): Observable {\r\n return this.userManagementService.getNewUserProfile().map((response: UserProfile) => {\r\n this._newDriver = response;\r\n if (this._newDriver) {\r\n this.newDriverStream.next(this._newDriver);\r\n }\r\n return this._newDriver;\r\n }).catch(error => {\r\n if (retry) {\r\n return this.getNewDriver(--retry);\r\n } else {\r\n if (error.status !== 419) {\r\n this.onErrorService.updateMaintenanceStatus(true);\r\n }\r\n this.router.navigate(['/user-error']);\r\n throwError(error);\r\n }\r\n });\r\n }\r\n\r\n public clearDriver(): void {\r\n this._driver = null;\r\n this._newDriver = null;\r\n this.driverStream.next(null);\r\n this.newDriverStream.next(null);\r\n }\r\n\r\n public getFleetManagers(): Observable {\r\n return this.api.get(DriverConst.api.userManagementBase + DriverConst.api.endpoints.GetFleetManagers);\r\n }\r\n}\r\n","import { ApiEndpoints } from '../../shared/common/api.settings';\r\n\r\nexport const FeedConst = {\r\n api: {\r\n base: ApiEndpoints.API_ENDPOINT_FEED,\r\n endpoints: {\r\n feedGetAllV2: ApiEndpoints.API_ENDPOINT_FEED_GET_ALL_V2,\r\n feedUpdate: ApiEndpoints.API_ENDPOINT_FEED_UPDATE,\r\n feedRatePos: ApiEndpoints.API_ENDPOINT_FEED_RATEPOS\r\n }\r\n },\r\n STATIC_NUMBER_TEN: 10,\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\nimport { FeedConst } from './feed.const';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport { FeedItem } from './feed-item.model';\r\nimport { HttpService } from 'app/shared/helper/http.service';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { delay, finalize, map } from 'rxjs/operators';\r\nimport { of } from 'rxjs/observable/of';\r\n\r\n@Injectable()\r\nexport class FeedService {\r\n public feeds$: Subject = new Subject();\r\n public isFeedsLoading$: BehaviorSubject = new BehaviorSubject(true);\r\n\r\n constructor(private httpService: HttpService) {\r\n }\r\n\r\n public loadFeeds(): void {\r\n this.isFeedsLoading$.next(true);\r\n this.httpService.getNoCache(\r\n environment.apigatewayUrl + FeedConst.api.endpoints.feedGetAllV2\r\n ).pipe(\r\n delay(200),\r\n map((feeds) => {\r\n this.feeds$.next(feeds ? feeds as FeedItem[] : null);\r\n return of(feeds);\r\n }),\r\n finalize(() => this.isFeedsLoading$.next(false)),\r\n ).subscribe();\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n

{{ 'help-order_damage_repair_panel-form_title'| translate }}

\\r\\n

{{ 'help-order_damage_repair_panel-description'| translate }}

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

{{ 'help-order_damage_repair_panel-extra_information_label'| translate }}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n

{{'global-generic_terms-incorrect_input'| translate}}

\\r\\n

\\r\\n {{'global-generic_terms-generic_server_error'| translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n padding: 0 0 57px 0; }\\n.main-container .form-description {\\n margin: 20px 0; }\\n.main-container .car-replacement-checkbox {\\n margin: 30px 0; }\\n.main-container .details-textarea {\\n display: block;\\n width: 100%;\\n margin-top: 16px;\\n max-width: 375px;\\n height: 90px;\\n border: 1px solid #00cfff;\\n font-weight: 400;\\n font-size: 1.125em;\\n line-height: 1.22222222em; }\\n.main-container .main-title {\\n font-size: 1.875em;\\n line-height: 1.16666667em;\\n font-weight: 500;\\n margin-bottom: 10px; }\\n.main-container p {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n font-weight: 400; }\\n.main-container .submit-container {\\n margin-top: 20px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLW9yZGVyLWRhbWFnZS1yZXBhaXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLW9yZGVyLWRhbWFnZS1yZXBhaXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1hc3Npc3RhbmNlLWZvci1kcml2ZXIvaGVscC1vcmRlci1kYW1hZ2UtcmVwYWlyL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1hc3Npc3RhbmNlLWZvci1kcml2ZXIvaGVscC1vcmRlci1kYW1hZ2UtcmVwYWlyL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLW9yZGVyLWRhbWFnZS1yZXBhaXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLW9yZGVyLWRhbWFnZS1yZXBhaXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyL2hlbHAtb3JkZXItZGFtYWdlLXJlcGFpci9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcaGVscFxcaGVscC1hc3Npc3RhbmNlLWZvci1kcml2ZXJcXGhlbHAtb3JkZXItZGFtYWdlLXJlcGFpclxcb3JkZXItZGFtYWdlLXJlcGFpci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLW9yZGVyLWRhbWFnZS1yZXBhaXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyL2hlbHAtb3JkZXItZGFtYWdlLXJlcGFpci9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLW9yZGVyLWRhbWFnZS1yZXBhaXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxvQkFBbUIsRUF1Q3RCO0FBeENEO0lBSVEsZUFBYyxFQUNqQjtBQUxMO0lBUVEsZUFBYyxFQUNqQjtBQVRMO0lBWVEsZUFBYztJQUNkLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBQ2hCLGFBQVk7SUFDWiwwQkNkZ0I7SURnQmhCLGlCRVFtQjtJRlBuQixtQkdvRzBCO0lIbkcxQiwwQkdtRzBCLEVIbEc3QjtBQXRCTDtJQXlCUSxtQkcrRjBCO0lIOUYxQiwwQkc4RjBCO0lIN0YxQixpQkVDbUI7SUZBbkIsb0JBQW1CLEVBQ3RCO0FBN0JMO0lBZ0NRLG1CR3dGMEI7SUh2RjFCLDBCR3VGMEI7SUh0RjFCLGlCRVBtQixFRlF0QjtBQW5DTDtJQXNDUSxpQkFBZ0IsRUFDbkIiLCJmaWxlIjoic3JjL2FwcC9oZWxwL2hlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyL2hlbHAtb3JkZXItZGFtYWdlLXJlcGFpci9vcmRlci1kYW1hZ2UtcmVwYWlyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuLm1haW4tY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDAgMCA1N3B4IDA7XHJcblxyXG4gICAgLmZvcm0tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXItcmVwbGFjZW1lbnQtY2hlY2tib3gge1xyXG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXRhaWxzLXRleHRhcmVhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMzc1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZC1jb2xvcnMsIFwicHJpbWFyeS1saWdodFwiKTtcclxuXHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDIycHgsIDE4cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluLXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IGVtKDMwcHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgzNXB4LCAzMHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDI1cHgsIDE4cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICAgIH1cclxuXHJcbiAgICAuc3VibWl0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiQGltcG9ydCAndmFycyc7XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJHBhdGgsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICBzcmMgOiB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICB9XHJcblxyXG59XHJcblxyXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XHJcbiAgJHJlbVNpemU6ICRzaXplIC8gMTZweDtcclxuICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA4MDA7XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { PopinService } from 'app/shared/ui/popin.service';\r\nimport { HelpService } from 'app/help/shared/help.service';\r\nimport { DriverService } from 'app/driver/shared/driver.service';\r\nimport { UserProfile } from 'app/driver/shared/models/user-profile.model';\r\nimport { UserRoleContract } from 'app/driver/shared/models/user-contract.model';\r\nimport { contractIsStatusOfType } from 'app/driver/shared/contract/contract-status.helper';\r\nimport { ContractConsolidatedStatusType } from 'app/driver/shared/contract/contract-status.const';\r\nimport { SelectAutocompleteAddressComponent } from 'app/shared/app-forms/select-autocomplete-address/select-autocomplete-address.component';\r\nimport { ContractOrderDamageRepair } from 'app/help/shared/models/help-driver-assistance.model';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\n\r\n@Component({\r\n selector: 'app-order-damage-repair',\r\n templateUrl: './order-damage-repair.component.html',\r\n styleUrls: ['./order-damage-repair.component.scss']\r\n})\r\nexport class HelpOrderDamageRepairComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild('selectAutocompleteAddress')\r\n public selectAutocomplete: SelectAutocompleteAddressComponent;\r\n\r\n public error = null;\r\n public addressSelected: string;\r\n public form: FormGroup;\r\n public newUserProfile: UserProfile;\r\n public vehicleList = [];\r\n public vehicleSelected = 0;\r\n public submitStatus = 'initial';\r\n\r\n constructor(\r\n private router: Router,\r\n private popinService: PopinService,\r\n private helpService: HelpService,\r\n private gtmService: GtmService,\r\n private driverService: DriverService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getDriver();\r\n this.popinService.opened(true);\r\n }\r\n\r\n private getDriver(): void {\r\n this.driverService.newDriverStream\r\n .subscribe((newDriver: UserProfile) => {\r\n this.newUserProfile = newDriver;\r\n this.generateVehicleList();\r\n this.buildForm();\r\n });\r\n }\r\n\r\n public updateVehicleList(obj): void {\r\n this.form.get('contractId').setValue(obj.id);\r\n }\r\n\r\n public updateSelectAddress(label) {\r\n this.form.get('carPickUpAddress').setValue(label);\r\n }\r\n\r\n private generateVehicleList(): void {\r\n this.vehicleList = this.driverService.getNewUserRole(this.newUserProfile).contracts.filter((contract: UserRoleContract) => {\r\n return contractIsStatusOfType(contract, ContractConsolidatedStatusType.Active);\r\n }).map((contract: UserRoleContract) => {\r\n return {\r\n id: contract.reference,\r\n label: `${contract.vehicle.brand} ${contract.vehicle.plate}`\r\n };\r\n });\r\n\r\n if (this.vehicleList.length === 1) {\r\n this.vehicleSelected = 0;\r\n }\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = new FormGroup({\r\n contractId: new FormControl('', [Validators.required]),\r\n phone: new FormControl('', [Validators.required]),\r\n carPickUpAddress: new FormControl('', [Validators.required]),\r\n needReplacementCar: new FormControl(false, [Validators.required]),\r\n extraInformation: new FormControl(''),\r\n });\r\n }\r\n\r\n public onSubmit(): void {\r\n if (this.form.valid) {\r\n this.submitStatus = 'pending';\r\n const orderDamageRepairRequest = Object.assign({}, this.form.value) as ContractOrderDamageRepair;\r\n this.helpService.orderDamageRepair(orderDamageRepairRequest).subscribe(() => {\r\n this.submitStatus = 'success';\r\n this.gtmService.sendEvent(GTM_EVENTS.orderDamageRepair);\r\n }, () => {\r\n this.submitStatus = 'initial';\r\n this.error = 500;\r\n })\r\n }\r\n }\r\n\r\n public onBackClick() {\r\n this.popinService.opened(false);\r\n this.router.navigate(['feed/help']);\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n

{{ 'help-order_maintenance_panel-form_title'| translate }}

\\r\\n

{{ 'help-order_maintenance_panel-description'| translate }}

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

{{ 'help-order_maintenance_panel-change_label'| translate }}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

\\r\\n {{ 'help-order_maintenance_panel-note_one' | translate }}\\r\\n {{ 'help-order_maintenance_panel-price_one_way' | translate }}\\r\\n {{ 'help-order_maintenance_panel-price_return' | translate }}\\r\\n {{ 'help-order_maintenance_panel-note_two' | translate }}\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

{{ 'help-order_maintenance_panel-pickup_note_label'| translate }}

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n

{{'global-generic_terms-incorrect_input'| translate}}

\\r\\n

\\r\\n {{'global-generic_terms-generic_server_error'| translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n padding: 0 0 57px 0; }\\n.main-container .form-description {\\n margin: 20px 0; }\\n.main-container .section-wrapper {\\n border: 1px solid #d7d7d7;\\n padding: 15px;\\n margin: 15px 0; }\\n.main-container .form-input app-svg-icon {\\n height: 20px;\\n width: 20px;\\n right: 0px;\\n position: absolute;\\n color: #00cfff; }\\n.main-container .form-input input:disabled {\\n border-bottom: #bababa 1px solid; }\\n.main-container .maintenance-note {\\n font-size: 12px;\\n color: #bababa;\\n margin: 15px 0; }\\n.main-container .maintenance-note span {\\n display: block; }\\n.main-container .help-checkbox {\\n margin: 30px 0; }\\n.main-container .notes-textarea {\\n display: block;\\n width: 100%;\\n margin-top: 16px;\\n max-width: 375px;\\n height: 90px;\\n border: 1px solid #00cfff;\\n font-weight: 400;\\n font-size: 1.125em;\\n line-height: 1.22222222em; }\\n.main-container .main-title {\\n font-size: 1.875em;\\n line-height: 1.16666667em;\\n font-weight: 500;\\n margin-bottom: 10px; }\\n.main-container p {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n font-weight: 400; }\\n.main-container .submit-container {\\n margin-top: 20px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLW9yZGVyLW1haW50ZW5hbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1hc3Npc3RhbmNlLWZvci1kcml2ZXIvaGVscC1vcmRlci1tYWludGVuYW5jZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLW9yZGVyLW1haW50ZW5hbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1hc3Npc3RhbmNlLWZvci1kcml2ZXIvaGVscC1vcmRlci1tYWludGVuYW5jZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1hc3Npc3RhbmNlLWZvci1kcml2ZXIvaGVscC1vcmRlci1tYWludGVuYW5jZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyL2hlbHAtb3JkZXItbWFpbnRlbmFuY2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyL2hlbHAtb3JkZXItbWFpbnRlbmFuY2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXGhlbHBcXGhlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyXFxoZWxwLW9yZGVyLW1haW50ZW5hbmNlXFxvcmRlci1tYWludGVuYW5jZS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLW9yZGVyLW1haW50ZW5hbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLW9yZGVyLW1haW50ZW5hbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyL2hlbHAtb3JkZXItbWFpbnRlbmFuY2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxvQkFBbUIsRUFrRXRCO0FBbkVEO0lBSVEsZUFBYyxFQUNqQjtBQUxMO0lBUVEsMEJDT1c7SUROWCxjQUFhO0lBQ2IsZUFBYyxFQUNqQjtBQVhMO0lBZVksYUFBWTtJQUNaLFlBQVc7SUFDWCxXQUFVO0lBQ1YsbUJBQWtCO0lBQ2xCLGVDaEJZLEVEaUJmO0FBcEJUO0lBc0JZLGlDQUF5RCxFQUM1RDtBQXZCVDtJQTJCUSxnQkFBZTtJQUNmLGVDWFc7SURZWCxlQUFjLEVBSWpCO0FBakNMO01BK0JZLGVBQWMsRUFDakI7QUFoQ1Q7SUFvQ1EsZUFBYyxFQUNqQjtBQXJDTDtJQXdDUSxlQUFjO0lBQ2QsWUFBVztJQUNYLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsYUFBWTtJQUNaLDBCQzFDZ0I7SUQyQ2hCLGlCRW5CbUI7SUZvQm5CLG1CR3lFMEI7SUh4RTFCLDBCR3dFMEIsRUh2RTdCO0FBakRMO0lBb0RRLG1CR29FMEI7SUhuRTFCLDBCR21FMEI7SUhsRTFCLGlCRTFCbUI7SUYyQm5CLG9CQUFtQixFQUN0QjtBQXhETDtJQTJEUSxtQkc2RDBCO0lINUQxQiwwQkc0RDBCO0lIM0QxQixpQkVsQ21CLEVGbUN0QjtBQTlETDtJQWlFUSxpQkFBZ0IsRUFDbkIiLCJmaWxlIjoic3JjL2FwcC9oZWxwL2hlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyL2hlbHAtb3JkZXItbWFpbnRlbmFuY2Uvb3JkZXItbWFpbnRlbmFuY2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy9fdGhlbWUtaW1wb3J0cy5zY3NzXCI7XHJcblxyXG4ubWFpbi1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMCAwIDU3cHggMDtcclxuXHJcbiAgICAuZm9ybS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlY3Rpb24td3JhcHBlciB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYWxkLWNvbG9ycywgXCJncmF5LTMwMFwiKTtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWlucHV0IHtcclxuICAgICAgICBhcHAtc3ZnLWljb24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dDpkaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJGFsZC1jb2xvcnMsIFwiZ3JheS01MDBcIikgMXB4IHNvbGlkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWFpbnRlbmFuY2Utbm90ZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCBcImdyYXktNTAwXCIpO1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhlbHAtY2hlY2tib3gge1xyXG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5ub3Rlcy10ZXh0YXJlYSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDM3NXB4O1xyXG4gICAgICAgIGhlaWdodDogOTBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRhbGQtY29sb3JzLCBcInByaW1hcnktbGlnaHRcIik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDIycHgsIDE4cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluLXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IGVtKDMwcHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgzNXB4LCAzMHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDI1cHgsIDE4cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICAgIH1cclxuXHJcbiAgICAuc3VibWl0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiQGltcG9ydCAndmFycyc7XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJHBhdGgsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICBzcmMgOiB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICB9XHJcblxyXG59XHJcblxyXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XHJcbiAgJHJlbVNpemU6ICRzaXplIC8gMTZweDtcclxuICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA4MDA7XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { PopinService } from 'app/shared/ui/popin.service';\r\nimport { DriverService } from 'app/driver/shared/driver.service';\r\nimport { UserProfile } from 'app/driver/shared/models/user-profile.model';\r\nimport { UserRoleContract } from 'app/driver/shared/models/user-contract.model';\r\nimport { contractIsStatusOfType } from 'app/driver/shared/contract/contract-status.helper';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { ContractConsolidatedStatusType } from 'app/driver/shared/contract/contract-status.const';\r\nimport { SelectMenuComponent } from '../../../shared/app-forms/select-menu/select-menu.component';\r\nimport { OrderMaintenanceChanges } from 'app/help/shared/help.const';\r\nimport { SelectAutocompleteAddressComponent } from 'app/shared/app-forms/select-autocomplete-address/select-autocomplete-address.component';\r\nimport { ContractOrderMaintenance } from 'app/help/shared/models/help-driver-assistance.model';\r\nimport { HelpService } from 'app/help/shared/help.service';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\n\r\n@Component({\r\n selector: 'app-order-maintenance',\r\n templateUrl: './order-maintenance.component.html',\r\n styleUrls: ['./order-maintenance.component.scss']\r\n})\r\nexport class HelpOrderMaintenanceComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild('serviceField') serviceField: SelectMenuComponent;\r\n @ViewChild('selectAutocompleteAddress')\r\n public selectAutocomplete: SelectAutocompleteAddressComponent;\r\n\r\n public addressSelected: string;\r\n public form: FormGroup;\r\n private isComponentActive = true;\r\n public newUserProfile: UserProfile;\r\n public vehicleList = [];\r\n public serviceList = [];\r\n public vehicleSelected = 0;\r\n public submitStatus = 'initial';\r\n public minDate = new Date();\r\n public minimumServiceBooked: number;\r\n public isFormLoading = true;\r\n public error = null;\r\n public readonly SERVICES_BOOKED_SLICE = 5000;\r\n public readonly SERVICES_BOOKED_MAX = 205000;\r\n public readonly CHANGES = Object.keys(OrderMaintenanceChanges);\r\n\r\n constructor(\r\n private router: Router,\r\n private popinService: PopinService,\r\n private helpService: HelpService,\r\n private gtmService: GtmService,\r\n private driverService: DriverService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getDriver();\r\n this.popinService.opened(true);\r\n }\r\n\r\n private getDriver(): void {\r\n this.driverService.newDriverStream\r\n .subscribe((newDriver: UserProfile) => {\r\n this.newUserProfile = newDriver;\r\n this.generateVehicleList();\r\n this.buildForm();\r\n });\r\n }\r\n\r\n public updateSelectAddress(label) {\r\n this.form.get('carPickUpAddress').setValue(label);\r\n }\r\n\r\n public updateVehicleList(obj): void {\r\n this.form.get('servicingToBeBooked').setValue('');\r\n if (this.serviceField) {\r\n this.serviceField.resetSelect();\r\n }\r\n this.form.get('contractId').setValue(obj.id);\r\n this.minimumServiceBooked = obj.lastMileage ?\r\n Math.ceil(obj.lastMileage / this.SERVICES_BOOKED_SLICE) * this.SERVICES_BOOKED_SLICE :\r\n this.SERVICES_BOOKED_SLICE;\r\n this.getServicesToBeBookedValues();\r\n }\r\n\r\n public updateServiceList(obj): void {\r\n this.form.get('servicingToBeBooked').setValue(obj.id);\r\n this.getServicesToBeBookedValues();\r\n }\r\n\r\n public getServicesToBeBookedValues(): void {\r\n const iterationCount = 1 + (this.SERVICES_BOOKED_MAX - this.minimumServiceBooked) / this.SERVICES_BOOKED_SLICE;\r\n this.serviceList = Array(iterationCount).fill(this.minimumServiceBooked).map((x, i) => {\r\n return {\r\n label: x + (i * this.SERVICES_BOOKED_SLICE) + ' km',\r\n id: x + (i * this.SERVICES_BOOKED_SLICE),\r\n }\r\n });\r\n }\r\n\r\n private generateVehicleList(): void {\r\n this.vehicleList = this.driverService.getNewUserRole(this.newUserProfile).contracts.filter((contract: UserRoleContract) => {\r\n return contractIsStatusOfType(contract, ContractConsolidatedStatusType.Active);\r\n }).map((contract: UserRoleContract) => {\r\n return {\r\n id: contract.reference,\r\n label: `${contract.vehicle.brand} ${contract.vehicle.plate}`,\r\n lastMileage: contract.mileage.lastMileage\r\n };\r\n });\r\n\r\n if (this.vehicleList.length === 1) {\r\n this.vehicleSelected = 0;\r\n }\r\n }\r\n\r\n public toggleChangeField(change: string): void {\r\n const currentChanges: OrderMaintenanceChanges[] = this.form.get('change').value || [];\r\n let newChanges = [];\r\n if (Array.isArray(this.form.get('change').value) && this.form.get('change').value.includes(OrderMaintenanceChanges[change])) {\r\n newChanges = currentChanges.filter(c => c !== OrderMaintenanceChanges[change]);\r\n } else {\r\n newChanges = [...currentChanges, ...[OrderMaintenanceChanges[change]]];\r\n }\r\n if (newChanges.length === 0) {\r\n newChanges = null;\r\n }\r\n this.form.get('change').setValue(newChanges);\r\n }\r\n\r\n private buildForm(): void {\r\n // Build basic form\r\n this.form = new FormGroup({\r\n contractId: new FormControl('', [Validators.required]),\r\n phone: new FormControl('', [Validators.required]),\r\n carPickUp: new FormControl(false, [Validators.required]),\r\n servicingToBeBooked: new FormControl('', [Validators.required]),\r\n change: new FormControl(null, [Validators.required]),\r\n pickUpServiceNote: new FormControl(''),\r\n pickUpDate: new FormControl(null),\r\n pickUpTime: new FormControl({ value: '', disabled: true }),\r\n isSameAddress: new FormControl(true),\r\n carPickUpAddress: new FormControl(null),\r\n });\r\n // Time can't be set before date\r\n this.form.get('pickUpDate').valueChanges.pipe(\r\n takeWhile(() => this.isComponentActive),\r\n ).subscribe((date) => {\r\n date && this.form.controls.pickUpDate.valid ?\r\n this.form.controls.pickUpTime.enable() :\r\n this.form.controls.pickUpTime.disable();\r\n this.form.get('pickUpTime').setValue('');\r\n });\r\n // Date field is required when car pickup is yes\r\n this.form.get('carPickUp').valueChanges.pipe(\r\n takeWhile(() => this.isComponentActive),\r\n ).subscribe((isCarPickup) => {\r\n this.form.get('pickUpDate').setValidators(!!isCarPickup ? [Validators.required] : null);\r\n this.form.get('pickUpDate').setValue('');\r\n this.form.get('pickUpServiceNote').setValue('');\r\n this.form.get('isSameAddress').setValue(true);\r\n this.form.get('pickUpDate').updateValueAndValidity();\r\n });\r\n // Address field is required when same address is no\r\n this.form.get('isSameAddress').valueChanges.pipe(\r\n takeWhile(() => this.isComponentActive),\r\n ).subscribe((isSameAddress) => {\r\n this.form.get('carPickUpAddress').setValidators(!!!isSameAddress ? [Validators.required] : null);\r\n this.form.get('carPickUpAddress').setValue('');\r\n this.form.get('carPickUpAddress').updateValueAndValidity();\r\n });\r\n }\r\n\r\n private calculatePickUpDate(date: Date, time: string): Date {\r\n const timeOffSet = Math.floor(new Date().getTimezoneOffset() / 60);\r\n const returnDate = new Date(date);\r\n if (time) {\r\n const timeParts = time.split(':');\r\n returnDate.setHours(returnDate.getHours() + +timeParts[0] + timeOffSet, returnDate.getMinutes() + +timeParts[1]);\r\n return returnDate;\r\n }\r\n return returnDate;\r\n }\r\n\r\n public onSubmit(): void {\r\n this.error = null;\r\n if (this.form.valid) {\r\n this.submitStatus = 'pending';\r\n const orderMaintenanceForm = Object.assign({}, this.form.value) as ContractOrderMaintenance;\r\n delete orderMaintenanceForm.pickUpTime;\r\n if (orderMaintenanceForm.pickUpDate) {\r\n const date = this.form.get('pickUpDate').value;\r\n const time = this.form.get('pickUpTime').value;\r\n orderMaintenanceForm.pickUpDate = this.calculatePickUpDate(date, time);\r\n }\r\n this.helpService.orderMaintenance(orderMaintenanceForm).subscribe(() => {\r\n this.submitStatus = 'success';\r\n this.gtmService.sendEvent(GTM_EVENTS.orderMaintenance);\r\n }, () => {\r\n this.submitStatus = 'initial';\r\n this.error = 500;\r\n })\r\n }\r\n }\r\n\r\n public onBackClick() {\r\n this.popinService.opened(false);\r\n this.router.navigate(['feed/help']);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.isComponentActive = false;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n

{{ 'help-take_abroad_panel-form_title'| translate }}

\\r\\n

{{ 'help-take_abroad_panel-description'| translate }}

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n

{{'global-generic_terms-incorrect_input'| translate}}

\\r\\n

\\r\\n {{'global-generic_terms-generic_server_error'| translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n padding: 0 0 57px 0; }\\n.main-container .main-title {\\n font-size: 1.875em;\\n line-height: 1.16666667em;\\n font-weight: 500;\\n margin-bottom: 10px; }\\n.main-container .form-description {\\n margin: 20px 0; }\\n.main-container p {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n font-weight: 400; }\\n.main-container .submit-container {\\n margin-top: 20px; }\\n.main-container .form-input.date-time app-svg-icon {\\n color: #00cfff;\\n height: 20px;\\n width: 20px;\\n right: 0px;\\n position: absolute; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLXRha2UtYWJyb2FkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1hc3Npc3RhbmNlLWZvci1kcml2ZXIvaGVscC10YWtlLWFicm9hZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLXRha2UtYWJyb2FkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1hc3Npc3RhbmNlLWZvci1kcml2ZXIvaGVscC10YWtlLWFicm9hZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1hc3Npc3RhbmNlLWZvci1kcml2ZXIvaGVscC10YWtlLWFicm9hZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyL2hlbHAtdGFrZS1hYnJvYWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyL2hlbHAtdGFrZS1hYnJvYWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXGhlbHBcXGhlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyXFxoZWxwLXRha2UtYWJyb2FkXFx0YWtlLWFicm9hZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLXRha2UtYWJyb2FkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWFzc2lzdGFuY2UtZm9yLWRyaXZlci9oZWxwLXRha2UtYWJyb2FkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtYXNzaXN0YW5jZS1mb3ItZHJpdmVyL2hlbHAtdGFrZS1hYnJvYWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxvQkFBbUIsRUFnQ3RCO0FBakNEO0lBSVEsbUJDb0gwQjtJRG5IMUIsMEJDbUgwQjtJRGxIMUIsaUJFc0JtQjtJRnJCbkIsb0JBQW1CLEVBQ3RCO0FBUkw7SUFXUSxlQUFjLEVBQ2pCO0FBWkw7SUFlUSxtQkN5RzBCO0lEeEcxQiwwQkN3RzBCO0lEdkcxQixpQkVVbUIsRUZUdEI7QUFsQkw7SUFxQlEsaUJBQWdCLEVBQ25CO0FBdEJMO0lBMEJZLGVHdkJZO0lId0JaLGFBQVk7SUFDWixZQUFXO0lBQ1gsV0FBVTtJQUNWLG1CQUFrQixFQUNyQiIsImZpbGUiOiJzcmMvYXBwL2hlbHAvaGVscC1hc3Npc3RhbmNlLWZvci1kcml2ZXIvaGVscC10YWtlLWFicm9hZC90YWtlLWFicm9hZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbi5tYWluLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwIDAgNTdweCAwO1xyXG5cclxuICAgIC5tYWluLXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IGVtKDMwcHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgzNXB4LCAzMHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IGVtKDE4cHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgyNXB4LCAxOHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnN1Ym1pdC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0taW5wdXQge1xyXG4gICAgICAgICYuZGF0ZS10aW1lIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIl19 */\"","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { PopinService } from 'app/shared/ui/popin.service';\r\nimport { HelpService } from 'app/help/shared/help.service';\r\nimport { DriverService } from 'app/driver/shared/driver.service';\r\nimport { UserProfile } from 'app/driver/shared/models/user-profile.model';\r\nimport { UserRoleContract } from 'app/driver/shared/models/user-contract.model';\r\nimport { contractIsStatusOfType } from 'app/driver/shared/contract/contract-status.helper';\r\nimport { ContractConsolidatedStatusType } from 'app/driver/shared/contract/contract-status.const';\r\nimport { ContractAskPermission } from 'app/help/shared/models/help-driver-assistance.model';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\n\r\n@Component({\r\n selector: 'app-take-abroad',\r\n templateUrl: './take-abroad.component.html',\r\n styleUrls: ['./take-abroad.component.scss']\r\n})\r\nexport class HelpTakeAbroadComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild('selectAutocomplete')\r\n public selectAutocomplete;\r\n\r\n @ViewChild('selectAutocompleteCountry')\r\n public selectAutocompleteCountry;\r\n\r\n public addressSelected: string;\r\n public error = null;\r\n public countrySelected: string;\r\n public form: FormGroup;\r\n public newUserProfile: UserProfile;\r\n public vehicleList = [];\r\n public vehicleSelected = 0;\r\n public submitStatus = 'initial';\r\n\r\n public minDate = new Date();\r\n\r\n constructor(\r\n private router: Router,\r\n private popinService: PopinService,\r\n private helpService: HelpService,\r\n private driverService: DriverService,\r\n private gtmService: GtmService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getDriver();\r\n this.popinService.opened(true);\r\n }\r\n\r\n private getDriver(): void {\r\n this.driverService.newDriverStream\r\n .subscribe((newDriver: UserProfile) => {\r\n this.newUserProfile = newDriver;\r\n this.generateVehicleList();\r\n this.buildForm();\r\n });\r\n }\r\n\r\n public updateVehicleList(obj): void {\r\n this.form.get('contractId').setValue(obj.id);\r\n }\r\n\r\n public updateSelectAddress(label) {\r\n this.form.get('deliveryAddress').setValue(label);\r\n }\r\n\r\n public updateSelectCountry(label) {\r\n this.form.get('destination').setValue(label);\r\n }\r\n\r\n private generateVehicleList(): void {\r\n this.vehicleList = this.driverService.getNewUserRole(this.newUserProfile).contracts.filter((contract: UserRoleContract) => {\r\n return contractIsStatusOfType(contract, ContractConsolidatedStatusType.Active);\r\n }).map((contract: UserRoleContract) => {\r\n return {\r\n id: contract.reference,\r\n label: `${contract.vehicle.brand} ${contract.vehicle.plate}`\r\n };\r\n });\r\n\r\n if (this.vehicleList.length === 1) {\r\n this.vehicleSelected = 0;\r\n }\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = new FormGroup({\r\n contractId: new FormControl('', [Validators.required]),\r\n startDate: new FormControl('', [Validators.required]),\r\n endDate: new FormControl('', [Validators.required]),\r\n destination: new FormControl('', [Validators.required]),\r\n deliveryAddress: new FormControl('', [Validators.required]),\r\n });\r\n }\r\n\r\n public onSubmit(): void {\r\n if (this.form.valid) {\r\n this.submitStatus = 'pending';\r\n const askPermissionForm = Object.assign({}, this.form.value) as ContractAskPermission;\r\n this.helpService.askPermissionToTakeAbroad(askPermissionForm).subscribe(() => {\r\n this.submitStatus = 'success';\r\n this.gtmService.sendEvent(GTM_EVENTS.askPermissionToTakeAbroad);\r\n }, () => {\r\n this.submitStatus = 'initial';\r\n this.error = 500;\r\n })\r\n }\r\n }\r\n\r\n public onBackClick() {\r\n this.popinService.opened(false);\r\n this.router.navigate(['feed/help']);\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n

\\r\\n {{case.ticketState}}
\\r\\n {{case.category}}\\r\\n

\\r\\n\\r\\n

{{case.subject}}

\\r\\n

{{case.subSubject}}

\\r\\n\\r\\n

{{'help-follow_requests_panel-case_number_label'|translate}}{{case.ticketNumber}}

\\r\\n
\\r\\n\\r\\n
\\r\\n 0\\\">\\r\\n {{ case.licensePlate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.notification-wrapper {\\n display: flex;\\n padding: 25px 30px 30px;\\n margin-bottom: 10px;\\n position: relative;\\n background: #FFFFFF;\\n border-radius: 5px 5px 5px 5px;\\n -moz-border-radius: 5px 5px 5px 5px;\\n -webkit-border-radius: 5px 5px 5px 5px;\\n box-shadow: 0px 5px 10px 1px rgba(0, 0, 0, 0.3); }\\n.notification-content {\\n width: 100%;\\n flex-shrink: 1; }\\n.notification-content .title {\\n font-weight: bold;\\n font-size: 18px;\\n padding-bottom: 5px; }\\n.notification-content .title .subtitle {\\n font-size: 11px;\\n color: #00e6c2;\\n text-transform: uppercase; }\\n.notification-content /deep/ .title,\\n .notification-content /deep/ p {\\n width: 90%; }\\n.notification-content /deep/ .title .sub-title,\\n .notification-content /deep/ p .sub-title {\\n color: #00e6c2; }\\n.notification-metadata {\\n position: absolute;\\n top: 10px;\\n right: 8px;\\n font-size: 0.75em;\\n color: #b5b5b5; }\\n.notification-metadata .vehicle {\\n font-weight: 700;\\n margin-right: 0.25em; }\\n/*Screen Size : xxs\\r\\nimportant: max-width MQ*/\\n@media screen and (max-width: 375px) {\\n .notification-wrapper {\\n padding: 16px 28px 32px 16px; } }\\n/*Screen Size : m*/\\n@media screen and (min-width: 980px) {\\n .notification-wrapper {\\n padding: 25px 30px 30px;\\n margin-bottom: 10px;\\n border-bottom: 1px solid #efefef; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9oZWxwLWNhc2UtaXRlbS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1jYXNlLWl0ZW0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1jYXNlLWl0ZW0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxoZWxwXFxoZWxwLWNhc2UtaXRlbVxcaGVscC1jYXNlLWl0ZW0uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1jYXNlLWl0ZW0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxjQUFhO0VBQ2Isd0JBQXVCO0VBQ3ZCLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsb0JDTVk7RURKWiwrQkFBOEI7RUFDOUIsb0NBQW1DO0VBQ25DLHVDQUFzQztFQUd0QyxnREFBNEMsRUFDL0M7QUFFRDtFQUNJLFlBQVc7RUFDWCxlQUFjLEVBdUJqQjtBQXpCRDtJQUtRLGtCQUFpQjtJQUNqQixnQkFBZTtJQUNmLG9CQUFtQixFQU90QjtBQWRMO01BVVksZ0JBQWU7TUFDZixlQ0NNO01EQU4sMEJBQXlCLEVBQzVCO0FBYlQ7O0lBa0JZLFdBQVUsRUFJYjtBQXRCVDs7TUFvQmdCLGVDUkUsRURTTDtBQU1iO0VBQ0ksbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxXQUFVO0VBRVYsa0JBQWlCO0VBQ2pCLGVDOUJlLEVEb0NsQjtBQVpEO0lBU1EsaUJFckJtQjtJRnNCbkIscUJBQW9CLEVBQ3ZCO0FBTUw7eUJBQ3lCO0FGOEJiO0VFM0JSO0lBQ0ksNkJBQTRCLEVBQy9CLEVBQUE7QUFLTCxtQkFBbUI7QUZDUDtFRUVSO0lBQ0ksd0JBQXVCO0lBQ3ZCLG9CQUFtQjtJQUNuQixpQ0M5RFcsRUQrRGQsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2hlbHAvaGVscC1jYXNlLWl0ZW0vaGVscC1jYXNlLWl0ZW0uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy9fdGhlbWUtaW1wb3J0cy5zY3NzXCI7XHJcblxyXG4ubm90aWZpY2F0aW9uLXdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IDI1cHggMzBweCAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggNXB4IDVweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogNXB4IDVweCA1cHggNXB4O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHggNXB4IDVweCA1cHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCA1cHggMTBweCAxcHggcmdiYSgwLDAsMCwwLjMpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggNXB4IDEwcHggMXB4IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCAxcHggcmdiYSgwLDAsMCwwLjMpO1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbGV4LXNocmluazogMTtcclxuXHJcbiAgICAudGl0bGUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG5cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnc3VjY2VzcycpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYgL2RlZXAvIHtcclxuICAgICAgICAmIC50aXRsZSxcclxuICAgICAgICAmIHAge1xyXG4gICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAuc3ViLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnc3VjY2VzcycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbi1tZXRhZGF0YSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICByaWdodDogOHB4O1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTYwMCcpO1xyXG5cclxuICAgIC52ZWhpY2xlIHtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qU2NyZWVuIFNpemUgOiB4eHNcclxuaW1wb3J0YW50OiBtYXgtd2lkdGggTVEqL1xyXG5AaW5jbHVkZSBtYXgtd2lkdGgoeHhzKSB7XHJcblxyXG4gICAgLm5vdGlmaWNhdGlvbi13cmFwcGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4IDI4cHggMzJweCAxNnB4OyAvLzIwcHggMzVweCA0MHB4IDIwcHg7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuLypTY3JlZW4gU2l6ZSA6IG0qL1xyXG5AaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG5cclxuICAgIC5ub3RpZmljYXRpb24td3JhcHBlciB7XHJcbiAgICAgICAgcGFkZGluZzogMjVweCAzMHB4IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktMjAwJyk7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iXX0= */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslationService } from '../../shared/translation/translation.service';\r\n\r\n@Component({\r\n selector: 'app-help-case-item',\r\n templateUrl: './help-case-item.component.html',\r\n styleUrls: ['./help-case-item.component.scss']\r\n})\r\nexport class HelpCaseItemComponent implements OnInit {\r\n\r\n @Input()\r\n public case: any;\r\n\r\n constructor(private translationService: TranslationService) {}\r\n\r\n ngOnInit() {\r\n if (this.translationService.language.toLowerCase() === 'en-us') {\r\n this.case.category = this.case.categoryEnglish;\r\n this.case.subject = this.case.subjectEnglish;\r\n this.case.subSubject = this.case.subSubjectEnglish;\r\n } else {\r\n this.case.category = this.case.categoryLocal;\r\n this.case.subject = this.case.subjectLocal;\r\n this.case.subSubject = this.case.subSubjectLocal;\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n

{{'help-case_request-title'|translate}}

\\r\\n\\r\\n

{{'help-case_request-subtitle'|translate}}

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n

{{'global-generic_terms-incorrect_input'| translate}}

\\r\\n

\\r\\n {{'global-generic_terms-generic_server_error'| translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n

{{'help-case_request-message_label'|translate}}

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n padding: 57px 0; }\\n.main-title {\\n font-size: 1.875em;\\n line-height: 1.16666667em;\\n font-weight: 500;\\n margin-bottom: 10px; }\\np {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n font-weight: 400; }\\n.form {\\n margin-top: 25px; }\\n.form .form-input .textarea-title {\\n margin-bottom: 15px; }\\n.form .submit-container {\\n margin-top: 25px; }\\n.form textarea {\\n display: block;\\n width: 100%;\\n margin-top: 16px;\\n max-width: 375px;\\n height: 90px;\\n border: 1px solid #00cfff;\\n font-family: \\\"source-sans\\\", Arial, sans-serif;\\n font-weight: 400;\\n font-size: 1.125em;\\n line-height: 1.22222222em; }\\n.snap-container {\\n margin-top: 16px;\\n margin-bottom: 16px;\\n text-align: center;\\n display: flex; }\\n.list-unstyled {\\n list-style: none; }\\n.list-unstyled li {\\n display: inline-block;\\n padding: 5px 10px;\\n cursor: pointer; }\\n.show {\\n display: block; }\\n.hide {\\n display: none; }\\n.add-document-file-icon {\\n position: absolute;\\n top: 47%;\\n transform: translateY(-50%);\\n right: 6px;\\n width: 24px;\\n height: 18px; }\\n.add-document-file-input {\\n position: absolute;\\n opacity: 0;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%; }\\n.add-document-file-label {\\n color: white;\\n font-size: 12px; }\\n.add-document-file {\\n margin-top: 0px;\\n width: 100%;\\n border-radius: 50px;\\n text-transform: uppercase;\\n font-family: montserrat;\\n cursor: pointer; }\\n.add-document-chosen-file {\\n color: #00cfff;\\n font-size: 12px;\\n margin-bottom: 15px;\\n display: inline-block;\\n margin-left: 10px; }\\n::ng-deep .snap-btn {\\n height: 50px;\\n text-transform: math-auto;\\n background: #050b7f;\\n color: white;\\n width: 30%;\\n font-weight: 800;\\n border-radius: 62px;\\n font-size: 12px; }\\n::ng-deep input[type=\\\"submit\\\"], input[type=\\\"reset\\\"], .button {\\n display: inline-block;\\n max-width: 40%;\\n padding: 0.73em 1.575em;\\n border-radius: 30px;\\n border: none;\\n min-height: 49px;\\n background-color: #050b7f;\\n color: #FFFFFF;\\n font-size: 1.125em;\\n font-weight: 700;\\n line-height: 1;\\n text-align: center;\\n text-decoration: none;\\n cursor: pointer;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n.add-document-file-label {\\n color: white;\\n font-size: 12px;\\n text-transform: math-auto; }\\n.add-document-upload {\\n display: inline-flex;\\n width: 100%; }\\n.add-document-upload-hint {\\n word-break: break-all;\\n position: absolute;\\n right: 20%;\\n width: 35%;\\n display: inline-block;\\n color: #b5b5b5;\\n font-size: 13px;\\n margin-top: 22px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9oZWxwLWNhc2UtcmVxdWVzdC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1yZXF1ZXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1yZXF1ZXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1jYXNlLXJlcXVlc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1yZXF1ZXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1jYXNlLXJlcXVlc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1yZXF1ZXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxoZWxwXFxoZWxwLWNhc2UtcmVxdWVzdFxcaGVscC1jYXNlLXJlcXVlc3QuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1jYXNlLXJlcXVlc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1yZXF1ZXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1yZXF1ZXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWNhc2UtcmVxdWVzdC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfdmFycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxnQkFBZSxFQUNsQjtBQUVEO0VBQ0ksbUJDbUg4QjtFRGxIOUIsMEJDa0g4QjtFRGpIOUIsaUJFcUJ1QjtFRnBCdkIsb0JBQW1CLEVBQ3RCO0FBRUQ7RUFDSSxtQkM0RzhCO0VEM0c5QiwwQkMyRzhCO0VEMUc5QixpQkVhdUIsRUZaMUI7QUFFRDtFQUNJLGlCQUFnQixFQXVCbkI7QUF4QkQ7SUFLWSxvQkFBbUIsRUFDdEI7QUFOVDtJQVNRLGlCQUFnQixFQUNuQjtBQVZMO0lBYVEsZUFBYztJQUNkLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBQ2hCLGFBQVk7SUFDWiwwQkdoQ2dCO0lIaUNoQiw4Q0loQ3NDO0lKaUN0QyxpQkVWbUI7SUZXbkIsbUJDa0YwQjtJRGpGMUIsMEJDaUYwQixFRGhGN0I7QUFHTDtFQUNJLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLGNBQWEsRUFDZDtBQUVEO0VBQ0UsaUJBQWdCLEVBQ2pCO0FBRUQ7RUFDRSxzQkFBcUI7RUFDckIsa0JBQWlCO0VBQ2pCLGdCQUFlLEVBQ2hCO0FBRUQ7RUFDRSxlQUFjLEVBQ2Y7QUFFRDtFQUNFLGNBQWEsRUFDZDtBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUiw0QkFBMkI7RUFDM0IsV0FBVTtFQUNWLFlBQVc7RUFDWCxhQUFZLEVBQ2I7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWSxFQUNiO0FBRUQ7RUFDRSxhQUFZO0VBQ1osZ0JBQWUsRUFDaEI7QUFFRDtFQUNFLGdCQUFlO0VBQ2YsWUFBVztFQUNYLG9CQUFtQjtFQUNuQiwwQkFBeUI7RUFDekIsd0JBQXVCO0VBQ3ZCLGdCQUFlLEVBQ2hCO0FBRUQ7RUFDRSxlQUFjO0VBQ2QsZ0JBQWU7RUFDZixvQkFBbUI7RUFDbkIsc0JBQXFCO0VBQ3JCLGtCQUFpQixFQUNsQjtBQUVEO0VBQ0UsYUFBWTtFQUNaLDBCQUF5QjtFQUN6QixvQkFBbUI7RUFDbkIsYUFBWTtFQUNaLFdBQVU7RUFDVixpQkFBZ0I7RUFDaEIsb0JBQW1CO0VBQ25CLGdCQUFlLEVBQ2hCO0FBRUQ7RUFDRSxzQkFBcUI7RUFDckIsZUFBYztFQUNkLHdCQUF1QjtFQUN2QixvQkFBbUI7RUFDbkIsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQiwwQkFBeUI7RUFDekIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsZ0JBQWU7RUFDZiw4Q0FBNkMsRUFFOUM7QUFFRDtFQUNFLGFBQVk7RUFDWixnQkFBZTtFQUNmLDBCQUF5QixFQUMxQjtBQUVEO0VBQ0UscUJBQW9CO0VBQ3BCLFlBQVcsRUFDWjtBQUVEO0VBQ0Usc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsV0FBVTtFQUNWLHNCQUFxQjtFQUNyQixlQUFjO0VBQ2QsZ0JBQWU7RUFDZixpQkFBZ0IsRUFDakIiLCJmaWxlIjoic3JjL2FwcC9oZWxwL2hlbHAtY2FzZS1yZXF1ZXN0L2hlbHAtY2FzZS1yZXF1ZXN0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuLm1haW4tY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDU3cHggMDtcclxufVxyXG5cclxuLm1haW4tdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiBlbSgzMHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgzNXB4LCAzMHB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxucCB7XHJcbiAgICBmb250LXNpemU6IGVtKDE4cHgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IGVtKDI1cHgsIDE4cHgpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xyXG59XHJcblxyXG4uZm9ybSB7XHJcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG5cclxuICAgIC5mb3JtLWlucHV0IHtcclxuICAgICAgICAudGV4dGFyZWEtdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdWJtaXQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMzc1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxOHB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogZW0oMjJweCwgMThweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbmFwLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG4gIFxyXG4gIC5saXN0LXVuc3R5bGVkIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC5saXN0LXVuc3R5bGVkIGxpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICBcclxuICAuc2hvdyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgXHJcbiAgLmhpZGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLmFkZC1kb2N1bWVudC1maWxlLWljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA0NyU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICByaWdodDogNnB4O1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5hZGQtZG9jdW1lbnQtZmlsZS1pbnB1dCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuICBcclxuICAuYWRkLWRvY3VtZW50LWZpbGUtbGFiZWwge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gIH1cclxuICBcclxuICAuYWRkLWRvY3VtZW50LWZpbGUge1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtZmFtaWx5OiBtb250c2VycmF0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICBcclxuICAuYWRkLWRvY3VtZW50LWNob3Nlbi1maWxlIHtcclxuICAgIGNvbG9yOiAjMDBjZmZmO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIH1cclxuICBcclxuICA6Om5nLWRlZXAgLnNuYXAtYnRue1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG1hdGgtYXV0bztcclxuICAgIGJhY2tncm91bmQ6ICMwNTBiN2Y7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB3aWR0aDogMzAlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDYycHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgfVxyXG4gIFxyXG4gIDo6bmctZGVlcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBpbnB1dFt0eXBlPVwicmVzZXRcIl0sIC5idXR0b24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWF4LXdpZHRoOiA0MCU7XHJcbiAgICBwYWRkaW5nOiAwLjczZW0gMS41NzVlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtaW4taGVpZ2h0OiA0OXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA1MGI3ZjtcclxuICAgIGNvbG9yOiAjRkZGRkZGO1xyXG4gICAgZm9udC1zaXplOiAxLjEyNWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG4gICBcclxuICB9XHJcbiAgXHJcbiAgLmFkZC1kb2N1bWVudC1maWxlLWxhYmVsIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBtYXRoLWF1dG87XHJcbiAgfVxyXG4gIFxyXG4gIC5hZGQtZG9jdW1lbnQtdXBsb2Fke1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLmFkZC1kb2N1bWVudC11cGxvYWQtaGludCB7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMjAlO1xyXG4gICAgd2lkdGg6IDM1JTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGNvbG9yOiAjYjViNWI1O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgbWFyZ2luLXRvcDogMjJweDtcclxuICB9IiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIiwiQGltcG9ydCAndmFycyc7XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJHBhdGgsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICBzcmMgOiB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICB9XHJcblxyXG59XHJcblxyXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XHJcbiAgJHJlbVNpemU6ICRzaXplIC8gMTZweDtcclxuICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA4MDA7XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iLCIvLyMjIEdlbmVyYWxcclxuJGNkbi1mb250LXBhdGg6ICdmb250cyc7XHJcbiRjZG4taWNvbi1wYXRoOiAnaWNvbnMnO1xyXG5cclxuXHJcbi8vICMjIEZvbnRzXHJcbiRmb250LWZhbWlseTogJ3NvdXJjZS1zYW5zJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRmb250LWZhbWlseS1oZWFkbGluZTogJ21vbnRzZXJyYXQnLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuXHJcbi8vICMgR2VuZXJhbCBlbGVtZW50cyBzdHlsZXNcclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4kYm94LXNoYWRvdy1tZWRpdW06IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTYpO1xyXG4kYm94LXNoYWRvdy1saWdodDogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45OCk7XHJcbiRib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG4vLyAjIyBOYXZpZ2F0aW9uXHJcbiRuYXZpZ2F0aW9uLXdpZHRoOiAyNjBweDtcclxuJG5hdmlnYXRpb24tbW9iaWxlLWhlaWdodDogNTBweDtcclxuXHJcbi8vICMjIExheW91dFxyXG4kY29udGVudC1wYWRkaW5nOiA1MHB4O1xyXG4kY29udGVudC1wYWRkaW5nLW1vYmlsZTogMjBweDtcclxuXHJcblxyXG5cclxuIl19 */\"","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { PopinService } from '../../shared/ui/popin.service';\r\nimport { DriverService } from '../../driver/shared/driver.service';\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { HelpService } from '../shared/help.service';\r\nimport { SelectMenuComponent } from '../../shared/app-forms/select-menu/select-menu.component';\r\nimport { TranslationService } from '../../shared/translation/translation.service';\r\nimport { contractIsStatusOfType } from '../../driver/shared/contract/contract-status.helper';\r\nimport { ContractConsolidatedStatusType } from '../../driver/shared/contract/contract-status.const';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\nimport { GtmService } from '../../shared/gtm/gtm.service';\r\nimport { UserProfile } from 'app/driver/shared/models/user-profile.model';\r\nimport { UserRoleContract } from 'app/driver/shared/models/user-contract.model';\r\nimport { ContactRequest } from '../shared/models/create-case-request.model';\r\nimport { SnackbarService } from 'app/shared/snackbar/snackbar.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-help-case-request',\r\n templateUrl: './help-case-request.component.html',\r\n styleUrls: ['./help-case-request.component.scss'],\r\n})\r\nexport class HelpCaseRequestComponent implements OnDestroy, OnInit {\r\n public newUserProfile: UserProfile;\r\n public form: FormGroup;\r\n public submitted = false;\r\n public error: number;\r\n public isLoading = false;\r\n\r\n public vehicleList = [];\r\n public vehicleSelected = 0;\r\n\r\n public serviceList = [];\r\n public categoryList = [];\r\n public subCategoryList = [];\r\n public readonly GTM_EVENTS = GTM_EVENTS;\r\n\r\n @ViewChild('service') serviceField: SelectMenuComponent;\r\n @ViewChild('category') categoryField: SelectMenuComponent;\r\n @ViewChild('subCategory') subCategoryField: SelectMenuComponent;\r\n\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private driverService: DriverService,\r\n private helpService: HelpService,\r\n private popinService: PopinService,\r\n private gtmService: GtmService,\r\n private snackBarService: SnackbarService,\r\n private translationService: TranslationService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.popinService.opened(true);\r\n this.getDriver();\r\n this.getServices();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n public updateVehicleList(obj): void {\r\n this.form.get('vehicle').setValue(obj.id);\r\n }\r\n\r\n public updateServiceList(obj): void {\r\n this.form.get('service').setValue(obj.id);\r\n this.categoryList = [];\r\n this.subCategoryList = [];\r\n this.resetSelect(this.categoryField);\r\n this.resetSelect(this.subCategoryField);\r\n this.form.removeControl('category');\r\n this.form.removeControl('subCategory');\r\n\r\n if (obj.subjects && obj.subjects.length > 0) {\r\n this.form.addControl(\r\n 'category',\r\n new FormControl('', Validators.required)\r\n );\r\n obj.subjects.forEach((category) => {\r\n this.categoryList.push(category);\r\n });\r\n }\r\n }\r\n\r\n public updateCategoryList(obj): void {\r\n this.form.get('category').setValue(obj.id);\r\n\r\n this.subCategoryList = [];\r\n this.resetSelect(this.subCategoryField);\r\n this.form.removeControl('subCategory');\r\n\r\n if (obj.subSubjects && obj.subSubjects.length > 0) {\r\n this.form.addControl(\r\n 'subCategory',\r\n new FormControl('', Validators.required)\r\n );\r\n obj.subSubjects.forEach((subCategory) => {\r\n this.subCategoryList.push(subCategory);\r\n });\r\n }\r\n }\r\n\r\n public updateSubCategoryList(obj): void {\r\n this.form.get('subCategory').setValue(obj.id);\r\n }\r\n\r\n public selectClick(selectId: string): void {\r\n switch (selectId) {\r\n case 'service':\r\n this.hideSelectList(this.categoryField);\r\n this.hideSelectList(this.subCategoryField);\r\n break;\r\n case 'category':\r\n this.hideSelectList(this.serviceField);\r\n this.hideSelectList(this.subCategoryField);\r\n break;\r\n case 'subCategory':\r\n this.hideSelectList(this.serviceField);\r\n this.hideSelectList(this.categoryField);\r\n break;\r\n }\r\n }\r\n\r\n public onSubmit(): void {\r\n if (!this.form.valid) {\r\n return;\r\n }\r\n this.isLoading = true;\r\n const requestParams: ContactRequest = {\r\n contractId: this.form.get('vehicle').value,\r\n category: this.form.get('service').value,\r\n subject: this.form.get('category')\r\n ? this.form.get('category').value\r\n : null,\r\n subSubject: this.form.get('subCategory')\r\n ? this.form.get('subCategory').value\r\n : null,\r\n details: this.form.get('message').value,\r\n culture: '',\r\n };\r\n\r\n this.helpService.createCaseRequest(requestParams).subscribe(\r\n (response) => {\r\n this.isLoading = false;\r\n this.snackBarService.success('help-case_request_panel-form_success');\r\n this.onBackClick();\r\n this.gtmService.sendEvent(GTM_EVENTS.assistanceCreateACase);\r\n },\r\n (error) => {\r\n this.isLoading = false;\r\n this.error = error.status;\r\n }\r\n );\r\n }\r\n\r\n public onBackClick(): void {\r\n this.popinService.opened(false);\r\n this.router.navigate(['feed/help']);\r\n }\r\n\r\n private getDriver(): void {\r\n this.driverService.newDriverStream.subscribe((newDriver: UserProfile) => {\r\n this.newUserProfile = newDriver;\r\n this.generateVehicleList();\r\n this.generateFormGroup();\r\n });\r\n }\r\n\r\n private getServices(): void {\r\n this.helpService.getCategories().subscribe((categories) => {\r\n this.serviceList = categories;\r\n\r\n if (this.translationService.language.toLowerCase() === 'en-us') {\r\n this.serviceList.forEach((service) => {\r\n service.label = service.id;\r\n service.subjects = this.translateSubjectsLabels(service.subjects);\r\n });\r\n }\r\n });\r\n }\r\n\r\n private generateVehicleList(): void {\r\n this.vehicleList = this.driverService\r\n .getNewUserRole(this.newUserProfile)\r\n .contracts.filter((contract: UserRoleContract) => {\r\n return contractIsStatusOfType(\r\n contract,\r\n ContractConsolidatedStatusType.Active\r\n );\r\n })\r\n .map((contract: UserRoleContract) => {\r\n return {\r\n id: contract.id,\r\n label: `${contract.vehicle.brand} ${contract.vehicle.plate}`,\r\n };\r\n });\r\n\r\n if (this.vehicleList.length === 1) {\r\n this.vehicleSelected = 0;\r\n }\r\n }\r\n\r\n private generateFormGroup(): void {\r\n this.form = this.formBuilder.group({\r\n vehicle: ['', Validators.required],\r\n service: ['', Validators.required],\r\n category: ['', Validators.required],\r\n message: ['', Validators.required],\r\n });\r\n }\r\n\r\n private translateSubjectsLabels(subjects: any[]): any[] {\r\n if (!subjects || subjects.length === 0) {\r\n return [];\r\n }\r\n\r\n return subjects.map((subject) => {\r\n subject.label = subject.id;\r\n subject.subSubjects = this.translateSubSubjectsLabels(\r\n subject.subSubjects\r\n );\r\n return subject;\r\n });\r\n }\r\n\r\n private translateSubSubjectsLabels(subSubjects: any[]): any[] {\r\n if (!subSubjects || subSubjects.length === 0) {\r\n return [];\r\n }\r\n\r\n return subSubjects.map((subSubject) => {\r\n subSubject.label = subSubject.id;\r\n return subSubject;\r\n });\r\n }\r\n\r\n private hideSelectList(selectField: SelectMenuComponent): void {\r\n if (selectField) {\r\n selectField.showList = false;\r\n }\r\n }\r\n\r\n private resetSelect(selectField: SelectMenuComponent): void {\r\n if (selectField) {\r\n selectField.resetSelect();\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n

{{ 'help-contact_us_panel-contact_ald_title'| translate }}

\\r\\n\\r\\n

{{ 'help-contact_us_panel-contact_ald_description'| translate }}

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n

{{'global-generic_terms-incorrect_input'| translate}}

\\r\\n

\\r\\n {{'global-generic_terms-generic_server_error'| translate}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n

{{ 'help-contact_us_panel-message_label'| translate }}

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n padding: 57px 0; }\\n.main-title {\\n font-size: 1.875em;\\n line-height: 1.16666667em;\\n font-weight: 500;\\n margin-bottom: 10px; }\\np {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n font-weight: 400; }\\n.form .form-input.driver, .form .form-input.other-driver-gender, .form .form-input.vehicle-behavior, .form .form-input.injured-people, .form .form-input.car-damage {\\n margin: 40px auto 55px auto; }\\n.form .form-input.details {\\n margin: 40px auto 40px auto; }\\n.form .form-input.details .textarea-title {\\n margin-bottom: 15px; }\\n.form textarea {\\n display: block;\\n width: 100%;\\n margin-top: 16px;\\n max-width: 375px;\\n height: 90px;\\n border: 1px solid #00cfff;\\n font-weight: 400;\\n font-size: 1.125em;\\n line-height: 1.22222222em; }\\n.form .maintenance-type {\\n margin: 40px 0 40px 0; }\\n.form .maintenance-type .radio-title {\\n color: #525252; }\\n.form .maintenance-type .radio-container {\\n display: flex;\\n width: 100%;\\n flex-wrap: wrap;\\n align-items: center; }\\n.form .maintenance-type .radio-container input {\\n margin-right: 0.55em; }\\n.form .maintenance-type .radio-container .radio-label {\\n transition: color 0.3s ease-in-out; }\\n.form .maintenance-type .radio-container input[type=\\\"radio\\\"]:checked + .radio-render + .radio-label {\\n color: #00cfff; }\\n.form .maintenance-type .radio-container + .radio-container {\\n margin-top: 20px; }\\n.next-btn {\\n margin-top: 40px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9oZWxwLWNvbnRhY3QtdXMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWNvbnRhY3QtdXMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1jb250YWN0LXVzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1jb250YWN0LXVzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWNvbnRhY3QtdXMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWNvbnRhY3QtdXMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtY29udGFjdC11cy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcaGVscFxcaGVscC1jb250YWN0LXVzXFxoZWxwLWNvbnRhY3QtdXMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1jb250YWN0LXVzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWNvbnRhY3QtdXMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1jb250YWN0LXVzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksZ0JBQWUsRUFDbEI7QUFFRDtFQUNJLG1CQ21IOEI7RURsSDlCLDBCQ2tIOEI7RURqSDlCLGlCRXFCdUI7RUZwQnZCLG9CQUFtQixFQUN0QjtBQUVEO0VBQ0ksbUJDNEc4QjtFRDNHOUIsMEJDMkc4QjtFRDFHOUIsaUJFYXVCLEVGWjFCO0FBRUQ7RUFLWSw0QkFBMkIsRUFDOUI7QUFOVDtFQVNZLDRCQUEyQixFQUk5QjtBQWJUO0lBV2dCLG9CQUFtQixFQUN0QjtBQVpiO0VBaUJRLGVBQWM7RUFDZCxZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLGlCQUFnQjtFQUNoQixhQUFZO0VBQ1osMEJHcENnQjtFSHNDaEIsaUJFZG1CO0VGZW5CLG1CQzhFMEI7RUQ3RTFCLDBCQzZFMEIsRUQ1RTdCO0FBM0JMO0VBOEJRLHNCQUFvQixFQStCdkI7QUE3REw7SUFpQ1ksZUc3Qk8sRUg4QlY7QUFsQ1Q7SUFxQ1ksY0FBYTtJQUNiLFlBQVU7SUFDVixnQkFBYztJQUNkLG9CQUFtQixFQWN0QjtBQXREVDtNQTJDZ0IscUJBQW1CLEVBQ3RCO0FBNUNiO01BK0NnQixtQ0FBa0MsRUFDckM7QUFoRGI7TUFtRGdCLGVHakVRLEVIbUVYO0FBckRiO0lBMkRZLGlCQUFlLEVBQ2xCO0FBSVQ7RUFDSSxpQkFBZSxFQUNsQiIsImZpbGUiOiJzcmMvYXBwL2hlbHAvaGVscC1jb250YWN0LXVzL2hlbHAtY29udGFjdC11cy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbi5tYWluLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiA1N3B4IDA7XHJcbn1cclxuXHJcbi5tYWluLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMzBweCk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMzVweCwgMzBweCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbnAge1xyXG4gICAgZm9udC1zaXplOiBlbSgxOHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgyNXB4LCAxOHB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcclxufVxyXG5cclxuLmZvcm0ge1xyXG5cclxuICAgIC5mb3JtLWlucHV0IHtcclxuXHJcbiAgICAgICAgJi5kcml2ZXIsICYub3RoZXItZHJpdmVyLWdlbmRlciwgJi52ZWhpY2xlLWJlaGF2aW9yLCAmLmluanVyZWQtcGVvcGxlLCAmLmNhci1kYW1hZ2Uge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggYXV0byA1NXB4IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmRldGFpbHMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggYXV0byA0MHB4IGF1dG87XHJcbiAgICAgICAgICAgIC50ZXh0YXJlYS10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMzc1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcblxyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICAgICAgICBmb250LXNpemU6IGVtKDE4cHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgyMnB4LCAxOHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAubWFpbnRlbmFuY2UtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luOjQwcHggMCA0MHB4IDA7XHJcblxyXG4gICAgICAgIC5yYWRpby10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS05MDAnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yYWRpby1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6d3JhcDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDowLjU1ZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5yYWRpby1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5yYWRpby1yZW5kZXIgKyAucmFkaW8tbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgIC5yYWRpby1jb250YWluZXIgKyAucmFkaW8tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDoyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm5leHQtYnRuIHtcclxuICAgIG1hcmdpbi10b3A6NDBweDtcclxufVxyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iLCJAaW1wb3J0ICd2YXJzJztcclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkcGF0aCwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgIHNyYyA6IHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcclxuICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xyXG4gIEByZXR1cm4gJHJlbVNpemUgKiAxcmVtO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgZm9udC1zaXplOiAkc2l6ZTtcclxuICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA0MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDgwMDtcclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiJdfQ== */\"","import { FeatureService } from '../../shared/feature/feature.service';\r\nimport { FeatureConst } from '../../shared/feature/feature.consts';\r\nimport { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { PopinService } from '../../shared/ui/popin.service';\r\nimport { HelpService } from '../shared/help.service';\r\nimport { HelpConst } from '../shared/help.const';\r\nimport { SelectMenuComponent } from '../../shared/app-forms/select-menu/select-menu.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ContactRequest } from '../shared/models/create-case-request.model';\r\nimport { DriverService } from '../../driver/shared/driver.service';\r\nimport { contractIsStatusOfType } from '../../driver/shared/contract/contract-status.helper';\r\nimport { ContractConsolidatedStatusType } from '../../driver/shared/contract/contract-status.const';\r\nimport { UserProfile } from 'app/driver/shared/models/user-profile.model';\r\nimport { UserRoleContract } from 'app/driver/shared/models/user-contract.model';\r\nimport { SnackbarService } from 'app/shared/snackbar/snackbar.service';\r\n\r\n@Component({\r\n selector: 'app-help-contact-us',\r\n templateUrl: './help-contact-us.component.html',\r\n styleUrls: ['./help-contact-us.component.scss']\r\n})\r\nexport class HelpContactUsComponent implements OnInit, OnDestroy {\r\n\r\n public form: FormGroup;\r\n public datasCategorySelectMenu = [];\r\n public submitted = false;\r\n public isAppointmentRequestSelected: Boolean = false;\r\n public datasSubjectSelectMenu = [];\r\n public isMaintenanceFeatureActivated: boolean;\r\n public newUserProfile: UserProfile;\r\n public vehicleList = [];\r\n public vehicleSelected = 0;\r\n public isLoading = false;\r\n\r\n @ViewChild('subjectField') subjectField: SelectMenuComponent;\r\n @ViewChild('category') category: SelectMenuComponent;\r\n\r\n public error = null;\r\n\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private popinService: PopinService,\r\n private helpService: HelpService,\r\n private translateService: TranslateService,\r\n private featureService: FeatureService,\r\n private snackBarService: SnackbarService,\r\n private driverService: DriverService) {\r\n }\r\n\r\n onSubmit() {\r\n if (!this.form.valid) {\r\n return;\r\n }\r\n this.isLoading = true;\r\n const category = this.form.get('category').value;\r\n const subject = this.form.get('subject') ? this.form.get('subject').value : { id: null, label: null };\r\n const details = this.form.get('details').value;\r\n\r\n this.translateService.get(subject.label ? [category, subject.label] : category)\r\n .subscribe(translations => {\r\n let categoryParam;\r\n if (subject.label) {\r\n subject.label = translations[subject.label];\r\n categoryParam = translations[category];\r\n } else {\r\n categoryParam = translations;\r\n }\r\n\r\n const contactAldParams: ContactRequest = {\r\n contractId: this.form.get('vehicle').value,\r\n category: categoryParam,\r\n subject: subject.id,\r\n details: details,\r\n culture: '',\r\n };\r\n\r\n this.helpService.contactAld(contactAldParams).subscribe(\r\n () => {\r\n this.isLoading = false;\r\n this.snackBarService.success('help-contact_us_panel-form_success');\r\n this.onBackClick();\r\n },\r\n error => {\r\n this.isLoading = false;\r\n if (error.status && error.status.toString().substring(0, 1) === '4') {\r\n this.error = 400;\r\n } else {\r\n this.error = true;\r\n }\r\n }\r\n );\r\n });\r\n }\r\n\r\n generateFormGroup() {\r\n this.form = this.formBuilder.group({\r\n vehicle: ['', Validators.required],\r\n details: ['', Validators.required],\r\n category: ['', Validators.required],\r\n subject: ['']\r\n });\r\n }\r\n\r\n private getDriver(): void {\r\n this.driverService.newDriverStream\r\n .subscribe((newDriver: UserProfile) => {\r\n this.newUserProfile = newDriver;\r\n this.generateVehicleList();\r\n this.generateFormGroup();\r\n });\r\n }\r\n\r\n public updateVehicleList(obj): void {\r\n this.form.get('vehicle').setValue(obj.id);\r\n }\r\n\r\n private generateVehicleList(): void {\r\n this.vehicleList = this.driverService.getNewUserRole(this.newUserProfile).contracts.filter((contract: UserRoleContract) => {\r\n return contractIsStatusOfType(contract, ContractConsolidatedStatusType.Active);\r\n }).map((contract: UserRoleContract) => {\r\n return {\r\n id: contract.id,\r\n label: `${contract.vehicle.brand} ${contract.vehicle.plate}`\r\n };\r\n });\r\n\r\n if (this.vehicleList.length === 1) {\r\n this.vehicleSelected = 0;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.getDriver();\r\n this.featureService\r\n .isFeatureActivated(FeatureConst.features.MaintenanceRequest).subscribe((value) => {\r\n this.isMaintenanceFeatureActivated = value;\r\n });\r\n this.popinService.opened(true);\r\n this.helpService.getCategories()\r\n .subscribe(categories => {\r\n this.datasCategorySelectMenu = categories.map((category) => {\r\n category.label = 'help-categories_and_subjects-' + category.label;\r\n category.subjects = category.subjects.map((subject) => {\r\n subject.label = 'help-categories_and_subjects-' + subject.label;\r\n return subject\r\n })\r\n return category;\r\n });\r\n\r\n });\r\n }\r\n\r\n updateSelectCategory(obj) {\r\n const that = this;\r\n this.form.get('category').setValue(obj.label);\r\n this.datasSubjectSelectMenu = [];\r\n if (this.subjectField) {\r\n this.subjectField.resetSelect();\r\n }\r\n this.form.removeControl('subject');\r\n\r\n if (obj.subjects) {\r\n obj.subjects.forEach(function (el) {\r\n that.form.addControl('subject', new FormControl('', Validators.required));\r\n that.datasSubjectSelectMenu.push(el);\r\n });\r\n }\r\n }\r\n\r\n updateSelectSubject(obj) {\r\n this.form.get('subject').setValue(obj);\r\n if (this.isMaintenanceFeatureActivated) {\r\n const selectedSubjectId = Number(obj.id);\r\n this.isAppointmentRequestSelected = selectedSubjectId === HelpConst.maintenanceType.ScheduledMaintenance || selectedSubjectId === HelpConst.maintenanceType.UnScheduledMaintenance;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n // Back navigator\r\n this.popinService.opened(false);\r\n }\r\n\r\n onBackClick() {\r\n this.popinService.opened(false);\r\n this.router.navigate(['feed/help']);\r\n }\r\n\r\n selectClick(selectId) {\r\n if (selectId === 'selectCategory' && typeof (this.subjectField) !== 'undefined' && this.subjectField.showList) {\r\n this.subjectField.showList = false;\r\n } else if (selectId === 'selectSubject' && typeof (this.category) !== 'undefined' && this.category.showList) {\r\n this.category.showList = false;\r\n }\r\n }\r\n\r\n goToMaintenanceInput() {\r\n if (!this.isMaintenanceFeatureActivated) {\r\n return;\r\n }\r\n this.popinService.opened(false);\r\n this.helpService.setMaintenanceRequestParameters({\r\n maintenanceType: this.form.get('subject').value,\r\n fromUrl: '/feed/help-contact-us'\r\n });\r\n this.router.navigate(['/feed/help-maintenance-request']);\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n

{{'help-declare_damage_panel-declare_damage_title'| translate}}

\\r\\n

{{'help-declare_damage_panel-legend'| translate}}

\\r\\n
\\r\\n \\r\\n

{{'global-generic_terms-generic_error'| translate}}

\\r\\n

{{'global-generic_terms-generic_server_error'| translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'help-declare_damage_panel-vehicle_moving_question'| translate }}

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'help-declare_damage_panel-anyone_injured_question'| translate }}

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'help-declare_damage_panel-describe_damage_question'| translate }}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
{{ \\\"documents-upload_panel-valid_file_format\\\" | translate }}: {{ fileFormats }}
\\r\\n
\\r\\n
{{ \\\"documents-upload_file_error\\\" | translate }}
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ file}}

\\r\\n
\\r\\n
\\r\\n

{{ 'help-declare_damage_panel-other_damage_question'| translate }}

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n padding: 57px 0; }\\n.main-title {\\n font-size: 1.875em;\\n line-height: 1.16666667em;\\n font-weight: 500;\\n margin-bottom: 10px; }\\np {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n font-weight: 400;\\n margin-bottom: 10px; }\\n.form .radio-title,\\n.form .textarea-title {\\n color: #525252; }\\n.form .form-input.driver, .form .form-input.other-driver-gender, .form .form-input.vehicle-behavior, .form .form-input.injured-people, .form .form-input.car-damage {\\n margin: 40px auto 55px auto; }\\n.form .form-input.date-time input,\\n.form .form-input.time input {\\n padding-right: 25px; }\\n.form .form-input.other-damage {\\n margin: 40px auto 40px auto; }\\n.form .form-input.other-damage .textarea-title {\\n margin-bottom: 15px; }\\n.form .form-input .radio-container {\\n margin-right: 16px; }\\n.form .form-input .radio-container:first-of-type {\\n margin-bottom: 16px; }\\n.form .form-input.time app-svg-icon {\\n top: 19px;\\n width: 18px;\\n height: 18px; }\\n.form .form-input.date-time app-svg-icon {\\n top: 19px; }\\n.form app-string-input {\\n display: block; }\\n.form app-string-input app-svg-icon {\\n position: absolute;\\n top: 12px;\\n right: 0;\\n width: 17px;\\n height: 17px;\\n color: #00cfff; }\\n.form textarea {\\n display: block;\\n width: 100%;\\n margin-top: 16px;\\n max-width: 375px;\\n height: 90px;\\n border: 1px solid #00cfff;\\n font-weight: 400;\\n font-size: 1.125em;\\n line-height: 1.22222222em; }\\n.snap-container {\\n margin-top: 16px;\\n margin-bottom: 16px;\\n text-align: center;\\n display: flex; }\\n.list-unstyled {\\n list-style: none; }\\n.list-unstyled li {\\n display: inline-block;\\n padding: 5px 10px;\\n cursor: pointer; }\\n.show {\\n display: block; }\\n.hide {\\n display: none; }\\n.add-document-file-icon {\\n position: absolute;\\n top: 47%;\\n transform: translateY(-50%);\\n right: 6px;\\n width: 24px;\\n height: 18px; }\\n.add-document-file-input {\\n position: absolute;\\n opacity: 0;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%; }\\n.add-document-file-label {\\n color: white;\\n font-size: 12px; }\\n.add-document-file {\\n margin-top: 0px;\\n width: 100%;\\n border-radius: 50px;\\n text-transform: uppercase;\\n font-family: montserrat;\\n cursor: pointer; }\\n.add-document-chosen-file {\\n color: #00cfff;\\n font-size: 12px;\\n margin-bottom: 15px;\\n display: inline-block;\\n margin-left: 10px; }\\n::ng-deep .snap-btn {\\n height: 50px;\\n text-transform: math-auto;\\n background: #050b7f;\\n color: white;\\n width: 30%;\\n font-weight: 800;\\n border-radius: 62px;\\n font-size: 12px; }\\n::ng-deep input[type=\\\"submit\\\"], input[type=\\\"reset\\\"], .button {\\n display: inline-block;\\n max-width: 40%;\\n padding: 0.73em 1.575em;\\n border-radius: 30px;\\n border: none;\\n min-height: 49px;\\n background-color: #050b7f;\\n color: #FFFFFF;\\n font-size: 1.125em;\\n font-weight: 700;\\n line-height: 1;\\n text-align: center;\\n text-decoration: none;\\n cursor: pointer;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n.add-document-file-label {\\n color: white;\\n font-size: 12px;\\n text-transform: math-auto; }\\n.add-document-upload {\\n display: inline-flex;\\n width: 100%;\\n align-items: center;\\n margin-left: 5px; }\\n.add-document-upload-hint {\\n word-break: break-all;\\n color: #b5b5b5;\\n font-size: 13px; }\\n.preview-image {\\n display: flex;\\n flex-wrap: wrap;\\n gap: 18px;\\n margin-top: 5px; }\\n.add-document-upload-error {\\n color: red;\\n font-size: 14px;\\n font-weight: 500;\\n margin: 8px 11px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9oZWxwLWRhbWFnZS1kZWNsYXJhdGlvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZGFtYWdlLWRlY2xhcmF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZGFtYWdlLWRlY2xhcmF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1kYW1hZ2UtZGVjbGFyYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZGFtYWdlLWRlY2xhcmF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1kYW1hZ2UtZGVjbGFyYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZGFtYWdlLWRlY2xhcmF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxoZWxwXFxoZWxwLWRhbWFnZS1kZWNsYXJhdGlvblxcaGVscC1kYW1hZ2UtZGVjbGFyYXRpb24uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1kYW1hZ2UtZGVjbGFyYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZGFtYWdlLWRlY2xhcmF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZGFtYWdlLWRlY2xhcmF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0UsZ0JBQWUsRUFDaEI7QUFFRDtFQUNFLG1CQ21IZ0M7RURsSGhDLDBCQ2tIZ0M7RURqSGhDLGlCRXFCeUI7RUZwQnpCLG9CQUFtQixFQUNwQjtBQUVEO0VBQ0UsbUJDNEdnQztFRDNHaEMsMEJDMkdnQztFRDFHaEMsaUJFYXlCO0VGWnpCLG9CQUFtQixFQUNwQjtBQUVEOztFQUdJLGVHQWUsRUhDaEI7QUFKSDtFQVlNLDRCQUEyQixFQUM1QjtBQWJMOztFQWlCTSxvQkFBbUIsRUFDcEI7QUFsQkw7RUFxQk0sNEJBQTJCLEVBSTVCO0FBekJMO0lBdUJRLG9CQUFtQixFQUNwQjtBQXhCUDtFQTRCTSxtQkFBa0IsRUFLbkI7QUFqQ0w7SUErQlEsb0JBQW1CLEVBQ3BCO0FBaENQO0VBb0NNLFVBQVM7RUFDVCxZQUFXO0VBQ1gsYUFBWSxFQUNiO0FBdkNMO0VBMENNLFVBQVMsRUFDVjtBQTNDTDtFQStDSSxlQUFjLEVBVWY7QUF6REg7SUFrRE0sbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxTQUFRO0lBQ1IsWUFBVztJQUNYLGFBQVk7SUFDWixlR3RFa0IsRUh1RW5CO0FBeERMO0VBNERJLGVBQWM7RUFDZCxZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLGlCQUFnQjtFQUNoQixhQUFZO0VBQ1osMEJHaEZvQjtFSGtGcEIsaUJFMUR1QjtFRjJEdkIsbUJDa0M4QjtFRGpDOUIsMEJDaUM4QixFRGhDL0I7QUFHSDtFQUNFLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLGNBQWEsRUFDZDtBQUVEO0VBQ0UsaUJBQWdCLEVBQ2pCO0FBRUQ7RUFDRSxzQkFBcUI7RUFDckIsa0JBQWlCO0VBQ2pCLGdCQUFlLEVBQ2hCO0FBRUQ7RUFDRSxlQUFjLEVBQ2Y7QUFFRDtFQUNFLGNBQWEsRUFDZDtBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUiw0QkFBMkI7RUFDM0IsV0FBVTtFQUNWLFlBQVc7RUFDWCxhQUFZLEVBQ2I7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWSxFQUNiO0FBRUQ7RUFDRSxhQUFZO0VBQ1osZ0JBQWUsRUFDaEI7QUFFRDtFQUNFLGdCQUFlO0VBQ2YsWUFBVztFQUNYLG9CQUFtQjtFQUNuQiwwQkFBeUI7RUFDekIsd0JBQXVCO0VBQ3ZCLGdCQUFlLEVBQ2hCO0FBRUQ7RUFDRSxlQUFjO0VBQ2QsZ0JBQWU7RUFDZixvQkFBbUI7RUFDbkIsc0JBQXFCO0VBQ3JCLGtCQUFpQixFQUNsQjtBQUVEO0VBQ0UsYUFBWTtFQUNaLDBCQUF5QjtFQUN6QixvQkFBbUI7RUFDbkIsYUFBWTtFQUNaLFdBQVU7RUFDVixpQkFBZ0I7RUFDaEIsb0JBQW1CO0VBQ25CLGdCQUFlLEVBQ2hCO0FBRUQ7RUFDRSxzQkFBcUI7RUFDckIsZUFBYztFQUNkLHdCQUF1QjtFQUN2QixvQkFBbUI7RUFDbkIsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQiwwQkFBeUI7RUFDekIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsZ0JBQWU7RUFDZiw4Q0FBNkMsRUFFOUM7QUFFRDtFQUNFLGFBQVk7RUFDWixnQkFBZTtFQUNmLDBCQUF5QixFQUMxQjtBQUVEO0VBQ0UscUJBQW9CO0VBQ3BCLFlBQVc7RUFDWCxvQkFBbUI7RUFDbkIsaUJBQWdCLEVBQ2pCO0FBRUQ7RUFDRSxzQkFBcUI7RUFDckIsZUFBYztFQUNkLGdCQUFlLEVBQ2hCO0FBRUQ7RUFDRSxjQUFhO0VBQ2IsZ0JBQWU7RUFDZixVQUFTO0VBQ1QsZ0JBQWUsRUFDaEI7QUFFRDtFQUNFLFdBQVU7RUFDVixnQkFBZTtFQUNmLGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFDakIiLCJmaWxlIjoic3JjL2FwcC9oZWxwL2hlbHAtZGFtYWdlLWRlY2xhcmF0aW9uL2hlbHAtZGFtYWdlLWRlY2xhcmF0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuLm1haW4tY29udGFpbmVyIHtcclxuICBwYWRkaW5nOiA1N3B4IDA7XHJcbn1cclxuXHJcbi5tYWluLXRpdGxlIHtcclxuICBmb250LXNpemU6IGVtKDMwcHgpO1xyXG4gIGxpbmUtaGVpZ2h0OiBlbSgzNXB4LCAzMHB4KTtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG5wIHtcclxuICBmb250LXNpemU6IGVtKDE4cHgpO1xyXG4gIGxpbmUtaGVpZ2h0OiBlbSgyNXB4LCAxOHB4KTtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmZvcm0ge1xyXG4gIC5yYWRpby10aXRsZSxcclxuICAudGV4dGFyZWEtdGl0bGUge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTkwMCcpO1xyXG4gIH1cclxuXHJcbiAgLmZvcm0taW5wdXQge1xyXG4gICAgJi5kcml2ZXIsXHJcbiAgICAmLm90aGVyLWRyaXZlci1nZW5kZXIsXHJcbiAgICAmLnZlaGljbGUtYmVoYXZpb3IsXHJcbiAgICAmLmluanVyZWQtcGVvcGxlLFxyXG4gICAgJi5jYXItZGFtYWdlIHtcclxuICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gNTVweCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICYuZGF0ZS10aW1lIGlucHV0LFxyXG4gICAgJi50aW1lIGlucHV0IHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICAgIH1cclxuXHJcbiAgICAmLm90aGVyLWRhbWFnZSB7XHJcbiAgICAgIG1hcmdpbjogNDBweCBhdXRvIDQwcHggYXV0bztcclxuICAgICAgLnRleHRhcmVhLXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJhZGlvLWNvbnRhaW5lciB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuXHJcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYudGltZSBhcHAtc3ZnLWljb24ge1xyXG4gICAgICB0b3A6IDE5cHg7XHJcbiAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kYXRlLXRpbWUgYXBwLXN2Zy1pY29uIHtcclxuICAgICAgdG9wOiAxOXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXBwLXN0cmluZy1pbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICBhcHAtc3ZnLWljb24ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMTJweDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICBtYXgtd2lkdGg6IDM3NXB4O1xyXG4gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuXHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IGVtKDE4cHgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IGVtKDIycHgsIDE4cHgpO1xyXG4gIH1cclxufVxyXG5cclxuLnNuYXAtY29udGFpbmVyIHtcclxuICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5saXN0LXVuc3R5bGVkIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4ubGlzdC11bnN0eWxlZCBsaSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnNob3cge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uaGlkZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmFkZC1kb2N1bWVudC1maWxlLWljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDQ3JTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgcmlnaHQ6IDZweDtcclxuICB3aWR0aDogMjRweDtcclxuICBoZWlnaHQ6IDE4cHg7XHJcbn1cclxuXHJcbi5hZGQtZG9jdW1lbnQtZmlsZS1pbnB1dCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uYWRkLWRvY3VtZW50LWZpbGUtbGFiZWwge1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbi5hZGQtZG9jdW1lbnQtZmlsZSB7XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LWZhbWlseTogbW9udHNlcnJhdDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5hZGQtZG9jdW1lbnQtY2hvc2VuLWZpbGUge1xyXG4gIGNvbG9yOiAjMDBjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5zbmFwLWJ0bntcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG1hdGgtYXV0bztcclxuICBiYWNrZ3JvdW5kOiAjMDUwYjdmO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICB3aWR0aDogMzAlO1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgYm9yZGVyLXJhZGl1czogNjJweDtcclxuICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbjo6bmctZGVlcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBpbnB1dFt0eXBlPVwicmVzZXRcIl0sIC5idXR0b24ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXgtd2lkdGg6IDQwJTtcclxuICBwYWRkaW5nOiAwLjczZW0gMS41NzVlbTtcclxuICBib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBtaW4taGVpZ2h0OiA0OXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwNTBiN2Y7XHJcbiAgY29sb3I6ICNGRkZGRkY7XHJcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG4gXHJcbn1cclxuXHJcbi5hZGQtZG9jdW1lbnQtZmlsZS1sYWJlbCB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbWF0aC1hdXRvO1xyXG59XHJcblxyXG4uYWRkLWRvY3VtZW50LXVwbG9hZHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICB3aWR0aDogMTAwJTtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbn1cclxuXHJcbi5hZGQtZG9jdW1lbnQtdXBsb2FkLWhpbnQge1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICBjb2xvcjogI2I1YjViNTtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbn1cclxuXHJcbi5wcmV2aWV3LWltYWdle1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGdhcDogMThweDtcclxuICBtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbi5hZGQtZG9jdW1lbnQtdXBsb2FkLWVycm9ye1xyXG4gIGNvbG9yOiByZWQ7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgbWFyZ2luOiA4cHggMTFweDtcclxufSIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIl19 */\"","import {\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { EmailValidator } from '../../shared/app-forms/validators/email.validator';\r\nimport { DateValidator } from '../../shared/app-forms/validators/date.validator';\r\nimport { DriverService } from '../../driver/shared/driver.service';\r\nimport { PopinService } from '../../shared/ui/popin.service';\r\nimport { AppConfigService } from '../../shared/config/app-config.service';\r\nimport { HelpService } from '../shared/help.service';\r\nimport { TranslationService } from '../../shared/translation/translation.service';\r\nimport { ConfigurationModel } from '../../shared/config/configuration.model';\r\nimport { ConfigurationService } from '../../shared/config/configuration.service';\r\nimport { AppStorageService } from '../../shared/storage/common/app-storage.service';\r\nimport * as moment from 'moment';\r\nimport { contractIsStatusOfType } from '../../driver/shared/contract/contract-status.helper';\r\nimport { ContractConsolidatedStatusType } from '../../driver/shared/contract/contract-status.const';\r\nimport { MaskComponent } from '../../shared/mask/mask.component';\r\nimport { DeclareDamageRequest } from '../shared/models/declare-damage-request.model';\r\nimport { UserProfile } from 'app/driver/shared/models/user-profile.model';\r\nimport { UserRole } from 'app/driver/shared/models/user-role.model';\r\nimport { UserRoleContract } from 'app/driver/shared/models/user-contract.model';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { SnackbarService } from 'app/shared/snackbar/snackbar.service';\r\nimport { DocumentsConst } from 'app/documents/shared/documents.const';\r\nimport { DocumentsService } from 'app/documents/shared/documents.service';\r\n\r\n@Component({\r\n selector: 'app-help-damage-declaration',\r\n templateUrl: './help-damage-declaration.component.html',\r\n styleUrls: ['./help-damage-declaration.component.scss'],\r\n})\r\nexport class HelpDamageDeclarationComponent implements OnInit, OnDestroy {\r\n public newUserProfile: UserProfile;\r\n public newUserRole: UserRole;\r\n public form: FormGroup;\r\n public datasSelectMenu = [];\r\n public indexSelectMenu = -1;\r\n public addressSelected: string;\r\n public mobile: boolean;\r\n public selectedContractId: string;\r\n public selectedVehicle: string;\r\n public isLoading = false;\r\n public error = null;\r\n public countryPhoneCode: string;\r\n @ViewChild('selectAutocomplete')\r\n public selectAutocomplete;\r\n private isTimeSelected: boolean;\r\n public file = [];\r\n public fileFormats = DocumentsConst.fileFormats;\r\n urls = [];\r\n documentids = [];\r\n selectedFile = [];\r\n filesValidate: boolean;\r\n constructor(\r\n private driverService: DriverService,\r\n private helpService: HelpService,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private popinService: PopinService,\r\n private appConfig: AppConfigService,\r\n private element: ElementRef,\r\n private translationService: TranslationService,\r\n private configurationService: ConfigurationService,\r\n private gtmService: GtmService,\r\n private snackBarService: SnackbarService,\r\n private appStorageService: AppStorageService\r\n ) {\r\n this.isTimeSelected = false;\r\n this.setFormData();\r\n }\r\n\r\n private setFormData(): void {\r\n this.driverService.newDriverStream.subscribe((newDriver: UserProfile) => {\r\n this.newUserProfile = newDriver;\r\n this.newUserRole = this.driverService.getNewUserRole(newDriver);\r\n // Parse driver's vehicles and push in datasSelectMenu\r\n this.datasSelectMenu = this.newUserRole.contracts\r\n .filter((contract: UserRoleContract) => {\r\n return contractIsStatusOfType(\r\n contract,\r\n ContractConsolidatedStatusType.Active\r\n );\r\n })\r\n .map((contract: UserRoleContract) => {\r\n return {\r\n id: contract.reference,\r\n label: `${contract.vehicle.brand} ${contract.vehicle.plate}`,\r\n };\r\n });\r\n\r\n if (this.datasSelectMenu.length === 1) {\r\n this.indexSelectMenu = 0;\r\n }\r\n this.generateFormGroup();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.popinService.opened(true);\r\n this.mobile = this.appConfig.isMobileTablet;\r\n this.configurationService\r\n .getConfItems([\r\n this.appStorageService.countrySelected,\r\n 'CountryPhoneCode',\r\n ])\r\n .subscribe(\r\n (feedback: ConfigurationModel) => {\r\n this.countryPhoneCode = feedback.value;\r\n },\r\n (e) => {\r\n this.countryPhoneCode = 'error occured';\r\n }\r\n );\r\n }\r\n\r\n onSubmit() {\r\n if (this.selectedFile.length < 1) {\r\n this.filesValidate = true;\r\n }\r\n if (this.form.valid) {\r\n this.isLoading = true;\r\n const damageDeclarationParams: DeclareDamageRequest = {\r\n repairCity: this.form.get('address').value,\r\n carDamage: this.form.get('carDamage').value,\r\n date: this.getDateTime(\r\n this.form.get('date').value,\r\n this.form.get('time').value\r\n ),\r\n wasSomeoneInjured: !!this.form.get('injuredPeople').value,\r\n hasOtherDamage: !!this.form.get('otherDamage').value,\r\n otherDamageDescription: this.form.get('otherDamageDescription')\r\n ? this.form.get('otherDamageDescription').value\r\n : null,\r\n vehicle: this.selectedVehicle,\r\n wasVehicleMoving: !!this.form.get('vehicleBehavior').value,\r\n culture: this.translationService.language,\r\n contractReference: this.selectedContractId,\r\n documentIds: this.documentids,\r\n };\r\n\r\n this.uploadDocument(damageDeclarationParams);\r\n } else {\r\n this.backToTop();\r\n }\r\n }\r\n\r\n generateFormGroup() {\r\n this.form = this.formBuilder.group({\r\n vehicle: ['', Validators.required],\r\n date: ['', DateValidator.isPast],\r\n time: ['', Validators.required],\r\n address: ['', Validators.required],\r\n vehicleBehavior: ['', Validators.required],\r\n injuredPeople: ['', Validators.required],\r\n carDamage: ['', Validators.required],\r\n otherDamage: ['', Validators.required],\r\n documentIds: [],\r\n });\r\n\r\n this.formValuesChangesListener();\r\n }\r\n\r\n formValuesChangesListener() {\r\n this.form.get('otherDamage').valueChanges.subscribe((data) => {\r\n if (!!data) {\r\n this.form.addControl(\r\n 'otherDamageDescription',\r\n new FormControl('', Validators.required)\r\n );\r\n } else {\r\n this.form.removeControl('otherDamageDescription');\r\n }\r\n });\r\n }\r\n\r\n updateSelectVehicle(e) {\r\n this.form.get('vehicle').setValue(e.label);\r\n this.selectedContractId = e.id;\r\n this.selectedVehicle = e.label;\r\n }\r\n\r\n updateSelectAddress(label) {\r\n this.form.get('address').setValue(label);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n backToTop() {\r\n const el = this.element.nativeElement.querySelector('.sticky-content');\r\n const scrollInterval = setInterval(function () {\r\n el.scrollTop = el.scrollTop - 15;\r\n if (el.scrollTop <= 0) {\r\n clearInterval(scrollInterval);\r\n }\r\n }, 1);\r\n }\r\n\r\n onBackClick() {\r\n this.popinService.opened(false);\r\n this.router.navigate(['feed/help']);\r\n }\r\n\r\n getDateTime(strDate: string, strTime: string) {\r\n const dateTime = moment(strDate + ' ' + strTime);\r\n return dateTime.parseZone().toJSON();\r\n }\r\n\r\n // The 3 following methods are used as a hack to fix an issue with the time picker\r\n onflatpickrOpen(event: any) {\r\n event.instance._input.parentElement.parentElement.classList.add(\r\n 'has-value'\r\n );\r\n }\r\n\r\n onflatpickrClose(event: any) {\r\n if (!this.isTimeSelected) {\r\n event.instance._input.parentElement.parentElement.classList.remove(\r\n 'has-value'\r\n );\r\n event.instance._input.value = '';\r\n }\r\n }\r\n\r\n onflatpickrChange(event: any) {\r\n this.isTimeSelected = true;\r\n }\r\n\r\n public fileChange(event): void {\r\n this.file = [];\r\n this.selectedFile = event.target.files;\r\n this.urls = [];\r\n this.file =\r\n this.selectedFile.length > 1\r\n ? this.selectedFile.length + 'file selected'\r\n : this.selectedFile[0].name;\r\n if (this.selectedFile && this.selectedFile[0]) {\r\n const numberOfFiles = this.selectedFile.length;\r\n for (let i = 0; i < numberOfFiles; i++) {\r\n const reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n this.urls.push(e.target.result);\r\n };\r\n reader.readAsDataURL(this.selectedFile[i]);\r\n }\r\n }\r\n }\r\n\r\n async uploadDocument(damageDeclarationParams) {\r\n const titale = { Title: damageDeclarationParams.carDamage };\r\n const formData = new FormData();\r\n for (let i = 0; i < this.selectedFile.length; i++) {\r\n formData.append('fileData', JSON.stringify(titale));\r\n formData.append('file', this.selectedFile[i]);\r\n await this.helpService.uploadDocumentAction(formData).subscribe(\r\n (documentIds) => {\r\n if (documentIds) {\r\n this.documentids.push(documentIds);\r\n }\r\n if (i === this.selectedFile.length - 1) {\r\n this.damageDeclare(damageDeclarationParams);\r\n }\r\n },\r\n () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n public damageDeclare(damageDeclarationParams) {\r\n this.helpService.declareDamage(damageDeclarationParams).subscribe(\r\n (response) => {\r\n this.isLoading = false;\r\n this.snackBarService.success('help-declare_damage_panel-form_success');\r\n this.onBackClick();\r\n this.gtmService.sendEvent(GTM_EVENTS.AssistanceDamageDeclaration);\r\n },\r\n (error) => {\r\n this.isLoading = false;\r\n if (error.status && error.status.toString().substring(0, 1) === '4') {\r\n this.error = 400;\r\n } else {\r\n this.error = true;\r\n }\r\n this.backToTop();\r\n this.removeDocument();\r\n }\r\n );\r\n }\r\n\r\n public removeDocument() {\r\n this.helpService.deleteDocument(this.documentids).subscribe((res) => {\r\n this.isLoading = false;\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'help-follow_requests_panel-title'|translate}}

\\r\\n

{{'help-follow_requests_panel-subtitle'|translate}}

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
{{'help-follow_requests_panel-no_content'|translate}}
\\r\\n
{{'help-follow_requests_panel-page_error'|translate}}
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n padding: 0 0 57px 0; }\\n.main-container .header {\\n background: #FFFFFF;\\n padding: 57px 0 30px;\\n margin-bottom: 30px; }\\n.main-container .header .inner-header {\\n padding: 0 45px; }\\n.main-container .list-container, .main-container .loadingCases {\\n padding: 0 45px; }\\n.main-title {\\n font-size: 1.875em;\\n line-height: 1.16666667em;\\n font-weight: 500;\\n margin-bottom: 10px; }\\np {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n font-weight: 400; }\\n.loading {\\n display: flex;\\n padding: 20px;\\n margin-bottom: 10px;\\n background: #FFFFFF;\\n border-radius: 5px 5px 5px 5px;\\n -moz-border-radius: 5px 5px 5px 5px;\\n -webkit-border-radius: 5px 5px 5px 5px;\\n box-shadow: 0px 5px 10px 1px rgba(0, 0, 0, 0.25); }\\n.loading .notification-message {\\n width: 100%;\\n padding-top: 1em; }\\n.loading .notification-message p {\\n line-height: 1.5; }\\n.loading .notification-message p span {\\n display: block;\\n width: 90%;\\n height: 10px;\\n margin-bottom: 10px;\\n background-color: #d7d7d7;\\n position: relative;\\n overflow: hidden; }\\n.loading .notification-message p span::before {\\n content: '';\\n display: block;\\n position: absolute;\\n top: -25px;\\n left: 0;\\n width: 60px;\\n height: 50px;\\n background-image: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0));\\n transform-origin: 50% 50%;\\n -webkit-animation: light-beam 2000ms cubic-bezier(0.26, 0, 0.41, 0.85) infinite;\\n animation: light-beam 2000ms cubic-bezier(0.26, 0, 0.41, 0.85) infinite;\\n -webkit-animation-fill-mode: both;\\n animation-fill-mode: both; }\\n.loading .notification-message p span:nth-child(1)::before {\\n -webkit-animation-delay: 1380ms;\\n animation-delay: 1380ms; }\\n.loading .notification-message p span:nth-child(2)::before {\\n -webkit-animation-delay: 1360ms;\\n animation-delay: 1360ms; }\\n.loading .notification-message p span:nth-child(3)::before {\\n -webkit-animation-delay: 1340ms;\\n animation-delay: 1340ms; }\\n.loading .notification-message p span:nth-child(4)::before {\\n -webkit-animation-delay: 1320ms;\\n animation-delay: 1320ms; }\\n.loading .notification-message p span:first-child {\\n width: 8em; }\\n/*Screen Size : m*/\\n@media screen and (min-width: 980px) {\\n .main-container .header .inner-header {\\n max-width: 450px;\\n margin: auto;\\n padding: 0; }\\n .main-container .list-container, .main-container .loadingCases {\\n max-width: 450px;\\n margin: auto;\\n padding: 0; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9oZWxwLWZvbGxvdy1yZXF1ZXN0cy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZm9sbG93LXJlcXVlc3RzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZm9sbG93LXJlcXVlc3RzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1mb2xsb3ctcmVxdWVzdHMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZm9sbG93LXJlcXVlc3RzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1mb2xsb3ctcmVxdWVzdHMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZm9sbG93LXJlcXVlc3RzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxoZWxwXFxoZWxwLWZvbGxvdy1yZXF1ZXN0c1xcaGVscC1mb2xsb3ctcmVxdWVzdHMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1mb2xsb3ctcmVxdWVzdHMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZm9sbG93LXJlcXVlc3RzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWZvbGxvdy1yZXF1ZXN0cy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfZm9udHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksb0JBQW1CLEVBZXRCO0FBaEJEO0lBSVEsb0JDT1E7SUROUixxQkFBb0I7SUFDcEIsb0JBQW1CLEVBS3RCO0FBWEw7TUFTWSxnQkFBZSxFQUNsQjtBQVZUO0lBY1EsZ0JBQWUsRUFDbEI7QUFHTDtFQUNJLG1CRXFHOEI7RUZwRzlCLDBCRW9HOEI7RUZuRzlCLGlCR091QjtFSE52QixvQkFBbUIsRUFDdEI7QUFFRDtFQUNJLG1CRThGOEI7RUY3RjlCLDBCRTZGOEI7RUY1RjlCLGlCR0R1QixFSEUxQjtBQUVEO0VBQ0ksY0FBYTtFQUNiLGNBQWE7RUFDYixvQkFBbUI7RUFDbkIsb0JDeEJZO0VEMEJaLCtCQUE4QjtFQUM5QixvQ0FBbUM7RUFDbkMsdUNBQXNDO0VBR3RDLGlEQUE2QyxFQXFEaEQ7QUFoRUQ7SUFjUSxZQUFXO0lBQ1gsaUJBQWdCLEVBK0NuQjtBQTlETDtNQWtCWSxpQkFBZ0IsRUEyQ25CO0FBN0RUO1FBcUJnQixlQUFjO1FBQ2QsV0FBVTtRQUNWLGFBQVk7UUFDWixvQkFBbUI7UUFFbkIsMEJDMUNHO1FEMkNILG1CQUFrQjtRQUNsQixpQkFBZ0IsRUErQm5CO0FBM0RiO1VBK0JvQixZQUFXO1VBQ1gsZUFBYztVQUNkLG1CQUFrQjtVQUVsQixXQUFVO1VBQ1YsUUFBTztVQUVQLFlBQVc7VUFDWCxhQUFZO1VBQ1osc0hBQXFIO1VBRXJILDBCQUF5QjtVQUV6QixnRkFBb0U7a0JBQXBFLHdFQUFvRTtVQUNwRSxrQ0FBeUI7a0JBQXpCLDBCQUF5QixFQUU1QjtBQS9DakI7VUFtRHdCLGdDQUFpQjtrQkFBakIsd0JBQWlCLEVBQ3BCO0FBcERyQjtVQW1Ed0IsZ0NBQWlCO2tCQUFqQix3QkFBaUIsRUFDcEI7QUFwRHJCO1VBbUR3QixnQ0FBaUI7a0JBQWpCLHdCQUFpQixFQUNwQjtBQXBEckI7VUFtRHdCLGdDQUFpQjtrQkFBakIsd0JBQWlCLEVBQ3BCO0FBcERyQjtVQXdEb0IsV0FBVSxFQUNiO0FBVWpCLG1CQUFtQjtBRjNCUDtFRThCUjtJQUtZLGlCQUFnQjtJQUNoQixhQUFZO0lBQ1osV0FBVSxFQUNiO0VBUlQ7SUFZUSxpQkFBZ0I7SUFDaEIsYUFBWTtJQUNaLFdBQVUsRUFDYixFQUFBIiwiZmlsZSI6InNyYy9hcHAvaGVscC9oZWxwLWZvbGxvdy1yZXF1ZXN0cy9oZWxwLWZvbGxvdy1yZXF1ZXN0cy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbi5tYWluLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwIDAgNTdweCAwO1xyXG5cclxuICAgIC5oZWFkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgIHBhZGRpbmc6IDU3cHggMCAzMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgICAgIC5pbm5lci1oZWFkZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5saXN0LWNvbnRhaW5lciwgLmxvYWRpbmdDYXNlcyB7XHJcbiAgICAgICAgcGFkZGluZzogMCA0NXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWFpbi10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IGVtKDMwcHgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IGVtKDM1cHgsIDMwcHgpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG5wIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMjVweCwgMThweCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbn1cclxuXHJcbi5sb2FkaW5nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggNXB4IDVweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogNXB4IDVweCA1cHggNXB4O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHggNXB4IDVweCA1cHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCA1cHggMTBweCAxcHggcmdiYSgwLDAsMCwwLjI1KTtcclxuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IDFweCByZ2JhKDAsMCwwLDAuMjUpO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IDFweCByZ2JhKDAsMCwwLDAuMjUpO1xyXG5cclxuICAgIC5ub3RpZmljYXRpb24tbWVzc2FnZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDFlbTtcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktMzAwJyk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0b3A6IC0yNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogbGlnaHQtYmVhbSAyMDAwbXMgY3ViaWMtYmV6aWVyKC4yNiwgMCwgLjQxLCAuODUpIGluZmluaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRvIDUge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCAjeyRpfSApOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICN7KCg1IC0gJGkpICogMjBtcykgKyAxMzAwbXN9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOGVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuLypTY3JlZW4gU2l6ZSA6IG0qL1xyXG5AaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG5cclxuICAgIC5tYWluLWNvbnRhaW5lciB7XHJcblxyXG4gICAgICAgIC5oZWFkZXIge1xyXG5cclxuICAgICAgICAgICAgLmlubmVyLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxpc3QtY29udGFpbmVyLCAubG9hZGluZ0Nhc2VzIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIiwiQGltcG9ydCAndmFycyc7XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJHBhdGgsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICBzcmMgOiB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICB9XHJcblxyXG59XHJcblxyXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XHJcbiAgJHJlbVNpemU6ICRzaXplIC8gMTZweDtcclxuICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA4MDA7XHJcbiJdfQ== */\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { PopinService } from '../../shared/ui/popin.service';\r\nimport { Location } from '@angular/common';\r\nimport { HelpService } from '../shared/help.service';\r\nimport { DriverService } from '../../driver/shared/driver.service';\r\nimport { DateSortingService } from '../../shared/helper/date-sorting.service';\r\nimport { UserProfile } from '../../driver/shared/models/user-profile.model';\r\n\r\n@Component({\r\n selector: 'app-help-follow-requests',\r\n templateUrl: './help-follow-requests.component.html',\r\n styleUrls: ['./help-follow-requests.component.scss']\r\n})\r\nexport class HelpFollowRequestsComponent implements OnInit, OnDestroy {\r\n public newUserProfile: UserProfile;\r\n\r\n public vehicleList = [];\r\n public vehicleSelected = 0;\r\n public hasError: boolean;\r\n public contractIdList = [];\r\n\r\n public cases: any[];\r\n public loadingCases: boolean;\r\n\r\n constructor(\r\n private location: Location,\r\n private popinService: PopinService,\r\n private helpService: HelpService,\r\n private driverService: DriverService,\r\n private dateSorting: DateSortingService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.popinService.opened(true);\r\n this.getDriver();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n onBackClick() {\r\n this.location.back();\r\n }\r\n\r\n private getDriver(): void {\r\n this.driverService.newDriverStream\r\n .subscribe((newDriver: UserProfile) => {\r\n this.newUserProfile = newDriver;\r\n this.generateVehicleList();\r\n this.getCases();\r\n });\r\n }\r\n\r\n private getCases() {\r\n this.loadingCases = true;\r\n this.cases = [];\r\n\r\n this.helpService.getCaseHistory()\r\n .subscribe(cases => {\r\n this.hasError = false;\r\n if (cases) {\r\n this.cases = cases\r\n .sort(this.dateSorting.dateSortDesc)\r\n .map(request => this.addLicensePlateToCase(request));\r\n }\r\n this.loadingCases = false;\r\n }, () => {\r\n this.hasError = true;\r\n this.loadingCases = false;\r\n }, () => {\r\n this.loadingCases = false;\r\n });\r\n }\r\n\r\n private addLicensePlateToCase(request) {\r\n this.vehicleList.forEach(vehicle => {\r\n if (request.contractId && request.contractId === vehicle.id) {\r\n request.licensePlate = vehicle.licensePlate;\r\n }\r\n });\r\n return request;\r\n }\r\n\r\n private generateVehicleList() {\r\n this.driverService.getNewUserRole(this.newUserProfile).contracts.forEach((contract) => {\r\n const vehicle = {\r\n id: contract.reference,\r\n label: contract.vehicle.brand,\r\n licensePlate: contract.vehicle.plate\r\n };\r\n this.vehicleList.push(vehicle);\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n

{{'help-main_panel-i_need_help'| translate}}

\\r\\n\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n {{'help-main_panel-local_number_title'| translate}}\\r\\n \\r\\n {{bookingServiceNumberLocal}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{'help-main_panel-international_number_title'| translate}}\\r\\n \\r\\n {{bookingServiceNumberInternational}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n/deep/ b {\\n font-weight: bold; }\\n.generic-help {\\n width: 75%;\\n max-width: 30em;\\n margin: auto;\\n padding-top: 55px;\\n padding-bottom: 105px; }\\n.generic-help-title {\\n margin-bottom: 17px;\\n font-size: 1.875em;\\n line-height: 1em;\\n font-weight: 600; }\\n.generic-help-text {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n font-weight: 400; }\\n.generic-help .contact-title {\\n display: block;\\n width: 100%;\\n margin: 20px 0 10px 5px; }\\n.generic-help .contact-numbers {\\n display: block;\\n width: 100%;\\n text-align: left;\\n margin: 10px 0; }\\n.generic-help .contact-numbers-icon {\\n position: absolute;\\n right: 20px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9oZWxwLWdlbmVyaWMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWdlbmVyaWMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1nZW5lcmljL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1nZW5lcmljL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWdlbmVyaWMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWdlbmVyaWMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtZ2VuZXJpYy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcaGVscFxcaGVscC1nZW5lcmljXFxoZWxwLWdlbmVyaWMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1nZW5lcmljL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLWdlbmVyaWMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2ZvbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNFLGtCQUFpQixFQUNsQjtBQUVEO0VBQ0UsV0pBaUI7RUlDakIsZ0JKQXVCO0VJQ3ZCLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsc0JBQXdDLEVBaUN6QztBQS9CQztJQUNFLG9CQUFtQjtJQUNuQixtQkMyRzhCO0lEMUc5QixpQkMwRzhCO0lEekc5QixpQkFBZ0IsRUFDakI7QUFFRDtJQUNFLG1CQ3FHOEI7SURwRzlCLDBCQ29HOEI7SURuRzlCLGlCRU11QixFRkx4QjtBQWxCSDtJQXNCUSxlQUFjO0lBQ2QsWUFBVztJQUNYLHdCQUF1QixFQUMxQjtBQXpCTDtJQTJCUSxlQUFjO0lBQ2QsWUFBVztJQUNYLGlCQUFnQjtJQUNoQixlQUFjLEVBTWpCO0FBcENMO01BaUNZLG1CQUFrQjtNQUNsQixZQUFXLEVBQ2QiLCJmaWxlIjoic3JjL2FwcC9oZWxwL2hlbHAtZ2VuZXJpYy9oZWxwLWdlbmVyaWMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy90aGVtZS1pbXBvcnRzXCI7XHJcblxyXG4vZGVlcC8gYiB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5nZW5lcmljLWhlbHAge1xyXG4gIHdpZHRoOiAkY29udGVudC13aWR0aDtcclxuICBtYXgtd2lkdGg6ICRtYXgtY29udGVudC13aWR0aDtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgcGFkZGluZy10b3A6IDU1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206ICR1c2VyLW1lbnUtaGVpZ2h0ICsgNDBweDtcclxuXHJcbiAgJi10aXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xyXG4gICAgZm9udC1zaXplOiBlbSgzMHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgzMHB4LCAzMHB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgfVxyXG5cclxuICAmLXRleHQge1xyXG4gICAgZm9udC1zaXplOiBlbSgxOHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgyNXB4LCAxOHB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICB9XHJcblxyXG4gIC5jb250YWN0IHtcclxuICAgICYtdGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDEwcHggNXB4O1xyXG4gICAgfVxyXG4gICAgJi1udW1iZXJzIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG5cclxuICAgICAgICAmLWljb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG59XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iXX0= */\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { PopinService } from '../../shared/ui/popin.service';\r\nimport { ConfigurationService } from '../../shared/config/configuration.service';\r\nimport { AppStorageService } from '../../shared/storage/common/app-storage.service';\r\nimport { GTM_EVENTS } from '../../shared/gtm/gtm-events.const';\r\nimport { combineLatest } from 'rxjs';\r\nimport { ConfigurationModel } from '../../shared/config/configuration.model';\r\n\r\n@Component({\r\n selector: 'app-help-generic',\r\n templateUrl: './help-generic.component.html',\r\n styleUrls: ['./help-generic.component.scss']\r\n})\r\nexport class HelpGenericComponent implements OnInit, OnDestroy {\r\n\r\n public bookingServiceNumberLocal: string;\r\n public bookingServiceNumberInternational: string;\r\n public readonly GTM_EVENTS = GTM_EVENTS;\r\n\r\n constructor(\r\n private popinService: PopinService,\r\n private appStorageService: AppStorageService,\r\n private configurationService: ConfigurationService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.popinService.opened(true);\r\n\r\n combineLatest(\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'BookingServiceNumberLocal']),\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'BookingServiceNumberInternational']),\r\n ).subscribe(\r\n (feedback: ConfigurationModel[]) => {\r\n if (feedback[0]) {\r\n this.bookingServiceNumberLocal = feedback[0].value;\r\n }\r\n if (feedback[1]) {\r\n this.bookingServiceNumberInternational = feedback[1].value;\r\n }\r\n }, e => {\r\n this.bookingServiceNumberLocal = 'error occured';\r\n this.bookingServiceNumberInternational = 'error occured';\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n onBackClick() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n

{{ maintenanceTypeTitle| translate}}

\\r\\n\\r\\n
\\r\\n \\r\\n

{{'global-generic_terms-incorrect_input'| translate}}

\\r\\n

{{serviceKmErrorMessage| translate}}

\\r\\n

{{'global-generic_terms-generic_server_error'| translate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'help-maintenance_request-maintenance_type'| translate }}

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'help-maintenance_request-reason_label'| translate }}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n padding: 57px 0; }\\n.main-title {\\n font-size: 1.875em;\\n line-height: 1.16666667em;\\n font-weight: 500;\\n margin-bottom: 10px; }\\n.form-input.driver, .form-input.other-driver-gender, .form-input.vehicle-behavior, .form-input.injured-people, .form-input.car-damage {\\n margin: 40px auto 55px auto; }\\n.form-input.date-time input, .form-input.time input {\\n padding-right: 25px; }\\n.form-input.other-damage {\\n margin: 40px auto 40px auto; }\\n.form-input.other-damage .textarea-title {\\n margin-bottom: 15px; }\\n.form-input .radio-container {\\n margin-right: 16px; }\\n.form-input .radio-container:first-of-type {\\n margin-bottom: 16px; }\\n.form-input.time app-svg-icon {\\n top: 19px;\\n width: 18px;\\n height: 18px; }\\n.form-input.date-time app-svg-icon {\\n top: 19px; }\\n.submit-container {\\n margin-top: 40px; }\\napp-string-input {\\n display: block; }\\napp-string-input app-svg-icon {\\n position: absolute;\\n top: 12px;\\n right: 0;\\n width: 17px;\\n height: 17px;\\n color: #00cfff; }\\ntextarea {\\n display: block;\\n width: 100%;\\n margin-top: 16px;\\n height: 90px;\\n border: 1px solid #00cfff;\\n font-weight: 400;\\n font-size: 1.125em;\\n line-height: 1.22222222em; }\\n.radio-container {\\n margin: 10px 10px 10px 0px;\\n display: flex;\\n align-items: center; }\\n.radio-title {\\n font-size: 0.66666667em;\\n margin-bottom: 0; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9oZWxwLW1haW50ZW5hbmNlLXJlcXVlc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLW1haW50ZW5hbmNlLXJlcXVlc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1tYWludGVuYW5jZS1yZXF1ZXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1tYWludGVuYW5jZS1yZXF1ZXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLW1haW50ZW5hbmNlLXJlcXVlc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLW1haW50ZW5hbmNlLXJlcXVlc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL2hlbHAtbWFpbnRlbmFuY2UtcmVxdWVzdC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcaGVscFxcaGVscC1tYWludGVuYW5jZS1yZXF1ZXN0XFxoZWxwLW1haW50ZW5hbmNlLXJlcXVlc3QuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1tYWludGVuYW5jZS1yZXF1ZXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvaGVscC9oZWxwLW1haW50ZW5hbmNlLXJlcXVlc3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL2hlbHAvaGVscC1tYWludGVuYW5jZS1yZXF1ZXN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksZ0JBQWUsRUFDbEI7QUFFRDtFQUNJLG1CQ21IOEI7RURsSDlCLDBCQ2tIOEI7RURqSDlCLGlCRXFCdUI7RUZwQnZCLG9CQUFtQixFQUN0QjtBQUVEO0VBR1EsNEJBQTJCLEVBQzlCO0FBSkw7RUFPUSxvQkFBbUIsRUFDdEI7QUFSTDtFQVdRLDRCQUEyQixFQUk5QjtBQWZMO0lBYVksb0JBQW1CLEVBQ3RCO0FBZFQ7RUFrQlEsbUJBQWtCLEVBS3JCO0FBdkJMO0lBcUJZLG9CQUFtQixFQUN0QjtBQXRCVDtFQTBCUSxVQUFTO0VBQ1QsWUFBVztFQUNYLGFBQVksRUFDZjtBQTdCTDtFQWdDUSxVQUFTLEVBQ1o7QUFHTDtFQUNJLGlCQUFlLEVBQ2xCO0FBRUQ7RUFDSSxlQUFjLEVBVWpCO0FBWEQ7SUFJUSxtQkFBa0I7SUFDbEIsVUFBUztJQUNULFNBQVE7SUFDUixZQUFXO0lBQ1gsYUFBWTtJQUNaLGVHekRnQixFSDBEbkI7QUFHTDtFQUNJLGVBQWM7RUFDZCxZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLGFBQVk7RUFDWiwwQkdsRW9CO0VIb0VwQixpQkU1Q3VCO0VGNkN2QixtQkNnRDhCO0VEL0M5QiwwQkMrQzhCLEVEOUNqQztBQUVEO0VBQ0ksMkJBQTBCO0VBQzFCLGNBQWE7RUFDYixvQkFBbUIsRUFDdEI7QUFFRDtFQUNJLHdCQ3FDOEI7RURwQzlCLGlCQUFlLEVBQ2xCIiwiZmlsZSI6InNyYy9hcHAvaGVscC9oZWxwLW1haW50ZW5hbmNlLXJlcXVlc3QvaGVscC1tYWludGVuYW5jZS1yZXF1ZXN0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuLm1haW4tY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDU3cHggMDtcclxufVxyXG5cclxuLm1haW4tdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiBlbSgzMHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgzNXB4LCAzMHB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmZvcm0taW5wdXQge1xyXG5cclxuICAgICYuZHJpdmVyLCAmLm90aGVyLWRyaXZlci1nZW5kZXIsICYudmVoaWNsZS1iZWhhdmlvciwgJi5pbmp1cmVkLXBlb3BsZSwgJi5jYXItZGFtYWdlIHtcclxuICAgICAgICBtYXJnaW46IDQwcHggYXV0byA1NXB4IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgJi5kYXRlLXRpbWUgaW5wdXQsICYudGltZSBpbnB1dCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICAgIH1cclxuXHJcbiAgICAmLm90aGVyLWRhbWFnZSB7XHJcbiAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gNDBweCBhdXRvO1xyXG4gICAgICAgIC50ZXh0YXJlYS10aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yYWRpby1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi50aW1lIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgdG9wOiAxOXB4O1xyXG4gICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgIGhlaWdodDogMThweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmRhdGUtdGltZSBhcHAtc3ZnLWljb24ge1xyXG4gICAgICAgIHRvcDogMTlweDtcclxuICAgIH1cclxufVxyXG5cclxuLnN1Ym1pdC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDo0MHB4O1xyXG59XHJcblxyXG5hcHAtc3RyaW5nLWlucHV0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTJweDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuXHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IGVtKDE4cHgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IGVtKDIycHgsIDE4cHgpO1xyXG59XHJcblxyXG4ucmFkaW8tY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMTBweCAxMHB4IDEwcHggMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yYWRpby10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IGVtKDEycHgsIDE4cHgpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTowO1xyXG59XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIl19 */\"","import { Component, ElementRef, OnInit, OnDestroy, AfterViewInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { PopinService } from '../../shared/ui/popin.service';\r\nimport { HelpService } from '../shared/help.service';\r\nimport { MaintenanceInfo } from '../shared/help-maintenance-info.model';\r\nimport { MaxMileage, HelpConst } from '../shared/help.const';\r\nimport { DriverService } from '../../driver/shared/driver.service';\r\nimport { DateValidator } from '../../shared/app-forms/validators/date.validator';\r\nimport { UserProfile } from 'app/driver/shared/models/user-profile.model';\r\nimport { UserRole } from 'app/driver/shared/models/user-role.model';\r\nimport { UserRoles } from 'app/shared/user/userRoles.const';\r\nimport { SendMaintenanceRequest } from '../shared/models/maintenance-request.model';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-help-maintenance-request',\r\n templateUrl: './help-maintenance-request.component.html',\r\n styleUrls: ['./help-maintenance-request.component.scss']\r\n})\r\nexport class HelpMaintenanceRequestComponent implements OnInit, AfterViewInit, OnDestroy {\r\n private isTimeSelected: boolean;\r\n private newUserProfile: UserProfile;\r\n private returnUrl: string = null;\r\n private lastMileage: number;\r\n\r\n public showToast = false;\r\n public submitStatus = 'initial';\r\n public error = null;\r\n public form: FormGroup;\r\n public maintenanceInformations: MaintenanceInfo;\r\n public toastMessageText: string;\r\n public indexServiceKm: number;\r\n public selectedMaintenanceType: any = null;\r\n public isScheduledMaintenance = false;\r\n public maintenanceTypeTitle: string;\r\n public serviceKmErrorMessage: string;\r\n\r\n\r\n constructor(\r\n private router: Router,\r\n private popinService: PopinService,\r\n private helpService: HelpService,\r\n private formBuilder: FormBuilder,\r\n private element: ElementRef,\r\n private driverService: DriverService,\r\n private elementRef: ElementRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n const elements = this.elementRef.nativeElement.querySelectorAll('.string-input');\r\n for (let element = 0; element < elements.length; element++) {\r\n elements[element].classList.add('has-value');\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.maintenanceInformations = {} as MaintenanceInfo;\r\n\r\n const serviceParameters = this.helpService.getMaintenanceRequestParameters();\r\n if (serviceParameters) {\r\n this.selectedMaintenanceType = serviceParameters.maintenanceType;\r\n this.returnUrl = serviceParameters.fromUrl;\r\n }\r\n\r\n this.isScheduledMaintenance = this.selectedMaintenanceType && (parseInt(this.selectedMaintenanceType.id, 0) === HelpConst.maintenanceType.ScheduledMaintenance);\r\n this.maintenanceTypeTitle = this.isScheduledMaintenance ? 'help-maintenance_request-scheduled_maintenance' : 'help-maintenance_request-unscheduled_maintenance';\r\n this.indexServiceKm = -1;\r\n\r\n\r\n this.driverService.newDriverStream\r\n .subscribe((newDriver: UserProfile) => {\r\n this.newUserProfile = newDriver;\r\n\r\n const driverContract = this.driverService.getNewUserRole(newDriver).contracts[0];\r\n if (driverContract != null && driverContract.vehicle != null) {\r\n this.lastMileage = driverContract.mileage.currentMileage;\r\n }\r\n\r\n this.generateFormGroup();\r\n });\r\n\r\n this.popinService.opened(true);\r\n }\r\n\r\n public onSubmit() {\r\n this.submitStatus = 'pending';\r\n this.error = null;\r\n\r\n if (this.form.valid) {\r\n this.submitStatus = 'pending';\r\n\r\n const newUserRole = this.driverService.getNewUserRole(this.newUserProfile)\r\n\r\n let preferredDate = this.form.get('date').value;\r\n let preferredTime = this.form.get('preferredTime').value;\r\n\r\n if (typeof (preferredDate) !== 'string') {\r\n preferredDate = moment(preferredDate).format('YYYY-MM-DD');\r\n }\r\n if (typeof (preferredTime) !== 'string') {\r\n preferredTime = moment(preferredTime).format('HH:mm');\r\n }\r\n const dateTime = moment(`${preferredDate} ${preferredTime}`).parseZone().toJSON();\r\n\r\n const maintenanceRequestParams: SendMaintenanceRequest = {\r\n email: this.newUserProfile.email,\r\n name: this.newUserProfile.name,\r\n customerId: newUserRole.company.reference,\r\n carPlateNumber: newUserRole.contracts.map(contract => contract.vehicle.plate),\r\n mobilePhone: this.form.get('mobile').value,\r\n contractNumber: newUserRole.contracts[0].reference,\r\n companyName: newUserRole.company.name,\r\n carMake: newUserRole.contracts[0].vehicle.brand,\r\n carModel: newUserRole.contracts[0].vehicle.model,\r\n lastRecordedMileage: newUserRole.contracts[0].vehicle.mileage.lastMileage,\r\n isScheduledMaintenance: this.isScheduledMaintenance,\r\n maintenanceDateTime: dateTime,\r\n serviceToBeBooked: this.form.get('serviceKm').value,\r\n reasonForMaintenance: this.form.get('reason').value,\r\n culture: '',\r\n }\r\n\r\n this.helpService.sendMaintenanceRequest(maintenanceRequestParams).subscribe(() => {\r\n this.error = null;\r\n this.submitStatus = 'initial';\r\n this.toastMessageText = 'help-maintenance_request-success';\r\n this.showToast = true;\r\n this.indexServiceKm = -1;\r\n },\r\n error => {\r\n if (error.status && error.status.toString().substring(0, 1) === '4') {\r\n this.error = 400;\r\n } else {\r\n this.error = true;\r\n }\r\n this.backToTop();\r\n this.submitStatus = 'initial';\r\n this.showToast = true;\r\n this.toastMessageText = 'global-generic_terms-generic_server_error';\r\n });\r\n } else {\r\n const serviceKmControl = this.form.get('serviceKm');\r\n if (serviceKmControl.invalid) {\r\n this.error = 600;\r\n if (serviceKmControl.errors.min) {\r\n this.serviceKmErrorMessage = 'help-maintenance_request-service_km_min_error';\r\n } else if (serviceKmControl.errors.max) {\r\n this.serviceKmErrorMessage = 'help-maintenance_request-service_km_max_error';\r\n }\r\n }\r\n this.submitStatus = 'initial';\r\n this.backToTop();\r\n }\r\n }\r\n\r\n public chooseMaintenanceType(event) {\r\n this.isScheduledMaintenance = (event === 'scheduled');\r\n this.maintenanceTypeTitle = this.isScheduledMaintenance ? 'help-maintenance_request-scheduled_maintenance' : 'help-maintenance_request-unscheduled_maintenance';\r\n\r\n this.form.get('reason').setValue('');\r\n\r\n if (this.isScheduledMaintenance) {\r\n this.form.get('reason').clearValidators();\r\n this.form.get('reason').updateValueAndValidity();\r\n } else {\r\n this.form.get('reason').setValidators([Validators.required, Validators.minLength(3)]);\r\n this.form.get('reason').updateValueAndValidity();\r\n }\r\n }\r\n\r\n public onflatpickrOpen(event: any) {\r\n event.instance._input.parentElement.parentElement.classList.add('has-value');\r\n }\r\n\r\n public onflatpickrClose(event: any) {\r\n if (!this.isTimeSelected) {\r\n event.instance._input.parentElement.parentElement.classList.remove('has-value');\r\n event.instance._input.value = '';\r\n }\r\n }\r\n\r\n public onflatpickrChange(event: any) {\r\n this.isTimeSelected = true;\r\n }\r\n\r\n public generateFormGroup() {\r\n const currentDate = new Date();\r\n currentDate.setDate(currentDate.getDate() + 1);\r\n\r\n this.form = this.formBuilder.group({\r\n mobile: [this.newUserProfile.phone, Validators.required],\r\n city: [this.newUserProfile.city, Validators.required],\r\n date: [currentDate, DateValidator.isFuture],\r\n preferredTime: [currentDate.getTime(), Validators.required],\r\n serviceKm: ['', Validators.compose([Validators.required, Validators.min(this.lastMileage), Validators.max(MaxMileage)])],\r\n reason: this.isScheduledMaintenance ? [''] : ['', Validators.required]\r\n });\r\n\r\n this.form.addControl('maintenanceType', this.formBuilder.control('unscheduled'));\r\n }\r\n\r\n public onBackClick() {\r\n this.popinService.opened(false);\r\n this.router.navigate([this.returnUrl]);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n public backToTop() {\r\n const el = this.element.nativeElement.querySelector('.sticky-content');\r\n const scrollInterval = setInterval(function () {\r\n el.scrollTop = el.scrollTop - 15;\r\n if (el.scrollTop <= 0) {\r\n clearInterval(scrollInterval);\r\n }\r\n }, 1);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

{{'help-main_panel-first_title'| translate}}

\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n {{'help-main_panel-local_number_title'| translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n {{'help-main_panel-international_number_title'| translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

{{'help-main_panel-second_title'| translate}}

\\r\\n

{{'help-main_panel-second_legend'| translate }}

\\r\\n\\r\\n
\\r\\n {{'help-main_panel-technical_service_number'| translate}}\\r\\n \\r\\n {{carRepairNumber}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n {{'help-main_panel-local_number_title'| translate}}\\r\\n \\r\\n {{emergencyAssistanceNumberLocal}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{'help-main_panel-international_number_title'| translate}}\\r\\n \\r\\n {{emergencyAssistanceNumberInternational}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{'help-main_panel-local_number_title'| translate}}\\r\\n \\r\\n {{bookingServiceNumberLocal}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{'help-main_panel-international_number_title'| translate}}\\r\\n \\r\\n {{bookingServiceNumberInternational}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{'help-main_panel-assistance_number_title'| translate}}\\r\\n \\r\\n {{assistancePhoneThird}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

{{'help-main_panel-third_title'| translate}}

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'help-main_panel-ald_customer_service'| translate}}

\\r\\n
\\r\\n {{'help-main_panel-ald_customer_service_contact'| translate}}\\r\\n \\r\\n {{customerServiceNumber}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'help-main_panel-where_am_i'| translate}}

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{currentUserAddress}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.help-section {\\n position: relative;\\n padding: 57px 10% 57px 10%; }\\n.help-section .contact-title {\\n display: block;\\n width: 100%;\\n margin: 20px 0 10px 5px; }\\n.help-section .contact-numbers {\\n display: block;\\n width: 100%;\\n text-align: left; }\\n.help-section .contact-numbers-icon {\\n position: absolute;\\n right: 20px; }\\n.help-section .content-wrapper {\\n position: relative;\\n z-index: 1;\\n max-width: 450px;\\n margin: auto; }\\n.help-section .section-title {\\n margin: 0 auto 10px auto;\\n font-size: 1.875em;\\n line-height: 1.16666667em; }\\n.help-section p {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n margin-bottom: 20px;\\n padding-right: 50px; }\\n.help-section.reparation {\\n background-color: #5e4fea;\\n color: #FFFFFF; }\\n.help-section.reparation .section-title {\\n color: #FFFFFF;\\n padding-right: 60px; }\\n.help-section.contact {\\n background-color: #FFFFFF; }\\n.help-section.contact .section-title {\\n padding-right: 60px; }\\n.help-section.contact app-select-menu {\\n margin-bottom: 10px; }\\n.help-section.contact app-select-menu /deep/ input {\\n background-color: transparent; }\\n.help-section.contact .illustration {\\n position: absolute;\\n right: -18px;\\n top: 60px;\\n width: 113px;\\n z-index: 0; }\\n.help-section.contact .illustration img {\\n width: 100%; }\\n.help-section.other-needs {\\n background-color: #efefef; }\\n.help-section.other-needs .link-list {\\n margin-bottom: 0;\\n margin-top: 0; }\\n.help-section.other-needs .link-list .link-list-item {\\n padding: 20px 25px 20px 0;\\n margin: 0;\\n border-bottom: 1px solid rgba(215, 215, 215, 0.5); }\\n.help-section.other-needs .link-list .link-list-item:last-of-type {\\n border-bottom: none; }\\n.help-section.ask-assistance {\\n background-color: #efefef; }\\n.help-section.ask-assistance .cards-wrapper {\\n margin-top: 20px;\\n display: flex;\\n justify-content: space-between; }\\n.help-section.ask-assistance .cards-wrapper .assistance-card {\\n box-shadow: 1px 3px 20px 5px rgba(0, 0, 0, 0.08);\\n color: #00cfff;\\n background-color: #FFFFFF;\\n width: 30%;\\n border-radius: 6px;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n align-items: center;\\n padding: 15px 10px 25px 10px; }\\n.help-section.ask-assistance .cards-wrapper .assistance-card-title {\\n font-weight: 500;\\n text-align: center; }\\n.help-section.ask-assistance .cards-wrapper .assistance-card-icon {\\n margin-top: 15px;\\n font-size: 55px;\\n color: #bababa; }\\n.help-section.ask-assistance .cards-wrapper .assistance-card:hover {\\n cursor: pointer;\\n background-color: #fafafa; }\\n.help-section.ask-assistance .cards-wrapper .assistance-card:hover .assistance-card-icon {\\n color: #00cfff; }\\n@media screen and (max-width: 480px) {\\n .help-section.ask-assistance .cards-wrapper {\\n flex-direction: column; }\\n .help-section.ask-assistance .cards-wrapper .assistance-card {\\n width: 100%;\\n margin-top: 20px; } }\\n.help-section .button {\\n max-width: inherit; }\\n.help-section .button.france-version {\\n max-width: 285px; }\\n.help-section.map-container {\\n padding: 0;\\n position: relative; }\\n.help-section.map-container app-gmap {\\n position: relative;\\n display: block;\\n height: 400px; }\\n.help-section.map-container .geolocation-info-container {\\n position: absolute;\\n z-index: 1;\\n top: 30px;\\n left: 0;\\n right: 0;\\n margin: auto;\\n width: 92%;\\n box-shadow: 0 3px 6px 0 rgba(1, 17, 35, 0.29);\\n border-radius: 6px; }\\n.help-section.map-container .geolocation-info-container.geolocated-user .help-map-button {\\n border-bottom-left-radius: 0;\\n border-bottom-right-radius: 0; }\\n.help-section.map-container .geolocation-info-container.geolocated-user .help-address {\\n height: inherit;\\n transition: 0.3s ease 0.2s; }\\n.help-section.map-container .help-map-button {\\n position: relative;\\n width: 100%;\\n height: 60px;\\n border-radius: 6px;\\n background-color: #00cfff; }\\n.help-section.map-container .help-map-button p {\\n color: #FFFFFF;\\n font-weight: 700;\\n font-size: 1.125em;\\n line-height: 60px;\\n padding-left: 28px; }\\n.help-section.map-container .help-map-button .geolocation-icon {\\n position: absolute;\\n right: 30px;\\n top: 50%;\\n transform: translateY(-50%);\\n width: 24px;\\n height: 24px;\\n color: #FFFFFF; }\\n.help-section.map-container .help-map-button .geolocation-icon app-svg-icon {\\n width: 24px;\\n height: 24px; }\\n.help-section.map-container .help-address {\\n background-color: #FFFFFF;\\n border-bottom-left-radius: 6px;\\n border-bottom-right-radius: 6px;\\n height: 0;\\n overflow: hidden; }\\n.help-section.map-container .help-address p {\\n padding: 20px 30px;\\n margin: 0;\\n font-size: 1.125em;\\n line-height: 1.38888889em; }\\n.help-section.medical-assistance {\\n background-color: #00cfff;\\n color: #FFFFFF; }\\n.help-section.medical-assistance p {\\n padding-right: 0; }\\n.help-section.medical-assistance .section-title {\\n color: #FFFFFF; }\\n.help-section.medical-assistance .button {\\n margin-bottom: 20px; }\\n.help-section.medical-assistance .button:last-of-type {\\n margin-bottom: 0; }\\n.ald-contact {\\n background: #efefef; }\\n.ald-contact-title {\\n font-size: 1.125em;\\n width: 100%;\\n display: block;\\n margin-bottom: 15px; }\\n.ald-contact-number {\\n width: 100%;\\n text-align: left; }\\n.ald-contact-number-icon {\\n position: absolute;\\n right: 20px; }\\n@media screen and (min-width: 480px) {\\n .help-section p {\\n padding-right: 75px; }\\n .help-section.reparation .illustration {\\n right: 0; }\\n .help-section.reparation .section-title {\\n padding-right: 75px; }\\n .help-section.contact .illustration {\\n right: 0; }\\n .help-section.contact .section-title {\\n padding-right: 75px; } }\\n@media screen and (min-width: 980px) {\\n .help-section {\\n padding: 68px 18.31% 100px 18.31%; }\\n .help-section .section-title {\\n margin: 0 auto 10px auto;\\n font-size: 2.8125em;\\n line-height: 1.11111111em; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVscC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9oZWxwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9oZWxwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL2hlbHAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9oZWxwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL2hlbHAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9oZWxwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxoZWxwXFxoZWxwLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9oZWxwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvaGVscC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL2hlbHAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3ZhcnMuc2NzcyIsInNyYy9hcHAvaGVscC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfZm9udHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksbUJBQWtCO0VBQ2xCLDJCQUEwQixFQStQN0I7QUFqUUQ7SUFNWSxlQUFjO0lBQ2QsWUFBVztJQUNYLHdCQUF1QixFQUMxQjtBQVRUO0lBV1ksZUFBYztJQUNkLFlBQVc7SUFDWCxpQkFBZ0IsRUFNbkI7QUFuQlQ7TUFnQmdCLG1CQUFrQjtNQUNsQixZQUFXLEVBQ2Q7QUFsQmI7SUF1QlEsbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixpQkFBZ0I7SUFDaEIsYUFBWSxFQUNmO0FBM0JMO0lBOEJRLHlCQUF3QjtJQUN4QixtQkN5RjBCO0lEeEYxQiwwQkN3RjBCLEVEdkY3QjtBQWpDTDtJ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QUFkRztJQUNJLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsZUFBYztJQUNkLG9CQUFtQixFQUN0QjtBQUNEO0lBQ0ksWUFBVztJQUNYLGlCQUFnQixFQUtuQjtBQUpHO01BQ0ksbUJBQWtCO01BQ2xCLFlBQVcsRUFDZDtBRjFNRztFRStNUjtJQUVRLG9CQUFtQixFQUN0QjtFQUhMO0lBT1ksU0FBUSxFQUNYO0VBUlQ7SUFXWSxvQkFBbUIsRUFDdEI7RUFaVDtJQWlCWSxTQUFRLEVBQ1g7RUFsQlQ7SUFxQlksb0JBQW1CLEVBQ3RCLEVBQUE7QUZyT0Q7RUUyT1I7SUFDSSxrQ0FBaUMsRUFPcEM7SUFSRDtNQUlRLHlCQUF3QjtNQUN4QixvQkMvTHNCO01EZ010QiwwQkNoTXNCLEVEaU16QixFQUFBIiwiZmlsZSI6InNyYy9hcHAvaGVscC9oZWxwLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi9hc3NldHMvYWxkL3Njc3MvdGhlbWUtaW1wb3J0c1wiO1xyXG5cclxuLmhlbHAtc2VjdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA1N3B4IDEwJSA1N3B4IDEwJTtcclxuXHJcbiAgICAuY29udGFjdCB7XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMTBweCA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbnVtYmVycyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMzBweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDM1cHgsIDMwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDI1cHgsIDE4cHgpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLnJlcGFyYXRpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsIFwic2Vjb25kYXJ5XCIpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCBcImxpZ2h0XCIpO1xyXG5cclxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCBcImxpZ2h0XCIpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNvbnRhY3Qge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsIFwibGlnaHRcIik7XHJcblxyXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGFwcC1zZWxlY3QtbWVudSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAvZGVlcC8gaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbGx1c3RyYXRpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMThweDtcclxuICAgICAgICAgICAgdG9wOiA2MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTEzcHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5vdGhlci1uZWVkcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgXCJncmF5LTIwMFwiKTtcclxuXHJcbiAgICAgICAgLmxpbmstbGlzdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcblxyXG4gICAgICAgICAgICAubGluay1saXN0LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAyNXB4IDIwcHggMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZShtYXAtZ2V0KCRhbGQtY29sb3JzLCBcImdyYXktMzAwXCIpLCAwLjUpO1xyXG5cclxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYXNrLWFzc2lzdGFuY2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsIFwiZ3JheS0yMDBcIik7XHJcbiAgICAgICAgLmNhcmRzLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIC5hc3Npc3RhbmNlLWNhcmQge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgXCJwcmltYXJ5LWxpZ2h0XCIpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgXCJsaWdodFwiKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHggMjVweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTVweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgXCJncmF5LTUwMFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCBcImdyYXktMTAwXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC5hc3Npc3RhbmNlLWNhcmQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCBcInByaW1hcnktbGlnaHRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1heC13aWR0aCh4cykge1xyXG4gICAgICAgICAgICAuY2FyZHMtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgLmFzc2lzdGFuY2UtY2FyZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XHJcblxyXG4gICAgICAgICYuZnJhbmNlLXZlcnNpb24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI4NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm1hcC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBhcHAtZ21hcCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ2VvbG9jYXRpb24taW5mby1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIHRvcDogMzBweDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MiU7XHJcblxyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA2cHggMCByZ2JhKDEsIDE3LCAzNSwgMC4yOSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHJcbiAgICAgICAgICAgICYuZ2VvbG9jYXRlZC11c2VyIHtcclxuICAgICAgICAgICAgICAgIC5oZWxwLW1hcC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmhlbHAtYWRkcmVzcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSAwLjJzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGVscC1tYXAtYnV0dG9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG5cclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCBcInByaW1hcnktbGlnaHRcIik7XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCBcImxpZ2h0XCIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOHB4KTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZ2VvbG9jYXRpb24taWNvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgXCJsaWdodFwiKTtcclxuXHJcbiAgICAgICAgICAgICAgICBhcHAtc3ZnLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlbHAtYWRkcmVzcyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsIFwibGlnaHRcIik7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE4cHgpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDI1cHgsIDE4cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubWVkaWNhbC1hc3Npc3RhbmNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCBcInByaW1hcnktbGlnaHRcIik7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsIFwibGlnaHRcIik7XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgXCJsaWdodFwiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFsZC1jb250YWN0IHtcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsIFwiZ3JheS0yMDBcIik7XHJcbiAgICAmLXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuICAgICYtbnVtYmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtaW4td2lkdGgoeHMpIHtcclxuICAgIC5oZWxwLXNlY3Rpb24ge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3NXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5yZXBhcmF0aW9uIHtcclxuICAgICAgICAgICAgLmlsbHVzdHJhdGlvbiB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb250YWN0IHtcclxuICAgICAgICAgICAgLmlsbHVzdHJhdGlvbiB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWluLXdpZHRoKG0pIHtcclxuICAgIC5oZWxwLXNlY3Rpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDY4cHggMTguMzElIDEwMHB4IDE4LjMxJTtcclxuXHJcbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4IGF1dG87XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNDVweCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSg1MHB4LCA0NXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIi8vIyMgR2VuZXJhbFxyXG4kY2RuLWZvbnQtcGF0aDogJ2ZvbnRzJztcclxuJGNkbi1pY29uLXBhdGg6ICdpY29ucyc7XHJcblxyXG5cclxuLy8gIyMgRm9udHNcclxuJGZvbnQtZmFtaWx5OiAnc291cmNlLXNhbnMnLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LWhlYWRsaW5lOiAnbW9udHNlcnJhdCcsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gIyBHZW5lcmFsIGVsZW1lbnRzIHN0eWxlc1xyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiRib3gtc2hhZG93LW1lZGl1bTogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Nik7XHJcbiRib3gtc2hhZG93LWxpZ2h0OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjk4KTtcclxuJGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHJcbi8vICMjIE5hdmlnYXRpb25cclxuJG5hdmlnYXRpb24td2lkdGg6IDI2MHB4O1xyXG4kbmF2aWdhdGlvbi1tb2JpbGUtaGVpZ2h0OiA1MHB4O1xyXG5cclxuLy8gIyMgTGF5b3V0XHJcbiRjb250ZW50LXBhZGRpbmc6IDUwcHg7XHJcbiRjb250ZW50LXBhZGRpbmctbW9iaWxlOiAyMHB4O1xyXG5cclxuXHJcblxyXG4iLCJAaW1wb3J0ICd2YXJzJztcclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkcGF0aCwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgIHNyYyA6IHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcclxuICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xyXG4gIEByZXR1cm4gJHJlbVNpemUgKiAxcmVtO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgZm9udC1zaXplOiAkc2l6ZTtcclxuICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA0MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDgwMDtcclxuIl19 */\"","import { MapService } from '../shared/map/map.service';\r\nimport { DriverService } from '../driver/shared/driver.service';\r\nimport { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { PopinService } from '../shared/ui/popin.service';\r\nimport { GmapComponent } from '../shared/gmap/gmap/gmap.component';\r\nimport { AppConfigService } from '../shared/config/app-config.service';\r\nimport { OnRoadAssistanceService } from '../on-road-assistance/on-road-assistance.service';\r\nimport { FeedService } from '../feed/shared/feed.service';\r\nimport { ConfigurationModel } from '../shared/config/configuration.model';\r\nimport { ConfigurationService } from '../shared/config/configuration.service';\r\nimport { AppStorageService } from '../shared/storage/common/app-storage.service';\r\nimport { FeatureService } from '../shared/feature/feature.service';\r\nimport { FeatureConst } from '../shared/feature/feature.consts';\r\nimport { combineLatest } from 'rxjs';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\nimport { UserProfile } from 'app/driver/shared/models/user-profile.model';\r\nimport { UserRole } from 'app/driver/shared/models/user-role.model';\r\nimport { UserRoleContract } from 'app/driver/shared/models/user-contract.model';\r\n\r\n@Component({\r\n selector: 'app-help',\r\n templateUrl: './help.component.html',\r\n styleUrls: ['./help.component.scss']\r\n})\r\nexport class HelpComponent implements OnInit, OnDestroy {\r\n dropDownTranslationKeys = [];\r\n public datasContactSelectMenu = [\r\n { id: 'assistance_1', label: 'help-main_panel-road_assistance' },\r\n { id: 'assistance_2', label: 'help-main_panel-customer_care' }\r\n ];\r\n\r\n public currentContactSelected: string;\r\n public userRole: UserRole;\r\n public driverCompanyName: string = null;\r\n public emergencyAssistanceNumberLocal: string;\r\n public bookingServiceNumberLocal: string;\r\n public emergencyAssistanceNumberInternational: string;\r\n public bookingServiceNumberInternational: string;\r\n public customerServiceNumber: string;\r\n public assistancePhoneThird: string;\r\n public carRepairNumber: string;\r\n\r\n public isDeclareDamageActivated: boolean;\r\n public isSalesForceActivated: boolean;\r\n public isSmartCareActivated: boolean;\r\n public isAssistanceForDriverActivated: boolean;\r\n public isSingleCarRepairNumberActivated: boolean;\r\n\r\n @ViewChild(GmapComponent)\r\n public map: GmapComponent;\r\n public currentUserAddress: string = null;\r\n private currentUserMarker;\r\n public readonly GTM_EVENTS = GTM_EVENTS;\r\n public FEATURES = FeatureConst.features;\r\n\r\n constructor(\r\n private driverService: DriverService,\r\n private oraService: OnRoadAssistanceService,\r\n private popinService: PopinService,\r\n private router: Router,\r\n private appConfig: AppConfigService,\r\n private mapService: MapService,\r\n private feedService: FeedService,\r\n private configurationService: ConfigurationService,\r\n private featureService: FeatureService,\r\n private appStorageService: AppStorageService) {\r\n this.driverService.newDriverStream.subscribe(\r\n (newDriver: UserProfile) => {\r\n if (newDriver) {\r\n this.userRole = this.driverService.getNewUserRole(newDriver);\r\n this.driverCompanyName = this.userRole.company.name;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.popinService.opened(true);\r\n\r\n setTimeout(() => {\r\n // end animation transition\r\n if (this.map) {\r\n this.map.mapGoogleService.resize();\r\n }\r\n }, 300);\r\n\r\n combineLatest(\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'EmergencyAssistanceNumberLocal']),\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'BookingServiceNumberLocal']),\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'EmergencyAssistanceNumberInternational']),\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'BookingServiceNumberInternational']),\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'carRepairNumber']),\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'customerServiceNumberLocal'])\r\n ).subscribe((configurationItems: ConfigurationModel[]) => {\r\n if (configurationItems[0]) {\r\n this.emergencyAssistanceNumberLocal = configurationItems[0].value;\r\n }\r\n if (configurationItems[1]) {\r\n this.bookingServiceNumberLocal = configurationItems[1].value;\r\n }\r\n if (configurationItems[2]) {\r\n this.emergencyAssistanceNumberInternational = configurationItems[2].value;\r\n }\r\n if (configurationItems[3]) {\r\n this.bookingServiceNumberInternational = configurationItems[3].value;\r\n }\r\n if (configurationItems[4]) {\r\n this.carRepairNumber = configurationItems[4].value;\r\n }\r\n if (configurationItems[5]) {\r\n this.customerServiceNumber = configurationItems[5].value;\r\n }\r\n }, errors => {\r\n this.emergencyAssistanceNumberLocal = 'error occured';\r\n this.bookingServiceNumberLocal = 'error occured';\r\n this.emergencyAssistanceNumberInternational = 'error occured';\r\n this.bookingServiceNumberInternational = 'error occured';\r\n this.carRepairNumber = 'error occured';\r\n this.customerServiceNumber = 'error occured';\r\n });\r\n\r\n combineLatest(\r\n this.featureService.isFeatureActivated(FeatureConst.features.DeclareDamage),\r\n this.featureService.isFeatureActivated(FeatureConst.features.SalesForce),\r\n this.featureService.isFeatureActivated(FeatureConst.features.SmartCare),\r\n this.featureService.isFeatureActivated(FeatureConst.features.AssistanceThirdNumber),\r\n this.featureService.isFeatureActivated(FeatureConst.features.AssistanceForDriver),\r\n this.featureService.isFeatureActivated(FeatureConst.features.SingleCarRepairNumber),\r\n ).subscribe(features => {\r\n this.isDeclareDamageActivated = features[0];\r\n this.isSalesForceActivated = features[1];\r\n this.isSmartCareActivated = features[2];\r\n this.isAssistanceForDriverActivated = features[4];\r\n if (features[3]) {\r\n this.addThirdNumber();\r\n }\r\n this.isSingleCarRepairNumberActivated = features[5];\r\n });\r\n }\r\n\r\n private addThirdNumber(): void {\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'AssistancePhoneThird'])\r\n .subscribe((number) => {\r\n this.datasContactSelectMenu.push({ id: 'assistance_3', label: 'help-main_panel-ald_automotive' });\r\n this.assistancePhoneThird = number.value;\r\n });\r\n }\r\n\r\n showMyPosition() {\r\n if (this.map) {\r\n this.map.getCurrentMyPosition();\r\n }\r\n }\r\n\r\n updateSelect(obj) {\r\n this.currentContactSelected = obj.id;\r\n }\r\n\r\n navigateTo(path) {\r\n this.popinService.opened(false);\r\n this.router.navigate([path]);\r\n }\r\n\r\n ngOnDestroy() {\r\n // Back navigator\r\n this.popinService.opened(false);\r\n }\r\n\r\n onBackClick() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n updateUserPosition($event) {\r\n\r\n if (this.currentUserMarker) {\r\n this.currentUserMarker.setMap(null);\r\n }\r\n\r\n // create new marker and save reference\r\n this.currentUserMarker = this.map.mapGoogleService.addMarkerMyPosition($event.lat, $event.lng, {\r\n url: this.appConfig.config.assetsPath + '/images/gmap/me.png',\r\n scaledSize: new google.maps.Size(20, 20)\r\n });\r\n\r\n this.getAddressByLatLng($event.lat, $event.lng);\r\n }\r\n\r\n /* get Addess by Lat/lng */\r\n getAddressByLatLng(lat: number, lng: number) {\r\n\r\n this.mapService.getAddressByLatLng(lat, lng).forEach(\r\n results => {\r\n this.currentUserAddress = results;\r\n }, null\r\n ).then(() => {\r\n }).catch(\r\n (error: string) => {\r\n }\r\n );\r\n }\r\n\r\n initiateOnRoadAssistance(contact) {\r\n this.featureService.isFeatureActivated(FeatureConst.features.OnRoadAssistance)\r\n .subscribe(value => {\r\n if (value) {\r\n const licencePlates = this.userRole.contracts.map((contract: UserRoleContract) => {\r\n return contract.vehicle.plate;\r\n });\r\n const location = this.mapService.getStoredPosition();\r\n this.oraService.putUserInfo(licencePlates, location.lng, location.lat, 'tel:' + contact);\r\n } else {\r\n window.location.href = 'tel:' + contact;\r\n }\r\n });\r\n }\r\n}\r\n","import { TranslateModule } from '@ngx-translate/core';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HelpComponent } from './help.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HelpContactUsComponent } from './help-contact-us/help-contact-us.component';\r\nimport { HelpService } from './shared/help.service';\r\nimport { FlatpickrModule } from 'angularx-flatpickr';\r\nimport flatpickr from 'flatpickr';\r\nimport { HelpCaseRequestComponent } from './help-case-request/help-case-request.component';\r\nimport { HelpFollowRequestsComponent } from './help-follow-requests/help-follow-requests.component';\r\nimport { HelpCaseItemComponent } from './help-case-item/help-case-item.component';\r\nimport { HelpMaintenanceRequestComponent } from './help-maintenance-request/help-maintenance-request.component';\r\nimport { HelpGenericComponent } from './help-generic/help-generic.component';\r\nimport { GtmModule } from 'app/shared/gtm/gtm.module';\r\nimport { HelpDamageDeclarationComponent } from './help-damage-declaration/help-damage-declaration.component';\r\nimport { MyAldUiModule } from 'app/shared/ui/myald-ui/myald-ui.module';\r\nimport { MaterialModule } from 'app/shared/ui/material/material.module';\r\nimport { OnRoadAssistanceService } from '../on-road-assistance/on-road-assistance.service';\r\nimport { HelpOrderDamageRepairComponent } from './help-assistance-for-driver/help-order-damage-repair/order-damage-repair.component';\r\nimport { HelpTakeAbroadComponent } from './help-assistance-for-driver/help-take-abroad/take-abroad.component';\r\nimport { HelpOrderMaintenanceComponent } from './help-assistance-for-driver/help-order-maintenance/order-maintenance.component';\r\nexport function flatpickrFactory() {\r\n return flatpickr;\r\n}\r\n\r\n/*\r\n\r\nThere are no routes defined in this module, unlike the other top level modules in the components directory.\r\n\r\nThis module is included exclusively in the feed section for the time being, but is complex enough to need it's own module\r\n\r\n */\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n RouterModule,\r\n FlatpickrModule.forRoot(),\r\n GtmModule,\r\n MyAldUiModule,\r\n MaterialModule,\r\n ],\r\n declarations: [\r\n HelpComponent,\r\n HelpGenericComponent,\r\n HelpContactUsComponent,\r\n HelpCaseRequestComponent,\r\n HelpFollowRequestsComponent,\r\n HelpCaseItemComponent,\r\n HelpMaintenanceRequestComponent,\r\n HelpDamageDeclarationComponent,\r\n HelpOrderDamageRepairComponent,\r\n HelpTakeAbroadComponent,\r\n HelpOrderMaintenanceComponent,\r\n ],\r\n exports: [\r\n HelpComponent,\r\n HelpGenericComponent,\r\n HelpContactUsComponent,\r\n HelpCaseRequestComponent,\r\n HelpFollowRequestsComponent,\r\n HelpCaseItemComponent,\r\n HelpMaintenanceRequestComponent,\r\n HelpDamageDeclarationComponent,\r\n HelpOrderDamageRepairComponent,\r\n HelpTakeAbroadComponent,\r\n HelpOrderMaintenanceComponent,\r\n ],\r\n providers: [\r\n HelpService,\r\n OnRoadAssistanceService,\r\n ]\r\n})\r\nexport class HelpModule {\r\n}\r\n","import { environment } from 'environments/environment';\r\n\r\nexport const MaxMileage = 250000;\r\n\r\nexport const HelpConst = {\r\n api: {\r\n base: environment.apigatewayUrl + '/apigateway/Help/api/',\r\n endpoints: {\r\n declareDamage: '/Contact/DeclareDamage',\r\n sendRequest: 'Contact/Send',\r\n getContactCategories: 'ContactALD/GetCategoriesSubject',\r\n getCaseHistory: 'Case/My',\r\n maintenanceRequest: 'Maintenance/SendMaintenanceRequest',\r\n sendAskPermissionForm: 'Assistance/PermissionToGoAbroad',\r\n sendOrderDamageRepairRequest: 'Assistance/OrderDamageRepair',\r\n sendOrderMaintenanceRequest: 'Assistance/OrderMaintenance',\r\n }\r\n },\r\n maintenanceType: {\r\n ScheduledMaintenance : 83,\r\n UnScheduledMaintenance : 84\r\n }\r\n};\r\n\r\nexport enum OrderMaintenanceChanges {\r\n other_reason = 'OtherReason',\r\n windscreen_damage = 'WindscreenDamage',\r\n tyres = 'Tyres',\r\n repairs = 'Repairs',\r\n technical_checkup = 'TechnicalCheckup',\r\n}\r\n","import { Vehicle } from '../../driver/shared/models/vehicle.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HelpConst } from './help.const';\r\nimport { UserService } from '../../shared/user/user.service';\r\nimport { DriverService } from '../../driver/shared/driver.service';\r\nimport { Driver } from '../../driver/shared/models/driver.model';\r\nimport { ApiService } from '../../shared/common/api.service';\r\nimport { TranslationService } from '../../shared/translation/translation.service';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { typeSourceSpan } from '@angular/compiler';\r\nimport { ContactRequest } from './models/create-case-request.model';\r\nimport { DeclareDamageRequest } from './models/declare-damage-request.model';\r\nimport { SendMaintenanceRequest } from './models/maintenance-request.model';\r\nimport { ContractAskPermission, ContractOrderDamageRepair, ContractOrderMaintenance } from './models/help-driver-assistance.model';\r\nimport { DocumentCategoryModel } from 'app/documents/shared/models/document-category.model';\r\nimport { DocumentsConst } from 'app/documents/shared/documents.const';\r\nimport { DocumentSharedWithUsersModelLight } from 'app/documents/shared/models/document-shared-with-users-light.model';\r\nimport { DocumentsService } from 'app/documents/shared/documents.service';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { DocumentsCategory } from 'app/documents/shared/enums/documents-category';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\nimport { SnackbarService } from 'app/shared/snackbar/snackbar.service';\r\nimport { HttpService } from 'app/shared/helper/http.service';\r\n\r\n@Injectable()\r\nexport class HelpService {\r\n\r\n private driver: Driver;\r\n private maintenanceRequestParameters: any;\r\n public documents$: BehaviorSubject = new BehaviorSubject(null);\r\n constructor(private api: ApiService,\r\n private userService: UserService,\r\n private driverService: DriverService,\r\n private translationService: TranslationService,\r\n private documentsService: DocumentsService,\r\n private gtmService: GtmService,\r\n private snackBarService: SnackbarService,\r\n private httpService: HttpService) {\r\n }\r\n\r\n public declareDamage(declareDamageParams: DeclareDamageRequest) {\r\n return this.api.post(HelpConst.api.base + HelpConst.api.endpoints.declareDamage, declareDamageParams)\r\n .map(response => {\r\n return response;\r\n });\r\n }\r\n\r\n public uploadDocumentAction(formData): Observable {\r\n const documentsModule = DocumentsConst.api.modules.documents;\r\n const url = DocumentsConst.api.baseUrl + documentsModule.url + documentsModule.endpoints.CreateDocument;\r\n return this.httpService.postFile(url, formData);\r\n }\r\n\r\n public deleteDocument(documentId: any[]): Observable {\r\n const body = documentId;\r\n const documentsModule = DocumentsConst.api.modules.documents;\r\n const url = DocumentsConst.api.baseUrl + documentsModule.url + documentsModule.endpoints.DeleteDocuments;\r\n return this.httpService.post(url, body);\r\n }\r\n\r\n public contactAld(contactAldParams: ContactRequest) {\r\n contactAldParams.culture = this.translationService.language;\r\n return this.api.post(HelpConst.api.base + HelpConst.api.endpoints.sendRequest, contactAldParams)\r\n .map(response => {\r\n return response;\r\n });\r\n }\r\n\r\n public sendMaintenanceRequest(maintenanceRequestParams: SendMaintenanceRequest): Observable {\r\n maintenanceRequestParams.culture = this.translationService.language;\r\n\r\n return this.api.post(HelpConst.api.base + HelpConst.api.endpoints.maintenanceRequest, maintenanceRequestParams)\r\n .map(response => {\r\n return response;\r\n });\r\n\r\n }\r\n\r\n public createCaseRequest(newCaseParams: ContactRequest): Observable {\r\n newCaseParams.culture = this.translationService.language;\r\n return this.api.post(HelpConst.api.base + HelpConst.api.endpoints.sendRequest, newCaseParams)\r\n .map(response => {\r\n return response;\r\n });\r\n }\r\n\r\n public getCategories() {\r\n const params = this._getQueryStringUrl({ subsidiaryCode: this.userService.getCountry() });\r\n return this.api.get(HelpConst.api.base + HelpConst.api.endpoints.getContactCategories + '?' + params);\r\n }\r\n\r\n public getCaseHistory() {\r\n return this.api.get(HelpConst.api.base + HelpConst.api.endpoints.getCaseHistory);\r\n }\r\n\r\n public setMaintenanceRequestParameters(param): void {\r\n this.maintenanceRequestParameters = param;\r\n }\r\n\r\n public getMaintenanceRequestParameters(): any {\r\n return this.maintenanceRequestParameters;\r\n }\r\n\r\n public getDefaultVehicle(): Vehicle {\r\n let defaultVehicle: Vehicle = null;\r\n this.driverService.driverStream.subscribe(driver => {\r\n this.driver = driver;\r\n defaultVehicle = driver.contracts[0].vehicle;\r\n });\r\n return defaultVehicle;\r\n }\r\n\r\n private _getQueryStringUrl(params: any): string {\r\n return Object.keys(params)\r\n .map(k => `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`)\r\n .join('&');\r\n }\r\n\r\n public askPermissionToTakeAbroad(askPermissionForm: ContractAskPermission) {\r\n const url = HelpConst.api.base + HelpConst.api.endpoints.sendAskPermissionForm;\r\n return this.api.post(url, askPermissionForm);\r\n }\r\n\r\n public orderDamageRepair(damageRepairForm: ContractOrderDamageRepair) {\r\n const url = HelpConst.api.base + HelpConst.api.endpoints.sendOrderDamageRepairRequest;\r\n return this.api.post(url, damageRepairForm);\r\n }\r\n\r\n public orderMaintenance(orderMaintenanceForm: ContractOrderMaintenance) {\r\n const url = HelpConst.api.base + HelpConst.api.endpoints.sendOrderMaintenanceRequest;\r\n return this.api.post(url, orderMaintenanceForm);\r\n }\r\n\r\n public getAvailableCategories(): Observable {\r\n const documentsModule = DocumentsConst.api.modules.documents;\r\n const url = DocumentsConst.api.baseUrl + documentsModule.url + documentsModule.endpoints.GetCategories;\r\n return this.api.get(url);\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.faq-container {\\n padding-top: 25px; }\\n.faq-container app-accordion-item /deep/ .content {\\n font-size: 0.875em;\\n line-height: 1.429em;\\n color: rgba(82, 82, 82, 0.4);\\n margin-bottom: 16px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9yZS9tb3JlLWZhcS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9tb3JlL21vcmUtZmFxL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9tb3JlL21vcmUtZmFxL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL21vcmUvbW9yZS1mYXEvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9tb3JlL21vcmUtZmFxL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL21vcmUvbW9yZS1mYXEvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9tb3JlL21vcmUtZmFxL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxtb3JlXFxtb3JlLWZhcVxcbW9yZS1mYXEuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLGtCQUFpQixFQVdwQjtBQVpEO0lBTVksbUJBQWtCO0lBQ2xCLHFCQUFvQjtJQUNwQiw2QkFBNEQ7SUFDNUQsb0JBQW1CLEVBQ3RCIiwiZmlsZSI6InNyYy9hcHAvbW9yZS9tb3JlLWZhcS9tb3JlLWZhcS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL3RoZW1lLWltcG9ydHNcIjtcclxuXHJcbi5mYXEtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG5cclxuICAgIGFwcC1hY2NvcmRpb24taXRlbSB7XHJcblxyXG4gICAgICAgIC9kZWVwLyAuY29udGVudCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDI5ZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZShtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS05MDAnKSwgMC42KTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19 */\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { PopinService } from '../../shared/ui/popin.service';\r\n\r\n@Component({\r\n selector: 'app-more-faq',\r\n templateUrl: './more-faq.component.html',\r\n styleUrls: ['./more-faq.component.scss']\r\n})\r\nexport class MoreFaqComponent implements OnInit, OnDestroy {\r\n\r\n\r\n constructor(private popinService: PopinService) {\r\n\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.popinService.opened(true);\r\n }\r\n\r\n ngOnDestroy() {\r\n // Back navigator\r\n this.popinService.opened(false);\r\n }\r\n\r\n onBackClick() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n

{{ driver.name }}

\\r\\n

{{'more-main_menu-company'| translate}} : {{ driver.client.name }}

\\r\\n

{{'more-main_menu-login'| translate}} : {{ driver.login || driver.mail }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\ndiv.childrens-container {\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: 5;\\n width: 100%;\\n height: 100%;\\n max-width: 710px;\\n overflow-y: auto;\\n overflow-x: hidden;\\n background: #FFFFFF;\\n transform: translate3d(100%, 0, 0); }\\n.more-header-container {\\n display: flex;\\n height: 150px;\\n background-color: #fafafa; }\\n.more-header-container .more-header {\\n justify-content: center;\\n display: flex;\\n width: 75%;\\n max-width: 30em;\\n margin: auto; }\\n.more-header-container .company-avatar-container {\\n position: relative;\\n vertical-align: top;\\n width: 85px;\\n height: 85px;\\n overflow: hidden; }\\n.more-header-container .company-avatar-container img {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 50%;\\n display: block;\\n width: 100%;\\n transform: translateY(-50%); }\\n.more-header-container .user-infos-container {\\n vertical-align: top;\\n padding-top: 8px; }\\n.more-header-container .user-infos-container.no-logo {\\n padding-left: 0; }\\n.more-header-container .user-infos-container p {\\n font-size: 0.875em;\\n line-height: 1.429em; }\\n.more-header-container .user-infos-container .user-name {\\n font-size: 1.125em;\\n line-height: 1.167em;\\n font-weight: 700;\\n color: #050b7f;\\n margin-bottom: 10px; }\\n.more-header-container .user-infos-container .company-name, .more-header-container .user-infos-container .login-name {\\n color: rgba(82, 82, 82, 0.5); }\\n.more-menu-container {\\n position: absolute;\\n top: 150px;\\n left: 0;\\n right: 0;\\n bottom: 65px;\\n background-color: #FFFFFF;\\n padding-top: 9px;\\n overflow: auto;\\n -webkit-overflow-scrolling: touch; }\\n.more-menu-container .more-menu {\\n width: auto;\\n padding: 0 45px;\\n max-width: 30em;\\n margin: auto; }\\n.more-menu-container .more-menu .more-menu-item {\\n position: relative;\\n width: 100%;\\n padding: 0;\\n border-bottom: 1px solid rgba(215, 215, 215, 0.5);\\n cursor: pointer; }\\n.more-menu-container .more-menu .more-menu-item:last-of-type {\\n border-bottom: none; }\\n.more-menu-container .more-menu .more-menu-item a {\\n display: block;\\n padding: 23px 25px 25px 0;\\n font-weight: 700;\\n font-size: 1.125em;\\n line-height: 1.2em;\\n text-decoration: none;\\n color: #050b7f; }\\n.more-menu-container .more-menu .more-menu-item .icon-container {\\n position: absolute;\\n top: 50%;\\n right: 0;\\n width: 14px;\\n height: 12px;\\n transform: translateY(-50%); }\\n.more-menu-container .more-menu .more-menu-item .icon-container app-svg-icon {\\n position: absolute;\\n right: 0;\\n top: 50%;\\n width: 14px;\\n height: 12px;\\n transform: translateY(-50%); }\\n.more-menu-container .more-menu .more-menu-item .icon-container.logout {\\n width: 18px;\\n height: 22px;\\n border-top: 2px solid #00cfff;\\n border-bottom: 2px solid #00cfff;\\n border-left: 2px solid #00cfff;\\n border-top-left-radius: 2px;\\n border-bottom-left-radius: 2px; }\\n.more-menu-container .more-menu .more-menu-item .icon-container.download {\\n transform: rotate(-45deg);\\n margin-right: 3px; }\\n/*Screen Size : m*/\\napp-modal-box {\\n text-align: center; }\\napp-modal-box h1 {\\n font-size: 1.875em;\\n line-height: 1.23333333em;\\n font-weight: 500;\\n color: #00cfff; }\\napp-modal-box p {\\n margin-bottom: 40px; }\\n@media screen and (min-width: 980px) {\\n :host {\\n display: block;\\n width: 100%;\\n height: 100%;\\n padding-top: 15vh;\\n overflow-y: scroll;\\n -webkit-overflow-scrolling: touch; }\\n .more-header-container {\\n max-width: 900px;\\n background-color: #FFFFFF;\\n width: 80%;\\n margin: 0 auto; }\\n .more-header-container .more-header {\\n justify-content: flex-start;\\n max-width: inherit;\\n width: 100%; }\\n .more-header-container .company-avatar-container {\\n width: 140px;\\n height: 140px; }\\n .more-header-container .user-infos-container {\\n vertical-align: top;\\n padding-top: 8px; }\\n .more-header-container .user-infos-container.no-logo {\\n padding-left: 0; }\\n .more-header-container .user-infos-container p {\\n font-size: 1.375em;\\n line-height: 1.36363636em; }\\n .more-header-container .user-infos-container .user-name {\\n font-size: 2.8125em;\\n line-height: 1em;\\n font-weight: 700;\\n color: #050b7f; }\\n .more-header-container .user-infos-container .company-name, .more-header-container .user-infos-container .login-name {\\n color: rgba(82, 82, 82, 0.5); }\\n .more-menu-container {\\n position: relative;\\n top: 0;\\n bottom: initial;\\n max-width: 900px;\\n width: 80%;\\n margin: 25px auto 0; }\\n .more-menu-container .more-menu {\\n max-width: inherit;\\n width: 100%;\\n padding: 0;\\n font-size: 0; }\\n .more-menu-container .more-menu .more-menu-item {\\n display: inline-block;\\n vertical-align: top;\\n width: 45%;\\n font-size: 16px;\\n padding: 0; }\\n .more-menu-container .more-menu .more-menu-item a {\\n padding: 41px 25px 38px 0; }\\n .more-menu-container .more-menu .more-menu-item:last-of-type {\\n border-bottom: 1px solid rgba(215, 215, 215, 0.5); }\\n .more-menu-container .more-menu .more-menu-item .icon-container {\\n width: 20px;\\n height: 16px; }\\n .more-menu-container .more-menu .more-menu-item .icon-container.logout {\\n width: 26px;\\n height: 30px; }\\n .more-menu-container .more-menu .more-menu-item .icon-container app-svg-icon {\\n width: 20px;\\n height: 16px; }\\n .more-menu-container .more-menu .more-menu-item a {\\n font-size: 1.375em;\\n line-height: 0.90909091em; }\\n .more-menu-container .more-menu .more-menu-item:nth-child(odd) {\\n margin-right: 5%; }\\n .more-menu-container .more-menu .more-menu-item:nth-child(even) {\\n margin-left: 5%; }\\n app-modal-box h1 {\\n font-size: 2.8125em;\\n line-height: 0.82222222em;\\n font-weight: 500;\\n color: #00cfff;\\n margin-bottom: 10px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9yZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9tb3JlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9tb3JlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL21vcmUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9tb3JlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL21vcmUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9tb3JlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxtb3JlXFxtb3JlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9tb3JlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvbW9yZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvbW9yZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsT0FBTTtFQUNOLFdBQVU7RUFDVixZQUFXO0VBQ1gsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLG9CQ0NZO0VEQVosbUNBQWtDLEVBQ3JDO0FBRUQ7RUFDSSxjQUFhO0VBQ2IsY0pxRXNCO0VJcEV0QiwwQkNKZSxFRDJEbEI7QUExREQ7SUFNUSx3QkFBdUI7SUFDdkIsY0FBYTtJQUNiLFdKakJXO0lJa0JYLGdCSmpCaUI7SUlrQmpCLGFBQVksRUFDZjtBQVhMO0lBY1EsbUJBQWtCO0lBQ2xCLG9CQUFtQjtJQUNuQixZQUFXO0lBQ1gsYUFBWTtJQUNaLGlCQUFnQixFQWFuQjtBQS9CTDtNQXFCWSxtQkFBa0I7TUFDbEIsUUFBTztNQUNQLFNBQVE7TUFDUixTQUFRO01BQ1IsZUFBYztNQUNkLFlBQVc7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akI7VUE2Q2dCLG1CR2xKYztVSG1KZCwwQkduSmMsRUhvSmpCO1FBL0NiO1VBa0RnQixpQkFBZ0IsRUFDbkI7UUFuRGI7VUFzRGdCLGdCQUFlLEVBQ2xCO0VBS2I7SUFFUSxvQkduS3NCO0lIb0t0QiwwQkdwS3NCO0lIcUt0QixpQkVqUWU7SUZrUWYsZUMzUlk7SUQ0Ulosb0JBQW1CLEVBQ3RCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9tb3JlL21vcmUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy90aGVtZS1pbXBvcnRzXCI7XHJcblxyXG5kaXYuY2hpbGRyZW5zLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1heC13aWR0aDogNzEwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG59XHJcblxyXG4ubW9yZS1oZWFkZXItY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBoZWlnaHQ6ICRtb3JlLWhlYWRlci1oZWlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS0xMDAnKTtcclxuXHJcbiAgICAubW9yZS1oZWFkZXIge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgd2lkdGg6ICRjb250ZW50LXdpZHRoO1xyXG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuY29tcGFueS1hdmF0YXItY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICB3aWR0aDogODVweDtcclxuICAgICAgICBoZWlnaHQ6IDg1cHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC51c2VyLWluZm9zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG5cclxuICAgICAgICAmLm5vLWxvZ28ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40MjllbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51c2VyLW5hbWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE2N2VtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbXBhbnktbmFtZSwgLmxvZ2luLW5hbWUge1xyXG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUobWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktOTAwJyksIDAuNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9yZS1tZW51LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6ICRtb3JlLWhlYWRlci1oZWlnaHQ7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206ICR1c2VyLW1lbnUtaGVpZ2h0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICBwYWRkaW5nLXRvcDogOXB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblxyXG4gICAgLm1vcmUtbWVudSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMCA0NXB4O1xyXG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuXHJcbiAgICAgICAgLm1vcmUtbWVudS1pdGVtIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTMwMCcpLCAwLjUpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjNweCAyNXB4IDI1cHggMDtcclxuXHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnknKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmljb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcbiAgICAgICAgICAgICAgICBhcHAtc3ZnLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYubG9nb3V0IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5kb3dubG9hZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qU2NyZWVuIFNpemUgOiBtKi9cclxuYXBwLW1vZGFsLWJveCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMzBweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDM3cHgsIDMwcHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1pbi13aWR0aChtKSB7XHJcblxyXG4gICAgOmhvc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTV2aDtcclxuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gICAgfVxyXG5cclxuICAgIC5tb3JlLWhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogOTAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAgICAgLm1vcmUtaGVhZGVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbXBhbnktYXZhdGFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51c2VyLWluZm9zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIC8vcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG5cclxuICAgICAgICAgICAgJi5uby1sb2dvIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIycHgpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDMwcHgsIDIycHgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudXNlci1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNDVweCk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oNDVweCwgNDVweCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnknKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNvbXBhbnktbmFtZSwgLmxvZ2luLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50aXplKG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTkwMCcpLCAwLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tb3JlLW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogaW5pdGlhbDtcclxuICAgICAgICBtYXgtd2lkdGg6IDkwMHB4O1xyXG4gICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gMDtcclxuXHJcbiAgICAgICAgLm1vcmUtbWVudSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuXHJcbiAgICAgICAgICAgIC5tb3JlLW1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ1JTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNDFweCAyNXB4IDM4cHggMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTMwMCcpLCAwLjUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5pY29uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmxvZ291dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBhcHAtc3ZnLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDIycHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgyMHB4LCAyMnB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNSU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXBwLW1vZGFsLWJveCB7XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDQ1cHgpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMzdweCwgNDVweCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iXX0= */\"","import { Driver } from '../driver/shared/models/driver.model';\r\nimport { DriverService } from '../driver/shared/driver.service';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport 'rxjs/add/operator/delay';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\nimport { MaskComponent } from '../shared/mask/mask.component';\r\nimport { Router } from '@angular/router';\r\nimport { PopinService } from '../shared/ui/popin.service';\r\nimport { ModalService } from '../shared/ui/modal.service';\r\nimport ModalCode from '../shared/modal-box/ModalCode';\r\nimport { AppStorageService } from '../shared/storage/common/app-storage.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { CookiesService } from 'app/shared/cookies/cookies.service';\r\nimport { TranslationService } from 'app/shared/translation/translation.service';\r\nimport { environment } from 'environments/environment';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\n\r\n@Component({\r\n selector: 'app-more-menu',\r\n templateUrl: './more.component.html',\r\n styleUrls: ['./more.component.scss'],\r\n animations: [\r\n trigger('toggle', [\r\n state('shown', style({ transform: 'translate3d(0,0,0)' })),\r\n transition('hidden => *', [\r\n animate('300ms cubic-bezier(0.5, 0.130, 0.5, 0.950)', style({ transform: 'translate3d(0,0,0)' }))\r\n ]),\r\n transition('* => shown', [\r\n animate('300ms cubic-bezier(0.5, 0.130, 0.5, 0.950)', style({ transform: 'translate3d(0,0,0)' }))\r\n ]),\r\n transition('shown => hidden', [\r\n animate('300ms cubic-bezier(0.5, 0.130, 0.5, 0.950)', style({ transform: 'translateX(100%)' }))\r\n ]),\r\n ])\r\n ]\r\n})\r\nexport class MoreMenuComponent implements OnInit, OnDestroy {\r\n\r\n public stateToggle = '';\r\n public modalSubscriptionFavApp: Subscription;\r\n public logOutPopin = false;\r\n // tslint:disable-next-line:no-output-rename\r\n @Output('endAnimationClose')\r\n public endAnimationClose = new EventEmitter();\r\n @ViewChild(MaskComponent)\r\n public mask;\r\n driver: Driver;\r\n public appUrlToGo: string = null;\r\n private subscription: Subscription;\r\n public readonly GTM_EVENTS = GTM_EVENTS;\r\n\r\n constructor(private driverService: DriverService,\r\n private router: Router,\r\n private popinService: PopinService,\r\n private modalService: ModalService,\r\n private storage: AppStorageService,\r\n private cookiesService: CookiesService,\r\n private translationService: TranslationService) {\r\n\r\n this.driverService.driverStream.subscribe(\r\n driver => {\r\n this.driver = driver;\r\n }\r\n );\r\n this.listenToModalFavApp();\r\n }\r\n\r\n ngOnInit() {\r\n this.popinService.opened(null);\r\n this.subscription = this.popinService.getOpened().subscribe(\r\n results => {\r\n if (results !== null) {\r\n if (results) {\r\n this.stateToggle = 'shown';\r\n this.mask.show = true;\r\n } else {\r\n this.stateToggle = 'hidden';\r\n this.mask.show = false;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n this.modalSubscriptionFavApp.unsubscribe();\r\n }\r\n\r\n animationDone($event) {\r\n if ($event.toState === 'hidden') {\r\n this.router.navigate(['/more']);\r\n }\r\n }\r\n\r\n onClosePopin() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n openModal(event) {\r\n event.preventDefault();\r\n this.modalService.modalCode = ModalCode.LOGOUT;\r\n this.modalService.openModal('global-logout_popin-text', 'global-logout_popin-title');\r\n }\r\n\r\n listenToModalFavApp() {\r\n this.modalSubscriptionFavApp = this.modalService.modalActionObservable.subscribe(\r\n status => {\r\n if (status === true && this.modalService.modalCode === ModalCode.FAVOURITE_APP) {\r\n this.modalService.reset();\r\n window.open(this.appUrlToGo, '_blank');\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n getCookiesPolicyLink() {\r\n return this.cookiesService.getCookiesPolicyDocumentUrl(this.translationService.language);\r\n }\r\n\r\n getTermsOfUseLink() {\r\n return `${environment.publicDocumentsBaseUrl}/${this.storage.countrySelected}/disclaimer-${this.translationService.language}.pdf`;\r\n }\r\n}\r\n","import { TranslateModule } from '@ngx-translate/core';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MoreMenuComponent } from './more.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MoreFaqComponent } from './more-faq/more-faq.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MoreResetPasswordComponent } from '../shared/app-menu/more-reset-password/more-reset-password.component';\r\nimport { MorePersonalInformationComponent } from '../shared/app-menu/more-personal-information/more-personal-information.component';\r\nimport { HelpComponent } from '../help/help.component';\r\nimport { ContractStatusGuard } from '../driver/shared/contract/guards/contract-status-guard.service';\r\nimport { HelpGenericComponent } from '../help/help-generic/help-generic.component';\r\nimport { ContractStatusExcludeGuard } from '../driver/shared/contract/guards/contract-status-exclude-guard.service';\r\nimport { HelpModule } from '../help/help.module';\r\nimport { MyPreferencesComponent } from 'app/shared/app-menu/my-preferences/my-preferences.component';\r\nimport { GtmModule } from 'app/shared/gtm/gtm.module';\r\n\r\nconst ROUTES = [\r\n {\r\n path: '',\r\n component: MoreMenuComponent,\r\n children: [\r\n {\r\n path: 'faq',\r\n component: MoreFaqComponent\r\n },\r\n {\r\n path: 'personal-informations',\r\n component: MorePersonalInformationComponent,\r\n },\r\n {\r\n path: 'preferences',\r\n component: MyPreferencesComponent,\r\n },\r\n {\r\n path: 'reset-password',\r\n component: MoreResetPasswordComponent\r\n },\r\n {\r\n path: 'help',\r\n component: HelpComponent,\r\n canActivate: [ContractStatusGuard],\r\n data: {\r\n status: ['active']\r\n }\r\n },\r\n {\r\n path: 'assistance',\r\n component: HelpGenericComponent,\r\n canActivate: [ContractStatusExcludeGuard],\r\n data: {\r\n status: ['active'],\r\n acceptProspect: true\r\n }\r\n },\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(ROUTES),\r\n SharedModule,\r\n TranslateModule,\r\n HelpModule,\r\n GtmModule,\r\n ],\r\n declarations: [\r\n MoreMenuComponent,\r\n MoreFaqComponent,\r\n ]\r\n})\r\nexport class MoreModule {\r\n}\r\n","import { environment } from 'environments/environment';\r\n\r\nexport const OnRoadAssistanceConst = {\r\n api: {\r\n base: environment.apigatewayUrl + '/apigateway/Feed/api/Feed/',\r\n endpoints: {\r\n all: 'All?',\r\n }\r\n },\r\n others: {\r\n pollingInterval: 10000\r\n }\r\n};\r\n\r\n","import { OnRoadAssistanceConst } from './on-road-assistance.const';\r\nimport { FeedService } from '../feed/shared/feed.service';\r\nimport { ApiEndpoints } from '../shared/common/api.settings';\r\nimport { RequestParameter } from '../shared/common/request-parameter.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport 'rxjs/add/operator/switchMap';\r\nimport { Subscription } from 'rxjs';\r\nimport { UserService } from '../shared/user/user.service';\r\nimport * as bowser from 'bowser';\r\nimport { ApiService } from '../shared/common/api.service';\r\nimport { FeedItem } from '../feed/shared/feed-item.model';\r\n\r\n@Injectable()\r\nexport class OnRoadAssistanceService {\r\n public assistanceIsRunning = false;\r\n constructor(private api: ApiService,\r\n private userService: UserService,\r\n private feedService: FeedService) {\r\n }\r\n\r\n /**\r\n * Submit user information to the server to initiate an assistance procedure.\r\n *\r\n * @param plateNumber\r\n * @param longitude\r\n * @param latitude\r\n * @param telephoneNumber\r\n * @returns {Observable}\r\n */\r\n putUserInfo(plateNumber: string[], longitude: number, latitude: number, telephoneNumber: string): any {\r\n\r\n if (!bowser.firefox) { window.location.href = telephoneNumber; }\r\n\r\n const params: RequestParameter[] = [];\r\n params.push(new RequestParameter('longitude', longitude));\r\n params.push(new RequestParameter('latitude', latitude));\r\n\r\n for (let index = 0; index < plateNumber.length; index++) {\r\n params.push(new RequestParameter('plateNumber', plateNumber[index]));\r\n }\r\n\r\n this.assistanceIsRunning = true;\r\n\r\n const urlTail = this._getQueryStringUrl(params);\r\n\r\n return this.api.put(ApiEndpoints.API_ASSISTANCE_ENDPOINT_PUTUSERINFO + '?' + urlTail)\r\n .toPromise()\r\n .then(response => {\r\n\r\n if (bowser.firefox) { window.location.href = telephoneNumber; }\r\n })\r\n .catch(error => {\r\n return error; });\r\n }\r\n\r\n /**\r\n * Returns an observable that will emit map feed events to update the feed map\r\n *\r\n * @returns {Observable}\r\n */\r\n requestRefresh(): Observable {\r\n\r\n // Create an subject to supply FeedItems\r\n const notificationRefreshObservable: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n let updateRequestSubscription: Subscription;\r\n\r\n // Create a function that will be called to query th server on update status\r\n function pushNewNotificationData() {\r\n\r\n // cancel previous subscription\r\n if (updateRequestSubscription) { updateRequestSubscription.unsubscribe(); }\r\n\r\n // start request\r\n updateRequestSubscription = this.api.get()\r\n .map(response => {\r\n\r\n const notificationFeed: FeedItem = response.json()[0];\r\n notificationRefreshObservable.next(notificationFeed);\r\n\r\n // check if we need to continue polling\r\n if (notificationFeed.roadAssistance.stepNumber < 5) {\r\n this.assistanceIsRunning = true;\r\n setTimeout(pushNewNotificationData.bind(this), OnRoadAssistanceConst.others.pollingInterval);\r\n } else {\r\n this.assistanceIsRunning = false;\r\n }\r\n\r\n }).subscribe();\r\n\r\n }\r\n\r\n // start off polling loop\r\n pushNewNotificationData.bind(this)();\r\n\r\n // Retun consumable observable from subject\r\n return notificationRefreshObservable.asObservable();\r\n\r\n }\r\n\r\n private _getQueryStringUrl(params: any): string {\r\n return params\r\n .map(k => `${encodeURIComponent(k.name)}=${encodeURIComponent(k.value)}`)\r\n .join('&');\r\n }\r\n\r\n\r\n}\r\n\r\n","module.exports = \"
\\r\\n
\\r\\n

{{label}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.accordion-item {\\n padding: 24px 35px 26px 0;\\n border-bottom: 1px solid rgba(215, 215, 215, 0.5); }\\n.accordion-item .label-container {\\n position: relative;\\n cursor: pointer; }\\n.accordion-item .label-container .icon-container {\\n position: absolute;\\n right: -35px;\\n top: 50%;\\n color: #00cfff;\\n will-change: auto;\\n transform: translateY(-50%); }\\n.accordion-item .label-container .icon-container.dropdown {\\n margin-top: 0;\\n opacity: 1;\\n transition: opacity 0.3s ease 0.1s, margin-top 0.3s ease 0.1s; }\\n.accordion-item .label-container .icon-container.closeup {\\n transform: translateY(-50%) rotate(180deg);\\n margin-top: -25px;\\n opacity: 0;\\n transition: opacity 0.2s ease, margin-top 0.3s ease; }\\n.accordion-item .label-container.expand .icon-container {\\n will-change: auto;\\n transition: 0.3s ease; }\\n.accordion-item .label-container.expand .icon-container.dropdown {\\n margin-top: 25px;\\n opacity: 0;\\n transition: opacity 0.3s ease, margin-top 0.4s ease-out; }\\n.accordion-item .label-container.expand .icon-container.closeup {\\n margin-top: 0;\\n opacity: 1;\\n transition: opacity 0.3s ease 0.1s, margin-top 0.2s ease 0.1s; }\\n.accordion-item .label-container.allow-animation .icon-container {\\n -webkit-animation-delay: 0s;\\n animation-delay: 0s; }\\n.accordion-item .label-container .label {\\n color: #00cfff;\\n font-weight: 700;\\n font-size: 1.125em;\\n line-height: 1.111em; }\\n.accordion-item .content-container {\\n overflow: hidden; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGFjY29yZGlvblxcYWNjb3JkaW9uLWl0ZW1cXGFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfZm9udHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksMEJBQXlCO0VBQ3pCLGtEQUE4RSxFQXlFakY7QUEzRUQ7SUFLUSxtQkFBa0I7SUFDbEIsZ0JBQWUsRUErRGxCO0FBckVMO01BU1ksbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixTQUFRO01BQ1IsZUNUWTtNRFVaLGtCQUFpQjtNQUNqQiw0QkFBMkIsRUFrQjlCO0FBaENUO1FBaUJnQixjQUFhO1FBQ2IsV0FBVTtRQUVWLDhEQUE2RCxFQUVoRTtBQXRCYjtRQXlCZ0IsMkNBQTBDO1FBQzFDLGtCQUFpQjtRQUNqQixXQUFVO1FBRVYsb0RBQW1ELEVBQ3REO0FBOUJiO01Bb0NnQixrQkFBaUI7TUFDakIsc0JBQXFCLEVBZ0J4QjtBQXJEYjtRQXdDb0IsaUJBQWdCO1FBQ2hCLFdBQVU7UUFFVix3REFBdUQsRUFDMUQ7QUE1Q2pCO1FBK0NvQixjQUFhO1FBQ2IsV0FBVTtRQUVWLDhEQUE2RCxFQUVoRTtBQXBEakI7TUEyRGdCLDRCQUFtQjtjQUFuQixvQkFBbUIsRUFDdEI7QUE1RGI7TUFnRVksZUM3RFk7TUQ4RFosaUJFbkNlO01Gb0NmLG1CQUFrQjtNQUNsQixxQkFBb0IsRUFDdkI7QUFwRVQ7SUF3RVEsaUJBQWdCLEVBQ25CIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL3RoZW1lLWltcG9ydHNcIjtcclxuXHJcbi5hY2NvcmRpb24taXRlbSB7XHJcbiAgICBwYWRkaW5nOiAyNHB4IDM1cHggMjZweCAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTMwMCcpLCAwLjUpO1xyXG5cclxuICAgIC5sYWJlbC1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgIC5pY29uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IC0zNXB4O1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBhdXRvO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblxyXG4gICAgICAgICAgICAmLmRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG5cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDAuMXMsIG1hcmdpbi10b3AgMC4zcyBlYXNlIDAuMXM7XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmNsb3NldXAge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTI1cHg7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBtYXJnaW4tdG9wIDAuM3MgZWFzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZXhwYW5kIHtcclxuICAgICAgICAgICAgLmljb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgICYuZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIG1hcmdpbi10b3AgMC40cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmNsb3NldXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMC4xcywgbWFyZ2luLXRvcCAwLjJzIGVhc2UgMC4xcztcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWxsb3ctYW5pbWF0aW9uIHtcclxuICAgICAgICAgICAgLy8gUmVzZXQgYW5pbWF0aW9uLWRlbGF5IHRvIGRlZmF1bHQgdG8gYWxsb3cgYW5pbWF0aW9uIGFmdGVyIGluaXRcclxuICAgICAgICAgICAgLmljb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTExZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iXX0= */\"","import { Component, Input } from '@angular/core';\r\nimport { AccordionComponent } from '../accordion/accordion.component';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-accordion-item',\r\n templateUrl: './accordion-item.component.html',\r\n styleUrls: ['./accordion-item.component.scss'],\r\n animations: [\r\n trigger('tabContent', [\r\n state('hidden', style({\r\n height: '0',\r\n marginTop: '0',\r\n opacity: '0'\r\n })),\r\n state('visible', style({\r\n height: '*',\r\n marginTop: '40px',\r\n opacity: '1'\r\n })),\r\n transition('visible <=> hidden', animate('300ms ease-in-out'))\r\n ])\r\n ]\r\n})\r\nexport class AccordionItemComponent {\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public selected: boolean;\r\n\r\n public clearAnimationPausedState: boolean;\r\n\r\n constructor(public accordion: AccordionComponent) {\r\n this.accordion.addTab(this);\r\n }\r\n\r\n toggle(event) {\r\n event.preventDefault();\r\n this.clearAnimationPausedState = true;\r\n\r\n if (this.selected) {\r\n this.selected = false;\r\n } else {\r\n if (!this.accordion.multiple) {\r\n for (let i = 0; i < this.accordion.tabs.length; i++) {\r\n this.accordion.tabs[i].selected = false;\r\n }\r\n }\r\n\r\n this.selected = true;\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AccordionComponent } from './accordion/accordion.component';\r\nimport { AccordionItemComponent } from './accordion-item/accordion-item.component';\r\nimport { SvgIconModule } from '../svg-icon/svg-icon.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SvgIconModule\r\n ],\r\n declarations: [\r\n AccordionComponent,\r\n AccordionItemComponent\r\n ],\r\n exports: [\r\n AccordionComponent,\r\n AccordionItemComponent\r\n ]\r\n})\r\nexport class AccordionModule {\r\n}\r\n","module.exports = \"\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hY2NvcmRpb24vYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, Input } from '@angular/core';\r\nimport { AccordionItemComponent } from '../accordion-item/accordion-item.component';\r\n\r\n@Component({\r\n selector: 'app-accordion',\r\n templateUrl: './accordion.component.html',\r\n styleUrls: ['./accordion.component.scss']\r\n})\r\nexport class AccordionComponent {\r\n\r\n @Input() multiple: boolean;\r\n\r\n public tabs: AccordionItemComponent[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n addTab(tab: AccordionItemComponent) {\r\n this.tabs.push(tab);\r\n }\r\n\r\n}\r\n","import { animate, style, transition, trigger, state } from '@angular/animations';\r\n\r\nexport let animMaskAnimation = trigger('animMask', [\r\n state('true', style({opacity: 1})),\r\n state('false', style({opacity: 0})),\r\n transition('* => *', animate('300ms ease-out'))\r\n])\r\n\r\n","import { trigger, transition, style, animate } from '@angular/animations';\r\n\r\nexport let enterAnimation = trigger(\r\n 'enterAnimation', [\r\n transition(':enter', [\r\n style({opacity: '0', maxHeight: '0'}),\r\n animate('300ms ease-in-out', style({opacity: '1', maxHeight: '30px'}))\r\n ]),\r\n transition(':leave', [\r\n style({opacity: '1', maxHeight: '30px'}),\r\n animate('200ms ease-in-out', style({opacity: '0', maxHeight: '0'}))\r\n ])\r\n ]\r\n);\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\nexport let fadeAnimation = trigger('Fade', [\r\n state('void', style({ opacity: 0 })),\r\n state('*', style({ opacity: 1 })),\r\n transition(':enter', animate('500ms ease-out')),\r\n transition(':leave', animate('500ms ease-in')),\r\n]);\r\n","import { animate, style, transition, trigger, state } from '@angular/animations';\r\n\r\nexport let toggleAnimation = trigger('toggle', [\r\n state('shown', style({ transform: 'translate3d(0,0,0)' })),\r\n transition('hidden => *', [\r\n animate('350ms cubic-bezier(0.5, 0.130, 0.5, 0.950)', style({ transform: 'translate3d(0,0,0)' }))\r\n ]),\r\n transition('* => shown', [\r\n animate('350ms cubic-bezier(0.5, 0.130, 0.5, 0.950)', style({ transform: 'translate3d(0,0,0)' }))\r\n ]),\r\n transition('shown => hidden', [\r\n animate('350ms cubic-bezier(0.5, 0.130, 0.5, 0.950)', style({ transform: 'translateX(100%)' }))\r\n ]),\r\n])\r\n","import { SelectMenuComponent } from './select-menu/select-menu.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StringInputComponent } from './string-input/string-input.component';\r\nimport { InputErrorsComponent } from './input-errors/input-errors.component';\r\nimport { NumericKeypadComponent } from './numeric-keypad/numeric-keypad.component';\r\nimport { SvgIconModule } from '../svg-icon/svg-icon.module';\r\nimport { AsyncButtonComponent } from './async-button/async-button.component';\r\nimport { LicenseInputComponent } from './license-input/license-input.component';\r\nimport { PasswordInputComponent } from './password-input/password-input.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FormErrorsComponent } from './form-errors/form-errors.component';\r\nimport { LoadingModule } from '../loading/loading.module';\r\nimport { StickyHeaderFormComponent } from './sticky-header-form/sticky-header-form.component';\r\nimport { SelectAutocompleteAddressComponent } from './select-autocomplete-address/select-autocomplete-address.component';\r\nimport { MultiselectComponent } from './multiselect/multiselect.component';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\nimport { MatChipsModule, MatProgressSpinnerModule } from '@angular/material';\r\nimport { PasswordValidatorDirective } from './validators/password.validator';\r\nimport { CustomEmailValidatorDirective } from './validators/custom-email.validator';\r\nimport { PasswordValidationComponent } from './password-validation/password-validation.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SvgIconModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n LoadingModule,\r\n TranslateModule,\r\n MatSelectModule,\r\n MatChipsModule,\r\n NgxMatSelectSearchModule,\r\n MatProgressSpinnerModule\r\n ],\r\n declarations: [\r\n StringInputComponent,\r\n InputErrorsComponent,\r\n NumericKeypadComponent,\r\n AsyncButtonComponent,\r\n LicenseInputComponent,\r\n PasswordInputComponent,\r\n FormErrorsComponent,\r\n StickyHeaderFormComponent,\r\n SelectMenuComponent,\r\n SelectAutocompleteAddressComponent,\r\n MultiselectComponent,\r\n PasswordValidatorDirective,\r\n CustomEmailValidatorDirective,\r\n PasswordValidationComponent,\r\n ],\r\n exports: [\r\n StringInputComponent,\r\n InputErrorsComponent,\r\n NumericKeypadComponent,\r\n AsyncButtonComponent,\r\n LicenseInputComponent,\r\n PasswordInputComponent,\r\n FormErrorsComponent,\r\n StickyHeaderFormComponent,\r\n SelectMenuComponent,\r\n SelectAutocompleteAddressComponent,\r\n MultiselectComponent,\r\n PasswordValidationComponent\r\n ]\r\n})\r\nexport class AppFormsModule {\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host.reverse .button {\\n background-color: #FFFFFF;\\n color: #00cfff; }\\n:host.reverse .button /deep/ app-loading .state-pending span {\\n background-color: #00cfff; }\\n.button {\\n position: relative; }\\n.button.error {\\n background-color: #f22f3b; }\\n.button:disabled {\\n opacity: 0.35; }\\n.label {\\n white-space: nowrap; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9hc3luYy1idXR0b24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9hc3luYy1idXR0b24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvYXN5bmMtYnV0dG9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvYXN5bmMtYnV0dG9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9hc3luYy1idXR0b24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9hc3luYy1idXR0b24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2FzeW5jLWJ1dHRvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFxhcHAtZm9ybXNcXGFzeW5jLWJ1dHRvblxcYXN5bmMtYnV0dG9uLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2FzeW5jLWJ1dHRvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLDBCQ1VZO0VEVFosZUNDb0IsRURRdkI7QUFYRDtJQU9nQiwwQkNKUSxFREtYO0FBS2I7RUFDSSxtQkFBa0IsRUFVckI7QUFYRDtJQUlRLDBCQ09TLEVETlo7QUFMTDtJQVFRLGNBQWEsRUFDaEI7QUFJTDtFQUNJLG9CQUFtQixFQUN0QiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvYXN5bmMtYnV0dG9uL2FzeW5jLWJ1dHRvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbjpob3N0LnJldmVyc2UgLmJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG5cclxuICAgIC9kZWVwLyBhcHAtbG9hZGluZyB7XHJcbiAgICAgICAgLnN0YXRlLXBlbmRpbmcge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idXR0b24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICYuZXJyb3Ige1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdkYW5nZXInKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjM1O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmxhYmVsIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGtlZXAgbm93cmFwIHRvIGF2b2lkIHdyYXBpbmcgZHVyaW5nIHRyYW5zaXRpb25zXHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiJdfQ== */\"","import { Component, Input } from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-async-button',\r\n templateUrl: './async-button.component.html',\r\n styleUrls: ['./async-button.component.scss'],\r\n animations: [\r\n\r\n trigger('container', [\r\n state('*', style({width: '*'})),\r\n state('pending', style({width: '130px'})),\r\n transition('* => pending', [\r\n animate('0.1s 0.15s ease-in')\r\n ]),\r\n transition('pending => *', [\r\n animate('0.1s ease-out')\r\n ])\r\n ]),\r\n\r\n trigger('initial', [\r\n state('initial', style({opacity: 1, transform: 'scale(1)'})),\r\n state('*', style({opacity: 0, transform: 'scale(0.75)'})),\r\n transition('initial => *', [\r\n animate('0.15s ease-in')\r\n ]),\r\n transition('* => initial', [\r\n animate('0.15s 0.15s ease-out')\r\n ])\r\n ]),\r\n\r\n trigger('pending', [\r\n state('pending', style({opacity: 1, transform: 'translateY(0)'})),\r\n state('*', style({opacity: 0, transform: 'translateY(15px)'})),\r\n transition('pending => *', [\r\n animate('0.15s ease-in')\r\n ]),\r\n transition('* => pending', [\r\n animate('0.15s ease-out')\r\n ])\r\n ]),\r\n\r\n trigger('error', [\r\n state('error', style({opacity: 1, transform: 'scale(1)'})),\r\n state('*', style({opacity: 0, transform: 'scale(0.75)', position: 'absolute'})),\r\n transition('error => *', [\r\n style({position: 'absolute', top: '1em'}),\r\n animate('0.15s ease-in')\r\n ]),\r\n transition('* => error', [\r\n animate('0.15s ease-out')\r\n ])\r\n ]),\r\n\r\n trigger('success', [\r\n state('success', style({opacity: 1, transform: 'scale(1)'})),\r\n state('*', style({opacity: 0, transform: 'scale(0.75)', position: 'absolute'})),\r\n transition('success => *', [\r\n style({position: 'absolute', top: '1em'}),\r\n animate('0.15s ease-in')\r\n ]),\r\n transition('* => success', [\r\n animate('0.15s ease-out')\r\n ])\r\n ])\r\n\r\n ]\r\n})\r\nexport class AsyncButtonComponent {\r\n\r\n /**\r\n * Button type. Most often submit in a form\r\n * @type {string}\r\n */\r\n @Input()\r\n public type = 'submit';\r\n\r\n\r\n /**\r\n * State ca be either \"initial\", \"pending\", \"success\" or \"error\"\r\n * @type {string}\r\n */\r\n @Input()\r\n public state = 'initial';\r\n\r\n @Input()\r\n public disabled = false;\r\n\r\n /**\r\n * Initial button label\r\n */\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public errorLabel: string;\r\n\r\n @Input()\r\n public successLabel: string;\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n

\\r\\n {{'global-generic_terms-error_required' | translate}}\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.form-errors {\\n color: #f22f3b;\\n font-size: 0.75em;\\n overflow: hidden;\\n will-change: auto;\\n margin-top: 16px; }\\n.form-errors ::ng-deep p, .form-errors div.custom-errors {\\n margin-bottom: 6px;\\n color: #f22f3b; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9mb3JtLWVycm9ycy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2Zvcm0tZXJyb3JzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2Zvcm0tZXJyb3JzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvZm9ybS1lcnJvcnMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2Zvcm0tZXJyb3JzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvZm9ybS1lcnJvcnMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2Zvcm0tZXJyb3JzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGFwcC1mb3Jtc1xcZm9ybS1lcnJvcnNcXGZvcm0tZXJyb3JzLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2Zvcm0tZXJyb3JzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksZUN1QmE7RUR0QmIsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFQUNoQixrQkFBaUI7RUFDakIsaUJBQWdCLEVBTW5CO0FBWEQ7SUFRUSxtQkFBa0I7SUFDbEIsZUNlUyxFRGRaIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9mb3JtLWVycm9ycy9mb3JtLWVycm9ycy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbi5mb3JtLWVycm9ycyB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2RhbmdlcicpO1xyXG4gICAgZm9udC1zaXplOiAwLjc1ZW07XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2lsbC1jaGFuZ2U6IGF1dG87XHJcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG5cclxuICAgIDo6bmctZGVlcCBwLCBkaXYuY3VzdG9tLWVycm9ycyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZGFuZ2VyJyk7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiJdfQ== */\"","import { Component, Host, Optional } from '@angular/core';\r\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\r\nimport { enterAnimation } from 'app/shared/animations/enter-animations';\r\n\r\n/**\r\n * Global error message component. place above forms\r\n */\r\n@Component({\r\n selector: 'app-form-errors',\r\n animations: [\r\n enterAnimation\r\n ],\r\n templateUrl: './form-errors.component.html',\r\n styleUrls: ['./form-errors.component.scss']\r\n})\r\nexport class FormErrorsComponent {\r\n\r\n\r\n constructor(@Host() @Optional() private ngForm: NgForm, // get form from parent component\r\n @Host() @Optional() private formGroupDir: FormGroupDirective // get form from parent component\r\n ) {\r\n }\r\n\r\n public get form(): NgForm | FormGroupDirective {\r\n return this.ngForm || this.formGroupDir;\r\n }\r\n\r\n public get formControls(): any {\r\n\r\n if (this.form instanceof FormGroupDirective) {\r\n return this.form.control.controls;\r\n } else {\r\n return this.form.controls;\r\n }\r\n\r\n }\r\n\r\n hasEmptyField(): boolean {\r\n // start optimistic (no fields are empty).\r\n let empty = false;\r\n\r\n // loop over all controls in forms\r\n for (const name of Object.keys(this.formControls)) {\r\n const control: FormControl = this.formControls[name];\r\n\r\n // if an empty field has been found, exit loop and declare that, sadly, yes we have an empty field.\r\n if (control.hasError('required')) {\r\n empty = true;\r\n break;\r\n }\r\n }\r\n\r\n return empty;\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"
\\r\\n
    \\r\\n \\r\\n
  • {{ requiredErrorMessage }}\\r\\n
  • \\r\\n
  • {{(input.getError('email')) | translate}}\\r\\n
  • \\r\\n
  • {{(input.getError('tel')) | translate}}\\r\\n
  • \\r\\n
  • {{(input.getError('date')) | translate}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.input-errors {\\n color: #f22f3b;\\n font-size: 0.75em;\\n padding-top: 10px;\\n overflow: hidden; }\\n.error-container {\\n will-change: auto; }\\n.error-container li {\\n will-change: auto; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9pbnB1dC1lcnJvcnMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9pbnB1dC1lcnJvcnMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvaW5wdXQtZXJyb3JzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvaW5wdXQtZXJyb3JzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9pbnB1dC1lcnJvcnMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9pbnB1dC1lcnJvcnMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2lucHV0LWVycm9ycy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFxhcHAtZm9ybXNcXGlucHV0LWVycm9yc1xcaW5wdXQtZXJyb3JzLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2lucHV0LWVycm9ycy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLGVDdUJhO0VEdEJiLGtCQUFpQjtFQUNqQixrQkFBaUI7RUFDakIsaUJBQWdCLEVBQ25CO0FBRUQ7RUFDSSxrQkFBaUIsRUFLcEI7QUFORDtJQUlRLGtCQUFpQixFQUNwQiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvaW5wdXQtZXJyb3JzL2lucHV0LWVycm9ycy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbi5pbnB1dC1lcnJvcnMge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdkYW5nZXInKTtcclxuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZXJyb3ItY29udGFpbmVyIHtcclxuICAgIHdpbGwtY2hhbmdlOiBhdXRvO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICB3aWxsLWNoYW5nZTogYXV0bztcclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIl19 */\"","import { Component, Host, Input, Optional } from '@angular/core';\r\nimport { FormGroupDirective, NgControl, NgForm, NgModel } from '@angular/forms';\r\nimport { enterAnimation } from 'app/shared/animations/enter-animations';\r\n\r\n\r\n@Component({\r\n selector: 'app-input-errors',\r\n templateUrl: './input-errors.component.html',\r\n styleUrls: ['./input-errors.component.scss'],\r\n animations: [\r\n enterAnimation\r\n ],\r\n})\r\nexport class InputErrorsComponent {\r\n\r\n @Input()\r\n public input: NgModel | NgControl;\r\n\r\n @Input()\r\n public form: NgForm | FormGroupDirective;\r\n\r\n /**\r\n * By default, the component doesn't display required errors, these are left to the app-form-errors componenet\r\n * @type {boolean}\r\n */\r\n @Input()\r\n public displayRequired = false;\r\n\r\n /**\r\n * Error message to display when displayRequired is true\r\n */\r\n @Input()\r\n public requiredErrorMessage: string;\r\n\r\n constructor(@Host() @Optional() formGroupDir: FormGroupDirective) {\r\n\r\n // if we can inject a formGroupDir instead of relying on the input form then use this value.\r\n if (formGroupDir) {\r\n this.form = formGroupDir;\r\n }\r\n\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.license-label {\\n font-size: 1.125em;\\n padding-top: 0;\\n margin-top: 32px; }\\n.license-input {\\n position: relative;\\n border: 1px solid #00cfff;\\n border-radius: 6px;\\n margin: 18px auto 22px;\\n padding: 0.75em 10px 9px 33px;\\n font-size: 1.125em;\\n height: 2.77em; }\\n.license-input:before {\\n content: '';\\n position: absolute;\\n top: 2px;\\n left: 2px;\\n bottom: 2px;\\n width: 22px;\\n background-color: #00cfff;\\n border-top-left-radius: 6px;\\n border-bottom-left-radius: 6px; }\\n.license-input::after {\\n content: '';\\n display: table;\\n clear: both; }\\n.license-input input {\\n border: none;\\n border-bottom: 1px solid #00cfff;\\n width: 100%;\\n font-size: inherit;\\n text-transform: uppercase; }\\n.license-input input::-webkit-input-placeholder {\\n color: rgba(126, 126, 126, 0.5); }\\n.license-input input:-moz-placeholder {\\n color: rgba(126, 126, 126, 0.5); }\\n.license-input input::-moz-placeholder {\\n color: rgba(126, 126, 126, 0.5); }\\n.license-input input:-ms-input-placeholder {\\n color: rgba(126, 126, 126, 0.5); }\\n/*:host.ng-invalid.ng-touched {\\r\\n\\r\\n .license-input {\\r\\n border-color: map-get($ald-colors, 'danger');\\r\\n }\\r\\n\\r\\n input {\\r\\n border-bottom-color: map-get($ald-colors, 'danger');\\r\\n }\\r\\n\\r\\n}*/\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9saWNlbnNlLWlucHV0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvbGljZW5zZS1pbnB1dC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9saWNlbnNlLWlucHV0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvbGljZW5zZS1pbnB1dC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvbGljZW5zZS1pbnB1dC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2xpY2Vuc2UtaW5wdXQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2xpY2Vuc2UtaW5wdXQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXHNoYXJlZFxcYXBwLWZvcm1zXFxsaWNlbnNlLWlucHV0XFxsaWNlbnNlLWlucHV0LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2xpY2Vuc2UtaW5wdXQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL2xpY2Vuc2UtaW5wdXQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxtQkN1SDhCO0VEdEg5QixlQUFjO0VBQ2QsaUJBQWdCLEVBQ25CO0FBRUQ7RUFDSSxtQkFBa0I7RUFDbEIsMEJFTG9CO0VGTXBCLG1CQUFrQjtFQUNsQix1QkFBc0I7RUFDdEIsOEJBQTZCO0VBRTdCLG1CQzJHOEI7RUQxRzlCLGVBQWMsRUFvQ2pCO0FBNUNEO0lBV1EsWUFBVztJQUNYLG1CQUFrQjtJQUVsQixTQUFRO0lBQ1IsVUFBUztJQUNULFlBQVc7SUFFWCxZQUFXO0lBRVgsMEJFdkJnQjtJRndCaEIsNEJBQTJCO0lBQzNCLCtCQUE4QixFQUNqQztBQXZCTDtJQTBCUSxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVcsRUFDZDtBQTdCTDtJQWdDUSxhQUFZO0lBQ1osaUNFcENnQjtJRnFDaEIsWUFBVztJQUNYLG1CQUFrQjtJQUNsQiwwQkFBeUIsRUFNNUI7QUExQ0w7TUF1Q1ksZ0NBQTRELEVDbUJyRTtBRDFESDtNQXVDWSxnQ0FBNEQsRUNzQnJFO0FEN0RIO01BdUNZLGdDQUE0RCxFQ3lCckU7QURoRUg7TUF1Q1ksZ0NBQTRELEVDNEJyRTtBRHJCSDs7Ozs7Ozs7OztHQVVHIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9saWNlbnNlLWlucHV0L2xpY2Vuc2UtaW5wdXQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy9fdGhlbWUtaW1wb3J0cy5zY3NzXCI7XHJcblxyXG4ubGljZW5zZS1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IGVtKDE4cHgpO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG59XHJcblxyXG4ubGljZW5zZS1pbnB1dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgbWFyZ2luOiAxOHB4IGF1dG8gMjJweDtcclxuICAgIHBhZGRpbmc6IDAuNzVlbSAxMHB4IDlweCAzM3B4O1xyXG5cclxuICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICBoZWlnaHQ6IDIuNzdlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICBsZWZ0OiAycHg7XHJcbiAgICAgICAgYm90dG9tOiAycHg7XHJcblxyXG4gICAgICAgIHdpZHRoOiAyMnB4O1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0IHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50aXplKG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTcwMCcpLCAwLjUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKjpob3N0Lm5nLWludmFsaWQubmctdG91Y2hlZCB7XHJcblxyXG4gICAgLmxpY2Vuc2UtaW5wdXQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2RhbmdlcicpO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0IHtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZGFuZ2VyJyk7XHJcbiAgICB9XHJcblxyXG59Ki9cclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiJdfQ== */\"","import { Component, forwardRef, Host, Input, Optional } from '@angular/core';\r\nimport { ControlValueAccessor, FormGroupDirective, NG_VALUE_ACCESSOR, NgForm, NgModel } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-license-input',\r\n templateUrl: './license-input.component.html',\r\n styleUrls: ['./license-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LicenseInputComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class LicenseInputComponent implements ControlValueAccessor {\r\n\r\n @Input()\r\n public placehodler = '';\r\n\r\n @Input()\r\n public label: string;\r\n\r\n public model: NgModel;\r\n\r\n private onChangeCallback = (_: any) => {\r\n }\r\n\r\n private onTouchedCallback = (_?: any) => {\r\n }\r\n\r\n constructor(@Host() @Optional() private ngForm: NgForm, // get form from parent component\r\n @Host() @Optional() private formGroupDir: FormGroupDirective // get form from parent component\r\n ) {\r\n\r\n }\r\n\r\n get form() {\r\n return this.ngForm || this.formGroupDir;\r\n }\r\n\r\n updateValue(value: any) {\r\n this.model = value;\r\n this.onChangeCallback(this.model);\r\n }\r\n\r\n onBlur($event) {\r\n this.onTouchedCallback();\r\n }\r\n\r\n writeValue(obj: any): void {\r\n this.model = obj.toString();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ selected.label }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{ option.label }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n 0\\\" (click)=\\\"clearSelection()\\\" class=\\\"multiselect-clear-selection\\\">{{ 'global-generic_terms-clear_selection' | translate }}\\r\\n\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AbstractControl, FormControl } from '@angular/forms';\r\nimport { InputChoice } from 'app/shared/models/input-choice.model';\r\n\r\n@Component({\r\n selector: 'app-multiselect',\r\n templateUrl: './multiselect.component.html',\r\n})\r\nexport class MultiselectComponent implements OnInit {\r\n\r\n @Input() control: FormControl;\r\n @Input() label: string;\r\n @Input() clearOption = false;\r\n\r\n @Input()\r\n set options(options: InputChoice[]) {\r\n this._options = options;\r\n if (options) {\r\n this.filterOptions('');\r\n }\r\n }\r\n\r\n @Output() valueChange: EventEmitter = new EventEmitter();\r\n\r\n private _options: InputChoice[];\r\n public searchOption: FormControl = new FormControl();\r\n public filteredOptions: InputChoice[];\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n if (this.control.value && this.control.value.length > 0) {\r\n this.filteredOptions = [...this.control.value, ...this._options.filter(o => !this.control.value.includes(o)).slice(0, 50)];\r\n } else {\r\n this.filteredOptions = this._options.slice(0, 50);\r\n }\r\n this.searchOption.valueChanges\r\n .subscribe((search: string) => {\r\n this.filterOptions(search);\r\n });\r\n }\r\n\r\n public removeOption(optionToRemove): void {\r\n const index = this.control.value.findIndex(o => o === optionToRemove);\r\n if (index !== -1) {\r\n this.control.value.splice(index, 1);\r\n this.control.setValue(this.control.value);\r\n }\r\n }\r\n\r\n public filterOptions(search: string) {\r\n if (!search || search === '') {\r\n this.filteredOptions = this._options.slice(0, 50);\r\n } else {\r\n this.filteredOptions = this._options\r\n .filter(option => option.label.toLowerCase().includes(search.toLowerCase()))\r\n .slice(0, 50);\r\n }\r\n if (this.control.value && this.control.value.length) {\r\n this.filteredOptions = [...this.control.value, ...this.filteredOptions.filter(o => !this.control.value.includes(o))];\r\n }\r\n }\r\n\r\n public isOptionSelected(option: InputChoice): boolean {\r\n return this.control.value && this.control.value.find(o => o.value === option.value);\r\n }\r\n\r\n public isGrandChild(option: InputChoice) {\r\n const father = this._options.find(o => o.value === option.parentId);\r\n return option.parentId && father && father.parentId;\r\n }\r\n\r\n public hasValidator(validator: string): boolean {\r\n if (!(this.control.validator instanceof Function)) {\r\n return false;\r\n }\r\n if (!this.control.validator('' as unknown as AbstractControl)) {\r\n return false;\r\n }\r\n\r\n return !!this.control.validator('' as unknown as AbstractControl).hasOwnProperty(validator);\r\n }\r\n\r\n public clearSelection(): void {\r\n this.control.setValue([]);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n
\\r\\n {{ key.value }}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n OK\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.numeric-keypad-container {\\n position: fixed;\\n z-index: 1;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n display: block;\\n width: 100%;\\n background-color: #FFFFFF;\\n border-top: 1px solid rgba(0, 0, 0, 0.1); }\\n.numeric-keypad-container .keys-list {\\n position: relative;\\n z-index: 1;\\n font-size: 0;\\n text-align: center; }\\n.numeric-keypad-container .keys-list .key {\\n display: inline-block;\\n vertical-align: bottom;\\n width: 33.33%;\\n font-size: 16px;\\n text-align: center;\\n color: #525252;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n.numeric-keypad-container .keys-list .key .content {\\n font-size: 1.8em;\\n line-height: 56px;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n.numeric-keypad-container .keys-list::before {\\n content: \\\"\\\";\\n position: absolute;\\n left: 33.33%;\\n top: 0;\\n width: 1px;\\n height: 100%;\\n background-color: #b5b5b5; }\\n.numeric-keypad-container .keys-list::after {\\n content: \\\"\\\";\\n position: absolute;\\n right: 33.33%;\\n top: 0;\\n width: 1px;\\n height: 100%;\\n background-color: #b5b5b5; }\\n.numeric-keypad-container .key-button {\\n position: absolute;\\n z-index: 2;\\n width: 33.33%;\\n display: block;\\n font-size: 1.125em;\\n line-height: 56px;\\n text-align: center; }\\n.numeric-keypad-container .key-button.submit {\\n background-color: #00cfff;\\n font-weight: 700;\\n right: 0;\\n bottom: 0;\\n color: #FFFFFF; }\\n.numeric-keypad-container .key-button.backspace {\\n background-color: #d7d7d7;\\n left: 0;\\n bottom: 0; }\\n.numeric-keypad-container .key-button.backspace::after {\\n content: '';\\n display: inline-block;\\n visibility: hidden; }\\n.numeric-keypad-container .key-button.backspace .backspace-icon {\\n line-height: 0;\\n display: block;\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n width: 23px;\\n height: 17px; }\\n.numeric-keypad-container .key-button.backspace .backspace-icon app-svg-icon {\\n width: 23px;\\n height: 17px; }\\n@media screen and (min-width: 980px) {\\n .numeric-keypad-container {\\n position: absolute;\\n width: 100%;\\n max-width: 450px;\\n margin: auto;\\n background-color: transparent;\\n border-top: none; }\\n .numeric-keypad-container .keys-list::before {\\n display: none; }\\n .numeric-keypad-container .keys-list::after {\\n display: none; }\\n .numeric-keypad-container .keys-list .key {\\n position: relative;\\n background-color: #FFFFFF;\\n width: 18.9%;\\n margin-right: 6px;\\n margin-bottom: 6px;\\n border-radius: 5px; }\\n .numeric-keypad-container .keys-list .key:nth-child(5) {\\n margin-right: 0; }\\n .numeric-keypad-container .keys-list .key:nth-child(10) {\\n margin-right: 0; }\\n .numeric-keypad-container .keys-list .key:before {\\n content: \\\"\\\";\\n display: block;\\n float: left;\\n padding-bottom: 100%; }\\n .numeric-keypad-container .keys-list .key:after {\\n content: \\\"\\\";\\n display: table;\\n clear: both; }\\n .numeric-keypad-container .keys-list .key .content {\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n font-size: 2.1875em;\\n transform: translate(-50%, -50%); }\\n .numeric-keypad-container .key-button {\\n border-radius: 6px;\\n width: 29.1%; }\\n .numeric-keypad-container .key-button.submit {\\n bottom: -100px;\\n right: 20.3%;\\n background-color: #FFFFFF;\\n color: #525252; }\\n .numeric-keypad-container .key-button.backspace {\\n bottom: -100px;\\n left: 20.3%;\\n background-color: #FFFFFF;\\n color: #525252; }\\n .numeric-keypad-container .key-button.backspace .backspace-icon {\\n width: 27px;\\n height: 21px; }\\n .numeric-keypad-container .key-button.backspace .backspace-icon app-svg-icon {\\n width: 27px;\\n height: 21px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9udW1lcmljLWtleXBhZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL251bWVyaWMta2V5cGFkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL251bWVyaWMta2V5cGFkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvbnVtZXJpYy1rZXlwYWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL251bWVyaWMta2V5cGFkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvbnVtZXJpYy1rZXlwYWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL251bWVyaWMta2V5cGFkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGFwcC1mb3Jtc1xcbnVtZXJpYy1rZXlwYWRcXG51bWVyaWMta2V5cGFkLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL251bWVyaWMta2V5cGFkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9udW1lcmljLWtleXBhZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9udW1lcmljLWtleXBhZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLGdCQUFlO0VBQ2YsV0FBVTtFQUNWLFVBQVM7RUFDVCxRQUFPO0VBQ1AsU0FBUTtFQUNSLGVBQWM7RUFDZCxZQUFXO0VBQ1gsMEJDR1k7RURGWix5Q0FBd0MsRUE2RjNDO0FBdEdEO0lBWVEsbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixhQUFZO0lBQ1osbUJBQWtCLEVBdUNyQjtBQXRETDtNQWtCWSxzQkFBcUI7TUFDckIsdUJBQXNCO01BQ3RCLGNBQWE7TUFDYixnQkFBZTtNQUNmLG1CQUFrQjtNQUNsQixlQ0ZPO01ER1AsZ0JBQWU7TUFDZiwwQkFBaUI7U0FBakIsdUJBQWlCO1VBQWpCLHNCQUFpQjtjQUFqQixrQkFBaUIsRUFRcEI7QUFqQ1Q7UUE0QmdCLGlCQUFnQjtRQUNoQixrQkFBaUI7UUFDakIsZ0JBQWU7UUFDZiwwQkFBaUI7V0FBakIsdUJBQWlCO1lBQWpCLHNCQUFpQjtnQkFBakIsa0JBQWlCLEVBQ3BCO0FBaENiO01Bb0NZLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsYUFBWTtNQUNaLE9BQU07TUFDTixXQUFVO01BQ1YsYUFBWTtNQUNaLDBCQ3hCTyxFRHlCVjtBQTNDVDtNQThDWSxZQUFXO01BQ1gsbUJBQWtCO01BQ2xCLGNBQWE7TUFDYixPQUFNO01BQ04sV0FBVTtNQUNWLGFBQVk7TUFDWiwwQkNsQ08sRURtQ1Y7QUFyRFQ7SUF5RFEsbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixjQUFhO0lBQ2IsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixrQkFBaUI7SUFDakIsbUJBQWtCLEVBc0NyQjtBQXJHTDtNQWtFWSwwQkMvRFk7TURnRVosaUJFckNlO01Gc0NmLFNBQVE7TUFDUixVQUFTO01BQ1QsZUMzREksRUQ0RFA7QUF2RVQ7TUEwRVksMEJDM0RPO01ENERQLFFBQU87TUFDUCxVQUFTLEVBd0JaO0FBcEdUO1FBZ0ZnQixZQUFXO1FBQ1gsc0JBQXFCO1FBQ3JCLG1CQUFrQixFQUNyQjtBQW5GYjtRQXNGZ0IsZUFBYztRQUNkLGVBQWM7UUFDZCxtQkFBa0I7UUFDbEIsVUFBUztRQUNULFNBQVE7UUFDUixpQ0FBZ0M7UUFDaEMsWUFBVztRQUNYLGFBQVksRUFNZjtBQW5HYjtVQWdHb0IsWUFBVztVQUNYLGFBQVksRUFDZjtBRjNCTDtFRW1DUjtJQUNJLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLGFBQVk7SUFDWiw4QkFBNkI7SUFDN0IsaUJBQWdCLEVBb0VuQjtJQTFFRDtNQVdZLGNBQWEsRUFDaEI7SUFaVDtNQWVZLGNBQWEsRUFDaEI7SUFoQlQ7TUFtQlksbUJBQWtCO01BQ2xCLDBCQ25IQTtNRG9IQSxhQUFZO01BQ1osa0JBQWlCO01BQ2pCLG1CQUFrQjtNQUNsQixtQkFBa0IsRUFtQnJCO01BM0NUO1FBMkJnQixnQkFBZSxFQUNsQjtNQTVCYjtRQStCZ0IsZ0JBQWUsRUFDbEI7TUFoQ2I7UUdQQSxZQUFXO1FBQ1gsZUFBYztRQUNkLFlBQVc7UUFDWCxxQkFMdUQsRUFNeEQ7TUhHQztRR0RBLFlBQVc7UUFDWCxlQUFjO1FBQ2QsWUFBVyxFQUNaO01IRkM7UUFxQ2dCLG1CQUFrQjtRQUNsQixVQUFTO1FBQ1QsU0FBUTtRQUNSLG9CRzFCYztRSDJCZCxpQ0FBZ0MsRUFDbkM7SUExQ2I7TUErQ1EsbUJBQWtCO01BQ2xCLGFBQVksRUF5QmY7TUF6RUw7UUFtRFksZUFBYztRQUNkLGFBQVk7UUFDWiwwQkNwSkE7UURxSkEsZUMzSUcsRUQ0SU47TUF2RFQ7UUEwRFksZUFBYztRQUNkLFlBQVc7UUFDWCwwQkMzSkE7UUQ0SkEsZUNsSkcsRUQ2Sk47UUF4RVQ7VUFnRWdCLFlBQVc7VUFDWCxhQUFZLEVBTWY7VUF2RWI7WUFvRW9CLFlBQVc7WUFDWCxhQUFZLEVBQ2YsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvbnVtZXJpYy1rZXlwYWQvbnVtZXJpYy1rZXlwYWQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy90aGVtZS1pbXBvcnRzXCI7XHJcblxyXG4ubnVtZXJpYy1rZXlwYWQtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG5cclxuICAgIC5rZXlzLWxpc3Qge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5rZXkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktOTAwJyk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOGVtO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU2cHg7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAzMy4zMyU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS02MDAnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMzMuMzMlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktNjAwJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5rZXktYnV0dG9uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogNTZweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICYuc3VibWl0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmJhY2tzcGFjZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTMwMCcpO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICAvLyBtYWtlIGxpbmUtaGVpZ2h0IHdvcmtpbmdcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5iYWNrc3BhY2UtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyM3B4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxN3B4O1xyXG5cclxuICAgICAgICAgICAgICAgIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG5cclxuICAgIC5udW1lcmljLWtleXBhZC1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG5cclxuICAgICAgICAua2V5cy1saXN0IHtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAua2V5IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4LjklO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMSwgMSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgzNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmtleS1idXR0b24ge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyOS4xJTtcclxuXHJcbiAgICAgICAgICAgICYuc3VibWl0IHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwMHB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwLjMlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktOTAwJyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuYmFja3NwYWNlIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwMHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMjAuMyU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS05MDAnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAuYmFja3NwYWNlLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjFweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwLXN2Zy1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjFweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iXX0= */\"","import * as _ from 'lodash';\r\n\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AppConfigService } from '../../../shared/config/app-config.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-numeric-keypad',\r\n templateUrl: './numeric-keypad.component.html',\r\n styleUrls: ['./numeric-keypad.component.scss']\r\n})\r\n\r\nexport class NumericKeypadComponent implements OnInit {\r\n\r\n @Input()\r\n public enable: boolean;\r\n\r\n @Output()\r\n public change: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n public submit: EventEmitter = new EventEmitter();\r\n\r\n /**\r\n * The available values\r\n */\r\n public keys = [\r\n {id: 1, value: '1'},\r\n {id: 2, value: '2'},\r\n {id: 3, value: '3'},\r\n {id: 4, value: '4'},\r\n {id: 5, value: '5'},\r\n {id: 6, value: '6'},\r\n {id: 7, value: '7'},\r\n {id: 8, value: '8'},\r\n {id: 9, value: '9'},\r\n {id: 0, value: '0'}\r\n ];\r\n\r\n /**\r\n * the reordered keys that are displayed\r\n */\r\n public orderedKeys: Object[];\r\n\r\n /**\r\n * Array of entered keystrokes\r\n * @type {Array}\r\n */\r\n public inputKeys = [];\r\n\r\n constructor(private appConfig: AppConfigService) {\r\n\r\n }\r\n\r\n public get keyString(): string {\r\n return this.inputKeys.join('');\r\n }\r\n\r\n ngOnInit() {\r\n // randomize keys\r\n this.orderedKeys = _.shuffle(this.keys.concat());\r\n }\r\n\r\n onClick($event) {\r\n $event.stopPropagation();\r\n }\r\n\r\n onKeyClick(keyId) {\r\n this.inputKeys.push(keyId);\r\n this.change.emit(this.keyString);\r\n }\r\n\r\n backSpace() {\r\n this.inputKeys.pop();\r\n this.change.emit(this.keyString);\r\n }\r\n\r\n onSubmit() {\r\n this.submit.emit();\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host {\\n position: relative;\\n display: block; }\\n:host.dark {\\n color: #FFFFFF; }\\n:host.dark app-string-input {\\n color: #FFFFFF; }\\n:host.dark app-string-input /deep/ input {\\n border-bottom-color: #FFFFFF; }\\n:host.dark app-string-input /deep/ .placeholder {\\n color: #FFFFFF; }\\n.button.show-password {\\n position: absolute;\\n top: 6px;\\n right: 0;\\n width: 30px;\\n height: 30px; }\\n.button.show-password app-svg-icon {\\n width: 17px;\\n height: 8px;\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%); }\\ninput[type=\\\"password\\\"],\\ninput[type=\\\"text\\\"] {\\n color: #00cfff; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9wYXNzd29yZC1pbnB1dC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3Bhc3N3b3JkLWlucHV0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3Bhc3N3b3JkLWlucHV0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvcGFzc3dvcmQtaW5wdXQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3Bhc3N3b3JkLWlucHV0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvcGFzc3dvcmQtaW5wdXQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3Bhc3N3b3JkLWlucHV0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGFwcC1mb3Jtc1xccGFzc3dvcmQtaW5wdXRcXHBhc3N3b3JkLWlucHV0LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3Bhc3N3b3JkLWlucHV0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksbUJBQWtCO0VBQ2xCLGVBQWMsRUFrQmpCO0FBcEJEO0lBS1EsZUNNUSxFRFFYO0FBbkJMO01BUVksZUNHSSxFRE9QO0FBbEJUO1FBV2dCLDZCQ0FBLEVEQ0g7QUFaYjtRQWVnQixlQ0pBLEVES0g7QUFNYjtFQUNJLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsU0FBUTtFQUNSLFlBQVc7RUFDWCxhQUFZLEVBVWY7QUFmRDtJQVFRLFlBQVc7SUFDWCxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxTQUFRO0lBQ1IsaUNBQWdDLEVBQ25DO0FBR0w7O0VBRUksZUN0Q29CLEVEdUN2QiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy9fdGhlbWUtaW1wb3J0cy5zY3NzXCI7XHJcblxyXG46aG9zdCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAmLmRhcmsge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuXHJcbiAgICAgICAgYXBwLXN0cmluZy1pbnB1dCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuXHJcbiAgICAgICAgICAgICYgL2RlZXAvIGlucHV0IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmIC9kZWVwLyAucGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ1dHRvbi5zaG93LXBhc3N3b3JkIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNnB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogMzBweDtcclxuXHJcbiAgICBhcHAtc3ZnLWljb24ge1xyXG4gICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiJdfQ== */\"","import {\r\n Component,\r\n ElementRef,\r\n forwardRef,\r\n Host,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Optional,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, FormGroupDirective, NG_VALUE_ACCESSOR, NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-password-input',\r\n templateUrl: './password-input.component.html',\r\n styleUrls: ['./password-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => PasswordInputComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class PasswordInputComponent implements ControlValueAccessor {\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public useNumericKeypad = false;\r\n\r\n @Input() public required = false;\r\n\r\n @ViewChild('input')\r\n public inputElement: ElementRef;\r\n\r\n @ViewChild('keypad')\r\n public keypadElement: ElementRef;\r\n\r\n // proxy ngModel for the input field\r\n public model: any;\r\n\r\n public inputType = 'password';\r\n\r\n @HostBinding('class.pad-open')\r\n showNumericKeypad = false;\r\n /**\r\n * This callback is called when the value has changed\r\n */\r\n private onChangeCallback: (_: any) => {};\r\n\r\n constructor(@Host() @Optional() private ngForm: NgForm, // get form from parent component\r\n @Host() @Optional() private formGroupDir: FormGroupDirective // get form from parent component\r\n ) {\r\n\r\n }\r\n\r\n get form() {\r\n return this.ngForm || this.formGroupDir;\r\n }\r\n\r\n /**\r\n * Listen to document clicks to close the numeric keypad\r\n * @param $event\r\n */\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick($event) {\r\n this.showNumericKeypad = false;\r\n }\r\n\r\n updateValue(value: any) {\r\n this.model = value;\r\n this.onChangeCallback(this.model);\r\n }\r\n\r\n showPassword() {\r\n this.inputType = 'text';\r\n }\r\n\r\n hidePassword() {\r\n this.inputType = 'password';\r\n }\r\n\r\n togglePassword($event) {\r\n $event.stopPropagation();\r\n this.inputType = (this.inputType === 'password') ? 'text' : 'password';\r\n }\r\n\r\n onFocus() {\r\n this.showNumericKeypad = true;\r\n }\r\n\r\n onInputClick($event) {\r\n $event.stopPropagation();\r\n }\r\n\r\n onKeypadChange($event) {\r\n this.updateValue($event);\r\n }\r\n\r\n onKeypadSubmit() {\r\n // Trigger form submission manually\r\n this.form.onSubmit(null);\r\n\r\n this.showNumericKeypad = false;\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj) {\r\n this.model = obj.toString();\r\n } else {\r\n this.model = null;\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n // TODO implement this\r\n }\r\n\r\n}\r\n","module.exports = \"

{{ 'global-password_validation-rule_description' | translate }}

\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n {{ 'global-password_validation-rule_notcontainusername' | translate }}\\r\\n \\r\\n {{ 'global-password_validation-rule_' + rule | lowercase | translate }}\\r\\n \\r\\n
\\r\\n\"","module.exports = \"@charset \\\"UTF-8\\\";\\n/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.password-validation-list {\\n padding-top: 10px; }\\n.password-validation-icon {\\n color: #d7d7d7;\\n padding-right: 10px; }\\n.password-validation-spinner {\\n display: inline-block;\\n width: 20px;\\n height: 15px;\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n left: 0; }\\n.password-validation-item {\\n padding: 8px 0;\\n padding-left: 25px;\\n font-size: 13px;\\n position: relative; }\\n.password-validation-item:before {\\n width: 15px;\\n height: 18px;\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n left: 0;\\n font-size: 16px; }\\n.password-validation-item.pending:before {\\n font-family: \\\"ald-icon\\\" !important;\\n content: \\\"\\\";\\n speak: none;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n color: #050b7f; }\\n.password-validation-item.invalid:before {\\n font-family: \\\"ald-icon\\\" !important;\\n content: \\\"\\\";\\n speak: none;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n color: #f22f3b; }\\n.password-validation-item.valid:before {\\n color: #00e6c2;\\n font-family: \\\"ald-icon\\\" !important;\\n content: \\\"\\\";\\n speak: none;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9wYXNzd29yZC12YWxpZGF0aW9uL3Bhc3N3b3JkLXZhbGlkYXRpb24uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvcGFzc3dvcmQtdmFsaWRhdGlvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3Bhc3N3b3JkLXZhbGlkYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvcGFzc3dvcmQtdmFsaWRhdGlvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZGltZW5zaW9ucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3Bhc3N3b3JkLXZhbGlkYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3Bhc3N3b3JkLXZhbGlkYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9wYXNzd29yZC12YWxpZGF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9zY3JlZW4uc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9wYXNzd29yZC12YWxpZGF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGFwcC1mb3Jtc1xccGFzc3dvcmQtdmFsaWRhdGlvblxccGFzc3dvcmQtdmFsaWRhdGlvbi5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9wYXNzd29yZC12YWxpZGF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9wYXNzd29yZC12YWxpZGF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9wYXNzd29yZC12YWxpZGF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9pY29ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDR25DO0VBQ0ksa0JBQWlCLEVBQ3BCO0FBQ0Q7RUFDSSxlQ1VXO0VEVFgsb0JBQW1CLEVBRXRCO0FBQ0Q7RUFDSSxzQkFBcUI7RUFDckIsWUFBVztFQUNYLGFBQVk7RUU0QmxCLG1CQUFrQjtFQUdoQixTQUFRO0VBR1IsNEJBQTJCO0VGaEN2QixRQUFPLEVBQ1Y7QUFDRDtFQUNJLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsZ0JBQWU7RUFDZixtQkFBa0IsRUFvQnJCO0FBeEJBO0lBTU8sWUFBVztJQUNYLGFBQVk7SUVpQnRCLG1CQUFrQjtJQUdoQixTQUFRO0lBR1IsNEJBQTJCO0lGckJuQixRQUFPO0lBQ1AsZ0JBQWUsRUFDbEI7QUFYSjtJR2ZILG1DQUE4QztJQUM5QyxhQTRGNEI7SUEzRjVCLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsb0JBQW1CO0lBQ25CLHFCQUFvQjtJQUNwQixxQkFBb0I7SUh1QlYsZUM1Qk0sRUQ2QlQ7QUFmSjtJR2ZILG1DQUE4QztJQUM5QyxhQTBWZTtJQXpWZixZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLG9CQUFtQjtJQUNuQixxQkFBb0I7SUFDcEIscUJBQW9CO0lIMkJWLGVDVkssRURXUjtBQW5CSjtJQXFCTyxlQ1ZNO0lFMUJoQixtQ0FBOEM7SUFDOUMsYUFtSW1CO0lBbEluQixZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLG9CQUFtQjtJQUNuQixxQkFBb0I7SUFDcEIscUJBQW9CLEVIZ0NiIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9wYXNzd29yZC12YWxpZGF0aW9uL3Bhc3N3b3JkLXZhbGlkYXRpb24uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXG4vKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cbkBrZXlmcmFtZXMgZmFkZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXG4vKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cbi5wYXNzd29yZC12YWxpZGF0aW9uLWxpc3Qge1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4ucGFzc3dvcmQtdmFsaWRhdGlvbi1pY29uIHtcbiAgY29sb3I6ICNkN2Q3ZDc7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cblxuLnBhc3N3b3JkLXZhbGlkYXRpb24tc3Bpbm5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMDsgfVxuXG4ucGFzc3dvcmQtdmFsaWRhdGlvbi1pdGVtIHtcbiAgcGFkZGluZzogOHB4IDA7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBhc3N3b3JkLXZhbGlkYXRpb24taXRlbTpiZWZvcmUge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLnBhc3N3b3JkLXZhbGlkYXRpb24taXRlbS5wZW5kaW5nOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiYWxkLWljb25cIiAhaW1wb3J0YW50O1xuICAgIGNvbnRlbnQ6IFwi7qWTXCI7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICMwNTBiN2Y7IH1cbiAgLnBhc3N3b3JkLXZhbGlkYXRpb24taXRlbS5pbnZhbGlkOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiYWxkLWljb25cIiAhaW1wb3J0YW50O1xuICAgIGNvbnRlbnQ6IFwi7qmRXCI7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICNmMjJmM2I7IH1cbiAgLnBhc3N3b3JkLXZhbGlkYXRpb24taXRlbS52YWxpZDpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDBlNmMyO1xuICAgIGZvbnQtZmFtaWx5OiBcImFsZC1pY29uXCIgIWltcG9ydGFudDtcbiAgICBjb250ZW50OiBcIu6lulwiO1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4iLCIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy9fdGhlbWUtaW1wb3J0cy5zY3NzXCI7XHJcblxyXG4ucGFzc3dvcmQtdmFsaWRhdGlvbiB7XHJcbiAgICAmLWxpc3Qge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgJi1pY29uIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgXCJncmF5LTMwMFwiKTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJi1zcGlubmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGNlbnRlcih2ZXJ0aWNhbCk7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICAgICYtaXRlbSB7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXIodmVydGljYWwpO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGVuZGluZzpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBpY29uKFwiaWNvbi1hbGVydC10cmlhbmdsZVwiKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsIFwicHJpbWFyeVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbnZhbGlkOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGljb24oXCJpY29uLXhcIik7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCBcImRhbmdlclwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi52YWxpZDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgXCJzdWNjZXNzXCIpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBpY29uKFwiaWNvbi1jaGVja1wiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiIsIiRpY29uLWZvbnQtZmFtaWx5OiBcImFsZC1pY29uXCIgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gaWNvbigkaWNvbikge1xyXG4gIGZvbnQtZmFtaWx5OiAnI3skaWNvbi1mb250LWZhbWlseX0nICFpbXBvcnRhbnQ7XHJcbiAgY29udGVudDogbWFwLWdldCgkaWNvbnMsICRpY29uKTtcclxuICBzcGVhazogbm9uZTtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuJGljb25zOiAoXHJcbiAgaWNvbi1rZXk6IFwiXFxlOTAwXCIsXHJcbiAgaWNvbi1hY2NpZGVudC1tYW5hZ2VtZW50OiBcIlxcZTkwMVwiLFxyXG4gIGljb24tYXNzaXN0YW5jZTogXCJcXGU5MDJcIixcclxuICBpY29uLWNhci1yZW50YWw6IFwiXFxlOTAzXCIsXHJcbiAgaWNvbi1jYXItcmVwbGFjZW1lbnQ6IFwiXFxlOTA0XCIsXHJcbiAgaWNvbi1jYXItcmV0dXJuOiBcIlxcZTkwNVwiLFxyXG4gIGljb24tY2FyOiBcIlxcZTkwNlwiLFxyXG4gIGljb24tY29ubmVjdGVkLWNhcjogXCJcXGU5MDdcIixcclxuICBpY29uLWRyaXZlcjogXCJcXGU5MDhcIixcclxuICBpY29uLWVjbzogXCJcXGU5MDlcIixcclxuICBpY29uLWVsZWN0cmljLWNhcjogXCJcXGU5MGFcIixcclxuICBpY29uLWZlZWQ6IFwiXFxlOTBiXCIsXHJcbiAgaWNvbi1maWxlOiBcIlxcZTkwY1wiLFxyXG4gIGljb24tZmluZS1tYW5hZ2VtZW50OiBcIlxcZTkwZFwiLFxyXG4gIGljb24tZmxlZXRtYW5hZ2VyOiBcIlxcZTkwZVwiLFxyXG4gIGljb24tZnVlbDogXCJcXGU5MGZcIixcclxuICBpY29uLWdsb3ZlYm94OiBcIlxcZTkxMFwiLFxyXG4gIGljb24taGFuZHNoYWtlOiBcIlxcZTkxMVwiLFxyXG4gIGljb24taGVhcnQ6IFwiXFxlOTEyXCIsXHJcbiAgaWNvbi1pbnN1cmFuY2U6IFwiXFxlOTEzXCIsXHJcbiAgaWNvbi1tYWludGVuYW5jZTogXCJcXGU5MTRcIixcclxuICBpY29uLW1hcDogXCJcXGU5MTVcIixcclxuICBpY29uLXBhcmtpbmc6IFwiXFxlOTE2XCIsXHJcbiAgaWNvbi1wYXJ0bmVyOiBcIlxcZTkxN1wiLFxyXG4gIGljb24tcXVvdGF0aW9uOiBcIlxcZTkxOFwiLFxyXG4gIGljb24tcmVwb3J0czogXCJcXGU5MTlcIixcclxuICBpY29uLXNlY3VyaXR5OiBcIlxcZTkxYVwiLFxyXG4gIGljb24tc2V0dGluZ3M6IFwiXFxlOTFiXCIsXHJcbiAgaWNvbi1zaG9ydC10ZXJtOiBcIlxcZTkxY1wiLFxyXG4gIGljb24tdGlyZTogXCJcXGU5MWRcIixcclxuICBpY29uLXRpcmVzOiBcIlxcZTkxZVwiLFxyXG4gIGljb24tdG9sbDogXCJcXGU5MWZcIixcclxuICBpY29uLXVzZXItbWFuYWdlbWVudDogXCJcXGU5MjBcIixcclxuICBpY29uLXdpbmRzaGllbGQ6IFwiXFxlOTIxXCIsXHJcbiAgaWNvbi1sb2NhdGlvbjogXCJcXGU5MjJcIixcclxuICBpY29uLXNhbGVzZm9yY2U6IFwiXFxlOTIzXCIsXHJcbiAgaWNvbi1mbGVldDogXCJcXGU5MjRcIixcclxuICBpY29uLWNhcnM6IFwiXFxlOTI1XCIsXHJcbiAgaWNvbi1hdHRhY2htZW50OiBcIlxcZTkyNlwiLFxyXG4gIGljb24tYmFja3NwYWNlOiBcIlxcZTkyN1wiLFxyXG4gIGljb24tYnViYmxlOiBcIlxcZTkyOFwiLFxyXG4gIGljb24tY2FsZW5kYXI6IFwiXFxlOTI5XCIsXHJcbiAgaWNvbi1jYWxsLXBob25lOiBcIlxcZTkyYVwiLFxyXG4gIGljb24tcGVuOiBcIlxcZTkyYlwiLFxyXG4gIGljb24tZW52ZWxvcGU6IFwiXFxlOTJjXCIsXHJcbiAgaWNvbi1leHRlcm5hbC1saW5rOiBcIlxcZTkyZFwiLFxyXG4gIGljb24tZ2VvbG9jYXRpb246IFwiXFxlOTJlXCIsXHJcbiAgaWNvbi1jYXIxOiBcIlxcZTkyZlwiLFxyXG4gIGljb24tdmFuOiBcIlxcZTkzMFwiLFxyXG4gIGljb24tdHJhZmZpYy1pbmZvOiBcIlxcZTkzMVwiLFxyXG4gIGljb24tYmlrZTogXCJcXGU5MzJcIixcclxuICBpY29uLWZlZWQxOiBcIlxcZTkzM1wiLFxyXG4gIGljb24tZG9jdW1lbnRzOiBcIlxcZTkzNFwiLFxyXG4gIGljb24tbWljcm9waG9uZTogXCJcXGU5MzVcIixcclxuICBpY29uLWFwcG9pbnRtZW50OiBcIlxcZTkzNlwiLFxyXG4gIGljb24tYXNzaXN0YW5jZTE6IFwiXFxlOTM3XCIsXHJcbiAgaWNvbi1idXktY2FyOiBcIlxcZTkzOFwiLFxyXG4gIGljb24tY2hhcmdpbjogXCJcXGU5MzlcIixcclxuICBpY29uLWNvbnRyYWN0OiBcIlxcZTkzYVwiLFxyXG4gIGljb24tY2FyLWluZm9ybWF0aW9uOiBcIlxcZTkzYlwiLFxyXG4gIGljb24tbWFpbnRlbmFuY2UxOiBcIlxcZTkzY1wiLFxyXG4gIGljb24tbWlsZWFnZTogXCJcXGU5M2RcIixcclxuICBpY29uLW1vcmU6IFwiXFxlOTNlXCIsXHJcbiAgaWNvbi1yYXRpbmc6IFwiXFxlOTNmXCIsXHJcbiAgaWNvbi10aXBzOiBcIlxcZTk0MFwiLFxyXG4gIGljb24tcGRmOiBcIlxcZTk0MVwiLFxyXG4gIGljb24tcGhvdG86IFwiXFxlOTQyXCIsXHJcbiAgaWNvbi1jYXJib2R5cmVwYWlyOiBcIlxcZTk0M1wiLFxyXG4gIGljb24tY2FycmV0dXJuOiBcIlxcZTk0NFwiLFxyXG4gIGljb24tY2Fyd2luZG93cmVwYWlyOiBcIlxcZTk0NVwiLFxyXG4gIGljb24tZnVlbDE6IFwiXFxlOTQ2XCIsXHJcbiAgaWNvbi1uZXdjYXJ0cmlhbDogXCJcXGU5NDdcIixcclxuICBpY29uLXBhcmtpbmcxOiBcIlxcZTk0OFwiLFxyXG4gIGljb24tdGVjaG5pY2FsLWNvbnRyb2w6IFwiXFxlOTQ5XCIsXHJcbiAgaWNvbi12ZWhpY2xlcy1yZXBsYWNlbWVudDogXCJcXGU5NGFcIixcclxuICBpY29uLXN0YXI6IFwiXFxlOTRiXCIsXHJcbiAgaWNvbi1zdGFyLWZpbGw6IFwiXFxlOTRjXCIsXHJcbiAgaWNvbi1zdGFyLXNlbWktZmlsbDogXCJcXGU5NGRcIixcclxuICBpY29uLXRyYXNoOiBcIlxcZTk0ZVwiLFxyXG4gIGljb24tYWN0aXZpdHk6IFwiXFxlOTRmXCIsXHJcbiAgaWNvbi1haXJwbGF5OiBcIlxcZTk1MFwiLFxyXG4gIGljb24tYWxlcnQtY2lyY2xlOiBcIlxcZTk1MVwiLFxyXG4gIGljb24tYWxlcnQtb2N0YWdvbjogXCJcXGU5NTJcIixcclxuICBpY29uLWFsZXJ0LXRyaWFuZ2xlOiBcIlxcZTk1M1wiLFxyXG4gIGljb24tYWxpZ24tY2VudGVyOiBcIlxcZTk1NFwiLFxyXG4gIGljb24tYWxpZ24tanVzdGlmeTogXCJcXGU5NTVcIixcclxuICBpY29uLWFsaWduLWxlZnQ6IFwiXFxlOTU2XCIsXHJcbiAgaWNvbi1hbGlnbi1yaWdodDogXCJcXGU5NTdcIixcclxuICBpY29uLWFuY2hvcjogXCJcXGU5NThcIixcclxuICBpY29uLWFwZXJ0dXJlOiBcIlxcZTk1OVwiLFxyXG4gIGljb24tYXJjaGl2ZTogXCJcXGU5NWFcIixcclxuICBpY29uLWFycm93LWRvd246IFwiXFxlOTViXCIsXHJcbiAgaWNvbi1hcnJvdy1kb3duLWNpcmNsZTogXCJcXGU5NWNcIixcclxuICBpY29uLWFycm93LWRvd24tbGVmdDogXCJcXGU5NWRcIixcclxuICBpY29uLWFycm93LWRvd24tcmlnaHQ6IFwiXFxlOTVlXCIsXHJcbiAgaWNvbi1hcnJvdy1sZWZ0OiBcIlxcZTk1ZlwiLFxyXG4gIGljb24tYXJyb3ctbGVmdC1jaXJjbGU6IFwiXFxlOTYwXCIsXHJcbiAgaWNvbi1hcnJvdy1yaWdodDogXCJcXGU5NjFcIixcclxuICBpY29uLWFycm93LXJpZ2h0LWNpcmNsZTogXCJcXGU5NjJcIixcclxuICBpY29uLWFycm93LXVwOiBcIlxcZTk2M1wiLFxyXG4gIGljb24tYXJyb3ctdXAtY2lyY2xlOiBcIlxcZTk2NFwiLFxyXG4gIGljb24tYXJyb3ctdXAtbGVmdDogXCJcXGU5NjVcIixcclxuICBpY29uLWFycm93LXVwLXJpZ2h0OiBcIlxcZTk2NlwiLFxyXG4gIGljb24tYXQtc2lnbjogXCJcXGU5NjdcIixcclxuICBpY29uLWF3YXJkOiBcIlxcZTk2OFwiLFxyXG4gIGljb24tYmFyLWNoYXJ0OiBcIlxcZTk2OVwiLFxyXG4gIGljb24tYmFyLWNoYXJ0LTI6IFwiXFxlOTZhXCIsXHJcbiAgaWNvbi1iYXR0ZXJ5OiBcIlxcZTk2YlwiLFxyXG4gIGljb24tYmF0dGVyeS1jaGFyZ2luZzogXCJcXGU5NmNcIixcclxuICBpY29uLWFsZXJ0OiBcIlxcZTk2ZFwiLFxyXG4gIGljb24tYWxlcnQtb2ZmOiBcIlxcZTk2ZVwiLFxyXG4gIGljb24tYmx1ZXRvb3RoOiBcIlxcZTk2ZlwiLFxyXG4gIGljb24tYm9sZDogXCJcXGU5NzBcIixcclxuICBpY29uLWJvb2s6IFwiXFxlOTcxXCIsXHJcbiAgaWNvbi1ib29rLW9wZW46IFwiXFxlOTcyXCIsXHJcbiAgaWNvbi1ib29rbWFyazogXCJcXGU5NzNcIixcclxuICBpY29uLWJveDogXCJcXGU5NzRcIixcclxuICBpY29uLWJyaWVmY2FzZTogXCJcXGU5NzVcIixcclxuICBpY29uLWNhbGVuZGFyMTogXCJcXGU5NzZcIixcclxuICBpY29uLWNhbWVyYTogXCJcXGU5NzdcIixcclxuICBpY29uLWNhbWVyYS1vZmY6IFwiXFxlOTc4XCIsXHJcbiAgaWNvbi1jYXN0OiBcIlxcZTk3OVwiLFxyXG4gIGljb24tY2hlY2s6IFwiXFxlOTdhXCIsXHJcbiAgaWNvbi1jaGVjay1jaXJjbGU6IFwiXFxlOTdiXCIsXHJcbiAgaWNvbi1jaGVjay1zcXVhcmU6IFwiXFxlOTdjXCIsXHJcbiAgaWNvbi1jaGV2cm9uLWRvd246IFwiXFxlOTdkXCIsXHJcbiAgaWNvbi1jaGV2cm9uLWxlZnQ6IFwiXFxlOTdlXCIsXHJcbiAgaWNvbi1jaGV2cm9uLXJpZ2h0OiBcIlxcZTk3ZlwiLFxyXG4gIGljb24tY2hldnJvbi11cDogXCJcXGU5ODBcIixcclxuICBpY29uLWNoZXZyb25zLWRvd246IFwiXFxlOTgxXCIsXHJcbiAgaWNvbi1jaGV2cm9ucy1sZWZ0OiBcIlxcZTk4MlwiLFxyXG4gIGljb24tY2hldnJvbnMtcmlnaHQ6IFwiXFxlOTgzXCIsXHJcbiAgaWNvbi1jaGV2cm9ucy11cDogXCJcXGU5ODRcIixcclxuICBpY29uLWNocm9tZTogXCJcXGU5ODVcIixcclxuICBpY29uLWNpcmNsZTogXCJcXGU5ODZcIixcclxuICBpY29uLWNsaXBib2FyZDogXCJcXGU5ODdcIixcclxuICBpY29uLWNsb2NrOiBcIlxcZTk4OFwiLFxyXG4gIGljb24tY2xvdWQ6IFwiXFxlOTg5XCIsXHJcbiAgaWNvbi1jbG91ZC1kcml6emxlOiBcIlxcZTk4YVwiLFxyXG4gIGljb24tY2xvdWQtbGlnaHRuaW5nOiBcIlxcZTk4YlwiLFxyXG4gIGljb24tY2xvdWQtb2ZmOiBcIlxcZTk4Y1wiLFxyXG4gIGljb24tY2xvdWQtcmFpbjogXCJcXGU5OGRcIixcclxuICBpY29uLWNsb3VkLXNub3c6IFwiXFxlOThlXCIsXHJcbiAgaWNvbi1jb2RlOiBcIlxcZTk4ZlwiLFxyXG4gIGljb24tY29kZXBlbjogXCJcXGU5OTBcIixcclxuICBpY29uLWNvbW1hbmQ6IFwiXFxlOTkxXCIsXHJcbiAgaWNvbi1jb21wYXNzOiBcIlxcZTk5MlwiLFxyXG4gIGljb24tY29weTogXCJcXGU5OTNcIixcclxuICBpY29uLWNvcm5lci1kb3duLWxlZnQ6IFwiXFxlOTk0XCIsXHJcbiAgaWNvbi1jb3JuZXItZG93bi1yaWdodDogXCJcXGU5OTVcIixcclxuICBpY29uLWNvcm5lci1sZWZ0LWRvd246IFwiXFxlOTk2XCIsXHJcbiAgaWNvbi1jb3JuZXItbGVmdC11cDogXCJcXGU5OTdcIixcclxuICBpY29uLWNvcm5lci1yaWdodC1kb3duOiBcIlxcZTk5OFwiLFxyXG4gIGljb24tY29ybmVyLXJpZ2h0LXVwOiBcIlxcZTk5OVwiLFxyXG4gIGljb24tY29ybmVyLXVwLWxlZnQ6IFwiXFxlOTlhXCIsXHJcbiAgaWNvbi1jb3JuZXItdXAtcmlnaHQ6IFwiXFxlOTliXCIsXHJcbiAgaWNvbi1jcHU6IFwiXFxlOTljXCIsXHJcbiAgaWNvbi1jcmVkaXQtY2FyZDogXCJcXGU5OWRcIixcclxuICBpY29uLWNyb3A6IFwiXFxlOTllXCIsXHJcbiAgaWNvbi1jcm9zc2hhaXI6IFwiXFxlOTlmXCIsXHJcbiAgaWNvbi1kYXRhYmFzZTogXCJcXGU5YTBcIixcclxuICBpY29uLWRlbGV0ZTogXCJcXGU5YTFcIixcclxuICBpY29uLWRpc2M6IFwiXFxlOWEyXCIsXHJcbiAgaWNvbi1kb2xsYXItc2lnbjogXCJcXGU5YTNcIixcclxuICBpY29uLWRvd25sb2FkOiBcIlxcZTlhNFwiLFxyXG4gIGljb24tZG93bmxvYWQtY2xvdWQ6IFwiXFxlOWE1XCIsXHJcbiAgaWNvbi1kcm9wbGV0OiBcIlxcZTlhNlwiLFxyXG4gIGljb24tZWRpdDogXCJcXGU5YTdcIixcclxuICBpY29uLWVkaXQtMjogXCJcXGU5YThcIixcclxuICBpY29uLWVkaXQtMzogXCJcXGU5YTlcIixcclxuICBpY29uLWV4dGVybmFsLWxpbmsxOiBcIlxcZTlhYVwiLFxyXG4gIGljb24tZXllOiBcIlxcZTlhYlwiLFxyXG4gIGljb24tZXllLW9mZjogXCJcXGU5YWNcIixcclxuICBpY29uLWZhY2Vib29rOiBcIlxcZTlhZFwiLFxyXG4gIGljb24tZmFzdC1mb3J3YXJkOiBcIlxcZTlhZVwiLFxyXG4gIGljb24tZmVhdGhlcjogXCJcXGU5YWZcIixcclxuICBpY29uLWZpbGUtMjogXCJcXGU5YjBcIixcclxuICBpY29uLWZpbGUtbWludXM6IFwiXFxlOWIxXCIsXHJcbiAgaWNvbi1maWxlLXBsdXM6IFwiXFxlOWIyXCIsXHJcbiAgaWNvbi1maWxlLXRleHQ6IFwiXFxlOWIzXCIsXHJcbiAgaWNvbi1maWxtOiBcIlxcZTliNFwiLFxyXG4gIGljb24tZmlsdGVyOiBcIlxcZTliNVwiLFxyXG4gIGljb24tZmxhZzogXCJcXGU5YjZcIixcclxuICBpY29uLWZvbGRlcjogXCJcXGU5YjdcIixcclxuICBpY29uLWZvbGRlci1taW51czogXCJcXGU5YjhcIixcclxuICBpY29uLWZvbGRlci1wbHVzOiBcIlxcZTliOVwiLFxyXG4gIGljb24tZ2lmdDogXCJcXGU5YmFcIixcclxuICBpY29uLWdpdC1icmFuY2g6IFwiXFxlOWJiXCIsXHJcbiAgaWNvbi1naXQtY29tbWl0OiBcIlxcZTliY1wiLFxyXG4gIGljb24tZ2l0LW1lcmdlOiBcIlxcZTliZFwiLFxyXG4gIGljb24tZ2l0LXB1bGwtcmVxdWVzdDogXCJcXGU5YmVcIixcclxuICBpY29uLWdpdGh1YjogXCJcXGU5YmZcIixcclxuICBpY29uLWdpdGxhYjogXCJcXGU5YzBcIixcclxuICBpY29uLXVuaUU5OUY6IFwiXFxlOWMxXCIsXHJcbiAgaWNvbi1ncmlkOiBcIlxcZTljMlwiLFxyXG4gIGljb24taGFyZC1kcml2ZTogXCJcXGU5YzNcIixcclxuICBpY29uLWhhc2g6IFwiXFxlOWM0XCIsXHJcbiAgaWNvbi1oZWFkcGhvbmVzOiBcIlxcZTljNVwiLFxyXG4gIGljb24taGVhcnQxOiBcIlxcZTljNlwiLFxyXG4gIGljb24taGVscC1jaXJjbGU6IFwiXFxlOWM3XCIsXHJcbiAgaWNvbi1ob21lOiBcIlxcZTljOFwiLFxyXG4gIGljb24taW1hZ2U6IFwiXFxlOWM5XCIsXHJcbiAgaWNvbi1pbmJveDogXCJcXGU5Y2FcIixcclxuICBpY29uLWluZm86IFwiXFxlOWNiXCIsXHJcbiAgaWNvbi1pbnN0YWdyYW06IFwiXFxlOWNjXCIsXHJcbiAgaWNvbi1pdGFsaWM6IFwiXFxlOWNkXCIsXHJcbiAgaWNvbi1sYXllcnM6IFwiXFxlOWNlXCIsXHJcbiAgaWNvbi1sYXlvdXQ6IFwiXFxlOWNmXCIsXHJcbiAgaWNvbi1saWZlLWJ1b3k6IFwiXFxlOWQwXCIsXHJcbiAgaWNvbi1saW5rOiBcIlxcZTlkMVwiLFxyXG4gIGljb24tbGluay0yOiBcIlxcZTlkMlwiLFxyXG4gIGljb24tbGlua2VkaW46IFwiXFxlOWQzXCIsXHJcbiAgaWNvbi1saXN0OiBcIlxcZTlkNFwiLFxyXG4gIGljb24tbG9hZGVyOiBcIlxcZTlkNVwiLFxyXG4gIGljb24tbG9jazogXCJcXGU5ZDZcIixcclxuICBpY29uLWxvZy1pbjogXCJcXGU5ZDdcIixcclxuICBpY29uLWxvZy1vdXQ6IFwiXFxlOWQ4XCIsXHJcbiAgaWNvbi1tYWlsOiBcIlxcZTlkOVwiLFxyXG4gIGljb24tbWFwLTI6IFwiXFxlOWRhXCIsXHJcbiAgaWNvbi1tYXAtcGluOiBcIlxcZTlkYlwiLFxyXG4gIGljb24tbWF4aW1pemU6IFwiXFxlOWRjXCIsXHJcbiAgaWNvbi1tYXhpbWl6ZS0yOiBcIlxcZTlkZFwiLFxyXG4gIGljb24tbWVudTogXCJcXGU5ZGVcIixcclxuICBpY29uLW1lc3NhZ2UtY2lyY2xlOiBcIlxcZTlkZlwiLFxyXG4gIGljb24tbWVzc2FnZS1zcXVhcmU6IFwiXFxlOWUwXCIsXHJcbiAgaWNvbi1taWM6IFwiXFxlOWUxXCIsXHJcbiAgaWNvbi1taWMtb2ZmOiBcIlxcZTllMlwiLFxyXG4gIGljb24tbWluaW1pemU6IFwiXFxlOWUzXCIsXHJcbiAgaWNvbi1taW5pbWl6ZS0yOiBcIlxcZTllNFwiLFxyXG4gIGljb24tbWludXM6IFwiXFxlOWU1XCIsXHJcbiAgaWNvbi1taW51cy1jaXJjbGU6IFwiXFxlOWU2XCIsXHJcbiAgaWNvbi1taW51cy1zcXVhcmU6IFwiXFxlOWU3XCIsXHJcbiAgaWNvbi1tb25pdG9yOiBcIlxcZTllOFwiLFxyXG4gIGljb24tbW9vbjogXCJcXGU5ZTlcIixcclxuICBpY29uLW1vcmUtaG9yaXpvbnRhbDogXCJcXGU5ZWFcIixcclxuICBpY29uLW1vcmUtdmVydGljYWw6IFwiXFxlOWViXCIsXHJcbiAgaWNvbi1tb3ZlOiBcIlxcZTllY1wiLFxyXG4gIGljb24tbXVzaWM6IFwiXFxlOWVkXCIsXHJcbiAgaWNvbi1uYXZpZ2F0aW9uOiBcIlxcZTllZVwiLFxyXG4gIGljb24tbmF2aWdhdGlvbi0yOiBcIlxcZTllZlwiLFxyXG4gIGljb24tb2N0YWdvbjogXCJcXGU5ZjBcIixcclxuICBpY29uLXBhY2thZ2U6IFwiXFxlOWYxXCIsXHJcbiAgaWNvbi1wYXBlcmNsaXA6IFwiXFxlOWYyXCIsXHJcbiAgaWNvbi1wYXVzZTogXCJcXGU5ZjNcIixcclxuICBpY29uLXBhdXNlLWNpcmNsZTogXCJcXGU5ZjRcIixcclxuICBpY29uLXBlcmNlbnQ6IFwiXFxlOWY1XCIsXHJcbiAgaWNvbi1waG9uZTogXCJcXGU5ZjZcIixcclxuICBpY29uLXBob25lLWNhbGw6IFwiXFxlOWY3XCIsXHJcbiAgaWNvbi1waG9uZS1mb3J3YXJkZWQ6IFwiXFxlOWY4XCIsXHJcbiAgaWNvbi1waG9uZS1pbmNvbWluZzogXCJcXGU5ZjlcIixcclxuICBpY29uLXBob25lLW1pc3NlZDogXCJcXGU5ZmFcIixcclxuICBpY29uLXBob25lLW9mZjogXCJcXGU5ZmJcIixcclxuICBpY29uLXBob25lLW91dGdvaW5nOiBcIlxcZTlmY1wiLFxyXG4gIGljb24tcGllLWNoYXJ0OiBcIlxcZTlmZFwiLFxyXG4gIGljb24tcGxheTogXCJcXGU5ZmVcIixcclxuICBpY29uLXBsYXktY2lyY2xlOiBcIlxcZTlmZlwiLFxyXG4gIGljb24tcGx1czogXCJcXGVhMDBcIixcclxuICBpY29uLXBsdXMtY2lyY2xlOiBcIlxcZWEwMVwiLFxyXG4gIGljb24tcGx1cy1zcXVhcmU6IFwiXFxlYTAyXCIsXHJcbiAgaWNvbi1wb2NrZXQ6IFwiXFxlYTAzXCIsXHJcbiAgaWNvbi1wb3dlcjogXCJcXGVhMDRcIixcclxuICBpY29uLXByaW50ZXI6IFwiXFxlYTA1XCIsXHJcbiAgaWNvbi1yYWRpbzogXCJcXGVhMDZcIixcclxuICBpY29uLXJlZnJlc2gtY2N3OiBcIlxcZWEwN1wiLFxyXG4gIGljb24tcmVmcmVzaC1jdzogXCJcXGVhMDhcIixcclxuICBpY29uLXJlcGVhdDogXCJcXGVhMDlcIixcclxuICBpY29uLXJld2luZDogXCJcXGVhMGFcIixcclxuICBpY29uLXJvdGF0ZS1jY3c6IFwiXFxlYTBiXCIsXHJcbiAgaWNvbi1yb3RhdGUtY3c6IFwiXFxlYTBjXCIsXHJcbiAgaWNvbi1yc3M6IFwiXFxlYTBkXCIsXHJcbiAgaWNvbi1zYXZlOiBcIlxcZWEwZVwiLFxyXG4gIGljb24tc2Npc3NvcnM6IFwiXFxlYTBmXCIsXHJcbiAgaWNvbi1zZWFyY2g6IFwiXFxlYTEwXCIsXHJcbiAgaWNvbi1zZW5kOiBcIlxcZWExMVwiLFxyXG4gIGljb24tc2VydmVyOiBcIlxcZWExMlwiLFxyXG4gIGljb24tc2V0dGluZ3MxOiBcIlxcZWExM1wiLFxyXG4gIGljb24tc2hhcmU6IFwiXFxlYTE0XCIsXHJcbiAgaWNvbi1zaGFyZS0yOiBcIlxcZWExNVwiLFxyXG4gIGljb24tc2hpZWxkOiBcIlxcZWExNlwiLFxyXG4gIGljb24tc2hpZWxkLW9mZjogXCJcXGVhMTdcIixcclxuICBpY29uLXNob3BwaW5nLWJhZzogXCJcXGVhMThcIixcclxuICBpY29uLXNob3BwaW5nLWNhcnQ6IFwiXFxlYTE5XCIsXHJcbiAgaWNvbi1zaHVmZmxlOiBcIlxcZWExYVwiLFxyXG4gIGljb24tc2lkZWJhcjogXCJcXGVhMWJcIixcclxuICBpY29uLXNraXAtYmFjazogXCJcXGVhMWNcIixcclxuICBpY29uLXNraXAtZm9yd2FyZDogXCJcXGVhMWRcIixcclxuICBpY29uLXNsYWNrOiBcIlxcZWExZVwiLFxyXG4gIGljb24tc2xhc2g6IFwiXFxlYTFmXCIsXHJcbiAgaWNvbi1zbGlkZXJzOiBcIlxcZWEyMFwiLFxyXG4gIGljb24tc21hcnRwaG9uZTogXCJcXGVhMjFcIixcclxuICBpY29uLXNwZWFrZXI6IFwiXFxlYTIyXCIsXHJcbiAgaWNvbi1zcXVhcmU6IFwiXFxlYTIzXCIsXHJcbiAgaWNvbi1zdGFyMTogXCJcXGVhMjRcIixcclxuICBpY29uLXN0b3AtY2lyY2xlOiBcIlxcZWEyNVwiLFxyXG4gIGljb24tc3VuOiBcIlxcZWEyNlwiLFxyXG4gIGljb24tc3VucmlzZTogXCJcXGVhMjdcIixcclxuICBpY29uLXN1bnNldDogXCJcXGVhMjhcIixcclxuICBpY29uLXRhYmxldDogXCJcXGVhMjlcIixcclxuICBpY29uLXRhZzogXCJcXGVhMmFcIixcclxuICBpY29uLXRhcmdldDogXCJcXGVhMmJcIixcclxuICBpY29uLXRlcm1pbmFsOiBcIlxcZWEyY1wiLFxyXG4gIGljb24tdGhlcm1vbWV0ZXI6IFwiXFxlYTJkXCIsXHJcbiAgaWNvbi10aHVtYnMtZG93bjogXCJcXGVhMmVcIixcclxuICBpY29uLXRodW1icy11cDogXCJcXGVhMmZcIixcclxuICBpY29uLXRvZ2dsZS1sZWZ0OiBcIlxcZWEzMFwiLFxyXG4gIGljb24tdG9nZ2xlLXJpZ2h0OiBcIlxcZWEzMVwiLFxyXG4gIGljb24tdHJhc2gxOiBcIlxcZWEzMlwiLFxyXG4gIGljb24tdHJhc2gtMjogXCJcXGVhMzNcIixcclxuICBpY29uLXRyZW5kaW5nLWRvd246IFwiXFxlYTM0XCIsXHJcbiAgaWNvbi10cmVuZGluZy11cDogXCJcXGVhMzVcIixcclxuICBpY29uLXRyaWFuZ2xlOiBcIlxcZWEzNlwiLFxyXG4gIGljb24tdHJ1Y2s6IFwiXFxlYTM3XCIsXHJcbiAgaWNvbi10djogXCJcXGVhMzhcIixcclxuICBpY29uLXR3aXR0ZXI6IFwiXFxlYTM5XCIsXHJcbiAgaWNvbi10eXBlOiBcIlxcZWEzYVwiLFxyXG4gIGljb24tdW1icmVsbGE6IFwiXFxlYTNiXCIsXHJcbiAgaWNvbi11bmRlcmxpbmU6IFwiXFxlYTNjXCIsXHJcbiAgaWNvbi11bmxvY2s6IFwiXFxlYTNkXCIsXHJcbiAgaWNvbi11cGxvYWQ6IFwiXFxlYTNlXCIsXHJcbiAgaWNvbi11cGxvYWQtY2xvdWQ6IFwiXFxlYTNmXCIsXHJcbiAgaWNvbi11c2VyOiBcIlxcZWE0MFwiLFxyXG4gIGljb24tdXNlci1jaGVjazogXCJcXGVhNDFcIixcclxuICBpY29uLXVzZXItbWludXM6IFwiXFxlYTQyXCIsXHJcbiAgaWNvbi11c2VyLXBsdXM6IFwiXFxlYTQzXCIsXHJcbiAgaWNvbi11c2VyLXg6IFwiXFxlYTQ0XCIsXHJcbiAgaWNvbi11c2VyczogXCJcXGVhNDVcIixcclxuICBpY29uLXZpZGVvOiBcIlxcZWE0NlwiLFxyXG4gIGljb24tdmlkZW8tb2ZmOiBcIlxcZWE0N1wiLFxyXG4gIGljb24tdm9pY2VtYWlsOiBcIlxcZWE0OFwiLFxyXG4gIGljb24tdm9sdW1lOiBcIlxcZWE0OVwiLFxyXG4gIGljb24tdm9sdW1lLTE6IFwiXFxlYTRhXCIsXHJcbiAgaWNvbi12b2x1bWUtMjogXCJcXGVhNGJcIixcclxuICBpY29uLXZvbHVtZS14OiBcIlxcZWE0Y1wiLFxyXG4gIGljb24td2F0Y2g6IFwiXFxlYTRkXCIsXHJcbiAgaWNvbi13aWZpOiBcIlxcZWE0ZVwiLFxyXG4gIGljb24td2lmaS1vZmY6IFwiXFxlYTRmXCIsXHJcbiAgaWNvbi13aW5kOiBcIlxcZWE1MFwiLFxyXG4gIGljb24teDogXCJcXGVhNTFcIixcclxuICBpY29uLXgtY2lyY2xlOiBcIlxcZWE1MlwiLFxyXG4gIGljb24teC1zcXVhcmU6IFwiXFxlYTUzXCIsXHJcbiAgaWNvbi15b3V0dWJlOiBcIlxcZWE1NFwiLFxyXG4gIGljb24temFwOiBcIlxcZWE1NVwiLFxyXG4gIGljb24temFwLW9mZjogXCJcXGVhNTZcIixcclxuICBpY29uLXpvb20taW46IFwiXFxlYTU3XCIsXHJcbiAgaWNvbi16b29tLW91dDogXCJcXGVhNThcIixcclxuICBpY29uLXN3aXRjaDogXCJcXGVhNTlcIixcclxuICBpY29uLXBlcm1pc3Npb246IFwiXFxlYTVhXCIsXHJcbiAgaWNvbi1yZXBhaXI6IFwiXFxlYTViXCIsXHJcbiAgaWNvbi1vcmRlci1tYWludGVuYW5jZTogXCJcXGVhNWNcIixcclxuICBpY29uLWNhci13YXNoOiBcIlxcZWE1ZFwiLFxyXG4gIGljb24tZmlyZS1leHRpbmd1aXNoZXI6IFwiXFxlYTVlXCIsXHJcbiAgaWNvbi1jaGFyZ2luZy1zdGF0aW9uOiBcIlxcZWE1ZlwiLFxyXG4gIGljb24tY29tcGxpYW5jZTogXCJcXGVhNjBcIixcclxuKTtcclxuIl19 */\"","import { Component, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { UserService } from 'app/shared/user/user.service';\r\nimport { PasswordRulesRegex } from '../validators/password.validator';\r\n\r\n@Component({\r\n selector: 'app-password-validation',\r\n templateUrl: './password-validation.component.html',\r\n styleUrls: ['./password-validation.component.scss']\r\n})\r\nexport class PasswordValidationComponent {\r\n\r\n @Input() passwordControl: FormControl;\r\n public readonly PASSWORD_RULES_REGEX = Object.keys(PasswordRulesRegex);\r\n\r\n constructor(private userService: UserService) { }\r\n\r\n get isCheckingPasswordUsername(): boolean {\r\n return this.userService.isCheckingPasswordUsername.getValue();\r\n }\r\n\r\n public isPasswordUsernamePending(): boolean {\r\n return this.passwordControl.errors &&\r\n Object.keys(this.passwordControl.errors).some(key => this.PASSWORD_RULES_REGEX.includes(key));\r\n }\r\n\r\n public isPasswordUsernameValid(): boolean {\r\n return !this.passwordControl.getError('notContainUserName') &&\r\n this.passwordControl.value &&\r\n !this.isPasswordUsernamePending() &&\r\n !this.isCheckingPasswordUsername;\r\n }\r\n\r\n public isPasswordUsernameInvalid(): boolean {\r\n return this.passwordControl.getError('notContainUserName') &&\r\n this.passwordControl.value &&\r\n !this.isPasswordUsernamePending() &&\r\n !this.isCheckingPasswordUsername;\r\n }\r\n\r\n}\r\n\r\n","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{obj.label}}{{obj.label_2}}, {{obj.label_3}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\napp-string-input input {\\n padding-right: 25px; }\\nbutton.input-icon {\\n position: absolute;\\n right: 0;\\n top: 15px;\\n display: none;\\n cursor: pointer; }\\nbutton.input-icon.show {\\n display: block; }\\nbutton.input-icon.search {\\n width: 20px;\\n height: 20px;\\n color: #00cfff; }\\nbutton.input-icon.search app-svg-icon {\\n display: block;\\n width: 100%;\\n height: 100%; }\\nbutton.input-icon.cross {\\n top: 16px;\\n width: 20px;\\n height: 20px;\\n color: #00cfff;\\n text-align: right; }\\nbutton.input-icon.cross app-svg-icon {\\n display: inline-block;\\n width: 11px;\\n height: 11px; }\\ndiv.list {\\n position: absolute;\\n top: 50px;\\n left: 0;\\n z-index: 1;\\n width: 100%;\\n max-height: 340px;\\n overflow-y: auto;\\n background: #fafafa;\\n border-bottom-right-radius: 10px;\\n border-bottom-left-radius: 10px;\\n -webkit-overflow-scrolling: touch;\\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.13); }\\ndiv.list.hide {\\n display: none !important; }\\ndiv.list ul {\\n display: block; }\\ndiv.list ul li {\\n position: relative;\\n display: block;\\n padding: 10px 16px 10px 45px;\\n color: #050b7f;\\n cursor: pointer;\\n background: #fafafa;\\n transition: background 200ms ease-out; }\\ndiv.list ul li:active {\\n background: #efefef; }\\nhtml.no-touch div.list ul li:hover {\\n background: #efefef; }\\ndiv.list ul li span.main {\\n display: block;\\n font-size: 1em; }\\ndiv.list ul li span.second, div.list ul li span.three {\\n color: #b5b5b5;\\n font-size: 0.75em; }\\ndiv.list ul li:first-child {\\n margin-top: 15px; }\\ndiv.list ul li:last-child {\\n margin-bottom: 30px; }\\ndiv.list ul li:active span, div.list ul li.current span {\\n color: #00cfff; }\\ndiv.list ul li .geolocation {\\n position: absolute;\\n right: 15px;\\n top: 14px;\\n width: 24px;\\n height: 24px;\\n color: #00cfff; }\\ndiv.list ul li .location {\\n position: absolute;\\n left: 18px;\\n top: 10px;\\n color: red;\\n width: 10px;\\n height: 15px; }\\n/*Screen Size : xs*/\\n@media screen and (min-width: 480px) {\\n div.list ul li span.main {\\n font-size: 1.125em; }\\n div.list ul li span.second, div.list ul li span.three {\\n font-size: 0.8em; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zZWxlY3QtYXV0b2NvbXBsZXRlLWFkZHJlc3MvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zZWxlY3QtYXV0b2NvbXBsZXRlLWFkZHJlc3MvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvc2VsZWN0LWF1dG9jb21wbGV0ZS1hZGRyZXNzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvc2VsZWN0LWF1dG9jb21wbGV0ZS1hZGRyZXNzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zZWxlY3QtYXV0b2NvbXBsZXRlLWFkZHJlc3MvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zZWxlY3QtYXV0b2NvbXBsZXRlLWFkZHJlc3MvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3NlbGVjdC1hdXRvY29tcGxldGUtYWRkcmVzcy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFxhcHAtZm9ybXNcXHNlbGVjdC1hdXRvY29tcGxldGUtYWRkcmVzc1xcc2VsZWN0LWF1dG9jb21wbGV0ZS1hZGRyZXNzLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3NlbGVjdC1hdXRvY29tcGxldGUtYWRkcmVzcy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUVRLG9CQUFtQixFQUN0QjtBQUdMO0VBQ0ksbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixVQUFTO0VBQ1QsY0FBYTtFQUViLGdCQUFlLEVBNkJsQjtBQW5DRDtJQVNRLGVBQWMsRUFDakI7QUFWTDtJQWFRLFlBQVc7SUFDWCxhQUFZO0lBQ1osZUNsQmdCLEVEd0JuQjtBQXJCTDtNQWlCWSxlQUFjO01BQ2QsWUFBVztNQUNYLGFBQVksRUFDZjtBQXBCVDtJQXdCUSxVQUFTO0lBQ1QsWUFBVztJQUNYLGFBQVk7SUFDWixlQzlCZ0I7SUQrQmhCLGtCQUFpQixFQU1wQjtBQWxDTDtNQThCWSxzQkFBcUI7TUFDckIsWUFBVztNQUNYLGFBQVksRUFDZjtBQUlUO0VBQ0ksbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxRQUFPO0VBQ1AsV0FBVTtFQUNWLFlBQVc7RUFFWCxrQkFBaUI7RUFDakIsaUJBQWdCO0VBQ2hCLG9CQ3ZDZTtFRHdDZixpQ0FBZ0M7RUFDaEMsZ0NBQStCO0VBQy9CLGtDQUFpQztFQUNqQyw0Q0FBMkMsRUF3RTlDO0FBckZEO0lBZ0JRLHlCQUF3QixFQUMzQjtBQWpCTDtJQW9CUSxlQUFjLEVBZ0VqQjtBQXBGTDtNQXVCWSxtQkFBa0I7TUFDbEIsZUFBYztNQUNkLDZCQUE0QjtNQUM1QixlQ25FTTtNRG9FTixnQkFBZTtNQUNmLG9CQzFETztNRDJEUCxzQ0FBcUMsRUFzRHhDO0FBbkZUO1FBZ0NnQixvQkM3REcsRUQ4RE47QUFHRztRQUNJLG9CQ2xFRCxFRG1FRjtBQXRDakI7UUEwQ2dCLGVBQWM7UUFDZCxlQUFjLEVBRWpCO0FBN0NiO1FBZ0RnQixlQ3pFRztRRDBFSCxrQkFBaUIsRUFDcEI7QUFsRGI7UUFxRGdCLGlCQUFnQixFQUNuQjtBQXREYjtRQXlEZ0Isb0JBQW1CLEVBQ3RCO0FBMURiO1FBOERvQixlQ3RHSSxFRHVHUDtBQS9EakI7UUFtRWdCLG1CQUFrQjtRQUNsQixZQUFXO1FBQ1gsVUFBUztRQUNULFlBQVc7UUFDWCxhQUFZO1FBQ1osZUNoSFEsRURpSFg7QUF6RWI7UUE0RWdCLG1CQUFrQjtRQUNsQixXQUFVO1FBQ1YsVUFBUztRQUNULFdBQVU7UUFDVixZQUFXO1FBQ1gsYUFBWSxFQUNmO0FBS2Isb0JBQW9CO0FGM0RSO0VFNkRSO0lBSWdCLG1CQUFrQixFQUNyQjtFQUxiO0lBUWdCLGlCQUFnQixFQUNuQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zZWxlY3QtYXV0b2NvbXBsZXRlLWFkZHJlc3Mvc2VsZWN0LWF1dG9jb21wbGV0ZS1hZGRyZXNzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuYXBwLXN0cmluZy1pbnB1dCB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICAgIH1cclxufVxyXG5cclxuYnV0dG9uLmlucHV0LWljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDE1cHg7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgLy8gYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICYuc2hvdyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zZWFyY2gge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICBhcHAtc3ZnLWljb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jcm9zcyB7XHJcbiAgICAgICAgdG9wOiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBhcHAtc3ZnLWljb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDExcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5kaXYubGlzdCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwcHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI5MHB4KTtcclxuICAgIG1heC1oZWlnaHQ6IDM0MHB4O1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTEwMCcpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHB4O1xyXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEzKTtcclxuXHJcbiAgICAmLmhpZGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNnB4IDEwcHggNDVweDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5Jyk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktMTAwJyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZS1vdXQ7XHJcblxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS0yMDAnKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbm8tdG91Y2gge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktMjAwJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ubWFpbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgICAgICAgICAgICAgLy9saW5lLWhlaWdodDogMS4yZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4uc2Vjb25kLCBzcGFuLnRocmVlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS02MDAnKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmFjdGl2ZSwgJi5jdXJyZW50IHtcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZ2VvbG9jYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubG9jYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMThweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZWQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLypTY3JlZW4gU2l6ZSA6IHhzKi9cclxuQGluY2x1ZGUgbWluLXdpZHRoKHhzKSB7XHJcbiAgICBkaXYubGlzdCB7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBzcGFuLm1haW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzcGFuLnNlY29uZCwgc3Bhbi50aHJlZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIl19 */\"","import { AppConfigService } from '../../config/app-config.service';\r\nimport { Address } from '../../gmap/address.model';\r\nimport { MapService } from '../../map/map.service';\r\nimport { NgModel } from '@angular/forms';\r\nimport 'rxjs/add/operator/switchMap';\r\nimport 'rxjs/add/operator/debounceTime';\r\nimport 'rxjs/add/operator/distinctUntilChanged';\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport Timer = NodeJS.Timer;\r\nimport {filter} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-select-autocomplete-address',\r\n templateUrl: './select-autocomplete-address.component.html',\r\n styleUrls: ['./select-autocomplete-address.component.scss']\r\n})\r\nexport class SelectAutocompleteAddressComponent implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n public showList: boolean;\r\n public addressesFiltered: Array;\r\n public address: Address;\r\n public addressLabel: string;\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public parentCss: string;\r\n\r\n @Input()\r\n public inputValue: string;\r\n\r\n @Output()\r\n public update = new EventEmitter();\r\n\r\n @ViewChild('inputAddress')\r\n public inputAddress;\r\n\r\n @ViewChild('ngModelAddress')\r\n public ngModelAddress: NgModel;\r\n\r\n public currentLabel: string;\r\n public currentIndex = -1;\r\n public inputActive: boolean;\r\n\r\n private parent: any;\r\n private subscriptionAddress: Subscription;\r\n private timer: Timer = null;\r\n\r\n constructor(private mapService: MapService,\r\n private appConfig: AppConfigService,\r\n private elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.inputValue) {\r\n this.addressLabel = this.inputValue;\r\n }\r\n if (this.parentCss) {\r\n this.parent = document.querySelector('.' + this.parentCss);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.subscriptionAddress = this.ngModelAddress.valueChanges\r\n .pipe(\r\n filter(val => val && this.showList)\r\n )\r\n .debounceTime(300)\r\n .distinctUntilChanged()\r\n .switchMap(search => this.mapService.getAutocompleteAddress(search).toPromise())\r\n .subscribe(results => {\r\n if (results.length) {\r\n this.addressesFiltered = results;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscriptionAddress) {\r\n this.subscriptionAddress.unsubscribe();\r\n }\r\n }\r\n\r\n onKeyDown(event) {\r\n\r\n let nbItems;\r\n switch (event.keyCode) {\r\n /* arrow top */\r\n case 40 :\r\n nbItems = this.addressesFiltered.length;\r\n this.currentIndex = (this.currentIndex < nbItems - 1) ? this.currentIndex + 1 : 0;\r\n break;\r\n /* arrow bottom */\r\n case 38 :\r\n nbItems = this.addressesFiltered.length;\r\n this.currentIndex = (this.currentIndex > 0) ? this.currentIndex - 1 : nbItems - 1;\r\n break;\r\n /* enter */\r\n case 13 :\r\n event.preventDefault();\r\n const currentIndex = (this.currentIndex >= 0) ? this.currentIndex : 0;\r\n\r\n if (this.showList && this.addressesFiltered && this.addressesFiltered.length > currentIndex) {\r\n this.updateAddress(this.addressesFiltered[currentIndex]);\r\n this.inputAddress.nativeElement.value = this.addressLabel;\r\n }\r\n\r\n break;\r\n\r\n default:\r\n this.toggleList();\r\n this.addressChanged(this.inputAddress.nativeElement.value);\r\n }\r\n }\r\n\r\n addressChanged(v) {\r\n this.update.emit(v);\r\n }\r\n\r\n toggleList() {\r\n\r\n this.clearTimer();\r\n\r\n this.showList = this.inputAddress.nativeElement.value.length >= 2;\r\n\r\n }\r\n\r\n hideListTimeOut(time = 200) {\r\n\r\n this.clearTimer();\r\n\r\n this.timer = setTimeout(() => {\r\n this.showList = false;\r\n this.timer = null;\r\n this.inputActive = false;\r\n\r\n }, time);\r\n\r\n }\r\n\r\n onFocusIn() {\r\n\r\n if (this.parent && this.appConfig.isMobile) {\r\n // timeout 500, pour attendre que le clavier soit totalement affiché\r\n const headerHeight = 60;\r\n setTimeout(() => {\r\n this.parent.scrollTop = this.elementRef.nativeElement.offsetTop - headerHeight;\r\n }, 500);\r\n }\r\n }\r\n\r\n clearTimer() {\r\n\r\n if (this.timer !== null) {\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n\r\n }\r\n\r\n startInput() {\r\n\r\n this.clearTimer();\r\n this.currentIndex = -1;\r\n this.showList = false;\r\n this.inputActive = true;\r\n }\r\n\r\n clearInput(event) {\r\n\r\n event.preventDefault();\r\n // event.stopPropagation();\r\n\r\n this.address =
{};\r\n this.addressLabel = '';\r\n this.inputAddress.nativeElement.focus();\r\n\r\n this.startInput();\r\n\r\n this.addressChanged('');\r\n }\r\n\r\n resetInput() {\r\n this.address =
{};\r\n this.addressLabel = '';\r\n }\r\n\r\n updateAddress(obj) {\r\n this.clearTimer();\r\n\r\n this.showList = false;\r\n this.address = obj;\r\n this.addressLabel = this.buildAddressLabel();\r\n this.update.emit(this.addressLabel);\r\n\r\n return false;\r\n }\r\n\r\n buildAddressLabel(): string {\r\n\r\n let str = '';\r\n\r\n if (this.address) {\r\n if (this.address.label) {\r\n str = this.address.label;\r\n }\r\n if (this.address.label_2) {\r\n str += ', ' + this.address.label_2;\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{o.label | translate}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host {\\n position: relative;\\n max-width: 500px;\\n display: block; }\\n.main-input {\\n cursor: pointer; }\\n.pseudo-dom-fix {\\n position: absolute;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n width: 100%;\\n height: 100%;\\n cursor: pointer; }\\nbutton.arrow {\\n position: absolute;\\n right: 0;\\n top: 24px;\\n width: 20px;\\n height: 12px;\\n color: #00cfff;\\n display: block;\\n cursor: pointer; }\\nbutton.arrow app-svg-icon {\\n width: 20px;\\n height: 12px; }\\ndiv.list {\\n position: absolute;\\n top: 49px;\\n left: 0;\\n z-index: 3;\\n width: 100%;\\n max-height: 290px;\\n overflow-y: auto;\\n background: #fafafa;\\n border-bottom-right-radius: 10px;\\n border-bottom-left-radius: 10px;\\n -webkit-overflow-scrolling: touch;\\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.13); }\\ndiv.list ul {\\n display: block; }\\ndiv.list ul li {\\n display: block;\\n padding: 12px 16px 12px 30px;\\n color: #050b7f;\\n cursor: pointer;\\n transition: background 200ms ease-out; }\\ndiv.list ul li:hover, div.list ul li:active {\\n background: #efefef; }\\ndiv.list ul li:first-child {\\n margin-top: 20px; }\\ndiv.list ul li span.main {\\n display: block;\\n font-size: 1.125em; }\\ndiv.list ul li:last-child {\\n margin-bottom: 30px; }\\ndiv.list ul li:active, div.list ul li.current {\\n color: #00cfff; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zZWxlY3QtbWVudS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3NlbGVjdC1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3NlbGVjdC1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvc2VsZWN0LW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3NlbGVjdC1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvc2VsZWN0LW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3NlbGVjdC1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGFwcC1mb3Jtc1xcc2VsZWN0LW1lbnVcXHNlbGVjdC1tZW51LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3NlbGVjdC1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixlQUFjLEVBQ2pCO0FBRUQ7RUFDSSxnQkFBZSxFQUNsQjtBQU1EO0VBQ0ksbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixPQUFNO0VBQ04sUUFBTztFQUNQLFNBQVE7RUFDUixZQUFXO0VBQ1gsYUFBWTtFQUNaLGdCQUFlLEVBQ2xCO0FBRUQ7RUFDSSxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFVBQVM7RUFDVCxZQUFXO0VBQ1gsYUFBWTtFQUNaLGVDNUJvQjtFRDZCcEIsZUFBYztFQUNkLGdCQUFlLEVBTWxCO0FBZEQ7SUFXUSxZQUFXO0lBQ1gsYUFBWSxFQUNmO0FBR0w7RUFDSSxtQkFBa0I7RUFDbEIsVUFBUztFQUNULFFBQU87RUFDUCxXQUFVO0VBQ1YsWUFBVztFQUVYLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsb0JDckNlO0VEc0NmLGlDQUFnQztFQUNoQyxnQ0FBK0I7RUFDL0Isa0NBQWlDO0VBQ2pDLDRDQUEyQyxFQWtDOUM7QUEvQ0Q7SUFnQlEsZUFBYyxFQThCakI7QUE5Q0w7TUFtQlksZUFBYztNQUNkLDZCQUE0QjtNQUM1QixlQzVETTtNRDZETixnQkFBZTtNQUNmLHNDQUFxQyxFQXNCeEM7QUE3Q1Q7UUEwQmdCLG9CQ3JERyxFRHNETjtBQTNCYjtRQThCZ0IsaUJBQWdCLEVBQ25CO0FBL0JiO1FBa0NnQixlQUFjO1FBQ2QsbUJBQWtCLEVBQ3JCO0FBcENiO1FBdUNnQixvQkFBbUIsRUFDdEI7QUF4Q2I7UUEyQ2dCLGVDakZRLEVEa0ZYIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zZWxlY3QtbWVudS9zZWxlY3QtbWVudS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbjpob3N0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLm1haW4taW5wdXQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vLyBmb3JjZXMgaU9TIHRvIHVuZm9jdXMgdGhlIGlucHV0IGFuZCBhbGxvdyB0aGUgbGlzdCB0byBiZSByZW9wZW5lZC5cclxuLy8gVGhpcyBET00gZXZlbnQgdHJpY2sgY2FuJ3QgYmUgcmVwcm9kdWNlIHdpdGggY3NzIHBzZXVkby1lbGVtZW50XHJcbi8vIGNmIDogZG9tIGNvbXBvbmVudFxyXG5cclxuLnBzZXVkby1kb20tZml4IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuYnV0dG9uLmFycm93IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAyNHB4O1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5kaXYubGlzdCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDQ5cHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogMztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy9tYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzc1cHgpO1xyXG4gICAgbWF4LWhlaWdodDogMjkwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktMTAwJyk7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMTMpO1xyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweCAxNnB4IDEycHggMzBweDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5Jyk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlLW91dDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTIwMCcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ubWFpbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YWN0aXZlLCAmLmN1cnJlbnQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiJdfQ== */\"","import { TranslationService } from '../../translation/translation.service';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport Timer = NodeJS.Timer;\r\n\r\n@Component({\r\n selector: 'app-select-menu',\r\n templateUrl: './select-menu.component.html',\r\n styleUrls: ['./select-menu.component.scss']\r\n})\r\nexport class SelectMenuComponent implements OnInit, OnDestroy {\r\n\r\n public showList: boolean;\r\n\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public datas;\r\n\r\n @Input()\r\n public name = 'select';\r\n\r\n @Input()\r\n public currentIndex = -1;\r\n\r\n @Input()\r\n public form: FormGroup;\r\n\r\n @Input()\r\n public selectId: string;\r\n\r\n @Output()\r\n public update = new EventEmitter();\r\n\r\n @Output()\r\n public selectClick = new EventEmitter();\r\n\r\n public currentLabel: string;\r\n public timer: Timer = null;\r\n\r\n constructor(private translationService: TranslationService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.currentIndex >= 0) {\r\n this.updateSelect(this.datas[this.currentIndex], this.currentIndex);\r\n }\r\n }\r\n\r\n updateSelect(obj, index) {\r\n this.translationService.translate(obj.label).subscribe(\r\n translation => {\r\n this.currentLabel = translation;\r\n this.currentIndex = index;\r\n this.update.emit(obj);\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.currentLabel = null;\r\n this.currentIndex = -1;\r\n }\r\n\r\n resetSelect() {\r\n this.currentLabel = null;\r\n this.currentIndex = -1;\r\n }\r\n\r\n onFocusOut(time = 200) {\r\n this.clearTimer();\r\n\r\n this.timer = setTimeout(() => {\r\n this.showList = false;\r\n this.timer = null;\r\n\r\n }, time);\r\n }\r\n\r\n onClick() {\r\n this.showList = !this.showList;\r\n this.selectClick.emit(this.selectId);\r\n }\r\n\r\n clearTimer() {\r\n\r\n if (this.timer !== null) {\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n\r\n }\r\n}\r\n","module.exports = \"
\\r\\n {{'global-generic_terms-cancel'| translate}}\\r\\n {{'global-generic_terms-save'| translate}}\\r\\n
\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.container {\\n position: absolute;\\n background-color: #00cfff;\\n width: 100%;\\n max-width: 710px;\\n height: 55px;\\n padding: 0 45px; }\\n.container span {\\n color: #FFFFFF;\\n font-weight: 700;\\n font-size: 0.875em;\\n line-height: 55px;\\n cursor: pointer; }\\n.container .register {\\n float: right; }\\n@media screen and (min-width: 980px) {\\n .container {\\n padding: 0 90px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zdGlja3ktaGVhZGVyLWZvcm0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zdGlja3ktaGVhZGVyLWZvcm0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvc3RpY2t5LWhlYWRlci1mb3JtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvc3RpY2t5LWhlYWRlci1mb3JtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zdGlja3ktaGVhZGVyLWZvcm0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zdGlja3ktaGVhZGVyLWZvcm0vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3N0aWNreS1oZWFkZXItZm9ybS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFxhcHAtZm9ybXNcXHN0aWNreS1oZWFkZXItZm9ybVxcc3RpY2t5LWhlYWRlci1mb3JtLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3N0aWNreS1oZWFkZXItZm9ybS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvc3RpY2t5LWhlYWRlci1mb3JtL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxtQkFBa0I7RUFDbEIsMEJDQ29CO0VEQXBCLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsYUpnQzRCO0VJOUI1QixnQkFBZSxFQWFsQjtBQXBCRDtJQVVRLGVDQ1E7SURBUixpQkVtQm1CO0lGbEJuQixtQkFBa0I7SUFDbEIsa0JKd0J3QjtJSXZCeEIsZ0JBQWUsRUFDbEI7QUFmTDtJQWtCUSxhQUFZLEVBQ2Y7QUZvRE87RUVoRFI7SUFDSSxnQkFBZSxFQUNsQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zdGlja3ktaGVhZGVyLWZvcm0vc3RpY2t5LWhlYWRlci1mb3JtLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvdGhlbWUtaW1wb3J0c1wiO1xyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDcxMHB4O1xyXG4gICAgaGVpZ2h0OiAkc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDtcclxuXHJcbiAgICBwYWRkaW5nOiAwIDQ1cHg7XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAucmVnaXN0ZXIge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWluLXdpZHRoKG0pIHtcclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgOTBweDtcclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiQGltcG9ydCAndmFycyc7XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJHBhdGgsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICBzcmMgOiB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICB9XHJcblxyXG59XHJcblxyXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XHJcbiAgJHJlbVNpemU6ICRzaXplIC8gMTZweDtcclxuICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA4MDA7XHJcbiJdfQ== */\"","import { Component } from '@angular/core';\r\nimport { StickyHeaderFormService } from '../../../shared/ui/sticky-header-form.service';\r\n\r\n@Component({\r\n selector: 'app-sticky-header-form',\r\n templateUrl: './sticky-header-form.component.html',\r\n styleUrls: ['./sticky-header-form.component.scss']\r\n})\r\nexport class StickyHeaderFormComponent {\r\n\r\n constructor(public stickyHeaderFormService: StickyHeaderFormService) {\r\n }\r\n\r\n}\r\n","module.exports = \"
0) || active \\\" (focusin)=\\\"onFocusIn()\\\">\\r\\n \\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host[required] .placeholder::after {\\n content: \\\"*\\\";\\n color: #f22f3b;\\n font-size: 25px;\\n margin-left: 5px; }\\n.string-input {\\n position: relative;\\n padding-top: 1.25em;\\n margin: 0 auto;\\n font-size: 1em; }\\n.string-input .placeholder {\\n position: absolute;\\n top: 20px;\\n left: 0;\\n font-size: 1em;\\n color: #7e7e7e;\\n white-space: nowrap;\\n cursor: text;\\n transition: top 150ms ease, font-size 200ms ease; }\\n.string-input.has-value ::ng-deep input[type=\\\"date\\\"]::-webkit-datetime-edit,\\n .string-input.has-value ::ng-deep input[type=\\\"time\\\"]::-webkit-datetime-edit {\\n color: inherit; }\\n.string-input.has-value .placeholder {\\n top: 0;\\n font-size: 0.6875em;\\n cursor: default; }\\n.string-input ::ng-deep input, .string-input ::ng-deep textarea {\\n border: none;\\n border-bottom: 1px solid #00cfff;\\n outline: none;\\n padding-bottom: 15px;\\n font-size: 1em;\\n width: 100%;\\n color: #050b7f;\\n margin-bottom: 1px;\\n margin-top: 8px; }\\n.string-input ::ng-deep input:focus, .string-input ::ng-deep textarea:focus {\\n border-bottom-width: 2px;\\n margin-bottom: 0; }\\n.string-input ::ng-deep input:focus ~ .placeholder, .string-input ::ng-deep textarea:focus ~ .placeholder {\\n top: 0;\\n font-size: 0.6875em; }\\n.string-input ::ng-deep input[type=\\\"date\\\"]:focus::-webkit-datetime-edit,\\n .string-input ::ng-deep input[type=\\\"time\\\"]:focus::-webkit-datetime-edit {\\n color: inherit; }\\n.string-input ::ng-deep input[type=\\\"date\\\"]::-webkit-datetime-edit,\\n .string-input ::ng-deep input[type=\\\"time\\\"]::-webkit-datetime-edit {\\n color: transparent; }\\n.string-input .button-container {\\n position: absolute;\\n right: 0;\\n top: 0.9em; }\\n.string-input.inverted-xs .placeholder {\\n color: #b5b5b5; }\\n.string-input.inverted-xs ::ng-deep input {\\n border-bottom: 1px solid #00cfff;\\n color: #050b7f; }\\n@media screen and (min-width: 980px) {\\n .string-input.inverted-xs .placeholder {\\n color: #b5b5b5; }\\n .string-input.inverted-xs ::ng-deep input {\\n border-bottom: 1px solid #00cfff;\\n color: #050b7f; } }\\n/*Screen Size : xs*/\\n@media screen and (min-width: 480px) {\\n .string-input {\\n padding-top: 16px;\\n font-size: 1.125em; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zdHJpbmctaW5wdXQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zdHJpbmctaW5wdXQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvc3RyaW5nLWlucHV0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvc3RyaW5nLWlucHV0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zdHJpbmctaW5wdXQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zdHJpbmctaW5wdXQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3N0cmluZy1pbnB1dC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFxhcHAtZm9ybXNcXHN0cmluZy1pbnB1dFxcc3RyaW5nLWlucHV0LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLWZvcm1zL3N0cmluZy1pbnB1dC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtZm9ybXMvc3RyaW5nLWlucHV0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBRUksYUFBWTtFQUNaLGVDcUJhO0VEcEJiLGdCQUFlO0VBQ2YsaUJBQWdCLEVBQ2pCO0FBR0g7RUFDRSxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBR25CLGVBQWM7RUFFZCxlRXdHZ0MsRUZmakM7QUFoR0Q7SUFVSSxtQkFBa0I7SUFDbEIsVUFBUztJQUNULFFBQU87SUFDUCxlQUFjO0lBRWQsZUNMZTtJRE9mLG9CQUFtQjtJQUNuQixhQUFZO0lBRVosaURBQWdELEVBQ2pEO0FBckJIOztJQTRCUSxlQUFjLEVBQ2Y7QUE3QlA7SUFpQ00sT0FBTTtJQUNOLG9CRTZFNEI7SUY1RTVCLGdCQUFlLEVBQ2hCO0FBcENMO0lBd0NJLGFBQVk7SUFDWixpQ0MvQ29CO0lEZ0RwQixjQUFhO0lBRWIscUJBQW9CO0lBRXBCLGVBQWM7SUFFZCxZQUFXO0lBRVgsZUN6RGM7SUQyRGQsbUJBQWtCO0lBQ2xCLGdCQUFlLEVBV2hCO0FBaEVIO01Bd0RNLHlCQUF3QjtNQUN4QixpQkFBZ0IsRUFNakI7QUEvREw7UUE0RFEsT0FBTTtRQUNOLG9CRWtEMEIsRUZqRDNCO0FBOURQOztJQXVFUSxlQUFjLEVBQ2Y7QUF4RVA7O0lBMkVRLG1CQUFrQixFQUNuQjtBQTVFUDtJQWlGSSxtQkFBa0I7SUFDbEIsU0FBUTtJQUNSLFdBQVUsRUFDWDtBQXBGSDtJQXdGTSxlQy9FYSxFRGdGZDtBQXpGTDtJQTRGTSxpQ0NsR2tCO0lEbUdsQixlQ3BHWSxFRHFHYjtBRmhDTztFRXFDVjtJQUdNLGVDN0ZXLEVEOEZaO0VBSkw7SUFPTSxpQ0NoSGdCO0lEaUhoQixlQ2xIVSxFRG1IWCxFQUFBO0FBS1Asb0JBQW9CO0FGbkRSO0VFcURWO0lBQ0Usa0JBQWlCO0lBQ2pCLG1CRU44QixFRk8vQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1mb3Jtcy9zdHJpbmctaW5wdXQvc3RyaW5nLWlucHV0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuOmhvc3RbcmVxdWlyZWRdIHtcclxuICAucGxhY2Vob2xkZXI6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiKlwiO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdkYW5nZXInKTtcclxuICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4uc3RyaW5nLWlucHV0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZy10b3A6IDEuMjVlbTtcclxuXHJcbiAgLy9tYXgtd2lkdGg6ICRtYXgtaW5wdXQtd2lkdGg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gIGZvbnQtc2l6ZTogZW0oMTZweCk7XHJcblxyXG4gIC5wbGFjZWhvbGRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcblxyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTcwMCcpO1xyXG5cclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBjdXJzb3I6IHRleHQ7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogdG9wIDE1MG1zIGVhc2UsIGZvbnQtc2l6ZSAyMDBtcyBlYXNlO1xyXG4gIH1cclxuXHJcbiAgJi5oYXMtdmFsdWUge1xyXG4gICAgLy8gV2hlbiBhIHZhbHVlIGlzIHByZXNlbnQsIG92ZXJyaWRlIHRoZSB1bmZvY3VzZWQgc3R5bGVzIHByZXNlbnQgYmVsb3dcclxuICAgIDo6bmctZGVlcCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuICAgIDo6bmctZGVlcCBpbnB1dFt0eXBlPVwidGltZVwiXSB7XHJcbiAgICAgICY6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGxhY2Vob2xkZXIge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTFweCk7XHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYgOjpuZy1kZWVwIGlucHV0LCA6Om5nLWRlZXAgdGV4dGFyZWEge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG5cclxuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG5cclxuICAgIG1hcmdpbi1ib3R0b206IDFweDsgLy8gY29tcGVuc2F0ZSBmb3IgMnB4IGJvcmRlciBvbiBmb2N1c1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgICAmIH4gLnBsYWNlaG9sZGVyIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMXB4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJiA6Om5nLWRlZXAge1xyXG4gICAgLy8gV2hlbiBhIGRhdGUgb3IgdGltZSBpcyBub3QgZm9jdXNlZCwgaXQgc2hvdWRsbid0IHNob3cgaXQncyBwYXR0ZXJuLiBPbmx5IGRpc3BsYXkuXHJcbiAgICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdIHtcclxuICAgICAgJjpmb2N1czo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcclxuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDAuOWVtO1xyXG4gIH1cclxuXHJcbiAgJi5pbnZlcnRlZC14cyB7XHJcbiAgICAucGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktNjAwJyk7XHJcbiAgICB9XHJcblxyXG4gICAgOjpuZy1kZWVwIGlucHV0IHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWluLXdpZHRoKG0pIHtcclxuICAuc3RyaW5nLWlucHV0IHtcclxuICAgICYuaW52ZXJ0ZWQteHMge1xyXG4gICAgICAucGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS02MDAnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgOjpuZy1kZWVwIGlucHV0IHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnknKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypTY3JlZW4gU2l6ZSA6IHhzKi9cclxuQGluY2x1ZGUgbWluLXdpZHRoKHhzKSB7XHJcbiAgLnN0cmluZy1pbnB1dCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcclxuICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgfVxyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iXX0= */\"","import { Component, ContentChild, ElementRef, Host, Input, Optional } from '@angular/core';\r\nimport { FormGroupDirective, NgControl, NgForm, NgModel } from '@angular/forms';\r\nimport { AppConfigService } from '../../config/app-config.service';\r\n\r\n@Component({\r\n selector: 'app-string-input',\r\n templateUrl: './string-input.component.html',\r\n styleUrls: ['./string-input.component.scss']\r\n})\r\nexport class StringInputComponent {\r\n /**\r\n * Placeholder acts as a label and in most cases a placeholder. When the input receives focus it moves above the field.\r\n */\r\n @Input()\r\n public placeholder: string;\r\n\r\n @Input()\r\n public active: boolean;\r\n\r\n @Input()\r\n public requiredError: string;\r\n\r\n @Input()\r\n public invertedXs: boolean;\r\n\r\n /*\r\n\r\n Bind either content children below\r\n\r\n */\r\n\r\n @ContentChild(NgModel)\r\n public inputModel: NgModel;\r\n\r\n @ContentChild(NgControl)\r\n public inputControl: NgControl;\r\n\r\n constructor(public appConfig: AppConfigService,\r\n public elementRef: ElementRef,\r\n @Host() @Optional() private ngForm: NgForm, // get form from parent component\r\n @Host() @Optional() private formGroupDir: FormGroupDirective // get form from parent component\r\n ) {\r\n\r\n }\r\n\r\n /**\r\n * Get either the content as an input or a ng-model depending on the type of form we are using\r\n * @returns {NgControl|NgModel}\r\n */\r\n public get input() {\r\n return this.inputControl || this.inputModel;\r\n }\r\n\r\n get form() {\r\n return this.ngForm || this.formGroupDir;\r\n }\r\n\r\n onFocusIn() {\r\n\r\n // On Android, scroll not to hide the input behind the keyboard\r\n if (this.appConfig.isMobile && !this.appConfig.isIos) {\r\n const headerHeight = 60;\r\n // First scrollable parent\r\n const parent = this.getScrollableParent(this.elementRef.nativeElement);\r\n if (parent) {\r\n const that = this;\r\n // We have to name the function in order to remove the listener once it's done\r\n const scrollInputToTop = function () {\r\n setTimeout(() => {\r\n // Target\r\n let scrollTo = parent.scrollTop - parent.getBoundingClientRect().top +\r\n that.elementRef.nativeElement.getBoundingClientRect().top - headerHeight;\r\n // Max possible scroll\r\n const scrollMax = parent.scrollHeight - parent.clientHeight;\r\n scrollTo = scrollTo > scrollMax ? scrollMax : scrollTo;\r\n that.smoothScrollTo(parent, scrollTo, 250);\r\n this.removeEventListener('resize', scrollInputToTop);\r\n }, 10);\r\n };\r\n\r\n\r\n window.addEventListener('resize', scrollInputToTop);\r\n }\r\n }\r\n }\r\n\r\n private getScrollableParent(node) {\r\n if (node == null) {\r\n return null;\r\n }\r\n if (!node || !node.nodeType || node instanceof HTMLDocument) {\r\n return null;\r\n }\r\n const overflow = window.getComputedStyle(node).overflowY;\r\n const isScrollable = (overflow !== 'visible') && (overflow !== 'hidden');\r\n if (node.scrollHeight > node.clientHeight && isScrollable) {\r\n return node;\r\n } else {\r\n return this.getScrollableParent(node.parentNode);\r\n }\r\n }\r\n\r\n private smoothScrollTo(element, to, duration) {\r\n const start = element.scrollTop;\r\n const change = to - start;\r\n let currentTime = 0;\r\n const increment = 20;\r\n\r\n const animateScroll = (() => {\r\n currentTime += increment;\r\n const val = this.easeInOutQuad(currentTime, start, change, duration);\r\n element.scrollTop = val;\r\n if (currentTime < duration) {\r\n setTimeout(animateScroll, increment);\r\n }\r\n });\r\n animateScroll();\r\n }\r\n\r\n private easeInOutQuad(t, b, c, d) {\r\n t /= d / 2;\r\n if (t < 1) {\r\n return c / 2 * t * t + b;\r\n }\r\n t--;\r\n return -c / 2 * (t * (t - 2) - 1) + b;\r\n }\r\n\r\n}\r\n","import { Directive } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';\r\n\r\nexport function validateCustomEmail(control: AbstractControl): ValidationErrors | null {\r\n /* tslint:disable:max-line-length */\r\n const emailRegex = /(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-zA-Z0-9*](?:[a-zA-Z0-9-*]*[a-zA-Z0-9*])?\\.)+[a-zA-Z0-9*](?:[a-zA-Z0-9-*]*[a-zA-Z0-9*])?|\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\r\n return emailRegex.test(control.value) ? null : { email: true };\r\n}\r\n\r\n@Directive({\r\n selector: '[customEmail]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: CustomEmailValidatorDirective, multi: true }],\r\n})\r\nexport class CustomEmailValidatorDirective implements Validator {\r\n validate: ValidatorFn = validateCustomEmail;\r\n}\r\n","import { ValidatorFn, Validators } from '@angular/forms';\r\nimport { validateSecurePassword } from './password.validator';\r\nimport { validateCustomEmail } from './custom-email.validator';\r\n\r\nexport class CustomValidators extends Validators {\r\n static securePassword: ValidatorFn = validateSecurePassword;\r\n static customEmail: ValidatorFn = validateCustomEmail;\r\n}\r\n","import { AbstractControl } from '@angular/forms';\r\n\r\n\r\nexport class DateValidator {\r\n\r\n static simple = function (control: AbstractControl) {\r\n try {\r\n const d = new Date(control.value);\r\n // let now = new Date();\r\n // return null; //true ? null : {email : 'global-generic_terms-error_invalid_email' };\r\n } catch (e) {\r\n return {date: 'global-generic_terms-error_invalid_date'};\r\n }\r\n };\r\n\r\n static isFuture = function (control: AbstractControl) {\r\n try {\r\n const d = new Date(control.value);\r\n const now = new Date();\r\n return d >= now ? null : {date: 'errormessage_date_anterior'};\r\n } catch (e) {\r\n return {date: 'global-generic_terms-error_invalid_date'};\r\n }\r\n };\r\n\r\n static isPast = function (control: AbstractControl) {\r\n try {\r\n const d = new Date(control.value);\r\n const now = new Date();\r\n return d <= now ? null : {date: 'errormessage_date_posterior'};\r\n } catch (e) {\r\n return {date: 'global-generic_terms-error_invalid_date'};\r\n }\r\n };\r\n\r\n}\r\n","import { AbstractControl } from '@angular/forms';\r\n\r\n\r\nexport class EmailValidator {\r\n\r\n static simple = function (control: AbstractControl) {\r\n return /[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]+/i.test(control.value) ? null : {email: 'global-generic_terms-error_invalid_email'};\r\n };\r\n\r\n}\r\n","import { finalize, switchMap, catchError } from 'rxjs/operators';\r\nimport { UserService } from 'app/shared/user/user.service';\r\nimport { AbstractControl, AsyncValidatorFn, ValidationErrors } from '@angular/forms';\r\nimport { Observable, of } from 'rxjs';\r\n\r\nexport function passwordUserNameValidator(userService: UserService, token: string = null): AsyncValidatorFn {\r\n return (control: AbstractControl): Observable | null => {\r\n userService.isCheckingPasswordUsername.next(true);\r\n const validatePasswordRequest = token ?\r\n userService.validatePassword(token, control.value) :\r\n userService.validatePasswordAuthenticated(control.value);\r\n\r\n return validatePasswordRequest.pipe(\r\n switchMap((isPasswordValidated) => {\r\n return isPasswordValidated ? of(null) : of({ notContainUserName: true });\r\n }),\r\n catchError(() => of({ notContainUserName: true })),\r\n finalize(() => userService.isCheckingPasswordUsername.next(false)),\r\n );\r\n };\r\n}\r\n","import { Directive } from '@angular/core';\r\nimport { NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn, AbstractControl } from '@angular/forms';\r\n\r\nexport const PasswordRulesRegex = {\r\n minCharacters: /.{6,}/,\r\n minOneDigitCharacter: /(?=.*?[0-9])/,\r\n minOneSpecialCharacter: /(?=.*?[~!@#$%^&*_\\-+=`|\\(){}[\\]\\:;\"'<>,.?\\/])/,\r\n minOneUppercase: /(?=.*?[A-Z])/,\r\n minOneLowercase: /(?=.*?[a-z])/,\r\n};\r\n\r\n\r\nexport function validateSecurePassword(control: AbstractControl): ValidationErrors | null {\r\n const validationErrors: ValidationErrors = {};\r\n for (const ruleName in PasswordRulesRegex) {\r\n if (!PasswordRulesRegex[ruleName].test(control.value)) {\r\n validationErrors[ruleName] = true;\r\n }\r\n }\r\n\r\n if (Object.keys(validationErrors).some(ruleName => validationErrors[ruleName])) {\r\n return validationErrors;\r\n }\r\n\r\n return null;\r\n}\r\n\r\n@Directive({\r\n selector: '[securePassword]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: PasswordValidatorDirective, multi: true }],\r\n})\r\nexport class PasswordValidatorDirective implements Validator {\r\n validate: ValidatorFn = validateSecurePassword;\r\n}\r\n","import { AbstractControl } from '@angular/forms';\r\n\r\n\r\nexport class PhoneValidator {\r\n\r\n static simple = function (control: AbstractControl) {\r\n return /^((\\+[0-9]+)|(\\([0-9]+\\))|([0-9]+))([0-9]*([\\- ][0-9])?)*$/i.test(control.value) ? null : {tel: 'global-generic_terms-error_invalid_phone'};\r\n };\r\n\r\n static optionalSimple = function (control: AbstractControl) {\r\n if (!control.value || control.value === '') {\r\n return null;\r\n }\r\n return /^((\\+[0-9]+)|(\\([0-9]+\\))|([0-9]+))([0-9]*([\\- ][0-9])?)*$/i.test(control.value) ? null : {tel: 'global-generic_terms-error_invalid_phone'};\r\n };\r\n\r\n}\r\n","import { ValidationErrors, AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function sameAsValidator(otherControl: AbstractControl): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n\r\n if (control && otherControl) {\r\n if (control.value !== otherControl.value) {\r\n return { confirmedPassword: true };\r\n }\r\n }\r\n return null;\r\n };\r\n}\r\n","import { TranslateModule } from '@ngx-translate/core';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UserMenuComponent } from './user-menu/user-menu.component';\r\nimport { SvgIconModule } from '../svg-icon/svg-icon.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { PipesModule } from '../pipes/pipes.module';\r\nimport { CustomRouterLinkActiveModule } from 'app/shared/directives/custom-router-link-active/custom-router-link-active.module';\r\nimport { HeaderMenuComponent } from './header-menu/header-menu.component';\r\nimport { MorePersonalInformationComponent } from './more-personal-information/more-personal-information.component';\r\nimport { StickyHeaderModule } from '../sticky-header/sticky-header.module';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { AppFormsModule } from '../app-forms/app-forms.module';\r\nimport { MoreResetPasswordComponent } from './more-reset-password/more-reset-password.component';\r\nimport { SvgInlineModule } from '../svg-inline/svg-inline.module';\r\nimport { MobileMenuComponent } from './mobile-menu/mobile-menu.component';\r\nimport { ClickOutsideDirective } from '../directives/click-outside/click-outside.directive';\r\nimport { MyPreferencesComponent } from './my-preferences/my-preferences.component';\r\nimport { MyAldUiModule } from '../ui/myald-ui/myald-ui.module';\r\nimport { MaterialModule } from '../ui/material/material.module';\r\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SvgIconModule,\r\n RouterModule,\r\n PipesModule,\r\n TranslateModule,\r\n CustomRouterLinkActiveModule,\r\n StickyHeaderModule,\r\n ReactiveFormsModule,\r\n AppFormsModule,\r\n SvgInlineModule,\r\n MyAldUiModule,\r\n MaterialModule,\r\n MatSlideToggleModule\r\n ],\r\n declarations: [\r\n UserMenuComponent,\r\n HeaderMenuComponent,\r\n MorePersonalInformationComponent,\r\n MoreResetPasswordComponent,\r\n ClickOutsideDirective,\r\n MobileMenuComponent,\r\n MyPreferencesComponent,\r\n ],\r\n exports: [\r\n UserMenuComponent,\r\n HeaderMenuComponent,\r\n MobileMenuComponent\r\n ]\r\n})\r\nexport class AppMenuModule {\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n {{'global-header_menu-assistance'| translate}}\\r\\n \\r\\n
\\r\\n\\r\\n 1\\\">\\r\\n
\\r\\n
\\r\\n

{{selectedLanguage | cultureName | translate}}

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{language.codeLanguage | cultureName | translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{'global-header_menu-my_profile'| translate}}\\r\\n \\r\\n\\r\\n \\r\\n {{'global-header_menu-manage-cookies-preferences'| translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{'more-main_menu-myald_manager'| translate}}\\r\\n \\r\\n \\r\\n \\r\\n {{'global-header_menu-logout'| translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.top-nav {\\n position: fixed;\\n z-index: 3;\\n width: 30%;\\n right: 35px;\\n top: 5px;\\n text-align: right; }\\n@media screen and (max-width: 980px) {\\n .top-nav {\\n width: 60%;\\n top: 7px;\\n right: 10px;\\n z-index: 5; } }\\n.top-nav-item {\\n display: inline-block;\\n vertical-align: middle; }\\n.action {\\n width: auto;\\n min-width: 100px;\\n line-height: 3.1em;\\n font-size: 0.8em;\\n border-radius: 6px;\\n border: none;\\n font-weight: 700;\\n text-align: center;\\n text-decoration: none;\\n cursor: pointer;\\n margin: 3px;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n.action-assistance {\\n background-color: #5e4fea;\\n color: #FFFFFF; }\\n@media screen and (max-width: 980px) {\\n .action-assistance {\\n color: transparent;\\n font-size: 0;\\n min-width: 32px;\\n min-height: 32px;\\n display: inline-block;\\n line-height: 32px; } }\\n.action-assistance-icon {\\n display: none; }\\n@media screen and (max-width: 980px) {\\n .action-assistance-icon {\\n display: inline-block;\\n vertical-align: middle;\\n width: 20px;\\n height: 20px; } }\\n.action-assistance-icon ::ng-deep svg {\\n fill: white;\\n max-width: 25px; }\\n.dropdown {\\n background-color: white;\\n border-radius: 6px;\\n position: relative;\\n font-weight: 700;\\n border: 1px solid rgba(0, 0, 0, 0.06); }\\n@media screen and (max-width: 980px) {\\n .dropdown {\\n background-color: rgba(128, 128, 128, 0.129412); } }\\n.dropdown.language {\\n margin-right: 5px; }\\n.dropdown-label, .dropdown-icon, .dropdown-arrow {\\n display: inline-block;\\n vertical-align: middle; }\\n.dropdown-trigger {\\n cursor: pointer;\\n padding: 7px 10px;\\n min-height: 20px;\\n line-height: 20px; }\\n@media screen and (max-width: 980px) {\\n .dropdown-trigger {\\n padding: 5px 7px; } }\\n.dropdown-arrow {\\n padding-left: 5px; }\\n.dropdown-content {\\n visibility: hidden;\\n opacity: 0;\\n border-radius: 6px;\\n position: absolute;\\n top: 110%;\\n min-width: 130px;\\n right: 0;\\n text-align: left;\\n background-color: white;\\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);\\n display: inline-block;\\n transition: opacity .2s ease; }\\n.dropdown-content.active {\\n visibility: visible;\\n opacity: 1; }\\n.dropdown-item {\\n width: 100%;\\n cursor: pointer;\\n display: inline-block;\\n padding: 12px 15px;\\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\\n transition: background-color .2s ease; }\\n.dropdown-item:last-child {\\n border-bottom: none; }\\n.dropdown-item:hover {\\n background-color: rgba(0, 0, 0, 0.08); }\\n.dropdown-item a {\\n text-decoration: none;\\n color: #050b7f; }\\n.dropdown-label {\\n display: inline-block;\\n font-size: 14px; }\\n@media screen and (max-width: 980px) {\\n .dropdown-label {\\n font-size: 12px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L2hlYWRlci1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9oZWFkZXItbWVudS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L2hlYWRlci1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9oZWFkZXItbWVudS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9oZWFkZXItbWVudS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvaGVhZGVyLW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvaGVhZGVyLW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXHNoYXJlZFxcYXBwLW1lbnVcXGhlYWRlci1tZW51XFxoZWFkZXItbWVudS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L2hlYWRlci1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksZ0JBQWU7RUFDZixXQUFVO0VBQ1YsV0FBVTtFQUNWLFlBQVc7RUFDWCxTQUFRO0VBQ1Isa0JBQWdCLEVBWW5CO0FGd0VXO0lFMUZaO01BUVEsV0FBVTtNQUNWLFNBQVE7TUFDUixZQUFXO01BQ1gsV0FBVSxFQU9qQixFQUFBO0FBSkc7SUFDSSxzQkFBcUI7SUFDckIsdUJBQXNCLEVBQ3pCO0FBR0w7RUFDSSxZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQixnQkFBZTtFQUNmLFlBQVc7RUFDWCw4Q0FBNkMsRUEyQmhEO0FBekJHO0lBQ0ksMEJDL0JZO0lEZ0NaLGVBQWMsRUFzQmpCO0FGZ0NPO01FeERSO1FBSVEsbUJBQWtCO1FBQ2xCLGFBQVk7UUFDWixnQkFBZTtRQUNmLGlCQUFnQjtRQUNoQixzQkFBcUI7UUFDckIsa0JBQWlCLEVBZXhCLEVBQUE7QUFiRztNQUNJLGNBQVksRUFXZjtBRmlDRztRRTdDSjtVQUdRLHNCQUFxQjtVQUNyQix1QkFBc0I7VUFDdEIsWUFBVztVQUNYLGFBQVksRUFNbkIsRUFBQTtBQVpBO1FBU08sWUFBVztRQUNYLGdCQUFlLEVBQ2xCO0FBS2I7RUFDSSx3QkFBdUI7RUFDdkIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsc0NBQXFDLEVBMEV4QztBRmxEVztJRTdCWjtNQVFRLGdEQUEwRCxFQXVFakUsRUFBQTtBQS9FRDtJQVlRLGtCQUFpQixFQUNwQjtBQUVEO0lBQ0ksc0JBQXFCO0lBQ3JCLHVCQUFzQixFQUN6QjtBQUVEO0lBQ0ksZ0JBQWU7SUFDZixrQkFBaUI7SUFDakIsaUJBQWdCO0lBQ2hCLGtCQUFpQixFQUlwQjtBRkNPO01FVFI7UUFNUSxpQkFBZ0IsRUFFdkIsRUFBQTtBQUVEO0lBQ0ksa0JBQWlCLEVBQ3BCO0FBQ0Q7SUFDSSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLG1CQUFrQjtJQUNsQixtQkFBa0I7SUFDbEIsVUFBUztJQUNULGlCQUFnQjtJQUNoQixTQUFRO0lBQ1IsaUJBQWdCO0lBQ2hCLHdCQUF1QjtJQUN2QiwyQ0FBdUM7SUFDdkMsc0JBQW9CO0lBQ3BCLDZCQUE0QixFQUsvQjtBQWpCQTtNQWNPLG9CQUFtQjtNQUNuQixXQUFVLEVBQ2I7QUFFTDtJQUNJLFlBQVc7SUFDWCxnQkFBZTtJQUNmLHNCQUFxQjtJQUNyQixtQkFBa0I7SUFDbEIsNENBQXdDO0lBQ3hDLHNDQUFxQyxFQVl4QztBQWxCQTtNQVFPLG9CQUFtQixFQUN0QjtBQVRKO01BV08sc0NBQWtDLEVBQ3JDO0FBWko7TUFlTyxzQkFBcUI7TUFDckIsZUFBYyxFQUNqQjtBQUVMO0lBQ0ksc0JBQXFCO0lBQ3JCLGdCQUFlLEVBS2xCO0FGaERPO01FeUNSO1FBS1EsZ0JBQWUsRUFFdEIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9oZWFkZXItbWVudS9oZWFkZXItbWVudS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL3RoZW1lLWltcG9ydHNcIjtcclxuXHJcbi50b3AtbmF2IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICB3aWR0aDogMzAlO1xyXG4gICAgcmlnaHQ6IDM1cHg7XHJcbiAgICB0b3A6IDVweDtcclxuICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgobSkge1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgdG9wOiA3cHg7XHJcbiAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgIH1cclxuXHJcbiAgICAmLWl0ZW17XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY3Rpb24ge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMuMWVtO1xyXG4gICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW46IDNweDtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcclxuXHJcbiAgICAmLWFzc2lzdGFuY2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdzZWNvbmRhcnknKTtcclxuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgICAgICBAaW5jbHVkZSBtYXgtd2lkdGgobSkge1xyXG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAzMnB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWljb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1heC13aWR0aChtKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOjpuZy1kZWVwIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRyb3Bkb3duIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcblxyXG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoKG0pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuMTI5NDExNzY0NzA1ODgyMzcpO1xyXG4gICAgfVxyXG5cclxuICAgICYubGFuZ3VhZ2Uge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgICYtbGFiZWwsICYtaWNvbiwgJi1hcnJvd3tcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICAmLXRyaWdnZXJ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDdweCAxMHB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgbWF4LXdpZHRoKG0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1hcnJvd3tcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgIH1cclxuICAgICYtY29udGVudHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTEwJTtcclxuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IDAgcmdiYSgwLDAsMCwwLjEpO1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2U7XHJcbiAgICAgICAgJi5hY3RpdmV7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1pdGVte1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCAxNXB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZTtcclxuICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4wOCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogIzA1MGI3ZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWxhYmVse1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1heC13aWR0aChtKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iXX0= */\"","import { Component , OnInit} from '@angular/core';\r\nimport ModalCode from '../../modal-box/ModalCode';\r\nimport { ModalService } from '../../ui/modal.service';\r\nimport { AppStorageService } from '../../storage/common/app-storage.service';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { ConfigurationService } from '../../config/configuration.service';\r\nimport { TranslationService } from '../../translation/translation.service';\r\nimport { TranslationStorageService } from '../../storage/translation/translation-storage.service';\r\nimport { contractsContainsStatusOfType } from '../../../driver/shared/contract/contract-status.helper';\r\nimport { ContractConsolidatedStatusType } from '../../../driver/shared/contract/contract-status.const';\r\nimport { DriverService } from '../../../driver/shared/driver.service';\r\nimport { Router } from '@angular/router';\r\nimport { UserManagementService } from '../../user/userManagement.service';\r\nimport { PreferencesModel } from '../my-preferences/preferences.model';\r\nimport { FeedService } from '../../../feed/shared/feed.service';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\nimport { UserService } from 'app/shared/user/user.service';\r\nimport { AppConfigService } from 'app/shared/config/app-config.service';\r\nimport { ConfigurationModel } from 'app/shared/config/configuration.model';\r\nimport { AuthStorageService } from 'app/shared/storage/auth/auth-storage.service';\r\n\r\n@Component({\r\n selector: 'app-header-menu',\r\n templateUrl: './header-menu.component.html',\r\n styleUrls: ['./header-menu.component.scss']\r\n})\r\nexport class HeaderMenuComponent implements OnInit {\r\n\r\n public logoutIframe;\r\n public availableLanguages = [];\r\n public selectedLanguage: string;\r\n public hasDriverActiveContract = false;\r\n public isProspect = false;\r\n public isFleetManager = false;\r\n public isMobile: boolean;\r\n public fleetManagerLink: string;\r\n public showProfileDropdown: boolean;\r\n public showLanguageDropdown: boolean;\r\n\r\n constructor(private modalService: ModalService,\r\n private driverService: DriverService,\r\n private authService: AuthService,\r\n private feedService: FeedService,\r\n private storage: AppStorageService,\r\n private translationStorage: TranslationStorageService,\r\n private translationService: TranslationService,\r\n private router: Router,\r\n private userService: UserService,\r\n private appConfig: AppConfigService,\r\n private authStorageService: AuthStorageService,\r\n private userManagementService: UserManagementService,\r\n private configurationService: ConfigurationService,\r\n private gtmService: GtmService) { }\r\n\r\n ngOnInit() {\r\n this.listenToModal();\r\n this.selectedLanguage = this.translationStorage.lang;\r\n\r\n this.configurationService.getAvailableLanguages().subscribe((languages) => {\r\n this.availableLanguages = languages;\r\n });\r\n this.driverService.driver.subscribe((driver) => {\r\n this.isProspect = driver.roles.every(role => role === 'prospect');\r\n if (driver && contractsContainsStatusOfType(driver.contracts, ContractConsolidatedStatusType.Active)) {\r\n this.hasDriverActiveContract = true;\r\n }\r\n });\r\n this.isFleetManager = this.userService.getRoles().includes('FleetManager') ||\r\n this.userService.getRoles().includes('fleetmanager');\r\n this.isMobile = this.appConfig.isMobile;\r\n this.getFleetManagerLink('ManagerWebsiteUrl');\r\n }\r\n\r\n public openModal(): void {\r\n event.preventDefault();\r\n this.modalService.modalCode = ModalCode.LOGOUT;\r\n this.modalService.openModal('global-logout_popin-text', 'global-logout_popin-title');\r\n }\r\n\r\n public openAssistancePanel(): void {\r\n if (!this.router.url.includes('/help') && !this.router.url.includes('/assistance')) {\r\n const url = this.hasDriverActiveContract && !this.isProspect ? ['/help'] : ['/assistance'];\r\n this.router.navigate([this.router.url + url]);\r\n this.showProfileDropdown = false;\r\n }\r\n }\r\n\r\n public openMyProfilePanel(): void {\r\n if (!this.router.url.includes('/personal-informations')) {\r\n this.router.navigate([this.router.url + '/personal-informations']);\r\n this.showProfileDropdown = false;\r\n }\r\n }\r\n\r\n public openMyPreferencesPanel() {\r\n if (!this.router.url.includes('/preferences')) {\r\n this.router.navigate([this.router.url + '/preferences']);\r\n this.showProfileDropdown = false;\r\n }\r\n }\r\n\r\n public getFleetManagerLink(fleetManagerLinkCode: string): void {\r\n this.configurationService.getConfItems([this.userService.getCountry(), fleetManagerLinkCode])\r\n .subscribe(\r\n (feedback: ConfigurationModel) => {\r\n const { value } = feedback;\r\n this.fleetManagerLink = value;\r\n },\r\n e => {\r\n console.error('An error has occured: ', e);\r\n });\r\n }\r\n\r\n public setAppStorage(): void {\r\n this.authStorageService.preferredRole = 'fleetmanager';\r\n }\r\n\r\n public listenToModal(): void {\r\n this.modalService.modalActionObservable.subscribe(\r\n status => {\r\n if (status === true && this.modalService.modalCode === ModalCode.LOGOUT) {\r\n this.logOut();\r\n this.storage.remove(this.storage.SELECTED_COUNTRY);\r\n this.modalService.reset();\r\n }\r\n }\r\n );\r\n }\r\n\r\n public logOut(): void {\r\n window.addEventListener('message', (e: any) => {\r\n const { data: eventData } = e;\r\n if (eventData.waitingForLogin) {\r\n this.gtmService.sendEvent(GTM_EVENTS.logout, this.storage.currentUserRole, this.storage.countrySelected);\r\n this.storage.remove(this.storage.CURRENT_ROLE, AppStorageService.STORES.SESSION);\r\n this.storage.remove(this.storage.SELECTED_COUNTRY, AppStorageService.STORES.SESSION);\r\n this.authService.clearAuthentication(false);\r\n (document as any).location = '/';\r\n }\r\n }, false);\r\n this.logoutIframe = document.getElementById('logout_ifm') as HTMLIFrameElement;\r\n this.logoutIframe.src = (environment.envName === 'DEV') ?\r\n 'https://driver.integ.aldautomotive.com/logout' :\r\n '/logout';\r\n }\r\n\r\n public onLanguageChange(selectedLanguage): void {\r\n this.translationService.language = selectedLanguage;\r\n this.selectedLanguage = selectedLanguage;\r\n this.showLanguageDropdown = false;\r\n const preferences: PreferencesModel = { culture: selectedLanguage };\r\n this.userManagementService.updateMyUserPreferences(preferences)\r\n .subscribe(() => {\r\n if (this.router.url.includes('feed')) {\r\n this.feedService.loadFeeds();\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n\\r\\n

\\r\\n {{'global-header_menu-feed'| translate}}\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"/\\r\\n
\\r\\n\\r\\n

{{ 'feed_downloadbanner_title' | translate}}

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host {\\n display: inline-block;\\n width: 100%;\\n z-index: 5;\\n position: relative; }\\n.mobile-header {\\n position: relative;\\n height: 50px;\\n background-color: white;\\n color: #FFFFFF;\\n padding-top: 10px; }\\n.mobile-header-container {\\n position: relative;\\n width: 100%;\\n max-width: 30em;\\n margin: auto; }\\n.mobile-header-title strong {\\n display: block;\\n font-weight: 700;\\n font-family: \\\"montserrat\\\", Arial, sans-serif;\\n color: #050b7f;\\n font-size: 1.5em; }\\n.mobile-header-download-modal {\\n position: absolute;\\n top: 110px;\\n right: 0;\\n left: 0;\\n margin: auto;\\n display: block;\\n min-width: 260px;\\n width: 50%;\\n padding: 18px 40px 40px;\\n background-color: #FFFFFF;\\n border-radius: 30px;\\n box-shadow: 0 2px 15px 0 rgba(82, 82, 82, 0.1); }\\n.mobile-header-download-modal-close {\\n position: absolute;\\n top: 20px;\\n right: 20px;\\n height: 12px;\\n width: 12px; }\\n.mobile-header-download-modal-close ::ng-deep svg {\\n fill: #040966; }\\n.mobile-header-download-modal-illustration {\\n display: block;\\n height: 100px;\\n margin: 0 auto;\\n text-align: center; }\\n.mobile-header-download-modal-title {\\n margin: 11px auto 25px auto;\\n padding: 0;\\n max-width: 180px;\\n color: #00cfff;\\n font-size: 1.125em;\\n font-weight: 500;\\n line-height: 1.38888889em;\\n text-align: center; }\\n.mobile-header-download-modal-button-container {\\n margin: 0 auto;\\n text-align: center; }\\n.mobile-header-download-modal-button {\\n padding: 1.03em 1.875em;\\n min-width: 130px;\\n min-height: 60px;\\n font-size: 1.125em;\\n white-space: normal; }\\n.mobile-header::before {\\n content: '';\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 100%;\\n height: 1px;\\n background-color: rgba(0, 0, 0, 0.07); }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vYmlsZS1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9tb2JpbGUtbWVudS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vYmlsZS1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9tb2JpbGUtbWVudS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9tb2JpbGUtbWVudS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvbW9iaWxlLW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvbW9iaWxlLW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXHNoYXJlZFxcYXBwLW1lbnVcXG1vYmlsZS1tZW51XFxtb2JpbGUtbWVudS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vYmlsZS1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vYmlsZS1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvbW9iaWxlLW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3ZhcnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vYmlsZS1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksc0JBQW9CO0VBQ3BCLFlBQVc7RUFDWCxXQUFTO0VBQ1QsbUJBQWtCLEVBQ3JCO0FBRUQ7RUFDSSxtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLHdCQUF1QjtFQUN2QixlQ0FZO0VEQ1osa0JKZGEsRUlvR2hCO0FBcEZHO0lBQ0ksbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxnQkpYaUI7SUlZakIsYUFBWSxFQUNmO0FBRUE7SUFFTyxlQUFjO0lBQ2QsaUJFTWU7SUZMZiw2Q0dwQjBDO0lIcUIxQyxlQ3hCTTtJRHlCTixpQkFBZ0IsRUFDbkI7QUFHTDtJQUNJLG1CQUFrQjtJQUNsQixXQUFVO0lBQ1YsU0FBUTtJQUNSLFFBQU87SUFDUCxhQUFZO0lBQ1osZUFBYztJQUNkLGlCQUFnQjtJQUNoQixXQUFVO0lBQ1Ysd0JBQXVCO0lBQ3ZCLDBCQzlCUTtJRCtCUixvQko3Qm1CO0lJOEJuQiwrQ0FBOEUsRUEyQ2pGO0FBekNHO01BQ0ksbUJBQWtCO01BQ2xCLFVBQVM7TUFDVCxZQUFXO01BQ1gsYUFBWTtNQUNaLFlBQVcsRUFJZDtBQVRBO1FBT08sY0FBaUQsRUFDcEQ7QUFHTDtNQUNJLGVBQWM7TUFDZCxjQUFhO01BQ2IsZUFBYztNQUNkLG1CQUFrQixFQUNyQjtBQUVEO01BQ0ksNEJBQTJCO01BQzNCLFdBQVU7TUFDVixpQkFBZ0I7TUFDaEIsZUNoRVk7TURpRVosbUJJb0RzQjtNSm5EdEIsaUJFekNlO01GMENmLDBCSWtEc0I7TUpqRHRCLG1CQUFrQixFQUNyQjtBQUVEO01BQ0ksZUFBYztNQUNkLG1CQUFrQixFQUNyQjtBQUVEO01BQ0ksd0JBQXVCO01BQ3ZCLGlCQUFnQjtNQUNoQixpQkFBZ0I7TUFDaEIsbUJBQWtCO01BQ2xCLG9CQUFtQixFQUN0QjtBQTlFVDtJQW1GUSxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLFFBQU87SUFDUCxVQUFTO0lBQ1QsWUFBVztJQUNYLFlBQVc7SUFDWCxzQ0FBcUMsRUFDeEMiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvbW9iaWxlLW1lbnUvbW9iaWxlLW1lbnUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy90aGVtZS1pbXBvcnRzXCI7XHJcblxyXG46aG9zdCB7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDo1O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ubW9iaWxlLWhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgIHBhZGRpbmctdG9wOiAkb3MtcGFkZGluZztcclxuXHJcbiAgICAmLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmLXRpdGxlIHtcclxuICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnknKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1kb3dubG9hZC1tb2RhbCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTEwcHg7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyNjBweDtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDE4cHggNDBweCA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tYm9yZGVyLXJhZGl1cztcclxuICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxNXB4IDAgdHJhbnNwYXJlbnRpemUobWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktOTAwJyksIDAuOSk7XHJcblxyXG4gICAgICAgICYtY2xvc2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMjBweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgICAgICAgIDo6bmctZGVlcCBzdmcgIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6IGRhcmtlbihtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpLCA1JSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtaWxsdXN0cmF0aW9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMXB4IGF1dG8gMjVweCBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOHB4KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgyNXB4LCAxOHB4KTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtYnV0dG9uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMS4wM2VtIDEuODc1ZW07XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTMwcHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2hhZG93XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDcpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iLCJAaW1wb3J0ICd2YXJzJztcclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkcGF0aCwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgIHNyYyA6IHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcclxuICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xyXG4gIEByZXR1cm4gJHJlbVNpemUgKiAxcmVtO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgZm9udC1zaXplOiAkc2l6ZTtcclxuICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA0MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDgwMDtcclxuIiwiLy8jIyBHZW5lcmFsXHJcbiRjZG4tZm9udC1wYXRoOiAnZm9udHMnO1xyXG4kY2RuLWljb24tcGF0aDogJ2ljb25zJztcclxuXHJcblxyXG4vLyAjIyBGb250c1xyXG4kZm9udC1mYW1pbHk6ICdzb3VyY2Utc2FucycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktaGVhZGxpbmU6ICdtb250c2VycmF0JywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblxyXG4vLyAjIEdlbmVyYWwgZWxlbWVudHMgc3R5bGVzXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuJGJveC1zaGFkb3ctbWVkaXVtOiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjk2KTtcclxuJGJveC1zaGFkb3ctbGlnaHQ6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTgpO1xyXG4kYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuLy8gIyMgTmF2aWdhdGlvblxyXG4kbmF2aWdhdGlvbi13aWR0aDogMjYwcHg7XHJcbiRuYXZpZ2F0aW9uLW1vYmlsZS1oZWlnaHQ6IDUwcHg7XHJcblxyXG4vLyAjIyBMYXlvdXRcclxuJGNvbnRlbnQtcGFkZGluZzogNTBweDtcclxuJGNvbnRlbnQtcGFkZGluZy1tb2JpbGU6IDIwcHg7XHJcblxyXG5cclxuXHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { AppStorageService } from '../../storage/common/app-storage.service';\r\nimport { AppConfigService } from '../../config/app-config.service';\r\nimport { combineLatest } from 'rxjs';\r\nimport { ConfigurationModel } from '../../config/configuration.model';\r\nimport { ConfigurationService } from '../../config/configuration.service';\r\nimport ModalCode from '../../modal-box/ModalCode';\r\nimport { ModalService } from '../../ui/modal.service';\r\nimport { filter, takeWhile } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-mobile-menu',\r\n templateUrl: './mobile-menu.component.html',\r\n styleUrls: ['./mobile-menu.component.scss']\r\n})\r\nexport class MobileMenuComponent implements OnInit, OnDestroy {\r\n\r\n public showAppBanner = true;\r\n private androidAppUrl: string;\r\n private iosAppUrl: string;\r\n private componentActive = true;\r\n\r\n constructor(\r\n private appConfig: AppConfigService,\r\n private configurationService: ConfigurationService,\r\n private modalService: ModalService,\r\n private appStorage: AppStorageService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (!this.appConfig.isMobile || this.appStorage.get('hideAppBanner', AppStorageService.STORES.LOCAL) || this.appStorage.get('hideAppBanner', AppStorageService.STORES.SESSION)) {\r\n this.showAppBanner = false;\r\n }\r\n\r\n this.getAppUrls();\r\n\r\n this.modalService.modalActionObservable\r\n .pipe(\r\n takeWhile(() => this.componentActive),\r\n filter((status) => status && this.modalService.modalCode === ModalCode.DOWNLOAD_APP),\r\n )\r\n .subscribe(() => this.hideAppBanner(false));\r\n }\r\n\r\n private getAppUrls(): void {\r\n combineLatest(\r\n this.configurationService.getConfItems([this.appStorage.countrySelected, 'AndroidAppUrl']),\r\n this.configurationService.getConfItems([this.appStorage.countrySelected, 'IosAppUrl'])\r\n ) .pipe(\r\n takeWhile(() => this.componentActive),\r\n )\r\n .subscribe((configurationItems: ConfigurationModel[]) => {\r\n if (configurationItems && configurationItems[0] && configurationItems[1]) {\r\n this.androidAppUrl = configurationItems[0].value;\r\n this.iosAppUrl = configurationItems[1].value;\r\n }\r\n });\r\n }\r\n\r\n public downloadApp() {\r\n if (this.appConfig.isIos) {\r\n window.open(this.iosAppUrl, '_blank');\r\n } else if (this.appConfig.isAndroid) {\r\n window.open(this.androidAppUrl, '_blank');\r\n } else {\r\n this.openModal();\r\n }\r\n }\r\n\r\n public openModal() {\r\n this.modalService.modalCode = ModalCode.DOWNLOAD_APP;\r\n this.modalService.openModal('feed_downloadpopin_legend', 'feed_downloadpopin_title', 'feed_downloadpopin_button1', 'feed_downloadpopin_button2', null, {\r\n type: 'email',\r\n formControlName: 'email',\r\n placeholder: 'feed_downloadpopin_formtitle'\r\n });\r\n }\r\n\r\n public hideAppBanner(temporarily = true) {\r\n this.showAppBanner = false;\r\n this.appStorage.set('hideAppBanner', true, temporarily ? AppStorageService.STORES.SESSION : AppStorageService.STORES.LOCAL);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.componentActive = false;\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n

{{'global-generic_terms-incorrect_input'| translate}}

\\r\\n

{{'global-generic_terms-generic_server_error'| translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{'global-personal_information_panel-push_notification_label'| translate}}\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{'global-personal_information_panel-forgot_password'|\\r\\n translate}}\\r\\n

{{'global-personal_information_panel-request_sent'| translate}}

\\r\\n

{{'global-generic_terms-generic_server_error'| translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n padding: calc(50px + 40px + 10px) 12% 36px 12%;\\n width: 100%;\\n background-color: #FFFFFF; }\\n.main-container .form .forgot-password-container {\\n margin-top: 20px; }\\n.main-container .form .forgot-password-container .success {\\n color: #00cfff;\\n font-size: 0.875em; }\\n.main-container .form .forgot-password-container .error {\\n color: #5e4fea;\\n font-size: 0.875em; }\\n.main-container .form input[readonly] {\\n border-bottom-color: rgba(82, 82, 82, 0.4); }\\n.main-container .form .form-input.login {\\n margin-top: 50px; }\\n.main-container .form .password-input {\\n position: relative; }\\n.main-container .form .password-input .button.edit-password {\\n position: absolute;\\n top: 6px;\\n right: 0;\\n width: 30px;\\n height: 30px; }\\n.main-container .form .password-input .button.edit-password app-svg-icon {\\n width: 15px;\\n height: 15px;\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%); }\\n.main-container .form .forgot-password {\\n font-size: 0.750em;\\n display: block;\\n margin-top: -1em;\\n margin-bottom: 1em;\\n text-decoration: underline; }\\n.main-container .form .language {\\n margin-top: 3em;\\n margin-bottom: 0; }\\n.main-container .form .language .radio-container:last-of-type {\\n margin-bottom: 0; }\\n.main-container .form .language .radio-title {\\n color: #525252; }\\n.main-container .form .language .radio-container {\\n display: block;\\n margin-bottom: 20px; }\\napp-modal-box {\\n text-align: center; }\\napp-modal-box h1 {\\n font-size: 1.875em;\\n line-height: 1.23333333em;\\n font-weight: 500;\\n color: #00cfff; }\\napp-modal-box p {\\n margin-bottom: 40px; }\\n@media screen and (min-width: 980px) {\\n .main-container {\\n padding: calc(60px + 80px) 18.31% 70px 18.31%; }\\n .main-container .main-title {\\n font-size: 2.8125em;\\n line-height: 1.11111111em; }\\n app-modal-box h1 {\\n font-size: 2.8125em;\\n line-height: 0.82222222em;\\n font-weight: 500;\\n color: #00cfff;\\n margin-bottom: 10px; } }\\n.slide {\\n float: right; }\\n.slide-label {\\n font-size: 20px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcGVyc29uYWwtaW5mb3JtYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcGVyc29uYWwtaW5mb3JtYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9tb3JlLXBlcnNvbmFsLWluZm9ybWF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9tb3JlLXBlcnNvbmFsLWluZm9ybWF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcGVyc29uYWwtaW5mb3JtYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcGVyc29uYWwtaW5mb3JtYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvbW9yZS1wZXJzb25hbC1pbmZvcm1hdGlvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFxhcHAtbWVudVxcbW9yZS1wZXJzb25hbC1pbmZvcm1hdGlvblxcbW9yZS1wZXJzb25hbC1pbmZvcm1hdGlvbi5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcGVyc29uYWwtaW5mb3JtYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvbW9yZS1wZXJzb25hbC1pbmZvcm1hdGlvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9tb3JlLXBlcnNvbmFsLWluZm9ybWF0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxtQkFBa0I7RUFDbEIsUUFBTztFQUNQLFNBQVE7RUFDUixPQUFNO0VBQ04sK0NBQTRFO0VBQzVFLFlBQVc7RUFDWCwwQkNJWSxFRG1FZjtBQTlFRDtJQVlZLGlCQUFnQixFQVNuQjtBQXJCVDtNQWNnQixlQ1hRO01EWVIsbUJFeUdrQixFRnhHckI7QUFoQmI7TUFrQmdCLGVDZEk7TURlSixtQkVxR2tCLEVGcEdyQjtBQXBCYjtJQXdCWSwyQ0FBMEUsRUFDN0U7QUF6QlQ7SUE0QlksaUJBQWdCLEVBQ25CO0FBN0JUO0lBZ0NZLG1CQUFrQixFQWtCckI7QUFsRFQ7TUFtQ2dCLG1CQUFrQjtNQUNsQixTQUFRO01BQ1IsU0FBUTtNQUNSLFlBQVc7TUFDWCxhQUFZLEVBVWY7QUFqRGI7UUEwQ29CLFlBQVc7UUFDWCxhQUFZO1FBQ1osbUJBQWtCO1FBQ2xCLFVBQVM7UUFDVCxTQUFRO1FBQ1IsaUNBQWdDLEVBQ25DO0FBaERqQjtJQXFEWSxtQkFBa0I7SUFDbEIsZUFBYztJQUNkLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMkJBQTBCLEVBQzdCO0FBMURUO0lBNkRZLGdCQUFlO0lBQ2YsaUJBQWdCLEVBY25CO0FBNUVUO01BaUVnQixpQkFBZ0IsRUFDbkI7QUFsRWI7TUFxRWdCLGVDaERHLEVEaUROO0FBdEViO01BeUVnQixlQUFjO01BQ2Qsb0JBQW1CLEVBQ3RCO0FBS2I7RUFDSSxtQkFBa0IsRUFZckI7QUFiRDtJQUlRLG1CRW9DMEI7SUZuQzFCLDBCRW1DMEI7SUZsQzFCLGlCRzFEbUI7SUgyRG5CLGVDcEZnQixFRHFGbkI7QUFSTDtJQVdRLG9CQUFtQixFQUN0QjtBRnJCTztFRTBCUjtJQUNJLDhDQUF5RSxFQU81RTtJQVJEO01BSVEsb0JFbUJzQjtNRmxCdEIsMEJFa0JzQixFRmhCekI7RUFHTDtJQUVRLG9CRVdzQjtJRlZ0QiwwQkVVc0I7SUZUdEIsaUJHbkZlO0lIb0ZmLGVDN0dZO0lEOEdaLG9CQUFtQixFQUN0QixFQUFBO0FBSVQ7RUFDQSxhQUFZLEVBQ1g7QUFFRDtFQUNJLGdCQUFlLEVBQ2xCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcGVyc29uYWwtaW5mb3JtYXRpb24vbW9yZS1wZXJzb25hbC1pbmZvcm1hdGlvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL3RoZW1lLWltcG9ydHNcIjtcclxuXHJcbi5tYWluLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBwYWRkaW5nOiBjYWxjKDUwcHggKyAjeyRzdGlja3ktaGVhZGVyLWhlaWdodH0gKyAjeyRvcy1wYWRkaW5nfSkgMTIlIDM2cHggMTIlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuXHJcbiAgICAuZm9ybSB7XHJcblxyXG4gICAgICAgIC5mb3Jnb3QtcGFzc3dvcmQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE0cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lcnJvciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3NlY29uZGFyeScpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxNHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW5wdXRbcmVhZG9ubHldIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnRpemUobWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktOTAwJyksIDAuNik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZm9ybS1pbnB1dC5sb2dpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucGFzc3dvcmQtaW5wdXQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAuYnV0dG9uLmVkaXQtcGFzc3dvcmQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA2cHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb3Jnb3QtcGFzc3dvcmQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzUwZW07XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMWVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxhbmd1YWdlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogM2VtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgLnJhZGlvLWNvbnRhaW5lcjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnJhZGlvLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS05MDAnKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnJhZGlvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmFwcC1tb2RhbC1ib3gge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IGVtKDMwcHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgzN3B4LCAzMHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG5cclxuICAgIC5tYWluLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogY2FsYyg2MHB4ICsgI3skc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcH0pIDE4LjMxJSA3MHB4IDE4LjMxJTtcclxuXHJcbiAgICAgICAgLm1haW4tdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDQ1cHgpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oNTBweCwgNDVweCk7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhcHAtbW9kYWwtYm94IHtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNDVweCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgzN3B4LCA0NXB4KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNsaWRlIHtcclxuZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4uc2xpZGUtbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iLCJAaW1wb3J0ICd2YXJzJztcclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkcGF0aCwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgIHNyYyA6IHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcclxuICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xyXG4gIEByZXR1cm4gJHJlbVNpemUgKiAxcmVtO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgZm9udC1zaXplOiAkc2l6ZTtcclxuICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA0MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDgwMDtcclxuIl19 */\"","import { AuthService } from '../../authentication/auth.service';\r\nimport { TranslationService } from '../../translation/translation.service';\r\nimport { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { PhoneValidator } from '../../app-forms/validators/phone.validator';\r\nimport { DriverService } from '../../../driver/shared/driver.service';\r\nimport { Driver } from '../../../driver/shared/models/driver.model';\r\nimport { PopinService } from '../../ui/popin.service';\r\nimport { StickyHeaderFormService } from '../../ui/sticky-header-form.service';\r\nimport { ModalService } from '../../ui/modal.service';\r\nimport ModalCode from '../../modal-box/ModalCode';\r\nimport { ConfigurationService } from '../../config/configuration.service';\r\nimport { AppStorageService } from '../../storage/common/app-storage.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { FeatureService } from '../../feature/feature.service';\r\nimport { FeatureConst } from '../../feature/feature.consts';\r\nimport { UserManagementService } from 'app/shared/user/userManagement.service';\r\nimport { combineLatest } from 'rxjs';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\n\r\n@Component({\r\n selector: 'app-more-personal-information',\r\n templateUrl: './more-personal-information.component.html',\r\n styleUrls: ['./more-personal-information.component.scss']\r\n})\r\nexport class MorePersonalInformationComponent implements OnInit, OnDestroy {\r\n\r\n public form: FormGroup;\r\n public submitStatus = 'initial';\r\n public openSubmitBox: boolean;\r\n public submitted = false;\r\n public addressSelected: string = null;\r\n public forgotPasswordRequest: boolean = null;\r\n public driver: Driver;\r\n public error = null;\r\n public availableLanguages = [];\r\n public modalSubscription: Subscription;\r\n @ViewChild('selectAutocomplete')\r\n public selectAutocomplete;\r\n @ViewChild('nativeForm')\r\n public nativeForm;\r\n private country: string;\r\n private popInContent = '';\r\n private subscriptionSubmitted: Subscription;\r\n private subscriptionCanceled: Subscription;\r\n private canEditProfile: boolean;\r\n private canEditOwnName: boolean;\r\n public userRoles;\r\n public pushNotification: boolean;\r\n\r\n constructor(private driverService: DriverService,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private translationService: TranslationService,\r\n private authService: AuthService,\r\n private popinService: PopinService,\r\n private stickyHeaderFormService: StickyHeaderFormService,\r\n private configurationService: ConfigurationService,\r\n private modalService: ModalService,\r\n private appStorageService: AppStorageService,\r\n private featureService: FeatureService,\r\n private gtmService: GtmService,\r\n private userManagementService: UserManagementService) {\r\n\r\n\r\n combineLatest(\r\n this.featureService.isFeatureActivated(FeatureConst.features.EditOwnNameActivated),\r\n this.featureService.isFeatureActivated(FeatureConst.features.EditMyProfileActivated)\r\n ).subscribe(([canEditOwnName, canEditProfile]) => {\r\n this.canEditProfile = canEditProfile;\r\n this.canEditOwnName = canEditOwnName;\r\n this.driverService.driverStream.subscribe((driver: Driver) => {\r\n if (driver) {\r\n this.driver = driver;\r\n this.generateFormGroup();\r\n }\r\n });\r\n this.userManagementService.getNewUserProfile().subscribe((UserProfile) => {\r\n if (UserProfile) {\r\n this.userRoles = UserProfile.userRoles;\r\n this.pushNotification = this.userRoles[0].notificationByPush;\r\n this.generateFormGroup();\r\n }\r\n });\r\n });\r\n\r\n\r\n\r\n this.translationService.translate('global-personal_information_panel-password_reset_request_sent_message').subscribe(\r\n content => {\r\n this.popInContent = content;\r\n }\r\n );\r\n\r\n this.subscriptionCanceled = this.stickyHeaderFormService.hasCanceled.subscribe(status => {\r\n if (status) {\r\n this.cancelFormValuesChange();\r\n }\r\n });\r\n\r\n this.subscriptionSubmitted = this.stickyHeaderFormService.hasSubmitted.subscribe(status => {\r\n if (status) {\r\n this.onSubmit();\r\n }\r\n });\r\n this.listenToModal();\r\n }\r\n\r\n ngOnInit() {\r\n this.popinService.opened(true);\r\n\r\n this.configurationService.getAvailableLanguages().subscribe(languages =>\r\n this.availableLanguages = languages\r\n );\r\n }\r\n\r\n generateFormGroup() {\r\n this.form = this.formBuilder.group({\r\n name: !this.canEditProfile || !this.canEditOwnName ? { value: this.driver.name, disabled: true } : [this.driver.name, Validators.required],\r\n email: [{ value: this.driver.mail, disabled: true }],\r\n address: this.canEditProfile ? [this.driver.address] : [{ value: this.driver.address, disabled: true }],\r\n postalCode: this.canEditProfile ? [this.driver.postalCode] : [{ value: this.driver.postalCode, disabled: true }],\r\n city: this.canEditProfile ? [this.driver.city] : [{ value: this.driver.city, disabled: true }],\r\n tel: this.canEditProfile ? [this.driver.phone] : [{ value: this.driver.phone, disabled: true }],\r\n login: [this.driver.login || this.driver.mail, Validators.required],\r\n password: ['**********'],\r\n language: [this.translationService.language, Validators.required],\r\n pushNotification: this.canEditProfile ? [this.pushNotification] : [{ value: this.pushNotification, disabled: true }]\r\n });\r\n this.addressSelected = this.driver.address;\r\n this.formValuesChangesListener();\r\n }\r\n\r\n formValuesChangesListener() {\r\n this.form.valueChanges.subscribe(data => {\r\n this.openSubmitBox = true;\r\n });\r\n }\r\n\r\n cancelFormValuesChange() {\r\n this.generateFormGroup();\r\n // Reset autocomplete\r\n if (this.selectAutocomplete) {\r\n this.selectAutocomplete.inputValue = this.driver.address;\r\n this.selectAutocomplete.addressLabel = this.driver.address;\r\n this.form.get('fullAddress').setValue(this.driver.address);\r\n }\r\n\r\n this.openSubmitBox = false;\r\n this.error = false;\r\n }\r\n\r\n updateSelectAddress(e) {\r\n this.form.get('fullAddress').setValue(e);\r\n this.openSubmitBox = true;\r\n }\r\n\r\n onSubmit() {\r\n this.error = null;\r\n this.submitted = true;\r\n // Because this form has not submit button directly into him,\r\n // we need to trigger submission manually to allow app-form-errors to display errors\r\n if (this.nativeForm) {\r\n this.nativeForm.onSubmit(null);\r\n }\r\n\r\n if (this.form.valid) {\r\n\r\n const payload = {\r\n address: this.form.get('address').value,\r\n postalCode: this.form.get('postalCode').value,\r\n city: this.form.get('city').value,\r\n phone: this.form.get('tel').value,\r\n name: this.form.get('name').value,\r\n country: this.appStorageService.countrySelected,\r\n notificationByPush: this.form.get('pushNotification').value,\r\n };\r\n\r\n this.submitStatus = 'pending';\r\n\r\n this.driverService.updateProfile(payload).subscribe(\r\n response => {\r\n this.submitStatus = 'initial';\r\n\r\n this.driver.city = payload.city;\r\n this.driver.address = payload.address;\r\n this.driver.postalCode = payload.postalCode;\r\n this.driver.phone = payload.phone;\r\n this.driver.name = payload.name;\r\n this.driver.country = payload.country;\r\n this.driver.notificationByPush = payload.notificationByPush;\r\n\r\n this.onBackClick();\r\n this.openSubmitBox = false;\r\n this.gtmService.sendEvent(GTM_EVENTS.editOwnProfile, '1');\r\n },\r\n error => {\r\n if (error.status && error.status.toString().substring(0, 1) === '4') {\r\n this.error = 400;\r\n } else {\r\n this.error = true;\r\n }\r\n }\r\n );\r\n\r\n this.openSubmitBox = false;\r\n } else {\r\n this.error = 400;\r\n }\r\n }\r\n\r\n forgotPasswordClickHandler(event) {\r\n event.preventDefault();\r\n this.modalService.modalCode = ModalCode.RESETPWD;\r\n this.modalService.openModal('global-reset_password_popin-text', 'global-reset_password_popin-title');\r\n }\r\n\r\n resetPassword(path) {\r\n this.popinService.opened(false);\r\n this.router.navigate([this.router.url.replace('personal-informations', path)]);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stickyHeaderFormService.hasSubmitted.next(false);\r\n this.stickyHeaderFormService.hasCanceled.next(false);\r\n\r\n this.subscriptionCanceled.unsubscribe();\r\n this.subscriptionSubmitted.unsubscribe();\r\n this.modalSubscription.unsubscribe();\r\n\r\n this.submitted = false;\r\n // Back navigator\r\n this.popinService.opened(false);\r\n this.forgotPasswordRequest = null;\r\n\r\n }\r\n\r\n onBackClick() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n listenToModal() {\r\n this.modalSubscription = this.modalService.modalActionObservable.subscribe(\r\n status => {\r\n if (status === true && this.modalService.modalCode === ModalCode.RESETPWD) {\r\n this.forgotPassword();\r\n this.modalService.reset();\r\n }\r\n }\r\n );\r\n }\r\n\r\n forgotPassword() {\r\n event.preventDefault();\r\n\r\n this.userManagementService.authenticatedForgotPassword(this.driver.mail).subscribe(result => {\r\n this.forgotPasswordRequest = true;\r\n },\r\n (error) => {\r\n this.forgotPasswordRequest = false;\r\n });\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n\\r\\n

{{'global-reset_password_panel-change_password'| translate}}

\\r\\n
\\r\\n \\r\\n \\r\\n

{{error| translate}}

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{ 'global-generic_terms-error_password_mismatch' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n padding: 50px 0; }\\n.main-container .form .password-input {\\n position: relative; }\\n.main-container .form .submit-container {\\n margin-top: 40px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcmVzZXQtcGFzc3dvcmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcmVzZXQtcGFzc3dvcmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9tb3JlLXJlc2V0LXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9tb3JlLXJlc2V0LXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcmVzZXQtcGFzc3dvcmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcmVzZXQtcGFzc3dvcmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvbW9yZS1yZXNldC1wYXNzd29yZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFxhcHAtbWVudVxcbW9yZS1yZXNldC1wYXNzd29yZFxcbW9yZS1yZXNldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksZ0JBQWUsRUFhbEI7QUFkRDtJQU1ZLG1CQUFrQixFQUVyQjtBQVJUO0lBV1ksaUJBQWdCLEVBQ25CIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L21vcmUtcmVzZXQtcGFzc3dvcmQvbW9yZS1yZXNldC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL3RoZW1lLWltcG9ydHNcIjtcclxuXHJcbi5tYWluLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDA7XHJcblxyXG4gICAgLmZvcm0ge1xyXG5cclxuICAgICAgICAucGFzc3dvcmQtaW5wdXQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN1Ym1pdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0= */\"","import { SnackbarService } from 'app/shared/snackbar/snackbar.service';\r\nimport { DriverService } from '../../../driver/shared/driver.service';\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { PopinService } from '../../ui/popin.service';\r\nimport { FeatureService } from 'app/shared/feature/feature.service';\r\nimport { FeatureConst } from 'app/shared/feature/feature.consts';\r\nimport { UserManagementService } from 'app/shared/user/userManagement.service';\r\nimport { GtmService } from '../../gtm/gtm.service';\r\nimport { GTM_EVENTS } from '../../gtm/gtm-events.const';\r\nimport { CustomValidators } from 'app/shared/app-forms/validators/custom.validator';\r\nimport { sameAsValidator } from 'app/shared/app-forms/validators/same-as.validator';\r\nimport { passwordUserNameValidator } from 'app/shared/app-forms/validators/password-username.validator';\r\nimport { UserService } from 'app/shared/user/user.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-more-reset-password',\r\n templateUrl: './more-reset-password.component.html',\r\n styleUrls: ['./more-reset-password.component.scss']\r\n})\r\nexport class MoreResetPasswordComponent implements OnInit, OnDestroy {\r\n\r\n // Form values & state\r\n public form: FormGroup;\r\n public formSubmitted = false;\r\n public isLoading = false;\r\n public error = null;\r\n public readonly INVALID_PASSWORD_ERROR = 'invalid_password';\r\n\r\n constructor(private driverService: DriverService,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private popinService: PopinService,\r\n private featureService: FeatureService,\r\n private gtmService: GtmService,\r\n private snackBarService: SnackbarService,\r\n private userManagementService: UserManagementService,\r\n private userService: UserService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.popinService.opened(true);\r\n this.form = this.formBuilder.group({\r\n newPassword: [, [Validators.required, CustomValidators.securePassword], [passwordUserNameValidator(this.userService)]],\r\n confirmPassword: [, Validators.required],\r\n oldPassword: ['', Validators.required],\r\n });\r\n this.form.get('confirmPassword').setValidators([CustomValidators.required, sameAsValidator(this.form.get('newPassword'))]);\r\n }\r\n\r\n onSubmit() {\r\n this.formSubmitted = true;\r\n this.error = null;\r\n\r\n if (this.form.valid) {\r\n\r\n this.isLoading = true;\r\n\r\n const payload = {\r\n currentPassword: this.form.get('oldPassword').value,\r\n newPassword: this.form.get('newPassword').value\r\n };\r\n this.userManagementService.changeCurrentUserPassword(payload.currentPassword, payload.newPassword).subscribe(\r\n () => {\r\n this.onUpdatePasswordSuccess();\r\n },\r\n (httpError) => {\r\n this.onUpdatePasswordFail(httpError.error);\r\n });\r\n }\r\n }\r\n\r\n public resetConfirmationField(): void {\r\n this.form.controls.confirmPassword.setValue('');\r\n this.form.controls.confirmPassword.updateValueAndValidity();\r\n }\r\n\r\n private onUpdatePasswordSuccess() {\r\n this.gtmService.sendEvent(GTM_EVENTS.changePassword);\r\n this.isLoading = false;\r\n this.onBackClick('personal-informations');\r\n this.snackBarService.success('global-reset_password_panel-snackbar_success');\r\n }\r\n\r\n private onUpdatePasswordFail(error) {\r\n this.isLoading = false;\r\n if (error === this.INVALID_PASSWORD_ERROR) {\r\n this.error = 'global-generic_terms-incorrect_input';\r\n } else {\r\n this.error = 'global-generic_terms-generic_server_error';\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n // Back navigator\r\n this.popinService.opened(false);\r\n }\r\n\r\n onBackClick(path) {\r\n this.popinService.opened(false);\r\n this.router.navigate([this.router.url.replace('reset-password', path)]);\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

{{'global-preferences_panel-error_message'| translate}}

\\r\\n
\\r\\n \\r\\n
\\r\\n {{ 'global-preferences_panel-email_notif_label' | translate }}\\r\\n
\\r\\n
\\r\\n {{ 'global-preferences_panel-push_notif_label' | translate }}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.main-container {\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n padding: calc(50px + 40px + 10px) 12% 36px 12%;\\n width: 100%;\\n background-color: #FFFFFF; }\\n.main-container .main-title {\\n margin-bottom: 20px;\\n color: #525252;\\n font-size: 1.875em;\\n line-height: 1.167em;\\n font-weight: 500; }\\n.main-container .preferences-form {\\n display: flex;\\n flex-direction: column; }\\n.main-container .preferences-form-checkbox-option {\\n margin-top: 12px; }\\napp-modal-box {\\n text-align: center; }\\napp-modal-box h1 {\\n font-size: 1.875em;\\n line-height: 1.23333333em;\\n font-weight: 500;\\n color: #00cfff; }\\napp-modal-box p {\\n margin-bottom: 40px; }\\n@media screen and (min-width: 980px) {\\n .main-container {\\n padding: calc(60px + 80px) 18.31% 70px 18.31%; }\\n .main-container .main-title {\\n font-size: 2.8125em;\\n line-height: 1.11111111em; }\\n app-modal-box h1 {\\n font-size: 2.8125em;\\n line-height: 0.82222222em;\\n font-weight: 500;\\n color: #00cfff;\\n margin-bottom: 10px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L215LXByZWZlcmVuY2VzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9teS1wcmVmZXJlbmNlcy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L215LXByZWZlcmVuY2VzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9teS1wcmVmZXJlbmNlcy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS9teS1wcmVmZXJlbmNlcy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvbXktcHJlZmVyZW5jZXMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvbXktcHJlZmVyZW5jZXMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXHNoYXJlZFxcYXBwLW1lbnVcXG15LXByZWZlcmVuY2VzXFxteS1wcmVmZXJlbmNlcy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L215LXByZWZlcmVuY2VzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L215LXByZWZlcmVuY2VzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvbXktcHJlZmVyZW5jZXMvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDRSxtQkFBa0I7RUFDbEIsUUFBTztFQUNQLFNBQVE7RUFDUixPQUFNO0VBQ04sK0NBQTRFO0VBQzVFLFlBQVc7RUFDWCwwQkNJYyxFRGNmO0FBekJEO0lBVUksb0JBQW1CO0lBQ25CLGVDVWU7SURUZixtQkFBa0I7SUFDbEIscUJBQW9CO0lBQ3BCLGlCRWN1QixFRmJ4QjtBQWZIO0lBa0JJLGNBQWE7SUFDYix1QkFBc0IsRUFLdkI7QUF4Qkg7TUFzQk0saUJBQWdCLEVBQ2pCO0FBSUw7RUFDRSxtQkFBa0IsRUFZbkI7QUFiRDtJQUlJLG1CR3lGOEI7SUh4RjlCLDBCR3dGOEI7SUh2RjlCLGlCRUx1QjtJRk12QixlQy9Cb0IsRURnQ3JCO0FBUkg7SUFXSSxvQkFBbUIsRUFDcEI7QUZnQ1M7RUU1QlY7SUFDRSw4Q0FBeUUsRUFNMUU7SUFQRDtNQUlJLG9CR3lFNEI7TUh4RTVCLDBCR3dFNEIsRUh2RTdCO0VBR0g7SUFFSSxvQkdrRTRCO0lIakU1QiwwQkdpRTRCO0lIaEU1QixpQkU1QnFCO0lGNkJyQixlQ3REa0I7SUR1RGxCLG9CQUFtQixFQUNwQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L215LXByZWZlcmVuY2VzL215LXByZWZlcmVuY2VzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvdGhlbWUtaW1wb3J0c1wiO1xyXG5cclxuLm1haW4tY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgcGFkZGluZzogY2FsYyg1MHB4ICsgI3skc3RpY2t5LWhlYWRlci1oZWlnaHR9ICsgI3skb3MtcGFkZGluZ30pIDEyJSAzNnB4IDEyJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuXHJcbiAgLm1haW4tdGl0bGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS05MDAnKTtcclxuICAgIGZvbnQtc2l6ZTogMS44NzVlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE2N2VtO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XHJcbiAgfVxyXG5cclxuICAucHJlZmVyZW5jZXMtZm9ybSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAmLWNoZWNrYm94LW9wdGlvbiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtbW9kYWwtYm94IHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMzBweCk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMzdweCwgMzBweCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWluLXdpZHRoKG0pIHtcclxuICAubWFpbi1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogY2FsYyg2MHB4ICsgI3skc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcH0pIDE4LjMxJSA3MHB4IDE4LjMxJTtcclxuXHJcbiAgICAubWFpbi10aXRsZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogZW0oNDVweCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBlbSg1MHB4LCA0NXB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFwcC1tb2RhbC1ib3gge1xyXG4gICAgaDEge1xyXG4gICAgICBmb250LXNpemU6IGVtKDQ1cHgpO1xyXG4gICAgICBsaW5lLWhlaWdodDogZW0oMzdweCwgNDVweCk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iXX0= */\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl } from '@angular/forms';\r\nimport { PopinService } from '../../ui/popin.service';\r\nimport { StickyHeaderFormService } from '../../ui/sticky-header-form.service';\r\nimport { UserManagementService } from 'app/shared/user/userManagement.service';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { PreferencesModel } from './preferences.model';\r\n\r\n@Component({\r\n selector: 'app-my-preferences',\r\n templateUrl: './my-preferences.component.html',\r\n styleUrls: ['./my-preferences.component.scss']\r\n})\r\nexport class MyPreferencesComponent implements OnInit, OnDestroy {\r\n\r\n public form: FormGroup;\r\n public openSubmitBox: boolean;\r\n public submitted = false;\r\n public error = false;\r\n public nativeForm;\r\n public loading = true;\r\n private initialState: PreferencesModel;\r\n private componentActive = true;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private popinService: PopinService,\r\n private userManagementService: UserManagementService,\r\n private stickyHeaderFormService: StickyHeaderFormService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.userManagementService.getMyUserPreferences().pipe(takeWhile(() => this.componentActive))\r\n .subscribe((preferences: PreferencesModel) => {\r\n if (preferences) {\r\n this.initialState = preferences;\r\n this.form = this.formBuilder.group({\r\n notificationByEmail: new FormControl(preferences.notificationByEmail),\r\n notificationByPush: new FormControl(preferences.notificationByPush),\r\n });\r\n\r\n this.stickyHeaderFormService.hasCanceled.pipe(takeWhile(() => this.componentActive))\r\n .subscribe(status => {\r\n if (status) {\r\n this.cancelFormValuesChange();\r\n }\r\n });\r\n\r\n this.stickyHeaderFormService.hasSubmitted.pipe(takeWhile(() => this.componentActive))\r\n .subscribe(status => {\r\n if (status) {\r\n this.onSubmit();\r\n }\r\n });\r\n\r\n this.formValuesChangesListener();\r\n this.popinService.opened(true);\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n private formValuesChangesListener() {\r\n this.form.valueChanges.pipe(takeWhile(() => this.componentActive))\r\n .subscribe(() => this.openSubmitBox = true);\r\n }\r\n\r\n public onSubmit() {\r\n this.userManagementService.updateMyUserPreferences(this.form.value).pipe(takeWhile(() => this.componentActive))\r\n .subscribe(() => {\r\n this.error = false;\r\n this.openSubmitBox = false;\r\n this.popinService.opened(false);\r\n }, () => {\r\n this.error = true;\r\n });\r\n }\r\n\r\n public cancelFormValuesChange() {\r\n this.form.get('notificationByEmail').setValue(this.initialState.notificationByEmail);\r\n this.form.get('notificationByPush').setValue(this.initialState.notificationByPush);\r\n this.error = false;\r\n this.openSubmitBox = false;\r\n }\r\n\r\n public onBackClick() {\r\n this.popinService.opened(false);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stickyHeaderFormService.hasSubmitted.next(false);\r\n this.stickyHeaderFormService.hasCanceled.next(false);\r\n this.submitted = false;\r\n this.popinService.opened(false);\r\n this.componentActive = false;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host {\\n z-index: 1; }\\n.user-menu {\\n height: 65px;\\n background-color: #050b7f;\\n color: #FFFFFF; }\\n.user-menu-items {\\n height: 100%;\\n display: flex;\\n align-items: stretch; }\\n.user-menu-items .decorative-anchor {\\n display: none; }\\n.user-menu-items li {\\n position: relative;\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n width: 20%;\\n height: 100%;\\n font-weight: 500;\\n font-size: 0.5em;\\n text-align: center;\\n text-transform: uppercase;\\n color: #d1d1d1;\\n transition: color 0.2s ease, background-color 0.4s ease; }\\n.user-menu-items li:hover {\\n cursor: pointer; }\\n.user-menu-items li .menu-notif-container {\\n position: absolute;\\n right: 50%;\\n top: 5px;\\n width: 15px;\\n height: 15px;\\n border-radius: 50%;\\n background-color: #5e4fea;\\n font-weight: 500;\\n font-size: 8px;\\n line-height: 15px;\\n text-align: center;\\n transform: translate3d(0, 0, 0) translateX(30px); }\\n.user-menu-items li a {\\n align-items: center;\\n text-decoration: none;\\n text-align: center;\\n color: #FFFFFF;\\n transition: color 0.2s ease; }\\n.user-menu-items li a .item-text {\\n margin-top: 5px;\\n display: block;\\n font-weight: 600;\\n word-break: break-word;\\n font-size: 12px; }\\n.user-menu-items li a .item-icon {\\n font-size: 20px; }\\n.user-menu-items li a .menu-feed {\\n width: 20px;\\n height: 20px; }\\n.user-menu-items li a .menu-car {\\n width: 24px;\\n height: 20px; }\\n.user-menu-items li a .menu-bike {\\n width: 17px;\\n height: 28px; }\\n.user-menu-items li a .menu-van {\\n width: 27px;\\n height: 22px; }\\n.user-menu-items li a .menu-glove-box {\\n width: 24px;\\n height: 20px; }\\n.user-menu-items li a .menu-services {\\n width: 14px;\\n height: 20px; }\\n.user-menu-items li a .menu-more {\\n width: 5px;\\n height: 20px; }\\n.user-menu-items li a:active {\\n color: #FFFFFF; }\\n.user-menu-items li.active {\\n background-color: #040966;\\n color: #FFFFFF;\\n transition: color 0.2s ease, background-color 0.4s ease; }\\n.user-menu-items li.active a {\\n color: #FFFFFF;\\n transition: color 0.2s ease; }\\n/*Screen Size : m*/\\n@media screen and (min-width: 980px) {\\n .item-icon {\\n width: 45px;\\n height: 45px;\\n border-radius: 45px;\\n background-color: white;\\n position: relative;\\n margin-right: 10px; }\\n .item-icon ald-icon {\\n font-size: 25px;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n color: #050b7f; }\\n :host {\\n z-index: 0;\\n min-height: 650px; }\\n .user-menu {\\n height: 100%;\\n padding-top: 65px;\\n background-color: #050b7f;\\n color: #FFFFFF; }\\n .user-menu-header {\\n text-align: center;\\n width: 9.375em;\\n margin: 0 auto 0 auto; }\\n .user-menu-header .title {\\n font-size: 1.563em;\\n line-height: 1.563em;\\n font-weight: 700;\\n font-family: \\\"montserrat\\\", Arial, sans-serif;\\n color: #FFFFFF; }\\n .user-menu-header .sub-title {\\n font-size: 0.75em;\\n line-height: 0.938em;\\n font-weight: 500;\\n color: #FFFFFF; }\\n .user-menu-items {\\n position: absolute;\\n left: 0;\\n top: 50%;\\n margin-top: -175px;\\n width: 100%;\\n height: 400px;\\n display: flex;\\n flex-direction: column; }\\n .user-menu-items .decorative-anchor {\\n display: block;\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 5px;\\n height: 80px;\\n background-color: #00cfff;\\n transition: 0.3s ease-out;\\n will-change: auto; }\\n .user-menu-items li {\\n max-height: 80px;\\n position: relative;\\n display: flex;\\n justify-content: flex-start;\\n align-items: center;\\n padding-left: 50px;\\n width: 100%;\\n height: 80px;\\n font-weight: 500;\\n font-size: 1em;\\n text-align: left;\\n text-transform: none;\\n color: #FFFFFF;\\n transition: color 0.2s ease, background-color 0.2s ease; }\\n .user-menu-items li .menu-notif-container {\\n right: 150px;\\n top: 15px;\\n z-index: 1;\\n transform: none; }\\n .user-menu-items li a {\\n align-items: center;\\n height: 100%;\\n display: flex;\\n align-self: flex-start;\\n text-decoration: none;\\n text-align: center;\\n color: rgba(255, 255, 255, 0.5);\\n transition: color 0.3s ease; }\\n .user-menu-items li a .item-text {\\n margin-top: 0;\\n display: inline-block;\\n vertical-align: top;\\n max-width: 100px;\\n word-break: break-word;\\n text-align: start;\\n font-size: 16px; }\\n .user-menu-items li.active {\\n background-color: transparent;\\n color: #00cfff;\\n transition: color 0.3s ease, background-color 0.3s ease; }\\n .user-menu-items li.active a {\\n color: #00cfff;\\n transition: color 0.3s ease; }\\n .user-menu-items li.active a .item-icon {\\n background-color: #00cfff; }\\n .user-menu-items li.active a ald-icon {\\n color: #050b7f; }\\n .brand-logo-container {\\n position: absolute;\\n bottom: 50px;\\n left: 0;\\n right: 0; }\\n .brand-logo-container img {\\n display: block;\\n max-width: 100%;\\n height: auto;\\n margin: auto; } }\\n/*Screen Size : m + max-height 650*/\\n@media screen and (min-width: 980px) and (max-height: 650px) {\\n :host {\\n min-height: 530px; }\\n .user-menu {\\n padding-top: 35px; }\\n .user-menu-items {\\n height: 310px;\\n margin-top: -185px; }\\n .user-menu-items .decorative-anchor {\\n height: 62px; }\\n .user-menu-items li a .icon-container {\\n width: 45px;\\n height: 45px; }\\n .user-menu-items li a .icon-container::before {\\n width: 45px;\\n height: 45px; } }\\n@media (max-height: 768px) {\\n .user-menu .user-menu-items li {\\n max-height: 65px;\\n height: 65px; } }\\n@media (max-height: 360px) and (max-width: 980px) {\\n :host {\\n display: none; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L3VzZXItbWVudS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvdXNlci1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvdXNlci1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS91c2VyLW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvdXNlci1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS91c2VyLW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvdXNlci1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGFwcC1tZW51XFx1c2VyLW1lbnVcXHVzZXItbWVudS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2FwcC1tZW51L3VzZXItbWVudS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS91c2VyLW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hcHAtbWVudS91c2VyLW1lbnUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvdXNlci1tZW51L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF92YXJzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLFdBQVUsRUFDYjtB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QixxQkFBb0I7TUFDcEIsZUM5TUk7TUQrTUosd0RBQXVELEVBZ0QxRDtNQXJGTDtRQXdDWSxhQUFZO1FBQ1osVUFBUztRQUNULFdBQVU7UUFDVixnQkFBZSxFQUNsQjtNQTVDVDtRQStDWSxvQkFBbUI7UUFDbkIsYUFBWTtRQUNaLGNBQWE7UUFDYix1QkFBc0I7UUFDdEIsc0JBQXFCO1FBQ3JCLG1CQUFrQjtRQUNsQixnQ0FBeUQ7UUFDekQsNEJBQTJCLEVBVzlCO1FBakVUO1VBeURnQixjQUFhO1VBQ2Isc0JBQXFCO1VBQ3JCLG9CQUFtQjtVQUNuQixpQkFBZ0I7VUFDaEIsdUJBQXNCO1VBQ3RCLGtCQUFpQjtVQUNqQixnQkFBZSxFQUNsQjtNQWhFYjtRQW9FWSw4QkFBNkI7UUFDN0IsZUN2UFE7UUR3UFIsd0RBQXVELEVBYzFEO1FBcEZUO1VBeUVnQixlQzNQSTtVRDRQSiw0QkFBMkIsRUFTOUI7VUFuRmI7WUE2RW9CLDBCQy9QQSxFRGdRSDtVQTlFakI7WUFpRm9CLGVDcFFOLEVEcVFHO0VBTWpCO0lBQ0ksbUJBQWtCO0lBQ2xCLGFBQVk7SUFDWixRQUFPO0lBQ1AsU0FBUSxFQVFYO0lBWkQ7TUFPUSxlQUFjO01BQ2QsZ0JBQWU7TUFDZixhQUFZO01BQ1osYUFBWSxFQUNmLEVBQUE7QUFLVCxvQ0FBb0M7QUY1TnhCO0VFK05SO0lBQ0ksa0JBQWlCLEVBQ3BCO0VBRUQ7SUFDSSxrQkFBaUIsRUFDcEI7RUFFRDtJQUNJLGNBQWE7SUFDYixtQkFBa0IsRUFtQnJCO0lBckJEO01BS1EsYUFBWSxFQUNmO0lBTkw7TUFXZ0IsWUFBVztNQUNYLGFBQVksRUFNZjtNQWxCYjtRQWVvQixZQUFXO1FBQ1gsYUFBWSxFQUNmLEVBQUE7QUFPckI7RUFDSTtJQUNJLGlCQUFnQjtJQUNoQixhQUFZLEVBQ2YsRUFBQTtBQU9MO0VBQ0k7SUFDSSxjQUFhLEVBQ2hCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvYXBwLW1lbnUvdXNlci1tZW51L3VzZXItbWVudS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL3RoZW1lLWltcG9ydHNcIjtcclxuXHJcbjpob3N0IHtcclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi51c2VyLW1lbnUge1xyXG4gICAgaGVpZ2h0OiAkdXNlci1tZW51LWhlaWdodDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG59XHJcblxyXG4udXNlci1tZW51LWl0ZW1zIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuXHJcbiAgICAuZGVjb3JhdGl2ZS1hbmNob3Ige1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjVlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogZGFya2VuKG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpLCAxOCUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjRzIGVhc2U7XHJcblxyXG4gICAgICAgIC5tZW51LW5vdGlmLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDUwJTtcclxuICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3NlY29uZGFyeScpO1xyXG5cclxuXHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgdHJhbnNsYXRlWCgzMHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XHJcblxyXG4gICAgICAgICAgICAuaXRlbS10ZXh0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pdGVtLWljb24ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubWVudS1mZWVkIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tZW51LWNhciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVudS1iaWtlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tZW51LXZhbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjdweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVudS1nbG92ZS1ib3gge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1lbnUtc2VydmljZXMge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1lbnUtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5JyksIDUlKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC40cyBlYXNlO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKlNjcmVlbiBTaXplIDogbSovXHJcbkBpbmNsdWRlIG1pbi13aWR0aChtKSB7XHJcblxyXG4gICAgLml0ZW0taWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQ1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICBhbGQtaWNvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyKGJvdGgpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnknKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgOmhvc3Qge1xyXG4gICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgbWluLWhlaWdodDogNjUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnVzZXItbWVudSB7XHJcbiAgICAgICAgaGVpZ2h0OiAkdXNlci1tZW51LWhlaWdodC1kZXNrdG9wO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgIH1cclxuXHJcbiAgICAudXNlci1tZW51LWhlYWRlciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiA5LjM3NWVtO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDAgYXV0bztcclxuXHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjU2M2VtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjNlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3ViLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzOGVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudXNlci1tZW51LWl0ZW1zIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMTc1cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgIC5kZWNvcmF0aXZlLWFuY2hvciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLW91dDtcclxuICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcblxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XHJcblxyXG4gICAgICAgICAgICAubWVudS1ub3RpZi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUobWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0JyksIDAuNSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgLml0ZW0tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5pdGVtLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYWxkLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnknKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJyYW5kLWxvZ28tY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qU2NyZWVuIFNpemUgOiBtICsgbWF4LWhlaWdodCA2NTAqL1xyXG5AaW5jbHVkZSBtaW4td2lkdGgobSwgXCIobWF4LWhlaWdodDo2NTBweClcIikge1xyXG5cclxuICAgIDpob3N0IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA1MzBweDtcclxuICAgIH1cclxuXHJcbiAgICAudXNlci1tZW51IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMzVweDtcclxuICAgIH1cclxuXHJcbiAgICAudXNlci1tZW51LWl0ZW1zIHtcclxuICAgICAgICBoZWlnaHQ6IDMxMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xODVweDtcclxuXHJcbiAgICAgICAgLmRlY29yYXRpdmUtYW5jaG9yIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIC5pY29uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtaGVpZ2h0OiA3NjhweCkge1xyXG4gICAgLnVzZXItbWVudSAudXNlci1tZW51LWl0ZW1zIGxpIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA2NXB4O1xyXG4gICAgICAgIGhlaWdodDogNjVweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gV2hlbiB3aW5kb3cncyBoZWlndGgncyB0b28gc2hvcnQgdG8gZGlzcGxheSB1c2VyLW1lbnVcclxuLy8gQWxzbyB1c2UgYXMgYSB0cmljayB3aGVuIEFuZHJvaWQncyBrZXlib2FyZCBpcyBvcGVuXHJcbi8vIGFuZHJvaWQncyBrZXlib2FyZCBhY3R1YWxseSByZWR1Y2UgdGhlIGhlaWdodCBvZiB0aGUgYXBwIChleCA6IGNocm9tZSBtb2JpbGUgYnJvd3NlcilcclxuLy8gaU9TIGlzIHNtYXJ0IGVub3VnaHQgdG8gb3BlbiB0aGVyZSBrZXlib2FyZCBhYm92ZSB0aGUgY3VycmVudCBhcHBcclxuQG1lZGlhIChtYXgtaGVpZ2h0OiAzNjBweCkgYW5kIChtYXgtd2lkdGg6IDk4MHB4KSB7XHJcbiAgICA6aG9zdCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiQGltcG9ydCAndmFycyc7XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJHBhdGgsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICBzcmMgOiB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICB9XHJcblxyXG59XHJcblxyXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XHJcbiAgJHJlbVNpemU6ICRzaXplIC8gMTZweDtcclxuICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA4MDA7XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiIsIi8vIyMgR2VuZXJhbFxyXG4kY2RuLWZvbnQtcGF0aDogJ2ZvbnRzJztcclxuJGNkbi1pY29uLXBhdGg6ICdpY29ucyc7XHJcblxyXG5cclxuLy8gIyMgRm9udHNcclxuJGZvbnQtZmFtaWx5OiAnc291cmNlLXNhbnMnLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LWhlYWRsaW5lOiAnbW9udHNlcnJhdCcsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gIyBHZW5lcmFsIGVsZW1lbnRzIHN0eWxlc1xyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiRib3gtc2hhZG93LW1lZGl1bTogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Nik7XHJcbiRib3gtc2hhZG93LWxpZ2h0OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjk4KTtcclxuJGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHJcbi8vICMjIE5hdmlnYXRpb25cclxuJG5hdmlnYXRpb24td2lkdGg6IDI2MHB4O1xyXG4kbmF2aWdhdGlvbi1tb2JpbGUtaGVpZ2h0OiA1MHB4O1xyXG5cclxuLy8gIyMgTGF5b3V0XHJcbiRjb250ZW50LXBhZGRpbmc6IDUwcHg7XHJcbiRjb250ZW50LXBhZGRpbmctbW9iaWxlOiAyMHB4O1xyXG5cclxuXHJcblxyXG4iXX0= */\"","import { ContractService } from '../../../driver/shared/contract/contract.service';\r\nimport { Router } from '@angular/router';\r\nimport { Driver } from '../../../driver/shared/models/driver.model';\r\nimport { AfterViewChecked, Component, ElementRef, HostListener, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { DriverService } from '../../../driver/shared/driver.service';\r\nimport { AppConfigService } from '../../config/app-config.service';\r\nimport { contractsContainsStatusOfType } from '../../../driver/shared/contract/contract-status.helper';\r\nimport { ContractConsolidatedStatusType } from '../../../driver/shared/contract/contract-status.const';\r\nimport { combineLatest } from 'rxjs';\r\nimport { ConfigurationService } from '../../config/configuration.service';\r\nimport { AppStorageService } from '../../storage/common/app-storage.service';\r\nimport { FeatureService } from '../../../shared/feature/feature.service';\r\nimport { FeatureConst } from '../../../shared/feature/feature.consts';\r\nimport { COUNTRIES } from '../../../shared/translation/translation.settings';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'app-user-menu',\r\n templateUrl: 'user-menu.component.html',\r\n styleUrls: ['user-menu.component.scss']\r\n})\r\nexport class UserMenuComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n\r\n public anchorMovedOnInit = false;\r\n public isDesktop = false;\r\n\r\n public hasVehicules = true;\r\n public hasVan = false;\r\n public hasBike = false;\r\n public hasCar = false;\r\n public isProspect: boolean;\r\n public isQuoterActivated = false;\r\n public isSmartCareActivated: boolean;\r\n public isAldQuoteActivated = true;\r\n public isCarSelectorActivated: boolean;\r\n\r\n public driver: Driver = null;\r\n public hasDriverActiveContract = false;\r\n public numNewNotifications = 0;\r\n @ViewChild('decorativeAnchor')\r\n public decorativeAnchor: ElementRef;\r\n private subscriptions = [];\r\n public countryLogo: string;\r\n\r\n constructor(private appConfig: AppConfigService,\r\n private element: ElementRef,\r\n public driverService: DriverService,\r\n private contractService: ContractService,\r\n private router: Router,\r\n private configurationService: ConfigurationService,\r\n private featureService: FeatureService,\r\n private appStorageService: AppStorageService) {\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize($event = null) {\r\n this.isDesktop = (window.innerWidth > this.appConfig.config.breakpoints.m);\r\n\r\n if (this.isDesktop && this.element.nativeElement.querySelector('.active a')) {\r\n this.moveAnchor(this.element.nativeElement.querySelector('.active a'));\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n const countrySelected = this.appStorageService.countrySelected;\r\n const countryName = _.findKey(COUNTRIES, { 'country_code': countrySelected });\r\n this.countryLogo = COUNTRIES[countryName].company_logo;\r\n\r\n this.getVehiculeType();\r\n this.onResize();\r\n combineLatest(\r\n this.featureService.isFeatureActivated(FeatureConst.features.Quoter),\r\n this.featureService.isFeatureActivated(FeatureConst.features.CarSelector),\r\n this.featureService.isFeatureActivated(FeatureConst.features.AldQuote),\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'CarSelectorUrl']),\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'AldQuoteUrl']),\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'SmartCareUrl'])\r\n ).subscribe(([isQuoterActivated, isCarSelectorActivated, isAldQuoteActivated, carSelectorUrl, aldQuoteUrl, isSmartCareActivated]) => {\r\n this.isQuoterActivated = isQuoterActivated;\r\n this.isAldQuoteActivated = isAldQuoteActivated && aldQuoteUrl ? true : false;\r\n this.isCarSelectorActivated = isCarSelectorActivated && carSelectorUrl ? true : false;\r\n this.isSmartCareActivated = isSmartCareActivated ? true : false;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (!this.anchorMovedOnInit && this.element.nativeElement.querySelector('.active a')) {\r\n this.moveAnchor(this.element.nativeElement.querySelector('.active a'));\r\n this.anchorMovedOnInit = true;\r\n }\r\n }\r\n\r\n // EventHandler\r\n public onClick($event) {\r\n this.moveAnchor($event.target);\r\n }\r\n\r\n goTo(path) {\r\n if (this.contractService.currentContractId && path[0] === '/cars') {\r\n path[1] = this.contractService.currentContractId;\r\n }\r\n this.router.navigate(path);\r\n }\r\n\r\n private getVehiculeType() {\r\n const driverSubscription = this.driverService.driverStream.subscribe(\r\n (driver: Driver) => {\r\n if (driver) {\r\n this.hasVehicules = false;\r\n this.hasDriverActiveContract = contractsContainsStatusOfType(driver.contracts, ContractConsolidatedStatusType.Active);\r\n this.driver = driver;\r\n if (driver.carMakes.length > 1) {\r\n this.hasVehicules = true;\r\n } else if (driver.carMakes.length > 0) {\r\n if (driver.carMakes[0].type === 'van') {\r\n this.hasVan = true;\r\n } else if (driver.carMakes[0].type === 'bike') {\r\n this.hasBike = true;\r\n } else {\r\n this.hasCar = true;\r\n }\r\n }\r\n if (driver.roles && driver.roles.length) {\r\n this.isProspect = driver.roles.includes('Prospect' || 'prospect' || 'PROSPECT');\r\n }\r\n }\r\n }, () => {\r\n });\r\n\r\n this.subscriptions.push(driverSubscription);\r\n }\r\n\r\n private findAncestorItem(el) {\r\n while ((el = el.parentNode) && !el.classList.contains('item')) { }\r\n return el;\r\n }\r\n\r\n private moveAnchor(target) {\r\n const itemTarget = this.findAncestorItem(target);\r\n this.decorativeAnchor.nativeElement.style.top = itemTarget.offsetTop + 'px';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, combineLatest } from 'rxjs';\r\nimport { DriverService } from '../../driver/shared/driver.service';\r\nimport { Driver } from '../../driver/shared/models/driver.model';\r\nimport { UserService } from '../user/user.service';\r\nimport { TranslationService } from '../translation/translation.service';\r\nimport { FeatureService } from '../feature/feature.service';\r\nimport { AppInsightsService } from 'ng2-appinsights';\r\nimport { AuthStorageService } from '../storage/auth/auth-storage.service';\r\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { ConfigurationService } from '../config/configuration.service';\r\nimport { ConfigurationModel } from '../config/configuration.model';\r\nimport { DocumentRef } from '../helper/document.ref';\r\nimport { ProspectAccessService } from './prospect-access.service';\r\nimport { of } from 'rxjs/observable/of';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\nimport { UserRoles } from '../user/userRoles.const';\r\nimport { ModalService } from '../ui/modal.service';\r\nimport ModalCode from '../../shared/modal-box/ModalCode';\r\n\r\n\r\n@Injectable()\r\nexport class AccessService implements CanActivate {\r\n\r\n constructor(\r\n private router: Router,\r\n private driverService: DriverService,\r\n private userService: UserService,\r\n private translationService: TranslationService,\r\n private featureService: FeatureService,\r\n private appinsightsService: AppInsightsService,\r\n private prospectAccessService: ProspectAccessService,\r\n private authStorage: AuthStorageService,\r\n private configurationService: ConfigurationService,\r\n private documentRef: DocumentRef,\r\n private appStorageService: AppStorageService,\r\n private modalService: ModalService) {\r\n }\r\n\r\n public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n return this.giveAccess(route, state);\r\n }\r\n\r\n public giveAccess(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n return combineLatest(\r\n this.driverService.driver,\r\n this.driverService.newDriver,\r\n this.prospectAccessService.canActivate(route, state))\r\n .switchMap(([user, newUser, isProspectAllowed]) => {\r\n const daysBeforePasswordExpires = newUser.passwordExpirationDate ? Math.ceil((new Date(newUser.passwordExpirationDate).getTime() - new Date().getTime()) / (1000 * 3600 * 24)) : null;\r\n if (daysBeforePasswordExpires && daysBeforePasswordExpires <= 15) {\r\n const lastShowDate = new Date(this.appStorageService.get('expirationPasswordPopinShown')) || null;\r\n const showExpirationPopin = !lastShowDate || Math.floor((new Date().getTime() - lastShowDate.getTime()) / (1000 * 3600 * 24)) >= 1;\r\n if (showExpirationPopin) {\r\n this.modalService.modalCode = ModalCode.PASSWORD_EXPIRATION;\r\n this.appStorageService.set('expirationPasswordPopinShown', new Date(), AppStorageService.STORES.LOCAL);\r\n this.modalService.openModal('password-expiration', 'global-expiration_password_popin-title', 'global-expiration_password_popin-close', 'global-expiration_password_popin-change_now', null, null, daysBeforePasswordExpires);\r\n this.modalService.modalActionObservable.subscribe(\r\n status => {\r\n if (status === true && this.modalService.modalCode === ModalCode.PASSWORD_EXPIRATION) {\r\n this.modalService.reset();\r\n this.router.navigate(['/feed/reset-password']);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n this.setUserContext(user);\r\n this.accessTracking(user);\r\n\r\n const userRoles = this.userService.getRoles();\r\n\r\n // if user is a prospect, check prospect-access-guard to return true or false\r\n if (isProspectAllowed !== null) {\r\n return of(isProspectAllowed);\r\n }\r\n\r\n // if user is not a driver, a double profile (driver) or a prospect, redirect to manager and returns false\r\n this.doubleProfileStorage(route.queryParams['activedriver']);\r\n const isDriver = userRoles.includes('driver');\r\n const isProspect = userRoles.includes('prospect');\r\n const isPreferredRoleDriver = this.authStorage.preferredRole && this.authStorage.preferredRole === 'driver';\r\n\r\n if (!isDriver && !isProspect && !isPreferredRoleDriver) {\r\n this.redirectToManagerV2();\r\n return of(false);\r\n };\r\n\r\n // finally if user is a driver or a double profile/driver, check if they have contracts\r\n if ((isDriver || isPreferredRoleDriver) && (!user.contracts || user.contracts.length === 0)) {\r\n this.authStorage.removeAuth();\r\n this.router.navigate(['/no-contract']);\r\n return of(false);\r\n } else {\r\n return of(true);\r\n }\r\n });\r\n }\r\n\r\n public redirectToSharepoint() {\r\n const driverRole = this.userService.getRoles().filter(role => {\r\n return role !== 'driver';\r\n })[0];\r\n\r\n this.configurationService.getConfItems([this.userService.getCountry(), (driverRole || 'default') + 'SharepointUrl'])\r\n .subscribe((feedback: ConfigurationModel) => {\r\n const { value } = feedback;\r\n this.documentRef.nativeDocument.location = value;\r\n });\r\n }\r\n\r\n public redirectToManagerV2() {\r\n this.configurationService.getConfItems([this.userService.getCountry(), 'ManagerWebsiteUrl'])\r\n .subscribe(\r\n (feedback: ConfigurationModel) => {\r\n this.authStorage.removeAuth();\r\n const { value } = feedback;\r\n this.documentRef.nativeDocument.location = value;\r\n });\r\n }\r\n\r\n private setUserContext(driver: Driver) {\r\n this.userService.userId = driver.userId;\r\n this.userService.culture = driver.culture;\r\n this.userService.roles = driver.roles;\r\n this.userService.roles = this.userService.roles.map(r => r.toLowerCase());\r\n\r\n if (this.userService.roles.find(r => r === UserRoles.Driver)) {\r\n this.appStorageService.currentUserRole = UserRoles.Driver;\r\n } else if (this.userService.roles.find(r => r === UserRoles.Prospect)) {\r\n this.appStorageService.currentUserRole = UserRoles.Prospect;\r\n }\r\n\r\n this.translationService.language = driver.culture;\r\n this.featureService.updateFeaturesList();\r\n }\r\n\r\n private accessTracking(driver: Driver) {\r\n this.appinsightsService.setAuthenticatedUserContext(driver.userId);\r\n }\r\n\r\n private doubleProfileStorage(activeDriver: string) {\r\n if (activeDriver && activeDriver === 'true') {\r\n this.authStorage.preferredRole = 'driver';\r\n }\r\n if (this.userService.getRoles().includes('fleetmanager') && !this.authStorage.preferredRole) {\r\n this.authStorage.preferredRole = 'fleetmanager';\r\n }\r\n }\r\n}\r\n","import { environment } from 'environments/environment';\r\n\r\nexport const AuthConst = {\r\n api: {\r\n base: environment.apigatewayUrl + '/apigateway/',\r\n endpoints: {\r\n endCreateProspectPassword: 'UserManagement/api/Prospect/CreateAccount',\r\n prospectCheckToken: 'UserManagement/api/Prospect/CheckToken/',\r\n userCheckToken: 'UserManagement/api/User/CheckToken/',\r\n }\r\n },\r\n status: {\r\n LOGGED_IN: 'in',\r\n LOGGED_OUT: 'out',\r\n PENDING: 'pending'\r\n },\r\n};\r\n","import { ActivatedRoute, ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { RequestParameter } from '../common/request-parameter.model';\r\nimport { JwtHelper } from 'angular2-jwt';\r\nimport { ConfigurationService } from '../config/configuration.service';\r\nimport { ConfigurationModel } from 'app/shared/config/configuration.model';\r\nimport { AuthConst } from './auth.const';\r\nimport { AuthStorageService } from '../storage/auth/auth-storage.service';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { ApiHelper } from '../common/api.helper';\r\nimport { WindowRef } from '../helper/window.ref';\r\nimport { ConfigurationItems } from '../config/configuration-items';\r\nimport { DriverService } from 'app/driver/shared/driver.service';\r\n\r\n@Injectable()\r\nexport class AuthService implements CanActivate {\r\n\r\n public authStatus$: BehaviorSubject;\r\n private _accessToken: any = null;\r\n private _refreshToken: any;\r\n private _tokenExpires: any;\r\n private jwtHelper: JwtHelper = new JwtHelper();\r\n private _authStatus: any;\r\n\r\n constructor(\r\n private router: Router,\r\n private authStorage: AuthStorageService,\r\n private appStorage: AppStorageService,\r\n private configurationService: ConfigurationService,\r\n private http: HttpClient,\r\n private apiHelper: ApiHelper,\r\n private activatedRoute: ActivatedRoute,\r\n private window: WindowRef,\r\n private driverService: DriverService) {\r\n\r\n this.authStatus$ = new BehaviorSubject(AuthConst.status.LOGGED_OUT);\r\n\r\n if (this.authStorage.rememberAuth) {\r\n this.updateValues();\r\n }\r\n }\r\n\r\n public get isAuthenticated(): boolean {\r\n return this._authStatus === AuthConst.status.LOGGED_IN;\r\n }\r\n\r\n public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n if (!this.isAuthenticated) {\r\n this.appStorage.set('returnVisit', true);\r\n let navigationParameters = {};\r\n const returnUrl = route.queryParams.returnUrl;\r\n if (returnUrl !== undefined && returnUrl !== null) {\r\n navigationParameters = { queryParams: { returnUrl: returnUrl } };\r\n }\r\n this.router.navigate(['/start/login'], navigationParameters);\r\n }\r\n return this.isAuthenticated;\r\n }\r\n\r\n public setAuthStorage(tokens) {\r\n this.clearValues();\r\n this.authStorage.rememberAuth = tokens;\r\n this.updateValues();\r\n this.updateAuthStatus(AuthConst.status.LOGGED_IN);\r\n }\r\n\r\n public clearAuthentication(hasToRedirect = false) {\r\n this.clearValues();\r\n this.driverService.clearDriver();\r\n this.updateAuthStatus(AuthConst.status.LOGGED_OUT);\r\n\r\n if (hasToRedirect) {\r\n this.router.navigate(['/start/login']);\r\n }\r\n }\r\n\r\n public refreshToken(): Observable {\r\n const adfsUrl = new URL(environment.adfsUrl);\r\n\r\n const params: RequestParameter[] = [];\r\n params.push(new RequestParameter('grant_type', 'refresh_token'));\r\n params.push(new RequestParameter('refresh_token', this.authStorage.refreshToken));\r\n params.push(new RequestParameter('client_id', adfsUrl['searchParams'].get('client_id')));\r\n params.push(new RequestParameter('redirect_uri', adfsUrl['searchParams'].get('redirect_Uri')));\r\n\r\n const headers = new HttpHeaders({ 'Content-type': 'application/x-www-form-urlencoded' });\r\n const options = { headers: headers };\r\n\r\n return this.http.post(\r\n adfsUrl.origin + '/adfs/oauth2/token',\r\n this.apiHelper._stringifyParams(params, 'application/x-www-form-urlencoded'),\r\n options\r\n ).map(response => {\r\n if (response && response.access_token) {\r\n const storageTokens = this.authStorage['rememberAuth'];\r\n storageTokens['access_token'] = response.access_token;\r\n this.authStorage['rememberAuth'] = storageTokens;\r\n this.updateValues();\r\n this.updateAuthStatus(AuthConst.status.LOGGED_IN);\r\n return true;\r\n } else {\r\n this.clearAuthentication(true);\r\n }\r\n }).catch(error => {\r\n this.clearAuthentication(true);\r\n return throwError(error);\r\n });\r\n }\r\n\r\n public redirectIfWrongCountry(tokens): boolean {\r\n const decodedToken = this.jwtHelper.decodeToken(tokens.access_token);\r\n const userCountry = decodedToken['http://www.aldautomotive.fr/claims/country'].toUpperCase();\r\n const domainCountry = this.appStorage.countrySelected.toUpperCase();\r\n const redirect = userCountry !== domainCountry;\r\n\r\n if (redirect) {\r\n this.configurationService.getConfItems([userCountry, ConfigurationItems.DriverWebsiteUrl])\r\n .subscribe((feedback: ConfigurationModel) => {\r\n const { value } = feedback;\r\n this.window.nativeWindow.location.href = `${value}/start/login?returnUrl=/feed`;\r\n }, e => {\r\n console.error('An error has occured: ', e);\r\n });\r\n }\r\n return redirect;\r\n }\r\n\r\n\r\n public endProspectCreatePassword(password: string): Observable {\r\n const params: RequestParameter[] = [];\r\n const key = this.activatedRoute.snapshot.queryParams['key'];\r\n params.push(new RequestParameter('userId', key));\r\n params.push(new RequestParameter('password', password));\r\n return this.sendChangePassword(params, AuthConst.api.base + AuthConst.api.endpoints.endCreateProspectPassword, 'End Ald Create Prospect Password');\r\n }\r\n\r\n private clearValues() {\r\n this.authStorage.removeAuth();\r\n this._accessToken = null;\r\n this._refreshToken = null;\r\n this._tokenExpires = null;\r\n }\r\n\r\n private updateValues() {\r\n this._accessToken = this.authStorage.accessToken;\r\n this._refreshToken = this.authStorage.refreshToken;\r\n this._tokenExpires = this.authStorage.tokenExpires;\r\n this.updateAuthStatus(AuthConst.status.LOGGED_IN)\r\n }\r\n\r\n private updateAuthStatus(status: string) {\r\n this._authStatus = status;\r\n this.authStatus$.next(status);\r\n }\r\n\r\n private sendChangePassword(parameters: RequestParameter[], url: string, eventDescription: string): Observable {\r\n const params = parameters;\r\n const headers = new HttpHeaders({ 'Content-type': 'application/json' });\r\n const options = { headers: headers };\r\n return this.http.post(url, this.apiHelper._stringifyParams(params), options)\r\n .map(response => {\r\n return response;\r\n }).catch(error => {\r\n return throwError(error);\r\n });\r\n }\r\n\r\n public checkUserResetPasswordTokenValidity(token: string): Observable {\r\n const url = AuthConst.api.base + AuthConst.api.endpoints.userCheckToken + token;\r\n return this.http.get(url);\r\n }\r\n\r\n public checkProspectPendingCreationTokenValidity(token: string): Observable {\r\n const url = AuthConst.api.base + AuthConst.api.endpoints.prospectCheckToken + token;\r\n return this.http.get(url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, CanActivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { DriverService } from '../../driver/shared/driver.service';\r\n\r\n@Injectable()\r\nexport class ProspectAccessService implements CanActivate {\r\n\r\n constructor(private driverService: DriverService) {\r\n }\r\n\r\n public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n return this.driverService.driver.map(user => {\r\n const acceptProspect: boolean = route.data['acceptProspect'];\r\n let canAccess = null;\r\n if (user && user.roles.every(role => role.toLowerCase() === 'prospect')) {\r\n if (acceptProspect !== undefined) {\r\n canAccess = acceptProspect;\r\n } else {\r\n canAccess = false;\r\n }\r\n }\r\n return canAccess;\r\n });\r\n }\r\n}\r\n","import { environment } from 'environments/environment';\r\n\r\nexport const SignUpConst = {\r\n api: {\r\n base: environment.apigatewayUrl + '/apigateway/',\r\n endpoints: {\r\n managerV2prospectRequestAccessUrl: 'usermanagement/api/prospect/signup',\r\n managerV2DomainManagementUrl: 'usermanagement/api/prospect/grades/',\r\n managerV2RequestAccessUrl: 'usermanagement/api/Request/RequestAccess',\r\n }\r\n }\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { RequestParameter } from '../common/request-parameter.model';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ApiHelper } from '../common/api.helper';\r\nimport { SignUpConst } from './sign-up.const';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class RequestAccessService {\r\n\r\n headers = new HttpHeaders({'Accept': 'application/json', 'Content-type': 'application/json'});\r\n options = {headers: this.headers};\r\n\r\n constructor(private http: HttpClient,\r\n private apiHelper: ApiHelper) {\r\n }\r\n\r\n tryRequest(params: RequestParameter[], role: string): Promise {\r\n let url: string;\r\n url = SignUpConst.api.base + SignUpConst.api.endpoints.managerV2RequestAccessUrl;\r\n return this.http.post(url, this.apiHelper._stringifyParams(params), this.options).toPromise();\r\n }\r\n\r\n prospectSignUp(params: RequestParameter[]): Promise {\r\n const url = SignUpConst.api.base + SignUpConst.api.endpoints.managerV2prospectRequestAccessUrl;\r\n return this.http.post(url, this.apiHelper._stringifyParams(params), this.options).toPromise();\r\n }\r\n\r\n getGrades(domainId: string): Observable {\r\n const url = SignUpConst.api.base + SignUpConst.api.endpoints.managerV2DomainManagementUrl + domainId;\r\n return this.http.get(url);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

{{ 'global-available_soon_page-message'| translate }}

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.container {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n background-color: #00cfff; }\\n.illustration-container {\\n width: 100%;\\n max-width: 368px;\\n margin: auto;\\n transform: translate3d(0, 0, 0); }\\n.illustration-container img {\\n width: 100%;\\n display: block; }\\n.content-container {\\n width: 75%;\\n max-width: 400px;\\n margin: auto;\\n text-align: center;\\n color: #FFFFFF; }\\nh1 {\\n font-weight: 700;\\n font-size: 1.875em;\\n line-height: 1.23333333em;\\n margin-bottom: 8px; }\\n:host /deep/ p {\\n font-weight: 400;\\n font-size: 0.875em;\\n line-height: 1.42857143em;\\n margin-bottom: 25px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2F2YWlsYWJsZS1zb29uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hdmFpbGFibGUtc29vbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2F2YWlsYWJsZS1zb29uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hdmFpbGFibGUtc29vbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hdmFpbGFibGUtc29vbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXZhaWxhYmxlLXNvb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXZhaWxhYmxlLXNvb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXHNoYXJlZFxcYXZhaWxhYmxlLXNvb25cXGF2YWlsYWJsZS1zb29uLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXZhaWxhYmxlLXNvb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvYXZhaWxhYmxlLXNvb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9hdmFpbGFibGUtc29vbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztFQUNQLFlBQVc7RUFDWCxhQUFZO0VBQ1osaUJBQWdCO0VBQ2hCLDBCQ0pvQixFREt2QjtBQUVEO0VBQ0ksWUFBVztFQUNYLGlCQUFnQjtFQUNoQixhQUFZO0VBQ1osZ0NBQStCLEVBTWxDO0FBVkQ7SUFPUSxZQUFXO0lBQ1gsZUFBYyxFQUNqQjtBQUdMO0VBQ0ksV0FBVTtFQUNWLGlCQUFnQjtFQUNoQixhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLGVDaEJZLEVEaUJmO0FBRUQ7RUFFSSxpQkVGdUI7RUZHdkIsbUJHdUY4QjtFSHRGOUIsMEJHc0Y4QjtFSHJGOUIsbUJBQWtCLEVBQ3JCO0FBRUQ7RUFFSSxpQkVidUI7RUZjdkIsbUJHK0U4QjtFSDlFOUIsMEJHOEU4QjtFSDdFOUIsb0JBQW1CLEVBQ3RCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2F2YWlsYWJsZS1zb29uL2F2YWlsYWJsZS1zb29uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxufVxyXG5cclxuLmlsbHVzdHJhdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDM2OHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbn1cclxuXHJcbmgxIHtcclxuXHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICBmb250LXNpemU6IGVtKDMwcHgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IGVtKDM3cHgsIDMwcHgpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG59XHJcblxyXG46aG9zdCAvZGVlcC8gcCB7XHJcblxyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiBlbSgxNHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgyMHB4LCAxNHB4KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-available-soon',\r\n templateUrl: './available-soon.component.html',\r\n styleUrls: ['./available-soon.component.scss']\r\n})\r\nexport class AvailableSoonComponent implements OnInit {\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { TranslateModule } from '@ngx-translate/core';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AvailableSoonComponent } from './available-soon.component';\r\nimport { PipesModule } from '../../shared/pipes/pipes.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipesModule,\r\n TranslateModule\r\n ],\r\n declarations: [AvailableSoonComponent],\r\n exports: [AvailableSoonComponent]\r\n})\r\nexport class AvailableSoonModule {\r\n}\r\n","import { RequestParameter } from './request-parameter.model';\r\n\r\nexport class ApiHelper {\r\n\r\n _stringifyParams(parameters: RequestParameter[], contentType = 'application/json'): string {\r\n if (contentType === 'application/json' && parameters instanceof Array) {\r\n const jsonParams = {};\r\n parameters.forEach((item, index) => {\r\n jsonParams[item.name] = item.value;\r\n });\r\n return JSON.stringify(jsonParams);\r\n } else if (contentType === 'application/json') {\r\n return JSON.stringify(parameters);\r\n }\r\n\r\n let stringParams = '';\r\n parameters.forEach((item, index) => {\r\n stringParams += item.name + '=' + item.value;\r\n if (index !== (parameters.length - 1)) {\r\n stringParams += '&';\r\n }\r\n });\r\n return stringParams;\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/publishLast';\r\nimport 'rxjs/add/operator/catch';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { AuthStorageService } from '../storage/auth/auth-storage.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { TransferHttpOptions } from './transfer-http-options';\r\nimport { HttpConst } from '../helper/http.const';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\n\r\n@Injectable()\r\nexport class ApiService {\r\n public contentType = 'application/json';\r\n public formData = false;\r\n\r\n constructor(\r\n private storageService: AppStorageService,\r\n private httpClient: HttpClient,\r\n private authStorageService: AuthStorageService) {\r\n }\r\n\r\n\r\n getHeaders(): HttpHeaders {\r\n const headers = new HttpHeaders();\r\n headers.set('Authorization', `Bearer ${this.authStorageService.accessToken}`);\r\n headers.set('Content-Type', `${this.contentType}`);\r\n return headers;\r\n }\r\n\r\n public get(url: string, isAnonymousCall: Boolean = false): Observable {\r\n return this.httpClient.get(url, this.getOptions(isAnonymousCall));\r\n }\r\n\r\n public post(url: string, body: any, isAnonymousCall: Boolean = false): Observable {\r\n return this.httpClient.post(url, body, this.getOptions(isAnonymousCall));\r\n }\r\n\r\n public postFile(url: string, body: any): Observable {\r\n return this.httpClient.post(url, body, this.getOptions(false, false));\r\n }\r\n\r\n public putFile(url: string, body: any): Observable {\r\n return this.httpClient.put(url, body, this.getOptions(false, false));\r\n }\r\n\r\n public put(url: string, body?: any, isAnonymousCall: Boolean = false): Observable {\r\n return this.httpClient.put(url, body, this.getOptions(isAnonymousCall));\r\n }\r\n\r\n public delete(url: string, isAnonymousCall: Boolean = false): Observable {\r\n return this.httpClient.delete(url, this.getOptions(isAnonymousCall));\r\n }\r\n\r\n public patch(url: string, body: any, isAnonymousCall: Boolean = false): Observable {\r\n return this.httpClient.patch(url, body, this.getOptions(isAnonymousCall));\r\n }\r\n\r\n public head(url: string, isAnonymousCall: Boolean = false): Observable {\r\n return this.httpClient.head(url, this.getOptions(isAnonymousCall));\r\n }\r\n\r\n private getOptions(isAnonymousCall: Boolean, useJsonContentType = true): TransferHttpOptions {\r\n let options: TransferHttpOptions;\r\n let headers: HttpHeaders;\r\n\r\n if (isAnonymousCall) {\r\n headers = new HttpHeaders({\r\n 'Content-Type': `${this.contentType}`\r\n });\r\n } else {\r\n headers = new HttpHeaders({\r\n 'Authorization': `Bearer ${this.authStorageService.accessToken}`,\r\n 'Content-Type': `${this.contentType}`\r\n });\r\n headers = headers.append(HttpConst.headers.CountryCode, this.storageService.countrySelected);\r\n headers = headers.append(HttpConst.headers.UserRole, this.storageService.currentUserRole);\r\n }\r\n\r\n options = { headers };\r\n\r\n return options;\r\n }\r\n}\r\n","// OLD API\r\n/*const BASE_URL = 'https://integ.dataservices.aldautomotive.fr/apiservices/';\r\nconst DRIVER_PATH = BASE_URL + 'api/driverapp/';*/\r\n/*Login : uzik\r\nPassword : uzik@webapi23! */\r\n// --\r\n\r\n// NEW API\r\n// const BASE_URL = 'https://integ.driverapp.myald.fr/api/';\r\n\r\nimport { environment } from '../../../environments/environment';\r\n\r\nconst BASE_URL = 'https://homol.driverapp.myald.fr/api/';\r\nconst DRIVER_PATH = BASE_URL + 'driverapp/';\r\n// --\r\n\r\n// ROAD ASSISTANCE\r\nconst BASE_URL_ASSISTANCE = environment.apigatewayUrl + '/apigateway/RoadAssistance/api/MyAldRoadAssistanceRequest/';\r\n// --\r\n\r\nconst POS_PATH = DRIVER_PATH + 'posapi/';\r\nconst CONTRACT_PATH = DRIVER_PATH + 'contract/';\r\nconst FEED_PATH = DRIVER_PATH + 'feed/events/';\r\nconst DOCUMENTS_PATH = DRIVER_PATH + 'document/';\r\nconst DRIVER_PROFILE_PATH = DRIVER_PATH + 'profile/';\r\nconst HELP_PATH = DRIVER_PATH + 'help/';\r\n\r\nexport class ApiEndpoints {\r\n public static AUTH_ENDPOINT = BASE_URL + 'token';\r\n public static API_ENDPOINT_DRIVER = DRIVER_PATH + 'driver/';\r\n public static API_ENDPOINT_FORGOTPWD = DRIVER_PATH + 'driver/forgotpassword';\r\n\r\n // DRIVER\r\n public static API_ENDPOINT_DRIVER_UPDATE_PROFILE = DRIVER_PROFILE_PATH + 'update'; // POST\r\n public static API_ENDPOINT_DRIVER_UPDATE_PASSWORD = DRIVER_PROFILE_PATH + 'updatepassword'; // POST\r\n public static API_ENDPOINT_DRIVER_UPDATE_ENTERPRISEINFO = DRIVER_PROFILE_PATH + 'enterpriseinfo/update'; // POST\r\n\r\n // FEED\r\n public static API_ENDPOINT_FEED = FEED_PATH;\r\n public static API_ENDPOINT_FEED_UPDATE = FEED_PATH + 'update'; // POST\r\n public static API_ENDPOINT_FEED_RATEPOS = FEED_PATH + 'ratepos'; // POST\r\n public static API_ENDPOINT_FEED_GET_ALL_V2 = '/apigateway/feedmanagement/api/Feed/items';\r\n\r\n // CONTRACT\r\n public static API_ENDPOINT_CONTRACT = DRIVER_PATH + 'contract';\r\n public static API_ENDPOINT_CONTRACT_UPDATEMILEAGE = CONTRACT_PATH + 'updatemileage';\r\n public static API_ENDPOINT_DRIVER_CARPICTURE = DRIVER_PROFILE_PATH + 'carpicture/';\r\n public static API_ENDPOINT_DRIVER_UPDATE_CARPICTURE = DRIVER_PROFILE_PATH + 'carpicture/update'; // POST\r\n public static API_ENDPOINT_CONTRACT_BUYVEHICLE = CONTRACT_PATH + 'buyvehicle'; // POST\r\n\r\n public static API_ENDPOINT_DRIVER_FUELCARDPIN = DRIVER_PATH + 'driver/fuelcardpin'; // POST\r\n\r\n // DOCUMENTS\r\n public static API_ENDPOINT_DOCUMENTS = DOCUMENTS_PATH;\r\n public static API_ENDPOINT_DOCUMENTS_DOWNLOAD = DOCUMENTS_PATH + 'download/';\r\n public static API_ENDPOINT_DOCUMENTS_URL = DOCUMENTS_PATH + 'download/url/';\r\n public static API_ENDPOINT_DOCUMENTS_PREVIEWURL = DOCUMENTS_PATH + 'download/previewurl/';\r\n public static API_ENDPOINT_DOCUMENTS_UPLOAD = DOCUMENTS_PATH + 'upload'; // POST\r\n public static API_ENDPOINT_DOCUMENTS_DELETE = DOCUMENTS_PATH + 'delete'; // POST\r\n\r\n // POS\r\n public static API_ENDPOINT_POS_SERVICES = POS_PATH + 'services';\r\n public static API_ENDPOINT_POS_POSINFO = POS_PATH + 'posinfo';\r\n public static API_ENDPOINT_POS_INQUADRANTPOSINFO = POS_PATH + 'inquadrantposinfo';\r\n public static API_ENDPOINT_POS_INQUADRANTPOSINFOKEEPBOUNDS = POS_PATH + 'inquadrantposinfokeepbounds';\r\n public static API_ENDPOINT_POS_CARMAKES = POS_PATH + 'carmakes';\r\n public static API_ENDPOINT_POS_CARMODELS = POS_PATH + 'carmodels';\r\n public static API_ENDPOINT_FEED_CREATEAPPOINTMENT = DRIVER_PATH + 'feed/appointment/create';\r\n // public static API_ENDPOINT_FEED_MODIFYAPPOINTMENT = DRIVER_PATH + 'feed/appointment/modify';\r\n // public static API_ENDPOINT_FEED_CANCELAPPOINTMENT = DRIVER_PATH + 'feed/appointment/cancel';\r\n\r\n // HELP\r\n public static API_ENDPOINT_HELP_DECLAREDAMAGE = HELP_PATH + 'declaredamage'; // POST\r\n public static API_ENDPOINT_HELP_CONTACTALD = HELP_PATH + 'contactald'; // POST\r\n\r\n // ON ROAD ASSISTANCE\r\n public static API_ASSISTANCE_ENDPOINT_PUTUSERINFO = BASE_URL_ASSISTANCE + 'PutUserInfo';\r\n public static API_ASSISTANCE_ENDPOINT_REFESHREQUEST = BASE_URL_ASSISTANCE + 'RequestRefresh';\r\n\r\n}\r\n\r\nexport class AuthConfig {\r\n\r\n public static GRANT_TYPE_AUTH = 'password';\r\n public static GRANT_TYPE_TOKEN = 'refresh_token';\r\n\r\n public static CLIENT_ID = 'DriverApp';\r\n public static AUTH_KEY_STORAGE = 'auth';\r\n public static REMEMBER_AUTH_KEY_STORAGE = 'remember_auth';\r\n public static ACCESS_TOKEN_KEY_STORAGE = 'access_token';\r\n public static REFRESH_TOKEN_KEY_STORAGE = 'refresh_token';\r\n public static TOKEN_EXPIRES_KEY_STORAGE = '.expires';\r\n\r\n}\r\n\r\nexport class Session {\r\n public static DRIVER_ID: string = null;\r\n}\r\n\r\n\r\n\r\n","export class RequestParameter {\r\n\r\n constructor(public name: string,\r\n public value: string | number | boolean | Blob) {\r\n }\r\n\r\n\r\n}\r\n","import * as _ from 'lodash';\r\nimport { Injectable } from '@angular/core';\r\nimport { HostPageService } from './host-page.service';\r\nimport { environment } from '../../../environments/environment';\r\n\r\nconst DEFAULT_CONFIG: any = {\r\n theme: 'ald',\r\n assetsPath: environment.assetsPath,\r\n loginCaptcha: false,\r\n promptDeviceNotifications: true,\r\n roles: {\r\n driver: true,\r\n manager: true\r\n },\r\n breakpoints: {\r\n xss: 320,\r\n xs: 480,\r\n s: 768,\r\n m: 980\r\n }\r\n};\r\n\r\n@Injectable()\r\nexport class AppConfigService {\r\n\r\n public config: any = {};\r\n\r\n public retina: boolean = (window.devicePixelRatio > 1 || (window.matchMedia && window.matchMedia('(-webkit-min-device-pixel-ratio: 1.5),(-moz-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)').matches));\r\n public isMobileTablet: boolean = !!navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(android)|(webOS)/i);\r\n public isMobile: boolean = !!navigator.userAgent.match(/(iPhone)|(iPod)|(android)|(webOS)/i);\r\n public isIos: boolean = !!navigator.userAgent.match(/(iPhone)|(iPad)|(iPod)/i);\r\n public isAndroid: boolean = !!navigator.userAgent.match(/(android)/i);\r\n public isTouch: boolean = 'createTouch'\r\n in\r\n document;\r\n\r\n constructor(hostPage: HostPageService) {\r\n\r\n /*\r\n\r\n Create config object by getting values from\r\n - the host (index.html) file\r\n - the DEFAULT_CONFIG object\r\n\r\n */\r\n this.config = _.defaultsDeep({}, hostPage.config, DEFAULT_CONFIG);\r\n\r\n if (!this.isTouch) {\r\n document.documentElement.classList.add('no-touch');\r\n }\r\n }\r\n\r\n}\r\n","export enum ConfigurationItems {\r\n DriverWebsiteUrl = 'DriverWebsiteUrl',\r\n ManagerWebsiteUrl = 'ManagerWebsiteUrl',\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ConfigurationModel } from './configuration.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { LoggerService } from '../helper/logger.service';\r\nimport { BaseService } from '../helper/base.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ConfigurationService extends BaseService {\r\n private AVAILABLE_CULTURES = 'AvailableCultures';\r\n\r\n constructor(loggerService: LoggerService, private http: HttpClient, private appStorageService: AppStorageService) {\r\n super(loggerService);\r\n }\r\n\r\n getConfItems(params: any): Observable {\r\n return this.http.get(environment.apigatewayUrl + '/apigateway/configuration/api/configuration/' + params.join('/'))\r\n .map(confItems => confItems as ConfigurationModel)\r\n .catch(error => throwError(error));\r\n }\r\n\r\n getAvailableLanguages(): Observable {\r\n return this.getConfItems([this.appStorageService.countrySelected, this.AVAILABLE_CULTURES])\r\n .map((feedback: ConfigurationModel) => {\r\n const { value } = feedback;\r\n const { data } = JSON.parse(value);\r\n let languages = [];\r\n for (const item of data) {\r\n const [key] = Object.keys(item);\r\n languages = [\r\n ...languages, {\r\n codeLanguage: key,\r\n name: item[key]\r\n }\r\n ];\r\n }\r\n return languages;\r\n })\r\n .catch(error => throwError(error));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Injectable()\r\nexport class ConsoleLogger {\r\n private ENVS: Array = [\r\n {env: 'DEV', level: 1},\r\n {env: 'INT', level: 2},\r\n {env: 'TST', level: 3},\r\n {env: 'UAT', level: 4},\r\n {env: 'PRD', level: 5}\r\n ];\r\n\r\n constructor() {\r\n }\r\n\r\n debug(...args: Array) {\r\n this.trace('debug', args);\r\n }\r\n\r\n info(...args: Array) {\r\n this.trace('info', args);\r\n }\r\n\r\n error(...args: Array) {\r\n this.trace('error', args);\r\n }\r\n\r\n log(...args: Array) {\r\n this.trace('log', args);\r\n }\r\n\r\n private trace(type: string, args) {\r\n const [untilEnv, ...rest] = args;\r\n if (this.isAllowed(untilEnv)) {\r\n console[type](...rest);\r\n }\r\n }\r\n\r\n private isAllowed(untilEnv = 1): boolean {\r\n const envLevel: number = this.ENVS.filter(({env, level}) => env === environment.envName)[0].level;\r\n const untilLevel: number = this.ENVS.filter(({env, level}) => env === untilEnv)[0].level;\r\n\r\n return (envLevel <= untilLevel);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nconst MIN_LOADING_SCREEN_TIME = 1500;\r\n\r\n@Injectable()\r\nexport class HostPageService {\r\n\r\n\r\n private originalConfig;\r\n private loadingScreen;\r\n\r\n constructor() {\r\n\r\n // Get config from widow/global\r\n this.originalConfig = window['HOST_PAGE_CONFIG'];\r\n this.loadingScreen = document.getElementById('loading-screen');\r\n\r\n }\r\n\r\n public get config() {\r\n return this.originalConfig;\r\n }\r\n\r\n hideLoadingScreen(): number {\r\n\r\n const elapsedTime = Date.now() - this.originalConfig.bootTime;\r\n\r\n // Create function to hide\r\n const hide = () => {\r\n this.loadingScreen.classList.add('hide');\r\n };\r\n\r\n if (elapsedTime < MIN_LOADING_SCREEN_TIME) {\r\n setTimeout(hide, MIN_LOADING_SCREEN_TIME - elapsedTime);\r\n } else {\r\n hide();\r\n }\r\n\r\n // return remaining time (or 0 if it's already passed)\r\n return Math.max(0, MIN_LOADING_SCREEN_TIME - elapsedTime);\r\n\r\n }\r\n\r\n}\r\n","import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { ConfigurationModel } from './configuration.model';\r\nimport { interval } from 'rxjs/observable/interval';\r\nimport { Subscription } from 'rxjs';\r\nimport { Observable } from 'rxjs';\r\nimport { of } from 'rxjs/observable/of';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\n@Injectable()\r\nexport class MaintenanceService implements CanActivate, OnDestroy {\r\n\r\n // five minutes\r\n private readonly intervalValue = 300000;\r\n private readonly intervalSubscription: Subscription;\r\n\r\n private isInMaintenance: boolean = undefined;\r\n private countryCode: string;\r\n\r\n public maintenanceSubject = new Subject();\r\n\r\n constructor(private appStorageService: AppStorageService,\r\n private configurationService: ConfigurationService,\r\n private router: Router) {\r\n\r\n this.getMaintenanceStatusFromConfiguration().subscribe(() => {\r\n });\r\n\r\n interval(this.intervalValue)\r\n .subscribe(() => {\r\n this.getMaintenanceStatusFromConfiguration().subscribe(() => {\r\n });\r\n });\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n if (this.isInMaintenance === undefined) {\r\n return this.getMaintenanceStatusFromConfiguration()\r\n .map(() => {\r\n return !this.isInMaintenance;\r\n });\r\n } else {\r\n return of(!this.isInMaintenance);\r\n }\r\n\r\n }\r\n\r\n private redirectToMaintenancePage() {\r\n if (this.isInMaintenance === true) {\r\n this.router.navigate(['/maintenance']);\r\n }\r\n }\r\n\r\n public getMaintenanceStatusFromConfiguration(): Observable {\r\n this.countryCode = this.appStorageService.countrySelected;\r\n if (this.countryCode === null || this.countryCode === undefined) {\r\n return of(false);\r\n }\r\n\r\n return this.configurationService.getConfItems([this.countryCode, 'IsInMaintenance'])\r\n .map(configuration => {\r\n return this.setMaintenanceStatus(configuration);\r\n })\r\n .catch(() => {\r\n return of(false);\r\n });\r\n }\r\n\r\n private setMaintenanceStatus(configuration: ConfigurationModel): boolean {\r\n if (configuration) {\r\n const newMaintenanceStatus = JSON.parse(configuration.value);\r\n if (this.isInMaintenance !== newMaintenanceStatus) {\r\n this.isInMaintenance = newMaintenanceStatus;\r\n this.maintenanceSubject.next(this.isInMaintenance);\r\n this.redirectToMaintenancePage();\r\n }\r\n }\r\n return this.isInMaintenance;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.intervalSubscription) {\r\n this.intervalSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\r\nimport * as bowser from 'bowser';\r\nimport { ConfigurationModel } from './configuration.model';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class RedirectSafari implements CanActivate {\r\n\r\n private authorizedPathsIos = ['/start/end-forgot-password', '/start/success'];\r\n\r\n constructor(private configurationService: ConfigurationService,\r\n private appStorageService: AppStorageService) {\r\n }\r\n\r\n public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n if ((bowser.mac || bowser.ios) && !bowser.chrome && !this.startsWithAnyInArray(state.url, this.authorizedPathsIos)) {\r\n this.redirectToStore();\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n private redirectToStore() {\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'IosAppUrl'])\r\n .subscribe((feedback: ConfigurationModel) => {\r\n if (feedback) {\r\n window.location.replace(feedback.value);\r\n }\r\n }, e => {\r\n console.error('An error has occured: ', e);\r\n });\r\n }\r\n\r\n private startsWithAnyInArray(inputString: string, comparedArray: Array): boolean {\r\n let res = false;\r\n\r\n comparedArray.forEach(value => {\r\n if (inputString.includes(value)) {\r\n res = true;\r\n return;\r\n }\r\n });\r\n\r\n return res;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\nimport { environment } from 'environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { DidomiCookieConsentViewModel } from './didomi-cookies.model';\r\nimport { TranslationStorageConst } from '../storage/translation/translation-storage.const';\r\nconst LOCAL_HOST = 'localhost';\r\n\r\n@Injectable()\r\nexport class CookiesService {\r\n\r\n constructor(private appStorageService: AppStorageService) { }\r\n\r\n public getCookiesPolicyDocumentUrl(languageCode): string {\r\n return `${environment.publicDocumentsBaseUrl}/${this.appStorageService.countrySelected}/cookies-charter-${languageCode}.pdf`;\r\n }\r\n\r\n public loadConfigFor(configDetails: DidomiCookieConsentViewModel): Observable {\r\n return new Observable((observer) => {\r\n const culture = this.appStorageService.get(TranslationStorageConst.keys.lang);\r\n const countryCode = this.appStorageService.countrySelected ? this.appStorageService.countrySelected : 'IN';\r\n configDetails.gtmKey = `${environment.gtmKey}`;\r\n configDetails.app.apiKey = `${environment.didomiApiKey}`;\r\n configDetails.app.privacyPolicyURL = `${environment.publicDocumentsBaseUrl}/${countryCode}/cookies-charter-${culture}.pdf`;\r\n observer.next(configDetails);\r\n observer.complete();\r\n });\r\n }\r\n\r\n public getDomain(hostname: string): string {\r\n let domain: string;\r\n if (!environment.production) {\r\n if (hostname === LOCAL_HOST) {\r\n domain = LOCAL_HOST;\r\n } else {\r\n domain = `.${hostname.split('.')[hostname.split('.').length - 2]}` + `.${hostname.split('.')[hostname.split('.').length - 1]}`;\r\n }\r\n } else {\r\n domain = `.${hostname.replace(/^[^.]+\\./g, '')}`;\r\n }\r\n return domain;\r\n }\r\n\r\n public deleteCookies(name: string, domain: string): void {\r\n const d: Date = new Date();\r\n d.setTime(d.getTime() + (-1 * 24 * 60 * 60 * 1000));\r\n const cName = `${name}= `;\r\n const expires = `expires=${d.toUTCString()}`;\r\n const cPath = `path=/`;\r\n const cDomain = `domain=${domain}`;\r\n document.cookie = `${cName};${cDomain};${expires};${cPath}`;\r\n }\r\n\r\n public getAllCookie(): string[] {\r\n const cookieArray = [];\r\n document.cookie.split('; ').forEach((cookie) => {\r\n cookieArray.push(cookie.split('=')[0]);\r\n });\r\n return cookieArray;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"::ng-deep .didomi-components-button {\\n color: white !important; }\\n\\n::ng-deep .didomi-border {\\n border-width: 0 !important; }\\n\\n::ng-deep .didomi-popup-container {\\n border-width: 0 !important; }\\n\\n::ng-deep .didomi-exterior-border {\\n border-color: #ccc !important; }\\n\\n::ng-deep .didomi-notice-banner {\\n border: solid 1px #cccccc !important; }\\n\\n::ng-deep #didomi-notice-learn-more-button {\\n color: white !important; }\\n\\n@media (min-width: 600px) {\\n ::ng-deep #didomi-notice-learn-more-button {\\n margin-left: 10px !important; } }\\n\\n@media (min-width: 600px) {\\n ::ng-deep #didomi-notice-agree-butto, ::ng-deep #didomi-notice-disagree-button {\\n margin-left: 10px !important; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2Nvb2tpZXMvZGlkb21pLWNvb2tpZXMtY29uc2VudC1wb3Bpbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFxjb29raWVzXFxkaWRvbWktY29va2llcy1jb25zZW50LXBvcGluXFxkaWRvbWktY29va2llcy1jb25zZW50LXBvcGluLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBRVEsd0JBQXVCLEVBQzFCOztBQUhMO0VBS1EsMkJBQTBCLEVBQzdCOztBQU5MO0VBU1EsMkJBQTBCLEVBQzdCOztBQVZMO0VBYVEsOEJBQTZCLEVBQ2hDOztBQWRMO0VBaUJRLHFDQUFvQyxFQUN2Qzs7QUFsQkw7RUFxQlksd0JBQXVCLEVBSTFCOztBQUhHO0lBdEJaO01BdUJnQiw2QkFBNEIsRUFFbkMsRUFBQTs7QUFHRztFQTVCWjtJQTZCZ0IsNkJBQTRCLEVBRW5DLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29va2llcy9kaWRvbWktY29va2llcy1jb25zZW50LXBvcGluL2RpZG9taS1jb29raWVzLWNvbnNlbnQtcG9waW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6Om5nLWRlZXAge1xyXG4gICAgLmRpZG9taS1jb21wb25lbnRzLWJ1dHRvbiB7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuZGlkb21pLWJvcmRlciB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmRpZG9taS1wb3B1cC1jb250YWluZXIge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5kaWRvbWktZXh0ZXJpb3ItYm9yZGVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICNjY2MgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuZGlkb21pLW5vdGljZS1iYW5uZXIge1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2NjY2MgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICNkaWRvbWktbm90aWNlIHtcclxuICAgICAgICAmLWxlYXJuLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLWFncmVlLWJ1dHRvLFxyXG4gICAgICAgICYtZGlzYWdyZWUtYnV0dG9uIHtcclxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { WindowRef } from 'app/shared/helper/window.ref';\r\nimport { DidomiCookieConfigurations } from '../didomi-cookies.configurations';\r\nimport { CookiesService } from '../cookies.service';\r\nimport { DidomiConsent, DidomiCookieConsentViewModel } from '../didomi-cookies.model';\r\n\r\n@Component({\r\n selector: 'app-cookies-consent',\r\n templateUrl: './didomi-cookies-consent-popin.component.html',\r\n styleUrls: ['./didomi-cookies-consent-popin.component.scss']\r\n})\r\nexport class CookiesConsentPopinComponent implements OnInit {\r\n didomiConfigDetails: DidomiCookieConsentViewModel;\r\n gaVendorId: string;\r\n capchaVendorId: string;\r\n\r\n constructor(\r\n private window: WindowRef,\r\n private didomiCookiesService: CookiesService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.didomiCookiesService.loadConfigFor(DidomiCookieConfigurations)\r\n .subscribe((didomiConfigDetails) => {\r\n this.didomiConfigDetails = didomiConfigDetails;\r\n const win = this.window.nativeWindow as any;\r\n win.didomiConfig = this.didomiConfigDetails;\r\n this.removeGoogleCookies();\r\n this.loadDidomiScript();\r\n this.initialiseDidomiEventListener();\r\n });\r\n }\r\n\r\n loadDidomiScript(): void {\r\n const node = document.createElement('script');\r\n node.src = './assets/didomi.js';\r\n node.type = 'text/javascript';\r\n node.async = true;\r\n document.getElementsByTagName('head')[0].appendChild(node);\r\n }\r\n\r\n // Commenting google analytics script Temporarily\r\n loadGoogleScript(): void {\r\n // const node = document.createElement('script');\r\n // node.src = './assets/google-analytics.js';\r\n // node.type = 'text/javascript';\r\n // node.async = true;\r\n // document.getElementsByTagName('head')[0].appendChild(node);\r\n }\r\n\r\n removeGoogleCookies(): void {\r\n const domain = this.didomiCookiesService.getDomain(window.location.hostname);\r\n const allCookies = this.didomiCookiesService.getAllCookie();\r\n allCookies.forEach((cookie: string, index) => {\r\n if (allCookies.hasOwnProperty(index) && (cookie.startsWith('_ga') || cookie.startsWith('_gi'))) {\r\n this.didomiCookiesService.deleteCookies(cookie, domain);\r\n }\r\n });\r\n }\r\n\r\n private checkVendorsConsentState(didomiState) {\r\n if (didomiState.didomiVendorsConsentDenied.includes(this.gaVendorId)) {\r\n this.removeGoogleCookies();\r\n }\r\n if (didomiState.didomiVendorsConsent.includes(this.gaVendorId)) {\r\n this.loadGoogleScript();\r\n }\r\n if (didomiState.didomiVendorsConsentDenied.includes(this.capchaVendorId)) {\r\n window.sessionStorage.setItem('captcha_cookie_consent_status', 'disagree');\r\n }\r\n if (didomiState.didomiVendorsConsent.includes(this.capchaVendorId)) {\r\n window.sessionStorage.setItem('captcha_cookie_consent_status', 'agree');\r\n }\r\n if (didomiState.didomiVendorsConsentUnknown.includes(this.capchaVendorId)) {\r\n window.sessionStorage.setItem('captcha_cookie_consent_status', 'unknown');\r\n }\r\n }\r\n\r\n private onVendorsConsentStatusChanged(configDetails, context) {\r\n const recaptchaDeniedConsents = this.getChangedConsent(configDetails, context, this.capchaVendorId);\r\n if (recaptchaDeniedConsents && recaptchaDeniedConsents.length > 0) {\r\n window.sessionStorage.setItem('captcha_cookie_consent_status', 'disagree');\r\n } else {\r\n window.sessionStorage.setItem('captcha_cookie_consent_status', 'agree');\r\n }\r\n\r\n const gaDeniedConsents = this.getChangedConsent(configDetails, context, this.gaVendorId);\r\n if (gaDeniedConsents && gaDeniedConsents.length > 0) {\r\n this.removeGoogleCookies();\r\n }\r\n if (gaDeniedConsents && gaDeniedConsents.length === 0) {\r\n this.loadGoogleScript();\r\n }\r\n }\r\n\r\n private getVendorsIds(configDetails) {\r\n const didomiVendorSdkIds = this.didomiConfigDetails.didomiVendorSdkIds;\r\n configDetails.app.vendors.custom.forEach((vendor) => {\r\n if (vendor.id.includes(didomiVendorSdkIds[0])) {\r\n this.gaVendorId = vendor.id;\r\n }\r\n if (vendor.id.includes(didomiVendorSdkIds[1])) {\r\n this.capchaVendorId = vendor.id;\r\n }\r\n });\r\n }\r\n\r\n private initialiseDidomiEventListener(): void {\r\n const win = this.window.nativeWindow as any;\r\n win.didomiConfig = this.didomiConfigDetails;\r\n\r\n // tslint:disable-next-line: no-this-assignment\r\n const self = this;\r\n this.window.nativeWindow.didomiOnReady = win.didomiOnReady || [];\r\n // @ts-ignore\r\n this.window.nativeWindow.didomiOnReady.push(function (Didomi) {\r\n Didomi.setConfigParameter('app.privacyPolicyURL', self.didomiConfigDetails.app.privacyPolicyURL);\r\n const configDetails = Didomi.getConfig();\r\n self.getVendorsIds(configDetails);\r\n window.addEventListener(\r\n 'message',\r\n\r\n // tslint:disable-next-line: ter-prefer-arrow-callback\r\n (event) => {\r\n const didomiState = event.target['didomiState'];\r\n self.checkVendorsConsentState(didomiState);\r\n },\r\n false,\r\n );\r\n\r\n // @ts-ignore\r\n window.didomiEventListeners = window.didomiEventListeners || [];\r\n\r\n // @ts-ignore\r\n window.didomiEventListeners.push({\r\n event: 'consent.changed',\r\n listener(context: DidomiConsent) {\r\n self.onVendorsConsentStatusChanged(configDetails, context);\r\n },\r\n });\r\n });\r\n }\r\n\r\n private getChangedConsent(configDetails, context, vendorId): any {\r\n if (vendorId) {\r\n const changedConsent = configDetails.app.vendors.custom.find(vendor =>\r\n vendor.id.includes(vendorId)).purposeIds;\r\n\r\n const requiredPurpose = context.consentToken.consents.filter(consent =>\r\n changedConsent.some(purpose => purpose === consent.purpose));\r\n\r\n const deniedPurpose = requiredPurpose.filter(consent => consent.vendors.some(\r\n vendor => typeof (vendor.id) === 'string' && vendor.id.includes(vendorId) && !vendor.status,\r\n ),\r\n );\r\n return deniedPurpose;\r\n }\r\n }\r\n}\r\n","import { DidomiCookieConsentViewModel } from './didomi-cookies.model';\r\n\r\nexport const DidomiCookieConfigurations: DidomiCookieConsentViewModel = {\r\n app: {\r\n apiKey: '',\r\n privacyPolicyURL: '',\r\n },\r\n didomiVendorSdkIds: [\r\n 'googleana',\r\n 'recaptcha',\r\n ],\r\n gaVendorId: '',\r\n gtmKey: '',\r\n tagManager: {\r\n provider: 'gtm',\r\n },\r\n theme: {\r\n buttons: {\r\n regularButtons: {\r\n backgroundColor: '#050b7f',\r\n borderRadius: '30px',\r\n color: 'white',\r\n },\r\n highlightButtons: {\r\n backgroundColor: '#050b7f',\r\n borderRadius: '30px',\r\n color: 'white',\r\n },\r\n },\r\n },\r\n};\r\n","import { TranslateModule } from '@ngx-translate/core';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PipesModule } from '../pipes/pipes.module';\r\nimport { CookiesConsentPopinComponent } from './didomi-cookies-consent-popin/didomi-cookies-consent-popin.component';\r\nimport { CookiesService } from './cookies.service';\r\nimport { MaterialModule } from '../ui/material/material.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipesModule,\r\n MaterialModule,\r\n TranslateModule\r\n ],\r\n providers: [CookiesService],\r\n declarations: [CookiesConsentPopinComponent],\r\n exports: [CookiesConsentPopinComponent]\r\n})\r\nexport class CookiesModule {\r\n}\r\n","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n {{ currentTime }}\\r\\n\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host {\\n position: relative;\\n display: block; }\\n.text-value {\\n position: absolute;\\n top: calc(50% - 0.5em);\\n left: 0;\\n width: 100%;\\n text-align: center;\\n font-size: 0.8125em; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvdW50ZG93bi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvY291bnRkb3duL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvY291bnRkb3duL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb3VudGRvd24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvY291bnRkb3duL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9jb3VudGRvd24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvY291bnRkb3duL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGNvdW50ZG93blxcY291bnRkb3duLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvY291bnRkb3duL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksbUJBQWtCO0VBQ2xCLGVBQWMsRUFDakI7QUFFRDtFQUNJLG1CQUFrQjtFQUNsQix1QkFBc0I7RUFDdEIsUUFBTztFQUNQLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsb0JDNkc4QixFRDVHakMiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY291bnRkb3duL2NvdW50ZG93bi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbjpob3N0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4udGV4dC12YWx1ZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IGNhbGMoNTAlIC0gMC41ZW0pO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiBlbSgxM3B4KTtcclxufVxyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iXX0= */\"","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-countdown',\r\n templateUrl: './countdown.component.html',\r\n styleUrls: ['./countdown.component.scss']\r\n})\r\nexport class CountdownComponent {\r\n\r\n @Output()\r\n public complete: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n public duration = 0;\r\n public currentTime: number;\r\n @Input()\r\n public size = 53;\r\n public circleLength = this.size * Math.PI;\r\n public circleOffset = this.circleLength;\r\n private startTime: number;\r\n\r\n constructor() {\r\n }\r\n\r\n public render(loop = true) {\r\n\r\n // Calc elapsed time and absolute progress\r\n const elapsed = Date.now() - this.startTime;\r\n const progress = elapsed / this.duration;\r\n this.currentTime = Math.round((this.duration - elapsed) / 1000);\r\n\r\n // calc circle offset\r\n this.circleOffset = (1 - progress) * this.circleLength;\r\n\r\n if (elapsed > this.duration) {\r\n this.complete.emit('complete');\r\n } else if (loop) {\r\n requestAnimationFrame(() => this.render());\r\n }\r\n\r\n }\r\n\r\n public start() {\r\n this.startTime = Date.now();\r\n this.render(true);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CountdownComponent } from './countdown.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n CountdownComponent\r\n ],\r\n exports: [\r\n CountdownComponent\r\n ]\r\n})\r\nexport class CountdownModule {\r\n}\r\n","import { Directive, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { FeatureService } from '../../feature/feature.service';\r\nimport { combineLatest } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[areFeaturesActivated]',\r\n})\r\nexport class AreFeaturesActivatedDirective implements OnInit, OnDestroy {\r\n\r\n @Input() areFeaturesActivated: string[];\r\n // and : all features has to be activated, or: at least one should be activated\r\n @Input() areFeaturesActivatedOperator: 'or' | 'and' = 'and';\r\n\r\n private directiveActive = true;\r\n private isVisible = false;\r\n\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private templateRef: TemplateRef,\r\n private featureService: FeatureService,\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const featureRequests = this.areFeaturesActivated.map((featureName) => {\r\n if (!this.featureService.isFeatureExists(featureName)) {\r\n console.error(`feature ${featureName} does not exists`);\r\n return;\r\n }\r\n return this.featureService.isFeatureActivated(featureName);\r\n });\r\n\r\n combineLatest(featureRequests)\r\n .pipe(takeWhile(() => this.directiveActive))\r\n .subscribe((isFeaturesActivated: boolean[]) => {\r\n\r\n if (!isFeaturesActivated) {\r\n this.viewContainerRef.clear();\r\n return;\r\n }\r\n const operatorCondition = this.areFeaturesActivatedOperator === 'and' ? isFeaturesActivated.every(f => f) : isFeaturesActivated.some(f => f);\r\n if (operatorCondition) {\r\n if (!this.isVisible) {\r\n this.isVisible = true;\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n } else {\r\n this.isVisible = false;\r\n this.viewContainerRef.clear();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.directiveActive = false;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AreFeaturesActivatedDirective } from './are-features-activated.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n AreFeaturesActivatedDirective,\r\n ],\r\n exports: [\r\n AreFeaturesActivatedDirective\r\n ]\r\n})\r\nexport class AreFeaturesActivatedModule {\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\r\nimport { DocumentRef } from '../../helper/document.ref';\r\n\r\n@Directive({\r\n selector: '[appClickOutside]',\r\n})\r\nexport class ClickOutsideDirective implements OnInit {\r\n @Input() exclude;\r\n @Output() clickOut = new EventEmitter();\r\n private excludedNodes: HTMLElement[];\r\n\r\n constructor(private elementRef: ElementRef, private document: DocumentRef) {}\r\n\r\n ngOnInit(): void {\r\n this.setExcludedNodes();\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClickDocument(targetElement): void {\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside && !this.clickOnExclude(targetElement)) {\r\n this.clickOut.emit();\r\n }\r\n }\r\n\r\n private setExcludedNodes(): void {\r\n if (this.exclude) {\r\n try {\r\n const nodes = Array.from(this.document.nativeDocument.querySelectorAll(this.exclude)) as HTMLElement[];\r\n if (nodes) {\r\n this.excludedNodes = nodes;\r\n }\r\n } catch (err) {\r\n throw new Error(err);\r\n }\r\n }\r\n }\r\n\r\n private clickOnExclude(target): boolean {\r\n if (!this.excludedNodes) {\r\n return false;\r\n }\r\n return this.excludedNodes.some((excludedNode) => {\r\n return excludedNode.contains(target);\r\n });\r\n }\r\n}\r\n","import { NavigationEnd, Router } from '@angular/router';\r\nimport { ChangeDetectorRef, Directive, ElementRef, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[customRouterLinkActive]'\r\n})\r\nexport class CustomRouterLinkActiveDirective implements OnInit, OnDestroy {\r\n @Input() customRouterLinkActive: string;\r\n @Input() customRouterLink: string;\r\n private subscription: Subscription;\r\n\r\n constructor(public el: ElementRef,\r\n public renderer: Renderer2,\r\n public route: Router,\r\n public cdr: ChangeDetectorRef) {\r\n this.subscription = this.route.events.subscribe(\r\n val => {\r\n if (val instanceof NavigationEnd) {\r\n this._updateLinks();\r\n this.cdr.detectChanges();\r\n\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this._updateLinks();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n private _updateLinks() {\r\n if (this.route.url.indexOf(this.customRouterLink) === 0) {\r\n this.renderer.addClass(this.el.nativeElement.parentNode, this.customRouterLinkActive);\r\n } else {\r\n this.renderer.addClass(this.el.nativeElement.parentNode, this.customRouterLinkActive);\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CustomRouterLinkActiveDirective } from './custom-router-link-active.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n CustomRouterLinkActiveDirective\r\n ],\r\n exports: [\r\n CustomRouterLinkActiveDirective\r\n ]\r\n})\r\nexport class CustomRouterLinkActiveModule {\r\n}\r\n","import { Attribute, Directive, forwardRef } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\r\n providers: [\r\n {provide: NG_VALIDATORS, useExisting: forwardRef(() => EqualValidatorDirective), multi: true}\r\n ]\r\n})\r\nexport class EqualValidatorDirective implements Validator {\r\n constructor(@Attribute('validateEqual') public validateEqual: string) {\r\n }\r\n\r\n validate(c: AbstractControl): { [key: string]: any } {\r\n // self value (e.g. retype password)\r\n const v = c.value;\r\n\r\n // control value (e.g. password)\r\n const e = c.root.get(this.validateEqual);\r\n\r\n // value not equal\r\n if (e && v !== e.value) {\r\n return {\r\n validateEqual: true\r\n };\r\n }\r\n return null;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EqualValidatorDirective } from './equal-validator.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n EqualValidatorDirective\r\n ],\r\n exports: [\r\n EqualValidatorDirective\r\n ]\r\n})\r\nexport class EqualValidatorModule {\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\r\n/*\r\n Importing hammerjs here (or anywhere in our .ts source files) enables Angular's own handling of hammerjs.\r\n This might become a problem.\r\n*/\r\nimport 'hammerjs';\r\n\r\n@Directive({\r\n selector: '[hammer]'\r\n})\r\nexport class HammerGesturesDirective implements AfterViewInit, OnDestroy {\r\n\r\n @Input()\r\n public hammer: Function | Object;\r\n\r\n @Output()\r\n public gestureEmitter = new EventEmitter();\r\n\r\n constructor(private element: ElementRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n const hammer = new Hammer(this.element.nativeElement);\r\n\r\n // Get default or supplied config\r\n let instanceConfig;\r\n if (this.hammer) {\r\n instanceConfig = this.hammer;\r\n } else {\r\n instanceConfig = {direction: Hammer.DIRECTION_HORIZONTAL, threshold: 5};\r\n }\r\n\r\n hammer.get('swipe').set(instanceConfig);\r\n\r\n hammer.on('swipeleft', (ev) => {\r\n this.gestureEmitter.emit('swipeleft');\r\n });\r\n\r\n hammer.on('swiperight', (ev) => {\r\n this.gestureEmitter.emit('swiperight');\r\n });\r\n\r\n hammer.on('tap', (ev) => {\r\n this.gestureEmitter.emit('tap');\r\n });\r\n\r\n hammer.on('pan', (ev) => {\r\n this.gestureEmitter.emit('pan');\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HammerGesturesDirective } from './hammer-gestures.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n HammerGesturesDirective\r\n ],\r\n exports: [\r\n HammerGesturesDirective\r\n ]\r\n})\r\nexport class HammerGesturesModule {\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[passwordVisibilityToggle]'\r\n})\r\n\r\nexport class PasswordVisibilityToggleDirective {\r\n private _isPasswordVisible = false;\r\n\r\n constructor(private el: ElementRef) {\r\n this.setup();\r\n }\r\n\r\n private togglePasswordVisibility(button: HTMLElement): void {\r\n this._isPasswordVisible = !this._isPasswordVisible;\r\n if (this._isPasswordVisible) {\r\n button.classList.add('hide-password');\r\n this.el.nativeElement.setAttribute('type', 'text');\r\n } else {\r\n button.classList.remove('hide-password');\r\n this.el.nativeElement.setAttribute('type', 'password');\r\n }\r\n }\r\n\r\n private setup(): void {\r\n const button = document.createElement('div');\r\n button.classList.add('button');\r\n button.classList.add('small');\r\n button.classList.add('toggle-password-visibility');\r\n button.addEventListener('click', (event) => {\r\n this.togglePasswordVisibility(button);\r\n });\r\n const element = this.el.nativeElement as HTMLElement;\r\n element.style.paddingRight = '35px';\r\n element.parentNode.appendChild(button);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PasswordVisibilityToggleDirective } from './password-visibility-toggle.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n PasswordVisibilityToggleDirective\r\n ],\r\n exports: [\r\n PasswordVisibilityToggleDirective\r\n ]\r\n})\r\nexport class PasswordVisiblityToggleModule {\r\n}\r\n","import { MaterialModule } from '../ui/material/material.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\r\nimport { MaintenanceComponent } from './maintenance/maintenance.component';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { PipesModule } from '../../shared/pipes/pipes.module';\r\nimport { NoContractPageComponent } from './no-contract-page/no-contract-page.component';\r\nimport { UserErrorPageComponent } from './user-error/user-error-page.component';\r\nimport { HttpErrorInterceptor } from './http-error.interceptor';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n SharedModule,\r\n PipesModule,\r\n TranslateModule,\r\n MaterialModule,\r\n ],\r\n declarations: [\r\n PageNotFoundComponent,\r\n MaintenanceComponent,\r\n NoContractPageComponent,\r\n UserErrorPageComponent],\r\n exports: [\r\n MaintenanceComponent\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpErrorInterceptor,\r\n multi: true,\r\n },\r\n ],\r\n})\r\n\r\nexport class ErrorsModule {\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, switchMap } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { AuthService } from '../authentication/auth.service';\r\nimport { AuthStorageService } from '../storage/auth/auth-storage.service';\r\nimport { Location } from '@angular/common';\r\nimport { APP_ROUTES } from 'app/app.routes';\r\n\r\n@Injectable()\r\nexport class HttpErrorInterceptor implements HttpInterceptor {\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private authStorageService: AuthStorageService,\r\n private location: Location) {\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request)\r\n .pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n const url = this.location.path();\r\n if (error.status === 419 &&\r\n !new RegExp(APP_ROUTES.START).test(url) &&\r\n !new RegExp(APP_ROUTES.NOT_FOUND).test(url) &&\r\n !new RegExp(APP_ROUTES.NO_CONTRACTS).test(url) &&\r\n !new RegExp(APP_ROUTES.USER_ERROR).test(url)) {\r\n\r\n return this.authService.refreshToken()\r\n .pipe(\r\n switchMap((refreshResult) => {\r\n if (refreshResult) {\r\n const newRequest = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${this.authStorageService.accessToken}`,\r\n },\r\n });\r\n return next.handle(newRequest);\r\n }\r\n return throwError(error);\r\n }),\r\n );\r\n } else {\r\n return throwError(error);\r\n }\r\n }),\r\n );\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

{{ 'global-maintenance_page-message' | translate }}

\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.container {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n background-color: #00cfff; }\\n.illustration-container {\\n width: 100%;\\n max-width: 368px;\\n margin: auto;\\n transform: translate3d(0, 0, 0); }\\n.illustration-container img {\\n width: 100%;\\n display: block; }\\n.content-container {\\n width: 75%;\\n max-width: 400px;\\n margin: auto;\\n text-align: center;\\n color: #FFFFFF; }\\nh1 {\\n font-weight: 700;\\n font-size: 1.875em;\\n line-height: 1.23333333em;\\n margin-bottom: 8px; }\\n:host /deep/ p {\\n font-weight: 400;\\n font-size: 0.875em;\\n line-height: 1.42857143em;\\n margin-bottom: 25px; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2Vycm9ycy9tYWludGVuYW5jZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZXJyb3JzL21haW50ZW5hbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZXJyb3JzL21haW50ZW5hbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9lcnJvcnMvbWFpbnRlbmFuY2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZXJyb3JzL21haW50ZW5hbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9lcnJvcnMvbWFpbnRlbmFuY2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZXJyb3JzL21haW50ZW5hbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGVycm9yc1xcbWFpbnRlbmFuY2VcXG1haW50ZW5hbmNlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZXJyb3JzL21haW50ZW5hbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2Vycm9ycy9tYWludGVuYW5jZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2Vycm9ycy9tYWludGVuYW5jZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztFQUNQLFlBQVc7RUFDWCxhQUFZO0VBQ1osaUJBQWdCO0VBQ2hCLDBCQ0pvQixFREt2QjtBQUVEO0VBQ0ksWUFBVztFQUNYLGlCQUFnQjtFQUNoQixhQUFZO0VBQ1osZ0NBQStCLEVBTWxDO0FBVkQ7SUFPUSxZQUFXO0lBQ1gsZUFBYyxFQUNqQjtBQUdMO0VBQ0ksV0FBVTtFQUNWLGlCQUFnQjtFQUNoQixhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLGVDaEJZLEVEaUJmO0FBRUQ7RUFFSSxpQkVGdUI7RUZHdkIsbUJHdUY4QjtFSHRGOUIsMEJHc0Y4QjtFSHJGOUIsbUJBQWtCLEVBQ3JCO0FBRUQ7RUFFSSxpQkVidUI7RUZjdkIsbUJHK0U4QjtFSDlFOUIsMEJHOEU4QjtFSDdFOUIsb0JBQW1CLEVBQ3RCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2Vycm9ycy9tYWludGVuYW5jZS9tYWludGVuYW5jZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbi5jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbn1cclxuXHJcbi5pbGx1c3RyYXRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAzNjhweDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiA3NSU7XHJcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG59XHJcblxyXG5oMSB7XHJcblxyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgZm9udC1zaXplOiBlbSgzMHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgzN3B4LCAzMHB4KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxufVxyXG5cclxuOmhvc3QgL2RlZXAvIHAge1xyXG5cclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogZW0oMTRweCk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMjBweCwgMTRweCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iLCJAaW1wb3J0ICd2YXJzJztcclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkcGF0aCwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgIHNyYyA6IHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcclxuICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xyXG4gIEByZXR1cm4gJHJlbVNpemUgKiAxcmVtO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgZm9udC1zaXplOiAkc2l6ZTtcclxuICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA0MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDgwMDtcclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIl19 */\"","import { Router } from '@angular/router';\r\nimport { ChangeDetectorRef, Component } from '@angular/core';\r\nimport { OnErrorService } from '../../ui/on-error.service';\r\nimport { ModalService } from '../../ui/modal.service';\r\nimport { MaintenanceService } from '../../config/maintenance.service';\r\n\r\n@Component({\r\n selector: 'app-maintenance',\r\n templateUrl: './maintenance.component.html',\r\n styleUrls: ['./maintenance.component.scss']\r\n})\r\nexport class MaintenanceComponent {\r\n\r\n public isInMaintenance = undefined;\r\n private previousMaintenanceStatus: boolean = undefined;\r\n\r\n constructor(private router: Router,\r\n private onErrorService: OnErrorService,\r\n private cdr: ChangeDetectorRef,\r\n private modalService: ModalService,\r\n private maintenanceService: MaintenanceService) {\r\n\r\n this.onErrorService.maintenanceStatusObservable.subscribe(\r\n status => {\r\n if (status) {\r\n this.modalService.openModal('maintenance');\r\n }\r\n }\r\n );\r\n\r\n this.maintenanceService.maintenanceSubject.subscribe(isInMaintenance => {\r\n this.setMaintenanceStatus(isInMaintenance);\r\n });\r\n }\r\n\r\n private setMaintenanceStatus(maintenanceStatus: boolean) {\r\n this.previousMaintenanceStatus = this.isInMaintenance;\r\n this.isInMaintenance = maintenanceStatus;\r\n\r\n if (this.isInMaintenance === false && this.previousMaintenanceStatus !== false) {\r\n this.redirect();\r\n }\r\n }\r\n\r\n private redirect() {\r\n this.router.navigate(['/start/login']);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n

\\r\\n {{ 'global-no_contract_page-title' | translate }}\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { AppConfigService } from '../../config/app-config.service';\r\nimport { AuthService } from 'app/shared/authentication/auth.service';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { AppStorageService } from 'app/shared/storage/common/app-storage.service';\r\n\r\n@Component({\r\n selector: 'app-no-contract-page',\r\n templateUrl: './no-contract-page.component.html',\r\n styleUrls: ['../page-not-found/page-not-found.component.scss']\r\n})\r\nexport class NoContractPageComponent implements OnInit {\r\n\r\n public logoutIframe;\r\n public isDesktop = false;\r\n public isLoadedInsideIFrame: boolean = window.self !== window.top;\r\n\r\n constructor(\r\n private appConfig: AppConfigService,\r\n private authService: AuthService,\r\n private storage: AppStorageService) {\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize($event = null) {\r\n this.isDesktop = (window.innerWidth > this.appConfig.config.breakpoints.m);\r\n }\r\n\r\n ngOnInit() {\r\n this.onResize();\r\n this.logOut();\r\n }\r\n\r\n public logOut(): void {\r\n window.addEventListener('message', (e: any) => {\r\n const { data: eventData } = e;\r\n if (eventData.waitingForLogin) {\r\n this.storage.remove(this.storage.CURRENT_ROLE, AppStorageService.STORES.SESSION);\r\n this.authService.clearAuthentication(false);\r\n }\r\n }, false);\r\n\r\n this.logoutIframe = document.getElementById('logout_ifm') as HTMLIFrameElement;\r\n this.logoutIframe.src = (environment.envName === 'DEV') ?\r\n 'https://driver.integ.aldautomotive.com/logout' :\r\n '/logout';\r\n }\r\n}\r\n","module.exports = \"
\\r\\n

\\r\\n {{ 'global-not_found_page-title' | translate }}\\r\\n

\\r\\n\\r\\n

{{ 'global-not_found_page-text' | translate }}

\\r\\n\\r\\n \\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background-color: #00cfff;\\n text-align: center; }\\n.container {\\n position: absolute;\\n top: 50%;\\n left: 0;\\n right: 0;\\n transform: translateY(-50%);\\n width: 75%;\\n margin: auto;\\n max-width: 560px; }\\nh1 {\\n margin-bottom: 13px;\\n font-weight: 500;\\n font-size: 1.875em;\\n line-height: 1.23333333em;\\n color: #FFFFFF; }\\np {\\n margin-bottom: 40px;\\n font-weight: 400;\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n color: #FFFFFF; }\\n.illustration-container {\\n margin-bottom: 30px; }\\n.illustration-container img {\\n display: block;\\n width: 100%;\\n max-width: 210px;\\n margin: auto;\\n transform: translate3d(0, 0, 0); }\\n@media screen and (min-width: 980px) {\\n :host {\\n background-color: #FFFFFF; }\\n h1 {\\n color: #000000; }\\n p {\\n color: #000000; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2Vycm9ycy9wYWdlLW5vdC1mb3VuZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZXJyb3JzL3BhZ2Utbm90LWZvdW5kL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZXJyb3JzL3BhZ2Utbm90LWZvdW5kL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9lcnJvcnMvcGFnZS1ub3QtZm91bmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZXJyb3JzL3BhZ2Utbm90LWZvdW5kL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9lcnJvcnMvcGFnZS1ub3QtZm91bmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZXJyb3JzL3BhZ2Utbm90LWZvdW5kL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGVycm9yc1xccGFnZS1ub3QtZm91bmRcXHBhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZXJyb3JzL3BhZ2Utbm90LWZvdW5kL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2Vycm9ycy9wYWdlLW5vdC1mb3VuZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2Vycm9ycy9wYWdlLW5vdC1mb3VuZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztFQUNQLFlBQVc7RUFDWCxhQUFZO0VBQ1osMEJDSG9CO0VESXBCLG1CQUFrQixFQUNyQjtBQUVEO0VBQ0ksbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixRQUFPO0VBQ1AsU0FBUTtFQUNSLDRCQUEyQjtFQUMzQixXQUFVO0VBQ1YsYUFBWTtFQUNaLGlCQUFnQixFQUNuQjtBQUVEO0VBQ0ksb0JBQW1CO0VBQ25CLGlCRUt1QjtFRkp2QixtQkdnRzhCO0VIL0Y5QiwwQkcrRjhCO0VIOUY5QixlQ2ZZLEVEZ0JmO0FBRUQ7RUFDSSxvQkFBbUI7RUFDbkIsaUJFSnVCO0VGS3ZCLG1CR3dGOEI7RUh2RjlCLDBCR3VGOEI7RUh0RjlCLGVDdkJZLEVEd0JmO0FBRUQ7RUFDSSxvQkFBbUIsRUFTdEI7QUFWRDtJQUlRLGVBQWM7SUFDZCxZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLGFBQVk7SUFDWixnQ0FBK0IsRUFDbEM7QUZ5Qk87RUVyQlI7SUFDSSwwQkN4Q1EsRUR5Q1g7RUFFRDtJQUNJLGVBQWMsRUFDakI7RUFFRDtJQUNJLGVBQWMsRUFDakIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9lcnJvcnMvcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy9fdGhlbWUtaW1wb3J0cy5zY3NzXCI7XHJcblxyXG46aG9zdCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIG1heC13aWR0aDogNTYwcHg7XHJcbn1cclxuXHJcbmgxIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgIGZvbnQtc2l6ZTogZW0oMzBweCk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMzdweCwgMzBweCk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbn1cclxuXHJcbnAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMjVweCwgMThweCk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbn1cclxuXHJcbi5pbGx1c3RyYXRpb24tY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDIxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG4gICAgOmhvc3Qge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBjb2xvcjogIzAwMDAwMDtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogIzAwMDAwMDtcclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiQGltcG9ydCAndmFycyc7XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJHBhdGgsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICBzcmMgOiB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICB9XHJcblxyXG59XHJcblxyXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XHJcbiAgJHJlbVNpemU6ICRzaXplIC8gMTZweDtcclxuICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA4MDA7XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiJdfQ== */\"","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { AppConfigService } from '../../config/app-config.service';\r\nimport { GtmService } from '../../gtm/gtm.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-page-not-found',\r\n templateUrl: './page-not-found.component.html',\r\n styleUrls: ['./page-not-found.component.scss']\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n\r\n public isDesktop = false;\r\n public isLoadedInsideIFrame: boolean = window.self !== window.top;\r\n\r\n constructor(\r\n private appConfig: AppConfigService,\r\n private router: Router,\r\n private gtmService: GtmService,\r\n ) {\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize($event = null) {\r\n this.isDesktop = (window.innerWidth > this.appConfig.config.breakpoints.m);\r\n }\r\n\r\n ngOnInit() {\r\n this.gtmService.sendPageView(this.router.url);\r\n this.onResize();\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"
\\r\\n

\\r\\n {{ 'global-user_error_page-title' | translate }}\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\"","import { Component } from '@angular/core';\r\nimport { AuthService } from 'app/shared/authentication/auth.service';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { AppStorageService } from 'app/shared/storage/common/app-storage.service';\r\n\r\n@Component({\r\n selector: 'app-user-error-page',\r\n templateUrl: './user-error-page.component.html',\r\n styleUrls: ['../page-not-found/page-not-found.component.scss']\r\n})\r\nexport class UserErrorPageComponent {\r\n\r\n public logoutIframe;\r\n public isLoadedInsideIFrame: boolean = window.self !== window.top;\r\n\r\n constructor(\r\n private storage: AppStorageService,\r\n private authService: AuthService) {\r\n }\r\n\r\n public logOut(): void {\r\n window.addEventListener('message', (e: any) => {\r\n const { data: eventData } = e;\r\n if (eventData.waitingForLogin) {\r\n this.storage.remove(this.storage.CURRENT_ROLE, AppStorageService.STORES.SESSION);\r\n this.authService.clearAuthentication(true);\r\n }\r\n }, false);\r\n this.logoutIframe = document.getElementById('logout_ifm') as HTMLIFrameElement;\r\n this.logoutIframe.src = (environment.envName === 'DEV') ?\r\n 'https://driver.integ.aldautomotive.com/logout' :\r\n '/logout';\r\n }\r\n}\r\n","import { environment } from 'environments/environment';\r\n\r\nexport const FeatureConst = {\r\n features: {\r\n GloveBox: 'spec_isGloveBoxActivated',\r\n DeclareDamage: 'spec_isDeclareDamageActivated',\r\n OnRoadAssistance: 'spec_isOnRoadAssistanceActivated',\r\n Euromaster: 'spec_isEuroMasterLinkActivated',\r\n TrafficFinesV1: 'spec_isTrafficFinesActivated',\r\n TrafficFinesV2: 'spec_isTrafficFinesV2Activated',\r\n Quoter: 'spec_isQuoterActivated',\r\n AldQuote: 'spec_isAldQuoteActivated',\r\n AldQuoteV2: 'spec_isAldQuoteV2Activated',\r\n CarSelector: 'spec_isCarSelectorActivated',\r\n NoQuoter: 'spec_isNoQuoterSelected',\r\n SalesForce: 'spec_salesForceActivated',\r\n SmartCare: 'spec_isSmartCareActivated',\r\n MultiReturnDocument: 'spec_isMultiReturnDocumentActivated',\r\n MaintenanceRequest: 'spec_isHelpMaintenanceRequestActivated',\r\n MaintenancePosCategory: 'spec_isMaintenanceCategoryActivated',\r\n AssistanceThirdNumber: 'spec_isAssistanceThirdNumberActivated',\r\n MaintenanceHistory: 'spec_isMaintenanceHistoryActivated',\r\n EditMyProfileActivated: 'spec_isEditOwnProfileActivated',\r\n EditOwnNameActivated: 'spec_isEditOwnNameActivated',\r\n ShowCarReturnFirstStep: 'spec_showCarReturnFirstStep',\r\n sharedDocuments: 'spec_isSharedDocumentsActivated',\r\n AssistanceForDriver: 'spec_isDriverAssistanceOnDriverAppActivated',\r\n FuelCard: 'spec_isFuelCardActivated',\r\n AldCamera: 'spec_isAldCamera',\r\n CarRestitutionHtmlOnly: 'spec_isCarRestitutionHtmlOnly',\r\n SingleCarRepairNumber: 'spec_hasSingleCarRepairNumber',\r\n HelpContactUsSection: 'spec_isHelpContactUsActivated',\r\n HelpMapSection: 'spec_isHelpMapActivated',\r\n HelpCustomerServiceSection: 'spec_isHelpCustomerServiceActivated',\r\n MileageUpdate: 'spec_isMileageUpdateActivated',\r\n EuromasterLink: 'spec_isEuroMasterLinkActivated',\r\n PorscheNordLink: 'spec_isPorscheNordLinkActivated',\r\n aldNetDriverReportsWithTokenActivated: 'spec_isALDNetDriverReportWithTokenActivated',\r\n ChatBotLink: 'spec_isChatBotLinkActivated',\r\n },\r\n api: {\r\n availableFeatures: environment.apigatewayUrl + '/apigateway/Configuration/api/Feature/',\r\n anonymousAvailableFeatures: environment.apigatewayUrl + '/apigateway/Configuration/api/Feature/'\r\n },\r\n routes: {\r\n 'help-damage-declaration': 'spec_isDeclareDamageActivated',\r\n 'help-case-request': 'spec_salesForceActivated',\r\n 'help-follow-requests': 'spec_salesForceActivated',\r\n 'help-contact-us': '!spec_salesForceActivated',\r\n 'help-maintenance-request': 'spec_isHelpMaintenanceRequestActivated',\r\n 'smart-care': 'spec_isSmartCareActivated',\r\n 'pos': '!spec_isSmartCareActivated',\r\n 'maintenance-history': 'spec_isMaintenanceHistoryActivated',\r\n 'edit': 'spec_isSharedDocumentsActivated',\r\n 'help-order-damage-repair': 'spec_isDriverAssistanceOnDriverAppActivated',\r\n 'help-order-maintenance': 'spec_isDriverAssistanceOnDriverAppActivated',\r\n 'help-take-abroad': 'spec_isDriverAssistanceOnDriverAppActivated',\r\n 'fuel-history': 'spec_isFuelCardActivated',\r\n 'quotation': 'spec_isQuoterActivated',\r\n 'mileage': 'spec_isMileageUpdateActivated',\r\n 'ald-camera' : 'spec_isAldCamera',\r\n }\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { OnErrorService } from '../ui/on-error.service';\r\nimport { FeatureConst } from './feature.consts';\r\nimport { ApiService } from '../common/api.service';\r\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport { AuthStorageService } from '../storage/auth/auth-storage.service';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\nimport 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class FeatureService implements CanActivate {\r\n\r\n public featureListStream: BehaviorSubject>;\r\n\r\n constructor(private errorService: OnErrorService,\r\n private api: ApiService,\r\n private authStorageService: AuthStorageService,\r\n private http: HttpClient,\r\n private appStorageService: AppStorageService) {\r\n this.featureListStream = new BehaviorSubject>(null);\r\n }\r\n\r\n public updateFeaturesList() {\r\n this.get().subscribe(featureList => {\r\n this.featureListStream.next(featureList);\r\n });\r\n }\r\n\r\n public isFeatureActivated(featureName: string): Observable {\r\n return this.featureListStream\r\n .pipe(\r\n filter(features => features != null),\r\n map(features => featureName.startsWith('!') ? !features.includes(featureName.substring(1)) : features.includes(featureName)\r\n )\r\n )\r\n }\r\n\r\n public isFeatureExists(featureSpecName): boolean {\r\n let isFeatureExists = false;\r\n Object.keys(FeatureConst.features).forEach((featureName) => {\r\n if (FeatureConst.features[featureName] === featureSpecName) {\r\n isFeatureExists = true;\r\n return;\r\n }\r\n });\r\n return isFeatureExists;\r\n }\r\n\r\n public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n return this.isFeatureActivated(FeatureConst.routes[route.url[0].path]);\r\n }\r\n\r\n private get(): Observable> {\r\n if (this.authStorageService.accessToken) {/* Request when authenticated*/\r\n return this.api.get(FeatureConst.api.availableFeatures)\r\n .catch(error => {\r\n this.errorService.updateMaintenanceStatus(true);\r\n return throwError(error);\r\n });\r\n } else { /* anonymous request */\r\n return this.api.get(FeatureConst.api.anonymousAvailableFeatures + this.appStorageService.countrySelected, true)\r\n .catch(error => {\r\n this.errorService.updateMaintenanceStatus(true);\r\n return throwError(error);\r\n });\r\n }\r\n }\r\n}\r\n","import { SvgIconModule } from '../svg-icon/svg-icon.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GmapComponent } from './gmap/gmap.component';\r\nimport { PipesModule } from '../../shared/pipes/pipes.module';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipesModule,\r\n SvgIconModule\r\n ],\r\n declarations: [\r\n GmapComponent\r\n ],\r\n exports: [\r\n GmapComponent\r\n ]\r\n})\r\nexport class GmapModule {\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.gmap {\\n height: 100%; }\\n.gmap.big {\\n position: absolute;\\n top: -50%;\\n height: 200%;\\n left: -100%;\\n width: 300%; }\\ndiv.nav {\\n position: fixed;\\n right: 15px;\\n bottom: 15px;\\n z-index: 11; }\\ndiv.nav.big {\\n bottom: 320px; }\\ndiv.nav button.btn-geolocation {\\n width: 50px;\\n height: 50px;\\n z-index: 11;\\n border-radius: 30px;\\n background: #FFFFFF;\\n color: #00cfff;\\n box-shadow: 0 3px 6px 0 rgba(1, 17, 35, 0.1);\\n cursor: pointer; }\\ndiv.nav button.btn-geolocation app-svg-icon {\\n width: 24px;\\n height: 24px; }\\ndiv.nav button.btn-zoom {\\n width: 50px;\\n height: 50px;\\n display: none;\\n border-radius: 30px;\\n background: #FFFFFF;\\n color: #00cfff;\\n box-shadow: 0 3px 6px 0 rgba(1, 17, 35, 0.1);\\n cursor: pointer; }\\ndiv.nav button.btn-zoom app-svg-icon {\\n width: 24px;\\n height: 24px; }\\ndiv.nav button.btn-zoom.more app-svg-icon {\\n width: 15px;\\n height: 15px; }\\ndiv.nav button.btn-zoom.less app-svg-icon {\\n width: 15px;\\n height: 4px; }\\n/*Screen Size : m*/\\n@media screen and (min-width: 980px) {\\n .gmap.big {\\n position: absolute;\\n left: -25%;\\n width: 150%;\\n top: -25%;\\n height: 150%; }\\n div.nav {\\n right: 40px;\\n bottom: 40px; }\\n div.nav.big {\\n bottom: 230px; }\\n div.nav button.btn-zoom {\\n display: block; }\\n div.nav button.btn-zoom.less {\\n margin: 20px 0 40px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2dtYXAvZ21hcC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZ21hcC9nbWFwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZ21hcC9nbWFwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9nbWFwL2dtYXAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZ21hcC9nbWFwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9nbWFwL2dtYXAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvZ21hcC9nbWFwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGdtYXBcXGdtYXBcXGdtYXAuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9nbWFwL2dtYXAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxhQUFZLEVBU2Y7QUFWRDtJQUlRLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1QsYUFBWTtJQUNaLFlBQVc7SUFDWCxZQUFXLEVBQ2Q7QUFHTDtFQUNJLGdCQUFlO0VBQ2YsWUFBVztFQUNYLGFBQVk7RUFDWixZQUFXLEVBcURkO0FBekREO0lBT1EsY0FBYSxFQUNoQjtBQVJMO0lBV1EsWUFBVztJQUNYLGFBQVk7SUFDWixZQUFXO0lBQ1gsb0JKYm1CO0lJY25CLG9CQ2hCUTtJRGlCUixlQ3pCZ0I7SUQwQmhCLDZDQUE0QztJQUM1QyxnQkFBZSxFQU1sQjtBQXhCTDtNQXFCWSxZQUFXO01BQ1gsYUFBWSxFQUNmO0FBdkJUO0lBMkJRLFlBQVc7SUFDWCxhQUFZO0lBQ1osY0FBYTtJQUNiLG9CSjdCbUI7SUk4Qm5CLG9CQ2hDUTtJRGlDUixlQ3pDZ0I7SUQwQ2hCLDZDQUE0QztJQUM1QyxnQkFBZSxFQXNCbEI7QUF4REw7TUFxQ1ksWUFBVztNQUNYLGFBQVksRUFDZjtBQXZDVDtNQTRDZ0IsWUFBVztNQUNYLGFBQVksRUFDZjtBQTlDYjtNQW9EZ0IsWUFBVztNQUNYLFlBQVcsRUFDZDtBQUtiLG1CQUFtQjtBRkFQO0VFSVI7SUFFUSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLFlBQVc7SUFDWCxVQUFTO0lBQ1QsYUFBWSxFQUNmO0VBR0w7SUFDSSxZQUFXO0lBQ1gsYUFBWSxFQWFmO0lBZkQ7TUFLUSxjQUFhLEVBQ2hCO0lBTkw7TUFTUSxlQUFjLEVBS2pCO01BZEw7UUFZWSxvQkFBbUIsRUFDdEIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9nbWFwL2dtYXAvZ21hcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbi5nbWFwIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAmLmJpZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLTUwJTtcclxuICAgICAgICBoZWlnaHQ6IDIwMCU7XHJcbiAgICAgICAgbGVmdDogLTEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDMwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbmRpdi5uYXYge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgcmlnaHQ6IDE1cHg7XHJcbiAgICBib3R0b206IDE1cHg7XHJcbiAgICB6LWluZGV4OiAxMTtcclxuXHJcbiAgICAmLmJpZyB7XHJcbiAgICAgICAgYm90dG9tOiAzMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b24uYnRuLWdlb2xvY2F0aW9uIHtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgei1pbmRleDogMTE7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMSwgMTcsIDM1LCAwLjEpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgYXBwLXN2Zy1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uLmJ0bi16b29tIHtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggNnB4IDAgcmdiYSgxLCAxNywgMzUsIDAuMSk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICBhcHAtc3ZnLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5tb3JlIHtcclxuXHJcbiAgICAgICAgICAgIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5sZXNzIHtcclxuXHJcbiAgICAgICAgICAgIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKlNjcmVlbiBTaXplIDogbSovXHJcblxyXG5AaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG5cclxuICAgIC5nbWFwIHtcclxuICAgICAgICAmLmJpZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogLTI1JTtcclxuICAgICAgICAgICAgd2lkdGg6IDE1MCU7XHJcbiAgICAgICAgICAgIHRvcDogLTI1JTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkaXYubmF2IHtcclxuICAgICAgICByaWdodDogNDBweDtcclxuICAgICAgICBib3R0b206IDQwcHg7XHJcblxyXG4gICAgICAgICYuYmlnIHtcclxuICAgICAgICAgICAgYm90dG9tOiAyMzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJ1dHRvbi5idG4tem9vbSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgJi5sZXNzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiJdfQ== */\"","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n Output\r\n} from '@angular/core';\r\nimport { AppConfigService } from '../../config/app-config.service';\r\nimport { MapService } from '../../map/map.service';\r\nimport { MapGoogleService } from '../../ui/map-google.service';\r\n\r\n@Component({\r\n selector: 'app-gmap',\r\n templateUrl: './gmap.component.html',\r\n styleUrls: ['./gmap.component.scss'],\r\n providers: [\r\n MapGoogleService\r\n ]\r\n})\r\n\r\nexport class GmapComponent implements AfterViewInit, OnDestroy {\r\n\r\n\r\n public streetViewControl = false;\r\n public zoomControl = false;\r\n public disableDefaultUI = true;\r\n public disableDoubleClickZoom = false;\r\n public mapTypeId: google.maps.MapTypeId = google.maps.MapTypeId.ROADMAP;\r\n public maxZoom = 19;\r\n public minZoom = 3;\r\n public zoom = 13;\r\n\r\n\r\n /**\r\n * Manual centering will prevent the map from re-centering the viewport to the user's position\r\n * @type {boolean}\r\n */\r\n public manualCentering = false;\r\n\r\n @Input()\r\n public scrollwheel = false;\r\n\r\n @Input()\r\n public moveEnabled: boolean;\r\n\r\n @Input()\r\n public geolocationEnabled: boolean;\r\n\r\n @Input()\r\n public controlsEnabled: boolean;\r\n\r\n @Output()\r\n public moveMap = new EventEmitter();\r\n\r\n @Output()\r\n public zoomMap = new EventEmitter();\r\n\r\n @Output()\r\n public showMyPosition = new EventEmitter();\r\n\r\n @Output()\r\n public showMessage = new EventEmitter();\r\n\r\n @Output()\r\n public geolocationError = new EventEmitter();\r\n\r\n private mapDiv: HTMLElement;\r\n private mapDivParent: any;\r\n\r\n constructor(public mapGoogleService: MapGoogleService,\r\n private appConfig: AppConfigService,\r\n private elementRef: ElementRef,\r\n private mapService: MapService,\r\n private ngZone: NgZone) {\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize($event) {\r\n const that = this;\r\n setTimeout(() => {\r\n that.mapGoogleService.resize();\r\n }, 10);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.mapDivParent = document.querySelector('.gmap-wrap');\r\n this.mapDiv = this.elementRef.nativeElement.querySelector('#map');\r\n this.createMap(this.mapDiv);\r\n\r\n // If the user is already geolocated, display its position\r\n if (this.mapService.isGeolocated()) {\r\n this.showMyPosition.emit(this.mapService.getStoredPosition());\r\n } else {\r\n // Else, use Google API\r\n this.geolocateApiGoogle();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.mapGoogleService) {\r\n this.mapGoogleService.destroy();\r\n }\r\n }\r\n\r\n /*\r\n getCoordsViewport\r\n return coords (visible viewport) maxLatitude/maxLongitude/minLatitude/minLongitude\r\n */\r\n getCoordsViewport(): any {\r\n\r\n const o = this.getMapDimensions();\r\n let maxLatitude;\r\n let maxLongitude;\r\n let minLatitude;\r\n let minLongitude;\r\n\r\n if (this.mapGoogleService.map.getBounds()) {\r\n maxLatitude = this.mapGoogleService.map.getBounds().getNorthEast().lat();\r\n maxLongitude = this.mapGoogleService.map.getBounds().getNorthEast().lng();\r\n minLatitude = this.mapGoogleService.map.getBounds().getSouthWest().lat();\r\n minLongitude = this.mapGoogleService.map.getBounds().getSouthWest().lng();\r\n }\r\n\r\n const diffLat = maxLatitude - minLatitude;\r\n const diffLong = maxLongitude - minLongitude;\r\n\r\n let maxLat = maxLatitude - (diffLat * (o.margin / o.hMap));\r\n let minLat = minLatitude + (diffLat * (o.marginBottom / o.hMap));\r\n let maxLong = maxLongitude;\r\n let minLong = minLongitude;\r\n\r\n if (o.wMap > o.w) {\r\n maxLong -= (diffLong * o.rx);\r\n minLong += (diffLong * o.rx);\r\n }\r\n\r\n if (o.hMap > o.h) {\r\n maxLat -= (diffLat * o.ry);\r\n minLat += (diffLat * o.ry);\r\n }\r\n\r\n return {\r\n maxLatitude: maxLat,\r\n maxLongitude: maxLong,\r\n minLatitude: minLat,\r\n minLongitude: minLong\r\n };\r\n\r\n }\r\n\r\n /*\r\n fitBounds\r\n params: bounds clusters(google.maps.LatLngBounds)\r\n */\r\n fitBounds(bounds: google.maps.LatLngBounds) {\r\n\r\n const o = this.getMapDimensions();\r\n\r\n const maxLatitude = bounds.getNorthEast().lat();\r\n const maxLongitude = bounds.getNorthEast().lng();\r\n const minLatitude = bounds.getSouthWest().lat();\r\n const minLongitude = bounds.getSouthWest().lng();\r\n\r\n let diffLat = maxLatitude - minLatitude;\r\n let diffLong = maxLongitude - minLongitude;\r\n\r\n let maxLat = maxLatitude;\r\n let minLat = minLatitude;\r\n let maxLong = maxLongitude;\r\n let minLong = minLongitude;\r\n\r\n\r\n if (o.wMap > o.w) {\r\n maxLong += (diffLong * o.rx);\r\n minLong -= (diffLong * o.rx);\r\n diffLong = maxLong - minLong;\r\n }\r\n\r\n if (o.hMap > o.h) {\r\n maxLat += (diffLat * o.ry);\r\n minLat -= (diffLat * o.ry);\r\n diffLat = maxLat - minLat;\r\n }\r\n\r\n const mLat = o.marginBottom * (o.hMap / o.h);\r\n const mLatN = o.margin * (o.hMap / o.h);\r\n const mLong = o.margin * (o.wMap / o.w);\r\n\r\n maxLat += (diffLat * (mLatN / o.h));\r\n minLat -= (diffLat * (mLat / o.h));\r\n maxLong += (diffLong * (mLong / o.w));\r\n minLong -= (diffLong * (mLong / o.w));\r\n\r\n const boundsMap = new google.maps.LatLngBounds();\r\n boundsMap.extend(new google.maps.LatLng(maxLat, maxLong, false));\r\n boundsMap.extend(new google.maps.LatLng(minLat, minLong, false));\r\n\r\n this.mapGoogleService.map.fitBounds(boundsMap);\r\n }\r\n\r\n /**\r\n * Trigger the browers native geolocation API\r\n */\r\n getCurrentMyPosition() {\r\n\r\n this.mapService.getCurrentPosition().forEach(\r\n (position: Position) => {\r\n const obj = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude\r\n };\r\n this.showMyPosition.emit(obj);\r\n\r\n }, null\r\n ).then(() => {\r\n }).catch(\r\n (error: string) => {\r\n this.showMessage.emit(error);\r\n this.geolocationError.emit(error);\r\n // If native geolocation fails, use Google API instead\r\n this.mapService.geolocateApiGoogle().subscribe(\r\n position => {\r\n const obj = {\r\n lat: position.location.lat,\r\n lng: position.location.lng\r\n };\r\n this.mapGoogleService.myLongitude = position.location.lng;\r\n this.mapGoogleService.myLatitude = position.location.lat;\r\n this.showMyPosition.emit(obj);\r\n\r\n });\r\n }\r\n );\r\n }\r\n\r\n /* Creates the map with the set properties.*/\r\n private createMap(el: HTMLElement) {\r\n\r\n this.mapGoogleService.initMap(el, {\r\n\r\n center: new google.maps.LatLng(this.mapGoogleService.myLatitude, this.mapGoogleService.myLongitude, false),\r\n disableDefaultUI: this.disableDefaultUI,\r\n disableDoubleClickZoom: this.disableDoubleClickZoom,\r\n mapTypeId: this.mapTypeId,\r\n maxZoom: this.maxZoom,\r\n minZoom: this.minZoom,\r\n scrollwheel: this.scrollwheel,\r\n // styles: this.styles,\r\n zoom: this.zoom,\r\n streetViewControl: this.streetViewControl,\r\n zoomControl: this.zoomControl\r\n });\r\n\r\n if (this.moveEnabled) {\r\n this.initMoveMap();\r\n }\r\n }\r\n\r\n /* drag/zoom map.*/\r\n private initMoveMap() {\r\n\r\n let c = {maxLatitude: 0, maxLongitude: 0, minLatitude: 0, minLongitude: 0};\r\n\r\n this.mapGoogleService.map.addListener('idle', () => {\r\n this.ngZone.run(() => {\r\n\r\n const coords = this.getCoordsViewport();\r\n\r\n if (coords.maxLongitude === c.maxLongitude &&\r\n coords.minLongitude === c.minLongitude &&\r\n coords.maxLatitude === c.maxLatitude &&\r\n coords.minLatitude === c.minLatitude) {\r\n return;\r\n } else {\r\n this.moveMap.emit(coords);\r\n }\r\n\r\n c = coords;\r\n\r\n });\r\n });\r\n\r\n this.mapGoogleService.map.addListener('zoom_changed', () => {\r\n this.ngZone.run(() => {\r\n this.zoomMap.emit(null);\r\n });\r\n });\r\n\r\n }\r\n\r\n /* getMapDimensions */\r\n private getMapDimensions(): any {\r\n\r\n const ww = window.innerWidth;\r\n const wMap = this.mapDiv.clientWidth;\r\n const hMap = this.mapDiv.clientHeight;\r\n const h = this.mapDivParent.clientHeight;\r\n const w = this.mapDivParent.clientWidth;\r\n\r\n const obj = {\r\n wMap: wMap,\r\n hMap: hMap,\r\n h: h,\r\n w: w,\r\n margin: 40, // To avoid seeing a small part of Pin\r\n marginBottom: (ww > this.appConfig.config.breakpoints.m) ? 180 : 115, // push proximity height or push results height\r\n rx: ((wMap - w) / 2) / wMap,\r\n ry: ((hMap - h) / 2) / hMap\r\n };\r\n\r\n return obj;\r\n }\r\n\r\n /**\r\n * Geolocate the user via Google's REST api. Coordinates are approximate\r\n * Unless manualCentering is set to true, the viewport will be centered on these coordinates\r\n */\r\n private geolocateApiGoogle() {\r\n\r\n this.mapService.getCurrentPosition().forEach((position: Position) => {\r\n this.setMyPosition(position.coords.latitude, position.coords.longitude);\r\n }).catch((error) => {\r\n console.log('GPS get current position error', error);\r\n\r\n this.mapService.geolocateApiGoogle().subscribe(\r\n position => {\r\n this.setMyPosition(position.location.lat, position.location.lng, false);\r\n });\r\n });\r\n }\r\n\r\n private setMyPosition(lat, lng, showMarker = true) {\r\n this.mapGoogleService.myLongitude = lng;\r\n this.mapGoogleService.myLatitude = lat;\r\n if (!this.manualCentering) {\r\n this.mapGoogleService.setCenter(new google.maps.LatLng(lat, lng, false));\r\n this.mapGoogleService.resize();\r\n }\r\n if (showMarker) {\r\n this.showMyPosition.emit({lat: lat, lng: lng});\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { GtmService } from './gtm.service';\r\nimport { GtmEventProperties } from './gtm-properties.model';\r\n\r\n@Directive({\r\n selector: '[gtmClickEvent]',\r\n})\r\nexport class GtmClickEventDirective {\r\n\r\n @Input() gtmClickEvent: GtmEventProperties;\r\n @Input() gtmDetail?: string;\r\n @Input() gtmLabel?: string;\r\n\r\n constructor(\r\n public gtmService: GtmService,\r\n ) {\r\n }\r\n\r\n @HostListener('click') onMouseEnter() {\r\n this.gtmService.sendEvent(this.gtmClickEvent, this.gtmLabel, this.gtmDetail);\r\n }\r\n}\r\n","export const GTM_EVENTS = {\r\n loginSuccess: {\r\n event: 'connection-loginSucceed',\r\n eventCategory: 'Connection',\r\n eventAction: 'Login succeed',\r\n eventLabel: '',\r\n eventDetails: '',\r\n plateforme: 'driver',\r\n },\r\n logout: {\r\n event: 'connection-logout',\r\n eventCategory: 'Connection',\r\n eventAction: 'Logout',\r\n eventLabel: '',\r\n eventDetails: '',\r\n plateforme: 'driver',\r\n },\r\n editOwnProfile: {\r\n event: 'connection-editOwnProfile',\r\n eventCategory: 'User account management',\r\n eventAction: 'Edit own profile',\r\n eventLabel: '',\r\n eventDetails: '',\r\n plateforme: 'manager',\r\n },\r\n changePassword: {\r\n event: 'userAccountManagement-passwordChange',\r\n eventCategory: 'User account management',\r\n eventAction: 'Password change',\r\n plateforme: 'driver',\r\n },\r\n updateMileage: {\r\n event: 'mileage-updateMyMileage',\r\n eventCategory: 'Mileage',\r\n eventAction: 'Update my mileage',\r\n plateforme: 'driver',\r\n },\r\n makeAQuotationIntention: {\r\n event: 'quotation-makeAQuotationIntention',\r\n eventCategory: 'Quotation',\r\n eventAction: 'Make a quotation intention',\r\n eventLabel: '',\r\n plateforme: 'driver',\r\n },\r\n\r\n clickNavigation: {\r\n event: 'navigation-outboundLink',\r\n eventCategory: 'Navigation',\r\n eventAction: 'Outbound link',\r\n eventLabel: '',\r\n plateforme: 'driver',\r\n },\r\n\r\n uploadDocument: {\r\n event: 'document-uploadADriverDocument',\r\n eventCategory: 'Document',\r\n eventAction: 'Upload a driver document',\r\n plateforme: 'driver',\r\n },\r\n downloadDocument: {\r\n event: 'document-downloadDocument',\r\n eventCategory: 'Download',\r\n eventAction: 'Download a document',\r\n eventLabel: '',\r\n eventDetails: '',\r\n plateforme: 'driver',\r\n },\r\n assistanceCall: {\r\n event: 'assistance-call',\r\n eventCategory: 'Assistance',\r\n eventAction: 'Call',\r\n plateforme: 'driver',\r\n },\r\n assistanceCreateACase: {\r\n event: 'assistance-createACase',\r\n eventCategory: 'Assistance',\r\n eventAction: 'Create a case',\r\n plateforme: 'driver',\r\n },\r\n AssistanceDamageDeclaration: {\r\n event: 'assistance-damageDeclaration',\r\n eventCategory: 'Assistance',\r\n eventAction: 'Help - damage declaration',\r\n plateforme: 'driver',\r\n },\r\n askPermissionToTakeAbroad: {\r\n event: 'assistance-askPermissionToTakeAbroad',\r\n eventCategory: 'Assistance',\r\n eventAction: 'Ask permision to take abroad',\r\n plateforme: 'driver',\r\n },\r\n orderDamageRepair: {\r\n event: 'assistance-orderDamageRepair',\r\n eventCategory: 'Assistance',\r\n eventAction: 'Help - order damage repair',\r\n plateforme: 'driver',\r\n },\r\n orderMaintenance: {\r\n event: 'assistance-orderMaintenance',\r\n eventCategory: 'Assistance',\r\n eventAction: 'Help - order Maintenance',\r\n plateforme: 'driver',\r\n },\r\n forgetPassword: {\r\n event: 'userAccountManagement-forgetPassword',\r\n eventCategory: 'User account management',\r\n eventAction: 'Password change',\r\n plateforme: 'driver',\r\n },\r\n signUpUser: {\r\n event: 'userAccountManagement-signUp',\r\n eventCategory: 'User account management',\r\n eventAction: 'Create user',\r\n plateforme: 'driver',\r\n },\r\n trafficFines: {\r\n event: 'services-trafficFines',\r\n eventCategory: 'Traffic Fine',\r\n eventAction: 'Service-Traffic fine',\r\n plateforme: 'driver',\r\n },\r\n smartCare: {\r\n event: 'services-smartCare',\r\n eventCategory: 'smart care',\r\n eventAction: 'Service- smart care',\r\n plateforme: 'driver',\r\n }\r\n};\r\n","import { APP_ROUTES } from '../../app.routes';\r\n\r\nexport enum PageSection {\r\n Homepage = 'Homepage',\r\n Maintenance = 'Maintenance',\r\n Car = 'Car',\r\n Infos = 'Car infos',\r\n Contract = 'Car contract details',\r\n Restitution = 'Car vehicle restitution',\r\n Mileage = 'Car mileage',\r\n GloveBox = 'Glove box',\r\n Services = 'Services',\r\n Pos = 'Point of services',\r\n More = 'More',\r\n Assistance = 'Assistance',\r\n PersonalInformations = 'Personal Informations',\r\n ErrorPage = 'Error Page',\r\n Others = 'Others',\r\n}\r\n\r\nconst routeMapper = {\r\n [`${APP_ROUTES.FEED}$`] : PageSection.Homepage,\r\n [`${APP_ROUTES.CARS}/[^/]*$`] : PageSection.Car,\r\n [`${APP_ROUTES.CARS}/[^/]*/${APP_ROUTES.CARS_INFOS}$`] : PageSection.Infos,\r\n [`${APP_ROUTES.CARS}/[^/]*/${APP_ROUTES.CARS_CONTRACT}$`] : PageSection.Contract,\r\n [`${APP_ROUTES.CARS}/[^/]*/${APP_ROUTES.CARS_RESTITUTION}$`] : PageSection.Restitution,\r\n [`${APP_ROUTES.CARS}/[^/]*/${APP_ROUTES.CARS_MILEAGE}$`] : PageSection.Mileage,\r\n [`${APP_ROUTES.DOCUMENTS}$`] : PageSection.GloveBox,\r\n [`${APP_ROUTES.DOCUMENTS}/${APP_ROUTES.DOCUMENTS_ADD}$`] : PageSection.GloveBox,\r\n [`${APP_ROUTES.SERVICES}$`] : PageSection.Services,\r\n [`${APP_ROUTES.POS}$`] : PageSection.Pos,\r\n [`${APP_ROUTES.MORE}$`] : PageSection.More,\r\n [`${APP_ROUTES.NOT_FOUND}$`] : PageSection.ErrorPage,\r\n [`.*/${APP_ROUTES.ASSISTANCE}$`] : PageSection.Assistance,\r\n [`.*/${APP_ROUTES.PERSONAL_INFOS}$`] : PageSection.PersonalInformations,\r\n};\r\n\r\nexport const getPageSectionByUrl = (url: string): PageSection => {\r\n for (const route in routeMapper) {\r\n if (route && Object.prototype.hasOwnProperty.call(routeMapper, route)) {\r\n if (new RegExp(route).test(url)) {\r\n return routeMapper[route];\r\n }\r\n }\r\n }\r\n return PageSection.Others;\r\n};\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GtmService } from './gtm.service';\r\nimport { GtmRef } from './gtm.ref';\r\nimport { GtmClickEventDirective } from './gtm-event.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n GtmClickEventDirective,\r\n ],\r\n exports: [\r\n GtmClickEventDirective,\r\n ],\r\n providers: [\r\n GtmRef,\r\n GtmService,\r\n ],\r\n})\r\nexport class GtmModule {\r\n static forRoot(): ModuleWithProviders {\r\n return { ngModule: GtmModule };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { WindowRef } from '../helper/window.ref';\r\n\r\n@Injectable()\r\nexport class GtmRef {\r\n\r\n constructor(private windowRef: WindowRef) {\r\n }\r\n\r\n get nativeDatalayer(): any {\r\n return this.windowRef.nativeWindow.dataLayer || [];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { getPageSectionByUrl } from './gtm.helper';\r\nimport { GtmEventProperties, GtmPageViewProperties } from './gtm-properties.model';\r\nimport { GtmRef } from './gtm.ref';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\nimport { DriverService } from 'app/driver/shared/driver.service';\r\nimport { environment } from 'environments/environment';\r\nimport { TranslationService } from 'app/shared/translation/translation.service';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GtmService {\r\n\r\n constructor(private storageService: AppStorageService,\r\n private driverService: DriverService,\r\n private gtm: GtmRef,\r\n private translationService: TranslationService,\r\n ) {\r\n }\r\n\r\n public sendPageView(url: string): void {\r\n let isPageViewFired = false;\r\n this.driverService.driver.pipe(\r\n takeWhile(() => !isPageViewFired),\r\n ).subscribe((driver) => {\r\n const gtmProperties: GtmPageViewProperties = {\r\n event: 'dataLayerLoad',\r\n country: environment.production ? this.storageService.countrySelected : 'TEST',\r\n pageLanguage: this.translationService.language,\r\n userRole: this.storageService.currentUserRole,\r\n userCompany: driver.client && driver.client.name ? driver.client.name : null,\r\n plateforme: 'driver',\r\n pageSection: getPageSectionByUrl(url),\r\n userId: driver.id,\r\n };\r\n this.gtm.nativeDatalayer.push(gtmProperties);\r\n isPageViewFired = true;\r\n })\r\n }\r\n\r\n public sendEvent(event: GtmEventProperties, label?: string, details?: string): void {\r\n // Set eventLabel with existing user role data or take hardcoded label or take default\r\n if (Object.prototype.hasOwnProperty.call(event, 'eventLabel')) {\r\n event.eventLabel = label || event.eventLabel;\r\n }\r\n // Set eventDetail with existing user role data or take hardcoded details or take default\r\n if (Object.prototype.hasOwnProperty.call(event, 'eventDetails')) {\r\n event.eventDetails = details || event.eventDetails;\r\n }\r\n this.checkEventRequiredProperty(event);\r\n this.gtm.nativeDatalayer.push(event);\r\n }\r\n\r\n public sendAnonymousEvent(event: GtmEventProperties, label?: string, details?: string): void {\r\n this.checkEventRequiredProperty(event);\r\n this.gtm.nativeDatalayer.push(event);\r\n }\r\n\r\n private checkEventRequiredProperty(event: GtmEventProperties): void {\r\n for (const property in event) {\r\n if (property && Object.prototype.hasOwnProperty.call(event, property) && /<.*>/.test(event[property])) {\r\n console.error('GTM - Missing property in event : ', event.event, property, event[property]);\r\n return;\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    {{ contract.vehicle.makeAndModel ? (contract.vehicle.makeAndModel | capitalize) : (contract.reference) }}

    \\r\\n

    \\r\\n {{'global-generic_terms-vehicle_status_onroad' | translate }} ({{contract.vehicle.licensePlate }})

    \\r\\n

    \\r\\n {{'global-generic_terms-vehicle_status_terminating' | translate }} ({{contract.vehicle.licensePlate }})

    \\r\\n

    \\r\\n {{'global-generic_terms-vehicle_status_ordered' | translate}}

    \\r\\n

    \\r\\n {{'global-generic_terms-vehicle_status_ordered' | translate}} ({{ contract.vehicle.licensePlate }})

    \\r\\n

    \\r\\n {{'global-generic_terms-vehicle_status_returned' | translate}} ({{ contract.vehicle.licensePlate }})

    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.cars-header-container {\\n position: relative;\\n z-index: 1;\\n display: inline-flex;\\n width: 100%;\\n height: 110px;\\n background: #050b7f; }\\n.cars-header-container::before {\\n content: '';\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 100%;\\n height: 5px;\\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)); }\\n.cars-header-container ul {\\n width: 100%;\\n padding: 0 25px;\\n max-width: 30em;\\n margin: auto;\\n display: flex;\\n transition-timing-function: ease-in-out;\\n transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }\\n.cars-header-container ul li {\\n min-width: 100%;\\n max-width: 100%;\\n padding: 0 20px;\\n color: #FFFFFF;\\n text-align: left;\\n display: flex;\\n flex-flow: row nowrap;\\n align-items: center;\\n opacity: 0.5;\\n transition: opacity 300ms ease-in-out; }\\n.cars-header-container ul li.active {\\n opacity: 1; }\\n.cars-header-container ul li div.vehicle {\\n position: relative;\\n flex-shrink: 0;\\n width: 40px;\\n height: 40px;\\n background: #00cfff;\\n border-radius: 50%;\\n overflow: hidden;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n.cars-header-container ul li div.vehicle ald-icon {\\n color: #FFFFFF;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n font-size: 20px;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n display: block; }\\n.cars-header-container ul li div.wrap {\\n margin: 0 0 0 15px;\\n overflow: hidden; }\\n.cars-header-container ul li div.wrap h2 {\\n font-size: 1.125em;\\n line-height: 1.1em;\\n font-weight: 700;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n margin-bottom: 5px; }\\n.cars-header-container ul li div.wrap h3 {\\n font-size: 0.875em;\\n color: #FFFFFF; }\\n.cars-header-container nav {\\n position: absolute;\\n bottom: 5px;\\n left: 50%;\\n transform: translateX(-50%); }\\n.cars-header-container nav button {\\n display: inline-block;\\n border-radius: 50%;\\n background: #FFFFFF;\\n opacity: 0.5;\\n width: 6px;\\n height: 6px;\\n margin: 0 5px;\\n vertical-align: middle; }\\n.cars-header-container nav button.active {\\n opacity: 1; }\\n/*Screen Size : m*/\\n@media screen and (min-width: 980px) {\\n :host.document-host .cars-header-container ul {\\n max-width: 700px; }\\n .cars-header-container {\\n max-height: 320px;\\n height: 35vh;\\n min-height: 250px;\\n background: none;\\n margin-bottom: 25px; }\\n .cars-header-container::before {\\n display: none; }\\n .cars-header-container ul {\\n max-width: 700px; }\\n .cars-header-container ul li {\\n color: #000;\\n padding-right: 40px; }\\n .cars-header-container ul li div.vehicle {\\n width: 100px;\\n height: 100px;\\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);\\n line-height: 1.1em; }\\n .cars-header-container ul li div.vehicle ald-icon {\\n font-size: 30px; }\\n .cars-header-container ul li div.wrap {\\n margin: 0 0 0 30px; }\\n .cars-header-container ul li div.wrap h2 {\\n font-size: 2.813em;\\n white-space: normal;\\n text-overflow: clip;\\n overflow: visible;\\n margin-bottom: 0.3em;\\n color: #050b7f; }\\n .cars-header-container ul li div.wrap h3 {\\n font-size: 1.375em;\\n color: #00cfff; }\\n .cars-header-container nav {\\n bottom: 0; }\\n .cars-header-container nav button {\\n background: #00cfff;\\n width: 8px;\\n height: 8px; } }\\n/*Screen Size : m + max-height 800*/\\n@media screen and (min-width: 980px) and (max-height: 800px) {\\n .cars-header-container {\\n min-height: 200px;\\n margin-bottom: 0; } }\\n/*Screen Size : m + max-height 750*/\\n@media screen and (min-width: 980px) and (max-height: 700px) {\\n .cars-header-container {\\n min-height: 200px;\\n margin-bottom: 0; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2hlYWRlci1jYXJzLWNhcm91c3NlbC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvaGVhZGVyLWNhcnMtY2Fyb3Vzc2VsL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvaGVhZGVyLWNhcnMtY2Fyb3Vzc2VsL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9oZWFkZXItY2Fycy1jYXJvdXNzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvaGVhZGVyLWNhcnMtY2Fyb3Vzc2VsL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9oZWFkZXItY2Fycy1jYXJvdXNzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvaGVhZGVyLWNhcnMtY2Fyb3Vzc2VsL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXGhlYWRlci1jYXJzLWNhcm91c3NlbFxcaGVhZGVyLWNhcnMtY2Fyb3Vzc2VsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvaGVhZGVyLWNhcnMtY2Fyb3Vzc2VsL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2hlYWRlci1jYXJzLWNhcm91c3NlbC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9oZWFkZXItY2Fycy1jYXJvdXNzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvaGVhZGVyLWNhcnMtY2Fyb3Vzc2VsL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtB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cm91c3NlbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbi5jYXJzLWhlYWRlci1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6ICRjYXJzLW1lbnUtaGVpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnknKTtcclxuICAgIC8vIHNoYWRvd1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAwLjE1KSk7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcclxuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtY29udGVudC13aWR0aDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRxdWFkLWVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcblxyXG4gICAgICAgICAgICAvL21hcmdpbjogMCA0NXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZGl2LnZlaGljbGUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgYWxkLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXIoYm90aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBkaXYud3JhcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDE1cHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOjVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuYXYge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDVweDtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgd2lkdGg6IDZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKlNjcmVlbiBTaXplIDogbSovXHJcblxyXG5AaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG5cclxuICAgIC8vIHRyaWNrIHRvIGNoYW5nZSBzdHlsZXMgaW4gZG9jdW1lbnQgdmlld1xyXG4gICAgOmhvc3QuZG9jdW1lbnQtaG9zdCAuY2Fycy1oZWFkZXItY29udGFpbmVyIHVsIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJzLWhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDMyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMzV2aDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyNTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIC8vICBtYXgtd2lkdGg6IGNhbGMoMTAwMHB4ICsgMTAlKTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIGRpdi52ZWhpY2xlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsZC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBkaXYud3JhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjgxM2VtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMzc1ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbmF2IHtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLypTY3JlZW4gU2l6ZSA6IG0gKyBtYXgtaGVpZ2h0IDgwMCovXHJcbkBpbmNsdWRlIG1pbi13aWR0aChtLCBcIihtYXgtaGVpZ2h0OjgwMHB4KVwiKSB7XHJcblxyXG4gICAgLmNhcnMtaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLypTY3JlZW4gU2l6ZSA6IG0gKyBtYXgtaGVpZ2h0IDc1MCovXHJcbkBpbmNsdWRlIG1pbi13aWR0aChtLCBcIihtYXgtaGVpZ2h0OjcwMHB4KVwiKSB7XHJcblxyXG4gICAgLmNhcnMtaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iLCJAaW1wb3J0ICd2YXJzJztcclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkcGF0aCwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgIHNyYyA6IHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcclxuICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xyXG4gIEByZXR1cm4gJHJlbVNpemUgKiAxcmVtO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgZm9udC1zaXplOiAkc2l6ZTtcclxuICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA0MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDgwMDtcclxuIl19 */\"","import { Contract } from '../../driver/shared/models/contract.model';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DriverService } from '../../driver/shared/driver.service';\r\nimport { AfterViewChecked, Component, ElementRef, EventEmitter, HostListener, Output, ViewChild } from '@angular/core';\r\nimport {MaskComponent} from '../mask/mask.component';\r\n\r\nconst MIN_SWIPE = 5;\r\nconst SPEED_CAROUSSEL = 250;\r\n\r\n@Component({\r\n selector: 'app-header-cars-caroussel',\r\n templateUrl: './header-cars-caroussel.component.html',\r\n styleUrls: ['./header-cars-caroussel.component.scss']\r\n})\r\nexport class HeaderCarsCarousselComponent implements AfterViewChecked {\r\n\r\n public currentIndex = 0;\r\n @ViewChild('caroussel')\r\n public caroussel;\r\n public driverContracts: Contract[];\r\n @Output()\r\n public updateRoute = new EventEmitter();\r\n private numItems = 0;\r\n private wItem = 0;\r\n private positionLeft = 0;\r\n private positionLeftPrev = 0;\r\n private delta = 0;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private element: ElementRef,\r\n private driverService: DriverService) {\r\n const driverContractId = (this.route.snapshot.params as any).contractId;\r\n\r\n this.driverService.driverStream.subscribe(driver => {\r\n if (driver && driverContractId) {\r\n // Sort cars by \"priority\" of their status\r\n this.driverContracts = driver.contracts.sort((a, b) => {\r\n return this.getContractRank(a) - this.getContractRank(b);\r\n });\r\n this.numItems = this.driverContracts.length;\r\n\r\n this.driverContracts.forEach(\r\n (contract, index) => {\r\n\r\n if (contract.id === driverContractId) {\r\n this.currentIndex = index;\r\n setTimeout(() => {\r\n this.moveCaroussel(0);\r\n }, 0);\r\n }\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize($event) {\r\n this.resize();\r\n this.moveCaroussel(0);\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.resize();\r\n }\r\n\r\n onClickVehicle(index, currentContractId) {\r\n\r\n if (Math.abs(this.delta) <= MIN_SWIPE) {\r\n if (this.currentIndex !== index) {\r\n this.currentIndex = index;\r\n this.moveCaroussel(SPEED_CAROUSSEL);\r\n }\r\n }\r\n\r\n this.delta = 0;\r\n }\r\n\r\n /*\r\n gesture mouseup / touchend\r\n */\r\n public onUp(event) {\r\n\r\n if (this.numItems <= 1 || this.delta === 0) {\r\n return;\r\n }\r\n\r\n let speed = SPEED_CAROUSSEL;\r\n\r\n if (this.positionLeft < this.positionLeftPrev - MIN_SWIPE) {\r\n\r\n if (this.currentIndex < this.numItems - 1) {\r\n this.currentIndex = this.currentIndex + 1;\r\n }\r\n\r\n } else if (this.positionLeft > this.positionLeftPrev + MIN_SWIPE) {\r\n\r\n if (this.currentIndex > 0) {\r\n this.currentIndex = this.currentIndex - 1;\r\n }\r\n\r\n } else {\r\n\r\n speed = SPEED_CAROUSSEL / 2;\r\n\r\n }\r\n\r\n this.moveCaroussel(speed);\r\n }\r\n\r\n /*\r\n gesture pan\r\n */\r\n onMove(event) {\r\n\r\n if (this.numItems <= 1) {\r\n return;\r\n }\r\n\r\n this.positionLeft = event.deltaX + this.positionLeftPrev;\r\n this.delta = event.deltaX;\r\n\r\n this.caroussel.nativeElement.style.transitionDuration = '0ms';\r\n this.caroussel.nativeElement.style.WebkitTransitionDuration = '0ms';\r\n this.caroussel.nativeElement.style.MozTransitionDuration = '0ms';\r\n this.caroussel.nativeElement.style.OTransitionDuration = '0ms';\r\n\r\n this.caroussel.nativeElement.style.transform = 'translate3d(' + Math.floor(this.positionLeft) + 'px,0,0)';\r\n this.caroussel.nativeElement.style.WebkitTransform = 'translate3d(' + Math.floor(this.positionLeft) + 'px,0,0)';\r\n this.caroussel.nativeElement.style.MozTransform = 'translate3d(' + Math.floor(this.positionLeft) + 'px,0,0)';\r\n this.caroussel.nativeElement.style.OTransform = 'translate3d(' + Math.floor(this.positionLeft) + 'px,0,0)';\r\n\r\n }\r\n\r\n /*\r\n gesture endTransition\r\n */\r\n onTransitionEnd(event) {\r\n\r\n if (event.propertyName === 'transform') {\r\n this.updateRoute.emit(this.driverContracts[this.currentIndex].id);\r\n }\r\n }\r\n\r\n /**\r\n * Get the priority rank of a contract\r\n * Low ranks will be displayed first\r\n */\r\n private getContractRank(contract) {\r\n const status = contract.contractStatus;\r\n const priorityList = [\r\n 'VehicleOnRoad',\r\n 'VehicleDelivered',\r\n 'VehicleAvailable',\r\n 'VehicleRegistered',\r\n 'VehicleFactored',\r\n 'CommandConfirmed',\r\n 'CommandSaved',\r\n 'VehicleReturned',\r\n 'VehicleSold'\r\n ];\r\n const rank = priorityList.indexOf(status) >= 0 ? priorityList.indexOf(status) : priorityList.length;\r\n return rank;\r\n }\r\n\r\n /*\r\n private methode move Caroussel\r\n */\r\n private moveCaroussel(speed) {\r\n\r\n const l = -(this.currentIndex * this.wItem);\r\n\r\n this.positionLeftPrev = l;\r\n this.caroussel.nativeElement.style.transitionDuration = speed + 'ms';\r\n this.caroussel.nativeElement.style.WebkitTransitionDuration = speed + 'ms';\r\n this.caroussel.nativeElement.style.MozTransitionDuration = speed + 'ms';\r\n this.caroussel.nativeElement.style.OTransitionDuration = speed + 'ms';\r\n\r\n this.caroussel.nativeElement.style.transform = 'translate3d(' + Math.floor(l) + 'px,0,0)';\r\n this.caroussel.nativeElement.style.WebkitTransform = 'translate3d(' + Math.floor(l) + 'px,0,0)';\r\n this.caroussel.nativeElement.style.MozTransform = 'translate3d(' + Math.floor(l) + 'px,0,0)';\r\n this.caroussel.nativeElement.style.OTransform = 'translate3d(' + Math.floor(l) + 'px,0,0)';\r\n\r\n }\r\n\r\n\r\n /*\r\n private methode resize\r\n */\r\n private resize() {\r\n if (this.caroussel.nativeElement.querySelector('li')) {\r\n this.wItem = this.caroussel.nativeElement.querySelector('li').offsetWidth + 1;\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { MyAldUiModule } from 'app/shared/ui/myald-ui/myald-ui.module';\r\nimport { PipesModule } from '../../shared/pipes/pipes.module';\r\nimport { HeaderCarsCarousselComponent } from './header-cars-caroussel.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n PipesModule,\r\n TranslateModule,\r\n MyAldUiModule,\r\n ],\r\n declarations: [HeaderCarsCarousselComponent],\r\n exports: [HeaderCarsCarousselComponent]\r\n})\r\nexport class HeaderCarsCarousselModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LoggerService } from './logger.service';\r\n\r\n@Injectable()\r\nexport abstract class BaseService {\r\n constructor(private loggerService: LoggerService) {\r\n }\r\n\r\n throwError() {\r\n console.log('CustomErrorHandler should be trigger');\r\n\r\n throw new Error('THROW AN ERROR FROM ' + this.constructor.name);\r\n }\r\n\r\n addMessage(_message) {\r\n this.loggerService.error(_message);\r\n }\r\n\r\n handleError(error: any): Promise {\r\n this.loggerService.error('An error occurred ' + error.message);\r\n\r\n return Promise.reject(error.message || error);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class DateSortingService {\r\n\r\n public dateSortDesc(a, b) {\r\n const date1 = new Date(a.creationDate);\r\n const date2 = new Date(b.creationDate);\r\n if (date1 > date2) {\r\n return -1;\r\n }\r\n if (date1 < date2) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nfunction _document(): any {\r\n // returns native document obj\r\n return document;\r\n}\r\n\r\n@Injectable()\r\nexport class DocumentRef {\r\n get nativeDocument(): any {\r\n return _document();\r\n }\r\n}\r\n","export const HttpConst = {\r\n headers: {\r\n CountryCode: 'Country-Code',\r\n UserRole: 'User-Role',\r\n ContentType: 'Content-type',\r\n },\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { TransferHttpOptions, TextTransferHttpOptions } from './transfer-http-options';\r\nimport { HttpConst } from './http.const';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\nimport { AuthStorageService } from '../storage/auth/auth-storage.service';\r\n@Injectable()\r\nexport class HttpService {\r\n constructor(\r\n private httpClient: HttpClient,\r\n private storageService: AppStorageService,\r\n private authStorageService: AuthStorageService\r\n ) {\r\n }\r\n public get(url: string, isAnonymousCall: Boolean = false, includeHeaders: Boolean = true): Observable {\r\n return this.sendRequest(() => {\r\n return this.httpClient.get(url, this.getOptions(isAnonymousCall, true, includeHeaders));\r\n });\r\n }\r\n\r\n public getString(url: string, isAnonymousCall: Boolean = false): Observable {\r\n let options: TextTransferHttpOptions;\r\n let headers = new HttpHeaders();\r\n headers = headers.append(HttpConst.headers.ContentType, 'application/json');\r\n headers = headers.append(HttpConst.headers.CountryCode, this.storageService.countrySelected);\r\n headers = headers.append(HttpConst.headers.UserRole, this.storageService.currentUserRole);\r\n if (!isAnonymousCall) {\r\n headers = headers.append('Authorization', 'Bearer ' + this.authStorageService.accessToken);\r\n }\r\n options = { headers, responseType: 'text' };\r\n return this.sendRequest(() => {\r\n return this.httpClient.get(url, options);\r\n });\r\n }\r\n\r\n /* For IE */\r\n public getNoCache(url: string): Observable {\r\n const options = this.getOptions(false, false);\r\n options.headers = options.headers.append('Cache-Control', 'no-cache');\r\n options.headers = options.headers.append('Pragma', 'no-cache');\r\n options.headers = options.headers.append('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT');\r\n\r\n return this.sendRequest(() => {\r\n return this.httpClient.get(url, options);\r\n });\r\n }\r\n\r\n public post(url: string, body: any, isAnonymousCall: Boolean = false): Observable {\r\n return this.sendRequest(() => {\r\n return this.httpClient.post(url, body, this.getOptions(isAnonymousCall));\r\n });\r\n }\r\n\r\n public postFile(url: string, body: any): Observable {\r\n return this.sendRequest(() => {\r\n return this.httpClient.post(url, body, this.getOptions(false, false));\r\n });\r\n }\r\n\r\n public put(url: string, body: any, isAnonymousCall: Boolean = false): Observable {\r\n return this.sendRequest(() => {\r\n return this.httpClient.put(url, body, this.getOptions(isAnonymousCall));\r\n });\r\n }\r\n // public delete(url: string, isAnonymousCall: Boolean = false): Observable {\r\n // return this.sendRequest(() => {\r\n // return this.httpClient.delete(url, this.getOptions(isAnonymousCall));\r\n // });\r\n // }\r\n // public patch(url: string, body: any, isAnonymousCall: Boolean = false): Observable {\r\n // return this.sendRequest(() => {\r\n // return this.httpClient.patch(url, body, this.getOptions(isAnonymousCall));\r\n // });\r\n // }\r\n // public head(url: string, isAnonymousCall: Boolean = false): Observable {\r\n // return this.sendRequest(() => {\r\n // return this.httpClient.head(url, this.getOptions(isAnonymousCall));\r\n // });\r\n // }\r\n // public options(url: string, isAnonymousCall: Boolean = false): Observable {\r\n // return this.sendRequest(() => {\r\n // return this.httpClient.options(url, this.getOptions(isAnonymousCall));\r\n // });\r\n // }\r\n\r\n private sendRequest(callback: () => Observable): Observable {\r\n return callback().pipe(\r\n catchError((httpError) => {\r\n return throwError(httpError);\r\n },\r\n ));\r\n }\r\n\r\n errorHandler(error: any): void {\r\n console.log(error);\r\n }\r\n\r\n private getOptions(isAnonymousCall: Boolean, useJsonContentType = true, includeHeaders: Boolean = true): TransferHttpOptions {\r\n let options: TransferHttpOptions;\r\n let headers = new HttpHeaders();\r\n if (useJsonContentType) {\r\n headers = headers.append(HttpConst.headers.ContentType, 'application/json');\r\n }\r\n if (isAnonymousCall) {\r\n options = {\r\n headers,\r\n withCredentials: false,\r\n responseType: 'json'\r\n };\r\n } else {\r\n if (includeHeaders) {\r\n headers = headers.append(HttpConst.headers.CountryCode, this.storageService.countrySelected);\r\n headers = headers.append(HttpConst.headers.UserRole, this.storageService.currentUserRole);\r\n }\r\n\r\n headers = headers.append('Authorization', 'Bearer ' + this.authStorageService.accessToken);\r\n options = { headers, responseType: 'json' };\r\n }\r\n return options;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LogMessage } from './log-message.model';\r\nimport { AppInsightsService, SeverityLevel } from 'ng2-appinsights';\r\n\r\n@Injectable()\r\nexport class LoggerService {\r\n\r\n constructor(private appInsight: AppInsightsService) {\r\n }\r\n\r\n debug(message: string) {\r\n this.log({level: SeverityLevel.Verbose, content: message});\r\n }\r\n\r\n info(message: string) {\r\n this.log({level: SeverityLevel.Information, content: message});\r\n }\r\n\r\n warning(message: string) {\r\n this.log({level: SeverityLevel.Warning, content: message});\r\n }\r\n\r\n error(message: string) {\r\n this.log({level: SeverityLevel.Error, content: message});\r\n }\r\n\r\n critical(message: string) {\r\n this.log({level: SeverityLevel.Critical, content: message});\r\n }\r\n\r\n log(message: LogMessage): void {\r\n if (message.level > 2) {\r\n this.appInsight.trackException(new Error(message.content), undefined, undefined, undefined, message.level);\r\n }\r\n }\r\n\r\n}\r\n","import { ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nexport function flattenRouteData(snapshot: ActivatedRouteSnapshot, targetObj = {}): any {\r\n\r\n // Copy this level's data to the target object\r\n if (snapshot.data) {\r\n for (const key in snapshot.data) {\r\n if (snapshot.data.hasOwnProperty(key)) {\r\n targetObj[key] = snapshot.data[key];\r\n }\r\n }\r\n }\r\n\r\n // Recursion for all sub-routes\r\n if (snapshot.children) {\r\n snapshot.children.forEach((childRoute) => {\r\n flattenRouteData(childRoute, targetObj);\r\n });\r\n }\r\n\r\n return targetObj;\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nfunction _window(): any {\r\n // return the global native browser window object\r\n return window;\r\n}\r\n\r\n@Injectable()\r\nexport class WindowRef {\r\n get nativeWindow(): any {\r\n return _window();\r\n }\r\n}\r\n","import { ErrorHandler, NgModule } from '@angular/core';\r\nimport { LoggerService } from '../helper/logger.service';\r\n\r\n@NgModule({\r\n providers: [\r\n LoggerService\r\n ]\r\n})\r\nexport class CustomErrorHandler extends ErrorHandler {\r\n\r\n constructor(private loggerService: LoggerService) {\r\n super();\r\n }\r\n\r\n /* override for handleError */\r\n public handleError(error: any): void {\r\n // anyway fallback to the ng handler\r\n this.loggerService.error(error);\r\n super.handleError(error);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n@-webkit-keyframes bounce {\\n 0% {\\n transform: translateY(8px); }\\n 30% {\\n transform: translateY(-8px); }\\n 60% {\\n transform: translateY(8px); }\\n 100% {\\n transform: translateY(8px); } }\\n@keyframes bounce {\\n 0% {\\n transform: translateY(8px); }\\n 30% {\\n transform: translateY(-8px); }\\n 60% {\\n transform: translateY(8px); }\\n 100% {\\n transform: translateY(8px); } }\\n.state-pending {\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n left: 0;\\n width: 100%;\\n height: 5px;\\n line-height: 0;\\n text-align: center; }\\n.state-pending span {\\n display: inline-block;\\n margin: 0 4px;\\n width: 5px;\\n height: 5px;\\n border-radius: 50%;\\n background-color: #FFFFFF;\\n vertical-align: middle;\\n line-height: 5px;\\n transform: translateY(8px);\\n -webkit-animation: bounce 1300ms cubic-bezier(0.57, 0, 0.44, 1) infinite;\\n animation: bounce 1300ms cubic-bezier(0.57, 0, 0.44, 1) infinite; }\\n.state-pending span:nth-child(1) {\\n -webkit-animation-delay: 100ms;\\n animation-delay: 100ms; }\\n.state-pending span:nth-child(2) {\\n -webkit-animation-delay: 200ms;\\n animation-delay: 200ms; }\\n.state-pending span:nth-child(3) {\\n -webkit-animation-delay: 300ms;\\n animation-delay: 300ms; }\\n.state-pending.relative {\\n position: relative; }\\n.state-pending.relative span {\\n background-color: #00cfff; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2xvYWRpbmcvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2xvYWRpbmcvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9sb2FkaW5nL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9sb2FkaW5nL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2xvYWRpbmcvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2xvYWRpbmcvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbG9hZGluZy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFxsb2FkaW5nXFxsb2FkaW5nLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbG9hZGluZy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUVJO0lBQ0ksMkJBQTBCLEVBQUE7RUFHOUI7SUFDSSw0QkFBMkIsRUFBQTtFQUcvQjtJQUNJLDJCQUEwQixFQUFBO0VBRzlCO0lBQ0ksMkJBQTBCLEVBQUEsRUFBQTtBQWZsQztFQUVJO0lBQ0ksMkJBQTBCLEVBQUE7RUFHOUI7SUFDSSw0QkFBMkIsRUFBQTtFQUcvQjtJQUNJLDJCQUEwQixFQUFBO0VBRzlCO0lBQ0ksMkJBQTBCLEVBQUEsRUFBQTtBQVNsQztFQUVJLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsNEJBQTJCO0VBQzNCLFFBQU87RUFDUCxZQUFXO0VBQ1gsWUFYVztFQVlYLGVBQWM7RUFDZCxtQkFBa0IsRUFnQ3JCO0FBekNEO0lBWVEsc0JBQXFCO0lBQ3JCLGNBQWE7SUFDYixXQWxCTztJQW1CUCxZQW5CTztJQW9CUCxtQkFBa0I7SUFDbEIsMEJDOUJRO0lEK0JSLHVCQUFzQjtJQUN0QixpQkF2Qk87SUF3QlAsMkJBQTBCO0lBRTFCLHlFQUF3RTtZQUF4RSxpRUFBd0UsRUFVM0U7QUFoQ0w7TUEyQmdCLCtCQUEyQjtjQUEzQix1QkFBMkIsRUFDOUI7QUE1QmI7TUEyQmdCLCtCQUEyQjtjQUEzQix1QkFBMkIsRUFDOUI7QUE1QmI7TUEyQmdCLCtCQUEyQjtjQUEzQix1QkFBMkIsRUFDOUI7QUE1QmI7SUFtQ1EsbUJBQWtCLEVBSXJCO0FBdkNMO01BcUNZLDBCQzFEWSxFRDJEZiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy9fdGhlbWUtaW1wb3J0cy5zY3NzXCI7XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XHJcblxyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIDMwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4kYmFsbC1zaXplOiA1cHg7XHJcbiRib3VuY2UtZHVyYXRpb246IDEzMDBtcztcclxuJGJvdW5jZS1kZWxheTogJGJvdW5jZS1kdXJhdGlvbiAvIDM7XHJcblxyXG4uc3RhdGUtcGVuZGluZyB7XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6ICRiYWxsLXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDRweDtcclxuICAgICAgICB3aWR0aDogJGJhbGwtc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRiYWxsLXNpemU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRiYWxsLXNpemU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcblxyXG4gICAgICAgIGFuaW1hdGlvbjogYm91bmNlICRib3VuY2UtZHVyYXRpb24gY3ViaWMtYmV6aWVyKC41NywgMCwgLjQ0LCAxKSBpbmZpbml0ZTtcclxuXHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcclxuXHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKCAjeyRpfSApIHtcclxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMTAwbXMgKiAkaTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICYucmVsYXRpdmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iXX0= */\"","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loading',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss']\r\n})\r\nexport class LoadingComponent {\r\n\r\n @Input() relativeVersion: boolean;\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoadingComponent } from './loading.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n LoadingComponent\r\n ],\r\n exports: [\r\n LoadingComponent\r\n ]\r\n})\r\nexport class LoadingModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observer } from 'rxjs/Observer';\r\nimport { environment } from '../../../environments/environment';\r\nimport 'rxjs/add/operator/map';\r\nimport { Observable } from 'rxjs';\r\n\r\nconst URL_API_GEOLOCATE: string = 'https://www.googleapis.com/geolocation/v1/geolocate?key=' + environment.gmapApiKey;\r\nconst URL_API_STATIC: string = 'https://maps.googleapis.com/maps/api/staticmap?key=' + environment.gmapApiKey;\r\n\r\n/**\r\n *\r\n * Map data service. This service allows us to query various APIs for mapping related data\r\n *\r\n * Not to be confused with UI map-google service which is used to control the instance of a Google Map\r\n *\r\n */\r\n@Injectable()\r\nexport class MapService {\r\n\r\n public autoCompleteService: any;\r\n public geocoder: any;\r\n\r\n private _latitude: number;\r\n private _longitude: number;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n ) {\r\n }\r\n\r\n /**\r\n * Check if user has been geolocated before\r\n */\r\n isGeolocated(): boolean {\r\n return !!(this._latitude && this._longitude);\r\n\r\n }\r\n\r\n /*\r\n * Retrieve previous position\r\n */\r\n getStoredPosition() {\r\n return {\r\n lat: this._latitude,\r\n lng: this._longitude\r\n };\r\n }\r\n\r\n /**\r\n * geolocate user api google\r\n */\r\n geolocateApiGoogle(): Observable {\r\n\r\n return this.http.post(URL_API_GEOLOCATE, null)\r\n .map(res => res);\r\n\r\n }\r\n\r\n /**\r\n * get autocomplete address\r\n */\r\n getAutocompleteAddress(address: string): Observable {\r\n\r\n if (!this.autoCompleteService) {\r\n this.autoCompleteService = new google.maps.places.AutocompleteService();\r\n }\r\n\r\n if (address) {\r\n\r\n return Observable.create(observer => {\r\n\r\n this.autoCompleteService.getPlacePredictions({input: address}, function (predictions, status) {\r\n\r\n const result = [];\r\n\r\n if (status !== google.maps.places.PlacesServiceStatus.OK) {\r\n\r\n observer.next({});\r\n observer.complete();\r\n\r\n } else {\r\n\r\n predictions.forEach(prediction => {\r\n const obj = {\r\n label: prediction.structured_formatting.main_text,\r\n label_2: (prediction.structured_formatting.secondary_text) ? prediction.structured_formatting.secondary_text : '',\r\n // label_3: (prediction.terms[2]) ? prediction.terms[2].value :'',\r\n place_id: prediction.place_id\r\n };\r\n result.push(obj);\r\n });\r\n\r\n observer.next(result);\r\n observer.complete();\r\n }\r\n\r\n });\r\n\r\n }).catch(error => Observable.of([]));\r\n }\r\n\r\n return Observable.of([]);\r\n\r\n }\r\n\r\n /**\r\n * get get LatLng By Placeid\r\n */\r\n getLatLngByPlaceId(placeId): Observable {\r\n\r\n if (!this.geocoder) {\r\n this.geocoder = new google.maps.Geocoder();\r\n }\r\n\r\n return Observable.create(observer => {\r\n\r\n this.geocoder.geocode({'placeId': placeId}, function (results, status) {\r\n\r\n if (status !== google.maps.GeocoderStatus.OK) {\r\n\r\n observer.error('service geocoder indisponible');\r\n observer.complete();\r\n\r\n } else {\r\n\r\n observer.next(results[0].geometry.location);\r\n observer.complete();\r\n\r\n }\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n /**\r\n * get get LatLng By Placeid\r\n */\r\n getAddressByLatLng(lat: number, lng: number): Observable {\r\n\r\n if (!this.geocoder) {\r\n this.geocoder = new google.maps.Geocoder();\r\n }\r\n\r\n return Observable.create(observer => {\r\n\r\n this.geocoder.geocode({'location': {lat: lat, lng: lng}}, function (results, status) {\r\n\r\n if (status !== google.maps.GeocoderStatus.OK) {\r\n\r\n observer.error('service geocoder indisponible');\r\n observer.complete();\r\n\r\n } else {\r\n observer.next(results[0].formatted_address);\r\n observer.complete();\r\n\r\n }\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n /**\r\n * get Current Position geolocation API HTML5 Navigator\r\n */\r\n getCurrentPosition(): Observable {\r\n\r\n return Observable.create((observer: Observer) => {\r\n\r\n if (navigator.geolocation) {\r\n\r\n navigator.geolocation.getCurrentPosition(\r\n // Success callback.\r\n (position: Position) => {\r\n this._latitude = position.coords.latitude;\r\n this._longitude = position.coords.longitude;\r\n observer.next(position);\r\n observer.complete();\r\n },\r\n\r\n // Error callback.\r\n (error: PositionError) => {\r\n\r\n if (error.code > 0) {\r\n\r\n switch (error.code) {\r\n case error.PERMISSION_DENIED:\r\n observer.error('permission denied');\r\n break;\r\n case error.POSITION_UNAVAILABLE:\r\n observer.error('position unavailable');\r\n break;\r\n case error.TIMEOUT:\r\n observer.error('position timeout');\r\n break;\r\n\r\n }\r\n }\r\n\r\n },\r\n\r\n {enableHighAccuracy: true, timeout: 8000, maximumAge: 50000}\r\n );\r\n\r\n } else {\r\n\r\n observer.error('browser doesn\\'t support geolocation');\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n /**\r\n * get image static\r\n */\r\n getMapStatic(size: string, lat: number, lng: number, zoom: number, scale = 1) {\r\n\r\n return URL_API_STATIC + '&size=' + size + '&' + 'center=' + lat + ',' + lng + '&zoom=' + zoom + '&scale=' + scale;\r\n\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n/* MASK */\\ndiv.mask {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 1;\\n width: 100%;\\n height: 100%;\\n background: rgba(0, 0, 0, 0.7);\\n opacity: 0; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL21hc2svQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL21hc2svQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9tYXNrL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9tYXNrL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL21hc2svQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL21hc2svQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbWFzay9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFxtYXNrXFxtYXNrLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkMsV0FBVztBQUNYO0VBQ0ksZ0JBQWU7RUFDZixPQUFNO0VBQ04sUUFBTztFQUNQLFdBQVU7RUFDVixZQUFXO0VBQ1gsYUFBWTtFQUNaLCtCQUE4QjtFQUM5QixXQUFVLEVBQ2IiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvbWFzay9tYXNrLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuLyogTUFTSyAgKi9cclxuZGl2Lm1hc2sge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbn1cclxuIl19 */\"","import { Component, EventEmitter, Output } from '@angular/core';\r\nimport { animMaskAnimation } from '../animations/anim-mask-animations';\r\n\r\n@Component({\r\n selector: 'app-mask',\r\n templateUrl: './mask.component.html',\r\n styleUrls: ['./mask.component.scss'],\r\n animations: [\r\n animMaskAnimation\r\n ]\r\n})\r\nexport class MaskComponent {\r\n\r\n public showMask: boolean;\r\n @Output()\r\n public close = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n set show(b: boolean) {\r\n this.showMask = b;\r\n }\r\n\r\n toggleMask() {\r\n this.showMask = !this.showMask;\r\n }\r\n\r\n onClose(event) {\r\n this.close.emit(null);\r\n }\r\n\r\n}\r\n","import { MaskComponent } from './mask.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n MaskComponent\r\n ],\r\n exports: [\r\n MaskComponent\r\n ]\r\n})\r\nexport class MaskModule {\r\n}\r\n","const ModalCode = {\r\n LOGOUT: 'logout',\r\n RESETPWD: 'resetpwd',\r\n FAVOURITE_APP: 'favouriteapp',\r\n GEOLOCATION_ERR: 'geolocationerror',\r\n ENTER_PHONE: 'enterphonenumber',\r\n DOWNLOAD_APP: 'downloadapp',\r\n COUNTRY_SELECT: 'country',\r\n PASSWORD_EXPIRATION: 'passwordexpiration',\r\n UNSUPPORTED_BROWSER: 'unsupportedbrowser',\r\n};\r\n\r\nexport default ModalCode;\r\n","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

{{title | translate}}

\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n

{{title | translate}}

\\r\\n

{{ 'global-expiration_password_popin-text' | translate:{dataLength: displayNumber} }}

\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n

{{ 'global-maintenance_popin-title' | translate }}

\\r\\n

{{ 'global-maintenance_popin-text' | translate }}

\\r\\n {{ 'global-maintenance_popin-button' | translate }}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n

{{title | translate}}

\\r\\n

{{body | translate}}

\\r\\n\\r\\n
\\r\\n \\r\\n

{{'global-generic_terms-incorrect_input'| translate}}

\\r\\n

\\r\\n {{'global-generic_terms-generic_server_error'| translate}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

{{title | translate}}

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Country\\r\\n \\r\\n \\r\\n {{ country.label }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
1) && (modalService.currentModalStep < modalService.modalNbSteps)\\\">\\r\\n {{modalService.currentModalStep + 1 }} / {{modalService.modalNbSteps}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.modal-box-container {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 1000;\\n width: 100%;\\n height: 100%; }\\n.mask-modal-box {\\n position: absolute;\\n z-index: 1;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n background: rgba(0, 0, 0, 0.7); }\\n.mask-modal-box.country-selector {\\n background: #050b7f; }\\n.modal-content {\\n position: absolute;\\n z-index: 2;\\n left: 50%;\\n top: 50%;\\n border-radius: 8px;\\n width: 100%;\\n max-width: 630px;\\n padding: 60px 30px;\\n background-color: #FFFFFF;\\n transform: translate(-50%, -50%);\\n text-align: center; }\\n.modal-content mat-form-field {\\n min-width: 300px; }\\n.modal-content-cancel-button {\\n margin-right: 20px; }\\n.modal-content .illustration-container {\\n margin-bottom: 30px; }\\n.modal-content .illustration-container img {\\n display: block;\\n width: 100%;\\n max-width: 210px;\\n margin: auto;\\n transform: translate3d(0, 0, 0); }\\n.modal-content h1 {\\n font-size: 1.875em;\\n line-height: 1.23333333em;\\n font-weight: 600;\\n color: #050b7f;\\n margin-bottom: 10px; }\\n.modal-content p, .modal-content /deep/ p {\\n font-size: 1.125em;\\n line-height: 1.66666667em;\\n margin-bottom: 30px; }\\n.modal-content .form-input-container {\\n margin-left: auto;\\n margin-right: auto;\\n margin-bottom: 30px;\\n max-width: 30em; }\\n.modal-content .step-indicator {\\n margin-top: 25px;\\n color: #b5b5b5; }\\n.modal-content /deep/ .error-container li {\\n text-align: left; }\\n.modal-content /deep/ .car-list li {\\n text-align: left; }\\n.modal-content /deep/ .car-list li .main {\\n text-transform: none; }\\n.modal-content /deep/ .car-list li .license-plate {\\n font-size: 18px;\\n color: #b5b5b5; }\\n@media screen and (min-width: 980px) {\\n .modal-content {\\n padding: 60px;\\n width: 75%; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL21vZGFsLWJveC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbW9kYWwtYm94L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbW9kYWwtYm94L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9tb2RhbC1ib3gvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbW9kYWwtYm94L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9tb2RhbC1ib3gvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbW9kYWwtYm94L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXG1vZGFsLWJveFxcbW9kYWwtYm94LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbW9kYWwtYm94L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL21vZGFsLWJveC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfdmFycy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbW9kYWwtYm94L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksZ0JBQWU7RUFDZixPQUFNO0VBQ04sUUFBTztFQUNQLGNBQWE7RUFDYixZQUFXO0VBQ1gsYUFBWSxFQUNmO0FBRUQ7RUFDSSxtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLFFBQU87RUFDUCxPQUFNO0VBQ04sWUFBVztFQUNYLGFBQVk7RUFDWiwrQkFBOEIsRUFJakM7QUFYRDtJQVNRLG9CQ2hCVSxFRGlCYjtBQUdMO0VBQ0ksbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixVQUFTO0VBQ1QsU0FBUTtFQUNSLG1CRWhCZTtFRmtCZixZQUFXO0VBQ1gsaUJBQWdCO0VBRWhCLG1CQUFrQjtFQUVsQiwwQkN2Qlk7RUR5QlosaUNBQWdDO0VBRWhDLG1CQUFrQixFQWtFckI7QUFsRkQ7SUFtQlEsaUJBQWdCLEVBQ25CO0FBRUQ7SUFDSSxtQkFBa0IsRUFDckI7QUF4Qkw7SUEyQlEsb0JBQW1CLEVBU3RCO0FBcENMO01BOEJZLGVBQWM7TUFDZCxZQUFXO01BQ1gsaUJBQWdCO01BQ2hCLGFBQVk7TUFDWixnQ0FBK0IsRUFDbEM7QUFuQ1Q7SUF1Q1EsbUJHMkQwQjtJSDFEMUIsMEJHMEQwQjtJSHpEMUIsaUJBQWdCO0lBQ2hCLGVDOURVO0lEK0RWLG9CQUFtQixFQUN0QjtBQTVDTDtJQStDUSxtQkdtRDBCO0lIbEQxQiwwQkdrRDBCO0lIakQxQixvQkFBbUIsRUFDdEI7QUFsREw7SUFxRFEsa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixvQkFBbUI7SUFFbkIsZ0JKekVpQixFSTJFcEI7QUEzREw7SUE4RFEsaUJBQWdCO0lBQ2hCLGVDbkVXLEVEb0VkO0FBaEVMO0lBbUVRLGlCQUFnQixFQUNuQjtBQXBFTDtJQXVFUSxpQkFBZ0IsRUFVbkI7QUFqRkw7TUEwRVkscUJBQW9CLEVBQ3ZCO0FBM0VUO01BOEVZLGdCQUFlO01BQ2YsZUNuRk8sRURvRlY7QUYvQkc7RUVxQ1I7SUFDSSxjQUFhO0lBQ2IsV0FBVSxFQUNiLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvbW9kYWwtYm94L21vZGFsLWJveC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbi5tb2RhbC1ib3gtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5tYXNrLW1vZGFsLWJveCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xyXG4gICAgJi5jb3VudHJ5LXNlbGVjdG9yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kYWwtY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogNjMwcHg7XHJcblxyXG4gICAgcGFkZGluZzogNjBweCAzMHB4O1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG5cclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBtYXQtZm9ybS1maWVsZCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLWNhbmNlbC1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaWxsdXN0cmF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IGVtKDMwcHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgzN3B4LCAzMHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcCwgL2RlZXAvIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDMwcHgsIDE4cHgpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0taW5wdXQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtd2lkdGg7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5zdGVwLWluZGljYXRvciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktNjAwJyk7XHJcbiAgICB9XHJcblxyXG4gICAgL2RlZXAvIC5lcnJvci1jb250YWluZXIgbGkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgL2RlZXAvIC5jYXItbGlzdCBsaSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgICAgLm1haW4ge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5saWNlbnNlLXBsYXRlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktNjAwJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG5cclxuICAgIC5tb2RhbC1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiA2MHB4O1xyXG4gICAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIi8vIyMgR2VuZXJhbFxyXG4kY2RuLWZvbnQtcGF0aDogJ2ZvbnRzJztcclxuJGNkbi1pY29uLXBhdGg6ICdpY29ucyc7XHJcblxyXG5cclxuLy8gIyMgRm9udHNcclxuJGZvbnQtZmFtaWx5OiAnc291cmNlLXNhbnMnLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LWhlYWRsaW5lOiAnbW9udHNlcnJhdCcsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gIyBHZW5lcmFsIGVsZW1lbnRzIHN0eWxlc1xyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiRib3gtc2hhZG93LW1lZGl1bTogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Nik7XHJcbiRib3gtc2hhZG93LWxpZ2h0OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjk4KTtcclxuJGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHJcbi8vICMjIE5hdmlnYXRpb25cclxuJG5hdmlnYXRpb24td2lkdGg6IDI2MHB4O1xyXG4kbmF2aWdhdGlvbi1tb2JpbGUtaGVpZ2h0OiA1MHB4O1xyXG5cclxuLy8gIyMgTGF5b3V0XHJcbiRjb250ZW50LXBhZGRpbmc6IDUwcHg7XHJcbiRjb250ZW50LXBhZGRpbmctbW9iaWxlOiAyMHB4O1xyXG5cclxuXHJcblxyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ModalService } from '../ui/modal.service';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { PhoneValidator } from '../app-forms/validators/phone.validator';\r\nimport { EmailValidator } from '../app-forms/validators/email.validator';\r\nimport { ModalInput } from './modal-input.model';\r\nimport {MaskComponent} from '../mask/mask.component';\r\n\r\n@Component({\r\n selector: 'app-modal-box',\r\n templateUrl: './modal-box.component.html',\r\n styleUrls: ['./modal-box.component.scss']\r\n})\r\nexport class ModalBoxComponent implements OnInit {\r\n // Template elements\r\n public title: string = null;\r\n public body: string = null;\r\n public button1title: string = null;\r\n public button2title: string = null;\r\n public illustrationPath: string = null;\r\n public input: ModalInput = null;\r\n public displayNumber: Number = null;\r\n // Display modal box\r\n public hasToOpen = false;\r\n // Modal box contains an input\r\n public hasInput = false;\r\n // Store input current value (for 'select-menu' input component)\r\n public inputCurrentValue = null; // TODO\r\n // Form group\r\n public form: FormGroup;\r\n // One or two button(s) template\r\n public hideSecondaryButton = false;\r\n public isSubmitted = false;\r\n\r\n @ViewChild('nativeForm')\r\n public nativeForm;\r\n\r\n constructor(private modalService: ModalService,\r\n private formBuilder: FormBuilder) {\r\n // Form non-ng-content modal\r\n this.modalService.openModalObservable.subscribe(\r\n content => {\r\n if (content) {\r\n this.title = content.title;\r\n this.body = content.body;\r\n this.illustrationPath = content.illustrationPath;\r\n this.hasToOpen = true;\r\n this.displayNumber = content.displayNumber;\r\n this.button1title = content.button1title ? content.button1title : 'global-generic_terms-cancel';\r\n this.button2title = content.button2title ? content.button2title : 'global-generic_terms-confirm';\r\n this.input = content.input ? content.input : null; // 'help_assistancepopin_formtitle'\r\n\r\n if (content.input) {\r\n this.hasInput = true;\r\n this.generateFormGroup();\r\n } else {\r\n this.hasInput = false;\r\n }\r\n\r\n this.hideSecondaryButton = (this.body === 'help_assistancepopin_legend3') || (this.button1title === 'MODAL_HIDE_BUTTON');\r\n\r\n } else {\r\n this.hasToOpen = false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n public generateFormGroup() {\r\n if (!this.input || !this.input.type) {\r\n return false;\r\n }\r\n switch (this.input.type) {\r\n case 'tel':\r\n this.form = this.formBuilder.group({\r\n 'tel': ['', PhoneValidator.simple]\r\n });\r\n break;\r\n case 'email':\r\n this.form = this.formBuilder.group({\r\n 'email': ['', EmailValidator.simple]\r\n });\r\n break;\r\n case 'driver-cars':\r\n this.form = this.formBuilder.group({});\r\n break;\r\n case 'countries':\r\n this.form = this.formBuilder.group({});\r\n break;\r\n }\r\n }\r\n\r\n onClick(value: boolean) {\r\n if (value === true) {\r\n // -- Special case for the Help section (modal w/ input)-->\r\n if (this.hasInput) {\r\n // Manually submitting form to display error message\r\n this.isSubmitted = true;\r\n if (this.nativeForm) {\r\n this.nativeForm.onSubmit(null);\r\n }\r\n // Invalid form : keep the modal box open\r\n if (!this.form.valid) {\r\n return false;\r\n }\r\n // Valid form : retrieve input value, pass it to modal service and close modal box\r\n // this.modalService.modalValue.push(this.form.get(this.input.formControlName).value);\r\n this.saveInputValue();\r\n\r\n this.nextStep();\r\n } else {\r\n // Regular case\r\n this.nextStep();\r\n }\r\n } else {\r\n this.hasToOpen = false;\r\n this.modalService.modalCode = null;\r\n }\r\n\r\n }\r\n\r\n updateInputValue(obj) {\r\n this.inputCurrentValue = obj;\r\n }\r\n\r\n saveInputValue() {\r\n let value;\r\n switch (this.input.type) {\r\n case 'driver-cars':\r\n value = this.inputCurrentValue;\r\n break;\r\n case 'countries':\r\n value = this.inputCurrentValue;\r\n break;\r\n default:\r\n value = this.form.get(this.input.formControlName).value;\r\n }\r\n this.modalService.modalValue.push(value);\r\n }\r\n\r\n nextStep() {\r\n const isComplete = this.modalService.goToNextStep();\r\n if (isComplete) {\r\n this.hasToOpen = false;\r\n this.modalService.modalCode = null;\r\n return true;\r\n }\r\n }\r\n\r\n reloadPage($event) {\r\n location.reload();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { MaterialModule } from 'app/shared/ui/material/material.module';\r\nimport { PipesModule } from '../../shared/pipes/pipes.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModalBoxComponent } from './modal-box.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AppFormsModule } from '../app-forms/app-forms.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n TranslateModule,\r\n PipesModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AppFormsModule,\r\n MaterialModule,\r\n ],\r\n declarations: [\r\n ModalBoxComponent\r\n ],\r\n exports: [\r\n ModalBoxComponent\r\n ]\r\n})\r\nexport class ModalBoxModule {\r\n}\r\n","import { ModalInput } from './modal-input.model';\r\n\r\nexport class ModalContent {\r\n\r\n constructor(public body: string,\r\n public title?: string,\r\n public button1title?: string,\r\n public button2title?: string,\r\n public illustrationPath?: string,\r\n public input?: ModalInput,\r\n public displayNumber?: Number) {\r\n }\r\n\r\n\r\n}\r\n","export class ModalInput {\r\n\r\n constructor(public type: string,\r\n public formControlName?: string,\r\n public validator?: Array,\r\n public data?: any) {\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'address'\r\n})\r\nexport class AddressPipe implements PipeTransform {\r\n\r\n transform(datas, condensed = false): any {\r\n let address = datas.addressLine1 || datas.address;\r\n if (!address) {\r\n return 'missing data';\r\n }\r\n if (!condensed) {\r\n if (datas.addressLine2 && datas.addressLine2 !== '') {\r\n address += '
' + datas.addressLine2;\r\n }\r\n if (datas.addressLine3 && datas.addressLine3 !== '') {\r\n address += '
' + datas.addressLine3;\r\n }\r\n }\r\n if (datas.postalCode && datas.postalCode !== '') {\r\n address += '
' + datas.postalCode;\r\n }\r\n if (datas.city && datas.city !== '') {\r\n address += ' ' + datas.city;\r\n }\r\n\r\n return address;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { AppConfigService } from '../config/app-config.service';\r\n\r\n@Pipe({\r\n name: 'assetPath'\r\n})\r\nexport class AssetPathPipe implements PipeTransform {\r\n\r\n constructor(private appConfig: AppConfigService) {\r\n\r\n }\r\n\r\n transform(value: any, args?: any): any {\r\n return this.appConfig.config.assetsPath + value;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'basicNumber'\r\n})\r\nexport class BasicNumberPipe implements PipeTransform {\r\n\r\n transform(value: number): number {\r\n return Math.floor(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'capitalize'})\r\nexport class CapitalizePipe implements PipeTransform {\r\n\r\n transform(value: string) {\r\n if (value) {\r\n return value.charAt(0).toUpperCase() + value.slice(1).toLocaleLowerCase();\r\n }\r\n return value;\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'caractersLimit'\r\n})\r\nexport class CaractersLimitPipe implements PipeTransform {\r\n\r\n transform(text1: string, maxlength = 200, limit = '.', text2?: string, particularity?: string): string {\r\n let content = text1;\r\n const GLUE = ' ';\r\n if (text2) {\r\n content += GLUE + text2;\r\n }\r\n\r\n if (particularity === 'names') {\r\n if (text1.length > (maxlength / 2)) {\r\n text1 = text1.substr(0, 1) + limit;\r\n }\r\n if (text2.length > (maxlength / 2)) {\r\n text2 = text2.substr(0, 1) + limit;\r\n }\r\n content = text1 + GLUE + text2;\r\n }\r\n\r\n if (content.length > maxlength) {\r\n if (particularity === 'names') {\r\n if (content.length > maxlength) {\r\n text2 = text2.substr(0, 1) + limit;\r\n content = text1 + GLUE + text2;\r\n }\r\n if (content.length > maxlength) {\r\n text1 = text1.substr(0, 1) + limit;\r\n content = text1 + GLUE + text2;\r\n }\r\n } else {\r\n content = content.substr(0, maxlength) + limit;\r\n }\r\n } else {\r\n return content;\r\n }\r\n return content;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cultureName' })\r\nexport class CultureNamePipe implements PipeTransform {\r\n\r\n transform(value: string) {\r\n if (value) {\r\n return `global-generic_terms-culture_${value.toLocaleLowerCase().replace('-', '_')}`;\r\n }\r\n return value;\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n\r\n transform(values: any, attr: string, filter: any): any {\r\n if (!values) {\r\n return [];\r\n }\r\n if (filter === 'all') {\r\n return values;\r\n }\r\n return values.filter(value => {\r\n return value[attr] === filter;\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'foreachFilter',\r\n pure: false\r\n})\r\nexport class ForeachFilterPipe implements PipeTransform {\r\n transform(items: T[], filterCallback: (item: any, params: any) => boolean, filterParameters: any): T[] {\r\n if (!items || !filterCallback) {\r\n return items;\r\n }\r\n // filter items array, items which match and return true will be\r\n // kept, false will be filtered out\r\n return items.filter( item => filterCallback(item, filterParameters));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'formatNumber'\r\n})\r\nexport class FormatNumberPipe implements PipeTransform {\r\n\r\n transform(value: number, unity = '', separator = ' '): any {\r\n if (value) {\r\n const strValue = value.toString();\r\n let formattedValue = '';\r\n let marker = 0;\r\n\r\n for (let index = strValue.length; index > 0; index--) {\r\n const i = index - 1;\r\n let letter = strValue[i];\r\n\r\n marker++;\r\n\r\n if (marker === 3) {\r\n letter = separator + strValue[i];\r\n marker = 0;\r\n }\r\n formattedValue = letter + formattedValue;\r\n }\r\n\r\n return formattedValue + unity;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'max'\r\n})\r\nexport class MaxPipe implements PipeTransform {\r\n\r\n transform(value: number, value2: number): any {\r\n let max = value;\r\n\r\n if (value < value2) {\r\n max = value2;\r\n }\r\n\r\n return max;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'percentageDate'\r\n})\r\nexport class PercentageDatePipe implements PipeTransform {\r\n\r\n transform(prevDeadline: string, nextDeadline: string): any {\r\n\r\n const prevDeadlineTime = new Date(prevDeadline).getTime();\r\n const nextDeadlineTime = new Date(nextDeadline).getTime();\r\n const currentTime = new Date().getTime();\r\n\r\n const timeBounderDiff = Math.abs(nextDeadlineTime - prevDeadlineTime);\r\n const total = Math.ceil(timeBounderDiff / (1000 * 3600 * 24));\r\n\r\n const timeDiff = Math.abs(currentTime - prevDeadlineTime);\r\n const diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));\r\n\r\n\r\n return Math.round((diffDays / total) * 100);\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'percentage'\r\n})\r\nexport class PercentagePipe implements PipeTransform {\r\n\r\n transform(value: number, max: number, prevValue?: number): any {\r\n let percentage = Math.round((value / max) * 100);\r\n\r\n if (prevValue) {\r\n const total = max - prevValue;\r\n percentage = Math.round((value / total) * 100);\r\n }\r\n\r\n return percentage;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'phoneNumber'\r\n})\r\nexport class PhoneNumberPipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n if (!value) {\r\n return 'no phone number';\r\n }\r\n const arr = value.split('');\r\n let str = '';\r\n\r\n arr.forEach((val, index) => {\r\n if (index % 2 === 0) {\r\n str += ' ';\r\n }\r\n str += val;\r\n });\r\n\r\n return str;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AssetPathPipe } from './asset-path.pipe';\r\nimport { PhoneNumberPipe } from './phone-number.pipe';\r\nimport { AddressPipe } from './address.pipe';\r\nimport { RelativeDatePipe } from './relative-date.pipe';\r\nimport { CaractersLimitPipe } from './caracters-limit.pipe';\r\nimport { CapitalizePipe } from './capitalize.pipe';\r\nimport { FormatNumberPipe } from './format-number.pipe';\r\nimport { PercentagePipe } from './percentage.pipe';\r\nimport { PercentageDatePipe } from './percentage-date.pipe';\r\nimport { MaxPipe } from './max.pipe';\r\nimport { WarningMessageDatePipe } from './warning-message-date.pipe';\r\nimport { FilterPipe } from './filter.pipe';\r\nimport { SortPipe } from './sort.pipe';\r\nimport { ForeachFilterPipe } from './foreach-filter';\r\nimport { BasicNumberPipe } from './basic-number.pipe';\r\nimport { CultureNamePipe } from './culture-name.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n AssetPathPipe,\r\n PhoneNumberPipe,\r\n AddressPipe,\r\n RelativeDatePipe,\r\n CaractersLimitPipe,\r\n CapitalizePipe,\r\n FormatNumberPipe,\r\n PercentagePipe,\r\n PercentageDatePipe,\r\n MaxPipe,\r\n WarningMessageDatePipe,\r\n FilterPipe,\r\n SortPipe,\r\n ForeachFilterPipe,\r\n BasicNumberPipe,\r\n CultureNamePipe,\r\n ],\r\n exports: [\r\n AssetPathPipe,\r\n PhoneNumberPipe,\r\n AddressPipe,\r\n RelativeDatePipe,\r\n CaractersLimitPipe,\r\n CapitalizePipe,\r\n FormatNumberPipe,\r\n PercentagePipe,\r\n PercentageDatePipe,\r\n MaxPipe,\r\n WarningMessageDatePipe,\r\n FilterPipe,\r\n SortPipe,\r\n ForeachFilterPipe,\r\n BasicNumberPipe,\r\n CultureNamePipe,\r\n ]\r\n})\r\nexport class PipesModule {\r\n}\r\n","import { TranslationService } from '../translation/translation.service';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { LANGUAGES_SETTINGS } from '../translation/languages-settings';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\n\r\n/**\r\n *\r\n * Pipe used to format relative days with more or less precision depending how long ago they are to now\r\n *\r\n */\r\n@Pipe({\r\n name: 'relativeDate'\r\n})\r\nexport class RelativeDatePipe implements PipeTransform {\r\n\r\n constructor(private translationService: TranslationService,\r\n private storageService: AppStorageService) {\r\n\r\n }\r\n\r\n transform(value: any, format?: string): any {\r\n let formatted;\r\n\r\n const input = moment.utc(value).local();\r\n const diffDays = input.diff(moment(), 'days');\r\n\r\n const userCulture = LANGUAGES_SETTINGS[this.storageService.countrySelected].cultures[this.translationService.language];\r\n\r\n if (format && userCulture[format]) {\r\n formatted = input.locale(this.translationService.language).format(userCulture[format]);\r\n } else if (format && format !== 'long' && format !== 'medium' && format !== 'short') {\r\n formatted = input.format(format);\r\n } else if (diffDays > 364 || diffDays < 0 || format === 'long') {\r\n // display full date\r\n formatted = input.locale(this.translationService.language).format(userCulture.dM + ' Y');\r\n } else if (diffDays > 7 || format === 'medium') {\r\n // display full date\r\n formatted = input.locale(this.translationService.language).format(userCulture.dM);\r\n } else if (diffDays > 0 || format === 'short') {\r\n // diplay day of the week\r\n formatted = input.locale(this.translationService.language).format('ddd');\r\n } else if (diffDays === 0) {\r\n // display time\r\n formatted = input.format('HH:mm');\r\n }\r\n return formatted;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sort'\r\n})\r\nexport class SortPipe implements PipeTransform {\r\n\r\n transform(values, attr?: any): any[] {\r\n values.sort((a: any, b: any) => {\r\n let aValue = a;\r\n let bValue = b;\r\n\r\n if (attr) {\r\n aValue = a[attr];\r\n bValue = b[attr];\r\n }\r\n\r\n if (aValue < bValue) {\r\n return -1;\r\n } else if (aValue > bValue) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n return values;\r\n }\r\n\r\n}\r\n","import { TranslationService } from '../../shared/translation/translation.service';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport * as moment from 'moment';\r\n\r\n@Pipe({\r\n name: 'warningMessageDate',\r\n pure: false, // to refresh the translation inside this pipe\r\n})\r\nexport class WarningMessageDatePipe implements PipeTransform {\r\n private daysTranslationKey = 'cars-menu_page-days_count';\r\n private weeksTranslationKey = 'cars-menu_page-weeks_count';\r\n private monthsTranslationKey = 'cars-menu_page-months_count';\r\n private yearsTranslationKey = 'cars-menu_page-years_count';\r\n\r\n private messageTranslationKey = 'global-generic_terms-update_mileage_message';\r\n private messageNoDataTranslationKey = 'global-generic_terms-no_data';\r\n\r\n constructor(private translationService: TranslationService) {\r\n\r\n }\r\n\r\n transform(from: string, limit = 30): any {\r\n let warningMessage = null;\r\n let duration = null;\r\n if (from !== null) {\r\n from = this.removeZeroHourOffset(from);\r\n }\r\n\r\n // Date returned by API when there is no data\r\n const errorAPI = moment('0001-01-01', 'YYYY-MM-DD');\r\n\r\n const currentTime = moment(new Date().getTime());\r\n const fromTime = moment(new Date(from).getTime());\r\n let timeIndicator = this.daysTranslationKey;\r\n\r\n if (currentTime.diff(fromTime, 'days') > limit) {\r\n if (fromTime.isSame(errorAPI, 'year')) {\r\n // API Error: no data\r\n this.translationService.translate(this.messageNoDataTranslationKey).subscribe((message: string) => {\r\n warningMessage = message;\r\n });\r\n } else {\r\n // API ok\r\n if (currentTime.diff(fromTime, 'years') >= 1) {\r\n duration = currentTime.diff(fromTime, 'years');\r\n timeIndicator = this.yearsTranslationKey;\r\n } else if (currentTime.diff(fromTime, 'months') > 1) {\r\n duration = currentTime.diff(fromTime, 'months');\r\n timeIndicator = this.monthsTranslationKey;\r\n } else if (currentTime.diff(fromTime, 'weeks') > 1) {\r\n duration = currentTime.diff(fromTime, 'weeks');\r\n timeIndicator = this.weeksTranslationKey;\r\n } else {\r\n duration = currentTime.diff(fromTime, 'days');\r\n }\r\n\r\n this.translationService.translate(timeIndicator, duration).subscribe((durationWIndicator: string) => {\r\n this.translationService.translate(this.messageTranslationKey, durationWIndicator).subscribe((message: string) => {\r\n warningMessage = message;\r\n });\r\n });\r\n }\r\n\r\n }\r\n return warningMessage;\r\n }\r\n\r\n private removeZeroHourOffset(date) {\r\n return date.substr(\r\n 0,\r\n date.endsWith('Z') ? date.length - 1 :\r\n date.length\r\n );\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{msg}}\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\ndiv.progress-bar {\\n margin-top: 4px; }\\ndiv.progress-bar div.bar {\\n position: relative;\\n height: 5px;\\n width: 100%;\\n max-width: 300px;\\n border-radius: 50px;\\n background: #d7d7d7;\\n overflow: hidden; }\\ndiv.progress-bar div.bar div.progress {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: #00cfff; }\\ndiv.progress-bar span.message {\\n display: block;\\n font-size: 0.750em;\\n margin-top: 12px;\\n color: #00e6c2; }\\ndiv.progress-bar.warning div.bar div.progress {\\n background: #f22f3b; }\\ndiv.progress-bar.warning span.message {\\n color: #f22f3b; }\\ndiv.progress-bar.green div.bar div.progress {\\n background: #00e6c2; }\\ndiv.progress-bar.green span.message {\\n color: #00e6c2; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3Byb2dyZXNzYmFyLXNpbXBsZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvcHJvZ3Jlc3NiYXItc2ltcGxlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvcHJvZ3Jlc3NiYXItc2ltcGxlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9wcm9ncmVzc2Jhci1zaW1wbGUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvcHJvZ3Jlc3NiYXItc2ltcGxlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9wcm9ncmVzc2Jhci1zaW1wbGUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvcHJvZ3Jlc3NiYXItc2ltcGxlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHByb2dyZXNzYmFyLXNpbXBsZVxccHJvZ3Jlc3NiYXItc2ltcGxlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvcHJvZ3Jlc3NiYXItc2ltcGxlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksZ0JBQWUsRUFtRGxCO0FBcEREO0lBR1EsbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLG9CQUFtQjtJQUNuQixvQkNPVztJRE5YLGlCQUFnQixFQVduQjtBQXBCTDtNQVlZLG1CQUFrQjtNQUNsQixPQUFNO01BQ04sUUFBTztNQUNQLFlBQVc7TUFDWCxhQUFZO01BQ1osb0JDZFksRURnQmY7QUFuQlQ7SUF1QlEsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixpQkFBZ0I7SUFDaEIsZUNDVSxFREFiO0FBM0JMO0lBZ0NnQixvQkNSQyxFRFNKO0FBakNiO0lBcUNZLGVDYkssRURjUjtBQXRDVDtJQTRDZ0Isb0JDcENTLEVEcUNaO0FBN0NiO0lBaURZLGVDekNhLEVEMENoQiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9wcm9ncmVzc2Jhci1zaW1wbGUvcHJvZ3Jlc3NiYXItc2ltcGxlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuZGl2LnByb2dyZXNzLWJhciB7XHJcbiAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICBkaXYuYmFyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTMwMCcpO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIGRpdi5wcm9ncmVzcyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3Bhbi5tZXNzYWdlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDAuNzUwZW07XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3N1Y2Nlc3MnKTtcclxuICAgIH1cclxuXHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIGRpdi5iYXIge1xyXG4gICAgICAgICAgICBkaXYucHJvZ3Jlc3Mge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2RhbmdlcicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2RhbmdlcicpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmdyZWVuIHtcclxuICAgICAgICBkaXYuYmFyIHtcclxuICAgICAgICAgICAgZGl2LnByb2dyZXNzIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdjb21wbGVtZW50YXJ5MScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2NvbXBsZW1lbnRhcnkxJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iXX0= */\"","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport {MaskComponent} from '../mask/mask.component';\r\n\r\n@Component({\r\n selector: 'app-progressbar-simple',\r\n templateUrl: './progressbar-simple.component.html',\r\n styleUrls: ['./progressbar-simple.component.scss']\r\n})\r\nexport class ProgressbarSimpleComponent implements OnInit {\r\n\r\n @Input()\r\n public msg: string;\r\n\r\n @Input()\r\n public perc: number;\r\n\r\n @Input()\r\n public css: string;\r\n\r\n @ViewChild('progress')\r\n public progress: ElementRef;\r\n\r\n public complete = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.progress.nativeElement.style.width = this.perc + '%';\r\n\r\n if (this.perc >= 100) {\r\n this.complete = true;\r\n }\r\n }\r\n\r\n}\r\n","import { ProgressbarSimpleComponent } from './progressbar-simple.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [ProgressbarSimpleComponent],\r\n exports: [ProgressbarSimpleComponent]\r\n})\r\nexport class ProgressbarSimpleModule {\r\n}\r\n","module.exports = \"
\\r\\n
    \\r\\n
  • \\r\\n = n + 1\\\" name=\\\"star-fill\\\"\\r\\n [viewBox]=\\\"{top: 0, left: 0, width: 28, height: 28}\\\">\\r\\n = n + 0.5 && rate < n + 1\\\" name=\\\"star-semi-fill\\\"\\r\\n [viewBox]=\\\"{top: 0, left: 0, width: 28, height: 28}\\\">\\r\\n \\r\\n
  • \\r\\n
\\r\\n ({{ratesCount}} {{ 'global-generic_terms-rating'| translate }})\\r\\n 1\\\">({{ratesCount}} {{ 'global-generic_terms-ratings'| translate }})\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\ndiv.rating {\\n display: inline-block;\\n vertical-align: top; }\\ndiv.rating ul {\\n display: inline-block; }\\ndiv.rating ul li {\\n display: inline-block;\\n width: 11px;\\n height: 11px;\\n margin-right: 3px;\\n color: #00cfff; }\\ndiv.rating ul li app-svg-icon {\\n width: 11px;\\n height: 11px; }\\ndiv.rating ul li:last-child {\\n margin-right: 0; }\\ndiv.rating ul li.blue {\\n color: #00cfff; }\\ndiv.rating ul li.big {\\n width: 15px;\\n height: 15px; }\\ndiv.rating ul li.big app-svg-icon {\\n width: 15px;\\n height: 15px; }\\ndiv.rating span {\\n margin-left: 5px;\\n margin-top: 2px;\\n display: inline-block;\\n color: #b5b5b5;\\n font-size: 0.65em; }\\n/*Screen Size : m*/\\n@media screen and (min-width: 980px) {\\n div.rating ul li {\\n width: 14px;\\n height: 14px; }\\n div.rating ul li app-svg-icon {\\n width: 14px;\\n height: 14px; }\\n div.rating ul li.big {\\n width: 16px;\\n height: 16px; }\\n div.rating ul li.big app-svg-icon {\\n width: 16px;\\n height: 16px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3JhdGluZy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvcmF0aW5nL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvcmF0aW5nL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9yYXRpbmcvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvcmF0aW5nL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9yYXRpbmcvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvcmF0aW5nL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHJhdGluZ1xccmF0aW5nLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvcmF0aW5nL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksc0JBQXFCO0VBQ3JCLG9CQUFtQixFQTBDdEI7QUE1Q0Q7SUFJUSxzQkFBcUIsRUErQnhCO0FBbkNMO01BTVksc0JBQXFCO01BQ3JCLFlBQVc7TUFDWCxhQUFZO01BQ1osa0JBQWlCO01BQ2pCLGVDUFksRUQrQmY7QUFsQ1Q7UUFhZ0IsWUFBVztRQUNYLGFBQVksRUFDZjtBQWZiO1FBa0JnQixnQkFBZSxFQUNsQjtBQW5CYjtRQXNCZ0IsZUNuQlEsRURvQlg7QUF2QmI7UUEwQmdCLFlBQVc7UUFDWCxhQUFZLEVBTWY7QUFqQ2I7VUE4Qm9CLFlBQVc7VUFDWCxhQUFZLEVBQ2Y7QUFoQ2pCO0lBc0NRLGlCQUFnQjtJQUNoQixnQkFBZTtJQUNmLHNCQUFxQjtJQUNyQixlQ3ZCVztJRHdCWCxrQkFBaUIsRUFDcEI7QUFHTCxtQkFBbUI7QUZ5QlA7RUVyQlI7SUFHWSxZQUFXO0lBQ1gsYUFBWSxFQWdCZjtJQXBCVDtNQU9nQixZQUFXO01BQ1gsYUFBWSxFQUNmO0lBVGI7TUFZZ0IsWUFBVztNQUNYLGFBQVksRUFNZjtNQW5CYjtRQWdCb0IsWUFBVztRQUNYLGFBQVksRUFDZixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3JhdGluZy9yYXRpbmcuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy9fdGhlbWUtaW1wb3J0cy5zY3NzXCI7XHJcblxyXG5kaXYucmF0aW5nIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTFweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcblxyXG4gICAgICAgICAgICBhcHAtc3ZnLWljb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDExcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuYmx1ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5iaWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgYXBwLXN2Zy1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS02MDAnKTtcclxuICAgICAgICBmb250LXNpemU6IDAuNjVlbTtcclxuICAgIH1cclxufVxyXG5cclxuLypTY3JlZW4gU2l6ZSA6IG0qL1xyXG5cclxuQGluY2x1ZGUgbWluLXdpZHRoKG0pIHtcclxuXHJcbiAgICBkaXYucmF0aW5nIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuYmlnIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iXX0= */\"","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-rating',\r\n templateUrl: './rating.component.html',\r\n styleUrls: ['./rating.component.scss']\r\n})\r\nexport class RatingComponent {\r\n\r\n @Input()\r\n public rate: number;\r\n\r\n @Input()\r\n public ald: boolean;\r\n\r\n @Input()\r\n public big: boolean;\r\n\r\n @Input()\r\n public ratesCount: number;\r\n\r\n public nb: Array = [0, 1, 2, 3, 4];\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","import { TranslateModule } from '@ngx-translate/core';\r\nimport { RatingComponent } from './rating.component';\r\nimport { SvgIconModule } from '../svg-icon/svg-icon.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SvgIconModule,\r\n TranslateModule\r\n ],\r\n declarations: [\r\n RatingComponent\r\n ],\r\n exports: [\r\n RatingComponent\r\n ]\r\n})\r\nexport class RatingModule {\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { NavigationDirectionService } from './navigation-direction.service';\r\n\r\n@Directive({\r\n selector: 'a[navDirection]'\r\n})\r\nexport class NavigationDirectionDirective {\r\n\r\n @Input()\r\n public navDirection: string;\r\n\r\n constructor(private navigationDirectionService: NavigationDirectionService) {\r\n\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick($event) {\r\n this.navigationDirectionService.direction = this.navDirection;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\n\r\n@Injectable()\r\nexport class NavigationDirectionService {\r\n\r\n public changeObservable: BehaviorSubject = new BehaviorSubject('forward');\r\n\r\n private _direction = 'forward';\r\n\r\n constructor() {\r\n }\r\n\r\n public get direction(): string {\r\n return this._direction;\r\n }\r\n\r\n public set direction(value) {\r\n this._direction = value;\r\n\r\n this.changeObservable.next(value);\r\n\r\n }\r\n\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\nexport function generateTransitions() {\r\n\r\n return trigger('routeAnim', [\r\n\r\n // Define our 3 states\r\n state('void', style({position: 'absolute', width: '100%', height: '100%'})),\r\n state('forward', style({position: 'absolute', width: '100%', height: '100%'})),\r\n state('backward', style({position: 'absolute', width: '100%', height: '100%'})),\r\n\r\n // Forward transitions\r\n transition('void => forward', [ // before 2.1: transition('void => *', [\r\n style({transform: 'translateX(100%)', position: 'fixed'}),\r\n animate('0.5s ease-in-out', style({transform: 'translateX(0%)'}))\r\n ]),\r\n transition('forward => void', [ // before 2.1: transition('* => void', [\r\n style({transform: 'translateX(0%)'}),\r\n animate('0.5s ease-in-out', style({transform: 'translateX(-100%)'}))\r\n ]),\r\n\r\n // Backward transitions\r\n transition('void => backward', [ // before 2.1: transition('void => *', [\r\n style({transform: 'translateX(-100%)', position: 'fixed'}),\r\n animate('0.5s ease-in-out', style({transform: 'translateX(0%)'}))\r\n ]),\r\n transition('backward => void', [ // before 2.1: transition('* => void', [\r\n style({transform: 'translateX(0%)'}),\r\n animate('0.5s ease-in-out', style({transform: 'translateX(100%)'}))\r\n ])\r\n ]);\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NavigationDirectionDirective } from './navigation-direction.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n NavigationDirectionDirective\r\n ],\r\n exports: [\r\n NavigationDirectionDirective\r\n ]\r\n})\r\nexport class RouterTransitionsModule {\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { AccordionModule } from './accordion/accordion.module';\r\nimport { AppFormsModule } from './app-forms/app-forms.module';\r\nimport { AppMenuModule } from './app-menu/app-menu.module';\r\nimport { AvailableSoonModule } from './available-soon/available-soon.module';\r\nimport { CountdownModule } from './countdown/countdown.module';\r\nimport { GmapModule } from './gmap/gmap.module';\r\nimport { HeaderCarsCarousselModule } from './header-cars-caroussel/header-cars-caroussel.module';\r\nimport { LoadingModule } from './loading/loading.module';\r\nimport { MaskModule } from './mask/mask.module';\r\nimport { ModalBoxModule } from './modal-box/modal-box.module';\r\nimport { ProgressbarSimpleModule } from './progressbar-simple/progressbar-simple.module';\r\nimport { RatingModule } from './rating/rating.module';\r\nimport { StickyHeaderModule } from './sticky-header/sticky-header.module';\r\nimport { SvgIconModule } from './svg-icon/svg-icon.module';\r\nimport { TextCarouselModule } from './text-carousel/text-carousel.module';\r\nimport { VerticalCarouselModule } from './vertical-carousel/vertical-carousel.module';\r\nimport { PipesModule } from './pipes/pipes.module';\r\nimport { AuthStorageService } from './storage/auth/auth-storage.service';\r\nimport { AppStorageService } from './storage/common/app-storage.service';\r\nimport { TranslationStorageService } from './storage/translation/translation-storage.service';\r\nimport { AuthService } from './authentication/auth.service';\r\nimport { HammerGesturesModule } from './directives/hammer-gestures/hammer-gestures.module';\r\nimport { RouterTransitionsModule } from './router-transitions/router-transitions.module';\r\nimport { ApiService } from './common/api.service';\r\nimport { ConfigurationService } from './config/configuration.service';\r\nimport { StorageModule } from './storage/storage.module';\r\nimport { SvgSpriteService } from './ui/svg-sprite.service';\r\nimport { MapService } from './map/map.service';\r\nimport { AppConfigService } from './config/app-config.service';\r\nimport { UserService } from 'app/shared/user/user.service';\r\nimport { PopinService } from './ui/popin.service';\r\nimport { StickyHeaderFormService } from './ui/sticky-header-form.service';\r\nimport { ModalService } from './ui/modal.service';\r\nimport { JwtHelper } from 'angular2-jwt';\r\nimport { OnErrorService } from './ui/on-error.service';\r\nimport { HostPageService } from './config/host-page.service';\r\nimport { RequestAccessService } from './authentication/sign-up.service';\r\nimport { ApiHelper } from './common/api.helper';\r\nimport { FeatureService } from './feature/feature.service';\r\nimport { EqualValidatorModule } from './directives/equal-validator/equal-validator.module';\r\nimport { RedirectSafari } from './config/redirect-safari';\r\nimport { AccessService } from './authentication/access.service';\r\nimport { ProspectAccessService } from './authentication/prospect-access.service';\r\nimport { WindowRef } from './helper/window.ref';\r\nimport { DocumentRef } from './helper/document.ref';\r\nimport { DateSortingService } from './helper/date-sorting.service';\r\nimport { SvgInlineModule } from './svg-inline/svg-inline.module';\r\nimport { CookiesModule } from './cookies/didomi-cookies.module';\r\nimport { ToastMessageModule } from './toast-message/toast-message.module';\r\nimport { UserManagementService } from './user/userManagement.service';\r\nimport { HttpService } from './helper/http.service';\r\nimport { AreFeaturesActivatedModule } from './directives/are-features-activated/are-features-activated.module';\r\nimport { PasswordVisiblityToggleModule } from './directives/password-visibility-toggle/password-visibility-toggle.module';\r\nimport { SnackbarModule } from './snackbar/snackbar.module';\r\nimport { SnackbarService } from './snackbar/snackbar.service';\r\n\r\n@NgModule({\r\n imports: [\r\n StorageModule,\r\n AccordionModule,\r\n AppFormsModule,\r\n AppMenuModule,\r\n AvailableSoonModule,\r\n CountdownModule,\r\n GmapModule,\r\n HeaderCarsCarousselModule,\r\n LoadingModule,\r\n MaskModule,\r\n ModalBoxModule,\r\n ProgressbarSimpleModule,\r\n RatingModule,\r\n StickyHeaderModule,\r\n SvgIconModule,\r\n SvgInlineModule,\r\n TextCarouselModule,\r\n VerticalCarouselModule,\r\n PipesModule,\r\n HammerGesturesModule,\r\n RouterTransitionsModule,\r\n EqualValidatorModule,\r\n CookiesModule,\r\n ToastMessageModule,\r\n AreFeaturesActivatedModule,\r\n PasswordVisiblityToggleModule,\r\n SnackbarModule,\r\n ],\r\n exports: [\r\n AccordionModule,\r\n AppFormsModule,\r\n AppMenuModule,\r\n AvailableSoonModule,\r\n CountdownModule,\r\n GmapModule,\r\n HeaderCarsCarousselModule,\r\n LoadingModule,\r\n MaskModule,\r\n ModalBoxModule,\r\n ProgressbarSimpleModule,\r\n RatingModule,\r\n StickyHeaderModule,\r\n SvgIconModule,\r\n SvgInlineModule,\r\n TextCarouselModule,\r\n VerticalCarouselModule,\r\n PipesModule,\r\n HammerGesturesModule,\r\n RouterTransitionsModule,\r\n EqualValidatorModule,\r\n CookiesModule,\r\n ToastMessageModule,\r\n AreFeaturesActivatedModule,\r\n PasswordVisiblityToggleModule,\r\n SnackbarModule,\r\n ],\r\n providers: [\r\n ApiHelper,\r\n AppStorageService,\r\n TranslationStorageService,\r\n ApiService,\r\n ConfigurationService,\r\n SvgSpriteService,\r\n HostPageService,\r\n MapService,\r\n AppConfigService,\r\n OnErrorService,\r\n PopinService,\r\n JwtHelper,\r\n StickyHeaderFormService,\r\n RequestAccessService,\r\n RedirectSafari,\r\n WindowRef,\r\n DocumentRef,\r\n DateSortingService,\r\n UserManagementService,\r\n HttpService,\r\n SnackbarService,\r\n ]\r\n})\r\nexport class SharedModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: SharedModule,\r\n providers: [\r\n AuthService,\r\n AccessService,\r\n ProspectAccessService,\r\n AuthStorageService,\r\n ModalService,\r\n UserService,\r\n FeatureService,\r\n ]\r\n };\r\n }\r\n}\r\n\r\n","module.exports = \"

\\r\\n {{ data.message | translate:{injectedContent: data.content.join(', ')} }}\\r\\n

\\r\\n

\\r\\n {{ data.message | translate }}\\r\\n

\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3NuYWNrYmFyL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zbmFja2Jhci9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3NuYWNrYmFyL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zbmFja2Jhci9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zbmFja2Jhci9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc25hY2tiYXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUMiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, HostListener, Inject } from '@angular/core';\r\nimport { MAT_SNACK_BAR_DATA, MatSnackBar } from '@angular/material';\r\n\r\n@Component({\r\n selector: 'app-snackbar',\r\n templateUrl: './snackbar.component.html',\r\n styleUrls: ['./snackbar.component.scss'],\r\n})\r\nexport class SnackbarComponent {\r\n\r\n @HostListener('click', ['$event'])\r\n private onClick(event): void {\r\n event.stopPropagation();\r\n this.snackbarService.dismiss();\r\n }\r\n\r\n constructor(@Inject(MAT_SNACK_BAR_DATA) public data: any,\r\n private snackbarService: MatSnackBar) {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { SnackbarComponent } from './snackbar.component';\r\nimport { SnackbarService } from './snackbar.service';\r\nimport { MatSnackBarModule } from '@angular/material';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { LoadingModule } from '../loading/loading.module';\r\nimport { MyAldUiModule } from '../ui/myald-ui/myald-ui.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n SnackbarComponent,\r\n ],\r\n entryComponents: [\r\n SnackbarComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatSnackBarModule,\r\n TranslateModule,\r\n LoadingModule,\r\n MyAldUiModule,\r\n ],\r\n exports: [\r\n SnackbarComponent,\r\n ],\r\n providers: [\r\n SnackbarService,\r\n ],\r\n})\r\nexport class SnackbarModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarConfig, MatSnackBarRef } from '@angular/material';\r\nimport { SnackbarComponent } from './snackbar.component';\r\n\r\n@Injectable()\r\nexport class SnackbarService {\r\n public readonly infoStyleClass = 'app-snackbar-info';\r\n public readonly successStyleClass = 'app-snackbar-success';\r\n public readonly warningStyleClass = 'app-snackbar-warning';\r\n public readonly errorStyleClass = 'app-snackbar-error';\r\n\r\n constructor(private matSnackBar: MatSnackBar) {\r\n }\r\n\r\n public info(message: string, content: string[] = null, duration = null): MatSnackBarRef {\r\n return this.snackbarOpen(this.infoStyleClass, message, content, duration, false);\r\n }\r\n\r\n public loading(message: string, content: string[] = null, duration = null): MatSnackBarRef {\r\n const snackbarDuration = duration !== null ? duration : 360000;\r\n return this.snackbarOpen(this.infoStyleClass, message, content, snackbarDuration, true);\r\n }\r\n\r\n public success(message: string, content: string[] = null, duration = null): MatSnackBarRef {\r\n return this.snackbarOpen(this.successStyleClass, message, content, duration, false);\r\n }\r\n\r\n public warning(message: string, content: string[] = null, duration = null): MatSnackBarRef {\r\n return this.snackbarOpen(this.warningStyleClass, message, content, duration, false);\r\n }\r\n\r\n public error(message: string, content: string[] = null, duration = null): MatSnackBarRef {\r\n const snackbarDuration = duration !== null ? duration : 360000;\r\n return this.snackbarOpen(this.errorStyleClass, message, content, snackbarDuration, false);\r\n }\r\n\r\n public clear(): void {\r\n this.matSnackBar.dismiss();\r\n }\r\n\r\n private snackbarOpen(style: string, message: string, content: string[], duration: number, loading: boolean) {\r\n const configuration: MatSnackBarConfig = {\r\n duration: duration === null ? 5000 : duration,\r\n horizontalPosition: 'center',\r\n verticalPosition: 'bottom',\r\n panelClass: ['app-snackbar', style],\r\n data: {\r\n message,\r\n content,\r\n loading,\r\n },\r\n };\r\n return this.matSnackBar.openFromComponent(SnackbarComponent, configuration);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\napp-sticky-header {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n z-index: 3; }\\napp-sticky-header-form {\\n position: absolute;\\n top: 0;\\n left: 100%;\\n right: 0;\\n z-index: 2;\\n transition: top 0.2s ease, left 0s linear 0.25s; }\\n:host.form-changed app-sticky-header-form {\\n top: 50px;\\n left: 0;\\n transition: top 0.2s ease, left 0s linear; }\\n.sticky-container {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%; }\\n.sticky-content {\\n position: absolute;\\n overflow-x: hidden;\\n overflow-y: auto;\\n -webkit-overflow-scrolling: touch;\\n background-color: #FFFFFF;\\n padding-top: 50px;\\n top: 0;\\n left: 0;\\n width: 100%;\\n bottom: 0;\\n z-index: 1; }\\n.sticky-content .inner-content {\\n width: auto;\\n margin: auto;\\n padding: 0 45px;\\n max-width: 30em; }\\n.sticky-content .inner-content.fullwidth {\\n width: 100%;\\n max-width: 100%;\\n padding-left: 0;\\n padding-right: 0; }\\n.sticky-content .inner-content.backgroundColor {\\n background: #fafafa; }\\n@media screen and (min-width: 980px) {\\n :host.form-changed app-sticky-header-form {\\n top: 80px; }\\n .sticky-content {\\n padding-top: 80px; }\\n .sticky-content .inner-content {\\n max-width: 450px;\\n padding: 0; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N0aWNreS1oZWFkZXIvc3RpY2t5LWhlYWRlci1wYW5lL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdGlja3ktaGVhZGVyL3N0aWNreS1oZWFkZXItcGFuZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0aWNreS1oZWFkZXIvc3RpY2t5LWhlYWRlci1wYW5lL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdGlja3ktaGVhZGVyL3N0aWNreS1oZWFkZXItcGFuZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdGlja3ktaGVhZGVyL3N0aWNreS1oZWFkZXItcGFuZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyLXBhbmUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyLXBhbmUvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3RpY2t5LWhlYWRlclxcc3RpY2t5LWhlYWRlci1wYW5lXFxzdGlja3ktaGVhZGVyLXBhbmUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdGlja3ktaGVhZGVyL3N0aWNreS1oZWFkZXItcGFuZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztFQUNQLFNBQVE7RUFDUixXQUFVLEVBQ2I7QUFFRDtFQUNJLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sV0FBVTtFQUNWLFNBQVE7RUFDUixXQUFVO0VBQ1YsZ0RBQStDLEVBQ2xEO0FBRUQ7RUFDSSxVQUF3QztFQUN4QyxRQUFPO0VBQ1AsMENBQXlDLEVBQzVDO0FBRUQ7RUFDSSxtQkFBa0I7RUFFbEIsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWSxFQUNmO0FBRUQ7RUFDSSxtQkFBa0I7RUFFbEIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixrQ0FBaUM7RUFFakMsMEJDNUJZO0VENkJaLGtCQUFnRDtFQUNoRCxPQUFNO0VBQ04sUUFBTztFQUNQLFlBQVc7RUFDWCxVQUFTO0VBQ1QsV0FBVSxFQXFCYjtBQWxDRDtJQTRCUSxZQUFXO0lBQ1gsYUFBWTtJQUNaLGdCQUFlO0lBQ2YsZ0JKekRpQixFSTBEcEI7QUFoQ0w7TUFrQlksWUFBVztNQUNYLGdCQUFlO01BQ2YsZ0JBQWU7TUFDZixpQkFBZ0IsRUFDbkI7QUF0QlQ7TUF5Qlksb0JDNUNPLEVENkNWO0FGYUc7RUVEUjtJQUNJLFVKckMyQixFSXNDOUI7RUFDRDtJQUNJLGtCSnhDMkIsRUkrQzlCO0lBUkQ7TUFJUSxpQkFBZ0I7TUFDaEIsV0FBVSxFQUViLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyLXBhbmUvc3RpY2t5LWhlYWRlci1wYW5lLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvdGhlbWUtaW1wb3J0c1wiO1xyXG5cclxuYXBwLXN0aWNreS1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgei1pbmRleDogMztcclxufVxyXG5cclxuYXBwLXN0aWNreS1oZWFkZXItZm9ybSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAxMDAlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgZWFzZSwgbGVmdCAwcyBsaW5lYXIgMC4yNXM7XHJcbn1cclxuXHJcbjpob3N0LmZvcm0tY2hhbmdlZCBhcHAtc3RpY2t5LWhlYWRlci1mb3JtIHtcclxuICAgIHRvcDogJHN0aWNreS1oZWFkZXItaGVpZ2h0ICsgJG9zLXBhZGRpbmc7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgZWFzZSwgbGVmdCAwcyBsaW5lYXI7XHJcbn1cclxuXHJcbi5zdGlja3ktY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5zdGlja3ktY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgIHBhZGRpbmctdG9wOiAkc3RpY2t5LWhlYWRlci1oZWlnaHQgKyAkb3MtcGFkZGluZztcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgLmlubmVyLWNvbnRlbnQge1xyXG5cclxuICAgICAgICAmLmZ1bGx3aWR0aCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYmFja2dyb3VuZENvbG9yIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktMTAwJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMCA0NXB4O1xyXG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQGluY2x1ZGUgbWluLXdpZHRoKG0pIHtcclxuXHJcbiAgICA6aG9zdC5mb3JtLWNoYW5nZWQgYXBwLXN0aWNreS1oZWFkZXItZm9ybSB7XHJcbiAgICAgICAgdG9wOiAkc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDtcclxuICAgIH1cclxuICAgIC5zdGlja3ktY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wO1xyXG5cclxuICAgICAgICAuaW5uZXItY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIl19 */\"","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-sticky-header-pane',\r\n templateUrl: 'sticky-header-pane.component.html',\r\n styleUrls: ['sticky-header-pane.component.scss']\r\n})\r\nexport class StickyHeaderPaneComponent {\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public showBack = true;\r\n\r\n @Input()\r\n public showClose = false;\r\n\r\n @Input()\r\n public fullWidth = false;\r\n\r\n @Input()\r\n public backgroundColor = false;\r\n\r\n @Input()\r\n public isHeaderForm = false;\r\n\r\n @Output()\r\n public scroll: EventEmitter = new EventEmitter();\r\n\r\n\r\n /**\r\n * Emit a back event when the user clicks the back button\r\n * @type {EventEmitter}\r\n */\r\n @Output()\r\n public back: EventEmitter = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SvgIconModule } from '../svg-icon/svg-icon.module';\r\nimport { StickyHeaderPaneComponent } from './sticky-header-pane/sticky-header-pane.component';\r\nimport { StickyHeaderComponent } from './sticky-header/sticky-header.component';\r\nimport { HammerGesturesModule } from '../directives/hammer-gestures/hammer-gestures.module';\r\nimport { AppFormsModule } from '../app-forms/app-forms.module';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SvgIconModule,\r\n HammerGesturesModule,\r\n AppFormsModule\r\n ],\r\n declarations: [\r\n StickyHeaderPaneComponent,\r\n StickyHeaderComponent\r\n ],\r\n exports: [\r\n StickyHeaderPaneComponent,\r\n StickyHeaderComponent\r\n ]\r\n})\r\nexport class StickyHeaderModule {\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{label}}\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.sticky-header {\\n position: absolute;\\n width: 100%;\\n height: 50px;\\n background-color: #050b7f;\\n color: #FFFFFF;\\n text-align: center;\\n overflow: hidden;\\n z-index: 2; }\\n.sticky-header::before {\\n content: '';\\n position: absolute;\\n left: 0;\\n bottom: 0;\\n width: 100%;\\n height: 5px;\\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)); }\\n.sticky-header .header-size {\\n position: relative;\\n height: 40px;\\n width: auto;\\n margin: 10px auto auto auto;\\n padding: 0; }\\n.sticky-header .back {\\n position: absolute;\\n top: calc(50% - 0.85em);\\n left: 45px;\\n width: 11px;\\n height: 9px;\\n cursor: pointer; }\\n.sticky-header .back app-svg-icon {\\n width: 11px;\\n height: 9px; }\\n.sticky-header .label {\\n position: absolute;\\n top: calc(50% - 0.85em);\\n left: 50px;\\n right: 50px;\\n white-space: nowrap;\\n font-size: 0.875em;\\n font-weight: 600;\\n text-align: center;\\n font-family: \\\"montserrat\\\", Arial, sans-serif;\\n -webkit-font-smoothing: antialiased; }\\n@media screen and (min-width: 980px) {\\n .sticky-header {\\n height: 80px; }\\n .sticky-header .header-size {\\n margin: auto 40px;\\n width: 100%;\\n max-width: 100%;\\n height: 80px; }\\n .sticky-header .label {\\n font-size: 1.25em;\\n right: 100px;\\n top: calc(50% - 0.5em); }\\n .sticky-header .back {\\n width: 20px;\\n height: 16px;\\n top: calc(50% - 0.5em);\\n left: 0;\\n cursor: pointer; }\\n .sticky-header .back app-svg-icon {\\n width: 20px;\\n height: 16px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N0aWNreS1oZWFkZXIvc3RpY2t5LWhlYWRlci9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdGlja3ktaGVhZGVyL3N0aWNreS1oZWFkZXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdGlja3ktaGVhZGVyL3N0aWNreS1oZWFkZXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN0aWNreS1oZWFkZXJcXHN0aWNreS1oZWFkZXJcXHN0aWNreS1oZWFkZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdGlja3ktaGVhZGVyL3N0aWNreS1oZWFkZXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF92YXJzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdGlja3ktaGVhZGVyL3N0aWNreS1oZWFkZXIvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxtQkFBa0I7RUFFbEIsWUFBVztFQUNYLGFBQTJDO0VBRTNDLDBCQ0pjO0VES2QsZUNJWTtFREZaLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFtRGhCLFdBQVUsRUFFYjtBQS9ERDtJQWNRLFlBQVc7SUFDWCxtQkFBa0I7SUFFbEIsUUFBTztJQUNQLFVBQVM7SUFDVCxZQUFXO0lBQ1gsWUFBVztJQUVYLG9GQUFtRixFQUN0RjtBQXZCTDtJQTJCUSxtQkFBa0I7SUFDbEIsYUpLbUI7SUlKbkIsWUFBVztJQUNYLDRCQUFrQztJQUNsQyxXQUFVLEVBQ2I7QUFoQ0w7SUFtQ1EsbUJBQWtCO0lBQ2xCLHdCQUF1QjtJQUN2QixXQUFVO0lBQ1YsWUFBVztJQUNYLFlBQVc7SUFDWCxnQkFBZSxFQU1sQjtBQTlDTDtNQTJDWSxZQUFXO01BQ1gsWUFBVyxFQUNkO0FBN0NUO0lBaURRLG1CQUFrQjtJQUNsQix3QkFBdUI7SUFDdkIsV0FBVTtJQUNWLFlBQVc7SUFDWCxvQkFBbUI7SUFDbkIsbUJBQWtCO0lBQ2xCLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsNkNFcEQ4QztJQ3dFcEQsb0NBQW1DLEVIbEJoQztBRllPO0VFTFI7SUFDSSxhSmpDMkIsRUk0RDlCO0lBNUJEO01BSVEsa0JBQWlCO01BQ2pCLFlBQVc7TUFDWCxnQkFBZTtNQUNmLGFKdkN1QixFSXdDMUI7SUFSTDtNQVdRLGtCRzJDc0I7TUgxQ3RCLGFBQVk7TUFDWix1QkFBc0IsRUFDekI7SUFkTDtNQWlCUSxZQUFXO01BQ1gsYUFBWTtNQUNaLHVCQUFzQjtNQUN0QixRQUFPO01BQ1AsZ0JBQWUsRUFNbEI7TUEzQkw7UUF3QlksWUFBVztRQUNYLGFBQVksRUFDZixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3N0aWNreS1oZWFkZXIvc3RpY2t5LWhlYWRlci9zdGlja3ktaGVhZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvdGhlbWUtaW1wb3J0c1wiO1xyXG5cclxuLnN0aWNreS1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkc3RpY2t5LWhlYWRlci1oZWlnaHQgKyAkb3MtcGFkZGluZztcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeScpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG5cclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgLy8gc2hhZG93XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA1cHg7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGVsZW1lbnQgaXMgdXNlZCB0byBmaXggc2l6ZSBvZiBjb250ZW50XHJcbiAgICAuaGVhZGVyLXNpemUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBoZWlnaHQ6ICRzdGlja3ktaGVhZGVyLWhlaWdodDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtYXJnaW46ICRvcy1wYWRkaW5nIGF1dG8gYXV0byBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmJhY2sge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMC44NWVtKTtcclxuICAgICAgICBsZWZ0OiA0NXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMXB4O1xyXG4gICAgICAgIGhlaWdodDogOXB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgYXBwLXN2Zy1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogOXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMC44NWVtKTtcclxuICAgICAgICBsZWZ0OiA1MHB4O1xyXG4gICAgICAgIHJpZ2h0OiA1MHB4O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGxpbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgei1pbmRleDogMjtcclxuXHJcbn1cclxuXHJcbkBpbmNsdWRlIG1pbi13aWR0aChtKSB7XHJcbiAgICAuc3RpY2t5LWhlYWRlciB7XHJcbiAgICAgICAgaGVpZ2h0OiAkc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDtcclxuXHJcbiAgICAgICAgLmhlYWRlci1zaXplIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDIwcHgpO1xyXG4gICAgICAgICAgICByaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjVlbSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmFjayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjVlbSk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAgIGFwcC1zdmctaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiLy8jIyBHZW5lcmFsXHJcbiRjZG4tZm9udC1wYXRoOiAnZm9udHMnO1xyXG4kY2RuLWljb24tcGF0aDogJ2ljb25zJztcclxuXHJcblxyXG4vLyAjIyBGb250c1xyXG4kZm9udC1mYW1pbHk6ICdzb3VyY2Utc2FucycsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktaGVhZGxpbmU6ICdtb250c2VycmF0JywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcblxyXG4vLyAjIEdlbmVyYWwgZWxlbWVudHMgc3R5bGVzXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuJGJveC1zaGFkb3ctbWVkaXVtOiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjk2KTtcclxuJGJveC1zaGFkb3ctbGlnaHQ6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTgpO1xyXG4kYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuLy8gIyMgTmF2aWdhdGlvblxyXG4kbmF2aWdhdGlvbi13aWR0aDogMjYwcHg7XHJcbiRuYXZpZ2F0aW9uLW1vYmlsZS1oZWlnaHQ6IDUwcHg7XHJcblxyXG4vLyAjIyBMYXlvdXRcclxuJGNvbnRlbnQtcGFkZGluZzogNTBweDtcclxuJGNvbnRlbnQtcGFkZGluZy1tb2JpbGU6IDIwcHg7XHJcblxyXG5cclxuXHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiJdfQ== */\"","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-sticky-header',\r\n templateUrl: './sticky-header.component.html',\r\n styleUrls: ['./sticky-header.component.scss']\r\n})\r\nexport class StickyHeaderComponent {\r\n\r\n @Input()\r\n public label: string;\r\n\r\n @Input()\r\n public showBack = true;\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","import { AuthConfig } from '../../common/api.settings';\r\nimport { Injectable } from '@angular/core';\r\nimport { AppStorageService } from '../common/app-storage.service';\r\n\r\n@Injectable()\r\nexport class AuthStorageService {\r\n\r\n constructor(private storage: AppStorageService) {\r\n }\r\n\r\n get auth() {\r\n return this.rememberAuth;\r\n }\r\n\r\n get rememberAuth() {\r\n return this.storage.get(AuthConfig.REMEMBER_AUTH_KEY_STORAGE);\r\n }\r\n\r\n set rememberAuth(authDatas) {\r\n this.storage.set(AuthConfig.REMEMBER_AUTH_KEY_STORAGE, authDatas);\r\n }\r\n\r\n get accessToken(): string {\r\n return this.auth[AuthConfig.ACCESS_TOKEN_KEY_STORAGE] || false;\r\n }\r\n\r\n get refreshToken(): string | boolean {\r\n return this.auth[AuthConfig.REFRESH_TOKEN_KEY_STORAGE] || false;\r\n }\r\n\r\n get tokenExpires(): Date | boolean {\r\n return new Date(this.auth[AuthConfig.TOKEN_EXPIRES_KEY_STORAGE]) || false;\r\n }\r\n\r\n get userName(): string {\r\n return this.storage.get('username');\r\n }\r\n\r\n set userName(userName: string) {\r\n this.storage.set('username', userName);\r\n }\r\n\r\n get preferredRole(): string {\r\n return this.storage.get('preferredRole');\r\n }\r\n\r\n set preferredRole(role: string) {\r\n this.storage.set('preferredRole', role);\r\n }\r\n\r\n removeAuth() {\r\n this.storage.remove(AuthConfig.REMEMBER_AUTH_KEY_STORAGE);\r\n this.storage.remove('preferredRole');\r\n }\r\n\r\n}\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { SupportStorage } from '../support-storage.model';\r\n\r\nenum STORES {\r\n SESSION,\r\n LOCAL\r\n}\r\n\r\n@Injectable()\r\nexport class AppStorageService {\r\n\r\n public static STORES = STORES;\r\n private supportStorage: SupportStorage;\r\n public SELECTED_COUNTRY = 'country_selected';\r\n public CURRENT_ROLE = 'currentRole';\r\n $localeChanges = new EventEmitter();\r\n constructor() {\r\n this.supportStorage = new SupportStorage();\r\n }\r\n\r\n get countrySelected(): string {\r\n return this.get(this.SELECTED_COUNTRY, STORES.SESSION);\r\n }\r\n\r\n set countrySelected(countrySelected: string) {\r\n this.set(this.SELECTED_COUNTRY, countrySelected, STORES.SESSION);\r\n }\r\n\r\n get currentUserRole(): string {\r\n return this.get(this.CURRENT_ROLE, STORES.SESSION);\r\n }\r\n\r\n set currentUserRole(countrySelected: string) {\r\n this.set(this.CURRENT_ROLE, countrySelected, STORES.SESSION);\r\n }\r\n\r\n set(key: string, value: any, store = AppStorageService.STORES.LOCAL): boolean | Promise {\r\n const storage = this._getStore(store);\r\n\r\n if (typeof value === 'object') {\r\n value = this._stringify(value);\r\n }\r\n storage.setItem(key, value);\r\n this.$localeChanges.emit({ key, value });\r\n return true;\r\n }\r\n\r\n remove(key: string, store = AppStorageService.STORES.LOCAL): boolean | Promise {\r\n const storage = this._getStore(store);\r\n storage.removeItem(key);\r\n return true;\r\n }\r\n\r\n get(key: string, store = AppStorageService.STORES.LOCAL, defaultValue: any = false, nestedKey?): any | Promise {\r\n const storage = this._getStore(store);\r\n\r\n if (storage.getItem(key)) {\r\n try {\r\n let datas = JSON.parse(storage.getItem(key));\r\n if (nestedKey) {\r\n datas = datas.hasOwnProperty(nestedKey) ? datas[nestedKey] : defaultValue;\r\n }\r\n return datas;\r\n } catch (e) {\r\n return storage.getItem(key);\r\n }\r\n } else {\r\n return defaultValue;\r\n }\r\n }\r\n\r\n private _getStore(storage): Storage {\r\n let store;\r\n\r\n if (storage === AppStorageService.STORES.SESSION && this._isAvailableStorage(window.sessionStorage)) {\r\n store = window.sessionStorage;\r\n } else if (storage === AppStorageService.STORES.LOCAL && this._isAvailableStorage(window.localStorage)) {\r\n store = window.localStorage;\r\n } else {\r\n store = this.supportStorage;\r\n }\r\n\r\n return store;\r\n }\r\n\r\n private _isAvailableStorage(storage: Storage): boolean {\r\n const test = 'test';\r\n try {\r\n storage.setItem(test, test);\r\n storage.removeItem(test);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n private _stringify(value) {\r\n return JSON.stringify(value);\r\n }\r\n\r\n}\r\n","export const PosStorageConst = {\r\n storageElements: {\r\n addresses: {\r\n key: 'addresses',\r\n conf: {\r\n historyLength: 3\r\n }\r\n }\r\n }\r\n};\r\n","import { Address } from '../../gmap/address.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { AppStorageService } from 'app/shared/storage/common/app-storage.service';\r\nimport { PosStorageConst } from './pos-storage.const';\r\n\r\n@Injectable()\r\nexport class PosStorageService {\r\n\r\n constructor(private storage: AppStorageService) {\r\n }\r\n\r\n /**\r\n * gets addresses\r\n */\r\n get addresses(): Address[] {\r\n return this.storage.get(PosStorageConst.storageElements.addresses.key, AppStorageService.STORES.LOCAL, []);\r\n }\r\n\r\n /**\r\n * sets addresses\r\n */\r\n set addresses(addresses: Address[]) {\r\n this.storage.set(PosStorageConst.storageElements.addresses.key, addresses);\r\n }\r\n\r\n /**\r\n * add an adress in the storage (keeping only x(= _historyLength) adresses)\r\n * @param address\r\n */\r\n addAddress(address: Address): Address[] {\r\n if (address.place_id) {\r\n let addresses = this.addresses;\r\n const existingAddress = addresses.filter(\r\n storesAddress => (storesAddress.place_id === address.place_id)\r\n );\r\n if (existingAddress.length === 0) {\r\n addresses.push(address);\r\n if (addresses.length > PosStorageConst.storageElements.addresses.conf.historyLength) {\r\n addresses = addresses.slice(-PosStorageConst.storageElements.addresses.conf.historyLength);\r\n }\r\n this.addresses = addresses;\r\n }\r\n }\r\n return this.addresses;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AppStorageService } from './common/app-storage.service';\r\nimport { PosStorageService } from './pos/pos-storage.service';\r\nimport { TranslationStorageService } from './translation/translation-storage.service';\r\n\r\n@NgModule({\r\n providers: [\r\n AppStorageService,\r\n PosStorageService,\r\n TranslationStorageService\r\n ]\r\n})\r\nexport class StorageModule {\r\n}\r\n","export class SupportStorage {\r\n private storage: any[] = [];\r\n\r\n getItem(key: string) {\r\n return this.storage[key];\r\n }\r\n\r\n setItem(key: string, value: any) {\r\n this.storage[key] = value;\r\n return true;\r\n }\r\n\r\n removeItem(key: string) {\r\n delete this.storage[key];\r\n return true;\r\n }\r\n}\r\n","export const TranslationStorageConst = {\r\n keys: {\r\n lang: 'lang'\r\n }\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { AppStorageService } from '../common/app-storage.service';\r\nimport { TranslationStorageConst } from './translation-storage.const';\r\n\r\n@Injectable()\r\nexport class TranslationStorageService {\r\n\r\n constructor(private storage: AppStorageService) {\r\n }\r\n\r\n /**\r\n * Gets language value\r\n */\r\n get lang(): string {\r\n return this.storage.get(TranslationStorageConst.keys.lang);\r\n }\r\n\r\n /**\r\n * Stores language value\r\n */\r\n set lang(lang: string) {\r\n this.storage.set(TranslationStorageConst.keys.lang, lang);\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n \\r\\n\\r\\n\"","module.exports = \":host {\\n display: inline-block;\\n vertical-align: middle; }\\n\\n.icon {\\n display: block;\\n width: 100%;\\n height: 100%;\\n fill: currentColor; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N2Zy1pY29uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN2Zy1pY29uXFxzdmctaWNvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHNCQUFxQjtFQUNyQix1QkFBc0IsRUFDekI7O0FBRUQ7RUFDSSxlQUFjO0VBQ2QsWUFBVztFQUNYLGFBQVk7RUFDWixtQkFBa0IsRUFDckIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvc3ZnLWljb24vc3ZnLWljb24uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4uaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZmlsbDogY3VycmVudENvbG9yO1xyXG59XHJcbiJdfQ== */\"","import { Component, HostBinding, Input, OnInit } from '@angular/core';\r\nimport { ViewBox } from '../models/view-box.model';\r\n\r\n@Component({\r\n selector: 'app-svg-icon',\r\n templateUrl: './svg-icon.component.html',\r\n styleUrls: ['./svg-icon.component.scss']\r\n})\r\nexport class SvgIconComponent implements OnInit {\r\n\r\n public baseHref: string;\r\n\r\n /**\r\n * Name of the symbol in the SVG sprite\r\n */\r\n @Input()\r\n public name: string;\r\n\r\n\r\n @Input()\r\n public module: string;\r\n\r\n /**\r\n * Desired display width\r\n */\r\n @Input()\r\n @HostBinding('style.width')\r\n public width: string;\r\n\r\n /**\r\n * Desired display height\r\n */\r\n @Input()\r\n @HostBinding('style.height')\r\n public height: string;\r\n\r\n /**\r\n * Viewbox as defined in the symbol/original SVG file. required\r\n * @type {{top: number; left: number; width: number; height: number}}\r\n */\r\n @Input()\r\n public viewBox: ViewBox = {\r\n top: 0,\r\n left: 0,\r\n width: 20,\r\n height: 20\r\n };\r\n\r\n @Input()\r\n public extraClasses: string[] = [];\r\n\r\n public svgPath: string;\r\n\r\n constructor() {\r\n this.baseHref = window.location.href.toString();\r\n }\r\n ngOnInit(): void {\r\n this.svgPath = this.module ? `${window.location.origin}/${this.module}#${this.name}` : `${this.baseHref}#${this.name}`;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SvgIconComponent } from './svg-icon.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n SvgIconComponent\r\n ],\r\n exports: [\r\n SvgIconComponent\r\n ]\r\n})\r\nexport class SvgIconModule {\r\n}\r\n","module.exports = \"\\r\\n\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { SvgInlineService } from './svg-inline.service';\r\n\r\n@Component({\r\n selector: 'app-svg-inline',\r\n templateUrl: './svg-inline.component.html'\r\n})\r\nexport class SvgInlineComponent implements OnInit {\r\n\r\n public fileContent: SafeHtml;\r\n\r\n @Input() public src: string;\r\n\r\n constructor(private svgInlineService: SvgInlineService,\r\n private sanitizer: DomSanitizer) {\r\n }\r\n\r\n ngOnInit() {\r\n this.svgInlineService.getSvgByUrl(this.src).subscribe(svgContent => {\r\n if (svgContent) {\r\n this.fileContent = this.sanitizer.bypassSecurityTrustHtml(svgContent);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SvgInlineComponent } from './svg-inline.component';\r\nimport { SvgInlineService } from './svg-inline.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n SvgInlineComponent\r\n ],\r\n providers: [SvgInlineService],\r\n exports: [\r\n SvgInlineComponent\r\n ]\r\n})\r\nexport class SvgInlineModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class SvgInlineService {\r\n\r\n private svgList = new Map();\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n public getSvgByUrl(url: string): Observable {\r\n if (this.isSvgExists(url)) {\r\n return Observable.of(this.svgList.get(url));\r\n }\r\n\r\n return this.http.get(url, { responseType: 'text' }).map(\r\n response => {\r\n if (response) {\r\n this.svgList.set(url, response);\r\n return response;\r\n }\r\n });\r\n }\r\n\r\n public isSvgExists(url: string): boolean {\r\n return this.svgList.has(url);\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.text-carousel {\\n position: relative; }\\n.text-carousel.current-item-1 .chips-list .chip:nth-child(1)::before {\\n opacity: 1; }\\n.text-carousel.current-item-1 .items-container {\\n transform: translate(0%); }\\n.text-carousel.current-item-1 .items-container /deep/ .item:nth-child(1) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.text-carousel.current-item-2 .chips-list .chip:nth-child(2)::before {\\n opacity: 1; }\\n.text-carousel.current-item-2 .items-container {\\n transform: translate(-100%); }\\n.text-carousel.current-item-2 .items-container /deep/ .item:nth-child(2) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.text-carousel.current-item-3 .chips-list .chip:nth-child(3)::before {\\n opacity: 1; }\\n.text-carousel.current-item-3 .items-container {\\n transform: translate(-200%); }\\n.text-carousel.current-item-3 .items-container /deep/ .item:nth-child(3) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.text-carousel.current-item-4 .chips-list .chip:nth-child(4)::before {\\n opacity: 1; }\\n.text-carousel.current-item-4 .items-container {\\n transform: translate(-300%); }\\n.text-carousel.current-item-4 .items-container /deep/ .item:nth-child(4) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.text-carousel.current-item-5 .chips-list .chip:nth-child(5)::before {\\n opacity: 1; }\\n.text-carousel.current-item-5 .items-container {\\n transform: translate(-400%); }\\n.text-carousel.current-item-5 .items-container /deep/ .item:nth-child(5) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.text-carousel.current-item-6 .chips-list .chip:nth-child(6)::before {\\n opacity: 1; }\\n.text-carousel.current-item-6 .items-container {\\n transform: translate(-500%); }\\n.text-carousel.current-item-6 .items-container /deep/ .item:nth-child(6) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.text-carousel.current-item-7 .chips-list .chip:nth-child(7)::before {\\n opacity: 1; }\\n.text-carousel.current-item-7 .items-container {\\n transform: translate(-600%); }\\n.text-carousel.current-item-7 .items-container /deep/ .item:nth-child(7) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.text-carousel.current-item-8 .chips-list .chip:nth-child(8)::before {\\n opacity: 1; }\\n.text-carousel.current-item-8 .items-container {\\n transform: translate(-700%); }\\n.text-carousel.current-item-8 .items-container /deep/ .item:nth-child(8) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.text-carousel.current-item-9 .chips-list .chip:nth-child(9)::before {\\n opacity: 1; }\\n.text-carousel.current-item-9 .items-container {\\n transform: translate(-800%); }\\n.text-carousel.current-item-9 .items-container /deep/ .item:nth-child(9) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.text-carousel.current-item-10 .chips-list .chip:nth-child(10)::before {\\n opacity: 1; }\\n.text-carousel.current-item-10 .items-container {\\n transform: translate(-900%); }\\n.text-carousel.current-item-10 .items-container /deep/ .item:nth-child(10) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.text-carousel .chips-list {\\n position: absolute;\\n left: 0;\\n right: 0;\\n bottom: -1px;\\n width: 100%;\\n text-align: center; }\\n.text-carousel .chips-list .chip {\\n display: inline-block;\\n vertical-align: bottom;\\n width: 15px;\\n height: 15px;\\n padding: 4px; }\\n.text-carousel .chips-list .chip::before {\\n content: '';\\n display: block;\\n width: 7px;\\n height: 7px;\\n border-radius: 50%;\\n background-color: #5e4fea;\\n opacity: 0.2;\\n transition: 0.2s ease; }\\n.text-carousel .items-container {\\n white-space: nowrap;\\n max-width: 320px;\\n margin: auto;\\n transition: transform 0.3s ease; }\\n.text-carousel .items-container /deep/ .item {\\n white-space: normal;\\n display: inline-block;\\n width: 100%;\\n vertical-align: middle;\\n opacity: 0;\\n transition: 0.3s ease; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3RleHQtY2Fyb3VzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3RleHQtY2Fyb3VzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC90ZXh0LWNhcm91c2VsL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC90ZXh0LWNhcm91c2VsL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3RleHQtY2Fyb3VzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3RleHQtY2Fyb3VzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvdGV4dC1jYXJvdXNlbC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFx0ZXh0LWNhcm91c2VsXFx0ZXh0LWNhcm91c2VsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvdGV4dC1jYXJvdXNlbC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLG1CQUFrQixFQTJFckI7QUE1RUQ7SUFTd0IsV0FBVSxFQUNiO0FBVnJCO0lBa0JnQix5QkFBZ0MsRUFNbkM7QUF4QmI7TUFxQm9CLFdBQVU7TUFDVixzQkFBcUIsRUFDeEI7QUF2QmpCO0lBU3dCLFdBQVUsRUFDYjtBQVZyQjtJQWtCZ0IsNEJBQWdDLEVBTW5DO0FBeEJiO01BcUJvQixXQUFVO01BQ1Ysc0JBQXFCLEVBQ3hCO0FBdkJqQjtJQVN3QixXQUFVLEVBQ2I7QUFWckI7SUFrQmdCLDRCQUFnQyxFQU1uQztBQXhCYjtNQXFCb0IsV0FBVTtNQUNWLHNCQUFxQixFQUN4QjtBQXZCakI7SUFTd0IsV0FBVSxFQUNiO0FBVnJCO0lBa0JnQiw0QkFBZ0MsRUFNbkM7QUF4QmI7TUFxQm9CLFdBQVU7TUFDVixzQkFBcUIsRUFDeEI7QUF2QmpCO0lBU3dCLFdBQVUsRUFDYjtBQVZyQjtJQWtCZ0IsNEJBQWdDLEVBTW5DO0FBeEJiO01BcUJvQixXQUFVO01BQ1Ysc0JBQXFCLEVBQ3hCO0FBdkJqQjtJQVN3QixXQUFVLEVBQ2I7QUFWckI7SUFrQmdCLDRCQUFnQyxFQU1uQztBQXhCYjtNQXFCb0IsV0FBVTtNQUNWLHNCQUFxQixFQUN4QjtBQXZCakI7SUFTd0IsV0FBVSxFQUNiO0FBVnJCO0lBa0JnQiw0QkFBZ0MsRUFNbkM7QUF4QmI7TUFxQm9CLFdBQVU7TUFDVixzQkFBcUIsRUFDeEI7QUF2QmpCO0lBU3dCLFdBQVUsRUFDYjtBQVZyQjtJQWtCZ0IsNEJBQWdDLEVBTW5DO0FBeEJiO01BcUJvQixXQUFVO01BQ1Ysc0JBQXFCLEVBQ3hCO0FBdkJqQjtJQVN3QixXQUFVLEVBQ2I7QUFWckI7SUFrQmdCLDRCQUFnQyxFQU1uQztBQXhCYjtNQXFCb0IsV0FBVTtNQUNWLHNCQUFxQixFQUN4QjtBQXZCakI7SUFTd0IsV0FBVSxFQUNiO0FBVnJCO0lBa0JnQiw0QkFBZ0MsRUFNbkM7QUF4QmI7TUFxQm9CLFdBQVU7TUFDVixzQkFBcUIsRUFDeEI7QUF2QmpCO0lBOEJRLG1CQUFrQjtJQUNsQixRQUFPO0lBQ1AsU0FBUTtJQUNSLGFBQVk7SUFDWixZQUFXO0lBQ1gsbUJBQWtCLEVBcUJyQjtBQXhETDtNQXNDWSxzQkFBcUI7TUFDckIsdUJBQXNCO01BQ3RCLFlBQVc7TUFDWCxhQUFZO01BQ1osYUFBWSxFQWFmO0FBdkRUO1FBNkNnQixZQUFXO1FBQ1gsZUFBYztRQUNkLFdBQVU7UUFDVixZQUFXO1FBQ1gsbUJBQWtCO1FBQ2xCLDBCQzlDSTtRRCtDSixhQUFZO1FBRVosc0JBQXFCLEVBQ3hCO0FBdERiO0lBMkRRLG9CQUFtQjtJQUNuQixpQkFBZ0I7SUFDaEIsYUFBWTtJQUVaLGdDQUErQixFQVlsQztBQTNFTDtNQWtFWSxvQkFBbUI7TUFDbkIsc0JBQXFCO01BQ3JCLFlBQVc7TUFDWCx1QkFBc0I7TUFDdEIsV0FBVTtNQUVWLHNCQUFxQixFQUV4QiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC90ZXh0LWNhcm91c2VsL3RleHQtY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy90aGVtZS1pbXBvcnRzXCI7XHJcblxyXG4udGV4dC1jYXJvdXNlbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XHJcblxyXG4gICAgICAgICYuY3VycmVudC1pdGVtLSN7JGl9IHtcclxuICAgICAgICAgICAgLmNoaXBzLWxpc3Qge1xyXG4gICAgICAgICAgICAgICAgLmNoaXA6bnRoLWNoaWxkKCAjeyRpfSApIHtcclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLml0ZW1zLWNvbnRhaW5lciB7XHJcblxyXG4gICAgICAgICAgICAgICAgJG9mZnNldDogKCRpIC0gMSkgKiAtMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgjeyRvZmZzZXR9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvZGVlcC8gLml0ZW06bnRoLWNoaWxkKCAjeyRpfSApIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmNoaXBzLWxpc3Qge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogLTFweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5jaGlwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDdweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdzZWNvbmRhcnknKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcclxuXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW1zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuXHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxuXHJcbiAgICAgICAgL2RlZXAvIC5pdGVtIHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iXX0= */\"","import { AfterViewInit, Component, ElementRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-text-carousel',\r\n templateUrl: './text-carousel.component.html',\r\n styleUrls: ['./text-carousel.component.scss']\r\n})\r\nexport class TextCarouselComponent implements AfterViewInit {\r\n\r\n public currentIndex = 0;\r\n public arrayItems = [];\r\n private numItems = 0;\r\n private itemsContainer: any;\r\n private loop: any;\r\n private loopInterval = 3000;\r\n\r\n constructor(private element: ElementRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n // Use the setTimeout to prevent ExpressionChangedAfterItHasBeenCheckedError\r\n setTimeout(() => {\r\n\r\n this.numItems = this.element.nativeElement.querySelectorAll('.item').length;\r\n\r\n // scroll smoothly to open element\r\n this.arrayItems = this.element.nativeElement.querySelectorAll('.item');\r\n\r\n this.itemsContainer = this.element.nativeElement.querySelector('.items-container');\r\n\r\n }, 0);\r\n\r\n this.runLoop();\r\n }\r\n\r\n public runLoop() {\r\n const that = this;\r\n\r\n this.loop = window.setInterval(function () {\r\n that.currentIndex = that.currentIndex + 1;\r\n\r\n if (that.currentIndex >= that.numItems) {\r\n that.currentIndex = 0;\r\n }\r\n\r\n }, this.loopInterval);\r\n\r\n }\r\n\r\n public resetLoop() {\r\n window.clearInterval(this.loop);\r\n this.runLoop();\r\n }\r\n\r\n public nextItem() {\r\n this.resetLoop();\r\n this.currentIndex = (this.currentIndex < this.numItems - 1) ? this.currentIndex + 1 : this.currentIndex;\r\n }\r\n\r\n public prevItem() {\r\n this.resetLoop();\r\n\r\n this.currentIndex = (this.currentIndex > 0) ? this.currentIndex - 1 : this.currentIndex;\r\n }\r\n\r\n public clickChip(event) {\r\n this.resetLoop();\r\n\r\n this.currentIndex = event;\r\n }\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TextCarouselComponent } from './text-carousel.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n TextCarouselComponent\r\n ],\r\n exports: [\r\n TextCarouselComponent\r\n ]\r\n})\r\nexport class TextCarouselModule {\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n

{{message}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.toast-msg-overlay {\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden;\\n display: flex;\\n z-index: -1;\\n transition: all linear 0.2s;\\n transition-delay: 0.5s; }\\n.toast-msg-overlay.show {\\n z-index: 1; }\\n.toast-msg-overlay.hide {\\n z-index: -1;\\n opacity: 0; }\\n.toast-msg {\\n display: flex;\\n position: absolute;\\n width: 100%;\\n min-height: 6.25em;\\n align-items: center;\\n justify-content: center;\\n left: 0;\\n right: 0; }\\n.toast-show {\\n visibility: visible; }\\n.toast-hide {\\n visibility: hidden; }\\n.toast-msg {\\n transition: all 1s ease-in-out;\\n transition-delay: 0.5s; }\\n.toast-msg > div:first-child {\\n flex-basis: 90%;\\n padding: 0 20px; }\\n.toast-msg > div:first-child p {\\n text-align: left; }\\n.toast-msg > div:last-child {\\n flex-basis: 10%;\\n justify-content: center; }\\n.toast-msg > div:last-child button {\\n width: 0.9375em;\\n height: 0.9375em;\\n cursor: pointer; }\\n.toast-msg[top] {\\n top: -100%; }\\n.toast-msg.show[top] {\\n top: 5em; }\\n.toast-msg[bottom] {\\n bottom: -100%;\\n box-shadow: 0px -2px 50px 1px #e3e3e3;\\n transition: all 1s linear; }\\n.toast-msg.show[bottom] {\\n bottom: 0; }\\n.toast-msg[main] {\\n background-color: #00cfff;\\n color: #FFFFFF; }\\n.toast-msg[main] svg {\\n fill: #FFFFFF; }\\n.toast-msg[error] {\\n background-color: #f22f3b;\\n color: #FFFFFF; }\\n.toast-msg[error] svg {\\n fill: #FFFFFF; }\\n@-webkit-keyframes fromBottom {\\n from {\\n opacity: 1;\\n bottom: -100%; }\\n to {\\n opacity: 1;\\n bottom: 0; } }\\n@keyframes fromBottom {\\n from {\\n opacity: 1;\\n bottom: -100%; }\\n to {\\n opacity: 1;\\n bottom: 0; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3RvYXN0LW1lc3NhZ2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3RvYXN0LW1lc3NhZ2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC90b2FzdC1tZXNzYWdlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC90b2FzdC1tZXNzYWdlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3RvYXN0LW1lc3NhZ2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3RvYXN0LW1lc3NhZ2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvdG9hc3QtbWVzc2FnZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc2hhcmVkXFx0b2FzdC1tZXNzYWdlXFx0b2FzdC1tZXNzYWdlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvdG9hc3QtbWVzc2FnZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC90b2FzdC1tZXNzYWdlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksZ0JBQWM7RUFDZCxPQUFLO0VBQ0wsVUFBUTtFQUNSLFFBQU07RUFDTixTQUFPO0VBQ1AsYUFBWTtFQUNaLFlBQVU7RUFDVixpQkFBZ0I7RUFDaEIsY0FBYTtFQUNiLFlBQVU7RUFDViw0QkFBMkI7RUFDM0IsdUJBQXNCLEVBQ3pCO0FBRUQ7RUFDSSxXQUFTLEVBQ1o7QUFFRDtFQUNJLFlBQVU7RUFDVixXQUFTLEVBQ1o7QUFFRDtFQUNJLGNBQVk7RUFDWixtQkFBaUI7RUFDakIsWUFBVTtFQUNWLG1CQzRGOEI7RUQzRjlCLG9CQUFtQjtFQUNuQix3QkFBdUI7RUFDdkIsUUFBTTtFQUNOLFNBQU8sRUFDVjtBQUVEO0VBQ0ksb0JBQW1CLEVBQ3RCO0FBRUQ7RUFDSSxtQkFBa0IsRUFDckI7QUFFRDtFQUVJLCtCQUE4QjtFQUM5Qix1QkFBc0IsRUFtQnpCO0FBdEJEO0lBS1EsZ0JBQWU7SUFDZixnQkFBZSxFQUlsQjtBQVZMO01BUVksaUJBQWdCLEVBQ25CO0FBVFQ7SUFhUSxnQkFBYztJQUNkLHdCQUF1QixFQU8xQjtBQXJCTDtNQWdCWSxnQkM2RHNCO01ENUR0QixpQkM0RHNCO01EM0R0QixnQkFBYyxFQUVqQjtBQUlUO0VBQ0ksV0FBUyxFQUNaO0FBRUQ7RUFDSSxTQ2dEOEIsRUQvQ2pDO0FBRUQ7RUFDSSxjQUFZO0VBQ1osc0NBQWlEO0VBQ2pELDBCQUF5QixFQUM1QjtBQUVEO0VBQ0ksVUFBUSxFQUNYO0FBRUQ7RUFDSSwwQkVuRm9CO0VGb0ZwQixlRTVFWSxFRmlGZjtBQVBEO0lBS1EsY0UvRVEsRUZnRlg7QUFHTDtFQUNJLDBCRXZFYTtFRndFYixlRXJGWSxFRjBGZjtBQVBEO0lBS1EsY0V4RlEsRUZ5Rlg7QUFHTDtFQUNJO0lBQ0ksV0FBVTtJQUNWLGNBQVksRUFBQTtFQUVoQjtJQUNJLFdBQVU7SUFDVixVQUFRLEVBQUEsRUFBQTtBQVBoQjtFQUNJO0lBQ0ksV0FBVTtJQUNWLGNBQVksRUFBQTtFQUVoQjtJQUNJLFdBQVU7SUFDVixVQUFRLEVBQUEsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC90b2FzdC1tZXNzYWdlL3RvYXN0LW1lc3NhZ2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy9fdGhlbWUtaW1wb3J0cy5zY3NzXCI7XHJcblxyXG4udG9hc3QtbXNnLW92ZXJsYXkge1xyXG4gICAgcG9zaXRpb246Zml4ZWQ7XHJcbiAgICB0b3A6MDtcclxuICAgIGJvdHRvbTowO1xyXG4gICAgbGVmdDowO1xyXG4gICAgcmlnaHQ6MDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHotaW5kZXg6LTE7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDAuMnM7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xyXG59XHJcblxyXG4udG9hc3QtbXNnLW92ZXJsYXkuc2hvdyB7XHJcbiAgICB6LWluZGV4OjE7XHJcbn1cclxuXHJcbi50b2FzdC1tc2ctb3ZlcmxheS5oaWRlIHtcclxuICAgIHotaW5kZXg6LTE7XHJcbiAgICBvcGFjaXR5OjA7XHJcbn1cclxuXHJcbi50b2FzdC1tc2cge1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgbWluLWhlaWdodDogZW0oMTAwcHgpO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbGVmdDowO1xyXG4gICAgcmlnaHQ6MDtcclxufVxyXG5cclxuLnRvYXN0LXNob3d7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG4udG9hc3QtaGlkZXtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLnRvYXN0LW1zZyB7XHJcbiAgICAvL29wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xyXG4gICAgPmRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgZmxleC1iYXNpczogOTAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPmRpdjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBmbGV4LWJhc2lzOjEwJTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDplbSgxNXB4KTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBlbSgxNXB4KTtcclxuICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRvYXN0LW1zZ1t0b3Bde1xyXG4gICAgdG9wOi0xMDAlO1xyXG59XHJcblxyXG4udG9hc3QtbXNnLnNob3dbdG9wXXtcclxuICAgIHRvcDplbSg4MHB4KTtcclxufVxyXG5cclxuLnRvYXN0LW1zZ1tib3R0b21de1xyXG4gICAgYm90dG9tOi0xMDAlO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IC0ycHggNTBweCAxcHggcmdiYSgyMjcsMjI3LDIyNywxKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAxcyBsaW5lYXI7XHJcbn1cclxuXHJcbi50b2FzdC1tc2cuc2hvd1tib3R0b21de1xyXG4gICAgYm90dG9tOjA7XHJcbn1cclxuXHJcbi50b2FzdC1tc2dbbWFpbl0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG4gICAgY29sb3I6bWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBmaWxsOm1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4udG9hc3QtbXNnW2Vycm9yXSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOm1hcC1nZXQoJGFsZC1jb2xvcnMsICdkYW5nZXInKTtcclxuICAgIGNvbG9yOm1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgZmlsbDptYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmcm9tQm90dG9tIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgYm90dG9tOi0xMDAlO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgYm90dG9tOjA7XHJcbiAgICB9XHJcbn1cclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiJdfQ== */\"","import { Component, OnInit, Input, Output, OnChanges, EventEmitter } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Subscription } from 'rxjs';\r\nimport 'rxjs/add/observable/timer';\r\n\r\n@Component({\r\n selector: 'app-toast-message',\r\n templateUrl: './toast-message.component.html',\r\n styleUrls: [ './toast-message.component.scss' ]\r\n})\r\nexport class ToastMessageComponent implements OnInit, OnChanges {\r\n @Input() position: string;\r\n @Input() message: string;\r\n @Input() theme: string;\r\n @Input() show = false;\r\n @Input() duration?: number;\r\n\r\n private subscription: Subscription;\r\n private timer: Observable;\r\n\r\n @Output() onHide = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n if (!this.duration) {\r\n this.duration = 8000;\r\n }\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes.show) {\r\n this.setTimer();\r\n }\r\n }\r\n\r\n public setTimer() {\r\n if (this.show) {\r\n setTimeout(() => {\r\n this.show = false;\r\n this.onHide.emit();\r\n }, this.duration);\r\n } else {\r\n this.onHide.emit();\r\n }\r\n }\r\n\r\n closeToast() {\r\n this.show = false;\r\n this.onHide.emit();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {ToastMessageComponent} from './toast-message.component';\r\nimport { ToastDirective } from './toast.directive';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [\r\n ToastMessageComponent,\r\n ToastDirective\r\n ],\r\n exports: [\r\n ToastMessageComponent\r\n ]\r\n})\r\nexport class ToastMessageModule {\r\n}\r\n","import { Directive, ElementRef, Input, AfterViewInit, Renderer2, OnChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[msgToast]'\r\n})\r\nexport class ToastDirective implements AfterViewInit, OnChanges {\r\n\r\n @Input() position: string;\r\n @Input() theme: string;\r\n\r\n constructor(private elementRenderer: Renderer2,\r\n private elementRef: ElementRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.elementRenderer.setAttribute(this.elementRef.nativeElement, this.position, null);\r\n this.elementRenderer.setAttribute(this.elementRef.nativeElement, this.theme, null);\r\n }\r\n\r\n\r\n ngOnChanges(changes) {\r\n if (changes.theme) {\r\n if (!changes.theme.firstChange) {\r\n this.elementRenderer.removeAttribute(this.elementRef.nativeElement, changes.theme.previousValue, null);\r\n }\r\n this.elementRenderer.setAttribute(this.elementRef.nativeElement, this.theme, null);\r\n }\r\n }\r\n}\r\n","export const LANGUAGES_SETTINGS = {\r\n 'RO': {\r\n 'name': 'română',\r\n 'country_code': 'RO',\r\n 'phoneFormat': '+40',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'ro-ro': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'UA': {\r\n 'name': 'ukrainian',\r\n 'country_code': 'UA',\r\n 'phoneFormat': '+380',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'uk-ua': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'TR': {\r\n 'name': 'turkiska',\r\n 'phoneFormat': '+90',\r\n 'country_code': 'TR',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'tr-tr': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'IN': {\r\n 'name': 'india',\r\n 'phoneFormat': '+91',\r\n 'country_code': 'IN',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'BG': {\r\n 'name': 'bulgaria',\r\n 'phoneFormat': '+359',\r\n 'country_code': 'BG',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'bg-bg': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'GR': {\r\n 'name': 'greece',\r\n 'phoneFormat': '+30',\r\n 'country_code': 'GR',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'el-gr': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'AT': {\r\n 'name': 'austria',\r\n 'phoneFormat': '+43',\r\n 'country_code': 'AT',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'de-de': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'CH': {\r\n 'name': 'switzerland',\r\n 'phoneFormat': '+41',\r\n 'country_code': 'CH',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'de-de': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'fr-fr': {\r\n 'dM': 'd MMMM Y',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'it-it': {\r\n 'dM': 'd MMMM Y',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'HU': {\r\n 'name': 'hungary',\r\n 'phoneFormat': '+36',\r\n 'country_code': 'HU',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'hu-hu': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'RS': {\r\n 'name': 'serbia',\r\n 'phoneFormat': '+381',\r\n 'country_code': 'RS',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'sr-rs': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'DZ': {\r\n 'name': 'algeria',\r\n 'phoneFormat': '+213',\r\n 'country_code': 'DZ',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'fr-fr': {\r\n 'dM': 'd MMMM',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'MA': {\r\n 'name': 'morocco',\r\n 'phoneFormat': '+212',\r\n 'country_code': 'MA',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'fr-fr': {\r\n 'dM': 'd MMMM Y',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'PL': {\r\n 'name': 'poland',\r\n 'phoneFormat': '+48',\r\n 'country_code': 'PL',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'pl-pl': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'FI': {\r\n 'name': 'finland',\r\n 'phoneFormat': '+358',\r\n 'country_code': 'FI',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'SI': {\r\n 'name': 'slovenia',\r\n 'phoneFormat': '+386',\r\n 'country_code': 'SI',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'sl-si': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'HR': {\r\n 'name': 'croatia',\r\n 'phoneFormat': '+385',\r\n 'country_code': 'HR',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'hr-hr': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'PT': {\r\n 'name': 'portugal',\r\n 'phoneFormat': '+351',\r\n 'country_code': 'PT',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n },\r\n 'pt-pt': {\r\n 'dM': 'D MMMM',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'EE': {\r\n 'name': 'estonia',\r\n 'phoneFormat': '+372',\r\n 'country_code': 'EE',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD.MM.YYYY',\r\n },\r\n 'et-ee': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD.MM.YYYY',\r\n },\r\n }\r\n },\r\n 'LV': {\r\n 'name': 'latvia',\r\n 'phoneFormat': '+371',\r\n 'country_code': 'LV',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD.MM.YYYY',\r\n },\r\n 'lv-lv': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD.MM.YYYY',\r\n },\r\n }\r\n },\r\n 'LT': {\r\n 'name': 'lithuania',\r\n 'phoneFormat': '+370',\r\n 'country_code': 'LT',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'YYYY-MM-DD',\r\n },\r\n 'lt-lt': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'YYYY-MM-DD',\r\n },\r\n }\r\n },\r\n 'NFFLEET': {\r\n 'name': 'nordeafinancefleet',\r\n 'phoneFormat': '+358',\r\n 'country_code': 'NFFLEET',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n 'MY': {\r\n 'name': 'malaysia',\r\n 'phoneFormat': '+60',\r\n 'country_code': 'MY',\r\n 'cultures': {\r\n 'en-us': {\r\n 'dM': 'MMMM Do',\r\n 'slashDate': 'DD/MM/YYYY',\r\n }\r\n }\r\n },\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from '../config/app-config.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { COUNTRIES } from './translation.settings';\r\nimport { TranslationStorageService } from '../storage/translation/translation-storage.service';\r\nimport { AppStorageService } from '../storage/common/app-storage.service';\r\nimport { Observable } from 'rxjs';\r\nimport * as _ from 'lodash';\r\n\r\n@Injectable()\r\nexport class TranslationService {\r\n private _lang: string;\r\n private _country: string;\r\n private _country_code: string;\r\n private _language_country_separator = '-';\r\n\r\n constructor(private appConfig?: AppConfigService,\r\n public translateService?: TranslateService,\r\n private appStorageService?: AppStorageService,\r\n private storage?: TranslationStorageService) {\r\n\r\n const countrySelected = this.appStorageService.countrySelected;\r\n const selectedLanguage = this.appStorageService.get('lang');\r\n if (countrySelected) {\r\n this._country = _.findKey(COUNTRIES, {'country_code': countrySelected});\r\n selectedLanguage ? translateService.setDefaultLang(selectedLanguage) : translateService.setDefaultLang(COUNTRIES[this._country].default_lang);\r\n } else {\r\n this._country = this.appConfig.config.country;\r\n translateService.setDefaultLang(this.appConfig.config.defaultLang);\r\n }\r\n\r\n this._country_code = COUNTRIES[this._country].country_code;\r\n\r\n this.translateService.addLangs(COUNTRIES[this._country].langs || ['en-us']);\r\n // Setting de language from storage (if exists)\r\n this._lang = this.isAvailable(storage.lang.toString()) ? storage.lang : this.translateService.getDefaultLang();\r\n this.language = this._lang;\r\n }\r\n\r\n get language(): string {\r\n return this._lang;\r\n }\r\n\r\n set language(lang: string) {\r\n if (this.isAvailable(lang) &&\r\n (!this.storage.lang ||\r\n (this.storage.lang &&\r\n ((this.translateService.currentLang !== this.storage.lang) || (lang !== this.storage.lang))\r\n )\r\n )\r\n ) {\r\n this._lang = lang;\r\n this.storage.lang = this._lang;\r\n this.translateService.use(this._lang);\r\n\r\n } else if (!this.isAvailable(lang)) {\r\n this._lang = this.translateService.getDefaultLang();\r\n this.storage.lang = this._lang;\r\n this.translateService.use(this._lang);\r\n }\r\n }\r\n\r\n get languageCode(): string {\r\n return this._lang.substr(0, 2);\r\n }\r\n\r\n translate(key: string, value?: string): Observable {\r\n return this.translateService.get(key, {value: value});\r\n }\r\n\r\n isAvailable(lang: string): boolean {\r\n const availableLangs = this.translateService.getLangs();\r\n return availableLangs.filter(language => {\r\n return (lang === language) || (lang === language + this._language_country_separator + this._country_code.toLowerCase());\r\n }).length > 0;\r\n\r\n }\r\n\r\n}\r\n","export const COUNTRIES = {\r\n Romania: {\r\n country_code: 'RO',\r\n default_lang: 'en-us',\r\n langs: ['ro-ro', 'en-us'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Turkey: {\r\n country_code: 'TR',\r\n default_lang: 'tr-tr',\r\n langs: ['tr-tr', 'en-us'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Ukraine: {\r\n country_code: 'UA',\r\n default_lang: 'uk-ua',\r\n langs: ['uk-ua', 'en-us'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n India: {\r\n country_code: 'IN',\r\n default_lang: 'en-us',\r\n langs: ['en-us'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Bulgaria: {\r\n country_code: 'BG',\r\n default_lang: 'bg-bg',\r\n langs: ['bg-bg', 'en-us'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Greece: {\r\n country_code: 'GR',\r\n default_lang: 'el-gr',\r\n langs: ['el-gr', 'en-us'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Austria: {\r\n country_code: 'AT',\r\n default_lang: 'en-us',\r\n langs: ['de-de', 'en-us'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Switzerland: {\r\n country_code: 'CH',\r\n default_lang: 'en-us',\r\n langs: ['de-de', 'en-us', 'fr-fr', 'it-it'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Hungary: {\r\n country_code: 'HU',\r\n default_lang: 'en-us',\r\n langs: ['en-us', 'hu-hu'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Serbia: {\r\n country_code: 'RS',\r\n default_lang: 'en-us',\r\n langs: ['en-us', 'sr-rs'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Algeria: {\r\n country_code: 'DZ',\r\n default_lang: 'en-us',\r\n langs: ['en-us', 'fr-fr'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Morocco: {\r\n country_code: 'MA',\r\n default_lang: 'en-us',\r\n langs: ['en-us', 'fr-fr'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Poland: {\r\n country_code: 'PL',\r\n default_lang: 'en-us',\r\n langs: ['en-us', 'pl-pl'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Finland: {\r\n country_code: 'FI',\r\n default_lang: 'en-us',\r\n langs: ['en-us'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Slovenia: {\r\n country_code: 'SI',\r\n default_lang: 'en-us',\r\n langs: ['en-us', 'sl-si'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Croatia: {\r\n country_code: 'HR',\r\n default_lang: 'en-us',\r\n langs: ['en-us', 'hr-hr'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Portugal: {\r\n country_code: 'PT',\r\n default_lang: 'pt-pt',\r\n langs: ['en-us', 'pt-pt'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Estonia: {\r\n country_code: 'EE',\r\n default_lang: 'en-us',\r\n langs: ['en-us', 'et-ee'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Latvia: {\r\n country_code: 'LV',\r\n default_lang: 'en-us',\r\n langs: ['en-us', 'lv-lv'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Lithuania: {\r\n country_code: 'LT',\r\n default_lang: 'en-us',\r\n langs: ['en-us', 'lt-lt'],\r\n company_logo : 'brand-logo.svg',\r\n },\r\n Nffleet: {\r\n country_code: 'NFFLEET',\r\n default_lang: 'en-us',\r\n langs: ['en-us'],\r\n company_logo : 'logo-nffleet-white.png',\r\n },\r\n Malaysia: {\r\n country_code: 'MY',\r\n default_lang: 'en-us',\r\n langs: ['en-us'],\r\n company_logo : 'logo-ALD-mitsubishi-2021_logos white.png',\r\n }\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport 'js-marker-clusterer';\r\n\r\nimport { PointOfService } from '../../pos/shared/pos.model';\r\nimport { AppConfigService } from '../config/app-config.service';\r\nimport LatLngBounds = google.maps.LatLngBounds;\r\n\r\ndeclare const MarkerClusterer;\r\n\r\n\r\n@Injectable()\r\nexport class MapGoogleService {\r\n private _oldMarkers: Array = [];\r\n\r\n private _map: google.maps.Map;\r\n private _markers: Array = [];\r\n private _markerMyPosition: google.maps.Marker;\r\n private _myLatitude = 0;\r\n private _myLongitude = 0;\r\n private _markerClusterer: any = null;\r\n\r\n constructor(public appConfig: AppConfigService) {\r\n }\r\n\r\n get map(): google.maps.Map {\r\n return this._map;\r\n }\r\n\r\n get markers(): Array {\r\n return this._markers;\r\n }\r\n\r\n get markerMyPosition(): google.maps.Marker {\r\n return this._markerMyPosition;\r\n }\r\n\r\n get myLatitude(): number {\r\n return this._myLatitude;\r\n }\r\n\r\n set myLatitude(n: number) {\r\n this._myLatitude = n;\r\n }\r\n\r\n get myLongitude(): number {\r\n return this._myLongitude;\r\n }\r\n\r\n set myLongitude(n: number) {\r\n this._myLongitude = n;\r\n }\r\n\r\n get markerClusterer(): any {\r\n return this._markerClusterer;\r\n }\r\n\r\n initMap(el: HTMLElement, mapOptions: any) {\r\n this._map = new google.maps.Map(el, mapOptions);\r\n }\r\n\r\n destroy() {\r\n this.removeCluster();\r\n this.removeMarkers();\r\n google.maps.event.clearInstanceListeners(this._map);\r\n }\r\n\r\n resize() {\r\n google.maps.event.trigger(this._map, 'resize');\r\n }\r\n\r\n setCenter(latLng: any) {\r\n if (this._map != null) {\r\n this._map.panTo(latLng);\r\n }\r\n }\r\n\r\n getCenter() {\r\n return this._map.getCenter();\r\n }\r\n\r\n setBounds(bounds: LatLngBounds) {\r\n this._map.fitBounds(bounds);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n if (this._map != null) {\r\n this._map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setZoomMore() {\r\n this.setZoom(this.getZoom() + 1);\r\n }\r\n\r\n setZoomLess() {\r\n this.setZoom(this.getZoom() - 1);\r\n }\r\n\r\n getZoom() {\r\n return this._map.getZoom();\r\n }\r\n\r\n /*\r\n init / redraw / remove cluster\r\n */\r\n initCluster(mcOptions) {\r\n this._markerClusterer = new MarkerClusterer(this._map, this._markers, mcOptions);\r\n }\r\n\r\n redrawCluster() {\r\n this._markerClusterer.redraw();\r\n }\r\n\r\n removeCluster() {\r\n if (this._markerClusterer !== null) {\r\n google.maps.event.clearInstanceListeners(this._markerClusterer);\r\n this._markerClusterer.clearMarkers();\r\n this._markerClusterer = null;\r\n }\r\n }\r\n\r\n /*\r\n marker\r\n */\r\n addMarker(lat: number, lng: number, image: any, title?: string): google.maps.Marker {\r\n\r\n const position = new google.maps.LatLng(lat, lng, false);\r\n const marker = new google.maps.Marker({\r\n map: this._map,\r\n position: position,\r\n visible: true,\r\n icon: image,\r\n title: title\r\n });\r\n\r\n this._markers.push(marker);\r\n if (this._markerClusterer !== null) {\r\n this._markerClusterer.addMarker(marker, true);\r\n }\r\n\r\n return marker;\r\n }\r\n\r\n getMarker(lat: number, lng: number): google.maps.Marker {\r\n\r\n for (const marker of this._markers) {\r\n if (marker !== null) {\r\n if (marker.getPosition().lat().toFixed(5) === lat.toFixed(5) && marker.getPosition().lng().toFixed(5) === lng.toFixed(5)) {\r\n return marker;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n removeMarkers(markersNew?: Array) {\r\n\r\n if (this._markers.length) {\r\n\r\n const arr = [];\r\n\r\n for (const marker of this._markers) {\r\n\r\n let idem = false;\r\n\r\n if (markersNew) {\r\n for (const m of markersNew) { // if marker exists, don't remove\r\n if (\r\n m.latitude.toFixed(5) === marker.getPosition().lat().toFixed(5) &&\r\n m.longitude.toFixed(5) === marker.getPosition().lng().toFixed(5)\r\n ) {\r\n idem = true;\r\n }\r\n }\r\n }\r\n\r\n if (!idem) {\r\n google.maps.event.clearInstanceListeners(marker);\r\n marker.setMap(null);\r\n if (this._markerClusterer !== null) {\r\n this._markerClusterer.removeMarker(marker);\r\n }\r\n } else {\r\n arr.push(marker);\r\n }\r\n }\r\n\r\n this._markers = arr;\r\n }\r\n\r\n }\r\n\r\n addMarkerMyPosition(lat: number, lng: number, image: any) {\r\n this._myLatitude = lat;\r\n this._myLongitude = lng;\r\n\r\n const position = new google.maps.LatLng(lat, lng, false);\r\n this._markerMyPosition = new google.maps.Marker({\r\n map: this._map,\r\n position: position,\r\n visible: true,\r\n icon: image,\r\n draggable: false\r\n });\r\n\r\n this._map.setCenter(position);\r\n\r\n return this._markerMyPosition;\r\n }\r\n\r\n updateMarkerMyPosition(lat: number, lng: number) {\r\n this._myLatitude = lat;\r\n this._myLongitude = lng;\r\n const position = new google.maps.LatLng(lat, lng, false);\r\n this._markerMyPosition.setPosition(position);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MatButtonModule, MatSelectModule } from '@angular/material';\r\n\r\n@NgModule({\r\n exports: [\r\n MatButtonModule,\r\n MatSelectModule,\r\n ]\r\n})\r\nexport class MaterialModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport { ModalContent } from '../modal-box/modal-content.model';\r\nimport { ModalInput } from '../modal-box/modal-input.model';\r\n\r\n@Injectable()\r\nexport class ModalService {\r\n /**\r\n * Observable for the maintenance status\r\n */\r\n public openModalObservable: BehaviorSubject;\r\n public toogleModalObservable: BehaviorSubject;\r\n public modalActionObservable: BehaviorSubject;\r\n public modalStatus = false;\r\n public modalCode = null;\r\n\r\n /**\r\n * Variables for modal box with input\r\n */\r\n public modalValue = [];\r\n public modalSteps = [];\r\n public modalNbSteps = 0;\r\n public currentModalStep = -1;\r\n\r\n private _modalContent = null;\r\n private _modalAction = null;\r\n\r\n constructor() {\r\n this.openModalObservable = new BehaviorSubject(this._modalContent);\r\n this.modalActionObservable = new BehaviorSubject(this._modalAction);\r\n }\r\n\r\n\r\n openModal(body: string,\r\n title: string = null,\r\n button1title: string = null,\r\n button2title: string = null,\r\n illustrationPath: string = null,\r\n input = null,\r\n displayNumber: Number = null) {\r\n this.openModalObservable.next(new ModalContent(body, title, button1title, button2title, illustrationPath, input, displayNumber));\r\n }\r\n\r\n public createMultiStepModal(steps: Array, nbSteps: number = steps.length) {\r\n if (steps.length > 0) {\r\n this.modalSteps = steps;\r\n this.modalNbSteps = nbSteps;\r\n this.goToStep(0);\r\n }\r\n }\r\n\r\n public goToStep(index) {\r\n this.currentModalStep = index;\r\n const {body, title = null, button1title = null, button2title = null, illustrationPath = null, input = null} = this.modalSteps[index];\r\n this.openModal(body, title, button1title, button2title, illustrationPath, input);\r\n }\r\n\r\n public hasStep() {\r\n return this.modalSteps.length > 0;\r\n }\r\n\r\n public goToNextStep() {\r\n // End of the road\r\n if (!this.hasStep() || this.currentModalStep >= this.modalSteps.length - 1) {\r\n this.modalActionObservable.next(true);\r\n return true;\r\n } else {\r\n this.goToStep(this.currentModalStep + 1);\r\n return false;\r\n }\r\n }\r\n\r\n public goToPreviousStep() {\r\n if (this.currentModalStep > 0) {\r\n this.goToStep(this.currentModalStep - 1);\r\n } else {\r\n // Already in first step\r\n }\r\n }\r\n\r\n reset() {\r\n this.openModalObservable.next(null);\r\n this.modalCode = null;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AldIconModule, AldMatButtonLoadingModule, AldCdnModule } from '@ald/ui';\r\n\r\n@NgModule({\r\n exports: [\r\n AldIconModule,\r\n AldMatButtonLoadingModule,\r\n AldCdnModule,\r\n ]\r\n})\r\nexport class MyAldUiModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\n\r\n@Injectable()\r\nexport class OnErrorService {\r\n /**\r\n * Observable for the maintenance status\r\n */\r\n public maintenanceStatusObservable: BehaviorSubject;\r\n private _maintenanceStatus = false;\r\n\r\n constructor() {\r\n this.maintenanceStatusObservable = new BehaviorSubject(this._maintenanceStatus);\r\n }\r\n\r\n updateMaintenanceStatus(status: boolean) {\r\n this._maintenanceStatus = status;\r\n this.maintenanceStatusObservable.next(this._maintenanceStatus);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class PopinService {\r\n\r\n public bSubject: BehaviorSubject;\r\n\r\n\r\n constructor() {\r\n this.bSubject = new BehaviorSubject(null);\r\n }\r\n\r\n public getOpened(): Observable {\r\n return this.bSubject.asObservable();\r\n }\r\n\r\n public opened(b: boolean) {\r\n this.bSubject.next(b);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\n\r\n@Injectable()\r\nexport class StickyHeaderFormService {\r\n\r\n public hasCanceled: BehaviorSubject;\r\n public hasSubmitted: BehaviorSubject;\r\n\r\n constructor() {\r\n this.hasCanceled = new BehaviorSubject(false);\r\n this.hasSubmitted = new BehaviorSubject(false);\r\n }\r\n\r\n\r\n cancelChanges() {\r\n this.hasCanceled.next(true);\r\n }\r\n\r\n saveChanges() {\r\n this.hasSubmitted.next(true);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport 'rxjs/add/operator/map';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class SvgSpriteService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public load(spriteUrl: string, name = 'svg-sprite') {\r\n\r\n // TODO cache sprite in sessionStorage\r\n return this.http.get(spriteUrl, { responseType: 'text' }).map((responseText) => {\r\n\r\n // Create shell div to inject SVG text into, and recover it as a a proper element.\r\n const shellDiv = document.createElement('div');\r\n shellDiv.innerHTML = responseText;\r\n const svgEl = shellDiv.firstElementChild;\r\n\r\n // inset element at the start of body (alway the start of body, otherwise iOS won't use it)\r\n document.body.insertBefore(svgEl, document.body.firstChild);\r\n // Return native SVG element\r\n return svgEl;\r\n\r\n }).subscribe();\r\n\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthStorageService } from '../storage/auth/auth-storage.service';\r\nimport { JwtHelper } from 'angular2-jwt';\r\nimport { UserManagementConst } from './userManagement.const';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { HttpService } from '../helper/http.service';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n public userId = null;\r\n public culture = null;\r\n public roles: string[] = [];\r\n private user: any;\r\n private keyPrefix = 'http://www.aldautomotive.fr/claims/';\r\n public isCheckingPasswordUsername: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n constructor(private storage: AuthStorageService,\r\n private httpClient: HttpService,\r\n private jwtHelper: JwtHelper) {\r\n }\r\n public validatePasswordAuthenticated(password: string): Observable {\r\n const url = UserManagementConst.api.endpoints.validatePasswordAuthenticated;\r\n return this.httpClient.post(url, `\"${password}\"`);\r\n }\r\n\r\n public validatePassword(resetPasswordToken: string, password: string): Observable {\r\n const body = { resetPasswordToken, password };\r\n return this.httpClient.post(UserManagementConst.api.endpoints.validatePassword, body, true);\r\n}\r\n\r\n public getActivedirectoryid() {\r\n return this.getValueByKey('userid');\r\n }\r\n\r\n public getCountry(): string {\r\n return this.getValueByKey('country');\r\n }\r\n\r\n public getClientId() {\r\n return this.getValueByKey('client');\r\n }\r\n\r\n public getRoles() {\r\n const roles = this.roles;\r\n return roles.map(role => role.toLowerCase());\r\n }\r\n\r\n public getTokenRole(): string {\r\n return this.getValueByKey('role', false);\r\n }\r\n\r\n private getValueByKey(key: string, prefix = true) {\r\n if (this.storage.auth) {\r\n this.user = this.getUserInfoFromJwt();\r\n }\r\n return this.user && this.user[(prefix ? this.keyPrefix : '') + key] ? this.user[(prefix ? this.keyPrefix : '') + key] : null;\r\n }\r\n\r\n private getUserInfoFromJwt(): any {\r\n return this.jwtHelper.decodeToken(this.storage.auth['access_token']);\r\n }\r\n\r\n public getExternalAppToken(carPlate: string): Observable {\r\n const url = `${UserManagementConst.api.endpoints.getExternalJwtToken}?carPlate=${carPlate}`;\r\n return this.httpClient.getString(url);\r\n }\r\n\r\n public isPasswordExpired(email: string): Observable {\r\n const url = new URL(UserManagementConst.api.endpoints.isPasswordExpired);\r\n url.searchParams.append('email', email);\r\n return this.httpClient.getString(url.href, true).pipe(\r\n map(status => status ? JSON.parse(status) : false),\r\n catchError(() => of(false)),\r\n );\r\n }\r\n}\r\n","\r\nimport { environment } from 'environments/environment';\r\n\r\nconst apiGatewayUrl = environment.apigatewayUrl + '/apigateway/';\r\n\r\nexport const UserManagementConst = {\r\n api: {\r\n endpoints: {\r\n forgotPassword: apiGatewayUrl + 'usermanagement/api/User/ForgotPassword',\r\n authenticatedForgotPassword: apiGatewayUrl + 'usermanagement/api/User/AuthenticatedForgotPassword',\r\n resetPassword: apiGatewayUrl + 'usermanagement/api/User/ResetPassword',\r\n changeCurrentUserPassword: apiGatewayUrl + 'usermanagement/api/User/ChangePassword',\r\n getDriverUserProfile: apiGatewayUrl + 'usermanagement/api/User',\r\n getNewDriverUserProfile: apiGatewayUrl + 'usermanagement/api/user/UserProfile',\r\n getPreferences: apiGatewayUrl + 'usermanagement/api/User/Preferences',\r\n updatePreferences: apiGatewayUrl + 'usermanagement/api/User/UpdatePreferences',\r\n updateLastLoginDate: apiGatewayUrl + 'usermanagement/api/User/LoginDate',\r\n getExternalJwtToken: apiGatewayUrl + 'usermanagement/api/User/ExternalAppJwt',\r\n isPasswordExpired: apiGatewayUrl + 'usermanagement/api/user/isPasswordExpired',\r\n validatePassword: apiGatewayUrl + 'usermanagement/api/User/ValidatePassword',\r\n validatePasswordAuthenticated: apiGatewayUrl + 'usermanagement/api/User/AuthenticatedValidatePassword',\r\n authenticateUserForSafari: apiGatewayUrl + 'usermanagement/api/User/Authenticate',\r\n }\r\n }\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpService } from '../helper/http.service';\r\nimport { Observable } from 'rxjs';\r\nimport { UserManagementConst } from './userManagement.const';\r\nimport { PreferencesModel } from '../app-menu/my-preferences/preferences.model';\r\n\r\n@Injectable()\r\nexport class UserManagementService {\r\n\r\n public loginEmail: string;\r\n\r\n constructor(private httpService: HttpService) {\r\n }\r\n\r\n public forgotPassword(email: string, recaptcha?: string): Observable {\r\n const body = { email, recaptcha }\r\n return this.httpService.post(UserManagementConst.api.endpoints.forgotPassword, body, true);\r\n }\r\n\r\n public authenticatedForgotPassword(email: string): Observable {\r\n const body = { email }\r\n return this.httpService.post(UserManagementConst.api.endpoints.authenticatedForgotPassword, body, false);\r\n }\r\n\r\n public resetPassword(token: string, password: string): Observable {\r\n const body = { token, password };\r\n return this.httpService.post(UserManagementConst.api.endpoints.resetPassword, body, true);\r\n }\r\n\r\n public changeCurrentUserPassword(currentPassword: string, newPassword: string) {\r\n const body = { currentPassword, newPassword };\r\n return this.httpService.post(UserManagementConst.api.endpoints.changeCurrentUserPassword, body, false);\r\n }\r\n\r\n public getNewUserProfile(): Observable {\r\n return this.httpService.get(UserManagementConst.api.endpoints.getNewDriverUserProfile, false, false);\r\n }\r\n\r\n public getUserProfile(): Observable {\r\n return this.httpService.get(UserManagementConst.api.endpoints.getDriverUserProfile, false, false);\r\n }\r\n\r\n public updateUserProfile(): Observable {\r\n return this.httpService.post(UserManagementConst.api.endpoints.getDriverUserProfile, false);\r\n }\r\n\r\n public getMyUserPreferences(): Observable {\r\n return this.httpService.get(UserManagementConst.api.endpoints.getPreferences, false, false);\r\n }\r\n\r\n public updateMyUserPreferences(preferences: PreferencesModel): Observable {\r\n return this.httpService.post(UserManagementConst.api.endpoints.updatePreferences, preferences, false);\r\n }\r\n\r\n public updateLastLoginDate(): Observable {\r\n return this.httpService.put(UserManagementConst.api.endpoints.updateLastLoginDate, null);\r\n }\r\n\r\n public loginFromUserService(email: string, password: string): Observable {\r\n const request = { email, password };\r\n return this.httpService.post(UserManagementConst.api.endpoints.authenticateUserForSafari, request, true);\r\n }\r\n}\r\n","export const UserRoles = {\r\n Driver: 'driver',\r\n FleetManager: 'fleetmanager',\r\n Prospect: 'prospect',\r\n Administrator: 'administrator',\r\n};\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.vertical-carousel {\\n position: relative;\\n height: 100%;\\n overflow: hidden; }\\n.vertical-carousel.current-item-1 .chips-list-wrap .chips-list .chip:nth-child(1) {\\n margin: 20px 0;\\n height: 50px;\\n width: 50px;\\n border-radius: 50%;\\n transition: 0.3s ease;\\n color: #FFFFFF; }\\n.vertical-carousel.current-item-1 .items-container {\\n transform: translateY(0%); }\\n.vertical-carousel.current-item-1 .items-container /deep/ .item:nth-child(1) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.vertical-carousel.current-item-2 .chips-list-wrap .chips-list .chip:nth-child(2) {\\n margin: 20px 0;\\n height: 50px;\\n width: 50px;\\n border-radius: 50%;\\n transition: 0.3s ease;\\n color: #FFFFFF; }\\n.vertical-carousel.current-item-2 .items-container {\\n transform: translateY(-100%); }\\n.vertical-carousel.current-item-2 .items-container /deep/ .item:nth-child(2) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.vertical-carousel.current-item-3 .chips-list-wrap .chips-list .chip:nth-child(3) {\\n margin: 20px 0;\\n height: 50px;\\n width: 50px;\\n border-radius: 50%;\\n transition: 0.3s ease;\\n color: #FFFFFF; }\\n.vertical-carousel.current-item-3 .items-container {\\n transform: translateY(-200%); }\\n.vertical-carousel.current-item-3 .items-container /deep/ .item:nth-child(3) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.vertical-carousel.current-item-4 .chips-list-wrap .chips-list .chip:nth-child(4) {\\n margin: 20px 0;\\n height: 50px;\\n width: 50px;\\n border-radius: 50%;\\n transition: 0.3s ease;\\n color: #FFFFFF; }\\n.vertical-carousel.current-item-4 .items-container {\\n transform: translateY(-300%); }\\n.vertical-carousel.current-item-4 .items-container /deep/ .item:nth-child(4) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.vertical-carousel.current-item-5 .chips-list-wrap .chips-list .chip:nth-child(5) {\\n margin: 20px 0;\\n height: 50px;\\n width: 50px;\\n border-radius: 50%;\\n transition: 0.3s ease;\\n color: #FFFFFF; }\\n.vertical-carousel.current-item-5 .items-container {\\n transform: translateY(-400%); }\\n.vertical-carousel.current-item-5 .items-container /deep/ .item:nth-child(5) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.vertical-carousel.current-item-6 .chips-list-wrap .chips-list .chip:nth-child(6) {\\n margin: 20px 0;\\n height: 50px;\\n width: 50px;\\n border-radius: 50%;\\n transition: 0.3s ease;\\n color: #FFFFFF; }\\n.vertical-carousel.current-item-6 .items-container {\\n transform: translateY(-500%); }\\n.vertical-carousel.current-item-6 .items-container /deep/ .item:nth-child(6) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.vertical-carousel.current-item-7 .chips-list-wrap .chips-list .chip:nth-child(7) {\\n margin: 20px 0;\\n height: 50px;\\n width: 50px;\\n border-radius: 50%;\\n transition: 0.3s ease;\\n color: #FFFFFF; }\\n.vertical-carousel.current-item-7 .items-container {\\n transform: translateY(-600%); }\\n.vertical-carousel.current-item-7 .items-container /deep/ .item:nth-child(7) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.vertical-carousel.current-item-8 .chips-list-wrap .chips-list .chip:nth-child(8) {\\n margin: 20px 0;\\n height: 50px;\\n width: 50px;\\n border-radius: 50%;\\n transition: 0.3s ease;\\n color: #FFFFFF; }\\n.vertical-carousel.current-item-8 .items-container {\\n transform: translateY(-700%); }\\n.vertical-carousel.current-item-8 .items-container /deep/ .item:nth-child(8) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.vertical-carousel.current-item-9 .chips-list-wrap .chips-list .chip:nth-child(9) {\\n margin: 20px 0;\\n height: 50px;\\n width: 50px;\\n border-radius: 50%;\\n transition: 0.3s ease;\\n color: #FFFFFF; }\\n.vertical-carousel.current-item-9 .items-container {\\n transform: translateY(-800%); }\\n.vertical-carousel.current-item-9 .items-container /deep/ .item:nth-child(9) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.vertical-carousel.current-item-10 .chips-list-wrap .chips-list .chip:nth-child(10) {\\n margin: 20px 0;\\n height: 50px;\\n width: 50px;\\n border-radius: 50%;\\n transition: 0.3s ease;\\n color: #FFFFFF; }\\n.vertical-carousel.current-item-10 .items-container {\\n transform: translateY(-900%); }\\n.vertical-carousel.current-item-10 .items-container /deep/ .item:nth-child(10) {\\n opacity: 1;\\n transition: 0.5s ease; }\\n.vertical-carousel .chips-list-wrap {\\n position: absolute;\\n top: 0;\\n right: 3.125em;\\n bottom: 0;\\n height: 100%;\\n display: flex; }\\n.vertical-carousel .chips-list-wrap .chips-list {\\n margin: auto;\\n text-align: center; }\\n.vertical-carousel .chips-list-wrap .chips-list .chip {\\n display: block;\\n margin: 40px 20px;\\n padding: 0;\\n line-height: 50px;\\n height: 10px;\\n width: 10px;\\n border-radius: 50%;\\n background-color: #00cfff;\\n transition: 0.3s ease;\\n color: transparent;\\n /*\\r\\n &::before {\\r\\n content: '';\\r\\n display: block;\\r\\n width: 7px;\\r\\n height: 7px;\\r\\n border-radius: 50%;\\r\\n background-color: map-get($ald-colors, 'primary-light');\\r\\n\\r\\n transition: 0.2s ease;\\r\\n }*/ }\\n.vertical-carousel .items-container {\\n height: 100%;\\n transition: transform 0.3s ease; }\\n.vertical-carousel .items-container /deep/ .item {\\n white-space: normal;\\n display: flex;\\n height: 100%;\\n text-align: center;\\n background-color: #d7d7d7;\\n transition: 0.3s ease; }\\n.vertical-carousel .items-container /deep/ .item .content {\\n margin: auto;\\n text-align: center; }\\n.vertical-carousel .items-container /deep/ .item .content .illustration {\\n width: 20em;\\n margin: auto; }\\n.vertical-carousel .items-container /deep/ .item .content .title {\\n color: #00cfff;\\n font-size: 2.8125em;\\n line-height: 1.11111111em;\\n font-weight: 500;\\n margin: 0 auto;\\n margin-top: 1.02222222em;\\n width: 75%;\\n max-width: 30em; }\\n.vertical-carousel .items-container /deep/ .item .content .description {\\n color: #525252;\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n margin: 0 auto;\\n margin-top: 1.83333333em;\\n width: 75%;\\n max-width: 30em; }\\n.vertical-carousel .items-container /deep/ .item.welcome {\\n background-color: #FFFFFF; }\\n.vertical-carousel .items-container /deep/ .item.welcome h1 {\\n color: #00cfff;\\n font-weight: 700;\\n font-size: 3.4375em;\\n line-height: 1.18181818em;\\n text-align: center;\\n margin: 0 auto;\\n width: 75%;\\n max-width: 30em; }\\n.vertical-carousel .items-container /deep/ .item.welcome h1 .emphasis {\\n color: #525252; }\\n.vertical-carousel .items-container /deep/ .item.welcome .get-started-container {\\n margin-top: 1.8125em;\\n text-align: center; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3ZlcnRpY2FsLWNhcm91c2VsL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC92ZXJ0aWNhbC1jYXJvdXNlbC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3ZlcnRpY2FsLWNhcm91c2VsL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC92ZXJ0aWNhbC1jYXJvdXNlbC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC92ZXJ0aWNhbC1jYXJvdXNlbC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvdmVydGljYWwtY2Fyb3VzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvdmVydGljYWwtY2Fyb3VzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXHNoYXJlZFxcdmVydGljYWwtY2Fyb3VzZWxcXHZlcnRpY2FsLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvdmVydGljYWwtY2Fyb3VzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvdmVydGljYWwtY2Fyb3VzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvdmVydGljYWwtY2Fyb3VzZWwvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2ZvbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0l2QztFQUNJLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osaUJBQWdCLEVBeUpuQjtBQTVKRDtJQVl3QixlQUFjO0lBQ2QsYUFBWTtJQUNaLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsc0JBQXFCO0lBQ3JCLGVDUlIsRURTSztBQWxCckI7SUEwQmdCLDBCQUFpQyxFQU1wQztBQWhDYjtN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O1VGWmQsMEJFWWM7VUZYZCxpQkdqRk87VUhrRlAsZUFBYztVQUNkLHlCRVNjO1VGUGQsV0o1R0Q7VUk2R0MsZ0JKNUdLLEVJNkdSO0FBakhqQjtVQW9Ib0IsZUNqR0Q7VURrR0MsbUJFQ2M7VUZBZCwwQkVBYztVRkNkLGVBQWM7VUFDZCx5QkVGYztVRklkLFdKdkhEO1VJd0hDLGdCSnZISyxFSXdIUjtBQTVIakI7UUFnSWdCLDBCQ3ZIQSxFRCtJSDtBQXhKYjtVQW1Jb0IsZUNsSUk7VURvSUosaUJHekdPO1VIMEdQLG9CRWhCYztVRmlCZCwwQkVqQmM7VUZrQmQsbUJBQWtCO1VBQ2xCLGVBQWM7VUFFZCxXSnhJRDtVSXlJQyxnQkp4SUssRUk2SVI7QUFqSmpCO1lBK0l3QixlQzVITCxFRDZIRTtBQWhKckI7VUFvSm9CLHFCRTlCYztVRitCZCxtQkFBa0IsRUFDckIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvdmVydGljYWwtY2Fyb3VzZWwvdmVydGljYWwtY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy90aGVtZS1pbXBvcnRzXCI7XHJcblxyXG4kY2hpcHMtbGlzdC13aWR0aDogZW0oNTBweCk7XHJcblxyXG4udmVydGljYWwtY2Fyb3VzZWwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcclxuXHJcbiAgICAgICAgJi5jdXJyZW50LWl0ZW0tI3skaX0ge1xyXG4gICAgICAgICAgICAuY2hpcHMtbGlzdC13cmFwIHtcclxuICAgICAgICAgICAgICAgIC5jaGlwcy1saXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAuY2hpcDpudGgtY2hpbGQoICN7JGl9ICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBGb2N1cyBvbiBjdXJyZW50IGNoaXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaXRlbXMtY29udGFpbmVyIHtcclxuXHJcbiAgICAgICAgICAgICAgICAkb2Zmc2V0OiAoJGkgLSAxKSAqIC0xMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgjeyRvZmZzZXR9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAvZGVlcC8gLml0ZW06bnRoLWNoaWxkKCAjeyRpfSApIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmNoaXBzLWxpc3Qtd3JhcCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogZW0oNTBweCk7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICAuY2hpcHMtbGlzdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgLmNoaXAge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAvL3ZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDQwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAncHJpbWFyeS1saWdodCcpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2U7XHJcbiAgICAgICAgICAgICAgICB9Ki9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXRlbXMtY29udGFpbmVyIHtcclxuICAgICAgICAvL3doaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgLy9tYXgtd2lkdGg6IDMyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvL21hcmdpbjogYXV0bztcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG5cclxuICAgICAgICAvZGVlcC8gLml0ZW0ge1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IGVtKDExMHB4KTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTMwMCcpO1xyXG5cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlO1xyXG5cclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgIC5pbGx1c3RyYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBlbSgzMjBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSg0NXB4KTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oNTBweCwgNDVweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogZW0oNDZweCwgNDVweCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkY29udGVudC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRtYXgtY29udGVudC13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS05MDAnKTsgLy9UT0RPIHVwZGF0ZSB3aXRoIHJlYWwgY29sb3JzXHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBlbSgxOHB4KTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogZW0oMjVweCwgMThweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogZW0oMzNweCwgMThweCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkY29udGVudC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRtYXgtY29udGVudC13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi53ZWxjb21lIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG5cclxuICAgICAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oNTVweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDY1cHgsIDU1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRjb250ZW50LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAuZW1waGFzaXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktOTAwJyk7IC8vVE9ETyA6IHRyb3V2ZXIgbGEgYm9ubmUgdmFyaWFibGUgZGUgY291bGV1clxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuZ2V0LXN0YXJ0ZWQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBlbSgyOXB4KTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIiwiQGltcG9ydCAndmFycyc7XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJHBhdGgsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICBzcmMgOiB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICB9XHJcblxyXG59XHJcblxyXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XHJcbiAgJHJlbVNpemU6ICRzaXplIC8gMTZweDtcclxuICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA4MDA7XHJcbiJdfQ== */\"","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-vertical-carousel',\r\n templateUrl: './vertical-carousel.component.html',\r\n styleUrls: ['./vertical-carousel.component.scss']\r\n})\r\nexport class VerticalCarouselComponent implements OnInit, AfterViewInit {\r\n\r\n public currentIndex = 0;\r\n public arrayItems = [];\r\n private numItems = 0;\r\n private itemsContainer: any;\r\n private loop: any;\r\n private loopInterval = 3000;\r\n\r\n constructor(private element: ElementRef,\r\n private cdr: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.numItems = this.element.nativeElement.querySelectorAll('.item').length;\r\n this.arrayItems = this.element.nativeElement.querySelectorAll('.item');\r\n this.itemsContainer = this.element.nativeElement.querySelectorAll('.items-container');\r\n\r\n this.cdr.detectChanges();\r\n this.runLoop();\r\n }\r\n\r\n public runLoop() {\r\n this.loop = window.setInterval(() => {\r\n this.currentIndex = this.currentIndex + 1;\r\n\r\n if (this.currentIndex >= this.numItems) {\r\n this.currentIndex = 0;\r\n }\r\n }, this.loopInterval);\r\n }\r\n\r\n public resetLoop() {\r\n window.clearInterval(this.loop);\r\n this.runLoop();\r\n }\r\n\r\n public nextItem() {\r\n this.resetLoop();\r\n this.currentIndex = (this.currentIndex < this.numItems - 1) ? this.currentIndex : 0;\r\n }\r\n\r\n public prevItem() {\r\n this.resetLoop();\r\n this.currentIndex = (this.currentIndex > 0) ? this.currentIndex - 1 : this.numItems - 1;\r\n }\r\n\r\n public clickChip(index) {\r\n this.resetLoop();\r\n this.currentIndex = index;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { VerticalCarouselComponent } from './vertical-carousel.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n VerticalCarouselComponent\r\n ],\r\n exports: [\r\n VerticalCarouselComponent\r\n ]\r\n})\r\nexport class VerticalCarouselModule {\r\n}\r\n","module.exports = \"\\r\\n

\\r\\n {{ 'start-disabled_account_page-account_disabled_title' | translate }}\\r\\n

\\r\\n

\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.section-title {\\n margin-top: 2.375em; }\\n.contact-item {\\n margin: 1em auto; }\\n.contact-item .button {\\n margin: 0.9em auto; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvYWNjb3VudC1kaXNhYmxlZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zdGFydC9hY2NvdW50LWRpc2FibGVkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zdGFydC9hY2NvdW50LWRpc2FibGVkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2FjY291bnQtZGlzYWJsZWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zdGFydC9hY2NvdW50LWRpc2FibGVkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2FjY291bnQtZGlzYWJsZWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9hY2NvdW50LWRpc2FibGVkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzdGFydFxcYWNjb3VudC1kaXNhYmxlZFxcYWNjb3VudC1kaXNhYmxlZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksb0JBQW1CLEVBQ3RCO0FBRUQ7RUFDSSxpQkFBZ0IsRUFNbkI7QUFQRDtJQUlRLG1CQUFrQixFQUNyQiIsImZpbGUiOiJzcmMvYXBwL3N0YXJ0L2FjY291bnQtZGlzYWJsZWQvYWNjb3VudC1kaXNhYmxlZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL3RoZW1lLWltcG9ydHNcIjtcclxuXHJcbi5zZWN0aW9uLXRpdGxlIHtcclxuICAgIG1hcmdpbi10b3A6IDIuMzc1ZW07XHJcbn1cclxuXHJcbi5jb250YWN0LWl0ZW0ge1xyXG4gICAgbWFyZ2luOiAxZW0gYXV0bztcclxuXHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW46IDAuOWVtIGF1dG87XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== */\"","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\n\r\n@Component({\r\n selector: 'app-account-disabled',\r\n templateUrl: './account-disabled.component.html',\r\n styleUrls: ['./account-disabled.component.scss']\r\n})\r\nexport class AccountDisabledComponent {\r\n\r\n constructor(public router: Router,\r\n public navigationDirection: NavigationDirectionService) {\r\n }\r\n\r\n public callAssistance() {\r\n\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n {{'start-allow_notif_popin-title'| translate}}\\r\\n

\\r\\n\\r\\n

{{'start-allow_notif_popin-message'| translate}}

\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n overflow-y: auto;\\n /*display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: center;*/ }\\n.wrap {\\n min-height: 100vh;\\n display: flex;\\n flex-direction: column;\\n justify-content: center; }\\n.illustration {\\n display: block; }\\n.illustration img {\\n display: block;\\n margin: auto; }\\n.content {\\n display: block;\\n width: 75%;\\n max-width: 30em;\\n margin: 0 auto;\\n padding-bottom: 50px;\\n text-align: center; }\\n.content .section-title {\\n text-align: center;\\n line-height: 1.2em;\\n margin-bottom: 0.75em; }\\n.content .text {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n margin-bottom: 2.1875em; }\\n/*Screen Size : xxs\\r\\nimportant: max-width MQ*/\\n@media screen and (max-width: 375px) {\\n .content {\\n width: 84%; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvYWxsb3ctbm90aWZpY2F0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2FsbG93LW5vdGlmaWNhdGlvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc3RhcnQvYWxsb3ctbm90aWZpY2F0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2FsbG93LW5vdGlmaWNhdGlvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2FsbG93LW5vdGlmaWNhdGlvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zdGFydC9hbGxvdy1ub3RpZmljYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9hbGxvdy1ub3RpZmljYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXHN0YXJ0XFxhbGxvdy1ub3RpZmljYXRpb25cXGFsbG93LW5vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc3RhcnQvYWxsb3ctbm90aWZpY2F0aW9uL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGFBQVk7RUFDWixpQkFBZ0I7RUFFaEI7OzhCQUUwQixFQUU3QjtBQUVEO0VBQ0ksa0JBQWlCO0VBQ2pCLGNBQWE7RUFDYix1QkFBc0I7RUFDdEIsd0JBQXVCLEVBQzFCO0FBRUQ7RUFDSSxlQUFjLEVBT2pCO0FBUkQ7SUFLUSxlQUFjO0lBQ2QsYUFBWSxFQUNmO0FBR0w7RUFDSSxlQUFjO0VBQ2QsV0FBVTtFQUNWLGdCQUFlO0VBQ2YsZUFBYztFQUNkLHFCQUFvQjtFQUNwQixtQkFBa0IsRUFjckI7QUFwQkQ7SUFTUSxtQkFBa0I7SUFDbEIsbUJDK0UwQjtJRDlFMUIsc0JDOEUwQixFRDdFN0I7QUFaTDtJQWVRLG1CQzBFMEI7SUR6RTFCLDBCQ3lFMEI7SUR4RTFCLHdCQ3dFMEIsRUR2RTdCO0FBSUw7eUJBQ3lCO0FGb0NiO0VFakNSO0lBQ0ksV0FBVSxFQUNiLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zdGFydC9hbGxvdy1ub3RpZmljYXRpb24vYWxsb3ctbm90aWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuOmhvc3Qge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuXHJcbiAgICAvKmRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Ki9cclxuXHJcbn1cclxuXHJcbi53cmFwIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmlsbHVzdHJhdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC8vcGFkZGluZy10b3A6IDUwcHg7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICAgIG1heC13aWR0aDogMzBlbTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBsaW5lLWhlaWdodDogZW0oMzBweCwgMjVweCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZW0oMTJweCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDI1cHgsIDE4cHgpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGVtKDM1cHgpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLypTY3JlZW4gU2l6ZSA6IHh4c1xyXG5pbXBvcnRhbnQ6IG1heC13aWR0aCBNUSovXHJcbkBpbmNsdWRlIG1heC13aWR0aCh4eHMpIHtcclxuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IDg0JTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIl19 */\"","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\n\r\n@Component({\r\n selector: 'app-allow-notification',\r\n templateUrl: './allow-notification.component.html',\r\n styleUrls: ['./allow-notification.component.scss']\r\n})\r\nexport class AllowNotificationComponent {\r\n\r\n constructor(private router: Router,\r\n private navigationDirection: NavigationDirectionService) {\r\n }\r\n\r\n allowNotification() {\r\n this.navigationDirection.direction = 'forward';\r\n this.router.navigate(['/feed']);\r\n }\r\n\r\n denyNotification() {\r\n this.navigationDirection.direction = 'forward';\r\n this.router.navigate(['/feed']);\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n

\\r\\n {{'start-login_assistance_panel-assistance_title'| translate}}\\r\\n

\\r\\n\\r\\n

\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n {{'start-login_assistance_panel-local-number_title'| translate}} \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{startAssistanceNumberLocal}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{'start-login_assistance_panel-international-number_title'| translate}} \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{startAssistanceNumberInternational}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\napp-sticky-header-pane /deep/ .inner-content {\\n height: 100%; }\\n.content {\\n position: relative;\\n z-index: 2;\\n height: 100%;\\n padding-top: 31px;\\n min-height: 590px; }\\n.content ald-icon {\\n margin-left: 10px; }\\n.content .section-title {\\n margin: 1em auto 1em auto; }\\n.content .text {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n margin-bottom: 2.1875em; }\\n.content .cta-container {\\n text-align: left; }\\n.content .cta-container-title {\\n display: block;\\n width: 100%;\\n margin: 20px 0 10px 0; }\\n.content .cta-container-link {\\n display: block;\\n width: 100%;\\n text-align: left; }\\n.content .cta-container-link-icon {\\n position: absolute;\\n right: 30px;\\n font-size: 15px; }\\n@media (max-height: 590px) {\\n .content {\\n height: auto;\\n padding-bottom: 258px; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvYXNzaXN0YW5jZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zdGFydC9hc3Npc3RhbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zdGFydC9hc3Npc3RhbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2Fzc2lzdGFuY2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zdGFydC9hc3Npc3RhbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2Fzc2lzdGFuY2UvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9hc3Npc3RhbmNlL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzdGFydFxcYXNzaXN0YW5jZVxcYXNzaXN0YW5jZS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc3RhcnQvYXNzaXN0YW5jZS9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0l2QztFQUVRLGFBQVksRUFDZjtBQUdMO0VBQ0ksbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixhQUFZO0VBQ1osa0JBQWlCO0VBQ2pCLGtCQUFpQixFQW9DcEI7QUF6Q0Q7SUFTUSxrQkFBaUIsRUFDcEI7QUFWTDtJQWFRLDBCQUF5QixFQUM1QjtBQWRMO0lBaUJRLG1CQytGMEI7SUQ5RjFCLDBCQzhGMEI7SUQ3RjFCLHdCQzZGMEIsRUQ1RjdCO0FBcEJMO0lBdUJRLGlCQUFnQixFQWlCbkI7QUF4Q0w7TUF5QlksZUFBYztNQUNkLFlBQVc7TUFDWCxzQkFBcUIsRUFDeEI7QUE1QlQ7TUE4QlksZUFBYztNQUNkLFlBQVc7TUFDWCxpQkFBZ0IsRUFPbkI7QUF2Q1Q7UUFtQ2dCLG1CQUFrQjtRQUNsQixZQUFXO1FBQ1gsZ0JBQWUsRUFDbEI7QUFLYjtFQUNJO0lBQ0ksYUFBWTtJQUNaLHNCQUFzRCxFQUN6RCxFQUFBIiwiZmlsZSI6InNyYy9hcHAvc3RhcnQvYXNzaXN0YW5jZS9hc3Npc3RhbmNlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvdGhlbWUtaW1wb3J0c1wiO1xyXG5cclxuJGFzc2lzdGFuY2UtaWxsdXN0cmF0aW9uLWhlaWdodDogMjI4cHg7XHJcblxyXG5hcHAtc3RpY2t5LWhlYWRlci1wYW5lIHtcclxuICAgIC9kZWVwLyAuaW5uZXItY29udGVudCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZy10b3A6IDMxcHg7XHJcbiAgICBtaW4taGVpZ2h0OiA1OTBweDtcclxuXHJcblxyXG4gICAgYWxkLWljb24ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgICAgICBtYXJnaW46IDFlbSBhdXRvIDFlbSBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IGVtKDE4cHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBlbSgyNXB4LCAxOHB4KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBlbSgzNXB4KTtcclxuICAgIH1cclxuXHJcbiAgICAuY3RhLWNvbnRhaW5lciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbGluayB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtaGVpZ2h0OiA1OTBweCkge1xyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGFzc2lzdGFuY2UtaWxsdXN0cmF0aW9uLWhlaWdodCArIDMwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIl19 */\"","import { ApplicationRef, Component, HostBinding, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\nimport { generateTransitions } from '../../shared/router-transitions/router-transitions.animations';\r\nimport { ConfigurationService } from '../../shared/config/configuration.service';\r\nimport { ConfigurationModel } from '../../shared/config/configuration.model';\r\nimport { AppStorageService } from '../../shared/storage/common/app-storage.service';\r\nimport { Subscription, combineLatest } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-assistance',\r\n templateUrl: './assistance.component.html',\r\n styleUrls: ['./assistance.component.scss'],\r\n animations: [\r\n generateTransitions()\r\n ]\r\n})\r\nexport class AssistanceComponent implements OnDestroy {\r\n\r\n @HostBinding('@routeAnim')\r\n public routeAnimState: string;\r\n public startAssistanceNumberLocal: string;\r\n public startAssistanceNumberInternational: string;\r\n private navDirectionChangeSubscription: Subscription;\r\n\r\n constructor(private router: Router,\r\n private navigationDirection: NavigationDirectionService,\r\n private appRef: ApplicationRef,\r\n private configurationService: ConfigurationService,\r\n private appStorageService: AppStorageService) {\r\n\r\n combineLatest(\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'StartAssistanceNumberLocal']),\r\n this.configurationService.getConfItems([this.appStorageService.countrySelected, 'StartAssistanceNumberInternational'])\r\n ).subscribe((feedback: ConfigurationModel[]) => {\r\n if (feedback[0]) {\r\n this.startAssistanceNumberLocal = feedback[0].value;\r\n }\r\n if (feedback[1]) {\r\n this.startAssistanceNumberInternational = feedback[1].value;\r\n }\r\n }, e => {\r\n this.startAssistanceNumberLocal = 'error occured';\r\n this.startAssistanceNumberInternational = 'error occured';\r\n });\r\n\r\n // set up observer for navigation\r\n this.routeAnimState = this.navigationDirection.direction;\r\n this.navDirectionChangeSubscription = navigationDirection.changeObservable.subscribe(direction => {\r\n this.routeAnimState = direction;\r\n this.appRef.tick();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.navDirectionChangeSubscription.unsubscribe();\r\n }\r\n\r\n onBack() {\r\n this.navigationDirection.direction = 'backward';\r\n this.router.navigate(['/start/login']);\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n

\\r\\n {{'start-create_password_page-title'| translate}}\\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
{{ errorMessage | translate }}
\\r\\n\\r\\n

{{'start-create_password_page-create_password'| translate}}

\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{ 'global-generic_terms-error_password_mismatch' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

\\r\\n {{'start-token_expired_panel-form_title'| translate}}\\r\\n

\\r\\n
\\r\\n {{ 'start-token_expired_panel-token_expired' | translate }}\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\ninput::-ms-clear,\\ninput::-ms-reveal {\\n display: none; }\\n:host {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background-color: #FFFFFF;\\n text-align: center; }\\n.container {\\n position: absolute;\\n top: 50%;\\n left: 0;\\n right: 0;\\n transform: translateY(-50%);\\n width: 75%;\\n margin: auto;\\n max-width: 450px; }\\n.container .password-hints {\\n font-size: 12px; }\\nh1 {\\n margin-bottom: 20px;\\n font-size: 2.1875em;\\n line-height: 1.22857143em;\\n font-weight: 700; }\\n.async-errors {\\n color: #f22f3b;\\n font-size: 12px; }\\np {\\n font-weight: 400;\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n color: #525252; }\\n.form {\\n text-align: left; }\\n.form .form-title {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n font-weight: 700; }\\n.form .form-input {\\n margin: 1em 0; }\\n.form .submit-container {\\n text-align: center;\\n margin-top: 2.5em; }\\n.expired-token {\\n position: relative;\\n z-index: 2;\\n height: 100%;\\n min-height: 480px; }\\n.expired-token-title {\\n font-size: 1.5625em;\\n font-weight: 600;\\n line-height: 1.5;\\n margin: 1em auto; }\\n.expired-token-message {\\n float: left;\\n margin: 1.6em auto;\\n font-size: 1.125em;\\n line-height: 1.4; }\\n@media screen and (min-width: 980px) {\\n .form .form-title {\\n font-size: 1.375em;\\n line-height: 1.36363636em; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvZW5kLWZvcmdvdC1wYXNzd29yZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zdGFydC9lbmQtZm9yZ290LXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zdGFydC9lbmQtZm9yZ290LXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2VuZC1mb3Jnb3QtcGFzc3dvcmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zdGFydC9lbmQtZm9yZ290LXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2VuZC1mb3Jnb3QtcGFzc3dvcmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9lbmQtZm9yZ290LXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzdGFydFxcZW5kLWZvcmdvdC1wYXNzd29yZFxcZW5kLWZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc3RhcnQvZW5kLWZvcmdvdC1wYXNzd29yZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2VuZC1mb3Jnb3QtcGFzc3dvcmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zdGFydC9lbmQtZm9yZ290LXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7O0VBRUUsY0FBYSxFQUNkO0FBRUQ7RUFDRSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWTtFQUNaLDBCQ0FjO0VEQ2QsbUJBQWtCLEVBQ25CO0FBRUQ7RUFDRSxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFFBQU87RUFDUCxTQUFRO0VBQ1IsNEJBQTJCO0VBQzNCLFdBQVU7RUFDVixhQUFZO0VBQ1osaUJBQWdCLEVBS2pCO0FBYkQ7SUFXSSxnQkFBZSxFQUNoQjtBQUdIO0VBQ0Usb0JBQW1CO0VBQ25CLG9CRXdGZ0M7RUZ2RmhDLDBCRXVGZ0M7RUZ0RmhDLGlCR0p5QixFSEsxQjtBQUVEO0VBQ0UsZUNkZTtFRGVmLGdCQUFlLEVBQ2hCO0FBRUQ7RUFDRSxpQkdoQnlCO0VIaUJ6QixtQkU0RWdDO0VGM0VoQywwQkUyRWdDO0VGMUVoQyxlQ3pCaUIsRUQwQmxCO0FBRUQ7RUFDRSxpQkFBZ0IsRUFnQmpCO0FBakJEO0lBSUksbUJFbUU4QjtJRmxFOUIsMEJFa0U4QjtJRmpFOUIsaUJHekJ1QixFSDBCeEI7QUFQSDtJQVVJLGNBQWEsRUFDZDtBQVhIO0lBY0ksbUJBQWtCO0lBQ2xCLGtCQUFpQixFQUNsQjtBQUdIO0VBQ0UsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixhQUFZO0VBQ1osa0JBQWlCLEVBZWxCO0FBYkM7SUFDRSxvQkFBbUI7SUFDbkIsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixpQkFBZ0IsRUFDakI7QUFFRDtJQUNFLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsbUJFb0M4QjtJRm5DOUIsaUJBQWdCLEVBQ2pCO0FGZlM7RUVtQlY7SUFFSSxtQkU0QjRCO0lGM0I1QiwwQkUyQjRCLEVGMUI3QixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc3RhcnQvZW5kLWZvcmdvdC1wYXNzd29yZC9lbmQtZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuaW5wdXQ6Oi1tcy1jbGVhcixcclxuaW5wdXQ6Oi1tcy1yZXZlYWwge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbjpob3N0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdsaWdodCcpO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIHdpZHRoOiA3NSU7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIG1heC13aWR0aDogNDUwcHg7XHJcblxyXG4gIC5wYXNzd29yZC1oaW50cyB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgfVxyXG59XHJcblxyXG5oMSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBmb250LXNpemU6IGVtKDM1cHgpO1xyXG4gIGxpbmUtaGVpZ2h0OiBlbSg0M3B4LCAzNXB4KTtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbn1cclxuXHJcbi5hc3luYy1lcnJvcnMge1xyXG4gIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZGFuZ2VyJyk7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG5wIHtcclxuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgZm9udC1zaXplOiBlbSgxOHB4KTtcclxuICBsaW5lLWhlaWdodDogZW0oMjVweCwgMThweCk7XHJcbiAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTkwMCcpO1xyXG59XHJcblxyXG4uZm9ybSB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgLmZvcm0tdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiBlbSgxOHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgyNXB4LCAxOHB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICB9XHJcblxyXG4gIC5mb3JtLWlucHV0IHtcclxuICAgIG1hcmdpbjogMWVtIDA7XHJcbiAgfVxyXG5cclxuICAuc3VibWl0LWNvbnRhaW5lciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAyLjVlbTtcclxuICB9XHJcbn1cclxuXHJcbi5leHBpcmVkLXRva2VuIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMjtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWluLWhlaWdodDogNDgwcHg7XHJcblxyXG4gICYtdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxLjU2MjVlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgbWFyZ2luOiAxZW0gYXV0bztcclxuICB9XHJcblxyXG4gICYtbWVzc2FnZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMS42ZW0gYXV0bztcclxuICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWluLXdpZHRoKG0pIHtcclxuICAuZm9ybSB7XHJcbiAgICAuZm9ybS10aXRsZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogZW0oMjJweCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBlbSgzMHB4LCAyMnB4KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gIyMgR2VuZXJhbCBUaGVtZSBDb2xvcnNcclxuXHJcbiRhbGQtY29sb3JzOiAoXHJcbiAgLy8gTWFpbiBDb2xvcnNcclxuICBwcmltYXJ5OiAjMDUwYjdmLFxyXG4gIHByaW1hcnktbGlnaHQ6ICMwMGNmZmYsXHJcbiAgc2Vjb25kYXJ5OiAjNWU0ZmVhLFxyXG5cclxuICBhbHRlcm5hdGUxIDogIzQxYjdmZixcclxuICBhbHRlcm5hdGUyOiAjMDA5M2ZmLFxyXG4gIGNvbXBsZW1lbnRhcnkxOiAjMDBlNmMyLFxyXG4gIGNvbXBsZW1lbnRhcnkyOiAjZGMwMGZmLFxyXG5cclxuICBsaWdodDogI0ZGRkZGRixcclxuICAvLyBHcmF5IFNoYWRlc1xyXG4gIGdyYXktMTAwOiAjZmFmYWZhLFxyXG4gIGdyYXktMjAwOiAjZWZlZmVmLFxyXG4gIGdyYXktMzAwOiAjZDdkN2Q3LFxyXG4gIGdyYXktNDAwOiAjY2VjZWNlLFxyXG4gIGdyYXktNTAwOiAjYmFiYWJhLFxyXG4gIGdyYXktNjAwOiAjYjViNWI1LFxyXG4gIGdyYXktNzAwOiAjN2U3ZTdlLFxyXG4gIGdyYXktODAwOiAjNTI1MjUyLFxyXG4gIGdyYXktOTAwOiAjNTI1MjUyLFxyXG5cclxuICAvLyBTdGF0dXNcclxuICBkYW5nZXI6ICNmMjJmM2IsXHJcbiAgd2FybmluZzogI2ZmOTMxZixcclxuICBpbmZvOiAjNWU0ZmVhLFxyXG4gIHN1Y2Nlc3M6ICMwMGU2YzIsXHJcbik7XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiIsIkBpbXBvcnQgJ3ZhcnMnO1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRwYXRoLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgc3JjIDogdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XHJcbiAgQHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICBmb250LXNpemU6ICRzaXplO1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogODAwO1xyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthService } from '../../shared/authentication/auth.service';\r\nimport { TranslationService } from '../../shared/translation/translation.service';\r\nimport { FeatureService } from 'app/shared/feature/feature.service';\r\nimport { FeatureConst } from 'app/shared/feature/feature.consts';\r\nimport { UserManagementService } from 'app/shared/user/userManagement.service';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\nimport { CustomValidators } from 'app/shared/app-forms/validators/custom.validator';\r\nimport { passwordUserNameValidator } from 'app/shared/app-forms/validators/password-username.validator';\r\nimport { UserService } from 'app/shared/user/user.service';\r\nimport { sameAsValidator } from 'app/shared/app-forms/validators/same-as.validator';\r\n\r\n@Component({\r\n selector: 'app-end-forgot-password',\r\n templateUrl: './end-forgot-password.component.html',\r\n styleUrls: ['./end-forgot-password.component.scss']\r\n})\r\nexport class EndForgotPasswordComponent implements OnInit {\r\n public form: FormGroup;\r\n public submitted = false;\r\n public errorMessage: string;\r\n public tokenExpired = false;\r\n public token: string = undefined;\r\n public hidePassword = true;\r\n public hideConfirmPassword = true;\r\n public isLoading = false;\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n public router: Router,\r\n private authService: AuthService,\r\n private route: ActivatedRoute,\r\n private translationService: TranslationService,\r\n private featureService: FeatureService,\r\n private userManagementService: UserManagementService,\r\n public navigationDirection: NavigationDirectionService,\r\n private userService: UserService\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n if (params) {\r\n this.token = params.key;\r\n this.checkTokenValidity();\r\n }\r\n });\r\n this.changeLanguage();\r\n this.form = this.formBuilder.group({\r\n password: ['', [CustomValidators.securePassword, CustomValidators.securePassword], [passwordUserNameValidator(this.userService, this.token)]],\r\n confirmPassword: ['', Validators.required],\r\n });\r\n this.form.get('confirmPassword').setValidators([CustomValidators.required, sameAsValidator(this.form.get('password'))]);\r\n }\r\n\r\n private checkTokenValidity(): void {\r\n this.authService.checkUserResetPasswordTokenValidity(this.token).subscribe(\r\n () => {\r\n this.tokenExpired = false;\r\n },\r\n () => {\r\n this.tokenExpired = true;\r\n },\r\n );\r\n }\r\n\r\n public resetConfirmationField(): void {\r\n this.form.controls.confirmPassword.setValue('');\r\n this.form.controls.confirmPassword.updateValueAndValidity();\r\n }\r\n\r\n onSubmit() {\r\n const password = this.form.get('password').value;\r\n if (this.form.valid && !this.isLoading) {\r\n this.isLoading = true;\r\n const key = this.route.snapshot.queryParams['key'];\r\n this.userManagementService.resetPassword(key, password).subscribe(\r\n () => {\r\n this.onSubmitSuccess();\r\n },\r\n () => {\r\n this.onSubmitError('global-generic_terms-generic_error');\r\n });\r\n }\r\n }\r\n\r\n public togglePassword(event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.hidePassword = !this.hidePassword;\r\n }\r\n\r\n public toggleConfirmPassword(event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.hideConfirmPassword = !this.hideConfirmPassword;\r\n }\r\n\r\n private changeLanguage() {\r\n this.route.queryParams.subscribe(queryParams => {\r\n if (queryParams['culture']) {\r\n this.translationService.language = queryParams['culture'];\r\n }\r\n });\r\n }\r\n\r\n private onSubmitSuccess() {\r\n this.isLoading = false;\r\n this.router.navigate(['/start/success']);\r\n }\r\n\r\n private onSubmitError(errorMessage) {\r\n this.isLoading = false;\r\n this.errorMessage = errorMessage;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n

\\r\\n {{'start-forgot_password_panel-confirm_title'| translate}}\\r\\n

\\r\\n\\r\\n
\\r\\n {{'start-forgot_password_panel-confirm_body'| translate}}\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\"","module.exports = \"app-sticky-header-pane /deep/ .inner-content {\\n height: 100%; }\\n\\n.text {\\n margin: 1.6em auto;\\n font-size: em(18px);\\n line-height: 1.5; }\\n\\n.content {\\n position: relative;\\n z-index: 2;\\n height: 100%;\\n min-height: 480px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvZm9yZ290LXBhc3N3b3JkLWNvbmZpcm1hdGlvbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc3RhcnRcXGZvcmdvdC1wYXNzd29yZC1jb25maXJtYXRpb25cXGZvcmdvdC1wYXNzd29yZC1jb25maXJtYXRpb24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFFUSxhQUFZLEVBQ2Y7O0FBR0w7RUFDSSxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLGlCQUFnQixFQUVuQjs7QUFFRDtFQUNJLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsYUFBWTtFQUNaLGtCQUFpQixFQUVwQiIsImZpbGUiOiJzcmMvYXBwL3N0YXJ0L2ZvcmdvdC1wYXNzd29yZC1jb25maXJtYXRpb24vZm9yZ290LXBhc3N3b3JkLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiRmb3Jnb3QtcGFzc3dvcmQtaWxsdXN0cmF0aW9uLWhlaWdodDogMTc0cHg7XHJcblxyXG5hcHAtc3RpY2t5LWhlYWRlci1wYW5lIHtcclxuICAgIC9kZWVwLyAuaW5uZXItY29udGVudCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4udGV4dCB7XHJcbiAgICBtYXJnaW46IDEuNmVtIGF1dG87XHJcbiAgICBmb250LXNpemU6IGVtKDE4cHgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuXHJcbn1cclxuXHJcbi5jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiA0ODBweDtcclxuXHJcbn1cclxuIl19 */\"","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\n\r\n@Component({\r\n selector: 'app-forgot-password-confirmation',\r\n templateUrl: './forgot-password-confirmation.component.html',\r\n styleUrls: ['./forgot-password-confirmation.component.scss']\r\n})\r\nexport class ForgotPasswordConfirmationComponent {\r\n\r\n constructor(public router: Router,\r\n public navigationDirection: NavigationDirectionService) {\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n

\\r\\n {{'start-forgot_password_panel-forgot_password_title'| translate}}\\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
{{ resetErrorMessage }}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{form.controls.userid.value.length}} / 60
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{'start-forgot_password_panel-agree_recaptcha_cookie_first' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{'start-forgot_password_panel-make_sure_agreed_recaptcha_cookie' | translate}}\\r\\n \\r\\n {{'start-forgot_password_panel-cookies_preferences' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","module.exports = \".instructions {\\n margin: 1.6em auto;\\n font-size: em(18px);\\n line-height: 1.5; }\\n\\n.content {\\n position: relative;\\n z-index: 2;\\n margin-top: 57px; }\\n\\n#preference-manager-link {\\n text-decoration: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvZm9yZ290LXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzdGFydFxcZm9yZ290LXBhc3N3b3JkXFxmb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLGlCQUFnQixFQUNuQjs7QUFFRDtFQUNJLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsaUJBQWdCLEVBQ25COztBQUVEO0VBQ0ksc0JBQXFCLEVBQ3hCIiwiZmlsZSI6InNyYy9hcHAvc3RhcnQvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5pbnN0cnVjdGlvbnMge1xyXG4gICAgbWFyZ2luOiAxLjZlbSBhdXRvO1xyXG4gICAgZm9udC1zaXplOiBlbSgxOHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBtYXJnaW4tdG9wOiA1N3B4O1xyXG59XHJcblxyXG4jcHJlZmVyZW5jZS1tYW5hZ2VyLWxpbmsge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbiJdfQ== */\"","import { ApplicationRef, Component, HostBinding, OnDestroy, OnInit, DoCheck, ChangeDetectorRef, AfterViewInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\nimport { generateTransitions } from '../../shared/router-transitions/router-transitions.animations';\r\nimport { AuthService } from '../../shared/authentication/auth.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { FeatureService } from 'app/shared/feature/feature.service';\r\nimport { FeatureConst } from 'app/shared/feature/feature.consts';\r\nimport { UserManagementService } from 'app/shared/user/userManagement.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { GTM_EVENTS } from 'app/shared/gtm/gtm-events.const';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.scss'],\r\n animations: [\r\n generateTransitions()\r\n ]\r\n})\r\nexport class ForgotPasswordComponent implements OnInit, OnDestroy, DoCheck, AfterViewInit {\r\n\r\n public form: FormGroup;\r\n public isLoading: boolean;\r\n public submitted = false;\r\n public resetErrorMessage: string;\r\n public captchaCookieConsentStatus: string;\r\n private interval;\r\n\r\n @HostBinding('@routeAnim')\r\n public routeAnimState: string;\r\n private navDirectionChangeSubscription: Subscription;\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n public router: Router,\r\n private authService: AuthService,\r\n public navigationDirection: NavigationDirectionService,\r\n private appRef: ApplicationRef,\r\n private featureService: FeatureService,\r\n private gtmService: GtmService,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private userManagementService: UserManagementService) {\r\n this.routeAnimState = this.navigationDirection.direction;\r\n this.navDirectionChangeSubscription = navigationDirection.changeObservable.subscribe(direction => {\r\n this.routeAnimState = direction;\r\n this.appRef.tick();\r\n });\r\n\r\n }\r\n\r\n ngDoCheck() {\r\n this.captchaCookieConsentStatus = window.sessionStorage.getItem('captcha_cookie_consent_status');\r\n if (this.captchaCookieConsentStatus === 'agree') {\r\n clearInterval(this.interval);\r\n }\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.interval = setInterval(() => { }, 1000);\r\n }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n userid: [this.userManagementService.loginEmail],\r\n recaptcha: ['', Validators.required]\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.navDirectionChangeSubscription.unsubscribe();\r\n window.sessionStorage.removeItem('captcha_cookie_consent_status');\r\n clearInterval(this.interval);\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.valid) {\r\n\r\n this.isLoading = true;\r\n const email = this.form.get('userid').value;\r\n const recaptcha = this.form.get('recaptcha').value;\r\n this.userManagementService.forgotPassword(email, recaptcha).pipe(\r\n finalize(() => this.userManagementService.loginEmail = null),\r\n ).subscribe(result => {\r\n this.onSubmitSuccess();\r\n this.gtmService.sendEvent(GTM_EVENTS.forgetPassword, 'password change');\r\n },\r\n (error) => {\r\n this.onSubmitError(error.error.title);\r\n });\r\n }\r\n }\r\n\r\n private onSubmitSuccess() {\r\n this.isLoading = false;\r\n this.router.navigate(['/start/forgot-password-confirmation']);\r\n }\r\n\r\n private onSubmitError(errorMessage) {\r\n this.isLoading = false;\r\n this.resetErrorMessage = errorMessage;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n

{{ 'global-generic_terms-error_email' | translate }}

\\r\\n

{{ loginErrorMessage | translate }}

\\r\\n

\\r\\n {{ 'start-login_page-expired_password' | translate }} \\r\\n {{ 'start-login_page-expired_password_link' | translate }}\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
{{form.controls.userid.value.length}} / 60
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n

\\r\\n {{'start-login_page-need_assistance_link'| translate}}\\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.section-title {\\n margin-top: 54px;\\n text-align: center; }\\n.form-input-container {\\n min-height: 14em; }\\n.password-input {\\n position: relative; }\\n.form-errors {\\n text-align: center;\\n font-size: 0.75em;\\n margin: 2em auto 1em auto; }\\n.expired-password-link {\\n color: unset;\\n text-decoration: underline; }\\n.login-options {\\n font-size: 0.75em;\\n margin-top: 2.8em; }\\n.forgot-password {\\n float: right;\\n vertical-align: middle;\\n line-height: 20px; }\\n.sign-up {\\n float: left;\\n vertical-align: middle;\\n line-height: 20px; }\\n.submit-container {\\n text-align: center;\\n margin: 1em auto 1.5em auto; }\\n.assistance-container {\\n text-align: center;\\n font-size: 0.75em;\\n margin-bottom: 2em; }\\napp-text-carousel .section-title {\\n font-size: 1.5625em;\\n line-height: 1.2em; }\\n/*Screen Size : m*/\\n@media screen and (min-width: 980px) {\\n app-password-input /deep/ app-numeric-keypad {\\n position: absolute;\\n left: 0;\\n right: 0;\\n bottom: -287px; }\\n app-password-input /deep/ app-numeric-keypad .numeric-keypad-container {\\n max-width: inherit;\\n width: 30em; }\\n app-password-input /deep/ app-numeric-keypad .keys-list {\\n background-color: #FFFFFF; }\\n app-password-input /deep/ app-numeric-keypad .key {\\n border: 1px solid #b5b5b5; }\\n app-password-input /deep/ app-numeric-keypad .key-button {\\n border: 1px solid #b5b5b5; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvbG9naW4vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc3RhcnQvbG9naW4vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2xvZ2luL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L2xvZ2luL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc3RhcnQvbG9naW4vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc3RhcnQvbG9naW4vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9sb2dpbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc3RhcnRcXGxvZ2luXFxsb2dpbi5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc3RhcnQvbG9naW4vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zdGFydC9sb2dpbi9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQ0pIOzs7Ozs7Ozs7Ozs7RUFZRTtBQ1ZGOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUtIOzs7O0dBSUc7QUFXSDs7OztHQUlHO0FBUUg7Ozs7OztHQU1HO0FBS0g7Ozs7OztHQU1HO0FBUUg7Ozs7OztFQU1FO0FBTUY7Ozs7OztHQU1HO0FBTUg7Ozs7OztHQU1HO0FBSUg7Ozs7RUFJRTtBQzdGRjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUFGckI7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FDOEJyQjs7OztHQUlHO0FDNURILHVDQUF1QztBQ0V2QztFQUNJLGlCQUFnQjtFQUNoQixtQkFBa0IsRUFDckI7QUFFRDtFQUNJLGlCQUFnQixFQUNuQjtBQUVEO0VBQ0ksbUJBQWtCLEVBQ3JCO0FBRUQ7RUFDSSxtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLDBCQUF5QixFQUM1QjtBQUVEO0VBQ0ksYUFBWTtFQUNaLDJCQUEwQixFQUM3QjtBQUVEO0VBQ0ksa0JBQWlCO0VBQ2pCLGtCQUFpQixFQUNwQjtBQUVEO0VBQ0ksYUFBWTtFQUNaLHVCQUFzQjtFQUN0QixrQkFBaUIsRUFDcEI7QUFFRDtFQUNJLFlBQVc7RUFDWCx1QkFBc0I7RUFDdEIsa0JBQWlCLEVBQ3BCO0FBRUQ7RUFDSSxtQkFBa0I7RUFDbEIsNEJBQTJCLEVBQzlCO0FBRUQ7RUFDSSxtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLG1CQUFrQixFQUNyQjtBQUVEO0VBRVEsb0JDa0UwQjtFRGpFMUIsbUJDaUUwQixFRGhFN0I7QUFHTCxtQkFBbUI7QUZZUDtFRVRSO0lBRVEsbUJBQWtCO0lBQ2xCLFFBQU87SUFDUCxTQUFRO0lBQ1IsZUFBYyxFQWtCakI7SUF2Qkw7TUFRWSxtQkFBa0I7TUFDbEIsWUpqRVMsRUlrRVo7SUFWVDtNQWFZLDBCRWhFQSxFRmlFSDtJQWRUO01BaUJZLDBCRTdERyxFRjhETjtJQWxCVDtNQXFCWSwwQkVqRUcsRUZrRU4sRUFBQSIsImZpbGUiOiJzcmMvYXBwL3N0YXJ0L2xvZ2luL2xvZ2luLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgbWFyZ2luLXRvcDogNTRweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmZvcm0taW5wdXQtY29udGFpbmVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDE0ZW07IC8vIGtlZXAgdGhlIHN1Ym1pdCBidXR0b24gaW4gdGhlIHNhbWUgcGxhY2VcclxufVxyXG5cclxuLnBhc3N3b3JkLWlucHV0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmZvcm0tZXJyb3JzIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xyXG4gICAgbWFyZ2luOiAyZW0gYXV0byAxZW0gYXV0bztcclxufVxyXG5cclxuLmV4cGlyZWQtcGFzc3dvcmQtbGluayB7XHJcbiAgICBjb2xvcjogdW5zZXQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLmxvZ2luLW9wdGlvbnMge1xyXG4gICAgZm9udC1zaXplOiAwLjc1ZW07XHJcbiAgICBtYXJnaW4tdG9wOiAyLjhlbTtcclxufVxyXG5cclxuLmZvcmdvdC1wYXNzd29yZCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7IC8vIHNhbWUgYXMgY2hlY2tib3ggaGVpZ2h0XHJcbn1cclxuXHJcbi5zaWduLXVwIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4uc3VibWl0LWNvbnRhaW5lciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDFlbSBhdXRvIDEuNWVtIGF1dG87XHJcbn1cclxuXHJcbi5hc3Npc3RhbmNlLWNvbnRhaW5lciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDAuNzVlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcclxufVxyXG5cclxuYXBwLXRleHQtY2Fyb3VzZWwge1xyXG4gICAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjVweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDMwcHgsIDI1cHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKlNjcmVlbiBTaXplIDogbSovXHJcblxyXG5AaW5jbHVkZSBtaW4td2lkdGgobSkge1xyXG4gICAgYXBwLXBhc3N3b3JkLWlucHV0IHtcclxuICAgICAgICAvZGVlcC8gYXBwLW51bWVyaWMta2V5cGFkIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAtMjg3cHg7XHJcblxyXG4gICAgICAgICAgICAubnVtZXJpYy1rZXlwYWQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkbWF4LWNvbnRlbnQtd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5rZXlzLWxpc3Qge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2xpZ2h0Jyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5rZXkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktNjAwJyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5rZXktYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTYwMCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iXX0= */\"","import { AuthStorageService } from '../../shared/storage/auth/auth-storage.service';\r\nimport { ApplicationRef, Component, HostBinding, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormGroupDirective, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport 'rxjs/add/operator/map';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\nimport { generateTransitions } from '../../shared/router-transitions/router-transitions.animations';\r\nimport { AuthService } from '../../shared/authentication/auth.service';\r\nimport { AppConfigService } from '../../shared/config/app-config.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { LoggerService } from '../../shared/helper/logger.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { WindowRef } from '../../shared/helper/window.ref';\r\nimport { filter, finalize, takeWhile, tap } from 'rxjs/operators';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { GTM_EVENTS } from '../../shared/gtm/gtm-events.const';\r\nimport { UserService } from '../../shared/user/user.service';\r\nimport { DocumentRef } from 'app/shared/helper/document.ref';\r\nimport { CustomValidators } from 'app/shared/app-forms/validators/custom.validator';\r\nimport { UserManagementService } from 'app/shared/user/userManagement.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss'],\r\n animations: [\r\n generateTransitions()\r\n ]\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n\r\n public form: FormGroup;\r\n @ViewChild(FormGroupDirective)\r\n public formDirective: FormGroupDirective;\r\n public formSubmitted = false;\r\n public isLoading: boolean;\r\n @HostBinding('@routeAnim')\r\n public routeAnimState: string;\r\n\r\n public adfsIframe;\r\n public loginErrorMessage: string;\r\n public expiredPasswordError = false;\r\n public useNumericKeypad = false;\r\n public readonly loginErrors = {\r\n invalidCreds: 'Wrong login or password',\r\n getJwtFailed: 'Unable to get jwt token',\r\n getUserInfoFailed: 'Could not retrieve user\\'s infos'\r\n };\r\n private navDirectionChangeSubscription: Subscription;\r\n private returnUrl = '';\r\n private isComponentActive = true;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n public appConfig: AppConfigService,\r\n private authService: AuthService,\r\n private userService: UserService,\r\n private navigationDirection: NavigationDirectionService,\r\n private appRef: ApplicationRef,\r\n private storage: AuthStorageService,\r\n private loggerService: LoggerService,\r\n private activatedRoute: ActivatedRoute,\r\n private windowRef: WindowRef,\r\n private documentRef: DocumentRef,\r\n private userManagementService: UserManagementService,\r\n private gtmService: GtmService) {\r\n\r\n this.routeAnimState = this.navigationDirection.direction;\r\n this.navDirectionChangeSubscription = navigationDirection.changeObservable.subscribe(direction => {\r\n this.routeAnimState = direction;\r\n this.appRef.tick();\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n const userName = this.storage.userName ? this.storage.userName : '';\r\n this.form = this.formBuilder.group({\r\n userid: [userName, [Validators.required, CustomValidators.customEmail]],\r\n password: ['', Validators.required]\r\n });\r\n\r\n this.form.controls.userid.valueChanges.pipe(\r\n takeWhile(() => this.isComponentActive),\r\n tap(email => this.userManagementService.loginEmail = email),\r\n ).subscribe();\r\n\r\n this.setupAdfsIframe();\r\n\r\n this.activatedRoute.queryParams\r\n .pipe(\r\n filter(params => params.returnUrl)\r\n )\r\n .subscribe(params => {\r\n this.returnUrl = params.returnUrl;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.navDirectionChangeSubscription.unsubscribe();\r\n }\r\n\r\n private setupAdfsIframe(): void {\r\n this.windowRef.nativeWindow.addEventListener(\r\n 'message',\r\n this.adfsEventCallback,\r\n false);\r\n\r\n this.adfsIframe = this.documentRef.nativeDocument.getElementById('adfs_ifm') as HTMLIFrameElement;\r\n this.adfsIframe.src = environment.adfsUrl;\r\n }\r\n\r\n private adfsEventCallback = (e: any) => {\r\n const { data: eventData } = e;\r\n if (eventData.waitingForLogin && this.formSubmitted) {\r\n this.loginFail(this.loginErrors.invalidCreds);\r\n }\r\n if (eventData.isLogged) {\r\n this.windowRef.nativeWindow.removeEventListener('message', this.adfsEventCallback);\r\n this.loginSuccess(eventData.isLogged);\r\n }\r\n }\r\n\r\n public onControlFocus() {\r\n this.loginErrorMessage = null;\r\n }\r\n\r\n public onSubmit() {\r\n this.expiredPasswordError = false;\r\n this.loginErrorMessage = '';\r\n this.formSubmitted = true;\r\n\r\n if (this.form.valid) {\r\n const login = this.form.get('userid').value.trim();\r\n const password = this.form.get('password').value;\r\n\r\n this.userService.isPasswordExpired(login).pipe(\r\n takeWhile(() => this.isComponentActive),\r\n tap(isPasswordExpired => this.expiredPasswordError = isPasswordExpired),\r\n finalize(() => {\r\n if (!this.expiredPasswordError) {\r\n this.loginErrorMessage = '';\r\n this.isLoading = true;\r\n this.getBrowser() === 'Safari' ? this.loginFromUserService(login, password) :\r\n this.adfsIframe.contentWindow.postMessage({ login, password, rememberMe: true }, '*');\r\n }\r\n })\r\n ).subscribe();\r\n }\r\n }\r\n\r\n private loginFromUserService(login, password) {\r\n this.userManagementService.loginFromUserService(login, password).subscribe(\r\n (response) => {\r\n this.loginSuccessUserService(response);\r\n },\r\n (err) => {\r\n this.loginFail(this.loginErrors.invalidCreds);\r\n });\r\n }\r\n\r\n public loginSuccess(tokens) {\r\n const tokensObj = JSON.parse(tokens);\r\n this.navigationDirection.direction = 'forward';\r\n\r\n if (!this.authService.redirectIfWrongCountry(tokensObj)) {\r\n this.authService.setAuthStorage(tokensObj);\r\n this.onLoginSuccessNavigation();\r\n }\r\n }\r\n\r\n public loginSuccessUserService(tokens) {\r\n this.navigationDirection.direction = 'forward';\r\n if (!this.authService.redirectIfWrongCountry(tokens)) {\r\n this.authService.setAuthStorage(tokens);\r\n this.onLoginSuccessNavigation();\r\n }\r\n }\r\n\r\n private onLoginSuccessNavigation() {\r\n if (this.returnUrl !== '') {\r\n const currentLocation = this.windowRef.nativeWindow.location;\r\n this.windowRef.nativeWindow.location = currentLocation.protocol + '//' + currentLocation.host + this.returnUrl;\r\n } else {\r\n const redirectPath = this.appConfig.isMobile ? '/start/allow-notification' : '/feed';\r\n this.router.navigate([redirectPath]).then(() => {\r\n if (this.userService.getTokenRole() && this.userService.getCountry()) {\r\n this.gtmService.sendEvent(GTM_EVENTS.loginSuccess, this.userService.getTokenRole(), this.userService.getCountry().toUpperCase());\r\n }\r\n })\r\n }\r\n }\r\n\r\n private loginFail(explicitError: string, loginErrorMessage = 'start-login_page-login_error') {\r\n this.loginErrorMessage = loginErrorMessage;\r\n this.isLoading = false;\r\n\r\n if (explicitError === this.loginErrors.invalidCreds) {\r\n } else {\r\n this.loggerService.critical(explicitError);\r\n }\r\n }\r\n\r\n private getBrowser() {\r\n if (navigator.userAgent.indexOf('Chrome') !== -1) {\r\n return 'Chrome';\r\n }\r\n\r\n if (navigator.userAgent.indexOf('Safari') !== -1) {\r\n return 'Safari';\r\n }\r\n\r\n if (navigator.userAgent.indexOf('Firefox') !== -1) {\r\n return 'Firefox';\r\n\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

{{'start-create_password_page-create_password'| translate}}

\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
{{ errorMessage | translate }}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

{{ 'start-create_password_page-token_expired' | translate }}

\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background-color: #00cfff;\\n text-align: center; }\\n.container {\\n width: 100%;\\n margin: auto;\\n max-width: 550px; }\\n.container .password-hints {\\n font-size: 12px; }\\nh1 {\\n margin-bottom: 20px;\\n font-size: 2.1875em;\\n line-height: 1.22857143em;\\n font-weight: 700; }\\n.async-errors {\\n color: #f22f3b;\\n font-size: 12px; }\\np {\\n font-weight: 400;\\n font-size: 1.125em;\\n line-height: 1.38888889em; }\\n.form {\\n text-align: left; }\\n.form .form-title {\\n font-size: 1.125em;\\n line-height: 1.38888889em;\\n font-weight: 700; }\\n.form .form-input {\\n margin: 1em 0; }\\n.form .submit-container {\\n text-align: center;\\n margin-top: 2.5em; }\\n.token-expired-title {\\n margin-top: 20%;\\n font-size: 20px; }\\n.button.show-password {\\n position: relative;\\n bottom: 50px;\\n left: 90%;\\n width: 30px;\\n height: 30px; }\\n.button.show-password app-svg-icon {\\n width: 17px;\\n height: 8px;\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%); }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvcHJvc3BlY3QtY3JlYXRlLXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXF90aGVtZS1pbXBvcnRzLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3Byb3NwZWN0LWNyZWF0ZS1wYXNzd29yZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZm9udHMuc2NzcyIsInNyYy9hcHAvc3RhcnQvcHJvc3BlY3QtY3JlYXRlLXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3Byb3NwZWN0LWNyZWF0ZS1wYXNzd29yZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx2YXJzXFxfZWFzaW5nLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3Byb3NwZWN0LWNyZWF0ZS1wYXNzd29yZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFx1dGlsc1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zdGFydC9wcm9zcGVjdC1jcmVhdGUtcGFzc3dvcmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9wcm9zcGVjdC1jcmVhdGUtcGFzc3dvcmQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXHN0YXJ0XFxwcm9zcGVjdC1jcmVhdGUtcGFzc3dvcmRcXHByb3NwZWN0LWNyZWF0ZS1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc3RhcnQvcHJvc3BlY3QtY3JlYXRlLXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9jb2xvcnMuc2NzcyIsInNyYy9hcHAvc3RhcnQvcHJvc3BlY3QtY3JlYXRlLXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc3RhcnQvcHJvc3BlY3QtY3JlYXRlLXBhc3N3b3JkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWTtFQUNaLDBCQ0hvQjtFRElwQixtQkFBa0IsRUFDckI7QUFFRDtFQUNJLFlBQVc7RUFDWCxhQUFZO0VBQ1osaUJBQWdCLEVBS25CO0FBUkQ7SUFNUSxnQkFBZSxFQUNsQjtBQUdMO0VBQ0ksb0JBQW1CO0VBQ25CLG9CRWtHOEI7RUZqRzlCLDBCRWlHOEI7RUZoRzlCLGlCR011QixFSEwxQjtBQUVEO0VBQ0ksZUNKYTtFREtiLGdCQUFlLEVBQ2xCO0FBRUQ7RUFDSSxpQkdOdUI7RUhPdkIsbUJFc0Y4QjtFRnJGOUIsMEJFcUY4QixFRnBGakM7QUFFRDtFQUNJLGlCQUFnQixFQWdCbkI7QUFqQkQ7SUFJUSxtQkU4RTBCO0lGN0UxQiwwQkU2RTBCO0lGNUUxQixpQkdkbUIsRUhldEI7QUFQTDtJQVVRLGNBQWEsRUFDaEI7QUFYTDtJQWNRLG1CQUFrQjtJQUNsQixrQkFBaUIsRUFDcEI7QUFJRDtFQUNJLGdCQUFlO0VBQ2YsZ0JBQWUsRUFDbEI7QUFHTDtFQUNJLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osVUFBUztFQUNULFlBQVc7RUFDWCxhQUFZLEVBVWY7QUFmRDtJQVFRLFlBQVc7SUFDWCxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxTQUFRO0lBQ1IsaUNBQWdDLEVBQ25DIiwiZmlsZSI6InNyYy9hcHAvc3RhcnQvcHJvc3BlY3QtY3JlYXRlLXBhc3N3b3JkL3Byb3NwZWN0LWNyZWF0ZS1wYXNzd29yZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbjpob3N0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdwcmltYXJ5LWxpZ2h0Jyk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xyXG5cclxuICAgIC5wYXNzd29yZC1oaW50cyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5oMSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgZm9udC1zaXplOiBlbSgzNXB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSg0M3B4LCAzNXB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxufVxyXG5cclxuLmFzeW5jLWVycm9ycyB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2RhbmdlcicpO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG5wIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMjVweCwgMThweCk7XHJcbn1cclxuXHJcbi5mb3JtIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgLmZvcm0tdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDI1cHgsIDE4cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1pbnB1dCB7XHJcbiAgICAgICAgbWFyZ2luOiAxZW0gMDtcclxuICAgIH1cclxuXHJcbiAgICAuc3VibWl0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIuNWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4udG9rZW4tZXhwaXJlZCB7XHJcbiAgICAmLXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMCU7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnV0dG9uLnNob3ctcGFzc3dvcmQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm90dG9tOiA1MHB4O1xyXG4gICAgbGVmdDogOTAlO1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcblxyXG4gICAgYXBwLXN2Zy1pY29uIHtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iLCJAbWl4aW4gbm8tdG91Y2gge1xyXG4gIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuLy8gZmxleC1ib3ggcHJvcGVydGllcyBmb3IgYWxpZ25tZW50XHJcbkBtaXhpbiBmbGV4LWJveCgkZGlyZWN0aW9uLCAkaXRlbUFsaWdubWVudCwgJGp1c3RpZnkpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBAaWYgJGl0ZW1BbGlnbm1lbnQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGFsaWduLWl0ZW1zOiAkaXRlbUFsaWdubWVudDtcclxuICB9XHJcbiAgQGlmICRqdXN0aWZ5ICE9IFwidW5zZXRcIiB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gdGV4dCBjb2xvciBhbmQgZm9udCBwcm9wZXJ0aWVzXHJcbkBtaXhpbiBmb250LXN0eWxlKCRjb2xvciwgJGZvbnRXZWlnaHQsICRmb250U2l6ZSkge1xyXG4gIEBpZiAkY29sb3IgIT0gXCJ1bnNldFwiIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAkY29sb3IpO1xyXG4gIH1cclxuICBAaWYgJGZvbnRXZWlnaHQgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICB9XHJcbiAgQGlmICRmb250U2l6ZSAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBpbmxpbmUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZm9udC1zaXplOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5saW5lLWNvbCgkd2lkdGgpIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6ICR3aWR0aCAqIDElO1xyXG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIEBpZiAkcG9zaXRpb24gPT0gXCJ2ZXJ0aWNhbFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiaG9yaXpvbnRhbFwiIHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IFwiYm90aFwiIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAjezBtcyArICRkZWxheX0sIHZpc2liaWxpdHkgMG1zIGxpbmVhciAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgJGRlbGF5LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgJGRlbGF5O1xyXG5cclxuICBvcGFjaXR5OiAxO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEgLyAkcmF0aW8tb3Itd2lkdGgpKTtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkcGl4ZWxzLCAkY29udGV4dDogMTZweCkge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgICRwaXhlbHM6ICRwaXhlbHMgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0KSkge1xyXG4gICAgJGNvbnRleHQ6ICRjb250ZXh0ICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcGl4ZWxzIC8gJGNvbnRleHQgKiAxZW07XHJcbn1cclxuXHJcbi8vIENTUyB2YXJpYWJsZXMgaGVscGVyXHJcbiRwcmVmaXg6IFwiLS1cIjsgLy8gUHJlZml4IHN0cmluZyBmb3IgY3VzdG9tIENTUyBwcm9wZXJ0aWVzXHJcblxyXG4vL01lcmdlcyBhIHZhcmlhYmxlIG5hbWUgd2l0aCAkcHJlZml4XHJcbkBmdW5jdGlvbiBjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSkge1xyXG4gIEByZXR1cm4gJHByZWZpeCArICRuYW1lO1xyXG59XHJcblxyXG4vLyBEZWZpbmVzIGEgY3VzdG9tIHByb3BlcnR5XHJcbkBtaXhpbiBkZWZpbmUtY3VzdG9tLXByb3BlcnR5KCRuYW1lLCAkdmFsdWUpIHtcclxuICAje2N1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKX06ICR2YWx1ZTtcclxufVxyXG4iLCJAaW1wb3J0ICd2YXJzJztcclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkcGF0aCwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgIHNyYyA6IHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgdXJsKFwiI3skY2RuLXVybH0vI3skY2RuLWZvbnQtcGF0aH0vI3skcGF0aH0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcclxuICAkcmVtU2l6ZTogJHNpemUgLyAxNnB4O1xyXG4gIEByZXR1cm4gJHJlbVNpemUgKiAxcmVtO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgZm9udC1zaXplOiAkc2l6ZTtcclxuICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA0MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDgwMDtcclxuIl19 */\"","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthService } from '../../shared/authentication/auth.service';\r\nimport { AppConfigService } from '../../shared/config/app-config.service';\r\nimport { TranslationService } from '../../shared/translation/translation.service';\r\nimport { AuthConst } from '../../shared/authentication/auth.const';\r\nimport { CustomValidators } from 'app/shared/app-forms/validators/custom.validator';\r\nimport { passwordUserNameValidator } from 'app/shared/app-forms/validators/password-username.validator';\r\nimport { UserService } from 'app/shared/user/user.service';\r\n\r\n@Component({\r\n selector: 'app-prospect-create-password',\r\n templateUrl: './prospect-create-password.component.html',\r\n styleUrls: ['./prospect-create-password.component.scss']\r\n})\r\nexport class ProspectCreatePasswordComponent implements OnInit {\r\n\r\n public isDesktop = false;\r\n public form: FormGroup;\r\n public submitStatus = 'initial';\r\n public submitted = false;\r\n public errorMessage: string;\r\n public passwordInputType = 'password';\r\n public confirmPasswordInputType = 'password';\r\n public token: string;\r\n public tokenExpired: boolean;\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n public router: Router,\r\n private authService: AuthService,\r\n private appConfig: AppConfigService,\r\n private route: ActivatedRoute,\r\n private translationService: TranslationService,\r\n private userService: UserService) {\r\n\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize($event = null) {\r\n this.isDesktop = (window.innerWidth > this.appConfig.config.breakpoints.m);\r\n }\r\n\r\n ngOnInit() {\r\n this.token = this.route.snapshot.queryParams['key'];\r\n this.checkTokenValidity();\r\n this.form = this.formBuilder.group({\r\n password: [, [Validators.required, CustomValidators.securePassword], [passwordUserNameValidator(this.userService, this.token)]],\r\n confirmPassword: [, Validators.required],\r\n });\r\n this.onResize();\r\n this.changeLanguage();\r\n }\r\n\r\n private checkTokenValidity(): void {\r\n this.authService.checkProspectPendingCreationTokenValidity(this.token).subscribe(\r\n () => {\r\n this.tokenExpired = false;\r\n },\r\n () => {\r\n this.tokenExpired = true;\r\n },\r\n );\r\n }\r\n\r\n onSubmit() {\r\n const password = this.form.get('password').value;\r\n const confirmPassword = this.form.get('confirmPassword').value;\r\n if (this.form.valid && this.submitStatus !== 'pending' && (password === confirmPassword)) {\r\n this.submitStatus = 'pending';\r\n this.authService.endProspectCreatePassword(password).subscribe(\r\n result => {\r\n this.submitStatus = 'success';\r\n this.router.navigate(['/start/success']);\r\n },\r\n error => {\r\n this.submitStatus = 'initial';\r\n if (error.status === '400') {\r\n this.errorMessage = 'global-generic_terms-incorrect_input';\r\n } else {\r\n this.errorMessage = 'global-generic_terms-generic_error';\r\n }\r\n });\r\n }\r\n }\r\n\r\n private changeLanguage() {\r\n this.route.queryParams.subscribe(queryParams => {\r\n if (queryParams['culture']) {\r\n this.translationService.language = queryParams['culture'];\r\n }\r\n });\r\n }\r\n\r\n public resetConfirmationField(): void {\r\n this.form.controls.confirmPassword.setValue('');\r\n this.form.controls.confirmPassword.updateValueAndValidity();\r\n }\r\n backToLogin() {\r\n this.router.navigate(['/start/login']);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n
\\r\\n

\\r\\n {{'start-sign_up_page-thank_you_title'| translate}}\\r\\n

\\r\\n\\r\\n

\\r\\n {{'start-sign_up_page-thank_you_body'| translate}}\\r\\n

\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\"","module.exports = \"app-sticky-header-pane /deep/ .inner-content {\\n height: 100%; }\\n\\n.text {\\n margin: 1.6em auto;\\n font-size: em(18px);\\n line-height: 1.5; }\\n\\n.content {\\n position: relative;\\n z-index: 2;\\n height: 100%;\\n min-height: 480px; }\\n\\n.illustration {\\n position: absolute;\\n z-index: 1;\\n bottom: 60px;\\n left: calc(50% - 231px/2);\\n width: 231px;\\n height: 174px; }\\n\\n.illustration img {\\n display: block; }\\n\\n@media (min-height: 700px) {\\n .illustration {\\n bottom: 25%; } }\\n\\n@media (min-height: 870px) {\\n .illustration {\\n bottom: 33%; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvc2lnbi11cC1jb25maXJtYXRpb24vQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhcHBcXHN0YXJ0XFxzaWduLXVwLWNvbmZpcm1hdGlvblxcc2lnbi11cC1jb25maXJtYXRpb24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFFUSxhQUFZLEVBQ2Y7O0FBR0w7RUFDSSxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLGlCQUFnQixFQUVuQjs7QUFFRDtFQUNJLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsYUFBWTtFQUNaLGtCQUFpQixFQUVwQjs7QUFFRDtFQUNJLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsYUFBWTtFQUNaLDBCQUE4QjtFQUM5QixhQUFZO0VBQ1osY0E3QnVDLEVBbUMxQzs7QUFaRDtJQVNRLGVBQWMsRUFDakI7O0FBSUw7RUFFSTtJQUNJLFlBQVcsRUFDZCxFQUFBOztBQUdMO0VBRUk7SUFDSSxZQUFXLEVBQ2QsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAtY29uZmlybWF0aW9uL3NpZ24tdXAtY29uZmlybWF0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGZvcmdvdC1wYXNzd29yZC1pbGx1c3RyYXRpb24taGVpZ2h0OiAxNzRweDtcclxuXHJcbmFwcC1zdGlja3ktaGVhZGVyLXBhbmUge1xyXG4gICAgL2RlZXAvIC5pbm5lci1jb250ZW50IHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50ZXh0IHtcclxuICAgIG1hcmdpbjogMS42ZW0gYXV0bztcclxuICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG5cclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDQ4MHB4O1xyXG5cclxufVxyXG5cclxuLmlsbHVzdHJhdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYm90dG9tOiA2MHB4O1xyXG4gICAgbGVmdDogY2FsYyg1MCUgLSAjezIzMXB4IC8gMn0pO1xyXG4gICAgd2lkdGg6IDIzMXB4O1xyXG4gICAgaGVpZ2h0OiAkZm9yZ290LXBhc3N3b3JkLWlsbHVzdHJhdGlvbi1oZWlnaHQ7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSAobWluLWhlaWdodDogNzAwcHgpIHtcclxuXHJcbiAgICAuaWxsdXN0cmF0aW9uIHtcclxuICAgICAgICBib3R0b206IDI1JTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4taGVpZ2h0OiA4NzBweCkge1xyXG5cclxuICAgIC5pbGx1c3RyYXRpb24ge1xyXG4gICAgICAgIGJvdHRvbTogMzMlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ== */\"","import { ApplicationRef, Component, HostBinding, OnDestroy } from '@angular/core';\r\nimport { generateTransitions } from '../../shared/router-transitions/router-transitions.animations';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-sign-up-confirmation',\r\n templateUrl: './sign-up-confirmation.component.html',\r\n styleUrls: ['./sign-up-confirmation.component.scss'],\r\n animations: [\r\n generateTransitions()\r\n ]\r\n})\r\nexport class SignUpConfirmationComponent implements OnDestroy {\r\n\r\n @HostBinding('@routeAnim')\r\n public routeAnimState: string;\r\n private navDirectionChangeSubscription: Subscription;\r\n\r\n constructor(public router: Router,\r\n public navigationDirection: NavigationDirectionService,\r\n public appRef: ApplicationRef) {\r\n this.routeAnimState = this.navigationDirection.direction;\r\n this.navDirectionChangeSubscription = navigationDirection.changeObservable.subscribe(direction => {\r\n this.routeAnimState = direction;\r\n this.appRef.tick();\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.navDirectionChangeSubscription.unsubscribe();\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n

\\r\\n {{ 'start-sign_up_page-access_denied_title' | translate }}\\r\\n

\\r\\n

\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.section-title {\\n margin-top: 2.375em; }\\n.contact-item {\\n margin: 1em auto; }\\n.contact-item .button {\\n margin: 0.9em auto; }\\n.illustration {\\n position: absolute;\\n z-index: 1;\\n bottom: -28px;\\n left: calc(50% - 330px/2);\\n width: 211px;\\n height: 207px; }\\n.illustration img {\\n display: block; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvc2lnbi11cC1kZW5pZWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc3RhcnQvc2lnbi11cC1kZW5pZWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAtZGVuaWVkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAtZGVuaWVkL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc3RhcnQvc2lnbi11cC1kZW5pZWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc3RhcnQvc2lnbi11cC1kZW5pZWQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwLWRlbmllZC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFwcFxcc3RhcnRcXHNpZ24tdXAtZGVuaWVkXFxzaWduLXVwLWRlbmllZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksb0JBQW1CLEVBQ3RCO0FBRUQ7RUFDSSxpQkFBZ0IsRUFNbkI7QUFQRDtJQUlRLG1CQUFrQixFQUNyQjtBQUlMO0VBQ0ksbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixjQUFhO0VBQ2IsMEJBQThCO0VBRTlCLGFBQVk7RUFDWixjQUFhLEVBTWhCO0FBYkQ7SUFVUSxlQUFjLEVBQ2pCIiwiZmlsZSI6InNyYy9hcHAvc3RhcnQvc2lnbi11cC1kZW5pZWQvc2lnbi11cC1kZW5pZWQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG5cclxuVGhpcyBmaWxlIGV4aXN0cyB0byBhbGxvdyBjb21wb25lbnQgU0NTUyBmaWxlcyB0byBvbmx5IGltcG9ydCBvbmUgZmlsZSBhbmQgaGF2ZSBhY2Nlc3MgdG8gYWxsIHRoZSBTQ1NTIHZhcnMgYW5kIHV0aWxzLlxyXG5cclxuICovXHJcblxyXG5AaW1wb3J0IFwidmFycy9fYnJlYWtwb2ludHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZm9udHMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZGltZW5zaW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19lYXNpbmcuc2Nzc1wiO1xyXG5cclxuQGltcG9ydCBcInV0aWxzL19taXhpbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidXRpbHMvX2Z1bmN0aW9ucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ+QGFsZC91aS9saWIvc3R5bGVzL2Fic3RyYWN0cy9hbGQtdWkuYWJzdHJhY3RcIjtcclxuXHJcbiIsIi8qXHJcblxyXG4gIEZvbnQgd2VpZ2h0cywgYWNjb3JkaW5nIHRvIE1vemlsbGEncyByZWNvbW1lbmRhdGlvbnMgOlxyXG5cclxuICAxMDAgOiBUaGluXHJcbiAgMzAwIDogTGlnaHRcclxuICA0MDAgOiBSZWd1bGFyXHJcbiAgNTAwIDogTWVkaXVtXHJcbiAgNjAwIDogU2VtaS1Cb2xkXHJcbiAgNzAwIDogQm9sZFxyXG4gIDgwMCA6IEJsYWNrXHJcblxyXG4qL1xyXG5cclxuJGZvbnQtd2VpZ2h0LXRoaW4gICAgIDogMTAwO1xyXG4kZm9udC13ZWlnaHQtbGlnaHQgICAgOiAzMDA7XHJcbiRmb250LXdlaWdodC1yZWd1bGFyICA6IDUwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgIDogNjAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaWJvbGQgOiA3MDA7XHJcbiRmb250LXdlaWdodC1ib2xkICAgICA6IDgwMDtcclxuJGZvbnQtd2VpZ2h0LWJsYWNrICAgIDogOTAwO1xyXG5cclxuIiwiJG9zLXBhZGRpbmc6IDEwcHg7XHJcblxyXG4vKlxyXG5cclxuTW9zdCBjb250YWluZXJzIGFyZSBjZW50ZXJlZCBhbmQgYXJlIHByb3BvcnRpb25hbCB0byB0aGVpciBjb250YWluZXIsIGJ1dCBuZWVkIHRvIHNheSByZWFkYWJsZVxyXG5cclxuICovXHJcbiRjb250ZW50LXdpZHRoOiA3NSU7XHJcbiRtYXgtY29udGVudC13aWR0aCA6IDMwZW07XHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBidXR0b25zXHJcblxyXG4gKi9cclxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIG11bHRpIHNlbGVjdFxyXG5cclxuICovXHJcblxyXG4gJGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblxyXG4vKlxyXG5cclxuTW9zdCB0ZXh0IGJ1dHRvbnMgaGF2ZSBhIG1pbmltdW0gd2lkdGguXHJcblxyXG4gKi9cclxuJG1pbi1idXR0b24td2lkdGg6IDEzMHB4O1xyXG4kbWluLWJ1dHRvbi1oZWlnaHQ6IDYwcHg7XHJcblxyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQ6IDQwcHg7XHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodC1kZXNrdG9wOiA4MHB4O1xyXG5cclxuLy8gZm9ybSBzdGlja3ktaGVhZGVyXHJcbiRzdGlja3ktaGVhZGVyLWZvcm0taGVpZ2h0OiA1NXB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Vc2VyIG1lbnVcclxuXHJcbiAqL1xyXG5cclxuJHVzZXItbWVudS1oZWlnaHQ6IDY1cHg7XHJcbi8vIERlc2t0b3AgZGltZW5zaW9uXHJcbiR1c2VyLW1lbnUtd2lkdGgtZGVza3RvcDogMjUwcHg7XHJcbiR1c2VyLW1lbnUtaGVpZ2h0LWRlc2t0b3A6IDEwMCU7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GZWVkXHJcblxyXG5cclxuICovXHJcblxyXG4kZmVlZC1oZWFkZXItaGVpZ2h0OiA3MHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuTm90aWZpY2F0aW9uc1xyXG5cclxuXHJcbiAqL1xyXG5cclxuJG5vdGlmaWNhdGlvbi1jb250YWluZXItcGFkZGluZy10b3A6IDIwdmg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1pY29uLXNpemU6IDYwcHg7XHJcblxyXG4vKlxyXG5cclxuXHJcbk1vcmVcclxuXHJcblxyXG4qL1xyXG5cclxuJG1vcmUtaGVhZGVyLWhlaWdodDogMTUwcHg7XHJcblxyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRnVlbCBjYXJkXHJcblxyXG5cclxuICovXHJcbiRmdWVsLWNhcmQtd2lkdGg6IDMxNXB4O1xyXG4kZnVlbC1jYXJkLWhlaWdodDogMjAwcHg7XHJcbiRmdWVsLWNhcmQtcGFkZGluZzogMjZweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbm1ldSBjYXJzIGFuZCBkb2N1bWVudHNcclxuXHJcblxyXG4gKi9cclxuJGNhcnMtbWVudS1oZWlnaHQ6IDExMHB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5TbmFja2JhclxyXG5cclxuKi9cclxuXHJcbiRib3gtc2hhZG93OiAxcHggM3B4IDIwcHggNXB4IHRyYW5zcGFyZW50aXplKGJsYWNrLCAwLjkyKTtcclxuIiwiJHF1YWQtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XHJcbiRjdWJpYy1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kcXVhcnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuJHF1aW50LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiRzaW5lLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NzAsIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZXhwby1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcclxuJGNpcmMtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcblxyXG4kcXVhZC1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGN1YmljLWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbiRleHBvLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuXHJcbiRxdWFkLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG4kY3ViaWMtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuJGV4cG8tZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbiIsIlxyXG5AbWl4aW4gbm8tdG91Y2gge1xyXG4gICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgICAgQGNvbnRlbnQ7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoICRuYW1lLCAkZmlsZW5hbWUsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgLy8gUmVsYXRpdmUgZm9udCBwYXRocyBicmVhayB0aGUgd2VicGFjayBidWlsZFxyXG4gICAgICAgIHNyYyA6IHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LmVvdD9cIikgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgICAgICAgICAvL3VybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCAvLyBpZiB3ZSBnZXQgd29mZjIgZm9udHMsIGFjdGl2YXRlIHRoaXNcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcclxuICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICBmb250LXNpemU6IGNhbGN1bGF0ZVJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIFxyXG4gICAgQGlmICRwb3NpdGlvbiA9PSAndmVydGljYWwnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4vKipcclxuXHJcblNjcmVlbiBTaXplIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5cclxuKiovXHJcblxyXG5AbWl4aW4gbWluLXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYSA6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXgtd2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIGFuZCAjeyRleHRyYX0ge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJDb3VsZG4ndCBmaW5kIGJyZWFrcG9pbnQgbmFtZWQgOiBcIiskYnJlYWtwb2ludC1uYW1lXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCAkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zICkge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgJGR1cmF0aW9uICAgIGVhc2Utb3V0ICAgICN7MG1zICsgJGRlbGF5fSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgMG1zICAgICAgICAgIGxpbmVhciAgICAgICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIGluIHRyaWNrXHJcbkBtaXhpbiBmYWRlLWluKCRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMpIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICAkZHVyYXRpb24gICBlYXNlLW91dCAgICAkZGVsYXksXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5ICAwbXMgICAgICAgICBsaW5lYXIgICAgICAkZGVsYXk7XHJcblxyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UoJGhlaWdodC8kcmF0aW8tb3Itd2lkdGgpLCBwZXJjZW50YWdlKDEvJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogYnJlYWxwb2ludHMgJiBtZWRpYXF1ZXJpZXMgbWl4aW5zICovXHJcbiRzY3JlZW4tYnJlYWtwb2ludHMgOiAoXHJcbiAgICB4eHMgICAgOiAzNzVweCxcclxuICAgIHhzICAgICA6IDQ4MHB4LFxyXG4gICAgcyAgICAgIDogNzY4cHgsXHJcbiAgICBtICAgICAgOiA5ODBweCxcclxuICAgIGwgICAgICA6IDEyODBweCxcclxuICAgIHhsICAgICAgOiAxNTgwcHhcclxuKTtcclxuXHJcbi8vIHVzZSB3aXRoIEBpbmNsdWRlIHNjcmVlbihzKXt9IG9yIEBpbmNsdWRlIHNjcmVlbihtLCBtaW4pe31dXHJcbkBtaXhpbiBzY3JlZW4oJHNpemUsICR0eXBlOiBtYXgsICRwaXhlbHM6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gIEBpZiAkc2l6ZSA9PSAneHMnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneHMnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3MnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdtJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ2wnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ3hsJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdjdXN0b20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogJHBpeGVscyArIHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL2Fzc2V0cy9hbGQvc2Nzcy90aGVtZS1pbXBvcnRzXCI7XHJcblxyXG4uc2VjdGlvbi10aXRsZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAyLjM3NWVtO1xyXG59XHJcblxyXG4uY29udGFjdC1pdGVtIHtcclxuICAgIG1hcmdpbjogMWVtIGF1dG87XHJcblxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAwLjllbSBhdXRvO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmlsbHVzdHJhdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYm90dG9tOiAtMjhweDtcclxuICAgIGxlZnQ6IGNhbGMoNTAlIC0gI3szMzBweCAvIDJ9KTtcclxuXHJcbiAgICB3aWR0aDogMjExcHg7XHJcbiAgICBoZWlnaHQ6IDIwN3B4O1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== */\"","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\n\r\n@Component({\r\n selector: 'app-sign-up-denied',\r\n templateUrl: './sign-up-denied.component.html',\r\n styleUrls: ['./sign-up-denied.component.scss']\r\n})\r\nexport class SignUpDeniedComponent {\r\n\r\n constructor(public router: Router,\r\n public navigationDirection: NavigationDirectionService) {\r\n }\r\n\r\n public callAssistance() {\r\n\r\n }\r\n}\r\n","module.exports = \"\\r\\n

\\r\\n

\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.section-title {\\n margin-top: 2.375em; }\\n.contact-item {\\n margin: 1em auto; }\\n.contact-item .button {\\n margin: 0.9em auto; }\\n.illustration {\\n position: absolute;\\n z-index: 1;\\n bottom: -28px;\\n left: calc(50% - 330px/2);\\n width: 211px;\\n height: 207px; }\\n.illustration img {\\n display: block; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvc2lnbi11cC1lcnJvci9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwLWVycm9yL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwLWVycm9yL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAtZXJyb3IvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwLWVycm9yL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAtZXJyb3IvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwLWVycm9yL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzdGFydFxcc2lnbi11cC1lcnJvclxcc2lnbi11cC1lcnJvci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDSkg7Ozs7Ozs7Ozs7OztFQVlFO0FDVkY7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFJSDs7OztHQUlHO0FBS0g7Ozs7R0FJRztBQVdIOzs7O0dBSUc7QUFRSDs7Ozs7O0dBTUc7QUFLSDs7Ozs7O0dBTUc7QUFRSDs7Ozs7O0VBTUU7QUFNRjs7Ozs7O0dBTUc7QUFNSDs7Ozs7O0dBTUc7QUFJSDs7OztFQUlFO0FDN0ZGO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQUZyQjtFQUNJO0lBQU8sV0FBVSxFQUFBO0VBQ2pCO0lBQU8sV0FBVSxFQUFBLEVBQUE7QUM4QnJCOzs7O0dBSUc7QUM1REgsdUNBQXVDO0FDRXZDO0VBQ0ksb0JBQW1CLEVBQ3RCO0FBRUQ7RUFDSSxpQkFBZ0IsRUFNbkI7QUFQRDtJQUlRLG1CQUFrQixFQUNyQjtBQUlMO0VBQ0ksbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixjQUFhO0VBQ2IsMEJBQThCO0VBRTlCLGFBQVk7RUFDWixjQUFhLEVBTWhCO0FBYkQ7SUFVUSxlQUFjLEVBQ2pCIiwiZmlsZSI6InNyYy9hcHAvc3RhcnQvc2lnbi11cC1lcnJvci9zaWduLXVwLWVycm9yLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvdGhlbWUtaW1wb3J0c1wiO1xyXG5cclxuLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgbWFyZ2luLXRvcDogMi4zNzVlbTtcclxufVxyXG5cclxuLmNvbnRhY3QtaXRlbSB7XHJcbiAgICBtYXJnaW46IDFlbSBhdXRvO1xyXG5cclxuICAgIC5idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbjogMC45ZW0gYXV0bztcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5pbGx1c3RyYXRpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJvdHRvbTogLTI4cHg7XHJcbiAgICBsZWZ0OiBjYWxjKDUwJSAtICN7MzMwcHggLyAyfSk7XHJcblxyXG4gICAgd2lkdGg6IDIxMXB4O1xyXG4gICAgaGVpZ2h0OiAyMDdweDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0= */\"","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\n\r\n@Component({\r\n selector: 'app-sign-up-error',\r\n templateUrl: './sign-up-error.component.html',\r\n styleUrls: ['./sign-up-error.component.scss']\r\n})\r\nexport class SignUpErrorComponent {\r\n\r\n constructor(public router: Router,\r\n public navigationDirection: NavigationDirectionService) {\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n

\\r\\n {{'start-sign_up_page-answer_questions'| translate}}\\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
{{form.controls.name.value.length}} / 61
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
{{form.controls.email.value.length}} / 60
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

{{'start-sign_up_page-language_label' | translate}}

\\r\\n
    \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.terms-label {\\n font-size: 0.75em;\\n line-height: 1.33333333em;\\n display: block;\\n height: 20px;\\n padding-top: 3px; }\\n.terms-label a {\\n color: #b5b5b5; }\\n.lang-input {\\n margin: 23px auto 20px auto; }\\n.lang-input .radio-title {\\n color: #525252; }\\n.lang-input label {\\n position: relative;\\n display: block;\\n margin: 0 auto 20px auto; }\\n.flag {\\n width: 20px;\\n height: 12px;\\n margin: 0 0.4em;\\n vertical-align: baseline; }\\n.recaptcha {\\n margin: 30px 0 15px 0; }\\n.submit-container {\\n text-align: center; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvc2lnbi11cC1wcm9zcGVjdC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwLXByb3NwZWN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwLXByb3NwZWN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAtcHJvc3BlY3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwLXByb3NwZWN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAtcHJvc3BlY3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwLXByb3NwZWN0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzdGFydFxcc2lnbi11cC1wcm9zcGVjdFxcc2lnbi11cC1wcm9zcGVjdC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc3RhcnQvc2lnbi11cC1wcm9zcGVjdC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAtcHJvc3BlY3QvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxrQkN1SDhCO0VEdEg5QiwwQkNzSDhCO0VEckg5QixlQUFjO0VBQ2QsYUFBWTtFQUNaLGlCQUFnQixFQUtuQjtBQVZEO0lBUVEsZUVVVyxFRlRkO0FBR0w7RUFFSSw0QkFBMkIsRUFXOUI7QUFiRDtJQUtRLGVFSVcsRUZIZDtBQU5MO0lBU1EsbUJBQWtCO0lBQ2xCLGVBQWM7SUFDZCx5QkFBd0IsRUFDM0I7QUFHTDtFQUNJLFlBQVc7RUFDWCxhQUFZO0VBQ1osZ0JBQWU7RUFDZix5QkFBd0IsRUFDM0I7QUFFRDtFQUNJLHNCQUFxQixFQUN4QjtBQUVEO0VBQ0ksbUJBQWlCLEVBQ3BCIiwiZmlsZSI6InNyYy9hcHAvc3RhcnQvc2lnbi11cC1wcm9zcGVjdC9zaWduLXVwLXByb3NwZWN0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuLnRlcm1zLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogZW0oMTJweCk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMTZweCwgMTJweCk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHBhZGRpbmctdG9wOiAzcHg7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTYwMCcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGFuZy1pbnB1dCB7XHJcblxyXG4gICAgbWFyZ2luOiAyM3B4IGF1dG8gMjBweCBhdXRvO1xyXG5cclxuICAgIC5yYWRpby10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICdncmF5LTkwMCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmxhZyB7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIG1hcmdpbjogMCAwLjRlbTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuLnJlY2FwdGNoYSB7XHJcbiAgICBtYXJnaW46IDMwcHggMCAxNXB4IDA7XHJcbn1cclxuXHJcbi5zdWJtaXQtY29udGFpbmVyIHtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ConfigurationService } from '../../shared/config/configuration.service';\r\nimport { TranslationService } from '../../shared/translation/translation.service';\r\nimport { EmailValidator } from '../../shared/app-forms/validators/email.validator';\r\nimport { AppStorageService } from '../../shared/storage/common/app-storage.service';\r\nimport { CookiesService } from '../../shared/cookies/cookies.service';\r\nimport { RequestAccessService } from '../../shared/authentication/sign-up.service';\r\nimport { RequestParameter } from '../../shared/common/request-parameter.model';\r\nimport { TranslationStorageService } from '../../shared/storage/translation/translation-storage.service';\r\nimport { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\nimport { environment } from 'environments/environment';\r\nimport { GTM_EVENTS } from '../../shared/gtm/gtm-events.const';\r\n\r\n@Component({\r\n selector: 'app-sign-up-prospect',\r\n templateUrl: './sign-up-prospect.component.html',\r\n styleUrls: ['./sign-up-prospect.component.scss']\r\n})\r\nexport class SignUpProspectComponent implements OnInit {\r\n\r\n public form: FormGroup;\r\n public availableLanguages = [];\r\n public submitted = false;\r\n public isLoading: boolean;\r\n public grades: any[];\r\n public domainId: string;\r\n public readonly GTM_EVENTS = GTM_EVENTS;\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private navigationDirection: NavigationDirectionService,\r\n private configurationService: ConfigurationService,\r\n private appStorageService: AppStorageService,\r\n private cookiesService: CookiesService,\r\n private translationService: TranslationService,\r\n private requestAccessService: RequestAccessService,\r\n private translationStorage: TranslationStorageService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.domainId = (this.route.snapshot.params as any).id;\r\n this.prepareGrades();\r\n this.prepareLanguages();\r\n this.buildForm();\r\n\r\n }\r\n\r\n buildForm() {\r\n this.form = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n email: ['', [Validators.required, EmailValidator.simple]],\r\n grade: ['', Validators.required],\r\n legal: ['', Validators.required],\r\n recaptcha: ['', Validators.required]\r\n });\r\n }\r\n\r\n prepareLanguages() {\r\n this.configurationService.getAvailableLanguages()\r\n .subscribe(\r\n languages => {\r\n this.availableLanguages = languages;\r\n },\r\n error => {\r\n console.error('An error has occured: ', error);\r\n }\r\n );\r\n }\r\n\r\n\r\n prepareGrades() {\r\n this.grades = [];\r\n this.requestAccessService.getGrades(this.domainId)\r\n .subscribe(\r\n grades => {\r\n grades.forEach((grade) => {\r\n this.grades.push({id: grade, label: grade});\r\n });\r\n },\r\n error => {\r\n console.error('An error has occured: ', error);\r\n }\r\n );\r\n }\r\n\r\n changeLanguage(language: string) {\r\n this.translationService.language = language;\r\n }\r\n\r\n languageFlagName(codeLanguage) {\r\n const shortenedCodeLanguage = codeLanguage.substr(3, 2);\r\n return shortenedCodeLanguage === 'en' ? 'gb' : shortenedCodeLanguage;\r\n }\r\n\r\n linkToTermesOfUse() {\r\n return `${environment.publicDocumentsBaseUrl}/${this.appStorageService.countrySelected}/disclaimer-${this.translationService.language}.pdf`;\r\n }\r\n\r\n linkToCookiesPolicy() {\r\n return this.cookiesService.getCookiesPolicyDocumentUrl(this.translationService.language);\r\n }\r\n\r\n updateGradeValue(grade) {\r\n this.form.get('grade').setValue(grade.id);\r\n }\r\n\r\n onSubmit() {\r\n if (!this.form.get('legal').value) {\r\n this.form.controls['legal'].setValue(null);\r\n }\r\n if (this.form.valid) {\r\n this.isLoading = true;\r\n const params: RequestParameter[] = [];\r\n const selectedCountry = this.appStorageService.countrySelected;\r\n params.push(new RequestParameter('domainId', this.domainId));\r\n params.push(new RequestParameter('name', this.form.get('name').value));\r\n params.push(new RequestParameter('email', this.form.get('email').value));\r\n params.push(new RequestParameter('grade', this.form.get('grade').value));\r\n params.push(new RequestParameter('culture', this.translationStorage.lang.toString()));\r\n params.push(new RequestParameter('countryCode', selectedCountry));\r\n params.push(new RequestParameter('recaptcha', this.form.get('recaptcha').value));\r\n this.requestAccessService.prospectSignUp(params)\r\n .then((feedback: any) => {\r\n if (feedback) {\r\n this.router.navigate(['/start/sign-up-error']);\r\n } else {\r\n this.isLoading = false;\r\n this.navigationDirection.direction = 'forward';\r\n this.router.navigate(['/start/sign-up-confirmation']);\r\n }\r\n })\r\n .catch(e => {\r\n this.router.navigate(['/start/sign-up-error']);\r\n });\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n

\\r\\n {{'start-sign_up_page-answer_questions'| translate}}\\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

{{'start-sign_up_page-role_label' |translate}}

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
{{form.controls.name.value.length}} / 61\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
{{form.controls.email.value.length}} / 60\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

{{'start-sign_up_page-language_label' | translate}}

\\r\\n
    \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{'start-sign_up_page-agree_recaptcha_cookie_first' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n {{'start-sign_up_page-make_sure_agreed_recaptcha_cookie' | translate}}\\r\\n \\r\\n {{'start-sign_up_page-cookies_preferences' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n.submit-container {\\n margin: 2em auto;\\n text-align: center; }\\n.section-title {\\n margin-top: 52px;\\n margin-bottom: 21px; }\\n.terms-label {\\n font-size: 0.75em;\\n line-height: 1.33333333em;\\n display: block;\\n height: 20px;\\n padding-top: 3px; }\\n.terms-label a {\\n color: #b5b5b5; }\\n.form-input-container .form-input:nth-child(1) {\\n margin-bottom: 12px; }\\n.radio-container {\\n position: relative;\\n display: inline-block;\\n width: calc(50% - 0.25em);\\n margin-right: 0;\\n padding-left: 25px;\\n padding-right: 0.25em;\\n padding-top: 0.25em;\\n float: left; }\\n.radio-container input[type=\\\"radio\\\"] {\\n position: absolute;\\n top: 0;\\n left: 0; }\\n.radio-container::after {\\n content: '';\\n display: block;\\n width: 100%;\\n clear: both; }\\n.lang-input {\\n margin: 23px auto 20px auto; }\\n.lang-input .radio-title {\\n color: #525252; }\\n.lang-input label {\\n position: relative;\\n display: block;\\n margin: 0 auto 20px auto; }\\n.flag {\\n width: 20px;\\n height: 12px;\\n margin: 0 0.4em;\\n vertical-align: baseline; }\\n.recaptcha {\\n margin-top: 30px; }\\n#cookie-preference-manager {\\n text-decoration: none; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvc2lnbi11cC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9zaWduLXVwL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzdGFydFxcc2lnbi11cFxcc2lnbi11cC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc3RhcnQvc2lnbi11cC9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX2NvbG9ycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxpQkFBZ0I7RUFDaEIsbUJBQWtCLEVBQ3JCO0FBRUQ7RUFDSSxpQkFBZ0I7RUFDaEIsb0JBQW1CLEVBQ3RCO0FBRUQ7RUFDSSxrQkM2RzhCO0VENUc5QiwwQkM0RzhCO0VEM0c5QixlQUFjO0VBQ2QsYUFBWTtFQUNaLGlCQUFnQixFQUtuQjtBQVZEO0lBUVEsZUVBVyxFRkNkO0FBR0w7RUFFUSxvQkFBbUIsRUFDdEI7QUFHTDtFQUNJLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsMEJBQXlCO0VBQ3pCLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQixvQkFBbUI7RUFDbkIsWUFBVyxFQWNkO0FBdEJEO0lBV1EsbUJBQWtCO0lBQ2xCLE9BQU07SUFDTixRQUFPLEVBQ1Y7QUFkTDtJQWlCUSxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVc7SUFDWCxZQUFXLEVBQ2Q7QUFHTDtFQUNJLDRCQUEyQixFQVc5QjtBQVpEO0lBSVEsZUVuQ1csRUZvQ2Q7QUFMTDtJQVFRLG1CQUFrQjtJQUNsQixlQUFjO0lBQ2QseUJBQXdCLEVBQzNCO0FBR0w7RUFDSSxZQUFXO0VBQ1gsYUFBWTtFQUNaLGdCQUFlO0VBQ2YseUJBQXdCLEVBQzNCO0FBRUQ7RUFDSSxpQkFBZ0IsRUFDbkI7QUFFRDtFQUNJLHNCQUFxQixFQUN4QiIsImZpbGUiOiJzcmMvYXBwL3N0YXJ0L3NpZ24tdXAvc2lnbi11cC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vYXNzZXRzL2FsZC9zY3NzL190aGVtZS1pbXBvcnRzLnNjc3NcIjtcclxuXHJcbi5zdWJtaXQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMmVtIGF1dG87XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zZWN0aW9uLXRpdGxlIHtcclxuICAgIG1hcmdpbi10b3A6IDUycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xyXG59XHJcblxyXG4udGVybXMtbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiBlbSgxMnB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBlbSgxNnB4LCAxMnB4KTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDNweDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ2dyYXktNjAwJyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3JtLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAuZm9ybS1pbnB1dDpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yYWRpby1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC4yNWVtKTtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVlbTtcclxuICAgIHBhZGRpbmctdG9wOiAwLjI1ZW07XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sYW5nLWlucHV0IHtcclxuICAgIG1hcmdpbjogMjNweCBhdXRvIDIwcHggYXV0bztcclxuXHJcbiAgICAucmFkaW8tdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnZ3JheS05MDAnKTtcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHggYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmZsYWcge1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICBtYXJnaW46IDAgMC40ZW07XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi5yZWNhcHRjaGEge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxufVxyXG5cclxuI2Nvb2tpZS1wcmVmZXJlbmNlLW1hbmFnZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbiIsIkBtaXhpbiBuby10b3VjaCB7XHJcbiAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4vLyBmbGV4LWJveCBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnRcclxuQG1peGluIGZsZXgtYm94KCRkaXJlY3Rpb24sICRpdGVtQWxpZ25tZW50LCAkanVzdGlmeSkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIEBpZiAkaXRlbUFsaWdubWVudCAhPSBcInVuc2V0XCIge1xyXG4gICAgYWxpZ24taXRlbXM6ICRpdGVtQWxpZ25tZW50O1xyXG4gIH1cclxuICBAaWYgJGp1c3RpZnkgIT0gXCJ1bnNldFwiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0ZXh0IGNvbG9yIGFuZCBmb250IHByb3BlcnRpZXNcclxuQG1peGluIGZvbnQtc3R5bGUoJGNvbG9yLCAkZm9udFdlaWdodCwgJGZvbnRTaXplKSB7XHJcbiAgQGlmICRjb2xvciAhPSBcInVuc2V0XCIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFdlaWdodCAhPSBcInVuc2V0XCIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGZvbnRTaXplICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcclxuICB9XHJcbn1cclxuQG1peGluIGlubGluZS1yb3cge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBpbmxpbmUtY29sKCR3aWR0aCkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogJHdpZHRoICogMSU7XHJcbiAgZm9udC1zaXplOiBpbml0aWFsO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyKCRwb3NpdGlvbikge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgQGlmICRwb3NpdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XHJcbiAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gXCJib3RoXCIge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCgkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICN7MG1zICsgJGRlbGF5fSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICN7JGR1cmF0aW9uICsgJGRlbGF5fTtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uOiAyNTBtcywgJGRlbGF5OiAwbXMpIHtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkdXJhdGlvbiBlYXNlLW91dCAkZGVsYXksIHZpc2liaWxpdHkgMG1zIGxpbmVhciAkZGVsYXk7XHJcblxyXG4gIG9wYWNpdHk6IDE7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMSAvICRyYXRpby1vci13aWR0aCkpO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNnB4KSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgJHBpeGVsczogJHBpeGVscyAqIDFweDtcclxuICB9XHJcblxyXG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQpKSB7XHJcbiAgICAkY29udGV4dDogJGNvbnRleHQgKiAxcHg7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwaXhlbHMgLyAkY29udGV4dCAqIDFlbTtcclxufVxyXG5cclxuLy8gQ1NTIHZhcmlhYmxlcyBoZWxwZXJcclxuJHByZWZpeDogXCItLVwiOyAvLyBQcmVmaXggc3RyaW5nIGZvciBjdXN0b20gQ1NTIHByb3BlcnRpZXNcclxuXHJcbi8vTWVyZ2VzIGEgdmFyaWFibGUgbmFtZSB3aXRoICRwcmVmaXhcclxuQGZ1bmN0aW9uIGN1c3RvbS1wcm9wZXJ0eS1uYW1lKCRuYW1lKSB7XHJcbiAgQHJldHVybiAkcHJlZml4ICsgJG5hbWU7XHJcbn1cclxuXHJcbi8vIERlZmluZXMgYSBjdXN0b20gcHJvcGVydHlcclxuQG1peGluIGRlZmluZS1jdXN0b20tcHJvcGVydHkoJG5hbWUsICR2YWx1ZSkge1xyXG4gICN7Y3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpfTogJHZhbHVlO1xyXG59XHJcbiIsIi8vICMjIEdlbmVyYWwgVGhlbWUgQ29sb3JzXHJcblxyXG4kYWxkLWNvbG9yczogKFxyXG4gIC8vIE1haW4gQ29sb3JzXHJcbiAgcHJpbWFyeTogIzA1MGI3ZixcclxuICBwcmltYXJ5LWxpZ2h0OiAjMDBjZmZmLFxyXG4gIHNlY29uZGFyeTogIzVlNGZlYSxcclxuXHJcbiAgYWx0ZXJuYXRlMSA6ICM0MWI3ZmYsXHJcbiAgYWx0ZXJuYXRlMjogIzAwOTNmZixcclxuICBjb21wbGVtZW50YXJ5MTogIzAwZTZjMixcclxuICBjb21wbGVtZW50YXJ5MjogI2RjMDBmZixcclxuXHJcbiAgbGlnaHQ6ICNGRkZGRkYsXHJcbiAgLy8gR3JheSBTaGFkZXNcclxuICBncmF5LTEwMDogI2ZhZmFmYSxcclxuICBncmF5LTIwMDogI2VmZWZlZixcclxuICBncmF5LTMwMDogI2Q3ZDdkNyxcclxuICBncmF5LTQwMDogI2NlY2VjZSxcclxuICBncmF5LTUwMDogI2JhYmFiYSxcclxuICBncmF5LTYwMDogI2I1YjViNSxcclxuICBncmF5LTcwMDogIzdlN2U3ZSxcclxuICBncmF5LTgwMDogIzUyNTI1MixcclxuICBncmF5LTkwMDogIzUyNTI1MixcclxuXHJcbiAgLy8gU3RhdHVzXHJcbiAgZGFuZ2VyOiAjZjIyZjNiLFxyXG4gIHdhcm5pbmc6ICNmZjkzMWYsXHJcbiAgaW5mbzogIzVlNGZlYSxcclxuICBzdWNjZXNzOiAjMDBlNmMyLFxyXG4pO1xyXG4iXX0= */\"","import { NavigationDirectionService } from '../../shared/router-transitions/navigation-direction.service';\r\nimport { generateTransitions } from '../../shared/router-transitions/router-transitions.animations';\r\nimport { EmailValidator } from '../../shared/app-forms/validators/email.validator';\r\nimport { AppConfigService } from '../../shared/config/app-config.service';\r\nimport { RequestParameter } from '../../shared/common/request-parameter.model';\r\nimport { TranslationStorageService } from '../../shared/storage/translation/translation-storage.service';\r\nimport { ConfigurationService } from '../../shared/config/configuration.service';\r\nimport { TranslationService } from '../../shared/translation/translation.service';\r\nimport { AppStorageService } from '../../shared/storage/common/app-storage.service';\r\nimport { RequestAccessService } from '../../shared/authentication/sign-up.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { AfterViewInit, ApplicationRef, ChangeDetectorRef, Component, DoCheck, HostBinding, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { CookiesService } from 'app/shared/cookies/cookies.service';\r\nimport { FeatureConst } from '../../shared/feature/feature.consts';\r\nimport { FeatureService } from '../../shared/feature/feature.service';\r\nimport { environment } from 'environments/environment';\r\nimport { GTM_EVENTS } from '../../shared/gtm/gtm-events.const';\r\nimport { GtmService } from 'app/shared/gtm/gtm.service';\r\nimport { SignUpLanguage } from '../../shared/models/sign-up-language.model';\r\n\r\n@Component({\r\n selector: 'app-sign-up',\r\n templateUrl: './sign-up.component.html',\r\n styleUrls: ['./sign-up.component.scss'],\r\n animations: [\r\n generateTransitions()\r\n ]\r\n})\r\nexport class SignUpComponent implements OnDestroy, OnInit, DoCheck, AfterViewInit {\r\n\r\n // Form values & state\r\n public form: FormGroup;\r\n public isLoading: boolean;\r\n public availableLanguages: SignUpLanguage[] = [];\r\n public submitted = false;\r\n public selectedLanguage: SignUpLanguage;\r\n public readonly GTM_EVENTS = GTM_EVENTS;\r\n public captchaCookieConsentStatus: string;\r\n private interval;\r\n\r\n /*\r\n Route anim variables\r\n */\r\n @HostBinding('@routeAnim')\r\n public routeAnimState: string;\r\n private navDirectionChangeSubscription: Subscription;\r\n\r\n constructor(\r\n private appConfig: AppConfigService,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private navigationDirection: NavigationDirectionService,\r\n private appRef: ApplicationRef,\r\n private requestAccessService: RequestAccessService,\r\n private translationStorage: TranslationStorageService,\r\n private appStorageService: AppStorageService,\r\n private configurationService: ConfigurationService,\r\n private translationService: TranslationService,\r\n private cookiesService: CookiesService,\r\n private gtmService: GtmService,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private featureService: FeatureService) {\r\n\r\n // Init transition animation logic\r\n this.routeAnimState = this.navigationDirection.direction;\r\n this.navDirectionChangeSubscription = navigationDirection.changeObservable.subscribe(direction => {\r\n this.routeAnimState = direction;\r\n this.appRef.tick();\r\n });\r\n\r\n // Create form for this page\r\n this.form = this.formBuilder.group({\r\n firstName: ['', Validators.required],\r\n lastName: ['', Validators.required],\r\n email: ['', [Validators.required, EmailValidator.simple]],\r\n company: ['', Validators.required],\r\n license: ['', [Validators.required]],\r\n legal: ['', Validators.requiredTrue],\r\n recaptcha: ['', Validators.required]\r\n });\r\n\r\n if (this.shouldDisplayRole()) {\r\n this.form.addControl('role', this.formBuilder.control('driver'));\r\n }\r\n }\r\n\r\n get role(): string {\r\n return this.form.get('role') ? this.form.get('role').value : null;\r\n }\r\n\r\n onRoleChange() {\r\n\r\n if (this.form.contains('role') && this.form.get('role').value === 'driver') {\r\n this.form.controls['license'].setValidators([Validators.required]);\r\n this.form.controls['license'].updateValueAndValidity();\r\n } else {\r\n this.form.controls['license'].setValidators(null);\r\n this.form.controls['license'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n // Create form for this page\r\n this.form = this.formBuilder.group({\r\n name: ['', Validators.required],\r\n email: ['', [Validators.required, EmailValidator.simple]],\r\n company: ['', Validators.required],\r\n license: ['', [Validators.required]],\r\n legal: ['', Validators.requiredTrue],\r\n recaptcha: ['', Validators.required]\r\n });\r\n if (this.shouldDisplayRole()) {\r\n this.form.addControl('role', this.formBuilder.control('driver'));\r\n }\r\n this.configurationService.getAvailableLanguages()\r\n .subscribe(\r\n languages => {\r\n const selectedLanguage = this.appStorageService.get('lang');\r\n if (selectedLanguage) {\r\n languages.forEach((language) => {\r\n if (language.codeLanguage.toLowerCase() === selectedLanguage) {\r\n this.selectedLanguage = language;\r\n }\r\n });\r\n }\r\n this.availableLanguages = languages;\r\n },\r\n error => {\r\n console.error('An error has occured: ', error);\r\n }\r\n );\r\n }\r\n\r\n shouldDisplayRole(): boolean {\r\n return !this.appConfig.isMobile &&\r\n this.appConfig.config.roles.driver &&\r\n this.appConfig.config.roles.manager;\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.valid) {\r\n this.isLoading = true;\r\n const params: RequestParameter[] = [];\r\n const selectedCountry = this.appStorageService.countrySelected;\r\n params.push(new RequestParameter('countryCode', selectedCountry));\r\n params.push(new RequestParameter('email', this.form.get('email').value));\r\n params.push(new RequestParameter('companyName', this.form.get('company').value));\r\n params.push(new RequestParameter('culture', this.translationStorage.lang.toString()));\r\n params.push(new RequestParameter('subsidiary', selectedCountry));\r\n params.push(new RequestParameter('recaptcha', this.form.get('recaptcha').value));\r\n params.push(new RequestParameter('name', this.form.get('name').value));\r\n params.push(new RequestParameter('plate', this.form.get('license').value));\r\n params.push(new RequestParameter('role',\r\n this.form.get('role').value === 'fleet' ? 'fleetmanager' : this.form.get('role').value));\r\n\r\n this.requestAccessService.tryRequest(params, this.role)\r\n .then((feedback: any) => {\r\n if (feedback.hasOwnProperty('error') && feedback.error !== null) {\r\n this.handleError(feedback.error);\r\n } else if (feedback.state && feedback.state !== 'UserCreated') {\r\n this.handleError(feedback.error);\r\n } else {\r\n this.isLoading = false;\r\n this.navigationDirection.direction = 'forward';\r\n this.gtmService.sendEvent(GTM_EVENTS.signUpUser, 'user created');\r\n this.router.navigate(['/start/sign-up-confirmation']);\r\n }\r\n })\r\n .catch(e => {\r\n this.handleError(e);\r\n this.isLoading = false;\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n handleError(error) {\r\n this.router.navigate(['/start/sign-up-error']);\r\n }\r\n\r\n public changeLanguage(language: SignUpLanguage) {\r\n this.translationService.language = language.codeLanguage;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.navDirectionChangeSubscription.unsubscribe();\r\n window.sessionStorage.removeItem('captcha_cookie_consent_status');\r\n clearInterval(this.interval);\r\n }\r\n\r\n onBackClick() {\r\n this.navigationDirection.direction = 'backward';\r\n this.router.navigate(['/start/login']);\r\n }\r\n\r\n languageFlagName(codeLanguage) {\r\n const shortenedCodeLanguage = codeLanguage.substr(3, 2);\r\n return shortenedCodeLanguage === 'en' ? 'gb' : shortenedCodeLanguage;\r\n }\r\n\r\n linkToTermesOfUse() {\r\n return `${environment.publicDocumentsBaseUrl}/${this.appStorageService.countrySelected}/disclaimer-${this.translationService.language}.pdf`;\r\n }\r\n\r\n linkToCookiesPolicy() {\r\n return this.cookiesService.getCookiesPolicyDocumentUrl(this.translationService.language);\r\n }\r\n\r\n ngDoCheck() {\r\n this.captchaCookieConsentStatus = window.sessionStorage.getItem('captcha_cookie_consent_status');\r\n if (this.captchaCookieConsentStatus === 'agree') {\r\n clearInterval(this.interval);\r\n }\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.interval = setInterval(() => { }, 1000);\r\n }\r\n\r\n}\r\n","import { MaterialModule } from '../shared/ui/material/material.module';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StartComponent } from './start/start.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { AllowNotificationComponent } from './allow-notification/allow-notification.component';\r\nimport { AssistanceComponent } from './assistance/assistance.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { SignUpComponent } from './sign-up/sign-up.component';\r\nimport { SignUpConfirmationComponent } from './sign-up-confirmation/sign-up-confirmation.component';\r\nimport { ForgotPasswordConfirmationComponent } from './forgot-password-confirmation/forgot-password-confirmation.component';\r\nimport { AccountDisabledComponent } from './account-disabled/account-disabled.component';\r\nimport { SignUpDeniedComponent } from './sign-up-denied/sign-up-denied.component';\r\nimport { SignUpErrorComponent } from './sign-up-error/sign-up-error.component';\r\nimport { AuthService } from '../shared/authentication/auth.service';\r\nimport { EndForgotPasswordComponent } from './end-forgot-password/end-forgot-password.component';\r\nimport { SuccessComponent } from './success/success.component';\r\nimport { AccessService } from '../shared/authentication/access.service';\r\nimport { SignUpProspectComponent } from './sign-up-prospect/sign-up-prospect.component';\r\nimport { ProspectCreatePasswordComponent } from './prospect-create-password/prospect-create-password.component';\r\nimport { environment } from '../../environments/environment';\r\nimport { PasswordVisiblityToggleModule } from '../shared/directives/password-visibility-toggle/password-visibility-toggle.module';\r\nimport { GtmModule } from '../shared/gtm/gtm.module';\r\nimport { RecaptchaModule, RecaptchaFormsModule, RECAPTCHA_SETTINGS, RecaptchaSettings } from 'ng-recaptcha';\r\nimport { MyAldUiModule } from 'app/shared/ui/myald-ui/myald-ui.module';\r\n\r\nconst ROUTES = [\r\n\r\n {\r\n path: '',\r\n component: StartComponent\r\n },\r\n\r\n {\r\n path: 'sign-up',\r\n component: SignUpComponent\r\n },\r\n\r\n {\r\n path: 'sign-up-prospect/:id',\r\n component: SignUpProspectComponent\r\n },\r\n\r\n {\r\n path: 'sign-up-confirmation',\r\n component: SignUpConfirmationComponent\r\n },\r\n\r\n {\r\n path: 'login',\r\n component: LoginComponent\r\n },\r\n\r\n {\r\n path: 'forgot-password',\r\n component: ForgotPasswordComponent\r\n },\r\n\r\n {\r\n path: 'success',\r\n component: SuccessComponent\r\n },\r\n\r\n {\r\n path: 'end-forgot-password',\r\n component: EndForgotPasswordComponent\r\n },\r\n\r\n {\r\n path: 'forgot-password-confirmation',\r\n component: ForgotPasswordConfirmationComponent\r\n },\r\n\r\n {\r\n path: 'allow-notification',\r\n component: AllowNotificationComponent,\r\n canActivate: [AuthService, AccessService]\r\n },\r\n\r\n {\r\n path: 'assistance',\r\n component: AssistanceComponent\r\n },\r\n\r\n {\r\n path: 'account-disabled',\r\n component: AccountDisabledComponent\r\n },\r\n\r\n {\r\n path: 'sign-up-denied',\r\n component: SignUpDeniedComponent\r\n },\r\n\r\n {\r\n path: 'sign-up-error',\r\n component: SignUpErrorComponent\r\n },\r\n\r\n {\r\n path: 'create-password-prospect',\r\n component: ProspectCreatePasswordComponent\r\n },\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule.forChild(ROUTES),\r\n TranslateModule,\r\n SharedModule,\r\n PasswordVisiblityToggleModule,\r\n GtmModule,\r\n RecaptchaModule,\r\n RecaptchaFormsModule,\r\n MaterialModule,\r\n MyAldUiModule,\r\n ],\r\n declarations: [\r\n StartComponent,\r\n LoginComponent,\r\n ForgotPasswordComponent,\r\n EndForgotPasswordComponent,\r\n SuccessComponent,\r\n AllowNotificationComponent,\r\n AssistanceComponent,\r\n SignUpComponent,\r\n SignUpConfirmationComponent,\r\n ForgotPasswordConfirmationComponent,\r\n AccountDisabledComponent,\r\n SignUpDeniedComponent,\r\n SignUpErrorComponent,\r\n ProspectCreatePasswordComponent,\r\n SignUpProspectComponent\r\n ],\r\n exports: [\r\n StartComponent,\r\n RouterModule\r\n ],\r\n providers: [\r\n {\r\n provide: RECAPTCHA_SETTINGS,\r\n useValue: { siteKey: environment.siteKey } as RecaptchaSettings,\r\n },\r\n ]\r\n})\r\nexport class StartModule {\r\n}\r\n","module.exports = \"\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvc3RhcnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcX3RoZW1lLWltcG9ydHMuc2NzcyIsInNyYy9hcHAvc3RhcnQvc3RhcnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2ZvbnRzLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3N0YXJ0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3N0YXJ0L0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9lYXNpbmcuc2NzcyIsInNyYy9hcHAvc3RhcnQvc3RhcnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdXRpbHNcXF9taXhpbnMuc2NzcyIsInNyYy9hcHAvc3RhcnQvc3RhcnQvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUMiLCJmaWxlIjoic3JjL2FwcC9zdGFydC9zdGFydC9zdGFydC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblxyXG5UaGlzIGZpbGUgZXhpc3RzIHRvIGFsbG93IGNvbXBvbmVudCBTQ1NTIGZpbGVzIHRvIG9ubHkgaW1wb3J0IG9uZSBmaWxlIGFuZCBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIFNDU1MgdmFycyBhbmQgdXRpbHMuXHJcblxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJ2YXJzL19icmVha3BvaW50cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19mb250cy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ2YXJzL19kaW1lbnNpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2Vhc2luZy5zY3NzXCI7XHJcblxyXG5AaW1wb3J0IFwidXRpbHMvX21peGlucy5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ1dGlscy9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIn5AYWxkL3VpL2xpYi9zdHlsZXMvYWJzdHJhY3RzL2FsZC11aS5hYnN0cmFjdFwiO1xyXG5cclxuIiwiLypcclxuXHJcbiAgRm9udCB3ZWlnaHRzLCBhY2NvcmRpbmcgdG8gTW96aWxsYSdzIHJlY29tbWVuZGF0aW9ucyA6XHJcblxyXG4gIDEwMCA6IFRoaW5cclxuICAzMDAgOiBMaWdodFxyXG4gIDQwMCA6IFJlZ3VsYXJcclxuICA1MDAgOiBNZWRpdW1cclxuICA2MDAgOiBTZW1pLUJvbGRcclxuICA3MDAgOiBCb2xkXHJcbiAgODAwIDogQmxhY2tcclxuXHJcbiovXHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNTAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA2MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDcwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogODAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA5MDA7XHJcblxyXG4iLCIkb3MtcGFkZGluZzogMTBweDtcclxuXHJcbi8qXHJcblxyXG5Nb3N0IGNvbnRhaW5lcnMgYXJlIGNlbnRlcmVkIGFuZCBhcmUgcHJvcG9ydGlvbmFsIHRvIHRoZWlyIGNvbnRhaW5lciwgYnV0IG5lZWQgdG8gc2F5IHJlYWRhYmxlXHJcblxyXG4gKi9cclxuJGNvbnRlbnQtd2lkdGg6IDc1JTtcclxuJG1heC1jb250ZW50LXdpZHRoIDogMzBlbTtcclxuXHJcbi8qKlxyXG5cclxuQm9yZGVyIHJhZGl1cyBvZiBtYWluIGJ1dHRvbnNcclxuXHJcbiAqL1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblxyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gbXVsdGkgc2VsZWN0XHJcblxyXG4gKi9cclxuXHJcbiAkYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5Nb3N0IHRleHQgYnV0dG9ucyBoYXZlIGEgbWluaW11bSB3aWR0aC5cclxuXHJcbiAqL1xyXG4kbWluLWJ1dHRvbi13aWR0aDogMTMwcHg7XHJcbiRtaW4tYnV0dG9uLWhlaWdodDogNjBweDtcclxuXHJcbiRzdGlja3ktaGVhZGVyLWhlaWdodDogNDBweDtcclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDgwcHg7XHJcblxyXG4vLyBmb3JtIHN0aWNreS1oZWFkZXJcclxuJHN0aWNreS1oZWFkZXItZm9ybS1oZWlnaHQ6IDU1cHg7XHJcblxyXG5cclxuLypcclxuXHJcblVzZXIgbWVudVxyXG5cclxuICovXHJcblxyXG4kdXNlci1tZW51LWhlaWdodDogNjVweDtcclxuLy8gRGVza3RvcCBkaW1lbnNpb25cclxuJHVzZXItbWVudS13aWR0aC1kZXNrdG9wOiAyNTBweDtcclxuJHVzZXItbWVudS1oZWlnaHQtZGVza3RvcDogMTAwJTtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZlZWRcclxuXHJcblxyXG4gKi9cclxuXHJcbiRmZWVkLWhlYWRlci1oZWlnaHQ6IDcwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5Ob3RpZmljYXRpb25zXHJcblxyXG5cclxuICovXHJcblxyXG4kbm90aWZpY2F0aW9uLWNvbnRhaW5lci1wYWRkaW5nLXRvcDogMjB2aDtcclxuXHJcbiRub3RpZmljYXRpb24tbWluLWhlaWdodDogMTUwcHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLWljb24tc2l6ZTogNjBweDtcclxuXHJcbi8qXHJcblxyXG5cclxuTW9yZVxyXG5cclxuXHJcbiovXHJcblxyXG4kbW9yZS1oZWFkZXItaGVpZ2h0OiAxNTBweDtcclxuXHJcblxyXG5cclxuLypcclxuXHJcblxyXG5GdWVsIGNhcmRcclxuXHJcblxyXG4gKi9cclxuJGZ1ZWwtY2FyZC13aWR0aDogMzE1cHg7XHJcbiRmdWVsLWNhcmQtaGVpZ2h0OiAyMDBweDtcclxuJGZ1ZWwtY2FyZC1wYWRkaW5nOiAyNnB4O1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxubWV1IGNhcnMgYW5kIGRvY3VtZW50c1xyXG5cclxuXHJcbiAqL1xyXG4kY2Fycy1tZW51LWhlaWdodDogMTEwcHg7XHJcblxyXG5cclxuLypcclxuXHJcblNuYWNrYmFyXHJcblxyXG4qL1xyXG5cclxuJGJveC1zaGFkb3c6IDFweCAzcHggMjBweCA1cHggdHJhbnNwYXJlbnRpemUoYmxhY2ssIDAuOTIpO1xyXG4iLCIkcXVhZC1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuJGN1YmljLWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiRxdWFydC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kcXVpbnQtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuJHNpbmUtZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbiRleHBvLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kY2lyYy1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcclxuXHJcbiRxdWFkLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xyXG4kY3ViaWMtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJHF1YXJ0LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbiRxdWludC1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xyXG4kc2luZS1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGV4cG8tZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XHJcbiRjaXJjLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xyXG5cclxuJHF1YWQtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRjdWJpYy1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcclxuJHF1aW50LWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xyXG4kZXhwby1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDEuMDAwLCAwLjAwMCwgMC4wMDAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBuby10b3VjaCB7XHJcbiAgIGh0bWwubm8tdG91Y2ggJiB7XHJcbiAgICAgICBAY29udGVudDtcclxuICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFjZSggJG5hbWUsICRmaWxlbmFtZSwgJHN0eWxlIDogbm9ybWFsLCAkd2VpZ2h0IDogNDAwKSB7XHJcblxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgICAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICAgICAgc3JjIDogdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uZW90P1wiKSBmb3JtYXQoXCJlb3RcIiksXHJcbiAgICAgICAgICAgIC8vdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIC8vIGlmIHdlIGdldCB3b2ZmMiBmb250cywgYWN0aXZhdGUgdGhpc1xyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0uc3ZnIyN7JG5hbWV9XCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnYm90aCcge1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbi8qKlxyXG5cclxuU2NyZWVuIFNpemUgTWVkaWEgUXVlcnkgTWl4aW5zXHJcblxyXG4qKi9cclxuXHJcbkBtaXhpbiBtaW4td2lkdGgoJGJyZWFrcG9pbnQtbmFtZSwgJGV4dHJhIDogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG1heC13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmE6IG51bGwpIHtcclxuICAgIEBpZiAobWFwLWhhcy1rZXkoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHsgLy8gQ2hlY2sgYnJlYWtwb2ludCBleGlzdHNcclxuXHJcbiAgICAgICAgQGlmICgkZXh0cmEpIHtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgYW5kICN7JGV4dHJhfSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkNvdWxkbid0IGZpbmQgYnJlYWtwb2ludCBuYW1lZCA6IFwiKyRicmVha3BvaW50LW5hbWVcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4vLyB2aXNpYmlsaXR5IC8gb3BhY2l0eSBmYWRlIG91dCB0cmlja1xyXG5AbWl4aW4gZmFkZS1vdXQoICRkdXJhdGlvbiA6IDI1MG1zLCAkZGVsYXkgOiAwbXMgKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAkZHVyYXRpb24gICAgZWFzZS1vdXQgICAgI3swbXMgKyAkZGVsYXl9LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAwbXMgICAgICAgICAgbGluZWFyICAgICAgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgaW4gdHJpY2tcclxuQG1peGluIGZhZGUtaW4oJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcykge1xyXG5cclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgICAgICRkdXJhdGlvbiAgIGVhc2Utb3V0ICAgICRkZWxheSxcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHkgIDBtcyAgICAgICAgIGxpbmVhciAgICAgICRkZWxheTtcclxuXHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHJhdGlvLW9yLXdpZHRoLCAkaGVpZ2h0OiBudWxsKSB7XHJcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZSgkaGVpZ2h0LyRyYXRpby1vci13aWR0aCksIHBlcmNlbnRhZ2UoMS8kcmF0aW8tb3Itd2lkdGgpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBicmVhbHBvaW50cyAmIG1lZGlhcXVlcmllcyBtaXhpbnMgKi9cclxuJHNjcmVlbi1icmVha3BvaW50cyA6IChcclxuICAgIHh4cyAgICA6IDM3NXB4LFxyXG4gICAgeHMgICAgIDogNDgwcHgsXHJcbiAgICBzICAgICAgOiA3NjhweCxcclxuICAgIG0gICAgICA6IDk4MHB4LFxyXG4gICAgbCAgICAgIDogMTI4MHB4LFxyXG4gICAgeGwgICAgICA6IDE1ODBweFxyXG4pO1xyXG5cclxuLy8gdXNlIHdpdGggQGluY2x1ZGUgc2NyZWVuKHMpe30gb3IgQGluY2x1ZGUgc2NyZWVuKG0sIG1pbil7fV1cclxuQG1peGluIHNjcmVlbigkc2l6ZSwgJHR5cGU6IG1heCwgJHBpeGVsczogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAncycpKSB7XHJcbiAgQGlmICRzaXplID09ICd4cycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4cycpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAncycge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdtJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ20nKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2wnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAneGwnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ2N1c3RvbScge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiAkcGl4ZWxzICsgcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iXX0= */\"","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-start',\r\n templateUrl: './start.component.html',\r\n styleUrls: ['./start.component.scss']\r\n})\r\nexport class StartComponent {\r\n\r\n constructor(private router: Router) {\r\n\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n

{{'start-success_page-title'| translate}}

\\r\\n\\r\\n

\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n

{{'start-success_page-find_driver'| translate}}

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"/*\\r\\n\\r\\nThis file exists to allow component SCSS files to only import one file and have access to all the SCSS vars and utils.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n Font weights, according to Mozilla's recommendations :\\r\\n\\r\\n 100 : Thin\\r\\n 300 : Light\\r\\n 400 : Regular\\r\\n 500 : Medium\\r\\n 600 : Semi-Bold\\r\\n 700 : Bold\\r\\n 800 : Black\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\nMost containers are centered and are proportional to their container, but need to say readable\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main buttons\\r\\n\\r\\n */\\n/**\\r\\n\\r\\nBorder radius of main multi select\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nMost text buttons have a minimum width.\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nUser menu\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nFeed\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nNotifications\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nMore\\r\\n\\r\\n\\r\\n*/\\n/*\\r\\n\\r\\n\\r\\nFuel card\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\n\\r\\nmeu cars and documents\\r\\n\\r\\n\\r\\n */\\n/*\\r\\n\\r\\nSnackbar\\r\\n\\r\\n*/\\n@-webkit-keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n@keyframes fade {\\n 0% {\\n opacity: 0; }\\n 100% {\\n opacity: 1; } }\\n/**\\r\\n\\r\\nScreen Size Media Query Mixins\\r\\n\\r\\n**/\\n/* brealpoints & mediaqueries mixins */\\n:host {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background-color: #00cfff;\\n text-align: center; }\\n.container {\\n position: absolute;\\n top: 50%;\\n left: 0;\\n right: 0;\\n transform: translateY(-50%);\\n width: 75%;\\n margin: auto;\\n max-width: 560px; }\\nh1 {\\n margin-bottom: 13px;\\n font-size: 1.875em;\\n font-weight: 600;\\n line-height: 1.23333333em; }\\np {\\n margin-bottom: 40px;\\n font-weight: 400;\\n font-size: 1.125em;\\n line-height: 1.38888889em; }\\n.cta-container {\\n position: relative; }\\n.cta-container-para {\\n margin-bottom: 15px;\\n margin-top: 40px; }\\n.app-download-button {\\n display: block;\\n width: 170px;\\n position: absolute;\\n margin: auto;\\n left: 0;\\n right: 0; }\\n.app-download-button img {\\n width: 100%; }\\n.apple-store {\\n top: 100px; }\\n@media screen and (min-width: 980px) {\\n :host {\\n background-color: #FFFFFF; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQvc3VjY2Vzcy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9zcmNcXGFzc2V0c1xcYWxkXFxzY3NzXFxfdGhlbWUtaW1wb3J0cy5zY3NzIiwic3JjL2FwcC9zdGFydC9zdWNjZXNzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9mb250cy5zY3NzIiwic3JjL2FwcC9zdGFydC9zdWNjZXNzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHZhcnNcXF9kaW1lbnNpb25zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3N1Y2Nlc3MvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvc3JjXFxhc3NldHNcXGFsZFxcc2Nzc1xcdmFyc1xcX2Vhc2luZy5zY3NzIiwic3JjL2FwcC9zdGFydC9zdWNjZXNzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXNzZXRzXFxhbGRcXHNjc3NcXHV0aWxzXFxfbWl4aW5zLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3N1Y2Nlc3MvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX3NjcmVlbi5zY3NzIiwic3JjL2FwcC9zdGFydC9zdWNjZXNzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL3NyY1xcYXBwXFxzdGFydFxcc3VjY2Vzc1xcc3VjY2Vzcy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc3RhcnQvc3VjY2Vzcy9DOlxcYXp1cmUuZGV2b3BzXFxhZ2VudC0xXFxfd29ya1xcNFxccy9ub2RlX21vZHVsZXNcXEBhbGRcXHVpXFxsaWJcXHN0eWxlc1xcYWJzdHJhY3RzXFxfY29sb3JzLnNjc3MiLCJzcmMvYXBwL3N0YXJ0L3N1Y2Nlc3MvQzpcXGF6dXJlLmRldm9wc1xcYWdlbnQtMVxcX3dvcmtcXDRcXHMvbm9kZV9tb2R1bGVzXFxAYWxkXFx1aVxcbGliXFxzdHlsZXNcXGFic3RyYWN0c1xcX21peGlucy5zY3NzIiwic3JjL2FwcC9zdGFydC9zdWNjZXNzL0M6XFxhenVyZS5kZXZvcHNcXGFnZW50LTFcXF93b3JrXFw0XFxzL25vZGVfbW9kdWxlc1xcQGFsZFxcdWlcXGxpYlxcc3R5bGVzXFxhYnN0cmFjdHNcXF9mb250cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUNKSDs7Ozs7Ozs7Ozs7O0VBWUU7QUNWRjs7OztHQUlHO0FBSUg7Ozs7R0FJRztBQUlIOzs7O0dBSUc7QUFLSDs7OztHQUlHO0FBV0g7Ozs7R0FJRztBQVFIOzs7Ozs7R0FNRztBQUtIOzs7Ozs7R0FNRztBQVFIOzs7Ozs7RUFNRTtBQU1GOzs7Ozs7R0FNRztBQU1IOzs7Ozs7R0FNRztBQUlIOzs7O0VBSUU7QUM3RkY7RUFDSTtJQUFPLFdBQVUsRUFBQTtFQUNqQjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBTyxXQUFVLEVBQUE7RUFDakI7SUFBTyxXQUFVLEVBQUEsRUFBQTtBQzhCckI7Ozs7R0FJRztBQzVESCx1Q0FBdUM7QUNFdkM7RUFDSSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWTtFQUNaLDBCQ0hvQjtFRElwQixtQkFBa0IsRUFDckI7QUFFRDtFQUNJLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsUUFBTztFQUNQLFNBQVE7RUFDUiw0QkFBMkI7RUFDM0IsV0FBVTtFQUNWLGFBQVk7RUFDWixpQkFBZ0IsRUFDbkI7QUFFRDtFQUNJLG9CQUFtQjtFQUNuQixtQkVpRzhCO0VGaEc5QixpQkFBZ0I7RUFDaEIsMEJFK0Y4QixFRjlGakM7QUFFRDtFQUNJLG9CQUFtQjtFQUNuQixpQkdIdUI7RUhJdkIsbUJFeUY4QjtFRnhGOUIsMEJFd0Y4QixFRnZGakM7QUFFRDtFQUNJLG1CQUFrQixFQUtyQjtBQUpHO0lBQ0ksb0JBQW1CO0lBQ25CLGlCQUFnQixFQUNuQjtBQUdMO0VBQ0ksZUFBYztFQUNkLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLFFBQU87RUFDUCxTQUFRLEVBS1g7QUFYRDtJQVNRLFlBQVcsRUFDZDtBQUdMO0VBQ0ksV0FBVSxFQUNiO0FGYVc7RUVWUjtJQUNJLDBCQ25EUSxFRG9EWCxFQUFBIiwiZmlsZSI6InNyYy9hcHAvc3RhcnQvc3VjY2Vzcy9zdWNjZXNzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuXHJcblRoaXMgZmlsZSBleGlzdHMgdG8gYWxsb3cgY29tcG9uZW50IFNDU1MgZmlsZXMgdG8gb25seSBpbXBvcnQgb25lIGZpbGUgYW5kIGhhdmUgYWNjZXNzIHRvIGFsbCB0aGUgU0NTUyB2YXJzIGFuZCB1dGlscy5cclxuXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcInZhcnMvX2JyZWFrcG9pbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2ZvbnRzLnNjc3NcIjtcclxuQGltcG9ydCBcInZhcnMvX2RpbWVuc2lvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidmFycy9fZWFzaW5nLnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgXCJ1dGlscy9fbWl4aW5zLnNjc3NcIjtcclxuQGltcG9ydCBcInV0aWxzL19mdW5jdGlvbnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwifkBhbGQvdWkvbGliL3N0eWxlcy9hYnN0cmFjdHMvYWxkLXVpLmFic3RyYWN0XCI7XHJcblxyXG4iLCIvKlxyXG5cclxuICBGb250IHdlaWdodHMsIGFjY29yZGluZyB0byBNb3ppbGxhJ3MgcmVjb21tZW5kYXRpb25zIDpcclxuXHJcbiAgMTAwIDogVGhpblxyXG4gIDMwMCA6IExpZ2h0XHJcbiAgNDAwIDogUmVndWxhclxyXG4gIDUwMCA6IE1lZGl1bVxyXG4gIDYwMCA6IFNlbWktQm9sZFxyXG4gIDcwMCA6IEJvbGRcclxuICA4MDAgOiBCbGFja1xyXG5cclxuKi9cclxuXHJcbiRmb250LXdlaWdodC10aGluICAgICA6IDEwMDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0ICAgIDogMzAwO1xyXG4kZm9udC13ZWlnaHQtcmVndWxhciAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW0gICA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWlib2xkIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgOiA4MDA7XHJcbiRmb250LXdlaWdodC1ibGFjayAgICA6IDkwMDtcclxuXHJcbiIsIiRvcy1wYWRkaW5nOiAxMHB4O1xyXG5cclxuLypcclxuXHJcbk1vc3QgY29udGFpbmVycyBhcmUgY2VudGVyZWQgYW5kIGFyZSBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgY29udGFpbmVyLCBidXQgbmVlZCB0byBzYXkgcmVhZGFibGVcclxuXHJcbiAqL1xyXG4kY29udGVudC13aWR0aDogNzUlO1xyXG4kbWF4LWNvbnRlbnQtd2lkdGggOiAzMGVtO1xyXG5cclxuLyoqXHJcblxyXG5Cb3JkZXIgcmFkaXVzIG9mIG1haW4gYnV0dG9uc1xyXG5cclxuICovXHJcbiRidXR0b24tYm9yZGVyLXJhZGl1czogMzBweDtcclxuXHJcblxyXG4vKipcclxuXHJcbkJvcmRlciByYWRpdXMgb2YgbWFpbiBtdWx0aSBzZWxlY3RcclxuXHJcbiAqL1xyXG5cclxuICRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cclxuLypcclxuXHJcbk1vc3QgdGV4dCBidXR0b25zIGhhdmUgYSBtaW5pbXVtIHdpZHRoLlxyXG5cclxuICovXHJcbiRtaW4tYnV0dG9uLXdpZHRoOiAxMzBweDtcclxuJG1pbi1idXR0b24taGVpZ2h0OiA2MHB4O1xyXG5cclxuJHN0aWNreS1oZWFkZXItaGVpZ2h0OiA0MHB4O1xyXG4kc3RpY2t5LWhlYWRlci1oZWlnaHQtZGVza3RvcDogODBweDtcclxuXHJcbi8vIGZvcm0gc3RpY2t5LWhlYWRlclxyXG4kc3RpY2t5LWhlYWRlci1mb3JtLWhlaWdodDogNTVweDtcclxuXHJcblxyXG4vKlxyXG5cclxuVXNlciBtZW51XHJcblxyXG4gKi9cclxuXHJcbiR1c2VyLW1lbnUtaGVpZ2h0OiA2NXB4O1xyXG4vLyBEZXNrdG9wIGRpbWVuc2lvblxyXG4kdXNlci1tZW51LXdpZHRoLWRlc2t0b3A6IDI1MHB4O1xyXG4kdXNlci1tZW51LWhlaWdodC1kZXNrdG9wOiAxMDAlO1xyXG5cclxuXHJcbi8qXHJcblxyXG5cclxuRmVlZFxyXG5cclxuXHJcbiAqL1xyXG5cclxuJGZlZWQtaGVhZGVyLWhlaWdodDogNzBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbk5vdGlmaWNhdGlvbnNcclxuXHJcblxyXG4gKi9cclxuXHJcbiRub3RpZmljYXRpb24tY29udGFpbmVyLXBhZGRpbmctdG9wOiAyMHZoO1xyXG5cclxuJG5vdGlmaWNhdGlvbi1taW4taGVpZ2h0OiAxNTBweDtcclxuXHJcbiRub3RpZmljYXRpb24taWNvbi1zaXplOiA2MHB4O1xyXG5cclxuLypcclxuXHJcblxyXG5Nb3JlXHJcblxyXG5cclxuKi9cclxuXHJcbiRtb3JlLWhlYWRlci1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHJcblxyXG4vKlxyXG5cclxuXHJcbkZ1ZWwgY2FyZFxyXG5cclxuXHJcbiAqL1xyXG4kZnVlbC1jYXJkLXdpZHRoOiAzMTVweDtcclxuJGZ1ZWwtY2FyZC1oZWlnaHQ6IDIwMHB4O1xyXG4kZnVlbC1jYXJkLXBhZGRpbmc6IDI2cHg7XHJcblxyXG5cclxuLypcclxuXHJcblxyXG5tZXUgY2FycyBhbmQgZG9jdW1lbnRzXHJcblxyXG5cclxuICovXHJcbiRjYXJzLW1lbnUtaGVpZ2h0OiAxMTBweDtcclxuXHJcblxyXG4vKlxyXG5cclxuU25hY2tiYXJcclxuXHJcbiovXHJcblxyXG4kYm94LXNoYWRvdzogMXB4IDNweCAyMHB4IDVweCB0cmFuc3BhcmVudGl6ZShibGFjaywgMC45Mik7XHJcbiIsIiRxdWFkLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kY3ViaWMtZWFzZS1pbiAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuJHF1YXJ0LWVhc2UtaW4gICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XHJcbiRxdWludC1lYXNlLWluICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kc2luZS1lYXNlLWluICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KTtcclxuJGV4cG8tZWFzZS1pbiAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XHJcbiRjaXJjLWVhc2UtaW4gICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG5cclxuJHF1YWQtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XHJcbiRjdWJpYy1lYXNlLW91dCAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4kcXVhcnQtZWFzZS1vdXQgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJHF1aW50LWVhc2Utb3V0ICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbiRzaW5lLWVhc2Utb3V0ICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xyXG4kZXhwby1lYXNlLW91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGNpcmMtZWFzZS1vdXQgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcblxyXG4kcXVhZC1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcclxuJGN1YmljLWVhc2UtaW4tb3V0ICAgICAgICA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRxdWFydC1lYXNlLWluLW91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG4kcXVpbnQtZWFzZS1pbi1vdXQgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcclxuJHNpbmUtZWFzZS1pbi1vdXQgICAgICAgICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRleHBvLWVhc2UtaW4tb3V0ICAgICAgICAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xyXG4kY2lyYy1lYXNlLWluLW91dCAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbkBrZXlmcmFtZXMgZmFkZSB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG4iLCJcclxuQG1peGluIG5vLXRvdWNoIHtcclxuICAgaHRtbC5uby10b3VjaCAmIHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJGZpbGVuYW1lLCAkc3R5bGUgOiBub3JtYWwsICR3ZWlnaHQgOiA0MDApIHtcclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgICAgIC8vIFJlbGF0aXZlIGZvbnQgcGF0aHMgYnJlYWsgdGhlIHdlYnBhY2sgYnVpbGRcclxuICAgICAgICBzcmMgOiB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgICAgICAgICAgLy91cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgLy8gaWYgd2UgZ2V0IHdvZmYyIGZvbnRzLCBhY3RpdmF0ZSB0aGlzXHJcbiAgICAgICAgICAgICAgdXJsKFwiL2Fzc2V0cy8jeyR0aGVtZS1uYW1lfS9mb250cy8jeyRmaWxlbmFtZX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxyXG4gICAgICAgICAgICAgIHVybChcIi9hc3NldHMvI3skdGhlbWUtbmFtZX0vZm9udHMvI3skZmlsZW5hbWV9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgICAgICAgICAgICB1cmwoXCIvYXNzZXRzLyN7JHRoZW1lLW5hbWV9L2ZvbnRzLyN7JGZpbGVuYW1lfS5zdmcjI3skbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBcclxuICAgIEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdob3Jpem9udGFsJyB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG5cclxuLyoqXHJcblxyXG5TY3JlZW4gU2l6ZSBNZWRpYSBRdWVyeSBNaXhpbnNcclxuXHJcbioqL1xyXG5cclxuQG1peGluIG1pbi13aWR0aCgkYnJlYWtwb2ludC1uYW1lLCAkZXh0cmEgOiBudWxsKSB7XHJcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSB7IC8vIENoZWNrIGJyZWFrcG9pbnQgZXhpc3RzXHJcblxyXG4gICAgICAgIEBpZiAoJGV4dHJhKSB7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkge1xyXG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWF4LXdpZHRoKCRicmVha3BvaW50LW5hbWUsICRleHRyYTogbnVsbCkge1xyXG4gICAgQGlmIChtYXAtaGFzLWtleSgkc2NyZWVuLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lKSkgeyAvLyBDaGVjayBicmVha3BvaW50IGV4aXN0c1xyXG5cclxuICAgICAgICBAaWYgKCRleHRyYSkge1xyXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKSBhbmQgI3skZXh0cmF9IHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZSkpIHtcclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQ291bGRuJ3QgZmluZCBicmVha3BvaW50IG5hbWVkIDogXCIrJGJyZWFrcG9pbnQtbmFtZVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtc21vb3RoaW5nKCkge1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8vIHZpc2liaWxpdHkgLyBvcGFjaXR5IGZhZGUgb3V0IHRyaWNrXHJcbkBtaXhpbiBmYWRlLW91dCggJGR1cmF0aW9uIDogMjUwbXMsICRkZWxheSA6IDBtcyApIHtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICAgICRkdXJhdGlvbiAgICBlYXNlLW91dCAgICAjezBtcyArICRkZWxheX0sXHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5IDBtcyAgICAgICAgICBsaW5lYXIgICAgICAjeyRkdXJhdGlvbiArICRkZWxheX07XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb24gOiAyNTBtcywgJGRlbGF5IDogMG1zKSB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAgICAgJGR1cmF0aW9uICAgZWFzZS1vdXQgICAgJGRlbGF5LFxyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eSAgMG1zICAgICAgICAgbGluZWFyICAgICAgJGRlbGF5O1xyXG5cclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcclxuICAgICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxLyRyYXRpby1vci13aWR0aCkpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGJyZWFscG9pbnRzICYgbWVkaWFxdWVyaWVzIG1peGlucyAqL1xyXG4kc2NyZWVuLWJyZWFrcG9pbnRzIDogKFxyXG4gICAgeHhzICAgIDogMzc1cHgsXHJcbiAgICB4cyAgICAgOiA0ODBweCxcclxuICAgIHMgICAgICA6IDc2OHB4LFxyXG4gICAgbSAgICAgIDogOTgwcHgsXHJcbiAgICBsICAgICAgOiAxMjgwcHgsXHJcbiAgICB4bCAgICAgIDogMTU4MHB4XHJcbik7XHJcblxyXG4vLyB1c2Ugd2l0aCBAaW5jbHVkZSBzY3JlZW4ocyl7fSBvciBAaW5jbHVkZSBzY3JlZW4obSwgbWluKXt9XVxyXG5AbWl4aW4gc2NyZWVuKCRzaXplLCAkdHlwZTogbWF4LCAkcGl4ZWxzOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdzJykpIHtcclxuICBAaWYgJHNpemUgPT0gJ3hzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3hzJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICdzJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbi1icmVha3BvaW50cywgJ3MnKSkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHNpemUgPT0gJ20nIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkdHlwZSArIC13aWR0aDogbWFwLWdldCgkc2NyZWVuLWJyZWFrcG9pbnRzLCAnbScpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnbCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICdsJykpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRzaXplID09ICd4bCcge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCR0eXBlICsgLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW4tYnJlYWtwb2ludHMsICd4bCcpKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkc2l6ZSA9PSAnY3VzdG9tJyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJHR5cGUgKyAtd2lkdGg6ICRwaXhlbHMgKyBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9hc3NldHMvYWxkL3Njc3MvX3RoZW1lLWltcG9ydHMuc2Nzc1wiO1xyXG5cclxuOmhvc3Qge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJ3ByaW1hcnktbGlnaHQnKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHdpZHRoOiA3NSU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xyXG59XHJcblxyXG5oMSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xyXG4gICAgZm9udC1zaXplOiBlbSgzMHB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMzdweCwgMzBweCk7XHJcbn1cclxuXHJcbnAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogZW0oMThweCk7XHJcbiAgICBsaW5lLWhlaWdodDogZW0oMjVweCwgMThweCk7XHJcbn1cclxuXHJcbi5jdGEtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICYtcGFyYSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYXBwLWRvd25sb2FkLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxNzBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYXBwbGUtc3RvcmUge1xyXG4gICAgdG9wOiAxMDBweDtcclxufVxyXG5cclxuQGluY2x1ZGUgbWluLXdpZHRoKG0pIHtcclxuICAgIDpob3N0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGQtY29sb3JzLCAnbGlnaHQnKTtcclxuICAgIH1cclxufVxyXG4iLCIvLyAjIyBHZW5lcmFsIFRoZW1lIENvbG9yc1xyXG5cclxuJGFsZC1jb2xvcnM6IChcclxuICAvLyBNYWluIENvbG9yc1xyXG4gIHByaW1hcnk6ICMwNTBiN2YsXHJcbiAgcHJpbWFyeS1saWdodDogIzAwY2ZmZixcclxuICBzZWNvbmRhcnk6ICM1ZTRmZWEsXHJcblxyXG4gIGFsdGVybmF0ZTEgOiAjNDFiN2ZmLFxyXG4gIGFsdGVybmF0ZTI6ICMwMDkzZmYsXHJcbiAgY29tcGxlbWVudGFyeTE6ICMwMGU2YzIsXHJcbiAgY29tcGxlbWVudGFyeTI6ICNkYzAwZmYsXHJcblxyXG4gIGxpZ2h0OiAjRkZGRkZGLFxyXG4gIC8vIEdyYXkgU2hhZGVzXHJcbiAgZ3JheS0xMDA6ICNmYWZhZmEsXHJcbiAgZ3JheS0yMDA6ICNlZmVmZWYsXHJcbiAgZ3JheS0zMDA6ICNkN2Q3ZDcsXHJcbiAgZ3JheS00MDA6ICNjZWNlY2UsXHJcbiAgZ3JheS01MDA6ICNiYWJhYmEsXHJcbiAgZ3JheS02MDA6ICNiNWI1YjUsXHJcbiAgZ3JheS03MDA6ICM3ZTdlN2UsXHJcbiAgZ3JheS04MDA6ICM1MjUyNTIsXHJcbiAgZ3JheS05MDA6ICM1MjUyNTIsXHJcblxyXG4gIC8vIFN0YXR1c1xyXG4gIGRhbmdlcjogI2YyMmYzYixcclxuICB3YXJuaW5nOiAjZmY5MzFmLFxyXG4gIGluZm86ICM1ZTRmZWEsXHJcbiAgc3VjY2VzczogIzAwZTZjMixcclxuKTtcclxuIiwiQG1peGluIG5vLXRvdWNoIHtcclxuICBodG1sLm5vLXRvdWNoICYge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIGZsZXgtYm94IHByb3BlcnRpZXMgZm9yIGFsaWdubWVudFxyXG5AbWl4aW4gZmxleC1ib3goJGRpcmVjdGlvbiwgJGl0ZW1BbGlnbm1lbnQsICRqdXN0aWZ5KSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbiAgQGlmICRpdGVtQWxpZ25tZW50ICE9IFwidW5zZXRcIiB7XHJcbiAgICBhbGlnbi1pdGVtczogJGl0ZW1BbGlnbm1lbnQ7XHJcbiAgfVxyXG4gIEBpZiAkanVzdGlmeSAhPSBcInVuc2V0XCIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICB9XHJcbn1cclxuXHJcbi8vIHRleHQgY29sb3IgYW5kIGZvbnQgcHJvcGVydGllc1xyXG5AbWl4aW4gZm9udC1zdHlsZSgkY29sb3IsICRmb250V2VpZ2h0LCAkZm9udFNpemUpIHtcclxuICBAaWYgJGNvbG9yICE9IFwidW5zZXRcIiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxkLWNvbG9ycywgJGNvbG9yKTtcclxuICB9XHJcbiAgQGlmICRmb250V2VpZ2h0ICE9IFwidW5zZXRcIiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkZm9udFNpemUgIT0gXCJ1bnNldFwiIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gaW5saW5lLXJvdyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1jb2woJHdpZHRoKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkd2lkdGggKiAxJTtcclxuICBmb250LXNpemU6IGluaXRpYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIoJHBvc2l0aW9uKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICBAaWYgJHBvc2l0aW9uID09IFwidmVydGljYWxcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImhvcml6b250YWxcIiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICB9IEBlbHNlIGlmICRwb3NpdGlvbiA9PSBcImJvdGhcIiB7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtb290aGluZygpIHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBvdXQgdHJpY2tcclxuQG1peGluIGZhZGUtb3V0KCRkdXJhdGlvbjogMjUwbXMsICRkZWxheTogMG1zKSB7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZHVyYXRpb24gZWFzZS1vdXQgI3swbXMgKyAkZGVsYXl9LCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgI3skZHVyYXRpb24gKyAkZGVsYXl9O1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gdmlzaWJpbGl0eSAvIG9wYWNpdHkgZmFkZSBpbiB0cmlja1xyXG5AbWl4aW4gZmFkZS1pbigkZHVyYXRpb246IDI1MG1zLCAkZGVsYXk6IDBtcykge1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJGR1cmF0aW9uIGVhc2Utb3V0ICRkZWxheSwgdmlzaWJpbGl0eSAwbXMgbGluZWFyICRkZWxheTtcclxuXHJcbiAgb3BhY2l0eTogMTtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICRwYWRkaW5nOiBpZigkaGVpZ2h0LCBwZXJjZW50YWdlKCRoZWlnaHQvJHJhdGlvLW9yLXdpZHRoKSwgcGVyY2VudGFnZSgxIC8gJHJhdGlvLW9yLXdpZHRoKSk7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscywgJGNvbnRleHQ6IDE2cHgpIHtcclxuICBAaWYgKHVuaXRsZXNzKCRwaXhlbHMpKSB7XHJcbiAgICAkcGl4ZWxzOiAkcGl4ZWxzICogMXB4O1xyXG4gIH1cclxuXHJcbiAgQGlmICh1bml0bGVzcygkY29udGV4dCkpIHtcclxuICAgICRjb250ZXh0OiAkY29udGV4dCAqIDFweDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHBpeGVscyAvICRjb250ZXh0ICogMWVtO1xyXG59XHJcblxyXG4vLyBDU1MgdmFyaWFibGVzIGhlbHBlclxyXG4kcHJlZml4OiBcIi0tXCI7IC8vIFByZWZpeCBzdHJpbmcgZm9yIGN1c3RvbSBDU1MgcHJvcGVydGllc1xyXG5cclxuLy9NZXJnZXMgYSB2YXJpYWJsZSBuYW1lIHdpdGggJHByZWZpeFxyXG5AZnVuY3Rpb24gY3VzdG9tLXByb3BlcnR5LW5hbWUoJG5hbWUpIHtcclxuICBAcmV0dXJuICRwcmVmaXggKyAkbmFtZTtcclxufVxyXG5cclxuLy8gRGVmaW5lcyBhIGN1c3RvbSBwcm9wZXJ0eVxyXG5AbWl4aW4gZGVmaW5lLWN1c3RvbS1wcm9wZXJ0eSgkbmFtZSwgJHZhbHVlKSB7XHJcbiAgI3tjdXN0b20tcHJvcGVydHktbmFtZSgkbmFtZSl9OiAkdmFsdWU7XHJcbn1cclxuIiwiQGltcG9ydCAndmFycyc7XHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCAkbmFtZSwgJHBhdGgsICRzdHlsZSA6IG5vcm1hbCwgJHdlaWdodCA6IDQwMCkge1xyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAvLyBSZWxhdGl2ZSBmb250IHBhdGhzIGJyZWFrIHRoZSB3ZWJwYWNrIGJ1aWxkXHJcbiAgICBzcmMgOiB1cmwoXCIjeyRjZG4tdXJsfS8jeyRjZG4tZm9udC1wYXRofS8jeyRwYXRofS5lb3Q/XCIpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHVybChcIiN7JGNkbi11cmx9LyN7JGNkbi1mb250LXBhdGh9LyN7JHBhdGh9LnN2ZyMjeyRuYW1lfVwiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICB9XHJcblxyXG59XHJcblxyXG5AZnVuY3Rpb24gY2FsY3VsYXRlUmVtKCRzaXplKSB7XHJcbiAgJHJlbVNpemU6ICRzaXplIC8gMTZweDtcclxuICBAcmV0dXJuICRyZW1TaXplICogMXJlbTtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xyXG59XHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbiAgICAgOiAxMDA7XHJcbiRmb250LXdlaWdodC1saWdodCAgICA6IDMwMDtcclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXIgIDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtICAgOiA1MDA7XHJcbiRmb250LXdlaWdodC1zZW1pYm9sZCA6IDYwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQgICAgIDogNzAwO1xyXG4kZm9udC13ZWlnaHQtYmxhY2sgICAgOiA4MDA7XHJcbiJdfQ== */\"","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport { AppConfigService } from '../../shared/config/app-config.service';\r\n\r\n@Component({\r\n selector: 'app-success',\r\n templateUrl: './success.component.html',\r\n styleUrls: ['./success.component.scss']\r\n\r\n})\r\nexport class SuccessComponent implements OnInit {\r\n\r\n public isDesktop = false;\r\n\r\n constructor(private appConfig: AppConfigService) {\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize($event = null) {\r\n this.isDesktop = (window.innerWidth > this.appConfig.config.breakpoints.m);\r\n }\r\n\r\n ngOnInit() {\r\n this.onResize();\r\n }\r\n\r\n}\r\n","export const environment = {\r\n production: false,\r\n envName: 'INT',\r\n gmapApiKey: 'AIzaSyBZjCDTWi91kaU_A_j1gWl4JI1uUlJvQ4o',\r\n apigatewayUrl: 'https://apidriver.integ.aldautomotive.com',\r\n adfsUrl: 'https://integ.authenticationportal.com/adfs/oauth2/authorize?response_type=code&client_id=77f58e4f-39a1-4407-8fd7-b0718da51658&resource=https://driver.integ.aldautomotive.com&redirect_Uri=https://driver.integ.aldautomotive.com/onlogin',\r\n translateLoaderPrefix: '/apigateway/Translation/api/Translations/myalddriver/',\r\n appInsightInstrumentationKey: '9ce87323-ee2b-4b64-a568-76cbccf4ddab',\r\n assetsPath: '/assets/ald',\r\n siteKey: '6LcvoMUUAAAAAEMoR7cW-WbTWjyEPyXqlgqkYrOx',\r\n publicDocumentsBaseUrl: 'https://myalddocumentsint.blob.core.windows.net/public',\r\n gtmKey: 'GTM-56DPNWF',\r\n didomiApiKey: 'cf2c3525-195b-489b-9bea-b733850b94b6'\r\n};\r\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { environment } from './environments/environment';\r\nimport { AppModule } from './app/app.module';\r\n\r\n// ## Google Tag Manager setup\r\nconst gtmNoScript = (gtmID: string): string =>\r\n ``;\r\n\r\nconst noscript = document.createElement('noscript');\r\nnoscript.innerHTML = gtmNoScript(environment.gtmKey);\r\ndocument.body.appendChild(noscript);\r\n// ## end gtm setup\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\r\n\r\n"],"sourceRoot":""}