@decaf-ts/for-angular 0.0.19 → 0.0.21

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.
Files changed (38) hide show
  1. package/README.md +2 -2
  2. package/components/crud-form/crud-form.component.d.ts +1 -1
  3. package/components/fieldset/fieldset.component.d.ts +1 -1
  4. package/components/filter/filter.component.d.ts +1 -1
  5. package/components/for-angular-components.module.d.ts +1 -2
  6. package/components/list/constants.d.ts +5 -9
  7. package/components/list-item/list-item.component.d.ts +1 -1
  8. package/engine/NgxBaseComponent.d.ts +1 -1
  9. package/esm2022/components/component-renderer/component-renderer.component.mjs +7 -7
  10. package/esm2022/components/crud-field/crud-field.component.mjs +13 -12
  11. package/esm2022/components/crud-form/crud-form.component.mjs +9 -9
  12. package/esm2022/components/empty-state/empty-state.component.mjs +8 -12
  13. package/esm2022/components/fieldset/fieldset.component.mjs +27 -19
  14. package/esm2022/components/filter/filter.component.mjs +14 -13
  15. package/esm2022/components/for-angular-components.module.mjs +17 -9
  16. package/esm2022/components/layout/layout.component.mjs +6 -7
  17. package/esm2022/components/list/constants.mjs +1 -1
  18. package/esm2022/components/list/list.component.mjs +8 -11
  19. package/esm2022/components/list-item/list-item.component.mjs +9 -12
  20. package/esm2022/components/model-renderer/model-renderer.component.mjs +5 -7
  21. package/esm2022/components/pagination/pagination.component.mjs +7 -9
  22. package/esm2022/components/searchbar/searchbar.component.mjs +5 -7
  23. package/esm2022/directives/collapsable.directive.mjs +3 -3
  24. package/esm2022/engine/NgxBaseComponent.mjs +11 -10
  25. package/esm2022/engine/NgxFormService.mjs +12 -3
  26. package/esm2022/engine/NgxRenderingEngine.mjs +3 -2
  27. package/esm2022/for-angular-common.module.mjs +82 -0
  28. package/esm2022/helpers/utils.mjs +2 -2
  29. package/esm2022/i18n/Loader.mjs +10 -6
  30. package/esm2022/i18n/data/en.json +80 -0
  31. package/esm2022/public-apis.mjs +3 -2
  32. package/fesm2022/decaf-ts-for-angular.mjs +255 -170
  33. package/fesm2022/decaf-ts-for-angular.mjs.map +1 -1
  34. package/for-angular-common.module.d.ts +44 -0
  35. package/package.json +6 -3
  36. package/public-apis.d.ts +2 -1
  37. package/esm2022/for-angular.module.mjs +0 -118
  38. package/for-angular.module.d.ts +0 -45
@@ -1,10 +1,9 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ForAngularModule } from '../../for-angular.module';
3
2
  import { NgxBaseComponent } from '../../engine/NgxBaseComponent';
4
3
  import { ComponentRendererComponent } from '../component-renderer/component-renderer.component';
5
4
  import { ModelRendererComponent } from '../model-renderer/model-renderer.component';
