@datarailsshared/datarailsshared 1.6.151 → 1.6.155
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/datarailsshared-datarailsshared-1.6.155.tgz +0 -0
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +21 -6
- package/esm2022/lib/truncate-text/truncate-text.directive.mjs +125 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/datarailsshared-datarailsshared.mjs +142 -6
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +10 -1
- package/lib/truncate-text/truncate-text.directive.d.ts +21 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/datarailsshared-datarailsshared-1.6.151.tgz +0 -0
|
Binary file
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer2, TemplateRef, ViewChild, } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { NgSelectComponent } from '@ng-select/ng-select';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/forms";
|
|
6
7
|
import * as i2 from "@angular/common";
|
|
@@ -146,6 +147,9 @@ export class DrSelectComponent {
|
|
|
146
147
|
this.closeOnSelect = true;
|
|
147
148
|
this.noValuePadding = false;
|
|
148
149
|
this.selectOnTabKeyPress = false;
|
|
150
|
+
this.virtualScroll = false;
|
|
151
|
+
this.search = new EventEmitter();
|
|
152
|
+
this.scrollToEnd = new EventEmitter();
|
|
149
153
|
this.change = new EventEmitter();
|
|
150
154
|
this.open = new EventEmitter();
|
|
151
155
|
this.closeUp = new EventEmitter();
|
|
@@ -178,6 +182,9 @@ export class DrSelectComponent {
|
|
|
178
182
|
setDisabledState(isDisabled) {
|
|
179
183
|
this.disabled = isDisabled;
|
|
180
184
|
}
|
|
185
|
+
openDropdown() {
|
|
186
|
+
this.ngSelect.open();
|
|
187
|
+
}
|
|
181
188
|
close() {
|
|
182
189
|
this.ngSelect.close();
|
|
183
190
|
}
|
|
@@ -270,15 +277,15 @@ export class DrSelectComponent {
|
|
|
270
277
|
i0.ɵɵattribute("id", ctx.hostId);
|
|
271
278
|
i0.ɵɵclassMap(ctx.type);
|
|
272
279
|
i0.ɵɵclassProp("textView", ctx.asTextView);
|
|
273
|
-
} }, inputs: { type: "type", clearInputTextAfterSelection: "clearInputTextAfterSelection", className: "className", items: "items", addTag: "addTag", appendTo: "appendTo", bindLabel: "bindLabel", bindValue: "bindValue", clearable: "clearable", searchable: "searchable", isDisplayingSearchInHeader: "isDisplayingSearchInHeader", minItemsToDisplaySearchInHeader: "minItemsToDisplaySearchInHeader", searchFn: "searchFn", multiple: "multiple", multipleHeightIncreased: "multipleHeightIncreased", hideSelected: "hideSelected", maxSelectedItems: "maxSelectedItems", placeholder: "placeholder", loading: "loading", loadingText: "loadingText", readonly: "readonly", disabled: "disabled", groupBy: "groupBy", optionWithDescription: "optionWithDescription", id: "id", keyDownFn: "keyDownFn", selectedItem: "selectedItem", dropdownClass: "dropdownClass", closeOnSelect: "closeOnSelect", textView: "textView", autofocus: "autofocus", isOpen: "isOpen", noValuePadding: "noValuePadding", selectOnTabKeyPress: "selectOnTabKeyPress" }, outputs: { change: "change", open: "open", closeUp: "closeUp" }, features: [i0.ɵɵProvidersFeature([
|
|
280
|
+
} }, inputs: { type: "type", clearInputTextAfterSelection: "clearInputTextAfterSelection", className: "className", items: "items", addTag: "addTag", appendTo: "appendTo", bindLabel: "bindLabel", bindValue: "bindValue", clearable: "clearable", searchable: "searchable", isDisplayingSearchInHeader: "isDisplayingSearchInHeader", minItemsToDisplaySearchInHeader: "minItemsToDisplaySearchInHeader", searchFn: "searchFn", multiple: "multiple", multipleHeightIncreased: "multipleHeightIncreased", hideSelected: "hideSelected", maxSelectedItems: "maxSelectedItems", placeholder: "placeholder", loading: "loading", loadingText: "loadingText", readonly: "readonly", disabled: "disabled", groupBy: "groupBy", optionWithDescription: "optionWithDescription", id: "id", keyDownFn: "keyDownFn", selectedItem: "selectedItem", dropdownClass: "dropdownClass", closeOnSelect: "closeOnSelect", textView: "textView", autofocus: "autofocus", isOpen: "isOpen", noValuePadding: "noValuePadding", selectOnTabKeyPress: "selectOnTabKeyPress", virtualScroll: "virtualScroll", typeahead: "typeahead" }, outputs: { search: "search", scrollToEnd: "scrollToEnd", change: "change", open: "open", closeUp: "closeUp" }, features: [i0.ɵɵProvidersFeature([
|
|
274
281
|
{
|
|
275
282
|
provide: NG_VALUE_ACCESSOR,
|
|
276
283
|
useExisting: DrSelectComponent,
|
|
277
284
|
multi: true,
|
|
278
285
|
},
|
|
279
|
-
])], decls: 12, vars:
|
|
286
|
+
])], decls: 12, vars: 39, consts: [[1, "dr-select", 3, "ngModel", "items", "bindLabel", "bindValue", "multiple", "addTag", "appendTo", "clearable", "searchable", "hideSelected", "placeholder", "loading", "loadingText", "readonly", "closeOnSelect", "disabled", "labelForId", "maxSelectedItems", "keyDownFn", "searchFn", "isOpen", "groupBy", "selectOnTab", "virtualScroll", "typeahead", "ngModelChange", "search", "scrollToEnd", "keydown.tab", "change", "open", "close"], ["selectComponent", ""], [4, "ngIf"], ["ng-loadingspinner-tmp", ""], ["class", "search-icon dr-icon-search", 4, "ngIf"], ["ng-header-tmp", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["type", "search", 1, "dr-select__search", 3, "ngModel", "ngModelChange"], ["ng-label-tmp", ""], ["ng-multi-label-tmp", ""], ["ng-option-tmp", ""], [1, "dr-select__option-with-desc__wrapper"], [1, "dr-select__option-with-desc__description"], ["ng-footer-tmp", ""], ["ng-optgroup-tmp", ""], ["class", "dr-select__loading", 3, "drSpinner", "drSpinnerType", "drSpinnerSize", "drSpinnerNoOverlay", 4, "ngIf"], [1, "dr-select__loading", 3, "drSpinner", "drSpinnerType", "drSpinnerSize", "drSpinnerNoOverlay"], [1, "search-icon", "dr-icon-search"]], template: function DrSelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
280
287
|
i0.ɵɵelementStart(0, "ng-select", 0, 1);
|
|
281
|
-
i0.ɵɵlistener("ngModelChange", function DrSelectComponent_Template_ng_select_ngModelChange_0_listener($event) { return ctx.selectedItem = $event; })("keydown.tab", function DrSelectComponent_Template_ng_select_keydown_tab_0_listener($event) { return ctx.onTabKeypress($event); })("change", function DrSelectComponent_Template_ng_select_change_0_listener() { return ctx.onValueSelected(ctx.selectedItem); })("open", function DrSelectComponent_Template_ng_select_open_0_listener($event) { ctx.open.emit($event); return ctx.onDropdownOpen(); })("close", function DrSelectComponent_Template_ng_select_close_0_listener($event) { return ctx.onClose($event); });
|
|
288
|
+
i0.ɵɵlistener("ngModelChange", function DrSelectComponent_Template_ng_select_ngModelChange_0_listener($event) { return ctx.selectedItem = $event; })("search", function DrSelectComponent_Template_ng_select_search_0_listener($event) { return ctx.search.emit($event); })("scrollToEnd", function DrSelectComponent_Template_ng_select_scrollToEnd_0_listener($event) { return ctx.scrollToEnd.emit($event); })("keydown.tab", function DrSelectComponent_Template_ng_select_keydown_tab_0_listener($event) { return ctx.onTabKeypress($event); })("change", function DrSelectComponent_Template_ng_select_change_0_listener() { return ctx.onValueSelected(ctx.selectedItem); })("open", function DrSelectComponent_Template_ng_select_open_0_listener($event) { ctx.open.emit($event); return ctx.onDropdownOpen(); })("close", function DrSelectComponent_Template_ng_select_close_0_listener($event) { return ctx.onClose($event); });
|
|
282
289
|
i0.ɵɵtemplate(2, DrSelectComponent_2_Template, 1, 0, null, 2);
|
|
283
290
|
i0.ɵɵtemplate(3, DrSelectComponent_3_Template, 1, 0, null, 2);
|
|
284
291
|
i0.ɵɵtemplate(4, DrSelectComponent_4_Template, 1, 0, null, 2);
|
|
@@ -293,7 +300,7 @@ export class DrSelectComponent {
|
|
|
293
300
|
} if (rf & 2) {
|
|
294
301
|
const _r0 = i0.ɵɵreference(1);
|
|
295
302
|
i0.ɵɵclassProp("ng-select--no-value-padding", ctx.noValuePadding)("ng-select--multiple-height-increased", ctx.multipleHeightIncreased);
|
|
296
|
-
i0.ɵɵproperty("ngModel", ctx.selectedItem)("items", ctx.items)("bindLabel", ctx.bindLabel)("bindValue", ctx.bindValue)("multiple", ctx.multiple)("addTag", ctx.addTag)("appendTo", ctx.appendTo)("clearable", ctx.clearable)("searchable", ctx.searchable)("hideSelected", ctx.hideSelected)("placeholder", ctx.placeholder)("loading", ctx.loading)("loadingText", ctx.loadingText)("readonly", ctx.readonly)("closeOnSelect", ctx.closeOnSelect)("disabled", ctx.disabled)("labelForId", ctx.id)("maxSelectedItems", ctx.maxSelectedItems)("keyDownFn", ctx.keyDownFn)("searchFn", ctx.searchFn)("isOpen", (ctx.type !== "search-input" || !!(_r0.searchTerm == null ? null : _r0.searchTerm.length)) && ctx.isOpen)("groupBy", ctx.groupBy)("selectOnTab", ctx.selectOnTabKeyPress);
|
|
303
|
+
i0.ɵɵproperty("ngModel", ctx.selectedItem)("items", ctx.items)("bindLabel", ctx.bindLabel)("bindValue", ctx.bindValue)("multiple", ctx.multiple)("addTag", ctx.addTag)("appendTo", ctx.appendTo)("clearable", ctx.clearable)("searchable", ctx.searchable)("hideSelected", ctx.hideSelected)("placeholder", ctx.placeholder)("loading", ctx.loading)("loadingText", ctx.loadingText)("readonly", ctx.readonly)("closeOnSelect", ctx.closeOnSelect)("disabled", ctx.disabled)("labelForId", ctx.id)("maxSelectedItems", ctx.maxSelectedItems)("keyDownFn", ctx.keyDownFn)("searchFn", ctx.searchFn)("isOpen", (ctx.type !== "search-input" || !!(_r0.searchTerm == null ? null : _r0.searchTerm.length)) && ctx.isOpen)("groupBy", ctx.groupBy)("selectOnTab", ctx.selectOnTabKeyPress)("virtualScroll", ctx.virtualScroll)("typeahead", ctx.typeahead);
|
|
297
304
|
i0.ɵɵattribute("autofocus", ctx.autofocus);
|
|
298
305
|
i0.ɵɵadvance(2);
|
|
299
306
|
i0.ɵɵproperty("ngIf", ctx.optionHeaderTemplate);
|
|
@@ -323,7 +330,7 @@ export class DrSelectComponent {
|
|
|
323
330
|
useExisting: DrSelectComponent,
|
|
324
331
|
multi: true,
|
|
325
332
|
},
|
|
326
|
-
], template: "<ng-select\n [(ngModel)]=\"selectedItem\"\n [items]=\"items\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [multiple]=\"multiple\"\n [addTag]=\"addTag\"\n [appendTo]=\"appendTo\"\n [clearable]=\"clearable\"\n [searchable]=\"searchable\"\n [hideSelected]=\"hideSelected\"\n [placeholder]=\"placeholder\"\n [loading]=\"loading\"\n [loadingText]=\"loadingText\"\n [readonly]=\"readonly\"\n [closeOnSelect]=\"closeOnSelect\"\n [disabled]=\"disabled\"\n [labelForId]=\"id\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [keyDownFn]=\"keyDownFn\"\n [searchFn]=\"searchFn\"\n [isOpen]=\"(type !== 'search-input' || !!selectComponent.searchTerm?.length) && isOpen\"\n [groupBy]=\"groupBy\"\n [attr.autofocus]=\"autofocus\"\n [selectOnTab]=\"selectOnTabKeyPress\"\n (keydown.tab)=\"onTabKeypress($event)\"\n (change)=\"onValueSelected(selectedItem)\"\n (open)=\"open.emit($event); onDropdownOpen()\"\n (close)=\"onClose($event)\"\n class=\"dr-select\"\n [class.ng-select--no-value-padding]=\"noValuePadding\"\n [class.ng-select--multiple-height-increased]=\"multipleHeightIncreased\"\n #selectComponent>\n <ng-template *ngIf=\"optionHeaderTemplate\" ng-header-tmp let-item=\"item\">\n <ng-container [ngTemplateOutlet]=\"optionHeaderTemplate\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n </ng-template>\n <ng-template\n ng-header-tmp\n *ngIf=\"!optionHeaderTemplate && isDisplayingSearchInHeader && items?.length >= minItemsToDisplaySearchInHeader\"\n let-item=\"item\">\n <dr-input\n class=\"dr-select__search\"\n [ngModel]=\"selectComponent.searchTerm\"\n (ngModelChange)=\"selectComponent.itemsList.filter($event + '')\"\n type=\"search\">\n </dr-input>\n </ng-template>\n <ng-template *ngIf=\"labelTemplate\" ng-label-tmp let-item=\"item\">\n <ng-container [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"multiLabelTemplate\" ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-container [ngTemplateOutlet]=\"multiLabelTemplate\" [ngTemplateOutletContext]=\"{ items: items, clear: clear }\">\n </ng-container>\n </ng-template>\n <ng-template *ngIf=\"optionTemplate\" ng-option-tmp let-item=\"item\" let-item$=\"item$\">\n <ng-container [ngTemplateOutlet]=\"optionTemplate\" [ngTemplateOutletContext]=\"{ item: item, item$: item$ }\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"optionWithDescription\" ng-option-tmp let-item=\"item\">\n <div class=\"dr-select__option-with-desc__wrapper\">\n <div>{{ item.name }}</div>\n <div class=\"dr-select__option-with-desc__description\">{{ item?.description }}</div>\n </div>\n </ng-template>\n <ng-template *ngIf=\"optionFooterTemplate\" ng-footer-tmp let-item=\"item\">\n <ng-container\n [ngTemplateOutlet]=\"optionFooterTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, close: selectComponent.close.bind(selectComponent) }\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"groupBy\" ng-optgroup-tmp let-item=\"item\">\n {{ item[groupBy] }}\n </ng-template>\n <ng-template ng-loadingspinner-tmp>\n <div\n *ngIf=\"loading\"\n class=\"dr-select__loading\"\n [drSpinner]=\"loading\"\n [drSpinnerType]=\"'circle'\"\n [drSpinnerSize]=\"'small'\"\n [drSpinnerNoOverlay]=\"true\"></div>\n </ng-template>\n</ng-select>\n<i *ngIf=\"type === 'search-input'\" class=\"search-icon dr-icon-search\"></i>\n", styles: [":host{width:100%;height:32px;font-family:Poppins,sans-serif}:host.textView::ng-deep{width:auto}:host.textView::ng-deep ng-select.ng-select .ng-select-container{border:none!important;cursor:pointer}:host.textView::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{padding:0;color:#4646ce}:host.textView::ng-deep ng-select.ng-select .ng-select-container .ng-value-container:hover{text-decoration-line:underline}:host.textView::ng-deep ng-select.ng-select .ng-select-container .ng-arrow-wrapper{display:none}:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container,:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover,:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within{background:#fff!important;border:none!important;cursor:default}:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-value,:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover .ng-value,:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within .ng-value{color:#aeabac!important}:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-input input::placeholder{color:#aeabac}:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-value-container:hover{text-decoration-line:none}:host.no-left-border-radius ::ng-deep ng-select.ng-select .ng-select-container{border-bottom-left-radius:0!important;border-top-left-radius:0!important}:host.no-right-border-radius ::ng-deep ng-select.ng-select .ng-select-container{border-bottom-right-radius:0!important;border-top-right-radius:0!important}:host.no-right-border ::ng-deep ng-select.ng-select .ng-select-container{border-right:none!important}:host.no-left-border ::ng-deep ng-select.ng-select .ng-select-container{border-left:none!important}:host ::ng-deep ng-select.ng-select .ng-select-container{min-height:32px;height:32px;width:100%;border-radius:6px;border:1px solid #9ea1aa;box-shadow:none!important}:host ::ng-deep ng-select.ng-select .ng-select-container:hover{border-color:#4646ce}:host ::ng-deep ng-select.ng-select .ng-select-container:focus-within{border-color:#4646ce}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-input{font-size:14px;line-height:24px;font-weight:400;top:0!important;padding:0 50px 0 8px!important;color:#333}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-input input::placeholder{font-size:14px;line-height:24px;font-weight:400;color:#6d6e6f}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{font-size:14px;line-height:24px;font-weight:400;padding:0 0 0 8px;height:100%;overflow:auto}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container .ng-input{padding:0 0 0 3px!important}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-arrow-wrapper{margin-right:7px}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow{border:none;width:auto;height:auto;display:flex;text-decoration-line:none;top:0}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow:before{font-family:DataRails!important;content:\"\\ea17\";font-size:24px;color:#6d6e6f}:host ::ng-deep ng-select.ng-select.ng-select-opened .ng-select-container{border-radius:6px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container{max-height:58px;height:100%}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container{font-size:14px;line-height:24px;font-weight:400;max-height:58px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:12px;line-height:16px;font-weight:400;color:#333;height:24px;padding:2px 16px;margin:2px 4px 2px 0;background:#f0f1f4;display:flex;flex-direction:row-reverse;align-items:center;border-radius:12px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-label{padding:0!important}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon{border:none!important;padding:0!important;width:20px;display:flex;align-items:center;color:transparent;margin-left:4px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon:before{font-family:DataRails!important;content:\"\\ea73\";font-size:20px;color:#333}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon,:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon:hover{background:transparent!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within{background:#f0f1f4!important;border:1px solid #aeabac!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within .ng-value{color:#aeabac!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-arrow{color:#aeabac}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-arrow:before{color:#aeabac}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-input input::placeholder{color:#aeabac}:host ::ng-deep ng-select.ng-select.ng-select-single.ng-invalid.ng-touched .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-multiple.ng-invalid.ng-touched .ng-select-container{border-color:#bf1d30}:host ::ng-deep ng-select.ng-select--multiple-height-increased.ng-select-multiple .ng-select-container{max-height:88px}:host ::ng-deep ng-select.ng-select--multiple-height-increased.ng-select-multiple .ng-select-container .ng-value-container{max-height:88px}:host ::ng-deep ng-select.ng-select--no-value-padding .ng-select-container .ng-value-container .ng-value,:host ::ng-deep ng-select.ng-select--no-value-padding.ng-select-multiple .ng-select-container .ng-value-container .ng-value{padding:0}:host ::ng-deep ng-select.ng-select--no-value-padding .ng-select-container .ng-value-container .ng-value .ng-select-user-label,:host ::ng-deep ng-select.ng-select--no-value-padding.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-select-user-label{height:100%}:host.ng-invalid.ng-touched::ng-deep ng-select.ng-select .ng-select-container{border-color:#bf1d30}:host .dr-select__loading{position:relative;height:32px;width:24px}:host.search-input{position:relative}:host.search-input .search-icon{position:absolute;top:4px;right:16px;color:#6d6e6f;z-index:1001}:host.search-input::ng-deep ng-select.ng-select .ng-select-container{border-radius:16px}:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-arrow-wrapper{display:none!important}:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-clear-wrapper{display:flex;justify-content:center;align-items:center;right:40px;top:1px;width:24px;height:24px}:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-clear-wrapper .ng-clear{font-size:24px;font-weight:300;color:#6d6e6f}:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-input,:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{padding:0 0 0 16px!important;width:calc(100% - 63px)}:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-input input,:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-value-container input{height:100%}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select{font-family:Poppins,sans-serif;border:1px solid #dfe0e3;border-radius:4px!important;margin:8px 0;box-shadow:0 4px 8px 1px #00000040;background-color:#fff;overflow:hidden;padding:8px 0}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select.textView{width:auto!important}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option:empty{display:none}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option{display:flex;align-items:center;min-height:36px;padding:8px 12px;font-size:14px;line-height:22px;background:#fff}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option>.ng-option-label{text-overflow:ellipsis;overflow:hidden}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#f5f5f5}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{background:#eaeaff;color:#333}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected span,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked span{font-weight:400!important}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled{cursor:default}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled>div{color:#aeabac}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled>div.dr-select__option-with-desc__wrapper .dr-select__option-with-desc__description{color:#aeabac}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled[role=group]{font-size:14px;line-height:22px;color:#aeabac;cursor:default}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled[role=group]:not(:first-of-type){border-top:1px solid #dfe0e3}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled[role=group]:hover{background:#fff}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .dr-select__option-with-desc__wrapper{color:#333}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .dr-select__option-with-desc__wrapper .dr-select__option-with-desc__description{max-width:-moz-fit-content;max-width:fit-content;word-break:break-word;white-space:normal;color:#6d6e6f;font-weight:400;font-size:12px;line-height:20px}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select.ng-option-selected .dr-select__option-with-desc__wrapper .dr-select__option-with-desc__description,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select.ng-option-selected.ng-option-marked .dr-select__option-with-desc__wrapper .dr-select__option-with-desc__description{color:#6d6e6f}::ng-deep .ng-dropdown-panel--with-search .ng-dropdown-header{border-bottom:none}.custom-backdrop{position:fixed;inset:0;overflow:hidden;pointer-events:none}\n"] }]
|
|
333
|
+
], template: "<ng-select\n [(ngModel)]=\"selectedItem\"\n [items]=\"items\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [multiple]=\"multiple\"\n [addTag]=\"addTag\"\n [appendTo]=\"appendTo\"\n [clearable]=\"clearable\"\n [searchable]=\"searchable\"\n [hideSelected]=\"hideSelected\"\n [placeholder]=\"placeholder\"\n [loading]=\"loading\"\n [loadingText]=\"loadingText\"\n [readonly]=\"readonly\"\n [closeOnSelect]=\"closeOnSelect\"\n [disabled]=\"disabled\"\n [labelForId]=\"id\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [keyDownFn]=\"keyDownFn\"\n [searchFn]=\"searchFn\"\n [isOpen]=\"(type !== 'search-input' || !!selectComponent.searchTerm?.length) && isOpen\"\n [groupBy]=\"groupBy\"\n [attr.autofocus]=\"autofocus\"\n [selectOnTab]=\"selectOnTabKeyPress\"\n [virtualScroll]=\"virtualScroll\"\n [typeahead]=\"typeahead\"\n (search)=\"search.emit($event)\"\n (scrollToEnd)=\"scrollToEnd.emit($event)\"\n (keydown.tab)=\"onTabKeypress($event)\"\n (change)=\"onValueSelected(selectedItem)\"\n (open)=\"open.emit($event); onDropdownOpen()\"\n (close)=\"onClose($event)\"\n class=\"dr-select\"\n [class.ng-select--no-value-padding]=\"noValuePadding\"\n [class.ng-select--multiple-height-increased]=\"multipleHeightIncreased\"\n #selectComponent>\n <ng-template *ngIf=\"optionHeaderTemplate\" ng-header-tmp let-item=\"item\">\n <ng-container [ngTemplateOutlet]=\"optionHeaderTemplate\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n </ng-template>\n <ng-template\n ng-header-tmp\n *ngIf=\"!optionHeaderTemplate && isDisplayingSearchInHeader && items?.length >= minItemsToDisplaySearchInHeader\"\n let-item=\"item\">\n <dr-input\n class=\"dr-select__search\"\n [ngModel]=\"selectComponent.searchTerm\"\n (ngModelChange)=\"selectComponent.itemsList.filter($event + '')\"\n type=\"search\">\n </dr-input>\n </ng-template>\n <ng-template *ngIf=\"labelTemplate\" ng-label-tmp let-item=\"item\">\n <ng-container [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"multiLabelTemplate\" ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-container [ngTemplateOutlet]=\"multiLabelTemplate\" [ngTemplateOutletContext]=\"{ items: items, clear: clear }\">\n </ng-container>\n </ng-template>\n <ng-template *ngIf=\"optionTemplate\" ng-option-tmp let-item=\"item\" let-item$=\"item$\">\n <ng-container [ngTemplateOutlet]=\"optionTemplate\" [ngTemplateOutletContext]=\"{ item: item, item$: item$ }\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"optionWithDescription\" ng-option-tmp let-item=\"item\">\n <div class=\"dr-select__option-with-desc__wrapper\">\n <div>{{ item.name }}</div>\n <div class=\"dr-select__option-with-desc__description\">{{ item?.description }}</div>\n </div>\n </ng-template>\n <ng-template *ngIf=\"optionFooterTemplate\" ng-footer-tmp let-item=\"item\">\n <ng-container\n [ngTemplateOutlet]=\"optionFooterTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, close: selectComponent.close.bind(selectComponent) }\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"groupBy\" ng-optgroup-tmp let-item=\"item\">\n {{ item[groupBy] }}\n </ng-template>\n <ng-template ng-loadingspinner-tmp>\n <div\n *ngIf=\"loading\"\n class=\"dr-select__loading\"\n [drSpinner]=\"loading\"\n [drSpinnerType]=\"'circle'\"\n [drSpinnerSize]=\"'small'\"\n [drSpinnerNoOverlay]=\"true\"></div>\n </ng-template>\n</ng-select>\n<i *ngIf=\"type === 'search-input'\" class=\"search-icon dr-icon-search\"></i>\n", styles: [":host{width:100%;height:32px;font-family:Poppins,sans-serif}:host.textView::ng-deep{width:auto}:host.textView::ng-deep ng-select.ng-select .ng-select-container{border:none!important;cursor:pointer}:host.textView::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{padding:0;color:#4646ce}:host.textView::ng-deep ng-select.ng-select .ng-select-container .ng-value-container:hover{text-decoration-line:underline}:host.textView::ng-deep ng-select.ng-select .ng-select-container .ng-arrow-wrapper{display:none}:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container,:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover,:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within{background:#fff!important;border:none!important;cursor:default}:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-value,:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover .ng-value,:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within .ng-value{color:#aeabac!important}:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-input input::placeholder{color:#aeabac}:host.textView::ng-deep ng-select.ng-select.ng-select-disabled .ng-value-container:hover{text-decoration-line:none}:host.no-left-border-radius ::ng-deep ng-select.ng-select .ng-select-container{border-bottom-left-radius:0!important;border-top-left-radius:0!important}:host.no-right-border-radius ::ng-deep ng-select.ng-select .ng-select-container{border-bottom-right-radius:0!important;border-top-right-radius:0!important}:host.no-right-border ::ng-deep ng-select.ng-select .ng-select-container{border-right:none!important}:host.no-left-border ::ng-deep ng-select.ng-select .ng-select-container{border-left:none!important}:host ::ng-deep ng-select.ng-select .ng-select-container{min-height:32px;height:32px;width:100%;border-radius:6px;border:1px solid #9ea1aa;box-shadow:none!important}:host ::ng-deep ng-select.ng-select .ng-select-container:hover{border-color:#4646ce}:host ::ng-deep ng-select.ng-select .ng-select-container:focus-within{border-color:#4646ce}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-input{font-size:14px;line-height:24px;font-weight:400;top:0!important;padding:0 50px 0 8px!important;color:#333}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-input input::placeholder{font-size:14px;line-height:24px;font-weight:400;color:#6d6e6f}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{font-size:14px;line-height:24px;font-weight:400;padding:0 0 0 8px;height:100%;overflow:auto}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-value-container .ng-input{padding:0 0 0 3px!important}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-arrow-wrapper{margin-right:7px}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow{border:none;width:auto;height:auto;display:flex;text-decoration-line:none;top:0}:host ::ng-deep ng-select.ng-select .ng-select-container .ng-arrow-wrapper .ng-arrow:before{font-family:DataRails!important;content:\"\\ea17\";font-size:24px;color:#6d6e6f}:host ::ng-deep ng-select.ng-select.ng-select-opened .ng-select-container{border-radius:6px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container{max-height:58px;height:100%}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container{font-size:14px;line-height:24px;font-weight:400;max-height:58px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:12px;line-height:16px;font-weight:400;color:#333;height:24px;padding:2px 16px;margin:2px 4px 2px 0;background:#f0f1f4;display:flex;flex-direction:row-reverse;align-items:center;border-radius:12px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-label{padding:0!important}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon{border:none!important;padding:0!important;width:20px;display:flex;align-items:center;color:transparent;margin-left:4px}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon:before{font-family:DataRails!important;content:\"\\ea73\";font-size:20px;color:#333}:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon,:host ::ng-deep ng-select.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value-icon:hover{background:transparent!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within{background:#f0f1f4!important;border:1px solid #aeabac!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:hover .ng-value,:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container:focus-within .ng-value{color:#aeabac!important}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-arrow{color:#aeabac}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-arrow:before{color:#aeabac}:host ::ng-deep ng-select.ng-select.ng-select-disabled .ng-select-container .ng-input input::placeholder{color:#aeabac}:host ::ng-deep ng-select.ng-select.ng-select-single.ng-invalid.ng-touched .ng-select-container,:host ::ng-deep ng-select.ng-select.ng-select-multiple.ng-invalid.ng-touched .ng-select-container{border-color:#bf1d30}:host ::ng-deep ng-select.ng-select--multiple-height-increased.ng-select-multiple .ng-select-container{max-height:88px}:host ::ng-deep ng-select.ng-select--multiple-height-increased.ng-select-multiple .ng-select-container .ng-value-container{max-height:88px}:host ::ng-deep ng-select.ng-select--no-value-padding .ng-select-container .ng-value-container .ng-value,:host ::ng-deep ng-select.ng-select--no-value-padding.ng-select-multiple .ng-select-container .ng-value-container .ng-value{padding:0}:host ::ng-deep ng-select.ng-select--no-value-padding .ng-select-container .ng-value-container .ng-value .ng-select-user-label,:host ::ng-deep ng-select.ng-select--no-value-padding.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-select-user-label{height:100%}:host.ng-invalid.ng-touched::ng-deep ng-select.ng-select .ng-select-container{border-color:#bf1d30}:host .dr-select__loading{position:relative;height:32px;width:24px}:host.search-input{position:relative}:host.search-input .search-icon{position:absolute;top:4px;right:16px;color:#6d6e6f;z-index:1001}:host.search-input::ng-deep ng-select.ng-select .ng-select-container{border-radius:16px}:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-arrow-wrapper{display:none!important}:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-clear-wrapper{display:flex;justify-content:center;align-items:center;right:40px;top:1px;width:24px;height:24px}:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-clear-wrapper .ng-clear{font-size:24px;font-weight:300;color:#6d6e6f}:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-input,:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-value-container{padding:0 0 0 16px!important;width:calc(100% - 63px)}:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-input input,:host.search-input::ng-deep ng-select.ng-select .ng-select-container .ng-value-container input{height:100%}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select{font-family:Poppins,sans-serif;border:1px solid #dfe0e3;border-radius:4px!important;margin:8px 0;box-shadow:0 4px 8px 1px #00000040;background-color:#fff;overflow:hidden;padding:8px 0}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select.textView{width:auto!important}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option:empty{display:none}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option{display:flex;align-items:center;min-height:36px;padding:8px 12px;font-size:14px;line-height:22px;background:#fff}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option>.ng-option-label{text-overflow:ellipsis;overflow:hidden}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-marked{background:#f5f5f5}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{background:#eaeaff;color:#333}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected span,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked span{font-weight:400!important}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled{cursor:default}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled>div{color:#aeabac}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled>div.dr-select__option-with-desc__wrapper .dr-select__option-with-desc__description{color:#aeabac}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled[role=group]{font-size:14px;line-height:22px;color:#aeabac;cursor:default}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled[role=group]:not(:first-of-type){border-top:1px solid #dfe0e3}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .ng-dropdown-panel-items .ng-option.ng-option-disabled[role=group]:hover{background:#fff}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .dr-select__option-with-desc__wrapper{color:#333}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select .dr-select__option-with-desc__wrapper .dr-select__option-with-desc__description{max-width:-moz-fit-content;max-width:fit-content;word-break:break-word;white-space:normal;color:#6d6e6f;font-weight:400;font-size:12px;line-height:20px}::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select.ng-option-selected .dr-select__option-with-desc__wrapper .dr-select__option-with-desc__description,::ng-deep ng-dropdown-panel.ng-dropdown-panel.dr-select.ng-option-selected.ng-option-marked .dr-select__option-with-desc__wrapper .dr-select__option-with-desc__description{color:#6d6e6f}::ng-deep .ng-dropdown-panel--with-search .ng-dropdown-header{border-bottom:none}.custom-backdrop{position:fixed;inset:0;overflow:hidden;pointer-events:none}\n"] }]
|
|
327
334
|
}], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { type: [{
|
|
328
335
|
type: Input
|
|
329
336
|
}, {
|
|
@@ -398,6 +405,14 @@ export class DrSelectComponent {
|
|
|
398
405
|
type: Input
|
|
399
406
|
}], selectOnTabKeyPress: [{
|
|
400
407
|
type: Input
|
|
408
|
+
}], virtualScroll: [{
|
|
409
|
+
type: Input
|
|
410
|
+
}], typeahead: [{
|
|
411
|
+
type: Input
|
|
412
|
+
}], search: [{
|
|
413
|
+
type: Output
|
|
414
|
+
}], scrollToEnd: [{
|
|
415
|
+
type: Output
|
|
401
416
|
}], change: [{
|
|
402
417
|
type: Output
|
|
403
418
|
}], open: [{
|
|
@@ -426,4 +441,4 @@ export class DrSelectComponent {
|
|
|
426
441
|
type: HostBinding,
|
|
427
442
|
args: ['class.textView']
|
|
428
443
|
}] }); })();
|
|
429
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7OztJQ29CakQsMkJBQWtIOzs7O0lBQXBHLCtEQUF5QyxpRUFBQTs7O0lBRDNELG9GQUVjOzs7O0lBS1YsbUNBSWtCO0lBRGQsa05BQWlCLGVBQUEsOEJBQTBDLEVBQUUsQ0FBQyxDQUFBLElBQUM7SUFFbkUsaUJBQVc7Ozs7SUFIUCx3Q0FBc0M7OztJQU45QyxvRkFVYzs7O0lBRVYsMkJBQTJHOzs7O0lBQTdGLHdEQUFrQyxpRUFBQTs7O0lBRHBELG9GQUVjOzs7O0lBRVYsMkJBQ2U7Ozs7O0lBREQsNkRBQXVDLDZFQUFBOzs7SUFEekQsb0ZBR2M7Ozs7SUFFViwyQkFBMEg7Ozs7O0lBQTVHLHlEQUFtQyw0RUFBQTs7O0lBRHJELHFGQUVjOzs7SUFFViwrQkFBa0QsVUFBQTtJQUN6QyxZQUFlO0lBQUEsaUJBQU07SUFDMUIsK0JBQXNEO0lBQUEsWUFBdUI7SUFBQSxpQkFB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QVk7bUJBQUMsc0JBQXNCO1lBQ0Usb0JBQW9CO2tCQUF6RCxZQUFZO21CQUFDLHNCQUFzQjtZQUNMLFVBQVU7a0JBQXhDLFdBQVc7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IEl0ZW1zTGlzdCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0L2xpYi9pdGVtcy1saXN0JztcblxuY29uc3QgU0VMRUNUX0hPU1RfQVRUUklCVVRFUyA9IFsnbm8tbGVmdC1ib3JkZXInLCAnbm8tbGVmdC1ib3JkZXItcmFkaXVzJywgJ25vLXJpZ2h0LWJvcmRlcicsICduby1yaWdodC1ib3JkZXItcmFkaXVzJ107XG5cbmludGVyZmFjZSBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvciB7XG4gICAgY2xvc2U6ICgpID0+IHZvaWQ7XG4gICAgd3JpdGVWYWx1ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgYmx1cjogKCkgPT4gdm9pZDtcbiAgICBpdGVtc0xpc3Q6IEl0ZW1zTGlzdDtcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRHJTZWxlY3RDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEclNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgdHlwZTogJ3NlbGVjdCcgfCAnc2VhcmNoLWlucHV0JyA9ICdzZWxlY3QnO1xuXG4gICAgQElucHV0KCkgY2xlYXJJbnB1dFRleHRBZnRlclNlbGVjdGlvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGl0ZW1zOiBBcnJheTxhbnk+IHwgUmVhZG9ubHk8QXJyYXk8YW55Pj4gPSBbXTtcbiAgICBASW5wdXQoKSBhZGRUYWc6IGJvb2xlYW4gfCAoKHRlcm06IHN0cmluZykgPT4gYW55IHwgUHJvbWlzZTxhbnk+KTtcbiAgICBASW5wdXQoKSBhcHBlbmRUbyA9ICdib2R5JztcbiAgICBASW5wdXQoKSBiaW5kTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1pbkl0ZW1zVG9EaXNwbGF5U2VhcmNoSW5IZWFkZXIgPSAxMTtcblxuICAgIEBJbnB1dCgpIHNlYXJjaEZuOiAodGVybTogc3RyaW5nLCBpdGVtOiBhbnkpID0+IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGVIZWlnaHRJbmNyZWFzZWQ/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhTZWxlY3RlZEl0ZW1zOiBudW1iZXI7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxvYWRpbmdUZXh0OiBzdHJpbmcgPSAnTG9hZGluZy4uLic7XG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBncm91cEJ5ID0gbnVsbDtcbiAgICBASW5wdXQoKSBvcHRpb25XaXRoRGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBob3N0SWQgPSBudWxsO1xuICAgIEBJbnB1dCgpIGtleURvd25GbjogKCRldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBhbnk7XG4gICAgQElucHV0KCkgZHJvcGRvd25DbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2V0IHRleHRWaWV3KHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFzVGV4dFZpZXcgPSB2YWw7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub1ZhbHVlUGFkZGluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNlbGVjdE9uVGFiS2V5UHJlc3MgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9wZW46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlVXA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudCwgeyByZWFkOiBOZ1NlbGVjdENvbXBvbmVudCB9KSBwcml2YXRlIHJlYWRvbmx5IG5nU2VsZWN0OiBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvcjtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXBsYXRlJykgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdtdWx0aUxhYmVsVGVtcGxhdGUnKSBtdWx0aUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25IZWFkZXJUZW1wbGF0ZScpIG9wdGlvbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvbkZvb3RlclRlbXBsYXRlJykgb3B0aW9uRm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0VmlldycpIGFzVGV4dFZpZXcgPSBmYWxzZTtcbiAgICBiYWNrZHJvcEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgZm9yIChjb25zdCBhdHRyIG9mIFNFTEVDVF9IT1NUX0FUVFJJQlVURVMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0hvc3RBdHRyaWJ1dGVzKGF0dHIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoYXR0cik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCcgJiYgIXRoaXMuc2VsZWN0ZWRJdGVtICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuXG4gICAgICAgIGlmIChmbiAmJiB0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nU2VsZWN0LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25Ecm9wZG93bk9wZW4oKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWNrZHJvcCgpO1xuICAgICAgICAgICAgY29uc3QgY2xhc3Nlc1RvQWRkID0gW107XG4gICAgICAgICAgICBpZiAodGhpcy5hc1RleHRWaWV3KSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlc1RvQWRkLnB1c2goJ3RleHRWaWV3Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuZHJvcGRvd25DbGFzcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzVG9BZGQucHVzaCguLi50aGlzLmRyb3Bkb3duQ2xhc3Muc3BsaXQoJyAnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5pc0Rpc3BsYXlpbmdTZWFyY2hJbkhlYWRlciAmJiAhdGhpcy5vcHRpb25IZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIGNsYXNzZXNUb0FkZC5wdXNoKCduZy1kcm9wZG93bi1wYW5lbC0td2l0aC1zZWFyY2gnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm5nLWRyb3Bkb3duLXBhbmVsJyk7XG4gICAgICAgICAgICBpZiAoZHJvcGRvd24pIHtcbiAgICAgICAgICAgICAgICBkcm9wZG93bi5jbGFzc0xpc3QuYWRkKC4uLmNsYXNzZXNUb0FkZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIG9uVmFsdWVTZWxlY3RlZChzZWxlY3RlZEl0ZW06IGFueSkge1xuICAgICAgICBpZiAodGhpcy5jbGVhcklucHV0VGV4dEFmdGVyU2VsZWN0aW9uICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHNlbGVjdGVkSXRlbSk7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoc2VsZWN0ZWRJdGVtKTtcbiAgICB9XG5cbiAgICBvblRhYktleXByZXNzKGUpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0T25UYWJLZXlQcmVzcyAmJiB0aGlzLm5nU2VsZWN0KSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsb3NlKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5jbG9zZVVwLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLnJlbW92ZUJhY2tkcm9wKCk7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdzZWFyY2gtaW5wdXQnICYmIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0Py5sYXN0U2VsZWN0ZWRJdGVtPy5sYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3QubGFzdFNlbGVjdGVkSXRlbS5sYWJlbDtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0LmZpbHRlcih0aGlzLm5nU2VsZWN0LnNlYXJjaFRlcm0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNEaXNwbGF5aW5nU2VhcmNoSW5IZWFkZXIpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0Lml0ZW1zTGlzdC5maWx0ZXIobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCAnbm8tc2Nyb2xsJyk7XG4gICAgICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ2N1c3RvbS1iYWNrZHJvcCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuYmFja2Ryb3BFbGVtZW50KTtcbiAgICB9XG5cbiAgICByZW1vdmVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFja2Ryb3BFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICduby1zY3JvbGwnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc0hvc3RBdHRyaWJ1dGVzKC4uLmF0dHJpYnV0ZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLnNvbWUoKGF0dHJpYnV0ZSkgPT4gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGUpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVCYWNrZHJvcCgpO1xuICAgICAgICB0aGlzLm5nU2VsZWN0Py5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxuZy1zZWxlY3RcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkSXRlbVwiXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICBbYmluZExhYmVsXT1cImJpbmRMYWJlbFwiXG4gICAgW2JpbmRWYWx1ZV09XCJiaW5kVmFsdWVcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW2FkZFRhZ109XCJhZGRUYWdcIlxuICAgIFthcHBlbmRUb109XCJhcHBlbmRUb1wiXG4gICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxuICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxuICAgIFtoaWRlU2VsZWN0ZWRdPVwiaGlkZVNlbGVjdGVkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtsb2FkaW5nVGV4dF09XCJsb2FkaW5nVGV4dFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbY2xvc2VPblNlbGVjdF09XCJjbG9zZU9uU2VsZWN0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtsYWJlbEZvcklkXT1cImlkXCJcbiAgICBbbWF4U2VsZWN0ZWRJdGVtc109XCJtYXhTZWxlY3RlZEl0ZW1zXCJcbiAgICBba2V5RG93bkZuXT1cImtleURvd25GblwiXG4gICAgW3NlYXJjaEZuXT1cInNlYXJjaEZuXCJcbiAgICBbaXNPcGVuXT1cIih0eXBlICE9PSAnc2VhcmNoLWlucHV0JyB8fCAhIXNlbGVjdENvbXBvbmVudC5zZWFyY2hUZXJtPy5sZW5ndGgpICYmIGlzT3BlblwiXG4gICAgW2dyb3VwQnldPVwiZ3JvdXBCeVwiXG4gICAgW2F0dHIuYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgW3NlbGVjdE9uVGFiXT1cInNlbGVjdE9uVGFiS2V5UHJlc3NcIlxuICAgIChrZXlkb3duLnRhYik9XCJvblRhYktleXByZXNzKCRldmVudClcIlxuICAgIChjaGFuZ2UpPVwib25WYWx1ZVNlbGVjdGVkKHNlbGVjdGVkSXRlbSlcIlxuICAgIChvcGVuKT1cIm9wZW4uZW1pdCgkZXZlbnQpOyBvbkRyb3Bkb3duT3BlbigpXCJcbiAgICAoY2xvc2UpPVwib25DbG9zZSgkZXZlbnQpXCJcbiAgICBjbGFzcz1cImRyLXNlbGVjdFwiXG4gICAgW2NsYXNzLm5nLXNlbGVjdC0tbm8tdmFsdWUtcGFkZGluZ109XCJub1ZhbHVlUGFkZGluZ1wiXG4gICAgW2NsYXNzLm5nLXNlbGVjdC0tbXVsdGlwbGUtaGVpZ2h0LWluY3JlYXNlZF09XCJtdWx0aXBsZUhlaWdodEluY3JlYXNlZFwiXG4gICAgI3NlbGVjdENvbXBvbmVudD5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25IZWFkZXJUZW1wbGF0ZVwiIG5nLWhlYWRlci10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uSGVhZGVyVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBuZy1oZWFkZXItdG1wXG4gICAgICAgICpuZ0lmPVwiIW9wdGlvbkhlYWRlclRlbXBsYXRlICYmIGlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyICYmIGl0ZW1zPy5sZW5ndGggPj0gbWluSXRlbXNUb0Rpc3BsYXlTZWFyY2hJbkhlYWRlclwiXG4gICAgICAgIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8ZHItaW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiZHItc2VsZWN0X19zZWFyY2hcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0Q29tcG9uZW50LnNlYXJjaFRlcm1cIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0Q29tcG9uZW50Lml0ZW1zTGlzdC5maWx0ZXIoJGV2ZW50ICsgJycpXCJcbiAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIj5cbiAgICAgICAgPC9kci1pbnB1dD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImxhYmVsVGVtcGxhdGVcIiBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibXVsdGlMYWJlbFRlbXBsYXRlXCIgbmctbXVsdGktbGFiZWwtdG1wIGxldC1pdGVtcz1cIml0ZW1zXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtdWx0aUxhYmVsVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtczogaXRlbXMsIGNsZWFyOiBjbGVhciB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uVGVtcGxhdGVcIiBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pdGVtJD1cIml0ZW0kXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtLCBpdGVtJDogaXRlbSQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uV2l0aERlc2NyaXB0aW9uXCIgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyLXNlbGVjdF9fb3B0aW9uLXdpdGgtZGVzY19fd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdj57eyBpdGVtLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkci1zZWxlY3RfX29wdGlvbi13aXRoLWRlc2NfX2Rlc2NyaXB0aW9uXCI+e3sgaXRlbT8uZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25Gb290ZXJUZW1wbGF0ZVwiIG5nLWZvb3Rlci10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbkZvb3RlclRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0sIGNsb3NlOiBzZWxlY3RDb21wb25lbnQuY2xvc2UuYmluZChzZWxlY3RDb21wb25lbnQpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImdyb3VwQnlcIiBuZy1vcHRncm91cC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIHt7IGl0ZW1bZ3JvdXBCeV0gfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBuZy1sb2FkaW5nc3Bpbm5lci10bXA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgICAgICAgICBjbGFzcz1cImRyLXNlbGVjdF9fbG9hZGluZ1wiXG4gICAgICAgICAgICBbZHJTcGlubmVyXT1cImxvYWRpbmdcIlxuICAgICAgICAgICAgW2RyU3Bpbm5lclR5cGVdPVwiJ2NpcmNsZSdcIlxuICAgICAgICAgICAgW2RyU3Bpbm5lclNpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgICBbZHJTcGlubmVyTm9PdmVybGF5XT1cInRydWVcIj48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1zZWxlY3Q+XG48aSAqbmdJZj1cInR5cGUgPT09ICdzZWFyY2gtaW5wdXQnXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBkci1pY29uLXNlYXJjaFwiPjwvaT5cbiJdfQ==
|
|
444
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lDc0J2QiwyQkFBa0g7Ozs7SUFBcEcsK0RBQXlDLGlFQUFBOzs7SUFEM0Qsb0ZBRWM7Ozs7SUFLVixtQ0FJa0I7SUFEZCxrTkFBaUIsZUFBQSw4QkFBMEMsRUFBRSxDQUFDLENBQUEsSUFBQztJQUVuRSxpQkFBVzs7OztJQUhQLHdDQUFzQzs7O0lBTjlDLG9GQVVjOzs7SUFFViwyQkFBMkc7Ozs7SUFBN0Ysd0RBQWtDLGlFQUFBOzs7SUFEcEQsb0ZBRWM7Ozs7SUFFViwyQkFDZTs7Ozs7SUFERCw2REFBdUMsNkVBQUE7OztJQUR6RCxvRkFHYzs7OztJQUVWLDJCQUEwSDs7Ozs7SUFBNUcseURBQW1DLDRFQUFBOzs7SUFEckQscUZBRWM7OztJQUVWLCtCQUFrRCxVQUFBO0lBQ3pDLFlBQWU7SUFB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LGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBRUksTUFBTTtrQkFBZixNQUFNO1lBSUcsV0FBVztrQkFBcEIsTUFBTTtZQUNHLE1BQU07a0JBQWYsTUFBTTtZQUNHLElBQUk7a0JBQWIsTUFBTTtZQUNHLE9BQU87a0JBQWhCLE1BQU07WUFDcUUsUUFBUTtrQkFBbkYsU0FBUzttQkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUMxQixhQUFhO2tCQUEzQyxZQUFZO21CQUFDLGVBQWU7WUFDTyxrQkFBa0I7a0JBQXJELFlBQVk7bUJBQUMsb0JBQW9CO1lBQ0YsY0FBYztrQkFBN0MsWUFBWTttQkFBQyxnQkFBZ0I7WUFDUSxvQkFBb0I7a0JBQXpELFlBQVk7bUJBQUMsc0JBQXNCO1lBQ0Usb0JBQW9CO2tCQUF6RCxZQUFZO21CQUFDLHNCQUFzQjtZQUNMLFVBQVU7a0JBQXhDLFdBQVc7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IEl0ZW1zTGlzdCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0L2xpYi9pdGVtcy1saXN0JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuY29uc3QgU0VMRUNUX0hPU1RfQVRUUklCVVRFUyA9IFsnbm8tbGVmdC1ib3JkZXInLCAnbm8tbGVmdC1ib3JkZXItcmFkaXVzJywgJ25vLXJpZ2h0LWJvcmRlcicsICduby1yaWdodC1ib3JkZXItcmFkaXVzJ107XG5cbmludGVyZmFjZSBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvciB7XG4gICAgY2xvc2U6ICgpID0+IHZvaWQ7XG4gICAgb3BlbjogKCkgPT4gdm9pZDtcbiAgICB3cml0ZVZhbHVlOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgICBibHVyOiAoKSA9PiB2b2lkO1xuICAgIGl0ZW1zTGlzdDogSXRlbXNMaXN0O1xuICAgIHNlYXJjaFRlcm06IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBEclNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICB0eXBlOiAnc2VsZWN0JyB8ICdzZWFyY2gtaW5wdXQnID0gJ3NlbGVjdCc7XG5cbiAgICBASW5wdXQoKSBjbGVhcklucHV0VGV4dEFmdGVyU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM6IEFycmF5PGFueT4gfCBSZWFkb25seTxBcnJheTxhbnk+PiA9IFtdO1xuICAgIEBJbnB1dCgpIGFkZFRhZzogYm9vbGVhbiB8ICgodGVybTogc3RyaW5nKSA9PiBhbnkgfCBQcm9taXNlPGFueT4pO1xuICAgIEBJbnB1dCgpIGFwcGVuZFRvID0gJ2JvZHknO1xuICAgIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJpbmRWYWx1ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHNlYXJjaGFibGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNEaXNwbGF5aW5nU2VhcmNoSW5IZWFkZXI6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWluSXRlbXNUb0Rpc3BsYXlTZWFyY2hJbkhlYWRlciA9IDExO1xuXG4gICAgQElucHV0KCkgc2VhcmNoRm46ICh0ZXJtOiBzdHJpbmcsIGl0ZW06IGFueSkgPT4gYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtdWx0aXBsZUhlaWdodEluY3JlYXNlZD86IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVNlbGVjdGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1heFNlbGVjdGVkSXRlbXM6IG51bWJlcjtcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbG9hZGluZ1RleHQ6IHN0cmluZyA9ICdMb2FkaW5nLi4uJztcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGdyb3VwQnkgPSBudWxsO1xuICAgIEBJbnB1dCgpIG9wdGlvbldpdGhEZXNjcmlwdGlvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGhvc3RJZCA9IG51bGw7XG4gICAgQElucHV0KCkga2V5RG93bkZuOiAoJGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZEl0ZW06IGFueTtcbiAgICBASW5wdXQoKSBkcm9wZG93bkNsYXNzOiBzdHJpbmc7XG4gICAgQElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBzZXQgdGV4dFZpZXcodmFsOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYXNUZXh0VmlldyA9IHZhbDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBhdXRvZm9jdXM6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNPcGVuOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5vVmFsdWVQYWRkaW5nID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2VsZWN0T25UYWJLZXlQcmVzcyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHZpcnR1YWxTY3JvbGwgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB0eXBlYWhlYWQhOiBTdWJqZWN0PHN0cmluZz47XG5cbiAgICBAT3V0cHV0KCkgc2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIHRlcm06IHN0cmluZztcbiAgICAgICAgaXRlbXM6IGFueVtdO1xuICAgIH0+KCk7XG4gICAgQE91dHB1dCgpIHNjcm9sbFRvRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgb3BlbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgY2xvc2VVcDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAVmlld0NoaWxkKE5nU2VsZWN0Q29tcG9uZW50LCB7IHJlYWQ6IE5nU2VsZWN0Q29tcG9uZW50IH0pIHByaXZhdGUgcmVhZG9ubHkgbmdTZWxlY3Q6IElOZ1NlbGVjdENvbXBvbmVudEFjY2Vzc29yO1xuICAgIEBDb250ZW50Q2hpbGQoJ2xhYmVsVGVtcGxhdGUnKSBsYWJlbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoJ211bHRpTGFiZWxUZW1wbGF0ZScpIG11bHRpTGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25UZW1wbGF0ZScpIG9wdGlvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvbkhlYWRlclRlbXBsYXRlJykgb3B0aW9uSGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnb3B0aW9uRm9vdGVyVGVtcGxhdGUnKSBvcHRpb25Gb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHRWaWV3JykgYXNUZXh0VmlldyA9IGZhbHNlO1xuICAgIGJhY2tkcm9wRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkge1xuICAgICAgICBmb3IgKGNvbnN0IGF0dHIgb2YgU0VMRUNUX0hPU1RfQVRUUklCVVRFUykge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzSG9zdEF0dHJpYnV0ZXMoYXR0cikpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZChhdHRyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hhbmdlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWRJdGVtKTtcblxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnc2VhcmNoLWlucHV0JyAmJiAhdGhpcy5zZWxlY3RlZEl0ZW0gJiYgdGhpcy5uZ1NlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG5cbiAgICAgICAgaWYgKGZuICYmIHRoaXMuc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nU2VsZWN0Lm9wZW4oKTtcbiAgICB9XG5cbiAgICBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1NlbGVjdC5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uRHJvcGRvd25PcGVuKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQmFja2Ryb3AoKTtcbiAgICAgICAgICAgIGNvbnN0IGNsYXNzZXNUb0FkZCA9IFtdO1xuICAgICAgICAgICAgaWYgKHRoaXMuYXNUZXh0Vmlldykge1xuICAgICAgICAgICAgICAgIGNsYXNzZXNUb0FkZC5wdXNoKCd0ZXh0VmlldycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRyb3Bkb3duQ2xhc3MgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlc1RvQWRkLnB1c2goLi4udGhpcy5kcm9wZG93bkNsYXNzLnNwbGl0KCcgJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuaXNEaXNwbGF5aW5nU2VhcmNoSW5IZWFkZXIgJiYgIXRoaXMub3B0aW9uSGVhZGVyVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzVG9BZGQucHVzaCgnbmctZHJvcGRvd24tcGFuZWwtLXdpdGgtc2VhcmNoJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkcm9wZG93biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uZy1kcm9wZG93bi1wYW5lbCcpO1xuICAgICAgICAgICAgaWYgKGRyb3Bkb3duKSB7XG4gICAgICAgICAgICAgICAgZHJvcGRvd24uY2xhc3NMaXN0LmFkZCguLi5jbGFzc2VzVG9BZGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBvblZhbHVlU2VsZWN0ZWQoc2VsZWN0ZWRJdGVtOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuY2xlYXJJbnB1dFRleHRBZnRlclNlbGVjdGlvbiAmJiB0aGlzLm5nU2VsZWN0KSB7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0LnNlYXJjaFRlcm0gPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZShzZWxlY3RlZEl0ZW0pO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHNlbGVjdGVkSXRlbSk7XG4gICAgfVxuXG4gICAgb25UYWJLZXlwcmVzcyhlKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdE9uVGFiS2V5UHJlc3MgJiYgdGhpcy5uZ1NlbGVjdCkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DbG9zZShldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMuY2xvc2VVcC5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5yZW1vdmVCYWNrZHJvcCgpO1xuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnc2VhcmNoLWlucHV0JyAmJiB0aGlzLm5nU2VsZWN0Lml0ZW1zTGlzdD8ubGFzdFNlbGVjdGVkSXRlbT8ubGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0Lmxhc3RTZWxlY3RlZEl0ZW0ubGFiZWw7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0Lml0ZW1zTGlzdC5maWx0ZXIodGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyKSB7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0LnNlYXJjaFRlcm0gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3QuZmlsdGVyKG51bGwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlQmFja2Ryb3AoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwgJ25vLXNjcm9sbCcpO1xuICAgICAgICB0aGlzLmJhY2tkcm9wRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5iYWNrZHJvcEVsZW1lbnQsICdjdXN0b20tYmFja2Ryb3AnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmJhY2tkcm9wRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQmFja2Ryb3AoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmJhY2tkcm9wRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhkb2N1bWVudC5ib2R5LCAnbm8tc2Nyb2xsJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuYmFja2Ryb3BFbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNIb3N0QXR0cmlidXRlcyguLi5hdHRyaWJ1dGVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gYXR0cmlidXRlcy5zb21lKChhdHRyaWJ1dGUpID0+IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5oYXNBdHRyaWJ1dGUoYXR0cmlidXRlKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQmFja2Ryb3AoKTtcbiAgICAgICAgdGhpcy5uZ1NlbGVjdD8uY2xvc2UoKTtcbiAgICB9XG59XG4iLCI8bmctc2VsZWN0XG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEl0ZW1cIlxuICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxuICAgIFtiaW5kVmFsdWVdPVwiYmluZFZhbHVlXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgIFthZGRUYWddPVwiYWRkVGFnXCJcbiAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIlxuICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcbiAgICBbaGlkZVNlbGVjdGVkXT1cImhpZGVTZWxlY3RlZFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICBbbG9hZGluZ1RleHRdPVwibG9hZGluZ1RleHRcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2Nsb3NlT25TZWxlY3RdPVwiY2xvc2VPblNlbGVjdFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbGFiZWxGb3JJZF09XCJpZFwiXG4gICAgW21heFNlbGVjdGVkSXRlbXNdPVwibWF4U2VsZWN0ZWRJdGVtc1wiXG4gICAgW2tleURvd25Gbl09XCJrZXlEb3duRm5cIlxuICAgIFtzZWFyY2hGbl09XCJzZWFyY2hGblwiXG4gICAgW2lzT3Blbl09XCIodHlwZSAhPT0gJ3NlYXJjaC1pbnB1dCcgfHwgISFzZWxlY3RDb21wb25lbnQuc2VhcmNoVGVybT8ubGVuZ3RoKSAmJiBpc09wZW5cIlxuICAgIFtncm91cEJ5XT1cImdyb3VwQnlcIlxuICAgIFthdHRyLmF1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgIFtzZWxlY3RPblRhYl09XCJzZWxlY3RPblRhYktleVByZXNzXCJcbiAgICBbdmlydHVhbFNjcm9sbF09XCJ2aXJ0dWFsU2Nyb2xsXCJcbiAgICBbdHlwZWFoZWFkXT1cInR5cGVhaGVhZFwiXG4gICAgKHNlYXJjaCk9XCJzZWFyY2guZW1pdCgkZXZlbnQpXCJcbiAgICAoc2Nyb2xsVG9FbmQpPVwic2Nyb2xsVG9FbmQuZW1pdCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi50YWIpPVwib25UYWJLZXlwcmVzcygkZXZlbnQpXCJcbiAgICAoY2hhbmdlKT1cIm9uVmFsdWVTZWxlY3RlZChzZWxlY3RlZEl0ZW0pXCJcbiAgICAob3Blbik9XCJvcGVuLmVtaXQoJGV2ZW50KTsgb25Ecm9wZG93bk9wZW4oKVwiXG4gICAgKGNsb3NlKT1cIm9uQ2xvc2UoJGV2ZW50KVwiXG4gICAgY2xhc3M9XCJkci1zZWxlY3RcIlxuICAgIFtjbGFzcy5uZy1zZWxlY3QtLW5vLXZhbHVlLXBhZGRpbmddPVwibm9WYWx1ZVBhZGRpbmdcIlxuICAgIFtjbGFzcy5uZy1zZWxlY3QtLW11bHRpcGxlLWhlaWdodC1pbmNyZWFzZWRdPVwibXVsdGlwbGVIZWlnaHRJbmNyZWFzZWRcIlxuICAgICNzZWxlY3RDb21wb25lbnQ+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uSGVhZGVyVGVtcGxhdGVcIiBuZy1oZWFkZXItdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbkhlYWRlclRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgbmctaGVhZGVyLXRtcFxuICAgICAgICAqbmdJZj1cIiFvcHRpb25IZWFkZXJUZW1wbGF0ZSAmJiBpc0Rpc3BsYXlpbmdTZWFyY2hJbkhlYWRlciAmJiBpdGVtcz8ubGVuZ3RoID49IG1pbkl0ZW1zVG9EaXNwbGF5U2VhcmNoSW5IZWFkZXJcIlxuICAgICAgICBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPGRyLWlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImRyLXNlbGVjdF9fc2VhcmNoXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdENvbXBvbmVudC5zZWFyY2hUZXJtXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdENvbXBvbmVudC5pdGVtc0xpc3QuZmlsdGVyKCRldmVudCArICcnKVwiXG4gICAgICAgICAgICB0eXBlPVwic2VhcmNoXCI+XG4gICAgICAgIDwvZHItaW5wdXQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJsYWJlbFRlbXBsYXRlXCIgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm11bHRpTGFiZWxUZW1wbGF0ZVwiIG5nLW11bHRpLWxhYmVsLXRtcCBsZXQtaXRlbXM9XCJpdGVtc1wiIGxldC1jbGVhcj1cImNsZWFyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibXVsdGlMYWJlbFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbXM6IGl0ZW1zLCBjbGVhcjogY2xlYXIgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvblRlbXBsYXRlXCIgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaXRlbSQ9XCJpdGVtJFwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgaXRlbSQ6IGl0ZW0kIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvbldpdGhEZXNjcmlwdGlvblwiIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkci1zZWxlY3RfX29wdGlvbi13aXRoLWRlc2NfX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXY+e3sgaXRlbS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHItc2VsZWN0X19vcHRpb24td2l0aC1kZXNjX19kZXNjcmlwdGlvblwiPnt7IGl0ZW0/LmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uRm9vdGVyVGVtcGxhdGVcIiBuZy1mb290ZXItdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25Gb290ZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtLCBjbG9zZTogc2VsZWN0Q29tcG9uZW50LmNsb3NlLmJpbmQoc2VsZWN0Q29tcG9uZW50KSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJncm91cEJ5XCIgbmctb3B0Z3JvdXAtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICB7eyBpdGVtW2dyb3VwQnldIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgbmctbG9hZGluZ3NwaW5uZXItdG1wPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJkci1zZWxlY3RfX2xvYWRpbmdcIlxuICAgICAgICAgICAgW2RyU3Bpbm5lcl09XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJUeXBlXT1cIidjaXJjbGUnXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJTaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgW2RyU3Bpbm5lck5vT3ZlcmxheV09XCJ0cnVlXCI+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctc2VsZWN0PlxuPGkgKm5nSWY9XCJ0eXBlID09PSAnc2VhcmNoLWlucHV0J1wiIGNsYXNzPVwic2VhcmNoLWljb24gZHItaWNvbi1zZWFyY2hcIj48L2k+XG4iXX0=
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';
|
|
2
|
+
import { reduce as _reduce } from 'lodash';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TruncateTextDirective {
|
|
5
|
+
constructor(el, renderer) {
|
|
6
|
+
this.el = el;
|
|
7
|
+
this.renderer = renderer;
|
|
8
|
+
this.items = [];
|
|
9
|
+
this.itemSeparator = ', ';
|
|
10
|
+
this.maxWidth = 200;
|
|
11
|
+
this.container = this.el.nativeElement;
|
|
12
|
+
}
|
|
13
|
+
ngOnChanges(changes) {
|
|
14
|
+
if (!changes.items.isFirstChange()) {
|
|
15
|
+
this.render();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.renderer.setStyle(this.container, 'white-space', 'nowrap');
|
|
20
|
+
this.renderer.setStyle(this.container, 'overflow', 'hidden');
|
|
21
|
+
this.renderer.setStyle(this.container, 'max-width', this.maxWidth);
|
|
22
|
+
}
|
|
23
|
+
ngAfterViewInit() {
|
|
24
|
+
this.render();
|
|
25
|
+
}
|
|
26
|
+
render() {
|
|
27
|
+
if (!this.items || this.items.length === 0) {
|
|
28
|
+
this.container.innerText = '';
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.container.innerHTML = '';
|
|
32
|
+
const tempContainer = this.createTempContainer();
|
|
33
|
+
this.renderer.appendChild(this.container, tempContainer);
|
|
34
|
+
this.container.innerText = this.getContainerTruncatedText(tempContainer);
|
|
35
|
+
this.renderer.removeChild(this.container, tempContainer);
|
|
36
|
+
}
|
|
37
|
+
createTempContainer() {
|
|
38
|
+
const tempContainer = this.renderer.createElement('div');
|
|
39
|
+
this.renderer.setStyle(tempContainer, 'position', 'absolute');
|
|
40
|
+
this.renderer.setStyle(tempContainer, 'visibility', 'hidden');
|
|
41
|
+
this.renderer.setStyle(tempContainer, 'white-space', 'nowrap');
|
|
42
|
+
this.renderer.setStyle(tempContainer, 'pointer-events', 'none');
|
|
43
|
+
return tempContainer;
|
|
44
|
+
}
|
|
45
|
+
getContainerTruncatedText(container) {
|
|
46
|
+
const visibleCount = this.calculateVisibleItems(container);
|
|
47
|
+
const hiddenCount = this.items.length - visibleCount;
|
|
48
|
+
if (visibleCount > 0) {
|
|
49
|
+
const visibleItems = this.items.slice(0, visibleCount);
|
|
50
|
+
return hiddenCount > 0
|
|
51
|
+
? [...visibleItems, `+${hiddenCount}`].join(this.itemSeparator)
|
|
52
|
+
: visibleItems.join(this.itemSeparator);
|
|
53
|
+
}
|
|
54
|
+
else if (hiddenCount) {
|
|
55
|
+
const FIRST_SIX_SYMBOLS = 6;
|
|
56
|
+
const FIRST_DISPLAYED_ITEM = 1;
|
|
57
|
+
const ELLIPSIS = '...';
|
|
58
|
+
const hiddenItemsCount = this.items.length - FIRST_DISPLAYED_ITEM;
|
|
59
|
+
if (hiddenItemsCount) {
|
|
60
|
+
const suffix = `+${this.items.length - FIRST_DISPLAYED_ITEM}`;
|
|
61
|
+
const firstItem = this.items[0].slice(0, FIRST_SIX_SYMBOLS);
|
|
62
|
+
return firstItem + ELLIPSIS + this.itemSeparator + suffix;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
return this.items?.[0];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return this.items?.[0];
|
|
69
|
+
}
|
|
70
|
+
calculateVisibleItems(container) {
|
|
71
|
+
const lastIdx = this.items.length - 1;
|
|
72
|
+
const separatorWidth = this.measureTextWidth(this.itemSeparator);
|
|
73
|
+
const { visibleCount } = _reduce(this.items, (acc, curr, idx) => {
|
|
74
|
+
if (acc.accumulatedWidth >= this.maxWidth) {
|
|
75
|
+
return acc;
|
|
76
|
+
}
|
|
77
|
+
const span = this.renderer.createElement('span');
|
|
78
|
+
span.innerText = curr;
|
|
79
|
+
this.renderer.appendChild(container, span);
|
|
80
|
+
const itemSeparatorWidth = idx && idx !== lastIdx ? separatorWidth : 0;
|
|
81
|
+
acc.accumulatedWidth += span.offsetWidth + itemSeparatorWidth;
|
|
82
|
+
const remainingCount = this.items.length - (idx + 1);
|
|
83
|
+
const suffix = remainingCount > 0 ? `+${remainingCount}` : '';
|
|
84
|
+
const suffixWidth = suffix ? this.measureTextWidth(this.itemSeparator + suffix) : 0;
|
|
85
|
+
if (acc.accumulatedWidth + suffixWidth <= this.maxWidth) {
|
|
86
|
+
acc.visibleCount = idx + 1;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return acc;
|
|
90
|
+
}
|
|
91
|
+
return acc;
|
|
92
|
+
}, { accumulatedWidth: 0, visibleCount: 0 });
|
|
93
|
+
return visibleCount;
|
|
94
|
+
}
|
|
95
|
+
measureTextWidth(text) {
|
|
96
|
+
const span = this.renderer.createElement('span');
|
|
97
|
+
span.innerText = text;
|
|
98
|
+
this.renderer.setStyle(span, 'visibility', 'hidden');
|
|
99
|
+
this.renderer.setStyle(span, 'position', 'absolute');
|
|
100
|
+
this.renderer.setStyle(span, 'white-space', 'nowrap');
|
|
101
|
+
this.renderer.appendChild(this.container, span);
|
|
102
|
+
const width = span.offsetWidth;
|
|
103
|
+
this.renderer.removeChild(this.container, span);
|
|
104
|
+
return width;
|
|
105
|
+
}
|
|
106
|
+
/** @nocollapse */ static { this.ɵfac = function TruncateTextDirective_Factory(t) { return new (t || TruncateTextDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
|
|
107
|
+
/** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: TruncateTextDirective, selectors: [["", "drTruncateText", ""]], inputs: { items: ["drTruncateText", "items"], itemSeparator: ["drTruncateTextSeparator", "itemSeparator"], maxWidth: ["drTruncateTextMaxWidth", "maxWidth"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
|
|
108
|
+
}
|
|
109
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TruncateTextDirective, [{
|
|
110
|
+
type: Directive,
|
|
111
|
+
args: [{
|
|
112
|
+
selector: '[drTruncateText]',
|
|
113
|
+
standalone: true,
|
|
114
|
+
}]
|
|
115
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { items: [{
|
|
116
|
+
type: Input,
|
|
117
|
+
args: ['drTruncateText']
|
|
118
|
+
}], itemSeparator: [{
|
|
119
|
+
type: Input,
|
|
120
|
+
args: ['drTruncateTextSeparator']
|
|
121
|
+
}], maxWidth: [{
|
|
122
|
+
type: Input,
|
|
123
|
+
args: ['drTruncateTextMaxWidth']
|
|
124
|
+
}] }); })();
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUtdGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi90cnVuY2F0ZS10ZXh0L3RydW5jYXRlLXRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxxQkFBcUI7SUFPOUIsWUFDWSxFQUFjLEVBQ2QsUUFBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFSQyxVQUFLLEdBQWEsRUFBRSxDQUFDO1FBQ1osa0JBQWEsR0FBVyxJQUFJLENBQUM7UUFDOUIsYUFBUSxHQUFXLEdBQUcsQ0FBQztRQVEzRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FB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QUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzt5R0E5SFEscUJBQXFCO21HQUFyQixxQkFBcUI7O3VGQUFyQixxQkFBcUI7Y0FKakMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFVBQVUsRUFBRSxJQUFJO2FBQ25CO3FGQUVtQyxLQUFLO2tCQUFwQyxLQUFLO21CQUFDLGdCQUFnQjtZQUNrQixhQUFhO2tCQUFyRCxLQUFLO21CQUFDLHlCQUF5QjtZQUNRLFFBQVE7a0JBQS9DLEtBQUs7bUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVkdWNlIGFzIF9yZWR1Y2UgfSBmcm9tICdsb2Rhc2gnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkclRydW5jYXRlVGV4dF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRydW5jYXRlVGV4dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBASW5wdXQoJ2RyVHJ1bmNhdGVUZXh0JykgcHVibGljIGl0ZW1zOiBzdHJpbmdbXSA9IFtdO1xuICAgIEBJbnB1dCgnZHJUcnVuY2F0ZVRleHRTZXBhcmF0b3InKSBwdWJsaWMgaXRlbVNlcGFyYXRvcjogc3RyaW5nID0gJywgJztcbiAgICBASW5wdXQoJ2RyVHJ1bmNhdGVUZXh0TWF4V2lkdGgnKSBwdWJsaWMgbWF4V2lkdGg6IG51bWJlciA9IDIwMDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyOiBIVE1MRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKCFjaGFuZ2VzLml0ZW1zLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbnRhaW5lciwgJ3doaXRlLXNwYWNlJywgJ25vd3JhcCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29udGFpbmVyLCAnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb250YWluZXIsICdtYXgtd2lkdGgnLCB0aGlzLm1heFdpZHRoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVuZGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbXMgfHwgdGhpcy5pdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVyVGV4dCA9ICcnO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gJyc7XG5cbiAgICAgICAgY29uc3QgdGVtcENvbnRhaW5lciA9IHRoaXMuY3JlYXRlVGVtcENvbnRhaW5lcigpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyLCB0ZW1wQ29udGFpbmVyKTtcblxuICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lclRleHQgPSB0aGlzLmdldENvbnRhaW5lclRydW5jYXRlZFRleHQodGVtcENvbnRhaW5lcik7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXIsIHRlbXBDb250YWluZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlVGVtcENvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IHRlbXBDb250YWluZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRlbXBDb250YWluZXIsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRlbXBDb250YWluZXIsICd2aXNpYmlsaXR5JywgJ2hpZGRlbicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRlbXBDb250YWluZXIsICd3aGl0ZS1zcGFjZScsICdub3dyYXAnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZW1wQ29udGFpbmVyLCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xuXG4gICAgICAgIHJldHVybiB0ZW1wQ29udGFpbmVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29udGFpbmVyVHJ1bmNhdGVkVGV4dChjb250YWluZXI6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdmlzaWJsZUNvdW50ID0gdGhpcy5jYWxjdWxhdGVWaXNpYmxlSXRlbXMoY29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgaGlkZGVuQ291bnQgPSB0aGlzLml0ZW1zLmxlbmd0aCAtIHZpc2libGVDb3VudDtcblxuICAgICAgICBpZiAodmlzaWJsZUNvdW50ID4gMCkge1xuICAgICAgICAgICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gdGhpcy5pdGVtcy5zbGljZSgwLCB2aXNpYmxlQ291bnQpO1xuICAgICAgICAgICAgcmV0dXJuIGhpZGRlbkNvdW50ID4gMFxuICAgICAgICAgICAgICAgID8gWy4uLnZpc2libGVJdGVtcywgYCske2hpZGRlbkNvdW50fWBdLmpvaW4odGhpcy5pdGVtU2VwYXJhdG9yKVxuICAgICAgICAgICAgICAgIDogdmlzaWJsZUl0ZW1zLmpvaW4odGhpcy5pdGVtU2VwYXJhdG9yKTtcbiAgICAgICAgfSBlbHNlIGlmIChoaWRkZW5Db3VudCkge1xuICAgICAgICAgICAgY29uc3QgRklSU1RfU0lYX1NZTUJPTFMgPSA2O1xuICAgICAgICAgICAgY29uc3QgRklSU1RfRElTUExBWUVEX0lURU0gPSAxO1xuXG4gICAgICAgICAgICBjb25zdCBFTExJUFNJUyA9ICcuLi4nO1xuICAgICAgICAgICAgY29uc3QgaGlkZGVuSXRlbXNDb3VudCA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gRklSU1RfRElTUExBWUVEX0lURU07XG5cbiAgICAgICAgICAgIGlmIChoaWRkZW5JdGVtc0NvdW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3VmZml4ID0gYCske3RoaXMuaXRlbXMubGVuZ3RoIC0gRklSU1RfRElTUExBWUVEX0lURU19YDtcbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEl0ZW0gPSB0aGlzLml0ZW1zWzBdLnNsaWNlKDAsIEZJUlNUX1NJWF9TWU1CT0xTKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlyc3RJdGVtICsgRUxMSVBTSVMgKyB0aGlzLml0ZW1TZXBhcmF0b3IgKyBzdWZmaXg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1zPy5bMF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcz8uWzBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBsYXN0SWR4ID0gdGhpcy5pdGVtcy5sZW5ndGggLSAxO1xuICAgICAgICBjb25zdCBzZXBhcmF0b3JXaWR0aCA9IHRoaXMubWVhc3VyZVRleHRXaWR0aCh0aGlzLml0ZW1TZXBhcmF0b3IpO1xuXG4gICAgICAgIGNvbnN0IHsgdmlzaWJsZUNvdW50IH0gPSBfcmVkdWNlKHRoaXMuaXRlbXMsIChhY2MsIGN1cnIsIGlkeCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjYy5hY2N1bXVsYXRlZFdpZHRoID49IHRoaXMubWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJykgYXMgSFRNTFNwYW5FbGVtZW50O1xuICAgICAgICAgICAgc3Bhbi5pbm5lclRleHQgPSBjdXJyO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChjb250YWluZXIsIHNwYW4pO1xuXG4gICAgICAgICAgICBjb25zdCBpdGVtU2VwYXJhdG9yV2lkdGggPSBpZHggJiYgaWR4ICE9PSBsYXN0SWR4ID8gc2VwYXJhdG9yV2lkdGggOiAwO1xuICAgICAgICAgICAgYWNjLmFjY3VtdWxhdGVkV2lkdGggKz0gc3Bhbi5vZmZzZXRXaWR0aCArIGl0ZW1TZXBhcmF0b3JXaWR0aDtcblxuICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nQ291bnQgPSB0aGlzLml0ZW1zLmxlbmd0aCAtIChpZHggKyAxKTtcblxuICAgICAgICAgICAgY29uc3Qgc3VmZml4ID0gcmVtYWluaW5nQ291bnQgPiAwID8gYCske3JlbWFpbmluZ0NvdW50fWAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IHN1ZmZpeFdpZHRoID0gc3VmZml4ID8gdGhpcy5tZWFzdXJlVGV4dFdpZHRoKHRoaXMuaXRlbVNlcGFyYXRvciArIHN1ZmZpeCkgOiAwO1xuXG4gICAgICAgICAgICBpZiAoYWNjLmFjY3VtdWxhdGVkV2lkdGggKyBzdWZmaXhXaWR0aCA8PSB0aGlzLm1heFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgYWNjLnZpc2libGVDb3VudCA9IGlkeCArIDE7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHsgYWNjdW11bGF0ZWRXaWR0aDogMCwgdmlzaWJsZUNvdW50OiAwIH0pO1xuXG4gICAgICAgIHJldHVybiB2aXNpYmxlQ291bnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtZWFzdXJlVGV4dFdpZHRoKHRleHQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHNwYW4gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKSBhcyBIVE1MU3BhbkVsZW1lbnQ7XG4gICAgICAgIHNwYW4uaW5uZXJUZXh0ID0gdGV4dDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzcGFuLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzcGFuLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzcGFuLCAnd2hpdGUtc3BhY2UnLCAnbm93cmFwJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXIsIHNwYW4pO1xuICAgICAgICBjb25zdCB3aWR0aCA9IHNwYW4ub2Zmc2V0V2lkdGg7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXIsIHNwYW4pO1xuICAgICAgICByZXR1cm4gd2lkdGg7XG4gICAgfVxuXG59XG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -167,7 +167,8 @@ export * from './lib/separate-table/separate-table.component';
|
|
|
167
167
|
export * from './lib/separate-table/separate-table-column.directive';
|
|
168
168
|
export * from './lib/text-overflow/element-overflow.directive';
|
|
169
169
|
export * from './lib/text-overflow/text-overflow.component';
|
|
170
|
+
export * from './lib/truncate-text/truncate-text.directive';
|
|
170
171
|
export * from './lib/directives/autofocus/autofocus.directive';
|
|
171
172
|
export * from './lib/pipes/search/search.pipe';
|
|
172
173
|
export * from './lib/filter-dropdown/filter-dropdown.component';
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtHQUFrRyxDQUFDO0FBQ2pILGNBQWMsd0dBQXdHLENBQUM7QUFDdkgsY0FBYyx3R0FBd0csQ0FBQztBQUN2SCxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsb0dBQW9HLENBQUM7QUFDbkgsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyx1RUFBdUUsQ0FBQztBQUN0RixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMs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YyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXpGLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBjb21wb25lbnRzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvYW55LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZm9yZWNhc3QtdGFnL2ZvcmVjYXN0LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2ZvcmVjYXN0LXRhZy9mb3JlY2FzdC10YWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvbW9udGgtdGFnL21vbnRoLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL3F1YXJ0ZXItdGFnL3F1YXJ0ZXItdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3Mvd2Vlay10YWcvd2Vlay10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy95ZWFyLXRhZy95ZWFyLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFncy9kci10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhZ3MvZHItdGFnLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpc3QtdGFncy9saXN0LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RheS10YWcvZGF5LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL3JhZGlvLWJ1dHRvbi9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItaW5wdXQvZHItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1saW5rL2RyLWxpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1maXNjYWwtbW9udGgtY2FsZW5kYXItcGlja2VyL2RyLWZpc2NhbC1tb250aC1jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZmlzY2FsLW1vbnRoLWNhbGVuZGFyLXBpY2tlci9kci1maXNjYWwtbW9udGgtY2FsZW5kYXItcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyLXJhbmdlL2RyLWRhdGUtcGlja2VyLXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RpcmVjdGl2ZXMvZHItZGF0ZS1waWNrZXItZm9ybWF0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLXNob3ctdGltZWZyYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1zZWxlY3QtYWRkLWl0ZW0vZHItc2VsZWN0LWFkZC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1kZWZhdWx0L3Rvb2x0aXAtZGVmYXVsdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtaW5mby90b29sdGlwLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9jaGF0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtZm9ybS9jaGF0LWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtLWRyb3Bkb3duL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LWRyb3BwZWQtZmlsZXMvZHItY2hhdC1kcm9wcGVkLWZpbGVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtdGV4dC9jaGF0LW1lc3NhZ2UtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWN1c3RvbS9jaGF0LWN1c3RvbS1tZXNzYWdlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtZmlsZS9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1kb3QtZmxhc2hpbmcvZHItZG90LWZsYXNoaW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtYWxlcnQvZHItY2hhdC1hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9kci10b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItdG9nZ2xlL2RyLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXRvZ2dsZS1idXR0b24vZHItdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc3Bpbm5lci9kci1zcGlubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1iYWRnZS1zdGF0dXMvZHItYmFkZ2Utc3RhdHVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hbGVydC9kci1hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2NvbXBvbmVudHMvZHItY29kZW1pcnJvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvY29tcG9uZW50cy9jb2RlLWVkaXRvci1oaW50LXdyYXBwZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhZ3MtY29uc3RydWN0b3IvZHItdGFncy1jb25zdHJ1Y3Rvci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLWl0ZW0vZHItZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi1pdGVtLXNob3cucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10YWJzL2RyLXRhYnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFiLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLWJvZHkuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWxheW91dC9kci1sYXlvdXQtYm9keS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1lcnJvci9kci1lcnJvci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kaWFsb2cvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLXdyYXBwZXIvZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRpYWxvZy9jb21wb25lbnRzL2RpYWxvZy1tb2RhbC13cmFwcGVyL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9jaGF0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2NvbXBvbmVudHMvdHJlZXZpZXcvdHJlZXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L3BpcGVzL3RyZWV2aWV3LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvbW9kZWxzL3RyZWV2aWV3LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvbW9kZWxzL3RyZWV2aWV3LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaTE4bic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaXRlbS10ZW1wbGF0ZS1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2hlbHBlcnMvdHJlZXZpZXctZXZlbnQtcGFyc2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2hlbHBlcnMvdHJlZXZpZXctaGVscGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9hc3RyL2RlZmF1bHQtdG9hc3RyL2RlZmF1bHQtdG9hc3RyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9kYXRhLWFuYWx5dGljcy5zZXJ2aWNlJztcblxuLyogZW51bXMgKi9cbmV4cG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZW51bXMvdG9vbHRpcC1wb3NpdGlvbi5lbnVtJztcbmV4cG9ydCB7IFRvb2x0aXBUaGVtZSB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZW51bXMvdG9vbHRpcC10aGVtZS5lbnVtJztcbmV4cG9ydCB7IFNjZW5hcmlvLCBUU2NlbmFyaW9EYXRhQ2hhbmdlZCB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2ludGVyZmFjZXMvc2NlbmFyaW8nO1xuZXhwb3J0IHsgVG9nZ2xlQnV0dG9uTW9kZSB9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci10b2dnbGUtYnV0dG9uL3RvZ2dsZS1idXR0b24tbW9kZSc7XG5leHBvcnQgeyBEckFsZXJ0VGhlbWUgfSBmcm9tICcuL2xpYi9kci1hbGVydC9lbnVtcy9kci1hbGVydC10aGVtZS5lbnVtJztcblxuLyogaW50ZXJmYWNlcyAmIHR5cGVzICovXG5leHBvcnQge1xuICAgIFRvb2x0aXBJbmZvQ29udGV4dCxcbiAgICBUb29sdGlwSW5mb1dpZHRoLFxuICAgIFRvb2x0aXBJbmZvSWNvblRoZW1lLFxufSBmcm9tICcuL2xpYi9kci10b29sdGlwL2ludGVyZmFjZXMvdG9vbHRpcC1jb21wb25lbnQtY29udGV4dCc7XG5leHBvcnQgeyBTdGVwIH0gZnJvbSAnLi9saWIvc3RlcHBlci9pbnRlcmZhY2VzL3N0ZXBwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2ludGVyZmFjZXMvZGlhbG9nLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYXZhdGFyL3R5cGVzJztcbmV4cG9ydCB7IElGSWxlIH0gZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQnO1xuXG4vKiBkaXJlY3RpdmVzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItbW9kZWwtZGVib3VuY2UtY2hhbmdlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kci1zaGluZS1hbmltYXRpb24vZHItc2hpbmUtYW5pbWF0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2xldC9sZXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvbmctdHJhY2stYnktcHJvcGVydHkvbmctdHJhY2stYnktcHJvcGVydHkuZGlyZWN0aXZlJztcblxuLyogcGlwZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2ltZy9pbWcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9maWx0ZXIvZmlsdGVyLnBpcGUnO1xuXG4vKiBtb2RlbHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRlUGlja2VyJztcbmV4cG9ydCB7XG4gICAgVEFHX1RZUEVTLFxuICAgIElUYWcsXG4gICAgSURhdGVUYWcsXG4gICAgSUxpc3RUYWcsXG4gICAgSVRhZ0ZvclNlcnZlcixcbiAgICBJRHluYW1pY1RhZyxcbiAgICBURHluYW1pY1RhZ1ZhbHVlLFxuICAgIFREeW5hbWljVGFnLFxuICAgIFRhZ1R5cGVzLFxuICAgIFRhZ3NDb25maWdTdWJUeXBlLFxuICAgIFRDb25uZWN0ZWRUYWdzLFxufSBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmVyVGFncyc7XG5leHBvcnQgeyBJU3Bpbm5lck9wdGlvbnMsIFNwaW5uZXJUeXBlLCBTcGlubmVyU2l6ZSB9IGZyb20gJy4vbGliL21vZGVscy9zcGlubmVyT3B0aW9ucyc7XG5leHBvcnQgeyBFbFBvc2l0aW9uLCBJRHJvcGRvd24sIElEcm9wZG93bkl0ZW0sIElEcm9wZG93bkFjdGlvbkljb24sIElEcm9wZG93bkFjdGlvbiB9IGZyb20gJy4vbGliL21vZGVscy9kcm9wZG93bic7XG5leHBvcnQge1xuICAgIERyUG9wb3ZlclJlZixcbiAgICBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsXG4gICAgUG9pbnQsXG4gICAgRHJQb3BvdmVyQ29uZmlnLFxuICAgIElQb3BvdmVyTWFudWFsQ2xvc2luZyxcbiAgICBEclBvcG92ZXJBbGlnbm1lbnQsXG4gICAgRHJQb3BvdmVyQWxpZ25tZW50RGltZW5zaW9uLFxufSBmcm9tICcuL2xpYi9tb2RlbHMvcG9wb3Zlcic7XG5leHBvcnQgeyBJVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi9saWIvbW9kZWxzL3ZhbGlkYXRpb25FcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFkZ2VTdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZlZWRiYWNrJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90b2FzdHInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGVQaWNrZXJSYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9tb2RlbHMvY29kZS1lZGl0b3ItaGludCc7XG5cbi8qIHNlcnZpY2VzICovXG5leHBvcnQgeyBTY2VuYXJpb1NlcnZpY2UgfSBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9zZXJ2aWNlcy9zY2VuYXJpby5zZXJ2aWNlJztcbmV4cG9ydCB7IFRhZ3NDb25zdHJ1Y3RvclNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci10YWdzLWNvbnN0cnVjdG9yL3RhZ3MtY29uc3RydWN0b3Iuc2VydmljZSc7XG5leHBvcnQgeyBEckF2YXRhclNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci1hdmF0YXIvc2VydmljZXMvZHItYXZhdGFyLnNlcnZpY2UnO1xuZXhwb3J0IHsgRHJUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi9saWIvZHItdG9hc3RyL2RyLXRvYXN0ci5zZXJ2aWNlJztcblxuLyogbW9kdWxlcyAqL1xuZXhwb3J0IHsgRGF0ZVRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXRlLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgTGlzdFRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2xpc3QtdGFncy9saXN0LXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJUYWdNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10YWdzL2RyLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5leHBvcnQgeyBEclRvb2x0aXBNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAubW9kdWxlJztcbmV4cG9ydCB7IERyQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTcGlubmVyTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItc3Bpbm5lci9kci1zcGlubmVyLm1vZHVsZSc7XG5leHBvcnQgeyBEclBvcG92ZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIubW9kdWxlJztcbmV4cG9ydCB7IERyU2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXNsaWRlci9kci1zbGlkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IERySW1hZ2VDcm9wcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvaW1hZ2UtY3JvcHBlci9kci1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbWFnZS1jcm9wcGVyL2RyLWltYWdlLWNyb3BwZXIudHlwZXMnO1xuZXhwb3J0IHsgRHJEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLm1vZHVsZSc7XG5leHBvcnQgeyBEclRhYnNNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10YWJzL2RyLXRhYnMubW9kdWxlJztcbmV4cG9ydCB7IERyQWNjb3JkaW9uTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTaGFyZWRVdGlscyB9IGZyb20gJy4vbGliL3V0aWxzL2RyLXNoYXJlZC11dGlscyc7XG5leHBvcnQgeyBEckxheW91dE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWxheW91dC9kci1sYXlvdXQubW9kdWxlJztcbmV4cG9ydCB7IERyRXJyb3JNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1lcnJvci9kci1lcnJvci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTdGVwcGVyTW9kdWxlIH0gZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLm1vZHVsZSc7XG5leHBvcnQgeyBEckRpYWxvZ01vZHVsZSB9IGZyb20gJy4vbGliL2RyLWRpYWxvZy9kaWFsb2cubW9kdWxlJztcbmV4cG9ydCB7IERyQ2hhdE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWNoYXQvY2hhdC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJEZXRhaWxzTGlzdE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QubW9kdWxlJztcbmV4cG9ydCB7IERyU2NlbmFyaW9Nb2R1bGUgfSBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9kci1zY2VuYXJpby5tb2R1bGUnO1xuZXhwb3J0IHsgRHJCYWRnZVN0YXR1c01vZHVsZSB9IGZyb20gJy4vbGliL2RyLWJhZGdlLXN0YXR1cy9kci1iYWRnZS1zdGF0dXMubW9kdWxlJztcbmV4cG9ydCB7IFRyZWV2aWV3TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvZHItdHJlZS12aWV3Lm1vZHVsZSc7XG5leHBvcnQgeyBDbGlja091dHNpZGVNb2R1bGUgfSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5tb2R1bGUnO1xuZXhwb3J0IHsgRHJBbGVydE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWFsZXJ0L2RyLWFsZXJ0Lm1vZHVsZSc7XG5leHBvcnQgeyBEclRhZ3NDb25zdHJ1Y3Rvck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRhZ3MtY29uc3RydWN0b3IvZHItdGFncy1jb25zdHJ1Y3Rvci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJUb2FzdHJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10b2FzdHIvZHItdG9hc3RyLm1vZHVsZSc7XG5leHBvcnQgeyBEckNvZGVFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9kci1jb2RlLWVkaXRvci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZHItY2hpcC9kci1jaGlwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBEckdhbGxlcnlDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kci1nYWxsZXJ5L2RyLWdhbGxlcnkuY29tcG9uZW50JztcbmV4cG9ydCB7IERyUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kci1wcm9ncmVzcy1iYXIvZHItcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYXdlci9wdWJsaWMtYXBpJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci13aXphcmQvc3RlcHBlci13aXphcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXItd2l6YXJkL2RpcmVjdGl2ZXMvc3RlcC13aXphcmQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcGFyYXRlLXRhYmxlL3NlcGFyYXRlLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXBhcmF0ZS10YWJsZS9zZXBhcmF0ZS10YWJsZS1jb2x1bW4uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RleHQtb3ZlcmZsb3cvZWxlbWVudC1vdmVyZmxvdy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1vdmVyZmxvdy90ZXh0LW92ZXJmbG93LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2F1dG9mb2N1cy9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3NlYXJjaC9zZWFyY2gucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWx0ZXItZHJvcGRvd24vZmlsdGVyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG4iXX0=
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtHQUFrRyxDQUFDO0FBQ2pILGNBQWMsd0dBQXdHLENBQUM7QUFDdkgsY0FBYyx3R0FBd0csQ0FBQztBQUN2SCxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsb0dBQW9HLENBQUM7QUFDbkgsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyx1RUFBdUUsQ0FBQztBQUN0RixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMs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YyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXpGLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpREFBaUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGNvbXBvbmVudHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9hbnktdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZGF0ZS10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9mb3JlY2FzdC10YWcvZm9yZWNhc3QtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZm9yZWNhc3QtdGFnL2ZvcmVjYXN0LXRhZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9tb250aC10YWcvbW9udGgtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvcXVhcnRlci10YWcvcXVhcnRlci10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy93ZWVrLXRhZy93ZWVrLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL3llYXItdGFnL3llYXItdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10YWdzL2RyLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFncy9kci10YWcudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC10YWdzL2xpc3QtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZGF5LXRhZy9kYXktdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZGF0ZS10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvcmFkaW8tYnV0dG9uL3JhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1pbnB1dC9kci1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLWxpbmsvZHItbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXNlbGVjdC9kci1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWZpc2NhbC1tb250aC1jYWxlbmRhci1waWNrZXIvZHItZmlzY2FsLW1vbnRoLWNhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1maXNjYWwtbW9udGgtY2FsZW5kYXItcGlja2VyL2RyLWZpc2NhbC1tb250aC1jYWxlbmRhci1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXIvZHItZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXItcmFuZ2UvZHItZGF0ZS1waWNrZXItcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZGlyZWN0aXZlcy9kci1kYXRlLXBpY2tlci1mb3JtYXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItc2hvdy10aW1lZnJhbWUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXNlbGVjdC1hZGQtaXRlbS9kci1zZWxlY3QtYWRkLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLWRlZmF1bHQvdG9vbHRpcC1kZWZhdWx0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvL3Rvb2x0aXAtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LWZvcm0tZHJvcGRvd24vZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtZHJvcHBlZC1maWxlcy9kci1jaGF0LWRyb3BwZWQtZmlsZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1zdWdnZXN0aW9ucy9jaGF0LXN1Z2dlc3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS10ZXh0L2NoYXQtbWVzc2FnZS10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1maWxlL2NoYXQtbWVzc2FnZS1maWxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWRvdC1mbGFzaGluZy9kci1kb3QtZmxhc2hpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1hbGVydC9kci1jaGF0LWFsZXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hdmF0YXIvZHItYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hdmF0YXIvZHItYXZhdGFyLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9kci10b29sdGlwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci10b2dnbGUvZHItdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItdG9nZ2xlLWJ1dHRvbi9kci10b2dnbGUtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXNwaW5uZXIvZHItc3Bpbm5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWJhZGdlLXN0YXR1cy9kci1iYWRnZS1zdGF0dXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWFsZXJ0L2RyLWFsZXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9kci1jb2RlLWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvY29tcG9uZW50cy9kci1jb2RlbWlycm9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9jb21wb25lbnRzL2NvZGUtZWRpdG9yLWhpbnQtd3JhcHBlci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFncy1jb25zdHJ1Y3Rvci9kci10YWdzLWNvbnN0cnVjdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24taXRlbS9kci1kcm9wZG93bi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLWl0ZW0tc2hvdy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFicy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFicy9kci10YWIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0taGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0tYm9keS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC1ib2R5LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWVycm9yL2RyLWVycm9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRpYWxvZy9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kaWFsb2cvY29tcG9uZW50cy9kaWFsb2ctd3JhcHBlci9kaWFsb2ctd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvY29tcG9uZW50cy90cmVldmlldy90cmVldmlldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvcGlwZXMvdHJlZXZpZXcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L21vZGVscy90cmVldmlldy1pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L21vZGVscy90cmVldmlldy1pdGVtLXRlbXBsYXRlLWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1ldmVudC1wYXJzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1oZWxwZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b2FzdHIvZGVmYXVsdC10b2FzdHIvZGVmYXVsdC10b2FzdHIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2RhdGEtYW5hbHl0aWNzLnNlcnZpY2UnO1xuXG4vKiBlbnVtcyAqL1xuZXhwb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi9saWIvZHItdG9vbHRpcC9lbnVtcy90b29sdGlwLXBvc2l0aW9uLmVudW0nO1xuZXhwb3J0IHsgVG9vbHRpcFRoZW1lIH0gZnJvbSAnLi9saWIvZHItdG9vbHRpcC9lbnVtcy90b29sdGlwLXRoZW1lLmVudW0nO1xuZXhwb3J0IHsgU2NlbmFyaW8sIFRTY2VuYXJpb0RhdGFDaGFuZ2VkIH0gZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vaW50ZXJmYWNlcy9zY2VuYXJpbyc7XG5leHBvcnQgeyBUb2dnbGVCdXR0b25Nb2RlIH0gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXRvZ2dsZS1idXR0b24vdG9nZ2xlLWJ1dHRvbi1tb2RlJztcbmV4cG9ydCB7IERyQWxlcnRUaGVtZSB9IGZyb20gJy4vbGliL2RyLWFsZXJ0L2VudW1zL2RyLWFsZXJ0LXRoZW1lLmVudW0nO1xuXG4vKiBpbnRlcmZhY2VzICYgdHlwZXMgKi9cbmV4cG9ydCB7XG4gICAgVG9vbHRpcEluZm9Db250ZXh0LFxuICAgIFRvb2x0aXBJbmZvV2lkdGgsXG4gICAgVG9vbHRpcEluZm9JY29uVGhlbWUsXG59IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvaW50ZXJmYWNlcy90b29sdGlwLWNvbXBvbmVudC1jb250ZXh0JztcbmV4cG9ydCB7IFN0ZXAgfSBmcm9tICcuL2xpYi9zdGVwcGVyL2ludGVyZmFjZXMvc3RlcHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kaWFsb2cvaW50ZXJmYWNlcy9kaWFsb2ctZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hdmF0YXIvdHlwZXMnO1xuZXhwb3J0IHsgSUZJbGUgfSBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdCc7XG5cbi8qIGRpcmVjdGl2ZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1tb2RlbC1kZWJvdW5jZS1jaGFuZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RyLXNoaW5lLWFuaW1hdGlvbi9kci1zaGluZS1hbmltYXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvbGV0L2xldC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9uZy10cmFjay1ieS1wcm9wZXJ0eS9uZy10cmFjay1ieS1wcm9wZXJ0eS5kaXJlY3RpdmUnO1xuXG4vKiBwaXBlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvaW1nL2ltZy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2ZpbHRlci9maWx0ZXIucGlwZSc7XG5cbi8qIG1vZGVscyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGVQaWNrZXInO1xuZXhwb3J0IHtcbiAgICBUQUdfVFlQRVMsXG4gICAgSVRhZyxcbiAgICBJRGF0ZVRhZyxcbiAgICBJTGlzdFRhZyxcbiAgICBJVGFnRm9yU2VydmVyLFxuICAgIElEeW5hbWljVGFnLFxuICAgIFREeW5hbWljVGFnVmFsdWUsXG4gICAgVER5bmFtaWNUYWcsXG4gICAgVGFnVHlwZXMsXG4gICAgVGFnc0NvbmZpZ1N1YlR5cGUsXG4gICAgVENvbm5lY3RlZFRhZ3MsXG59IGZyb20gJy4vbGliL21vZGVscy9zZXJ2ZXJUYWdzJztcbmV4cG9ydCB7IElTcGlubmVyT3B0aW9ucywgU3Bpbm5lclR5cGUsIFNwaW5uZXJTaXplIH0gZnJvbSAnLi9saWIvbW9kZWxzL3NwaW5uZXJPcHRpb25zJztcbmV4cG9ydCB7IEVsUG9zaXRpb24sIElEcm9wZG93biwgSURyb3Bkb3duSXRlbSwgSURyb3Bkb3duQWN0aW9uSWNvbiwgSURyb3Bkb3duQWN0aW9uIH0gZnJvbSAnLi9saWIvbW9kZWxzL2Ryb3Bkb3duJztcbmV4cG9ydCB7XG4gICAgRHJQb3BvdmVyUmVmLFxuICAgIElEclBvcG92ZXJDb21wb25lbnRNb2RlbCxcbiAgICBQb2ludCxcbiAgICBEclBvcG92ZXJDb25maWcsXG4gICAgSVBvcG92ZXJNYW51YWxDbG9zaW5nLFxuICAgIERyUG9wb3ZlckFsaWdubWVudCxcbiAgICBEclBvcG92ZXJBbGlnbm1lbnREaW1lbnNpb24sXG59IGZyb20gJy4vbGliL21vZGVscy9wb3BvdmVyJztcbmV4cG9ydCB7IElWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL2xpYi9tb2RlbHMvdmFsaWRhdGlvbkVycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYWRnZVN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmVlZGJhY2snO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RvYXN0cic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0ZVBpY2tlclJhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL21vZGVscy9jb2RlLWVkaXRvci1oaW50JztcblxuLyogc2VydmljZXMgKi9cbmV4cG9ydCB7IFNjZW5hcmlvU2VydmljZSB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL3NlcnZpY2VzL3NjZW5hcmlvLnNlcnZpY2UnO1xuZXhwb3J0IHsgVGFnc0NvbnN0cnVjdG9yU2VydmljZSB9IGZyb20gJy4vbGliL2RyLXRhZ3MtY29uc3RydWN0b3IvdGFncy1jb25zdHJ1Y3Rvci5zZXJ2aWNlJztcbmV4cG9ydCB7IERyQXZhdGFyU2VydmljZSB9IGZyb20gJy4vbGliL2RyLWF2YXRhci9zZXJ2aWNlcy9kci1hdmF0YXIuc2VydmljZSc7XG5leHBvcnQgeyBEclRvYXN0clNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci10b2FzdHIvZHItdG9hc3RyLnNlcnZpY2UnO1xuXG4vKiBtb2R1bGVzICovXG5leHBvcnQgeyBEYXRlVGFnTW9kdWxlIH0gZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBMaXN0VGFnTW9kdWxlIH0gZnJvbSAnLi9saWIvbGlzdC10YWdzL2xpc3QtdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBEclRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRhZ3MvZHItdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmV4cG9ydCB7IERyVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJBdmF0YXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1hdmF0YXIvZHItYXZhdGFyLm1vZHVsZSc7XG5leHBvcnQgeyBEclNwaW5uZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIubW9kdWxlJztcbmV4cG9ydCB7IERyUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItc2xpZGVyL2RyLXNsaWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJJbWFnZUNyb3BwZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9pbWFnZS1jcm9wcGVyL2RyLWltYWdlLWNyb3BwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltYWdlLWNyb3BwZXIvZHItaW1hZ2UtY3JvcHBlci50eXBlcyc7XG5leHBvcnQgeyBEckRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24ubW9kdWxlJztcbmV4cG9ydCB7IERyVGFic01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFicy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLm1vZHVsZSc7XG5leHBvcnQgeyBEclNoYXJlZFV0aWxzIH0gZnJvbSAnLi9saWIvdXRpbHMvZHItc2hhcmVkLXV0aWxzJztcbmV4cG9ydCB7IERyTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJFcnJvck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWVycm9yL2RyLWVycm9yLm1vZHVsZSc7XG5leHBvcnQgeyBEclN0ZXBwZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIubW9kdWxlJztcbmV4cG9ydCB7IERyRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJDaGF0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItY2hhdC9jaGF0Lm1vZHVsZSc7XG5leHBvcnQgeyBEckRldGFpbHNMaXN0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTY2VuYXJpb01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2RyLXNjZW5hcmlvLm1vZHVsZSc7XG5leHBvcnQgeyBEckJhZGdlU3RhdHVzTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYmFkZ2Utc3RhdHVzL2RyLWJhZGdlLXN0YXR1cy5tb2R1bGUnO1xuZXhwb3J0IHsgVHJlZXZpZXdNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10cmVldmlldy9kci10cmVlLXZpZXcubW9kdWxlJztcbmV4cG9ydCB7IENsaWNrT3V0c2lkZU1vZHVsZSB9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLm1vZHVsZSc7XG5leHBvcnQgeyBEckFsZXJ0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYWxlcnQvZHItYWxlcnQubW9kdWxlJztcbmV4cG9ydCB7IERyVGFnc0NvbnN0cnVjdG9yTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItdGFncy1jb25zdHJ1Y3Rvci9kci10YWdzLWNvbnN0cnVjdG9yLm1vZHVsZSc7XG5leHBvcnQgeyBEclRvYXN0ck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRvYXN0ci9kci10b2FzdHIubW9kdWxlJztcbmV4cG9ydCB7IERyQ29kZUVkaXRvck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2RyLWNvZGUtZWRpdG9yLm1vZHVsZSc7XG5leHBvcnQgeyBEckNoaXBDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kci1jaGlwL2RyLWNoaXAuY29tcG9uZW50JztcbmV4cG9ydCB7IERyR2FsbGVyeUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2RyLWdhbGxlcnkvZHItZ2FsbGVyeS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4vbGliL2RyLXByb2dyZXNzLWJhci9kci1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJhd2VyL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyLXdpemFyZC9zdGVwcGVyLXdpemFyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci13aXphcmQvZGlyZWN0aXZlcy9zdGVwLXdpemFyZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VwYXJhdGUtdGFibGUvc2VwYXJhdGUtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcGFyYXRlLXRhYmxlL3NlcGFyYXRlLXRhYmxlLWNvbHVtbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1vdmVyZmxvdy9lbGVtZW50LW92ZXJmbG93LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZXh0LW92ZXJmbG93L3RleHQtb3ZlcmZsb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RydW5jYXRlLXRleHQvdHJ1bmNhdGUtdGV4dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hdXRvZm9jdXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9zZWFyY2gvc2VhcmNoLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsdGVyLWRyb3Bkb3duL2ZpbHRlci1kcm9wZG93bi5jb21wb25lbnQnO1xuIl19
|