UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

187 lines 19.8 kB
/** * @fileoverview added by tsickle * Generated from: list.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { __decorate, __metadata } from "tslib"; /** * @license * Copyright Alibaba.com All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ import { ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, ViewEncapsulation } from '@angular/core'; import { InputBoolean } from 'ng-zorro-antd/core/util'; import { BehaviorSubject } from 'rxjs'; import { NzListFooterComponent, NzListLoadMoreDirective, NzListPaginationComponent } from './list-cell'; var NzListComponent = /** @class */ (function () { function NzListComponent() { this.nzBordered = false; this.nzItemLayout = 'horizontal'; this.nzRenderItem = null; this.nzLoading = false; this.nzLoadMore = null; this.nzSize = 'default'; this.nzSplit = true; this.hasSomethingAfterLastItem = false; this.itemLayoutNotifySource = new BehaviorSubject(this.nzItemLayout); } Object.defineProperty(NzListComponent.prototype, "itemLayoutNotify$", { get: /** * @return {?} */ function () { return this.itemLayoutNotifySource.asObservable(); }, enumerable: true, configurable: true }); /** * @return {?} */ NzListComponent.prototype.getSomethingAfterLastItem = /** * @return {?} */ function () { return !!(this.nzLoadMore || this.nzPagination || this.nzFooter || this.nzListFooterComponent || this.nzListPaginationComponent || this.nzListLoadMoreDirective); }; /** * @param {?} changes * @return {?} */ NzListComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { if (changes.nzItemLayout) { this.itemLayoutNotifySource.next(this.nzItemLayout); } }; /** * @return {?} */ NzListComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { this.itemLayoutNotifySource.unsubscribe(); }; /** * @return {?} */ NzListComponent.prototype.ngAfterContentInit = /** * @return {?} */ function () { this.hasSomethingAfterLastItem = this.getSomethingAfterLastItem(); }; NzListComponent.decorators = [ { type: Component, args: [{ selector: 'nz-list, [nz-list]', exportAs: 'nzList', template: "\n <ng-template #itemsTpl>\n <div class=\"ant-list-items\">\n <ng-container *ngFor=\"let item of nzDataSource; let index = index\">\n <ng-template [ngTemplateOutlet]=\"nzRenderItem\" [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"></ng-template>\n </ng-container>\n <ng-content select=\"nz-list-item, [nz-list-item]\"></ng-content>\n </div>\n </ng-template>\n\n <nz-list-header *ngIf=\"nzHeader\">\n <ng-container *nzStringTemplateOutlet=\"nzHeader\">{{ nzHeader }}</ng-container>\n </nz-list-header>\n <ng-content select=\"nz-list-header\"></ng-content>\n\n <nz-spin [nzSpinning]=\"nzLoading\">\n <ng-container>\n <div *ngIf=\"nzLoading && nzDataSource && nzDataSource.length === 0\" [style.min-height.px]=\"53\"></div>\n <div *ngIf=\"nzGrid && nzDataSource; else itemsTpl\" nz-row [nzGutter]=\"nzGrid.gutter || null\">\n <div\n nz-col\n [nzSpan]=\"nzGrid.span || null\"\n [nzXs]=\"nzGrid.xs || null\"\n [nzSm]=\"nzGrid.sm || null\"\n [nzMd]=\"nzGrid.md || null\"\n [nzLg]=\"nzGrid.lg || null\"\n [nzXl]=\"nzGrid.xl || null\"\n [nzXXl]=\"nzGrid.xxl || null\"\n *ngFor=\"let item of nzDataSource; let index = index\"\n >\n <ng-template [ngTemplateOutlet]=\"nzRenderItem\" [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"></ng-template>\n </div>\n </div>\n <nz-list-empty *ngIf=\"!nzLoading && nzDataSource && nzDataSource.length === 0\" [nzNoResult]=\"nzNoResult\"></nz-list-empty>\n </ng-container>\n <ng-content></ng-content>\n </nz-spin>\n\n <nz-list-footer *ngIf=\"nzFooter\">\n <ng-container *nzStringTemplateOutlet=\"nzFooter\">{{ nzFooter }}</ng-container>\n </nz-list-footer>\n <ng-content select=\"nz-list-footer, [nz-list-footer]\"></ng-content>\n\n <ng-template [ngTemplateOutlet]=\"nzLoadMore\"></ng-template>\n <ng-content select=\"nz-list-load-more, [nz-list-load-more]\"></ng-content>\n\n <nz-list-pagination *ngIf=\"nzPagination\">\n <ng-template [ngTemplateOutlet]=\"nzPagination\"></ng-template>\n </nz-list-pagination>\n <ng-content select=\"nz-list-pagination, [nz-list-pagination]\"></ng-content>\n ", preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { '[class.ant-list]': 'true', '[class.ant-list-vertical]': 'nzItemLayout === "vertical"', '[class.ant-list-lg]': 'nzSize === "large"', '[class.ant-list-sm]': 'nzSize === "small"', '[class.ant-list-split]': 'nzSplit', '[class.ant-list-bordered]': 'nzBordered', '[class.ant-list-loading]': 'nzLoading', '[class.ant-list-something-after-last-item]': 'hasSomethingAfterLastItem' } }] } ]; /** @nocollapse */ NzListComponent.ctorParameters = function () { return []; }; NzListComponent.propDecorators = { nzDataSource: [{ type: Input }], nzBordered: [{ type: Input }], nzGrid: [{ type: Input }], nzHeader: [{ type: Input }], nzFooter: [{ type: Input }], nzItemLayout: [{ type: Input }], nzRenderItem: [{ type: Input }], nzLoading: [{ type: Input }], nzLoadMore: [{ type: Input }], nzPagination: [{ type: Input }], nzSize: [{ type: Input }], nzSplit: [{ type: Input }], nzNoResult: [{ type: Input }], nzListFooterComponent: [{ type: ContentChild, args: [NzListFooterComponent,] }], nzListPaginationComponent: [{ type: ContentChild, args: [NzListPaginationComponent,] }], nzListLoadMoreDirective: [{ type: ContentChild, args: [NzListLoadMoreDirective,] }] }; __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzListComponent.prototype, "nzBordered", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzListComponent.prototype, "nzLoading", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzListComponent.prototype, "nzSplit", void 0); return NzListComponent; }()); export { NzListComponent }; if (false) { /** @type {?} */ NzListComponent.ngAcceptInputType_nzBordered; /** @type {?} */ NzListComponent.ngAcceptInputType_nzLoading; /** @type {?} */ NzListComponent.ngAcceptInputType_nzSplit; /** @type {?} */ NzListComponent.prototype.nzDataSource; /** @type {?} */ NzListComponent.prototype.nzBordered; /** @type {?} */ NzListComponent.prototype.nzGrid; /** @type {?} */ NzListComponent.prototype.nzHeader; /** @type {?} */ NzListComponent.prototype.nzFooter; /** @type {?} */ NzListComponent.prototype.nzItemLayout; /** @type {?} */ NzListComponent.prototype.nzRenderItem; /** @type {?} */ NzListComponent.prototype.nzLoading; /** @type {?} */ NzListComponent.prototype.nzLoadMore; /** @type {?} */ NzListComponent.prototype.nzPagination; /** @type {?} */ NzListComponent.prototype.nzSize; /** @type {?} */ NzListComponent.prototype.nzSplit; /** @type {?} */ NzListComponent.prototype.nzNoResult; /** @type {?} */ NzListComponent.prototype.nzListFooterComponent; /** @type {?} */ NzListComponent.prototype.nzListPaginationComponent; /** @type {?} */ NzListComponent.prototype.nzListLoadMoreDirective; /** @type {?} */ NzListComponent.prototype.hasSomethingAfterLastItem; /** * @type {?} * @private */ NzListComponent.prototype.itemLayoutNotifySource; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkL2xpc3QvIiwic291cmNlcyI6WyJsaXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFJTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RztJQW1HRTtRQXpCeUIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUluQyxpQkFBWSxHQUFzQixZQUFZLENBQUM7UUFDL0MsaUJBQVksR0FBNkIsSUFBSSxDQUFDO1FBQzlCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEMsZUFBVSxHQUE2QixJQUFJLENBQUM7UUFFNUMsV0FBTSxHQUFrQixTQUFTLENBQUM7UUFDbEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQU94Qyw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsMkJBQXNCLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQU01RSxDQUFDO0lBSmhCLHNCQUFJLDhDQUFpQjs7OztRQUFyQjtZQUNFLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BELENBQUM7OztPQUFBOzs7O0lBSUQsbURBQXlCOzs7SUFBekI7UUFDRSxPQUFPLENBQUMsQ0FBQyxDQUNQLElBQUksQ0FBQyxVQUFVO1lBQ2YsSUFBSSxDQUFDLFlBQVk7WUFDakIsSUFBSSxDQUFDLFFBQVE7WUFDYixJQUFJLENBQUMscUJBQXFCO1lBQzFCLElBQUksQ0FBQyx5QkFBeUI7WUFDOUIsSUFBSSxDQUFDLHVCQUF1QixDQUM3QixDQUFDO0lBQ0osQ0FBQzs7Ozs7SUFDRCxxQ0FBVzs7OztJQUFYLFVBQVksT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQzs7OztJQUVELHFDQUFXOzs7SUFBWDtRQUNFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzs7O0lBRUQsNENBQWtCOzs7SUFBbEI7UUFDRSxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDcEUsQ0FBQzs7Z0JBM0hGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsUUFBUSxFQUFFLDh4RUFrRFQ7b0JBQ0QsbUJBQW1CLEVBQUUsS0FBSztvQkFDMUIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0osa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsMkJBQTJCLEVBQUUsNkJBQTZCO3dCQUMxRCxxQkFBcUIsRUFBRSxvQkFBb0I7d0JBQzNDLHFCQUFxQixFQUFFLG9CQUFvQjt3QkFDM0Msd0JBQXdCLEVBQUUsU0FBUzt3QkFDbkMsMkJBQTJCLEVBQUUsWUFBWTt3QkFDekMsMEJBQTBCLEVBQUUsV0FBVzt3QkFDdkMsNENBQTRDLEVBQUUsMkJBQTJCO3FCQUMxRTtpQkFDRjs7Ozs7K0JBTUUsS0FBSzs2QkFDTCxLQUFLO3lCQUNMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxLQUFLOytCQUNMLEtBQUs7K0JBQ0wsS0FBSzs0QkFDTCxLQUFLOzZCQUNMLEtBQUs7K0JBQ0wsS0FBSzt5QkFDTCxLQUFLOzBCQUNMLEtBQUs7NkJBQ0wsS0FBSzt3Q0FFTCxZQUFZLFNBQUMscUJBQXFCOzRDQUNsQyxZQUFZLFNBQUMseUJBQXlCOzBDQUN0QyxZQUFZLFNBQUMsdUJBQXVCOztJQWZaO1FBQWYsWUFBWSxFQUFFOzt1REFBb0I7SUFNbkI7UUFBZixZQUFZLEVBQUU7O3NEQUFtQjtJQUlsQjtRQUFmLFlBQVksRUFBRTs7b0RBQWdCO0lBd0MxQyxzQkFBQztDQUFBLEFBNUhELElBNEhDO1NBeERZLGVBQWU7OztJQUMxQiw2Q0FBa0Q7O0lBQ2xELDRDQUFpRDs7SUFDakQsMENBQStDOztJQUUvQyx1Q0FBb0M7O0lBQ3BDLHFDQUE0Qzs7SUFDNUMsaUNBQTZCOztJQUM3QixtQ0FBK0M7O0lBQy9DLG1DQUErQzs7SUFDL0MsdUNBQXdEOztJQUN4RCx1Q0FBdUQ7O0lBQ3ZELG9DQUEyQzs7SUFDM0MscUNBQXFEOztJQUNyRCx1Q0FBMEM7O0lBQzFDLGlDQUEyQzs7SUFDM0Msa0NBQXdDOztJQUN4QyxxQ0FBaUQ7O0lBRWpELGdEQUFtRjs7SUFDbkYsb0RBQStGOztJQUMvRixrREFBeUY7O0lBRXpGLG9EQUFrQzs7Ozs7SUFFbEMsaURBQTJGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFsaWJhYmEuY29tIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIE56RGlyZWN0aW9uVkhUeXBlLCBOelNhZmVBbnksIE56U2l6ZUxEU1R5cGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3V0aWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOekxpc3RHcmlkIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTnpMaXN0Rm9vdGVyQ29tcG9uZW50LCBOekxpc3RMb2FkTW9yZURpcmVjdGl2ZSwgTnpMaXN0UGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1jZWxsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnotbGlzdCwgW256LWxpc3RdJyxcbiAgZXhwb3J0QXM6ICduekxpc3QnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjaXRlbXNUcGw+XG4gICAgICA8ZGl2IGNsYXNzPVwiYW50LWxpc3QtaXRlbXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBuekRhdGFTb3VyY2U7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm56UmVuZGVySXRlbVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGluZGV4IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibnotbGlzdC1pdGVtLCBbbnotbGlzdC1pdGVtXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bnotbGlzdC1oZWFkZXIgKm5nSWY9XCJuekhlYWRlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbnpTdHJpbmdUZW1wbGF0ZU91dGxldD1cIm56SGVhZGVyXCI+e3sgbnpIZWFkZXIgfX08L25nLWNvbnRhaW5lcj5cbiAgICA8L256LWxpc3QtaGVhZGVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm56LWxpc3QtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPG56LXNwaW4gW256U3Bpbm5pbmddPVwibnpMb2FkaW5nXCI+XG4gICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibnpMb2FkaW5nICYmIG56RGF0YVNvdXJjZSAmJiBuekRhdGFTb3VyY2UubGVuZ3RoID09PSAwXCIgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiNTNcIj48L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm56R3JpZCAmJiBuekRhdGFTb3VyY2U7IGVsc2UgaXRlbXNUcGxcIiBuei1yb3cgW256R3V0dGVyXT1cIm56R3JpZC5ndXR0ZXIgfHwgbnVsbFwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIG56LWNvbFxuICAgICAgICAgICAgW256U3Bhbl09XCJuekdyaWQuc3BhbiB8fCBudWxsXCJcbiAgICAgICAgICAgIFtuelhzXT1cIm56R3JpZC54cyB8fCBudWxsXCJcbiAgICAgICAgICAgIFtuelNtXT1cIm56R3JpZC5zbSB8fCBudWxsXCJcbiAgICAgICAgICAgIFtuek1kXT1cIm56R3JpZC5tZCB8fCBudWxsXCJcbiAgICAgICAgICAgIFtuekxnXT1cIm56R3JpZC5sZyB8fCBudWxsXCJcbiAgICAgICAgICAgIFtuelhsXT1cIm56R3JpZC54bCB8fCBudWxsXCJcbiAgICAgICAgICAgIFtuelhYbF09XCJuekdyaWQueHhsIHx8IG51bGxcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbnpEYXRhU291cmNlOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm56UmVuZGVySXRlbVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGluZGV4IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG56LWxpc3QtZW1wdHkgKm5nSWY9XCIhbnpMb2FkaW5nICYmIG56RGF0YVNvdXJjZSAmJiBuekRhdGFTb3VyY2UubGVuZ3RoID09PSAwXCIgW256Tm9SZXN1bHRdPVwibnpOb1Jlc3VsdFwiPjwvbnotbGlzdC1lbXB0eT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbnotc3Bpbj5cblxuICAgIDxuei1saXN0LWZvb3RlciAqbmdJZj1cIm56Rm9vdGVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuelN0cmluZ1RlbXBsYXRlT3V0bGV0PVwibnpGb290ZXJcIj57eyBuekZvb3RlciB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvbnotbGlzdC1mb290ZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibnotbGlzdC1mb290ZXIsIFtuei1saXN0LWZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibnpMb2FkTW9yZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibnotbGlzdC1sb2FkLW1vcmUsIFtuei1saXN0LWxvYWQtbW9yZV1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bnotbGlzdC1wYWdpbmF0aW9uICpuZ0lmPVwibnpQYWdpbmF0aW9uXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibnpQYWdpbmF0aW9uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L256LWxpc3QtcGFnaW5hdGlvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuei1saXN0LXBhZ2luYXRpb24sIFtuei1saXN0LXBhZ2luYXRpb25dXCI+PC9uZy1jb250ZW50PlxuICBgLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmFudC1saXN0XSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmFudC1saXN0LXZlcnRpY2FsXSc6ICduekl0ZW1MYXlvdXQgPT09IFwidmVydGljYWxcIicsXG4gICAgJ1tjbGFzcy5hbnQtbGlzdC1sZ10nOiAnbnpTaXplID09PSBcImxhcmdlXCInLFxuICAgICdbY2xhc3MuYW50LWxpc3Qtc21dJzogJ256U2l6ZSA9PT0gXCJzbWFsbFwiJyxcbiAgICAnW2NsYXNzLmFudC1saXN0LXNwbGl0XSc6ICduelNwbGl0JyxcbiAgICAnW2NsYXNzLmFudC1saXN0LWJvcmRlcmVkXSc6ICduekJvcmRlcmVkJyxcbiAgICAnW2NsYXNzLmFudC1saXN0LWxvYWRpbmddJzogJ256TG9hZGluZycsXG4gICAgJ1tjbGFzcy5hbnQtbGlzdC1zb21ldGhpbmctYWZ0ZXItbGFzdC1pdGVtXSc6ICdoYXNTb21ldGhpbmdBZnRlckxhc3RJdGVtJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE56TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX256Qm9yZGVyZWQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX256TG9hZGluZzogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfbnpTcGxpdDogQm9vbGVhbklucHV0O1xuXG4gIEBJbnB1dCgpIG56RGF0YVNvdXJjZT86IE56U2FmZUFueVtdO1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgbnpCb3JkZXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBuekdyaWQ/OiBOekxpc3RHcmlkO1xuICBASW5wdXQoKSBuekhlYWRlcj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBASW5wdXQoKSBuekZvb3Rlcj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBASW5wdXQoKSBuekl0ZW1MYXlvdXQ6IE56RGlyZWN0aW9uVkhUeXBlID0gJ2hvcml6b250YWwnO1xuICBASW5wdXQoKSBuelJlbmRlckl0ZW06IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSBuekxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgbnpMb2FkTW9yZTogVGVtcGxhdGVSZWY8dm9pZD4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbnpQYWdpbmF0aW9uPzogVGVtcGxhdGVSZWY8dm9pZD47XG4gIEBJbnB1dCgpIG56U2l6ZTogTnpTaXplTERTVHlwZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIG56U3BsaXQgPSB0cnVlO1xuICBASW5wdXQoKSBuek5vUmVzdWx0Pzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgQENvbnRlbnRDaGlsZChOekxpc3RGb290ZXJDb21wb25lbnQpIG56TGlzdEZvb3RlckNvbXBvbmVudCE6IE56TGlzdEZvb3RlckNvbXBvbmVudDtcbiAgQENvbnRlbnRDaGlsZChOekxpc3RQYWdpbmF0aW9uQ29tcG9uZW50KSBuekxpc3RQYWdpbmF0aW9uQ29tcG9uZW50ITogTnpMaXN0UGFnaW5hdGlvbkNvbXBvbmVudDtcbiAgQENvbnRlbnRDaGlsZChOekxpc3RMb2FkTW9yZURpcmVjdGl2ZSkgbnpMaXN0TG9hZE1vcmVEaXJlY3RpdmUhOiBOekxpc3RMb2FkTW9yZURpcmVjdGl2ZTtcblxuICBoYXNTb21ldGhpbmdBZnRlckxhc3RJdGVtID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBpdGVtTGF5b3V0Tm90aWZ5U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOekRpcmVjdGlvblZIVHlwZT4odGhpcy5uekl0ZW1MYXlvdXQpO1xuXG4gIGdldCBpdGVtTGF5b3V0Tm90aWZ5JCgpOiBPYnNlcnZhYmxlPE56RGlyZWN0aW9uVkhUeXBlPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbUxheW91dE5vdGlmeVNvdXJjZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBnZXRTb21ldGhpbmdBZnRlckxhc3RJdGVtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShcbiAgICAgIHRoaXMubnpMb2FkTW9yZSB8fFxuICAgICAgdGhpcy5uelBhZ2luYXRpb24gfHxcbiAgICAgIHRoaXMubnpGb290ZXIgfHxcbiAgICAgIHRoaXMubnpMaXN0Rm9vdGVyQ29tcG9uZW50IHx8XG4gICAgICB0aGlzLm56TGlzdFBhZ2luYXRpb25Db21wb25lbnQgfHxcbiAgICAgIHRoaXMubnpMaXN0TG9hZE1vcmVEaXJlY3RpdmVcbiAgICApO1xuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5uekl0ZW1MYXlvdXQpIHtcbiAgICAgIHRoaXMuaXRlbUxheW91dE5vdGlmeVNvdXJjZS5uZXh0KHRoaXMubnpJdGVtTGF5b3V0KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1MYXlvdXROb3RpZnlTb3VyY2UudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1NvbWV0aGluZ0FmdGVyTGFzdEl0ZW0gPSB0aGlzLmdldFNvbWV0aGluZ0FmdGVyTGFzdEl0ZW0oKTtcbiAgfVxufVxuIl19