5
+ import { TranslatePipe } from '@ngx-translate/core';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@ngx-translate/core";
8
7
  /**
9
8
  * @description Layout component for creating responsive grid layouts in Angular applications.
10
9
  * @summary This component provides a flexible grid system that can be configured with dynamic
@@ -158,12 +157,12 @@ export class LayoutComponent extends NgxBaseComponent {
158
157
  this.rows = this._rows;
159
158
  this.initialized = true;
160
159
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
162
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LayoutComponent, isStandalone: true, selector: "ngx-decaf-layout", inputs: { cols: "cols", rows: "rows", breakpoint: "breakpoint", children: "children" }, usesInheritance: true, ngImport: i0, template: "\n@if(initialized) {\n @for (row of rows; track trackItemFn($index, row); let rowIndex = $index) {\n <div [id]=\"uid\" class=\"dcf-grid dcf-grid-collapse dcf-grid-match\">\n @if(row) {\n <div class=\"dcf-width-1-1 dcf-grid-title\">\n <ion-card class=\"dcf-grid-title\">\n {{row.title | translate}}\n </ion-card>\n </div>\n }\n @for (child of row.cols; track trackItemFn($index, child.col); let colIndex = $index) {\n <div [class]=\"(child.col === cols.length ? 'dcf-width-1-1' : 'dcf-width-'+child.col+'-'+cols.length+'@'+breakpoint)\">\n <div [class]=\"'dcf-grid-child '+child.col \">\n @if(child.tag === 'ngx-decaf-crud-form') {\n <ion-card [class]=\"'dcf-height-1-1 ' + className\">\n <ion-card-content>\n <ngx-decaf-model-renderer\n [model]=\"child.props.name\"\n (listenEvent)=\"handleEvent($event)\"\n />\n </ion-card-content>\n </ion-card>\n } @else {\n <ngx-decaf-component-renderer\n [tag]=\"child.tag\"\n (listenEvent)=\"handleEvent($event)\"\n [globals]=\"{props: child.props}\"\n />\n }\n </div>\n </div>\n }\n </div>\n }\n}\n", styles: [".dcf-grid>div:not(.dcf-grid-title) ::ng-deep ngx-decaf-component-renderer>*>*{height:100%;display:flex;justify-content:center!important;align-items:center!important}.dcf-grid ion-card.dcf-height-1-1>ion-card-content{margin-top:2rem}.dcf-grid.dcf-grid-small .dcf-grid-child{margin-bottom:2rem}.dcf-grid.dcf-grid-collapse .dcf-grid-child{margin-bottom:1.25rem}.dcf-grid.dcf-grid-collapse .dcf-grid-child ion-card{margin-bottom:1.25rem}.dcf-grid-title{font-size:1.05rem!important;background:none;box-shadow:none;margin-bottom:0;padding-bottom:0;font-weight:600;color:var(--dcf-color-dark);display:flex;align-items:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: ForAngularModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ModelRendererComponent, selector: "ngx-decaf-model-renderer", inputs: ["model", "globals", "rendererId"], outputs: ["listenEvent"] }, { kind: "component", type: ComponentRendererComponent, selector: "ngx-decaf-component-renderer", inputs: ["tag", "globals", "model", "parent"], outputs: ["listenEvent"] }] }); }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LayoutComponent, isStandalone: true, selector: "ngx-decaf-layout", inputs: { cols: "cols", rows: "rows", breakpoint: "breakpoint", children: "children" }, usesInheritance: true, ngImport: i0, template: "\n@if(initialized) {\n @for (row of rows; track trackItemFn($index, row); let rowIndex = $index) {\n <div [id]=\"uid\" class=\"dcf-grid dcf-grid-collapse dcf-grid-match\">\n @if(row) {\n <div class=\"dcf-width-1-1 dcf-grid-title\">\n <ion-card class=\"dcf-grid-title\">\n {{row.title | translate}}\n </ion-card>\n </div>\n }\n @for (child of row.cols; track trackItemFn($index, child.col); let colIndex = $index) {\n <div [class]=\"(child.col === cols.length ? 'dcf-width-1-1' : 'dcf-width-'+child.col+'-'+cols.length+'@'+breakpoint)\">\n <div [class]=\"'dcf-grid-child '+child.col \">\n @if(child.tag === 'ngx-decaf-crud-form') {\n <ion-card [class]=\"'dcf-height-1-1 ' + className\">\n <ion-card-content>\n <ngx-decaf-model-renderer\n [model]=\"child.props.name\"\n (listenEvent)=\"handleEvent($event)\"\n />\n </ion-card-content>\n </ion-card>\n } @else {\n <ngx-decaf-component-renderer\n [tag]=\"child.tag\"\n (listenEvent)=\"handleEvent($event)\"\n [globals]=\"{props: child.props}\"\n />\n }\n </div>\n </div>\n }\n </div>\n }\n}\n", styles: [".dcf-grid>div:not(.dcf-grid-title) ::ng-deep ngx-decaf-component-renderer>*>*{height:100%;display:flex;justify-content:center!important;align-items:center!important}.dcf-grid ion-card.dcf-height-1-1>ion-card-content{margin-top:2rem}.dcf-grid.dcf-grid-small .dcf-grid-child{margin-bottom:2rem}.dcf-grid.dcf-grid-collapse .dcf-grid-child{margin-bottom:1.25rem}.dcf-grid.dcf-grid-collapse .dcf-grid-child ion-card{margin-bottom:1.25rem}.dcf-grid-title{font-size:1.05rem!important;background:none;box-shadow:none;margin-bottom:0;padding-bottom:0;font-weight:600;color:var(--dcf-color-dark);display:flex;align-items:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ModelRendererComponent, selector: "ngx-decaf-model-renderer", inputs: ["model", "globals", "rendererId"], outputs: ["listenEvent"] }, { kind: "component", type: ComponentRendererComponent, selector: "ngx-decaf-component-renderer", inputs: ["tag", "globals", "model", "parent"], outputs: ["listenEvent"] }] }); }
163
162
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LayoutComponent, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LayoutComponent, decorators: [{
165
164
  type: Component,
166
- args: [{ selector: 'ngx-decaf-layout', imports: [ForAngularModule, ModelRendererComponent, ComponentRendererComponent], standalone: true, template: "\n@if(initialized) {\n @for (row of rows; track trackItemFn($index, row); let rowIndex = $index) {\n <div [id]=\"uid\" class=\"dcf-grid dcf-grid-collapse dcf-grid-match\">\n @if(row) {\n <div class=\"dcf-width-1-1 dcf-grid-title\">\n <ion-card class=\"dcf-grid-title\">\n {{row.title | translate}}\n </ion-card>\n </div>\n }\n @for (child of row.cols; track trackItemFn($index, child.col); let colIndex = $index) {\n <div [class]=\"(child.col === cols.length ? 'dcf-width-1-1' : 'dcf-width-'+child.col+'-'+cols.length+'@'+breakpoint)\">\n <div [class]=\"'dcf-grid-child '+child.col \">\n @if(child.tag === 'ngx-decaf-crud-form') {\n <ion-card [class]=\"'dcf-height-1-1 ' + className\">\n <ion-card-content>\n <ngx-decaf-model-renderer\n [model]=\"child.props.name\"\n (listenEvent)=\"handleEvent($event)\"\n />\n </ion-card-content>\n </ion-card>\n } @else {\n <ngx-decaf-component-renderer\n [tag]=\"child.tag\"\n (listenEvent)=\"handleEvent($event)\"\n [globals]=\"{props: child.props}\"\n />\n }\n </div>\n </div>\n }\n </div>\n }\n}\n", styles: [".dcf-grid>div:not(.dcf-grid-title) ::ng-deep ngx-decaf-component-renderer>*>*{height:100%;display:flex;justify-content:center!important;align-items:center!important}.dcf-grid ion-card.dcf-height-1-1>ion-card-content{margin-top:2rem}.dcf-grid.dcf-grid-small .dcf-grid-child{margin-bottom:2rem}.dcf-grid.dcf-grid-collapse .dcf-grid-child{margin-bottom:1.25rem}.dcf-grid.dcf-grid-collapse .dcf-grid-child ion-card{margin-bottom:1.25rem}.dcf-grid-title{font-size:1.05rem!important;background:none;box-shadow:none;margin-bottom:0;padding-bottom:0;font-weight:600;color:var(--dcf-color-dark);display:flex;align-items:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}\n"] }]
165
+ args: [{ selector: 'ngx-decaf-layout', imports: [TranslatePipe, ModelRendererComponent, ComponentRendererComponent], standalone: true, template: "\n@if(initialized) {\n @for (row of rows; track trackItemFn($index, row); let rowIndex = $index) {\n <div [id]=\"uid\" class=\"dcf-grid dcf-grid-collapse dcf-grid-match\">\n @if(row) {\n <div class=\"dcf-width-1-1 dcf-grid-title\">\n <ion-card class=\"dcf-grid-title\">\n {{row.title | translate}}\n </ion-card>\n </div>\n }\n @for (child of row.cols; track trackItemFn($index, child.col); let colIndex = $index) {\n <div [class]=\"(child.col === cols.length ? 'dcf-width-1-1' : 'dcf-width-'+child.col+'-'+cols.length+'@'+breakpoint)\">\n <div [class]=\"'dcf-grid-child '+child.col \">\n @if(child.tag === 'ngx-decaf-crud-form') {\n <ion-card [class]=\"'dcf-height-1-1 ' + className\">\n <ion-card-content>\n <ngx-decaf-model-renderer\n [model]=\"child.props.name\"\n (listenEvent)=\"handleEvent($event)\"\n />\n </ion-card-content>\n </ion-card>\n } @else {\n <ngx-decaf-component-renderer\n [tag]=\"child.tag\"\n (listenEvent)=\"handleEvent($event)\"\n [globals]=\"{props: child.props}\"\n />\n }\n </div>\n </div>\n }\n </div>\n }\n}\n", styles: [".dcf-grid>div:not(.dcf-grid-title) ::ng-deep ngx-decaf-component-renderer>*>*{height:100%;display:flex;justify-content:center!important;align-items:center!important}.dcf-grid ion-card.dcf-height-1-1>ion-card-content{margin-top:2rem}.dcf-grid.dcf-grid-small .dcf-grid-child{margin-bottom:2rem}.dcf-grid.dcf-grid-collapse .dcf-grid-child{margin-bottom:1.25rem}.dcf-grid.dcf-grid-collapse .dcf-grid-child ion-card{margin-bottom:1.25rem}.dcf-grid-title{font-size:1.05rem!important;background:none;box-shadow:none;margin-bottom:0;padding-bottom:0;font-weight:600;color:var(--dcf-color-dark);display:flex;align-items:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}\n"] }]
167
166
  }], ctorParameters: () => [], propDecorators: { cols: [{
168
167
  type: Input
169
168
  }], rows: [{
@@ -173,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
173
172
  }], children: [{
174
173
  type: Input
175
174
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7QUFHcEY7Ozs7Ozs7Ozs7O0dBV0c7QUFTSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBZ0I7SUF5RG5EOzs7Ozs7O09BT0c7SUFDSDtRQUNFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBaEUxQjs7Ozs7Ozs7OztXQVVHO1FBRUgsU0FBSSxHQUFzQixDQUFDLENBQUM7UUFFNUI7Ozs7Ozs7OztXQVNHO1FBRUgsU0FBSSxHQUFtQyxDQUFDLENBQUM7UUFFekM7Ozs7Ozs7Ozs7V0FVRztRQUVILGVBQVUsR0FBdUIsUUFBUSxDQUFDO1FBRTFDOzs7Ozs7Ozs7O1dBVUc7UUFFSCxhQUFRLEdBQWUsRUFBRSxDQUFDO0lBWTFCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNyQixJQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFDekIsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUUsR0FBRyxFQUFFLENBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQUksS0FBSztRQUNQLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsSUFBRyxPQUFPLElBQUksS0FBSyxRQUFRO1lBQ3pCLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM3QixPQUFPO2dCQUNMLEtBQUssRUFBRyxHQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDO2dCQUNuQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2pDLElBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDO3dCQUMzQixPQUFPLEtBQUssQ0FBQztnQkFDakIsQ0FBQyxDQUFDO2FBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BcUJHO0lBQ00sVUFBVTtRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBd0IsQ0FBQztRQUNsRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7K0dBekpVLGVBQWU7bUdBQWYsZUFBZSwyTEM1QjVCLHk0Q0FvQ0EsK3RCRFpZLGdCQUFnQiw0RkFBRSxzQkFBc0IsMklBQUUsMEJBQTBCOzs0RkFJbkUsZUFBZTtrQkFSM0IsU0FBUzsrQkFDRSxrQkFBa0IsV0FHbkIsQ0FBQyxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsQ0FBQyxjQUNuRSxJQUFJO3dEQWlCaEIsSUFBSTtzQkFESCxLQUFLO2dCQWNOLElBQUk7c0JBREgsS0FBSztnQkFlTixVQUFVO3NCQURULEtBQUs7Z0JBZU4sUUFBUTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvckFuZ3VsYXJNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3ItYW5ndWxhci5tb2R1bGUnO1xuaW1wb3J0IHsgTmd4QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VuZ2luZS9OZ3hCYXNlQ29tcG9uZW50JztcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSAnLi4vLi4vZW5naW5lJztcbmltcG9ydCB7IENvbXBvbmVudFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50LXJlbmRlcmVyL2NvbXBvbmVudC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kZWxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uL21vZGVsLXJlbmRlcmVyL21vZGVsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVSU1lZGlhQnJlYWtQb2ludHMgfSBmcm9tICdAZGVjYWYtdHMvdWktZGVjb3JhdG9ycyc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIExheW91dCBjb21wb25lbnQgZm9yIGNyZWF0aW5nIHJlc3BvbnNpdmUgZ3JpZCBsYXlvdXRzIGluIEFuZ3VsYXIgYXBwbGljYXRpb25zLlxuICogQHN1bW1hcnkgVGhpcyBjb21wb25lbnQgcHJvdmlkZXMgYSBmbGV4aWJsZSBncmlkIHN5c3RlbSB0aGF0IGNhbiBiZSBjb25maWd1cmVkIHdpdGggZHluYW1pY1xuICogcm93cyBhbmQgY29sdW1ucy4gSXQgc3VwcG9ydHMgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBhbmQgY2FuIHJlbmRlciBjaGlsZCBjb21wb25lbnRzIHdpdGhpblxuICogdGhlIGdyaWQgc3RydWN0dXJlLiBUaGUgY29tcG9uZW50IGV4dGVuZHMgTmd4QmFzZUNvbXBvbmVudCB0byBpbmhlcml0IGNvbW1vbiBmdW5jdGlvbmFsaXR5XG4gKiBhbmQgaW50ZWdyYXRlcyB3aXRoIHRoZSBtb2RlbCBhbmQgY29tcG9uZW50IHJlbmRlcmVyIHN5c3RlbXMuXG4gKlxuICogQGNsYXNzIExheW91dENvbXBvbmVudFxuICogQGV4dGVuZHMge05neEJhc2VDb21wb25lbnR9XG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxuICogQG1lbWJlck9mIExheW91dENvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtZGVjYWYtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xheW91dC5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbRm9yQW5ndWxhck1vZHVsZSwgTW9kZWxSZW5kZXJlckNvbXBvbmVudCwgQ29tcG9uZW50UmVuZGVyZXJDb21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuXG59KVxuZXhwb3J0IGNsYXNzIExheW91dENvbXBvbmVudCBleHRlbmRzIE5neEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTnVtYmVyIG9mIGNvbHVtbnMgb3IgYXJyYXkgb2YgY29sdW1uIGRlZmluaXRpb25zIGZvciB0aGUgZ3JpZCBsYXlvdXQuXG4gICAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGNvbHVtbiBzdHJ1Y3R1cmUgb2YgdGhlIGdyaWQuIFdoZW4gYSBudW1iZXIgaXMgcHJvdmlkZWQsIGl0IGNyZWF0ZXNcbiAgICogdGhhdCBtYW55IGVxdWFsLXdpZHRoIGNvbHVtbnMuIFdoZW4gYW4gYXJyYXkgaXMgcHJvdmlkZWQsIGVhY2ggZWxlbWVudCBjYW4gZGVmaW5lIHNwZWNpZmljXG4gICAqIGNvbHVtbiBwcm9wZXJ0aWVzIG9yIHNpemluZy4gVGhpcyBhbGxvd3MgZm9yIGZsZXhpYmxlIGdyaWQgbGF5b3V0cyB0aGF0IGNhbiBhZGFwdCB0b1xuICAgKiBkaWZmZXJlbnQgY29udGVudCByZXF1aXJlbWVudHMuXG4gICAqXG4gICAqIEB0eXBlIHsobnVtYmVyIHwgc3RyaW5nW10pfVxuICAgKiBAZGVmYXVsdCAxXG4gICAqIEBtZW1iZXJPZiBMYXlvdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGNvbHM6IG51bWJlciB8IHN0cmluZ1tdID0gMTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE51bWJlciBvZiByb3dzIG9yIGFycmF5IG9mIHJvdyBkZWZpbml0aW9ucyBmb3IgdGhlIGdyaWQgbGF5b3V0LlxuICAgKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSByb3cgc3RydWN0dXJlIG9mIHRoZSBncmlkLiBXaGVuIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBpdCBjcmVhdGVzXG4gICAqIHRoYXQgbWFueSBlcXVhbC1oZWlnaHQgcm93cy4gV2hlbiBhbiBhcnJheSBpcyBwcm92aWRlZCwgZWFjaCBlbGVtZW50IGNhbiBkZWZpbmUgc3BlY2lmaWNcbiAgICogcm93IHByb3BlcnRpZXMgb3Igc2l6aW5nLiBUaGlzIHByb3ZpZGVzIGNvbnRyb2wgb3ZlciB2ZXJ0aWNhbCBzcGFjaW5nIGFuZCBjb250ZW50IG9yZ2FuaXphdGlvbi5cbiAgICpcbiAgICogQHR5cGUgeyhudW1iZXIgfCBzdHJpbmdbXSl9XG4gICAqIEBkZWZhdWx0IDFcbiAgICogQG1lbWJlck9mIExheW91dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgcm93czogbnVtYmVyIHwgS2V5VmFsdWVbXSB8IHN0cmluZ1tdID0gMTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE1lZGlhIGJyZWFrcG9pbnQgZm9yIHJlc3BvbnNpdmUgYmVoYXZpb3IuXG4gICAqIEBzdW1tYXJ5IERldGVybWluZXMgdGhlIHJlc3BvbnNpdmUgYnJlYWtwb2ludCBhdCB3aGljaCB0aGUgbGF5b3V0IHNob3VsZCBhZGFwdC5cbiAgICogVGhpcyBhZmZlY3RzIGhvdyB0aGUgZ3JpZCBiZWhhdmVzIG9uIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGFsbG93aW5nIGZvclxuICAgKiBtb2JpbGUtZmlyc3Qgb3IgZGVza3RvcC1maXJzdCByZXNwb25zaXZlIGRlc2lnbiBwYXR0ZXJucy4gVGhlIGJyZWFrcG9pbnRcbiAgICogaXMgYXV0b21hdGljYWxseSBwcm9jZXNzZWQgdG8gZW5zdXJlIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgVUkgZnJhbWV3b3JrLlxuICAgKlxuICAgKiBAdHlwZSB7VUlNZWRpYUJyZWFrUG9pbnRzfVxuICAgKiBAZGVmYXVsdCAnbWVkaXVtJ1xuICAgKiBAbWVtYmVyT2YgTGF5b3V0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBicmVha3BvaW50OiBVSU1lZGlhQnJlYWtQb2ludHMgPSAnbWVkaXVtJztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFycmF5IG9mIGNoaWxkIGNvbXBvbmVudHMgb3IgZGF0YSB0byByZW5kZXIgd2l0aGluIHRoZSBncmlkLlxuICAgKiBAc3VtbWFyeSBDb250YWlucyB0aGUgY2hpbGQgZWxlbWVudHMgdGhhdCB3aWxsIGJlIGRpc3RyaWJ1dGVkIGFjcm9zcyB0aGUgZ3JpZCBsYXlvdXQuXG4gICAqIEVhY2ggaXRlbSBpbiB0aGUgYXJyYXkgcmVwcmVzZW50cyBjb250ZW50IHRoYXQgd2lsbCBiZSByZW5kZXJlZCB1c2luZyB0aGUgYXBwcm9wcmlhdGVcbiAgICogcmVuZGVyZXIgY29tcG9uZW50IChNb2RlbFJlbmRlcmVyIG9yIENvbXBvbmVudFJlbmRlcmVyKS4gVGhpcyBhbGxvd3MgZm9yIG1peGVkIGNvbnRlbnRcbiAgICogdHlwZXMgd2l0aGluIGEgc2luZ2xlIGxheW91dCBzdHJ1Y3R1cmUuXG4gICAqXG4gICAqIEB0eXBlIHtLZXlWYWx1ZVtdfVxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAbWVtYmVyT2YgTGF5b3V0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBjaGlsZHJlbjogS2V5VmFsdWVbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBMYXlvdXRDb21wb25lbnQuXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIGEgbmV3IExheW91dENvbXBvbmVudCB3aXRoIHRoZSBjb21wb25lbnQgbmFtZSBcIkxheW91dENvbXBvbmVudFwiLlxuICAgKiBUaGlzIGNvbnN0cnVjdG9yIGNhbGxzIHRoZSBwYXJlbnQgTmd4QmFzZUNvbXBvbmVudCBjb25zdHJ1Y3RvciB0byBzZXQgdXAgYmFzZVxuICAgKiBmdW5jdGlvbmFsaXR5IGFuZCBjb21wb25lbnQgaWRlbnRpZmljYXRpb24uXG4gICAqXG4gICAqIEBtZW1iZXJPZiBMYXlvdXRDb21wb25lbnRcbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwiTGF5b3V0Q29tcG9uZW50XCIpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHRlciB0aGF0IGNvbnZlcnRzIGNvbHVtbnMgaW5wdXQgdG8gYW4gYXJyYXkgZm9ybWF0LlxuICAgKiBAc3VtbWFyeSBUcmFuc2Zvcm1zIHRoZSBjb2xzIGlucHV0IHByb3BlcnR5IGludG8gYSBzdGFuZGFyZGl6ZWQgc3RyaW5nIGFycmF5IGZvcm1hdC5cbiAgICogV2hlbiBjb2xzIGlzIGEgbnVtYmVyLCBpdCBjcmVhdGVzIGFuIGFycmF5IHdpdGggdGhhdCBtYW55IGVtcHR5IHN0cmluZyBlbGVtZW50cy5cbiAgICogV2hlbiBjb2xzIGlzIGFscmVhZHkgYW4gYXJyYXksIGl0IHJldHVybnMgdGhlIGFycmF5IGFzLWlzLiBUaGlzIG5vcm1hbGl6YXRpb25cbiAgICogZW5zdXJlcyBjb25zaXN0ZW50IGhhbmRsaW5nIG9mIGNvbHVtbiBkZWZpbml0aW9ucyBpbiB0aGUgdGVtcGxhdGUuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cbiAgICogQHJlYWRvbmx5XG4gICAqIEBtZW1iZXJPZiBMYXlvdXRDb21wb25lbnRcbiAgICovXG4gIGdldCBfY29scygpOiBzdHJpbmdbXSB7XG4gICAgbGV0IGNvbHMgPSB0aGlzLmNvbHM7XG4gICAgaWYodHlwZW9mIGNvbHMgPT09IFwibnVtYmVyXCIpXG4gICAgICBjb2xzID0gQXJyYXkuZnJvbSh7bGVuZ3RoOiBOdW1iZXIoY29scyl9LCAoKSA9PiAgYGApO1xuICAgIHJldHVybiBjb2xzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXR0ZXIgdGhhdCBjb252ZXJ0cyByb3dzIGlucHV0IHRvIGFuIGFycmF5IGZvcm1hdC5cbiAgICogQHN1bW1hcnkgVHJhbnNmb3JtcyB0aGUgcm93cyBpbnB1dCBwcm9wZXJ0eSBpbnRvIGEgc3RhbmRhcmRpemVkIHN0cmluZyBhcnJheSBmb3JtYXQuXG4gICAqIFdoZW4gcm93cyBpcyBhIG51bWJlciwgaXQgY3JlYXRlcyBhbiBhcnJheSB3aXRoIHRoYXQgbWFueSBlbXB0eSBzdHJpbmcgZWxlbWVudHMuXG4gICAqIFdoZW4gcm93cyBpcyBhbHJlYWR5IGFuIGFycmF5LCBpdCByZXR1cm5zIHRoZSBhcnJheSBhcy1pcy4gVGhpcyBub3JtYWxpemF0aW9uXG4gICAqIGVuc3VyZXMgY29uc2lzdGVudCBoYW5kbGluZyBvZiByb3cgZGVmaW5pdGlvbnMgaW4gdGhlIHRlbXBsYXRlLlxuICAgKlxuICAgKiBAdHlwZSB7S2V5VmFsdWVbXX1cbiAgICogQHJlYWRvbmx5XG4gICAqIEBtZW1iZXJPZiBMYXlvdXRDb21wb25lbnRcbiAgICovXG4gIGdldCBfcm93cygpOiBLZXlWYWx1ZVtdIHtcbiAgICBsZXQgcm93cyA9IHRoaXMucm93cztcbiAgICBpZih0eXBlb2Ygcm93cyA9PT0gXCJudW1iZXJcIilcbiAgICAgIHJvd3MgPSBBcnJheS5mcm9tKHtsZW5ndGg6IE51bWJlcihyb3dzKX0sICgpID0+ICh7dGl0bGU6ICcnfSkpO1xuICAgIHJldHVybiByb3dzLm1hcCgocm93LCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6IChyb3cgYXMgS2V5VmFsdWUpPy5bJ3RpdGxlJ10sXG4gICAgICAgIGNvbHM6IHRoaXMuY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IHtcbiAgICAgICAgICBpZihjaGlsZFsncm93J10gPT09IGluZGV4ICsgMSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgfSlcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFuZ3VsYXIgbGlmZWN5Y2xlIGhvb2sgdGhhdCBydW5zIGFmdGVyIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbi5cbiAgICogQHN1bW1hcnkgQ2FsbGVkIG9uY2UsIGFmdGVyIHRoZSBmaXJzdCBuZ09uQ2hhbmdlcygpLiBUaGlzIG1ldGhvZCB0cmlnZ2VycyB0aGVcbiAgICogY29tcG9uZW50J3MgaW5pdGlhbGl6YXRpb24gcHJvY2Vzcywgd2hpY2ggaW5jbHVkZXMgcHJvcGVydHkgcGFyc2luZyBhbmQgZ3JpZFxuICAgKiBzZXR1cC4gSXQgZW5zdXJlcyB0aGUgY29tcG9uZW50IGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQgYmVmb3JlIHJlbmRlcmluZy5cbiAgICpcbiAgICogQG1lbWJlck9mIExheW91dENvbXBvbmVudFxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBsYXlvdXQgY29tcG9uZW50IHdpdGggcHJvY2Vzc2VkIHByb3BlcnRpZXMuXG4gICAqIEBzdW1tYXJ5IE92ZXJyaWRlcyB0aGUgYmFzZSBjb21wb25lbnQncyBpbml0aWFsaXplIG1ldGhvZCB0byBzZXQgdXAgdGhlIGdyaWQgbGF5b3V0LlxuICAgKiBUaGlzIG1ldGhvZCBwcm9jZXNzZXMgaW5wdXQgcHJvcGVydGllcywgbm9ybWFsaXplcyB0aGUgYnJlYWtwb2ludCB2YWx1ZSwgY29udmVydHNcbiAgICogcm93cyBhbmQgY29sdW1ucyB0byB0aGVpciBhcnJheSByZXByZXNlbnRhdGlvbnMsIGFuZCBtYXJrcyB0aGUgY29tcG9uZW50IGFzIGluaXRpYWxpemVkLlxuICAgKiBUaGUgaW5pdGlhbGl6YXRpb24gZW5zdXJlcyBhbGwgcHJvcGVydGllcyBhcmUgaW4gdGhlIGNvcnJlY3QgZm9ybWF0IGZvciByZW5kZXJpbmcuXG4gICAqXG4gICAqIEBtZXJtYWlkXG4gICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgKiAgIHBhcnRpY2lwYW50IEwgYXMgTGF5b3V0Q29tcG9uZW50XG4gICAqICAgcGFydGljaXBhbnQgQiBhcyBOZ3hCYXNlQ29tcG9uZW50XG4gICAqXG4gICAqICAgTC0+PkI6IHBhcnNlUHJvcHModGhpcylcbiAgICogICBOb3RlIG92ZXIgTDogUHJvY2VzcyBjb21wb25lbnQgcHJvcGVydGllc1xuICAgKiAgIEwtPj5MOiBOb3JtYWxpemUgYnJlYWtwb2ludCB0byBsb3dlcmNhc2VcbiAgICogICBMLT4+TDogQ29udmVydCByb3dzIHRvIGFycmF5IGZvcm1hdFxuICAgKiAgIEwtPj5MOiBDb252ZXJ0IGNvbHMgdG8gYXJyYXkgZm9ybWF0XG4gICAqICAgTC0+Pkw6IFNldCBpbml0aWFsaXplZCA9IHRydWVcbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqIEBtZW1iZXJPZiBMYXlvdXRDb21wb25lbnRcbiAgICovXG4gIG92ZXJyaWRlIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5wYXJzZVByb3BzKHRoaXMpO1xuICAgIHRoaXMuYnJlYWtwb2ludCA9IHRoaXMuYnJlYWtwb2ludC5zbGljZSgwLCAyKS50b0xvd2VyQ2FzZSgpIGFzIFVJTWVkaWFCcmVha1BvaW50cztcbiAgICB0aGlzLmNvbHMgPSB0aGlzLl9jb2xzO1xuICAgIHRoaXMucm93cyA9IHRoaXMuX3Jvd3M7XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cbn1cbiIsIlxuQGlmKGluaXRpYWxpemVkKSB7XG4gIEBmb3IgKHJvdyBvZiByb3dzOyB0cmFjayB0cmFja0l0ZW1GbigkaW5kZXgsIHJvdyk7IGxldCByb3dJbmRleCA9ICRpbmRleCkge1xuICAgIDxkaXYgW2lkXT1cInVpZFwiIGNsYXNzPVwiZGNmLWdyaWQgZGNmLWdyaWQtY29sbGFwc2UgZGNmLWdyaWQtbWF0Y2hcIj5cbiAgICAgIEBpZihyb3cpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRjZi13aWR0aC0xLTEgZGNmLWdyaWQtdGl0bGVcIj5cbiAgICAgICAgICA8aW9uLWNhcmQgY2xhc3M9XCJkY2YtZ3JpZC10aXRsZVwiPlxuICAgICAgICAgICAge3tyb3cudGl0bGUgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgIDwvaW9uLWNhcmQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGZvciAoY2hpbGQgb2Ygcm93LmNvbHM7IHRyYWNrIHRyYWNrSXRlbUZuKCRpbmRleCwgY2hpbGQuY29sKTsgbGV0IGNvbEluZGV4ID0gJGluZGV4KSB7XG4gICAgICAgIDxkaXYgW2NsYXNzXT1cIihjaGlsZC5jb2wgPT09IGNvbHMubGVuZ3RoID8gJ2RjZi13aWR0aC0xLTEnIDogJ2RjZi13aWR0aC0nK2NoaWxkLmNvbCsnLScrY29scy5sZW5ndGgrJ0AnK2JyZWFrcG9pbnQpXCI+XG4gICAgICAgICAgICA8ZGl2IFtjbGFzc109XCInZGNmLWdyaWQtY2hpbGQgJytjaGlsZC5jb2wgXCI+XG4gICAgICAgICAgICAgIEBpZihjaGlsZC50YWcgPT09ICduZ3gtZGVjYWYtY3J1ZC1mb3JtJykge1xuICAgICAgICAgICAgICAgIDxpb24tY2FyZCBbY2xhc3NdPVwiJ2RjZi1oZWlnaHQtMS0xICcgKyBjbGFzc05hbWVcIj5cbiAgICAgICAgICAgICAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8bmd4LWRlY2FmLW1vZGVsLXJlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImNoaWxkLnByb3BzLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIChsaXN0ZW5FdmVudCk9XCJoYW5kbGVFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICA8L2lvbi1jYXJkPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8bmd4LWRlY2FmLWNvbXBvbmVudC1yZW5kZXJlclxuICAgICAgICAgICAgICAgICAgW3RhZ109XCJjaGlsZC50YWdcIlxuICAgICAgICAgICAgICAgICAgKGxpc3RlbkV2ZW50KT1cImhhbmRsZUV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgW2dsb2JhbHNdPVwie3Byb3BzOiBjaGlsZC5wcm9wc31cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxufVxuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFcEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFTSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBZ0I7SUF5RG5EOzs7Ozs7O09BT0c7SUFDSDtRQUNFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBaEUxQjs7Ozs7Ozs7OztXQVVHO1FBRUgsU0FBSSxHQUFzQixDQUFDLENBQUM7UUFFNUI7Ozs7Ozs7OztXQVNHO1FBRUgsU0FBSSxHQUFtQyxDQUFDLENBQUM7UUFFekM7Ozs7Ozs7Ozs7V0FVRztRQUVILGVBQVUsR0FBdUIsUUFBUSxDQUFDO1FBRTFDOzs7Ozs7Ozs7O1dBVUc7UUFFSCxhQUFRLEdBQWUsRUFBRSxDQUFDO0lBWTFCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNyQixJQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFDekIsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUUsR0FBRyxFQUFFLENBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQUksS0FBSztRQUNQLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsSUFBRyxPQUFPLElBQUksS0FBSyxRQUFRO1lBQ3pCLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM3QixPQUFPO2dCQUNMLEtBQUssRUFBRyxHQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDO2dCQUNuQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2pDLElBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDO3dCQUMzQixPQUFPLEtBQUssQ0FBQztnQkFDakIsQ0FBQyxDQUFDO2FBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BcUJHO0lBQ00sVUFBVTtRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBd0IsQ0FBQztRQUNsRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7K0dBekpVLGVBQWU7bUdBQWYsZUFBZSwyTEM1QjVCLHk0Q0FvQ0EsMnRCRFpZLGFBQWEsa0RBQUUsc0JBQXNCLDJJQUFFLDBCQUEwQjs7NEZBSWhFLGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0Usa0JBQWtCLFdBR25CLENBQUMsYUFBYSxFQUFFLHNCQUFzQixFQUFFLDBCQUEwQixDQUFDLGNBQ2hFLElBQUk7d0RBaUJoQixJQUFJO3NCQURILEtBQUs7Z0JBY04sSUFBSTtzQkFESCxLQUFLO2dCQWVOLFVBQVU7c0JBRFQsS0FBSztnQkFlTixRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VuZ2luZS9OZ3hCYXNlQ29tcG9uZW50JztcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSAnLi4vLi4vZW5naW5lJztcbmltcG9ydCB7IENvbXBvbmVudFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50LXJlbmRlcmVyL2NvbXBvbmVudC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kZWxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uL21vZGVsLXJlbmRlcmVyL21vZGVsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVSU1lZGlhQnJlYWtQb2ludHMgfSBmcm9tICdAZGVjYWYtdHMvdWktZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIExheW91dCBjb21wb25lbnQgZm9yIGNyZWF0aW5nIHJlc3BvbnNpdmUgZ3JpZCBsYXlvdXRzIGluIEFuZ3VsYXIgYXBwbGljYXRpb25zLlxuICogQHN1bW1hcnkgVGhpcyBjb21wb25lbnQgcHJvdmlkZXMgYSBmbGV4aWJsZSBncmlkIHN5c3RlbSB0aGF0IGNhbiBiZSBjb25maWd1cmVkIHdpdGggZHluYW1pY1xuICogcm93cyBhbmQgY29sdW1ucy4gSXQgc3VwcG9ydHMgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBhbmQgY2FuIHJlbmRlciBjaGlsZCBjb21wb25lbnRzIHdpdGhpblxuICogdGhlIGdyaWQgc3RydWN0dXJlLiBUaGUgY29tcG9uZW50IGV4dGVuZHMgTmd4QmFzZUNvbXBvbmVudCB0byBpbmhlcml0IGNvbW1vbiBmdW5jdGlvbmFsaXR5XG4gKiBhbmQgaW50ZWdyYXRlcyB3aXRoIHRoZSBtb2RlbCBhbmQgY29tcG9uZW50IHJlbmRlcmVyIHN5c3RlbXMuXG4gKlxuICogQGNsYXNzIExheW91dENvbXBvbmVudFxuICogQGV4dGVuZHMge05neEJhc2VDb21wb25lbnR9XG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxuICogQG1lbWJlck9mIExheW91dENvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtZGVjYWYtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xheW91dC5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgTW9kZWxSZW5kZXJlckNvbXBvbmVudCwgQ29tcG9uZW50UmVuZGVyZXJDb21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuXG59KVxuZXhwb3J0IGNsYXNzIExheW91dENvbXBvbmVudCBleHRlbmRzIE5neEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTnVtYmVyIG9mIGNvbHVtbnMgb3IgYXJyYXkgb2YgY29sdW1uIGRlZmluaXRpb25zIGZvciB0aGUgZ3JpZCBsYXlvdXQuXG4gICAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGNvbHVtbiBzdHJ1Y3R1cmUgb2YgdGhlIGdyaWQuIFdoZW4gYSBudW1iZXIgaXMgcHJvdmlkZWQsIGl0IGNyZWF0ZXNcbiAgICogdGhhdCBtYW55IGVxdWFsLXdpZHRoIGNvbHVtbnMuIFdoZW4gYW4gYXJyYXkgaXMgcHJvdmlkZWQsIGVhY2ggZWxlbWVudCBjYW4gZGVmaW5lIHNwZWNpZmljXG4gICAqIGNvbHVtbiBwcm9wZXJ0aWVzIG9yIHNpemluZy4gVGhpcyBhbGxvd3MgZm9yIGZsZXhpYmxlIGdyaWQgbGF5b3V0cyB0aGF0IGNhbiBhZGFwdCB0b1xuICAgKiBkaWZmZXJlbnQgY29udGVudCByZXF1aXJlbWVudHMuXG4gICAqXG4gICAqIEB0eXBlIHsobnVtYmVyIHwgc3RyaW5nW10pfVxuICAgKiBAZGVmYXVsdCAxXG4gICAqIEBtZW1iZXJPZiBMYXlvdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpXG4gIGNvbHM6IG51bWJlciB8IHN0cmluZ1tdID0gMTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE51bWJlciBvZiByb3dzIG9yIGFycmF5IG9mIHJvdyBkZWZpbml0aW9ucyBmb3IgdGhlIGdyaWQgbGF5b3V0LlxuICAgKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSByb3cgc3RydWN0dXJlIG9mIHRoZSBncmlkLiBXaGVuIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBpdCBjcmVhdGVzXG4gICAqIHRoYXQgbWFueSBlcXVhbC1oZWlnaHQgcm93cy4gV2hlbiBhbiBhcnJheSBpcyBwcm92aWRlZCwgZWFjaCBlbGVtZW50IGNhbiBkZWZpbmUgc3BlY2lmaWNcbiAgICogcm93IHByb3BlcnRpZXMgb3Igc2l6aW5nLiBUaGlzIHByb3ZpZGVzIGNvbnRyb2wgb3ZlciB2ZXJ0aWNhbCBzcGFjaW5nIGFuZCBjb250ZW50IG9yZ2FuaXphdGlvbi5cbiAgICpcbiAgICogQHR5cGUgeyhudW1iZXIgfCBzdHJpbmdbXSl9XG4gICAqIEBkZWZhdWx0IDFcbiAgICogQG1lbWJlck9mIExheW91dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgcm93czogbnVtYmVyIHwgS2V5VmFsdWVbXSB8IHN0cmluZ1tdID0gMTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE1lZGlhIGJyZWFrcG9pbnQgZm9yIHJlc3BvbnNpdmUgYmVoYXZpb3IuXG4gICAqIEBzdW1tYXJ5IERldGVybWluZXMgdGhlIHJlc3BvbnNpdmUgYnJlYWtwb2ludCBhdCB3aGljaCB0aGUgbGF5b3V0IHNob3VsZCBhZGFwdC5cbiAgICogVGhpcyBhZmZlY3RzIGhvdyB0aGUgZ3JpZCBiZWhhdmVzIG9uIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGFsbG93aW5nIGZvclxuICAgKiBtb2JpbGUtZmlyc3Qgb3IgZGVza3RvcC1maXJzdCByZXNwb25zaXZlIGRlc2lnbiBwYXR0ZXJucy4gVGhlIGJyZWFrcG9pbnRcbiAgICogaXMgYXV0b21hdGljYWxseSBwcm9jZXNzZWQgdG8gZW5zdXJlIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgVUkgZnJhbWV3b3JrLlxuICAgKlxuICAgKiBAdHlwZSB7VUlNZWRpYUJyZWFrUG9pbnRzfVxuICAgKiBAZGVmYXVsdCAnbWVkaXVtJ1xuICAgKiBAbWVtYmVyT2YgTGF5b3V0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBicmVha3BvaW50OiBVSU1lZGlhQnJlYWtQb2ludHMgPSAnbWVkaXVtJztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFycmF5IG9mIGNoaWxkIGNvbXBvbmVudHMgb3IgZGF0YSB0byByZW5kZXIgd2l0aGluIHRoZSBncmlkLlxuICAgKiBAc3VtbWFyeSBDb250YWlucyB0aGUgY2hpbGQgZWxlbWVudHMgdGhhdCB3aWxsIGJlIGRpc3RyaWJ1dGVkIGFjcm9zcyB0aGUgZ3JpZCBsYXlvdXQuXG4gICAqIEVhY2ggaXRlbSBpbiB0aGUgYXJyYXkgcmVwcmVzZW50cyBjb250ZW50IHRoYXQgd2lsbCBiZSByZW5kZXJlZCB1c2luZyB0aGUgYXBwcm9wcmlhdGVcbiAgICogcmVuZGVyZXIgY29tcG9uZW50IChNb2RlbFJlbmRlcmVyIG9yIENvbXBvbmVudFJlbmRlcmVyKS4gVGhpcyBhbGxvd3MgZm9yIG1peGVkIGNvbnRlbnRcbiAgICogdHlwZXMgd2l0aGluIGEgc2luZ2xlIGxheW91dCBzdHJ1Y3R1cmUuXG4gICAqXG4gICAqIEB0eXBlIHtLZXlWYWx1ZVtdfVxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAbWVtYmVyT2YgTGF5b3V0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBjaGlsZHJlbjogS2V5VmFsdWVbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBMYXlvdXRDb21wb25lbnQuXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIGEgbmV3IExheW91dENvbXBvbmVudCB3aXRoIHRoZSBjb21wb25lbnQgbmFtZSBcIkxheW91dENvbXBvbmVudFwiLlxuICAgKiBUaGlzIGNvbnN0cnVjdG9yIGNhbGxzIHRoZSBwYXJlbnQgTmd4QmFzZUNvbXBvbmVudCBjb25zdHJ1Y3RvciB0byBzZXQgdXAgYmFzZVxuICAgKiBmdW5jdGlvbmFsaXR5IGFuZCBjb21wb25lbnQgaWRlbnRpZmljYXRpb24uXG4gICAqXG4gICAqIEBtZW1iZXJPZiBMYXlvdXRDb21wb25lbnRcbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwiTGF5b3V0Q29tcG9uZW50XCIpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHRlciB0aGF0IGNvbnZlcnRzIGNvbHVtbnMgaW5wdXQgdG8gYW4gYXJyYXkgZm9ybWF0LlxuICAgKiBAc3VtbWFyeSBUcmFuc2Zvcm1zIHRoZSBjb2xzIGlucHV0IHByb3BlcnR5IGludG8gYSBzdGFuZGFyZGl6ZWQgc3RyaW5nIGFycmF5IGZvcm1hdC5cbiAgICogV2hlbiBjb2xzIGlzIGEgbnVtYmVyLCBpdCBjcmVhdGVzIGFuIGFycmF5IHdpdGggdGhhdCBtYW55IGVtcHR5IHN0cmluZyBlbGVtZW50cy5cbiAgICogV2hlbiBjb2xzIGlzIGFscmVhZHkgYW4gYXJyYXksIGl0IHJldHVybnMgdGhlIGFycmF5IGFzLWlzLiBUaGlzIG5vcm1hbGl6YXRpb25cbiAgICogZW5zdXJlcyBjb25zaXN0ZW50IGhhbmRsaW5nIG9mIGNvbHVtbiBkZWZpbml0aW9ucyBpbiB0aGUgdGVtcGxhdGUuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cbiAgICogQHJlYWRvbmx5XG4gICAqIEBtZW1iZXJPZiBMYXlvdXRDb21wb25lbnRcbiAgICovXG4gIGdldCBfY29scygpOiBzdHJpbmdbXSB7XG4gICAgbGV0IGNvbHMgPSB0aGlzLmNvbHM7XG4gICAgaWYodHlwZW9mIGNvbHMgPT09IFwibnVtYmVyXCIpXG4gICAgICBjb2xzID0gQXJyYXkuZnJvbSh7bGVuZ3RoOiBOdW1iZXIoY29scyl9LCAoKSA9PiAgYGApO1xuICAgIHJldHVybiBjb2xzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZXR0ZXIgdGhhdCBjb252ZXJ0cyByb3dzIGlucHV0IHRvIGFuIGFycmF5IGZvcm1hdC5cbiAgICogQHN1bW1hcnkgVHJhbnNmb3JtcyB0aGUgcm93cyBpbnB1dCBwcm9wZXJ0eSBpbnRvIGEgc3RhbmRhcmRpemVkIHN0cmluZyBhcnJheSBmb3JtYXQuXG4gICAqIFdoZW4gcm93cyBpcyBhIG51bWJlciwgaXQgY3JlYXRlcyBhbiBhcnJheSB3aXRoIHRoYXQgbWFueSBlbXB0eSBzdHJpbmcgZWxlbWVudHMuXG4gICAqIFdoZW4gcm93cyBpcyBhbHJlYWR5IGFuIGFycmF5LCBpdCByZXR1cm5zIHRoZSBhcnJheSBhcy1pcy4gVGhpcyBub3JtYWxpemF0aW9uXG4gICAqIGVuc3VyZXMgY29uc2lzdGVudCBoYW5kbGluZyBvZiByb3cgZGVmaW5pdGlvbnMgaW4gdGhlIHRlbXBsYXRlLlxuICAgKlxuICAgKiBAdHlwZSB7S2V5VmFsdWVbXX1cbiAgICogQHJlYWRvbmx5XG4gICAqIEBtZW1iZXJPZiBMYXlvdXRDb21wb25lbnRcbiAgICovXG4gIGdldCBfcm93cygpOiBLZXlWYWx1ZVtdIHtcbiAgICBsZXQgcm93cyA9IHRoaXMucm93cztcbiAgICBpZih0eXBlb2Ygcm93cyA9PT0gXCJudW1iZXJcIilcbiAgICAgIHJvd3MgPSBBcnJheS5mcm9tKHtsZW5ndGg6IE51bWJlcihyb3dzKX0sICgpID0+ICh7dGl0bGU6ICcnfSkpO1xuICAgIHJldHVybiByb3dzLm1hcCgocm93LCBpbmRleCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6IChyb3cgYXMgS2V5VmFsdWUpPy5bJ3RpdGxlJ10sXG4gICAgICAgIGNvbHM6IHRoaXMuY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IHtcbiAgICAgICAgICBpZihjaGlsZFsncm93J10gPT09IGluZGV4ICsgMSlcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgfSlcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFuZ3VsYXIgbGlmZWN5Y2xlIGhvb2sgdGhhdCBydW5zIGFmdGVyIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbi5cbiAgICogQHN1bW1hcnkgQ2FsbGVkIG9uY2UsIGFmdGVyIHRoZSBmaXJzdCBuZ09uQ2hhbmdlcygpLiBUaGlzIG1ldGhvZCB0cmlnZ2VycyB0aGVcbiAgICogY29tcG9uZW50J3MgaW5pdGlhbGl6YXRpb24gcHJvY2Vzcywgd2hpY2ggaW5jbHVkZXMgcHJvcGVydHkgcGFyc2luZyBhbmQgZ3JpZFxuICAgKiBzZXR1cC4gSXQgZW5zdXJlcyB0aGUgY29tcG9uZW50IGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQgYmVmb3JlIHJlbmRlcmluZy5cbiAgICpcbiAgICogQG1lbWJlck9mIExheW91dENvbXBvbmVudFxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBsYXlvdXQgY29tcG9uZW50IHdpdGggcHJvY2Vzc2VkIHByb3BlcnRpZXMuXG4gICAqIEBzdW1tYXJ5IE92ZXJyaWRlcyB0aGUgYmFzZSBjb21wb25lbnQncyBpbml0aWFsaXplIG1ldGhvZCB0byBzZXQgdXAgdGhlIGdyaWQgbGF5b3V0LlxuICAgKiBUaGlzIG1ldGhvZCBwcm9jZXNzZXMgaW5wdXQgcHJvcGVydGllcywgbm9ybWFsaXplcyB0aGUgYnJlYWtwb2ludCB2YWx1ZSwgY29udmVydHNcbiAgICogcm93cyBhbmQgY29sdW1ucyB0byB0aGVpciBhcnJheSByZXByZXNlbnRhdGlvbnMsIGFuZCBtYXJrcyB0aGUgY29tcG9uZW50IGFzIGluaXRpYWxpemVkLlxuICAgKiBUaGUgaW5pdGlhbGl6YXRpb24gZW5zdXJlcyBhbGwgcHJvcGVydGllcyBhcmUgaW4gdGhlIGNvcnJlY3QgZm9ybWF0IGZvciByZW5kZXJpbmcuXG4gICAqXG4gICAqIEBtZXJtYWlkXG4gICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgKiAgIHBhcnRpY2lwYW50IEwgYXMgTGF5b3V0Q29tcG9uZW50XG4gICAqICAgcGFydGljaXBhbnQgQiBhcyBOZ3hCYXNlQ29tcG9uZW50XG4gICAqXG4gICAqICAgTC0+PkI6IHBhcnNlUHJvcHModGhpcylcbiAgICogICBOb3RlIG92ZXIgTDogUHJvY2VzcyBjb21wb25lbnQgcHJvcGVydGllc1xuICAgKiAgIEwtPj5MOiBOb3JtYWxpemUgYnJlYWtwb2ludCB0byBsb3dlcmNhc2VcbiAgICogICBMLT4+TDogQ29udmVydCByb3dzIHRvIGFycmF5IGZvcm1hdFxuICAgKiAgIEwtPj5MOiBDb252ZXJ0IGNvbHMgdG8gYXJyYXkgZm9ybWF0XG4gICAqICAgTC0+Pkw6IFNldCBpbml0aWFsaXplZCA9IHRydWVcbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqIEBtZW1iZXJPZiBMYXlvdXRDb21wb25lbnRcbiAgICovXG4gIG92ZXJyaWRlIGluaXRpYWxpemUoKSB7XG4gICAgdGhpcy5wYXJzZVByb3BzKHRoaXMpO1xuICAgIHRoaXMuYnJlYWtwb2ludCA9IHRoaXMuYnJlYWtwb2ludC5zbGljZSgwLCAyKS50b0xvd2VyQ2FzZSgpIGFzIFVJTWVkaWFCcmVha1BvaW50cztcbiAgICB0aGlzLmNvbHMgPSB0aGlzLl9jb2xzO1xuICAgIHRoaXMucm93cyA9IHRoaXMuX3Jvd3M7XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cbn1cbiIsIlxuQGlmKGluaXRpYWxpemVkKSB7XG4gIEBmb3IgKHJvdyBvZiByb3dzOyB0cmFjayB0cmFja0l0ZW1GbigkaW5kZXgsIHJvdyk7IGxldCByb3dJbmRleCA9ICRpbmRleCkge1xuICAgIDxkaXYgW2lkXT1cInVpZFwiIGNsYXNzPVwiZGNmLWdyaWQgZGNmLWdyaWQtY29sbGFwc2UgZGNmLWdyaWQtbWF0Y2hcIj5cbiAgICAgIEBpZihyb3cpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImRjZi13aWR0aC0xLTEgZGNmLWdyaWQtdGl0bGVcIj5cbiAgICAgICAgICA8aW9uLWNhcmQgY2xhc3M9XCJkY2YtZ3JpZC10aXRsZVwiPlxuICAgICAgICAgICAge3tyb3cudGl0bGUgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgIDwvaW9uLWNhcmQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGZvciAoY2hpbGQgb2Ygcm93LmNvbHM7IHRyYWNrIHRyYWNrSXRlbUZuKCRpbmRleCwgY2hpbGQuY29sKTsgbGV0IGNvbEluZGV4ID0gJGluZGV4KSB7XG4gICAgICAgIDxkaXYgW2NsYXNzXT1cIihjaGlsZC5jb2wgPT09IGNvbHMubGVuZ3RoID8gJ2RjZi13aWR0aC0xLTEnIDogJ2RjZi13aWR0aC0nK2NoaWxkLmNvbCsnLScrY29scy5sZW5ndGgrJ0AnK2JyZWFrcG9pbnQpXCI+XG4gICAgICAgICAgICA8ZGl2IFtjbGFzc109XCInZGNmLWdyaWQtY2hpbGQgJytjaGlsZC5jb2wgXCI+XG4gICAgICAgICAgICAgIEBpZihjaGlsZC50YWcgPT09ICduZ3gtZGVjYWYtY3J1ZC1mb3JtJykge1xuICAgICAgICAgICAgICAgIDxpb24tY2FyZCBbY2xhc3NdPVwiJ2RjZi1oZWlnaHQtMS0xICcgKyBjbGFzc05hbWVcIj5cbiAgICAgICAgICAgICAgICAgIDxpb24tY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8bmd4LWRlY2FmLW1vZGVsLXJlbmRlcmVyXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImNoaWxkLnByb3BzLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIChsaXN0ZW5FdmVudCk9XCJoYW5kbGVFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICA8L2lvbi1jYXJkPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8bmd4LWRlY2FmLWNvbXBvbmVudC1yZW5kZXJlclxuICAgICAgICAgICAgICAgICAgW3RhZ109XCJjaGlsZC50YWdcIlxuICAgICAgICAgICAgICAgICAgKGxpc3RlbkV2ZW50KT1cImhhbmRsZUV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgW2dsb2JhbHNdPVwie3Byb3BzOiBjaGlsZC5wcm9wc31cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxufVxuIl19
@@ -3,4 +3,4 @@ export var ListComponentsTypes;
3
3
  ListComponentsTypes["INFINITE"] = "infinite";
4
4
  ListComponentsTypes["PAGINATED"] = "paginated";
5
5
  })(ListComponentsTypes || (ListComponentsTypes = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDN0IsNENBQXFCLENBQUE7SUFDckIsOENBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGFwdGVyLCBSZXBvc2l0b3J5IH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBSZXBvc2l0b3J5RmxhZ3MgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuZXhwb3J0IGVudW0gTGlzdENvbXBvbmVudHNUeXBlcyB7XG4gIElORklOSVRFID0gJ2luZmluaXRlJyxcbiAgUEFHSU5BVEVEID0gJ3BhZ2luYXRlZCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdEVtcHR5UmVzdWx0IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU6IHN0cmluZztcbiAgc2hvd0J1dHRvbjogYm9vbGVhbjtcbiAgYnV0dG9uVGV4dDogc3RyaW5nO1xuICBsaW5rOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSYXdRdWVyeTxNIGV4dGVuZHMgTW9kZWw+IHtcbiAgICBzZWxlY3Q6IHVuZGVmaW5lZCB8IChrZXlvZiBNKVtdO1xuICAgIGZyb206IENvbnN0cnVjdG9yPE0+O1xuICAgIHdoZXJlOiAoZWw6IE0pID0+IGJvb2xlYW47XG4gICAgc29ydD86IChlbDogTSwgZWwyOiBNKSA9PiBudW1iZXI7XG4gICAgbGltaXQ/OiBudW1iZXI7XG4gICAgc2tpcD86IG51bWJlcjtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCB0eXBlIERlY2FmUmVwb3NpdG9yeUFkYXB0ZXIgPSBBZGFwdGVyPE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcgfCBudW1iZXIsIGFueT4+LCBSYXdRdWVyeTxhbnk+LCBSZXBvc2l0b3J5RmxhZ3MgJiB7VVVJSUQ/OiBzdHJpbmd9LCBDb250ZXh0PFJlcG9zaXRvcnlGbGFncyAmIHtVVUlJRD86IHN0cmluZ30+PlxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IHR5cGUgRGVjYWZSZXBvc2l0b3J5PE0gZXh0ZW5kcyBNb2RlbD4gPSBSZXBvc2l0b3J5PE0sIFJhd1F1ZXJ5PGFueT4sIERlY2FmUmVwb3NpdG9yeUFkYXB0ZXIsIFJlcG9zaXRvcnlGbGFncywgQ29udGV4dDxSZXBvc2l0b3J5RmxhZ3M+PjtcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDN0IsNENBQXFCLENBQUE7SUFDckIsOENBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGFwdGVyLCBSZXBvc2l0b3J5IH0gZnJvbSAnQGRlY2FmLXRzL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dCwgUmVwb3NpdG9yeUZsYWdzIH0gZnJvbSAnQGRlY2FmLXRzL2RiLWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IsIE1vZGVsIH0gZnJvbSAnQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uJztcblxuZXhwb3J0IGVudW0gTGlzdENvbXBvbmVudHNUeXBlcyB7XG4gIElORklOSVRFID0gJ2luZmluaXRlJyxcbiAgUEFHSU5BVEVEID0gJ3BhZ2luYXRlZCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpc3RFbXB0eVJlc3VsdCB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmc7XG4gIHNob3dCdXR0b246IGJvb2xlYW47XG4gIGJ1dHRvblRleHQ6IHN0cmluZztcbiAgbGluazogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmF3UXVlcnk8TSBleHRlbmRzIE1vZGVsPiB7XG4gIHNlbGVjdDogdW5kZWZpbmVkIHwgKGtleW9mIE0pW107XG4gIGZyb206IENvbnN0cnVjdG9yPE0+O1xuICB3aGVyZTogKGVsOiBNKSA9PiBib29sZWFuO1xuICBzb3J0PzogKGVsOiBNLCBlbDI6IE0pID0+IG51bWJlcjtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIHNraXA/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIERlY2FmUmVwb3NpdG9yeUFkYXB0ZXI8XG4gIEYgZXh0ZW5kcyBSZXBvc2l0b3J5RmxhZ3MgPSBSZXBvc2l0b3J5RmxhZ3MsXG4gIEMgZXh0ZW5kcyBDb250ZXh0PEY+ID0gQ29udGV4dDxGPlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuPiA9IEFkYXB0ZXI8YW55LCBhbnksIFJhd1F1ZXJ5PGFueT4sIEYsIEM+O1xuXG5leHBvcnQgdHlwZSBEZWNhZlJlcG9zaXRvcnk8TSBleHRlbmRzIE1vZGVsPiA9IFJlcG9zaXRvcnk8XG4gIE0sXG4gIFJhd1F1ZXJ5PE0+LFxuICBEZWNhZlJlcG9zaXRvcnlBZGFwdGVyPFJlcG9zaXRvcnlGbGFncywgQ29udGV4dDxSZXBvc2l0b3J5RmxhZ3M+PixcbiAgUmVwb3NpdG9yeUZsYWdzLFxuICBDb250ZXh0PFJlcG9zaXRvcnlGbGFncz5cbj47XG4iXX0=