@igo2/integration 1.11.0 → 1.11.1
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/bundles/igo2-integration.umd.js +2 -2
- package/bundles/igo2-integration.umd.js.map +1 -1
- package/esm2015/lib/about/about-tool/about-tool.component.js +1 -1
- package/esm2015/lib/about/about-tool/index.js +1 -1
- package/esm2015/lib/about/about.module.js +1 -1
- package/esm2015/lib/about/index.js +1 -1
- package/esm2015/lib/analytics/analytics-listener.service.js +1 -1
- package/esm2015/lib/analytics/analytics.module.js +1 -1
- package/esm2015/lib/analytics/index.js +1 -1
- package/esm2015/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.js +1 -1
- package/esm2015/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.js +1 -1
- package/esm2015/lib/catalog/catalog-library-tool/catalog-library-tool.component.js +1 -1
- package/esm2015/lib/catalog/catalog-library-tool/catalog-library-tool.module.js +1 -1
- package/esm2015/lib/catalog/catalog.module.js +1 -1
- package/esm2015/lib/catalog/catalog.state.js +1 -1
- package/esm2015/lib/catalog/index.js +1 -1
- package/esm2015/lib/context/context-editor-tool/context-editor-tool.component.js +1 -1
- package/esm2015/lib/context/context-manager-tool/context-manager-tool.component.js +1 -1
- package/esm2015/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.js +1 -1
- package/esm2015/lib/context/context-share-tool/context-share-tool.component.js +1 -1
- package/esm2015/lib/context/context.module.js +1 -1
- package/esm2015/lib/context/context.state.js +1 -1
- package/esm2015/lib/context/index.js +1 -1
- package/esm2015/lib/directions/directions-tool/directions-tool.component.js +1 -1
- package/esm2015/lib/directions/directions-tool/index.js +1 -1
- package/esm2015/lib/directions/directions.module.js +1 -1
- package/esm2015/lib/directions/directions.state.js +1 -1
- package/esm2015/lib/directions/index.js +1 -1
- package/esm2015/lib/draw/draw.module.js +1 -1
- package/esm2015/lib/draw/draw.state.js +1 -1
- package/esm2015/lib/draw/drawing-tool/drawing-tool.component.js +1 -1
- package/esm2015/lib/draw/index.js +1 -1
- package/esm2015/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.js +1 -1
- package/esm2015/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.js +1 -1
- package/esm2015/lib/filter/active-ogc-filter-tool/index.js +1 -1
- package/esm2015/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.js +1 -1
- package/esm2015/lib/filter/active-time-filter-tool/active-time-filter-tool.component.js +1 -1
- package/esm2015/lib/filter/active-time-filter-tool/index.js +1 -1
- package/esm2015/lib/filter/filter.module.js +1 -1
- package/esm2015/lib/filter/index.js +1 -1
- package/esm2015/lib/filter/ogc-filter-tool/index.js +1 -1
- package/esm2015/lib/filter/ogc-filter-tool/ogc-filter-tool.component.js +1 -1
- package/esm2015/lib/filter/spatial-filter-tool/index.js +1 -1
- package/esm2015/lib/filter/spatial-filter-tool/spatial-filter-tool.component.js +1 -1
- package/esm2015/lib/filter/time-filter-tool/index.js +1 -1
- package/esm2015/lib/filter/time-filter-tool/time-filter-tool.component.js +1 -1
- package/esm2015/lib/import-export/import-export-tool/import-export-tool.component.js +1 -1
- package/esm2015/lib/import-export/import-export-tool/index.js +1 -1
- package/esm2015/lib/import-export/import-export.module.js +1 -1
- package/esm2015/lib/import-export/import-export.state.js +1 -1
- package/esm2015/lib/import-export/index.js +1 -1
- package/esm2015/lib/integration.module.js +1 -1
- package/esm2015/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.js +1 -1
- package/esm2015/lib/map/advanced-map-tool/advanced-map-tool.component.js +1 -1
- package/esm2015/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.js +1 -1
- package/esm2015/lib/map/advanced-map-tool/index.js +1 -1
- package/esm2015/lib/map/index.js +1 -1
- package/esm2015/lib/map/layer-list-tool.state.js +1 -1
- package/esm2015/lib/map/map-details-tool/index.js +1 -1
- package/esm2015/lib/map/map-details-tool/map-details-tool.component.js +1 -1
- package/esm2015/lib/map/map-legend/index.js +1 -1
- package/esm2015/lib/map/map-legend/map-legend-tool.component.js +1 -1
- package/esm2015/lib/map/map-tool/index.js +1 -1
- package/esm2015/lib/map/map-tool/map-tool.component.js +1 -1
- package/esm2015/lib/map/map-tools/index.js +1 -1
- package/esm2015/lib/map/map-tools/map-tools.component.js +1 -1
- package/esm2015/lib/map/map.module.js +1 -1
- package/esm2015/lib/map/map.state.js +1 -1
- package/esm2015/lib/measure/index.js +1 -1
- package/esm2015/lib/measure/measure.module.js +1 -1
- package/esm2015/lib/measure/measure.state.js +1 -1
- package/esm2015/lib/measure/measurer-tool/measurer-tool.component.js +1 -1
- package/esm2015/lib/measure/measurer-tool/measurer-tool.module.js +1 -1
- package/esm2015/lib/print/index.js +1 -1
- package/esm2015/lib/print/print-tool/index.js +1 -1
- package/esm2015/lib/print/print-tool/print-tool.component.js +1 -1
- package/esm2015/lib/print/print.module.js +1 -1
- package/esm2015/lib/search/index.js +1 -1
- package/esm2015/lib/search/query.state.js +1 -1
- package/esm2015/lib/search/search-bar/search-bar-binding.directive.js +1 -1
- package/esm2015/lib/search/search-bar/search-bar.module.js +1 -1
- package/esm2015/lib/search/search-results-tool/search-results-tool.component.js +1 -1
- package/esm2015/lib/search/search-results-tool/search-results-tool.module.js +1 -1
- package/esm2015/lib/search/search.module.js +1 -1
- package/esm2015/lib/search/search.state.js +1 -1
- package/esm2015/lib/storage/index.js +1 -1
- package/esm2015/lib/storage/storage.module.js +1 -1
- package/esm2015/lib/storage/storage.state.js +1 -1
- package/esm2015/lib/tool/index.js +1 -1
- package/esm2015/lib/tool/tool.module.js +1 -1
- package/esm2015/lib/tool/tool.state.js +1 -1
- package/esm2015/lib/workspace/index.js +1 -1
- package/esm2015/lib/workspace/shared/edition-actions.service.js +2 -2
- package/esm2015/lib/workspace/shared/feature-actions.service.js +1 -1
- package/esm2015/lib/workspace/shared/index.js +1 -1
- package/esm2015/lib/workspace/shared/wfs-actions.service.js +2 -2
- package/esm2015/lib/workspace/shared/workspace.utils.js +1 -1
- package/esm2015/lib/workspace/workspace-button/index.js +1 -1
- package/esm2015/lib/workspace/workspace-button/workspace-button.component.js +1 -1
- package/esm2015/lib/workspace/workspace.module.js +1 -1
- package/esm2015/lib/workspace/workspace.state.js +1 -1
- package/esm2015/public_api.js +1 -1
- package/fesm2015/igo2-integration.js +2 -2
- package/fesm2015/igo2-integration.js.map +1 -1
- package/ngcc.config.js +3 -3
- package/package.json +3 -3
|
@@ -571,4 +571,4 @@ export { SearchResultsToolComponent };
|
|
|
571
571
|
}], topPanelState: [{
|
|
572
572
|
type: Input
|
|
573
573
|
}] }); })();
|
|
574
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy10b29sL3NlYXJjaC1yZXN1bHRzLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMtdG9vbC9zZWFyY2gtcmVzdWx0cy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLGVBQWUsRUFBZ0IsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUdwQyxPQUFPLGNBQWMsTUFBTSx3QkFBd0IsQ0FBQztBQUlwRCxPQUFPLEVBRUwsYUFBYSxFQUViLGNBQWMsRUFDZCxpQkFBaUIsRUFFbEIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUNMLE9BQU8sRUFFUCxhQUFhLEVBR2IsZ0JBQWdCLEVBRWhCLHdCQUF3QixFQUN4QixXQUFXLEVBQ1gsYUFBYSxFQUNiLG9CQUFvQixFQUNwQiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNyQixNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQzNDbkIsOEJBQW1FO0lBQ2pFLGtDQUFnQztJQUM5QiwwQkFBSTtJQUFBLDhCQUFR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QTRERixhQUFhO2tCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgb2xGb3JtYXRHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcclxuaW1wb3J0IG9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0IG9sUG9pbnQgZnJvbSAnb2wvZ2VvbS9Qb2ludCc7XHJcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcblxyXG5pbXBvcnQgcG9pbnRPbkZlYXR1cmUgZnJvbSAnQHR1cmYvcG9pbnQtb24tZmVhdHVyZSc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEVudGl0eVN0b3JlLFxyXG4gIFRvb2xDb21wb25lbnQsXHJcbiAgRmxleGlibGVTdGF0ZSxcclxuICBnZXRFbnRpdHlUaXRsZSxcclxuICBGbGV4aWJsZUNvbXBvbmVudCxcclxuICBFbnRpdHlTdGF0ZVxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQge1xyXG4gIEZFQVRVUkUsXHJcbiAgRmVhdHVyZSxcclxuICBGZWF0dXJlTW90aW9uLFxyXG4gIFNlYXJjaFJlc3VsdCxcclxuICBJZ29NYXAsXHJcbiAgbW92ZVRvT2xGZWF0dXJlcyxcclxuICBSZXNlYXJjaCxcclxuICBmZWF0dXJlc0FyZVRvb0RlZXBJblZpZXcsXHJcbiAgZmVhdHVyZVRvT2wsXHJcbiAgZmVhdHVyZUZyb21PbCxcclxuICBnZXRDb21tb25WZWN0b3JTdHlsZSxcclxuICBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlLFxyXG4gIGNvbXB1dGVPbEZlYXR1cmVzRXh0ZW50LFxyXG4gIGZlYXR1cmVzQXJlT3V0T2ZWaWV3XHJcbn0gZnJvbSAnQGlnbzIvZ2VvJztcclxuXHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vLi4vbWFwL21hcC5zdGF0ZSc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hTdGF0ZSB9IGZyb20gJy4uL3NlYXJjaC5zdGF0ZSc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcbmltcG9ydCB7IERpcmVjdGlvblN0YXRlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aW9ucy9kaXJlY3Rpb25zLnN0YXRlJztcclxuXHJcbi8qKlxyXG4gKiBUb29sIHRvIGJyb3dzZSB0aGUgc2VhcmNoIHJlc3VsdHNcclxuICovXHJcbkBUb29sQ29tcG9uZW50KHtcclxuICBuYW1lOiAnc2VhcmNoUmVzdWx0cycsXHJcbiAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24udG9vbHMuc2VhcmNoUmVzdWx0cycsXHJcbiAgaWNvbjogJ21hZ25pZnknXHJcbn0pXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1yZXN1bHRzLXRvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtcmVzdWx0cy10b29sLmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0c1Rvb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogdG8gc2hvdyBoaWRlIHJlc3VsdHMgaWNvbnNcclxuICAgKi9cclxuICBASW5wdXQoKSBzaG93SWNvbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIGhhc0ZlYXR1cmVFbXBoYXNpc09uU2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgc2hvd1Jlc3VsdHNHZW9tZXRyaWVzJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGdldFJvdXRlJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHNob3duUmVzdWx0c0dlb21ldHJpZXM6IEZlYXR1cmVbXSA9IFtdO1xyXG4gIHByaXZhdGUgc2hvd25SZXN1bHRzRW1waGFzaXNHZW9tZXRyaWVzOiBGZWF0dXJlW10gPSBbXTtcclxuICBwcml2YXRlIGZvY3VzZWRSZXN1bHQkOiBCZWhhdmlvclN1YmplY3Q8U2VhcmNoUmVzdWx0PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG4gIHB1YmxpYyBpc1NlbGVjdGVkUmVzdWx0T3V0T2ZWaWV3JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHByaXZhdGUgaXNTZWxlY3RlZFJlc3VsdE91dE9mVmlldyQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBhYnN0cmFjdEZvY3VzZWRSZXN1bHQ6IEZlYXR1cmU7XHJcbiAgcHJpdmF0ZSBhYnN0cmFjdFNlbGVjdGVkUmVzdWx0OiBGZWF0dXJlO1xyXG5cclxuICAvKipcclxuICAgKiBTdG9yZSBob2xkaW5nIHRoZSBzZWFyY2ggcmVzdWx0c1xyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBzdG9yZSgpOiBFbnRpdHlTdG9yZTxTZWFyY2hSZXN1bHQ+IHtcclxuICAgIHJldHVybiB0aGlzLnNlYXJjaFN0YXRlLnN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIGRpc3BsYXkgdGhlIHJlc3VsdHMgb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBTdGF0ZS5tYXA7XHJcbiAgfVxyXG5cclxuICBnZXQgZmVhdHVyZVRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5mZWF0dXJlID8gZ2V0RW50aXR5VGl0bGUodGhpcy5mZWF0dXJlKSA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGdldCBmZWF0dXJlJCgpOiBPYnNlcnZhYmxlPEZlYXR1cmU+IHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlVmlld1xyXG4gICAgICAuZmlyc3RCeSQoKGUpID0+IGUuc3RhdGUuZm9jdXNlZClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKFxyXG4gICAgICAgICAgKGVsZW1lbnQpID0+XHJcbiAgICAgICAgICAodGhpcy5mZWF0dXJlID0gZWxlbWVudFxyXG4gICAgICAgICAgICA/IChlbGVtZW50LmVudGl0eS5kYXRhIGFzIEZlYXR1cmUpXHJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkKVxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmZWF0dXJlOiBGZWF0dXJlO1xyXG5cclxuICBwdWJsaWMgdGVybSA9ICcnO1xyXG4gIHByaXZhdGUgc2VhcmNoVGVybSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHB1YmxpYyBzZXR0aW5nc0NoYW5nZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHVuZGVmaW5lZCk7XHJcblxyXG4gIHB1YmxpYyB0b3BQYW5lbFN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmxleGlibGVTdGF0ZT4oJ2luaXRpYWwnKTtcclxuICBwcml2YXRlIHRvcFBhbmVsU3RhdGUkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB0b3BQYW5lbFN0YXRlKHZhbHVlOiBGbGV4aWJsZVN0YXRlKSB7XHJcbiAgICB0aGlzLnRvcFBhbmVsU3RhdGUkLm5leHQodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgdG9wUGFuZWxTdGF0ZSgpOiBGbGV4aWJsZVN0YXRlIHtcclxuICAgIHJldHVybiB0aGlzLnRvcFBhbmVsU3RhdGUkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRlcm1TcGxpdHRlcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoU3RhdGUuc2VhcmNoVGVybVNwbGl0dGVyJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0ID0gbmV3IG9sRm9ybWF0R2VvSlNPTigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbWFwU3RhdGU6IE1hcFN0YXRlLFxyXG4gICAgcHJpdmF0ZSBzZWFyY2hTdGF0ZTogU2VhcmNoU3RhdGUsXHJcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIHRvb2xTdGF0ZTogVG9vbFN0YXRlLFxyXG4gICAgcHJpdmF0ZSBkaXJlY3Rpb25TdGF0ZTogRGlyZWN0aW9uU3RhdGUsXHJcbiAgICBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmhhc0ZlYXR1cmVFbXBoYXNpc09uU2VsZWN0aW9uID0gY29uZmlnU2VydmljZS5nZXRDb25maWcoXHJcbiAgICAgICdoYXNGZWF0dXJlRW1waGFzaXNPblNlbGVjdGlvbidcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2VhcmNoVGVybSQkID0gdGhpcy5zZWFyY2hTdGF0ZS5zZWFyY2hUZXJtJC5zdWJzY3JpYmUoXHJcbiAgICAgIChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAoc2VhcmNoVGVybSAhPT0gdW5kZWZpbmVkICYmIHNlYXJjaFRlcm0gIT09IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMudGVybSA9IHNlYXJjaFRlcm07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIGZvciAoY29uc3QgcmVzIG9mIHRoaXMuc3RvcmUuc3RhdGVWaWV3LmFsbCQoKS52YWx1ZSkge1xyXG4gICAgICBpZiAodGhpcy5zdG9yZS5zdGF0ZS5nZXQocmVzLmVudGl0eSkuc2VsZWN0ZWQgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLnRvcFBhbmVsU3RhdGUgPSAnZXhwYW5kZWQnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWFyY2hTZXR0aW5nc0NoYW5nZSQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zZXR0aW5nc0NoYW5nZSQubmV4dCh0cnVlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMudG9wUGFuZWxTdGF0ZSQkID0gdGhpcy50b3BQYW5lbFN0YXRlJC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBjb25zdCBpZ29MaXN0ID0gdGhpcy5jb21wdXRlRWxlbWVudFJlZigpWzBdO1xyXG4gICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuY29tcHV0ZUVsZW1lbnRSZWYoKVsxXTtcclxuICAgICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAvLyBUbyBiZSBzdXJlIHRoZSBmbGV4aWJsZSBjb21wb25lbnQgaGFzIGJlZW4gZGlzcGxheWVkIHlldFxyXG4gICAgICAgICAgaWYgKCF0aGlzLmlzU2Nyb2xsZWRJbnRvVmlldyhpZ29MaXN0LCBzZWxlY3RlZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGp1c3RUb3BQYW5lbChpZ29MaXN0LCBzZWxlY3RlZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgRmxleGlibGVDb21wb25lbnQudHJhbnNpdGlvblRpbWUgKyA1MCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLmhhc0ZlYXR1cmVFbXBoYXNpc09uU2VsZWN0aW9uKSB7XHJcbiAgICAgIGlmICghdGhpcy5zZWFyY2hTdGF0ZS5mb2N1c2VkT3JSZXNvbHV0aW9uJCQpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaFN0YXRlLmZvY3VzZWRPclJlc29sdXRpb24kJCA9IGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICAgICAgdGhpcy5mb2N1c2VkUmVzdWx0JCxcclxuICAgICAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kXHJcbiAgICAgICAgXSkuc3Vic2NyaWJlKChidW5jaDogW1NlYXJjaFJlc3VsdDxGZWF0dXJlPiwgbnVtYmVyXSkgPT5cclxuICAgICAgICAgIHRoaXMuYnVpbGRSZXN1bHRFbXBoYXNpcyhidW5jaFswXSwgJ2ZvY3VzZWQnKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghdGhpcy5zZWFyY2hTdGF0ZS5zZWxlY3RlZE9yUmVzb2x1dGlvbiQkKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWxlY3RlZE9yUmVzb2x1dGlvbiQkID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFN0YXRlLnNlbGVjdGVkUmVzdWx0JCxcclxuICAgICAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kXHJcbiAgICAgICAgXSkuc3Vic2NyaWJlKChidW5jaDogW1NlYXJjaFJlc3VsdDxGZWF0dXJlPiwgbnVtYmVyXSkgPT5cclxuICAgICAgICAgIHRoaXMuYnVpbGRSZXN1bHRFbXBoYXNpcyhidW5jaFswXSwgJ3NlbGVjdGVkJylcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vbml0b3JSZXN1bHRPdXRPZlZpZXcoKTtcclxuXHJcbiAgICB0aGlzLnNob3dSZXN1bHRzR2VvbWV0cmllcyQkID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgIHRoaXMuc2VhcmNoU3RhdGUuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCQsXHJcbiAgICAgIHRoaXMuc3RvcmUuc3RhdGVWaWV3LmFsbCQoKSxcclxuICAgICAgdGhpcy5mb2N1c2VkUmVzdWx0JCxcclxuICAgICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWxlY3RlZFJlc3VsdCQsXHJcbiAgICAgIHRoaXMuc2VhcmNoU3RhdGUuc2VhcmNoVGVybSQsXHJcbiAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kXHJcbiAgICBdKS5zdWJzY3JpYmUoKGJ1bmNoOiBbYm9vbGVhbiwgeyBlbnRpdHk6IFNlYXJjaFJlc3VsdCwgc3RhdGU6IEVudGl0eVN0YXRlIH1bXSwgU2VhcmNoUmVzdWx0LCBTZWFyY2hSZXN1bHQsIHN0cmluZywgbnVtYmVyXSkgPT4ge1xyXG5cclxuICAgICAgY29uc3Qgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCA9IGJ1bmNoWzBdO1xyXG4gICAgICBjb25zdCBzZWFyY2hSZXN1bHRzID0gYnVuY2hbMV07XHJcblxyXG4gICAgICBpZiAodGhpcy5oYXNGZWF0dXJlRW1waGFzaXNPblNlbGVjdGlvbikge1xyXG4gICAgICAgIHRoaXMuY2xlYXJGZWF0dXJlRW1waGFzaXMoJ3Nob3duJyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zaG93blJlc3VsdHNHZW9tZXRyaWVzLm1hcChyZXN1bHQgPT4gdGhpcy5tYXAucXVlcnlSZXN1bHRzT3ZlcmxheS5yZW1vdmVGZWF0dXJlKHJlc3VsdCkpO1xyXG4gICAgICBjb25zdCBmZWF0dXJlVG9IYW5kbGVHZW9tID0gc2VhcmNoUmVzdWx0c1xyXG4gICAgICAgIC5maWx0ZXIocmVzdWx0ID0+XHJcbiAgICAgICAgICByZXN1bHQuZW50aXR5Lm1ldGEuZGF0YVR5cGUgPT09IEZFQVRVUkUgJiZcclxuICAgICAgICAgIHJlc3VsdC5lbnRpdHkuZGF0YS5nZW9tZXRyeSAmJlxyXG4gICAgICAgICAgIXJlc3VsdC5zdGF0ZS5zZWxlY3RlZCAmJlxyXG4gICAgICAgICAgIXJlc3VsdC5zdGF0ZS5mb2N1c2VkKTtcclxuXHJcbiAgICAgIGZlYXR1cmVUb0hhbmRsZUdlb20ubWFwKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgaWYgKHNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQpIHtcclxuICAgICAgICAgIHJlc3VsdC5lbnRpdHkuZGF0YS5tZXRhLnN0eWxlID1cclxuICAgICAgICAgICAgZ2V0Q29tbW9uVmVjdG9yU3R5bGUoXHJcbiAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihcclxuICAgICAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICAgICAgeyBmZWF0dXJlOiByZXN1bHQuZW50aXR5LmRhdGEgYXMgRmVhdHVyZSB8IG9sRmVhdHVyZTxPbEdlb21ldHJ5PiB9LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWFyY2hPdmVybGF5U3R5bGUsXHJcbiAgICAgICAgICAgICAgICByZXN1bHQuZW50aXR5LnN0eWxlPy5iYXNlID8gcmVzdWx0LmVudGl0eS5zdHlsZS5iYXNlIDoge31cclxuICAgICAgICAgICAgICApKTtcclxuICAgICAgICAgIHRoaXMuc2hvd25SZXN1bHRzR2VvbWV0cmllcy5wdXNoKHJlc3VsdC5lbnRpdHkuZGF0YSBhcyBGZWF0dXJlKTtcclxuICAgICAgICAgIHRoaXMubWFwLnF1ZXJ5UmVzdWx0c092ZXJsYXkuYWRkRmVhdHVyZShyZXN1bHQuZW50aXR5LmRhdGEgYXMgRmVhdHVyZSwgRmVhdHVyZU1vdGlvbi5Ob25lKTtcclxuICAgICAgICAgIGlmICh0aGlzLmhhc0ZlYXR1cmVFbXBoYXNpc09uU2VsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYnVpbGRSZXN1bHRFbXBoYXNpcyhyZXN1bHQuZW50aXR5IGFzIFNlYXJjaFJlc3VsdDxGZWF0dXJlPiwgJ3Nob3duJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtb25pdG9yUmVzdWx0T3V0T2ZWaWV3KCkge1xyXG4gICAgdGhpcy5pc1NlbGVjdGVkUmVzdWx0T3V0T2ZWaWV3JCQgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuc3RhdGUkLFxyXG4gICAgICB0aGlzLnNlYXJjaFN0YXRlLnNlbGVjdGVkUmVzdWx0JFxyXG4gICAgXSlcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGJ1bmNoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRSZXN1bHQgPSBidW5jaFsxXSBhcyBTZWFyY2hSZXN1bHQ8RmVhdHVyZT47XHJcbiAgICAgICAgaWYgKCFzZWxlY3RlZFJlc3VsdCkge1xyXG4gICAgICAgICAgdGhpcy5pc1NlbGVjdGVkUmVzdWx0T3V0T2ZWaWV3JC5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkUmVzdWx0LmRhdGEuZ2VvbWV0cnkpIHtcclxuICAgICAgICAgIGNvbnN0IHNlbGVjdGVkT2xGZWF0dXJlID0gZmVhdHVyZVRvT2woXHJcbiAgICAgICAgICAgIHNlbGVjdGVkUmVzdWx0LmRhdGEsXHJcbiAgICAgICAgICAgIHRoaXMubWFwLnByb2plY3Rpb25cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZE9sRmVhdHVyZUV4dGVudCA9IGNvbXB1dGVPbEZlYXR1cmVzRXh0ZW50KHRoaXMubWFwLCBbXHJcbiAgICAgICAgICAgIHNlbGVjdGVkT2xGZWF0dXJlXHJcbiAgICAgICAgICBdKTtcclxuICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZFJlc3VsdE91dE9mVmlldyQubmV4dChcclxuICAgICAgICAgICAgZmVhdHVyZXNBcmVPdXRPZlZpZXcodGhpcy5tYXAsIHNlbGVjdGVkT2xGZWF0dXJlRXh0ZW50KVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZFJlc3VsdEVtcGhhc2lzKFxyXG4gICAgcmVzdWx0OiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4sXHJcbiAgICB0cmlnZ2VyOiAnc2VsZWN0ZWQnIHwgJ2ZvY3VzZWQnIHwgJ3Nob3duJyB8IHVuZGVmaW5lZFxyXG4gICkge1xyXG4gICAgaWYgKHRyaWdnZXIgIT09ICdzaG93bicpIHtcclxuICAgICAgdGhpcy5jbGVhckZlYXR1cmVFbXBoYXNpcyh0cmlnZ2VyKTtcclxuICAgIH1cclxuICAgIGlmICghcmVzdWx0IHx8ICFyZXN1bHQuZGF0YS5nZW9tZXRyeSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBteU9sRmVhdHVyZSA9IGZlYXR1cmVUb09sKHJlc3VsdC5kYXRhLCB0aGlzLm1hcC5wcm9qZWN0aW9uKTtcclxuICAgIGNvbnN0IG9sR2VvbWV0cnkgPSBteU9sRmVhdHVyZS5nZXRHZW9tZXRyeSgpO1xyXG4gICAgaWYgKGZlYXR1cmVzQXJlVG9vRGVlcEluVmlldyh0aGlzLm1hcCwgb2xHZW9tZXRyeS5nZXRFeHRlbnQoKSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSwgMC4wMDI1KSkge1xyXG4gICAgICBjb25zdCBleHRlbnQgPSBvbEdlb21ldHJ5LmdldEV4dGVudCgpO1xyXG4gICAgICBjb25zdCB4ID0gZXh0ZW50WzBdICsgKGV4dGVudFsyXSAtIGV4dGVudFswXSkgLyAyO1xyXG4gICAgICBjb25zdCB5ID0gZXh0ZW50WzFdICsgKGV4dGVudFszXSAtIGV4dGVudFsxXSkgLyAyO1xyXG4gICAgICBjb25zdCBmZWF0dXJlMSA9IG5ldyBvbEZlYXR1cmUoe1xyXG4gICAgICAgIG5hbWU6IGAke3RyaWdnZXJ9QWJzdHJhY3RSZXN1bHQnYCxcclxuICAgICAgICBnZW9tZXRyeTogbmV3IG9sUG9pbnQoW3gsIHldKVxyXG4gICAgICB9KTtcclxuICAgICAgY29uc3QgYWJzdHJhY3RSZXN1bHQgPSBmZWF0dXJlRnJvbU9sKGZlYXR1cmUxLCB0aGlzLm1hcC5wcm9qZWN0aW9uKTtcclxuXHJcbiAgICAgIGxldCBjb21wdXRlZFN0eWxlO1xyXG4gICAgICBsZXQgekluZGV4T2Zmc2V0ID0gMDtcclxuXHJcbiAgICAgIHN3aXRjaCAodHJpZ2dlcikge1xyXG4gICAgICAgIGNhc2UgJ2ZvY3VzZWQnOlxyXG4gICAgICAgICAgY29tcHV0ZWRTdHlsZSA9IGdldENvbW1vblZlY3RvclNlbGVjdGVkU3R5bGUoXHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sXHJcbiAgICAgICAgICAgICAgeyBmZWF0dXJlOiBhYnN0cmFjdFJlc3VsdCB9LFxyXG4gICAgICAgICAgICAgIHRoaXMuc2VhcmNoU3RhdGUuc2VhcmNoT3ZlcmxheVN0eWxlRm9jdXMsXHJcbiAgICAgICAgICAgICAgcmVzdWx0LnN0eWxlPy5mb2N1cyA/IHJlc3VsdC5zdHlsZS5mb2N1cyA6IHt9KSk7XHJcbiAgICAgICAgICB6SW5kZXhPZmZzZXQgPSAyO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc2hvd24nOlxyXG4gICAgICAgICAgY29tcHV0ZWRTdHlsZSA9IGdldENvbW1vblZlY3RvclN0eWxlKE9iamVjdC5hc3NpZ24oe30sXHJcbiAgICAgICAgICAgIHsgZmVhdHVyZTogYWJzdHJhY3RSZXN1bHQgfSxcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWFyY2hPdmVybGF5U3R5bGUsXHJcbiAgICAgICAgICAgIHJlc3VsdC5zdHlsZT8uYmFzZSA/IHJlc3VsdC5zdHlsZS5iYXNlIDoge30pKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3NlbGVjdGVkJzpcclxuICAgICAgICAgIGNvbXB1dGVkU3R5bGUgPSBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlKFxyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LFxyXG4gICAgICAgICAgICAgIHsgZmVhdHVyZTogYWJzdHJhY3RSZXN1bHQgfSxcclxuICAgICAgICAgICAgICB0aGlzLnNlYXJjaFN0YXRlLnNlYXJjaE92ZXJsYXlTdHlsZVNlbGVjdGlvbixcclxuICAgICAgICAgICAgICByZXN1bHQuc3R5bGU/LnNlbGVjdGlvbiA/IHJlc3VsdC5zdHlsZS5zZWxlY3Rpb24gOiB7fSkpO1xyXG4gICAgICAgICAgekluZGV4T2Zmc2V0ID0gMTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGFic3RyYWN0UmVzdWx0Lm1ldGEuc3R5bGUgPSBjb21wdXRlZFN0eWxlO1xyXG4gICAgICBhYnN0cmFjdFJlc3VsdC5tZXRhLnN0eWxlLnNldFpJbmRleCgyMDAwICsgekluZGV4T2Zmc2V0KTtcclxuICAgICAgdGhpcy5tYXAuc2VhcmNoUmVzdWx0c092ZXJsYXkuYWRkRmVhdHVyZShhYnN0cmFjdFJlc3VsdCwgRmVhdHVyZU1vdGlvbi5Ob25lKTtcclxuICAgICAgaWYgKHRyaWdnZXIgPT09ICdmb2N1c2VkJykge1xyXG4gICAgICAgIHRoaXMuYWJzdHJhY3RGb2N1c2VkUmVzdWx0ID0gYWJzdHJhY3RSZXN1bHQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRyaWdnZXIgPT09ICdzZWxlY3RlZCcpIHtcclxuICAgICAgICB0aGlzLmFic3RyYWN0U2VsZWN0ZWRSZXN1bHQgPSBhYnN0cmFjdFJlc3VsdDtcclxuICAgICAgfVxyXG4gICAgICBpZiAodHJpZ2dlciA9PT0gJ3Nob3duJykge1xyXG4gICAgICAgIHRoaXMuc2hvd25SZXN1bHRzRW1waGFzaXNHZW9tZXRyaWVzLnB1c2goYWJzdHJhY3RSZXN1bHQpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsZWFyRmVhdHVyZUVtcGhhc2lzKHRyaWdnZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhckZlYXR1cmVFbXBoYXNpcyh0cmlnZ2VyOiAnc2VsZWN0ZWQnIHwgJ2ZvY3VzZWQnIHwgJ3Nob3duJykge1xyXG4gICAgaWYgKHRyaWdnZXIgPT09ICdmb2N1c2VkJyAmJiB0aGlzLmFic3RyYWN0Rm9jdXNlZFJlc3VsdCkge1xyXG4gICAgICB0aGlzLm1hcC5zZWFyY2hSZXN1bHRzT3ZlcmxheS5yZW1vdmVGZWF0dXJlKHRoaXMuYWJzdHJhY3RGb2N1c2VkUmVzdWx0KTtcclxuICAgICAgdGhpcy5hYnN0cmFjdEZvY3VzZWRSZXN1bHQgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAodHJpZ2dlciA9PT0gJ3NlbGVjdGVkJyAmJiB0aGlzLmFic3RyYWN0U2VsZWN0ZWRSZXN1bHQpIHtcclxuICAgICAgdGhpcy5tYXAuc2VhcmNoUmVzdWx0c092ZXJsYXkucmVtb3ZlRmVhdHVyZSh0aGlzLmFic3RyYWN0U2VsZWN0ZWRSZXN1bHQpO1xyXG4gICAgICB0aGlzLmFic3RyYWN0U2VsZWN0ZWRSZXN1bHQgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAodHJpZ2dlciA9PT0gJ3Nob3duJykge1xyXG4gICAgICB0aGlzLnNob3duUmVzdWx0c0VtcGhhc2lzR2VvbWV0cmllcy5tYXAoc2hvd25SZXN1bHQgPT4gdGhpcy5tYXAuc2VhcmNoUmVzdWx0c092ZXJsYXkucmVtb3ZlRmVhdHVyZShzaG93blJlc3VsdCkpO1xyXG4gICAgICB0aGlzLnNob3duUmVzdWx0c0VtcGhhc2lzR2VvbWV0cmllcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnRvcFBhbmVsU3RhdGUkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zZWFyY2hUZXJtJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRSZXN1bHRPdXRPZlZpZXckJCkge1xyXG4gICAgICB0aGlzLmlzU2VsZWN0ZWRSZXN1bHRPdXRPZlZpZXckJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2hvd1Jlc3VsdHNHZW9tZXRyaWVzJCQpIHtcclxuICAgICAgdGhpcy5zaG93UmVzdWx0c0dlb21ldHJpZXMkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ2V0Um91dGUkJCkge1xyXG4gICAgICB0aGlzLmdldFJvdXRlJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyeSB0byBhZGQgYSBmZWF0dXJlIHRvIHRoZSBtYXAgd2hlbiBpdCdzIGJlaW5nIGZvY3VzZWRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKiBAcGFyYW0gcmVzdWx0IEEgc2VhcmNoIHJlc3VsdCB0aGF0IGNvdWxkIGJlIGEgZmVhdHVyZVxyXG4gICAqL1xyXG4gIG9uUmVzdWx0Rm9jdXMocmVzdWx0OiBTZWFyY2hSZXN1bHQpIHtcclxuICAgIHRoaXMuZm9jdXNlZFJlc3VsdCQubmV4dChyZXN1bHQpO1xyXG4gICAgaWYgKHJlc3VsdC5tZXRhLmRhdGFUeXBlID09PSBGRUFUVVJFICYmIHJlc3VsdC5kYXRhLmdlb21ldHJ5KSB7XHJcbiAgICAgIHJlc3VsdC5kYXRhLm1ldGEuc3R5bGUgPSBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlKFxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sXHJcbiAgICAgICAgICB7IGZlYXR1cmU6IHJlc3VsdC5kYXRhIGFzIEZlYXR1cmUgfCBvbEZlYXR1cmU8T2xHZW9tZXRyeT4gfSxcclxuICAgICAgICAgIHRoaXMuc2VhcmNoU3RhdGUuc2VhcmNoT3ZlcmxheVN0eWxlRm9jdXMsXHJcbiAgICAgICAgICByZXN1bHQuc3R5bGU/LmZvY3VzID8gcmVzdWx0LnN0eWxlLmZvY3VzIDoge30pKTtcclxuXHJcbiAgICAgIGNvbnN0IGZlYXR1cmUgPSB0aGlzLm1hcC5zZWFyY2hSZXN1bHRzT3ZlcmxheS5kYXRhU291cmNlLm9sLmdldEZlYXR1cmVCeUlkKHJlc3VsdC5tZXRhLmlkKTtcclxuICAgICAgaWYgKGZlYXR1cmUpIHtcclxuICAgICAgICBmZWF0dXJlLnNldFN0eWxlKHJlc3VsdC5kYXRhLm1ldGEuc3R5bGUpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm1hcC5zZWFyY2hSZXN1bHRzT3ZlcmxheS5hZGRGZWF0dXJlKHJlc3VsdC5kYXRhIGFzIEZlYXR1cmUsIEZlYXR1cmVNb3Rpb24uTm9uZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblJlc3VsdFVuZm9jdXMocmVzdWx0OiBTZWFyY2hSZXN1bHQpIHtcclxuICAgIHRoaXMuZm9jdXNlZFJlc3VsdCQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgaWYgKHJlc3VsdC5tZXRhLmRhdGFUeXBlICE9PSBGRUFUVVJFKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5zZWxlY3RlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICBjb25zdCBmZWF0dXJlID0gdGhpcy5tYXAuc2VhcmNoUmVzdWx0c092ZXJsYXkuZGF0YVNvdXJjZS5vbC5nZXRGZWF0dXJlQnlJZChyZXN1bHQubWV0YS5pZCk7XHJcbiAgICAgIGlmIChmZWF0dXJlKSB7XHJcbiAgICAgICAgY29uc3Qgc3R5bGUgPSBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlKFxyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSxcclxuICAgICAgICAgICAgeyBmZWF0dXJlOiByZXN1bHQuZGF0YSBhcyBGZWF0dXJlIHwgb2xGZWF0dXJlPE9sR2VvbWV0cnk+IH0sXHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoU3RhdGUuc2VhcmNoT3ZlcmxheVN0eWxlRm9jdXMsXHJcbiAgICAgICAgICAgIHJlc3VsdC5zdHlsZT8uZm9jdXMgPyByZXN1bHQuc3R5bGUuZm9jdXMgOiB7fSkpO1xyXG4gICAgICAgIGZlYXR1cmUuc2V0U3R5bGUoc3R5bGUpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubWFwLnNlYXJjaFJlc3VsdHNPdmVybGF5LnJlbW92ZUZlYXR1cmUocmVzdWx0LmRhdGEgYXMgRmVhdHVyZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcnkgdG8gYWRkIGEgZmVhdHVyZSB0byB0aGUgbWFwIHdoZW4gaXQncyBiZWluZyBzZWxlY3RlZFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqIEBwYXJhbSByZXN1bHQgQSBzZWFyY2ggcmVzdWx0IHRoYXQgY291bGQgYmUgYSBmZWF0dXJlIG9yIHNvbWUgbGF5ZXIgb3B0aW9uc1xyXG4gICAqL1xyXG4gIG9uUmVzdWx0U2VsZWN0KHJlc3VsdDogU2VhcmNoUmVzdWx0KSB7XHJcbiAgICB0aGlzLm1hcC5zZWFyY2hSZXN1bHRzT3ZlcmxheS5kYXRhU291cmNlLm9sLmNsZWFyKCk7XHJcbiAgICB0aGlzLnRyeUFkZEZlYXR1cmVUb01hcChyZXN1bHQpO1xyXG4gICAgdGhpcy5zZWFyY2hTdGF0ZS5zZXRTZWxlY3RlZFJlc3VsdChyZXN1bHQpO1xyXG5cclxuICAgIGlmICh0aGlzLnRvcFBhbmVsU3RhdGUgPT09ICdleHBhbmRlZCcpIHtcclxuICAgICAgY29uc3QgaWdvTGlzdCA9IHRoaXMuY29tcHV0ZUVsZW1lbnRSZWYoKVswXTtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmNvbXB1dGVFbGVtZW50UmVmKClbMV07XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIC8vIFRvIGJlIHN1cmUgdGhlIGZsZXhpYmxlIGNvbXBvbmVudCBoYXMgYmVlbiBkaXNwbGF5ZWQgeWV0XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzU2Nyb2xsZWRJbnRvVmlldyhpZ29MaXN0LCBzZWxlY3RlZCkpIHtcclxuICAgICAgICAgIHRoaXMuYWRqdXN0VG9wUGFuZWwoaWdvTGlzdCwgc2VsZWN0ZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgRmxleGlibGVDb21wb25lbnQudHJhbnNpdGlvblRpbWUgKyA1MCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudG9wUGFuZWxTdGF0ZSA9PT0gJ2luaXRpYWwnKSB7XHJcbiAgICAgIHRoaXMudG9wUGFuZWxTdGF0ZSA9ICdleHBhbmRlZCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaChldmVudDogeyByZXNlYXJjaDogUmVzZWFyY2g7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdIH0pIHtcclxuICAgIGNvbnN0IHJlc3VsdHMgPSBldmVudC5yZXN1bHRzO1xyXG4gICAgY29uc3QgbmV3UmVzdWx0cyA9IHRoaXMuc3RvcmUuZW50aXRpZXMkLnZhbHVlXHJcbiAgICAgIC5maWx0ZXIoKHJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiByZXN1bHQuc291cmNlICE9PSBldmVudC5yZXNlYXJjaC5zb3VyY2UpXHJcbiAgICAgIC5jb25jYXQocmVzdWx0cyk7XHJcblxyXG4gICAgdGhpcy5zdG9yZS5sb2FkKG5ld1Jlc3VsdHMpO1xyXG5cclxuICAgIGZvciAoY29uc3QgcmVzIG9mIHRoaXMuc3RvcmUuYWxsKCkpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuc3RvcmUuc3RhdGUuZ2V0KHJlcykuZm9jdXNlZCA9PT0gdHJ1ZSAmJlxyXG4gICAgICAgIHRoaXMuc3RvcmUuc3RhdGUuZ2V0KHJlcykuc2VsZWN0ZWQgIT09IHRydWVcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUocmVzLCB7IGZvY3VzZWQ6IGZhbHNlIH0sIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGlnb0xpc3QgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaWdvLWxpc3QnKTtcclxuICAgICAgbGV0IG1vcmVSZXN1bHRzO1xyXG4gICAgICBldmVudC5yZXNlYXJjaC5yZXF1ZXN0LnN1YnNjcmliZSgoc291cmNlKSA9PiB7XHJcbiAgICAgICAgaWYgKCFzb3VyY2VbMF0gfHwgIXNvdXJjZVswXS5zb3VyY2UpIHtcclxuICAgICAgICAgIG1vcmVSZXN1bHRzID0gbnVsbDtcclxuICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZVswXS5zb3VyY2UuZ2V0SWQoKSA9PT0gJ2ljaGVyY2hlJykge1xyXG4gICAgICAgICAgbW9yZVJlc3VsdHMgPSBpZ29MaXN0LnF1ZXJ5U2VsZWN0b3IoJy5pY2hlcmNoZSAubW9yZVJlc3VsdHMnKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZVswXS5zb3VyY2UuZ2V0SWQoKSA9PT0gJ2lsYXllcicpIHtcclxuICAgICAgICAgIG1vcmVSZXN1bHRzID0gaWdvTGlzdC5xdWVyeVNlbGVjdG9yKCcuaWxheWVyIC5tb3JlUmVzdWx0cycpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoc291cmNlWzBdLnNvdXJjZS5nZXRJZCgpID09PSAnbm9taW5hdGltJykge1xyXG4gICAgICAgICAgbW9yZVJlc3VsdHMgPSBpZ29MaXN0LnF1ZXJ5U2VsZWN0b3IoJy5ub21pbmF0aW0gLm1vcmVSZXN1bHRzJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG1vcmVSZXN1bHRzID0gaWdvTGlzdC5xdWVyeVNlbGVjdG9yKCcuJyArIHNvdXJjZVswXS5zb3VyY2UuZ2V0SWQoKSArICcgLm1vcmVSZXN1bHRzJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBtb3JlUmVzdWx0cyAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgIXRoaXMuaXNTY3JvbGxlZEludG9WaWV3KGlnb0xpc3QsIG1vcmVSZXN1bHRzKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaWdvTGlzdC5zY3JvbGxUb3AgPVxyXG4gICAgICAgICAgICBtb3JlUmVzdWx0cy5vZmZzZXRUb3AgK1xyXG4gICAgICAgICAgICBtb3JlUmVzdWx0cy5vZmZzZXRIZWlnaHQgLVxyXG4gICAgICAgICAgICBpZ29MaXN0LmNsaWVudEhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSwgMjUwKTtcclxuICB9XHJcblxyXG4gIGNvbXB1dGVFbGVtZW50UmVmKCkge1xyXG4gICAgY29uc3QgaXRlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW0nKTtcclxuICAgIGNvbnN0IGlnb0xpc3QgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXHJcbiAgICAgICdpZ28tbGlzdCdcclxuICAgIClbMF07XHJcbiAgICBsZXQgc2VsZWN0ZWRJdGVtO1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChpdGVtc1tpXS5jbGFzc05hbWUuaW5jbHVkZXMoJ2lnby1saXN0LWl0ZW0tc2VsZWN0ZWQnKSkge1xyXG4gICAgICAgIHNlbGVjdGVkSXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW2lnb0xpc3QsIHNlbGVjdGVkSXRlbV07XHJcbiAgfVxyXG5cclxuICBhZGp1c3RUb3BQYW5lbChlbGVtU291cmNlLCBlbGVtKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNTY3JvbGxlZEludG9WaWV3KGVsZW1Tb3VyY2UsIGVsZW0pKSB7XHJcbiAgICAgIGVsZW1Tb3VyY2Uuc2Nyb2xsVG9wID1cclxuICAgICAgICBlbGVtLm9mZnNldFRvcCArXHJcbiAgICAgICAgZWxlbS5jaGlsZHJlblswXS5vZmZzZXRIZWlnaHQgLVxyXG4gICAgICAgIGVsZW1Tb3VyY2UuY2xpZW50SGVpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVG9wUGFuZWwoKSB7XHJcbiAgICBpZiAodGhpcy50b3BQYW5lbFN0YXRlID09PSAnZXhwYW5kZWQnKSB7XHJcbiAgICAgIHRoaXMudG9wUGFuZWxTdGF0ZSA9ICdjb2xsYXBzZWQnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b3BQYW5lbFN0YXRlID0gJ2V4cGFuZGVkJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHpvb21Ub0ZlYXR1cmVFeHRlbnQoKSB7XHJcbiAgICBpZiAodGhpcy5mZWF0dXJlLmdlb21ldHJ5KSB7XHJcbiAgICAgIGNvbnN0IGxvY2FsT2xGZWF0dXJlID0gdGhpcy5mb3JtYXQucmVhZEZlYXR1cmUodGhpcy5mZWF0dXJlLCB7XHJcbiAgICAgICAgZGF0YVByb2plY3Rpb246IHRoaXMuZmVhdHVyZS5wcm9qZWN0aW9uLFxyXG4gICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLm1hcC5wcm9qZWN0aW9uXHJcbiAgICAgIH0pO1xyXG4gICAgICBtb3ZlVG9PbEZlYXR1cmVzKHRoaXMubWFwLCBbbG9jYWxPbEZlYXR1cmVdLCBGZWF0dXJlTW90aW9uLlpvb20pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJ5IHRvIGFkZCBhIGZlYXR1cmUgdG8gdGhlIG1hcCBvdmVybGF5XHJcbiAgICogQHBhcmFtIHJlc3VsdCBBIHNlYXJjaCByZXN1bHQgdGhhdCBjb3VsZCBiZSBhIGZlYXR1cmVcclxuICAgKi9cclxuICBwcml2YXRlIHRyeUFkZEZlYXR1cmVUb01hcChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkge1xyXG4gICAgaWYgKHJlc3VsdC5tZXRhLmRhdGFUeXBlICE9PSBGRUFUVVJFKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmZWF0dXJlID0gKHJlc3VsdCBhcyBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4pLmRhdGE7XHJcblxyXG4gICAgLy8gU29tZXRoaW1lcyBmZWF0dXJlcyBoYXZlIG5vIGdlb21ldHJ5LiBJdCBoYXBwZW5zIHdpdGggc29tZSBHZXRGZWF0dXJlSW5mb1xyXG4gICAgaWYgKCFmZWF0dXJlLmdlb21ldHJ5KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBmZWF0dXJlLm1ldGEuc3R5bGUgPSBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlKFxyXG4gICAgICBPYmplY3QuYXNzaWduKHt9LFxyXG4gICAgICAgIHsgZmVhdHVyZSB9LFxyXG4gICAgICAgIHRoaXMuc2VhcmNoU3RhdGUuc2VhcmNoT3ZlcmxheVN0eWxlU2VsZWN0aW9uLFxyXG4gICAgICAgIHJlc3VsdC5zdHlsZT8uc2VsZWN0aW9uID8gcmVzdWx0LnN0eWxlLnNlbGVjdGlvbiA6IHt9KSk7XHJcblxyXG4gICAgdGhpcy5tYXAuc2VhcmNoUmVzdWx0c092ZXJsYXkuYWRkRmVhdHVyZShmZWF0dXJlKTtcclxuICB9XHJcblxyXG4gIGlzU2Nyb2xsZWRJbnRvVmlldyhlbGVtU291cmNlLCBlbGVtKSB7XHJcbiAgICBjb25zdCBwYWRkaW5nID0gNjtcclxuICAgIGNvbnN0IGRvY1ZpZXdUb3AgPSBlbGVtU291cmNlLnNjcm9sbFRvcDtcclxuICAgIGNvbnN0IGRvY1ZpZXdCb3R0b20gPSBkb2NWaWV3VG9wICsgZWxlbVNvdXJjZS5jbGllbnRIZWlnaHQ7XHJcblxyXG4gICAgY29uc3QgZWxlbVRvcCA9IGVsZW0ub2Zmc2V0VG9wO1xyXG4gICAgY29uc3QgZWxlbUJvdHRvbSA9IGVsZW1Ub3AgKyBlbGVtLmNsaWVudEhlaWdodCArIHBhZGRpbmc7XHJcbiAgICByZXR1cm4gZWxlbUJvdHRvbSA8PSBkb2NWaWV3Qm90dG9tICYmIGVsZW1Ub3AgPj0gZG9jVmlld1RvcDtcclxuICB9XHJcblxyXG4gIGdldFJvdXRlKCkge1xyXG4gICAgdGhpcy50b29sU3RhdGUudG9vbGJveC5hY3RpdmF0ZVRvb2woJ2RpcmVjdGlvbnMnKTtcclxuICAgIHRoaXMuZGlyZWN0aW9uU3RhdGUuc3RvcHNTdG9yZS5jbGVhclN0b3BzKCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgbGV0IHJvdXRpbmdDb29yZExvYWRlZCA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5nZXRSb3V0ZSQkKSB7IHRoaXMuZ2V0Um91dGUkJC51bnN1YnNjcmliZSgpOyB9XHJcbiAgICAgIHRoaXMuZ2V0Um91dGUkJCA9IHRoaXMuZGlyZWN0aW9uU3RhdGUuc3RvcHNTdG9yZS5zdG9yZUluaXRpYWxpemVkJC5zdWJzY3JpYmUoKGluaXQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAodGhpcy5kaXJlY3Rpb25TdGF0ZS5zdG9wc1N0b3JlLnN0b3JlSW5pdGlhbGl6ZWQkLnZhbHVlICYmICFyb3V0aW5nQ29vcmRMb2FkZWQpIHtcclxuICAgICAgICAgIHJvdXRpbmdDb29yZExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICBjb25zdCBzdG9wID0gdGhpcy5kaXJlY3Rpb25TdGF0ZS5zdG9wc1N0b3JlLmFsbCgpLmZpbmQoKGUpID0+IGUucG9zaXRpb24gPT09IDEpO1xyXG4gICAgICAgICAgbGV0IGNvb3JkO1xyXG4gICAgICAgICAgaWYgKHRoaXMuZmVhdHVyZS5nZW9tZXRyeSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5mZWF0dXJlLmdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcclxuICAgICAgICAgICAgICBjb29yZCA9IFt0aGlzLmZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sIHRoaXMuZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1sxXV07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBwb2ludE9uRmVhdHVyZSh0aGlzLmZlYXR1cmUuZ2VvbWV0cnkpO1xyXG4gICAgICAgICAgICAgIGNvb3JkID0gW3BvaW50Lmdlb21ldHJ5LmNvb3JkaW5hdGVzWzBdLCBwb2ludC5nZW9tZXRyeS5jb29yZGluYXRlc1sxXV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHN0b3AudGV4dCA9IHRoaXMuZmVhdHVyZVRpdGxlO1xyXG4gICAgICAgICAgc3RvcC5jb29yZGluYXRlcyA9IGNvb3JkO1xyXG4gICAgICAgICAgdGhpcy5kaXJlY3Rpb25TdGF0ZS5zdG9wc1N0b3JlLnVwZGF0ZShzdG9wKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSwgMjUwKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIiFzdG9yZSB8fCBzdG9yZS5zdGF0ZVZpZXcuZW1wdHlcIiBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5cclxuICA8c2VjdGlvbiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICA8aDQ+PHN0cm9uZz57eyAnaWdvLmludGVncmF0aW9uLnNlYXJjaFJlc3VsdHNUb29sLm5vUmVzdWx0cycgfCB0cmFuc2xhdGUgfX08L3N0cm9uZz48L2g0PlxyXG4gICAgPHA+PHN0cm9uZz57eyAnaWdvLmludGVncmF0aW9uLnNlYXJjaFJlc3VsdHNUb29sLmRvU2VhcmNoJyB8IHRyYW5zbGF0ZSB9fTwvc3Ryb25nPjwvcD5cclxuICAgIDxkaXYgW2lubmVySFRNTF09XCInaWdvLmludGVncmF0aW9uLnNlYXJjaFJlc3VsdHNUb29sLmV4YW1wbGVzJyB8IHRyYW5zbGF0ZSB8IHNhbml0aXplSHRtbFwiPjwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbjwvZGl2PlxyXG5cclxuPGlnby1mbGV4aWJsZVxyXG4gICpuZ0lmPVwic3RvcmUgJiYgKHN0b3JlLnN0YXRlVmlldy5lbXB0eSQgfCBhc3luYyk9PT1mYWxzZVwiXHJcbiAgI3RvcFBhbmVsXHJcbiAgaW5pdGlhbD1cIjEwMCVcIlxyXG4gIGluaXRpYWxNb2JpbGU9XCIxMDAlXCJcclxuICBjb2xsYXBzZWQ9XCJjYWxjKDEwMCUgLSA1OHB4KVwiXHJcbiAgY29sbGFwc2VkTW9iaWxlPVwiY2FsYygxMDAlIC0gNThweClcIlxyXG4gIGV4cGFuZGVkPVwiNjAlXCJcclxuICBleHBhbmRlZE1vYmlsZT1cIjYwJVwiXHJcbiAgW3N0YXRlXT1cIihmZWF0dXJlJCB8wqBhc3luYykgPyB0b3BQYW5lbFN0YXRlIDogJ2luaXRpYWwnXCI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJpZ28tY29udGVudFwiPlxyXG4gICAgPGlnby1zZWFyY2gtcmVzdWx0c1xyXG4gICAgICBbc3RvcmVdPVwic3RvcmVcIlxyXG4gICAgICBbc2hvd0ljb25zXT1cInNob3dJY29uc1wiXHJcbiAgICAgIFt0ZXJtXT1cInRlcm1cIlxyXG4gICAgICBbdGVybVNwbGl0dGVyXT1cInRlcm1TcGxpdHRlclwiXHJcbiAgICAgIFtzZXR0aW5nc0NoYW5nZSRdPVwic2V0dGluZ3NDaGFuZ2UkXCJcclxuICAgICAgcGxhY2Vob2xkZXI9XCJmYWxzZVwiXHJcbiAgICAgIChyZXN1bHRGb2N1cyk9XCJvblJlc3VsdEZvY3VzKCRldmVudClcIlxyXG4gICAgICAocmVzdWx0U2VsZWN0KT1cIm9uUmVzdWx0U2VsZWN0KCRldmVudClcIlxyXG4gICAgICAocmVzdWx0VW5mb2N1cyk9XCJvblJlc3VsdFVuZm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgIChyZXN1bHRNb3VzZWVudGVyKT1cIm9uUmVzdWx0Rm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgIChyZXN1bHRNb3VzZWxlYXZlKT1cIm9uUmVzdWx0VW5mb2N1cygkZXZlbnQpXCJcclxuICAgICAgKG1vcmVSZXN1bHRzKT1cIm9uU2VhcmNoKCRldmVudClcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNpZ29TZWFyY2hJdGVtVG9vbGJhciBsZXQtcmVzdWx0PVwicmVzdWx0XCI+XHJcbiAgICAgICAgPGlnby1zZWFyY2gtYWRkLWJ1dHRvblxyXG4gICAgICAgICAgW21hcF09XCJtYXBcIlxyXG4gICAgICAgICAgW2xheWVyXT1cInJlc3VsdFwiPlxyXG4gICAgICAgIDwvaWdvLXNlYXJjaC1hZGQtYnV0dG9uPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9pZ28tc2VhcmNoLXJlc3VsdHM+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgaWdvRmxleGlibGVGaWxsIGNsYXNzPVwiaWdvLWNvbnRlbnRcIj5cclxuICAgIDxpZ28tcGFuZWwgW3RpdGxlXT1cImZlYXR1cmVUaXRsZVwiICpuZ0lmPVwiZmVhdHVyZSQgfMKgYXN5bmNcIj5cclxuXHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICBwYW5lbExlZnRCdXR0b25cclxuICAgICAgICBjbGFzcz1cImlnby1pY29uLWJ1dHRvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVRvcFBhbmVsKClcIj5cclxuICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiKHRvcFBhbmVsU3RhdGUkIHwgYXN5bmMpID09PSAnY29sbGFwc2VkJyA/ICdhcnJvdy11cCcgOiAnYXJyb3ctZG93bidcIj48L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cImZlYXR1cmUuZ2VvbWV0cnlcIlxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIHBhbmVsUmlnaHRCdXR0b25cclxuICAgICAgICBjbGFzcz1cImlnby1pY29uLWJ1dHRvblwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiKChpc1NlbGVjdGVkUmVzdWx0T3V0T2ZWaWV3JCB8IGFzeW5jKSA/ICdpZ28uaW50ZWdyYXRpb24uc2VhcmNoUmVzdWx0c1Rvb2wuem9vbU9uRmVhdHVyZVRvb2x0aXBPdXRPZlZpZXcnIDogJ2lnby5pbnRlZ3JhdGlvbi5zZWFyY2hSZXN1bHRzVG9vbC56b29tT25GZWF0dXJlVG9vbHRpcCcpIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgICAoY2xpY2spPVwiem9vbVRvRmVhdHVyZUV4dGVudCgpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgW21hdEJhZGdlXT1cIihpc1NlbGVjdGVkUmVzdWx0T3V0T2ZWaWV3JCB8IGFzeW5jKSA/ICchJyA6ICcnXCJcclxuICAgICAgICBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgW21hdEJhZGdlSGlkZGVuXT1cIihpc1NlbGVjdGVkUmVzdWx0T3V0T2ZWaWV3JCB8IGFzeW5jKT09PWZhbHNlXCIgICAgIFxyXG4gICAgICAgIHN2Z0ljb249XCJtYWduaWZ5LXBsdXMtb3V0bGluZVwiPjwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgPGlnby1mZWF0dXJlLWRldGFpbHNcclxuICAgICAgICBpZ29GZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZVxyXG4gICAgICAgIFtmZWF0dXJlXT1cImZlYXR1cmUkIHwgYXN5bmNcIlxyXG4gICAgICAgIFttYXBdPVwibWFwXCJcclxuICAgICAgICBbdG9vbGJveF09XCJ0b29sU3RhdGUudG9vbGJveFwiXHJcbiAgICAgICAgKHJvdXRpbmdFdmVudCk9XCJnZXRSb3V0ZSgpXCI+XHJcbiAgICAgIDwvaWdvLWZlYXR1cmUtZGV0YWlscz5cclxuICAgIDwvaWdvLXBhbmVsPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9pZ28tZmxleGlibGU+XHJcbiJdfQ==
|
|
574
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy10b29sL3NlYXJjaC1yZXN1bHRzLXRvb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMtdG9vbC9zZWFyY2gtcmVzdWx0cy10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLGVBQWUsRUFBZ0IsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUdwQyxPQUFPLGNBQWMsTUFBTSx3QkFBd0IsQ0FBQztBQUlwRCxPQUFPLEVBRUwsYUFBYSxFQUViLGNBQWMsRUFDZCxpQkFBaUIsRUFFbEIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUNMLE9BQU8sRUFFUCxhQUFhLEVBR2IsZ0JBQWdCLEVBRWhCLHdCQUF3QixFQUN4QixXQUFXLEVBQ1gsYUFBYSxFQUNiLG9CQUFvQixFQUNwQiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixFQUNyQixNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQzNDbkIsOEJBQW1FO0lBQ2pFLGtDQUFnQztJQUM5QiwwQkFBSTtJQUFBLDhCQUFR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QTRERixhQUFhO2tCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IG9sRm9ybWF0R2VvSlNPTiBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTic7XG5pbXBvcnQgb2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IG9sUG9pbnQgZnJvbSAnb2wvZ2VvbS9Qb2ludCc7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuXG5pbXBvcnQgcG9pbnRPbkZlYXR1cmUgZnJvbSAnQHR1cmYvcG9pbnQtb24tZmVhdHVyZSc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHtcbiAgRW50aXR5U3RvcmUsXG4gIFRvb2xDb21wb25lbnQsXG4gIEZsZXhpYmxlU3RhdGUsXG4gIGdldEVudGl0eVRpdGxlLFxuICBGbGV4aWJsZUNvbXBvbmVudCxcbiAgRW50aXR5U3RhdGVcbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgRkVBVFVSRSxcbiAgRmVhdHVyZSxcbiAgRmVhdHVyZU1vdGlvbixcbiAgU2VhcmNoUmVzdWx0LFxuICBJZ29NYXAsXG4gIG1vdmVUb09sRmVhdHVyZXMsXG4gIFJlc2VhcmNoLFxuICBmZWF0dXJlc0FyZVRvb0RlZXBJblZpZXcsXG4gIGZlYXR1cmVUb09sLFxuICBmZWF0dXJlRnJvbU9sLFxuICBnZXRDb21tb25WZWN0b3JTdHlsZSxcbiAgZ2V0Q29tbW9uVmVjdG9yU2VsZWN0ZWRTdHlsZSxcbiAgY29tcHV0ZU9sRmVhdHVyZXNFeHRlbnQsXG4gIGZlYXR1cmVzQXJlT3V0T2ZWaWV3XG59IGZyb20gJ0BpZ28yL2dlbyc7XG5cbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vLi4vbWFwL21hcC5zdGF0ZSc7XG5cbmltcG9ydCB7IFNlYXJjaFN0YXRlIH0gZnJvbSAnLi4vc2VhcmNoLnN0YXRlJztcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XG5pbXBvcnQgeyBEaXJlY3Rpb25TdGF0ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy5zdGF0ZSc7XG5cbi8qKlxuICogVG9vbCB0byBicm93c2UgdGhlIHNlYXJjaCByZXN1bHRzXG4gKi9cbkBUb29sQ29tcG9uZW50KHtcbiAgbmFtZTogJ3NlYXJjaFJlc3VsdHMnLFxuICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi50b29scy5zZWFyY2hSZXN1bHRzJyxcbiAgaWNvbjogJ21hZ25pZnknXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1yZXN1bHRzLXRvb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXJlc3VsdHMtdG9vbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdHNUb29sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogdG8gc2hvdyBoaWRlIHJlc3VsdHMgaWNvbnNcbiAgICovXG4gIEBJbnB1dCgpIHNob3dJY29uczogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBoYXNGZWF0dXJlRW1waGFzaXNPblNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgc2hvd1Jlc3VsdHNHZW9tZXRyaWVzJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBnZXRSb3V0ZSQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc2hvd25SZXN1bHRzR2VvbWV0cmllczogRmVhdHVyZVtdID0gW107XG4gIHByaXZhdGUgc2hvd25SZXN1bHRzRW1waGFzaXNHZW9tZXRyaWVzOiBGZWF0dXJlW10gPSBbXTtcbiAgcHJpdmF0ZSBmb2N1c2VkUmVzdWx0JDogQmVoYXZpb3JTdWJqZWN0PFNlYXJjaFJlc3VsdD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIHVuZGVmaW5lZFxuICApO1xuICBwdWJsaWMgaXNTZWxlY3RlZFJlc3VsdE91dE9mVmlldyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSBpc1NlbGVjdGVkUmVzdWx0T3V0T2ZWaWV3JCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBhYnN0cmFjdEZvY3VzZWRSZXN1bHQ6IEZlYXR1cmU7XG4gIHByaXZhdGUgYWJzdHJhY3RTZWxlY3RlZFJlc3VsdDogRmVhdHVyZTtcblxuICAvKipcbiAgICogU3RvcmUgaG9sZGluZyB0aGUgc2VhcmNoIHJlc3VsdHNcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgc3RvcmUoKTogRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoU3RhdGUuc3RvcmU7XG4gIH1cblxuICAvKipcbiAgICogTWFwIHRvIGRpc3BsYXkgdGhlIHJlc3VsdHMgb25cbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMubWFwU3RhdGUubWFwO1xuICB9XG5cbiAgZ2V0IGZlYXR1cmVUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZlYXR1cmUgPyBnZXRFbnRpdHlUaXRsZSh0aGlzLmZlYXR1cmUpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IGZlYXR1cmUkKCk6IE9ic2VydmFibGU8RmVhdHVyZT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlVmlld1xuICAgICAgLmZpcnN0QnkkKChlKSA9PiBlLnN0YXRlLmZvY3VzZWQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKFxuICAgICAgICAgIChlbGVtZW50KSA9PlxuICAgICAgICAgICh0aGlzLmZlYXR1cmUgPSBlbGVtZW50XG4gICAgICAgICAgICA/IChlbGVtZW50LmVudGl0eS5kYXRhIGFzIEZlYXR1cmUpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBmZWF0dXJlOiBGZWF0dXJlO1xuXG4gIHB1YmxpYyB0ZXJtID0gJyc7XG4gIHByaXZhdGUgc2VhcmNoVGVybSQkOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIHNldHRpbmdzQ2hhbmdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odW5kZWZpbmVkKTtcblxuICBwdWJsaWMgdG9wUGFuZWxTdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZsZXhpYmxlU3RhdGU+KCdpbml0aWFsJyk7XG4gIHByaXZhdGUgdG9wUGFuZWxTdGF0ZSQkOiBTdWJzY3JpcHRpb247XG5cbiAgQElucHV0KClcbiAgc2V0IHRvcFBhbmVsU3RhdGUodmFsdWU6IEZsZXhpYmxlU3RhdGUpIHtcbiAgICB0aGlzLnRvcFBhbmVsU3RhdGUkLm5leHQodmFsdWUpO1xuICB9XG4gIGdldCB0b3BQYW5lbFN0YXRlKCk6IEZsZXhpYmxlU3RhdGUge1xuICAgIHJldHVybiB0aGlzLnRvcFBhbmVsU3RhdGUkLnZhbHVlO1xuICB9XG5cbiAgZ2V0IHRlcm1TcGxpdHRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFN0YXRlLnNlYXJjaFRlcm1TcGxpdHRlciQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdCA9IG5ldyBvbEZvcm1hdEdlb0pTT04oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1hcFN0YXRlOiBNYXBTdGF0ZSxcbiAgICBwcml2YXRlIHNlYXJjaFN0YXRlOiBTZWFyY2hTdGF0ZSxcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHB1YmxpYyB0b29sU3RhdGU6IFRvb2xTdGF0ZSxcbiAgICBwcml2YXRlIGRpcmVjdGlvblN0YXRlOiBEaXJlY3Rpb25TdGF0ZSxcbiAgICBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaGFzRmVhdHVyZUVtcGhhc2lzT25TZWxlY3Rpb24gPSBjb25maWdTZXJ2aWNlLmdldENvbmZpZyhcbiAgICAgICdoYXNGZWF0dXJlRW1waGFzaXNPblNlbGVjdGlvbidcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWFyY2hUZXJtJCQgPSB0aGlzLnNlYXJjaFN0YXRlLnNlYXJjaFRlcm0kLnN1YnNjcmliZShcbiAgICAgIChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKHNlYXJjaFRlcm0gIT09IHVuZGVmaW5lZCAmJiBzZWFyY2hUZXJtICE9PSBudWxsKSB7XG4gICAgICAgICAgdGhpcy50ZXJtID0gc2VhcmNoVGVybTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG5cbiAgICBmb3IgKGNvbnN0IHJlcyBvZiB0aGlzLnN0b3JlLnN0YXRlVmlldy5hbGwkKCkudmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLnN0b3JlLnN0YXRlLmdldChyZXMuZW50aXR5KS5zZWxlY3RlZCA9PT0gdHJ1ZSkge1xuICAgICAgICB0aGlzLnRvcFBhbmVsU3RhdGUgPSAnZXhwYW5kZWQnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoU3RhdGUuc2VhcmNoU2V0dGluZ3NDaGFuZ2UkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNldHRpbmdzQ2hhbmdlJC5uZXh0KHRydWUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy50b3BQYW5lbFN0YXRlJCQgPSB0aGlzLnRvcFBhbmVsU3RhdGUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBpZ29MaXN0ID0gdGhpcy5jb21wdXRlRWxlbWVudFJlZigpWzBdO1xuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmNvbXB1dGVFbGVtZW50UmVmKClbMV07XG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgLy8gVG8gYmUgc3VyZSB0aGUgZmxleGlibGUgY29tcG9uZW50IGhhcyBiZWVuIGRpc3BsYXllZCB5ZXRcbiAgICAgICAgICBpZiAoIXRoaXMuaXNTY3JvbGxlZEludG9WaWV3KGlnb0xpc3QsIHNlbGVjdGVkKSkge1xuICAgICAgICAgICAgdGhpcy5hZGp1c3RUb3BQYW5lbChpZ29MaXN0LCBzZWxlY3RlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCBGbGV4aWJsZUNvbXBvbmVudC50cmFuc2l0aW9uVGltZSArIDUwKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmhhc0ZlYXR1cmVFbXBoYXNpc09uU2VsZWN0aW9uKSB7XG4gICAgICBpZiAoIXRoaXMuc2VhcmNoU3RhdGUuZm9jdXNlZE9yUmVzb2x1dGlvbiQkKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoU3RhdGUuZm9jdXNlZE9yUmVzb2x1dGlvbiQkID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgdGhpcy5mb2N1c2VkUmVzdWx0JCxcbiAgICAgICAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJFxuICAgICAgICBdKS5zdWJzY3JpYmUoKGJ1bmNoOiBbU2VhcmNoUmVzdWx0PEZlYXR1cmU+LCBudW1iZXJdKSA9PlxuICAgICAgICAgIHRoaXMuYnVpbGRSZXN1bHRFbXBoYXNpcyhidW5jaFswXSwgJ2ZvY3VzZWQnKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuc2VhcmNoU3RhdGUuc2VsZWN0ZWRPclJlc29sdXRpb24kJCkge1xuICAgICAgICB0aGlzLnNlYXJjaFN0YXRlLnNlbGVjdGVkT3JSZXNvbHV0aW9uJCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICB0aGlzLnNlYXJjaFN0YXRlLnNlbGVjdGVkUmVzdWx0JCxcbiAgICAgICAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJFxuICAgICAgICBdKS5zdWJzY3JpYmUoKGJ1bmNoOiBbU2VhcmNoUmVzdWx0PEZlYXR1cmU+LCBudW1iZXJdKSA9PlxuICAgICAgICAgIHRoaXMuYnVpbGRSZXN1bHRFbXBoYXNpcyhidW5jaFswXSwgJ3NlbGVjdGVkJylcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5tb25pdG9yUmVzdWx0T3V0T2ZWaWV3KCk7XG5cbiAgICB0aGlzLnNob3dSZXN1bHRzR2VvbWV0cmllcyQkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnNlYXJjaFN0YXRlLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQkLFxuICAgICAgdGhpcy5zdG9yZS5zdGF0ZVZpZXcuYWxsJCgpLFxuICAgICAgdGhpcy5mb2N1c2VkUmVzdWx0JCxcbiAgICAgIHRoaXMuc2VhcmNoU3RhdGUuc2VsZWN0ZWRSZXN1bHQkLFxuICAgICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWFyY2hUZXJtJCxcbiAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kXG4gICAgXSkuc3Vic2NyaWJlKChidW5jaDogW2Jvb2xlYW4sIHsgZW50aXR5OiBTZWFyY2hSZXN1bHQsIHN0YXRlOiBFbnRpdHlTdGF0ZSB9W10sIFNlYXJjaFJlc3VsdCwgU2VhcmNoUmVzdWx0LCBzdHJpbmcsIG51bWJlcl0pID0+IHtcblxuICAgICAgY29uc3Qgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCA9IGJ1bmNoWzBdO1xuICAgICAgY29uc3Qgc2VhcmNoUmVzdWx0cyA9IGJ1bmNoWzFdO1xuXG4gICAgICBpZiAodGhpcy5oYXNGZWF0dXJlRW1waGFzaXNPblNlbGVjdGlvbikge1xuICAgICAgICB0aGlzLmNsZWFyRmVhdHVyZUVtcGhhc2lzKCdzaG93bicpO1xuICAgICAgfVxuICAgICAgdGhpcy5zaG93blJlc3VsdHNHZW9tZXRyaWVzLm1hcChyZXN1bHQgPT4gdGhpcy5tYXAucXVlcnlSZXN1bHRzT3ZlcmxheS5yZW1vdmVGZWF0dXJlKHJlc3VsdCkpO1xuICAgICAgY29uc3QgZmVhdHVyZVRvSGFuZGxlR2VvbSA9IHNlYXJjaFJlc3VsdHNcbiAgICAgICAgLmZpbHRlcihyZXN1bHQgPT5cbiAgICAgICAgICByZXN1bHQuZW50aXR5Lm1ldGEuZGF0YVR5cGUgPT09IEZFQVRVUkUgJiZcbiAgICAgICAgICByZXN1bHQuZW50aXR5LmRhdGEuZ2VvbWV0cnkgJiZcbiAgICAgICAgICAhcmVzdWx0LnN0YXRlLnNlbGVjdGVkICYmXG4gICAgICAgICAgIXJlc3VsdC5zdGF0ZS5mb2N1c2VkKTtcblxuICAgICAgZmVhdHVyZVRvSGFuZGxlR2VvbS5tYXAocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKHNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQpIHtcbiAgICAgICAgICByZXN1bHQuZW50aXR5LmRhdGEubWV0YS5zdHlsZSA9XG4gICAgICAgICAgICBnZXRDb21tb25WZWN0b3JTdHlsZShcbiAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgICB7IGZlYXR1cmU6IHJlc3VsdC5lbnRpdHkuZGF0YSBhcyBGZWF0dXJlIHwgb2xGZWF0dXJlPE9sR2VvbWV0cnk+IH0sXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWFyY2hPdmVybGF5U3R5bGUsXG4gICAgICAgICAgICAgICAgcmVzdWx0LmVudGl0eS5zdHlsZT8uYmFzZSA/IHJlc3VsdC5lbnRpdHkuc3R5bGUuYmFzZSA6IHt9XG4gICAgICAgICAgICAgICkpO1xuICAgICAgICAgIHRoaXMuc2hvd25SZXN1bHRzR2VvbWV0cmllcy5wdXNoKHJlc3VsdC5lbnRpdHkuZGF0YSBhcyBGZWF0dXJlKTtcbiAgICAgICAgICB0aGlzLm1hcC5xdWVyeVJlc3VsdHNPdmVybGF5LmFkZEZlYXR1cmUocmVzdWx0LmVudGl0eS5kYXRhIGFzIEZlYXR1cmUsIEZlYXR1cmVNb3Rpb24uTm9uZSk7XG4gICAgICAgICAgaWYgKHRoaXMuaGFzRmVhdHVyZUVtcGhhc2lzT25TZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRSZXN1bHRFbXBoYXNpcyhyZXN1bHQuZW50aXR5IGFzIFNlYXJjaFJlc3VsdDxGZWF0dXJlPiwgJ3Nob3duJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbW9uaXRvclJlc3VsdE91dE9mVmlldygpIHtcbiAgICB0aGlzLmlzU2VsZWN0ZWRSZXN1bHRPdXRPZlZpZXckJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIuc3RhdGUkLFxuICAgICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWxlY3RlZFJlc3VsdCRcbiAgICBdKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXG4gICAgICAuc3Vic2NyaWJlKChidW5jaCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZFJlc3VsdCA9IGJ1bmNoWzFdIGFzIFNlYXJjaFJlc3VsdDxGZWF0dXJlPjtcbiAgICAgICAgaWYgKCFzZWxlY3RlZFJlc3VsdCkge1xuICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZFJlc3VsdE91dE9mVmlldyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxlY3RlZFJlc3VsdC5kYXRhLmdlb21ldHJ5KSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRPbEZlYXR1cmUgPSBmZWF0dXJlVG9PbChcbiAgICAgICAgICAgIHNlbGVjdGVkUmVzdWx0LmRhdGEsXG4gICAgICAgICAgICB0aGlzLm1hcC5wcm9qZWN0aW9uXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZE9sRmVhdHVyZUV4dGVudCA9IGNvbXB1dGVPbEZlYXR1cmVzRXh0ZW50KHRoaXMubWFwLCBbXG4gICAgICAgICAgICBzZWxlY3RlZE9sRmVhdHVyZVxuICAgICAgICAgIF0pO1xuICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZFJlc3VsdE91dE9mVmlldyQubmV4dChcbiAgICAgICAgICAgIGZlYXR1cmVzQXJlT3V0T2ZWaWV3KHRoaXMubWFwLCBzZWxlY3RlZE9sRmVhdHVyZUV4dGVudClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRSZXN1bHRFbXBoYXNpcyhcbiAgICByZXN1bHQ6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPixcbiAgICB0cmlnZ2VyOiAnc2VsZWN0ZWQnIHwgJ2ZvY3VzZWQnIHwgJ3Nob3duJyB8IHVuZGVmaW5lZFxuICApIHtcbiAgICBpZiAodHJpZ2dlciAhPT0gJ3Nob3duJykge1xuICAgICAgdGhpcy5jbGVhckZlYXR1cmVFbXBoYXNpcyh0cmlnZ2VyKTtcbiAgICB9XG4gICAgaWYgKCFyZXN1bHQgfHwgIXJlc3VsdC5kYXRhLmdlb21ldHJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG15T2xGZWF0dXJlID0gZmVhdHVyZVRvT2wocmVzdWx0LmRhdGEsIHRoaXMubWFwLnByb2plY3Rpb24pO1xuICAgIGNvbnN0IG9sR2VvbWV0cnkgPSBteU9sRmVhdHVyZS5nZXRHZW9tZXRyeSgpO1xuICAgIGlmIChmZWF0dXJlc0FyZVRvb0RlZXBJblZpZXcodGhpcy5tYXAsIG9sR2VvbWV0cnkuZ2V0RXh0ZW50KCkgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sIDAuMDAyNSkpIHtcbiAgICAgIGNvbnN0IGV4dGVudCA9IG9sR2VvbWV0cnkuZ2V0RXh0ZW50KCk7XG4gICAgICBjb25zdCB4ID0gZXh0ZW50WzBdICsgKGV4dGVudFsyXSAtIGV4dGVudFswXSkgLyAyO1xuICAgICAgY29uc3QgeSA9IGV4dGVudFsxXSArIChleHRlbnRbM10gLSBleHRlbnRbMV0pIC8gMjtcbiAgICAgIGNvbnN0IGZlYXR1cmUxID0gbmV3IG9sRmVhdHVyZSh7XG4gICAgICAgIG5hbWU6IGAke3RyaWdnZXJ9QWJzdHJhY3RSZXN1bHQnYCxcbiAgICAgICAgZ2VvbWV0cnk6IG5ldyBvbFBvaW50KFt4LCB5XSlcbiAgICAgIH0pO1xuICAgICAgY29uc3QgYWJzdHJhY3RSZXN1bHQgPSBmZWF0dXJlRnJvbU9sKGZlYXR1cmUxLCB0aGlzLm1hcC5wcm9qZWN0aW9uKTtcblxuICAgICAgbGV0IGNvbXB1dGVkU3R5bGU7XG4gICAgICBsZXQgekluZGV4T2Zmc2V0ID0gMDtcblxuICAgICAgc3dpdGNoICh0cmlnZ2VyKSB7XG4gICAgICAgIGNhc2UgJ2ZvY3VzZWQnOlxuICAgICAgICAgIGNvbXB1dGVkU3R5bGUgPSBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlKFxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSxcbiAgICAgICAgICAgICAgeyBmZWF0dXJlOiBhYnN0cmFjdFJlc3VsdCB9LFxuICAgICAgICAgICAgICB0aGlzLnNlYXJjaFN0YXRlLnNlYXJjaE92ZXJsYXlTdHlsZUZvY3VzLFxuICAgICAgICAgICAgICByZXN1bHQuc3R5bGU/LmZvY3VzID8gcmVzdWx0LnN0eWxlLmZvY3VzIDoge30pKTtcbiAgICAgICAgICB6SW5kZXhPZmZzZXQgPSAyO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzaG93bic6XG4gICAgICAgICAgY29tcHV0ZWRTdHlsZSA9IGdldENvbW1vblZlY3RvclN0eWxlKE9iamVjdC5hc3NpZ24oe30sXG4gICAgICAgICAgICB7IGZlYXR1cmU6IGFic3RyYWN0UmVzdWx0IH0sXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFN0YXRlLnNlYXJjaE92ZXJsYXlTdHlsZSxcbiAgICAgICAgICAgIHJlc3VsdC5zdHlsZT8uYmFzZSA/IHJlc3VsdC5zdHlsZS5iYXNlIDoge30pKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnc2VsZWN0ZWQnOlxuICAgICAgICAgIGNvbXB1dGVkU3R5bGUgPSBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlKFxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSxcbiAgICAgICAgICAgICAgeyBmZWF0dXJlOiBhYnN0cmFjdFJlc3VsdCB9LFxuICAgICAgICAgICAgICB0aGlzLnNlYXJjaFN0YXRlLnNlYXJjaE92ZXJsYXlTdHlsZVNlbGVjdGlvbixcbiAgICAgICAgICAgICAgcmVzdWx0LnN0eWxlPy5zZWxlY3Rpb24gPyByZXN1bHQuc3R5bGUuc2VsZWN0aW9uIDoge30pKTtcbiAgICAgICAgICB6SW5kZXhPZmZzZXQgPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgYWJzdHJhY3RSZXN1bHQubWV0YS5zdHlsZSA9IGNvbXB1dGVkU3R5bGU7XG4gICAgICBhYnN0cmFjdFJlc3VsdC5tZXRhLnN0eWxlLnNldFpJbmRleCgyMDAwICsgekluZGV4T2Zmc2V0KTtcbiAgICAgIHRoaXMubWFwLnNlYXJjaFJlc3VsdHNPdmVybGF5LmFkZEZlYXR1cmUoYWJzdHJhY3RSZXN1bHQsIEZlYXR1cmVNb3Rpb24uTm9uZSk7XG4gICAgICBpZiAodHJpZ2dlciA9PT0gJ2ZvY3VzZWQnKSB7XG4gICAgICAgIHRoaXMuYWJzdHJhY3RGb2N1c2VkUmVzdWx0ID0gYWJzdHJhY3RSZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAodHJpZ2dlciA9PT0gJ3NlbGVjdGVkJykge1xuICAgICAgICB0aGlzLmFic3RyYWN0U2VsZWN0ZWRSZXN1bHQgPSBhYnN0cmFjdFJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGlmICh0cmlnZ2VyID09PSAnc2hvd24nKSB7XG4gICAgICAgIHRoaXMuc2hvd25SZXN1bHRzRW1waGFzaXNHZW9tZXRyaWVzLnB1c2goYWJzdHJhY3RSZXN1bHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyRmVhdHVyZUVtcGhhc2lzKHRyaWdnZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJGZWF0dXJlRW1waGFzaXModHJpZ2dlcjogJ3NlbGVjdGVkJyB8ICdmb2N1c2VkJyB8ICdzaG93bicpIHtcbiAgICBpZiAodHJpZ2dlciA9PT0gJ2ZvY3VzZWQnICYmIHRoaXMuYWJzdHJhY3RGb2N1c2VkUmVzdWx0KSB7XG4gICAgICB0aGlzLm1hcC5zZWFyY2hSZXN1bHRzT3ZlcmxheS5yZW1vdmVGZWF0dXJlKHRoaXMuYWJzdHJhY3RGb2N1c2VkUmVzdWx0KTtcbiAgICAgIHRoaXMuYWJzdHJhY3RGb2N1c2VkUmVzdWx0ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAodHJpZ2dlciA9PT0gJ3NlbGVjdGVkJyAmJiB0aGlzLmFic3RyYWN0U2VsZWN0ZWRSZXN1bHQpIHtcbiAgICAgIHRoaXMubWFwLnNlYXJjaFJlc3VsdHNPdmVybGF5LnJlbW92ZUZlYXR1cmUodGhpcy5hYnN0cmFjdFNlbGVjdGVkUmVzdWx0KTtcbiAgICAgIHRoaXMuYWJzdHJhY3RTZWxlY3RlZFJlc3VsdCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKHRyaWdnZXIgPT09ICdzaG93bicpIHtcbiAgICAgIHRoaXMuc2hvd25SZXN1bHRzRW1waGFzaXNHZW9tZXRyaWVzLm1hcChzaG93blJlc3VsdCA9PiB0aGlzLm1hcC5zZWFyY2hSZXN1bHRzT3ZlcmxheS5yZW1vdmVGZWF0dXJlKHNob3duUmVzdWx0KSk7XG4gICAgICB0aGlzLnNob3duUmVzdWx0c0VtcGhhc2lzR2VvbWV0cmllcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudG9wUGFuZWxTdGF0ZSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zZWFyY2hUZXJtJCQudW5zdWJzY3JpYmUoKTtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkUmVzdWx0T3V0T2ZWaWV3JCQpIHtcbiAgICAgIHRoaXMuaXNTZWxlY3RlZFJlc3VsdE91dE9mVmlldyQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNob3dSZXN1bHRzR2VvbWV0cmllcyQkKSB7XG4gICAgICB0aGlzLnNob3dSZXN1bHRzR2VvbWV0cmllcyQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmdldFJvdXRlJCQpIHtcbiAgICAgIHRoaXMuZ2V0Um91dGUkJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcnkgdG8gYWRkIGEgZmVhdHVyZSB0byB0aGUgbWFwIHdoZW4gaXQncyBiZWluZyBmb2N1c2VkXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAcGFyYW0gcmVzdWx0IEEgc2VhcmNoIHJlc3VsdCB0aGF0IGNvdWxkIGJlIGEgZmVhdHVyZVxuICAgKi9cbiAgb25SZXN1bHRGb2N1cyhyZXN1bHQ6IFNlYXJjaFJlc3VsdCkge1xuICAgIHRoaXMuZm9jdXNlZFJlc3VsdCQubmV4dChyZXN1bHQpO1xuICAgIGlmIChyZXN1bHQubWV0YS5kYXRhVHlwZSA9PT0gRkVBVFVSRSAmJiByZXN1bHQuZGF0YS5nZW9tZXRyeSkge1xuICAgICAgcmVzdWx0LmRhdGEubWV0YS5zdHlsZSA9IGdldENvbW1vblZlY3RvclNlbGVjdGVkU3R5bGUoXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sXG4gICAgICAgICAgeyBmZWF0dXJlOiByZXN1bHQuZGF0YSBhcyBGZWF0dXJlIHwgb2xGZWF0dXJlPE9sR2VvbWV0cnk+IH0sXG4gICAgICAgICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWFyY2hPdmVybGF5U3R5bGVGb2N1cyxcbiAgICAgICAgICByZXN1bHQuc3R5bGU/LmZvY3VzID8gcmVzdWx0LnN0eWxlLmZvY3VzIDoge30pKTtcblxuICAgICAgY29uc3QgZmVhdHVyZSA9IHRoaXMubWFwLnNlYXJjaFJlc3VsdHNPdmVybGF5LmRhdGFTb3VyY2Uub2wuZ2V0RmVhdHVyZUJ5SWQocmVzdWx0Lm1ldGEuaWQpO1xuICAgICAgaWYgKGZlYXR1cmUpIHtcbiAgICAgICAgZmVhdHVyZS5zZXRTdHlsZShyZXN1bHQuZGF0YS5tZXRhLnN0eWxlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5tYXAuc2VhcmNoUmVzdWx0c092ZXJsYXkuYWRkRmVhdHVyZShyZXN1bHQuZGF0YSBhcyBGZWF0dXJlLCBGZWF0dXJlTW90aW9uLk5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIG9uUmVzdWx0VW5mb2N1cyhyZXN1bHQ6IFNlYXJjaFJlc3VsdCkge1xuICAgIHRoaXMuZm9jdXNlZFJlc3VsdCQubmV4dCh1bmRlZmluZWQpO1xuICAgIGlmIChyZXN1bHQubWV0YS5kYXRhVHlwZSAhPT0gRkVBVFVSRSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN0b3JlLnN0YXRlLmdldChyZXN1bHQpLnNlbGVjdGVkID09PSB0cnVlKSB7XG4gICAgICBjb25zdCBmZWF0dXJlID0gdGhpcy5tYXAuc2VhcmNoUmVzdWx0c092ZXJsYXkuZGF0YVNvdXJjZS5vbC5nZXRGZWF0dXJlQnlJZChyZXN1bHQubWV0YS5pZCk7XG4gICAgICBpZiAoZmVhdHVyZSkge1xuICAgICAgICBjb25zdCBzdHlsZSA9IGdldENvbW1vblZlY3RvclNlbGVjdGVkU3R5bGUoXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSxcbiAgICAgICAgICAgIHsgZmVhdHVyZTogcmVzdWx0LmRhdGEgYXMgRmVhdHVyZSB8IG9sRmVhdHVyZTxPbEdlb21ldHJ5PiB9LFxuICAgICAgICAgICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWFyY2hPdmVybGF5U3R5bGVGb2N1cyxcbiAgICAgICAgICAgIHJlc3VsdC5zdHlsZT8uZm9jdXMgPyByZXN1bHQuc3R5bGUuZm9jdXMgOiB7fSkpO1xuICAgICAgICBmZWF0dXJlLnNldFN0eWxlKHN0eWxlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5tYXAuc2VhcmNoUmVzdWx0c092ZXJsYXkucmVtb3ZlRmVhdHVyZShyZXN1bHQuZGF0YSBhcyBGZWF0dXJlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcnkgdG8gYWRkIGEgZmVhdHVyZSB0byB0aGUgbWFwIHdoZW4gaXQncyBiZWluZyBzZWxlY3RlZFxuICAgKiBAaW50ZXJuYWxcbiAgICogQHBhcmFtIHJlc3VsdCBBIHNlYXJjaCByZXN1bHQgdGhhdCBjb3VsZCBiZSBhIGZlYXR1cmUgb3Igc29tZSBsYXllciBvcHRpb25zXG4gICAqL1xuICBvblJlc3VsdFNlbGVjdChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkge1xuICAgIHRoaXMubWFwLnNlYXJjaFJlc3VsdHNPdmVybGF5LmRhdGFTb3VyY2Uub2wuY2xlYXIoKTtcbiAgICB0aGlzLnRyeUFkZEZlYXR1cmVUb01hcChyZXN1bHQpO1xuICAgIHRoaXMuc2VhcmNoU3RhdGUuc2V0U2VsZWN0ZWRSZXN1bHQocmVzdWx0KTtcblxuICAgIGlmICh0aGlzLnRvcFBhbmVsU3RhdGUgPT09ICdleHBhbmRlZCcpIHtcbiAgICAgIGNvbnN0IGlnb0xpc3QgPSB0aGlzLmNvbXB1dGVFbGVtZW50UmVmKClbMF07XG4gICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuY29tcHV0ZUVsZW1lbnRSZWYoKVsxXTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAvLyBUbyBiZSBzdXJlIHRoZSBmbGV4aWJsZSBjb21wb25lbnQgaGFzIGJlZW4gZGlzcGxheWVkIHlldFxuICAgICAgICBpZiAoIXRoaXMuaXNTY3JvbGxlZEludG9WaWV3KGlnb0xpc3QsIHNlbGVjdGVkKSkge1xuICAgICAgICAgIHRoaXMuYWRqdXN0VG9wUGFuZWwoaWdvTGlzdCwgc2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9LCBGbGV4aWJsZUNvbXBvbmVudC50cmFuc2l0aW9uVGltZSArIDUwKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50b3BQYW5lbFN0YXRlID09PSAnaW5pdGlhbCcpIHtcbiAgICAgIHRoaXMudG9wUGFuZWxTdGF0ZSA9ICdleHBhbmRlZCc7XG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2goZXZlbnQ6IHsgcmVzZWFyY2g6IFJlc2VhcmNoOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9KSB7XG4gICAgY29uc3QgcmVzdWx0cyA9IGV2ZW50LnJlc3VsdHM7XG4gICAgY29uc3QgbmV3UmVzdWx0cyA9IHRoaXMuc3RvcmUuZW50aXRpZXMkLnZhbHVlXG4gICAgICAuZmlsdGVyKChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkgPT4gcmVzdWx0LnNvdXJjZSAhPT0gZXZlbnQucmVzZWFyY2guc291cmNlKVxuICAgICAgLmNvbmNhdChyZXN1bHRzKTtcblxuICAgIHRoaXMuc3RvcmUubG9hZChuZXdSZXN1bHRzKTtcblxuICAgIGZvciAoY29uc3QgcmVzIG9mIHRoaXMuc3RvcmUuYWxsKCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5zdG9yZS5zdGF0ZS5nZXQocmVzKS5mb2N1c2VkID09PSB0cnVlICYmXG4gICAgICAgIHRoaXMuc3RvcmUuc3RhdGUuZ2V0KHJlcykuc2VsZWN0ZWQgIT09IHRydWVcbiAgICAgICkge1xuICAgICAgICB0aGlzLnN0b3JlLnN0YXRlLnVwZGF0ZShyZXMsIHsgZm9jdXNlZDogZmFsc2UgfSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBpZ29MaXN0ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lnby1saXN0Jyk7XG4gICAgICBsZXQgbW9yZVJlc3VsdHM7XG4gICAgICBldmVudC5yZXNlYXJjaC5yZXF1ZXN0LnN1YnNjcmliZSgoc291cmNlKSA9PiB7XG4gICAgICAgIGlmICghc291cmNlWzBdIHx8ICFzb3VyY2VbMF0uc291cmNlKSB7XG4gICAgICAgICAgbW9yZVJlc3VsdHMgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZVswXS5zb3VyY2UuZ2V0SWQoKSA9PT0gJ2ljaGVyY2hlJykge1xuICAgICAgICAgIG1vcmVSZXN1bHRzID0gaWdvTGlzdC5xdWVyeVNlbGVjdG9yKCcuaWNoZXJjaGUgLm1vcmVSZXN1bHRzJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoc291cmNlWzBdLnNvdXJjZS5nZXRJZCgpID09PSAnaWxheWVyJykge1xuICAgICAgICAgIG1vcmVSZXN1bHRzID0gaWdvTGlzdC5xdWVyeVNlbGVjdG9yKCcuaWxheWVyIC5tb3JlUmVzdWx0cycpO1xuICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZVswXS5zb3VyY2UuZ2V0SWQoKSA9PT0gJ25vbWluYXRpbScpIHtcbiAgICAgICAgICBtb3JlUmVzdWx0cyA9IGlnb0xpc3QucXVlcnlTZWxlY3RvcignLm5vbWluYXRpbSAubW9yZVJlc3VsdHMnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtb3JlUmVzdWx0cyA9IGlnb0xpc3QucXVlcnlTZWxlY3RvcignLicgKyBzb3VyY2VbMF0uc291cmNlLmdldElkKCkgKyAnIC5tb3JlUmVzdWx0cycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIG1vcmVSZXN1bHRzICE9PSBudWxsICYmXG4gICAgICAgICAgIXRoaXMuaXNTY3JvbGxlZEludG9WaWV3KGlnb0xpc3QsIG1vcmVSZXN1bHRzKVxuICAgICAgICApIHtcbiAgICAgICAgICBpZ29MaXN0LnNjcm9sbFRvcCA9XG4gICAgICAgICAgICBtb3JlUmVzdWx0cy5vZmZzZXRUb3AgK1xuICAgICAgICAgICAgbW9yZVJlc3VsdHMub2Zmc2V0SGVpZ2h0IC1cbiAgICAgICAgICAgIGlnb0xpc3QuY2xpZW50SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCAyNTApO1xuICB9XG5cbiAgY29tcHV0ZUVsZW1lbnRSZWYoKSB7XG4gICAgY29uc3QgaXRlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW0nKTtcbiAgICBjb25zdCBpZ29MaXN0ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFxuICAgICAgJ2lnby1saXN0J1xuICAgIClbMF07XG4gICAgbGV0IHNlbGVjdGVkSXRlbTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoaXRlbXNbaV0uY2xhc3NOYW1lLmluY2x1ZGVzKCdpZ28tbGlzdC1pdGVtLXNlbGVjdGVkJykpIHtcbiAgICAgICAgc2VsZWN0ZWRJdGVtID0gaXRlbXNbaV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbaWdvTGlzdCwgc2VsZWN0ZWRJdGVtXTtcbiAgfVxuXG4gIGFkanVzdFRvcFBhbmVsKGVsZW1Tb3VyY2UsIGVsZW0pIHtcbiAgICBpZiAoIXRoaXMuaXNTY3JvbGxlZEludG9WaWV3KGVsZW1Tb3VyY2UsIGVsZW0pKSB7XG4gICAgICBlbGVtU291cmNlLnNjcm9sbFRvcCA9XG4gICAgICAgIGVsZW0ub2Zmc2V0VG9wICtcbiAgICAgICAgZWxlbS5jaGlsZHJlblswXS5vZmZzZXRIZWlnaHQgLVxuICAgICAgICBlbGVtU291cmNlLmNsaWVudEhlaWdodDtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVUb3BQYW5lbCgpIHtcbiAgICBpZiAodGhpcy50b3BQYW5lbFN0YXRlID09PSAnZXhwYW5kZWQnKSB7XG4gICAgICB0aGlzLnRvcFBhbmVsU3RhdGUgPSAnY29sbGFwc2VkJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50b3BQYW5lbFN0YXRlID0gJ2V4cGFuZGVkJztcbiAgICB9XG4gIH1cblxuICB6b29tVG9GZWF0dXJlRXh0ZW50KCkge1xuICAgIGlmICh0aGlzLmZlYXR1cmUuZ2VvbWV0cnkpIHtcbiAgICAgIGNvbnN0IGxvY2FsT2xGZWF0dXJlID0gdGhpcy5mb3JtYXQucmVhZEZlYXR1cmUodGhpcy5mZWF0dXJlLCB7XG4gICAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLmZlYXR1cmUucHJvamVjdGlvbixcbiAgICAgICAgZmVhdHVyZVByb2plY3Rpb246IHRoaXMubWFwLnByb2plY3Rpb25cbiAgICAgIH0pO1xuICAgICAgbW92ZVRvT2xGZWF0dXJlcyh0aGlzLm1hcCwgW2xvY2FsT2xGZWF0dXJlXSwgRmVhdHVyZU1vdGlvbi5ab29tKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJ5IHRvIGFkZCBhIGZlYXR1cmUgdG8gdGhlIG1hcCBvdmVybGF5XG4gICAqIEBwYXJhbSByZXN1bHQgQSBzZWFyY2ggcmVzdWx0IHRoYXQgY291bGQgYmUgYSBmZWF0dXJlXG4gICAqL1xuICBwcml2YXRlIHRyeUFkZEZlYXR1cmVUb01hcChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkge1xuICAgIGlmIChyZXN1bHQubWV0YS5kYXRhVHlwZSAhPT0gRkVBVFVSRSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgZmVhdHVyZSA9IChyZXN1bHQgYXMgU2VhcmNoUmVzdWx0PEZlYXR1cmU+KS5kYXRhO1xuXG4gICAgLy8gU29tZXRoaW1lcyBmZWF0dXJlcyBoYXZlIG5vIGdlb21ldHJ5LiBJdCBoYXBwZW5zIHdpdGggc29tZSBHZXRGZWF0dXJlSW5mb1xuICAgIGlmICghZmVhdHVyZS5nZW9tZXRyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZlYXR1cmUubWV0YS5zdHlsZSA9IGdldENvbW1vblZlY3RvclNlbGVjdGVkU3R5bGUoXG4gICAgICBPYmplY3QuYXNzaWduKHt9LFxuICAgICAgICB7IGZlYXR1cmUgfSxcbiAgICAgICAgdGhpcy5zZWFyY2hTdGF0ZS5zZWFyY2hPdmVybGF5U3R5bGVTZWxlY3Rpb24sXG4gICAgICAgIHJlc3VsdC5zdHlsZT8uc2VsZWN0aW9uID8gcmVzdWx0LnN0eWxlLnNlbGVjdGlvbiA6IHt9KSk7XG5cbiAgICB0aGlzLm1hcC5zZWFyY2hSZXN1bHRzT3ZlcmxheS5hZGRGZWF0dXJlKGZlYXR1cmUpO1xuICB9XG5cbiAgaXNTY3JvbGxlZEludG9WaWV3KGVsZW1Tb3VyY2UsIGVsZW0pIHtcbiAgICBjb25zdCBwYWRkaW5nID0gNjtcbiAgICBjb25zdCBkb2NWaWV3VG9wID0gZWxlbVNvdXJjZS5zY3JvbGxUb3A7XG4gICAgY29uc3QgZG9jVmlld0JvdHRvbSA9IGRvY1ZpZXdUb3AgKyBlbGVtU291cmNlLmNsaWVudEhlaWdodDtcblxuICAgIGNvbnN0IGVsZW1Ub3AgPSBlbGVtLm9mZnNldFRvcDtcbiAgICBjb25zdCBlbGVtQm90dG9tID0gZWxlbVRvcCArIGVsZW0uY2xpZW50SGVpZ2h0ICsgcGFkZGluZztcbiAgICByZXR1cm4gZWxlbUJvdHRvbSA8PSBkb2NWaWV3Qm90dG9tICYmIGVsZW1Ub3AgPj0gZG9jVmlld1RvcDtcbiAgfVxuXG4gIGdldFJvdXRlKCkge1xuICAgIHRoaXMudG9vbFN0YXRlLnRvb2xib3guYWN0aXZhdGVUb29sKCdkaXJlY3Rpb25zJyk7XG4gICAgdGhpcy5kaXJlY3Rpb25TdGF0ZS5zdG9wc1N0b3JlLmNsZWFyU3RvcHMoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGxldCByb3V0aW5nQ29vcmRMb2FkZWQgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLmdldFJvdXRlJCQpIHsgdGhpcy5nZXRSb3V0ZSQkLnVuc3Vic2NyaWJlKCk7IH1cbiAgICAgIHRoaXMuZ2V0Um91dGUkJCA9IHRoaXMuZGlyZWN0aW9uU3RhdGUuc3RvcHNTdG9yZS5zdG9yZUluaXRpYWxpemVkJC5zdWJzY3JpYmUoKGluaXQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlyZWN0aW9uU3RhdGUuc3RvcHNTdG9yZS5zdG9yZUluaXRpYWxpemVkJC52YWx1ZSAmJiAhcm91dGluZ0Nvb3JkTG9hZGVkKSB7XG4gICAgICAgICAgcm91dGluZ0Nvb3JkTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICBjb25zdCBzdG9wID0gdGhpcy5kaXJlY3Rpb25TdGF0ZS5zdG9wc1N0b3JlLmFsbCgpLmZpbmQoKGUpID0+IGUucG9zaXRpb24gPT09IDEpO1xuICAgICAgICAgIGxldCBjb29yZDtcbiAgICAgICAgICBpZiAodGhpcy5mZWF0dXJlLmdlb21ldHJ5KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5mZWF0dXJlLmdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcbiAgICAgICAgICAgICAgY29vcmQgPSBbdGhpcy5mZWF0dXJlLmdlb21ldHJ5LmNvb3JkaW5hdGVzWzBdLCB0aGlzLmZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMV1dO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBwb2ludE9uRmVhdHVyZSh0aGlzLmZlYXR1cmUuZ2VvbWV0cnkpO1xuICAgICAgICAgICAgICBjb29yZCA9IFtwb2ludC5nZW9tZXRyeS5jb29yZGluYXRlc1swXSwgcG9pbnQuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMV1dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBzdG9wLnRleHQgPSB0aGlzLmZlYXR1cmVUaXRsZTtcbiAgICAgICAgICBzdG9wLmNvb3JkaW5hdGVzID0gY29vcmQ7XG4gICAgICAgICAgdGhpcy5kaXJlY3Rpb25TdGF0ZS5zdG9wc1N0b3JlLnVwZGF0ZShzdG9wKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSwgMjUwKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIiFzdG9yZSB8fCBzdG9yZS5zdGF0ZVZpZXcuZW1wdHlcIiBzdHlsZT1cIm1hcmdpbjogMTBweDtcIj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICAgIDxoND48c3Ryb25nPnt7ICdpZ28uaW50ZWdyYXRpb24uc2VhcmNoUmVzdWx0c1Rvb2wubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZSB9fTwvc3Ryb25nPjwvaDQ+XG4gICAgPHA+PHN0cm9uZz57eyAnaWdvLmludGVncmF0aW9uLnNlYXJjaFJlc3VsdHNUb29sLmRvU2VhcmNoJyB8IHRyYW5zbGF0ZSB9fTwvc3Ryb25nPjwvcD5cbiAgICA8ZGl2IFtpbm5lckhUTUxdPVwiJ2lnby5pbnRlZ3JhdGlvbi5zZWFyY2hSZXN1bHRzVG9vbC5leGFtcGxlcycgfCB0cmFuc2xhdGUgfCBzYW5pdGl6ZUh0bWxcIj48L2Rpdj5cbjwvc2VjdGlvbj5cbjwvZGl2PlxuXG48aWdvLWZsZXhpYmxlXG4gICpuZ0lmPVwic3RvcmUgJiYgKHN0b3JlLnN0YXRlVmlldy5lbXB0eSQgfCBhc3luYyk9PT1mYWxzZVwiXG4gICN0b3BQYW5lbFxuICBpbml0aWFsPVwiMTAwJVwiXG4gIGluaXRpYWxNb2JpbGU9XCIxMDAlXCJcbiAgY29sbGFwc2VkPVwiY2FsYygxMDAlIC0gNThweClcIlxuICBjb2xsYXBzZWRNb2JpbGU9XCJjYWxjKDEwMCUgLSA1OHB4KVwiXG4gIGV4cGFuZGVkPVwiNjAlXCJcbiAgZXhwYW5kZWRNb2JpbGU9XCI2MCVcIlxuICBbc3RhdGVdPVwiKGZlYXR1cmUkIHzCoGFzeW5jKSA/IHRvcFBhbmVsU3RhdGUgOiAnaW5pdGlhbCdcIj5cblxuICA8ZGl2IGNsYXNzPVwiaWdvLWNvbnRlbnRcIj5cbiAgICA8aWdvLXNlYXJjaC1yZXN1bHRzXG4gICAgICBbc3RvcmVdPVwic3RvcmVcIlxuICAgICAgW3Nob3dJY29uc109XCJzaG93SWNvbnNcIlxuICAgICAgW3Rlcm1dPVwidGVybVwiXG4gICAgICBbdGVybVNwbGl0dGVyXT1cInRlcm1TcGxpdHRlclwiXG4gICAgICBbc2V0dGluZ3NDaGFuZ2UkXT1cInNldHRpbmdzQ2hhbmdlJFwiXG4gICAgICBwbGFjZWhvbGRlcj1cImZhbHNlXCJcbiAgICAgIChyZXN1bHRGb2N1cyk9XCJvblJlc3VsdEZvY3VzKCRldmVudClcIlxuICAgICAgKHJlc3VsdFNlbGVjdCk9XCJvblJlc3VsdFNlbGVjdCgkZXZlbnQpXCJcbiAgICAgIChyZXN1bHRVbmZvY3VzKT1cIm9uUmVzdWx0VW5mb2N1cygkZXZlbnQpXCJcbiAgICAgIChyZXN1bHRNb3VzZWVudGVyKT1cIm9uUmVzdWx0Rm9jdXMoJGV2ZW50KVwiXG4gICAgICAocmVzdWx0TW91c2VsZWF2ZSk9XCJvblJlc3VsdFVuZm9jdXMoJGV2ZW50KVwiXG4gICAgICAobW9yZVJlc3VsdHMpPVwib25TZWFyY2goJGV2ZW50KVwiPlxuICAgICAgPG5nLXRlbXBsYXRlICNpZ29TZWFyY2hJdGVtVG9vbGJhciBsZXQtcmVzdWx0PVwicmVzdWx0XCI+XG4gICAgICAgIDxpZ28tc2VhcmNoLWFkZC1idXR0b25cbiAgICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgICAgW2xheWVyXT1cInJlc3VsdFwiPlxuICAgICAgICA8L2lnby1zZWFyY2gtYWRkLWJ1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9pZ28tc2VhcmNoLXJlc3VsdHM+XG4gIDwvZGl2PlxuXG4gIDxkaXYgaWdvRmxleGlibGVGaWxsIGNsYXNzPVwiaWdvLWNvbnRlbnRcIj5cbiAgICA8aWdvLXBhbmVsIFt0aXRsZV09XCJmZWF0dXJlVGl0bGVcIiAqbmdJZj1cImZlYXR1cmUkIHzCoGFzeW5jXCI+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIHBhbmVsTGVmdEJ1dHRvblxuICAgICAgICBjbGFzcz1cImlnby1pY29uLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVUb3BQYW5lbCgpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCIodG9wUGFuZWxTdGF0ZSQgfCBhc3luYykgPT09ICdjb2xsYXBzZWQnID8gJ2Fycm93LXVwJyA6ICdhcnJvdy1kb3duJ1wiPjwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImZlYXR1cmUuZ2VvbWV0cnlcIlxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgcGFuZWxSaWdodEJ1dHRvblxuICAgICAgICBjbGFzcz1cImlnby1pY29uLWJ1dHRvblwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIigoaXNTZWxlY3RlZFJlc3VsdE91dE9mVmlldyQgfCBhc3luYykgPyAnaWdvLmludGVncmF0aW9uLnNlYXJjaFJlc3VsdHNUb29sLnpvb21PbkZlYXR1cmVUb29sdGlwT3V0T2ZWaWV3JyA6ICdpZ28uaW50ZWdyYXRpb24uc2VhcmNoUmVzdWx0c1Rvb2wuem9vbU9uRmVhdHVyZVRvb2x0aXAnKSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICAoY2xpY2spPVwiem9vbVRvRmVhdHVyZUV4dGVudCgpXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICBbbWF0QmFkZ2VdPVwiKGlzU2VsZWN0ZWRSZXN1bHRPdXRPZlZpZXckIHwgYXN5bmMpID8gJyEnIDogJydcIlxuICAgICAgICBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwiKGlzU2VsZWN0ZWRSZXN1bHRPdXRPZlZpZXckIHwgYXN5bmMpPT09ZmFsc2VcIiAgICAgXG4gICAgICAgIHN2Z0ljb249XCJtYWduaWZ5LXBsdXMtb3V0bGluZVwiPjwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGlnby1mZWF0dXJlLWRldGFpbHNcbiAgICAgICAgaWdvRmVhdHVyZURldGFpbHNEaXJlY3RpdmVcbiAgICAgICAgW2ZlYXR1cmVdPVwiZmVhdHVyZSQgfCBhc3luY1wiXG4gICAgICAgIFttYXBdPVwibWFwXCJcbiAgICAgICAgW3Rvb2xib3hdPVwidG9vbFN0YXRlLnRvb2xib3hcIlxuICAgICAgICAocm91dGluZ0V2ZW50KT1cImdldFJvdXRlKClcIj5cbiAgICAgIDwvaWdvLWZlYXR1cmUtZGV0YWlscz5cbiAgICA8L2lnby1wYW5lbD5cbiAgPC9kaXY+XG5cbjwvaWdvLWZsZXhpYmxlPlxuIl19
|
|
@@ -64,4 +64,4 @@ IgoAppSearchResultsToolModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ impo
|
|
|
64
64
|
IgoPanelModule,
|
|
65
65
|
IgoFeatureDetailsModule,
|
|
66
66
|
IgoCustomHtmlModule], exports: [SearchResultsToolComponent] }); })();
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtdG9vbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy10b29sL3NlYXJjaC1yZXN1bHRzLXRvb2wubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLHVCQUF1QixFQUN4QixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFN0U7O0dBRUc7QUFvQkgsTUFBTSxPQUFPLDZCQUE2Qjs7MEdBQTdCLDZCQUE2QjsrRUFBN0IsNkJBQTZCO21GQWxCL0I7WUFDUCxZQUFZO1lBQ1osYUFBYTtZQUNiLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2QsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtTQUNwQjt1RkFLVSw2QkFBNkI7Y0FuQnpDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGNBQWM7b0JBQ2QsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCx1QkFBdUI7b0JBQ3ZCLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2dCQUNyQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUNsQzs7d0ZBQ1ksNkJBQTZCLG1CQUp6QiwwQkFBMEIsYUFidkMsWUFBWTtRQUNaLGFBQWE7UUFDYixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYztRQUNkLHVCQUF1QjtRQUN2QixtQkFBbUIsYUFHWCwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgSWdvRmxleGlibGVNb2R1bGUsIElnb0N1c3RvbUh0bWxNb2R1bGUsIElnb1BhbmVsTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7XG4gIElnb0ZlYXR1cmVNb2R1bGUsXG4gIElnb1NlYXJjaE1vZHVsZSxcbiAgSWdvRmVhdHVyZURldGFpbHNNb2R1bGVcbn0gZnJvbSAnQGlnbzIvZ2VvJztcblxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0c1Rvb2xDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHRzLXRvb2wuY29tcG9uZW50JztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCYWRnZU1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcbiAgICBJZ29GZWF0dXJlTW9kdWxlLFxuICAgIElnb1NlYXJjaE1vZHVsZSxcbiAgICBJZ29GbGV4aWJsZU1vZHVsZSxcbiAgICBJZ29QYW5lbE1vZHVsZSxcbiAgICBJZ29GZWF0dXJlRGV0YWlsc01vZHVsZSxcbiAgICBJZ29DdXN0b21IdG1sTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1NlYXJjaFJlc3VsdHNUb29sQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NlYXJjaFJlc3VsdHNUb29sQ29tcG9uZW50XSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXG59KVxuZXhwb3J0IGNsYXNzIElnb0FwcFNlYXJjaFJlc3VsdHNUb29sTW9kdWxlIHt9XG4iXX0=
|
|
@@ -21,4 +21,4 @@ IgoAppSearchModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[], I
|
|
|
21
21
|
}], null, null); })();
|
|
22
22
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAppSearchModule, { exports: [IgoAppSearchBarModule,
|
|
23
23
|
IgoAppSearchResultsToolModule] }); })();
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvc2VhcmNoL3NlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFVakcsTUFBTSxPQUFPLGtCQUFrQjs7b0ZBQWxCLGtCQUFrQjtvRUFBbEIsa0JBQWtCO3dFQVBwQixFQUFFLEVBR1YscUJBQXFCO1FBQ3JCLDZCQUE2Qjt1RkFHbkIsa0JBQWtCO2NBUjlCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFO29CQUNSLHFCQUFxQjtvQkFDckIsNkJBQTZCO2lCQUM3QjthQUNGOzt3RkFDWSxrQkFBa0IsY0FKNUIscUJBQXFCO1FBQ3JCLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElnb0FwcFNlYXJjaEJhck1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBJZ29BcHBTZWFyY2hSZXN1bHRzVG9vbE1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLXJlc3VsdHMtdG9vbC9zZWFyY2gtcmVzdWx0cy10b29sLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXG4gICBJZ29BcHBTZWFyY2hCYXJNb2R1bGUsXG4gICBJZ29BcHBTZWFyY2hSZXN1bHRzVG9vbE1vZHVsZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJZ29BcHBTZWFyY2hNb2R1bGUge31cbiJdfQ==
|
|
@@ -104,4 +104,4 @@ SearchState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchState,
|
|
|
104
104
|
providedIn: 'root'
|
|
105
105
|
}]
|
|
106
106
|
}], function () { return [{ type: i1.SearchSourceService }, { type: i2.StorageService }, { type: i2.ConfigService }]; }, null); })();
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFnQixXQUFXLEVBQUUsbUNBQW1DLEVBQWtDLE1BQU0sY0FBYyxDQUFDO0FBRzlILE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7O0FBRXJEOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFvQ3RCLFlBQ1UsbUJBQXdDLEVBQ3hDLGNBQThCLEVBQzlCLGFBQTRCO1FBRjVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBdEMvQix1QkFBa0IsR0FBNkIsRUFBRSxDQUFDO1FBQ2xELGdDQUEyQixHQUE2QixFQUFFLENBQUM7UUFDM0QsNEJBQXVCLEdBQTZCLEVBQUUsQ0FBQztRQUtyRCx3QkFBbUIsR0FBNEIsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEUsZ0JBQVcsR0FBNEIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEUsZ0JBQVcsR0FBNEIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEUsb0JBQWUsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkUsa0NBQTZCLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJGLDBCQUFxQixHQUE2QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVqRixvQkFBZSxHQUFrQyxJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6Rjs7V0FFRztR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QyxjQUFjLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzs7c0VBbkhVLFdBQVc7aUVBQVgsV0FBVyxXQUFYLFdBQVcsbUJBRlYsTUFBTTt1RkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVJlY29yZCwgRW50aXR5U3RvcmUsIEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5LCBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQsIFNlYXJjaFNvdXJjZVNlcnZpY2UsIFNlYXJjaFNvdXJjZSwgQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHRoYXQgaG9sZHMgdGhlIHN0YXRlIG9mIHRoZSBzZWFyY2ggbW9kdWxlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hTdGF0ZSB7XHJcbiAgcHVibGljIHNlYXJjaE92ZXJsYXlTdHlsZTogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zID0ge307XHJcbiAgcHVibGljIHNlYXJjaE92ZXJsYXlTdHlsZVNlbGVjdGlvbjogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zID0ge307XHJcbiAgcHVibGljIHNlYXJjaE92ZXJsYXlTdHlsZUZvY3VzOiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMgPSB7fTtcclxuXHJcbiAgcHVibGljIGZvY3VzZWRPclJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xyXG4gIHB1YmxpYyBzZWxlY3RlZE9yUmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHJlYWRvbmx5IHNlYXJjaFRlcm1TcGxpdHRlciQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnfCcpO1xyXG5cclxuICByZWFkb25seSBzZWFyY2hUZXJtJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XHJcblxyXG4gIHJlYWRvbmx5IHNlYXJjaFR5cGUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcbiAgcmVhZG9ubHkgc2VhcmNoRGlzYWJsZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgcmVhZG9ubHkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICByZWFkb25seSBzZWFyY2hTZXR0aW5nc0NoYW5nZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcbiAgcmVhZG9ubHkgc2VsZWN0ZWRSZXN1bHQkOiBCZWhhdmlvclN1YmplY3Q8U2VhcmNoUmVzdWx0PiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcmUgdGhhdCBob2xkcyB0aGUgc2VhcmNoIHJlc3VsdHNcclxuICAgKi9cclxuICByZWFkb25seSBzdG9yZTogRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PiA9IG5ldyBFbnRpdHlTdG9yZTxTZWFyY2hSZXN1bHQ+KFtdKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHR5cGVzIGN1cnJlbnRseSBlbmFibGVkIGluIHRoZSBzZWFyY2ggc291cmNlIHNlcnZpY2VcclxuICAgKi9cclxuICBnZXQgc2VhcmNoVHlwZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAuZ2V0RW5hYmxlZFNvdXJjZXMoKVxyXG4gICAgICAubWFwKChzb3VyY2U6IFNlYXJjaFNvdXJjZSkgPT4gKHNvdXJjZS5jb25zdHJ1Y3RvciBhcyBhbnkpLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlYXJjaFNvdXJjZVNlcnZpY2U6IFNlYXJjaFNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkge1xyXG4gICAgY29uc3Qgc2VhcmNoT3ZlcmxheVN0eWxlID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnc2VhcmNoT3ZlcmxheVN0eWxlJykgYXMge1xyXG4gICAgICBiYXNlPzogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zLFxyXG4gICAgICBzZWxlY3Rpb24/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMsXHJcbiAgICAgIGZvY3VzPzogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zXHJcbiAgICB9O1xyXG4gICAgaWYgKHNlYXJjaE92ZXJsYXlTdHlsZSkge1xyXG4gICAgICB0aGlzLnNlYXJjaE92ZXJsYXlTdHlsZSA9IHNlYXJjaE92ZXJsYXlTdHlsZS5iYXNlO1xyXG4gICAgICB0aGlzLnNlYXJjaE92ZXJsYXlTdHlsZVNlbGVjdGlvbiA9IHNlYXJjaE92ZXJsYXlTdHlsZS5zZWxlY3Rpb247XHJcbiAgICAgIHRoaXMuc2VhcmNoT3ZlcmxheVN0eWxlRm9jdXMgPSBzZWFyY2hPdmVybGF5U3R5bGUuZm9jdXM7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCdzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkJykgYXMgYm9vbGVhbjtcclxuICAgIGlmIChzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCQubmV4dChzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RvcmUuYWRkU3RyYXRlZ3kodGhpcy5jcmVhdGVDdXN0b21GaWx0ZXJUZXJtU3RyYXRlZ3koKSwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVDdXN0b21GaWx0ZXJUZXJtU3RyYXRlZ3koKTogRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3kge1xyXG4gICAgY29uc3QgZmlsdGVyQ2xhdXNlRnVuYyA9IChyZWNvcmQ6IEVudGl0eVJlY29yZDxTZWFyY2hSZXN1bHQ+KSA9PiB7XHJcbiAgICAgIHJldHVybiByZWNvcmQuZW50aXR5Lm1ldGEuc2NvcmUgPT09IDEwMDtcclxuICAgIH07XHJcbiAgICByZXR1cm4gbmV3IEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KHtmaWx0ZXJDbGF1c2VGdW5jfSBhcyBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0aXZhdGUgY3VzdG9tIHN0cmF0ZWd5XHJcbiAgICpcclxuICAgKi9cclxuICBhY3RpdmF0ZUN1c3RvbUZpbHRlclRlcm1TdHJhdGVneSgpIHtcclxuICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5zdG9yZS5nZXRTdHJhdGVneU9mVHlwZShFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSk7XHJcbiAgICBpZiAoc3RyYXRlZ3kgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzdHJhdGVneS5hY3RpdmF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVhY3RpdmF0ZSBjdXN0b20gc3RyYXRlZ3lcclxuICAgKlxyXG4gICAqL1xyXG4gIGRlYWN0aXZhdGVDdXN0b21GaWx0ZXJUZXJtU3RyYXRlZ3koKSB7XHJcbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuc3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3kpO1xyXG4gICAgaWYgKHN0cmF0ZWd5ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgc3RyYXRlZ3kuZGVhY3RpdmF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZW5hYmxlU2VhcmNoKCkge1xyXG4gICAgdGhpcy5zZWFyY2hEaXNhYmxlZCQubmV4dChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBkaXNhYmxlU2VhcmNoKCkge1xyXG4gICAgdGhpcy5zZWFyY2hEaXNhYmxlZCQubmV4dCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHNldFNlYXJjaFRlcm0oc2VhcmNoVGVybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlYXJjaFRlcm0kLm5leHQoc2VhcmNoVGVybSk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlLmVuYWJsZVNvdXJjZXNCeVR5cGUoc2VhcmNoVHlwZSk7XHJcbiAgICB0aGlzLnNlYXJjaFR5cGUkLm5leHQoc2VhcmNoVHlwZSk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWFyY2hTZXR0aW5nc0NoYW5nZSgpIHtcclxuICAgIHRoaXMuc2VhcmNoU2V0dGluZ3NDaGFuZ2UkLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZFJlc3VsdChyZXN1bHQ6IFNlYXJjaFJlc3VsdCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFJlc3VsdCQubmV4dChyZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzKHZhbHVlKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCcsIHZhbHVlKTtcclxuICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCQubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFnQixXQUFXLEVBQUUsbUNBQW1DLEVBQWtDLE1BQU0sY0FBYyxDQUFDO0FBRzlILE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7O0FBRXJEOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFvQ3RCLFlBQ1UsbUJBQXdDLEVBQ3hDLGNBQThCLEVBQzlCLGFBQTRCO1FBRjVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBdEMvQix1QkFBa0IsR0FBNkIsRUFBRSxDQUFDO1FBQ2xELGdDQUEyQixHQUE2QixFQUFFLENBQUM7UUFDM0QsNEJBQXVCLEdBQTZCLEVBQUUsQ0FBQztRQUtyRCx3QkFBbUIsR0FBNEIsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEUsZ0JBQVcsR0FBNEIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEUsZ0JBQVcsR0FBNEIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEUsb0JBQWUsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkUsa0NBQTZCLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJGLDBCQUFxQixHQUE2QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVqRixvQkFBZSxHQUFrQyxJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6Rjs7V0FFRztR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QyxjQUFjLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzs7c0VBbkhVLFdBQVc7aUVBQVgsV0FBVyxXQUFYLFdBQVcsbUJBRlYsTUFBTTt1RkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRW50aXR5UmVjb3JkLCBFbnRpdHlTdG9yZSwgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3ksIEVudGl0eVN0b3JlU3RyYXRlZ3lGdW5jT3B0aW9ucyB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0LCBTZWFyY2hTb3VyY2VTZXJ2aWNlLCBTZWFyY2hTb3VyY2UsIENvbW1vblZlY3RvclN0eWxlT3B0aW9ucyB9IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIHNlYXJjaCBtb2R1bGVcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoU3RhdGUge1xuICBwdWJsaWMgc2VhcmNoT3ZlcmxheVN0eWxlOiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMgPSB7fTtcbiAgcHVibGljIHNlYXJjaE92ZXJsYXlTdHlsZVNlbGVjdGlvbjogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zID0ge307XG4gIHB1YmxpYyBzZWFyY2hPdmVybGF5U3R5bGVGb2N1czogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zID0ge307XG5cbiAgcHVibGljIGZvY3VzZWRPclJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgc2VsZWN0ZWRPclJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xuXG4gIHJlYWRvbmx5IHNlYXJjaFRlcm1TcGxpdHRlciQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnfCcpO1xuXG4gIHJlYWRvbmx5IHNlYXJjaFRlcm0kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICByZWFkb25seSBzZWFyY2hUeXBlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgc2VhcmNoRGlzYWJsZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICByZWFkb25seSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgc2VhcmNoU2V0dGluZ3NDaGFuZ2UkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRSZXN1bHQkOiBCZWhhdmlvclN1YmplY3Q8U2VhcmNoUmVzdWx0PiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogU3RvcmUgdGhhdCBob2xkcyB0aGUgc2VhcmNoIHJlc3VsdHNcbiAgICovXG4gIHJlYWRvbmx5IHN0b3JlOiBFbnRpdHlTdG9yZTxTZWFyY2hSZXN1bHQ+ID0gbmV3IEVudGl0eVN0b3JlPFNlYXJjaFJlc3VsdD4oW10pO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggdHlwZXMgY3VycmVudGx5IGVuYWJsZWQgaW4gdGhlIHNlYXJjaCBzb3VyY2Ugc2VydmljZVxuICAgKi9cbiAgZ2V0IHNlYXJjaFR5cGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXG4gICAgICAuZ2V0RW5hYmxlZFNvdXJjZXMoKVxuICAgICAgLm1hcCgoc291cmNlOiBTZWFyY2hTb3VyY2UpID0+IChzb3VyY2UuY29uc3RydWN0b3IgYXMgYW55KS50eXBlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICBjb25zdCBzZWFyY2hPdmVybGF5U3R5bGUgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdzZWFyY2hPdmVybGF5U3R5bGUnKSBhcyB7XG4gICAgICBiYXNlPzogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zLFxuICAgICAgc2VsZWN0aW9uPzogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zLFxuICAgICAgZm9jdXM/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnNcbiAgICB9O1xuICAgIGlmIChzZWFyY2hPdmVybGF5U3R5bGUpIHtcbiAgICAgIHRoaXMuc2VhcmNoT3ZlcmxheVN0eWxlID0gc2VhcmNoT3ZlcmxheVN0eWxlLmJhc2U7XG4gICAgICB0aGlzLnNlYXJjaE92ZXJsYXlTdHlsZVNlbGVjdGlvbiA9IHNlYXJjaE92ZXJsYXlTdHlsZS5zZWxlY3Rpb247XG4gICAgICB0aGlzLnNlYXJjaE92ZXJsYXlTdHlsZUZvY3VzID0gc2VhcmNoT3ZlcmxheVN0eWxlLmZvY3VzO1xuICAgIH1cblxuICAgIGNvbnN0IHNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCcpIGFzIGJvb2xlYW47XG4gICAgaWYgKHNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCQubmV4dChzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkKTtcbiAgICB9XG4gICAgdGhpcy5zdG9yZS5hZGRTdHJhdGVneSh0aGlzLmNyZWF0ZUN1c3RvbUZpbHRlclRlcm1TdHJhdGVneSgpLCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUN1c3RvbUZpbHRlclRlcm1TdHJhdGVneSgpOiBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSB7XG4gICAgY29uc3QgZmlsdGVyQ2xhdXNlRnVuYyA9IChyZWNvcmQ6IEVudGl0eVJlY29yZDxTZWFyY2hSZXN1bHQ+KSA9PiB7XG4gICAgICByZXR1cm4gcmVjb3JkLmVudGl0eS5tZXRhLnNjb3JlID09PSAxMDA7XG4gICAgfTtcbiAgICByZXR1cm4gbmV3IEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KHtmaWx0ZXJDbGF1c2VGdW5jfSBhcyBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIGN1c3RvbSBzdHJhdGVneVxuICAgKlxuICAgKi9cbiAgYWN0aXZhdGVDdXN0b21GaWx0ZXJUZXJtU3RyYXRlZ3koKSB7XG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLnN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KTtcbiAgICBpZiAoc3RyYXRlZ3kgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RyYXRlZ3kuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVhY3RpdmF0ZSBjdXN0b20gc3RyYXRlZ3lcbiAgICpcbiAgICovXG4gIGRlYWN0aXZhdGVDdXN0b21GaWx0ZXJUZXJtU3RyYXRlZ3koKSB7XG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLnN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KTtcbiAgICBpZiAoc3RyYXRlZ3kgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RyYXRlZ3kuZGVhY3RpdmF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIGVuYWJsZVNlYXJjaCgpIHtcbiAgICB0aGlzLnNlYXJjaERpc2FibGVkJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIGRpc2FibGVTZWFyY2goKSB7XG4gICAgdGhpcy5zZWFyY2hEaXNhYmxlZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHNldFNlYXJjaFRlcm0oc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hUZXJtJC5uZXh0KHNlYXJjaFRlcm0pO1xuICB9XG5cbiAgc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2UuZW5hYmxlU291cmNlc0J5VHlwZShzZWFyY2hUeXBlKTtcbiAgICB0aGlzLnNlYXJjaFR5cGUkLm5leHQoc2VhcmNoVHlwZSk7XG4gIH1cblxuICBzZXRTZWFyY2hTZXR0aW5nc0NoYW5nZSgpIHtcbiAgICB0aGlzLnNlYXJjaFNldHRpbmdzQ2hhbmdlJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRSZXN1bHQocmVzdWx0OiBTZWFyY2hSZXN1bHQpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzdWx0JC5uZXh0KHJlc3VsdCk7XG4gIH1cblxuICBzZXRTZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXModmFsdWUpIHtcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCcsIHZhbHVlKTtcbiAgICB0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQkLm5leHQodmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './storage.state';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3N0b3JhZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS5zdGF0ZSc7XG4iXX0=
|
|
@@ -13,4 +13,4 @@ IgoAppStorageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[]]
|
|
|
13
13
|
exports: []
|
|
14
14
|
}]
|
|
15
15
|
}], null, null); })();
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekMsTUFBTSxPQUFPLG1CQUFtQjs7c0ZBQW5CLG1CQUFtQjtxRUFBbkIsbUJBQW1CO3lFQUpyQixFQUFFO3VGQUlBLG1CQUFtQjtjQUwvQixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxFQUFFO2FBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgSWdvQXBwU3RvcmFnZU1vZHVsZSB7fVxuIl19
|
|
@@ -20,4 +20,4 @@ StorageState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StorageStat
|
|
|
20
20
|
providedIn: 'root'
|
|
21
21
|
}]
|
|
22
22
|
}], function () { return [{ type: i1.StorageService }]; }, null); })();
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvc3RvcmFnZS9zdG9yYWdlLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUkzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQW9CLGlCQUFpQztRQUFqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO0lBQUcsQ0FBQztJQUp6RCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQzs7d0VBSFUsWUFBWTtrRUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNO3VGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2Ygc3RvcmFnZSBzZXJ2aWNlXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VTdGF0ZSB7XG4gIGdldCBzdG9yYWdlU2VydmljZSgpOiBTdG9yYWdlU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMuaWdvU3RvcmFnZVNlcnZpY2U7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlnb1N0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSkge31cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './tool.state';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3Rvb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Rvb2wuc3RhdGUnO1xuIl19
|
|
@@ -13,4 +13,4 @@ IgoAppToolModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[]] });
|
|
|
13
13
|
exports: []
|
|
14
14
|
}]
|
|
15
15
|
}], null, null); })();
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3Rvb2wvdG9vbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekMsTUFBTSxPQUFPLGdCQUFnQjs7Z0ZBQWhCLGdCQUFnQjtrRUFBaEIsZ0JBQWdCO3NFQUpsQixFQUFFO3VGQUlBLGdCQUFnQjtjQUw1QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxFQUFFO2FBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgSWdvQXBwVG9vbE1vZHVsZSB7fVxuIl19
|
|
@@ -49,4 +49,4 @@ ToolState.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToolState, fac
|
|
|
49
49
|
providedIn: 'root'
|
|
50
50
|
}]
|
|
51
51
|
}], function () { return [{ type: i1.ToolService }, { type: i2.ImportExportState }]; }, null); })();
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvdG9vbC90b29sLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQXFCLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFFM0Y7O0dBRUc7QUFJSCxNQUFNLE9BQU8sU0FBUztJQU9wQixZQUNVLFdBQXdCLEVBQ3hCLGlCQUFvQztRQURwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBSnZDLGlCQUFZLEdBQTZCLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBSzFFLENBQUM7SUFUTixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFTQyx5QkFBeUIsQ0FBQyxjQUErRDtRQUN6RixJQUFJLENBQUMsY0FBYyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ2hDLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUU7WUFDMUMsSUFBSSxhQUFhLEdBQWtCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQy9FLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xCLGFBQWEsR0FBRztvQkFDZCxNQUFNLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNO29CQUNyQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQjtpQkFDOUQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ3JELGFBQWEsQ0FBQyxrQkFBa0IsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2FBQzlFO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekQ7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDOztrRUFqQ1UsU0FBUzsrREFBVCxTQUFTLFdBQVQsU0FBUyxtQkFGUixNQUFNO3VGQUVQLFNBQVM7Y0FIckIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUb29sYm94LCBUb29sU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEV4cG9ydE9wdGlvbnMgfSBmcm9tICdAaWdvMi9nZW8nO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRNb2RlLCBJbXBvcnRFeHBvcnRTdGF0ZSB9IGZyb20gJy4uL2ltcG9ydC1leHBvcnQvaW1wb3J0LWV4cG9ydC5zdGF0ZSc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhvbGRzIHRoZSBzdGF0ZSBvZiB0aGUgc2VhcmNoIG1vZHVsZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUb29sU3RhdGUge1xuICBnZXQgdG9vbGJveCgpOiBUb29sYm94IHtcbiAgICByZXR1cm4gdGhpcy50b29sU2VydmljZS50b29sYm94O1xuICB9XG5cbiAgcHVibGljIG9wZW5TaWRlbmF2JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdG9vbFNlcnZpY2U6IFRvb2xTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW1wb3J0RXhwb3J0U3RhdGU6IEltcG9ydEV4cG9ydFN0YXRlXG4gICAgKSB7fVxuXG4gICAgdG9vbFRvQWN0aXZhdGVGcm9tT3B0aW9ucyh0b29sVG9BY3RpdmF0ZTogeyB0b29sOiBzdHJpbmc7IG9wdGlvbnM6IHtba2V5OiBzdHJpbmddOiBhbnl9IH0pIHtcbiAgICBpZiAoIXRvb2xUb0FjdGl2YXRlKSB7IHJldHVybjsgfVxuICAgIGlmICh0b29sVG9BY3RpdmF0ZS50b29sID09PSAnaW1wb3J0RXhwb3J0Jykge1xuICAgICAgbGV0IGV4cG9ydE9wdGlvbnM6IEV4cG9ydE9wdGlvbnMgPSB0aGlzLmltcG9ydEV4cG9ydFN0YXRlLmV4cG9ydE9wdGlvbnMkLnZhbHVlO1xuICAgICAgaWYgKCFleHBvcnRPcHRpb25zKSB7XG4gICAgICAgIGV4cG9ydE9wdGlvbnMgPSB7XG4gICAgICAgICAgbGF5ZXJzOiB0b29sVG9BY3RpdmF0ZS5vcHRpb25zLmxheWVycyxcbiAgICAgICAgICBmZWF0dXJlSW5NYXBFeHRlbnQ6IHRvb2xUb0FjdGl2YXRlLm9wdGlvbnMuZmVhdHVyZUluTWFwRXh0ZW50XG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleHBvcnRPcHRpb25zLmxheWVycyA9IHRvb2xUb0FjdGl2YXRlLm9wdGlvbnMubGF5ZXJzO1xuICAgICAgICBleHBvcnRPcHRpb25zLmZlYXR1cmVJbk1hcEV4dGVudCA9IHRvb2xUb0FjdGl2YXRlLm9wdGlvbnMuZmVhdHVyZUluTWFwRXh0ZW50O1xuICAgICAgfVxuICAgICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRzRXhwb3J0T3B0aW9ucyhleHBvcnRPcHRpb25zKTtcbiAgICAgIHRoaXMuaW1wb3J0RXhwb3J0U3RhdGUuc2V0TW9kZShJbXBvcnRFeHBvcnRNb2RlLmV4cG9ydCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudG9vbGJveC5nZXRUb29sKHRvb2xUb0FjdGl2YXRlLnRvb2wpKSB7XG4gICAgICB0aGlzLnRvb2xib3guYWN0aXZhdGVUb29sKHRvb2xUb0FjdGl2YXRlLnRvb2wpO1xuICAgICAgdGhpcy5vcGVuU2lkZW5hdiQubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './shared';
|
|
2
2
|
export * from './workspace-button';
|
|
3
3
|
export * from './workspace.state';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmtzcGFjZS1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2Uuc3RhdGUnO1xuIl19
|
|
@@ -39,7 +39,7 @@ export class EditionActionsService {
|
|
|
39
39
|
var _a, _b;
|
|
40
40
|
this.zoomAuto$.next(this.zoomAuto);
|
|
41
41
|
this.storageChange$$ = this.storageService.storageChange$
|
|
42
|
-
.pipe(skipWhile((storageChange) => storageChange.key !== 'zoomAuto' || storageChange.event === StorageServiceEventEnum.CLEARED))
|
|
42
|
+
.pipe(skipWhile((storageChange) => (storageChange === null || storageChange === void 0 ? void 0 : storageChange.key) !== 'zoomAuto' || (storageChange === null || storageChange === void 0 ? void 0 : storageChange.event) === StorageServiceEventEnum.CLEARED))
|
|
43
43
|
.subscribe(() => {
|
|
44
44
|
this.zoomAuto$.next(this.zoomAuto);
|
|
45
45
|
handleZoomAuto(workspace, this.storageService);
|
|
@@ -154,4 +154,4 @@ EditionActionsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Ed
|
|
|
154
154
|
type: Inject,
|
|
155
155
|
args: [OgcFilterWidget]
|
|
156
156
|
}] }, { type: i1.StorageState }, { type: i2.LanguageService }, { type: i2.MediaService }, { type: i3.ToolState }]; }, null); })();
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9zaGFyZWQvZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUVMLG1DQUFtQyxFQUNuQyxrQ0FBa0MsRUFFbkMsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUVMLDhCQUE4QixFQUM5QixpQkFBaUIsRUFFakIsZUFBZSxHQUVoQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQXVDLHVCQUF1QixFQUFnQyxNQUFNLFlBQVksQ0FBQztBQUV4SCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBS25ELE1BQU0sT0FBTyxxQkFBcUI7SUFpQmhDLFlBQ21DLGVBQXVCLEVBQ2hELFlBQTBCLEVBQzNCLGVBQWdDLEVBQy9CLFlBQTBCLEVBQzFCLFNBQW9CO1FBSkssb0JBQWUsR0FBZixlQUFlLENBQVE7UUFDaEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFwQnZCLGNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFZLENBQ3hELENBQUM7UUFFRixjQUFTLEdBQTZCLElBQUksZUFBZSxDQUFDLEtB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Q0FBQyxTQUFTLENBQUMsT0FBTyxDQUMzQywwQ0FBMEMsQ0FDM0M7Z0JBQ0QsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDN0MsaURBQWlELENBQ2xEO2dCQUNELElBQUksRUFBRSxRQUFRO2dCQUNkLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM3RSxDQUFDO2dCQUNELE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzdCLENBQUM7YUFDRjtTQUNGLENBQUM7UUFDRixPQUFPLENBQUEsTUFBQSxNQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBc0MsQ0FBQyxXQUFXLDBDQUFFLEtBQUssMENBQUUsT0FBTyxFQUFDLENBQUM7WUFDNUYsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQztJQUNoRSxDQUFDOzswRkEvSlUscUJBQXFCLGNBa0J0QixlQUFlOzJFQWxCZCxxQkFBcUIsV0FBckIscUJBQXFCLG1CQUZwQixNQUFNO3VGQUVQLHFCQUFxQjtjQUhqQyxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQW1CSSxNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICBBY3Rpb24sXHJcbiAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3ksXHJcbiAgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSxcclxuICBXaWRnZXRcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBFZGl0aW9uV29ya3NwYWNlLFxyXG4gIG1hcEV4dGVudFN0cmF0ZWd5QWN0aXZlVG9vbFRpcCxcclxuICBub0VsZW1lbnRTZWxlY3RlZCxcclxuICBFeHBvcnRPcHRpb25zLFxyXG4gIE9nY0ZpbHRlcldpZGdldCxcclxuICBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSxcclxufSBmcm9tICdAaWdvMi9nZW8nO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2VFdmVudCwgU3RvcmFnZVNlcnZpY2VFdmVudEVudW0sIExhbmd1YWdlU2VydmljZSwgTWVkaWFTZXJ2aWNlfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgU3RvcmFnZVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RvcmFnZS9zdG9yYWdlLnN0YXRlJztcclxuaW1wb3J0IHsgbWFwLCBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcbmltcG9ydCB7IGhhbmRsZVpvb21BdXRvIH0gZnJvbSAnLi93b3Jrc3BhY2UudXRpbHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdGlvbkFjdGlvbnNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHVibGljIG1heGltaXplJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd3b3Jrc3BhY2VNYXhpbWl6ZScpIGFzIGJvb2xlYW5cclxuICApO1xyXG5cclxuICB6b29tQXV0byQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHByaXZhdGUgc3RvcmFnZUNoYW5nZSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGdldCBzdG9yYWdlU2VydmljZSgpOiBTdG9yYWdlU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU3RhdGUuc3RvcmFnZVNlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBnZXQgem9vbUF1dG8oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3pvb21BdXRvJykgYXMgYm9vbGVhbjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChPZ2NGaWx0ZXJXaWRnZXQpIHByaXZhdGUgb2djRmlsdGVyV2lkZ2V0OiBXaWRnZXQsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTdGF0ZTogU3RvcmFnZVN0YXRlLFxyXG4gICAgcHVibGljIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9vbFN0YXRlOiBUb29sU3RhdGUpIHt9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3RvcmFnZUNoYW5nZSQkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkQWN0aW9ucyhcclxuICAgIHdvcmtzcGFjZTogRWRpdGlvbldvcmtzcGFjZSxcclxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxyXG4gICAgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XHJcbiAgICApIHtcclxuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLmJ1aWxkQWN0aW9ucyhcclxuICAgICAgd29ya3NwYWNlLFxyXG4gICAgICByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQsXHJcbiAgICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiRcclxuICAgICAgKTtcclxuICAgIHdvcmtzcGFjZS5hY3Rpb25TdG9yZS5sb2FkKGFjdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRBY3Rpb25zKFxyXG4gICAgd29ya3NwYWNlOiBFZGl0aW9uV29ya3NwYWNlLFxyXG4gICAgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4sXHJcbiAgICBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj5cclxuICAgICk6IEFjdGlvbltdIHtcclxuICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XHJcbiAgICB0aGlzLnN0b3JhZ2VDaGFuZ2UkJCA9IHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmFnZUNoYW5nZSRcclxuICAgICAgLnBpcGUoc2tpcFdoaWxlKChzdG9yYWdlQ2hhbmdlOiBTdG9yYWdlU2VydmljZUV2ZW50KSA9PlxyXG4gICAgICAgIHN0b3JhZ2VDaGFuZ2Uua2V5ICE9PSAnem9vbUF1dG8nIHx8IHN0b3JhZ2VDaGFuZ2UuZXZlbnQgPT09IFN0b3JhZ2VTZXJ2aWNlRXZlbnRFbnVtLkNMRUFSRUQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnpvb21BdXRvJC5uZXh0KHRoaXMuem9vbUF1dG8pO1xyXG4gICAgICAgIGhhbmRsZVpvb21BdXRvKHdvcmtzcGFjZSwgdGhpcy5zdG9yYWdlU2VydmljZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgY29uc3QgYWN0aW9ucyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGlkOiAnem9vbUF1dG8nLFxyXG4gICAgICAgIGNoZWNrYm94OiB0cnVlLFxyXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS56b29tQXV0by50aXRsZScsXHJcbiAgICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuem9vbUF1dG8udG9vbHRpcCcsXHJcbiAgICAgICAgY2hlY2tDb25kaXRpb246IHRoaXMuem9vbUF1dG8kLFxyXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHtcclxuICAgICAgICAgIGhhbmRsZVpvb21BdXRvKHdvcmtzcGFjZSwgdGhpcy5zdG9yYWdlU2VydmljZSk7XHJcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnem9vbUF1dG8nLCAhdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3pvb21BdXRvJykgYXMgYm9vbGVhbik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdmaWx0ZXJJbk1hcEV4dGVudCcsXHJcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXHJcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmluTWFwRXh0ZW50LnRpdGxlJyxcclxuICAgICAgICB0b29sdGlwOiBtYXBFeHRlbnRTdHJhdGVneUFjdGl2ZVRvb2xUaXAod29ya3NwYWNlKSxcclxuICAgICAgICBjaGVja0NvbmRpdGlvbjogcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLFxyXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJC5uZXh0KCFyb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQudmFsdWUpXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ3NlbGVjdGVkT25seScsXHJcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXHJcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnNlbGVjdGVkLnRpdGxlJyxcclxuICAgICAgICB0b29sdGlwOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5zZWxlY3RlZC50aXRsZScsXHJcbiAgICAgICAgY2hlY2tDb25kaXRpb246IHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQsXHJcbiAgICAgICAgaGFuZGxlcjogKCkgPT4gc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJC5uZXh0KCFzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kLnZhbHVlKVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdjbGVhcnNlbGVjdGlvbicsXHJcbiAgICAgICAgaWNvbjogJ3NlbGVjdC1vZmYnLFxyXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5jbGVhclNlbGVjdGlvbi50aXRsZScsXHJcbiAgICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuY2xlYXJTZWxlY3Rpb24udG9vbHRpcCcsXHJcbiAgICAgICAgaGFuZGxlcjogKHdzOiBFZGl0aW9uV29ya3NwYWNlKSA9PiB7XHJcbiAgICAgICAgICB3cy5lbnRpdHlTdG9yZS5zdGF0ZS51cGRhdGVNYW55KHdzLmVudGl0eVN0b3JlLnZpZXcuYWxsKCksIHsgc2VsZWN0ZWQ6IGZhbHNlIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYXJnczogW3dvcmtzcGFjZV0sXHJcbiAgICAgICAgYXZhaWxhYmlsaXR5OiAod3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IG5vRWxlbWVudFNlbGVjdGVkKHdzKVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICd3ZnNEb3dubG9hZCcsXHJcbiAgICAgICAgaWNvbjogJ2ZpbGUtZXhwb3J0JyxcclxuICAgICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuZG93bmxvYWQudGl0bGUnLFxyXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmRvd25sb2FkLnRvb2x0aXAnLFxyXG4gICAgICAgIGhhbmRsZXI6ICh3czogRWRpdGlvbldvcmtzcGFjZSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZmlsdGVyU3RyYXRlZ3kgPSB3cy5lbnRpdHlTdG9yZS5nZXRTdHJhdGVneU9mVHlwZShFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSk7XHJcbiAgICAgICAgICBjb25zdCBmaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSA9IHdzLmVudGl0eVN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kpO1xyXG4gICAgICAgICAgY29uc3QgbGF5ZXJzV2l0aFNlbGVjdGlvbiA9IGZpbHRlclNlbGVjdGlvblN0cmF0ZWd5LmFjdGl2ZSA/IFt3cy5sYXllci5pZF0gOiBbXTtcclxuICAgICAgICAgIHRoaXMudG9vbFN0YXRlLnRvb2xUb0FjdGl2YXRlRnJvbU9wdGlvbnMoe1xyXG4gICAgICAgICAgICB0b29sOiAnaW1wb3J0RXhwb3J0JyxcclxuICAgICAgICAgICAgb3B0aW9uczogeyBsYXllcnM6IFt3cy5sYXllci5pZF0sIGZlYXR1cmVJbk1hcEV4dGVudDogZmlsdGVyU3RyYXRlZ3kuYWN0aXZlLCBsYXllcnNXaXRoU2VsZWN0aW9uIH0gYXMgRXhwb3J0T3B0aW9uc1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBhcmdzOiBbd29ya3NwYWNlXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdvZ2NGaWx0ZXInLFxyXG4gICAgICAgIGljb246ICdmaWx0ZXInLFxyXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5vZ2NGaWx0ZXIudGl0bGUnLFxyXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLm9nY0ZpbHRlci50b29sdGlwJyxcclxuICAgICAgICBoYW5kbGVyOiAod2lkZ2V0OiBXaWRnZXQsIHdzOiBFZGl0aW9uV29ya3NwYWNlKSA9PiB7XHJcbiAgICAgICAgICB3cy5hY3RpdmF0ZVdpZGdldCh3aWRnZXQsIHtcclxuICAgICAgICAgICAgbWFwOiB3cy5tYXAsXHJcbiAgICAgICAgICAgIGxheWVyOiB3cy5sYXllclxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBhcmdzOiBbdGhpcy5vZ2NGaWx0ZXJXaWRnZXQsIHdvcmtzcGFjZV1cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiAnbWF4aW1pemUnLFxyXG4gICAgICAgIHRpdGxlOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5tYXhpbWl6ZScpLFxyXG4gICAgICAgIHRvb2x0aXA6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UubWF4aW1pemVUb29sdGlwJ1xyXG4gICAgICAgICksXHJcbiAgICAgICAgaWNvbjogJ3Jlc2l6ZScsXHJcbiAgICAgICAgZGlzcGxheTogKCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubWF4aW1pemUkLnBpcGUobWFwKCh2KSA9PiAhdiAmJiAhdGhpcy5tZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWF4aW1pemUkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiAnc3RhbmRhcmRFeHRlbnQnLFxyXG4gICAgICAgIHRpdGxlOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnN0YW5kYXJkRXh0ZW50J1xyXG4gICAgICAgICksXHJcbiAgICAgICAgdG9vbHRpcDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5zdGFuZGFyZEV4dGVudFRvb2x0aXAnXHJcbiAgICAgICAgKSxcclxuICAgICAgICBpY29uOiAncmVzaXplJyxcclxuICAgICAgICBkaXNwbGF5OiAoKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5tYXhpbWl6ZSQucGlwZShtYXAoKHYpID0+IHYgJiYgIXRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCkpKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubWF4aW1pemUkLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgXTtcclxuICAgIHJldHVybiAod29ya3NwYWNlLmxheWVyLmRhdGFTb3VyY2UgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2UpLm9nY0ZpbHRlcnMkPy52YWx1ZT8uZW5hYmxlZCA/XHJcbiAgICBhY3Rpb25zIDogYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IGFjdGlvbi5pZCAhPT0gJ29nY0ZpbHRlcicpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9zaGFyZWQvZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUVMLG1DQUFtQyxFQUNuQyxrQ0FBa0MsRUFFbkMsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUVMLDhCQUE4QixFQUM5QixpQkFBaUIsRUFFakIsZUFBZSxHQUVoQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQXVDLHVCQUF1QixFQUFnQyxNQUFNLFlBQVksQ0FBQztBQUV4SCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBS25ELE1BQU0sT0FBTyxxQkFBcUI7SUFpQmhDLFlBQ21DLGVBQXVCLEVBQ2hELFlBQTBCLEVBQzNCLGVBQWdDLEVBQy9CLFlBQTBCLEVBQzFCLFNBQW9CO1FBSkssb0JBQWUsR0FBZixlQUFlLENBQVE7UUFDaEQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFwQnZCLGNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFZLENBQ3hELENBQUM7UUFFRixjQUFTLEdBQTZCLElBQUksZUFBZSxDQUFDLEtB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Q0UsRUFBRSxFQUFFLGdCQUFnQjtnQkFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0MsMENBQTBDLENBQzNDO2dCQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzdDLGlEQUFpRCxDQUNsRDtnQkFDRCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDN0UsQ0FBQztnQkFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3QixDQUFDO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsT0FBTyxDQUFBLE1BQUEsTUFBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQXNDLENBQUMsV0FBVywwQ0FBRSxLQUFLLDBDQUFFLE9BQU8sRUFBQyxDQUFDO1lBQzVGLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7MEZBL0pVLHFCQUFxQixjQWtCdEIsZUFBZTsyRUFsQmQscUJBQXFCLFdBQXJCLHFCQUFxQixtQkFGcEIsTUFBTTt1RkFFUCxxQkFBcUI7Y0FIakMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztzQkFtQkksTUFBTTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQWN0aW9uLFxuICBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSxcbiAgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSxcbiAgV2lkZ2V0XG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBFZGl0aW9uV29ya3NwYWNlLFxuICBtYXBFeHRlbnRTdHJhdGVneUFjdGl2ZVRvb2xUaXAsXG4gIG5vRWxlbWVudFNlbGVjdGVkLFxuICBFeHBvcnRPcHRpb25zLFxuICBPZ2NGaWx0ZXJXaWRnZXQsXG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlLFxufSBmcm9tICdAaWdvMi9nZW8nO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlRXZlbnQsIFN0b3JhZ2VTZXJ2aWNlRXZlbnRFbnVtLCBMYW5ndWFnZVNlcnZpY2UsIE1lZGlhU2VydmljZX0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBTdG9yYWdlU3RhdGUgfSBmcm9tICcuLi8uLi9zdG9yYWdlL3N0b3JhZ2Uuc3RhdGUnO1xuaW1wb3J0IHsgbWFwLCBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUb29sU3RhdGUgfSBmcm9tICcuLi8uLi90b29sL3Rvb2wuc3RhdGUnO1xuaW1wb3J0IHsgaGFuZGxlWm9vbUF1dG8gfSBmcm9tICcuL3dvcmtzcGFjZS51dGlscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRpb25BY3Rpb25zU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIG1heGltaXplJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnd29ya3NwYWNlTWF4aW1pemUnKSBhcyBib29sZWFuXG4gICk7XG5cbiAgem9vbUF1dG8kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSBzdG9yYWdlQ2hhbmdlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBnZXQgc3RvcmFnZVNlcnZpY2UoKTogU3RvcmFnZVNlcnZpY2Uge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2VTdGF0ZS5zdG9yYWdlU2VydmljZTtcbiAgfVxuXG4gIGdldCB6b29tQXV0bygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3pvb21BdXRvJykgYXMgYm9vbGVhbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoT2djRmlsdGVyV2lkZ2V0KSBwcml2YXRlIG9nY0ZpbHRlcldpZGdldDogV2lkZ2V0LFxuICAgIHByaXZhdGUgc3RvcmFnZVN0YXRlOiBTdG9yYWdlU3RhdGUsXG4gICAgcHVibGljIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b29sU3RhdGU6IFRvb2xTdGF0ZSkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yYWdlQ2hhbmdlJCQpIHtcbiAgICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbG9hZEFjdGlvbnMoXG4gICAgd29ya3NwYWNlOiBFZGl0aW9uV29ya3NwYWNlLFxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxuICAgICkge1xuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLmJ1aWxkQWN0aW9ucyhcbiAgICAgIHdvcmtzcGFjZSxcbiAgICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcbiAgICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiRcbiAgICAgICk7XG4gICAgd29ya3NwYWNlLmFjdGlvblN0b3JlLmxvYWQoYWN0aW9ucyk7XG4gIH1cblxuICBidWlsZEFjdGlvbnMoXG4gICAgd29ya3NwYWNlOiBFZGl0aW9uV29ya3NwYWNlLFxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxuICAgICk6IEFjdGlvbltdIHtcbiAgICB0aGlzLnpvb21BdXRvJC5uZXh0KHRoaXMuem9vbUF1dG8pO1xuICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkID0gdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yYWdlQ2hhbmdlJFxuICAgICAgLnBpcGUoc2tpcFdoaWxlKChzdG9yYWdlQ2hhbmdlOiBTdG9yYWdlU2VydmljZUV2ZW50KSA9PlxuICAgICAgICBzdG9yYWdlQ2hhbmdlPy5rZXkgIT09ICd6b29tQXV0bycgfHwgc3RvcmFnZUNoYW5nZT8uZXZlbnQgPT09IFN0b3JhZ2VTZXJ2aWNlRXZlbnRFbnVtLkNMRUFSRUQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XG4gICAgICAgIGhhbmRsZVpvb21BdXRvKHdvcmtzcGFjZSwgdGhpcy5zdG9yYWdlU2VydmljZSk7XG4gICAgICB9KTtcbiAgICBjb25zdCBhY3Rpb25zID0gW1xuICAgICAge1xuICAgICAgICBpZDogJ3pvb21BdXRvJyxcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS56b29tQXV0by50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnpvb21BdXRvLnRvb2x0aXAnLFxuICAgICAgICBjaGVja0NvbmRpdGlvbjogdGhpcy56b29tQXV0byQsXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICBoYW5kbGVab29tQXV0byh3b3Jrc3BhY2UsIHRoaXMuc3RvcmFnZVNlcnZpY2UpO1xuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCd6b29tQXV0bycsICF0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnem9vbUF1dG8nKSBhcyBib29sZWFuKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdmaWx0ZXJJbk1hcEV4dGVudCcsXG4gICAgICAgIGNoZWNrYm94OiB0cnVlLFxuICAgICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuaW5NYXBFeHRlbnQudGl0bGUnLFxuICAgICAgICB0b29sdGlwOiBtYXBFeHRlbnRTdHJhdGVneUFjdGl2ZVRvb2xUaXAod29ya3NwYWNlKSxcbiAgICAgICAgY2hlY2tDb25kaXRpb246IHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcbiAgICAgICAgaGFuZGxlcjogKCkgPT4gcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLm5leHQoIXJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJC52YWx1ZSlcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2VsZWN0ZWRPbmx5JyxcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5zZWxlY3RlZC50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnNlbGVjdGVkLnRpdGxlJyxcbiAgICAgICAgY2hlY2tDb25kaXRpb246IHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQsXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQubmV4dCghc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJC52YWx1ZSlcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnY2xlYXJzZWxlY3Rpb24nLFxuICAgICAgICBpY29uOiAnc2VsZWN0LW9mZicsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5jbGVhclNlbGVjdGlvbi50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmNsZWFyU2VsZWN0aW9uLnRvb2x0aXAnLFxuICAgICAgICBoYW5kbGVyOiAod3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IHtcbiAgICAgICAgICB3cy5lbnRpdHlTdG9yZS5zdGF0ZS51cGRhdGVNYW55KHdzLmVudGl0eVN0b3JlLnZpZXcuYWxsKCksIHsgc2VsZWN0ZWQ6IGZhbHNlIH0pO1xuICAgICAgICB9LFxuICAgICAgICBhcmdzOiBbd29ya3NwYWNlXSxcbiAgICAgICAgYXZhaWxhYmlsaXR5OiAod3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IG5vRWxlbWVudFNlbGVjdGVkKHdzKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICd3ZnNEb3dubG9hZCcsXG4gICAgICAgIGljb246ICdmaWxlLWV4cG9ydCcsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5kb3dubG9hZC50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmRvd25sb2FkLnRvb2x0aXAnLFxuICAgICAgICBoYW5kbGVyOiAod3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJTdHJhdGVneSA9IHdzLmVudGl0eVN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KTtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSA9IHdzLmVudGl0eVN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kpO1xuICAgICAgICAgIGNvbnN0IGxheWVyc1dpdGhTZWxlY3Rpb24gPSBmaWx0ZXJTZWxlY3Rpb25TdHJhdGVneS5hY3RpdmUgPyBbd3MubGF5ZXIuaWRdIDogW107XG4gICAgICAgICAgdGhpcy50b29sU3RhdGUudG9vbFRvQWN0aXZhdGVGcm9tT3B0aW9ucyh7XG4gICAgICAgICAgICB0b29sOiAnaW1wb3J0RXhwb3J0JyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHsgbGF5ZXJzOiBbd3MubGF5ZXIuaWRdLCBmZWF0dXJlSW5NYXBFeHRlbnQ6IGZpbHRlclN0cmF0ZWd5LmFjdGl2ZSwgbGF5ZXJzV2l0aFNlbGVjdGlvbiB9IGFzIEV4cG9ydE9wdGlvbnNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgYXJnczogW3dvcmtzcGFjZV1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnb2djRmlsdGVyJyxcbiAgICAgICAgaWNvbjogJ2ZpbHRlcicsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5vZ2NGaWx0ZXIudGl0bGUnLFxuICAgICAgICB0b29sdGlwOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5vZ2NGaWx0ZXIudG9vbHRpcCcsXG4gICAgICAgIGhhbmRsZXI6ICh3aWRnZXQ6IFdpZGdldCwgd3M6IEVkaXRpb25Xb3Jrc3BhY2UpID0+IHtcbiAgICAgICAgICB3cy5hY3RpdmF0ZVdpZGdldCh3aWRnZXQsIHtcbiAgICAgICAgICAgIG1hcDogd3MubWFwLFxuICAgICAgICAgICAgbGF5ZXI6IHdzLmxheWVyXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGFyZ3M6IFt0aGlzLm9nY0ZpbHRlcldpZGdldCwgd29ya3NwYWNlXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdtYXhpbWl6ZScsXG4gICAgICAgIHRpdGxlOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5tYXhpbWl6ZScpLFxuICAgICAgICB0b29sdGlwOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5tYXhpbWl6ZVRvb2x0aXAnXG4gICAgICAgICksXG4gICAgICAgIGljb246ICdyZXNpemUnLFxuICAgICAgICBkaXNwbGF5OiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubWF4aW1pemUkLnBpcGUobWFwKCh2KSA9PiAhdiAmJiAhdGhpcy5tZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpKSB7XG4gICAgICAgICAgICB0aGlzLm1heGltaXplJC5uZXh0KHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnc3RhbmRhcmRFeHRlbnQnLFxuICAgICAgICB0aXRsZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc3RhbmRhcmRFeHRlbnQnXG4gICAgICAgICksXG4gICAgICAgIHRvb2x0aXA6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnN0YW5kYXJkRXh0ZW50VG9vbHRpcCdcbiAgICAgICAgKSxcbiAgICAgICAgaWNvbjogJ3Jlc2l6ZScsXG4gICAgICAgIGRpc3BsYXk6ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5tYXhpbWl6ZSQucGlwZShtYXAoKHYpID0+IHYgJiYgIXRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCkpKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMubWF4aW1pemUkLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXTtcbiAgICByZXR1cm4gKHdvcmtzcGFjZS5sYXllci5kYXRhU291cmNlIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlKS5vZ2NGaWx0ZXJzJD8udmFsdWU/LmVuYWJsZWQgP1xuICAgIGFjdGlvbnMgOiBhY3Rpb25zLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLmlkICE9PSAnb2djRmlsdGVyJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -141,4 +141,4 @@ FeatureActionsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Fe
|
|
|
141
141
|
providedIn: 'root'
|
|
142
142
|
}]
|
|
143
143
|
}], function () { return [{ type: i1.StorageState }, { type: i2.LanguageService }, { type: i3.ToolState }, { type: i2.MediaService }]; }, null); })();
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9zaGFyZWQvZmVhdHVyZS1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBRUwsbUNBQW1DLEVBQ25DLGtDQUFrQyxFQUNuQyxNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBRUwsOEJBQThCLEVBQzlCLGlCQUFpQixFQUVsQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQXVDLHVCQUF1QixFQUFnQyxNQUFNLFlBQVksQ0FBQztBQUV4SCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFLbkQsTUFBTSxPQUFPLHFCQUFxQjtJQWlCaEMsWUFDVSxZQUEwQixFQUMzQixlQUFnQyxFQUMvQixTQUFvQixFQUNwQixZQUEwQjtRQUgxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDL0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQW5CN0IsY0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FDOUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQVksQ0FDeEQsQ0FBQztRQUVGLGNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFnQjlELENBQUM7SUFiSixJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMs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N0IsQ0FBQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OzBGQW5LVSxxQkFBcUI7MkVBQXJCLHFCQUFxQixXQUFyQixxQkFBcUIsbUJBRnBCLE1BQU07dUZBRVAscUJBQXFCO2NBSGpDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICBBY3Rpb24sXHJcbiAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3ksXHJcbiAgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneVxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIEZlYXR1cmVXb3Jrc3BhY2UsXHJcbiAgbWFwRXh0ZW50U3RyYXRlZ3lBY3RpdmVUb29sVGlwLFxyXG4gIG5vRWxlbWVudFNlbGVjdGVkLFxyXG4gIEV4cG9ydE9wdGlvbnNcclxufSBmcm9tICdAaWdvMi9nZW8nO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2VFdmVudCwgU3RvcmFnZVNlcnZpY2VFdmVudEVudW0sIExhbmd1YWdlU2VydmljZSwgTWVkaWFTZXJ2aWNlfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgU3RvcmFnZVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RvcmFnZS9zdG9yYWdlLnN0YXRlJztcclxuaW1wb3J0IHsgbWFwLCBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcbmltcG9ydCB7IGhhbmRsZVpvb21BdXRvIH0gZnJvbSAnLi93b3Jrc3BhY2UudXRpbHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmVhdHVyZUFjdGlvbnNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHVibGljIG1heGltaXplJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd3b3Jrc3BhY2VNYXhpbWl6ZScpIGFzIGJvb2xlYW5cclxuICApO1xyXG5cclxuICB6b29tQXV0byQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIHByaXZhdGUgc3RvcmFnZUNoYW5nZSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGdldCBzdG9yYWdlU2VydmljZSgpOiBTdG9yYWdlU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU3RhdGUuc3RvcmFnZVNlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBnZXQgem9vbUF1dG8oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3pvb21BdXRvJykgYXMgYm9vbGVhbjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU3RhdGU6IFN0b3JhZ2VTdGF0ZSxcclxuICAgIHB1YmxpYyBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9vbFN0YXRlOiBUb29sU3RhdGUsXHJcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN0b3JhZ2VDaGFuZ2UkJCkge1xyXG4gICAgICB0aGlzLnN0b3JhZ2VDaGFuZ2UkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZEFjdGlvbnMoXHJcbiAgICB3b3Jrc3BhY2U6IEZlYXR1cmVXb3Jrc3BhY2UsXHJcbiAgICByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPixcclxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxyXG4gICAgKSB7XHJcbiAgICBjb25zdCBhY3Rpb25zID0gdGhpcy5idWlsZEFjdGlvbnMoXHJcbiAgICAgIHdvcmtzcGFjZSxcclxuICAgICAgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLFxyXG4gICAgICBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kXHJcbiAgICAgICk7XHJcbiAgICB3b3Jrc3BhY2UuYWN0aW9uU3RvcmUubG9hZChhY3Rpb25zKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkQWN0aW9ucyhcclxuICAgIHdvcmtzcGFjZTogRmVhdHVyZVdvcmtzcGFjZSxcclxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxyXG4gICAgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XHJcbiAgICApOiBBY3Rpb25bXSB7XHJcbiAgICB0aGlzLnpvb21BdXRvJC5uZXh0KHRoaXMuem9vbUF1dG8pO1xyXG4gICAgdGhpcy5zdG9yYWdlQ2hhbmdlJCQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JhZ2VDaGFuZ2UkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHNraXBXaGlsZShcclxuICAgICAgICAgIChzdG9yYWdlQ2hhbmdlOiBTdG9yYWdlU2VydmljZUV2ZW50KSA9PlxyXG4gICAgICAgICAgICBzdG9yYWdlQ2hhbmdlLmtleSAhPT0gJ3pvb21BdXRvJyB8fCBzdG9yYWdlQ2hhbmdlLmV2ZW50ID09PSBTdG9yYWdlU2VydmljZUV2ZW50RW51bS5DTEVBUkVEXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XHJcbiAgICAgICAgaGFuZGxlWm9vbUF1dG8od29ya3NwYWNlLCB0aGlzLnN0b3JhZ2VTZXJ2aWNlKTtcclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICd6b29tQXV0bycsXHJcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXHJcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnpvb21BdXRvLnRpdGxlJyxcclxuICAgICAgICB0b29sdGlwOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS56b29tQXV0by50b29sdGlwJyxcclxuICAgICAgICBjaGVja0NvbmRpdGlvbjogdGhpcy56b29tQXV0byQsXHJcbiAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xyXG4gICAgICAgICAgaGFuZGxlWm9vbUF1dG8od29ya3NwYWNlLCB0aGlzLnN0b3JhZ2VTZXJ2aWNlKTtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KFxyXG4gICAgICAgICAgICAnem9vbUF1dG8nLFxyXG4gICAgICAgICAgICAhdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3pvb21BdXRvJykgYXMgYm9vbGVhblxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ2ZpbHRlckluTWFwRXh0ZW50JyxcclxuICAgICAgICBjaGVja2JveDogdHJ1ZSxcclxuICAgICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuaW5NYXBFeHRlbnQudGl0bGUnLFxyXG4gICAgICAgIHRvb2x0aXA6IG1hcEV4dGVudFN0cmF0ZWd5QWN0aXZlVG9vbFRpcCh3b3Jrc3BhY2UpLFxyXG4gICAgICAgIGNoZWNrQ29uZGl0aW9uOiByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQsXHJcbiAgICAgICAgaGFuZGxlcjogKCkgPT4gcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLm5leHQoIXJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJC52YWx1ZSlcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiAnc2VsZWN0ZWRPbmx5JyxcclxuICAgICAgICBjaGVja2JveDogdHJ1ZSxcclxuICAgICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc2VsZWN0ZWQudGl0bGUnLFxyXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnNlbGVjdGVkLnRvb2x0aXAnLFxyXG4gICAgICAgIGNoZWNrQ29uZGl0aW9uOiBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kLFxyXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQubmV4dCghc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJC52YWx1ZSlcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiAnY2xlYXJzZWxlY3Rpb24nLFxyXG4gICAgICAgIGljb246ICdzZWxlY3Qtb2ZmJyxcclxuICAgICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuY2xlYXJTZWxlY3Rpb24udGl0bGUnLFxyXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmNsZWFyU2VsZWN0aW9uLnRvb2x0aXAnLFxyXG4gICAgICAgIGhhbmRsZXI6ICh3czogRmVhdHVyZVdvcmtzcGFjZSkgPT4ge1xyXG4gICAgICAgICAgd3MuZW50aXR5U3RvcmUuc3RhdGUudXBkYXRlTWFueSh3cy5lbnRpdHlTdG9yZS52aWV3LmFsbCgpLCB7XHJcbiAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBhcmdzOiBbd29ya3NwYWNlXSxcclxuICAgICAgICBhdmFpbGFiaWxpdHk6ICh3czogRmVhdHVyZVdvcmtzcGFjZSkgPT4gbm9FbGVtZW50U2VsZWN0ZWQod3MpXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogJ2ZlYXR1cmVEb3dubG9hZCcsXHJcbiAgICAgICAgaWNvbjogJ2ZpbGUtZXhwb3J0JyxcclxuICAgICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuZG93bmxvYWQudGl0bGUnLFxyXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmRvd25sb2FkLnRvb2x0aXAnLFxyXG4gICAgICAgIGhhbmRsZXI6ICh3czogRmVhdHVyZVdvcmtzcGFjZSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZmlsdGVyU3RyYXRlZ3kgPSB3cy5lbnRpdHlTdG9yZS5nZXRTdHJhdGVneU9mVHlwZShcclxuICAgICAgICAgICAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3lcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBjb25zdCBmaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSA9IHdzLmVudGl0eVN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKFxyXG4gICAgICAgICAgICBFbnRpdHlTdG9yZUZpbHRlclNlbGVjdGlvblN0cmF0ZWd5XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY29uc3QgbGF5ZXJzV2l0aFNlbGVjdGlvbiA9IGZpbHRlclNlbGVjdGlvblN0cmF0ZWd5LmFjdGl2ZVxyXG4gICAgICAgICAgICA/IFt3cy5sYXllci5pZF1cclxuICAgICAgICAgICAgOiBbXTtcclxuICAgICAgICAgIHRoaXMudG9vbFN0YXRlLnRvb2xUb0FjdGl2YXRlRnJvbU9wdGlvbnMoe1xyXG4gICAgICAgICAgICB0b29sOiAnaW1wb3J0RXhwb3J0JyxcclxuICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgIGxheWVyczogW3dzLmxheWVyLmlkXSxcclxuICAgICAgICAgICAgICBmZWF0dXJlSW5NYXBFeHRlbnQ6IGZpbHRlclN0cmF0ZWd5LmFjdGl2ZSxcclxuICAgICAgICAgICAgICBsYXllcnNXaXRoU2VsZWN0aW9uXHJcbiAgICAgICAgICAgIH0gYXMgRXhwb3J0T3B0aW9uc1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBhcmdzOiBbd29ya3NwYWNlXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdtYXhpbWl6ZScsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLm1heGltaXplJyksXHJcbiAgICAgICAgdG9vbHRpcDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5tYXhpbWl6ZVRvb2x0aXAnXHJcbiAgICAgICAgKSxcclxuICAgICAgICBpY29uOiAncmVzaXplJyxcclxuICAgICAgICBkaXNwbGF5OiAoKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5tYXhpbWl6ZSQucGlwZShtYXAoKHYpID0+ICF2ICYmICF0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpKSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5tYXhpbWl6ZSQubmV4dCh0cnVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6ICdzdGFuZGFyZEV4dGVudCcsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc3RhbmRhcmRFeHRlbnQnXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0b29sdGlwOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnN0YW5kYXJkRXh0ZW50VG9vbHRpcCdcclxuICAgICAgICApLFxyXG4gICAgICAgIGljb246ICdyZXNpemUnLFxyXG4gICAgICAgIGRpc3BsYXk6ICgpID0+IHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLm1heGltaXplJC5waXBlKG1hcCgodikgPT4gdiAmJiAhdGhpcy5tZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tYXhpbWl6ZSQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICBdO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9zaGFyZWQvZmVhdHVyZS1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBRUwsbUNBQW1DLEVBQ25DLGtDQUFrQyxFQUNuQyxNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBRUwsOEJBQThCLEVBQzlCLGlCQUFpQixFQUVsQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQXVDLHVCQUF1QixFQUFnQyxNQUFNLFlBQVksQ0FBQztBQUV4SCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFLbkQsTUFBTSxPQUFPLHFCQUFxQjtJQWlCaEMsWUFDVSxZQUEwQixFQUMzQixlQUFnQyxFQUMvQixTQUFvQixFQUNwQixZQUEwQjtRQUgxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDL0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQW5CN0IsY0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FDOUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQVksQ0FDeEQsQ0FBQztRQUVGLGNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFnQjlELENBQUM7SUFiSixJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMs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N0IsQ0FBQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OzBGQW5LVSxxQkFBcUI7MkVBQXJCLHFCQUFxQixXQUFyQixxQkFBcUIsbUJBRnBCLE1BQU07dUZBRVAscUJBQXFCO2NBSGpDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBBY3Rpb24sXG4gIEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5LFxuICBFbnRpdHlTdG9yZUZpbHRlclNlbGVjdGlvblN0cmF0ZWd5XG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBGZWF0dXJlV29ya3NwYWNlLFxuICBtYXBFeHRlbnRTdHJhdGVneUFjdGl2ZVRvb2xUaXAsXG4gIG5vRWxlbWVudFNlbGVjdGVkLFxuICBFeHBvcnRPcHRpb25zXG59IGZyb20gJ0BpZ28yL2dlbyc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2VFdmVudCwgU3RvcmFnZVNlcnZpY2VFdmVudEVudW0sIExhbmd1YWdlU2VydmljZSwgTWVkaWFTZXJ2aWNlfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2VTdGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JhZ2Uvc3RvcmFnZS5zdGF0ZSc7XG5pbXBvcnQgeyBtYXAsIHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XG5pbXBvcnQgeyBoYW5kbGVab29tQXV0byB9IGZyb20gJy4vd29ya3NwYWNlLnV0aWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZUFjdGlvbnNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwdWJsaWMgbWF4aW1pemUkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd3b3Jrc3BhY2VNYXhpbWl6ZScpIGFzIGJvb2xlYW5cbiAgKTtcblxuICB6b29tQXV0byQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIHN0b3JhZ2VDaGFuZ2UkJDogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCBzdG9yYWdlU2VydmljZSgpOiBTdG9yYWdlU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVN0YXRlLnN0b3JhZ2VTZXJ2aWNlO1xuICB9XG5cbiAgZ2V0IHpvb21BdXRvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnem9vbUF1dG8nKSBhcyBib29sZWFuO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yYWdlU3RhdGU6IFN0b3JhZ2VTdGF0ZSxcbiAgICBwdWJsaWMgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b29sU3RhdGU6IFRvb2xTdGF0ZSxcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yYWdlQ2hhbmdlJCQpIHtcbiAgICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbG9hZEFjdGlvbnMoXG4gICAgd29ya3NwYWNlOiBGZWF0dXJlV29ya3NwYWNlLFxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxuICAgICkge1xuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLmJ1aWxkQWN0aW9ucyhcbiAgICAgIHdvcmtzcGFjZSxcbiAgICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcbiAgICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiRcbiAgICAgICk7XG4gICAgd29ya3NwYWNlLmFjdGlvblN0b3JlLmxvYWQoYWN0aW9ucyk7XG4gIH1cblxuICBidWlsZEFjdGlvbnMoXG4gICAgd29ya3NwYWNlOiBGZWF0dXJlV29ya3NwYWNlLFxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxuICAgICk6IEFjdGlvbltdIHtcbiAgICB0aGlzLnpvb21BdXRvJC5uZXh0KHRoaXMuem9vbUF1dG8pO1xuICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkID0gdGhpcy5zdG9yYWdlU2VydmljZS5zdG9yYWdlQ2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShcbiAgICAgICAgICAoc3RvcmFnZUNoYW5nZTogU3RvcmFnZVNlcnZpY2VFdmVudCkgPT5cbiAgICAgICAgICAgIHN0b3JhZ2VDaGFuZ2Uua2V5ICE9PSAnem9vbUF1dG8nIHx8IHN0b3JhZ2VDaGFuZ2UuZXZlbnQgPT09IFN0b3JhZ2VTZXJ2aWNlRXZlbnRFbnVtLkNMRUFSRURcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XG4gICAgICAgIGhhbmRsZVpvb21BdXRvKHdvcmtzcGFjZSwgdGhpcy5zdG9yYWdlU2VydmljZSk7XG4gICAgICB9KTtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogJ3pvb21BdXRvJyxcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS56b29tQXV0by50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnpvb21BdXRvLnRvb2x0aXAnLFxuICAgICAgICBjaGVja0NvbmRpdGlvbjogdGhpcy56b29tQXV0byQsXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICBoYW5kbGVab29tQXV0byh3b3Jrc3BhY2UsIHRoaXMuc3RvcmFnZVNlcnZpY2UpO1xuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KFxuICAgICAgICAgICAgJ3pvb21BdXRvJyxcbiAgICAgICAgICAgICF0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnem9vbUF1dG8nKSBhcyBib29sZWFuXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdmaWx0ZXJJbk1hcEV4dGVudCcsXG4gICAgICAgIGNoZWNrYm94OiB0cnVlLFxuICAgICAgICB0aXRsZTogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuaW5NYXBFeHRlbnQudGl0bGUnLFxuICAgICAgICB0b29sdGlwOiBtYXBFeHRlbnRTdHJhdGVneUFjdGl2ZVRvb2xUaXAod29ya3NwYWNlKSxcbiAgICAgICAgY2hlY2tDb25kaXRpb246IHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcbiAgICAgICAgaGFuZGxlcjogKCkgPT4gcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLm5leHQoIXJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJC52YWx1ZSlcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnc2VsZWN0ZWRPbmx5JyxcbiAgICAgICAgY2hlY2tib3g6IHRydWUsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5zZWxlY3RlZC50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLnNlbGVjdGVkLnRvb2x0aXAnLFxuICAgICAgICBjaGVja0NvbmRpdGlvbjogc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJCxcbiAgICAgICAgaGFuZGxlcjogKCkgPT4gc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJC5uZXh0KCFzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kLnZhbHVlKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdjbGVhcnNlbGVjdGlvbicsXG4gICAgICAgIGljb246ICdzZWxlY3Qtb2ZmJyxcbiAgICAgICAgdGl0bGU6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmNsZWFyU2VsZWN0aW9uLnRpdGxlJyxcbiAgICAgICAgdG9vbHRpcDogJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2UuY2xlYXJTZWxlY3Rpb24udG9vbHRpcCcsXG4gICAgICAgIGhhbmRsZXI6ICh3czogRmVhdHVyZVdvcmtzcGFjZSkgPT4ge1xuICAgICAgICAgIHdzLmVudGl0eVN0b3JlLnN0YXRlLnVwZGF0ZU1hbnkod3MuZW50aXR5U3RvcmUudmlldy5hbGwoKSwge1xuICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGFyZ3M6IFt3b3Jrc3BhY2VdLFxuICAgICAgICBhdmFpbGFiaWxpdHk6ICh3czogRmVhdHVyZVdvcmtzcGFjZSkgPT4gbm9FbGVtZW50U2VsZWN0ZWQod3MpXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2ZlYXR1cmVEb3dubG9hZCcsXG4gICAgICAgIGljb246ICdmaWxlLWV4cG9ydCcsXG4gICAgICAgIHRpdGxlOiAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5kb3dubG9hZC50aXRsZScsXG4gICAgICAgIHRvb2x0aXA6ICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLmRvd25sb2FkLnRvb2x0aXAnLFxuICAgICAgICBoYW5kbGVyOiAod3M6IEZlYXR1cmVXb3Jrc3BhY2UpID0+IHtcbiAgICAgICAgICBjb25zdCBmaWx0ZXJTdHJhdGVneSA9IHdzLmVudGl0eVN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKFxuICAgICAgICAgICAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3lcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IGZpbHRlclNlbGVjdGlvblN0cmF0ZWd5ID0gd3MuZW50aXR5U3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoXG4gICAgICAgICAgICBFbnRpdHlTdG9yZUZpbHRlclNlbGVjdGlvblN0cmF0ZWd5XG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBsYXllcnNXaXRoU2VsZWN0aW9uID0gZmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kuYWN0aXZlXG4gICAgICAgICAgICA/IFt3cy5sYXllci5pZF1cbiAgICAgICAgICAgIDogW107XG4gICAgICAgICAgdGhpcy50b29sU3RhdGUudG9vbFRvQWN0aXZhdGVGcm9tT3B0aW9ucyh7XG4gICAgICAgICAgICB0b29sOiAnaW1wb3J0RXhwb3J0JyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgbGF5ZXJzOiBbd3MubGF5ZXIuaWRdLFxuICAgICAgICAgICAgICBmZWF0dXJlSW5NYXBFeHRlbnQ6IGZpbHRlclN0cmF0ZWd5LmFjdGl2ZSxcbiAgICAgICAgICAgICAgbGF5ZXJzV2l0aFNlbGVjdGlvblxuICAgICAgICAgICAgfSBhcyBFeHBvcnRPcHRpb25zXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGFyZ3M6IFt3b3Jrc3BhY2VdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ21heGltaXplJyxcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLm1heGltaXplJyksXG4gICAgICAgIHRvb2x0aXA6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICdpZ28uaW50ZWdyYXRpb24ud29ya3NwYWNlLm1heGltaXplVG9vbHRpcCdcbiAgICAgICAgKSxcbiAgICAgICAgaWNvbjogJ3Jlc2l6ZScsXG4gICAgICAgIGRpc3BsYXk6ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5tYXhpbWl6ZSQucGlwZShtYXAoKHYpID0+ICF2ICYmICF0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCkpIHtcbiAgICAgICAgICAgIHRoaXMubWF4aW1pemUkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdzdGFuZGFyZEV4dGVudCcsXG4gICAgICAgIHRpdGxlOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAnaWdvLmludGVncmF0aW9uLndvcmtzcGFjZS5zdGFuZGFyZEV4dGVudCdcbiAgICAgICAgKSxcbiAgICAgICAgdG9vbHRpcDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgJ2lnby5pbnRlZ3JhdGlvbi53b3Jrc3BhY2Uuc3RhbmRhcmRFeHRlbnRUb29sdGlwJ1xuICAgICAgICApLFxuICAgICAgICBpY29uOiAncmVzaXplJyxcbiAgICAgICAgZGlzcGxheTogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLm1heGltaXplJC5waXBlKG1hcCgodikgPT4gdiAmJiAhdGhpcy5tZWRpYVNlcnZpY2UuaXNNb2JpbGUoKSkpO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5tYXhpbWl6ZSQubmV4dChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdO1xuICB9XG59XG4iXX0=
|