UNPKG

@kushki/ng-suka

Version:

<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>

411 lines 25.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, Input, ElementRef } from '@angular/core'; var MarginDirective = /** @class */ (function () { function MarginDirective(elementRef) { this.m = {}; this.elementRef = elementRef; } /** * @return {?} */ MarginDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var marginKeys = Object.keys(this.m); marginKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("m-" + _this.m[key]); } else { _this.elementRef.nativeElement.classList.add("m-" + key + "-" + _this.m[key]); } })); } catch (err) { console.error("Malformed margins`: " + err); } }; MarginDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[m]' },] } ]; /** @nocollapse */ MarginDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; MarginDirective.propDecorators = { m: [{ type: Input }] }; return MarginDirective; }()); export { MarginDirective }; if (false) { /** @type {?} */ MarginDirective.prototype.m; /** * @type {?} * @private */ MarginDirective.prototype.elementRef; } var MarginTopDirective = /** @class */ (function () { function MarginTopDirective(elementRef) { this.mt = {}; this.elementRef = elementRef; } /** * @return {?} */ MarginTopDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var marginKeys = Object.keys(this.mt); marginKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("mt-" + _this.mt[key]); } else { _this.elementRef.nativeElement.classList.add("mt-" + key + "-" + _this.mt[key]); } })); } catch (err) { console.error("Malformed margins`: " + err); } }; MarginTopDirective.decorators = [ { type: Directive, args: [{ selector: '[mt]' },] } ]; /** @nocollapse */ MarginTopDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; MarginTopDirective.propDecorators = { mt: [{ type: Input }] }; return MarginTopDirective; }()); export { MarginTopDirective }; if (false) { /** @type {?} */ MarginTopDirective.prototype.mt; /** * @type {?} * @private */ MarginTopDirective.prototype.elementRef; } var MarginBottomDirective = /** @class */ (function () { function MarginBottomDirective(elementRef) { this.mb = {}; this.elementRef = elementRef; } /** * @return {?} */ MarginBottomDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var marginKeys = Object.keys(this.mb); marginKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("mb-" + _this.mb[key]); } else { _this.elementRef.nativeElement.classList.add("mb-" + key + "-" + _this.mb[key]); } })); } catch (err) { console.error("Malformed margins`: " + err); } }; MarginBottomDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[mb]' },] } ]; /** @nocollapse */ MarginBottomDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; MarginBottomDirective.propDecorators = { mb: [{ type: Input }] }; return MarginBottomDirective; }()); export { MarginBottomDirective }; if (false) { /** @type {?} */ MarginBottomDirective.prototype.mb; /** * @type {?} * @private */ MarginBottomDirective.prototype.elementRef; } var MarginLeftDirective = /** @class */ (function () { function MarginLeftDirective(elementRef) { this.ml = {}; this.elementRef = elementRef; } /** * @return {?} */ MarginLeftDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var marginKeys = Object.keys(this.ml); marginKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("ml-" + _this.ml[key]); } else { _this.elementRef.nativeElement.classList.add("ml-" + key + "-" + _this.ml[key]); } })); } catch (err) { console.error("Malformed margins`: " + err); } }; MarginLeftDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[ml]' },] } ]; /** @nocollapse */ MarginLeftDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; MarginLeftDirective.propDecorators = { ml: [{ type: Input }] }; return MarginLeftDirective; }()); export { MarginLeftDirective }; if (false) { /** @type {?} */ MarginLeftDirective.prototype.ml; /** * @type {?} * @private */ MarginLeftDirective.prototype.elementRef; } var MarginRightDirective = /** @class */ (function () { function MarginRightDirective(elementRef) { this.mr = {}; this.elementRef = elementRef; } /** * @return {?} */ MarginRightDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var marginKeys = Object.keys(this.mr); marginKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("mr-" + _this.mr[key]); } else { _this.elementRef.nativeElement.classList.add("mr-" + key + "-" + _this.mr[key]); } })); } catch (err) { console.error("Malformed margins`: " + err); } }; MarginRightDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[mr]' },] } ]; /** @nocollapse */ MarginRightDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; MarginRightDirective.propDecorators = { mr: [{ type: Input }] }; return MarginRightDirective; }()); export { MarginRightDirective }; if (false) { /** @type {?} */ MarginRightDirective.prototype.mr; /** * @type {?} * @private */ MarginRightDirective.prototype.elementRef; } var MarginHorizontalDirective = /** @class */ (function () { function MarginHorizontalDirective(elementRef) { this.mx = {}; this.elementRef = elementRef; } /** * @return {?} */ MarginHorizontalDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var marginKeys = Object.keys(this.mx); marginKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("mx-" + _this.mx[key]); } else { _this.elementRef.nativeElement.classList.add("mx-" + key + "-" + _this.mx[key]); } })); } catch (err) { console.error("Malformed margins`: " + err); } }; MarginHorizontalDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[mx]' },] } ]; /** @nocollapse */ MarginHorizontalDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; MarginHorizontalDirective.propDecorators = { mx: [{ type: Input }] }; return MarginHorizontalDirective; }()); export { MarginHorizontalDirective }; if (false) { /** @type {?} */ MarginHorizontalDirective.prototype.mx; /** * @type {?} * @private */ MarginHorizontalDirective.prototype.elementRef; } var MarginVerticalDirective = /** @class */ (function () { function MarginVerticalDirective(elementRef) { this.my = {}; this.elementRef = elementRef; } /** * @return {?} */ MarginVerticalDirective.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; try { /** @type {?} */ var marginKeys = Object.keys(this.my); marginKeys.forEach((/** * @param {?} key * @return {?} */ function (key) { if (key === 'all') { _this.elementRef.nativeElement.classList.add("my-" + _this.my[key]); } else { _this.elementRef.nativeElement.classList.add("my-" + key + "-" + _this.my[key]); } })); } catch (err) { console.error("Malformed margins`: " + err); } }; MarginVerticalDirective.decorators = [ { type: Directive, args: [{ // tslint:disable-next-line: directive-selector selector: '[my]' },] } ]; /** @nocollapse */ MarginVerticalDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; MarginVerticalDirective.propDecorators = { my: [{ type: Input }] }; return MarginVerticalDirective; }()); export { MarginVerticalDirective }; if (false) { /** @type {?} */ MarginVerticalDirective.prototype.my; /** * @type {?} * @private */ MarginVerticalDirective.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyZ2luLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrdXNoa2kvbmctc3VrYS8iLCJzb3VyY2VzIjpbImxpYi9zcGFjaW5nL21hcmdpbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRTtJQVNFLHlCQUFZLFVBQXNCO1FBSnpCLE1BQUMsR0FBRyxFQUFFLENBQUM7UUFLZCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDOzs7O0lBRUQsa0NBQVE7OztJQUFSO1FBQUEsaUJBY0M7UUFiQyxJQUFJOztnQkFDSSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRXRDLFVBQVUsQ0FBQyxPQUFPOzs7O1lBQUMsVUFBQSxHQUFHO2dCQUNwQixJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUU7b0JBQ2pCLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBSyxLQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBRyxDQUFDLENBQUM7aUJBQ2pFO3FCQUFNO29CQUNMLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBSyxHQUFHLFNBQUksS0FBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUcsQ0FBQyxDQUFDO2lCQUN4RTtZQUNILENBQUMsRUFBQyxDQUFDO1NBQ0o7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXdCLEdBQUssQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7Z0JBM0JGLFNBQVMsU0FBQzs7b0JBRVQsUUFBUSxFQUFFLEtBQUs7aUJBQ2hCOzs7O2dCQUxrQyxVQUFVOzs7b0JBTzFDLEtBQUs7O0lBdUJS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QUVULFFBQVEsRUFBRSxNQUFNO2lCQUNqQjs7OztnQkF4TGtDLFVBQVU7OztxQkEwTDFDLEtBQUs7O0lBdUJSLDhCQUFDO0NBQUEsQUE1QkQsSUE0QkM7U0F4QlksdUJBQXVCOzs7SUFDbEMscUNBQWlCOzs7OztJQUVqQiw2Q0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkluaXQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW21dJ1xufSlcbmV4cG9ydCBjbGFzcyBNYXJnaW5EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtID0ge307XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1hcmdpbktleXMgPSBPYmplY3Qua2V5cyh0aGlzLm0pO1xuXG4gICAgICBtYXJnaW5LZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2FsbCcpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBtLSR7dGhpcy5tW2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbS0ke2tleX0tJHt0aGlzLm1ba2V5XX1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNYWxmb3JtZWQgbWFyZ2luc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttdF0nXG59KVxuZXhwb3J0IGNsYXNzIE1hcmdpblRvcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG10ID0ge307XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1hcmdpbktleXMgPSBPYmplY3Qua2V5cyh0aGlzLm10KTtcblxuICAgICAgbWFyZ2luS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbXQtJHt0aGlzLm10W2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbXQtJHtrZXl9LSR7dGhpcy5tdFtrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBtYXJnaW5zXFxgOiAke2Vycn1gKTtcbiAgICB9XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW21iXSdcbn0pXG5leHBvcnQgY2xhc3MgTWFyZ2luQm90dG9tRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbWIgPSB7fTtcblxuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbWFyZ2luS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMubWIpO1xuXG4gICAgICBtYXJnaW5LZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2FsbCcpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBtYi0ke3RoaXMubWJba2V5XX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBtYi0ke2tleX0tJHt0aGlzLm1iW2tleV19YCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihgTWFsZm9ybWVkIG1hcmdpbnNcXGA6ICR7ZXJyfWApO1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbbWxdJ1xufSlcbmV4cG9ydCBjbGFzcyBNYXJnaW5MZWZ0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbWwgPSB7fTtcblxuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbWFyZ2luS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMubWwpO1xuXG4gICAgICBtYXJnaW5LZXlzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2FsbCcpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBtbC0ke3RoaXMubWxba2V5XX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBtbC0ke2tleX0tJHt0aGlzLm1sW2tleV19YCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihgTWFsZm9ybWVkIG1hcmdpbnNcXGA6ICR7ZXJyfWApO1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbbXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBNYXJnaW5SaWdodERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG1yID0ge307XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1hcmdpbktleXMgPSBPYmplY3Qua2V5cyh0aGlzLm1yKTtcblxuICAgICAgbWFyZ2luS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbXItJHt0aGlzLm1yW2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbXItJHtrZXl9LSR7dGhpcy5tcltrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBtYXJnaW5zXFxgOiAke2Vycn1gKTtcbiAgICB9XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW214XSdcbn0pXG5leHBvcnQgY2xhc3MgTWFyZ2luSG9yaXpvbnRhbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG14ID0ge307XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1hcmdpbktleXMgPSBPYmplY3Qua2V5cyh0aGlzLm14KTtcblxuICAgICAgbWFyZ2luS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbXgtJHt0aGlzLm14W2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgbXgtJHtrZXl9LSR7dGhpcy5teFtrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBtYXJnaW5zXFxgOiAke2Vycn1gKTtcbiAgICB9XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW215XSdcbn0pXG5leHBvcnQgY2xhc3MgTWFyZ2luVmVydGljYWxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBteSA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtYXJnaW5LZXlzID0gT2JqZWN0LmtleXModGhpcy5teSk7XG5cbiAgICAgIG1hcmdpbktleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG15LSR7dGhpcy5teVtrZXldfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG15LSR7a2V5fS0ke3RoaXMubXlba2V5XX1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNYWxmb3JtZWQgbWFyZ2luc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=