igniteui-angular 16.1.2 → 16.1.3
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/README.md +6 -5
- package/esm2022/lib/action-strip/action-strip.component.mjs +3 -3
- package/esm2022/lib/action-strip/grid-actions/grid-action-button.component.mjs +3 -3
- package/esm2022/lib/banner/banner.component.mjs +8 -8
- package/esm2022/lib/card/card.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel.component.mjs +7 -7
- package/esm2022/lib/combo/combo-dropdown.component.mjs +3 -3
- package/esm2022/lib/combo/combo.common.mjs +5 -5
- package/esm2022/lib/combo/combo.component.mjs +3 -3
- package/esm2022/lib/combo/combo.directives.mjs +2 -2
- package/esm2022/lib/core/navigation/directives.mjs +3 -3
- package/esm2022/lib/date-common/calendar-container/calendar-container.component.mjs +3 -3
- package/esm2022/lib/date-picker/date-picker.component.mjs +7 -7
- package/esm2022/lib/date-range-picker/date-range-picker.component.mjs +6 -6
- package/esm2022/lib/dialog/dialog.component.mjs +5 -5
- package/esm2022/lib/directives/button/button.directive.mjs +8 -8
- package/esm2022/lib/directives/ripple/ripple.directive.mjs +6 -6
- package/esm2022/lib/directives/tooltip/tooltip-target.directive.mjs +7 -9
- package/esm2022/lib/directives/tooltip/tooltip.directive.mjs +2 -2
- package/esm2022/lib/drop-down/drop-down.component.mjs +3 -3
- package/esm2022/lib/expansion-panel/expansion-panel.component.mjs +4 -4
- package/esm2022/lib/grids/column-actions/column-actions.component.mjs +3 -3
- package/esm2022/lib/grids/common/crud.service.mjs +2 -2
- package/esm2022/lib/grids/filtering/base/grid-filtering-row.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-date-expression.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-default-expression.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-header.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-moving.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-search.component.mjs +3 -3
- package/esm2022/lib/grids/filtering/excel-style/excel-style-sorting.component.mjs +3 -3
- package/esm2022/lib/grids/grid/grid.component.mjs +3 -3
- package/esm2022/lib/grids/grid-base.directive.mjs +4 -4
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +3 -3
- package/esm2022/lib/grids/tree-grid/tree-grid.component.mjs +3 -3
- package/esm2022/lib/query-builder/query-builder.component.mjs +3 -3
- package/esm2022/lib/simple-combo/simple-combo.component.mjs +3 -3
- package/esm2022/lib/snackbar/snackbar.component.mjs +4 -4
- package/esm2022/lib/tabs/tabs/tabs.component.mjs +3 -3
- package/esm2022/lib/time-picker/time-picker.component.mjs +6 -5
- package/esm2022/lib/toast/toast.component.mjs +2 -2
- package/esm2022/lib/tree/tree-node/tree-node.component.mjs +4 -4
- package/fesm2022/igniteui-angular.mjs +117 -118
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/banner/banner.component.d.ts +5 -5
- package/lib/card/card.component.d.ts +2 -2
- package/lib/carousel/carousel.component.d.ts +6 -6
- package/lib/combo/combo.common.d.ts +4 -4
- package/lib/combo/combo.directives.d.ts +1 -1
- package/lib/core/navigation/directives.d.ts +2 -2
- package/lib/date-picker/date-picker.component.d.ts +4 -4
- package/lib/date-range-picker/date-range-picker.component.d.ts +3 -3
- package/lib/dialog/dialog.component.d.ts +4 -4
- package/lib/directives/button/button.directive.d.ts +7 -7
- package/lib/directives/ripple/ripple.directive.d.ts +6 -6
- package/lib/directives/tooltip/tooltip-target.directive.d.ts +6 -8
- package/lib/directives/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/expansion-panel/expansion-panel.component.d.ts +3 -3
- package/lib/grids/common/crud.service.d.ts +1 -1
- package/lib/grids/grid-base.directive.d.ts +3 -3
- package/lib/snackbar/snackbar.component.d.ts +1 -1
- package/lib/time-picker/time-picker.component.d.ts +1 -1
- package/lib/toast/toast.component.d.ts +1 -1
- package/lib/tree/tree-node/tree-node.component.d.ts +3 -3
- package/migrations/common/UpdateChanges.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
[Ignite UI for Angular](https://www.infragistics.com/products/ignite-ui-angular) is a complete set of Material-based UI Widgets, Components & Sketch, Adobe XD and Figma [UI kits](https://www.infragistics.com/products/appbuilder/ui-toolkit) by Infragistics. Ignite UI for Angular is designed to enable developers to build enterprise-ready, high-performance HTML5 & JavaScript apps for modern desktop browsers. With the use of all features, the world’s fastest Angular grid, 60+ real-time Angular charts, and more, you are empowered to engineer excellent mobile experiences and deliver progressive web apps (PWA’s) using Google's [Angular](https://angular.io/) framework.
|
|
16
16
|
|
|
17
17
|
You can find source files under the [`src`](https://github.com/IgniteUI/igniteui-angular/tree/master/src) folder, including samples and tests.
|
|
18
|
+
Or visit [Ignite UI for Angular Discord](https://discord.com/channels/836634487483269200/836636712292581456) and join the dev community there.
|
|
18
19
|
|
|
19
20
|
### Contributing
|
|
20
21
|
There are many ways in which you can [participate](https://github.com/IgniteUI/igniteui-angular/blob/master/.github/CONTRIBUTING.md#overview) in this project, for example:
|
|
@@ -63,10 +64,10 @@ Ignite UI for Angular arrives with an extensive library of data visualizations t
|
|
|
63
64
|
|
|
64
65
|
Some of the Angular chart types included are: [Polar chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/polar-chart), [Pie chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/pie-chart), [Donut chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/donut-chart), [Bubble chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/bubble-chart), [Area chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/area-chart), [Treemap chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/treemap-chart), and many others. And if you look for [Angular financial charts](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/stock-chart), with Ignite UI you can get the same features as the ones you come across with Google Finance and Yahoo Finance Charts.
|
|
65
66
|
|
|
66
|
-
### Build Apps with Ignite UI for Angular faster using our [App Builder](https://www.infragistics.com/products/
|
|
67
|
-

|
|
68
|
+

|
|
69
|
+
### Generate your Angular code projects using the [App Builder](https://www.infragistics.com/products/appbuilder)
|
|
70
|
+

|
|
70
71
|
|
|
71
72
|
### Current List of Components Include:
|
|
72
73
|
|
|
@@ -115,7 +116,7 @@ Some of the Angular chart types included are: [Polar chart](https://www.infragis
|
|
|
115
116
|
|toast|:white_check_mark:|[Readme](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/toast/README.md)|[Docs](https://www.infragistics.com/products/ignite-ui-angular/angular/components/toast)|5.1.0||||
|
|
116
117
|
|tree|:white_check_mark:|[Readme](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/tree/README.md)|[Docs](https://www.infragistics.com/products/ignite-ui-angular/angular/components/tree)|12.0.0||||
|
|
117
118
|
|tree grid|:white_check_mark:|[Readme](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/grids/tree-grid/README.md)|[Docs](https://www.infragistics.com/products/ignite-ui-angular/angular/components/treegrid/tree-grid)|6.2.0||||
|
|
118
|
-
|
|
119
|
+
|
|
119
120
|
|
|
120
121
|
### Components available in [igniteui-angular-charts](https://www.npmjs.com/package/igniteui-angular-charts)
|
|
121
122
|
|Components||
|
|
@@ -230,7 +230,7 @@ export class IgxActionStripComponent extends DisplayDensityBase {
|
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxActionStripComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: DisplayDensityToken, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
233
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxActionStripComponent, isStandalone: true, selector: "igx-action-strip", inputs: { context: "context", hidden: "hidden", resourceStrings: "resourceStrings" }, host: { properties: { "style.display": "this.display", "class.igx-action-strip": "this.hostClass", "style.--component-size": "this.componentSize" } }, queries: [{ propertyName: "_menuItems", predicate: IgxActionStripMenuItemDirective }, { propertyName: "actionButtons", predicate: IgxGridActionsBaseDirective }], viewQueries: [{ propertyName: "menu", first: true, predicate: ["dropdown"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n <ng-container *ngIf=\"menuItems.length > 0\">\n <button\n igxButton=\"icon\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon>more_vert</igx-icon>\n </button>\n </ng-container>\n <igx-drop-down #dropdown [displayDensity]=\"displayDensity\">\n <igx-drop-down-item\n *ngFor=\"let item of menuItems\"\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n </igx-drop-down>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "directive", type: IgxToggleActionDirective, selector: "[igxToggleAction]", inputs: ["overlaySettings", "igxToggleOutlet", "igxToggleAction"], exportAs: ["toggle-action"] }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }] }); }
|
|
233
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxActionStripComponent, isStandalone: true, selector: "igx-action-strip", inputs: { context: "context", hidden: "hidden", resourceStrings: "resourceStrings" }, host: { properties: { "style.display": "this.display", "class.igx-action-strip": "this.hostClass", "style.--component-size": "this.componentSize" } }, queries: [{ propertyName: "_menuItems", predicate: IgxActionStripMenuItemDirective }, { propertyName: "actionButtons", predicate: IgxGridActionsBaseDirective }], viewQueries: [{ propertyName: "menu", first: true, predicate: ["dropdown"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n <ng-container *ngIf=\"menuItems.length > 0\">\n <button\n type=\"button\"\n igxButton=\"icon\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon>more_vert</igx-icon>\n </button>\n </ng-container>\n <igx-drop-down #dropdown [displayDensity]=\"displayDensity\">\n <igx-drop-down-item\n *ngFor=\"let item of menuItems\"\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n </igx-drop-down>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "directive", type: IgxToggleActionDirective, selector: "[igxToggleAction]", inputs: ["overlaySettings", "igxToggleOutlet", "igxToggleAction"], exportAs: ["toggle-action"] }, { kind: "directive", type: IgxDropDownItemNavigationDirective, selector: "[igxDropDownItemNavigation]", inputs: ["igxDropDownItemNavigation"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "component", type: IgxDropDownComponent, selector: "igx-drop-down", inputs: ["allowItemsFocus", "labelledBy"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "component", type: IgxDropDownItemComponent, selector: "igx-drop-down-item" }] }); }
|
|
234
234
|
}
|
|
235
235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxActionStripComponent, decorators: [{
|
|
236
236
|
type: Component,
|
|
@@ -245,7 +245,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
|
|
|
245
245
|
IgxIconComponent,
|
|
246
246
|
IgxDropDownComponent,
|
|
247
247
|
IgxDropDownItemComponent
|
|
248
|
-
], template: "<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n <ng-container *ngIf=\"menuItems.length > 0\">\n <button\n igxButton=\"icon\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon>more_vert</igx-icon>\n </button>\n </ng-container>\n <igx-drop-down #dropdown [displayDensity]=\"displayDensity\">\n <igx-drop-down-item\n *ngFor=\"let item of menuItems\"\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n </igx-drop-down>\n</div>\n" }]
|
|
248
|
+
], template: "<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n <ng-container *ngIf=\"menuItems.length > 0\">\n <button\n type=\"button\"\n igxButton=\"icon\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon>more_vert</igx-icon>\n </button>\n </ng-container>\n <igx-drop-down #dropdown [displayDensity]=\"displayDensity\">\n <igx-drop-down-item\n *ngFor=\"let item of menuItems\"\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n </igx-drop-down>\n</div>\n" }]
|
|
249
249
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
250
250
|
type: Optional
|
|
251
251
|
}, {
|
|
@@ -276,4 +276,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
|
|
|
276
276
|
type: HostBinding,
|
|
277
277
|
args: ['style.--component-size']
|
|
278
278
|
}] } });
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0cmlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tc3RyaXAvYWN0aW9uLXN0cmlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tc3RyaXAvYWN0aW9uLXN0cmlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixlQUFlLEVBRWYsU0FBUyxFQU1aLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBMEIsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDakcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7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Q0MsSUFBSTtzQkFEVixTQUFTO3VCQUFDLFVBQVU7Z0JBZ0RSLE9BQU87c0JBRGxCLFdBQVc7dUJBQUMsZUFBZTtnQkFTbkIsU0FBUztzQkFEbEIsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBSXZCLGFBQWE7c0JBRDFCLFdBQVc7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIE9wdGlvbmFsLFxuICAgIEluamVjdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpc3BsYXlEZW5zaXR5QmFzZSwgRGlzcGxheURlbnNpdHlUb2tlbiwgSURpc3BsYXlEZW5zaXR5T3B0aW9ucyB9IGZyb20gJy4uL2NvcmUvZGVuc2l0eSc7XG5pbXBvcnQgeyBJQWN0aW9uU3RyaXBSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuLi9jb3JlL2kxOG4vYWN0aW9uLXN0cmlwLXJlc291cmNlcyc7XG5pbXBvcnQgeyBDdXJyZW50UmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vY29yZS9pMThuL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBJZ3hEcm9wRG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3AtZG93bi9kcm9wLWRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IENsb3NlU2Nyb2xsU3RyYXRlZ3ksIE92ZXJsYXlTZXR0aW5ncyB9IGZyb20gJy4uL3NlcnZpY2VzL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgSWd4R3JpZEFjdGlvbnNCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9ncmlkLWFjdGlvbnMvZ3JpZC1hY3Rpb25zLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneERyb3BEb3duSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3AtZG93bi9kcm9wLWRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4RHJvcERvd25JdGVtTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2Ryb3AtZG93bi9kcm9wLWRvd24tbmF2aWdhdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4VG9nZ2xlQWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hSaXBwbGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JpcHBsZS9yaXBwbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmdJZiwgTmdGb3IsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hBY3Rpb25TdHJpcE1lbnVJdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hBY3Rpb25TdHJpcE1lbnVJdGVtRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+XG4gICAgKSB7IH1cbn1cblxuLyoqXG4gKiBBY3Rpb24gU3RyaXAgcHJvdmlkZXMgdGVtcGxhdGFibGUgYXJlYSBmb3Igb25lIG9yIG1vcmUgYWN0aW9ucy5cbiAqXG4gKiBAaWd4TW9kdWxlIElneEFjdGlvblN0cmlwTW9kdWxlXG4gKlxuICogQGlneFRoZW1lIGlneC1hY3Rpb24tc3RyaXAtdGhlbWVcbiAqXG4gKiBAaWd4S2V5d29yZHMgYWN0aW9uLCBzdHJpcCwgYWN0aW9uU3RyaXAsIHBpbm5pbmcsIGVkaXRpbmdcbiAqXG4gKiBAaWd4R3JvdXAgRGF0YSBFbnRyeSAmIERpc3BsYXlcbiAqXG4gKiBAcmVtYXJrc1xuICogVGhlIElnbml0ZSBVSSBBY3Rpb24gU3RyaXAgaXMgYSBjb250YWluZXIsIG92ZXJsYXlpbmcgaXRzIHBhcmVudCBjb250YWluZXIsXG4gKiBhbmQgZGlzcGxheWluZyBhY3Rpb24gYnV0dG9ucyB3aXRoIGFjdGlvbiBhcHBsaWNhYmxlIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50IHRoZSBzdHJpcCBpcyBpbnN0YW50aWF0ZWQgb3Igc2hvd24gZm9yLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8aWd4LWFjdGlvbi1zdHJpcCAjYWN0aW9uU3RyaXA+XG4gKiAgICAgPGlneC1pY29uIChjbGljayk9XCJkb1NvbWVBY3Rpb24oKVwiPjwvaWd4LWljb24+XG4gKiA8L2lneC1hY3Rpb24tc3RyaXA+XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LWFjdGlvbi1zdHJpcCcsXG4gICAgdGVtcGxhdGVVcmw6ICdhY3Rpb24tc3RyaXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgSWd4QnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICBJZ3hSaXBwbGVEaXJlY3RpdmUsXG4gICAgICAgIElneFRvZ2dsZUFjdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgSWd4RHJvcERvd25JdGVtTmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgSWd4SWNvbkNvbXBvbmVudCxcbiAgICAgICAgSWd4RHJvcERvd25Db21wb25lbnQsXG4gICAgICAgIElneERyb3BEb3duSXRlbUNvbXBvbmVudFxuICAgIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBJZ3hBY3Rpb25TdHJpcENvbXBvbmVudCBleHRlbmRzIERpc3BsYXlEZW5zaXR5QmFzZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGNvbnRleHQgb2YgYW4gYWN0aW9uIHN0cmlwLlxuICAgICAqIFRoZSBjb250ZXh0IHNob3VsZCBiZSBhbiBpbnN0YW5jZSBvZiBhIEBDb21wb25lbnQsIHRoYXQgaGFzIGVsZW1lbnQgcHJvcGVydHkuXG4gICAgICogVGhpcyBlbGVtZW50IHdpbGwgYmUgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBhY3Rpb24gc3RyaXAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWFjdGlvbi1zdHJpcCBbY29udGV4dF09XCJjZWxsXCI+PC9pZ3gtYWN0aW9uLXN0cmlwPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbnRleHQ6IGFueTtcbiAgICAvKipcbiAgICAgKiBNZW51IEl0ZW1zIENvbnRlbnRDaGlsZHJlbiBpbnNpZGUgdGhlIEFjdGlvbiBTdHJpcFxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oSWd4QWN0aW9uU3RyaXBNZW51SXRlbURpcmVjdGl2ZSlcbiAgICBwdWJsaWMgX21lbnVJdGVtczogUXVlcnlMaXN0PElneEFjdGlvblN0cmlwTWVudUl0ZW1EaXJlY3RpdmU+O1xuXG5cbiAgICAvKipcbiAgICAgKiBBY3Rpb25CdXR0b24gYXMgQ29udGVudENoaWxkcmVuIGluc2lkZSB0aGUgQWN0aW9uIFN0cmlwXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihJZ3hHcmlkQWN0aW9uc0Jhc2VEaXJlY3RpdmUpXG4gICAgcHVibGljIGFjdGlvbkJ1dHRvbnM6IFF1ZXJ5TGlzdDxJZ3hHcmlkQWN0aW9uc0Jhc2VEaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0IHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBBY3Rpb24gU3RyaXAuXG4gICAgICogQ291bGQgYmUgdXNlZCB0byBzZXQgaWYgdGhlIEFjdGlvbiBTdHJpcCB3aWxsIGJlIGluaXRpYWxseSBoaWRkZW4uXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiAgPGlneC1hY3Rpb24tc3RyaXAgW2hpZGRlbl09XCJmYWxzZVwiPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBoaWRkZW4odmFsdWUpIHtcbiAgICAgICAgdGhpcy5faGlkZGVuID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoaWRkZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oaWRkZW47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cy9TZXRzIHRoZSByZXNvdXJjZSBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBCeSBkZWZhdWx0IGl0IHVzZXMgRU4gcmVzb3VyY2VzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCByZXNvdXJjZVN0cmluZ3ModmFsdWU6IElBY3Rpb25TdHJpcFJlc291cmNlU3RyaW5ncykge1xuICAgICAgICB0aGlzLl9yZXNvdXJjZVN0cmluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9yZXNvdXJjZVN0cmluZ3MsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJlc291cmNlU3RyaW5ncygpOiBJQWN0aW9uU3RyaXBSZXNvdXJjZVN0cmluZ3Mge1xuICAgICAgICBpZiAoIXRoaXMuX3Jlc291cmNlU3RyaW5ncykge1xuICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2VTdHJpbmdzID0gQ3VycmVudFJlc291cmNlU3RyaW5ncy5BY3Rpb25TdHJpcFJlc291cmNlU3RyaW5ncztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VTdHJpbmdzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgb3Igbm90IHRoZSBBY3Rpb24gU3RyaXAgYmFzZWQgb24gaWYgaXQgaXMgYSBtZW51LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgICBwdWJsaWMgZ2V0IGhpZGVPblJvd0xlYXZlKCk6IGJvb2xlYW57XG4gICAgICAgIGlmKHRoaXMubWVudS5pdGVtcy5sZW5ndGggPT09IDApe1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1lbHNlIGlmKHRoaXMubWVudS5pdGVtcy5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgIGlmKHRoaXMubWVudS5jb2xsYXBzZWQpe1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBtZW51XG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd24nKVxuICAgIHB1YmxpYyBtZW51OiBJZ3hEcm9wRG93bkNvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIEdldHRlciBmb3IgbWVudSBvdmVybGF5IHNldHRpbmdzXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG1lbnVPdmVybGF5U2V0dGluZ3M6IE92ZXJsYXlTZXR0aW5ncyA9IHsgc2Nyb2xsU3RyYXRlZ3k6IG5ldyBDbG9zZVNjcm9sbFN0cmF0ZWd5KCkgfTtcblxuICAgIHByaXZhdGUgX2hpZGRlbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3Jlc291cmNlU3RyaW5ncztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByb3RlY3RlZCBlbDogRWxlbWVudFJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEaXNwbGF5RGVuc2l0eVRva2VuKSBwcm90ZWN0ZWQgX2Rpc3BsYXlEZW5zaXR5T3B0aW9uczogSURpc3BsYXlEZW5zaXR5T3B0aW9ucyxcbiAgICAgICAgLyoqIEBoaWRkZW4gQGludGVybmFsICoqL1xuICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihfZGlzcGxheURlbnNpdHlPcHRpb25zLCBlbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVudSBJdGVtcyBsaXN0LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbWVudUl0ZW1zKCkge1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gW107XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7XG4gICAgICAgICAgICBpZiAoYnV0dG9uLmFzTWVudUl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBidXR0b24uYnV0dG9ucztcbiAgICAgICAgICAgICAgICBpZiAoY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4udG9BcnJheSgpLmZvckVhY2goeCA9PiBhY3Rpb25zLnB1c2goeCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBbLi4uIHRoaXMuX21lbnVJdGVtcy50b0FycmF5KCksIC4uLmFjdGlvbnNdO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogR2V0dGVyIGZvciB0aGUgJ2Rpc3BsYXknIHByb3BlcnR5IG9mIHRoZSBjdXJyZW50IGBJZ3hBY3Rpb25TdHJpcGBcbiAgICAgKi9cbiAgICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgICAgcHJpdmF0ZSBnZXQgZGlzcGxheSgpOiBzdHJpbmcge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGRlbiA/ICdub25lJyA6ICdmbGV4JztcbiAgICAgfVxuXG4gICAgIC8qKlxuICAgICAgKiBIb3N0IGBhdHRyLmNsYXNzYCBiaW5kaW5nLlxuICAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1hY3Rpb24tc3RyaXAnKVxuICAgIHByb3RlY3RlZCBob3N0Q2xhc3MgPSAnaWd4LWFjdGlvbi1zdHJpcCc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tY29tcG9uZW50LXNpemUnKVxuICAgIHByb3RlY3RlZCBnZXQgY29tcG9uZW50U2l6ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29tcG9uZW50U2l6ZVN0eWxlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLmFjdGlvbkJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4ge1xuICAgICAgICAgICAgYnV0dG9uLnN0cmlwID0gdGhpcztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbkJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4ge1xuICAgICAgICAgICAgICAgIGJ1dHRvbi5zdHJpcCA9IHRoaXM7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMubWVudS5zZWxlY3Rpb25DaGFuZ2luZy5zdWJzY3JpYmUoKCRldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gKCRldmVudC5uZXdTZWxlY3Rpb24gYXMgYW55KS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBsZXQgYWxsQnV0dG9ucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25CdXR0b25zLmZvckVhY2goYWN0aW9uQnV0dG9ucyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbkJ1dHRvbnMuYXNNZW51SXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxsQnV0dG9ucyA9IFsuLi5hbGxCdXR0b25zLCAuLi5hY3Rpb25CdXR0b25zLmJ1dHRvbnMudG9BcnJheSgpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvbiA9IGFsbEJ1dHRvbnMuZmluZCh4ID0+IG5ld1NlbGVjdGlvbi5jb250YWlucyh4LmNvbnRhaW5lci5uYXRpdmVFbGVtZW50KSk7XG4gICAgICAgICAgICBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgYnV0dG9uLmFjdGlvbkNsaWNrLmVtaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd2luZyB0aGUgQWN0aW9uIFN0cmlwIGFuZCBhcHBlbmRpbmcgaXQgdGhlIHNwZWNpZmllZCBjb250ZXh0IGVsZW1lbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGV4dFxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuYWN0aW9uU3RyaXAuc2hvdyhyb3cpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93KGNvbnRleHQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gd2hlbiBzaG93biBmb3IgZGlmZmVyZW50IGNvbnRleHQgbWFrZSBzdXJlIHRoZSBtZW51IHdvbid0IHN0YXkgb3BlbmVkXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQgIT09IGNvbnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQuZWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChjb250ZXh0LmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5fdmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRpbmcgdGhlIEFjdGlvbiBTdHJpcCBhbmQgcmVtb3ZpbmcgaXQgZnJvbSBpdHMgY3VycmVudCBjb250ZXh0IGVsZW1lbnQuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLmFjdGlvblN0cmlwLmhpZGUoKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRkZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLmNsb3NlTWVudSgpO1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuY29udGV4dC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuX3ZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlIHRoZSBtZW51IGlmIG9wZW5lZFxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgY2xvc2VNZW51KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tZW51ICYmICF0aGlzLm1lbnUuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnUuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImlneC1hY3Rpb24tc3RyaXBfX2FjdGlvbnNcIj5cbiAgICA8bmctY29udGVudCAjY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGlneEJ1dHRvbj1cImljb25cIlxuICAgICAgICAgICAgaWd4UmlwcGxlXG4gICAgICAgICAgICBbaWd4VG9nZ2xlQWN0aW9uXT1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgIFtvdmVybGF5U2V0dGluZ3NdPVwibWVudU92ZXJsYXlTZXR0aW5nc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJyZXNvdXJjZVN0cmluZ3MuaWd4X2FjdGlvbl9zdHJpcF9idXR0b25fbW9yZV90aXRsZVwiXG4gICAgICAgICAgICBbaWd4RHJvcERvd25JdGVtTmF2aWdhdGlvbl09XCJkcm9wZG93blwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpZ3gtaWNvbj5tb3JlX3ZlcnQ8L2lneC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8aWd4LWRyb3AtZG93biAjZHJvcGRvd24gW2Rpc3BsYXlEZW5zaXR5XT1cImRpc3BsYXlEZW5zaXR5XCI+XG4gICAgICAgIDxpZ3gtZHJvcC1kb3duLWl0ZW1cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1lbnVJdGVtc1wiXG4gICAgICAgICAgICBjbGFzcz1cImlneC1hY3Rpb24tc3RyaXBfX21lbnUtaXRlbVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpZ3gtZHJvcC1kb3duX19pdGVtLXRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50ZW1wbGF0ZVJlZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9pZ3gtZHJvcC1kb3duLWl0ZW0+XG4gICAgPC9pZ3gtZHJvcC1kb3duPlxuPC9kaXY+XG4iXX0=
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0cmlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tc3RyaXAvYWN0aW9uLXN0cmlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tc3RyaXAvYWN0aW9uLXN0cmlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixlQUFlLEVBRWYsU0FBUyxFQU1aLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBMEIsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDakcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7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Q0MsSUFBSTtzQkFEVixTQUFTO3VCQUFDLFVBQVU7Z0JBZ0RSLE9BQU87c0JBRGxCLFdBQVc7dUJBQUMsZUFBZTtnQkFTbkIsU0FBUztzQkFEbEIsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBSXZCLGFBQWE7c0JBRDFCLFdBQVc7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIE9wdGlvbmFsLFxuICAgIEluamVjdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpc3BsYXlEZW5zaXR5QmFzZSwgRGlzcGxheURlbnNpdHlUb2tlbiwgSURpc3BsYXlEZW5zaXR5T3B0aW9ucyB9IGZyb20gJy4uL2NvcmUvZGVuc2l0eSc7XG5pbXBvcnQgeyBJQWN0aW9uU3RyaXBSZXNvdXJjZVN0cmluZ3MgfSBmcm9tICcuLi9jb3JlL2kxOG4vYWN0aW9uLXN0cmlwLXJlc291cmNlcyc7XG5pbXBvcnQgeyBDdXJyZW50UmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vY29yZS9pMThuL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBJZ3hEcm9wRG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3AtZG93bi9kcm9wLWRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IENsb3NlU2Nyb2xsU3RyYXRlZ3ksIE92ZXJsYXlTZXR0aW5ncyB9IGZyb20gJy4uL3NlcnZpY2VzL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgSWd4R3JpZEFjdGlvbnNCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9ncmlkLWFjdGlvbnMvZ3JpZC1hY3Rpb25zLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneERyb3BEb3duSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3AtZG93bi9kcm9wLWRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4RHJvcERvd25JdGVtTmF2aWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2Ryb3AtZG93bi9kcm9wLWRvd24tbmF2aWdhdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4VG9nZ2xlQWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90b2dnbGUvdG9nZ2xlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hSaXBwbGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JpcHBsZS9yaXBwbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmdJZiwgTmdGb3IsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hBY3Rpb25TdHJpcE1lbnVJdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hBY3Rpb25TdHJpcE1lbnVJdGVtRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+XG4gICAgKSB7IH1cbn1cblxuLyoqXG4gKiBBY3Rpb24gU3RyaXAgcHJvdmlkZXMgdGVtcGxhdGFibGUgYXJlYSBmb3Igb25lIG9yIG1vcmUgYWN0aW9ucy5cbiAqXG4gKiBAaWd4TW9kdWxlIElneEFjdGlvblN0cmlwTW9kdWxlXG4gKlxuICogQGlneFRoZW1lIGlneC1hY3Rpb24tc3RyaXAtdGhlbWVcbiAqXG4gKiBAaWd4S2V5d29yZHMgYWN0aW9uLCBzdHJpcCwgYWN0aW9uU3RyaXAsIHBpbm5pbmcsIGVkaXRpbmdcbiAqXG4gKiBAaWd4R3JvdXAgRGF0YSBFbnRyeSAmIERpc3BsYXlcbiAqXG4gKiBAcmVtYXJrc1xuICogVGhlIElnbml0ZSBVSSBBY3Rpb24gU3RyaXAgaXMgYSBjb250YWluZXIsIG92ZXJsYXlpbmcgaXRzIHBhcmVudCBjb250YWluZXIsXG4gKiBhbmQgZGlzcGxheWluZyBhY3Rpb24gYnV0dG9ucyB3aXRoIGFjdGlvbiBhcHBsaWNhYmxlIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50IHRoZSBzdHJpcCBpcyBpbnN0YW50aWF0ZWQgb3Igc2hvd24gZm9yLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8aWd4LWFjdGlvbi1zdHJpcCAjYWN0aW9uU3RyaXA+XG4gKiAgICAgPGlneC1pY29uIChjbGljayk9XCJkb1NvbWVBY3Rpb24oKVwiPjwvaWd4LWljb24+XG4gKiA8L2lneC1hY3Rpb24tc3RyaXA+XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LWFjdGlvbi1zdHJpcCcsXG4gICAgdGVtcGxhdGVVcmw6ICdhY3Rpb24tc3RyaXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgSWd4QnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICBJZ3hSaXBwbGVEaXJlY3RpdmUsXG4gICAgICAgIElneFRvZ2dsZUFjdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgSWd4RHJvcERvd25JdGVtTmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgSWd4SWNvbkNvbXBvbmVudCxcbiAgICAgICAgSWd4RHJvcERvd25Db21wb25lbnQsXG4gICAgICAgIElneERyb3BEb3duSXRlbUNvbXBvbmVudFxuICAgIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBJZ3hBY3Rpb25TdHJpcENvbXBvbmVudCBleHRlbmRzIERpc3BsYXlEZW5zaXR5QmFzZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGNvbnRleHQgb2YgYW4gYWN0aW9uIHN0cmlwLlxuICAgICAqIFRoZSBjb250ZXh0IHNob3VsZCBiZSBhbiBpbnN0YW5jZSBvZiBhIEBDb21wb25lbnQsIHRoYXQgaGFzIGVsZW1lbnQgcHJvcGVydHkuXG4gICAgICogVGhpcyBlbGVtZW50IHdpbGwgYmUgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBhY3Rpb24gc3RyaXAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWFjdGlvbi1zdHJpcCBbY29udGV4dF09XCJjZWxsXCI+PC9pZ3gtYWN0aW9uLXN0cmlwPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbnRleHQ6IGFueTtcbiAgICAvKipcbiAgICAgKiBNZW51IEl0ZW1zIENvbnRlbnRDaGlsZHJlbiBpbnNpZGUgdGhlIEFjdGlvbiBTdHJpcFxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oSWd4QWN0aW9uU3RyaXBNZW51SXRlbURpcmVjdGl2ZSlcbiAgICBwdWJsaWMgX21lbnVJdGVtczogUXVlcnlMaXN0PElneEFjdGlvblN0cmlwTWVudUl0ZW1EaXJlY3RpdmU+O1xuXG5cbiAgICAvKipcbiAgICAgKiBBY3Rpb25CdXR0b24gYXMgQ29udGVudENoaWxkcmVuIGluc2lkZSB0aGUgQWN0aW9uIFN0cmlwXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihJZ3hHcmlkQWN0aW9uc0Jhc2VEaXJlY3RpdmUpXG4gICAgcHVibGljIGFjdGlvbkJ1dHRvbnM6IFF1ZXJ5TGlzdDxJZ3hHcmlkQWN0aW9uc0Jhc2VEaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0IHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBBY3Rpb24gU3RyaXAuXG4gICAgICogQ291bGQgYmUgdXNlZCB0byBzZXQgaWYgdGhlIEFjdGlvbiBTdHJpcCB3aWxsIGJlIGluaXRpYWxseSBoaWRkZW4uXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiAgPGlneC1hY3Rpb24tc3RyaXAgW2hpZGRlbl09XCJmYWxzZVwiPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBoaWRkZW4odmFsdWUpIHtcbiAgICAgICAgdGhpcy5faGlkZGVuID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoaWRkZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oaWRkZW47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cy9TZXRzIHRoZSByZXNvdXJjZSBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBCeSBkZWZhdWx0IGl0IHVzZXMgRU4gcmVzb3VyY2VzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCByZXNvdXJjZVN0cmluZ3ModmFsdWU6IElBY3Rpb25TdHJpcFJlc291cmNlU3RyaW5ncykge1xuICAgICAgICB0aGlzLl9yZXNvdXJjZVN0cmluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9yZXNvdXJjZVN0cmluZ3MsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJlc291cmNlU3RyaW5ncygpOiBJQWN0aW9uU3RyaXBSZXNvdXJjZVN0cmluZ3Mge1xuICAgICAgICBpZiAoIXRoaXMuX3Jlc291cmNlU3RyaW5ncykge1xuICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2VTdHJpbmdzID0gQ3VycmVudFJlc291cmNlU3RyaW5ncy5BY3Rpb25TdHJpcFJlc291cmNlU3RyaW5ncztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VTdHJpbmdzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgb3Igbm90IHRoZSBBY3Rpb24gU3RyaXAgYmFzZWQgb24gaWYgaXQgaXMgYSBtZW51LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgICBwdWJsaWMgZ2V0IGhpZGVPblJvd0xlYXZlKCk6IGJvb2xlYW57XG4gICAgICAgIGlmKHRoaXMubWVudS5pdGVtcy5sZW5ndGggPT09IDApe1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1lbHNlIGlmKHRoaXMubWVudS5pdGVtcy5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgIGlmKHRoaXMubWVudS5jb2xsYXBzZWQpe1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBtZW51XG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd24nKVxuICAgIHB1YmxpYyBtZW51OiBJZ3hEcm9wRG93bkNvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIEdldHRlciBmb3IgbWVudSBvdmVybGF5IHNldHRpbmdzXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG1lbnVPdmVybGF5U2V0dGluZ3M6IE92ZXJsYXlTZXR0aW5ncyA9IHsgc2Nyb2xsU3RyYXRlZ3k6IG5ldyBDbG9zZVNjcm9sbFN0cmF0ZWd5KCkgfTtcblxuICAgIHByaXZhdGUgX2hpZGRlbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3Jlc291cmNlU3RyaW5ncztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByb3RlY3RlZCBlbDogRWxlbWVudFJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEaXNwbGF5RGVuc2l0eVRva2VuKSBwcm90ZWN0ZWQgX2Rpc3BsYXlEZW5zaXR5T3B0aW9uczogSURpc3BsYXlEZW5zaXR5T3B0aW9ucyxcbiAgICAgICAgLyoqIEBoaWRkZW4gQGludGVybmFsICoqL1xuICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihfZGlzcGxheURlbnNpdHlPcHRpb25zLCBlbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWVudSBJdGVtcyBsaXN0LlxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgbWVudUl0ZW1zKCkge1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gW107XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiB7XG4gICAgICAgICAgICBpZiAoYnV0dG9uLmFzTWVudUl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBidXR0b24uYnV0dG9ucztcbiAgICAgICAgICAgICAgICBpZiAoY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4udG9BcnJheSgpLmZvckVhY2goeCA9PiBhY3Rpb25zLnB1c2goeCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBbLi4uIHRoaXMuX21lbnVJdGVtcy50b0FycmF5KCksIC4uLmFjdGlvbnNdO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogR2V0dGVyIGZvciB0aGUgJ2Rpc3BsYXknIHByb3BlcnR5IG9mIHRoZSBjdXJyZW50IGBJZ3hBY3Rpb25TdHJpcGBcbiAgICAgKi9cbiAgICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgICAgcHJpdmF0ZSBnZXQgZGlzcGxheSgpOiBzdHJpbmcge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGRlbiA/ICdub25lJyA6ICdmbGV4JztcbiAgICAgfVxuXG4gICAgIC8qKlxuICAgICAgKiBIb3N0IGBhdHRyLmNsYXNzYCBiaW5kaW5nLlxuICAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1hY3Rpb24tc3RyaXAnKVxuICAgIHByb3RlY3RlZCBob3N0Q2xhc3MgPSAnaWd4LWFjdGlvbi1zdHJpcCc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tY29tcG9uZW50LXNpemUnKVxuICAgIHByb3RlY3RlZCBnZXQgY29tcG9uZW50U2l6ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29tcG9uZW50U2l6ZVN0eWxlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLmFjdGlvbkJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4ge1xuICAgICAgICAgICAgYnV0dG9uLnN0cmlwID0gdGhpcztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbkJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4ge1xuICAgICAgICAgICAgICAgIGJ1dHRvbi5zdHJpcCA9IHRoaXM7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMubWVudS5zZWxlY3Rpb25DaGFuZ2luZy5zdWJzY3JpYmUoKCRldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gKCRldmVudC5uZXdTZWxlY3Rpb24gYXMgYW55KS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBsZXQgYWxsQnV0dG9ucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25CdXR0b25zLmZvckVhY2goYWN0aW9uQnV0dG9ucyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbkJ1dHRvbnMuYXNNZW51SXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxsQnV0dG9ucyA9IFsuLi5hbGxCdXR0b25zLCAuLi5hY3Rpb25CdXR0b25zLmJ1dHRvbnMudG9BcnJheSgpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvbiA9IGFsbEJ1dHRvbnMuZmluZCh4ID0+IG5ld1NlbGVjdGlvbi5jb250YWlucyh4LmNvbnRhaW5lci5uYXRpdmVFbGVtZW50KSk7XG4gICAgICAgICAgICBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgYnV0dG9uLmFjdGlvbkNsaWNrLmVtaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd2luZyB0aGUgQWN0aW9uIFN0cmlwIGFuZCBhcHBlbmRpbmcgaXQgdGhlIHNwZWNpZmllZCBjb250ZXh0IGVsZW1lbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGV4dFxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHRoaXMuYWN0aW9uU3RyaXAuc2hvdyhyb3cpO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93KGNvbnRleHQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gd2hlbiBzaG93biBmb3IgZGlmZmVyZW50IGNvbnRleHQgbWFrZSBzdXJlIHRoZSBtZW51IHdvbid0IHN0YXkgb3BlbmVkXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQgIT09IGNvbnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQuZWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChjb250ZXh0LmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5fdmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRpbmcgdGhlIEFjdGlvbiBTdHJpcCBhbmQgcmVtb3ZpbmcgaXQgZnJvbSBpdHMgY3VycmVudCBjb250ZXh0IGVsZW1lbnQuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiB0aGlzLmFjdGlvblN0cmlwLmhpZGUoKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRkZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLmNsb3NlTWVudSgpO1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuY29udGV4dC5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuX3ZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlIHRoZSBtZW51IGlmIG9wZW5lZFxuICAgICAqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHByaXZhdGUgY2xvc2VNZW51KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tZW51ICYmICF0aGlzLm1lbnUuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnUuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImlneC1hY3Rpb24tc3RyaXBfX2FjdGlvbnNcIj5cbiAgICA8bmctY29udGVudCAjY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgaWd4QnV0dG9uPVwiaWNvblwiXG4gICAgICAgICAgICBpZ3hSaXBwbGVcbiAgICAgICAgICAgIFtpZ3hUb2dnbGVBY3Rpb25dPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgW292ZXJsYXlTZXR0aW5nc109XCJtZW51T3ZlcmxheVNldHRpbmdzXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInJlc291cmNlU3RyaW5ncy5pZ3hfYWN0aW9uX3N0cmlwX2J1dHRvbl9tb3JlX3RpdGxlXCJcbiAgICAgICAgICAgIFtpZ3hEcm9wRG93bkl0ZW1OYXZpZ2F0aW9uXT1cImRyb3Bkb3duXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGlneC1pY29uPm1vcmVfdmVydDwvaWd4LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxpZ3gtZHJvcC1kb3duICNkcm9wZG93biBbZGlzcGxheURlbnNpdHldPVwiZGlzcGxheURlbnNpdHlcIj5cbiAgICAgICAgPGlneC1kcm9wLWRvd24taXRlbVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudUl0ZW1zXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaWd4LWFjdGlvbi1zdHJpcF9fbWVudS1pdGVtXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlneC1kcm9wLWRvd25fX2l0ZW0tdGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnRlbXBsYXRlUmVmO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2lneC1kcm9wLWRvd24taXRlbT5cbiAgICA8L2lneC1kcm9wLWRvd24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -41,11 +41,11 @@ export class IgxGridActionButtonComponent {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxGridActionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxGridActionButtonComponent, isStandalone: true, selector: "igx-grid-action-button", inputs: { asMenuItem: "asMenuItem", iconName: "iconName", classNames: "classNames", iconSet: "iconSet", labelText: "labelText" }, outputs: { actionClick: "actionClick" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "templateRef", first: true, predicate: ["menuItemTemplate"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"!asMenuItem\">\n <button [title]=\"labelText\" igxButton=\"icon\" igxRipple (click)=\"handleClick($event)\" (mousedown)=\"preventEvent($event)\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n </button>\n</ng-container>\n\n<ng-template #menuItemTemplate>\n <ng-container *ngIf=\"asMenuItem\">\n <div #container [className]
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxGridActionButtonComponent, isStandalone: true, selector: "igx-grid-action-button", inputs: { asMenuItem: "asMenuItem", iconName: "iconName", classNames: "classNames", iconSet: "iconSet", labelText: "labelText" }, outputs: { actionClick: "actionClick" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "templateRef", first: true, predicate: ["menuItemTemplate"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"!asMenuItem\">\n <button type=\"button\" [title]=\"labelText\" igxButton=\"icon\" igxRipple (click)=\"handleClick($event)\" (mousedown)=\"preventEvent($event)\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n </button>\n</ng-container>\n\n<ng-template #menuItemTemplate>\n <ng-container *ngIf=\"asMenuItem\">\n <div #container [className]=\"containerClass\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n <label igxLabel>{{labelText}}</label>\n </div>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }] }); }
|
|
45
45
|
}
|
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxGridActionButtonComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
|
-
args: [{ selector: 'igx-grid-action-button', standalone: true, imports: [NgIf, IgxButtonDirective, IgxRippleDirective, IgxIconComponent], template: "<ng-container *ngIf=\"!asMenuItem\">\n <button [title]=\"labelText\" igxButton=\"icon\" igxRipple (click)=\"handleClick($event)\" (mousedown)=\"preventEvent($event)\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n </button>\n</ng-container>\n\n<ng-template #menuItemTemplate>\n <ng-container *ngIf=\"asMenuItem\">\n <div #container [className]
|
|
48
|
+
args: [{ selector: 'igx-grid-action-button', standalone: true, imports: [NgIf, IgxButtonDirective, IgxRippleDirective, IgxIconComponent], template: "<ng-container *ngIf=\"!asMenuItem\">\n <button type=\"button\" [title]=\"labelText\" igxButton=\"icon\" igxRipple (click)=\"handleClick($event)\" (mousedown)=\"preventEvent($event)\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n </button>\n</ng-container>\n\n<ng-template #menuItemTemplate>\n <ng-container *ngIf=\"asMenuItem\">\n <div #container [className]=\"containerClass\">\n <igx-icon *ngIf=\"iconSet\" [family]=\"iconSet\" [name]=\"iconName\">{{iconName}}</igx-icon>\n <igx-icon *ngIf=\"!iconSet\" >{{iconName}}</igx-icon>\n <label igxLabel>{{labelText}}</label>\n </div>\n </ng-container>\n</ng-template>\n" }]
|
|
49
49
|
}], propDecorators: { container: [{
|
|
50
50
|
type: ViewChild,
|
|
51
51
|
args: ['container']
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
|
|
|
65
65
|
}], labelText: [{
|
|
66
66
|
type: Input
|
|
67
67
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb24tc3RyaXAvZ3JpZC1hY3Rpb25zL2dyaWQtYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvYWN0aW9uLXN0cmlwL2dyaWQtYWN0aW9ucy9ncmlkLWFjdGlvbi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVF2QyxNQUFNLE9BQU8sNEJBQTRCO0lBUHpDO1FBWUk7Ozs7Ozs7V0FPRztRQUVJLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQVcvQzs7V0FFRztRQUVJLGVBQVUsR0FBRyxLQUFLLENBQUM7S0FnRDdCO0lBbENHLHdCQUF3QjtJQUN4QixJQUFXLGNBQWM7UUFDckIsT0FBTyxnQ0FBZ0MsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQWNEOzs7T0FHRztJQUNJLFdBQVcsQ0FBQyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVksQ0FBQyxLQUFLO1FBQ3JCLElBQUksS0FBSyxFQUFFO1lBQ1AsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7OEdBNUVRLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHVjQ1p6Qyw2eEJBZ0JBLDRDRFBjLElBQUksNkZBQUUsa0JBQWtCLHdNQUFFLGtCQUFrQixpS0FBRSxnQkFBZ0I7OzJGQUcvRCw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0ksd0JBQXdCLGNBRXRCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQzs4QkFNbEUsU0FBUztzQkFEZixTQUFTO3VCQUFDLFdBQVc7Z0JBWWYsV0FBVztzQkFEakIsTUFBTTtnQkFVQSxXQUFXO3NCQURqQixTQUFTO3VCQUFDLGtCQUFrQjtnQkFPdEIsVUFBVTtzQkFEaEIsS0FBSztnQkFPQyxRQUFRO3NCQURkLEtBQUs7Z0JBT0MsVUFBVTtzQkFEaEIsS0FBSztnQkFZQyxPQUFPO3NCQURiLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElneEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IElneFJpcHBsZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcmlwcGxlL3JpcHBsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWd4QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LWdyaWQtYWN0aW9uLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICdncmlkLWFjdGlvbi1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIElneEJ1dHRvbkRpcmVjdGl2ZSwgSWd4UmlwcGxlRGlyZWN0aXZlLCBJZ3hJY29uQ29tcG9uZW50XVxufSlcblxuZXhwb3J0IGNsYXNzIElneEdyaWRBY3Rpb25CdXR0b25Db21wb25lbnQge1xuXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJylcbiAgICBwdWJsaWMgY29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGFjdGlvbiBidXR0b24gaXMgY2xpY2tlZC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqICA8aWd4LWdyaWQtYWN0aW9uLWJ1dHRvbiAoYWN0aW9uQ2xpY2spPVwic3RhcnRFZGl0KCRldmVudClcIj48L2lneC1ncmlkLWFjdGlvbi1idXR0b24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgY3VycmVudCB0ZW1wbGF0ZS5cbiAgICAgKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdtZW51SXRlbVRlbXBsYXRlJylcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIGJ1dHRvbiBhY3Rpb24gaXMgcmVuZGVyZWQgaW4gbWVudSBhbmQgc2hvdWxkIGNvbnRhaW5lciB0ZXh0IGxhYmVsLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFzTWVudUl0ZW0gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIGljb24gdG8gZGlzcGxheSBpbiB0aGUgYnV0dG9uLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGljb25OYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBZGRpdGlvbmFsIE1lbnUgaXRlbSBjb250YWluZXIgZWxlbWVudCBjbGFzc2VzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNsYXNzTmFtZXM6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHB1YmxpYyBnZXQgY29udGFpbmVyQ2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdpZ3gtYWN0aW9uLXN0cmlwX19tZW51LWJ1dHRvbiAnICsgKHRoaXMuY2xhc3NOYW1lcyB8fCAnJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGljb24gc2V0LiBVc2VkIGluIGNhc2UgdGhlIGljb24gaXMgZnJvbSBhIGRpZmZlcmVudCBpY29uIHNldC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uU2V0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGV4dCBvZiB0aGUgbGFiZWwuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGFiZWxUZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGhhbmRsZUNsaWNrKGV2ZW50KSB7XG4gICAgICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBwcmV2ZW50RXZlbnQoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWFzTWVudUl0ZW1cIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbdGl0bGVdPVwibGFiZWxUZXh0XCIgaWd4QnV0dG9uPVwiaWNvblwiIGlneFJpcHBsZSAoY2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiIChtb3VzZWRvd24pPVwicHJldmVudEV2ZW50KCRldmVudClcIj5cbiAgICAgICAgPGlneC1pY29uICpuZ0lmPVwiaWNvblNldFwiIFtmYW1pbHldPVwiaWNvblNldFwiIFtuYW1lXT1cImljb25OYW1lXCI+e3tpY29uTmFtZX19PC9pZ3gtaWNvbj5cbiAgICAgICAgPGlneC1pY29uICpuZ0lmPVwiIWljb25TZXRcIiA+e3tpY29uTmFtZX19PC9pZ3gtaWNvbj5cbiAgICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI21lbnVJdGVtVGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFzTWVudUl0ZW1cIj5cbiAgICAgICAgPGRpdiAjY29udGFpbmVyIFtjbGFzc05hbWVdPVwiY29udGFpbmVyQ2xhc3NcIj5cbiAgICAgICAgICAgIDxpZ3gtaWNvbiAqbmdJZj1cImljb25TZXRcIiBbZmFtaWx5XT1cImljb25TZXRcIiBbbmFtZV09XCJpY29uTmFtZVwiPnt7aWNvbk5hbWV9fTwvaWd4LWljb24+XG4gICAgICAgICAgICA8aWd4LWljb24gKm5nSWY9XCIhaWNvblNldFwiID57e2ljb25OYW1lfX08L2lneC1pY29uPlxuICAgICAgICAgICAgPGxhYmVsIGlneExhYmVsPnt7bGFiZWxUZXh0fX08L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -20,8 +20,8 @@ import * as i0 from "@angular/core";
|
|
|
20
20
|
* <igx-banner #banner>
|
|
21
21
|
* Our privacy settings have changed.
|
|
22
22
|
* <igx-banner-actions>
|
|
23
|
-
* <button igxButton="raised">Read More</button>
|
|
24
|
-
* <button igxButton="raised">Accept and Continue</button>
|
|
23
|
+
* <button type="button" igxButton="raised">Read More</button>
|
|
24
|
+
* <button type="button" igxButton="raised">Accept and Continue</button>
|
|
25
25
|
* </igx-banner-actions>
|
|
26
26
|
* </igx-banner>
|
|
27
27
|
* ```
|
|
@@ -154,7 +154,7 @@ export class IgxBannerComponent {
|
|
|
154
154
|
* <igx-banner #banner>
|
|
155
155
|
* ...
|
|
156
156
|
* </igx-banner>
|
|
157
|
-
* <button (click)="banner.open()">Open Banner</button>
|
|
157
|
+
* <button type="button" (click)="banner.open()">Open Banner</button>
|
|
158
158
|
* ```
|
|
159
159
|
*/
|
|
160
160
|
open(event) {
|
|
@@ -182,7 +182,7 @@ export class IgxBannerComponent {
|
|
|
182
182
|
* <igx-banner #banner>
|
|
183
183
|
* ...
|
|
184
184
|
* </igx-banner>
|
|
185
|
-
* <button (click)="banner.close()">Close Banner</button>
|
|
185
|
+
* <button type="button" (click)="banner.close()">Close Banner</button>
|
|
186
186
|
* ```
|
|
187
187
|
*/
|
|
188
188
|
close(event) {
|
|
@@ -210,7 +210,7 @@ export class IgxBannerComponent {
|
|
|
210
210
|
* <igx-banner #banner>
|
|
211
211
|
* ...
|
|
212
212
|
* </igx-banner>
|
|
213
|
-
* <button (click)="banner.toggle()">Toggle Banner</button>
|
|
213
|
+
* <button type="button" (click)="banner.toggle()">Toggle Banner</button>
|
|
214
214
|
* ```
|
|
215
215
|
*/
|
|
216
216
|
toggle(event) {
|
|
@@ -230,11 +230,11 @@ export class IgxBannerComponent {
|
|
|
230
230
|
this.closed.emit(this._bannerEvent);
|
|
231
231
|
}
|
|
232
232
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxBannerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
233
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxBannerComponent, isStandalone: true, selector: "igx-banner", inputs: { animationSettings: "animationSettings", resourceStrings: "resourceStrings" }, outputs: { opened: "opened", opening: "opening", closed: "closed", closing: "closing" }, host: { properties: { "class": "this.cssClass", "style.display": "this.displayStyle" } }, queries: [{ propertyName: "bannerIcon", first: true, predicate: IgxIconComponent, descendants: true }, { propertyName: "_bannerActionTemplate", first: true, predicate: IgxBannerActionsDirective, descendants: true }], viewQueries: [{ propertyName: "_expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true, static: true }], ngImport: i0, template: "<igx-expansion-panel #expansionPanel [animationSettings]=\"animationSettings\" (contentCollapsed)=\"onExpansionPanelClose()\" (contentExpanded)=\"onExpansionPanelOpen()\"\n [collapsed]=\"collapsed\" aria-live=\"polite\" [attr.aria-hidden]=\"collapsed\">\n <igx-expansion-panel-body>\n <div class=\"igx-banner\">\n <div class=\"igx-banner__message\">\n <div *ngIf=\"bannerIcon\" class=\"igx-banner__illustration\">\n <ng-content select=\"igx-icon\"></ng-content>\n </div>\n <span class=\"igx-banner__text\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"igx-banner__actions\">\n <ng-container *ngIf=\"useDefaultTemplate\">\n <button igxButton=\"flat\" igxRipple (click)=\"close()\">\n {{ resourceStrings.igx_banner_button_dismiss }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"!useDefaultTemplate\">\n <ng-content select=\"igx-banner-actions\"></ng-content>\n </ng-container>\n </div>\n </div>\n </igx-expansion-panel-body>\n</igx-expansion-panel>\n", dependencies: [{ kind: "component", type: IgxExpansionPanelComponent, selector: "igx-expansion-panel", inputs: ["animationSettings", "id", "collapsed"], outputs: ["collapsedChange", "contentCollapsing", "contentCollapsed", "contentExpanding", "contentExpanded"] }, { kind: "component", type: IgxExpansionPanelBodyComponent, selector: "igx-expansion-panel-body", inputs: ["role", "label", "labelledBy"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] }); }
|
|
233
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: IgxBannerComponent, isStandalone: true, selector: "igx-banner", inputs: { animationSettings: "animationSettings", resourceStrings: "resourceStrings" }, outputs: { opened: "opened", opening: "opening", closed: "closed", closing: "closing" }, host: { properties: { "class": "this.cssClass", "style.display": "this.displayStyle" } }, queries: [{ propertyName: "bannerIcon", first: true, predicate: IgxIconComponent, descendants: true }, { propertyName: "_bannerActionTemplate", first: true, predicate: IgxBannerActionsDirective, descendants: true }], viewQueries: [{ propertyName: "_expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true, static: true }], ngImport: i0, template: "<igx-expansion-panel #expansionPanel [animationSettings]=\"animationSettings\" (contentCollapsed)=\"onExpansionPanelClose()\" (contentExpanded)=\"onExpansionPanelOpen()\"\n [collapsed]=\"collapsed\" aria-live=\"polite\" [attr.aria-hidden]=\"collapsed\">\n <igx-expansion-panel-body>\n <div class=\"igx-banner\">\n <div class=\"igx-banner__message\">\n <div *ngIf=\"bannerIcon\" class=\"igx-banner__illustration\">\n <ng-content select=\"igx-icon\"></ng-content>\n </div>\n <span class=\"igx-banner__text\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"igx-banner__actions\">\n <ng-container *ngIf=\"useDefaultTemplate\">\n <button type=\"button\" igxButton=\"flat\" igxRipple (click)=\"close()\">\n {{ resourceStrings.igx_banner_button_dismiss }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"!useDefaultTemplate\">\n <ng-content select=\"igx-banner-actions\"></ng-content>\n </ng-container>\n </div>\n </div>\n </igx-expansion-panel-body>\n</igx-expansion-panel>\n", dependencies: [{ kind: "component", type: IgxExpansionPanelComponent, selector: "igx-expansion-panel", inputs: ["animationSettings", "id", "collapsed"], outputs: ["collapsedChange", "contentCollapsing", "contentCollapsed", "contentExpanding", "contentExpanded"] }, { kind: "component", type: IgxExpansionPanelBodyComponent, selector: "igx-expansion-panel-body", inputs: ["role", "label", "labelledBy"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] }); }
|
|
234
234
|
}
|
|
235
235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: IgxBannerComponent, decorators: [{
|
|
236
236
|
type: Component,
|
|
237
|
-
args: [{ selector: 'igx-banner', standalone: true, imports: [IgxExpansionPanelComponent, IgxExpansionPanelBodyComponent, NgIf, IgxButtonDirective, IgxRippleDirective], template: "<igx-expansion-panel #expansionPanel [animationSettings]=\"animationSettings\" (contentCollapsed)=\"onExpansionPanelClose()\" (contentExpanded)=\"onExpansionPanelOpen()\"\n [collapsed]=\"collapsed\" aria-live=\"polite\" [attr.aria-hidden]=\"collapsed\">\n <igx-expansion-panel-body>\n <div class=\"igx-banner\">\n <div class=\"igx-banner__message\">\n <div *ngIf=\"bannerIcon\" class=\"igx-banner__illustration\">\n <ng-content select=\"igx-icon\"></ng-content>\n </div>\n <span class=\"igx-banner__text\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"igx-banner__actions\">\n <ng-container *ngIf=\"useDefaultTemplate\">\n <button igxButton=\"flat\" igxRipple (click)=\"close()\">\n {{ resourceStrings.igx_banner_button_dismiss }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"!useDefaultTemplate\">\n <ng-content select=\"igx-banner-actions\"></ng-content>\n </ng-container>\n </div>\n </div>\n </igx-expansion-panel-body>\n</igx-expansion-panel>\n" }]
|
|
237
|
+
args: [{ selector: 'igx-banner', standalone: true, imports: [IgxExpansionPanelComponent, IgxExpansionPanelBodyComponent, NgIf, IgxButtonDirective, IgxRippleDirective], template: "<igx-expansion-panel #expansionPanel [animationSettings]=\"animationSettings\" (contentCollapsed)=\"onExpansionPanelClose()\" (contentExpanded)=\"onExpansionPanelOpen()\"\n [collapsed]=\"collapsed\" aria-live=\"polite\" [attr.aria-hidden]=\"collapsed\">\n <igx-expansion-panel-body>\n <div class=\"igx-banner\">\n <div class=\"igx-banner__message\">\n <div *ngIf=\"bannerIcon\" class=\"igx-banner__illustration\">\n <ng-content select=\"igx-icon\"></ng-content>\n </div>\n <span class=\"igx-banner__text\">\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"igx-banner__actions\">\n <ng-container *ngIf=\"useDefaultTemplate\">\n <button type=\"button\" igxButton=\"flat\" igxRipple (click)=\"close()\">\n {{ resourceStrings.igx_banner_button_dismiss }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"!useDefaultTemplate\">\n <ng-content select=\"igx-banner-actions\"></ng-content>\n </ng-container>\n </div>\n </div>\n </igx-expansion-panel-body>\n</igx-expansion-panel>\n" }]
|
|
238
238
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { bannerIcon: [{
|
|
239
239
|
type: ContentChild,
|
|
240
240
|
args: [IgxIconComponent]
|
|
@@ -263,4 +263,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
|
|
|
263
263
|
type: ContentChild,
|
|
264
264
|
args: [IgxBannerActionsDirective]
|
|
265
265
|
}] } });
|
|
266
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3ZDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRTFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQVloRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFPSCxNQUFNLE9BQU8sa0JBQWtCO0lBK0QzQixjQUFjO0lBQ2QsSUFBVyxrQkFBa0I7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILElBQVcsaUJBQWlCLENBQUMsUUFBaUM7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUNXLGlCQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDO0lBQ3RHLENBQUM7SUFFRzs7Ozs7R0FLRDtJQUVILElBQ1csZUFBZSxDQUFDLEtBQTZCO1FBQ3BELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQztTQUN4RTtRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFDRDs7Ozs7O09BTUc7SUFDSCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFLRDs7T0FFRztJQUNILElBQ1csWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3pDLENBQUM7SUFZRCxZQUFtQixVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQWhKdEQ7Ozs7Ozs7Ozs7V0FVRztRQUVJLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUVwRDs7Ozs7Ozs7OztXQVVHO1FBRUksWUFBTyxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBRTNEOzs7Ozs7Ozs7O1dBVUc7UUFFSSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFFcEQ7Ozs7Ozs7Ozs7V0FVRztRQUVJLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQXNFcEQsYUFBUSxHQUFHLGlCQUFpQixDQUFDO0lBb0JzQixDQUFDO0lBRTNEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxJQUFJLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQ3hELE1BQU0sV0FBVyxHQUEwQjtZQUN2QyxNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSztZQUNMLE1BQU0sRUFBRSxLQUFLO1NBQ2hCLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxLQUFLLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQ3hELE1BQU0sV0FBVyxHQUEwQjtZQUN2QyxNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSztZQUNMLE1BQU0sRUFBRSxLQUFLO1NBQ2hCLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxNQUFNLENBQUMsS0FBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ1Asb0JBQW9CO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsY0FBYztJQUNQLHFCQUFxQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0FqUFEsa0JBQWtCO2tHQUFsQixrQkFBa0IseVhBSWIsZ0JBQWdCLHdGQTRJaEIseUJBQXlCLGlMQzFNM0MsaXdDQXlCQSw0Q0QrQmUsMEJBQTBCLGdPQUFFLDhCQUE4Qiw4R0FBRSxJQUFJLDZGQUFFLGtCQUFrQix3TUFBRSxrQkFBa0I7OzJGQUUxRyxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksWUFBWSxjQUVWLElBQUksV0FDUCxDQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBRTtpR0FPOUcsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBZXZCLE1BQU07c0JBRFosTUFBTTtnQkFlQSxPQUFPO3NCQURiLE1BQU07Z0JBZUEsTUFBTTtzQkFEWixNQUFNO2dCQWVBLE9BQU87c0JBRGIsTUFBTTtnQkEyQkksaUJBQWlCO3NCQUQzQixLQUFLO2dCQWFLLGVBQWU7c0JBRHpCLEtBQUs7Z0JBaUNDLFFBQVE7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQU9ULFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsZUFBZTtnQkFNcEIsZUFBZTtzQkFEdEIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXJDLHFCQUFxQjtzQkFENUIsWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWd4SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVRvZ2dsZVZpZXcgfSBmcm9tICcuLi9jb3JlL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgSWd4QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hSaXBwbGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JpcHBsZS9yaXBwbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneEJhbm5lckFjdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2Jhbm5lci5kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2FuY2VsYWJsZUV2ZW50QXJncywgSUJhc2VFdmVudEFyZ3MgfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IFRvZ2dsZUFuaW1hdGlvblNldHRpbmdzIH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsL3RvZ2dsZS1hbmltYXRpb24tY29tcG9uZW50JztcbmltcG9ydCB7IElneEV4cGFuc2lvblBhbmVsQm9keUNvbXBvbmVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwtYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4RXhwYW5zaW9uUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQmFubmVyUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vY29yZS9pMThuL2Jhbm5lci1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgQ3VycmVudFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4uL2NvcmUvaTE4bi9yZXNvdXJjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lckV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBpbiAxMi4xLjAuIFRvIGdldCBhIHJlZmVyZW5jZSB0byB0aGUgYmFubmVyLCB1c2UgYG93bmVyYCBpbnN0ZWFkXG4gICAgICovXG4gICAgYmFubmVyOiBJZ3hCYW5uZXJDb21wb25lbnQ7XG4gICAgZXZlbnQ/OiBFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYW5uZXJDYW5jZWxFdmVudEFyZ3MgZXh0ZW5kcyBCYW5uZXJFdmVudEFyZ3MsIENhbmNlbGFibGVFdmVudEFyZ3Mge1xufVxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBCYW5uZXIqKiAtXG4gKiBbRG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cuaW5mcmFnaXN0aWNzLmNvbS9wcm9kdWN0cy9pZ25pdGUtdWktYW5ndWxhci9hbmd1bGFyL2NvbXBvbmVudHMvYmFubmVyLmh0bWwpXG4gKlxuICogVGhlIElnbml0ZSBVSSBCYW5uZXIgcHJvdmlkZXMgYSBoaWdobHkgdGVtcGxhdGUtYWJsZSBhbmQgZWFzeSB0byB1c2UgYmFubmVyIHRoYXQgY2FuIGJlIHNob3duIGluIHlvdXIgYXBwbGljYXRpb24uXG4gKlxuICogVXNhZ2U6XG4gKlxuICogYGBgaHRtbFxuICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAqICAgT3VyIHByaXZhY3kgc2V0dGluZ3MgaGF2ZSBjaGFuZ2VkLlxuICogIDxpZ3gtYmFubmVyLWFjdGlvbnM+XG4gKiAgICAgIDxidXR0b24gaWd4QnV0dG9uPVwicmFpc2VkXCI+UmVhZCBNb3JlPC9idXR0b24+XG4gKiAgICAgIDxidXR0b24gaWd4QnV0dG9uPVwicmFpc2VkXCI+QWNjZXB0IGFuZCBDb250aW51ZTwvYnV0dG9uPlxuICogIDwvaWd4LWJhbm5lci1hY3Rpb25zPlxuICogPC9pZ3gtYmFubmVyPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICdiYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogWyBJZ3hFeHBhbnNpb25QYW5lbENvbXBvbmVudCwgSWd4RXhwYW5zaW9uUGFuZWxCb2R5Q29tcG9uZW50LCBOZ0lmLCBJZ3hCdXR0b25EaXJlY3RpdmUsIElneFJpcHBsZURpcmVjdGl2ZSBdXG59KVxuZXhwb3J0IGNsYXNzIElneEJhbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIElUb2dnbGVWaWV3IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChJZ3hJY29uQ29tcG9uZW50KVxuICAgIHB1YmxpYyBiYW5uZXJJY29uOiBJZ3hJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogRmlyZXMgYWZ0ZXIgdGhlIGJhbm5lciBzaG93cyB1cFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBwdWJsaWMgaGFuZGxlT3BlbmVkKGV2ZW50KSB7XG4gICAgICogIC4uLlxuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgKG9wZW5lZCk9XCJoYW5kbGVPcGVuZWQoJGV2ZW50KVwiPjwvaWd4LWJhbm5lcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxCYW5uZXJFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlcyBiZWZvcmUgdGhlIGJhbm5lciBzaG93cyB1cFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBwdWJsaWMgaGFuZGxlT3BlbmluZyhldmVudCkge1xuICAgICAqICAuLi5cbiAgICAgKiB9XG4gICAgICogYGBgXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtYmFubmVyIChvcGVuaW5nKT1cImhhbmRsZU9wZW5pbmcoJGV2ZW50KVwiPjwvaWd4LWJhbm5lcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb3BlbmluZyA9IG5ldyBFdmVudEVtaXR0ZXI8QmFubmVyQ2FuY2VsRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqXG4gICAgICogRmlyZXMgYWZ0ZXIgdGhlIGJhbm5lciBoaWRlc1xuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBwdWJsaWMgaGFuZGxlQ2xvc2VkKGV2ZW50KSB7XG4gICAgICogIC4uLlxuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgKGNsb3NlZCk9XCJoYW5kbGVDbG9zZWQoJGV2ZW50KVwiPjwvaWd4LWJhbm5lcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxCYW5uZXJFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlcyBiZWZvcmUgdGhlIGJhbm5lciBoaWRlc1xuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBwdWJsaWMgaGFuZGxlQ2xvc2luZyhldmVudCkge1xuICAgICAqICAuLi5cbiAgICAgKiB9XG4gICAgICogYGBgXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtYmFubmVyIChjbG9zaW5nKT1cImhhbmRsZUNsb3NpbmcoJGV2ZW50KVwiPjwvaWd4LWJhbm5lcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xvc2luZyA9IG5ldyBFdmVudEVtaXR0ZXI8QmFubmVyQ2FuY2VsRXZlbnRBcmdzPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgZ2V0IHVzZURlZmF1bHRUZW1wbGF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLl9iYW5uZXJBY3Rpb25UZW1wbGF0ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGFuaW1hdGlvbiBzZXR0aW5ncyB1c2VkIGJ5IHRoZSBiYW5uZXIgb3Blbi9jbG9zZSBtZXRob2RzXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGltcG9ydCB7IHNsaWRlSW5MZWZ0LCBzbGlkZU91dFJpZ2h0IH0gZnJvbSAnaWduaXRldWktYW5ndWxhcic7XG4gICAgICogLi4uXG4gICAgICogYmFubmVyLmFuaW1hdGlvblNldHRpbmdzOiBUb2dnbGVBbmltYXRpb25TZXR0aW5ncyA9IHsgb3BlbkFuaW1hdGlvbjogc2xpZGVJbkxlZnQsIGNsb3NlQW5pbWF0aW9uOiBzbGlkZU91dFJpZ2h0IH07XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHNldCBhbmltYXRpb25TZXR0aW5ncyhzZXR0aW5nczogVG9nZ2xlQW5pbWF0aW9uU2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5fYW5pbWF0aW9uU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGFuaW1hdGlvbiBzZXR0aW5ncyB1c2VkIGJ5IHRoZSBiYW5uZXIgb3Blbi9jbG9zZSBtZXRob2RzXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGxldCBjdXJyZW50QW5pbWF0aW9uczogVG9nZ2xlQW5pbWF0aW9uU2V0dGluZ3MgPSBiYW5uZXIuYW5pbWF0aW9uU2V0dGluZ3NcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgYW5pbWF0aW9uU2V0dGluZ3MoKTogVG9nZ2xlQW5pbWF0aW9uU2V0dGluZ3Mge1xuICAgICAgICByZXR1cm4gdGhpcy5fYW5pbWF0aW9uU2V0dGluZ3MgPyB0aGlzLl9hbmltYXRpb25TZXR0aW5ncyA6IHRoaXMuX2V4cGFuc2lvblBhbmVsLmFuaW1hdGlvblNldHRpbmdzO1xuICAgIH1cblxuICAgICAgICAvKipcbiAgICAgKiBHZXRzL1NldHMgdGhlIHJlc291cmNlIHN0cmluZ3MuXG4gICAgICpcbiAgICAgKiBAcmVtYXJrc1xuICAgICAqIEJ5IGRlZmF1bHQgaXQgdXNlcyBFTiByZXNvdXJjZXMuXG4gICAgICovXG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcmVzb3VyY2VTdHJpbmdzKHZhbHVlOiBJQmFubmVyUmVzb3VyY2VTdHJpbmdzKSB7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlU3RyaW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3Jlc291cmNlU3RyaW5ncywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVzb3VyY2VTdHJpbmdzKCk6IElCYW5uZXJSZXNvdXJjZVN0cmluZ3Mge1xuICAgICAgICBpZiAoIXRoaXMuX3Jlc291cmNlU3RyaW5ncykge1xuICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2VTdHJpbmdzID0gQ3VycmVudFJlc291cmNlU3RyaW5ncy5CYW5uZXJSZXNvdXJjZVN0cmluZ3M7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlU3RyaW5ncztcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyB3aGV0aGVyIGJhbm5lciBpcyBjb2xsYXBzZWRcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGJhbm5lci5jb2xsYXBzZWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGdldCBjb2xsYXBzZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbnNpb25QYW5lbC5jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbmF0aXZlIGVsZW1lbnQgb2YgdGhlIGJhbm5lciBjb21wb25lbnRcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIGNvbnN0IG15QmFubmVyRWxlbWVudDogSFRNTEVsZW1lbnQgPSBiYW5uZXIuZWxlbWVudDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LWJhbm5lci1ob3N0JztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKVxuICAgIHB1YmxpYyBnZXQgZGlzcGxheVN0eWxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbGxhcHNlZCA/ICcnIDogJ2Jsb2NrJztcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdleHBhbnNpb25QYW5lbCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSBfZXhwYW5zaW9uUGFuZWw6IElneEV4cGFuc2lvblBhbmVsQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChJZ3hCYW5uZXJBY3Rpb25zRGlyZWN0aXZlKVxuICAgIHByaXZhdGUgX2Jhbm5lckFjdGlvblRlbXBsYXRlOiBJZ3hCYW5uZXJBY3Rpb25zRGlyZWN0aXZlO1xuXG4gICAgcHJpdmF0ZSBfYmFubmVyRXZlbnQ6IEJhbm5lckV2ZW50QXJncztcbiAgICBwcml2YXRlIF9hbmltYXRpb25TZXR0aW5nczogVG9nZ2xlQW5pbWF0aW9uU2V0dGluZ3M7XG4gICAgcHJpdmF0ZSBfcmVzb3VyY2VTdHJpbmdzO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7IH1cblxuICAgIC8qKlxuICAgICAqIE9wZW5zIHRoZSBiYW5uZXJcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgbXlCYW5uZXIub3BlbigpO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtYmFubmVyICNiYW5uZXI+XG4gICAgICogLi4uXG4gICAgICogPC9pZ3gtYmFubmVyPlxuICAgICAqIDxidXR0b24gKGNsaWNrKT1cImJhbm5lci5vcGVuKClcIj5PcGVuIEJhbm5lcjwvYnV0dG9uPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5fYmFubmVyRXZlbnQgPSB7IGJhbm5lcjogdGhpcywgb3duZXI6IHRoaXMsIGV2ZW50fTtcbiAgICAgICAgY29uc3Qgb3BlbmluZ0FyZ3M6IEJhbm5lckNhbmNlbEV2ZW50QXJncyA9IHtcbiAgICAgICAgICAgIGJhbm5lcjogdGhpcyxcbiAgICAgICAgICAgIG93bmVyOiB0aGlzLFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICBjYW5jZWw6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMub3BlbmluZy5lbWl0KG9wZW5pbmdBcmdzKTtcbiAgICAgICAgaWYgKG9wZW5pbmdBcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2V4cGFuc2lvblBhbmVsLm9wZW4oZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgYmFubmVyXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIG15QmFubmVyLmNsb3NlKCk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAgICAgKiAuLi5cbiAgICAgKiA8L2lneC1iYW5uZXI+XG4gICAgICogPGJ1dHRvbiAoY2xpY2spPVwiYmFubmVyLmNsb3NlKClcIj5DbG9zZSBCYW5uZXI8L2J1dHRvbj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2UoZXZlbnQ/OiBFdmVudCkge1xuICAgICAgICB0aGlzLl9iYW5uZXJFdmVudCA9IHsgYmFubmVyOiB0aGlzLCBvd25lcjogdGhpcywgZXZlbnR9O1xuICAgICAgICBjb25zdCBjbG9zaW5nQXJnczogQmFubmVyQ2FuY2VsRXZlbnRBcmdzID0ge1xuICAgICAgICAgICAgYmFubmVyOiB0aGlzLFxuICAgICAgICAgICAgb3duZXI6IHRoaXMsXG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIGNhbmNlbDogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jbG9zaW5nLmVtaXQoY2xvc2luZ0FyZ3MpO1xuICAgICAgICBpZiAoY2xvc2luZ0FyZ3MuY2FuY2VsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZXhwYW5zaW9uUGFuZWwuY2xvc2UoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgdGhlIGJhbm5lclxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICBteUJhbm5lci50b2dnbGUoKTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWJhbm5lciAjYmFubmVyPlxuICAgICAqIC4uLlxuICAgICAqIDwvaWd4LWJhbm5lcj5cbiAgICAgKiA8YnV0dG9uIChjbGljayk9XCJiYW5uZXIudG9nZ2xlKClcIj5Ub2dnbGUgQmFubmVyPC9idXR0b24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZShldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbGxhcHNlZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuKGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgb25FeHBhbnNpb25QYW5lbE9wZW4oKSB7XG4gICAgICAgIHRoaXMub3BlbmVkLmVtaXQodGhpcy5fYmFubmVyRXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIG9uRXhwYW5zaW9uUGFuZWxDbG9zZSgpIHtcbiAgICAgICAgdGhpcy5jbG9zZWQuZW1pdCh0aGlzLl9iYW5uZXJFdmVudCk7XG4gICAgfVxufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuXG4iLCI8aWd4LWV4cGFuc2lvbi1wYW5lbCAjZXhwYW5zaW9uUGFuZWwgW2FuaW1hdGlvblNldHRpbmdzXT1cImFuaW1hdGlvblNldHRpbmdzXCIgKGNvbnRlbnRDb2xsYXBzZWQpPVwib25FeHBhbnNpb25QYW5lbENsb3NlKClcIiAoY29udGVudEV4cGFuZGVkKT1cIm9uRXhwYW5zaW9uUGFuZWxPcGVuKClcIlxuICAgIFtjb2xsYXBzZWRdPVwiY29sbGFwc2VkXCIgYXJpYS1saXZlPVwicG9saXRlXCIgW2F0dHIuYXJpYS1oaWRkZW5dPVwiY29sbGFwc2VkXCI+XG4gICAgPGlneC1leHBhbnNpb24tcGFuZWwtYm9keT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlneC1iYW5uZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpZ3gtYmFubmVyX19tZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImJhbm5lckljb25cIiBjbGFzcz1cImlneC1iYW5uZXJfX2lsbHVzdHJhdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpZ3gtaWNvblwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlneC1iYW5uZXJfX3RleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlneC1iYW5uZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlRGVmYXVsdFRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gaWd4QnV0dG9uPVwiZmxhdFwiIGlneFJpcHBsZSAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgcmVzb3VyY2VTdHJpbmdzLmlneF9iYW5uZXJfYnV0dG9uX2Rpc21pc3MgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF1c2VEZWZhdWx0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaWd4LWJhbm5lci1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvaWd4LWV4cGFuc2lvbi1wYW5lbC1ib2R5PlxuPC9pZ3gtZXhwYW5zaW9uLXBhbmVsPlxuIl19
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9iYW5uZXIvYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3ZDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRTFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQVloRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFPSCxNQUFNLE9BQU8sa0JBQWtCO0lBK0QzQixjQUFjO0lBQ2QsSUFBVyxrQkFBa0I7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILElBQVcsaUJBQWlCLENBQUMsUUFBaUM7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUNXLGlCQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDO0lBQ3RHLENBQUM7SUFFRzs7Ozs7R0FLRDtJQUVILElBQ1csZUFBZSxDQUFDLEtBQTZCO1FBQ3BELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQztTQUN4RTtRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFDRDs7Ozs7O09BTUc7SUFDSCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFLRDs7T0FFRztJQUNILElBQ1csWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3pDLENBQUM7SUFZRCxZQUFtQixVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQWhKdEQ7Ozs7Ozs7Ozs7V0FVRztRQUVJLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUVwRDs7Ozs7Ozs7OztXQVVHO1FBRUksWUFBTyxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBRTNEOzs7Ozs7Ozs7O1dBVUc7UUFFSSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFFcEQ7Ozs7Ozs7Ozs7V0FVRztRQUVJLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQXNFcEQsYUFBUSxHQUFHLGlCQUFpQixDQUFDO0lBb0JzQixDQUFDO0lBRTNEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxJQUFJLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQ3hELE1BQU0sV0FBVyxHQUEwQjtZQUN2QyxNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSztZQUNMLE1BQU0sRUFBRSxLQUFLO1NBQ2hCLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxLQUFLLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQ3hELE1BQU0sV0FBVyxHQUEwQjtZQUN2QyxNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSztZQUNMLE1BQU0sRUFBRSxLQUFLO1NBQ2hCLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxNQUFNLENBQUMsS0FBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ1Asb0JBQW9CO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsY0FBYztJQUNQLHFCQUFxQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0FqUFEsa0JBQWtCO2tHQUFsQixrQkFBa0IseVhBSWIsZ0JBQWdCLHdGQTRJaEIseUJBQXlCLGlMQzFNM0MsaXhDQXlCQSw0Q0QrQmUsMEJBQTBCLGdPQUFFLDhCQUE4Qiw4R0FBRSxJQUFJLDZGQUFFLGtCQUFrQix3TUFBRSxrQkFBa0I7OzJGQUUxRyxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksWUFBWSxjQUVWLElBQUksV0FDUCxDQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBRTtpR0FPOUcsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBZXZCLE1BQU07c0JBRFosTUFBTTtnQkFlQSxPQUFPO3NCQURiLE1BQU07Z0JBZUEsTUFBTTtzQkFEWixNQUFNO2dCQWVBLE9BQU87c0JBRGIsTUFBTTtnQkEyQkksaUJBQWlCO3NCQUQzQixLQUFLO2dCQWFLLGVBQWU7c0JBRHpCLEtBQUs7Z0JBaUNDLFFBQVE7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQU9ULFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsZUFBZTtnQkFNcEIsZUFBZTtzQkFEdEIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXJDLHFCQUFxQjtzQkFENUIsWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWd4SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVRvZ2dsZVZpZXcgfSBmcm9tICcuLi9jb3JlL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgSWd4QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJZ3hSaXBwbGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JpcHBsZS9yaXBwbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IElneEJhbm5lckFjdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2Jhbm5lci5kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2FuY2VsYWJsZUV2ZW50QXJncywgSUJhc2VFdmVudEFyZ3MgfSBmcm9tICcuLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IFRvZ2dsZUFuaW1hdGlvblNldHRpbmdzIH0gZnJvbSAnLi4vZXhwYW5zaW9uLXBhbmVsL3RvZ2dsZS1hbmltYXRpb24tY29tcG9uZW50JztcbmltcG9ydCB7IElneEV4cGFuc2lvblBhbmVsQm9keUNvbXBvbmVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwtYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWd4RXhwYW5zaW9uUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQmFubmVyUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vY29yZS9pMThuL2Jhbm5lci1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgQ3VycmVudFJlc291cmNlU3RyaW5ncyB9IGZyb20gJy4uL2NvcmUvaTE4bi9yZXNvdXJjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhbm5lckV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBpbiAxMi4xLjAuIFRvIGdldCBhIHJlZmVyZW5jZSB0byB0aGUgYmFubmVyLCB1c2UgYG93bmVyYCBpbnN0ZWFkXG4gICAgICovXG4gICAgYmFubmVyOiBJZ3hCYW5uZXJDb21wb25lbnQ7XG4gICAgZXZlbnQ/OiBFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYW5uZXJDYW5jZWxFdmVudEFyZ3MgZXh0ZW5kcyBCYW5uZXJFdmVudEFyZ3MsIENhbmNlbGFibGVFdmVudEFyZ3Mge1xufVxuLyoqXG4gKiAqKklnbml0ZSBVSSBmb3IgQW5ndWxhciBCYW5uZXIqKiAtXG4gKiBbRG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cuaW5mcmFnaXN0aWNzLmNvbS9wcm9kdWN0cy9pZ25pdGUtdWktYW5ndWxhci9hbmd1bGFyL2NvbXBvbmVudHMvYmFubmVyLmh0bWwpXG4gKlxuICogVGhlIElnbml0ZSBVSSBCYW5uZXIgcHJvdmlkZXMgYSBoaWdobHkgdGVtcGxhdGUtYWJsZSBhbmQgZWFzeSB0byB1c2UgYmFubmVyIHRoYXQgY2FuIGJlIHNob3duIGluIHlvdXIgYXBwbGljYXRpb24uXG4gKlxuICogVXNhZ2U6XG4gKlxuICogYGBgaHRtbFxuICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAqICAgT3VyIHByaXZhY3kgc2V0dGluZ3MgaGF2ZSBjaGFuZ2VkLlxuICogIDxpZ3gtYmFubmVyLWFjdGlvbnM+XG4gKiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlneEJ1dHRvbj1cInJhaXNlZFwiPlJlYWQgTW9yZTwvYnV0dG9uPlxuICogICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZ3hCdXR0b249XCJyYWlzZWRcIj5BY2NlcHQgYW5kIENvbnRpbnVlPC9idXR0b24+XG4gKiAgPC9pZ3gtYmFubmVyLWFjdGlvbnM+XG4gKiA8L2lneC1iYW5uZXI+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtYmFubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2Jhbm5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbIElneEV4cGFuc2lvblBhbmVsQ29tcG9uZW50LCBJZ3hFeHBhbnNpb25QYW5lbEJvZHlDb21wb25lbnQsIE5nSWYsIElneEJ1dHRvbkRpcmVjdGl2ZSwgSWd4UmlwcGxlRGlyZWN0aXZlIF1cbn0pXG5leHBvcnQgY2xhc3MgSWd4QmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgSVRvZ2dsZVZpZXcge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKElneEljb25Db21wb25lbnQpXG4gICAgcHVibGljIGJhbm5lckljb246IElneEljb25Db21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlcyBhZnRlciB0aGUgYmFubmVyIHNob3dzIHVwXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHB1YmxpYyBoYW5kbGVPcGVuZWQoZXZlbnQpIHtcbiAgICAgKiAgLi4uXG4gICAgICogfVxuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWJhbm5lciAob3BlbmVkKT1cImhhbmRsZU9wZW5lZCgkZXZlbnQpXCI+PC9pZ3gtYmFubmVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJhbm5lckV2ZW50QXJncz4oKTtcblxuICAgIC8qKlxuICAgICAqIEZpcmVzIGJlZm9yZSB0aGUgYmFubmVyIHNob3dzIHVwXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHB1YmxpYyBoYW5kbGVPcGVuaW5nKGV2ZW50KSB7XG4gICAgICogIC4uLlxuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgKG9wZW5pbmcpPVwiaGFuZGxlT3BlbmluZygkZXZlbnQpXCI+PC9pZ3gtYmFubmVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvcGVuaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxCYW5uZXJDYW5jZWxFdmVudEFyZ3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlcyBhZnRlciB0aGUgYmFubmVyIGhpZGVzXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHB1YmxpYyBoYW5kbGVDbG9zZWQoZXZlbnQpIHtcbiAgICAgKiAgLi4uXG4gICAgICogfVxuICAgICAqIGBgYFxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWJhbm5lciAoY2xvc2VkKT1cImhhbmRsZUNsb3NlZCgkZXZlbnQpXCI+PC9pZ3gtYmFubmVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJhbm5lckV2ZW50QXJncz4oKTtcblxuICAgIC8qKlxuICAgICAqIEZpcmVzIGJlZm9yZSB0aGUgYmFubmVyIGhpZGVzXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIHB1YmxpYyBoYW5kbGVDbG9zaW5nKGV2ZW50KSB7XG4gICAgICogIC4uLlxuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgKGNsb3NpbmcpPVwiaGFuZGxlQ2xvc2luZygkZXZlbnQpXCI+PC9pZ3gtYmFubmVyPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjbG9zaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxCYW5uZXJDYW5jZWxFdmVudEFyZ3M+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyBnZXQgdXNlRGVmYXVsdFRlbXBsYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuX2Jhbm5lckFjdGlvblRlbXBsYXRlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgYW5pbWF0aW9uIHNldHRpbmdzIHVzZWQgYnkgdGhlIGJhbm5lciBvcGVuL2Nsb3NlIG1ldGhvZHNcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogaW1wb3J0IHsgc2xpZGVJbkxlZnQsIHNsaWRlT3V0UmlnaHQgfSBmcm9tICdpZ25pdGV1aS1hbmd1bGFyJztcbiAgICAgKiAuLi5cbiAgICAgKiBiYW5uZXIuYW5pbWF0aW9uU2V0dGluZ3M6IFRvZ2dsZUFuaW1hdGlvblNldHRpbmdzID0geyBvcGVuQW5pbWF0aW9uOiBzbGlkZUluTGVmdCwgY2xvc2VBbmltYXRpb246IHNsaWRlT3V0UmlnaHQgfTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0IGFuaW1hdGlvblNldHRpbmdzKHNldHRpbmdzOiBUb2dnbGVBbmltYXRpb25TZXR0aW5ncykge1xuICAgICAgICB0aGlzLl9hbmltYXRpb25TZXR0aW5ncyA9IHNldHRpbmdzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgYW5pbWF0aW9uIHNldHRpbmdzIHVzZWQgYnkgdGhlIGJhbm5lciBvcGVuL2Nsb3NlIG1ldGhvZHNcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGN1cnJlbnRBbmltYXRpb25zOiBUb2dnbGVBbmltYXRpb25TZXR0aW5ncyA9IGJhbm5lci5hbmltYXRpb25TZXR0aW5nc1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBhbmltYXRpb25TZXR0aW5ncygpOiBUb2dnbGVBbmltYXRpb25TZXR0aW5ncyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hbmltYXRpb25TZXR0aW5ncyA/IHRoaXMuX2FuaW1hdGlvblNldHRpbmdzIDogdGhpcy5fZXhwYW5zaW9uUGFuZWwuYW5pbWF0aW9uU2V0dGluZ3M7XG4gICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAqIEdldHMvU2V0cyB0aGUgcmVzb3VyY2Ugc3RyaW5ncy5cbiAgICAgKlxuICAgICAqIEByZW1hcmtzXG4gICAgICogQnkgZGVmYXVsdCBpdCB1c2VzIEVOIHJlc291cmNlcy5cbiAgICAgKi9cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCByZXNvdXJjZVN0cmluZ3ModmFsdWU6IElCYW5uZXJSZXNvdXJjZVN0cmluZ3MpIHtcbiAgICAgICAgdGhpcy5fcmVzb3VyY2VTdHJpbmdzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fcmVzb3VyY2VTdHJpbmdzLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXNvdXJjZVN0cmluZ3MoKTogSUJhbm5lclJlc291cmNlU3RyaW5ncyB7XG4gICAgICAgIGlmICghdGhpcy5fcmVzb3VyY2VTdHJpbmdzKSB7XG4gICAgICAgICAgICB0aGlzLl9yZXNvdXJjZVN0cmluZ3MgPSBDdXJyZW50UmVzb3VyY2VTdHJpbmdzLkJhbm5lclJlc291cmNlU3RyaW5ncztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VTdHJpbmdzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXRzIHdoZXRoZXIgYmFubmVyIGlzIGNvbGxhcHNlZFxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IGlzQ29sbGFwc2VkOiBib29sZWFuID0gYmFubmVyLmNvbGxhcHNlZDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGNvbGxhcHNlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuc2lvblBhbmVsLmNvbGxhcHNlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBuYXRpdmUgZWxlbWVudCBvZiB0aGUgYmFubmVyIGNvbXBvbmVudFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgY29uc3QgbXlCYW5uZXJFbGVtZW50OiBIVE1MRWxlbWVudCA9IGJhbm5lci5lbGVtZW50O1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtYmFubmVyLWhvc3QnO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpXG4gICAgcHVibGljIGdldCBkaXNwbGF5U3R5bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGFwc2VkID8gJycgOiAnYmxvY2snO1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGQoJ2V4cGFuc2lvblBhbmVsJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwcml2YXRlIF9leHBhbnNpb25QYW5lbDogSWd4RXhwYW5zaW9uUGFuZWxDb21wb25lbnQ7XG5cbiAgICBAQ29udGVudENoaWxkKElneEJhbm5lckFjdGlvbnNEaXJlY3RpdmUpXG4gICAgcHJpdmF0ZSBfYmFubmVyQWN0aW9uVGVtcGxhdGU6IElneEJhbm5lckFjdGlvbnNEaXJlY3RpdmU7XG5cbiAgICBwcml2YXRlIF9iYW5uZXJFdmVudDogQmFubmVyRXZlbnRBcmdzO1xuICAgIHByaXZhdGUgX2FuaW1hdGlvblNldHRpbmdzOiBUb2dnbGVBbmltYXRpb25TZXR0aW5ncztcbiAgICBwcml2YXRlIF9yZXNvdXJjZVN0cmluZ3M7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbnMgdGhlIGJhbm5lclxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqICBteUJhbm5lci5vcGVuKCk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAgICAgKiAuLi5cbiAgICAgKiA8L2lneC1iYW5uZXI+XG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImJhbm5lci5vcGVuKClcIj5PcGVuIEJhbm5lcjwvYnV0dG9uPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuKGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5fYmFubmVyRXZlbnQgPSB7IGJhbm5lcjogdGhpcywgb3duZXI6IHRoaXMsIGV2ZW50fTtcbiAgICAgICAgY29uc3Qgb3BlbmluZ0FyZ3M6IEJhbm5lckNhbmNlbEV2ZW50QXJncyA9IHtcbiAgICAgICAgICAgIGJhbm5lcjogdGhpcyxcbiAgICAgICAgICAgIG93bmVyOiB0aGlzLFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICBjYW5jZWw6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMub3BlbmluZy5lbWl0KG9wZW5pbmdBcmdzKTtcbiAgICAgICAgaWYgKG9wZW5pbmdBcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2V4cGFuc2lvblBhbmVsLm9wZW4oZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgYmFubmVyXG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogIG15QmFubmVyLmNsb3NlKCk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAgICAgKiAuLi5cbiAgICAgKiA8L2lneC1iYW5uZXI+XG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImJhbm5lci5jbG9zZSgpXCI+Q2xvc2UgQmFubmVyPC9idXR0b24+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlKGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5fYmFubmVyRXZlbnQgPSB7IGJhbm5lcjogdGhpcywgb3duZXI6IHRoaXMsIGV2ZW50fTtcbiAgICAgICAgY29uc3QgY2xvc2luZ0FyZ3M6IEJhbm5lckNhbmNlbEV2ZW50QXJncyA9IHtcbiAgICAgICAgICAgIGJhbm5lcjogdGhpcyxcbiAgICAgICAgICAgIG93bmVyOiB0aGlzLFxuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICBjYW5jZWw6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2xvc2luZy5lbWl0KGNsb3NpbmdBcmdzKTtcbiAgICAgICAgaWYgKGNsb3NpbmdBcmdzLmNhbmNlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2V4cGFuc2lvblBhbmVsLmNsb3NlKGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIHRoZSBiYW5uZXJcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiAgbXlCYW5uZXIudG9nZ2xlKCk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1iYW5uZXIgI2Jhbm5lcj5cbiAgICAgKiAuLi5cbiAgICAgKiA8L2lneC1iYW5uZXI+XG4gICAgICogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImJhbm5lci50b2dnbGUoKVwiPlRvZ2dsZSBCYW5uZXI8L2J1dHRvbj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgdG9nZ2xlKGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oZXZlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZShldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyBvbkV4cGFuc2lvblBhbmVsT3BlbigpIHtcbiAgICAgICAgdGhpcy5vcGVuZWQuZW1pdCh0aGlzLl9iYW5uZXJFdmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwdWJsaWMgb25FeHBhbnNpb25QYW5lbENsb3NlKCkge1xuICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KHRoaXMuX2Jhbm5lckV2ZW50KTtcbiAgICB9XG59XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5cbiIsIjxpZ3gtZXhwYW5zaW9uLXBhbmVsICNleHBhbnNpb25QYW5lbCBbYW5pbWF0aW9uU2V0dGluZ3NdPVwiYW5pbWF0aW9uU2V0dGluZ3NcIiAoY29udGVudENvbGxhcHNlZCk9XCJvbkV4cGFuc2lvblBhbmVsQ2xvc2UoKVwiIChjb250ZW50RXhwYW5kZWQpPVwib25FeHBhbnNpb25QYW5lbE9wZW4oKVwiXG4gICAgW2NvbGxhcHNlZF09XCJjb2xsYXBzZWRcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJjb2xsYXBzZWRcIj5cbiAgICA8aWd4LWV4cGFuc2lvbi1wYW5lbC1ib2R5PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWd4LWJhbm5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlneC1iYW5uZXJfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYmFubmVySWNvblwiIGNsYXNzPVwiaWd4LWJhbm5lcl9faWxsdXN0cmF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImlneC1pY29uXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWd4LWJhbm5lcl9fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWd4LWJhbm5lcl9fYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VEZWZhdWx0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWd4QnV0dG9uPVwiZmxhdFwiIGlneFJpcHBsZSAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgcmVzb3VyY2VTdHJpbmdzLmlneF9iYW5uZXJfYnV0dG9uX2Rpc21pc3MgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF1c2VEZWZhdWx0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaWd4LWJhbm5lci1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvaWd4LWV4cGFuc2lvbi1wYW5lbC1ib2R5PlxuPC9pZ3gtZXhwYW5zaW9uLXBhbmVsPlxuIl19
|
|
@@ -236,8 +236,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
|
|
|
236
236
|
* <h5 igxCardHeaderSubtitle>{{subtitle}}</h5>
|
|
237
237
|
* </igx-card-header>
|
|
238
238
|
* <igx-card-actions>
|
|
239
|
-
* <button igxButton igxRipple>Share</button>
|
|
240
|
-
* <button igxButton igxRipple>Play Album</button>
|
|
239
|
+
* <button type="button" igxButton igxRipple>Share</button>
|
|
240
|
+
* <button type="button" igxButton igxRipple>Play Album</button>
|
|
241
241
|
* </igx-card-actions>
|
|
242
242
|
* </igx-card>
|
|
243
243
|
* ```
|
|
@@ -427,4 +427,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImpor
|
|
|
427
427
|
}, {
|
|
428
428
|
type: Input
|
|
429
429
|
}] } });
|
|
430
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYXJkL2NhcmQtaGVhZGVyLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYXJkL2NhcmQtYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBSVIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNSSx3QkFBd0I7UUFFakIsYUFBUSxHQUFHLGlCQUFpQixDQUFDO1FBRXBDOzs7Ozs7OztXQVFHO1FBSUksVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUV0Qjs7Ozs7Ozs7V0FRRztRQUdJLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFFdkI7O1dBRUc7UUFHSSxTQUFJLEdBQUcsS0FBSyxDQUFDO0tBQ3ZCOzhHQXRDWSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJ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Ozs7Ozs7V0FVRztRQUdJLFdBQU0sR0FBa0Msb0JBQW9CLENBQUMsS0FBSyxDQUFDO1FBRTFFOzs7V0FHRztRQUdJLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFXeEI7Ozs7Ozs7OztXQVNHO1FBR0ksWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVmLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBRXFELENBQUM7SUFFcEY7OztPQUdHO0lBQ0ksV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxFQUFFO1lBQ3hCLElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7YUFDN0I7U0FDSjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDTCxDQUFDOzhHQXZFUSx1QkFBdUIsa0JBaURBLGdCQUFnQjtrR0FqRHZDLHVCQUF1QiwrWUdqU3BDLG1XQVNBOzsyRkh3UmEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUVJLGtCQUFrQixjQUVoQixJQUFJOzswQkFtREgsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7NENBbkN6QyxNQUFNO3NCQUZaLFdBQVc7dUJBQUMsd0JBQXdCOztzQkFDcEMsS0FBSztnQkFTQyxRQUFRO3NCQUZkLFdBQVc7dUJBQUMsa0NBQWtDOztzQkFDOUMsS0FBSztnQkFRSyxlQUFlO3NCQUR6QixXQUFXO3VCQUFDLGlDQUFpQztnQkFpQnZDLE9BQU87c0JBRmIsV0FBVzt1QkFBQyxpQ0FBaUM7O3NCQUM3QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9wdGlvbmFsLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IG1rZW51bSB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xuXG5sZXQgTkVYVF9JRCA9IDA7XG5cbi8qKlxuICogSWd4Q2FyZE1lZGlhIGlzIGNvbnRhaW5lciBmb3IgdGhlIGNhcmQgbWVkaWEgc2VjdGlvbi5cbiAqIFVzZSBpdCB0byB3cmFwIGltYWdlcyBhbmQgdmlkZW9zLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnaWd4LWNhcmQtbWVkaWEnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZE1lZGlhRGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkX19tZWRpYScpXG4gICAgcHVibGljIGNzc0NsYXNzID0gJ2lneC1jYXJkX19tZWRpYSc7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSBgd2lkdGhgIGFuZCBgbWluLXdpZHRoYCBzdHlsZSBwcm9wZXJ0eVxuICAgICAqIG9mIHRoZSBtZWRpYSBjb250YWluZXIuIElmIG5vdCBwcm92aWRlZCBpdCB3aWxsIGJlIHNldCB0byBgYXV0b2AuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQtbWVkaWEgd2lkdGg9XCIzMDBweFwiPjwvaWd4LWNhcmQtbWVkaWE+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4td2lkdGgnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHdpZHRoID0gJ2F1dG8nO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgYGhlaWdodGAgc3R5bGUgcHJvcGVydHkgb2YgdGhlIG1lZGlhIGNvbnRhaW5lci5cbiAgICAgKiBJZiBub3QgcHJvdmlkZWQgaXQgd2lsbCBiZSBzZXQgdG8gYGF1dG9gLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkLW1lZGlhIGhlaWdodD1cIjUwJVwiPjwvaWd4LWNhcmQtbWVkaWE+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlaWdodCA9ICdhdXRvJztcblxuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIGByb2xlYCBhdHRyaWJ1dGUgb2YgdGhlIG1lZGlhIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm9sZSA9ICdpbWcnO1xufVxuXG4vKipcbiAqIElneENhcmRIZWFkZXIgaXMgY29udGFpbmVyIGZvciB0aGUgY2FyZCBoZWFkZXJcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtY2FyZC1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FyZC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZEhlYWRlckNvbXBvbmVudCB7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1oZWFkZXInKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtY2FyZC1oZWFkZXInO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgbGF5b3V0IHN0eWxlIG9mIHRoZSBoZWFkZXIuXG4gICAgICogQnkgZGVmYXVsdCB0aGUgaGVhZGVyIGVsZW1lbnRzKHRodW1ibmFpbCBhbmQgdGl0bGUvc3VidGl0bGUpIGFyZSBhbGlnbmVkIGhvcml6b250YWxseS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZC1oZWFkZXIgW3ZlcnRpY2FsXT1cInRydWVcIj48L2lneC1jYXJkLWhlYWRlcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWhlYWRlci0tdmVydGljYWwnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZlcnRpY2FsID0gZmFsc2U7XG59XG5cbi8qKlxuICogSWd4Q2FyZFRodW1ibmFpbCBpcyBjb250YWluZXIgZm9yIHRoZSBjYXJkIHRodW1ibmFpbCBzZWN0aW9uLlxuICogVXNlIGl0IHRvIHdyYXAgYW55dGhpbmcgeW91IHdhbnQgdG8gYmUgdXNlZCBhcyBhIHRodW1ibmFpbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4Q2FyZFRodW1ibmFpbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZFRodW1ibmFpbERpcmVjdGl2ZSB7IH1cblxuLyoqXG4gKiBpZ3hDYXJkSGVhZGVyVGl0bGUgaXMgdXNlZCB0byBkZW5vdGUgdGhlIGhlYWRlciB0aXRsZSBpbiBhIGNhcmQuXG4gKiBVc2UgaXQgdG8gdGFnIHRleHQgbm9kZXMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneENhcmRIZWFkZXJUaXRsZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZEhlYWRlclRpdGxlRGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWhlYWRlcl9fdGl0bGUnKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtY2FyZF9faGVhZGVyX190aXRsZSc7XG59XG5cbi8qKlxuICogaWd4Q2FyZEhlYWRlclN1YnRpdGxlIGlzIHVzZWQgdG8gZGVub3RlIHRoZSBoZWFkZXIgc3VidGl0bGUgaW4gYSBjYXJkLlxuICogVXNlIGl0IHRvIHRhZyB0ZXh0IG5vZGVzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hDYXJkSGVhZGVyU3VidGl0bGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1oZWFkZXJfX3N1YnRpdGxlJylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LWNhcmQtaGVhZGVyX19zdWJ0aXRsZSc7XG59XG4vKipcbiAqIElneENhcmRDb250ZW50IGlzIGNvbnRhaW5lciBmb3IgdGhlIGNhcmQgY29udGVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLWNvbnRlbnQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZENvbnRlbnREaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtY29udGVudCcpXG4gICAgcHVibGljIGNzc0NsYXNzID0gJ2lneC1jYXJkLWNvbnRlbnQnO1xufVxuXG4vKipcbiAqIElneENhcmRGb290ZXIgaXMgY29udGFpbmVyIGZvciB0aGUgY2FyZCBmb290ZXJcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLWZvb3RlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hDYXJkRm9vdGVyRGlyZWN0aXZlIHtcbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgY2FyZCBmb290ZXIuXG4gICAgICogQnkgZGVmYXVsdCB0aGUgdmFsdWUgaXMgc2V0IHRvIGBmb290ZXJgLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkLWZvb3RlciByb2xlPVwiZm9vdGVyXCI+PC9pZ3gtY2FyZC1mb290ZXI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJvbGUgPSAnZm9vdGVyJztcbn1cblxuLyoqXG4gKiBDYXJkIHByb3ZpZGVzIGEgd2F5IHRvIGRpc3BsYXkgb3JnYW5pemVkIGNvbnRlbnQgaW4gYXBwZWFsaW5nIHdheS5cbiAqXG4gKiBAaWd4TW9kdWxlIElneENhcmRNb2R1bGVcbiAqXG4gKiBAaWd4VGhlbWUgaWd4LWNhcmQtdGhlbWUsIGlneC1pY29uLXRoZW1lLCBpZ3gtYnV0dG9uLXRoZW1lXG4gKlxuICogQGlneEtleXdvcmRzIGNhcmQsIGJ1dHRvbiwgYXZhdGFyLCBpY29uXG4gKlxuICogQGlneEdyb3VwIExheW91dHNcbiAqXG4gKiBAcmVtYXJrc1xuICogVGhlIElnbml0ZSBVSSBDYXJkIHNlcnZlcyBhcyBhIGNvbnRhaW5lciB0aGF0IGFsbG93cyBjdXN0b20gY29udGVudCB0byBiZSBvcmdhbml6ZWQgaW4gYW4gYXBwZWFsaW5nIHdheS4gVGhlcmUgYXJlXG4gKiBmaXZlIHNlY3Rpb25zIGluIGEgY2FyZCB0aGF0IHlvdSBjYW4gdXNlIHRvIG9yZ2FuaXplIHlvdXIgY29udGVudC4gVGhlc2UgYXJlIGhlYWRlciwgbWVkaWEsIGNvbnRlbnQsIGFjdGlvbnMsIGFuZCBmb290ZXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxpZ3gtY2FyZD5cbiAqICAgPGlneC1jYXJkLWhlYWRlcj5cbiAqICAgICA8aDMgaWd4Q2FyZEhlYWRlclRpdGxlPnt7dGl0bGV9fTwvaDM+XG4gKiAgICAgPGg1IGlneENhcmRIZWFkZXJTdWJ0aXRsZT57e3N1YnRpdGxlfX08L2g1PlxuICogICA8L2lneC1jYXJkLWhlYWRlcj5cbiAqICAgPGlneC1jYXJkLWFjdGlvbnM+XG4gKiAgICAgICA8YnV0dG9uIGlneEJ1dHRvbiBpZ3hSaXBwbGU+U2hhcmU8L2J1dHRvbj5cbiAqICAgICAgIDxidXR0b24gaWd4QnV0dG9uIGlneFJpcHBsZT5QbGF5IEFsYnVtPC9idXR0b24+XG4gKiAgIDwvaWd4LWNhcmQtYWN0aW9ucz5cbiAqIDwvaWd4LWNhcmQ+XG4gKiBgYGBcbiAqL1xuXG5leHBvcnQgY29uc3QgSWd4Q2FyZFR5cGUgPSBta2VudW0oe1xuICAgIEVMRVZBVEVEOiAnZWxldmF0ZWQnLFxuICAgIE9VVExJTkVEOiAnb3V0bGluZWQnXG59KTtcbmV4cG9ydCB0eXBlIElneENhcmRUeXBlID0gKHR5cGVvZiBJZ3hDYXJkVHlwZSlba2V5b2YgdHlwZW9mIElneENhcmRUeXBlXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICdjYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIFNldHMvZ2V0cyB0aGUgYGlkYCBvZiB0aGUgY2FyZC5cbiAgICAgKiBJZiBub3Qgc2V0LCBgaWRgIHdpbGwgaGF2ZSB2YWx1ZSBgXCJpZ3gtY2FyZC0wXCJgO1xuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkIGlkID0gXCJteS1maXJzdC1jYXJkXCI+PC9pZ3gtY2FyZD5cbiAgICAgKiBgYGBcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogbGV0IGNhcmRJZCA9ICB0aGlzLmNhcmQuaWQ7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBpZ3gtY2FyZC0ke05FWFRfSUQrK31gO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgdmFsdWUgb2YgdGhlIGByb2xlYCBhdHRyaWJ1dGUgb2YgdGhlIGNhcmQuXG4gICAgICogQnkgZGVmYXVsdCB0aGUgdmFsdWUgaXMgc2V0IHRvIGBncm91cGAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQgcm9sZT1cImdyb3VwXCI+PC9pZ3gtY2FyZD5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm9sZSA9ICdncm91cCc7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgYHR5cGVgIGF0dHJpYnV0ZSBvZiB0aGUgY2FyZC5cbiAgICAgKiBCeSBkZWZhdWx0IHRoZSB2YWx1ZSBpcyBzZXQgdG8gYGVsZXZhdGVkYC4gWW91IGNhbiBtYWtlIHRoZSBjYXJkIHVzZSB0aGVcbiAgICAgKiBvdXRsaW5lZCBzdHlsZSBieSBzZXR0aW5nIHRoZSB2YWx1ZSB0byBgb3V0bGluZWRgLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkIHR5cGU9XCJvdXRsaW5lZFwiPjwvaWd4LWNhcmQ+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHlwZTogSWd4Q2FyZFR5cGUgfCBzdHJpbmcgPSBJZ3hDYXJkVHlwZS5FTEVWQVRFRDtcblxuICAgIC8qKlxuICAgICAqIEEgZ2V0dGVyIHdoaWNoIHdpbGwgcmV0dXJuIHRydWUgaWYgdGhlIGNhcmQgdHlwZSBpcyBgb3V0bGluZWRgLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtLW91dGxpbmVkJylcbiAgICBwdWJsaWMgZ2V0IGlzT3V0bGluZWRDYXJkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlID09PSBJZ3hDYXJkVHlwZS5PVVRMSU5FRDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgYGhvcml6b250YWxgIGF0dHJpYnV0ZSBvZiB0aGUgY2FyZC5cbiAgICAgKiBTZXR0aW5nIHRoaXMgdG8gYHRydWVgIHdpbGwgbWFrZSB0aGUgZGlmZmVyZW50IGNhcmQgc2VjdGlvbnMgYWxpZ24gaG9yaXpvbnRhbGx5LFxuICAgICAqIGVzc2VudGlhbGx5IGZsaXBwaW5nIHRoZSBjYXJkIHRvIHRoZSBzaWRlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkIFtob3Jpem9udGFsXT1cInRydWVcIj48L2lneC1jYXJkPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtLWhvcml6b250YWwnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhvcml6b250YWwgPSBmYWxzZTtcbn1cblxuZXhwb3J0IGNvbnN0IElneENhcmRBY3Rpb25zTGF5b3V0ID0gbWtlbnVtKHtcbiAgICBTVEFSVDogJ3N0YXJ0JyxcbiAgICBKVVNUSUZZOiAnanVzdGlmeSdcbn0pO1xuZXhwb3J0IHR5cGUgSWd4Q2FyZEFjdGlvbnNMYXlvdXQgPSAodHlwZW9mIElneENhcmRBY3Rpb25zTGF5b3V0KVtrZXlvZiB0eXBlb2YgSWd4Q2FyZEFjdGlvbnNMYXlvdXRdO1xuXG4vKipcbiAqIElneENhcmRBY3Rpb25zIGlzIGNvbnRhaW5lciBmb3IgdGhlIGNhcmQgYWN0aW9ucy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FyZC1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRBY3Rpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIGxheW91dCBzdHlsZSBvZiB0aGUgYWN0aW9ucy5cbiAgICAgKiBZb3UgY2FuIGp1c3RpZnkgdGhlIGVsZW1lbnRzIHNsb3R0ZWQgaW4gdGhlIGlneC1jYXJkLWFjdGlvbiBjb250YWluZXJcbiAgICAgKiBzbyB0aGF0IHRoZXkgYXJlIHBvc2l0aW9uZWQgZXF1YWxseSBmcm9tIG9uZSBhbm90aGVyIHRha2luZyB1cCBhbGwgdGhlXG4gICAgICogc3BhY2UgYXZhaWxhYmxlIGFsb25nIHRoZSBjYXJkIGFjdGlvbnMgYXhpcy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZC1hY3Rpb25zIGxheW91dD1cImp1c3RpZnlcIj48L2lneC1jYXJkLWFjdGlvbnM+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1hY3Rpb25zJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsYXlvdXQ6IElneENhcmRBY3Rpb25zTGF5b3V0IHwgc3RyaW5nID0gSWd4Q2FyZEFjdGlvbnNMYXlvdXQuU1RBUlQ7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2ZXJ0aWNhbCBhdHRyaWJ1dGUgb2YgdGhlIGFjdGlvbnMuXG4gICAgICogV2hlbiBzZXQgdG8gYHRydWVgIHRoZSBhY3Rpb25zIHdpbGwgYmUgbGF5ZWQgb3V0IHZlcnRpY2FsbHkuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1hY3Rpb25zLS12ZXJ0aWNhbCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmVydGljYWwgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEEgZ2V0dGVyIHRoYXQgcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgbGF5b3V0IGhhcyBiZWVuXG4gICAgICogc2V0IHRvIGBqdXN0aWZ5YC5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWFjdGlvbnMtLWp1c3RpZnknKVxuICAgIHB1YmxpYyBnZXQgaXNKdXN0aWZ5TGF5b3V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXQgPT09IElneENhcmRBY3Rpb25zTGF5b3V0LkpVU1RJRlk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgaW4gdmVyc2lvbiAxNS4xLjAuXG4gICAgICpcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCByZXZlcnNlcyB0aGUgb3JkZXIgb2YgdGhlIGJ1dHRvbnMgaW4gdGhlIGFjdGlvbnMgYXJlYS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZC1hY3Rpb25zIFtyZXZlcnNlXT1cInRydWVcIj48L2lneC1jYXJkLWFjdGlvbnM+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1hY3Rpb25zLS1yZXZlcnNlJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZXZlcnNlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGlzVmVydGljYWxTZXQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoSWd4Q2FyZENvbXBvbmVudCkgcHVibGljIGNhcmQ6IElneENhcmRDb21wb25lbnQpIHsgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICBpZiAocHJvcCA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNWZXJ0aWNhbFNldCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNWZXJ0aWNhbFNldCAmJiB0aGlzLmNhcmQuaG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgdGhpcy52ZXJ0aWNhbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJpZ3gtY2FyZC1oZWFkZXJfX3RodW1ibmFpbFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImlneC1hdmF0YXIsIGlneC1jYXJkLW1lZGlhLCBbaWd4Q2FyZFRodW1ibmFpbF1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImlneC1jYXJkLWhlYWRlcl9fdGl0bGVzXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiXG4gICAgICAgIFtpZ3hDYXJkSGVhZGVyVGl0bGVdLFxuICAgICAgICBbaWd4Q2FyZEhlYWRlclN1YnRpdGxlXSxcbiAgICAgICAgLmlneC1jYXJkLWhlYWRlcl9fdGl0bGUsXG4gICAgICAgIC5pZ3gtY2FyZC1oZWFkZXJfX3N1YnRpdGxlXCI+XG4gICAgPC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiIsIjxkaXYgI2J1dHRvbnMgY2xhc3M9XCJpZ3gtY2FyZC1hY3Rpb25zX19zdGFydFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpZ3hTdGFydF0sIFtpZ3hCdXR0b25dOm5vdChbaWd4QnV0dG9uPSdpY29uJ10pOm5vdChbaWd4RW5kXSlcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG48ZGl2IGNsYXNzPVwiaWd4LWNhcmQtYWN0aW9uc19fZW5kXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2lneEVuZF0sIFtpZ3hCdXR0b249J2ljb24nXTpub3QoW2lneFN0YXJ0XSksIGlneC1pY29uOm5vdChbaWd4U3RhcnRdKVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
430
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYXJkL2NhcmQtaGVhZGVyLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYXJkL2NhcmQtYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBSVIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNSSx3QkFBd0I7UUFFakIsYUFBUSxHQUFHLGlCQUFpQixDQUFDO1FBRXBDOzs7Ozs7OztXQVFHO1FBSUksVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUV0Qjs7Ozs7Ozs7V0FRRztRQUdJLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFFdkI7O1dBRUc7UUFHSSxTQUFJLEdBQUcsS0FBSyxDQUFDO0tBQ3ZCOzhHQXRDWSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJ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Ozs7Ozs7V0FVRztRQUdJLFdBQU0sR0FBa0Msb0JBQW9CLENBQUMsS0FBSyxDQUFDO1FBRTFFOzs7V0FHRztRQUdJLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFXeEI7Ozs7Ozs7OztXQVNHO1FBR0ksWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVmLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBRXFELENBQUM7SUFFcEY7OztPQUdHO0lBQ0ksV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxFQUFFO1lBQ3hCLElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7YUFDN0I7U0FDSjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDTCxDQUFDOzhHQXZFUSx1QkFBdUIsa0JBaURBLGdCQUFnQjtrR0FqRHZDLHVCQUF1QiwrWUdqU3BDLG1XQVNBOzsyRkh3UmEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUVJLGtCQUFrQixjQUVoQixJQUFJOzswQkFtREgsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7NENBbkN6QyxNQUFNO3NCQUZaLFdBQVc7dUJBQUMsd0JBQXdCOztzQkFDcEMsS0FBSztnQkFTQyxRQUFRO3NCQUZkLFdBQVc7dUJBQUMsa0NBQWtDOztzQkFDOUMsS0FBSztnQkFRSyxlQUFlO3NCQUR6QixXQUFXO3VCQUFDLGlDQUFpQztnQkFpQnZDLE9BQU87c0JBRmIsV0FBVzt1QkFBQyxpQ0FBaUM7O3NCQUM3QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9wdGlvbmFsLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IG1rZW51bSB9IGZyb20gJy4uL2NvcmUvdXRpbHMnO1xuXG5sZXQgTkVYVF9JRCA9IDA7XG5cbi8qKlxuICogSWd4Q2FyZE1lZGlhIGlzIGNvbnRhaW5lciBmb3IgdGhlIGNhcmQgbWVkaWEgc2VjdGlvbi5cbiAqIFVzZSBpdCB0byB3cmFwIGltYWdlcyBhbmQgdmlkZW9zLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnaWd4LWNhcmQtbWVkaWEnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZE1lZGlhRGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkX19tZWRpYScpXG4gICAgcHVibGljIGNzc0NsYXNzID0gJ2lneC1jYXJkX19tZWRpYSc7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSBgd2lkdGhgIGFuZCBgbWluLXdpZHRoYCBzdHlsZSBwcm9wZXJ0eVxuICAgICAqIG9mIHRoZSBtZWRpYSBjb250YWluZXIuIElmIG5vdCBwcm92aWRlZCBpdCB3aWxsIGJlIHNldCB0byBgYXV0b2AuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQtbWVkaWEgd2lkdGg9XCIzMDBweFwiPjwvaWd4LWNhcmQtbWVkaWE+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4td2lkdGgnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHdpZHRoID0gJ2F1dG8nO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgYGhlaWdodGAgc3R5bGUgcHJvcGVydHkgb2YgdGhlIG1lZGlhIGNvbnRhaW5lci5cbiAgICAgKiBJZiBub3QgcHJvdmlkZWQgaXQgd2lsbCBiZSBzZXQgdG8gYGF1dG9gLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkLW1lZGlhIGhlaWdodD1cIjUwJVwiPjwvaWd4LWNhcmQtbWVkaWE+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlaWdodCA9ICdhdXRvJztcblxuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIGByb2xlYCBhdHRyaWJ1dGUgb2YgdGhlIG1lZGlhIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcm9sZSA9ICdpbWcnO1xufVxuXG4vKipcbiAqIElneENhcmRIZWFkZXIgaXMgY29udGFpbmVyIGZvciB0aGUgY2FyZCBoZWFkZXJcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpZ3gtY2FyZC1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FyZC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZEhlYWRlckNvbXBvbmVudCB7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1oZWFkZXInKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtY2FyZC1oZWFkZXInO1xuXG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgbGF5b3V0IHN0eWxlIG9mIHRoZSBoZWFkZXIuXG4gICAgICogQnkgZGVmYXVsdCB0aGUgaGVhZGVyIGVsZW1lbnRzKHRodW1ibmFpbCBhbmQgdGl0bGUvc3VidGl0bGUpIGFyZSBhbGlnbmVkIGhvcml6b250YWxseS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZC1oZWFkZXIgW3ZlcnRpY2FsXT1cInRydWVcIj48L2lneC1jYXJkLWhlYWRlcj5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWhlYWRlci0tdmVydGljYWwnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZlcnRpY2FsID0gZmFsc2U7XG59XG5cbi8qKlxuICogSWd4Q2FyZFRodW1ibmFpbCBpcyBjb250YWluZXIgZm9yIHRoZSBjYXJkIHRodW1ibmFpbCBzZWN0aW9uLlxuICogVXNlIGl0IHRvIHdyYXAgYW55dGhpbmcgeW91IHdhbnQgdG8gYmUgdXNlZCBhcyBhIHRodW1ibmFpbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4Q2FyZFRodW1ibmFpbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZFRodW1ibmFpbERpcmVjdGl2ZSB7IH1cblxuLyoqXG4gKiBpZ3hDYXJkSGVhZGVyVGl0bGUgaXMgdXNlZCB0byBkZW5vdGUgdGhlIGhlYWRlciB0aXRsZSBpbiBhIGNhcmQuXG4gKiBVc2UgaXQgdG8gdGFnIHRleHQgbm9kZXMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneENhcmRIZWFkZXJUaXRsZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZEhlYWRlclRpdGxlRGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWhlYWRlcl9fdGl0bGUnKVxuICAgIHB1YmxpYyBjc3NDbGFzcyA9ICdpZ3gtY2FyZF9faGVhZGVyX190aXRsZSc7XG59XG5cbi8qKlxuICogaWd4Q2FyZEhlYWRlclN1YnRpdGxlIGlzIHVzZWQgdG8gZGVub3RlIHRoZSBoZWFkZXIgc3VidGl0bGUgaW4gYSBjYXJkLlxuICogVXNlIGl0IHRvIHRhZyB0ZXh0IG5vZGVzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hDYXJkSGVhZGVyU3VidGl0bGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElneENhcmRIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC1oZWFkZXJfX3N1YnRpdGxlJylcbiAgICBwdWJsaWMgY3NzQ2xhc3MgPSAnaWd4LWNhcmQtaGVhZGVyX19zdWJ0aXRsZSc7XG59XG4vKipcbiAqIElneENhcmRDb250ZW50IGlzIGNvbnRhaW5lciBmb3IgdGhlIGNhcmQgY29udGVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLWNvbnRlbnQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZENvbnRlbnREaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtY29udGVudCcpXG4gICAgcHVibGljIGNzc0NsYXNzID0gJ2lneC1jYXJkLWNvbnRlbnQnO1xufVxuXG4vKipcbiAqIElneENhcmRGb290ZXIgaXMgY29udGFpbmVyIGZvciB0aGUgY2FyZCBmb290ZXJcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkLWZvb3RlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hDYXJkRm9vdGVyRGlyZWN0aXZlIHtcbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgY2FyZCBmb290ZXIuXG4gICAgICogQnkgZGVmYXVsdCB0aGUgdmFsdWUgaXMgc2V0IHRvIGBmb290ZXJgLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkLWZvb3RlciByb2xlPVwiZm9vdGVyXCI+PC9pZ3gtY2FyZC1mb290ZXI+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJvbGUgPSAnZm9vdGVyJztcbn1cblxuLyoqXG4gKiBDYXJkIHByb3ZpZGVzIGEgd2F5IHRvIGRpc3BsYXkgb3JnYW5pemVkIGNvbnRlbnQgaW4gYXBwZWFsaW5nIHdheS5cbiAqXG4gKiBAaWd4TW9kdWxlIElneENhcmRNb2R1bGVcbiAqXG4gKiBAaWd4VGhlbWUgaWd4LWNhcmQtdGhlbWUsIGlneC1pY29uLXRoZW1lLCBpZ3gtYnV0dG9uLXRoZW1lXG4gKlxuICogQGlneEtleXdvcmRzIGNhcmQsIGJ1dHRvbiwgYXZhdGFyLCBpY29uXG4gKlxuICogQGlneEdyb3VwIExheW91dHNcbiAqXG4gKiBAcmVtYXJrc1xuICogVGhlIElnbml0ZSBVSSBDYXJkIHNlcnZlcyBhcyBhIGNvbnRhaW5lciB0aGF0IGFsbG93cyBjdXN0b20gY29udGVudCB0byBiZSBvcmdhbml6ZWQgaW4gYW4gYXBwZWFsaW5nIHdheS4gVGhlcmUgYXJlXG4gKiBmaXZlIHNlY3Rpb25zIGluIGEgY2FyZCB0aGF0IHlvdSBjYW4gdXNlIHRvIG9yZ2FuaXplIHlvdXIgY29udGVudC4gVGhlc2UgYXJlIGhlYWRlciwgbWVkaWEsIGNvbnRlbnQsIGFjdGlvbnMsIGFuZCBmb290ZXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxpZ3gtY2FyZD5cbiAqICAgPGlneC1jYXJkLWhlYWRlcj5cbiAqICAgICA8aDMgaWd4Q2FyZEhlYWRlclRpdGxlPnt7dGl0bGV9fTwvaDM+XG4gKiAgICAgPGg1IGlneENhcmRIZWFkZXJTdWJ0aXRsZT57e3N1YnRpdGxlfX08L2g1PlxuICogICA8L2lneC1jYXJkLWhlYWRlcj5cbiAqICAgPGlneC1jYXJkLWFjdGlvbnM+XG4gKiAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZ3hCdXR0b24gaWd4UmlwcGxlPlNoYXJlPC9idXR0b24+XG4gKiAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZ3hCdXR0b24gaWd4UmlwcGxlPlBsYXkgQWxidW08L2J1dHRvbj5cbiAqICAgPC9pZ3gtY2FyZC1hY3Rpb25zPlxuICogPC9pZ3gtY2FyZD5cbiAqIGBgYFxuICovXG5cbmV4cG9ydCBjb25zdCBJZ3hDYXJkVHlwZSA9IG1rZW51bSh7XG4gICAgRUxFVkFURUQ6ICdlbGV2YXRlZCcsXG4gICAgT1VUTElORUQ6ICdvdXRsaW5lZCdcbn0pO1xuZXhwb3J0IHR5cGUgSWd4Q2FyZFR5cGUgPSAodHlwZW9mIElneENhcmRUeXBlKVtrZXlvZiB0eXBlb2YgSWd4Q2FyZFR5cGVdO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogU2V0cy9nZXRzIHRoZSBgaWRgIG9mIHRoZSBjYXJkLlxuICAgICAqIElmIG5vdCBzZXQsIGBpZGAgd2lsbCBoYXZlIHZhbHVlIGBcImlneC1jYXJkLTBcImA7XG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQgaWQgPSBcIm15LWZpcnN0LWNhcmRcIj48L2lneC1jYXJkPlxuICAgICAqIGBgYFxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsZXQgY2FyZElkID0gIHRoaXMuY2FyZC5pZDtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYGlneC1jYXJkLSR7TkVYVF9JRCsrfWA7XG5cbiAgICAvKipcbiAgICAgKiBBbiBASW5wdXQgcHJvcGVydHkgdGhhdCBzZXRzIHRoZSB2YWx1ZSBvZiB0aGUgYHJvbGVgIGF0dHJpYnV0ZSBvZiB0aGUgY2FyZC5cbiAgICAgKiBCeSBkZWZhdWx0IHRoZSB2YWx1ZSBpcyBzZXQgdG8gYGdyb3VwYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgaHRtbFxuICAgICAqIDxpZ3gtY2FyZCByb2xlPVwiZ3JvdXBcIj48L2lneC1jYXJkPlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByb2xlID0gJ2dyb3VwJztcblxuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIHZhbHVlIG9mIHRoZSBgdHlwZWAgYXR0cmlidXRlIG9mIHRoZSBjYXJkLlxuICAgICAqIEJ5IGRlZmF1bHQgdGhlIHZhbHVlIGlzIHNldCB0byBgZWxldmF0ZWRgLiBZb3UgY2FuIG1ha2UgdGhlIGNhcmQgdXNlIHRoZVxuICAgICAqIG91dGxpbmVkIHN0eWxlIGJ5IHNldHRpbmcgdGhlIHZhbHVlIHRvIGBvdXRsaW5lZGAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQgdHlwZT1cIm91dGxpbmVkXCI+PC9pZ3gtY2FyZD5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlOiBJZ3hDYXJkVHlwZSB8IHN0cmluZyA9IElneENhcmRUeXBlLkVMRVZBVEVEO1xuXG4gICAgLyoqXG4gICAgICogQSBnZXR0ZXIgd2hpY2ggd2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgY2FyZCB0eXBlIGlzIGBvdXRsaW5lZGAuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC0tb3V0bGluZWQnKVxuICAgIHB1YmxpYyBnZXQgaXNPdXRsaW5lZENhcmQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGUgPT09IElneENhcmRUeXBlLk9VVExJTkVEO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIHZhbHVlIG9mIHRoZSBgaG9yaXpvbnRhbGAgYXR0cmlidXRlIG9mIHRoZSBjYXJkLlxuICAgICAqIFNldHRpbmcgdGhpcyB0byBgdHJ1ZWAgd2lsbCBtYWtlIHRoZSBkaWZmZXJlbnQgY2FyZCBzZWN0aW9ucyBhbGlnbiBob3Jpem9udGFsbHksXG4gICAgICogZXNzZW50aWFsbHkgZmxpcHBpbmcgdGhlIGNhcmQgdG8gdGhlIHNpZGUuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYGh0bWxcbiAgICAgKiA8aWd4LWNhcmQgW2hvcml6b250YWxdPVwidHJ1ZVwiPjwvaWd4LWNhcmQ+XG4gICAgICogYGBgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtY2FyZC0taG9yaXpvbnRhbCcpXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaG9yaXpvbnRhbCA9IGZhbHNlO1xufVxuXG5leHBvcnQgY29uc3QgSWd4Q2FyZEFjdGlvbnNMYXlvdXQgPSBta2VudW0oe1xuICAgIFNUQVJUOiAnc3RhcnQnLFxuICAgIEpVU1RJRlk6ICdqdXN0aWZ5J1xufSk7XG5leHBvcnQgdHlwZSBJZ3hDYXJkQWN0aW9uc0xheW91dCA9ICh0eXBlb2YgSWd4Q2FyZEFjdGlvbnNMYXlvdXQpW2tleW9mIHR5cGVvZiBJZ3hDYXJkQWN0aW9uc0xheW91dF07XG5cbi8qKlxuICogSWd4Q2FyZEFjdGlvbnMgaXMgY29udGFpbmVyIGZvciB0aGUgY2FyZCBhY3Rpb25zLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnaWd4LWNhcmQtYWN0aW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICdjYXJkLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWd4Q2FyZEFjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgICogQW4gQElucHV0IHByb3BlcnR5IHRoYXQgc2V0cyB0aGUgbGF5b3V0IHN0eWxlIG9mIHRoZSBhY3Rpb25zLlxuICAgICAqIFlvdSBjYW4ganVzdGlmeSB0aGUgZWxlbWVudHMgc2xvdHRlZCBpbiB0aGUgaWd4LWNhcmQtYWN0aW9uIGNvbnRhaW5lclxuICAgICAqIHNvIHRoYXQgdGhleSBhcmUgcG9zaXRpb25lZCBlcXVhbGx5IGZyb20gb25lIGFub3RoZXIgdGFraW5nIHVwIGFsbCB0aGVcbiAgICAgKiBzcGFjZSBhdmFpbGFibGUgYWxvbmcgdGhlIGNhcmQgYWN0aW9ucyBheGlzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkLWFjdGlvbnMgbGF5b3V0PVwianVzdGlmeVwiPjwvaWd4LWNhcmQtYWN0aW9ucz5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWFjdGlvbnMnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxheW91dDogSWd4Q2FyZEFjdGlvbnNMYXlvdXQgfCBzdHJpbmcgPSBJZ3hDYXJkQWN0aW9uc0xheW91dC5TVEFSVDtcblxuICAgIC8qKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHNldHMgdGhlIHZlcnRpY2FsIGF0dHJpYnV0ZSBvZiB0aGUgYWN0aW9ucy5cbiAgICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAgdGhlIGFjdGlvbnMgd2lsbCBiZSBsYXllZCBvdXQgdmVydGljYWxseS5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWFjdGlvbnMtLXZlcnRpY2FsJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB2ZXJ0aWNhbCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQSBnZXR0ZXIgdGhhdCByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBsYXlvdXQgaGFzIGJlZW5cbiAgICAgKiBzZXQgdG8gYGp1c3RpZnlgLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWNhcmQtYWN0aW9ucy0tanVzdGlmeScpXG4gICAgcHVibGljIGdldCBpc0p1c3RpZnlMYXlvdXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gSWd4Q2FyZEFjdGlvbnNMYXlvdXQuSlVTVElGWTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBpbiB2ZXJzaW9uIDE1LjEuMC5cbiAgICAgKlxuICAgICAqIEFuIEBJbnB1dCBwcm9wZXJ0eSB0aGF0IHJldmVyc2VzIHRoZSBvcmRlciBvZiB0aGUgYnV0dG9ucyBpbiB0aGUgYWN0aW9ucyBhcmVhLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGBodG1sXG4gICAgICogPGlneC1jYXJkLWFjdGlvbnMgW3JldmVyc2VdPVwidHJ1ZVwiPjwvaWd4LWNhcmQtYWN0aW9ucz5cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1jYXJkLWFjdGlvbnMtLXJldmVyc2UnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJldmVyc2UgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaXNWZXJ0aWNhbFNldCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChJZ3hDYXJkQ29tcG9uZW50KSBwdWJsaWMgY2FyZDogSWd4Q2FyZENvbXBvbmVudCkgeyB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIGlmIChwcm9wID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1ZlcnRpY2FsU2V0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZlcnRpY2FsU2V0ICYmIHRoaXMuY2FyZC5ob3Jpem9udGFsKSB7XG4gICAgICAgICAgICB0aGlzLnZlcnRpY2FsID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImlneC1jYXJkLWhlYWRlcl9fdGh1bWJuYWlsXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaWd4LWF2YXRhciwgaWd4LWNhcmQtbWVkaWEsIFtpZ3hDYXJkVGh1bWJuYWlsXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiaWd4LWNhcmQtaGVhZGVyX190aXRsZXNcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJcbiAgICAgICAgW2lneENhcmRIZWFkZXJUaXRsZV0sXG4gICAgICAgIFtpZ3hDYXJkSGVhZGVyU3VidGl0bGVdLFxuICAgICAgICAuaWd4LWNhcmQtaGVhZGVyX190aXRsZSxcbiAgICAgICAgLmlneC1jYXJkLWhlYWRlcl9fc3VidGl0bGVcIj5cbiAgICA8L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIiwiPGRpdiAjYnV0dG9ucyBjbGFzcz1cImlneC1jYXJkLWFjdGlvbnNfX3N0YXJ0XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2lneFN0YXJ0XSwgW2lneEJ1dHRvbl06bm90KFtpZ3hCdXR0b249J2ljb24nXSk6bm90KFtpZ3hFbmRdKVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbjxkaXYgY2xhc3M9XCJpZ3gtY2FyZC1hY3Rpb25zX19lbmRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWd4RW5kXSwgW2lneEJ1dHRvbj0naWNvbiddOm5vdChbaWd4U3RhcnRdKSwgaWd4LWljb246bm90KFtpZ3hTdGFydF0pXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|