@seniorsistemas/angular-components 14.10.2 → 14.11.0

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 (26) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +143 -93
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/dynamic-form/components/lookup/lookup.component.d.ts +1 -0
  6. package/components/mouse-events/double-click.directive.d.ts +9 -0
  7. package/components/mouse-events/index.d.ts +1 -0
  8. package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +6 -2
  9. package/esm2015/components/dynamic-form/dynamic-form.module.js +4 -2
  10. package/esm2015/components/mouse-events/double-click.directive.js +38 -0
  11. package/esm2015/components/mouse-events/index.js +2 -1
  12. package/esm2015/components/mouse-events/mouse-events.module.js +10 -3
  13. package/esm2015/seniorsistemas-angular-components.js +34 -33
  14. package/esm5/components/dynamic-form/components/lookup/lookup.component.js +6 -2
  15. package/esm5/components/dynamic-form/dynamic-form.module.js +4 -2
  16. package/esm5/components/mouse-events/double-click.directive.js +40 -0
  17. package/esm5/components/mouse-events/index.js +2 -1
  18. package/esm5/components/mouse-events/mouse-events.module.js +10 -3
  19. package/esm5/seniorsistemas-angular-components.js +34 -33
  20. package/fesm2015/seniorsistemas-angular-components.js +104 -58
  21. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  22. package/fesm5/seniorsistemas-angular-components.js +111 -63
  23. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  24. package/package.json +1 -1
  25. package/seniorsistemas-angular-components.d.ts +33 -32
  26. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -108,4 +108,5 @@ export declare class LookupComponent implements ControlValueAccessor, OnChanges,
108
108
  getScale(scale: any): number;
109
109
  private isFunction;
110
110
  getNumberMaskConfig(col: BignumberFieldConfig): MaskConfig;
111
+ onTableRowDoubleClick(rowData: any): void;
111
112
  }
@@ -0,0 +1,9 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ export declare class DoubleClickDirective {
3
+ onDoubleClick: EventEmitter<PointerEvent>;
4
+ private _timeout;
5
+ private _DOUBLE_CLICK_DELAY;
6
+ onClick(event: PointerEvent): void;
7
+ private handleOnClickEvent;
8
+ private clearTimeout;
9
+ }
@@ -1,2 +1,3 @@
1
1
  export * from "./mouse-events.module";
2
2
  export * from "./long-press.directive";
3
+ export * from "./double-click.directive";
@@ -283,6 +283,10 @@ let LookupComponent = LookupComponent_1 = class LookupComponent {
283
283
  prefix: (_c = col.numberLocaleOptions) === null || _c === void 0 ? void 0 : _c.currencySymbol
284
284
  };
285
285
  }
286
+ onTableRowDoubleClick(rowData) {
287
+ this.selected = [rowData];
288
+ this.select();
289
+ }
286
290
  };
287
291
  LookupComponent.nextId = 0;
