simpo-component-library 3.6.878 → 3.6.880
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/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +2 -2
- package/esm2022/lib/ecommerce/sections/category-product/category-product.component.mjs +2 -2
- package/esm2022/lib/ecommerce/sections/featured-category/featured-category.component.mjs +2 -2
- package/esm2022/lib/ecommerce/sections/featured-category/featured-collection.component.mjs +2 -2
- package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +2 -2
- package/esm2022/lib/ecommerce/sections/new-collection/new-collection.component.mjs +2 -2
- package/esm2022/lib/ecommerce/sections/returns-calculator/returns-calculator.component.mjs +2 -2
- package/esm2022/lib/ecommerce/sections/schemes/schemes.component.mjs +2 -2
- package/esm2022/lib/ecommerce/sections/user-profile/user-profile.component.mjs +2 -2
- package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +3 -3
- package/esm2022/lib/elements/covering-image-card/covering-image-card.component.mjs +3 -3
- package/esm2022/lib/elements/pricing-s1/pricing-s1.component.mjs +3 -3
- package/esm2022/lib/elements/text-editor/text-editor.component.mjs +22 -2
- package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +5 -3
- package/esm2022/lib/sections/appointment-form/appointment-form.component.mjs +3 -3
- package/esm2022/lib/sections/banner-carousel/banner-carousel.component.mjs +3 -3
- package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +3 -3
- package/esm2022/lib/sections/banner-section/banner-section.component.mjs +3 -3
- package/esm2022/lib/sections/brand-story-section/brand-story-section.component.mjs +3 -3
- package/esm2022/lib/sections/button-grid-section/button-grid-section.component.mjs +3 -3
- package/esm2022/lib/sections/carousel-banner/carousel-banner.component.mjs +3 -3
- package/esm2022/lib/sections/choose-us-section/choose-us-section.component.mjs +3 -3
- package/esm2022/lib/sections/condensed-and-gradient/condensed-and-gradient.component.mjs +3 -3
- package/esm2022/lib/sections/contact-us/contact-us.component.mjs +3 -3
- package/esm2022/lib/sections/countdown-banner/countdown-banner.component.mjs +3 -3
- package/esm2022/lib/sections/faq-columns-cards/faq-columns-cards.component.mjs +3 -3
- package/esm2022/lib/sections/faq-section/faq-section.component.mjs +3 -3
- package/esm2022/lib/sections/feature-experience-section/feature-experience-section.component.mjs +3 -3
- package/esm2022/lib/sections/features-section/features-section.component.mjs +3 -3
- package/esm2022/lib/sections/footer/footer.component.mjs +2 -2
- package/esm2022/lib/sections/four-features-centered-image/four-features-centered-image.component.mjs +3 -3
- package/esm2022/lib/sections/header-text/header-text.component.mjs +3 -3
- package/esm2022/lib/sections/image-background/image-background/image-background.component.mjs +3 -3
- package/esm2022/lib/sections/image-carousel-section/image-carousel-section.component.mjs +3 -3
- package/esm2022/lib/sections/image-grid-hotspot/image-grid-hotspot.component.mjs +3 -3
- package/esm2022/lib/sections/image-grid-section/image-grid-section.component.mjs +3 -3
- package/esm2022/lib/sections/image-section/image-section.component.mjs +4 -4
- package/esm2022/lib/sections/location-section/location-section.component.mjs +3 -3
- package/esm2022/lib/sections/logo-gallery/logo-gallery.component.mjs +4 -4
- package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +3 -3
- package/esm2022/lib/sections/new-services/new-services.component.mjs +4 -4
- package/esm2022/lib/sections/new-testimonials/new-testimonials.component.mjs +4 -4
- package/esm2022/lib/sections/news-letter-component/news-letter-component.component.mjs +3 -3
- package/esm2022/lib/sections/overlapping-image/overlapping-image.component.mjs +3 -3
- package/esm2022/lib/sections/pricing-section/pricing-section.component.mjs +3 -3
- package/esm2022/lib/sections/process-modern/process-modern.component.mjs +3 -3
- package/esm2022/lib/sections/process-section/process-section.component.mjs +3 -3
- package/esm2022/lib/sections/product-info-section/product-info-section.component.mjs +3 -3
- package/esm2022/lib/sections/recent-blog-post-section/recent-blog-post-section.component.mjs +3 -3
- package/esm2022/lib/sections/scheme-detail/scheme-detail.component.mjs +3 -3
- package/esm2022/lib/sections/service-section/service-section.component.mjs +3 -3
- package/esm2022/lib/sections/team-member-section/team-member-section.component.mjs +3 -3
- package/esm2022/lib/sections/testimonial-fullwidth/testimonial-fullwidth.component.mjs +3 -3
- package/esm2022/lib/sections/testimonial-masonry/testimonial-masonry.component.mjs +3 -3
- package/esm2022/lib/sections/testimonial-section/testimonial-section.component.mjs +4 -4
- package/esm2022/lib/sections/testimonial-slider/testimonial-slider.component.mjs +4 -4
- package/esm2022/lib/sections/testimonial-video/testimonial-video.component.mjs +3 -3
- package/esm2022/lib/sections/text-image-section/text-image-section.component.mjs +3 -3
- package/esm2022/lib/sections/text-section/text-section.component.mjs +3 -3
- package/esm2022/lib/sections/video-carousel-section/video-carousel-section.component.mjs +3 -3
- package/esm2022/lib/sections/video-grid-section/video-grid-section.component.mjs +3 -3
- package/fesm2022/simpo-component-library.mjs +138 -117
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/elements/text-editor/text-editor.component.d.ts +5 -1
- package/lib/elements/top-of-image-card/top-of-image-card.component.d.ts +2 -1
- package/package.json +1 -1
- package/simpo-component-library-3.6.880.tgz +0 -0
- package/simpo-component-library-3.6.878.tgz +0 -0
|
@@ -80,7 +80,7 @@ export class VideoCarouselSectionComponent extends BaseSection {
|
|
|
80
80
|
}, 100);
|
|
81
81
|
}
|
|
82
82
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VideoCarouselSectionComponent, deps: [{ token: i1.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: VideoCarouselSectionComponent, isStandalone: true, selector: "simpo-video-carousel-section", inputs: { data: "data", index: "index", customClass: "customClass", nextComponentColor: "nextComponentColor", edit: "edit", delete: "delete" }, host: { listeners: { "window:resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<section class=\"container-fluid\" [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\"\r\n [attr.style]=\"customClass\">\r\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\">\r\n <div [simpoCorner]=\"style?.corners\"\r\n [ngClass]=\"{ 'video-screen': style?.layout?.fit === 'screen' }\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\">\r\n\r\n <div class=\"d-flex mlr-0 w-100 position-relative\" *ngIf=\"data?.content?.inputText?.length\" [id]=\"data?.id\"\r\n [simpoAnimation]=\"style?.animation\">\r\n\r\n <!-- Main Video Stage -->\r\n <div class=\"stage-container w-100 p-0\" [simpoCorner]=\"style?.corners\">\r\n <video *ngIf=\"primaryVideoUrl\" [src]=\"primaryVideoUrl\" autoplay muted loop playsinline class=\"stage-video\"\r\n [class.active]=\"isPrimaryActive\"\r\n [ngClass]=\"{'vh-80': style?.layout?.fit === 'screen', 'vh-50': style?.layout?.fit === 'content'}\">\r\n </video>\r\n <video *ngIf=\"secondaryVideoUrl\" [src]=\"secondaryVideoUrl\" autoplay muted loop playsinline class=\"stage-video\"\r\n [class.active]=\"!isPrimaryActive\"\r\n [ngClass]=\"{'vh-80': style?.layout?.fit === 'screen', 'vh-50': style?.layout?.fit === 'content'}\">\r\n </video>\r\n <div class=\"stage-overlay\"></div>\r\n\r\n <!-- Booth Selection Overlay -->\r\n <div class=\"booth-selector d-flex flex-column justify-content-center align-items-end\">\r\n <div class=\"booth-header d-flex align-items-center mb-2\">\r\n <span class=\"live-dot\" [style.--accent-color]=\"style?.background?.accentColor\"\r\n [style.backgroundColor]=\"'var(--accent-color)'\"></span>\r\n <span class=\"live-text\">\r\n <simpo-text-editor *ngIf=\"data?.content?.inputText?.[1] as liveText\" [(value)]=\"liveText.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n <ng-container *ngIf=\"!data?.content?.inputText?.[1]\">LIVE BOOTHS</ng-container>\r\n </span>\r\n </div>\r\n <div class=\"booth-thumbnails d-flex\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"booth-item\"\r\n [class.active]=\"i === activeIndex\" (click)=\"setVideo(i)\">\r\n <div class=\"booth-thumb-wrapper\"\r\n [style.borderColor]=\"i === activeIndex ? style?.background?.accentColor : 'transparent'\"\r\n [style.boxShadow]=\"i === activeIndex ? '0 0 15px ' + style?.background?.accentColor + '4d' : 'none'\">\r\n <video [src]=\"item.video.url\" muted loop playsinline class=\"thumb-video\"></video>\r\n <div class=\"active-indicator\" *ngIf=\"i === activeIndex\">\r\n <span class=\"dot\" [style.backgroundColor]=\"style?.background?.accentColor\"></span>\r\n </div>\r\n </div>\r\n <div class=\"booth-label\">{{item.video.description || 'BOOTH ' + (i + 1)}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Optional Text Overlay -->\r\n <div class=\"text-overlay\" *ngIf=\"edit || data?.content?.inputText?.[0]?.value\">\r\n <simpo-text-editor *ngIf=\"data?.content?.inputText?.[0] as mainText\" [(value)]=\"mainText.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Svg Divider -->\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <!-- Editor Hover Elements -->\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></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</section>", styles: [".total-container{position:relative}.stage-container{position:relative;width:100%;overflow:hidden}.stage-video{width:100%;object-fit:cover;display:block;position:absolute;top:0;left:0;opacity:0;transition:opacity .8s ease-in-out;pointer-events:none}.stage-video.active{opacity:1;position:relative;pointer-events:auto}.vh-80{height:80vh}.vh-50{height:50vh}.stage-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(0deg,rgba(0,0,0,.4) 0%,transparent 30%,transparent 100%);pointer-events:none}.booth-selector{position:absolute;bottom:1.5rem;right:1.5rem;z-index:10;max-width:90%}.booth-header{background:#121212d9;padding:6px 14px;border-radius:50px;width:fit-content;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);margin-bottom:.75rem!important;margin:0 10px}.live-dot{width:10px;height:10px;background-color:var(--accent-color, #ff3b30);border-radius:50%;display:inline-block;margin-right:10px;box-shadow:0 0 10px var(--accent-color, rgba(255, 59, 48, .6));animation:pulse-red 2s infinite}@keyframes pulse-red{0%{transform:scale(.95);box-shadow:0 0 0 0 var(--accent-color, rgba(255, 59, 48, .7))}70%{transform:scale(1);box-shadow:0 0 0 10px #0000}to{transform:scale(.95);box-shadow:0 0 #0000}}.live-text{color:#fff;font-size:.65rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.booth-thumbnails{gap:10px;overflow-x:auto;padding:5px 10px;scrollbar-width:none}.booth-thumbnails::-webkit-scrollbar{display:none}.booth-item{cursor:pointer;flex:0 0 auto;width:110px;transition:all .3s cubic-bezier(.23,1,.32,1)}.booth-item:hover{transform:scale(1.05)}.booth-thumb-wrapper{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:2px solid rgba(255,255,255,.1);background:#1a1a1a;transition:border-color .3s ease}.booth-item.active .booth-thumb-wrapper{border:2.5px solid #ff3b30;box-shadow:0 8px 24px #ff3b3066}.thumb-video{width:100%;height:100%;object-fit:cover}.active-indicator{position:absolute;top:8px;left:8px;background:#ff3b30e6;width:6px;height:6px;border-radius:50%;box-shadow:0 0 6px #ff3b30}.booth-label{color:#f0f0f0;font-size:.6rem;margin-top:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;opacity:.8}.booth-item.active .booth-label{opacity:1;color:#fff}.text-overlay{position:absolute;top:2rem;left:2rem;z-index:10;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.8)}@media (max-width: 768px){.booth-selector{bottom:1rem;right:1rem;left:1rem;max-width:none;overflow-y:scroll;align-items:start!important}.booth-thumbnails{width:100%!important}.booth-item{width:110px}.vh-80{height:45vh}.vh-50{height:35vh}}\n"], dependencies: [{ kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: i2.SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i4.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i5.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label", "type"], outputs: ["valueChange"] }, { kind: "directive", type:
|
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: VideoCarouselSectionComponent, isStandalone: true, selector: "simpo-video-carousel-section", inputs: { data: "data", index: "index", customClass: "customClass", nextComponentColor: "nextComponentColor", edit: "edit", delete: "delete" }, host: { listeners: { "window:resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<section class=\"container-fluid\" [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\"\r\n [attr.style]=\"customClass\">\r\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\">\r\n <div [simpoCorner]=\"style?.corners\"\r\n [ngClass]=\"{ 'video-screen': style?.layout?.fit === 'screen' }\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\">\r\n\r\n <div class=\"d-flex mlr-0 w-100 position-relative\" *ngIf=\"data?.content?.inputText?.length\" [id]=\"data?.id\"\r\n [simpoAnimation]=\"style?.animation\">\r\n\r\n <!-- Main Video Stage -->\r\n <div class=\"stage-container w-100 p-0\" [simpoCorner]=\"style?.corners\">\r\n <video *ngIf=\"primaryVideoUrl\" [src]=\"primaryVideoUrl\" autoplay muted loop playsinline class=\"stage-video\"\r\n [class.active]=\"isPrimaryActive\"\r\n [ngClass]=\"{'vh-80': style?.layout?.fit === 'screen', 'vh-50': style?.layout?.fit === 'content'}\">\r\n </video>\r\n <video *ngIf=\"secondaryVideoUrl\" [src]=\"secondaryVideoUrl\" autoplay muted loop playsinline class=\"stage-video\"\r\n [class.active]=\"!isPrimaryActive\"\r\n [ngClass]=\"{'vh-80': style?.layout?.fit === 'screen', 'vh-50': style?.layout?.fit === 'content'}\">\r\n </video>\r\n <div class=\"stage-overlay\"></div>\r\n\r\n <!-- Booth Selection Overlay -->\r\n <div class=\"booth-selector d-flex flex-column justify-content-center align-items-end\">\r\n <div class=\"booth-header d-flex align-items-center mb-2\">\r\n <span class=\"live-dot\" [style.--accent-color]=\"style?.background?.accentColor\"\r\n [style.backgroundColor]=\"'var(--accent-color)'\"></span>\r\n <span class=\"live-text\">\r\n <simpo-text-editor *ngIf=\"data?.content?.inputText?.[1] as liveText\" [(value)]=\"liveText.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"1\"></simpo-text-editor>\r\n <ng-container *ngIf=\"!data?.content?.inputText?.[1]\">LIVE BOOTHS</ng-container>\r\n </span>\r\n </div>\r\n <div class=\"booth-thumbnails d-flex\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"booth-item\"\r\n [class.active]=\"i === activeIndex\" (click)=\"setVideo(i)\">\r\n <div class=\"booth-thumb-wrapper\"\r\n [style.borderColor]=\"i === activeIndex ? style?.background?.accentColor : 'transparent'\"\r\n [style.boxShadow]=\"i === activeIndex ? '0 0 15px ' + style?.background?.accentColor + '4d' : 'none'\">\r\n <video [src]=\"item.video.url\" muted loop playsinline class=\"thumb-video\"></video>\r\n <div class=\"active-indicator\" *ngIf=\"i === activeIndex\">\r\n <span class=\"dot\" [style.backgroundColor]=\"style?.background?.accentColor\"></span>\r\n </div>\r\n </div>\r\n <div class=\"booth-label\">{{item.video.description || 'BOOTH ' + (i + 1)}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Optional Text Overlay -->\r\n <div class=\"text-overlay\" *ngIf=\"edit || data?.content?.inputText?.[0]?.value\">\r\n <simpo-text-editor *ngIf=\"data?.content?.inputText?.[0] as mainText\" [(value)]=\"mainText.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"0\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Svg Divider -->\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <!-- Editor Hover Elements -->\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></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</section>", styles: [".total-container{position:relative}.stage-container{position:relative;width:100%;overflow:hidden}.stage-video{width:100%;object-fit:cover;display:block;position:absolute;top:0;left:0;opacity:0;transition:opacity .8s ease-in-out;pointer-events:none}.stage-video.active{opacity:1;position:relative;pointer-events:auto}.vh-80{height:80vh}.vh-50{height:50vh}.stage-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(0deg,rgba(0,0,0,.4) 0%,transparent 30%,transparent 100%);pointer-events:none}.booth-selector{position:absolute;bottom:1.5rem;right:1.5rem;z-index:10;max-width:90%}.booth-header{background:#121212d9;padding:6px 14px;border-radius:50px;width:fit-content;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);margin-bottom:.75rem!important;margin:0 10px}.live-dot{width:10px;height:10px;background-color:var(--accent-color, #ff3b30);border-radius:50%;display:inline-block;margin-right:10px;box-shadow:0 0 10px var(--accent-color, rgba(255, 59, 48, .6));animation:pulse-red 2s infinite}@keyframes pulse-red{0%{transform:scale(.95);box-shadow:0 0 0 0 var(--accent-color, rgba(255, 59, 48, .7))}70%{transform:scale(1);box-shadow:0 0 0 10px #0000}to{transform:scale(.95);box-shadow:0 0 #0000}}.live-text{color:#fff;font-size:.65rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.booth-thumbnails{gap:10px;overflow-x:auto;padding:5px 10px;scrollbar-width:none}.booth-thumbnails::-webkit-scrollbar{display:none}.booth-item{cursor:pointer;flex:0 0 auto;width:110px;transition:all .3s cubic-bezier(.23,1,.32,1)}.booth-item:hover{transform:scale(1.05)}.booth-thumb-wrapper{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:2px solid rgba(255,255,255,.1);background:#1a1a1a;transition:border-color .3s ease}.booth-item.active .booth-thumb-wrapper{border:2.5px solid #ff3b30;box-shadow:0 8px 24px #ff3b3066}.thumb-video{width:100%;height:100%;object-fit:cover}.active-indicator{position:absolute;top:8px;left:8px;background:#ff3b30e6;width:6px;height:6px;border-radius:50%;box-shadow:0 0 6px #ff3b30}.booth-label{color:#f0f0f0;font-size:.6rem;margin-top:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;opacity:.8}.booth-item.active .booth-label{opacity:1;color:#fff}.text-overlay{position:absolute;top:2rem;left:2rem;z-index:10;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.8)}@media (max-width: 768px){.booth-selector{bottom:1rem;right:1rem;left:1rem;max-width:none;overflow-y:scroll;align-items:start!important}.booth-thumbnails{width:100%!important}.booth-item{width:110px}.vh-80{height:45vh}.vh-50{height:35vh}}\n"], dependencies: [{ kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: i2.SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i4.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i5.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label", "type", "inputTextIndex", "itemIndex"], outputs: ["valueChange"] }, { kind: "directive", type:
|
|
84
84
|
//directives
|
|
85
85
|
AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: SpacingAroundDirective, selector: "[spacingAround]", inputs: ["spacingAround", "backgroundInfo"] }] }); }
|
|
86
86
|
}
|
|
@@ -103,7 +103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
103
103
|
ContentTitleDirective,
|
|
104
104
|
SpacingAroundDirective,
|
|
105
105
|
SpacingDirective,
|
|
106
|
-
], template: "<section class=\"container-fluid\" [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\"\r\n [attr.style]=\"customClass\">\r\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\">\r\n <div [simpoCorner]=\"style?.corners\"\r\n [ngClass]=\"{ 'video-screen': style?.layout?.fit === 'screen' }\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\">\r\n\r\n <div class=\"d-flex mlr-0 w-100 position-relative\" *ngIf=\"data?.content?.inputText?.length\" [id]=\"data?.id\"\r\n [simpoAnimation]=\"style?.animation\">\r\n\r\n <!-- Main Video Stage -->\r\n <div class=\"stage-container w-100 p-0\" [simpoCorner]=\"style?.corners\">\r\n <video *ngIf=\"primaryVideoUrl\" [src]=\"primaryVideoUrl\" autoplay muted loop playsinline class=\"stage-video\"\r\n [class.active]=\"isPrimaryActive\"\r\n [ngClass]=\"{'vh-80': style?.layout?.fit === 'screen', 'vh-50': style?.layout?.fit === 'content'}\">\r\n </video>\r\n <video *ngIf=\"secondaryVideoUrl\" [src]=\"secondaryVideoUrl\" autoplay muted loop playsinline class=\"stage-video\"\r\n [class.active]=\"!isPrimaryActive\"\r\n [ngClass]=\"{'vh-80': style?.layout?.fit === 'screen', 'vh-50': style?.layout?.fit === 'content'}\">\r\n </video>\r\n <div class=\"stage-overlay\"></div>\r\n\r\n <!-- Booth Selection Overlay -->\r\n <div class=\"booth-selector d-flex flex-column justify-content-center align-items-end\">\r\n <div class=\"booth-header d-flex align-items-center mb-2\">\r\n <span class=\"live-dot\" [style.--accent-color]=\"style?.background?.accentColor\"\r\n [style.backgroundColor]=\"'var(--accent-color)'\"></span>\r\n <span class=\"live-text\">\r\n <simpo-text-editor *ngIf=\"data?.content?.inputText?.[1] as liveText\" [(value)]=\"liveText.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n <ng-container *ngIf=\"!data?.content?.inputText?.[1]\">LIVE BOOTHS</ng-container>\r\n </span>\r\n </div>\r\n <div class=\"booth-thumbnails d-flex\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"booth-item\"\r\n [class.active]=\"i === activeIndex\" (click)=\"setVideo(i)\">\r\n <div class=\"booth-thumb-wrapper\"\r\n [style.borderColor]=\"i === activeIndex ? style?.background?.accentColor : 'transparent'\"\r\n [style.boxShadow]=\"i === activeIndex ? '0 0 15px ' + style?.background?.accentColor + '4d' : 'none'\">\r\n <video [src]=\"item.video.url\" muted loop playsinline class=\"thumb-video\"></video>\r\n <div class=\"active-indicator\" *ngIf=\"i === activeIndex\">\r\n <span class=\"dot\" [style.backgroundColor]=\"style?.background?.accentColor\"></span>\r\n </div>\r\n </div>\r\n <div class=\"booth-label\">{{item.video.description || 'BOOTH ' + (i + 1)}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Optional Text Overlay -->\r\n <div class=\"text-overlay\" *ngIf=\"edit || data?.content?.inputText?.[0]?.value\">\r\n <simpo-text-editor *ngIf=\"data?.content?.inputText?.[0] as mainText\" [(value)]=\"mainText.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Svg Divider -->\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <!-- Editor Hover Elements -->\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></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</section>", styles: [".total-container{position:relative}.stage-container{position:relative;width:100%;overflow:hidden}.stage-video{width:100%;object-fit:cover;display:block;position:absolute;top:0;left:0;opacity:0;transition:opacity .8s ease-in-out;pointer-events:none}.stage-video.active{opacity:1;position:relative;pointer-events:auto}.vh-80{height:80vh}.vh-50{height:50vh}.stage-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(0deg,rgba(0,0,0,.4) 0%,transparent 30%,transparent 100%);pointer-events:none}.booth-selector{position:absolute;bottom:1.5rem;right:1.5rem;z-index:10;max-width:90%}.booth-header{background:#121212d9;padding:6px 14px;border-radius:50px;width:fit-content;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);margin-bottom:.75rem!important;margin:0 10px}.live-dot{width:10px;height:10px;background-color:var(--accent-color, #ff3b30);border-radius:50%;display:inline-block;margin-right:10px;box-shadow:0 0 10px var(--accent-color, rgba(255, 59, 48, .6));animation:pulse-red 2s infinite}@keyframes pulse-red{0%{transform:scale(.95);box-shadow:0 0 0 0 var(--accent-color, rgba(255, 59, 48, .7))}70%{transform:scale(1);box-shadow:0 0 0 10px #0000}to{transform:scale(.95);box-shadow:0 0 #0000}}.live-text{color:#fff;font-size:.65rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.booth-thumbnails{gap:10px;overflow-x:auto;padding:5px 10px;scrollbar-width:none}.booth-thumbnails::-webkit-scrollbar{display:none}.booth-item{cursor:pointer;flex:0 0 auto;width:110px;transition:all .3s cubic-bezier(.23,1,.32,1)}.booth-item:hover{transform:scale(1.05)}.booth-thumb-wrapper{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:2px solid rgba(255,255,255,.1);background:#1a1a1a;transition:border-color .3s ease}.booth-item.active .booth-thumb-wrapper{border:2.5px solid #ff3b30;box-shadow:0 8px 24px #ff3b3066}.thumb-video{width:100%;height:100%;object-fit:cover}.active-indicator{position:absolute;top:8px;left:8px;background:#ff3b30e6;width:6px;height:6px;border-radius:50%;box-shadow:0 0 6px #ff3b30}.booth-label{color:#f0f0f0;font-size:.6rem;margin-top:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;opacity:.8}.booth-item.active .booth-label{opacity:1;color:#fff}.text-overlay{position:absolute;top:2rem;left:2rem;z-index:10;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.8)}@media (max-width: 768px){.booth-selector{bottom:1rem;right:1rem;left:1rem;max-width:none;overflow-y:scroll;align-items:start!important}.booth-thumbnails{width:100%!important}.booth-item{width:110px}.vh-80{height:45vh}.vh-50{height:35vh}}\n"] }]
|
|
106
|
+
], template: "<section class=\"container-fluid\" [id]=\"data?.id\" simpoHover (hovering)=\"showEditTabs($event)\" class=\"total-container\"\r\n [attr.style]=\"customClass\">\r\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\" [simpoBackground]=\"style?.background\">\r\n <div [simpoCorner]=\"style?.corners\"\r\n [ngClass]=\"{ 'video-screen': style?.layout?.fit === 'screen' }\" [id]=\"data?.id\" [simpoBorder]=\"style?.border\">\r\n\r\n <div class=\"d-flex mlr-0 w-100 position-relative\" *ngIf=\"data?.content?.inputText?.length\" [id]=\"data?.id\"\r\n [simpoAnimation]=\"style?.animation\">\r\n\r\n <!-- Main Video Stage -->\r\n <div class=\"stage-container w-100 p-0\" [simpoCorner]=\"style?.corners\">\r\n <video *ngIf=\"primaryVideoUrl\" [src]=\"primaryVideoUrl\" autoplay muted loop playsinline class=\"stage-video\"\r\n [class.active]=\"isPrimaryActive\"\r\n [ngClass]=\"{'vh-80': style?.layout?.fit === 'screen', 'vh-50': style?.layout?.fit === 'content'}\">\r\n </video>\r\n <video *ngIf=\"secondaryVideoUrl\" [src]=\"secondaryVideoUrl\" autoplay muted loop playsinline class=\"stage-video\"\r\n [class.active]=\"!isPrimaryActive\"\r\n [ngClass]=\"{'vh-80': style?.layout?.fit === 'screen', 'vh-50': style?.layout?.fit === 'content'}\">\r\n </video>\r\n <div class=\"stage-overlay\"></div>\r\n\r\n <!-- Booth Selection Overlay -->\r\n <div class=\"booth-selector d-flex flex-column justify-content-center align-items-end\">\r\n <div class=\"booth-header d-flex align-items-center mb-2\">\r\n <span class=\"live-dot\" [style.--accent-color]=\"style?.background?.accentColor\"\r\n [style.backgroundColor]=\"'var(--accent-color)'\"></span>\r\n <span class=\"live-text\">\r\n <simpo-text-editor *ngIf=\"data?.content?.inputText?.[1] as liveText\" [(value)]=\"liveText.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"1\"></simpo-text-editor>\r\n <ng-container *ngIf=\"!data?.content?.inputText?.[1]\">LIVE BOOTHS</ng-container>\r\n </span>\r\n </div>\r\n <div class=\"booth-thumbnails d-flex\">\r\n <div *ngFor=\"let item of content?.listItem?.data; let i = index\" class=\"booth-item\"\r\n [class.active]=\"i === activeIndex\" (click)=\"setVideo(i)\">\r\n <div class=\"booth-thumb-wrapper\"\r\n [style.borderColor]=\"i === activeIndex ? style?.background?.accentColor : 'transparent'\"\r\n [style.boxShadow]=\"i === activeIndex ? '0 0 15px ' + style?.background?.accentColor + '4d' : 'none'\">\r\n <video [src]=\"item.video.url\" muted loop playsinline class=\"thumb-video\"></video>\r\n <div class=\"active-indicator\" *ngIf=\"i === activeIndex\">\r\n <span class=\"dot\" [style.backgroundColor]=\"style?.background?.accentColor\"></span>\r\n </div>\r\n </div>\r\n <div class=\"booth-label\">{{item.video.description || 'BOOTH ' + (i + 1)}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Optional Text Overlay -->\r\n <div class=\"text-overlay\" *ngIf=\"edit || data?.content?.inputText?.[0]?.value\">\r\n <simpo-text-editor *ngIf=\"data?.content?.inputText?.[0] as mainText\" [(value)]=\"mainText.value\" [editable]=\"edit || false\" [sectionId]=\"data?.id\" [inputTextIndex]=\"0\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Svg Divider -->\r\n <ng-container *ngIf=\"style?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"style?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <!-- Editor Hover Elements -->\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></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</section>", styles: [".total-container{position:relative}.stage-container{position:relative;width:100%;overflow:hidden}.stage-video{width:100%;object-fit:cover;display:block;position:absolute;top:0;left:0;opacity:0;transition:opacity .8s ease-in-out;pointer-events:none}.stage-video.active{opacity:1;position:relative;pointer-events:auto}.vh-80{height:80vh}.vh-50{height:50vh}.stage-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(0deg,rgba(0,0,0,.4) 0%,transparent 30%,transparent 100%);pointer-events:none}.booth-selector{position:absolute;bottom:1.5rem;right:1.5rem;z-index:10;max-width:90%}.booth-header{background:#121212d9;padding:6px 14px;border-radius:50px;width:fit-content;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);margin-bottom:.75rem!important;margin:0 10px}.live-dot{width:10px;height:10px;background-color:var(--accent-color, #ff3b30);border-radius:50%;display:inline-block;margin-right:10px;box-shadow:0 0 10px var(--accent-color, rgba(255, 59, 48, .6));animation:pulse-red 2s infinite}@keyframes pulse-red{0%{transform:scale(.95);box-shadow:0 0 0 0 var(--accent-color, rgba(255, 59, 48, .7))}70%{transform:scale(1);box-shadow:0 0 0 10px #0000}to{transform:scale(.95);box-shadow:0 0 #0000}}.live-text{color:#fff;font-size:.65rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.booth-thumbnails{gap:10px;overflow-x:auto;padding:5px 10px;scrollbar-width:none}.booth-thumbnails::-webkit-scrollbar{display:none}.booth-item{cursor:pointer;flex:0 0 auto;width:110px;transition:all .3s cubic-bezier(.23,1,.32,1)}.booth-item:hover{transform:scale(1.05)}.booth-thumb-wrapper{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:2px solid rgba(255,255,255,.1);background:#1a1a1a;transition:border-color .3s ease}.booth-item.active .booth-thumb-wrapper{border:2.5px solid #ff3b30;box-shadow:0 8px 24px #ff3b3066}.thumb-video{width:100%;height:100%;object-fit:cover}.active-indicator{position:absolute;top:8px;left:8px;background:#ff3b30e6;width:6px;height:6px;border-radius:50%;box-shadow:0 0 6px #ff3b30}.booth-label{color:#f0f0f0;font-size:.6rem;margin-top:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;opacity:.8}.booth-item.active .booth-label{opacity:1;color:#fff}.text-overlay{position:absolute;top:2rem;left:2rem;z-index:10;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.8)}@media (max-width: 768px){.booth-selector{bottom:1rem;right:1rem;left:1rem;max-width:none;overflow-y:scroll;align-items:start!important}.booth-thumbnails{width:100%!important}.booth-item{width:110px}.vh-80{height:45vh}.vh-50{height:35vh}}\n"] }]
|
|
107
107
|
}], ctorParameters: () => [{ type: i1.EventsService }], propDecorators: { data: [{
|
|
108
108
|
type: Input
|
|
109
109
|
}], index: [{
|
|
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
120
120
|
type: HostListener,
|
|
121
121
|
args: ['window:resize', ['$event']]
|
|
122
122
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tY2Fyb3VzZWwtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3ZpZGVvLWNhcm91c2VsLXNlY3Rpb24vdmlkZW8tY2Fyb3VzZWwtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3ZpZGVvLWNhcm91c2VsLXNlY3Rpb24vdmlkZW8tY2Fyb3VzZWwtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFNdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sV0FBVyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBR3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQTJCckUsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFdBQVc7SUFXNUQsWUFDVSxhQUE0QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUZBLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBTXRDLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUMvQixvQkFBZSxHQUFZLElBQUksQ0FBQztRQVloQyxnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQWxCeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFPRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUVsQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBSUQsYUFBYSxDQUFDLEtBQWM7UUFDMUIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBaUIsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFrQixDQUFDO0lBQzVELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSztZQUFFLE9BQU87UUFFdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBRXJFLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7WUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQztZQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsY0FBeUIsQ0FBQztJQUN0RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHO1lBQUUsT0FBTztRQUVyQyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7K0dBaEZVLDZCQUE2QjttR0FBN0IsNkJBQTZCLGtVQ3BEMUMsb3NJQXFFVSxzckZEckNOLG1CQUFtQixvSkFDbkIsWUFBWSw2VkFDWixvQkFBb0Isb1dBQ3BCLG1CQUFtQjtnQkFFbkIsWUFBWTtnQkFDWixrQkFBa0IseUZBQ2xCLG1CQUFtQiwwR0FDbkIsZUFBZSxtRkFFZixlQUFlLG1GQUNmLGNBQWMsZ0ZBR2Qsc0JBQXNCOzs0RkFNYiw2QkFBNkI7a0JBekJ6QyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBRW5CLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3FCQUNqQjtrRkFLUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBMEJOLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFZpZGVvQ2Fyb3VzZWxTZWN0aW9uLFxyXG4gIFZpZGVvQ2Fyb3VzZWxTZWN0aW9uQ29udGVudE1vZGVsLFxyXG4gIFZpZGVvQ2Fyb3VzZWxTZWN0aW9uU3R5bGVzTW9kZWwsXHJcbn0gZnJvbSAnLi92aWRlby1jYXJvdXNlbC5tb2RlbCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNpbXBvRWxlbWVudHNNb2R1bGUgfSBmcm9tICcuLy4uLy4uL2VsZW1lbnRzL2luZGV4JztcclxuXHJcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQm9yZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JvcmRlci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vdmVybGF5LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBDb250ZW50VGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC10aXRsZS1zcGFjaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNQQUNJTkcgfSBmcm9tICcuLi8uLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwsIExheU91dE1vZGVsLCBTcGFjaW5nTW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWFyb3VuZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFNwYWNpbmdEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvc3BhY2luZy5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby12aWRlby1jYXJvdXNlbC1zZWN0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEljb24sXHJcbiAgICBTaW1wb0VsZW1lbnRzTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU2ltcG9Db21wb25lbnRNb2R1bGUsXHJcbiAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG5cclxuICAgIC8vZGlyZWN0aXZlc1xyXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIEJvcmRlckRpcmVjdGl2ZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXHJcbiAgICBDb3JuZXJEaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSxcclxuICAgIE92ZXJsYXlEaXJlY3RpdmUsXHJcbiAgICBDb250ZW50VGl0bGVEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nQXJvdW5kRGlyZWN0aXZlLFxyXG4gICAgU3BhY2luZ0RpcmVjdGl2ZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92aWRlby1jYXJvdXNlbC1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdmlkZW8tY2Fyb3VzZWwtc2VjdGlvbi5jb21wb25lbnQuY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZpZGVvQ2Fyb3VzZWxTZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGRhdGE/OiBWaWRlb0Nhcm91c2VsU2VjdGlvbjtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgbmV4dENvbXBvbmVudENvbG9yPzogQmFja2dyb3VuZE1vZGVsO1xyXG4gIGNvbnRlbnQ/OiBWaWRlb0Nhcm91c2VsU2VjdGlvbkNvbnRlbnRNb2RlbDtcclxuICBzdHlsZT86IFZpZGVvQ2Fyb3VzZWxTZWN0aW9uU3R5bGVzTW9kZWw7XHJcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGVsZXRlPzogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9ldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmdldFNjcmVlblNpemUoKTtcclxuICB9XHJcblxyXG4gIGFjdGl2ZUluZGV4OiBudW1iZXIgPSAwO1xyXG4gIHByaW1hcnlWaWRlb1VybDogc3RyaW5nID0gJyc7XHJcbiAgc2Vjb25kYXJ5VmlkZW9Vcmw6IHN0cmluZyA9ICcnO1xyXG4gIGlzUHJpbWFyeUFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5zdHlsZSA9IHRoaXMuZGF0YT8uc3R5bGVzO1xyXG4gICAgdGhpcy5kZWxldGVTZWxlY3RlZCA9IHRoaXMuZGVsZXRlO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbnRlbnQ/Lmxpc3RJdGVtPy5kYXRhPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5wcmltYXJ5VmlkZW9VcmwgPSB0aGlzLmNvbnRlbnQubGlzdEl0ZW0uZGF0YVswXS52aWRlby51cmw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzY3JlZW5XaWR0aDogbnVtYmVyID0gNDc1O1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIGdldFNjcmVlblNpemUoZXZlbnQ/OiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZT8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XHJcbiAgfVxyXG5cclxuICBnZXQgc3BhY2luZ0xheW91dCgpIHtcclxuICAgIHJldHVybiB7IC4uLnRoaXMuc3R5bGU/LmxheW91dD8uc3BhY2luZyB9IGFzIFNwYWNpbmdNb2RlbDtcclxuICB9XHJcblxyXG4gIHNldFZpZGVvKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmFjdGl2ZUluZGV4ID09PSBpbmRleCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG5ld1VybCA9IHRoaXMuY29udGVudD8ubGlzdEl0ZW0/LmRhdGFbaW5kZXhdPy52aWRlbz8udXJsIHx8ICcnO1xyXG5cclxuICAgIGlmICh0aGlzLmlzUHJpbWFyeUFjdGl2ZSkge1xyXG4gICAgICB0aGlzLnNlY29uZGFyeVZpZGVvVXJsID0gbmV3VXJsO1xyXG4gICAgICB0aGlzLmlzUHJpbWFyeUFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wcmltYXJ5VmlkZW9VcmwgPSBuZXdVcmw7XHJcbiAgICAgIHRoaXMuaXNQcmltYXJ5QWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBnZXQgYWN0aXZlVmlkZW8oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZW50Py5saXN0SXRlbT8uZGF0YVt0aGlzLmFjdGl2ZUluZGV4XT8udmlkZW87XHJcbiAgfVxyXG5cclxuICBnZXQgaGVhZGluZ1NwYWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3R5bGU/LmxheW91dC5oZWFkaW5nU3BhY2luZyBhcyBTUEFDSU5HO1xyXG4gIH1cclxuXHJcbiAgZWRpdFNlY3Rpb24oKSB7XHJcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPD0gNDc1KSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHsgZGF0YTogdGhpcy5kYXRhIH0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiBbaWRdPVwiZGF0YT8uaWRcIiBzaW1wb0hvdmVyIChob3ZlcmluZyk9XCJzaG93RWRpdFRhYnMoJGV2ZW50KVwiIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCJcclxuICBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gIDxkaXYgW3NwYWNpbmdBcm91bmRdPVwic3R5bGVzTGF5b3V0XCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZT8uYmFja2dyb3VuZFwiPlxyXG4gICAgPGRpdiBbc2ltcG9Db3JuZXJdPVwic3R5bGU/LmNvcm5lcnNcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7ICd2aWRlby1zY3JlZW4nOiBzdHlsZT8ubGF5b3V0Py5maXQgPT09ICdzY3JlZW4nIH1cIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9Cb3JkZXJdPVwic3R5bGU/LmJvcmRlclwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtbHItMCB3LTEwMCBwb3NpdGlvbi1yZWxhdGl2ZVwiICpuZ0lmPVwiZGF0YT8uY29udGVudD8uaW5wdXRUZXh0Py5sZW5ndGhcIiBbaWRdPVwiZGF0YT8uaWRcIlxyXG4gICAgICAgIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZT8uYW5pbWF0aW9uXCI+XHJcblxyXG4gICAgICAgIDwhLS0gTWFpbiBWaWRlbyBTdGFnZSAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhZ2UtY29udGFpbmVyIHctMTAwIHAtMFwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZT8uY29ybmVyc1wiPlxyXG4gICAgICAgICAgPHZpZGVvICpuZ0lmPVwicHJpbWFyeVZpZGVvVXJsXCIgW3NyY109XCJwcmltYXJ5VmlkZW9VcmxcIiBhdXRvcGxheSBtdXRlZCBsb29wIHBsYXlzaW5saW5lIGNsYXNzPVwic3RhZ2UtdmlkZW9cIlxyXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImlzUHJpbWFyeUFjdGl2ZVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndmgtODAnOiBzdHlsZT8ubGF5b3V0Py5maXQgPT09ICdzY3JlZW4nLCAndmgtNTAnOiBzdHlsZT8ubGF5b3V0Py5maXQgPT09ICdjb250ZW50J31cIj5cclxuICAgICAgICAgIDwvdmlkZW8+XHJcbiAgICAgICAgICA8dmlkZW8gKm5nSWY9XCJzZWNvbmRhcnlWaWRlb1VybFwiIFtzcmNdPVwic2Vjb25kYXJ5VmlkZW9VcmxcIiBhdXRvcGxheSBtdXRlZCBsb29wIHBsYXlzaW5saW5lIGNsYXNzPVwic3RhZ2UtdmlkZW9cIlxyXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIiFpc1ByaW1hcnlBY3RpdmVcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3ZoLTgwJzogc3R5bGU/LmxheW91dD8uZml0ID09PSAnc2NyZWVuJywgJ3ZoLTUwJzogc3R5bGU/LmxheW91dD8uZml0ID09PSAnY29udGVudCd9XCI+XHJcbiAgICAgICAgICA8L3ZpZGVvPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0YWdlLW92ZXJsYXlcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tIEJvb3RoIFNlbGVjdGlvbiBPdmVybGF5IC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJvb3RoLXNlbGVjdG9yIGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9vdGgtaGVhZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItMlwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGl2ZS1kb3RcIiBbc3R5bGUuLS1hY2NlbnQtY29sb3JdPVwic3R5bGU/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiJ3ZhcigtLWFjY2VudC1jb2xvciknXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGl2ZS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgKm5nSWY9XCJkYXRhPy5jb250ZW50Py5pbnB1dFRleHQ/LlsxXSBhcyBsaXZlVGV4dFwiIFsodmFsdWUpXT1cImxpdmVUZXh0LnZhbHVlXCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkYXRhPy5jb250ZW50Py5pbnB1dFRleHQ/LlsxXVwiPkxJVkUgQk9PVEhTPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb3RoLXRodW1ibmFpbHMgZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb250ZW50Py5saXN0SXRlbT8uZGF0YTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiYm9vdGgtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZUluZGV4XCIgKGNsaWNrKT1cInNldFZpZGVvKGkpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9vdGgtdGh1bWItd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJpID09PSBhY3RpdmVJbmRleCA/IHN0eWxlPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvciA6ICd0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuYm94U2hhZG93XT1cImkgPT09IGFjdGl2ZUluZGV4ID8gJzAgMCAxNXB4ICcgKyBzdHlsZT8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IgKyAnNGQnIDogJ25vbmUnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx2aWRlbyBbc3JjXT1cIml0ZW0udmlkZW8udXJsXCIgbXV0ZWQgbG9vcCBwbGF5c2lubGluZSBjbGFzcz1cInRodW1iLXZpZGVvXCI+PC92aWRlbz5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2ZS1pbmRpY2F0b3JcIiAqbmdJZj1cImkgPT09IGFjdGl2ZUluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb3RcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInN0eWxlPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib290aC1sYWJlbFwiPnt7aXRlbS52aWRlby5kZXNjcmlwdGlvbiB8fCAnQk9PVEggJyArIChpICsgMSl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIE9wdGlvbmFsIFRleHQgT3ZlcmxheSAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1vdmVybGF5XCIgKm5nSWY9XCJlZGl0IHx8IGRhdGE/LmNvbnRlbnQ/LmlucHV0VGV4dD8uWzBdPy52YWx1ZVwiPlxyXG4gICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yICpuZ0lmPVwiZGF0YT8uY29udGVudD8uaW5wdXRUZXh0Py5bMF0gYXMgbWFpblRleHRcIiBbKHZhbHVlKV09XCJtYWluVGV4dC52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBTdmcgRGl2aWRlciAtLT5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGU/LmRldmlkZXI/LmRpc3BsYXlcIj5cclxuICAgIDxzaW1wby1zdmctZGl2aWRlciBbZGl2aWRlclR5cGVdPVwic3R5bGU/LmRldmlkZXI/LmRldmlkZXJUeXBlXCJcclxuICAgICAgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tIEVkaXRvciBIb3ZlciBFbGVtZW50cyAtLT5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XHJcbiAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxyXG4gICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+Il19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tY2Fyb3VzZWwtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3ZpZGVvLWNhcm91c2VsLXNlY3Rpb24vdmlkZW8tY2Fyb3VzZWwtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3ZpZGVvLWNhcm91c2VsLXNlY3Rpb24vdmlkZW8tY2Fyb3VzZWwtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFNdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sV0FBVyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFB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eyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFZpZGVvQ2Fyb3VzZWxTZWN0aW9uLFxyXG4gIFZpZGVvQ2Fyb3VzZWxTZWN0aW9uQ29udGVudE1vZGVsLFxyXG4gIFZpZGVvQ2Fyb3VzZWxTZWN0aW9uU3R5bGVzTW9kZWwsXHJcbn0gZnJvbSAnLi92aWRlby1jYXJvdXNlbC5tb2RlbCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNpbXBvRWxlbWVudHNNb2R1bGUgfSBmcm9tICcuLy4uLy4uL2VsZW1lbnRzL2luZGV4JztcclxuXHJcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbnRlbnRGaXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC1maXQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQm9yZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JvcmRlci1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb3JuZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29ybmVyLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9vdmVybGF5LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBDb250ZW50VGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC10aXRsZS1zcGFjaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNQQUNJTkcgfSBmcm9tICcuLi8uLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kZWwsIExheU91dE1vZGVsLCBTcGFjaW5nTW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWFyb3VuZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFNwYWNpbmdEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvc3BhY2luZy5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby12aWRlby1jYXJvdXNlbC1zZWN0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEljb24sXHJcbiAgICBTaW1wb0VsZW1lbnRzTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU2ltcG9Db21wb25lbnRNb2R1bGUsXHJcbiAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG5cclxuICAgIC8vZGlyZWN0aXZlc1xyXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIEJvcmRlckRpcmVjdGl2ZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXHJcbiAgICBDb3JuZXJEaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSxcclxuICAgIE92ZXJsYXlEaXJlY3RpdmUsXHJcbiAgICBDb250ZW50VGl0bGVEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nQXJvdW5kRGlyZWN0aXZlLFxyXG4gICAgU3BhY2luZ0RpcmVjdGl2ZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92aWRlby1jYXJvdXNlbC1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdmlkZW8tY2Fyb3VzZWwtc2VjdGlvbi5jb21wb25lbnQuY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZpZGVvQ2Fyb3VzZWxTZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGRhdGE/OiBWaWRlb0Nhcm91c2VsU2VjdGlvbjtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgbmV4dENvbXBvbmVudENvbG9yPzogQmFja2dyb3VuZE1vZGVsO1xyXG4gIGNvbnRlbnQ/OiBWaWRlb0Nhcm91c2VsU2VjdGlvbkNvbnRlbnRNb2RlbDtcclxuICBzdHlsZT86IFZpZGVvQ2Fyb3VzZWxTZWN0aW9uU3R5bGVzTW9kZWw7XHJcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGVsZXRlPzogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9ldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmdldFNjcmVlblNpemUoKTtcclxuICB9XHJcblxyXG4gIGFjdGl2ZUluZGV4OiBudW1iZXIgPSAwO1xyXG4gIHByaW1hcnlWaWRlb1VybDogc3RyaW5nID0gJyc7XHJcbiAgc2Vjb25kYXJ5VmlkZW9Vcmw6IHN0cmluZyA9ICcnO1xyXG4gIGlzUHJpbWFyeUFjdGl2ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5zdHlsZSA9IHRoaXMuZGF0YT8uc3R5bGVzO1xyXG4gICAgdGhpcy5kZWxldGVTZWxlY3RlZCA9IHRoaXMuZGVsZXRlO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbnRlbnQ/Lmxpc3RJdGVtPy5kYXRhPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5wcmltYXJ5VmlkZW9VcmwgPSB0aGlzLmNvbnRlbnQubGlzdEl0ZW0uZGF0YVswXS52aWRlby51cmw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzY3JlZW5XaWR0aDogbnVtYmVyID0gNDc1O1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIGdldFNjcmVlblNpemUoZXZlbnQ/OiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZT8ubGF5b3V0IH0gYXMgTGF5T3V0TW9kZWw7XHJcbiAgfVxyXG5cclxuICBnZXQgc3BhY2luZ0xheW91dCgpIHtcclxuICAgIHJldHVybiB7IC4uLnRoaXMuc3R5bGU/LmxheW91dD8uc3BhY2luZyB9IGFzIFNwYWNpbmdNb2RlbDtcclxuICB9XHJcblxyXG4gIHNldFZpZGVvKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmFjdGl2ZUluZGV4ID09PSBpbmRleCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG5ld1VybCA9IHRoaXMuY29udGVudD8ubGlzdEl0ZW0/LmRhdGFbaW5kZXhdPy52aWRlbz8udXJsIHx8ICcnO1xyXG5cclxuICAgIGlmICh0aGlzLmlzUHJpbWFyeUFjdGl2ZSkge1xyXG4gICAgICB0aGlzLnNlY29uZGFyeVZpZGVvVXJsID0gbmV3VXJsO1xyXG4gICAgICB0aGlzLmlzUHJpbWFyeUFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wcmltYXJ5VmlkZW9VcmwgPSBuZXdVcmw7XHJcbiAgICAgIHRoaXMuaXNQcmltYXJ5QWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBnZXQgYWN0aXZlVmlkZW8oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZW50Py5saXN0SXRlbT8uZGF0YVt0aGlzLmFjdGl2ZUluZGV4XT8udmlkZW87XHJcbiAgfVxyXG5cclxuICBnZXQgaGVhZGluZ1NwYWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3R5bGU/LmxheW91dC5oZWFkaW5nU3BhY2luZyBhcyBTUEFDSU5HO1xyXG4gIH1cclxuXHJcbiAgZWRpdFNlY3Rpb24oKSB7XHJcbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPD0gNDc1KSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLnRvZ2dsZUVkaXRvckV2ZW50LmVtaXQoZmFsc2UpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lZGl0U2VjdGlvbi5lbWl0KHsgZGF0YTogdGhpcy5kYXRhIH0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJjb250YWluZXItZmx1aWRcIiBbaWRdPVwiZGF0YT8uaWRcIiBzaW1wb0hvdmVyIChob3ZlcmluZyk9XCJzaG93RWRpdFRhYnMoJGV2ZW50KVwiIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCJcclxuICBbYXR0ci5zdHlsZV09XCJjdXN0b21DbGFzc1wiPlxyXG4gIDxkaXYgW3NwYWNpbmdBcm91bmRdPVwic3R5bGVzTGF5b3V0XCIgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvQmFja2dyb3VuZF09XCJzdHlsZT8uYmFja2dyb3VuZFwiPlxyXG4gICAgPGRpdiBbc2ltcG9Db3JuZXJdPVwic3R5bGU/LmNvcm5lcnNcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7ICd2aWRlby1zY3JlZW4nOiBzdHlsZT8ubGF5b3V0Py5maXQgPT09ICdzY3JlZW4nIH1cIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9Cb3JkZXJdPVwic3R5bGU/LmJvcmRlclwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtbHItMCB3LTEwMCBwb3NpdGlvbi1yZWxhdGl2ZVwiICpuZ0lmPVwiZGF0YT8uY29udGVudD8uaW5wdXRUZXh0Py5sZW5ndGhcIiBbaWRdPVwiZGF0YT8uaWRcIlxyXG4gICAgICAgIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZT8uYW5pbWF0aW9uXCI+XHJcblxyXG4gICAgICAgIDwhLS0gTWFpbiBWaWRlbyBTdGFnZSAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhZ2UtY29udGFpbmVyIHctMTAwIHAtMFwiIFtzaW1wb0Nvcm5lcl09XCJzdHlsZT8uY29ybmVyc1wiPlxyXG4gICAgICAgICAgPHZpZGVvICpuZ0lmPVwicHJpbWFyeVZpZGVvVXJsXCIgW3NyY109XCJwcmltYXJ5VmlkZW9VcmxcIiBhdXRvcGxheSBtdXRlZCBsb29wIHBsYXlzaW5saW5lIGNsYXNzPVwic3RhZ2UtdmlkZW9cIlxyXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImlzUHJpbWFyeUFjdGl2ZVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsndmgtODAnOiBzdHlsZT8ubGF5b3V0Py5maXQgPT09ICdzY3JlZW4nLCAndmgtNTAnOiBzdHlsZT8ubGF5b3V0Py5maXQgPT09ICdjb250ZW50J31cIj5cclxuICAgICAgICAgIDwvdmlkZW8+XHJcbiAgICAgICAgICA8dmlkZW8gKm5nSWY9XCJzZWNvbmRhcnlWaWRlb1VybFwiIFtzcmNdPVwic2Vjb25kYXJ5VmlkZW9VcmxcIiBhdXRvcGxheSBtdXRlZCBsb29wIHBsYXlzaW5saW5lIGNsYXNzPVwic3RhZ2UtdmlkZW9cIlxyXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIiFpc1ByaW1hcnlBY3RpdmVcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3ZoLTgwJzogc3R5bGU/LmxheW91dD8uZml0ID09PSAnc2NyZWVuJywgJ3ZoLTUwJzogc3R5bGU/LmxheW91dD8uZml0ID09PSAnY29udGVudCd9XCI+XHJcbiAgICAgICAgICA8L3ZpZGVvPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0YWdlLW92ZXJsYXlcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tIEJvb3RoIFNlbGVjdGlvbiBPdmVybGF5IC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJvb3RoLXNlbGVjdG9yIGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9vdGgtaGVhZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItMlwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGl2ZS1kb3RcIiBbc3R5bGUuLS1hY2NlbnQtY29sb3JdPVwic3R5bGU/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiJ3ZhcigtLWFjY2VudC1jb2xvciknXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGl2ZS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8c2ltcG8tdGV4dC1lZGl0b3IgKm5nSWY9XCJkYXRhPy5jb250ZW50Py5pbnB1dFRleHQ/LlsxXSBhcyBsaXZlVGV4dFwiIFsodmFsdWUpXT1cImxpdmVUZXh0LnZhbHVlXCIgW2VkaXRhYmxlXT1cImVkaXQgfHwgZmFsc2VcIiBbc2VjdGlvbklkXT1cImRhdGE/LmlkXCIgW2lucHV0VGV4dEluZGV4XT1cIjFcIj48L3NpbXBvLXRleHQtZWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkYXRhPy5jb250ZW50Py5pbnB1dFRleHQ/LlsxXVwiPkxJVkUgQk9PVEhTPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb3RoLXRodW1ibmFpbHMgZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb250ZW50Py5saXN0SXRlbT8uZGF0YTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwiYm9vdGgtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZUluZGV4XCIgKGNsaWNrKT1cInNldFZpZGVvKGkpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9vdGgtdGh1bWItd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS5ib3JkZXJDb2xvcl09XCJpID09PSBhY3RpdmVJbmRleCA/IHN0eWxlPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvciA6ICd0cmFuc3BhcmVudCdcIlxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuYm94U2hhZG93XT1cImkgPT09IGFjdGl2ZUluZGV4ID8gJzAgMCAxNXB4ICcgKyBzdHlsZT8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3IgKyAnNGQnIDogJ25vbmUnXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx2aWRlbyBbc3JjXT1cIml0ZW0udmlkZW8udXJsXCIgbXV0ZWQgbG9vcCBwbGF5c2lubGluZSBjbGFzcz1cInRodW1iLXZpZGVvXCI+PC92aWRlbz5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2ZS1pbmRpY2F0b3JcIiAqbmdJZj1cImkgPT09IGFjdGl2ZUluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkb3RcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInN0eWxlPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib290aC1sYWJlbFwiPnt7aXRlbS52aWRlby5kZXNjcmlwdGlvbiB8fCAnQk9PVEggJyArIChpICsgMSl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIE9wdGlvbmFsIFRleHQgT3ZlcmxheSAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1vdmVybGF5XCIgKm5nSWY9XCJlZGl0IHx8IGRhdGE/LmNvbnRlbnQ/LmlucHV0VGV4dD8uWzBdPy52YWx1ZVwiPlxyXG4gICAgICAgICAgPHNpbXBvLXRleHQtZWRpdG9yICpuZ0lmPVwiZGF0YT8uY29udGVudD8uaW5wdXRUZXh0Py5bMF0gYXMgbWFpblRleHRcIiBbKHZhbHVlKV09XCJtYWluVGV4dC52YWx1ZVwiIFtlZGl0YWJsZV09XCJlZGl0IHx8IGZhbHNlXCIgW3NlY3Rpb25JZF09XCJkYXRhPy5pZFwiIFtpbnB1dFRleHRJbmRleF09XCIwXCI+PC9zaW1wby10ZXh0LWVkaXRvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBTdmcgRGl2aWRlciAtLT5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic3R5bGU/LmRldmlkZXI/LmRpc3BsYXlcIj5cclxuICAgIDxzaW1wby1zdmctZGl2aWRlciBbZGl2aWRlclR5cGVdPVwic3R5bGU/LmRldmlkZXI/LmRldmlkZXJUeXBlXCJcclxuICAgICAgW2NvbG9yXT1cIm5leHRDb21wb25lbnRDb2xvcj8uY29sb3JcIj48L3NpbXBvLXN2Zy1kaXZpZGVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tIEVkaXRvciBIb3ZlciBFbGVtZW50cyAtLT5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZWRpdH1cIiAqbmdJZj1cInNob3dFZGl0b3JzXCI+XHJcbiAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwic2hvd0RlbGV0ZVwiIFtuZ0NsYXNzXT1cInsnaG92ZXJfZWZmZWN0JzogZGVsZXRlfVwiPlxyXG4gICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+Il19
|