simpo-component-library 2.1.58 → 2.1.60
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/components/input-fields/input-fields.component.mjs +17 -7
- package/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +15 -15
- package/fesm2022/simpo-component-library.mjs +29 -19
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/components/input-fields/input-fields.component.d.ts +4 -2
- package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
- package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
- package/lib/sections/image-section/image-section.component.d.ts +2 -2
- package/lib/sections/logo-showcase/logo-showcase.component.d.ts +1 -1
- package/lib/sections/navbar-section/navbar-section.component.d.ts +2 -2
- package/package.json +1 -1
- package/simpo-component-library-2.1.60.tgz +0 -0
- package/simpo-component-library-2.1.58.tgz +0 -0
@@ -1,5 +1,5 @@
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
2
|
-
import { Component, Input } from '@angular/core';
|
2
|
+
import { Component, HostListener, Input } from '@angular/core';
|
3
3
|
import { FormsModule } from '@angular/forms';
|
4
4
|
import { ColorDirective } from '../../directive/color.directive';
|
5
5
|
import { MatIcon } from '@angular/material/icon';
|
@@ -7,7 +7,8 @@ import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/common";
|
8
8
|
import * as i2 from "@angular/forms";
|
9
9
|
export class InputFieldsComponent {
|
10
|
-
constructor() {
|
10
|
+
constructor(elementRef) {
|
11
|
+
this.elementRef = elementRef;
|
11
12
|
this.opacity = 1;
|
12
13
|
this.ratingHoverIndex = null;
|
13
14
|
this.selectedDropdown = null;
|
@@ -56,15 +57,21 @@ export class InputFieldsComponent {
|
|
56
57
|
this.enteredValue = value;
|
57
58
|
this.feild.inputValue = value;
|
58
59
|
}
|
59
|
-
|
60
|
-
|
60
|
+
handleOutsideClick(event) {
|
61
|
+
const clickedInside = this.elementRef.nativeElement.contains(event.target);
|
62
|
+
if (!clickedInside) {
|
63
|
+
this.selectedDropdown = null;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: InputFieldsComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: InputFieldsComponent, isStandalone: true, selector: "simpo-input-fields", inputs: { feild: "feild", opacity: "opacity", bgColor: "bgColor", sectionId: "sectionId" }, host: { listeners: { "document:click": "handleOutsideClick($event)" } }, usesOnChanges: true, ngImport: i0, template: "<section [ngSwitch]=\"feild.type\" class=\"mt-15\">\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'text'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'address'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'email'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"email\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'password'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"password\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'rating'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <div class=\"d-flex\">\r\n <span class=\"fa fa-star\" *ngFor=\"let _ of [].constructor(5); let idx = index\" [ngClass]=\"{'checked': idx < (ratingHoverIndex ?? feild.value) }\" (mouseenter)=\"ratingHoverIndex = idx +1\" (mouseleave)=\"ratingHoverIndex = null\" (click)=\"feild.value = idx +1\"></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'date'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"date\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'checkbox'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <div class=\"d-flex align-items-center flex-wrap\" style=\"gap: 10px;\">\r\n <ng-container *ngFor=\"let checkbox of feild.options\">\r\n <div class=\"d-flex align-items-center\" style=\"gap: 5px;\">\r\n <input type=\"checkbox\" [attr.id]=\"checkbox.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"checkbox.status\">\r\n <label [attr.for]=\"checkbox.value\" class=\"mb-0 mt-1 checkboxFont\">{{ checkbox.value }}</label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'number'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"number\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'money'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" value=\"\u20B9\" (keydown)=\"handleMoneyInput($event)\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'desc'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <textarea class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\"></textarea>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2 position-relative\" *ngSwitchCase=\"'dropdown'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n\r\n <div class=\"position-relative d-flex align-items-center\" (click)=\"selectedDropdown === feild.value ? selectedDropdown = null : selectedDropdown = feild.value\" >\r\n <input type=\"text\" readonly [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [value]=\"enteredValue\" \r\n [(ngModel)]=\"feild.inputValue\" class=\"w-100\">\r\n <mat-icon class=\"down-arrow\">{{feild.value != selectedDropdown ? 'keyboard_arrow_down' : 'keyboard_arrow_up'}}</mat-icon>\r\n\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0</div>\r\n <div class=\"container-list position-absolute\" [hidden]=\"feild.value != selectedDropdown\">\r\n <ng-container *ngFor=\"let option of feild.options\">\r\n <div class=\"container\" [ngClass]=\"{'container-selected': option.value == selectedDropdown}\" (click)=\"selectDropdown(option.value)\">{{ option.value }}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["input,textarea,select{border-radius:5px;padding:8px 8px 8px 10px!important;font-size:large;background-color:#000;font-weight:400;border:1px solid #b9b9b9}.checkboxFont{font-size:16px;font-weight:400}.down-arrow{position:absolute;right:5px;color:#000}.fa-star{opacity:.3;cursor:pointer;font-size:20px}input[type=checkbox]{height:18px;width:18px}.checked{opacity:1;color:#daa520}.input-field-label{font-size:16px;font-weight:400}.mt-15{margin-top:15px}.container-list{box-shadow:0 0 3px #999;background-color:#fff;border-radius:5px;padding:3px 0;font-weight:400;overflow:hidden;position:absolute;top:70px;width:100%;z-index:1}.container-list .container{cursor:pointer;padding:10px;font-size:18px;color:#000}.container-list .container-selected{color:#fff;background-color:purple}.container-list .container:hover{color:#fff;background-color:purple;width:100%;font-weight:600!important}sup{color:red}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ColorDirective, selector: "[simpoColor]", inputs: ["simpoColor"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
61
68
|
}
|
62
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: InputFieldsComponent, decorators: [{
|
63
70
|
type: Component,
|
64
71
|
args: [{ selector: 'simpo-input-fields', standalone: true, imports: [
|
65
72
|
CommonModule, FormsModule, ColorDirective, MatIcon
|
66
|
-
], template: "<section [ngSwitch]=\"feild.type\" class=\"mt-15\">\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'text'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'address'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'email'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"email\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'password'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"password\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'rating'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <div class=\"d-flex\">\r\n <span class=\"fa fa-star\" *ngFor=\"let _ of [].constructor(5); let idx = index\" [ngClass]=\"{'checked': idx < (ratingHoverIndex ?? feild.value) }\" (mouseenter)=\"ratingHoverIndex = idx +1\" (mouseleave)=\"ratingHoverIndex = null\" (click)=\"feild.value = idx +1\"></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'date'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"date\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'checkbox'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <div class=\"d-flex align-items-center flex-wrap\" style=\"gap: 10px;\">\r\n <ng-container *ngFor=\"let checkbox of feild.options\">\r\n <div class=\"d-flex align-items-center\" style=\"gap: 5px;\">\r\n <input type=\"checkbox\" [attr.id]=\"checkbox.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"checkbox.status\">\r\n <label [attr.for]=\"checkbox.value\" class=\"mb-0 mt-1 checkboxFont\">{{ checkbox.value }}</label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'number'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"number\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'money'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" value=\"\u20B9\" (keydown)=\"handleMoneyInput($event)\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'desc'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <textarea class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\"></textarea>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2 position-relative\" *ngSwitchCase=\"'dropdown'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n\r\n <div class=\"position-relative d-flex align-items-center\">\r\n <input type=\"text\" readonly [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [value]=\"enteredValue\"
|
67
|
-
}], ctorParameters: () => [], propDecorators: { feild: [{
|
73
|
+
], template: "<section [ngSwitch]=\"feild.type\" class=\"mt-15\">\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'text'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'address'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'email'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"email\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'password'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"password\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'rating'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <div class=\"d-flex\">\r\n <span class=\"fa fa-star\" *ngFor=\"let _ of [].constructor(5); let idx = index\" [ngClass]=\"{'checked': idx < (ratingHoverIndex ?? feild.value) }\" (mouseenter)=\"ratingHoverIndex = idx +1\" (mouseleave)=\"ratingHoverIndex = null\" (click)=\"feild.value = idx +1\"></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'date'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"date\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'checkbox'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <div class=\"d-flex align-items-center flex-wrap\" style=\"gap: 10px;\">\r\n <ng-container *ngFor=\"let checkbox of feild.options\">\r\n <div class=\"d-flex align-items-center\" style=\"gap: 5px;\">\r\n <input type=\"checkbox\" [attr.id]=\"checkbox.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"checkbox.status\">\r\n <label [attr.for]=\"checkbox.value\" class=\"mb-0 mt-1 checkboxFont\">{{ checkbox.value }}</label>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'number'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"number\" class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'money'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <input type=\"text\" class=\"p-2\" value=\"\u20B9\" (keydown)=\"handleMoneyInput($event)\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\">\r\n </div>\r\n <div class=\"d-flex flex-column mr-2\" *ngSwitchCase=\"'desc'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n <textarea class=\"p-2\" [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [(ngModel)]=\"feild.inputValue\"></textarea>\r\n </div>\r\n <div class=\"d-flex flex-column mr-2 position-relative\" *ngSwitchCase=\"'dropdown'\">\r\n <label [attr.for]=\"feild.value\" [simpoColor]=\"bgColor\" [id]=\"sectionId\" class=\"input-field-label\">{{ feild.value }} <sup *ngIf=\"feild.required\">*</sup></label>\r\n\r\n <div class=\"position-relative d-flex align-items-center\" (click)=\"selectedDropdown === feild.value ? selectedDropdown = null : selectedDropdown = feild.value\" >\r\n <input type=\"text\" readonly [attr.id]=\"feild.value\" [style.background]=\"colorCode\" [style.color]=\"getTextColor\" [value]=\"enteredValue\" \r\n [(ngModel)]=\"feild.inputValue\" class=\"w-100\">\r\n <mat-icon class=\"down-arrow\">{{feild.value != selectedDropdown ? 'keyboard_arrow_down' : 'keyboard_arrow_up'}}</mat-icon>\r\n\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0</div>\r\n <div class=\"container-list position-absolute\" [hidden]=\"feild.value != selectedDropdown\">\r\n <ng-container *ngFor=\"let option of feild.options\">\r\n <div class=\"container\" [ngClass]=\"{'container-selected': option.value == selectedDropdown}\" (click)=\"selectDropdown(option.value)\">{{ option.value }}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["input,textarea,select{border-radius:5px;padding:8px 8px 8px 10px!important;font-size:large;background-color:#000;font-weight:400;border:1px solid #b9b9b9}.checkboxFont{font-size:16px;font-weight:400}.down-arrow{position:absolute;right:5px;color:#000}.fa-star{opacity:.3;cursor:pointer;font-size:20px}input[type=checkbox]{height:18px;width:18px}.checked{opacity:1;color:#daa520}.input-field-label{font-size:16px;font-weight:400}.mt-15{margin-top:15px}.container-list{box-shadow:0 0 3px #999;background-color:#fff;border-radius:5px;padding:3px 0;font-weight:400;overflow:hidden;position:absolute;top:70px;width:100%;z-index:1}.container-list .container{cursor:pointer;padding:10px;font-size:18px;color:#000}.container-list .container-selected{color:#fff;background-color:purple}.container-list .container:hover{color:#fff;background-color:purple;width:100%;font-weight:600!important}sup{color:red}\n"] }]
|
74
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { feild: [{
|
68
75
|
type: Input
|
69
76
|
}], opacity: [{
|
70
77
|
type: Input
|
@@ -72,5 +79,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
72
79
|
type: Input
|
73
80
|
}], sectionId: [{
|
74
81
|
type: Input
|
82
|
+
}], handleOutsideClick: [{
|
83
|
+
type: HostListener,
|
84
|
+
args: ['document:click', ['$event']]
|
75
85
|
}] } });
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1maWVsZHMvaW5wdXQtZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1maWVsZHMvaW5wdXQtZmllbGRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFZakQsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQjtRQVRTLFlBQU8sR0FBdUIsQ0FBQyxDQUFDO1FBSWxDLHFCQUFnQixHQUFrQixJQUFJLENBQUM7UUFFdkMscUJBQWdCLEdBQWtCLElBQUksQ0FBQztRQUN2QyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFJeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVU7UUFDekIsSUFB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QU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3JFLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxNQUFjO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyx1Q0FBdUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQzs4R0FsRVUsb0JBQW9CO2tHQUFwQixvQkFBb0IsK0xDaEJqQyxzdE1BaUVBLDA3QkR0REksWUFBWSx5aEJBQUUsV0FBVyxrOEJBQUUsY0FBYyxpRkFBRSxPQUFPOzsyRkFLekMsb0JBQW9CO2tCQVRoQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsT0FBTztxQkFDbkQ7d0RBS1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29sb3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29sb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8taW5wdXQtZmllbGRzJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIENvbG9yRGlyZWN0aXZlLCBNYXRJY29uXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmllbGRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaW5wdXQtZmllbGRzLmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgZmVpbGQ6IGFueTtcclxuICBASW5wdXQoKSBvcGFjaXR5OiBudW1iZXIgfCB1bmRlZmluZWQgPSAxO1xyXG4gIEBJbnB1dCgpIGJnQ29sb3I/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2VjdGlvbklkPzogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgcmF0aW5nSG92ZXJJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGNvbG9yQ29kZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzZWxlY3RlZERyb3Bkb3duOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgZW50ZXJlZFZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gICAgdGhpcy5jb2xvckNvZGUgPSB0aGlzLmdlbmVyYXRlQ29sb3JCYXNlZE9uTnVtYmVyKHRoaXMub3BhY2l0eSA/PyAwKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuY29sb3JDb2RlID0gdGhpcy5nZW5lcmF0ZUNvbG9yQmFzZWRPbk51bWJlcih0aGlzLm9wYWNpdHkgPz8gMCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVNb25leUlucHV0KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICghKGV2ZW50LmNvZGUuaW5jbHVkZXMoXCJEaWdpdFwiKSB8fCBldmVudC5jb2RlLmluY2x1ZGVzKFwiQmFja3NwYWNlXCIpKSB8fCAhZXZlbnQudGFyZ2V0KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBldmVudC50YXJnZXQudmFsdWUgPSBcIuKCuVwiICsgTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZS5yZXBsYWNlQWxsKFwiLFwiLCBcIlwiKS5yZXBsYWNlQWxsKFwi4oK5XCIsIFwiXCIpKS50b0xvY2FsZVN0cmluZygpO1xyXG4gIH1cclxuICBnZXQgZ2V0VGV4dENvbG9yKCkge1xyXG4gICAgcmV0dXJuICh0aGlzLm9wYWNpdHkgPz8gMCkgPCA1MCA/ICcjRkZGJyA6ICcjMDAwJztcclxuICB9XHJcblxyXG4gIGludGVycG9sYXRlQ29sb3IoY29sb3IxOiBzdHJpbmcsIGNvbG9yMjogc3RyaW5nLCBmYWN0b3I6IG51bWJlcikge1xyXG4gICAgaWYgKGZhY3RvciA9PT0gMCkgcmV0dXJuIGNvbG9yMTtcclxuICAgIGlmIChmYWN0b3IgPT09IDEpIHJldHVybiBjb2xvcjI7XHJcblxyXG4gICAgY29uc3QgaGV4ID0gKHg6IGFueSkgPT4gdGhpcy5wYWRaZXJvKE1hdGgucm91bmQoeCkudG9TdHJpbmcoMTYpLCAyKTtcclxuXHJcbiAgICBjb25zdCByMSA9IHBhcnNlSW50KGNvbG9yMS5zdWJzdHJpbmcoMSwgMyksIDE2KTtcclxuICAgIGNvbnN0IGcxID0gcGFyc2VJbnQoY29sb3IxLnN1YnN0cmluZygzLCA1KSwgMTYpO1xyXG4gICAgY29uc3QgYjEgPSBwYXJzZUludChjb2xvcjEuc3Vic3RyaW5nICAoNSwgNyksIDE2KTtcclxuXHJcbiAgICBjb25zdCByMiA9IHBhcnNlSW50KGNvbG9yMi5zdWJzdHJpbmcoMSwgMyksIDE2KTtcclxuICAgIGNvbnN0IGcyID0gcGFyc2VJbnQoY29sb3IyLnN1YnN0cmluZygzLCA1KSwgMTYpO1xyXG4gICAgY29uc3QgYjIgPSBwYXJzZUludChjb2xvcjIuc3Vic3RyaW5nKDUsIDcpLCAxNik7XHJcblxyXG4gICAgY29uc3QgciA9IE1hdGguY2VpbChyMSAqICgxIC0gZmFjdG9yKSArIHIyICogZmFjdG9yKTtcclxuICAgIGNvbnN0IGcgPSBNYXRoLmNlaWwoZzEgKiAoMSAtIGZhY3RvcikgKyBnMiAqIGZhY3Rvcik7XHJcbiAgICBjb25zdCBiID0gTWF0aC5jZWlsKGIxICogKDEgLSBmYWN0b3IpICsgYjIgKiBmYWN0b3IpO1xyXG5cclxuICAgIHJldHVybiBgIyR7aGV4KHIpfSR7aGV4KGcpfSR7aGV4KGIpfWA7XHJcbiAgfVxyXG5cclxuICBwYWRaZXJvKHN0cjogc3RyaW5nLCBsZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gc3RyLmxlbmd0aCA8IGxlbmd0aCA/IHRoaXMucGFkWmVybyhcIjBcIiArIHN0ciwgbGVuZ3RoKSA6IHN0cjtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlQ29sb3JCYXNlZE9uTnVtYmVyKG51bWJlcjogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBmYWN0b3IgPSBudW1iZXIgLyAxMDA7IC8vIEFzc3VtaW5nIG51bWJlciByYW5nZXMgZnJvbSAwIHRvIDEwMFxyXG4gICAgcmV0dXJuIHRoaXMuaW50ZXJwb2xhdGVDb2xvcihcIiMwMDAwMDBcIiwgXCIjRkZGRkZGXCIsIGZhY3Rvcik7XHJcbiAgfVxyXG5cclxuICBzZWxlY3REcm9wZG93bih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRHJvcGRvd24gPSBudWxsO1xyXG4gICAgdGhpcy5lbnRlcmVkVmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuZmVpbGQuaW5wdXRWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBbbmdTd2l0Y2hdPVwiZmVpbGQudHlwZVwiICBjbGFzcz1cIm10LTE1XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1yLTJcIiAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XHJcbiAgICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJmZWlsZC52YWx1ZVwiIFtzaW1wb0NvbG9yXT1cImJnQ29sb3JcIiBbaWRdPVwic2VjdGlvbklkXCIgY2xhc3M9XCJpbnB1dC1maWVsZC1sYWJlbFwiPnt7IGZlaWxkLnZhbHVlIH19IDxzdXAgKm5nSWY9XCJmZWlsZC5yZXF1aXJlZFwiPio8L3N1cD48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwicC0yXCIgW2F0dHIuaWRdPVwiZmVpbGQudmFsdWVcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvckNvZGVcIiBbc3R5bGUuY29sb3JdPVwiZ2V0VGV4dENvbG9yXCIgWyhuZ01vZGVsKV09XCJmZWlsZC5pbnB1dFZhbHVlXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbXItMlwiICpuZ1N3aXRjaENhc2U9XCInYWRkcmVzcydcIj5cclxuICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImZlaWxkLnZhbHVlXCIgIFtzaW1wb0NvbG9yXT1cImJnQ29sb3JcIiBbaWRdPVwic2VjdGlvbklkXCIgY2xhc3M9XCJpbnB1dC1maWVsZC1sYWJlbFwiPnt7IGZlaWxkLnZhbHVlIH19IDxzdXAgKm5nSWY9XCJmZWlsZC5yZXF1aXJlZFwiPio8L3N1cD48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwicC0yXCIgW2F0dHIuaWRdPVwiZmVpbGQudmFsdWVcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvckNvZGVcIiBbc3R5bGUuY29sb3JdPVwiZ2V0VGV4dENvbG9yXCIgWyhuZ01vZGVsKV09XCJmZWlsZC5pbnB1dFZhbHVlXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbXItMlwiICpuZ1N3aXRjaENhc2U9XCInZW1haWwnXCI+XHJcbiAgICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJmZWlsZC52YWx1ZVwiIFtzaW1wb0NvbG9yXT1cImJnQ29sb3JcIiBbaWRdPVwic2VjdGlvbklkXCIgY2xhc3M9XCJpbnB1dC1maWVsZC1sYWJlbFwiPnt7IGZlaWxkLnZhbHVlIH19IDxzdXAgKm5nSWY9XCJmZWlsZC5yZXF1aXJlZFwiPio8L3N1cD48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBjbGFzcz1cInAtMlwiIFthdHRyLmlkXT1cImZlaWxkLnZhbHVlXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiY29sb3JDb2RlXCIgW3N0eWxlLmNvbG9yXT1cImdldFRleHRDb2xvclwiIFsobmdNb2RlbCldPVwiZmVpbGQuaW5wdXRWYWx1ZVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1yLTJcIiAqbmdTd2l0Y2hDYXNlPVwiJ3Bhc3N3b3JkJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmVpbGQudmFsdWVcIiBbc2ltcG9Db2xvcl09XCJiZ0NvbG9yXCIgW2lkXT1cInNlY3Rpb25JZFwiIGNsYXNzPVwiaW5wdXQtZmllbGQtbGFiZWxcIj57eyBmZWlsZC52YWx1ZSB9fSA8c3VwICpuZ0lmPVwiZmVpbGQucmVxdWlyZWRcIj4qPC9zdXA+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgY2xhc3M9XCJwLTJcIiBbYXR0ci5pZF09XCJmZWlsZC52YWx1ZVwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbG9yQ29kZVwiIFtzdHlsZS5jb2xvcl09XCJnZXRUZXh0Q29sb3JcIiBbKG5nTW9kZWwpXT1cImZlaWxkLmlucHV0VmFsdWVcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtci0yXCIgKm5nU3dpdGNoQ2FzZT1cIidyYXRpbmcnXCI+XHJcbiAgICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJmZWlsZC52YWx1ZVwiIFtzaW1wb0NvbG9yXT1cImJnQ29sb3JcIiBbaWRdPVwic2VjdGlvbklkXCIgY2xhc3M9XCJpbnB1dC1maWVsZC1sYWJlbFwiPnt7IGZlaWxkLnZhbHVlIH19IDxzdXAgKm5nSWY9XCJmZWlsZC5yZXF1aXJlZFwiPio8L3N1cD48L2xhYmVsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1zdGFyXCIgKm5nRm9yPVwibGV0IF8gb2YgW10uY29uc3RydWN0b3IoNSk7IGxldCBpZHggPSBpbmRleFwiIFtuZ0NsYXNzXT1cInsnY2hlY2tlZCc6IGlkeCA8IChyYXRpbmdIb3ZlckluZGV4ID8/IGZlaWxkLnZhbHVlKSAgfVwiIChtb3VzZWVudGVyKT1cInJhdGluZ0hvdmVySW5kZXggPSBpZHggKzFcIiAobW91c2VsZWF2ZSk9XCJyYXRpbmdIb3ZlckluZGV4ID0gbnVsbFwiIChjbGljayk9XCJmZWlsZC52YWx1ZSA9IGlkeCArMVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtci0yXCIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmVpbGQudmFsdWVcIiBbc2ltcG9Db2xvcl09XCJiZ0NvbG9yXCIgW2lkXT1cInNlY3Rpb25JZFwiIGNsYXNzPVwiaW5wdXQtZmllbGQtbGFiZWxcIj57eyBmZWlsZC52YWx1ZSB9fSA8c3VwICpuZ0lmPVwiZmVpbGQucmVxdWlyZWRcIj4qPC9zdXA+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cImRhdGVcIiBjbGFzcz1cInAtMlwiIFthdHRyLmlkXT1cImZlaWxkLnZhbHVlXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiY29sb3JDb2RlXCIgW3N0eWxlLmNvbG9yXT1cImdldFRleHRDb2xvclwiIFsobmdNb2RlbCldPVwiZmVpbGQuaW5wdXRWYWx1ZVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1yLTJcIiAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmVpbGQudmFsdWVcIiBbc2ltcG9Db2xvcl09XCJiZ0NvbG9yXCIgW2lkXT1cInNlY3Rpb25JZFwiIGNsYXNzPVwiaW5wdXQtZmllbGQtbGFiZWxcIj57eyBmZWlsZC52YWx1ZSB9fSA8c3VwICpuZ0lmPVwiZmVpbGQucmVxdWlyZWRcIj4qPC9zdXA+PC9sYWJlbD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXdyYXBcIiBzdHlsZT1cImdhcDogMTBweDtcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hlY2tib3ggb2YgZmVpbGQub3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT1cImdhcDogNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbYXR0ci5pZF09XCJjaGVja2JveC52YWx1ZVwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbG9yQ29kZVwiIFtzdHlsZS5jb2xvcl09XCJnZXRUZXh0Q29sb3JcIiAgWyhuZ01vZGVsKV09XCJjaGVja2JveC5zdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImNoZWNrYm94LnZhbHVlXCIgY2xhc3M9XCJtYi0wIG10LTEgY2hlY2tib3hGb250XCI+e3sgY2hlY2tib3gudmFsdWUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1yLTJcIiAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIj5cclxuICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImZlaWxkLnZhbHVlXCIgW3NpbXBvQ29sb3JdPVwiYmdDb2xvclwiIFtpZF09XCJzZWN0aW9uSWRcIiBjbGFzcz1cImlucHV0LWZpZWxkLWxhYmVsXCI+e3sgZmVpbGQudmFsdWUgfX0gPHN1cCAqbmdJZj1cImZlaWxkLnJlcXVpcmVkXCI+Kjwvc3VwPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBjbGFzcz1cInAtMlwiIFthdHRyLmlkXT1cImZlaWxkLnZhbHVlXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiY29sb3JDb2RlXCIgW3N0eWxlLmNvbG9yXT1cImdldFRleHRDb2xvclwiICBbKG5nTW9kZWwpXT1cImZlaWxkLmlucHV0VmFsdWVcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtci0yXCIgKm5nU3dpdGNoQ2FzZT1cIidtb25leSdcIj5cclxuICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImZlaWxkLnZhbHVlXCIgW3NpbXBvQ29sb3JdPVwiYmdDb2xvclwiIFtpZF09XCJzZWN0aW9uSWRcIiBjbGFzcz1cImlucHV0LWZpZWxkLWxhYmVsXCI+e3sgZmVpbGQudmFsdWUgfX0gPHN1cCAqbmdJZj1cImZlaWxkLnJlcXVpcmVkXCI+Kjwvc3VwPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJwLTJcIiB2YWx1ZT1cIuKCuVwiIChrZXlkb3duKT1cImhhbmRsZU1vbmV5SW5wdXQoJGV2ZW50KVwiIFthdHRyLmlkXT1cImZlaWxkLnZhbHVlXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiY29sb3JDb2RlXCIgW3N0eWxlLmNvbG9yXT1cImdldFRleHRDb2xvclwiICBbKG5nTW9kZWwpXT1cImZlaWxkLmlucHV0VmFsdWVcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtci0yXCIgKm5nU3dpdGNoQ2FzZT1cIidkZXNjJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmVpbGQudmFsdWVcIiBbc2ltcG9Db2xvcl09XCJiZ0NvbG9yXCIgW2lkXT1cInNlY3Rpb25JZFwiIGNsYXNzPVwiaW5wdXQtZmllbGQtbGFiZWxcIj57eyBmZWlsZC52YWx1ZSB9fSA8c3VwICpuZ0lmPVwiZmVpbGQucmVxdWlyZWRcIj4qPC9zdXA+PC9sYWJlbD5cclxuICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJwLTJcIiBbYXR0ci5pZF09XCJmZWlsZC52YWx1ZVwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbG9yQ29kZVwiIFtzdHlsZS5jb2xvcl09XCJnZXRUZXh0Q29sb3JcIiAgWyhuZ01vZGVsKV09XCJmZWlsZC5pbnB1dFZhbHVlXCI+PC90ZXh0YXJlYT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtci0yIHBvc2l0aW9uLXJlbGF0aXZlXCIgKm5nU3dpdGNoQ2FzZT1cIidkcm9wZG93bidcIj5cclxuICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImZlaWxkLnZhbHVlXCIgW3NpbXBvQ29sb3JdPVwiYmdDb2xvclwiIFtpZF09XCJzZWN0aW9uSWRcIiBjbGFzcz1cImlucHV0LWZpZWxkLWxhYmVsXCI+e3sgZmVpbGQudmFsdWUgfX0gPHN1cCAqbmdJZj1cImZlaWxkLnJlcXVpcmVkXCI+Kjwvc3VwPjwvbGFiZWw+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlYWRvbmx5IFthdHRyLmlkXT1cImZlaWxkLnZhbHVlXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiY29sb3JDb2RlXCIgW3N0eWxlLmNvbG9yXT1cImdldFRleHRDb2xvclwiIFt2YWx1ZV09XCJlbnRlcmVkVmFsdWVcIiAoY2xpY2spPVwic2VsZWN0ZWREcm9wZG93biA9IGZlaWxkLnZhbHVlXCIgIFsobmdNb2RlbCldPVwiZmVpbGQuaW5wdXRWYWx1ZVwiIGNsYXNzPVwidy0xMDBcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIi0tU2VsZWN0LS1cIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZG93bi1hcnJvd1wiPnt7ZmVpbGQudmFsdWUgIT0gc2VsZWN0ZWREcm9wZG93biA/ICdrZXlib2FyZF9hcnJvd19kb3duJyA6ICdrZXlib2FyZF9hcnJvd191cCd9fTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1saXN0IHBvc2l0aW9uLWFic29sdXRlXCIgW2hpZGRlbl09XCJmZWlsZC52YWx1ZSAhPSBzZWxlY3RlZERyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmZWlsZC5vcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieydjb250YWluZXItc2VsZWN0ZWQnOiBvcHRpb24udmFsdWUgPT0gc2VsZWN0ZWREcm9wZG93bn1cIiAoY2xpY2spPVwic2VsZWN0RHJvcGRvd24ob3B0aW9uLnZhbHVlKVwiPnt7IG9wdGlvbi52YWx1ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1maWVsZHMvaW5wdXQtZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1maWVsZHMvaW5wdXQtZmllbGRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBWWpELE1BQU0sT0FBTyxvQkFBb0I7SUFXL0IsWUFDVSxVQUF1QjtRQUF2QixlQUFVLEdBQVYsVUFBVSxDQUFhO1FBVnhCLFlBQU8sR0FBdUIsQ0FBQyxDQUFDO1FBSWxDLHFCQUFnQixHQUFrQixJQUFJLENBQUM7UUFFdkMscUJBQWdCLEdBQWtCLElBQUksQ0FBQztRQUN2QyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFLeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6RixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2pILENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3BELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsTUFBYyxFQUFFLE1BQWM7UUFDN0QsSUFBSSxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQ2hDLElBQUksTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUVoQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRSxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsRCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVoRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUVyRCxPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxNQUFjO1FBQ2pDLE9BQU8sR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3JFLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxNQUFjO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyx1Q0FBdUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUdILGtCQUFrQixDQUFDLEtBQWlCO1FBQ2xDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7OEdBM0VZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHdRQ2hCakMsaXlNQWlFQSwwN0JEdERJLFlBQVkseWhCQUFFLFdBQVcsazhCQUFFLGNBQWMsaUZBQUUsT0FBTzs7MkZBS3pDLG9CQUFvQjtrQkFUaEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQO3dCQUNQLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE9BQU87cUJBQ25EOytFQUtRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBa0VSLGtCQUFrQjtzQkFEZixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLWlucHV0LWZpZWxkcycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBDb2xvckRpcmVjdGl2ZSwgTWF0SWNvblxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2lucHV0LWZpZWxkcy5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRGaWVsZHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGZlaWxkOiBhbnk7XHJcbiAgQElucHV0KCkgb3BhY2l0eTogbnVtYmVyIHwgdW5kZWZpbmVkID0gMTtcclxuICBASW5wdXQoKSBiZ0NvbG9yPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNlY3Rpb25JZD86IHN0cmluZztcclxuXHJcbiAgcHVibGljIHJhdGluZ0hvdmVySW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBjb2xvckNvZGU6IHN0cmluZztcclxuICBwdWJsaWMgc2VsZWN0ZWREcm9wZG93bjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGVudGVyZWRWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmIDogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5jb2xvckNvZGUgPSB0aGlzLmdlbmVyYXRlQ29sb3JCYXNlZE9uTnVtYmVyKHRoaXMub3BhY2l0eSA/PyAwKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuY29sb3JDb2RlID0gdGhpcy5nZW5lcmF0ZUNvbG9yQmFzZWRPbk51bWJlcih0aGlzLm9wYWNpdHkgPz8gMCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVNb25leUlucHV0KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICghKGV2ZW50LmNvZGUuaW5jbHVkZXMoXCJEaWdpdFwiKSB8fCBldmVudC5jb2RlLmluY2x1ZGVzKFwiQmFja3NwYWNlXCIpKSB8fCAhZXZlbnQudGFyZ2V0KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBldmVudC50YXJnZXQudmFsdWUgPSBcIuKCuVwiICsgTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZS5yZXBsYWNlQWxsKFwiLFwiLCBcIlwiKS5yZXBsYWNlQWxsKFwi4oK5XCIsIFwiXCIpKS50b0xvY2FsZVN0cmluZygpO1xyXG4gIH1cclxuICBnZXQgZ2V0VGV4dENvbG9yKCkge1xyXG4gICAgcmV0dXJuICh0aGlzLm9wYWNpdHkgPz8gMCkgPCA1MCA/ICcjRkZGJyA6ICcjMDAwJztcclxuICB9XHJcblxyXG4gIGludGVycG9sYXRlQ29sb3IoY29sb3IxOiBzdHJpbmcsIGNvbG9yMjogc3RyaW5nLCBmYWN0b3I6IG51bWJlcikge1xyXG4gICAgaWYgKGZhY3RvciA9PT0gMCkgcmV0dXJuIGNvbG9yMTtcclxuICAgIGlmIChmYWN0b3IgPT09IDEpIHJldHVybiBjb2xvcjI7XHJcblxyXG4gICAgY29uc3QgaGV4ID0gKHg6IGFueSkgPT4gdGhpcy5wYWRaZXJvKE1hdGgucm91bmQoeCkudG9TdHJpbmcoMTYpLCAyKTtcclxuXHJcbiAgICBjb25zdCByMSA9IHBhcnNlSW50KGNvbG9yMS5zdWJzdHJpbmcoMSwgMyksIDE2KTtcclxuICAgIGNvbnN0IGcxID0gcGFyc2VJbnQoY29sb3IxLnN1YnN0cmluZygzLCA1KSwgMTYpO1xyXG4gICAgY29uc3QgYjEgPSBwYXJzZUludChjb2xvcjEuc3Vic3RyaW5nICAoNSwgNyksIDE2KTtcclxuXHJcbiAgICBjb25zdCByMiA9IHBhcnNlSW50KGNvbG9yMi5zdWJzdHJpbmcoMSwgMyksIDE2KTtcclxuICAgIGNvbnN0IGcyID0gcGFyc2VJbnQoY29sb3IyLnN1YnN0cmluZygzLCA1KSwgMTYpO1xyXG4gICAgY29uc3QgYjIgPSBwYXJzZUludChjb2xvcjIuc3Vic3RyaW5nKDUsIDcpLCAxNik7XHJcblxyXG4gICAgY29uc3QgciA9IE1hdGguY2VpbChyMSAqICgxIC0gZmFjdG9yKSArIHIyICogZmFjdG9yKTtcclxuICAgIGNvbnN0IGcgPSBNYXRoLmNlaWwoZzEgKiAoMSAtIGZhY3RvcikgKyBnMiAqIGZhY3Rvcik7XHJcbiAgICBjb25zdCBiID0gTWF0aC5jZWlsKGIxICogKDEgLSBmYWN0b3IpICsgYjIgKiBmYWN0b3IpO1xyXG5cclxuICAgIHJldHVybiBgIyR7aGV4KHIpfSR7aGV4KGcpfSR7aGV4KGIpfWA7XHJcbiAgfVxyXG5cclxuICBwYWRaZXJvKHN0cjogc3RyaW5nLCBsZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gc3RyLmxlbmd0aCA8IGxlbmd0aCA/IHRoaXMucGFkWmVybyhcIjBcIiArIHN0ciwgbGVuZ3RoKSA6IHN0cjtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlQ29sb3JCYXNlZE9uTnVtYmVyKG51bWJlcjogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBmYWN0b3IgPSBudW1iZXIgLyAxMDA7IC8vIEFzc3VtaW5nIG51bWJlciByYW5nZXMgZnJvbSAwIHRvIDEwMFxyXG4gICAgcmV0dXJuIHRoaXMuaW50ZXJwb2xhdGVDb2xvcihcIiMwMDAwMDBcIiwgXCIjRkZGRkZGXCIsIGZhY3Rvcik7XHJcbiAgfVxyXG5cclxuICBzZWxlY3REcm9wZG93bih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRHJvcGRvd24gPSBudWxsO1xyXG4gICAgdGhpcy5lbnRlcmVkVmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuZmVpbGQuaW5wdXRWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG5oYW5kbGVPdXRzaWRlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcclxuICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREcm9wZG93bsKgPcKgbnVsbDtcclxuwqDCoH1cclxufVxyXG59XHJcbiIsIjxzZWN0aW9uIFtuZ1N3aXRjaF09XCJmZWlsZC50eXBlXCIgIGNsYXNzPVwibXQtMTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbXItMlwiICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cclxuICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImZlaWxkLnZhbHVlXCIgW3NpbXBvQ29sb3JdPVwiYmdDb2xvclwiIFtpZF09XCJzZWN0aW9uSWRcIiBjbGFzcz1cImlucHV0LWZpZWxkLWxhYmVsXCI+e3sgZmVpbGQudmFsdWUgfX0gPHN1cCAqbmdJZj1cImZlaWxkLnJlcXVpcmVkXCI+Kjwvc3VwPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJwLTJcIiBbYXR0ci5pZF09XCJmZWlsZC52YWx1ZVwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbG9yQ29kZVwiIFtzdHlsZS5jb2xvcl09XCJnZXRUZXh0Q29sb3JcIiBbKG5nTW9kZWwpXT1cImZlaWxkLmlucHV0VmFsdWVcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtci0yXCIgKm5nU3dpdGNoQ2FzZT1cIidhZGRyZXNzJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmVpbGQudmFsdWVcIiAgW3NpbXBvQ29sb3JdPVwiYmdDb2xvclwiIFtpZF09XCJzZWN0aW9uSWRcIiBjbGFzcz1cImlucHV0LWZpZWxkLWxhYmVsXCI+e3sgZmVpbGQudmFsdWUgfX0gPHN1cCAqbmdJZj1cImZlaWxkLnJlcXVpcmVkXCI+Kjwvc3VwPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJwLTJcIiBbYXR0ci5pZF09XCJmZWlsZC52YWx1ZVwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbG9yQ29kZVwiIFtzdHlsZS5jb2xvcl09XCJnZXRUZXh0Q29sb3JcIiBbKG5nTW9kZWwpXT1cImZlaWxkLmlucHV0VmFsdWVcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtci0yXCIgKm5nU3dpdGNoQ2FzZT1cIidlbWFpbCdcIj5cclxuICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImZlaWxkLnZhbHVlXCIgW3NpbXBvQ29sb3JdPVwiYmdDb2xvclwiIFtpZF09XCJzZWN0aW9uSWRcIiBjbGFzcz1cImlucHV0LWZpZWxkLWxhYmVsXCI+e3sgZmVpbGQudmFsdWUgfX0gPHN1cCAqbmdJZj1cImZlaWxkLnJlcXVpcmVkXCI+Kjwvc3VwPjwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJlbWFpbFwiIGNsYXNzPVwicC0yXCIgW2F0dHIuaWRdPVwiZmVpbGQudmFsdWVcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvckNvZGVcIiBbc3R5bGUuY29sb3JdPVwiZ2V0VGV4dENvbG9yXCIgWyhuZ01vZGVsKV09XCJmZWlsZC5pbnB1dFZhbHVlXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbXItMlwiICpuZ1N3aXRjaENhc2U9XCIncGFzc3dvcmQnXCI+XHJcbiAgICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJmZWlsZC52YWx1ZVwiIFtzaW1wb0NvbG9yXT1cImJnQ29sb3JcIiBbaWRdPVwic2VjdGlvbklkXCIgY2xhc3M9XCJpbnB1dC1maWVsZC1sYWJlbFwiPnt7IGZlaWxkLnZhbHVlIH19IDxzdXAgKm5nSWY9XCJmZWlsZC5yZXF1aXJlZFwiPio8L3N1cD48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBjbGFzcz1cInAtMlwiIFthdHRyLmlkXT1cImZlaWxkLnZhbHVlXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiY29sb3JDb2RlXCIgW3N0eWxlLmNvbG9yXT1cImdldFRleHRDb2xvclwiIFsobmdNb2RlbCldPVwiZmVpbGQuaW5wdXRWYWx1ZVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1yLTJcIiAqbmdTd2l0Y2hDYXNlPVwiJ3JhdGluZydcIj5cclxuICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImZlaWxkLnZhbHVlXCIgW3NpbXBvQ29sb3JdPVwiYmdDb2xvclwiIFtpZF09XCJzZWN0aW9uSWRcIiBjbGFzcz1cImlucHV0LWZpZWxkLWxhYmVsXCI+e3sgZmVpbGQudmFsdWUgfX0gPHN1cCAqbmdJZj1cImZlaWxkLnJlcXVpcmVkXCI+Kjwvc3VwPjwvbGFiZWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXN0YXJcIiAqbmdGb3I9XCJsZXQgXyBvZiBbXS5jb25zdHJ1Y3Rvcig1KTsgbGV0IGlkeCA9IGluZGV4XCIgW25nQ2xhc3NdPVwieydjaGVja2VkJzogaWR4IDwgKHJhdGluZ0hvdmVySW5kZXggPz8gZmVpbGQudmFsdWUpICB9XCIgKG1vdXNlZW50ZXIpPVwicmF0aW5nSG92ZXJJbmRleCA9IGlkeCArMVwiIChtb3VzZWxlYXZlKT1cInJhdGluZ0hvdmVySW5kZXggPSBudWxsXCIgKGNsaWNrKT1cImZlaWxkLnZhbHVlID0gaWR4ICsxXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1yLTJcIiAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XHJcbiAgICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJmZWlsZC52YWx1ZVwiIFtzaW1wb0NvbG9yXT1cImJnQ29sb3JcIiBbaWRdPVwic2VjdGlvbklkXCIgY2xhc3M9XCJpbnB1dC1maWVsZC1sYWJlbFwiPnt7IGZlaWxkLnZhbHVlIH19IDxzdXAgKm5nSWY9XCJmZWlsZC5yZXF1aXJlZFwiPio8L3N1cD48L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwiZGF0ZVwiIGNsYXNzPVwicC0yXCIgW2F0dHIuaWRdPVwiZmVpbGQudmFsdWVcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvckNvZGVcIiBbc3R5bGUuY29sb3JdPVwiZ2V0VGV4dENvbG9yXCIgWyhuZ01vZGVsKV09XCJmZWlsZC5pbnB1dFZhbHVlXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbXItMlwiICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XHJcbiAgICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJmZWlsZC52YWx1ZVwiIFtzaW1wb0NvbG9yXT1cImJnQ29sb3JcIiBbaWRdPVwic2VjdGlvbklkXCIgY2xhc3M9XCJpbnB1dC1maWVsZC1sYWJlbFwiPnt7IGZlaWxkLnZhbHVlIH19IDxzdXAgKm5nSWY9XCJmZWlsZC5yZXF1aXJlZFwiPio8L3N1cD48L2xhYmVsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtd3JhcFwiIHN0eWxlPVwiZ2FwOiAxMHB4O1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGVja2JveCBvZiBmZWlsZC5vcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwiZ2FwOiA1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFthdHRyLmlkXT1cImNoZWNrYm94LnZhbHVlXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiY29sb3JDb2RlXCIgW3N0eWxlLmNvbG9yXT1cImdldFRleHRDb2xvclwiICBbKG5nTW9kZWwpXT1cImNoZWNrYm94LnN0YXR1c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiY2hlY2tib3gudmFsdWVcIiBjbGFzcz1cIm1iLTAgbXQtMSBjaGVja2JveEZvbnRcIj57eyBjaGVja2JveC52YWx1ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbXItMlwiICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmVpbGQudmFsdWVcIiBbc2ltcG9Db2xvcl09XCJiZ0NvbG9yXCIgW2lkXT1cInNlY3Rpb25JZFwiIGNsYXNzPVwiaW5wdXQtZmllbGQtbGFiZWxcIj57eyBmZWlsZC52YWx1ZSB9fSA8c3VwICpuZ0lmPVwiZmVpbGQucmVxdWlyZWRcIj4qPC9zdXA+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwicC0yXCIgW2F0dHIuaWRdPVwiZmVpbGQudmFsdWVcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvckNvZGVcIiBbc3R5bGUuY29sb3JdPVwiZ2V0VGV4dENvbG9yXCIgIFsobmdNb2RlbCldPVwiZmVpbGQuaW5wdXRWYWx1ZVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1yLTJcIiAqbmdTd2l0Y2hDYXNlPVwiJ21vbmV5J1wiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmVpbGQudmFsdWVcIiBbc2ltcG9Db2xvcl09XCJiZ0NvbG9yXCIgW2lkXT1cInNlY3Rpb25JZFwiIGNsYXNzPVwiaW5wdXQtZmllbGQtbGFiZWxcIj57eyBmZWlsZC52YWx1ZSB9fSA8c3VwICpuZ0lmPVwiZmVpbGQucmVxdWlyZWRcIj4qPC9zdXA+PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cInAtMlwiIHZhbHVlPVwi4oK5XCIgKGtleWRvd24pPVwiaGFuZGxlTW9uZXlJbnB1dCgkZXZlbnQpXCIgW2F0dHIuaWRdPVwiZmVpbGQudmFsdWVcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvckNvZGVcIiBbc3R5bGUuY29sb3JdPVwiZ2V0VGV4dENvbG9yXCIgIFsobmdNb2RlbCldPVwiZmVpbGQuaW5wdXRWYWx1ZVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1yLTJcIiAqbmdTd2l0Y2hDYXNlPVwiJ2Rlc2MnXCI+XHJcbiAgICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJmZWlsZC52YWx1ZVwiIFtzaW1wb0NvbG9yXT1cImJnQ29sb3JcIiBbaWRdPVwic2VjdGlvbklkXCIgY2xhc3M9XCJpbnB1dC1maWVsZC1sYWJlbFwiPnt7IGZlaWxkLnZhbHVlIH19IDxzdXAgKm5nSWY9XCJmZWlsZC5yZXF1aXJlZFwiPio8L3N1cD48L2xhYmVsPlxyXG4gICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cInAtMlwiIFthdHRyLmlkXT1cImZlaWxkLnZhbHVlXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiY29sb3JDb2RlXCIgW3N0eWxlLmNvbG9yXT1cImdldFRleHRDb2xvclwiICBbKG5nTW9kZWwpXT1cImZlaWxkLmlucHV0VmFsdWVcIj48L3RleHRhcmVhPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1yLTIgcG9zaXRpb24tcmVsYXRpdmVcIiAqbmdTd2l0Y2hDYXNlPVwiJ2Ryb3Bkb3duJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmVpbGQudmFsdWVcIiBbc2ltcG9Db2xvcl09XCJiZ0NvbG9yXCIgW2lkXT1cInNlY3Rpb25JZFwiIGNsYXNzPVwiaW5wdXQtZmllbGQtbGFiZWxcIj57eyBmZWlsZC52YWx1ZSB9fSA8c3VwICpuZ0lmPVwiZmVpbGQucmVxdWlyZWRcIj4qPC9zdXA+PC9sYWJlbD5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiAoY2xpY2spPVwic2VsZWN0ZWREcm9wZG93biA9PT0gZmVpbGQudmFsdWUgPyBzZWxlY3RlZERyb3Bkb3duID0gbnVsbCA6IHNlbGVjdGVkRHJvcGRvd24gPSBmZWlsZC52YWx1ZVwiID5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcmVhZG9ubHkgW2F0dHIuaWRdPVwiZmVpbGQudmFsdWVcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvckNvZGVcIiBbc3R5bGUuY29sb3JdPVwiZ2V0VGV4dENvbG9yXCIgW3ZhbHVlXT1cImVudGVyZWRWYWx1ZVwiIFxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZlaWxkLmlucHV0VmFsdWVcIiBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRvd24tYXJyb3dcIj57e2ZlaWxkLnZhbHVlICE9IHNlbGVjdGVkRHJvcGRvd24gPyAna2V5Ym9hcmRfYXJyb3dfZG93bicgOiAna2V5Ym9hcmRfYXJyb3dfdXAnfX08L21hdC1pY29uPlxyXG7CoMKgwqDCoMKgwqDCoMKgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1saXN0IHBvc2l0aW9uLWFic29sdXRlXCIgW2hpZGRlbl09XCJmZWlsZC52YWx1ZSAhPSBzZWxlY3RlZERyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmZWlsZC5vcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieydjb250YWluZXItc2VsZWN0ZWQnOiBvcHRpb24udmFsdWUgPT0gc2VsZWN0ZWREcm9wZG93bn1cIiAoY2xpY2spPVwic2VsZWN0RHJvcGRvd24ob3B0aW9uLnZhbHVlKVwiPnt7IG9wdGlvbi52YWx1ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|