288
292
  LookupComponent.ctorParameters = () => [
@@ -420,7 +424,7 @@ __decorate([
420
424
  LookupComponent = LookupComponent_1 = __decorate([
421
425
  Component({
422
426
  selector: "s-lookup",
423
- template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n <ng-template let-item pTemplate=\"selectedItem\">\n <span class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\" \n [pTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\" \n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed ? {value: 'hidden', params: {transitionParams: transitionOptions }} : {value: 'visible', params: {transitionParams: transitionOptions}}\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed ? {value: ':leave', params: {transitionParams: transitionOptions }} : {value: ':enter', params: {transitionParams: transitionOptions}}\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr sNavigation [pSelectableRow]=\"rowData\" [pSelectableRowIndex]=\"rowIndex\">\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
427
+ template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n <ng-template let-item pTemplate=\"selectedItem\">\n <span class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\" \n [pTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\" \n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed ? {value: 'hidden', params: {transitionParams: transitionOptions }} : {value: 'visible', params: {transitionParams: transitionOptions}}\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed ? {value: ':leave', params: {transitionParams: transitionOptions }} : {value: ':enter', params: {transitionParams: transitionOptions}}\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\"\n >\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
424
428
  providers: [
425
429
  {
426
430
  provide: NG_VALUE_ACCESSOR,
@@ -454,4 +458,4 @@ LookupComponent = LookupComponent_1 = __decorate([
454
458
  })
455
459
  ], LookupComponent);
456
460
  export { LookupComponent };
457
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2xvb2t1cC9sb29rdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RyxPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQWdEbEMsSUFBYSxlQUFlLHVCQUE1QixNQUFhLGVBQWU7SUFrSnhC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Q0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQy9ILENBQUM7WUFDRixPQUFPLENBQUMsc0JBQXNCLEVBQUU7Z0JBQzVCLEtBQUssQ0FDRCxRQUFRLEVBQ1IsS0FBSyxDQUFDO29CQUNGLE9BQU8sRUFBRSxDQUFDO2lCQUNiLENBQUMsQ0FDTDtnQkFDRCxLQUFLLENBQ0QsUUFBUSxFQUNSLEtBQUssQ0FBQztvQkFDRixPQUFPLEVBQUUsQ0FBQztpQkFDYixDQUFDLENBQ0w7Z0JBQ0QsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQzthQUN6RCxDQUFDO1NBQ0w7O0tBQ0osQ0FBQztHQUNXLGVBQWUsQ0EwYTNCO1NBMWFZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBhbmltYXRlQ2hpbGQsIGdyb3VwLCBxdWVyeSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBCaWdudW1iZXJGaWVsZENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvYmlnbnVtYmVyLWZpZWxkXCI7XG5pbXBvcnQgeyBNYXNrQ29uZmlnIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9uZzItY3VycmVuY3ktbWFza1wiO1xuaW1wb3J0IHsgSG90a2V5LCBIb3RrZXlzU2VydmljZSB9IGZyb20gXCJhbmd1bGFyMi1ob3RrZXlzXCI7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gXCJiaWdudW1iZXIuanNcIjtcbmltcG9ydCB7IFNvcnRNZXRhIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGUgfSBmcm9tIFwicHJpbWVuZy9hdXRvY29tcGxldGVcIjtcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gXCJwcmltZW5nL2RpYWxvZ1wiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEJvb2xlYW5PcHRpb25zTGFiZWwgfSBmcm9tIFwiLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2Jvb2xlYW4tZmllbGRcIjtcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi4vLi5cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1sb29rdXBcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2xvb2t1cC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9sb29rdXAuY29tcG9uZW50LnNjc3NcIl0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTG9va3VwQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoXCJjb2xsYXBzZUNvbnRlbnRcIiwgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgXCJoaWRkZW5cIixcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwcHhcIixcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgIFwidmlzaWJsZVwiLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiKlwiLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbihcInZpc2libGUgPD0+IGhpZGRlblwiLCBbZ3JvdXAoW3F1ZXJ5KFwiQGNoaWxkQ29sbGFwc2VDb250ZW50XCIsIGFuaW1hdGVDaGlsZCgpKSwgYW5pbWF0ZShcInt7dHJhbnNpdGlvblBhcmFtc319XCIpXSldKSxcbiAgICAgICAgXSksXG4gICAgICAgIHRyaWdnZXIoXCJjaGlsZENvbGxhcHNlQ29udGVudFwiLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICBcIjpsZWF2ZVwiLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgIFwiOmVudGVyXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbihcIiogPD0+ICpcIiwgYW5pbWF0ZShcInt7dHJhbnNpdGlvblBhcmFtc319XCIpKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTG9va3VwQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBzdGF0aWMgbmV4dElkID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgcy1sb29rdXAtJHtMb29rdXBDb21wb25lbnQubmV4dElkKyt9YDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpcGxlOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGF0YUtleTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd1NlYXJjaCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb29rdXBTdWdnZXN0aW9uczogYW55W107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb29rdXBEaXNwbGF5RmllbGQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cERpc3BsYXlGaWVsZFRvb2x0aXA6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsb29rdXBFbXB0eU1lc3NhZ2U6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cEFwcGVuZFRvID0gXCJib2R5XCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hUaXRsZSA9IFwiUGVzcXVpc2EgYXZhbsOnYWRhXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hFbXB0eVRpdGxlID0gXCJOZW5odW0gcmVnaXN0cm8gZW5jb250cmFkb1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoRW1wdHlEZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoR3JpZERhdGE6IGFueVtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoVG90YWxSZWNvcmRzOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hGaWVsZHM6IEZvcm1GaWVsZFtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hHcmlkRmllbGRzOiBGb3JtRmllbGRbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG11bHRpU29ydE1ldGE6IFNvcnRNZXRhW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJUaXRsZSA9IFwiRmlsdHJvc1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsdGVyTGFiZWwgPSBcIkZpbHRyYXJcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNsZWFyTGFiZWwgPSBcIkxpbXBhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2FuY2VsTGFiZWwgPSBcIkNhbmNlbGFyXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RMYWJlbCA9IFwiU2VsZWNpb25hclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlGaWVsZExhYmVsID0gXCJOw6NvIGluZm9ybWFkb1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVjb3JkTGFiZWwgPSBcIiByZWdpc3Ryb1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVjb3Jkc0xhYmVsID0gXCIgcmVnaXN0cm9zXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VhcmNoVG90YWxSZWNvcmRzTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNvcnRhYmxlQ29sdW1uc0Rpc2FibGVkOiBzdHJpbmdbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cFJvd1Byb3BzOiBzdHJpbmdbXTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkxvb2t1cFJlcXVlc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uU2VhcmNoUmVxdWVzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25CbHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbktleVVwOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25VbnNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25DbGVhcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKFRhYmxlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgdGFibGU6IFRhYmxlO1xuXG4gICAgQFZpZXdDaGlsZChEaWFsb2csIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBkaWFsb2c6IERpYWxvZztcblxuICAgIEBWaWV3Q2hpbGQoQXV0b0NvbXBsZXRlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgYXV0b2NvbXBsZXRlOiBBdXRvQ29tcGxldGU7XG5cbiAgICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgYW5pbWF0aW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyBkaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgcHVibGljIGNvbGxhcHNlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBzZWxlY3RlZDogYW55W10gPSBbXTtcbiAgICBwdWJsaWMgZm9ybUdyb3VwRGlhbG9nOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIHRyYW5zaXRpb25PcHRpb25zID0gXCI0MDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSlcIjtcblxuICAgIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgb25Ub3VjaGVkOiBGdW5jdGlvbjtcbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgb3JpZ2luYWxGb3JtVmFsdWVzID0ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvdGtleXNTZXJ2aWNlOiBIb3RrZXlzU2VydmljZSkge31cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hGaWVsZHMgPSB0aGlzLnNlYXJjaEZpZWxkcy5tYXAoXG4gICAgICAgICAgICAodmFsdWU6IEZvcm1GaWVsZCkgPT4gbmV3IEZvcm1GaWVsZCh7IC4uLnZhbHVlLCBzaXplOiB7IHNtOiAxMiwgbWQ6IDEyLCBsZzogMTIsIHhsOiAxMiB9IH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hHcmlkRmllbGRzID0gKHRoaXMuc2VhcmNoR3JpZEZpZWxkcyB8fCB0aGlzLnNlYXJjaEZpZWxkcykubWFwKChncmlkRmllbGQ6IEZvcm1GaWVsZCkgPT4ge1xuICAgICAgICAgICAgZ3JpZEZpZWxkW1wid2lkdGhcIl0gPSB0aGlzLmdldENvbFdpZHRoKGdyaWRGaWVsZC5sYWJlbCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNhbGVuZGFyT3B0aW9ucyA9IGdyaWRGaWVsZC5jYWxlbmRhckxvY2FsZU9wdGlvbnM7XG5cbiAgICAgICAgICAgIGlmIChjYWxlbmRhck9wdGlvbnM/LmRhdGVGb3JtYXQpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGdyaWRGaWVsZC50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhck9wdGlvbnMuZGF0ZUZvcm1hdCA9IHRoaXMuX2NvbnZlcnRUb01vbWVudERhdGVGb3JtYXQoY2FsZW5kYXJPcHRpb25zLmRhdGVGb3JtYXQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuVGltZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5kYXRlRm9ybWF0ID0gdGhpcy5fY29udmVydFRvTW9tZW50SG91ckZvcm1hdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhck9wdGlvbnMuaG91ckZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhck9wdGlvbnMuZGF0ZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZ3JpZEZpZWxkO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBmb3JtR3JvdXAgPSB0aGlzLnNlYXJjaEZpZWxkcy5yZWR1Y2UoKHJlc3VsdDogYW55LCBmaWVsZCkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0W2ZpZWxkLm5hbWVdID0gbmV3IEZvcm1Db250cm9sKGZpZWxkLmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsRm9ybVZhbHVlc1tmaWVsZC5uYW1lXSA9IGZpZWxkLmRlZmF1bHRWYWx1ZTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgICB0aGlzLmZvcm1Hcm91cERpYWxvZyA9IG5ldyBGb3JtR3JvdXAoZm9ybUdyb3VwKTtcblxuICAgICAgICB0aGlzLm9uU2VhcmNoUmVxdWVzdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gKHRoaXMubG9hZGluZyA9IHRydWUpKTtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKSk7XG4gICAgICAgIHRoaXMub25VbnNlbGVjdC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKSk7XG4gICAgICAgIHRoaXMub25DbGVhci5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4gIXRoaXMubXVsdGlwbGUgJiYgdGhpcy5vbkNoYW5nZSgpKTtcbiAgICAgICAgdGhpcy5vbkZvY3VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbkJsdXIucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZVt0aGlzLmxvb2t1cERpc3BsYXlGaWVsZF07XG4gICAgICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlIHx8ICFjdXJyZW50VmFsdWUgfHwgY3VycmVudFZhbHVlID09IHZhbHVlKSByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gXCJcIjtcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShuZXdWYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbnZlcnRUb01vbWVudEhvdXJGb3JtYXQoaG91ckZvcm1hdDogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZykge1xuICAgICAgICBpZiAoZm9ybWF0ID09PSBcImRkL21tL3l5XCIpIHsgLy8gdmFsb3IgcGFkcsOjbyBwYXJhIG8gZm9ybWF0LlxuICAgICAgICAgICAgcmV0dXJuIFwiTFRTXCI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG91ckZvcm1hdCA9PT0gXCIxMlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0XG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcYkhcXGIvLCBcImhcIikgICAgIC8vIGhvdXIgKDEyIGhvdXIgdGltZSkgKG5vIGxlYWRpbmcgemVybylcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxiSEhcXGIvLCBcImhoXCIpOyAgLy8gaG91ciAoMTIgaG91ciB0aW1lKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdXJGb3JtYXQgPT09IFwiMjRcIikge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdFxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJoXFxiLywgXCJIXCIpICAgICAvLyBob3VyICgyNCBob3VyIHRpbWUpIChubyBsZWFkaW5nIHplcm8pXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcYmhoXFxiLywgXCJISFwiKTsgIC8vIGhvdXIgKDI0IGhvdXIgdGltZSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JtYXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29udmVydFRvTW9tZW50RGF0ZUZvcm1hdChmb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIC8vIEEgb3JkZW0gZG9zIHJlcGxhY2VzIMOpIGltcG9ydGFudGUuXG4gICAgICAgIHJldHVybiBmb3JtYXRcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJkXFxiLywgXCJEXCIpICAgICAgLy8gZGF5IG9mIG1vbnRoIChubyBsZWFkaW5nIHplcm8pXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxiZGRcXGIvLCBcIkREXCIpICAgIC8vIGRheSBvZiBtb250aFxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYm9cXGIvLCBcIkRERFwiKSAgICAvLyBkYXkgb2YgdGhlIHllYXIgKG5vIGxlYWRpbmcgemVybylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJvb1xcYi8sIFwiRERERFwiKSAgLy8gZGF5IG9mIHRoZSB5ZWFyXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxiTVxcYi8sIFwiTU1NXCIpICAgIC8vIG1vbnRoIG5hbWUgc2hvcnRcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJNTVxcYi8sIFwiTU1NTVwiKSAgLy8gbW9udGggbmFtZSBsb25nXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxibVxcYi8sIFwiTVwiKSAgICAgIC8vIG1vbnRoIG9mIHllYXIgKG5vIGxlYWRpbmcpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxibW1cXGIvLCBcIk1NXCIpICAgIC8vIG1vbnRoIG9mIHllYXJcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJ5XFxiLywgXCJZWVwiKSAgICAgLy8geWVhciAodHdvIGRpZ2l0cylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJ5eVxcYi8sIFwiWVlZWVwiKTsgLy8geWVhciAoZm91ciBkaWdpdHMpXG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGUub25PdmVybGF5QW5pbWF0aW9uRG9uZSA9ICggZXZlbnQgKSA9PiB7IH07XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nVmlzaWJsZSAmJiBjaGFuZ2VzLnNlYXJjaEdyaWREYXRhKSB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRHcmlkRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoR3JpZERhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExvb2t1cFN1Z2dlc3Rpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb29rdXBTdWdnZXN0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF6eUxvYWRHcmlkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgLy8gQW8gZGVmaW5pciB1bWEgb3JkZW5hw6fDo28gbmEgdGFiZWxhIGRvIGxvb2t1cCBlc3NlIG3DqXRvZG8gw6kgY2hhbWFkbyAyIHZlemVzIGh0dHBzOi8vZ2l0aHViLmNvbS9wcmltZWZhY2VzL3ByaW1lbmcvaXNzdWVzLzU0ODBcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IHRoaXMuZm9ybUdyb3VwRGlhbG9nLmdldFJhd1ZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4uZXZlbnQsIGZpbHRlckRhdGE6IGZpbHRlcnMgfTtcbiAgICAgICAgY29uc3QgeyBtdWx0aVNvcnRNZXRhIH0gPSBldmVudDtcbiAgICAgICAgdGhpcy5tdWx0aVNvcnRNZXRhID0gbXVsdGlTb3J0TWV0YSB8fCB0aGlzLm11bHRpU29ydE1ldGE7XG4gICAgICAgIHRoaXMub25TZWFyY2hSZXF1ZXN0Lm5leHQocGFyYW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF6eUxvYWRMb29rdXAoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLm9uTG9va3VwUmVxdWVzdC5uZXh0KGV2ZW50LnF1ZXJ5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvd0RpYWxvZygpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hHcmlkRGF0YSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5ob3RrZXlzU2VydmljZS5wYXVzZShbLi4udGhpcy5ob3RrZXlzU2VydmljZS5ob3RrZXlzXSk7XG4gICAgICAgIHRoaXMuc2V0SG90a2V5cygpO1xuXG4gICAgICAgIGxldCBzZWxlY3RlZDogYW55ID0gW107XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIHRoaXMudmFsdWUpIHNlbGVjdGVkID0gc2VsZWN0ZWQuY29uY2F0KHRoaXMudmFsdWUpO1xuICAgICAgICBlbHNlIGlmICh0aGlzLnZhbHVlKSBzZWxlY3RlZCA9IFt0aGlzLnZhbHVlXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGhpZGVEaWFsb2coKSB7XG4gICAgICAgIGNvbnN0IHsgaW5wdXRFTCwgbXVsdGlJbnB1dEVMIH0gPSB0aGlzLmF1dG9jb21wbGV0ZTtcbiAgICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaG90a2V5c1NlcnZpY2UudW5wYXVzZShbLi4udGhpcy5ob3RrZXlzU2VydmljZS5wYXVzZWRIb3RrZXlzXSk7XG5cbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIG11bHRpSW5wdXRFTC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGVsc2UgaW5wdXRFTC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlYXJjaCgpIHtcbiAgICAgICAgdGhpcy50YWJsZS5yZXNldCgpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZGlhbG9nLm1vdmVPblRvcCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXBEaWFsb2cucmVzZXQodGhpcy5vcmlnaW5hbEZvcm1WYWx1ZXMpO1xuICAgICAgICB0aGlzLnRhYmxlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZCAmJiAodGhpcy5tdWx0aXBsZSA/IHRoaXMuc2VsZWN0ZWQgOiB0aGlzLnNlbGVjdGVkWzBdKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLm9uU2VsZWN0Lm5leHQoc2VsZWN0ZWQpO1xuICAgICAgICB0aGlzLmhpZGVEaWFsb2coKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0ZWQ6IGFueSkge1xuICAgICAgICBpZiAoIXNlbGVjdGVkKSByZXR1cm47XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHNlbGVjdGVkKSkgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICBlbHNlIHRoaXMuc2VsZWN0ZWQgPSBbc2VsZWN0ZWRdO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gKHZhbDogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodmFsKTtcbiAgICAgICAgICAgIGZuKHZhbCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmllbGRWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdCwgcHJvcCkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IHJlc3VsdFtwcm9wXSksIG9iaik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExhYmVsRm9yVmFsdWUodmFsdWU6IGFueSwgb3B0aW9uczogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55IH1bXSkge1xuICAgICAgICBpZiAoIW9wdGlvbnMpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9ucy5maW5kKG9wdCA9PiBvcHQudmFsdWUgPT09IHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG9wdGlvbiA/IG9wdGlvbi5sYWJlbCA6IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0Jvb2xlYW5WYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlKG9iaiwgcGF0aCk7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UpIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Qm9vbGVhbkxhYmVsKG9iajogYW55LCBwYXRoOiBzdHJpbmcsIG9wdGlvbnNMYWJlbDogQm9vbGVhbk9wdGlvbnNMYWJlbCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0RmllbGRWYWx1ZShvYmosIHBhdGgpO1xuICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHJldHVybiBvcHRpb25zTGFiZWwudHJ1ZTtcbiAgICAgICAgZWxzZSBpZiAodmFsdWUgPT09IGZhbHNlKSByZXR1cm4gb3B0aW9uc0xhYmVsLmZhbHNlO1xuICAgICAgICBlbHNlIHJldHVybiB0aGlzLmVtcHR5RmllbGRMYWJlbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNOdW1iZXIob2JqOiBhbnksIHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gIShuZXcgQmlnTnVtYmVyKHRoaXMuZ2V0RmllbGRWYWx1ZShvYmosIHBhdGgpKS5pc05hTigpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0SG90a2V5cygpIHtcbiAgICAgICAgY29uc3QgY2xlYXJIb3RrZXkgPSB0aGlzLm5ld0hvdGtleShcImFsdCtzaGlmdCtsXCIsIHRoaXMuY2xlYXIuYmluZCh0aGlzKSk7XG4gICAgICAgIGNvbnN0IGZpbmRIb3RrZXkgPSB0aGlzLm5ld0hvdGtleShcImFsdCtzaGlmdCtmXCIsIHRoaXMuc2VhcmNoLmJpbmQodGhpcykpO1xuICAgICAgICBjb25zdCBoaWRlSG90a2V5ID0gdGhpcy5uZXdIb3RrZXkoXCJhbHQrc2hpZnQrY1wiLCB0aGlzLmhpZGVEaWFsb2cuYmluZCh0aGlzKSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdEhvdGtleSA9IHRoaXMubmV3SG90a2V5KFwiYWx0K3NoaWZ0K3NcIiwgdGhpcy5zZWxlY3QuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgY29uc3QgYmluZGVkSG90a2V5cyA9IFtjbGVhckhvdGtleSwgZmluZEhvdGtleSwgaGlkZUhvdGtleSwgc2VsZWN0SG90a2V5XTtcbiAgICAgICAgYmluZGVkSG90a2V5cy5mb3JFYWNoKChob3RrZXk6IEhvdGtleSkgPT4gdGhpcy5ob3RrZXlzU2VydmljZS5hZGQoaG90a2V5KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBuZXdIb3RrZXkoY29tYm86IHN0cmluZywgZm46IEZ1bmN0aW9uKTogSG90a2V5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBIb3RrZXkoXG4gICAgICAgICAgICBjb21ibyxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBmbigpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbXCJJTlBVVFwiLCBcIlNFTEVDVFwiLCBcIlRFWFRBUkVBXCJdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbHRlclRvZ2dsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuYW5pbWF0aW5nKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5hbmltYXRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ub2dnbGVEb25lKCkge1xuICAgICAgICB0aGlzLmFuaW1hdGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSB0aGUgdGFibGUgY29sdW1uIHNpemUuIFRoZSBtaW5pbXVtIHZhbHVlIGlzIDE0LjI4NmVtLCB3aGljaCBpcyBlcXVhbHMgdG8gMjAwcHggZHVvIHRvIHRoZSBjdXJyZW50IGZvbnQgc2l6ZS5cbiAgICAgKiBAcGFyYW0gbGFiZWwgQ29sdW1uIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldENvbFdpZHRoKGxhYmVsOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGxhYmVsLmxlbmd0aDtcbiAgICAgICAgaWYgKHNpemUgPCAxNC4yODYpIHJldHVybiBgMTQuMjg2ZW1gO1xuICAgICAgICByZXR1cm4gYCR7c2l6ZX1lbWA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNjYWxlKHNjYWxlOiBhbnkpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Z1bmN0aW9uKHNjYWxlKSA/IHNjYWxlKCkgOiBzY2FsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TnVtYmVyTWFza0NvbmZpZyhjb2w6IEJpZ251bWJlckZpZWxkQ29uZmlnKTogTWFza0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzY2FsZTogdGhpcy5nZXRTY2FsZShjb2wuc2NhbGUpLFxuICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IGNvbC5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IsXG4gICAgICAgICAgICBwcmVmaXg6IGNvbC5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
461
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2xvb2t1cC9sb29rdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RyxPQUFPLEVBRUgsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQWdEbEMsSUFBYSxlQUFlLHVCQUE1QixNQUFhLGVBQWU7SUFrSnhC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QkFDRCxLQUFLLENBQ0QsU0FBUyxFQUNULEtBQUssQ0FBQztvQkFDRixLQUFLLEVBQUUsR0FBRztpQkFDYixDQUFDLENBQ0w7Z0JBQ0QsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0gsQ0FBQztZQUNGLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtnQkFDNUIsS0FBSyxDQUNELFFBQVEsRUFDUixLQUFLLENBQUM7b0JBQ0YsT0FBTyxFQUFFLENBQUM7aUJBQ2IsQ0FBQyxDQUNMO2dCQUNELEtBQUssQ0FDRCxRQUFRLEVBQ1IsS0FBSyxDQUFDO29CQUNGLE9BQU8sRUFBRSxDQUFDO2lCQUNiLENBQUMsQ0FDTDtnQkFDRCxVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2FBQ3pELENBQUM7U0FDTDs7S0FDSixDQUFDO0dBQ1csZUFBZSxDQSthM0I7U0EvYVksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGFuaW1hdGVDaGlsZCwgZ3JvdXAsIHF1ZXJ5LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9iaWdudW1iZXItZmllbGRcIjtcbmltcG9ydCB7IE1hc2tDb25maWcgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL25nMi1jdXJyZW5jeS1tYXNrXCI7XG5pbXBvcnQgeyBIb3RrZXksIEhvdGtleXNTZXJ2aWNlIH0gZnJvbSBcImFuZ3VsYXIyLWhvdGtleXNcIjtcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSBcImJpZ251bWJlci5qc1wiO1xuaW1wb3J0IHsgU29ydE1ldGEgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IEF1dG9Db21wbGV0ZSB9IGZyb20gXCJwcmltZW5nL2F1dG9jb21wbGV0ZVwiO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSBcInByaW1lbmcvZGlhbG9nXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgQm9vbGVhbk9wdGlvbnNMYWJlbCB9IGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvYm9vbGVhbi1maWVsZFwiO1xuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb25zL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuLi8uLlwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLWxvb2t1cFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vbG9va3VwLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2xvb2t1cC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMb29rdXBDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcihcImNvbGxhcHNlQ29udGVudFwiLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICBcImhpZGRlblwiLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMTBweFwiLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgXCJ2aXNpYmxlXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIqXCIsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwidmlzaWJsZSA8PT4gaGlkZGVuXCIsIFtncm91cChbcXVlcnkoXCJAY2hpbGRDb2xsYXBzZUNvbnRlbnRcIiwgYW5pbWF0ZUNoaWxkKCkpLCBhbmltYXRlKFwie3t0cmFuc2l0aW9uUGFyYW1zfX1cIildKV0pLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJpZ2dlcihcImNoaWxkQ29sbGFwc2VDb250ZW50XCIsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgIFwiOmxlYXZlXCIsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgXCI6ZW50ZXJcIixcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiKiA8PT4gKlwiLCBhbmltYXRlKFwie3t0cmFuc2l0aW9uUGFyYW1zfX1cIikpLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMb29rdXBDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBzLWxvb2t1cC0ke0xvb2t1cENvbXBvbmVudC5uZXh0SWQrK31gO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkYXRhS2V5OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93U2VhcmNoID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cFN1Z2dlc3Rpb25zOiBhbnlbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cERpc3BsYXlGaWVsZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9va3VwRGlzcGxheUZpZWxkVG9vbHRpcDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxvb2t1cEVtcHR5TWVzc2FnZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9va3VwQXBwZW5kVG8gPSBcImJvZHlcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaFRpdGxlID0gXCJQZXNxdWlzYSBhdmFuw6dhZGFcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaEVtcHR5VGl0bGUgPSBcIk5lbmh1bSByZWdpc3RybyBlbmNvbnRyYWRvXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hFbXB0eURlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hHcmlkRGF0YTogYW55W107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hUb3RhbFJlY29yZHM6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaEZpZWxkczogRm9ybUZpZWxkW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlYXJjaEdyaWRGaWVsZHM6IEZvcm1GaWVsZFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbXVsdGlTb3J0TWV0YTogU29ydE1ldGFbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpbHRlclRpdGxlID0gXCJGaWx0cm9zXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJMYWJlbCA9IFwiRmlsdHJhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2xlYXJMYWJlbCA9IFwiTGltcGFyXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjYW5jZWxMYWJlbCA9IFwiQ2FuY2VsYXJcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlbGVjdExhYmVsID0gXCJTZWxlY2lvbmFyXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbXB0eUZpZWxkTGFiZWwgPSBcIk7Do28gaW5mb3JtYWRvXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZWNvcmRMYWJlbCA9IFwiIHJlZ2lzdHJvXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZWNvcmRzTGFiZWwgPSBcIiByZWdpc3Ryb3NcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWFyY2hUb3RhbFJlY29yZHNMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc29ydGFibGVDb2x1bW5zRGlzYWJsZWQ6IHN0cmluZ1tdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9va3VwUm93UHJvcHM6IHN0cmluZ1tdO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uTG9va3VwUmVxdWVzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25TZWFyY2hSZXF1ZXN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uS2V5VXA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvblVuc2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNsZWFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoVGFibGUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyB0YWJsZTogVGFibGU7XG5cbiAgICBAVmlld0NoaWxkKERpYWxvZywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIGRpYWxvZzogRGlhbG9nO1xuXG4gICAgQFZpZXdDaGlsZChBdXRvQ29tcGxldGUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBhdXRvY29tcGxldGU6IEF1dG9Db21wbGV0ZTtcblxuICAgIHB1YmxpYyB2YWx1ZTogYW55O1xuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyBhbmltYXRpbmc6IGJvb2xlYW47XG4gICAgcHVibGljIGRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgICBwdWJsaWMgY29sbGFwc2VkID0gZmFsc2U7XG4gICAgcHVibGljIHNlbGVjdGVkOiBhbnlbXSA9IFtdO1xuICAgIHB1YmxpYyBmb3JtR3JvdXBEaWFsb2c6IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgdHJhbnNpdGlvbk9wdGlvbnMgPSBcIjQwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKVwiO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBvblRvdWNoZWQ6IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBvcmlnaW5hbEZvcm1WYWx1ZXMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaG90a2V5c1NlcnZpY2U6IEhvdGtleXNTZXJ2aWNlKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNlYXJjaEZpZWxkcyA9IHRoaXMuc2VhcmNoRmllbGRzLm1hcChcbiAgICAgICAgICAgICh2YWx1ZTogRm9ybUZpZWxkKSA9PiBuZXcgRm9ybUZpZWxkKHsgLi4udmFsdWUsIHNpemU6IHsgc206IDEyLCBtZDogMTIsIGxnOiAxMiwgeGw6IDEyIH0gfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNlYXJjaEdyaWRGaWVsZHMgPSAodGhpcy5zZWFyY2hHcmlkRmllbGRzIHx8IHRoaXMuc2VhcmNoRmllbGRzKS5tYXAoKGdyaWRGaWVsZDogRm9ybUZpZWxkKSA9PiB7XG4gICAgICAgICAgICBncmlkRmllbGRbXCJ3aWR0aFwiXSA9IHRoaXMuZ2V0Q29sV2lkdGgoZ3JpZEZpZWxkLmxhYmVsKTtcblxuICAgICAgICAgICAgY29uc3QgY2FsZW5kYXJPcHRpb25zID0gZ3JpZEZpZWxkLmNhbGVuZGFyTG9jYWxlT3B0aW9ucztcblxuICAgICAgICAgICAgaWYgKGNhbGVuZGFyT3B0aW9ucz8uZGF0ZUZvcm1hdCkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZ3JpZEZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5kYXRlRm9ybWF0ID0gdGhpcy5fY29udmVydFRvTW9tZW50RGF0ZUZvcm1hdChjYWxlbmRhck9wdGlvbnMuZGF0ZUZvcm1hdCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5UaW1lOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJPcHRpb25zLmRhdGVGb3JtYXQgPSB0aGlzLl9jb252ZXJ0VG9Nb21lbnRIb3VyRm9ybWF0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5ob3VyRm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyT3B0aW9ucy5kYXRlRm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBncmlkRmllbGQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuc2VhcmNoRmllbGRzLnJlZHVjZSgocmVzdWx0OiBhbnksIGZpZWxkKSA9PiB7XG4gICAgICAgICAgICByZXN1bHRbZmllbGQubmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woZmllbGQuZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxGb3JtVmFsdWVzW2ZpZWxkLm5hbWVdID0gZmllbGQuZGVmYXVsdFZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwRGlhbG9nID0gbmV3IEZvcm1Hcm91cChmb3JtR3JvdXApO1xuXG4gICAgICAgIHRoaXMub25TZWFyY2hSZXF1ZXN0LnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gdHJ1ZSkpO1xuICAgICAgICB0aGlzLm9uU2VsZWN0LnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpKTtcbiAgICAgICAgdGhpcy5vblVuc2VsZWN0LnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpKTtcbiAgICAgICAgdGhpcy5vbkNsZWFyLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiAhdGhpcy5tdWx0aXBsZSAmJiB0aGlzLm9uQ2hhbmdlKCkpO1xuICAgICAgICB0aGlzLm9uRm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uQmx1ci5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlW3RoaXMubG9va3VwRGlzcGxheUZpZWxkXTtcbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgfHwgIWN1cnJlbnRWYWx1ZSB8fCBjdXJyZW50VmFsdWUgPT0gdmFsdWUpIHJldHVybjtcblxuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBcIlwiO1xuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29udmVydFRvTW9tZW50SG91ckZvcm1hdChob3VyRm9ybWF0OiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwiZGQvbW0veXlcIikgeyAvLyB2YWxvciBwYWRyw6NvIHBhcmEgbyBmb3JtYXQuXG4gICAgICAgICAgICByZXR1cm4gXCJMVFNcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3VyRm9ybWF0ID09PSBcIjEyXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxiSFxcYi8sIFwiaFwiKSAgICAgLy8gaG91ciAoMTIgaG91ciB0aW1lKSAobm8gbGVhZGluZyB6ZXJvKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJISFxcYi8sIFwiaGhcIik7ICAvLyBob3VyICgxMiBob3VyIHRpbWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG91ckZvcm1hdCA9PT0gXCIyNFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0XG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcYmhcXGIvLCBcIkhcIikgICAgIC8vIGhvdXIgKDI0IGhvdXIgdGltZSkgKG5vIGxlYWRpbmcgemVybylcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxiaGhcXGIvLCBcIkhIXCIpOyAgLy8gaG91ciAoMjQgaG91ciB0aW1lKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZvcm1hdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb252ZXJ0VG9Nb21lbnREYXRlRm9ybWF0KGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gQSBvcmRlbSBkb3MgcmVwbGFjZXMgw6kgaW1wb3J0YW50ZS5cbiAgICAgICAgcmV0dXJuIGZvcm1hdFxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYmRcXGIvLCBcIkRcIikgICAgICAvLyBkYXkgb2YgbW9udGggKG5vIGxlYWRpbmcgemVybylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJkZFxcYi8sIFwiRERcIikgICAgLy8gZGF5IG9mIG1vbnRoXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxib1xcYi8sIFwiREREXCIpICAgIC8vIGRheSBvZiB0aGUgeWVhciAobm8gbGVhZGluZyB6ZXJvKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYm9vXFxiLywgXCJEREREXCIpICAvLyBkYXkgb2YgdGhlIHllYXJcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJNXFxiLywgXCJNTU1cIikgICAgLy8gbW9udGggbmFtZSBzaG9ydFxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYk1NXFxiLywgXCJNTU1NXCIpICAvLyBtb250aCBuYW1lIGxvbmdcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJtXFxiLywgXCJNXCIpICAgICAgLy8gbW9udGggb2YgeWVhciAobm8gbGVhZGluZylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXGJtbVxcYi8sIFwiTU1cIikgICAgLy8gbW9udGggb2YgeWVhclxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYnlcXGIvLCBcIllZXCIpICAgICAvLyB5ZWFyICh0d28gZGlnaXRzKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcYnl5XFxiLywgXCJZWVlZXCIpOyAvLyB5ZWFyIChmb3VyIGRpZ2l0cylcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZS5vbk92ZXJsYXlBbmltYXRpb25Eb25lID0gKCBldmVudCApID0+IHsgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAodGhpcy5kaWFsb2dWaXNpYmxlICYmIGNoYW5nZXMuc2VhcmNoR3JpZERhdGEpIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEdyaWREYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hHcmlkRGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TG9va3VwU3VnZ2VzdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvb2t1cFN1Z2dlc3Rpb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBsYXp5TG9hZEdyaWQoZXZlbnQ6IGFueSkge1xuICAgICAgICAvLyBBbyBkZWZpbmlyIHVtYSBvcmRlbmHDp8OjbyBuYSB0YWJlbGEgZG8gbG9va3VwIGVzc2UgbcOpdG9kbyDDqSBjaGFtYWRvIDIgdmV6ZXMgaHR0cHM6Ly9naXRodWIuY29tL3ByaW1lZmFjZXMvcHJpbWVuZy9pc3N1ZXMvNTQ4MFxuICAgICAgICBjb25zdCBmaWx0ZXJzID0gdGhpcy5mb3JtR3JvdXBEaWFsb2cuZ2V0UmF3VmFsdWUoKTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0geyAuLi5ldmVudCwgZmlsdGVyRGF0YTogZmlsdGVycyB9O1xuICAgICAgICBjb25zdCB7IG11bHRpU29ydE1ldGEgfSA9IGV2ZW50O1xuICAgICAgICB0aGlzLm11bHRpU29ydE1ldGEgPSBtdWx0aVNvcnRNZXRhIHx8IHRoaXMubXVsdGlTb3J0TWV0YTtcbiAgICAgICAgdGhpcy5vblNlYXJjaFJlcXVlc3QubmV4dChwYXJhbXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsYXp5TG9hZExvb2t1cChldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMub25Mb29rdXBSZXF1ZXN0Lm5leHQoZXZlbnQucXVlcnkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG93RGlhbG9nKCkge1xuICAgICAgICB0aGlzLnNlYXJjaEdyaWREYXRhID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmhvdGtleXNTZXJ2aWNlLnBhdXNlKFsuLi50aGlzLmhvdGtleXNTZXJ2aWNlLmhvdGtleXNdKTtcbiAgICAgICAgdGhpcy5zZXRIb3RrZXlzKCk7XG5cbiAgICAgICAgbGV0IHNlbGVjdGVkOiBhbnkgPSBbXTtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgdGhpcy52YWx1ZSkgc2VsZWN0ZWQgPSBzZWxlY3RlZC5jb25jYXQodGhpcy52YWx1ZSk7XG4gICAgICAgIGVsc2UgaWYgKHRoaXMudmFsdWUpIHNlbGVjdGVkID0gW3RoaXMudmFsdWVdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGlkZURpYWxvZygpIHtcbiAgICAgICAgY29uc3QgeyBpbnB1dEVMLCBtdWx0aUlucHV0RUwgfSA9IHRoaXMuYXV0b2NvbXBsZXRlO1xuICAgICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ob3RrZXlzU2VydmljZS51bnBhdXNlKFsuLi50aGlzLmhvdGtleXNTZXJ2aWNlLnBhdXNlZEhvdGtleXNdKTtcblxuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkgbXVsdGlJbnB1dEVMLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgZWxzZSBpbnB1dEVMLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoKCkge1xuICAgICAgICB0aGlzLnRhYmxlLnJlc2V0KCk7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5kaWFsb2cubW92ZU9uVG9wKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cERpYWxvZy5yZXNldCh0aGlzLm9yaWdpbmFsRm9ybVZhbHVlcyk7XG4gICAgICAgIHRoaXMudGFibGUucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0KCkge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWQubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkICYmICh0aGlzLm11bHRpcGxlID8gdGhpcy5zZWxlY3RlZCA6IHRoaXMuc2VsZWN0ZWRbMF0pO1xuICAgICAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMub25TZWxlY3QubmV4dChzZWxlY3RlZCk7XG4gICAgICAgIHRoaXMuaGlkZURpYWxvZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3RlZDogYW55KSB7XG4gICAgICAgIGlmICghc2VsZWN0ZWQpIHJldHVybjtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2VsZWN0ZWQpKSB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgIGVsc2UgdGhpcy5zZWxlY3RlZCA9IFtzZWxlY3RlZF07XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSAodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh2YWwpO1xuICAgICAgICAgICAgZm4odmFsKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaWVsZFZhbHVlKG9iajogYW55LCBwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgocmVzdWx0LCBwcm9wKSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGFiZWxGb3JWYWx1ZSh2YWx1ZTogYW55LCBvcHRpb25zOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdKSB7XG4gICAgICAgIGlmICghb3B0aW9ucykgcmV0dXJuIHZhbHVlO1xuICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zLmZpbmQob3B0ID0+IG9wdC52YWx1ZSA9PT0gdmFsdWUpO1xuICAgICAgICByZXR1cm4gb3B0aW9uID8gb3B0aW9uLmxhYmVsIDogdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQm9vbGVhblZhbHVlKG9iajogYW55LCBwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldEZpZWxkVmFsdWUob2JqLCBwYXRoKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSBmYWxzZSkgcmV0dXJuIHRydWU7XG4gICAgICAgIGVsc2UgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRCb29sZWFuTGFiZWwob2JqOiBhbnksIHBhdGg6IHN0cmluZywgb3B0aW9uc0xhYmVsOiBCb29sZWFuT3B0aW9uc0xhYmVsKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRGaWVsZFZhbHVlKG9iaiwgcGF0aCk7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkgcmV0dXJuIG9wdGlvbnNMYWJlbC50cnVlO1xuICAgICAgICBlbHNlIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHJldHVybiBvcHRpb25zTGFiZWwuZmFsc2U7XG4gICAgICAgIGVsc2UgcmV0dXJuIHRoaXMuZW1wdHlGaWVsZExhYmVsO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc051bWJlcihvYmo6IGFueSwgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAhKG5ldyBCaWdOdW1iZXIodGhpcy5nZXRGaWVsZFZhbHVlKG9iaiwgcGF0aCkpLmlzTmFOKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRIb3RrZXlzKCkge1xuICAgICAgICBjb25zdCBjbGVhckhvdGtleSA9IHRoaXMubmV3SG90a2V5KFwiYWx0K3NoaWZ0K2xcIiwgdGhpcy5jbGVhci5iaW5kKHRoaXMpKTtcbiAgICAgICAgY29uc3QgZmluZEhvdGtleSA9IHRoaXMubmV3SG90a2V5KFwiYWx0K3NoaWZ0K2ZcIiwgdGhpcy5zZWFyY2guYmluZCh0aGlzKSk7XG4gICAgICAgIGNvbnN0IGhpZGVIb3RrZXkgPSB0aGlzLm5ld0hvdGtleShcImFsdCtzaGlmdCtjXCIsIHRoaXMuaGlkZURpYWxvZy5iaW5kKHRoaXMpKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0SG90a2V5ID0gdGhpcy5uZXdIb3RrZXkoXCJhbHQrc2hpZnQrc1wiLCB0aGlzLnNlbGVjdC5iaW5kKHRoaXMpKTtcblxuICAgICAgICBjb25zdCBiaW5kZWRIb3RrZXlzID0gW2NsZWFySG90a2V5LCBmaW5kSG90a2V5LCBoaWRlSG90a2V5LCBzZWxlY3RIb3RrZXldO1xuICAgICAgICBiaW5kZWRIb3RrZXlzLmZvckVhY2goKGhvdGtleTogSG90a2V5KSA9PiB0aGlzLmhvdGtleXNTZXJ2aWNlLmFkZChob3RrZXkpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5ld0hvdGtleShjb21ibzogc3RyaW5nLCBmbjogRnVuY3Rpb24pOiBIb3RrZXkge1xuICAgICAgICByZXR1cm4gbmV3IEhvdGtleShcbiAgICAgICAgICAgIGNvbWJvLFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGZuKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtcIklOUFVUXCIsIFwiU0VMRUNUXCIsIFwiVEVYVEFSRUFcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyVG9nZ2xlKCkge1xuICAgICAgICBpZiAodGhpcy5hbmltYXRpbmcpIHJldHVybjtcblxuICAgICAgICB0aGlzLmFuaW1hdGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRvZ2dsZURvbmUoKSB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlIHRoZSB0YWJsZSBjb2x1bW4gc2l6ZS4gVGhlIG1pbmltdW0gdmFsdWUgaXMgMTQuMjg2ZW0sIHdoaWNoIGlzIGVxdWFscyB0byAyMDBweCBkdW8gdG8gdGhlIGN1cnJlbnQgZm9udCBzaXplLlxuICAgICAqIEBwYXJhbSBsYWJlbCBDb2x1bW4gbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29sV2lkdGgobGFiZWw6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzaXplID0gbGFiZWwubGVuZ3RoO1xuICAgICAgICBpZiAoc2l6ZSA8IDE0LjI4NikgcmV0dXJuIGAxNC4yODZlbWA7XG4gICAgICAgIHJldHVybiBgJHtzaXplfWVtYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2NhbGUoc2NhbGU6IGFueSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRnVuY3Rpb24oc2NhbGUpID8gc2NhbGUoKSA6IHNjYWxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGdW5jdGlvbih2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEZ1bmN0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROdW1iZXJNYXNrQ29uZmlnKGNvbDogQmlnbnVtYmVyRmllbGRDb25maWcpOiBNYXNrQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNjYWxlOiB0aGlzLmdldFNjYWxlKGNvbC5zY2FsZSksXG4gICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiBjb2wubnVtYmVyTG9jYWxlT3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvcixcbiAgICAgICAgICAgIHByZWZpeDogY29sLm51bWJlckxvY2FsZU9wdGlvbnM/LmN1cnJlbmN5U3ltYm9sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIG9uVGFibGVSb3dEb3VibGVDbGljayhyb3dEYXRhOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IFtyb3dEYXRhXTtcbiAgICAgICAgdGhpcy5zZWxlY3QoKTtcbiAgICB9XG59XG4iXX0=
@@ -54,6 +54,7 @@ import { DynamicFieldComponent } from "./dynamic-field.component";
54
54
  import { DynamicFormComponent } from "./dynamic-form.component";
55
55
  import { DynamicFormDirective } from "./dynamic-form.directive";
56
56
  import { BignumberFieldComponent } from "./components/fields/bignumber/number-field.component";
57
+ import { MouseEventsModule } from "../mouse-events";
57
58
  let DynamicFormModule = class DynamicFormModule {
58
59
  };
59
60
  DynamicFormModule = __decorate([
@@ -95,7 +96,8 @@ DynamicFormModule = __decorate([
95
96
  TableModule,
96
97
  InfoSignModule,
97
98
  MaskFormatterModule,
98
- HotkeyModule.forRoot()
99
+ HotkeyModule.forRoot(),
100
+ MouseEventsModule
99
101
  ],
100
102
  declarations: [
101
103
  AutocompleteFieldComponent,
@@ -142,4 +144,4 @@ DynamicFormModule = __decorate([
142
144
  })
143
145
  ], DynamicFormModule);
144
146
  export { DynamicFormModule };
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFt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QixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQix1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0QixrQkFBa0I7U0FDckI7UUFDRCxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7S0FDOUIsQ0FBQztHQUNXLGlCQUFpQixDQUFHO1NBQXBCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBIb3RrZXlNb2R1bGUsIEhvdGtleXNTZXJ2aWNlIH0gZnJvbSBcImFuZ3VsYXIyLWhvdGtleXNcIjtcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2F1dG9jb21wbGV0ZVwiO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIGFzIFByaW1lQnV0dG9uTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvYnV0dG9uXCI7XG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NhbGVuZGFyXCI7XG5pbXBvcnQgeyBDaGVja2JveE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NoZWNrYm94XCI7XG5pbXBvcnQgeyBDaGlwc01vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NoaXBzXCI7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9kaWFsb2dcIjtcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvZHJvcGRvd25cIjtcbmltcG9ydCB7IEZpZWxkc2V0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvZmllbGRzZXRcIjtcbmltcG9ydCB7IElucHV0TWFza01vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0bWFza1wiO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSBcInByaW1lbmcvaW5wdXR0ZXh0XCI7XG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvaW5wdXR0ZXh0YXJlYVwiO1xuaW1wb3J0IHsgS2V5RmlsdGVyTW9kdWxlIH0gZnJvbSBcInByaW1lbmcva2V5ZmlsdGVyXCI7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL211bHRpc2VsZWN0XCI7XG5pbXBvcnQgeyBQYW5lbE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3BhbmVsXCI7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3JhZGlvYnV0dG9uXCI7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSBhcyBQcmltZU5HVGFibGVNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3Rvb2x0aXBcIjtcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gXCIuLi9idXR0b24vaW5kZXhcIjtcbmltcG9ydCB7IENhbGVuZGFyTWFza01vZHVsZSB9IGZyb20gXCIuLi9jYWxlbmRhci1tYXNrL2NhbGVuZGFyLW1hc2subW9kdWxlXCI7XG5pbXBvcnQgeyBDb250cm9sRXJyb3JzTW9kdWxlIH0gZnJvbSBcIi4uL2NvbnRyb2wtZXJyb3JzL2luZGV4XCI7XG5pbXBvcnQgeyBFbXB0eVN0YXRlTW9kdWxlIH0gZnJvbSBcIi4uL2VtcHR5LXN0YXRlL2luZGV4XCI7XG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSBcIi4uL2ZpbGUtdXBsb2FkL2luZGV4XCI7XG5pbXBvcnQgeyBJbmZvU2lnbk1vZHVsZSB9IGZyb20gXCIuLi9pbmZvLXNpZ25cIjtcbmltcG9ydCB7IExvYWRpbmdTdGF0ZU1vZHVsZSB9IGZyb20gXCIuLi9sb2FkaW5nLXN0YXRlL2luZGV4XCI7XG5pbXBvcnQgeyBMb2NhbGVNb2R1bGUgfSBmcm9tIFwiLi4vbG9jYWxlL2luZGV4XCI7XG5pbXBvcnQgeyBMb2NhbGl6ZWROdW1iZXJJbnB1dE1vZHVsZSB9IGZyb20gXCIuLi9sb2NhbGl6ZWQtbnVtYmVyLWlucHV0L2luZGV4XCI7XG5pbXBvcnQgeyBNYXNrRm9ybWF0dGVyTW9kdWxlIH0gZnJvbSBcIi4uL21hc2svbWFzay1mb3JtYXR0ZXIubW9kdWxlXCI7XG5pbXBvcnQgeyBOdW1iZXJJbnB1dE1vZHVsZSB9IGZyb20gXCIuLi9udW1iZXItaW5wdXQvaW5kZXhcIjtcbmltcG9ydCB7IEJpZ251bWJlcklucHV0TW9kdWxlIH0gZnJvbSBcIi4uL2JpZ251bWJlci1pbnB1dC9pbmRleFwiO1xuaW1wb3J0IHsgVGFibGVIZWFkZXJDaGVja2JveE1vZHVsZSB9IGZyb20gXCIuLi90YWJsZS1oZWFkZXIvaW5kZXhcIjtcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSBcIi4uL3RhYmxlL2luZGV4XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBCb29sZWFuRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9ib29sZWFuL2Jvb2xlYW4tZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDYWxlbmRhckZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY2FsZW5kYXIvY2FsZW5kYXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDaGlwc0ZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY2hpcHMvY2hpcHMtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDdXJyZW5jeUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3kvY3VycmVuY3ktZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMb29rdXBGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2xvb2t1cC9sb29rdXAtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBOdW1iZXJGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL251bWJlci9udW1iZXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3NlbGVjdC9zZWxlY3QtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUZXh0QXJlYUZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvdGV4dC1hcmVhL3RleHQtYXJlYS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFJvd0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZ3JpZC9yb3cvcm93LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9va3VwQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9sb29rdXAvbG9va3VwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmllbGRzZXRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N0cnVjdHVyZS9maWVsZHNldC9maWVsZHNldC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFNlY3Rpb25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N0cnVjdHVyZS9zZWN0aW9uL3NlY3Rpb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEeW5hbWljRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9keW5hbWljLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9keW5hbWljLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybURpcmVjdGl2ZSB9IGZyb20gXCIuL2R5bmFtaWMtZm9ybS5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYmlnbnVtYmVyL251bWJlci1maWVsZC5jb21wb25lbnRcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICAgICAgQ2hlY2tib3hNb2R1bGUsXG4gICAgICAgIENhbGVuZGFyTW9kdWxlLFxuICAgICAgICBJbnB1dE1hc2tNb2R1bGUsXG4gICAgICAgIERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBOdW1iZXJJbnB1dE1vZHVsZSxcbiAgICAgICAgQmlnbnVtYmVySW5wdXRNb2R1bGUsXG4gICAgICAgIExvY2FsaXplZE51bWJlcklucHV0TW9kdWxlLFxuICAgICAgICBDb250cm9sRXJyb3JzTW9kdWxlLFxuICAgICAgICBMb2NhbGVNb2R1bGUsXG4gICAgICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgICAgICAgTXVsdGlTZWxlY3RNb2R1bGUsXG4gICAgICAgIFByaW1lQnV0dG9uTW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFBhbmVsTW9kdWxlLFxuICAgICAgICBEaWFsb2dNb2R1bGUsXG4gICAgICAgIFJhZGlvQnV0dG9uTW9kdWxlLFxuICAgICAgICBQcmltZU5HVGFibGVNb2R1bGUsXG4gICAgICAgIEVtcHR5U3RhdGVNb2R1bGUsXG4gICAgICAgIExvYWRpbmdTdGF0ZU1vZHVsZSxcbiAgICAgICAgSG90a2V5TW9kdWxlLFxuICAgICAgICBDaGlwc01vZHVsZSxcbiAgICAgICAgQ2FsZW5kYXJNYXNrTW9kdWxlLFxuICAgICAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxuICAgICAgICBSYWRpb0J1dHRvbk1vZHVsZSxcbiAgICAgICAgS2V5RmlsdGVyTW9kdWxlLFxuICAgICAgICBGaWVsZHNldE1vZHVsZSxcbiAgICAgICAgVGFibGVIZWFkZXJDaGVja2JveE1vZHVsZSxcbiAgICAgICAgRmlsZVVwbG9hZE1vZHVsZSxcbiAgICAgICAgVGFibGVNb2R1bGUsXG4gICAgICAgIEluZm9TaWduTW9kdWxlLFxuICAgICAgICBNYXNrRm9ybWF0dGVyTW9kdWxlLFxuICAgICAgICBIb3RrZXlNb2R1bGUuZm9yUm9vdCgpXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQsXG4gICAgICAgIEJvb2xlYW5GaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ2FsZW5kYXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ2hpcHNGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQ3VycmVuY3lGaWVsZENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGaWVsZENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY0Zvcm1EaXJlY3RpdmUsXG4gICAgICAgIEZpZWxkc2V0Q29tcG9uZW50LFxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgICAgICBMb29rdXBDb21wb25lbnQsXG4gICAgICAgIExvb2t1cEZpZWxkQ29tcG9uZW50LFxuICAgICAgICBOdW1iZXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQmlnbnVtYmVyRmllbGRDb21wb25lbnQsXG4gICAgICAgIFJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBSb3dDb21wb25lbnQsXG4gICAgICAgIFNlY3Rpb25Db21wb25lbnQsXG4gICAgICAgIFNlbGVjdEZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUZXh0QXJlYUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBUZXh0RmllbGRDb21wb25lbnQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbRHluYW1pY0Zvcm1Db21wb25lbnQsIExvb2t1cENvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgICAgIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBCb29sZWFuRmllbGRDb21wb25lbnQsXG4gICAgICAgIENhbGVuZGFyRmllbGRDb21wb25lbnQsXG4gICAgICAgIENoaXBzRmllbGRDb21wb25lbnQsXG4gICAgICAgIEN1cnJlbmN5RmllbGRDb21wb25lbnQsXG4gICAgICAgIEZpZWxkc2V0Q29tcG9uZW50LFxuICAgICAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgICAgICBMb29rdXBGaWVsZENvbXBvbmVudCxcbiAgICAgICAgTnVtYmVyRmllbGRDb21wb25lbnQsXG4gICAgICAgIEJpZ251bWJlckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgUm93Q29tcG9uZW50LFxuICAgICAgICBTZWN0aW9uQ29tcG9uZW50LFxuICAgICAgICBTZWxlY3RGaWVsZENvbXBvbmVudCxcbiAgICAgICAgVGV4dEFyZWFGaWVsZENvbXBvbmVudCxcbiAgICAgICAgVGV4dEZpZWxkQ29tcG9uZW50LFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbSG90a2V5c1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtTW9kdWxlIHt9XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFt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QjtZQUNyQixzQkFBc0I7WUFDdEIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIsa0JBQWtCO1NBQ3JCO1FBQ0QsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDO0tBQzlCLENBQUM7R0FDVyxpQkFBaUIsQ0FBRztTQUFwQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgSG90a2V5TW9kdWxlLCBIb3RrZXlzU2VydmljZSB9IGZyb20gXCJhbmd1bGFyMi1ob3RrZXlzXCI7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9hdXRvY29tcGxldGVcIjtcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSBhcyBQcmltZUJ1dHRvbk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2J1dHRvblwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jYWxlbmRhclwiO1xuaW1wb3J0IHsgQ2hlY2tib3hNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jaGVja2JveFwiO1xuaW1wb3J0IHsgQ2hpcHNNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jaGlwc1wiO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvZGlhbG9nXCI7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2Ryb3Bkb3duXCI7XG5pbXBvcnQgeyBGaWVsZHNldE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2ZpZWxkc2V0XCI7XG5pbXBvcnQgeyBJbnB1dE1hc2tNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9pbnB1dG1hc2tcIjtcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0dGV4dFwiO1xuaW1wb3J0IHsgSW5wdXRUZXh0YXJlYU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2lucHV0dGV4dGFyZWFcIjtcbmltcG9ydCB7IEtleUZpbHRlck1vZHVsZSB9IGZyb20gXCJwcmltZW5nL2tleWZpbHRlclwiO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9tdWx0aXNlbGVjdFwiO1xuaW1wb3J0IHsgUGFuZWxNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9wYW5lbFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Nb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9yYWRpb2J1dHRvblwiO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgYXMgUHJpbWVOR1RhYmxlTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy90b29sdGlwXCI7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tIFwiLi4vYnV0dG9uL2luZGV4XCI7XG5pbXBvcnQgeyBDYWxlbmRhck1hc2tNb2R1bGUgfSBmcm9tIFwiLi4vY2FsZW5kYXItbWFzay9jYWxlbmRhci1tYXNrLm1vZHVsZVwiO1xuaW1wb3J0IHsgQ29udHJvbEVycm9yc01vZHVsZSB9IGZyb20gXCIuLi9jb250cm9sLWVycm9ycy9pbmRleFwiO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZU1vZHVsZSB9IGZyb20gXCIuLi9lbXB0eS1zdGF0ZS9pbmRleFwiO1xuaW1wb3J0IHsgRmlsZVVwbG9hZE1vZHVsZSB9IGZyb20gXCIuLi9maWxlLXVwbG9hZC9pbmRleFwiO1xuaW1wb3J0IHsgSW5mb1NpZ25Nb2R1bGUgfSBmcm9tIFwiLi4vaW5mby1zaWduXCI7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGVNb2R1bGUgfSBmcm9tIFwiLi4vbG9hZGluZy1zdGF0ZS9pbmRleFwiO1xuaW1wb3J0IHsgTG9jYWxlTW9kdWxlIH0gZnJvbSBcIi4uL2xvY2FsZS9pbmRleFwiO1xuaW1wb3J0IHsgTG9jYWxpemVkTnVtYmVySW5wdXRNb2R1bGUgfSBmcm9tIFwiLi4vbG9jYWxpemVkLW51bWJlci1pbnB1dC9pbmRleFwiO1xuaW1wb3J0IHsgTWFza0Zvcm1hdHRlck1vZHVsZSB9IGZyb20gXCIuLi9tYXNrL21hc2stZm9ybWF0dGVyLm1vZHVsZVwiO1xuaW1wb3J0IHsgTnVtYmVySW5wdXRNb2R1bGUgfSBmcm9tIFwiLi4vbnVtYmVyLWlucHV0L2luZGV4XCI7XG5pbXBvcnQgeyBCaWdudW1iZXJJbnB1dE1vZHVsZSB9IGZyb20gXCIuLi9iaWdudW1iZXItaW5wdXQvaW5kZXhcIjtcbmltcG9ydCB7IFRhYmxlSGVhZGVyQ2hlY2tib3hNb2R1bGUgfSBmcm9tIFwiLi4vdGFibGUtaGVhZGVyL2luZGV4XCI7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gXCIuLi90YWJsZS9pbmRleFwiO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQm9vbGVhbkZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9maWVsZHMvYm9vbGVhbi9ib29sZWFuLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ2FsZW5kYXJGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2NhbGVuZGFyL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ2hpcHNGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2NoaXBzL2NoaXBzLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ3VycmVuY3lGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2N1cnJlbmN5L2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9va3VwRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9sb29rdXAvbG9va3VwLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTnVtYmVyRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9udW1iZXIvbnVtYmVyLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VsZWN0RmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy9zZWxlY3Qvc2VsZWN0LWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGV4dEFyZWFGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL3RleHQtYXJlYS90ZXh0LWFyZWEtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZpZWxkcy90ZXh0L3RleHQtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSb3dDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2dyaWQvcm93L3Jvdy5jb21wb25lbnRcIjtcbmltcG9ydCB7IExvb2t1cENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvbG9va3VwL2xvb2t1cC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEZpZWxkc2V0Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvc2VjdGlvbi9zZWN0aW9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vZHluYW1pYy1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1EaXJlY3RpdmUgfSBmcm9tIFwiLi9keW5hbWljLWZvcm0uZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBCaWdudW1iZXJGaWVsZENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZmllbGRzL2JpZ251bWJlci9udW1iZXItZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBNb3VzZUV2ZW50c01vZHVsZSB9IGZyb20gXCIuLi9tb3VzZS1ldmVudHNcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICAgICAgQ2hlY2tib3hNb2R1bGUsXG4gICAgICAgIENhbGVuZGFyTW9kdWxlLFxuICAgICAgICBJbnB1dE1hc2tNb2R1bGUsXG4gICAgICAgIERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBOdW1iZXJJbnB1dE1vZHVsZSxcbiAgICAgICAgQmlnbnVtYmVySW5wdXRNb2R1bGUsXG4gICAgICAgIExvY2FsaXplZE51bWJlcklucHV0TW9kdWxlLFxuICAgICAgICBDb250cm9sRXJyb3JzTW9kdWxlLFxuICAgICAgICBMb2NhbGVNb2R1bGUsXG4gICAgICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgICAgICAgTXVsdGlTZWxlY3RNb2R1bGUsXG4gICAgICAgIFByaW1lQnV0dG9uTW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFBhbmVsTW9kdWxlLFxuICAgICAgICBEaWFsb2dNb2R1bGUsXG4gICAgICAgIFJhZGlvQnV0dG9uTW9kdWxlLFxuICAgICAgICBQcmltZU5HVGFibGVNb2R1bGUsXG4gICAgICAgIEVtcHR5U3RhdGVNb2R1bGUsXG4gICAgICAgIExvYWRpbmdTdGF0ZU1vZHVsZSxcbiAgICAgICAgSG90a2V5TW9kdWxlLFxuICAgICAgICBDaGlwc01vZHVsZSxcbiAgICAgICAgQ2FsZW5kYXJNYXNrTW9kdWxlLFxuICAgICAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxuICAgICAgICBSYWRpb0J1dHRvbk1vZHVsZSxcbiAgICAgICAgS2V5RmlsdGVyTW9kdWxlLFxuICAgICAgICBGaWVsZHNldE1vZHVsZSxcbiAgICAgICAgVGFibGVIZWFkZXJDaGVja2JveE1vZHVsZSxcbiAgICAgICAgRmlsZVVwbG9hZE1vZHVsZSxcbiAgICAgICAgVGFibGVNb2R1bGUsXG4gICAgICAgIEluZm9TaWduTW9kdWxlLFxuICAgICAgICBNYXNrRm9ybWF0dGVyTW9kdWxlLFxuICAgICAgICBIb3RrZXlNb2R1bGUuZm9yUm9vdCgpLFxuICAgICAgICBNb3VzZUV2ZW50c01vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBCb29sZWFuRmllbGRDb21wb25lbnQsXG4gICAgICAgIENhbGVuZGFyRmllbGRDb21wb25lbnQsXG4gICAgICAgIENoaXBzRmllbGRDb21wb25lbnQsXG4gICAgICAgIEN1cnJlbmN5RmllbGRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljRmllbGRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNGb3JtRGlyZWN0aXZlLFxuICAgICAgICBGaWVsZHNldENvbXBvbmVudCxcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICAgICAgTG9va3VwQ29tcG9uZW50LFxuICAgICAgICBMb29rdXBGaWVsZENvbXBvbmVudCxcbiAgICAgICAgTnVtYmVyRmllbGRDb21wb25lbnQsXG4gICAgICAgIEJpZ251bWJlckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgUm93Q29tcG9uZW50LFxuICAgICAgICBTZWN0aW9uQ29tcG9uZW50LFxuICAgICAgICBTZWxlY3RGaWVsZENvbXBvbmVudCxcbiAgICAgICAgVGV4dEFyZWFGaWVsZENvbXBvbmVudCxcbiAgICAgICAgVGV4dEZpZWxkQ29tcG9uZW50LFxuICAgIF0sXG4gICAgZXhwb3J0czogW0R5bmFtaWNGb3JtQ29tcG9uZW50LCBMb29rdXBDb21wb25lbnRdLFxuICAgIGVudHJ5Q29tcG9uZW50czogW1xuICAgICAgICBBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQm9vbGVhbkZpZWxkQ29tcG9uZW50LFxuICAgICAgICBDYWxlbmRhckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBDaGlwc0ZpZWxkQ29tcG9uZW50LFxuICAgICAgICBDdXJyZW5jeUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBGaWVsZHNldENvbXBvbmVudCxcbiAgICAgICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICAgICAgTG9va3VwRmllbGRDb21wb25lbnQsXG4gICAgICAgIE51bWJlckZpZWxkQ29tcG9uZW50LFxuICAgICAgICBCaWdudW1iZXJGaWVsZENvbXBvbmVudCxcbiAgICAgICAgUmFkaW9CdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJvd0NvbXBvbmVudCxcbiAgICAgICAgU2VjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgU2VsZWN0RmllbGRDb21wb25lbnQsXG4gICAgICAgIFRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gICAgICAgIFRleHRGaWVsZENvbXBvbmVudCxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW0hvdGtleXNTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,38 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
3
+ let DoubleClickDirective = class DoubleClickDirective {
4
+ constructor() {
5
+ this.onDoubleClick = new EventEmitter();
6
+ this._timeout = null;
7
+ this._DOUBLE_CLICK_DELAY = 500;
8
+ }
9
+ onClick(event) {
10
+ this.handleOnClickEvent(event);
11
+ }
12
+ handleOnClickEvent(event) {
13
+ if (this._timeout) {
14
+ this.clearTimeout();
15
+ this.onDoubleClick.emit(event);
16
+ }
17
+ else {
18
+ this._timeout = setTimeout(() => this.clearTimeout(), this._DOUBLE_CLICK_DELAY);
19
+ }
20
+ }
21
+ clearTimeout() {
22
+ clearTimeout(this._timeout);
23
+ this._timeout = null;
24
+ }
25
+ };
26
+ __decorate([
27
+ Output()
28
+ ], DoubleClickDirective.prototype, "onDoubleClick", void 0);
29
+ __decorate([
30
+ HostListener("click", ["$event"])
31
+ ], DoubleClickDirective.prototype, "onClick", null);
32
+ DoubleClickDirective = __decorate([
33
+ Directive({
34
+ selector: '[sDoubleClick]'
35
+ })
36
+ ], DoubleClickDirective);
37
+ export { DoubleClickDirective };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91YmxlLWNsaWNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL21vdXNlLWV2ZW50cy9kb3VibGUtY2xpY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBS3ZCLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0lBQWpDO1FBRXFCLGtCQUFhLEdBQStCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFeEUsYUFBUSxHQUFtQixJQUFJLENBQUM7UUFDaEMsd0JBQW1CLEdBQUcsR0FBRyxDQUFDO0lBcUJ0QyxDQUFDO0lBbEJVLE9BQU8sQ0FBQyxLQUFtQjtRQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEtBQW1CO1FBQzFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQzthQUFNO1lBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1NBQ2xGO0lBRUwsQ0FBQztJQUVPLFlBQVk7UUFDaEIsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0NBQ0osQ0FBQTtBQXhCYTtJQUFULE1BQU0sRUFBRTsyREFBdUU7QUFNaEY7SUFEQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7bURBR2pDO0FBVlEsb0JBQW9CO0lBSGhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxnQkFBZ0I7S0FDN0IsQ0FBQztHQUNXLG9CQUFvQixDQTBCaEM7U0ExQlksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3NEb3VibGVDbGlja10nXG59KVxuZXhwb3J0IGNsYXNzIERvdWJsZUNsaWNrRGlyZWN0aXZlIHtcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25Eb3VibGVDbGljazogRXZlbnRFbWl0dGVyPFBvaW50ZXJFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgXG4gICAgcHJpdmF0ZSBfdGltZW91dDogTm9kZUpTLlRpbWVvdXQgPSBudWxsO1xuICAgIHByaXZhdGUgX0RPVUJMRV9DTElDS19ERUxBWSA9IDUwMDtcblxuICAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gICAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhhbmRsZU9uQ2xpY2tFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVPbkNsaWNrRXZlbnQoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fdGltZW91dCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhclRpbWVvdXQoKTtcbiAgICAgICAgICAgIHRoaXMub25Eb3VibGVDbGljay5lbWl0KGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xlYXJUaW1lb3V0KCksIHRoaXMuX0RPVUJMRV9DTElDS19ERUxBWSlcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyVGltZW91dCgpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpO1xuICAgICAgICB0aGlzLl90aW1lb3V0ID0gbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
1
  export * from "./mouse-events.module";
2
2
  export * from "./long-press.directive";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9tb3VzZS1ldmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbW91c2UtZXZlbnRzLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9uZy1wcmVzcy5kaXJlY3RpdmVcIjtcbiJdfQ==
3
+ export * from "./double-click.directive";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9tb3VzZS1ldmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9tb3VzZS1ldmVudHMubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb25nLXByZXNzLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZG91YmxlLWNsaWNrLmRpcmVjdGl2ZVwiOyJdfQ==
@@ -2,14 +2,21 @@ import { __decorate } from "tslib";
2
2
  import { CommonModule } from "@angular/common";
3
3
  import { NgModule } from "@angular/core";
4
4
  import { LongPressDirective } from "./long-press.directive";
5
+ import { DoubleClickDirective } from "./double-click.directive";
5
6
  let MouseEventsModule = class MouseEventsModule {
6
7
  };
7
8
  MouseEventsModule = __decorate([
8
9
  NgModule({
9
10
  imports: [CommonModule],
10
- declarations: [LongPressDirective],
11
- exports: [LongPressDirective],
11
+ declarations: [
12
+ LongPressDirective,
13
+ DoubleClickDirective
14
+ ],
15
+ exports: [
16
+ LongPressDirective,
17
+ DoubleClickDirective
18
+ ],
12
19
  })
13
20
  ], MouseEventsModule);
14
21
  export { MouseEventsModule };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW91c2UtZXZlbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL21vdXNlLWV2ZW50cy9tb3VzZS1ldmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU81RCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtDQUFHLENBQUE7QUFBcEIsaUJBQWlCO0lBTDdCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN2QixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztRQUNsQyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztLQUNoQyxDQUFDO0dBQ1csaUJBQWlCLENBQUc7U0FBcEIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTG9uZ1ByZXNzRGlyZWN0aXZlIH0gZnJvbSBcIi4vbG9uZy1wcmVzcy5kaXJlY3RpdmVcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtMb25nUHJlc3NEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtMb25nUHJlc3NEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBNb3VzZUV2ZW50c01vZHVsZSB7fVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW91c2UtZXZlbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL21vdXNlLWV2ZW50cy9tb3VzZS1ldmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQWFoRSxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtDQUFHLENBQUE7QUFBcEIsaUJBQWlCO0lBWDdCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN2QixZQUFZLEVBQUU7WUFDVixrQkFBa0I7WUFDbEIsb0JBQW9CO1NBQ3ZCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsa0JBQWtCO1lBQ2xCLG9CQUFvQjtTQUN2QjtLQUNKLENBQUM7R0FDVyxpQkFBaUIsQ0FBRztTQUFwQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBMb25nUHJlc3NEaXJlY3RpdmUgfSBmcm9tIFwiLi9sb25nLXByZXNzLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgRG91YmxlQ2xpY2tEaXJlY3RpdmUgfSBmcm9tIFwiLi9kb3VibGUtY2xpY2suZGlyZWN0aXZlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIExvbmdQcmVzc0RpcmVjdGl2ZSxcbiAgICAgICAgRG91YmxlQ2xpY2tEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTG9uZ1ByZXNzRGlyZWN0aXZlLFxuICAgICAgICBEb3VibGVDbGlja0RpcmVjdGl2ZVxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1vdXNlRXZlbnRzTW9kdWxlIHt9XG4iXX0=
@@ -2,42 +2,43 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public-api';
5
- export { CoreFacade as ɵbl } from './components/code-editor/core/facades/core-facade';
6
- export { CodeMirror6Core as ɵbm } from './components/code-editor/infra/cores/codemirror-6/codemirror-6-core';
7
- export { CustomTranslationsModule as ɵbj } from './components/code-editor/infra/utils';
8
- export { CodeEditorComponent as ɵbk } from './components/code-editor/presentation/code-editor-component';
9
- export { AutocompleteFieldComponent as ɵg } from './components/dynamic-form/components/fields/autocomplete/autocomplete-field.component';
10
- export { BaseFieldComponent as ɵl } from './components/dynamic-form/components/fields/base-field-component';
11
- export { BignumberFieldComponent as ɵs } from './components/dynamic-form/components/fields/bignumber/number-field.component';
12
- export { BooleanFieldComponent as ɵh } from './components/dynamic-form/components/fields/boolean/boolean-field.component';
13
- export { CalendarFieldComponent as ɵi } from './components/dynamic-form/components/fields/calendar/calendar-field.component';
14
- export { ChipsFieldComponent as ɵj } from './components/dynamic-form/components/fields/chips/chips-field.component';
15
- export { CurrencyFieldComponent as ɵk } from './components/dynamic-form/components/fields/currency/currency-field.component';
16
- export { FileUploadComponent as ɵp } from './components/dynamic-form/components/fields/file-upload/file-upload.component';
17
- export { LookupFieldComponent as ɵq } from './components/dynamic-form/components/fields/lookup/lookup-field.component';
18
- export { NumberFieldComponent as ɵr } from './components/dynamic-form/components/fields/number/number-field.component';
19
- export { RadioButtonComponent as ɵt } from './components/dynamic-form/components/fields/radio-button/radio-button-field.component';
20
- export { SelectFieldComponent as ɵw } from './components/dynamic-form/components/fields/select/select-field.component';
21
- export { TextAreaFieldComponent as ɵx } from './components/dynamic-form/components/fields/text-area/text-area-field.component';
22
- export { TextFieldComponent as ɵy } from './components/dynamic-form/components/fields/text/text-field.component';
23
- export { RowComponent as ɵu } from './components/dynamic-form/components/grid/row/row.component';
24
- export { FieldsetComponent as ɵo } from './components/dynamic-form/components/structure/fieldset/fieldset.component';
25
- export { SectionComponent as ɵv } from './components/dynamic-form/components/structure/section/section.component';
26
- export { DecimalField as ɵba } from './components/dynamic-form/configurations/fields/decimal-field';
27
- export { DynamicFieldComponent as ɵm } from './components/dynamic-form/dynamic-field.component';
28
- export { DynamicFormDirective as ɵn } from './components/dynamic-form/dynamic-form.directive';
29
- export { InfiniteScrollDirective as ɵbi } from './components/infinite-scroll/infinite-scroll.directive';
30
- export { InfiniteScrollModule as ɵbh } from './components/infinite-scroll/infinite-scroll.module';
5
+ export { CoreFacade as ɵbm } from './components/code-editor/core/facades/core-facade';
6
+ export { CodeMirror6Core as ɵbn } from './components/code-editor/infra/cores/codemirror-6/codemirror-6-core';
7
+ export { CustomTranslationsModule as ɵbk } from './components/code-editor/infra/utils';
8
+ export { CodeEditorComponent as ɵbl } from './components/code-editor/presentation/code-editor-component';
9
+ export { AutocompleteFieldComponent as ɵh } from './components/dynamic-form/components/fields/autocomplete/autocomplete-field.component';
10
+ export { BaseFieldComponent as ɵm } from './components/dynamic-form/components/fields/base-field-component';
11
+ export { BignumberFieldComponent as ɵt } from './components/dynamic-form/components/fields/bignumber/number-field.component';
12
+ export { BooleanFieldComponent as ɵi } from './components/dynamic-form/components/fields/boolean/boolean-field.component';
13
+ export { CalendarFieldComponent as ɵj } from './components/dynamic-form/components/fields/calendar/calendar-field.component';
14
+ export { ChipsFieldComponent as ɵk } from './components/dynamic-form/components/fields/chips/chips-field.component';
15
+ export { CurrencyFieldComponent as ɵl } from './components/dynamic-form/components/fields/currency/currency-field.component';
16
+ export { FileUploadComponent as ɵq } from './components/dynamic-form/components/fields/file-upload/file-upload.component';
17
+ export { LookupFieldComponent as ɵr } from './components/dynamic-form/components/fields/lookup/lookup-field.component';
18
+ export { NumberFieldComponent as ɵs } from './components/dynamic-form/components/fields/number/number-field.component';
19
+ export { RadioButtonComponent as ɵu } from './components/dynamic-form/components/fields/radio-button/radio-button-field.component';
20
+ export { SelectFieldComponent as ɵx } from './components/dynamic-form/components/fields/select/select-field.component';
21
+ export { TextAreaFieldComponent as ɵy } from './components/dynamic-form/components/fields/text-area/text-area-field.component';
22
+ export { TextFieldComponent as ɵz } from './components/dynamic-form/components/fields/text/text-field.component';
23
+ export { RowComponent as ɵv } from './components/dynamic-form/components/grid/row/row.component';
24
+ export { FieldsetComponent as ɵp } from './components/dynamic-form/components/structure/fieldset/fieldset.component';
25
+ export { SectionComponent as ɵw } from './components/dynamic-form/components/structure/section/section.component';
26
+ export { DecimalField as ɵbb } from './components/dynamic-form/configurations/fields/decimal-field';
27
+ export { DynamicFieldComponent as ɵn } from './components/dynamic-form/dynamic-field.component';
28
+ export { DynamicFormDirective as ɵo } from './components/dynamic-form/dynamic-form.directive';
29
+ export { InfiniteScrollDirective as ɵbj } from './components/infinite-scroll/infinite-scroll.directive';
30
+ export { InfiniteScrollModule as ɵbi } from './components/infinite-scroll/infinite-scroll.module';
31
31
  export { InfoSignModule as ɵf } from './components/info-sign';
32
- export { InfoSignComponent as ɵbe } from './components/info-sign/info-sign.component';
33
- export { NumberLocaleOptions as ɵbf } from './components/locale/options';
32
+ export { InfoSignComponent as ɵbf } from './components/info-sign/info-sign.component';
33
+ export { NumberLocaleOptions as ɵbg } from './components/locale/options';
34
34
  export { LocalizedBignumberImpurePipe as ɵc } from './components/locale/pipes/localized-bignumber-impure.pipe';
35
35
  export { LocalizedBignumberPipe as ɵb } from './components/locale/pipes/localized-bignumber.pipe';
36
36
  export { LocalizedCurrencyImpurePipe as ɵa } from './components/locale/pipes/localized-currency-impure.pipe';
37
- export { FooterComponent as ɵbd } from './components/structure/footer.component';
38
- export { HeaderComponent as ɵbc } from './components/structure/header.component';
39
- export { StructureModule as ɵbb } from './components/structure/structure.module';
37
+ export { MouseEventsModule as ɵg } from './components/mouse-events';
38
+ export { FooterComponent as ɵbe } from './components/structure/footer.component';
39
+ export { HeaderComponent as ɵbd } from './components/structure/header.component';
40
+ export { StructureModule as ɵbc } from './components/structure/structure.module';
40
41
  export { TableColumnsComponent as ɵe } from './components/table/table-column/table-columns.component';
41
- export { ThumbnailService as ɵbg } from './components/thumbnail/thumbnail.service';
42
+ export { ThumbnailService as ɵbh } from './components/thumbnail/thumbnail.service';
42
43
  export { TokenListModule as ɵd } from './components/token-list';
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbInNlbmlvcnNpc3RlbWFzLWFuZ3VsYXItY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxVQUFVLElBQUksR0FBRyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDcEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDckYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEdBQUcsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1RkFBdUYsQ0FBQztBQUN2SSxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDMUcsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhFQUE4RSxDQUFDO0FBQzNILE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sK0VBQStFLENBQUM7QUFDM0gsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUMzSCxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sK0VBQStFLENBQUM7QUFDeEgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwyRUFBMkUsQ0FBQztBQUNySCxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sdUZBQXVGLENBQUM7QUFDakksT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRkFBaUYsQ0FBQztBQUM3SCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDL0csT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUMvRixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDbkgsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxZQUFZLElBQUksR0FBRyxFQUEwQixNQUFNLCtEQUErRCxDQUFDO0FBQzNILE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDNUYsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsbUJBQW1CLElBQUksR0FBRyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzdHLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDM0csT0FBTyxFQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsZUFBZSxJQUFJLEdBQUcsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxlQUFlLElBQUksR0FBRyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0NvcmVGYWNhZGUgYXMgybVibH0gZnJvbSAnLi9jb21wb25lbnRzL2NvZGUtZWRpdG9yL2NvcmUvZmFjYWRlcy9jb3JlLWZhY2FkZSc7XG5leHBvcnQge0NvZGVNaXJyb3I2Q29yZSBhcyDJtWJtfSBmcm9tICcuL2NvbXBvbmVudHMvY29kZS1lZGl0b3IvaW5mcmEvY29yZXMvY29kZW1pcnJvci02L2NvZGVtaXJyb3ItNi1jb3JlJztcbmV4cG9ydCB7Q3VzdG9tVHJhbnNsYXRpb25zTW9kdWxlIGFzIMm1Ymp9IGZyb20gJy4vY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmZyYS91dGlscyc7XG5leHBvcnQge0NvZGVFZGl0b3JDb21wb25lbnQgYXMgybVia30gZnJvbSAnLi9jb21wb25lbnRzL2NvZGUtZWRpdG9yL3ByZXNlbnRhdGlvbi9jb2RlLWVkaXRvci1jb21wb25lbnQnO1xuZXhwb3J0IHtBdXRvY29tcGxldGVGaWVsZENvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9maWVsZHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0IHtCYXNlRmllbGRDb21wb25lbnQgYXMgybVsfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL2Jhc2UtZmllbGQtY29tcG9uZW50JztcbmV4cG9ydCB7QmlnbnVtYmVyRmllbGRDb21wb25lbnQgYXMgybVzfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL2JpZ251bWJlci9udW1iZXItZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7Qm9vbGVhbkZpZWxkQ29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9ib29sZWFuL2Jvb2xlYW4tZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7Q2FsZW5kYXJGaWVsZENvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9maWVsZHMvY2FsZW5kYXIvY2FsZW5kYXItZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7Q2hpcHNGaWVsZENvbXBvbmVudCBhcyDJtWp9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9maWVsZHMvY2hpcHMvY2hpcHMtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7Q3VycmVuY3lGaWVsZENvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3kvY3VycmVuY3ktZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7RmlsZVVwbG9hZENvbXBvbmVudCBhcyDJtXB9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9maWVsZHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCB7TG9va3VwRmllbGRDb21wb25lbnQgYXMgybVxfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL2xvb2t1cC9sb29rdXAtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7TnVtYmVyRmllbGRDb21wb25lbnQgYXMgybVyfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL251bWJlci9udW1iZXItZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7UmFkaW9CdXR0b25Db21wb25lbnQgYXMgybV0fSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7U2VsZWN0RmllbGRDb21wb25lbnQgYXMgybV3fSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL3NlbGVjdC9zZWxlY3QtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7VGV4dEFyZWFGaWVsZENvbXBvbmVudCBhcyDJtXh9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9maWVsZHMvdGV4dC1hcmVhL3RleHQtYXJlYS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0IHtUZXh0RmllbGRDb21wb25lbnQgYXMgybV5fSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0IHtSb3dDb21wb25lbnQgYXMgybV1fSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZ3JpZC9yb3cvcm93LmNvbXBvbmVudCc7XG5leHBvcnQge0ZpZWxkc2V0Q29tcG9uZW50IGFzIMm1b30gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL3N0cnVjdHVyZS9maWVsZHNldC9maWVsZHNldC5jb21wb25lbnQnO1xuZXhwb3J0IHtTZWN0aW9uQ29tcG9uZW50IGFzIMm1dn0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL3N0cnVjdHVyZS9zZWN0aW9uL3NlY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7RGVjaW1hbEZpZWxkIGFzIMm1YmEsRGVjaW1hbEZpZWxkQ29uZmlnIGFzIMm1en0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb25maWd1cmF0aW9ucy9maWVsZHMvZGVjaW1hbC1maWVsZCc7XG5leHBvcnQge0R5bmFtaWNGaWVsZENvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vZHluYW1pYy1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0IHtEeW5hbWljRm9ybURpcmVjdGl2ZSBhcyDJtW59IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmRpcmVjdGl2ZSc7XG5leHBvcnQge0luZmluaXRlU2Nyb2xsRGlyZWN0aXZlIGFzIMm1Yml9IGZyb20gJy4vY29tcG9uZW50cy9pbmZpbml0ZS1zY3JvbGwvaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5leHBvcnQge0luZmluaXRlU2Nyb2xsTW9kdWxlIGFzIMm1Ymh9IGZyb20gJy4vY29tcG9uZW50cy9pbmZpbml0ZS1zY3JvbGwvaW5maW5pdGUtc2Nyb2xsLm1vZHVsZSc7XG5leHBvcnQge0luZm9TaWduTW9kdWxlIGFzIMm1Zn0gZnJvbSAnLi9jb21wb25lbnRzL2luZm8tc2lnbic7XG5leHBvcnQge0luZm9TaWduQ29tcG9uZW50IGFzIMm1YmV9IGZyb20gJy4vY29tcG9uZW50cy9pbmZvLXNpZ24vaW5mby1zaWduLmNvbXBvbmVudCc7XG5leHBvcnQge051bWJlckxvY2FsZU9wdGlvbnMgYXMgybViZn0gZnJvbSAnLi9jb21wb25lbnRzL2xvY2FsZS9vcHRpb25zJztcbmV4cG9ydCB7TG9jYWxpemVkQmlnbnVtYmVySW1wdXJlUGlwZSBhcyDJtWN9IGZyb20gJy4vY29tcG9uZW50cy9sb2NhbGUvcGlwZXMvbG9jYWxpemVkLWJpZ251bWJlci1pbXB1cmUucGlwZSc7XG5leHBvcnQge0xvY2FsaXplZEJpZ251bWJlclBpcGUgYXMgybVifSBmcm9tICcuL2NvbXBvbmVudHMvbG9jYWxlL3BpcGVzL2xvY2FsaXplZC1iaWdudW1iZXIucGlwZSc7XG5leHBvcnQge0xvY2FsaXplZEN1cnJlbmN5SW1wdXJlUGlwZSBhcyDJtWF9IGZyb20gJy4vY29tcG9uZW50cy9sb2NhbGUvcGlwZXMvbG9jYWxpemVkLWN1cnJlbmN5LWltcHVyZS5waXBlJztcbmV4cG9ydCB7Rm9vdGVyQ29tcG9uZW50IGFzIMm1YmR9IGZyb20gJy4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvZm9vdGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0hlYWRlckNvbXBvbmVudCBhcyDJtWJjfSBmcm9tICcuL2NvbXBvbmVudHMvc3RydWN0dXJlL2hlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtTdHJ1Y3R1cmVNb2R1bGUgYXMgybViYn0gZnJvbSAnLi9jb21wb25lbnRzL3N0cnVjdHVyZS9zdHJ1Y3R1cmUubW9kdWxlJztcbmV4cG9ydCB7VGFibGVDb2x1bW5zQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLWNvbHVtbi90YWJsZS1jb2x1bW5zLmNvbXBvbmVudCc7XG5leHBvcnQge1RodW1ibmFpbFNlcnZpY2UgYXMgybViZ30gZnJvbSAnLi9jb21wb25lbnRzL3RodW1ibmFpbC90aHVtYm5haWwuc2VydmljZSc7XG5leHBvcnQge1Rva2VuTGlzdE1vZHVsZSBhcyDJtWR9IGZyb20gJy4vY29tcG9uZW50cy90b2tlbi1saXN0JzsiXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbInNlbmlvcnNpc3RlbWFzLWFuZ3VsYXItY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxVQUFVLElBQUksR0FBRyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDcEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsd0JBQXdCLElBQUksR0FBRyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDckYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEdBQUcsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSx1RkFBdUYsQ0FBQztBQUN2SSxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDMUcsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLDhFQUE4RSxDQUFDO0FBQzNILE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sK0VBQStFLENBQUM7QUFDM0gsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUMzSCxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sK0VBQStFLENBQUM7QUFDeEgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwyRUFBMkUsQ0FBQztBQUNySCxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sdUZBQXVGLENBQUM7QUFDakksT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJFQUEyRSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxpRkFBaUYsQ0FBQztBQUM3SCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDL0csT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUMvRixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sNEVBQTRFLENBQUM7QUFDbkgsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBQ2hILE9BQU8sRUFBQyxZQUFZLElBQUksR0FBRyxFQUEyQixNQUFNLCtEQUErRCxDQUFDO0FBQzVILE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDNUYsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsbUJBQW1CLElBQUksR0FBRyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzdHLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsMkJBQTJCLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDM0csT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxlQUFlLElBQUksR0FBRyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsZUFBZSxJQUFJLEdBQUcsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNwRyxPQUFPLEVBQUMsZ0JBQWdCLElBQUksR0FBRyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtDb3JlRmFjYWRlIGFzIMm1Ym19IGZyb20gJy4vY29tcG9uZW50cy9jb2RlLWVkaXRvci9jb3JlL2ZhY2FkZXMvY29yZS1mYWNhZGUnO1xuZXhwb3J0IHtDb2RlTWlycm9yNkNvcmUgYXMgybVibn0gZnJvbSAnLi9jb21wb25lbnRzL2NvZGUtZWRpdG9yL2luZnJhL2NvcmVzL2NvZGVtaXJyb3ItNi9jb2RlbWlycm9yLTYtY29yZSc7XG5leHBvcnQge0N1c3RvbVRyYW5zbGF0aW9uc01vZHVsZSBhcyDJtWJrfSBmcm9tICcuL2NvbXBvbmVudHMvY29kZS1lZGl0b3IvaW5mcmEvdXRpbHMnO1xuZXhwb3J0IHtDb2RlRWRpdG9yQ29tcG9uZW50IGFzIMm1Ymx9IGZyb20gJy4vY29tcG9uZW50cy9jb2RlLWVkaXRvci9wcmVzZW50YXRpb24vY29kZS1lZGl0b3ItY29tcG9uZW50JztcbmV4cG9ydCB7QXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgYXMgybVofSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7QmFzZUZpZWxkQ29tcG9uZW50IGFzIMm1bX0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5leHBvcnQge0JpZ251bWJlckZpZWxkQ29tcG9uZW50IGFzIMm1dH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9iaWdudW1iZXIvbnVtYmVyLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQge0Jvb2xlYW5GaWVsZENvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9maWVsZHMvYm9vbGVhbi9ib29sZWFuLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQge0NhbGVuZGFyRmllbGRDb21wb25lbnQgYXMgybVqfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL2NhbGVuZGFyL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQge0NoaXBzRmllbGRDb21wb25lbnQgYXMgybVrfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL2NoaXBzL2NoaXBzLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQge0N1cnJlbmN5RmllbGRDb21wb25lbnQgYXMgybVsfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL2N1cnJlbmN5L2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVVcGxvYWRDb21wb25lbnQgYXMgybVxfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQge0xvb2t1cEZpZWxkQ29tcG9uZW50IGFzIMm1cn0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9sb29rdXAvbG9va3VwLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQge051bWJlckZpZWxkQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9udW1iZXIvbnVtYmVyLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQge1JhZGlvQnV0dG9uQ29tcG9uZW50IGFzIMm1dX0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQge1NlbGVjdEZpZWxkQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9zZWxlY3Qvc2VsZWN0LWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQge1RleHRBcmVhRmllbGRDb21wb25lbnQgYXMgybV5fSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL3RleHQtYXJlYS90ZXh0LWFyZWEtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7VGV4dEZpZWxkQ29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy90ZXh0L3RleHQtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCB7Um93Q29tcG9uZW50IGFzIMm1dn0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2dyaWQvcm93L3Jvdy5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWVsZHNldENvbXBvbmVudCBhcyDJtXB9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9zdHJ1Y3R1cmUvZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50JztcbmV4cG9ydCB7U2VjdGlvbkNvbXBvbmVudCBhcyDJtXd9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9zdHJ1Y3R1cmUvc2VjdGlvbi9zZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0RlY2ltYWxGaWVsZCBhcyDJtWJiLERlY2ltYWxGaWVsZENvbmZpZyBhcyDJtWJhfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9kZWNpbWFsLWZpZWxkJztcbmV4cG9ydCB7RHluYW1pY0ZpZWxkQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQge0R5bmFtaWNGb3JtRGlyZWN0aXZlIGFzIMm1b30gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uZGlyZWN0aXZlJztcbmV4cG9ydCB7SW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgYXMgybVian0gZnJvbSAnLi9jb21wb25lbnRzL2luZmluaXRlLXNjcm9sbC9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmV4cG9ydCB7SW5maW5pdGVTY3JvbGxNb2R1bGUgYXMgybViaX0gZnJvbSAnLi9jb21wb25lbnRzL2luZmluaXRlLXNjcm9sbC9pbmZpbml0ZS1zY3JvbGwubW9kdWxlJztcbmV4cG9ydCB7SW5mb1NpZ25Nb2R1bGUgYXMgybVmfSBmcm9tICcuL2NvbXBvbmVudHMvaW5mby1zaWduJztcbmV4cG9ydCB7SW5mb1NpZ25Db21wb25lbnQgYXMgybViZn0gZnJvbSAnLi9jb21wb25lbnRzL2luZm8tc2lnbi9pbmZvLXNpZ24uY29tcG9uZW50JztcbmV4cG9ydCB7TnVtYmVyTG9jYWxlT3B0aW9ucyBhcyDJtWJnfSBmcm9tICcuL2NvbXBvbmVudHMvbG9jYWxlL29wdGlvbnMnO1xuZXhwb3J0IHtMb2NhbGl6ZWRCaWdudW1iZXJJbXB1cmVQaXBlIGFzIMm1Y30gZnJvbSAnLi9jb21wb25lbnRzL2xvY2FsZS9waXBlcy9sb2NhbGl6ZWQtYmlnbnVtYmVyLWltcHVyZS5waXBlJztcbmV4cG9ydCB7TG9jYWxpemVkQmlnbnVtYmVyUGlwZSBhcyDJtWJ9IGZyb20gJy4vY29tcG9uZW50cy9sb2NhbGUvcGlwZXMvbG9jYWxpemVkLWJpZ251bWJlci5waXBlJztcbmV4cG9ydCB7TG9jYWxpemVkQ3VycmVuY3lJbXB1cmVQaXBlIGFzIMm1YX0gZnJvbSAnLi9jb21wb25lbnRzL2xvY2FsZS9waXBlcy9sb2NhbGl6ZWQtY3VycmVuY3ktaW1wdXJlLnBpcGUnO1xuZXhwb3J0IHtNb3VzZUV2ZW50c01vZHVsZSBhcyDJtWd9IGZyb20gJy4vY29tcG9uZW50cy9tb3VzZS1ldmVudHMnO1xuZXhwb3J0IHtGb290ZXJDb21wb25lbnQgYXMgybViZX0gZnJvbSAnLi9jb21wb25lbnRzL3N0cnVjdHVyZS9mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7SGVhZGVyQ29tcG9uZW50IGFzIMm1YmR9IGZyb20gJy4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1N0cnVjdHVyZU1vZHVsZSBhcyDJtWJjfSBmcm9tICcuL2NvbXBvbmVudHMvc3RydWN0dXJlL3N0cnVjdHVyZS5tb2R1bGUnO1xuZXhwb3J0IHtUYWJsZUNvbHVtbnNDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUtY29sdW1uL3RhYmxlLWNvbHVtbnMuY29tcG9uZW50JztcbmV4cG9ydCB7VGh1bWJuYWlsU2VydmljZSBhcyDJtWJofSBmcm9tICcuL2NvbXBvbmVudHMvdGh1bWJuYWlsL3RodW1ibmFpbC5zZXJ2aWNlJztcbmV4cG9ydCB7VG9rZW5MaXN0TW9kdWxlIGFzIMm1ZH0gZnJvbSAnLi9jb21wb25lbnRzL3Rva2VuLWxpc3QnOyJdfQ==