simpo-component-library 3.5.52 → 3.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2022/lib/components/delete-hover-element/delete-hover-element.component.mjs +3 -3
- package/esm2022/lib/components/document/document.component.mjs +3 -3
- package/esm2022/lib/components/hover-elements/hover-elements.component.mjs +3 -3
- package/esm2022/lib/components/image-loading/image-loading.component.mjs +3 -3
- package/esm2022/lib/components/payment-details/payment-details.component.mjs +3 -3
- package/esm2022/lib/constants/business.constant.mjs +1 -1
- package/esm2022/lib/directive/alignment.directive.mjs +23 -0
- package/esm2022/lib/directive/background-directive.mjs +130 -5
- package/esm2022/lib/directive/blur-content.directive.mjs +1 -1
- package/esm2022/lib/directive/border-directive.mjs +2 -2
- package/esm2022/lib/directive/borderlessImage.directive.mjs +4 -1
- package/esm2022/lib/directive/button-directive.directive.mjs +72 -17
- package/esm2022/lib/directive/button-editor.directive.mjs +22 -4
- package/esm2022/lib/directive/color.directive.mjs +1 -1
- package/esm2022/lib/directive/column-directive.directive.mjs +1 -1
- package/esm2022/lib/directive/container-alignment.directive.mjs +1 -1
- package/esm2022/lib/directive/container-fir.directive.mjs +1 -1
- package/esm2022/lib/directive/content-title-spacing.directive.mjs +4 -4
- package/esm2022/lib/directive/contenteditable.directive.mjs +1 -1
- package/esm2022/lib/directive/corner-directive.mjs +1 -1
- package/esm2022/lib/directive/height.directive.mjs +29 -0
- package/esm2022/lib/directive/hover-animation.directive.mjs +142 -0
- package/esm2022/lib/directive/hoverborder.directive.mjs +1 -1
- package/esm2022/lib/directive/image-container.directive.mjs +1 -1
- package/esm2022/lib/directive/image-directive.directive.mjs +1 -1
- package/esm2022/lib/directive/image-editor.directive.mjs +25 -5
- package/esm2022/lib/directive/image-position.directive.mjs +1 -1
- package/esm2022/lib/directive/position-layout-directive.directive.mjs +1 -1
- package/esm2022/lib/directive/set-dynamic-background.directive.mjs +66 -0
- package/esm2022/lib/directive/spacing-around.directive.mjs +40 -3
- package/esm2022/lib/directive/spacing-horizontal.directive.mjs +5 -1
- package/esm2022/lib/directive/spacing.directive.mjs +29 -0
- package/esm2022/lib/directive/sticky-directive.mjs +2 -2
- package/esm2022/lib/directive/text-background-directive.directive.mjs +1 -1
- package/esm2022/lib/directive/text-size.directive.mjs +1 -1
- package/esm2022/lib/directive/translate-onhover.directive.mjs +47 -0
- package/esm2022/lib/directive/wrap-containers.directive.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/address/address.component.mjs +96 -59
- package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.component.mjs +128 -14
- package/esm2022/lib/ecommerce/sections/authentication-required/authentication-required.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/book-appointment/book-appointment.component.mjs +199 -0
- package/esm2022/lib/ecommerce/sections/book-appointment/book-appointment.model.mjs +2 -0
- package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +214 -36
- package/esm2022/lib/ecommerce/sections/cart/cart.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/category-product/category-product.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/category-product/category-product.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/checkout/checkout.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/checkout/checkout.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/customer-review/customer-review.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/customer-review/customer-review.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/enrollment-form/enrollment-form.component.mjs +405 -0
- package/esm2022/lib/ecommerce/sections/enrollment-form/enrollment-form.model.mjs +2 -0
- package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +6 -4
- package/esm2022/lib/ecommerce/sections/featured-category/featured-category.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/featured-category/featured-collection.component.mjs +7 -5
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +42 -7
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/item-varient/item-varient.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/new-collection/new-collection.component.mjs +144 -0
- package/esm2022/lib/ecommerce/sections/new-collection/new-collection.modal.mjs +2 -0
- package/esm2022/lib/ecommerce/sections/order-details/order-details.component.mjs +99 -11
- package/esm2022/lib/ecommerce/sections/pagnination/pagnination.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/product-category-list/product-category-list.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +395 -21
- package/esm2022/lib/ecommerce/sections/product-desc/product-desc.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +626 -142
- package/esm2022/lib/ecommerce/sections/product-list/product-list.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.component.mjs +95 -0
- package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.model.mjs +2 -0
- package/esm2022/lib/ecommerce/sections/scheme-details/scheme-details.component.mjs +57 -0
- package/esm2022/lib/ecommerce/sections/scheme-selection/scheme-selection.component.mjs +36 -0
- package/esm2022/lib/ecommerce/sections/small-product-listing/small-product-listing.component.mjs +49 -4
- package/esm2022/lib/ecommerce/sections/store-list/store-list.component.mjs +157 -0
- package/esm2022/lib/ecommerce/sections/store-list/store-list.modal.mjs +2 -0
- package/esm2022/lib/ecommerce/sections/store-page/store-page.component.mjs +120 -0
- package/esm2022/lib/ecommerce/sections/store-page/store-page.model.mjs +2 -0
- package/esm2022/lib/ecommerce/sections/user-basic-info/user-basic-info.component.mjs +5 -4
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +66 -16
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.component.mjs +3 -3
- package/esm2022/lib/ecommerce/sections/verify-payment/verify-payment.model.mjs +1 -1
- package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +17 -12
- package/esm2022/lib/ecommerce/styles/BaseCollection.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/Collection.modal.mjs +5 -3
- package/esm2022/lib/ecommerce/styles/OrderedItems.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/PincodeLocation.model.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/PincodeLocationInter.model.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/cart.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/category.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/order.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/product.modal.mjs +22 -1
- package/esm2022/lib/ecommerce/styles/review.modal.mjs +1 -1
- package/esm2022/lib/ecommerce/styles/user.modal.mjs +3 -1
- package/esm2022/lib/elements/add-section/add-section.component.mjs +3 -4
- package/esm2022/lib/elements/address-list/address-list.component.mjs +98 -0
- package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +13 -8
- package/esm2022/lib/elements/button/button.component.mjs +3 -3
- package/esm2022/lib/elements/button/button.model.mjs +1 -1
- package/esm2022/lib/elements/card-skeleton-loader/card-skeleton-loader.component.mjs +3 -3
- package/esm2022/lib/elements/covering-image-card/covering-image-card.component.mjs +8 -4
- package/esm2022/lib/elements/editor-service.service.mjs +29 -12
- package/esm2022/lib/elements/heading-element/heading-element.component.mjs +3 -3
- package/esm2022/lib/elements/image-editor/image-editor.component.mjs +147 -15
- package/esm2022/lib/elements/index.mjs +1 -1
- package/esm2022/lib/elements/link-editor/link-editor.component.mjs +108 -10
- package/esm2022/lib/elements/list-home-appointment/list-home-appointment.component.mjs +94 -0
- package/esm2022/lib/elements/media-selector/media-selector.component.mjs +3 -3
- package/esm2022/lib/elements/navbar-button-element/navbar-button-element.component.mjs +1 -2
- package/esm2022/lib/elements/portfolio/portfolio.component.mjs +3 -3
- package/esm2022/lib/elements/pricing-s1/pricing-s1.component.mjs +80 -0
- package/esm2022/lib/elements/property/property.component.mjs +3 -3
- package/esm2022/lib/elements/schedule-video-call/schedule-video-call.component.mjs +187 -0
- package/esm2022/lib/elements/simpo-button/simpo-button.component.mjs +3 -3
- package/esm2022/lib/elements/svg-divider/svg-divider.component.mjs +3 -3
- package/esm2022/lib/elements/text/text.component.mjs +3 -3
- package/esm2022/lib/elements/text-editor/text-editor.component.mjs +72 -27
- package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +7 -3
- package/esm2022/lib/pipes/amount.pipe.mjs +1 -1
- package/esm2022/lib/pipes/gender.pipe.mjs +5 -1
- package/esm2022/lib/sections/BaseSection.mjs +1 -1
- package/esm2022/lib/sections/add-new-section/add-new-section.component.mjs +3 -3
- package/esm2022/lib/sections/appointment-form/appointment-form.component.mjs +164 -98
- package/esm2022/lib/sections/appointment-form/appointment-form.model.mjs +1 -1
- package/esm2022/lib/sections/banner-carousel/banner-carousel.component.mjs +6 -32
- package/esm2022/lib/sections/banner-carousel/banner-carousel.model.mjs +1 -1
- package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +52 -17
- package/esm2022/lib/sections/banner-section/banner-section.component.mjs +6 -25
- package/esm2022/lib/sections/blog-list/blog-list.component.mjs +4 -4
- package/esm2022/lib/sections/blog-list/blog-list.model.mjs +1 -1
- package/esm2022/lib/sections/carousel-banner/carousel-banner.component.mjs +8 -7
- package/esm2022/lib/sections/carousel-banner/carousel-banner.model.mjs +1 -1
- package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +6 -4
- package/esm2022/lib/sections/choose-us-section/choose-us-section.model.mjs +1 -1
- package/esm2022/lib/sections/contact-us/contact-us.component.mjs +37 -7
- package/esm2022/lib/sections/contact-us/contact-us.modal.mjs +1 -1
- package/esm2022/lib/sections/faq-section/faq-section.component.mjs +4 -4
- package/esm2022/lib/sections/faq-section/faq-section.modal.mjs +1 -1
- package/esm2022/lib/sections/features-section/features-section.component.mjs +6 -4
- package/esm2022/lib/sections/features-section/features-section.model.mjs +1 -1
- package/esm2022/lib/sections/footer/footer.component.mjs +6 -9
- package/esm2022/lib/sections/footer/footer.modal.mjs +1 -1
- package/esm2022/lib/sections/header-section/header-section.component.mjs +95 -13
- package/esm2022/lib/sections/header-section/header-section.model.mjs +1 -1
- package/esm2022/lib/sections/header-text/header-text.component.mjs +3 -3
- package/esm2022/lib/sections/header-text/header-text.model.mjs +1 -1
- package/esm2022/lib/sections/image-carousel-section/image-carousel-section.component.mjs +12 -22
- package/esm2022/lib/sections/image-carousel-section/image-carousel.model.mjs +1 -1
- package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +9 -4
- package/esm2022/lib/sections/image-grid-section/image-grid-section.model.mjs +1 -1
- package/esm2022/lib/sections/image-section/image-section.component.mjs +12 -5
- package/esm2022/lib/sections/image-section/image-section.model.mjs +1 -1
- package/esm2022/lib/sections/location-section/location-section.component.mjs +3 -3
- package/esm2022/lib/sections/location-section/location-section.modal.mjs +1 -1
- package/esm2022/lib/sections/logo-gallery/logo-gallery.component.mjs +9 -4
- package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +9 -3
- package/esm2022/lib/sections/logo-showcase/logo-showcase.modal.mjs +1 -1
- package/esm2022/lib/sections/moving-text/moving-text.component.mjs +119 -0
- package/esm2022/lib/sections/moving-text/moving-text.modal.mjs +2 -0
- package/esm2022/lib/sections/new-services/new-services.component.mjs +4 -4
- package/esm2022/lib/sections/new-services/new-services.model.mjs +1 -1
- package/esm2022/lib/sections/new-testimonials/new-testimonials.component.mjs +12 -6
- package/esm2022/lib/sections/new-testimonials/new-testimonials.model.mjs +1 -1
- package/esm2022/lib/sections/news-letter-component/news-letter-component.component.mjs +108 -0
- package/esm2022/lib/sections/news-letter-component/news-letter.modal.mjs +2 -0
- package/esm2022/lib/sections/pricing-section/pricing-section.component.mjs +28 -4
- package/esm2022/lib/sections/pricing-section/pricing-section.modal.mjs +1 -1
- package/esm2022/lib/sections/process-modern/process-modern.component.mjs +12 -4
- package/esm2022/lib/sections/process-modern/process-modern.model.mjs +1 -1
- package/esm2022/lib/sections/process-section/process-section.component.mjs +6 -3
- package/esm2022/lib/sections/process-section/process-section.modal.mjs +1 -1
- package/esm2022/lib/sections/property-component/property-component.component.mjs +3 -3
- package/esm2022/lib/sections/property-component/property-component.modal.mjs +1 -1
- package/esm2022/lib/sections/property-list/property-list.component.mjs +3 -3
- package/esm2022/lib/sections/property-list/property-list.modal.mjs +1 -1
- package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +6 -4
- package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.model.mjs +1 -1
- package/esm2022/lib/sections/registration-form/registration-form.component.mjs +9 -9
- package/esm2022/lib/sections/registration-form/registrationForm.model.mjs +1 -1
- package/esm2022/lib/sections/service-section/service-section.component.mjs +4 -4
- package/esm2022/lib/sections/service-section/service-section.model.mjs +1 -1
- package/esm2022/lib/sections/skeleton-loader-section/skeleton-loader-section.component.mjs +3 -3
- package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +3 -3
- package/esm2022/lib/sections/team-member-section/team-member-section.model.mjs +1 -1
- package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.mjs +6 -3
- package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.model.mjs +1 -1
- package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +18 -3
- package/esm2022/lib/sections/testimonial-section/testimonial-section.model.mjs +1 -1
- package/esm2022/lib/sections/testimonial-video/testimonial-video.component.mjs +3 -3
- package/esm2022/lib/sections/testimonial-video/testimonial-video.model.mjs +1 -1
- package/esm2022/lib/sections/text-image-section/text-image-section.component.mjs +3 -17
- package/esm2022/lib/sections/text-section/text-section.component.mjs +3 -21
- package/esm2022/lib/sections/text-section/text-section.model.mjs +1 -1
- package/esm2022/lib/sections/usp-video-section/usp-video-section.component.mjs +3 -3
- package/esm2022/lib/sections/usp-video-section/usp-video-section.model.mjs +1 -1
- package/esm2022/lib/sections/video-section/video-section.component.mjs +16 -16
- package/esm2022/lib/sections/video-section/video-section.model.mjs +1 -1
- package/esm2022/lib/sections/view-blog/view-blog.component.mjs +3 -3
- package/esm2022/lib/services/cart.service.mjs +38 -35
- package/esm2022/lib/services/endUser.service.mjs +1 -1
- package/esm2022/lib/services/events.service.mjs +3 -8
- package/esm2022/lib/services/image-upload-service.service.mjs +7 -4
- package/esm2022/lib/services/rest.service.mjs +125 -68
- package/esm2022/lib/services/sanitizeHtml.mjs +1 -1
- package/esm2022/lib/services/storage.service.mjs +27 -44
- package/esm2022/lib/styles/index.mjs +8 -1
- package/esm2022/lib/styles/style.model.mjs +3 -2
- package/esm2022/lib/styles/types.mjs +1 -1
- package/esm2022/lib/tokens/api-token.mjs +1 -1
- package/esm2022/public-api.mjs +14 -2
- package/fesm2022/simpo-component-library.mjs +5815 -1711
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/directive/alignment.directive.d.ts +11 -0
- package/lib/directive/button-directive.directive.d.ts +2 -0
- package/lib/directive/button-editor.directive.d.ts +6 -2
- package/lib/directive/height.directive.d.ts +11 -0
- package/lib/directive/hover-animation.directive.d.ts +19 -0
- package/lib/directive/image-editor.directive.d.ts +6 -1
- package/lib/directive/set-dynamic-background.directive.d.ts +14 -0
- package/lib/directive/spacing-around.directive.d.ts +7 -2
- package/lib/directive/spacing.directive.d.ts +12 -0
- package/lib/directive/translate-onhover.directive.d.ts +11 -0
- package/lib/ecommerce/sections/address/address.component.d.ts +11 -3
- package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +23 -5
- package/lib/ecommerce/sections/book-appointment/book-appointment.component.d.ts +70 -0
- package/lib/ecommerce/sections/book-appointment/book-appointment.model.d.ts +14 -0
- package/lib/ecommerce/sections/cart/cart.component.d.ts +35 -3
- package/lib/ecommerce/sections/enrollment-form/enrollment-form.component.d.ts +54 -0
- package/lib/ecommerce/sections/enrollment-form/enrollment-form.model.d.ts +29 -0
- package/lib/ecommerce/sections/featured-category/featured-category.modal.d.ts +2 -0
- package/lib/ecommerce/sections/featured-products/featured-products.component.d.ts +6 -1
- package/lib/ecommerce/sections/featured-products/featured-products.modal.d.ts +6 -2
- package/lib/ecommerce/sections/new-collection/new-collection.component.d.ts +36 -0
- package/lib/ecommerce/sections/new-collection/new-collection.modal.d.ts +23 -0
- package/lib/ecommerce/sections/order-details/order-details.component.d.ts +18 -1
- package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +61 -2
- package/lib/ecommerce/sections/product-desc/product-desc.modal.d.ts +5 -0
- package/lib/ecommerce/sections/product-list/product-list.component.d.ts +110 -17
- package/lib/ecommerce/sections/returns-calculator/returns-calculator.component.d.ts +31 -0
- package/lib/ecommerce/sections/returns-calculator/returns-calculator.model.d.ts +14 -0
- package/lib/ecommerce/sections/scheme-details/scheme-details.component.d.ts +16 -0
- package/lib/ecommerce/sections/scheme-selection/scheme-selection.component.d.ts +18 -0
- package/lib/ecommerce/sections/small-product-listing/small-product-listing.component.d.ts +6 -1
- package/lib/ecommerce/sections/store-list/store-list.component.d.ts +43 -0
- package/lib/ecommerce/sections/store-list/store-list.modal.d.ts +11 -0
- package/lib/ecommerce/sections/store-page/store-page.component.d.ts +27 -0
- package/lib/ecommerce/sections/store-page/store-page.model.d.ts +11 -0
- package/lib/ecommerce/sections/user-profile/user-profile.component.d.ts +10 -1
- package/lib/ecommerce/sections/whislist/whislist.component.d.ts +4 -1
- package/lib/ecommerce/styles/Collection.modal.d.ts +1 -0
- package/lib/ecommerce/styles/product.modal.d.ts +19 -0
- package/lib/ecommerce/styles/user.modal.d.ts +3 -0
- package/lib/elements/address-list/address-list.component.d.ts +27 -0
- package/lib/elements/below-image-card/below-image-card.component.d.ts +3 -0
- package/lib/elements/covering-image-card/covering-image-card.component.d.ts +3 -0
- package/lib/elements/editor-service.service.d.ts +4 -4
- package/lib/elements/image-editor/image-editor.component.d.ts +29 -3
- package/lib/elements/link-editor/link-editor.component.d.ts +13 -1
- package/lib/elements/list-home-appointment/list-home-appointment.component.d.ts +27 -0
- package/lib/elements/pricing-s1/pricing-s1.component.d.ts +21 -0
- package/lib/elements/schedule-video-call/schedule-video-call.component.d.ts +33 -0
- package/lib/elements/text-editor/text-editor.component.d.ts +3 -0
- package/lib/elements/top-of-image-card/top-of-image-card.component.d.ts +3 -0
- package/lib/sections/appointment-form/appointment-form.component.d.ts +11 -4
- package/lib/sections/banner-carousel/banner-carousel.component.d.ts +1 -1
- package/lib/sections/banner-grid-section/banner-grid-section.component.d.ts +8 -1
- package/lib/sections/carousel-banner/carousel-banner.model.d.ts +1 -0
- package/lib/sections/contact-us/contact-us.component.d.ts +2 -1
- package/lib/sections/contact-us/contact-us.modal.d.ts +5 -1
- package/lib/sections/features-section/features-section.model.d.ts +2 -0
- package/lib/sections/header-section/header-section.component.d.ts +29 -2
- package/lib/sections/header-section/header-section.model.d.ts +14 -2
- package/lib/sections/header-text/header-text.model.d.ts +2 -1
- package/lib/sections/image-carousel-section/image-carousel-section.component.d.ts +2 -1
- package/lib/sections/image-grid-section/image-grid-section.component.d.ts +1 -0
- package/lib/sections/image-grid-section/image-grid-section.model.d.ts +3 -1
- package/lib/sections/image-section/image-section.component.d.ts +2 -1
- package/lib/sections/logo-gallery/logo-gallery.component.d.ts +2 -1
- package/lib/sections/logo-showcase/logo-showcase.component.d.ts +3 -1
- package/lib/sections/logo-showcase/logo-showcase.modal.d.ts +11 -2
- package/lib/sections/moving-text/moving-text.component.d.ts +28 -0
- package/lib/sections/moving-text/moving-text.modal.d.ts +19 -0
- package/lib/sections/new-testimonials/new-testimonials.component.d.ts +2 -1
- package/lib/sections/news-letter-component/news-letter-component.component.d.ts +26 -0
- package/lib/sections/news-letter-component/news-letter.modal.d.ts +19 -0
- package/lib/sections/pricing-section/pricing-section.component.d.ts +2 -0
- package/lib/sections/pricing-section/pricing-section.modal.d.ts +3 -0
- package/lib/sections/process-modern/process-modern.component.d.ts +2 -0
- package/lib/sections/process-section/process-section.component.d.ts +1 -0
- package/lib/sections/process-section/process-section.modal.d.ts +2 -0
- package/lib/sections/service-section/service-section.model.d.ts +5 -1
- package/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.d.ts +1 -0
- package/lib/sections/testimonial-section/testimonial-section.component.d.ts +1 -0
- package/lib/sections/video-section/video-section.component.d.ts +4 -3
- package/lib/sections/video-section/video-section.model.d.ts +1 -1
- package/lib/services/cart.service.d.ts +1 -6
- package/lib/services/events.service.d.ts +2 -6
- package/lib/services/rest.service.d.ts +29 -18
- package/lib/services/storage.service.d.ts +6 -5
- package/lib/styles/index.d.ts +7 -1
- package/lib/styles/style.model.d.ts +15 -1
- package/lib/styles/types.d.ts +10 -2
- package/package.json +1 -1
- package/public-api.d.ts +13 -0
- package/simpo-component-library-3.6.2.tgz +0 -0
- package/src/lib/styles/global-styles.css +251 -191
- package/simpo-component-library-3.5.52.tgz +0 -0
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Component, HostListener, Input } from '@angular/core';
|
|
2
2
|
import BaseSection from '../BaseSection';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { HoverDirective } from '../../directive/hover-element-directive';
|
|
5
5
|
import { BackgroundDirective } from '../../directive/background-directive';
|
|
6
|
-
import { ImageDirectiveDirective } from '../../directive/image-directive.directive';
|
|
7
6
|
import { OverlayDirective } from '../../directive/overlay-directive';
|
|
8
7
|
import { CornerDirective } from '../../directive/corner-directive';
|
|
9
8
|
import { HoverElementsComponent } from "../../components/hover-elements/hover-elements.component";
|
|
@@ -11,17 +10,15 @@ import { DeleteHoverElementComponent } from "../../components/delete-hover-eleme
|
|
|
11
10
|
import { SimpoButtonComponent } from "../../elements/simpo-button/simpo-button.component";
|
|
12
11
|
import { BorderDirective } from '../../directive/border-directive';
|
|
13
12
|
import { AnimationDirective } from '../../directive/animation-directive';
|
|
14
|
-
import { SimpoFooterLayoutDirective } from '../../directive/footer-layout-directive';
|
|
15
13
|
import { PositionLayoutDirectiveDirective } from '../../directive/position-layout-directive.directive';
|
|
16
14
|
import { ObjectPositionDirective } from '../../directive/image-position.directive';
|
|
17
15
|
import { simpoConetenAlignmentDirective } from '../../directive/content-alignment-directive';
|
|
18
|
-
import { ContentFitDirective } from '../../directive/content-fit-directive';
|
|
19
|
-
import { SimpoBorderlessDirective } from '../../directive/borderlessImage.directive';
|
|
20
|
-
import { SanitizeHtmlPipe } from '../../services/sanitizeHtml';
|
|
21
|
-
import { SvgDividerComponent } from '../../elements/svg-divider/svg-divider.component';
|
|
22
16
|
import { TextEditorComponent } from '../../elements/text-editor/text-editor.component';
|
|
23
17
|
import { ImageEditorDirective } from '../../directive/image-editor.directive';
|
|
24
18
|
import { SpacingHorizontalDirective } from '../../directive/spacing-horizontal.directive';
|
|
19
|
+
import { SpacingDirective } from '../../directive/spacing.directive';
|
|
20
|
+
import { HeightDirective } from '../../directive/height.directive';
|
|
21
|
+
import { AlignmentDirective } from '../../directive/alignment.directive';
|
|
25
22
|
import * as i0 from "@angular/core";
|
|
26
23
|
import * as i1 from "../../services/events.service";
|
|
27
24
|
import * as i2 from "@angular/common";
|
|
@@ -29,6 +26,8 @@ export class BannerGridSectionComponent extends BaseSection {
|
|
|
29
26
|
constructor(_eventService) {
|
|
30
27
|
super();
|
|
31
28
|
this._eventService = _eventService;
|
|
29
|
+
this.screenWidth = "";
|
|
30
|
+
this.getScreenSize();
|
|
32
31
|
}
|
|
33
32
|
ngOnInit() {
|
|
34
33
|
this.content = this.data?.content;
|
|
@@ -38,7 +37,12 @@ export class BannerGridSectionComponent extends BaseSection {
|
|
|
38
37
|
return;
|
|
39
38
|
this.deleteSelected = this.delete;
|
|
40
39
|
}
|
|
40
|
+
getScreenSize() {
|
|
41
|
+
this.screenWidth = window.innerWidth;
|
|
42
|
+
}
|
|
41
43
|
get stylesLayout() {
|
|
44
|
+
// if(this.data?.styles?.borderLessImage)
|
|
45
|
+
// return undefined
|
|
42
46
|
return { ...this.styles?.layout };
|
|
43
47
|
}
|
|
44
48
|
get canMergeNavbar() {
|
|
@@ -55,15 +59,44 @@ export class BannerGridSectionComponent extends BaseSection {
|
|
|
55
59
|
this._eventService.editSection.emit({ data: this.data });
|
|
56
60
|
}, 100);
|
|
57
61
|
}
|
|
62
|
+
getImageClass(index) {
|
|
63
|
+
if (this.screenWidth > 475 && (this.data?.styles?.positionLayout?.value === "top" || this.data?.styles?.positionLayout?.value === "bottom"))
|
|
64
|
+
return "col-4";
|
|
65
|
+
length = this.data?.content?.listItem?.data?.length || 0;
|
|
66
|
+
if (length / 2 !== 0 && index == length - 1)
|
|
67
|
+
return "col-12";
|
|
68
|
+
return "col-6";
|
|
69
|
+
}
|
|
70
|
+
get spacingLayout() {
|
|
71
|
+
// if(this.data?.styles?.borderLessImage)
|
|
72
|
+
// return undefined
|
|
73
|
+
return { ...this.styles?.layout?.spacing };
|
|
74
|
+
}
|
|
75
|
+
get alignmentLayout() {
|
|
76
|
+
return this.styles?.layout?.align;
|
|
77
|
+
}
|
|
78
|
+
get fitLayout() {
|
|
79
|
+
return this.styles?.layout?.fit;
|
|
80
|
+
}
|
|
81
|
+
getTextColor(bgColor) {
|
|
82
|
+
if (bgColor) {
|
|
83
|
+
const threshold = 130; // Adjust this threshold as needed
|
|
84
|
+
const r = parseInt(bgColor.slice(1, 3), 16);
|
|
85
|
+
const g = parseInt(bgColor.slice(3, 5), 16);
|
|
86
|
+
const b = parseInt(bgColor.slice(5, 7), 16);
|
|
87
|
+
const brightness = (r * 299 + g * 587 + b * 114) / 1000;
|
|
88
|
+
return brightness > threshold ? '#000000' : '#ffffff';
|
|
89
|
+
}
|
|
90
|
+
return "#ffffff;";
|
|
91
|
+
}
|
|
58
92
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerGridSectionComponent, deps: [{ token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BannerGridSectionComponent, isStandalone: true, selector: "simpo-banner-grid-section", inputs: { data: "data", edit: "edit", delete: "delete", customClass: "customClass", index: "index", nextComponentColor: "nextComponentColor" }, usesInheritance: true, ngImport: i0, template: "<section [id]=\"data?.id\" [ngClass]=\"{'mergeNavbar': canMergeNavbar}\" [simpoBackground]=\"styles?.background\" simpoHover (hovering)=\"showEditTabs($event)\"\n class=\"total-container\" [attr.style]=\"customClass\">\n <div [attr.class]=\"styles?.borderLessImage ? 'px-0 py-0' : 'px-5 py-4'\" [id]=\"data?.id\" #mainContainer [simpoOverlay]=\"styles?.background\"\n [simpoBorder]=\"styles?.border\" [spacingHorizontal]=\"stylesLayout\">\n <div class=\"d-flex justify-content-between gap-5 align-items-center total-section\"[id]=\"data?.id\"\n [simpoAnimation]=\"styles?.animation\" [simpoLayout]=\"styles?.layout\"\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'right' || styles?.positionLayout?.value === 'left', 'px-0 py-0': styles?.borderLessImage }\">\n <div class=\"image-section\" *ngIf=\"content?.listItem?.data?.length === 3\" [ngClass]=\"{'image-position' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom', 'align-items-unset': styles?.borderLessImage === true}\">\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" [ngClass]=\"{'images-top' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom', 'mt-0 mb-o ms-0 me-0': styles?.borderLessImage===true}\">\n <img loading=\"lazy\" [src]=\"listItems[0]?.image.url\" [id]=\"data?.id\" [simpoCorner]=\"styles?.corners\" class=\"img\" [ngClass]=\"{'image-width-top' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom', 'mt-0 mb-o ms-0 me-0 borderLess-image': styles?.borderLessImage===true}\"\n [simpoImageDirective]=\"styles?.image\" [alt]=\"listItems[0]?.image.altText\"\n [class]=\"data?.id+(listItems[0]?.image.id || '')\" [simpoObjectPosition]=\"listItems[0]?.image.position\"\n loading=\"lazy\" [appImageEditor]=\"edit || false\" [imageData]=\"listItems[0]?.image\" [sectionId]=\"data?.id\" class=\"d-block\"\n >\n </div>\n <div [ngClass]=\"{'images' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" class=\"d-flex justify-content-between\" [ngClass]=\"{'mt-0 gap-0': styles?.borderLessImage, 'mt-4': !styles?.borderLessImage}\">\n <img loading=\"lazy\" *ngFor=\"let item of listItems.slice(1); let i = index\" [src]=\"item?.image.url\" [id]=\"data?.id\" [ngClass]=\"{'image-width' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom', 'borderLess-image me-0 borderless-width': styles?.borderLessImage, 'img-1': !styles?.borderLessImage}\"\n [alt]=\"item?.image.altText\" [simpoCorner]=\"styles?.corners\" [simpoImageDirective]=\"styles?.image\"\n [class]=\"data?.id+(item?.image.id || '')\" [simpoObjectPosition]=\"item?.image.position\"\n loading=\"lazy\"\n [appImageEditor]=\"edit || false\" [imageData]=\"item?.image\" [sectionId]=\"data?.id\"\n >\n </div>\n </div>\n </div>\n\n <div class=\"image-section-2\" *ngIf=\"content?.listItem?.data?.length === 2\" [ngClass]=\"{'image-section-2-borderless': styles?.borderLessImage}\">\n <div [ngClass]=\"{'image-width-2' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" class=\"d-flex justify-content-between\" [ngClass]=\"{'mt-0 gap-0': styles?.borderLessImage, 'mt-4': !styles?.borderLessImage}\">\n <img loading=\"lazy\" *ngFor=\"let item of listItems; let i = index\" [src]=\"item?.image.url\" [id]=\"data?.id\"\n [ngClass]=\"{'images-width-2' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom', 'borderless-width borderLess-image': styles?.borderLessImage, 'img-1': !styles?.borderLessImage}\"\n [alt]=\"item?.image.altText\" [simpoCorner]=\"styles?.corners\" [simpoImageDirective]=\"styles?.image\"\n [class]=\"data?.id+(item?.image.id || '')\" [simpoObjectPosition]=\"item?.image.position\"\n loading=\"lazy\" [appImageEditor]=\"edit || false\" [imageData]=\"item?.image\" [sectionId]=\"data?.id\"\n >\n </div>\n </div>\n </div>\n\n <div class=\"image-section-3\" *ngIf=\"content?.listItem?.data?.length === 1\" [ngClass]=\"{'image-width-3' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom'}\">\n <div>\n <div [id]=\"data?.id\" [simpoImageDirective]=\"styles?.image\" class=\"d-flex justify-content-between\" [ngClass]=\"{'mt-0': styles?.borderLessImage, 'mt-4': !styles?.borderLessImage}\">\n <img loading=\"lazy\" *ngFor=\"let item of listItems; let i = index\" [src]=\"item?.image.url\" [id]=\"data?.id\"\n [ngClass]=\"{'images-width-3' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom', 'borderLess-height borderLess-image': styles?.borderLessImage, 'img-1': !styles?.borderLessImage}\"\n [alt]=\"item?.image.altText\" [simpoCorner]=\"styles?.corners\" [simpoImageDirective]=\"styles?.image\"\n [class]=\"data?.id+(item?.image.id || '')\" [simpoObjectPosition]=\"item?.image.position\" class=\"image-1\"\n loading=\"lazy\" [appImageEditor]=\"edit || false\" [imageData]=\"item?.image\" [sectionId]=\"data?.id\"\n >\n </div>\n </div>\n </div>\n\n <div class=\"col-lg-6 d-flex flex-column justify-content-start gap-15 content-side\" [id]=\"data?.id\" [ngClass]=\"{'col-lg-12' : styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom', 'px-5 py-4': styles?.borderLessImage}\"\n [simpoContentAlignment]=\"styles?.contentAlignment\">\n <div *ngFor=\"let text of content?.inputText\">\n <div [ngClass]=\"text.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\n <simpo-text-editor [(value)]=\"text.value\" [editable]=\"edit || false\"></simpo-text-editor>\n </div>\n\n </div>\n <div class=\"button-section d-flex mt-4\" *ngIf=\"!data?.action?.hasOwnProperty('display') || data?.action?.display\" [ngClass]=\"[\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\n ]\">\n <div *ngFor=\"let button of data?.action?.buttons\">\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\" [edit]=\"edit\"\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\" [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\n </div>\n </div>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"styles?.devider?.display\">\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\" [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\n </ng-container>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\" [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n\n</section>\n", styles: [".total-container{height:auto;position:relative}.float-none{float:none}.image-section{display:flex;flex-direction:column;align-items:center}.image-section .d-flex{gap:10px}.img{width:100%;height:auto}.align-items-unset{align-items:unset}.borderLess-image{border-radius:0!important}.borderless-width{width:50%;height:auto}.borderLess-height{height:54vh}.img-1{width:48%;height:auto}.image-section-2{display:flex;align-items:center}.image-section-2 .d-flex{gap:10px}.image-section-2-borderless,.image-1{width:100%}.image-position{display:flex;flex-direction:row;width:100%}.image-width{width:100%;margin-right:5px}.images{width:33%}.images-top{width:33%;margin-right:15px}.image-width-top{width:100%;height:100%;margin-top:17px;margin-right:15px}.col-lg-12{width:100%!important}.total-section{min-height:calc(50vh + -0px)!important;height:auto}.image-width-2{width:50%}.images-width-2{width:100%}.image-width-3,.images-width-3{width:100%;height:450px}.button-section{gap:10px}@media only screen and (max-width: 475px){.total-section{height:auto;flex-direction:column}.py-4{padding:1rem!important}.body-large{font-size:16px;line-height:21px}.image-position{overflow-y:scroll}.images-top,.images{width:100%}.image-width,.image-width-top{height:450px;width:300px;margin-right:2px}.image-section-2{display:flex;align-items:center;overflow-y:scroll!important;width:100%}.images-width-2{width:310px;height:450px}.image-width-2{width:100%}}.mergeNavbar{margin-top:-75px;padding-top:75px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: ImageDirectiveDirective, selector: "[simpoImageDirective]", inputs: ["simpoImageDirective"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: SimpoButtonComponent, selector: "app-button-element", inputs: ["buttonContent", "buttonStyle", "buttonId", "color", "sectionId", "edit", "backgroundInfo"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "directive", type: ImageEditorDirective, selector: "img[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BannerGridSectionComponent, isStandalone: true, selector: "simpo-banner-grid-section", inputs: { data: "data", edit: "edit", delete: "delete", customClass: "customClass", index: "index", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<section class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"row top-parent\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\" [simpoHeight]=\"fitLayout\"\r\n [simpoOverlay]=\"styles?.background\">\r\n <div class=\"col\" [spacingHorizontal]=\"!data?.styles?.borderLessImage ? stylesLayout : undefined\" [class.p0]=\"data?.styles?.borderLessImage\"\r\n [simpoSpacing]=\"!data?.styles?.borderLessImage ? spacingLayout : undefined\">\r\n <ng-container *ngTemplateOutlet=\"imageTemplate\"></ng-container>\r\n </div>\r\n <div class=\"col d-flex flex-column\" [spacingHorizontal]=\"stylesLayout\" [simpoSpacing]=\"spacingLayout\"\r\n [simpoAlignment]=\"alignmentLayout\" [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div class=\"text-parent\">\r\n <ng-container *ngTemplateOutlet=\"textTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\r\n [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</section>\r\n\r\n<ng-template #buttonTemplate>\r\n <div class=\"button-display\"\r\n *ngIf=\"data?.action && data?.action?.display\" class=\"customclass w-full\" [ngClass]=\"[\r\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\r\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\r\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\r\n ]\">\r\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\"\r\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\" [edit]=\"edit\"\r\n [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #textTemplate>\r\n <div [simpoContentAlignment]=\"styles?.contentAlignment\" [id]=\"data?.id\">\r\n <ng-container *ngFor=\"let item of content?.inputText\">\r\n <div [ngClass]=\"item.label.includes('Heading') ? 'heading-large lh-2 mb-4' : 'body-large'\">\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #imageTemplate>\r\n <div class=\"row\" [style.rowGap]=\"!data?.styles?.borderLessImage ? '15px' : '0'\">\r\n <img [src]=\"item?.image?.url\" [alt]=\"item?.image?.altText\" *ngFor=\"let item of data?.content?.listItem?.data || []; let i = index\"\r\n [class]=\"getImageClass(i)\" [class.p0]=\"data?.styles?.borderLessImage\" [id]=\"data?.id\" class=\"grid-img\"\r\n [simpoObjectPosition]=\"item?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"item?.image\" [sectionId]=\"data?.id\">\r\n </div>\r\n</ng-template>\r\n", styles: [".total-container{height:auto;position:relative}.float-none{float:none}.image-section{display:flex;flex-direction:column;align-items:center}.image-section .d-flex{gap:10px}.img{width:100%;height:auto}.align-items-unset{align-items:unset}.borderLess-image{border-radius:0!important}.borderless-width{width:50%;height:auto}.borderLess-height{height:54vh}.img-1{width:48%;height:auto}.image-section-2{display:flex;align-items:center}.image-section-2 .d-flex{gap:10px}.image-section-2-borderless,.image-1{width:100%}.image-position{display:flex;flex-direction:row;width:100%}.image-width{width:100%;margin-right:5px}.images{width:33%}.images-top{width:33%;margin-right:15px}.image-width-top{width:100%;height:100%;margin-top:17px;margin-right:15px}.col-lg-12{width:100%!important}.total-section{min-height:calc(50vh + -0px)!important;height:auto}.image-width-2{width:50%}.images-width-2{width:100%}.image-width-3,.images-width-3{width:100%;height:450px}.button-section{gap:10px}@media only screen and (max-width: 475px){.total-section{height:auto;flex-direction:column}.py-4{padding:1rem!important}.body-large{font-size:16px;line-height:21px}.image-position{overflow-y:scroll}.images-top,.images{width:100%}.image-width,.image-width-top{height:450px;width:300px;margin-right:2px}.image-section-2{display:flex;align-items:center;overflow-y:scroll!important;width:100%}.images-width-2{width:310px;height:450px}.image-width-2{width:100%}}.mergeNavbar{margin-top:-75px;padding-top:75px}.main-container{display:flex}.button-display{display:flex;gap:10px}.p0{padding:0!important}.text-parent{display:flex;flex-direction:column;gap:15px}.grid-img{min-height:464px;max-height:50vh;object-fit:cover}.row{margin:0}@media screen and (max-width: 475px){.top-parent{flex-direction:column;margin:0}.grid-img{min-height:232px;max-height:25vh}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: SimpoButtonComponent, selector: "app-button-element", inputs: ["buttonContent", "buttonStyle", "buttonId", "color", "sectionId", "edit", "backgroundInfo"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "directive", type: ImageEditorDirective, selector: "img[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: SpacingDirective, selector: "[simpoSpacing]", inputs: ["simpoSpacing"] }, { kind: "directive", type: HeightDirective, selector: "[simpoHeight]", inputs: ["simpoHeight"] }, { kind: "directive", type: AlignmentDirective, selector: "[simpoAlignment]", inputs: ["simpoAlignment"] }] }); }
|
|
60
94
|
}
|
|
61
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerGridSectionComponent, decorators: [{
|
|
62
96
|
type: Component,
|
|
63
|
-
args: [{ selector: 'simpo-banner-grid-section', standalone: true,
|
|
97
|
+
args: [{ selector: 'simpo-banner-grid-section', standalone: true, imports: [CommonModule,
|
|
64
98
|
HoverDirective,
|
|
65
99
|
BackgroundDirective,
|
|
66
|
-
ImageDirectiveDirective,
|
|
67
100
|
OverlayDirective,
|
|
68
101
|
CornerDirective,
|
|
69
102
|
HoverElementsComponent,
|
|
@@ -72,16 +105,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
72
105
|
BorderDirective,
|
|
73
106
|
AnimationDirective,
|
|
74
107
|
PositionLayoutDirectiveDirective,
|
|
75
|
-
SimpoFooterLayoutDirective,
|
|
76
108
|
ObjectPositionDirective,
|
|
77
109
|
simpoConetenAlignmentDirective,
|
|
78
|
-
ContentFitDirective,
|
|
79
|
-
SimpoBorderlessDirective,
|
|
80
|
-
SanitizeHtmlPipe, SvgDividerComponent,
|
|
81
110
|
TextEditorComponent,
|
|
82
111
|
ImageEditorDirective,
|
|
83
|
-
SpacingHorizontalDirective
|
|
84
|
-
|
|
112
|
+
SpacingHorizontalDirective,
|
|
113
|
+
SpacingDirective,
|
|
114
|
+
HeightDirective,
|
|
115
|
+
AlignmentDirective
|
|
116
|
+
], template: "<section class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\">\r\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" [simpoBorder]=\"styles?.border\">\r\n <div class=\"row top-parent\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\" [simpoHeight]=\"fitLayout\"\r\n [simpoOverlay]=\"styles?.background\">\r\n <div class=\"col\" [spacingHorizontal]=\"!data?.styles?.borderLessImage ? stylesLayout : undefined\" [class.p0]=\"data?.styles?.borderLessImage\"\r\n [simpoSpacing]=\"!data?.styles?.borderLessImage ? spacingLayout : undefined\">\r\n <ng-container *ngTemplateOutlet=\"imageTemplate\"></ng-container>\r\n </div>\r\n <div class=\"col d-flex flex-column\" [spacingHorizontal]=\"stylesLayout\" [simpoSpacing]=\"spacingLayout\"\r\n [simpoAlignment]=\"alignmentLayout\" [simpoContentAlignment]=\"styles?.contentAlignment\">\r\n <div class=\"text-parent\">\r\n <ng-container *ngTemplateOutlet=\"textTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\r\n [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</section>\r\n\r\n<ng-template #buttonTemplate>\r\n <div class=\"button-display\"\r\n *ngIf=\"data?.action && data?.action?.display\" class=\"customclass w-full\" [ngClass]=\"[\r\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\r\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\r\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\r\n ]\">\r\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\"\r\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\" [edit]=\"edit\"\r\n [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #textTemplate>\r\n <div [simpoContentAlignment]=\"styles?.contentAlignment\" [id]=\"data?.id\">\r\n <ng-container *ngFor=\"let item of content?.inputText\">\r\n <div [ngClass]=\"item.label.includes('Heading') ? 'heading-large lh-2 mb-4' : 'body-large'\">\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #imageTemplate>\r\n <div class=\"row\" [style.rowGap]=\"!data?.styles?.borderLessImage ? '15px' : '0'\">\r\n <img [src]=\"item?.image?.url\" [alt]=\"item?.image?.altText\" *ngFor=\"let item of data?.content?.listItem?.data || []; let i = index\"\r\n [class]=\"getImageClass(i)\" [class.p0]=\"data?.styles?.borderLessImage\" [id]=\"data?.id\" class=\"grid-img\"\r\n [simpoObjectPosition]=\"item?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"item?.image\" [sectionId]=\"data?.id\">\r\n </div>\r\n</ng-template>\r\n", styles: [".total-container{height:auto;position:relative}.float-none{float:none}.image-section{display:flex;flex-direction:column;align-items:center}.image-section .d-flex{gap:10px}.img{width:100%;height:auto}.align-items-unset{align-items:unset}.borderLess-image{border-radius:0!important}.borderless-width{width:50%;height:auto}.borderLess-height{height:54vh}.img-1{width:48%;height:auto}.image-section-2{display:flex;align-items:center}.image-section-2 .d-flex{gap:10px}.image-section-2-borderless,.image-1{width:100%}.image-position{display:flex;flex-direction:row;width:100%}.image-width{width:100%;margin-right:5px}.images{width:33%}.images-top{width:33%;margin-right:15px}.image-width-top{width:100%;height:100%;margin-top:17px;margin-right:15px}.col-lg-12{width:100%!important}.total-section{min-height:calc(50vh + -0px)!important;height:auto}.image-width-2{width:50%}.images-width-2{width:100%}.image-width-3,.images-width-3{width:100%;height:450px}.button-section{gap:10px}@media only screen and (max-width: 475px){.total-section{height:auto;flex-direction:column}.py-4{padding:1rem!important}.body-large{font-size:16px;line-height:21px}.image-position{overflow-y:scroll}.images-top,.images{width:100%}.image-width,.image-width-top{height:450px;width:300px;margin-right:2px}.image-section-2{display:flex;align-items:center;overflow-y:scroll!important;width:100%}.images-width-2{width:310px;height:450px}.image-width-2{width:100%}}.mergeNavbar{margin-top:-75px;padding-top:75px}.main-container{display:flex}.button-display{display:flex;gap:10px}.p0{padding:0!important}.text-parent{display:flex;flex-direction:column;gap:15px}.grid-img{min-height:464px;max-height:50vh;object-fit:cover}.row{margin:0}@media screen and (max-width: 475px){.top-parent{flex-direction:column;margin:0}.grid-img{min-height:232px;max-height:25vh}}\n"] }]
|
|
85
117
|
}], ctorParameters: () => [{ type: i1.EventsService }], propDecorators: { data: [{
|
|
86
118
|
type: Input
|
|
87
119
|
}], edit: [{
|
|
@@ -94,5 +126,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
94
126
|
type: Input
|
|
95
127
|
}], nextComponentColor: [{
|
|
96
128
|
type: Input
|
|
129
|
+
}], getScreenSize: [{
|
|
130
|
+
type: HostListener,
|
|
131
|
+
args: ["window: resize", ["$event"]]
|
|
97
132
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLWdyaWQtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2Jhbm5lci1ncmlkLXNlY3Rpb24vYmFubmVyLWdyaWQtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2Jhbm5lci1ncmlkLXNlY3Rpb24vYmFubmVyLWdyaWQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLFdBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFBO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNuSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFD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LG1CQUFtQiw2SUFDbkIsb0JBQW9CLHNIQUNwQiwwQkFBMEI7OzRGQUduQiwwQkFBMEI7a0JBN0J0QyxTQUFTOytCQUNJLDJCQUEyQixjQUN6QixJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxZQUFZO3dCQUNwQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QiwyQkFBMkI7d0JBQzNCLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGdDQUFnQzt3QkFDaEMsMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLDhCQUE4Qjt3QkFDOUIsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLGdCQUFnQixFQUFDLG1CQUFtQjt3QkFDcEMsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLDBCQUEwQjtxQkFDM0I7a0ZBR00sSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFubmVyR3JpZFNlY3Rpb25Nb2RlbCwgQmFubmVyR3JpZENvbnRlbnRNb2RlbCwgQmFubmVyR3JpZFN0eWxlc01vZGVsIH0gZnJvbSAnLi9iYW5uZXItZ3JpZC1zZWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vQmFzZVNlY3Rpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcbmltcG9ydCB7QmFja2dyb3VuZERpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJ1xuaW1wb3J0IHsgSW1hZ2VEaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL292ZXJsYXktZGlyZWN0aXZlJztcbmltcG9ydCB7IENvcm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb3JuZXItZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvdmVyRWxlbWVudHNDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9ob3Zlci1lbGVtZW50cy9ob3Zlci1lbGVtZW50cy5jb21wb25lbnRcIjtcbmltcG9ydCB7IERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2RlbGV0ZS1ob3Zlci1lbGVtZW50L2RlbGV0ZS1ob3Zlci1lbGVtZW50LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2ltcG9CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHMvc2ltcG8tYnV0dG9uL3NpbXBvLWJ1dHRvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7IEJvcmRlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ib3JkZXItZGlyZWN0aXZlJztcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcbmltcG9ydCB7IFNpbXBvRm9vdGVyTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2Zvb3Rlci1sYXlvdXQtZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvc2l0aW9uTGF5b3V0RGlyZWN0aXZlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3Bvc2l0aW9uLWxheW91dC1kaXJlY3RpdmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9iamVjdFBvc2l0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2ltYWdlLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBzaW1wb0NvbmV0ZW5BbGlnbm1lbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1hbGlnbm1lbnQtZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcbmltcG9ydCB7IFNpbXBvQm9yZGVybGVzc0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ib3JkZXJsZXNzSW1hZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNhbml0aXplSHRtbFBpcGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYW5pdGl6ZUh0bWwnO1xuaW1wb3J0IHsgQmFja2dyb3VuZE1vZGVsLCBMYXlPdXRNb2RlbCB9IGZyb20gJy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBTdmdEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvc3ZnLWRpdmlkZXIvc3ZnLWRpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VFZGl0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaW1hZ2UtZWRpdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2ltcG8tYmFubmVyLWdyaWQtc2VjdGlvbicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLWdyaWQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2Jhbm5lci1ncmlkLXNlY3Rpb24uY29tcG9uZW50LmNzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxcbiAgICAgIEhvdmVyRGlyZWN0aXZlLFxuICAgICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcbiAgICAgIEltYWdlRGlyZWN0aXZlRGlyZWN0aXZlLFxuICAgICAgT3ZlcmxheURpcmVjdGl2ZSxcbiAgICAgIENvcm5lckRpcmVjdGl2ZSxcbiAgICAgIEhvdmVyRWxlbWVudHNDb21wb25lbnQsXG4gICAgICBEZWxldGVIb3ZlckVsZW1lbnRDb21wb25lbnQsXG4gICAgICBTaW1wb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgIEJvcmRlckRpcmVjdGl2ZSxcbiAgICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcbiAgICAgIFBvc2l0aW9uTGF5b3V0RGlyZWN0aXZlRGlyZWN0aXZlLFxuICAgICAgU2ltcG9Gb290ZXJMYXlvdXREaXJlY3RpdmUsXG4gICAgICBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSxcbiAgICAgIHNpbXBvQ29uZXRlbkFsaWdubWVudERpcmVjdGl2ZSxcbiAgICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXG4gICAgICBTaW1wb0JvcmRlcmxlc3NEaXJlY3RpdmUsXG4gICAgICBTYW5pdGl6ZUh0bWxQaXBlLFN2Z0RpdmlkZXJDb21wb25lbnQsXG4gICAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxuICAgICAgSW1hZ2VFZGl0b3JEaXJlY3RpdmUsXG4gICAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQmFubmVyR3JpZFNlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGE/OiBCYW5uZXJHcmlkU2VjdGlvbk1vZGVsO1xuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcbiAgY29udGVudD86IEJhbm5lckdyaWRDb250ZW50TW9kZWw7XG4gIHN0eWxlcz86IEJhbm5lckdyaWRTdHlsZXNNb2RlbDtcbiAgQElucHV0KCkgZGVsZXRlPyA6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xuICBASW5wdXQoKSBpbmRleD8gOiBudW1iZXI7XG4gIEBJbnB1dCgpIG5leHRDb21wb25lbnRDb2xvcj86IEJhY2tncm91bmRNb2RlbDtcblxuICBsaXN0SXRlbXMgOiBhbnk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2V2ZW50U2VydmljZSA6IEV2ZW50c1NlcnZpY2VcbiAgKXtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKXtcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XG4gICAgdGhpcy5saXN0SXRlbXMgPSB0aGlzLmRhdGE/LmNvbnRlbnQubGlzdEl0ZW0uZGF0YVxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5kYXRhPy5zdHlsZXM7XG4gICAgaWYoIXRoaXMuc3R5bGVzICB8fCAhdGhpcy5jb250ZW50KSByZXR1cm47XG4gICAgdGhpcy5kZWxldGVTZWxlY3RlZCA9IHRoaXMuZGVsZXRlXG4gIH1cbiAgZ2V0IHN0eWxlc0xheW91dCgpIHtcbiAgICAgIHJldHVybiB7IC4uLnRoaXMuc3R5bGVzPy5sYXlvdXQgfSBhcyBMYXlPdXRNb2RlbDtcbiAgICB9XG4gICAgXG4gIGdldCBjYW5NZXJnZU5hdmJhcigpIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZXM/Lm1lcmdlO1xuICB9XG4gIGdldCBpc0JvcmRlcmxlc3NJbWFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdHlsZXM/LmJvcmRlckxlc3NJbWFnZSAmJiAodGhpcy5zdHlsZXM/LnBvc2l0aW9uTGF5b3V0LnZhbHVlID09IFwibGVmdFwiIHx8IHRoaXMuc3R5bGVzPy5wb3NpdGlvbkxheW91dC52YWx1ZSA9PSBcInJpZ2h0XCIpO1xuICB9XG4gIGVkaXRTZWN0aW9uKCl7XG4gICAgaWYod2luZG93LmlubmVyV2lkdGggPD0gNDc1KVxuICAgICAgcmV0dXJuXG5cbiAgICB0aGlzLl9ldmVudFNlcnZpY2UudG9nZ2xlRWRpdG9yRXZlbnQuZW1pdChmYWxzZSk7XG4gICAgc2V0VGltZW91dCgoKT0+IHtcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHtkYXRhOnRoaXMuZGF0YX0pO1xuICAgIH0sIDEwMCk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIFtpZF09XCJkYXRhPy5pZFwiIFtuZ0NsYXNzXT1cInsnbWVyZ2VOYXZiYXInOiBjYW5NZXJnZU5hdmJhcn1cIiBbc2ltcG9CYWNrZ3JvdW5kXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCJcbiAgY2xhc3M9XCJ0b3RhbC1jb250YWluZXJcIiBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxuICA8ZGl2IFthdHRyLmNsYXNzXT1cInN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlID8gJ3B4LTAgcHktMCcgOiAncHgtNSBweS00J1wiICBbaWRdPVwiZGF0YT8uaWRcIiAjbWFpbkNvbnRhaW5lciBbc2ltcG9PdmVybGF5XT1cInN0eWxlcz8uYmFja2dyb3VuZFwiXG4gICAgW3NpbXBvQm9yZGVyXT1cInN0eWxlcz8uYm9yZGVyXCIgIFtzcGFjaW5nSG9yaXpvbnRhbF09XCJzdHlsZXNMYXlvdXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC01IGFsaWduLWl0ZW1zLWNlbnRlciB0b3RhbC1zZWN0aW9uXCJbaWRdPVwiZGF0YT8uaWRcIlxuICAgICAgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCIgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCJcbiAgICAgIFtzaW1wb1Bvc2l0aW9uTGF5b3V0RGlyZWN0aXZlXT1cInN0eWxlcz8ucG9zaXRpb25MYXlvdXRcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnYWxpZ24taXRlbXMtc3RyZXRjaCc6IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAncmlnaHQnIHx8IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAnbGVmdCcsICdweC0wIHB5LTAnOiBzdHlsZXM/LmJvcmRlckxlc3NJbWFnZSB9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Utc2VjdGlvblwiICpuZ0lmPVwiY29udGVudD8ubGlzdEl0ZW0/LmRhdGE/Lmxlbmd0aCA9PT0gM1wiICBbbmdDbGFzc109XCJ7J2ltYWdlLXBvc2l0aW9uJyA6IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAndG9wJyB8fCBzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ2JvdHRvbScsICdhbGlnbi1pdGVtcy11bnNldCc6IHN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlID09PSB0cnVlfVwiPlxuICAgICAgICA8ZGl2IFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0ltYWdlRGlyZWN0aXZlXT1cInN0eWxlcz8uaW1hZ2VcIiBbbmdDbGFzc109XCJ7J2ltYWdlcy10b3AnIDogc3R5bGVzPy5wb3NpdGlvbkxheW91dD8udmFsdWUgPT09ICd0b3AnIHx8IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAnYm90dG9tJywgJ210LTAgbWItbyBtcy0wIG1lLTAnOiBzdHlsZXM/LmJvcmRlckxlc3NJbWFnZT09PXRydWV9XCI+XG4gICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiICBbc3JjXT1cImxpc3RJdGVtc1swXT8uaW1hZ2UudXJsXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiIGNsYXNzPVwiaW1nXCIgW25nQ2xhc3NdPVwieydpbWFnZS13aWR0aC10b3AnIDogc3R5bGVzPy5wb3NpdGlvbkxheW91dD8udmFsdWUgPT09ICd0b3AnIHx8IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAnYm90dG9tJywgJ210LTAgbWItbyBtcy0wIG1lLTAgYm9yZGVyTGVzcy1pbWFnZSc6IHN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlPT09dHJ1ZX1cIlxuICAgICAgICAgICAgW3NpbXBvSW1hZ2VEaXJlY3RpdmVdPVwic3R5bGVzPy5pbWFnZVwiIFthbHRdPVwibGlzdEl0ZW1zWzBdPy5pbWFnZS5hbHRUZXh0XCJcbiAgICAgICAgICAgIFtjbGFzc109XCJkYXRhPy5pZCsobGlzdEl0ZW1zWzBdPy5pbWFnZS5pZCB8fCAnJylcIiBbc2ltcG9PYmplY3RQb3NpdGlvbl09XCJsaXN0SXRlbXNbMF0/LmltYWdlLnBvc2l0aW9uXCJcbiAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCIgICAgICAgICAgICAgICAgW2FwcEltYWdlRWRpdG9yXT1cImVkaXQgfHwgZmFsc2VcIiBbaW1hZ2VEYXRhXT1cImxpc3RJdGVtc1swXT8uaW1hZ2VcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgY2xhc3M9XCJkLWJsb2NrXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydpbWFnZXMnIDogc3R5bGVzPy5wb3NpdGlvbkxheW91dD8udmFsdWUgPT09ICd0b3AnIHx8IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAnYm90dG9tJ31cIj5cbiAgICAgICAgICA8ZGl2IFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb0ltYWdlRGlyZWN0aXZlXT1cInN0eWxlcz8uaW1hZ2VcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiIFtuZ0NsYXNzXT1cInsnbXQtMCBnYXAtMCc6IHN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlLCAnbXQtNCc6ICFzdHlsZXM/LmJvcmRlckxlc3NJbWFnZX1cIj5cbiAgICAgICAgICAgIDxpbWcgbG9hZGluZz1cImxhenlcIiAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdEl0ZW1zLnNsaWNlKDEpOyBsZXQgaSA9IGluZGV4XCIgW3NyY109XCJpdGVtPy5pbWFnZS51cmxcIiBbaWRdPVwiZGF0YT8uaWRcIiBbbmdDbGFzc109XCJ7J2ltYWdlLXdpZHRoJyA6IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAndG9wJyB8fCBzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ2JvdHRvbScsICdib3JkZXJMZXNzLWltYWdlIG1lLTAgYm9yZGVybGVzcy13aWR0aCc6IHN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlLCAnaW1nLTEnOiAhc3R5bGVzPy5ib3JkZXJMZXNzSW1hZ2V9XCJcbiAgICAgICAgICAgICAgW2FsdF09XCJpdGVtPy5pbWFnZS5hbHRUZXh0XCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiIFtzaW1wb0ltYWdlRGlyZWN0aXZlXT1cInN0eWxlcz8uaW1hZ2VcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiZGF0YT8uaWQrKGl0ZW0/LmltYWdlLmlkIHx8ICcnKVwiIFtzaW1wb09iamVjdFBvc2l0aW9uXT1cIml0ZW0/LmltYWdlLnBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICBbYXBwSW1hZ2VFZGl0b3JdPVwiZWRpdCB8fCBmYWxzZVwiIFtpbWFnZURhdGFdPVwiaXRlbT8uaW1hZ2VcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Utc2VjdGlvbi0yXCIgKm5nSWY9XCJjb250ZW50Py5saXN0SXRlbT8uZGF0YT8ubGVuZ3RoID09PSAyXCIgW25nQ2xhc3NdPVwieydpbWFnZS1zZWN0aW9uLTItYm9yZGVybGVzcyc6IHN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlfVwiPlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnaW1hZ2Utd2lkdGgtMicgOiBzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ3RvcCcgfHwgc3R5bGVzPy5wb3NpdGlvbkxheW91dD8udmFsdWUgPT09ICdib3R0b20nfVwiPlxuICAgICAgICAgIDxkaXYgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvSW1hZ2VEaXJlY3RpdmVdPVwic3R5bGVzPy5pbWFnZVwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgW25nQ2xhc3NdPVwieydtdC0wIGdhcC0wJzogc3R5bGVzPy5ib3JkZXJMZXNzSW1hZ2UsICdtdC00JzogIXN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlfVwiPlxuICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0SXRlbXM7IGxldCBpID0gaW5kZXhcIiBbc3JjXT1cIml0ZW0/LmltYWdlLnVybFwiIFtpZF09XCJkYXRhPy5pZFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW1hZ2VzLXdpZHRoLTInIDogc3R5bGVzPy5wb3NpdGlvbkxheW91dD8udmFsdWUgPT09ICd0b3AnIHx8IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAnYm90dG9tJywgJ2JvcmRlcmxlc3Mtd2lkdGggYm9yZGVyTGVzcy1pbWFnZSc6IHN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlLCAnaW1nLTEnOiAhc3R5bGVzPy5ib3JkZXJMZXNzSW1hZ2V9XCJcbiAgICAgICAgICAgICAgW2FsdF09XCJpdGVtPy5pbWFnZS5hbHRUZXh0XCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiIFtzaW1wb0ltYWdlRGlyZWN0aXZlXT1cInN0eWxlcz8uaW1hZ2VcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiZGF0YT8uaWQrKGl0ZW0/LmltYWdlLmlkIHx8ICcnKVwiIFtzaW1wb09iamVjdFBvc2l0aW9uXT1cIml0ZW0/LmltYWdlLnBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIiAgICAgICAgICAgICAgICBbYXBwSW1hZ2VFZGl0b3JdPVwiZWRpdCB8fCBmYWxzZVwiIFtpbWFnZURhdGFdPVwiaXRlbT8uaW1hZ2VcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Utc2VjdGlvbi0zXCIgKm5nSWY9XCJjb250ZW50Py5saXN0SXRlbT8uZGF0YT8ubGVuZ3RoID09PSAxXCIgW25nQ2xhc3NdPVwieydpbWFnZS13aWR0aC0zJyA6IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAndG9wJyB8fCBzdHlsZXM/LnBvc2l0aW9uTGF5b3V0Py52YWx1ZSA9PT0gJ2JvdHRvbSd9XCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9JbWFnZURpcmVjdGl2ZV09XCJzdHlsZXM/LmltYWdlXCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIiAgW25nQ2xhc3NdPVwieydtdC0wJzogc3R5bGVzPy5ib3JkZXJMZXNzSW1hZ2UsICdtdC00JzogIXN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlfVwiPlxuICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0SXRlbXM7IGxldCBpID0gaW5kZXhcIiBbc3JjXT1cIml0ZW0/LmltYWdlLnVybFwiIFtpZF09XCJkYXRhPy5pZFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW1hZ2VzLXdpZHRoLTMnIDogc3R5bGVzPy5wb3NpdGlvbkxheW91dD8udmFsdWUgPT09ICd0b3AnIHx8IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAnYm90dG9tJywgJ2JvcmRlckxlc3MtaGVpZ2h0IGJvcmRlckxlc3MtaW1hZ2UnOiBzdHlsZXM/LmJvcmRlckxlc3NJbWFnZSwgJ2ltZy0xJzogIXN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlfVwiXG4gICAgICAgICAgICAgIFthbHRdPVwiaXRlbT8uaW1hZ2UuYWx0VGV4dFwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZXM/LmNvcm5lcnNcIiBbc2ltcG9JbWFnZURpcmVjdGl2ZV09XCJzdHlsZXM/LmltYWdlXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cImRhdGE/LmlkKyhpdGVtPy5pbWFnZS5pZCB8fCAnJylcIiBbc2ltcG9PYmplY3RQb3NpdGlvbl09XCJpdGVtPy5pbWFnZS5wb3NpdGlvblwiIGNsYXNzPVwiaW1hZ2UtMVwiXG4gICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCIgICAgICAgICAgICAgICBbYXBwSW1hZ2VFZGl0b3JdPVwiZWRpdCB8fCBmYWxzZVwiIFtpbWFnZURhdGFdPVwiaXRlbT8uaW1hZ2VcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTYgZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1zdGFydCBnYXAtMTUgY29udGVudC1zaWRlXCIgW2lkXT1cImRhdGE/LmlkXCIgW25nQ2xhc3NdPVwieydjb2wtbGctMTInIDogc3R5bGVzPy5wb3NpdGlvbkxheW91dD8udmFsdWUgPT09ICd0b3AnIHx8IHN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSAnYm90dG9tJywgJ3B4LTUgcHktNCc6IHN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlfVwiXG4gICAgICAgIFtzaW1wb0NvbnRlbnRBbGlnbm1lbnRdPVwic3R5bGVzPy5jb250ZW50QWxpZ25tZW50XCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHRleHQgb2YgY29udGVudD8uaW5wdXRUZXh0XCI+XG4gICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ0ZXh0LmxhYmVsID09PSAnSGVhZGluZycgPyAnaGVhZGluZy1sYXJnZSBsaC0yIG1iLTMnIDogJ2JvZHktbGFyZ2UnXCI+XG4gICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yIFsodmFsdWUpXT1cInRleHQudmFsdWVcIiBbZWRpdGFibGVdPVwiZWRpdCB8fCBmYWxzZVwiPjwvc2ltcG8tdGV4dC1lZGl0b3I+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tc2VjdGlvbiBkLWZsZXggbXQtNFwiICpuZ0lmPVwiIWRhdGE/LmFjdGlvbj8uaGFzT3duUHJvcGVydHkoJ2Rpc3BsYXknKSB8fCBkYXRhPy5hY3Rpb24/LmRpc3BsYXlcIiAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgc3R5bGVzPy5sYXlvdXQ/LmFsaWduID09PSAnbGVmdCcgPyAnanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0JyA6ICcnLFxuICAgICAgICBzdHlsZXM/LmxheW91dD8uYWxpZ24gPT09ICdjZW50ZXInID8gJ2p1c3RpZnktY29udGVudC1tZC1jZW50ZXInIDogJycsXG4gICAgICAgIHN0eWxlcz8ubGF5b3V0Py5hbGlnbiA9PT0gJ3JpZ2h0JyA/ICdqdXN0aWZ5LWNvbnRlbnQtbWQtZW5kJyA6ICcnXG4gICAgICBdXCI+XG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRhdGE/LmFjdGlvbj8uYnV0dG9uc1wiPlxuICAgICAgICAgICAgPGFwcC1idXR0b24tZWxlbWVudCBbYnV0dG9uQ29udGVudF09XCJidXR0b24uY29udGVudFwiIFtidXR0b25TdHlsZV09XCJidXR0b24uc3R5bGVzXCIgW2J1dHRvbklkXT1cImJ1dHRvbi5pZFwiIFtlZGl0XT1cImVkaXRcIlxuICAgICAgICAgICAgICBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgW2NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiBbYmFja2dyb3VuZEluZm9dPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kXCI+PC9hcHAtYnV0dG9uLWVsZW1lbnQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGVzPy5kZXZpZGVyPy5kaXNwbGF5XCI+XG4gICAgPHNpbXBvLXN2Zy1kaXZpZGVyIFtkaXZpZGVyVHlwZV09XCJzdHlsZXM/LmRldmlkZXI/LmRldmlkZXJUeXBlXCIgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxuICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIiBbaXNNZXJnZWRdPVwic3R5bGVzPy5tZXJnZSA/PyBmYWxzZVwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cbiAgPC9kaXY+XG5cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLWdyaWQtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2Jhbm5lci1ncmlkLXNlY3Rpb24vYmFubmVyLWdyaWQtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL2Jhbm5lci1ncmlkLXNlY3Rpb24vYmFubmVyLWdyaWQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2hHLE9BQU8sV0FBVyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFFMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxREFBcUQs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QUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFubmVyR3JpZFNlY3Rpb25Nb2RlbCwgQmFubmVyR3JpZENvbnRlbnRNb2RlbCwgQmFubmVyR3JpZFN0eWxlc01vZGVsIH0gZnJvbSAnLi9iYW5uZXItZ3JpZC1zZWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uL0Jhc2VTZWN0aW9uJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvaG92ZXItZWxlbWVudC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJ1xyXG5pbXBvcnQgeyBJbWFnZURpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1kaXJlY3RpdmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vdmVybGF5LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvcm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb3JuZXItZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSG92ZXJFbGVtZW50c0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2hvdmVyLWVsZW1lbnRzL2hvdmVyLWVsZW1lbnRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEZWxldGVIb3ZlckVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9kZWxldGUtaG92ZXItZWxlbWVudC9kZWxldGUtaG92ZXItZWxlbWVudC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU2ltcG9CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHMvc2ltcG8tYnV0dG9uL3NpbXBvLWJ1dHRvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQm9yZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JvcmRlci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNpbXBvRm9vdGVyTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2Zvb3Rlci1sYXlvdXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUG9zaXRpb25MYXlvdXREaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvcG9zaXRpb24tbGF5b3V0LWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBPYmplY3RQb3NpdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9pbWFnZS1wb3NpdGlvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBzaW1wb0NvbmV0ZW5BbGlnbm1lbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1hbGlnbm1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTaW1wb0JvcmRlcmxlc3NEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYm9yZGVybGVzc0ltYWdlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNhbml0aXplSHRtbFBpcGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYW5pdGl6ZUh0bWwnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwsIExheU91dE1vZGVsLCBTcGFjaW5nTW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTdmdEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvc3ZnLWRpdmlkZXIvc3ZnLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEltYWdlRWRpdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2ltYWdlLWVkaXRvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWhvcml6b250YWwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3BhY2luZ0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhlaWdodERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9oZWlnaHQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQWxpZ25tZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2FsaWdubWVudC5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1iYW5uZXItZ3JpZC1zZWN0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iYW5uZXItZ3JpZC1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmFubmVyLWdyaWQtc2VjdGlvbi5jb21wb25lbnQuY3NzJyxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLFxyXG4gICAgSG92ZXJEaXJlY3RpdmUsXHJcbiAgICBCYWNrZ3JvdW5kRGlyZWN0aXZlLFxyXG4gICAgT3ZlcmxheURpcmVjdGl2ZSxcclxuICAgIENvcm5lckRpcmVjdGl2ZSxcclxuICAgIEhvdmVyRWxlbWVudHNDb21wb25lbnQsXHJcbiAgICBEZWxldGVIb3ZlckVsZW1lbnRDb21wb25lbnQsXHJcbiAgICBTaW1wb0J1dHRvbkNvbXBvbmVudCxcclxuICAgIEJvcmRlckRpcmVjdGl2ZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIFBvc2l0aW9uTGF5b3V0RGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgT2JqZWN0UG9zaXRpb25EaXJlY3RpdmUsXHJcbiAgICBzaW1wb0NvbmV0ZW5BbGlnbm1lbnREaXJlY3RpdmUsXHJcbiAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG4gICAgSW1hZ2VFZGl0b3JEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZSxcclxuICAgIFNwYWNpbmdEaXJlY3RpdmUsXHJcbiAgICBIZWlnaHREaXJlY3RpdmUsXHJcbiAgICBBbGlnbm1lbnREaXJlY3RpdmVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYW5uZXJHcmlkU2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhPzogQmFubmVyR3JpZFNlY3Rpb25Nb2RlbDtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBjb250ZW50PzogQmFubmVyR3JpZENvbnRlbnRNb2RlbDtcclxuICBzdHlsZXM/OiBCYW5uZXJHcmlkU3R5bGVzTW9kZWw7XHJcbiAgQElucHV0KCkgZGVsZXRlPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBuZXh0Q29tcG9uZW50Q29sb3I/OiBCYWNrZ3JvdW5kTW9kZWw7XHJcblxyXG4gIGxpc3RJdGVtczogYW55O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5nZXRTY3JlZW5TaXplKClcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5saXN0SXRlbXMgPSB0aGlzLmRhdGE/LmNvbnRlbnQubGlzdEl0ZW0uZGF0YVxyXG4gICAgdGhpcy5zdHlsZXMgPSB0aGlzLmRhdGE/LnN0eWxlcztcclxuICAgIGlmICghdGhpcy5zdHlsZXMgfHwgIXRoaXMuY29udGVudCkgcmV0dXJuO1xyXG4gICAgdGhpcy5kZWxldGVTZWxlY3RlZCA9IHRoaXMuZGVsZXRlXHJcbiAgfVxyXG5cclxuICBzY3JlZW5XaWR0aDogYW55ID0gXCJcIlxyXG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6IHJlc2l6ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgZ2V0U2NyZWVuU2l6ZSgpIHtcclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIGdldCBzdHlsZXNMYXlvdXQoKSB7XHJcbiAgICAvLyAgIGlmKHRoaXMuZGF0YT8uc3R5bGVzPy5ib3JkZXJMZXNzSW1hZ2UpXHJcbiAgICAvLyByZXR1cm4gdW5kZWZpbmVkXHJcblxyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZXM/LmxheW91dCB9IGFzIExheU91dE1vZGVsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNhbk1lcmdlTmF2YmFyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3R5bGVzPy5tZXJnZTtcclxuICB9XHJcbiAgZ2V0IGlzQm9yZGVybGVzc0ltYWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3R5bGVzPy5ib3JkZXJMZXNzSW1hZ2UgJiYgKHRoaXMuc3R5bGVzPy5wb3NpdGlvbkxheW91dC52YWx1ZSA9PSBcImxlZnRcIiB8fCB0aGlzLnN0eWxlcz8ucG9zaXRpb25MYXlvdXQudmFsdWUgPT0gXCJyaWdodFwiKTtcclxuICB9XHJcbiAgZWRpdFNlY3Rpb24oKSB7XHJcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPD0gNDc1KVxyXG4gICAgICByZXR1cm5cclxuXHJcbiAgICB0aGlzLl9ldmVudFNlcnZpY2UudG9nZ2xlRWRpdG9yRXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmVkaXRTZWN0aW9uLmVtaXQoeyBkYXRhOiB0aGlzLmRhdGEgfSk7XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW1hZ2VDbGFzcyhpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnNjcmVlbldpZHRoID4gNDc1ICYmICh0aGlzLmRhdGE/LnN0eWxlcz8ucG9zaXRpb25MYXlvdXQ/LnZhbHVlID09PSBcInRvcFwiIHx8IHRoaXMuZGF0YT8uc3R5bGVzPy5wb3NpdGlvbkxheW91dD8udmFsdWUgPT09IFwiYm90dG9tXCIpKVxyXG4gICAgICByZXR1cm4gXCJjb2wtNFwiXHJcblxyXG4gICAgbGVuZ3RoID0gdGhpcy5kYXRhPy5jb250ZW50Py5saXN0SXRlbT8uZGF0YT8ubGVuZ3RoIHx8IDBcclxuXHJcbiAgICBpZiAobGVuZ3RoIC8gMiAhPT0gMCAmJiBpbmRleCA9PSBsZW5ndGggLSAxKVxyXG4gICAgICByZXR1cm4gXCJjb2wtMTJcIlxyXG5cclxuICAgIHJldHVybiBcImNvbC02XCJcclxuICB9XHJcblxyXG4gIGdldCBzcGFjaW5nTGF5b3V0KCkge1xyXG4gICAgLy8gaWYodGhpcy5kYXRhPy5zdHlsZXM/LmJvcmRlckxlc3NJbWFnZSlcclxuICAgIC8vICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZXM/LmxheW91dD8uc3BhY2luZyB9IGFzIFNwYWNpbmdNb2RlbFxyXG4gIH1cclxuICBnZXQgYWxpZ25tZW50TGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3R5bGVzPy5sYXlvdXQ/LmFsaWduXHJcbiAgfVxyXG4gIGdldCBmaXRMYXlvdXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdHlsZXM/LmxheW91dD8uZml0XHJcbiAgfVxyXG5cclxuICBnZXRUZXh0Q29sb3IoYmdDb2xvcjogc3RyaW5nKSB7XHJcbiAgICBpZiAoYmdDb2xvcikge1xyXG4gICAgICBjb25zdCB0aHJlc2hvbGQgPSAxMzA7IC8vIEFkanVzdCB0aGlzIHRocmVzaG9sZCBhcyBuZWVkZWRcclxuICAgICAgY29uc3QgciA9IHBhcnNlSW50KGJnQ29sb3Iuc2xpY2UoMSwgMyksIDE2KTtcclxuICAgICAgY29uc3QgZyA9IHBhcnNlSW50KGJnQ29sb3Iuc2xpY2UoMywgNSksIDE2KTtcclxuICAgICAgY29uc3QgYiA9IHBhcnNlSW50KGJnQ29sb3Iuc2xpY2UoNSwgNyksIDE2KTtcclxuICAgICAgY29uc3QgYnJpZ2h0bmVzcyA9IChyICogMjk5ICsgZyAqIDU4NyArIGIgKiAxMTQpIC8gMTAwMDtcclxuXHJcbiAgICAgIHJldHVybiBicmlnaHRuZXNzID4gdGhyZXNob2xkID8gJyMwMDAwMDAnIDogJyNmZmZmZmYnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiI2ZmZmZmZjtcIlxyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIj5cclxuICA8ZGl2IFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQm9yZGVyXT1cInN0eWxlcz8uYm9yZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IHRvcC1wYXJlbnRcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9BbmltYXRpb25dPVwic3R5bGVzPy5hbmltYXRpb25cIlxyXG4gICAgICBbc2ltcG9Qb3NpdGlvbkxheW91dERpcmVjdGl2ZV09XCJzdHlsZXM/LnBvc2l0aW9uTGF5b3V0XCIgW3NpbXBvSGVpZ2h0XT1cImZpdExheW91dFwiXHJcbiAgICAgIFtzaW1wb092ZXJsYXldPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIiBbc3BhY2luZ0hvcml6b250YWxdPVwiIWRhdGE/LnN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlID8gc3R5bGVzTGF5b3V0IDogdW5kZWZpbmVkXCIgW2NsYXNzLnAwXT1cImRhdGE/LnN0eWxlcz8uYm9yZGVyTGVzc0ltYWdlXCJcclxuICAgICAgICBbc2ltcG9TcGFjaW5nXT1cIiFkYXRhPy5zdHlsZXM/LmJvcmRlckxlc3NJbWFnZSA/IHNwYWNpbmdMYXlvdXQgOiB1bmRlZmluZWRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW1hZ2VUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbCBkLWZsZXggZmxleC1jb2x1bW5cIiBbc3BhY2luZ0hvcml6b250YWxdPVwic3R5bGVzTGF5b3V0XCIgW3NpbXBvU3BhY2luZ109XCJzcGFjaW5nTGF5b3V0XCJcclxuICAgICAgICBbc2ltcG9BbGlnbm1lbnRdPVwiYWxpZ25tZW50TGF5b3V0XCIgW3NpbXBvQ29udGVudEFsaWdubWVudF09XCJzdHlsZXM/LmNvbnRlbnRBbGlnbm1lbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wYXJlbnRcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZXh0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cclxuICAgIDxzaW1wby1ob3Zlci1lbGVtZW50cyBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCIgW2VkaXRPcHRpb25zXT1cImVkaXRcIlxyXG4gICAgICBbaXNNZXJnZWRdPVwic3R5bGVzPy5tZXJnZSA/PyBmYWxzZVwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICA8L2Rpdj5cclxuXHJcbjwvc2VjdGlvbj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYnV0dG9uVGVtcGxhdGU+XHJcbiAgPGRpdiBjbGFzcz1cImJ1dHRvbi1kaXNwbGF5XCJcclxuICAqbmdJZj1cImRhdGE/LmFjdGlvbiAmJiBkYXRhPy5hY3Rpb24/LmRpc3BsYXlcIiBjbGFzcz1cImN1c3RvbWNsYXNzIHctZnVsbFwiIFtuZ0NsYXNzXT1cIltcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVzPy5sYXlvdXQ/LmFsaWduID09PSAnbGVmdCcgPyAnanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0JyA6ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZXM/LmxheW91dD8uYWxpZ24gPT09ICdjZW50ZXInID8gJ2p1c3RpZnktY29udGVudC1tZC1jZW50ZXInIDogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlcz8ubGF5b3V0Py5hbGlnbiA9PT0gJ3JpZ2h0JyA/ICdqdXN0aWZ5LWNvbnRlbnQtbWQtZW5kJyA6ICcnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRhdGE/LmFjdGlvbj8uYnV0dG9uc1wiPlxyXG4gICAgICA8YXBwLWJ1dHRvbi1lbGVtZW50IFtidXR0b25Db250ZW50XT1cImJ1dHRvbi5jb250ZW50XCIgW2J1dHRvblN0eWxlXT1cImJ1dHRvbi5zdHlsZXNcIiBbYnV0dG9uSWRdPVwiYnV0dG9uLmlkXCJcclxuICAgICAgICBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgW2NvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiBbZWRpdF09XCJlZGl0XCJcclxuICAgICAgICBbYmFja2dyb3VuZEluZm9dPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kXCI+PC9hcHAtYnV0dG9uLWVsZW1lbnQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdGV4dFRlbXBsYXRlPlxyXG4gIDxkaXYgW3NpbXBvQ29udGVudEFsaWdubWVudF09XCJzdHlsZXM/LmNvbnRlbnRBbGlnbm1lbnRcIiBbaWRdPVwiZGF0YT8uaWRcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29udGVudD8uaW5wdXRUZXh0XCI+XHJcbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwiaXRlbS5sYWJlbC5pbmNsdWRlcygnSGVhZGluZycpID8gJ2hlYWRpbmctbGFyZ2UgbGgtMiBtYi00JyA6ICdib2R5LWxhcmdlJ1wiPlxyXG4gICAgICAgIDxzaW1wby10ZXh0LWVkaXRvciBbKHZhbHVlKV09XCJpdGVtLnZhbHVlXCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpbWFnZVRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiBbc3R5bGUucm93R2FwXT1cIiFkYXRhPy5zdHlsZXM/LmJvcmRlckxlc3NJbWFnZSA/ICcxNXB4JyA6ICcwJ1wiPlxyXG4gICAgPGltZyBbc3JjXT1cIml0ZW0/LmltYWdlPy51cmxcIiBbYWx0XT1cIml0ZW0/LmltYWdlPy5hbHRUZXh0XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YT8uY29udGVudD8ubGlzdEl0ZW0/LmRhdGEgfHwgW107IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICBbY2xhc3NdPVwiZ2V0SW1hZ2VDbGFzcyhpKVwiIFtjbGFzcy5wMF09XCJkYXRhPy5zdHlsZXM/LmJvcmRlckxlc3NJbWFnZVwiIFtpZF09XCJkYXRhPy5pZFwiIGNsYXNzPVwiZ3JpZC1pbWdcIlxyXG4gICAgICAgW3NpbXBvT2JqZWN0UG9zaXRpb25dPVwiaXRlbT8uaW1hZ2U/LnBvc2l0aW9uXCIgW3NpbXBvQ29ybmVyXT1cInN0eWxlcz8uY29ybmVyc1wiXHJcbiAgICAgIFthcHBJbWFnZUVkaXRvcl09XCJlZGl0IHx8IGZhbHNlXCIgW2ltYWdlRGF0YV09XCJpdGVtPy5pbWFnZVwiIFtzZWN0aW9uSWRdPVwiZGF0YT8uaWRcIj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|