@tekus/kiosks-design-system 3.0.1 → 3.1.1
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/components/tk-kiosk-bar/tk-kiosk-bar-search/tk-kiosk-bar-search.component.mjs +10 -8
- package/esm2022/lib/components/tk-kiosk-btn-count/tk-kiosk-btn-count.component.mjs +49 -7
- package/esm2022/lib/components/tk-kiosk-custom-check-card/tk-kiosk-custom-check-card.component.mjs +15 -3
- package/esm2022/lib/components/tk-kiosk-icon-btn/tk-kiosk-icon-btn.component.mjs +25 -1
- package/esm2022/lib/components/tk-kiosk-product-card/tk-kiosk-product-card.component.mjs +2 -2
- package/esm2022/lib/components/tk-kiosk-product-resume/tk-kiosk-product-resume.component.mjs +2 -2
- package/esm2022/lib/models/SearchEventPayload.model.mjs +2 -0
- package/fesm2022/tekus-kiosks-design-system.mjs +97 -15
- package/fesm2022/tekus-kiosks-design-system.mjs.map +1 -1
- package/lib/components/tk-kiosk-bar/tk-kiosk-bar-search/tk-kiosk-bar-search.component.d.ts +3 -2
- package/lib/components/tk-kiosk-btn-count/tk-kiosk-btn-count.component.d.ts +42 -1
- package/lib/components/tk-kiosk-custom-check-card/tk-kiosk-custom-check-card.component.d.ts +8 -0
- package/lib/components/tk-kiosk-icon-btn/tk-kiosk-icon-btn.component.d.ts +27 -0
- package/lib/models/SearchEventPayload.model.d.ts +4 -0
- package/package.json +1 -1
package/esm2022/lib/components/tk-kiosk-bar/tk-kiosk-bar-search/tk-kiosk-bar-search.component.mjs
CHANGED
|
@@ -4,7 +4,6 @@ import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
|
4
4
|
import { keyboardType } from '../../../helpers';
|
|
5
5
|
import { NzIconDirective } from 'ng-zorro-antd/icon';
|
|
6
6
|
import { NzInputModule } from 'ng-zorro-antd/input';
|
|
7
|
-
import { TkKioskTypographyComponent } from '../../tk-kiosk-typography';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
import * as i1 from "@angular/forms";
|
|
10
9
|
export class TkKioskBarSearchComponent {
|
|
@@ -43,27 +42,30 @@ export class TkKioskBarSearchComponent {
|
|
|
43
42
|
this.search.markAsTouched();
|
|
44
43
|
this.keyboard = false;
|
|
45
44
|
}
|
|
46
|
-
searchValueEvent() {
|
|
47
|
-
|
|
45
|
+
searchValueEvent(event) {
|
|
46
|
+
if (event && typeof event.stopPropagation === 'function') {
|
|
47
|
+
event.stopPropagation();
|
|
48
|
+
}
|
|
49
|
+
const value = this.search.value ?? '';
|
|
50
|
+
this.searchValue.emit({ value, event: event });
|
|
48
51
|
this.keyboard = false;
|
|
49
52
|
}
|
|
50
53
|
updateCursorPosition(event) {
|
|
51
54
|
const target = event.target;
|
|
52
|
-
this.cursorPosition = target.selectionStart
|
|
55
|
+
this.cursorPosition = target.selectionStart ?? 0;
|
|
53
56
|
this.cursorPositionChange.emit(this.cursorPosition);
|
|
54
57
|
}
|
|
55
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TkKioskBarSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: TkKioskBarSearchComponent, isStandalone: true, selector: "tk-kiosk-bar-search", inputs: { iconSearch: "iconSearch", placeholder: "placeholder", keyboardTop: "keyboardTop", keyboardEnterText: "keyboardEnterText", resetSearch: "resetSearch" }, outputs: { searchValue: "searchValue", cursorPositionChange: "cursorPositionChange" }, ngImport: i0, template: "<div class=\"input__container\">\n <div class=\"input input--search\">\n <span nz-icon [nzType]=\"iconSearch\" class=\"icon\" id=\"iconSearch\"></span>\n\n <input\n type=\"text\"\n class=\"input-field\"\n [placeholder]=\"placeholder\"\n [formControl]=\"search\"\n (click)=\"openKeyboard(); updateCursorPosition($event)\"\n />\n </div>\n</div>\n@if(keyboard){\n<tk-kiosk-keyboard\n class=\"keyboard\"\n [valueFix]=\"search?.value || null\"\n [top]=\"keyboardTop\"\n (value)=\"changeValue($event)\"\n (searchValue)=\"searchValueEvent()\"\n (close)=\"closeKeyboard()\"\n themeKeyboard=\"hg-theme-default myTheme2 tekus-theme\"\n classKeyboard=\"simple-keyboard\"\n [typeKeyboard]=\"keyboardType\"\n openTypeKeyboard=\"text\"\n [enterText]=\"keyboardEnterText\"\n [cursorPosition]=\"cursorPosition\"\n (cursorPositionChange)=\"cursorPosition = $event\"\n></tk-kiosk-keyboard>\n}\n", styles: ["*{box-sizing:border-box}.input{box-shadow:var(--tk-color-shadow-small);border-radius:30px;overflow:hidden;border:none;background-color:var(--tk-color-white-900);width:100%;height:72px;display:flex;align-items:center}.input__container{padding:30px 0;position:relative}.input--search{color:var(--tk-color-neutral-500);text-align:center;font-size:30px;width:auto;position:relative}.input .icon{margin-bottom:0;display:flex;justify-content:center;align-items:center;padding:12px 24px}.input-field{width:100%;height:100%;padding:0 20px;font-size:30px;border:none!important}.input-field:focus{outline:none;box-shadow:none}.keyboard-numeric{position:absolute;left:0;right:0;top:315px}\n"], dependencies: [{ kind: "ngmodule", type: NzInputModule }, { kind: "component", type: TkKioskKeyboardComponent, selector: "tk-kiosk-keyboard", inputs: ["cursorPosition", "top", "openTypeKeyboard", "valueFix", "themeKeyboard", "classKeyboard", "enterText", "setCursorPosition", "typeKeyboard"], outputs: ["value", "close", "searchValue", "cursorPositionChange"] }, { kind: "directive", type: NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: TkKioskBarSearchComponent, isStandalone: true, selector: "tk-kiosk-bar-search", inputs: { iconSearch: "iconSearch", placeholder: "placeholder", keyboardTop: "keyboardTop", keyboardEnterText: "keyboardEnterText", resetSearch: "resetSearch" }, outputs: { searchValue: "searchValue", cursorPositionChange: "cursorPositionChange" }, ngImport: i0, template: "<div class=\"input__container\">\n <div class=\"input input--search\">\n <span nz-icon [nzType]=\"iconSearch\" class=\"icon\" id=\"iconSearch\"></span>\n\n <input\n type=\"text\"\n class=\"input-field\"\n [placeholder]=\"placeholder\"\n [formControl]=\"search\"\n (click)=\"openKeyboard(); updateCursorPosition($event)\"\n />\n </div>\n</div>\n@if(keyboard){\n<tk-kiosk-keyboard\n class=\"keyboard\"\n [valueFix]=\"search?.value || null\"\n [top]=\"keyboardTop\"\n (value)=\"changeValue($event)\"\n (searchValue)=\"searchValueEvent($event)\"\n (close)=\"closeKeyboard()\"\n themeKeyboard=\"hg-theme-default myTheme2 tekus-theme\"\n classKeyboard=\"simple-keyboard\"\n [typeKeyboard]=\"keyboardType\"\n openTypeKeyboard=\"text\"\n [enterText]=\"keyboardEnterText\"\n [cursorPosition]=\"cursorPosition\"\n (cursorPositionChange)=\"cursorPosition = $event\"\n></tk-kiosk-keyboard>\n}\n", styles: ["*{box-sizing:border-box}.input{box-shadow:var(--tk-color-shadow-small);border-radius:30px;overflow:hidden;border:none;background-color:var(--tk-color-white-900);width:100%;height:72px;display:flex;align-items:center}.input__container{padding:30px 0;position:relative}.input--search{color:var(--tk-color-neutral-500);text-align:center;font-size:30px;width:auto;position:relative}.input .icon{margin-bottom:0;display:flex;justify-content:center;align-items:center;padding:12px 24px}.input-field{width:100%;height:100%;padding:0 20px;font-size:30px;border:none!important}.input-field:focus{outline:none;box-shadow:none}.keyboard-numeric{position:absolute;left:0;right:0;top:315px}\n"], dependencies: [{ kind: "ngmodule", type: NzInputModule }, { kind: "component", type: TkKioskKeyboardComponent, selector: "tk-kiosk-keyboard", inputs: ["cursorPosition", "top", "openTypeKeyboard", "valueFix", "themeKeyboard", "classKeyboard", "enterText", "setCursorPosition", "typeKeyboard"], outputs: ["value", "close", "searchValue", "cursorPositionChange"] }, { kind: "directive", type: NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
|
|
57
60
|
}
|
|
58
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TkKioskBarSearchComponent, decorators: [{
|
|
59
62
|
type: Component,
|
|
60
63
|
args: [{ selector: 'tk-kiosk-bar-search', standalone: true, imports: [
|
|
61
64
|
NzInputModule,
|
|
62
65
|
TkKioskKeyboardComponent,
|
|
63
|
-
TkKioskTypographyComponent,
|
|
64
66
|
NzIconDirective,
|
|
65
67
|
ReactiveFormsModule,
|
|
66
|
-
], template: "<div class=\"input__container\">\n <div class=\"input input--search\">\n <span nz-icon [nzType]=\"iconSearch\" class=\"icon\" id=\"iconSearch\"></span>\n\n <input\n type=\"text\"\n class=\"input-field\"\n [placeholder]=\"placeholder\"\n [formControl]=\"search\"\n (click)=\"openKeyboard(); updateCursorPosition($event)\"\n />\n </div>\n</div>\n@if(keyboard){\n<tk-kiosk-keyboard\n class=\"keyboard\"\n [valueFix]=\"search?.value || null\"\n [top]=\"keyboardTop\"\n (value)=\"changeValue($event)\"\n (searchValue)=\"searchValueEvent()\"\n (close)=\"closeKeyboard()\"\n themeKeyboard=\"hg-theme-default myTheme2 tekus-theme\"\n classKeyboard=\"simple-keyboard\"\n [typeKeyboard]=\"keyboardType\"\n openTypeKeyboard=\"text\"\n [enterText]=\"keyboardEnterText\"\n [cursorPosition]=\"cursorPosition\"\n (cursorPositionChange)=\"cursorPosition = $event\"\n></tk-kiosk-keyboard>\n}\n", styles: ["*{box-sizing:border-box}.input{box-shadow:var(--tk-color-shadow-small);border-radius:30px;overflow:hidden;border:none;background-color:var(--tk-color-white-900);width:100%;height:72px;display:flex;align-items:center}.input__container{padding:30px 0;position:relative}.input--search{color:var(--tk-color-neutral-500);text-align:center;font-size:30px;width:auto;position:relative}.input .icon{margin-bottom:0;display:flex;justify-content:center;align-items:center;padding:12px 24px}.input-field{width:100%;height:100%;padding:0 20px;font-size:30px;border:none!important}.input-field:focus{outline:none;box-shadow:none}.keyboard-numeric{position:absolute;left:0;right:0;top:315px}\n"] }]
|
|
68
|
+
], template: "<div class=\"input__container\">\n <div class=\"input input--search\">\n <span nz-icon [nzType]=\"iconSearch\" class=\"icon\" id=\"iconSearch\"></span>\n\n <input\n type=\"text\"\n class=\"input-field\"\n [placeholder]=\"placeholder\"\n [formControl]=\"search\"\n (click)=\"openKeyboard(); updateCursorPosition($event)\"\n />\n </div>\n</div>\n@if(keyboard){\n<tk-kiosk-keyboard\n class=\"keyboard\"\n [valueFix]=\"search?.value || null\"\n [top]=\"keyboardTop\"\n (value)=\"changeValue($event)\"\n (searchValue)=\"searchValueEvent($event)\"\n (close)=\"closeKeyboard()\"\n themeKeyboard=\"hg-theme-default myTheme2 tekus-theme\"\n classKeyboard=\"simple-keyboard\"\n [typeKeyboard]=\"keyboardType\"\n openTypeKeyboard=\"text\"\n [enterText]=\"keyboardEnterText\"\n [cursorPosition]=\"cursorPosition\"\n (cursorPositionChange)=\"cursorPosition = $event\"\n></tk-kiosk-keyboard>\n}\n", styles: ["*{box-sizing:border-box}.input{box-shadow:var(--tk-color-shadow-small);border-radius:30px;overflow:hidden;border:none;background-color:var(--tk-color-white-900);width:100%;height:72px;display:flex;align-items:center}.input__container{padding:30px 0;position:relative}.input--search{color:var(--tk-color-neutral-500);text-align:center;font-size:30px;width:auto;position:relative}.input .icon{margin-bottom:0;display:flex;justify-content:center;align-items:center;padding:12px 24px}.input-field{width:100%;height:100%;padding:0 20px;font-size:30px;border:none!important}.input-field:focus{outline:none;box-shadow:none}.keyboard-numeric{position:absolute;left:0;right:0;top:315px}\n"] }]
|
|
67
69
|
}], propDecorators: { iconSearch: [{
|
|
68
70
|
type: Input
|
|
69
71
|
}], placeholder: [{
|
|
@@ -79,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
79
81
|
}], cursorPositionChange: [{
|
|
80
82
|
type: Output
|
|
81
83
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGsta2lvc2stYmFyLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ay1raW9zay1kcy9zcmMvbGliL2NvbXBvbmVudHMvdGsta2lvc2stYmFyL3RrLWtpb3NrLWJhci1zZWFyY2gvdGsta2lvc2stYmFyLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ay1raW9zay1kcy9zcmMvbGliL2NvbXBvbmVudHMvdGsta2lvc2stYmFyL3RrLWtpb3NrLWJhci1zZWFyY2gvdGsta2lvc2stYmFyLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBZXBELE1BQU0sT0FBTyx5QkFBeUI7SUFadEM7UUFhVyxlQUFVLEdBQUcsd0JBQXdCLENBQUM7UUFDdEMsZ0JBQVcsR0FBRyxXQUFXLENBQUM7UUFDbkMsNEJBQTRCO1FBQ25CLGdCQUFXLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLHNCQUFpQixHQUFHLFdBQVcsQ0FBQztRQUN6QyxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQVNuQixpREFBaUQ7UUFDdkMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUNyRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTVELFdBQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0tBaUM3QjtJQTlDQyxJQUFhLFdBQVcsQ0FBQyxLQUFjO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQVVELFlBQVk7UUFDVixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBUztRQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRztZQUFFLE9BQU87UUFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLENBQUMsZUFBZSxLQUFLLFVBQVUsRUFBRTtZQUN4RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDekI7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQWMsRUFBRSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQVk7UUFDL0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxDQUFDOzhHQXJEVSx5QkFBeUI7a0dBQXpCLHlCQUF5Qix3VUNwQnRDLHE2QkE4QkEsZ3VCRGxCSSxhQUFhLCtCQUNiLHdCQUF3Qix5UkFDeEIsZUFBZSxnS0FDZixtQkFBbUI7OzJGQUtWLHlCQUF5QjtrQkFackMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLG1CQUFtQjtxQkFDcEI7OEJBS1EsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBUUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGtLaW9za0tleWJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGsta2lvc2sta2V5Ym9hcmQnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBrZXlib2FyZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzJztcbmltcG9ydCB7IE56SWNvbkRpcmVjdGl2ZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaWNvbic7XG5pbXBvcnQgeyBOeklucHV0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pbnB1dCc7XG5pbXBvcnQgeyBTZWFyY2hFdmVudFBheWxvYWQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvU2VhcmNoRXZlbnRQYXlsb2FkLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGsta2lvc2stYmFyLXNlYXJjaCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOeklucHV0TW9kdWxlLFxuICAgIFRrS2lvc2tLZXlib2FyZENvbXBvbmVudCxcbiAgICBOekljb25EaXJlY3RpdmUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RrLWtpb3NrLWJhci1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ay1raW9zay1iYXItc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRrS2lvc2tCYXJTZWFyY2hDb21wb25lbnQge1xuICBASW5wdXQoKSBpY29uU2VhcmNoID0gJ3RrLWtpb3NrOnNlYXJjaC1ub3JtYWwnO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdCdXNjYXIuLi4nO1xuICAvKiogUG9zaXRpb24gdG9wIGFic29sdXRlICovXG4gIEBJbnB1dCgpIGtleWJvYXJkVG9wID0gJzQyMHB4JztcbiAgQElucHV0KCkga2V5Ym9hcmRFbnRlclRleHQgPSAnU2lndWllbnRlJztcbiAgY3Vyc29yUG9zaXRpb24gPSAwO1xuXG4gIEBJbnB1dCgpIHNldCByZXNldFNlYXJjaCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoLnBhdGNoVmFsdWUoJycpO1xuICAgICAgdGhpcy5zZWFyY2gubWFya0FzVG91Y2hlZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBFdmVudCBvdXRwdXQgd2hlbiBlbnRlciBidXR0b24gaXMgcHJlc3NlZCAgKi9cbiAgQE91dHB1dCgpIHNlYXJjaFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hFdmVudFBheWxvYWQ+KCk7XG4gIEBPdXRwdXQoKSBjdXJzb3JQb3NpdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHNlYXJjaCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gIGtleWJvYXJkID0gZmFsc2U7XG4gIGtleWJvYXJkVHlwZSA9IGtleWJvYXJkVHlwZTtcblxuICBvcGVuS2V5Ym9hcmQoKSB7XG4gICAgY29uc29sZS5sb2coJ29wZW5LZXlib2FyZCcpO1xuICAgIHRoaXMua2V5Ym9hcmQgPSB0cnVlO1xuICB9XG5cbiAgY2hhbmdlVmFsdWUoZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoPy52YWx1ZT8uc2xpY2UoLTEpID09ICcgJyAmJiBlID09ICcgJykgcmV0dXJuO1xuICAgIHRoaXMuc2VhcmNoLnBhdGNoVmFsdWUoZSk7XG4gICAgdGhpcy5zZWFyY2gubWFya0FzVG91Y2hlZCgpO1xuICB9XG5cbiAgY2xvc2VLZXlib2FyZCgpIHtcbiAgICB0aGlzLnNlYXJjaC5wYXRjaFZhbHVlKCcnKTtcbiAgICB0aGlzLnNlYXJjaC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5rZXlib2FyZCA9IGZhbHNlO1xuICB9XG5cbiAgc2VhcmNoVmFsdWVFdmVudChldmVudD86IEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50ICYmIHR5cGVvZiBldmVudC5zdG9wUHJvcGFnYXRpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2VhcmNoLnZhbHVlID8/ICcnO1xuICAgIHRoaXMuc2VhcmNoVmFsdWUuZW1pdCh7IHZhbHVlLCBldmVudDogZXZlbnQgYXMgRXZlbnQgfSk7XG4gICAgdGhpcy5rZXlib2FyZCA9IGZhbHNlO1xuICB9XG5cbiAgdXBkYXRlQ3Vyc29yUG9zaXRpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5jdXJzb3JQb3NpdGlvbiA9IHRhcmdldC5zZWxlY3Rpb25TdGFydCA/PyAwO1xuICAgIHRoaXMuY3Vyc29yUG9zaXRpb25DaGFuZ2UuZW1pdCh0aGlzLmN1cnNvclBvc2l0aW9uKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImlucHV0X19jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cImlucHV0IGlucHV0LS1zZWFyY2hcIj5cbiAgICA8c3BhbiBuei1pY29uIFtuelR5cGVdPVwiaWNvblNlYXJjaFwiIGNsYXNzPVwiaWNvblwiIGlkPVwiaWNvblNlYXJjaFwiPjwvc3Bhbj5cblxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgY2xhc3M9XCJpbnB1dC1maWVsZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaFwiXG4gICAgICAoY2xpY2spPVwib3BlbktleWJvYXJkKCk7IHVwZGF0ZUN1cnNvclBvc2l0aW9uKCRldmVudClcIlxuICAgIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG5AaWYoa2V5Ym9hcmQpe1xuPHRrLWtpb3NrLWtleWJvYXJkXG4gIGNsYXNzPVwia2V5Ym9hcmRcIlxuICBbdmFsdWVGaXhdPVwic2VhcmNoPy52YWx1ZSB8fCBudWxsXCJcbiAgW3RvcF09XCJrZXlib2FyZFRvcFwiXG4gICh2YWx1ZSk9XCJjaGFuZ2VWYWx1ZSgkZXZlbnQpXCJcbiAgKHNlYXJjaFZhbHVlKT1cInNlYXJjaFZhbHVlRXZlbnQoJGV2ZW50KVwiXG4gIChjbG9zZSk9XCJjbG9zZUtleWJvYXJkKClcIlxuICB0aGVtZUtleWJvYXJkPVwiaGctdGhlbWUtZGVmYXVsdCBteVRoZW1lMiB0ZWt1cy10aGVtZVwiXG4gIGNsYXNzS2V5Ym9hcmQ9XCJzaW1wbGUta2V5Ym9hcmRcIlxuICBbdHlwZUtleWJvYXJkXT1cImtleWJvYXJkVHlwZVwiXG4gIG9wZW5UeXBlS2V5Ym9hcmQ9XCJ0ZXh0XCJcbiAgW2VudGVyVGV4dF09XCJrZXlib2FyZEVudGVyVGV4dFwiXG4gIFtjdXJzb3JQb3NpdGlvbl09XCJjdXJzb3JQb3NpdGlvblwiXG4gIChjdXJzb3JQb3NpdGlvbkNoYW5nZSk9XCJjdXJzb3JQb3NpdGlvbiA9ICRldmVudFwiXG4+PC90ay1raW9zay1rZXlib2FyZD5cbn1cbiJdfQ==
|