@igo2/geo 1.15.0 → 1.15.2
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/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +1 -1
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +3 -3
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +1 -1
- package/esm2020/lib/catalog/index.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
- package/esm2020/lib/catalog/shared/index.mjs +1 -1
- package/esm2020/lib/datasource/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
- package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
- package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
- package/esm2020/lib/directions/directions-results/index.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/index.mjs +1 -1
- package/esm2020/lib/directions/index.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.enum.mjs +1 -1
- package/esm2020/lib/directions/shared/index.mjs +1 -1
- package/esm2020/lib/download/download-button/index.mjs +1 -1
- package/esm2020/lib/download/index.mjs +1 -1
- package/esm2020/lib/download/shared/index.mjs +1 -1
- package/esm2020/lib/draw/index.mjs +1 -1
- package/esm2020/lib/feature/index.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.enums.mjs +1 -1
- package/esm2020/lib/feature/shared/index.mjs +1 -1
- package/esm2020/lib/filter/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-time/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-list/index.mjs +1 -1
- package/esm2020/lib/filter/shared/index.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-list/index.mjs +1 -1
- package/esm2020/lib/geometry/index.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/index.mjs +1 -1
- package/esm2020/lib/geometry/shared/index.mjs +1 -1
- package/esm2020/lib/import-export/export-button/index.mjs +1 -1
- package/esm2020/lib/import-export/import-export/index.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.errors.mjs +1 -1
- package/esm2020/lib/import-export/shared/index.mjs +1 -1
- package/esm2020/lib/layer/layer-item/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-list/index.mjs +1 -1
- package/esm2020/lib/layer/layer-list/index.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/index.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +1 -1
- package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/index.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +5 -3
- package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
- package/esm2020/lib/layer/utils/index.mjs +1 -1
- package/esm2020/lib/map/baselayers-switcher/index.mjs +1 -1
- package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
- package/esm2020/lib/map/index.mjs +1 -1
- package/esm2020/lib/map/info-section/index.mjs +1 -1
- package/esm2020/lib/map/map-browser/index.mjs +1 -1
- package/esm2020/lib/map/map-center/index.mjs +1 -1
- package/esm2020/lib/map/menu-button/index.mjs +1 -1
- package/esm2020/lib/map/offline-button/index.mjs +1 -1
- package/esm2020/lib/map/rotation-button/index.mjs +1 -1
- package/esm2020/lib/map/shared/controllers/index.mjs +1 -1
- package/esm2020/lib/map/shared/index.mjs +1 -1
- package/esm2020/lib/map/shared/map.enums.mjs +1 -1
- package/esm2020/lib/map/swipe-control/index.mjs +1 -1
- package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
- package/esm2020/lib/map/zoom-button/index.mjs +1 -1
- package/esm2020/lib/measure/index.mjs +1 -1
- package/esm2020/lib/measure/shared/index.mjs +1 -1
- package/esm2020/lib/metadata/index.mjs +1 -1
- package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
- package/esm2020/lib/metadata/shared/index.mjs +1 -1
- package/esm2020/lib/offline/geoDB/index.mjs +1 -1
- package/esm2020/lib/offline/shared/index.mjs +1 -1
- package/esm2020/lib/overlay/index.mjs +1 -1
- package/esm2020/lib/print/index.mjs +1 -1
- package/esm2020/lib/print/print-form/index.mjs +1 -1
- package/esm2020/lib/query/index.mjs +1 -1
- package/esm2020/lib/query/shared/index.mjs +1 -1
- package/esm2020/lib/query/shared/query.enums.mjs +1 -1
- package/esm2020/lib/search/index.mjs +1 -1
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +4 -3
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +54 -56
- package/esm2020/lib/search/shared/index.mjs +1 -1
- package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
- package/esm2020/lib/toast/index.mjs +1 -1
- package/esm2020/lib/utils/googleLinks.mjs +1 -1
- package/esm2020/lib/utils/osmLinks.mjs +1 -1
- package/esm2020/lib/wkt/index.mjs +1 -1
- package/esm2020/lib/wkt/shared/index.mjs +1 -1
- package/esm2020/lib/workspace/index.mjs +1 -1
- package/esm2020/lib/workspace/shared/index.mjs +1 -1
- package/esm2020/lib/workspace/widgets/index.mjs +1 -1
- package/fesm2015/igo2-geo.mjs +61 -61
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +61 -61
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +4 -4
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -2
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -3
- package/lib/catalog/shared/catalog.interface.d.ts +2 -2
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/package.json +4 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './map-center.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvbWFwLWNlbnRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXAtY2VudGVyLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './menu-button.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvbWVudS1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWVudS1idXR0b24uY29tcG9uZW50JztcclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './offline-button.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvb2ZmbGluZS1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb2ZmbGluZS1idXR0b24uY29tcG9uZW50JztcclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './rotation-button.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvcm90YXRpb24tYnV0dG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JvdGF0aW9uLWJ1dHRvbi5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './controller';
|
|
2
2
|
export * from './geolocation';
|
|
3
3
|
export * from './view';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc2hhcmVkL2NvbnRyb2xsZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb250cm9sbGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9nZW9sb2NhdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlldyc7XHJcbiJdfQ==
|
|
@@ -11,4 +11,4 @@ export * from './projection.service';
|
|
|
11
11
|
export * from './controllers';
|
|
12
12
|
export * from './projection.utils';
|
|
13
13
|
export * from './linkedLayers.utils';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFwJztcclxuZXhwb3J0ICogZnJvbSAnLi9tYXAuZW51bXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21hcC5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21hcC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tYXAudXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21hcE9mZmxpbmUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tYXAtcG9pbnRlci1wb3NpdGlvbi5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2hvdmVyLWZlYXR1cmUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm9qZWN0aW9uLmludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3Rpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbGxlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb2plY3Rpb24udXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpbmtlZExheWVycy51dGlscyc7XHJcbiJdfQ==
|
|
@@ -3,4 +3,4 @@ export var MapViewAction;
|
|
|
3
3
|
MapViewAction[MapViewAction["Move"] = 0] = "Move";
|
|
4
4
|
MapViewAction[MapViewAction["Zoom"] = 1] = "Zoom";
|
|
5
5
|
})(MapViewAction || (MapViewAction = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmVudW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9tYXAuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2QixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtBQUNOLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1hcFZpZXdBY3Rpb24ge1xyXG4gIE1vdmUsXHJcbiAgWm9vbVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './swipe-control.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc3dpcGUtY29udHJvbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zd2lwZS1jb250cm9sLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './wake-lock-button.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvd2FrZS1sb2NrLWJ1dHRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93YWtlLWxvY2stYnV0dG9uLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './zoom-button.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvem9vbS1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vem9vbS1idXR0b24uY29tcG9uZW50JztcclxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './shared';
|
|
2
2
|
export * from './measurer/measurer.component';
|
|
3
3
|
export * from './measurer/measure-format.pipe';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tZWFzdXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9tZWFzdXJlci9tZWFzdXJlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL21lYXN1cmVyL21lYXN1cmUtZm9ybWF0LnBpcGUnO1xyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './measure.enum';
|
|
2
2
|
export * from './measure.interfaces';
|
|
3
3
|
export * from './measure.utils';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tZWFzdXJlL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWVhc3VyZS5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9tZWFzdXJlLmludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21lYXN1cmUudXRpbHMnO1xyXG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './shared';
|
|
2
2
|
export * from './metadata-button';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tZXRhZGF0YS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL21ldGFkYXRhLWJ1dHRvbic7XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './metadata-button.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tZXRhZGF0YS9tZXRhZGF0YS1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWV0YWRhdGEtYnV0dG9uLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './metadata.service';
|
|
2
2
|
export * from './metadata.interface';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tZXRhZGF0YS9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZXRhZGF0YS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tZXRhZGF0YS5pbnRlcmZhY2UnO1xyXG4iXX0=
|
|
@@ -2,4 +2,4 @@ export * from './geoDB.enums';
|
|
|
2
2
|
export * from './geoDB.interface';
|
|
3
3
|
export * from './geoDB.service';
|
|
4
4
|
export * from './configFileToGeoDB.service';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vZmZsaW5lL2dlb0RCL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW9EQi5lbnVtcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ2VvREIuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9nZW9EQi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maWdGaWxlVG9HZW9EQi5zZXJ2aWNlJztcclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './geo-network.service';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vZmZsaW5lL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW8tbmV0d29yay5zZXJ2aWNlJztcclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './shared';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vdmVybGF5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xyXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from './shared';
|
|
2
2
|
export * from './print/print.component';
|
|
3
3
|
export * from './print-form';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9wcmludC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ByaW50L3ByaW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJpbnQtZm9ybSc7XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './print-form.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9wcmludC9wcmludC1mb3JtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3ByaW50LWZvcm0uY29tcG9uZW50JztcclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './shared';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9xdWVyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcclxuIl19
|
|
@@ -4,4 +4,4 @@ export * from './query.enums';
|
|
|
4
4
|
export * from './query.interfaces';
|
|
5
5
|
export * from './query.utils';
|
|
6
6
|
export * from './query-search-source';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9xdWVyeS9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcXVlcnkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnkuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS5lbnVtcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnkuaW50ZXJmYWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnkudXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LXNlYXJjaC1zb3VyY2UnO1xyXG4iXX0=
|
|
@@ -27,4 +27,4 @@ export var QueryHtmlTarget;
|
|
|
27
27
|
QueryHtmlTarget["IFRAME"] = "iframe";
|
|
28
28
|
QueryHtmlTarget["BLANK"] = "_blank";
|
|
29
29
|
})(QueryHtmlTarget || (QueryHtmlTarget = {}));
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9xdWVyeS9zaGFyZWQvcXVlcnkuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FVWDtBQVZELFdBQVksV0FBVztJQUNyQiw0QkFBYSxDQUFBO0lBQ2IsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7SUFDYixrQ0FBbUIsQ0FBQTtJQUNuQixvQ0FBcUIsQ0FBQTtJQUNyQixvQ0FBcUIsQ0FBQTtJQUNyQiw0QkFBYSxDQUFBO0lBQ2IsNEJBQWEsQ0FBQTtJQUNiLG9DQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFWVyxXQUFXLEtBQVgsV0FBVyxRQVV0QjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQVVYO0FBVkQsV0FBWSxtQkFBbUI7SUFDN0IsdURBQWdDLENBQUE7SUFDaEMsNkRBQXNDLENBQUE7SUFDdEMsZ0RBQXlCLENBQUE7SUFDekIsc0RBQStCLENBQUE7SUFDL0IsMkNBQW9CLENBQUE7SUFDcEIsb0RBQTZCLENBQUE7SUFDN0IsMENBQW1CLENBQUE7SUFDbkIseUNBQWtCLENBQUE7SUFDbEIsNkNBQXNCLENBQUE7QUFDeEIsQ0FBQyxFQVZXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFVOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3pCLG9DQUFpQixDQUFBO0lBQ2pCLG1DQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFF1ZXJ5Rm9ybWF0IHtcclxuICBHTUwyID0gJ2dtbDInLFxyXG4gIEdNTDMgPSAnZ21sMycsXHJcbiAgSlNPTiA9ICdqc29uJyxcclxuICBHRU9KU09OID0gJ2dlb2pzb24nLFxyXG4gIEdFT0pTT04yID0gJ2dlb2pzb24yJyxcclxuICBFU1JJSlNPTiA9ICdlc3JpanNvbicsXHJcbiAgVEVYVCA9ICd0ZXh0JyxcclxuICBIVE1MID0gJ2h0bWwnLFxyXG4gIEhUTUxHTUwyID0gJ2h0bWxnbWwyJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBRdWVyeUZvcm1hdE1pbWVUeXBlIHtcclxuICBHTUwyID0gJ2FwcGxpY2F0aW9uL3ZuZC5vZ2MuZ21sJyxcclxuICBHTUwzID0gJ2FwcGxpY2F0aW9uL3ZuZC5vZ2MuZ21sLzMuMS4xJyxcclxuICBKU09OID0gJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gIEdFT0pTT04gPSAnYXBwbGljYXRpb24vZ2VvanNvbicsXHJcbiAgR0VPSlNPTjIgPSAnZ2VvanNvbicsXHJcbiAgRVNSSUpTT04gPSAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgVEVYVCA9ICd0ZXh0L3BsYWluJyxcclxuICBIVE1MID0gJ3RleHQvaHRtbCcsXHJcbiAgSFRNTEdNTDIgPSAndGV4dC9odG1sJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBRdWVyeUh0bWxUYXJnZXQge1xyXG4gIElGUkFNRSA9ICdpZnJhbWUnLFxyXG4gIEJMQU5LID0gJ19ibGFuaydcclxufVxyXG4iXX0=
|
|
@@ -9,4 +9,4 @@ export * from './search-results/search-results-add-button.component';
|
|
|
9
9
|
export * from './search-results/search-results-item.component';
|
|
10
10
|
export * from './search-results/search-results.component';
|
|
11
11
|
export * from './search-results/search-results.module';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXNlbGVjdG9yL3NlYXJjaC1zZWxlY3Rvci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1zZXR0aW5ncy9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLWl0ZW0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLm1vZHVsZSc7XHJcbiJdfQ==
|
|
@@ -128,10 +128,11 @@ export class SearchResultAddButtonComponent {
|
|
|
128
128
|
* On toggle button click, emit the added change event
|
|
129
129
|
* @internal
|
|
130
130
|
*/
|
|
131
|
-
onToggleClick(
|
|
131
|
+
onToggleClick(currEvent) {
|
|
132
132
|
if (typeof this.lastTimeoutRequest !== 'undefined') {
|
|
133
133
|
clearTimeout(this.lastTimeoutRequest);
|
|
134
134
|
}
|
|
135
|
+
const event = currEvent ? currEvent : {};
|
|
135
136
|
if (event.type === 'mouseenter' && this.mouseInsideAdd) {
|
|
136
137
|
return;
|
|
137
138
|
}
|
|
@@ -150,7 +151,7 @@ export class SearchResultAddButtonComponent {
|
|
|
150
151
|
case 'mouseenter':
|
|
151
152
|
if (!this.isPreview$.value && !this.added) {
|
|
152
153
|
this.lastTimeoutRequest = setTimeout(() => {
|
|
153
|
-
this.add();
|
|
154
|
+
this.add(event);
|
|
154
155
|
this.isPreview$.next(true);
|
|
155
156
|
}, 500);
|
|
156
157
|
}
|
|
@@ -425,4 +426,4 @@ SearchResultAddButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
|
|
|
425
426
|
}], stores: [{
|
|
426
427
|
type: Input
|
|
427
428
|
}] }); })();
|
|
428
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCx1QkFBdUIsR0FHeEIsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFckUsT0FBTyxFQUVMLGFBQWEsRUFDYixZQUFZLEVBQ1osMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBSXJDLE9BQU8sRUFBRSxLQUFLLEVBQWdCLE1BQU0sWUFBWSxDQUFDOzs7Ozs7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LFNBQWdDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN0QztRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7NEdBamFVLDhCQUE4QjtpRkFBOUIsOEJBQThCO1FDL0MzQyx1RkFzQlM7UUFFVCxxRkFtQlM7O1FBeENSLDBEQUFxQztRQXdCckMsZUFBa0U7UUFBbEUsMkZBQWtFOzt1RkRvQnRELDhCQUE4QjtjQU4xQyxTQUFTOzJCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtrSkEwQnRDLEtBQUs7a0JBQWIsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUtHLEtBQUs7a0JBQWIsS0FBSztZQUtHLEdBQUc7a0JBQVgsS0FBSztZQUtHLHVCQUF1QjtrQkFBL0IsS0FBSztZQUdGLEtBQUs7a0JBRFIsS0FBSztZQVNHLE1BQU07a0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IExheWVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMQVlFUiB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllci5lbnVtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgQmVoYXZpb3JTdWJqZWN0LCB0YWtlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNhdmVGZWF0dXJlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9zYXZlLWZlYXR1cmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXInO1xyXG5pbXBvcnQgeyBEYXRhU291cmNlU2VydmljZSwgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlJztcclxuaW1wb3J0IHtcclxuICBGZWF0dXJlLFxyXG4gIEZlYXR1cmVNb3Rpb24sXHJcbiAgRmVhdHVyZVN0b3JlLFxyXG4gIEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSxcclxuICBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneSxcclxuICB0cnlBZGRMb2FkaW5nU3RyYXRlZ3ksXHJcbiAgdHJ5QWRkU2VsZWN0aW9uU3RyYXRlZ3ksXHJcbiAgdHJ5QmluZFN0b3JlTGF5ZXJcclxufSBmcm9tICcuLi8uLi9mZWF0dXJlJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBnZXRUb29sdGlwc09mT2xHZW9tZXRyeSB9IGZyb20gJy4uLy4uL21lYXN1cmUnO1xyXG5pbXBvcnQgT2xPdmVybGF5IGZyb20gJ29sL092ZXJsYXknO1xyXG5pbXBvcnQgU3Ryb2tlIGZyb20gJ29sL3N0eWxlL1N0cm9rZSc7XHJcbmltcG9ydCBGaWxsIGZyb20gJ29sL3N0eWxlL0ZpbGwnO1xyXG5pbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xyXG5pbXBvcnQgQ2lyY2xlIGZyb20gJ29sL3N0eWxlL0NpcmNsZSc7XHJcbmltcG9ydCB7IFZlY3RvclNvdXJjZUV2ZW50IGFzIE9sVmVjdG9yU291cmNlRXZlbnQgfSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcclxuaW1wb3J0IHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcbmltcG9ydCB7IFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vcXVlcnknO1xyXG5pbXBvcnQgeyBNZWRpYSwgTWVkaWFTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc2VhcmNoLWFkZC1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtcmVzdWx0cy1hZGQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0cy1hZGQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdEFkZEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95e1xyXG4gIHB1YmxpYyB0b29sdGlwJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcCdcclxuICApO1xyXG5cclxuICBwdWJsaWMgYWRkRmVhdHVyZVRvTGF5ZXJUb29sdGlwJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgJ2lnby5nZW8uc2VhcmNoLmFkZFRvTGF5ZXInXHJcbiAgKTtcclxuXHJcbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGxheWVycyQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHB1YmxpYyBpblJhbmdlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcclxuXHJcbiAgcHVibGljIGlzVmlzaWJsZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG5cclxuICBwdWJsaWMgaXNQcmV2aWV3JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcblxyXG4gIHByaXZhdGUgbGF5ZXJzU3ViY3JpcHRpb25zID0gW107XHJcblxyXG4gIHByaXZhdGUgbGFzdFRpbWVvdXRSZXF1ZXN0O1xyXG5cclxuICBwcml2YXRlIG1vdXNlSW5zaWRlQWRkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGxheWVyOiBTZWFyY2hSZXN1bHQ7XHJcblxyXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZTxTZWFyY2hSZXN1bHQ+O1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBsYXllciBpcyBhbHJlYWR5IGFkZGVkIHRvIHRoZSBtYXBcclxuICAgKi9cclxuICBASW5wdXQoKSBhZGRlZDogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG1hcCB0byBhZGQgdGhlIHNlYXJjaCByZXN1bHQgbGF5ZXIgdG9cclxuICAgKi9cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgLyoqXHJcbiAgICogc2hvdyBoaWRlIHNhdmUgc2VhcmNoIHJlc3VsdCBpbiBsYXllciBidXR0b25cclxuICAgKi9cclxuICBASW5wdXQoKSBzYXZlU2VhcmNoUmVzdWx0SW5MYXllcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBjb2xvcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcclxuICB9XHJcbiAgc2V0IGNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbG9yID0gJ3ByaW1hcnknO1xyXG5cclxuICBASW5wdXQoKSBzdG9yZXM6IEZlYXR1cmVTdG9yZTxGZWF0dXJlPltdID0gW107XHJcblxyXG4gIGdldCBhbGxMYXllcnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXAubGF5ZXJzLmZpbHRlcigobGF5ZXIpID0+XHJcbiAgICAgIFN0cmluZyhsYXllci5pZCkuaW5jbHVkZXMoJ2lnby1zZWFyY2gtbGF5ZXInKVxyXG4gICAgKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBtZWRpYVNlcnZpY2UkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHB1YmxpYyBpc01vYmlsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIGRhdGFTb3VyY2VTZXJ2aWNlOiBEYXRhU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gY2hlY2sgdGhlIHZpZXcgaWYgaXMgbW9iaWxlIG9yIG5vdFxyXG4gICAgdGhpcy5tZWRpYVNlcnZpY2UkJCA9IHRoaXMubWVkaWFTZXJ2aWNlLm1lZGlhJC5zdWJzY3JpYmUoXHJcbiAgICAgIChtZWRpYTogTWVkaWEpID0+IHtcclxuICAgICAgICBpZihtZWRpYSA9PT0gTWVkaWEuTW9iaWxlKSB7XHJcbiAgICAgICAgICB0aGlzLmlzTW9iaWxlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5sYXllci5tZXRhLmRhdGFUeXBlID09PSAnTGF5ZXInKSB7XHJcbiAgICAgIHRoaXMuYWRkZWQgPVxyXG4gICAgICAgIHRoaXMubWFwLmxheWVycy5maW5kSW5kZXgoXHJcbiAgICAgICAgICBsYXkgPT4gbGF5LmlkID09PSB0aGlzLmxheWVyLmRhdGEuc291cmNlT3B0aW9ucy5pZFxyXG4gICAgICAgICkgIT09IC0xO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sYXllcnMkJCA9IHRoaXMubWFwLmxheWVycyQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5pc1Zpc2libGUoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZXNvbHV0aW9uJCQgPSB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJC5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICB0aGlzLmlzSW5SZXNvbHV0aW9uc1JhbmdlKHZhbHVlKTtcclxuICAgICAgdGhpcy5pc1Zpc2libGUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnJlc29sdXRpb24kJC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5sYXllcnMkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgaWYgKHRoaXMubWVkaWFTZXJ2aWNlJCQpIHtcclxuICAgICAgdGhpcy5tZWRpYVNlcnZpY2UkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT24gbW91c2UgZXZlbnQsIG1vdXNlZW50ZXIgL21vdXNlbGVhdmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvbk1vdXNlRXZlbnQoZXZlbnQpIHtcclxuICAgIHRoaXMub25Ub2dnbGVDbGljayhldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvblRvZ2dsZUNsaWNrKGV2ZW50KSB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5sYXN0VGltZW91dFJlcXVlc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChldmVudC50eXBlID09PSAnbW91c2VlbnRlcicgJiYgdGhpcy5tb3VzZUluc2lkZUFkZCApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2NsaWNrJzpcclxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYWRkZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkKGV2ZW50KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pc1ByZXZpZXckLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtb3VzZWVudGVyJzpcclxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSAmJiAhdGhpcy5hZGRlZCkge1xyXG4gICAgICAgICAgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hZGQoKTtcclxuICAgICAgICAgICAgdGhpcy5pc1ByZXZpZXckLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1vdXNlSW5zaWRlQWRkID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbW91c2VsZWF2ZSc6XHJcbiAgICAgICAgaWYgKHRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5yZW1vdmUoKTtcclxuICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGQoZXZlbnQ/OiBFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmFkZGVkKSB7XHJcbiAgICAgIHRoaXMuYWRkZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmFkZExheWVyVG9NYXAoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmUoKSB7XHJcbiAgICBpZiAodGhpcy5hZGRlZCkge1xyXG4gICAgICB0aGlzLmFkZGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucmVtb3ZlTGF5ZXJGcm9tTWFwKCk7XHJcbiAgICAgIHRoaXMubGF5ZXJzU3ViY3JpcHRpb25zLm1hcChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgIHRoaXMubGF5ZXJzU3ViY3JpcHRpb25zID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0IGFkZGVkIGNoYW5nZSBldmVudCB3aXRoIGFkZGVkID0gdHJ1ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkTGF5ZXJUb01hcChldmVudD86IEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubGF5ZXIubWV0YS5kYXRhVHlwZSAhPT0gTEFZRVIpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSAodGhpcy5sYXllciBhcyBTZWFyY2hSZXN1bHQ8TGF5ZXJPcHRpb25zPikuZGF0YTtcclxuICAgIGlmIChsYXllck9wdGlvbnMuc291cmNlT3B0aW9ucy5vcHRpb25zRnJvbUFwaSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMubGF5ZXJzU3ViY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMubGF5ZXJTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZUFzeW5jTGF5ZXIobGF5ZXJPcHRpb25zKVxyXG4gICAgICAgIC5zdWJzY3JpYmUobGF5ZXIgPT4ge1xyXG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjbGljaycpIHtcclxuICAgICAgICAgICAgdGhpcy5tYXAubGF5ZXJzQWRkZWRCeUNsaWNrJC5uZXh0KFtsYXllcl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIobGF5ZXIpO1xyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IGZhbHNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVMYXllckZyb21NYXAoKSB7XHJcbiAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubGF5ZXIubWV0YS5kYXRhVHlwZSAhPT0gTEFZRVIpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBvTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQodGhpcy5sYXllci5kYXRhLnNvdXJjZU9wdGlvbnMuaWQpO1xyXG4gICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIob0xheWVyKTtcclxuICB9XHJcblxyXG4gIGlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb246IG51bWJlcikge1xyXG4gICAgY29uc3QgbWluUmVzb2x1dGlvbiA9IHRoaXMubGF5ZXIuZGF0YS5taW5SZXNvbHV0aW9uIHx8IDA7XHJcbiAgICBjb25zdCBtYXhSZXNvbHV0aW9uID0gdGhpcy5sYXllci5kYXRhLm1heFJlc29sdXRpb24gfHwgSW5maW5pdHk7XHJcbiAgICB0aGlzLmluUmFuZ2UkLm5leHQoXHJcbiAgICAgIHJlc29sdXRpb24gPj0gbWluUmVzb2x1dGlvbiAmJiByZXNvbHV0aW9uIDw9IG1heFJlc29sdXRpb25cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc1Zpc2libGUoKSB7XHJcbiAgICBpZiAodGhpcy5sYXllcj8uZGF0YT8uc291cmNlT3B0aW9ucz8uaWQpIHtcclxuICAgICAgY29uc3Qgb0xheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKHRoaXMubGF5ZXIuZGF0YS5zb3VyY2VPcHRpb25zLmlkKTtcclxuICAgICAgb0xheWVyID8gdGhpcy5pc1Zpc2libGUkLm5leHQob0xheWVyLnZpc2libGUpIDogdGhpcy5pc1Zpc2libGUkLm5leHQoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QmFkZ2VJY29uKCkge1xyXG4gICAgaWYgKHRoaXMuaW5SYW5nZSQudmFsdWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlJC52YWx1ZSA/ICcnIDogJ2V5ZS1vZmYnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdleWUtb2ZmJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXB1dGVUb29sdGlwKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5hZGRlZCkge1xyXG4gICAgICBpZiAodGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5SYW5nZSQudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlXHJcbiAgICAgICAgPyAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXAnXHJcbiAgICAgICAgOiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXBOb3RWaXNpYmxlJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwT3V0UmFuZ2UnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5pblJhbmdlJC52YWx1ZVxyXG4gICAgICAgID8gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcCdcclxuICAgICAgICA6ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXBPdXRSYW5nZSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRGZWF0dXJlVG9MYXllcigpIHtcclxuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgIT09ICdGZWF0dXJlJykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWRGZWF0dXJlID0gdGhpcy5sYXllcjtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oU2F2ZUZlYXR1cmVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc3MDBweCcsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBmZWF0dXJlOiBzZWxlY3RlZEZlYXR1cmUsXHJcbiAgICAgICAgbGF5ZXJzOiB0aGlzLmFsbExheWVyc1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGRhdGE6IHtsYXllcjogc3RyaW5nIHwgYW55LCBmZWF0dXJlOiBTZWFyY2hSZXN1bHR9KSA9PiB7XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgaWYodGhpcy5zdG9yZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZXMubWFwKChzdG9yZSkgPT4ge1xyXG4gICAgICAgICAgICBzdG9yZS5zdGF0ZS51cGRhdGVBbGwoe3NlbGVjdGVkOiBmYWxzZX0pO1xyXG4gICAgICAgICAgICAoc3RvcmU/LmxheWVyKS52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybiBzdG9yZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBjaGVjayBpZiBpcyBuZXcgbGF5ZXJcclxuICAgICAgICBpZiAodHlwZW9mIGRhdGEubGF5ZXIgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0ZUxheWVyKGRhdGEubGF5ZXIsIGRhdGEuZmVhdHVyZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGFjdGl2ZVN0b3JlID0gdGhpcy5zdG9yZXMuZmluZChzdG9yZSA9PiBzdG9yZS5sYXllci5pZCA9PT0gZGF0YS5sYXllci5pZCk7XHJcbiAgICAgICAgICBhY3RpdmVTdG9yZS5sYXllci52aXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgIGFjdGl2ZVN0b3JlLmxheWVyLm9wYWNpdHkgPSAxO1xyXG4gICAgICAgICAgdGhpcy5hZGRGZWF0dXJlKGRhdGEuZmVhdHVyZSwgYWN0aXZlU3RvcmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVMYXllcihsYXllclRpdGxlOiBzdHJpbmcsIHNlbGVjdGVkRmVhdHVyZTogU2VhcmNoUmVzdWx0KSB7XHJcbiAgICBjb25zdCBhY3RpdmVTdG9yZTogRmVhdHVyZVN0b3JlPEZlYXR1cmU+ID0gbmV3IEZlYXR1cmVTdG9yZTxGZWF0dXJlPihbXSwge1xyXG4gICAgICBtYXA6IHRoaXMubWFwXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzdHlsZXMgPSBbXHJcbiAgICAgIG5ldyBTdHlsZSh7XHJcbiAgICAgICAgaW1hZ2U6IG5ldyBDaXJjbGUoe1xyXG4gICAgICAgICAgcmFkaXVzOiA1LFxyXG4gICAgICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcclxuICAgICAgICAgICAgd2lkdGg6IDEsXHJcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgxNDMsNyw3LDEpJ1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBuZXcgRmlsbCh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgxNDMsNyw3LDEpJ1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICB9KSxcclxuICAgICAgbmV3IFN0eWxlKHtcclxuICAgICAgICBzdHJva2U6IG5ldyBTdHJva2Uoe1xyXG4gICAgICAgICAgd2lkdGg6IDEsXHJcbiAgICAgICAgICBjb2xvcjogJ3JnYmEoMTQzLDcsNywxKSdcclxuICAgICAgICB9KSxcclxuICAgICAgICBmaWxsOiBuZXcgRmlsbCh7XHJcbiAgICAgICAgICBjb2xvcjogJ3JnYmEoMCwgMCwgMjU1LCAwLjEpJyxcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuICAgIF07XHJcblxyXG4gICAgLy8gc2V0IGxheWVyIGlkXHJcbiAgICBsZXQgbGF5ZXJDb3VudGVySUQ6IG51bWJlciA9IDA7XHJcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMuYWxsTGF5ZXJzKSB7XHJcbiAgICAgIGxldCBudW1iZXJJZCA9IE51bWJlcihsYXllci5pZC5yZXBsYWNlKCdpZ28tc2VhcmNoLWxheWVyJywnJykpO1xyXG4gICAgICBsYXllckNvdW50ZXJJRCA9IE1hdGgubWF4KG51bWJlcklkLGxheWVyQ291bnRlcklEKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgICB0eXBlOiAndmVjdG9yJyxcclxuICAgICAgICAgIHF1ZXJ5YWJsZTogdHJ1ZVxyXG4gICAgICAgIH0gYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpXHJcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhU291cmNlOiBGZWF0dXJlRGF0YVNvdXJjZSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHNlYXJjaExheWVyOiBWZWN0b3JMYXllciA9IG5ldyBWZWN0b3JMYXllcih7XHJcbiAgICAgICAgICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgICAgICAgICAgaWQ6ICdpZ28tc2VhcmNoLWxheWVyJyArICsrbGF5ZXJDb3VudGVySUQsXHJcbiAgICAgICAgICAgIHRpdGxlOiBsYXllclRpdGxlLFxyXG4gICAgICAgICAgICBzb3VyY2U6IGRhdGFTb3VyY2UsXHJcbiAgICAgICAgICAgIGlnb1N0eWxlOiB7XHJcbiAgICAgICAgICAgICAgZWRpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIGlnb1N0eWxlT2JqZWN0OiB7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiB7IGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjQpJyB9LFxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiB7IGNvbG9yOiAncmdiYSgxNDMsNyw3LDEpJywgd2lkdGg6IDEgfSxcclxuICAgICAgICAgICAgICAgIGNpcmNsZToge1xyXG4gICAgICAgICAgICAgICAgICBmaWxsOiB7IGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjQpJywgfSxcclxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB7IGNvbG9yOiAncmdiYSgxNDMsNyw3LDEpJywgd2lkdGg6IDEgfSxcclxuICAgICAgICAgICAgICAgICAgcmFkaXVzOiA1LFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc3R5bGU6IHN0eWxlcyxcclxuICAgICAgICAgICAgc2hvd0luTGF5ZXJMaXN0OiB0cnVlLFxyXG4gICAgICAgICAgICBleHBvcnRhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICB3b3Jrc3BhY2U6IHtcclxuICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRyeUJpbmRTdG9yZUxheWVyKGFjdGl2ZVN0b3JlLCBzZWFyY2hMYXllcik7XHJcbiAgICAgICAgICB0cnlBZGRMb2FkaW5nU3RyYXRlZ3koXHJcbiAgICAgICAgICAgIGFjdGl2ZVN0b3JlLFxyXG4gICAgICAgICAgICBuZXcgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5KHtcclxuICAgICAgICAgICAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICB0cnlBZGRTZWxlY3Rpb25TdHJhdGVneShcclxuICAgICAgICAgICAgYWN0aXZlU3RvcmUsXHJcbiAgICAgICAgICAgIG5ldyBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneSh7XHJcbiAgICAgICAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICAgICAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZSxcclxuICAgICAgICAgICAgICBtYW55OiB0cnVlXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgIGFjdGl2ZVN0b3JlLmxheWVyLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgYWN0aXZlU3RvcmUuc291cmNlLm9sLm9uKFxyXG4gICAgICAgICAgICAncmVtb3ZlZmVhdHVyZScsXHJcbiAgICAgICAgICAgIChldmVudDogT2xWZWN0b3JTb3VyY2VFdmVudDxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IG9sR2VvbWV0cnkgPSBldmVudC5mZWF0dXJlLmdldEdlb21ldHJ5KCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jbGVhckxhYmVsc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICB0aGlzLmFkZEZlYXR1cmUoc2VsZWN0ZWRGZWF0dXJlLCBhY3RpdmVTdG9yZSk7XHJcbiAgICAgICAgICB0aGlzLnN0b3Jlcy5wdXNoKGFjdGl2ZVN0b3JlKTtcclxuICAgICAgICB9KTtcclxuICB9XHJcblxyXG4gIGFkZEZlYXR1cmUoZmVhdHVyZTogU2VhcmNoUmVzdWx0LCBhY3RpdmVTdG9yZTogRmVhdHVyZVN0b3JlPEZlYXR1cmU+KSB7XHJcbiAgICBjb25zdCBuZXdGZWF0dXJlID0ge1xyXG4gICAgICB0eXBlOiBmZWF0dXJlLmRhdGEudHlwZSxcclxuICAgICAgZ2VvbWV0cnk6IHtcclxuICAgICAgICBjb29yZGluYXRlczogZmVhdHVyZS5kYXRhLmdlb21ldHJ5LmNvb3JkaW5hdGVzLFxyXG4gICAgICAgIHR5cGU6IGZlYXR1cmUuZGF0YS5nZW9tZXRyeS50eXBlXHJcbiAgICAgIH0sXHJcbiAgICAgIHByb2plY3Rpb246IGZlYXR1cmUuZGF0YS5wcm9qZWN0aW9uLFxyXG4gICAgICBwcm9wZXJ0aWVzOiBmZWF0dXJlLmRhdGEucHJvcGVydGllcyxcclxuICAgICAgbWV0YToge1xyXG4gICAgICAgIGlkOiBmZWF0dXJlLm1ldGEuaWRcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGRlbGV0ZSBuZXdGZWF0dXJlLnByb3BlcnRpZXMuUm91dGU7XHJcbiAgICBhY3RpdmVTdG9yZS51cGRhdGUobmV3RmVhdHVyZSk7XHJcbiAgICBhY3RpdmVTdG9yZS5zZXRMYXllckV4dGVudCgpO1xyXG4gICAgYWN0aXZlU3RvcmUubGF5ZXIub2wuZ2V0U291cmNlKCkucmVmcmVzaCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhckxhYmVsc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KSB7XHJcbiAgICBnZXRUb29sdGlwc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KS5mb3JFYWNoKFxyXG4gICAgICAob2xUb29sdGlwOiBPbE92ZXJsYXkgfCB1bmRlZmluZWQpID0+IHtcclxuICAgICAgICBpZiAob2xUb29sdGlwICYmIG9sVG9vbHRpcC5nZXRNYXAoKSkge1xyXG4gICAgICAgICAgdGhpcy5tYXAub2wucmVtb3ZlT3ZlcmxheShvbFRvb2x0aXApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG5pZ29TdG9wUHJvcGFnYXRpb25cclxuKG1vdXNlZW50ZXIpPVwib25Nb3VzZUV2ZW50KCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXHJcbipuZ0lmPVwibGF5ZXIubWV0YS5kYXRhVHlwZSA9PT0gJ0xheWVyJ1wiXHJcbm1hdC1pY29uLWJ1dHRvblxyXG50b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG5tYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuW21hdFRvb2x0aXBdPVwiY29tcHV0ZVRvb2x0aXAoKSB8IHRyYW5zbGF0ZVwiXHJcbltjb2xvcl09XCIoaXNQcmV2aWV3JCB8IGFzeW5jKSA/ICcnIDogYWRkZWQgPyAnd2FybicgOiAnJ1wiXHJcbihjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIj5cclxuPG1hdC1pY29uXHJcbiAgbWF0QmFkZ2U9XCJpY29uXCJcclxuICBbaWdvTWF0QmFkZ2VJY29uXT1cImdldEJhZGdlSWNvbigpXCJcclxuICBpZ29NYXRCYWRnZUNvbG9yPVwicmdiYSgwLDAsMCwwLjg3KVwiXHJcbiAgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3I9XCJub25lXCJcclxuICBpZ29NYXRCYWRnZUludmVyc2VDb2xvcj1cInRydWVcIlxyXG4gIFttYXRCYWRnZUhpZGRlbl09XCIoKGluUmFuZ2UkIHwgYXN5bmMpICYmIChpc1Zpc2libGUkIHwgYXN5bmMpID09PSB0cnVlKSB8fCAoKGluUmFuZ2UkIHwgYXN5bmMpICYmICFhZGRlZCkgfHwgKChpblJhbmdlJCB8IGFzeW5jKSAmJiAoaXNQcmV2aWV3JCB8IGFzeW5jKSlcIlxyXG4gIFttYXRCYWRnZURpc2FibGVkXT1cIihpblJhbmdlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxyXG4gIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcclxuICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxyXG4gIFtzdmdJY29uXT1cIihpc1ByZXZpZXckIHwgYXN5bmMpID8gJ3BsdXMnIDogYWRkZWQgPyAnZGVsZXRlJyA6ICdwbHVzJ1wiPlxyXG48L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuXHJcbjxidXR0b25cclxuW2lkXT1cIighaXNNb2JpbGUpID8gJ2hpZGUtc2F2ZS1zZWFyY2gtcmVzdWx0LWJ0bicgOiAnJ1wiXHJcbmlnb1N0b3BQcm9wYWdhdGlvblxyXG4qbmdJZj1cImxheWVyLm1ldGEuZGF0YVR5cGUgPT09ICdGZWF0dXJlJyAmJiBzYXZlU2VhcmNoUmVzdWx0SW5MYXllclwiXHJcbm1hdC1pY29uLWJ1dHRvblxyXG50b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG5tYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuW21hdFRvb2x0aXBdPVwiKGFkZEZlYXR1cmVUb0xheWVyVG9vbHRpcCQgfCBhc3luYykgfCB0cmFuc2xhdGVcIlxyXG4oY2xpY2spPVwiYWRkRmVhdHVyZVRvTGF5ZXIoKVwiPlxyXG48bWF0LWljb25cclxuICBtYXRCYWRnZT1cImljb25cIlxyXG4gIGlnb01hdEJhZGdlSWNvbj1cImV5ZS1vZmZcIlxyXG4gIGlnb01hdEJhZGdlSW52ZXJzZUNvbG9yPVwidHJ1ZVwiXHJcbiAgW21hdEJhZGdlSGlkZGVuXT1cIihpblJhbmdlJCB8IGFzeW5jKVwiXHJcbiAgbWF0QmFkZ2VEaXNhYmxlZD1cInRydWVcIlxyXG4gIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcclxuICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxyXG4gIHN2Z0ljb249XCJmaWxlLXBsdXMtb3V0bGluZVwiPlxyXG48L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuIl19
|
|
429
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCx1QkFBdUIsR0FHeEIsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFckUsT0FBTyxFQUVMLGFBQWEsRUFDYixZQUFZLEVBQ1osMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBSXJDLE9BQU8sRUFBRSxLQUFLLEVBQWdCLE1BQU0sWUFBWSxDQUFDOzs7Ozs7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QztJQUM3QyxDQUFDO0lBRU8sdUJBQXVCLENBQUMsVUFBVTtRQUN4Qyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQ3pDLENBQUMsU0FBZ0MsRUFBRSxFQUFFO1lBQ25DLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOzs0R0FsYVUsOEJBQThCO2lGQUE5Qiw4QkFBOEI7UUMvQzNDLHVGQXNCUztRQUVULHFGQW1CUzs7UUF4Q1IsMERBQXFDO1FBd0JyQyxlQUFrRTtRQUFsRSwyRkFBa0U7O3VGRG9CdEQsOEJBQThCO2NBTjFDLFNBQVM7MkJBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNO2tKQTBCdEMsS0FBSztrQkFBYixLQUFLO1lBRUcsS0FBSztrQkFBYixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBS0csdUJBQXVCO2tCQUEvQixLQUFLO1lBR0YsS0FBSztrQkFEUixLQUFLO1lBU0csTUFBTTtrQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcclxuaW1wb3J0IHsgTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExBWUVSIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLmVudW1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBCZWhhdmlvclN1YmplY3QsIHRha2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2F2ZUZlYXR1cmVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NhdmUtZmVhdHVyZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XHJcbmltcG9ydCB7IERhdGFTb3VyY2VTZXJ2aWNlLCBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2UnO1xyXG5pbXBvcnQge1xyXG4gIEZlYXR1cmUsXHJcbiAgRmVhdHVyZU1vdGlvbixcclxuICBGZWF0dXJlU3RvcmUsXHJcbiAgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5LFxyXG4gIEZlYXR1cmVTdG9yZVNlbGVjdGlvblN0cmF0ZWd5LFxyXG4gIHRyeUFkZExvYWRpbmdTdHJhdGVneSxcclxuICB0cnlBZGRTZWxlY3Rpb25TdHJhdGVneSxcclxuICB0cnlCaW5kU3RvcmVMYXllclxyXG59IGZyb20gJy4uLy4uL2ZlYXR1cmUnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IGdldFRvb2x0aXBzT2ZPbEdlb21ldHJ5IH0gZnJvbSAnLi4vLi4vbWVhc3VyZSc7XHJcbmltcG9ydCBPbE92ZXJsYXkgZnJvbSAnb2wvT3ZlcmxheSc7XHJcbmltcG9ydCBTdHJva2UgZnJvbSAnb2wvc3R5bGUvU3Ryb2tlJztcclxuaW1wb3J0IEZpbGwgZnJvbSAnb2wvc3R5bGUvRmlsbCc7XHJcbmltcG9ydCBTdHlsZSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XHJcbmltcG9ydCBDaXJjbGUgZnJvbSAnb2wvc3R5bGUvQ2lyY2xlJztcclxuaW1wb3J0IHsgVmVjdG9yU291cmNlRXZlbnQgYXMgT2xWZWN0b3JTb3VyY2VFdmVudCB9IGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xyXG5pbXBvcnQgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0IHsgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9xdWVyeSc7XHJcbmltcG9ydCB7IE1lZGlhLCBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtYWRkLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHRzLWFkZC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHRzLWFkZC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0QWRkQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3l7XHJcbiAgcHVibGljIHRvb2x0aXAkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwJ1xyXG4gICk7XHJcblxyXG4gIHB1YmxpYyBhZGRGZWF0dXJlVG9MYXllclRvb2x0aXAkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICAnaWdvLmdlby5zZWFyY2guYWRkVG9MYXllcidcclxuICApO1xyXG5cclxuICBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgbGF5ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHVibGljIGluUmFuZ2UkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xyXG5cclxuICBwdWJsaWMgaXNWaXNpYmxlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcblxyXG4gIHB1YmxpYyBpc1ByZXZpZXckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgcHJpdmF0ZSBsYXllcnNTdWJjcmlwdGlvbnMgPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBsYXN0VGltZW91dFJlcXVlc3Q7XHJcblxyXG4gIHByaXZhdGUgbW91c2VJbnNpZGVBZGQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGF5ZXI6IFNlYXJjaFJlc3VsdDtcclxuXHJcbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPFNlYXJjaFJlc3VsdD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGxheWVyIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIG1hcFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFkZGVkOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbWFwIHRvIGFkZCB0aGUgc2VhcmNoIHJlc3VsdCBsYXllciB0b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBzaG93IGhpZGUgc2F2ZSBzZWFyY2ggcmVzdWx0IGluIGxheWVyIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNhdmVTZWFyY2hSZXN1bHRJbkxheWVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGNvbG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xyXG4gIH1cclxuICBzZXQgY29sb3IodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY29sb3IgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY29sb3IgPSAncHJpbWFyeSc7XHJcblxyXG4gIEBJbnB1dCgpIHN0b3JlczogRmVhdHVyZVN0b3JlPEZlYXR1cmU+W10gPSBbXTtcclxuXHJcbiAgZ2V0IGFsbExheWVycygpIHtcclxuICAgIHJldHVybiB0aGlzLm1hcC5sYXllcnMuZmlsdGVyKChsYXllcikgPT5cclxuICAgICAgU3RyaW5nKGxheWVyLmlkKS5pbmNsdWRlcygnaWdvLXNlYXJjaC1sYXllcicpXHJcbiAgICApO1xyXG4gIH1cclxuICBwcml2YXRlIG1lZGlhU2VydmljZSQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHVibGljIGlzTW9iaWxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgZGF0YVNvdXJjZVNlcnZpY2U6IERhdGFTb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBjaGVjayB0aGUgdmlldyBpZiBpcyBtb2JpbGUgb3Igbm90XHJcbiAgICB0aGlzLm1lZGlhU2VydmljZSQkID0gdGhpcy5tZWRpYVNlcnZpY2UubWVkaWEkLnN1YnNjcmliZShcclxuICAgICAgKG1lZGlhOiBNZWRpYSkgPT4ge1xyXG4gICAgICAgIGlmKG1lZGlhID09PSBNZWRpYS5Nb2JpbGUpIHtcclxuICAgICAgICAgIHRoaXMuaXNNb2JpbGUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgPT09ICdMYXllcicpIHtcclxuICAgICAgdGhpcy5hZGRlZCA9XHJcbiAgICAgICAgdGhpcy5tYXAubGF5ZXJzLmZpbmRJbmRleChcclxuICAgICAgICAgIGxheSA9PiBsYXkuaWQgPT09IHRoaXMubGF5ZXIuZGF0YS5zb3VyY2VPcHRpb25zLmlkXHJcbiAgICAgICAgKSAhPT0gLTE7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxheWVycyQkID0gdGhpcy5tYXAubGF5ZXJzJC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmlzVmlzaWJsZSgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UodmFsdWUpO1xyXG4gICAgICB0aGlzLmlzVmlzaWJsZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVzb2x1dGlvbiQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICBpZiAodGhpcy5tZWRpYVNlcnZpY2UkJCkge1xyXG4gICAgICB0aGlzLm1lZGlhU2VydmljZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBtb3VzZSBldmVudCwgbW91c2VlbnRlciAvbW91c2VsZWF2ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uTW91c2VFdmVudChldmVudCkge1xyXG4gICAgdGhpcy5vblRvZ2dsZUNsaWNrKGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIHRvZ2dsZSBidXR0b24gY2xpY2ssIGVtaXQgdGhlIGFkZGVkIGNoYW5nZSBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uVG9nZ2xlQ2xpY2soY3VyckV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0KTtcclxuICAgIH1cclxuICAgIGNvbnN0IGV2ZW50ID0gY3VyckV2ZW50ID8gY3VyckV2ZW50IDoge30gYXMgRXZlbnQ7XHJcblxyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWVudGVyJyAmJiB0aGlzLm1vdXNlSW5zaWRlQWRkICkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSAnY2xpY2snOlxyXG4gICAgICAgIGlmICghdGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5hZGRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hZGQoZXZlbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzUHJldmlldyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vdXNlZW50ZXInOlxyXG4gICAgICAgIGlmICghdGhpcy5pc1ByZXZpZXckLnZhbHVlICYmICF0aGlzLmFkZGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFkZChldmVudCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOlxyXG4gICAgICAgIGlmICh0aGlzLmlzUHJldmlldyQudmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMucmVtb3ZlKCk7XHJcbiAgICAgICAgICB0aGlzLmlzUHJldmlldyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW91c2VJbnNpZGVBZGQgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkKGV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmFkZGVkKSB7XHJcbiAgICAgIHRoaXMuYWRkZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmFkZExheWVyVG9NYXAoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmUoKSB7XHJcbiAgICBpZiAodGhpcy5hZGRlZCkge1xyXG4gICAgICB0aGlzLmFkZGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucmVtb3ZlTGF5ZXJGcm9tTWFwKCk7XHJcbiAgICAgIHRoaXMubGF5ZXJzU3ViY3JpcHRpb25zLm1hcChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgIHRoaXMubGF5ZXJzU3ViY3JpcHRpb25zID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0IGFkZGVkIGNoYW5nZSBldmVudCB3aXRoIGFkZGVkID0gdHJ1ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkTGF5ZXJUb01hcChldmVudD86IEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubGF5ZXIubWV0YS5kYXRhVHlwZSAhPT0gTEFZRVIpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSAodGhpcy5sYXllciBhcyBTZWFyY2hSZXN1bHQ8TGF5ZXJPcHRpb25zPikuZGF0YTtcclxuICAgIGlmIChsYXllck9wdGlvbnMuc291cmNlT3B0aW9ucy5vcHRpb25zRnJvbUFwaSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMubGF5ZXJzU3ViY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMubGF5ZXJTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZUFzeW5jTGF5ZXIobGF5ZXJPcHRpb25zKVxyXG4gICAgICAgIC5zdWJzY3JpYmUobGF5ZXIgPT4ge1xyXG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjbGljaycpIHtcclxuICAgICAgICAgICAgdGhpcy5tYXAubGF5ZXJzQWRkZWRCeUNsaWNrJC5uZXh0KFtsYXllcl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIobGF5ZXIpO1xyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IGZhbHNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVMYXllckZyb21NYXAoKSB7XHJcbiAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubGF5ZXIubWV0YS5kYXRhVHlwZSAhPT0gTEFZRVIpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBvTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQodGhpcy5sYXllci5kYXRhLnNvdXJjZU9wdGlvbnMuaWQpO1xyXG4gICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIob0xheWVyKTtcclxuICB9XHJcblxyXG4gIGlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb246IG51bWJlcikge1xyXG4gICAgY29uc3QgbWluUmVzb2x1dGlvbiA9IHRoaXMubGF5ZXIuZGF0YS5taW5SZXNvbHV0aW9uIHx8IDA7XHJcbiAgICBjb25zdCBtYXhSZXNvbHV0aW9uID0gdGhpcy5sYXllci5kYXRhLm1heFJlc29sdXRpb24gfHwgSW5maW5pdHk7XHJcbiAgICB0aGlzLmluUmFuZ2UkLm5leHQoXHJcbiAgICAgIHJlc29sdXRpb24gPj0gbWluUmVzb2x1dGlvbiAmJiByZXNvbHV0aW9uIDw9IG1heFJlc29sdXRpb25cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc1Zpc2libGUoKSB7XHJcbiAgICBpZiAodGhpcy5sYXllcj8uZGF0YT8uc291cmNlT3B0aW9ucz8uaWQpIHtcclxuICAgICAgY29uc3Qgb0xheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKHRoaXMubGF5ZXIuZGF0YS5zb3VyY2VPcHRpb25zLmlkKTtcclxuICAgICAgb0xheWVyID8gdGhpcy5pc1Zpc2libGUkLm5leHQob0xheWVyLnZpc2libGUpIDogdGhpcy5pc1Zpc2libGUkLm5leHQoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QmFkZ2VJY29uKCkge1xyXG4gICAgaWYgKHRoaXMuaW5SYW5nZSQudmFsdWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlJC52YWx1ZSA/ICcnIDogJ2V5ZS1vZmYnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdleWUtb2ZmJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXB1dGVUb29sdGlwKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5hZGRlZCkge1xyXG4gICAgICBpZiAodGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5SYW5nZSQudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlXHJcbiAgICAgICAgPyAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXAnXHJcbiAgICAgICAgOiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXBOb3RWaXNpYmxlJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwT3V0UmFuZ2UnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5pblJhbmdlJC52YWx1ZVxyXG4gICAgICAgID8gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcCdcclxuICAgICAgICA6ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXBPdXRSYW5nZSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRGZWF0dXJlVG9MYXllcigpIHtcclxuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgIT09ICdGZWF0dXJlJykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VsZWN0ZWRGZWF0dXJlID0gdGhpcy5sYXllcjtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oU2F2ZUZlYXR1cmVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc3MDBweCcsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBmZWF0dXJlOiBzZWxlY3RlZEZlYXR1cmUsXHJcbiAgICAgICAgbGF5ZXJzOiB0aGlzLmFsbExheWVyc1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGRhdGE6IHtsYXllcjogc3RyaW5nIHwgYW55LCBmZWF0dXJlOiBTZWFyY2hSZXN1bHR9KSA9PiB7XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgaWYodGhpcy5zdG9yZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZXMubWFwKChzdG9yZSkgPT4ge1xyXG4gICAgICAgICAgICBzdG9yZS5zdGF0ZS51cGRhdGVBbGwoe3NlbGVjdGVkOiBmYWxzZX0pO1xyXG4gICAgICAgICAgICAoc3RvcmU/LmxheWVyKS52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybiBzdG9yZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBjaGVjayBpZiBpcyBuZXcgbGF5ZXJcclxuICAgICAgICBpZiAodHlwZW9mIGRhdGEubGF5ZXIgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0ZUxheWVyKGRhdGEubGF5ZXIsIGRhdGEuZmVhdHVyZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGFjdGl2ZVN0b3JlID0gdGhpcy5zdG9yZXMuZmluZChzdG9yZSA9PiBzdG9yZS5sYXllci5pZCA9PT0gZGF0YS5sYXllci5pZCk7XHJcbiAgICAgICAgICBhY3RpdmVTdG9yZS5sYXllci52aXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgIGFjdGl2ZVN0b3JlLmxheWVyLm9wYWNpdHkgPSAxO1xyXG4gICAgICAgICAgdGhpcy5hZGRGZWF0dXJlKGRhdGEuZmVhdHVyZSwgYWN0aXZlU3RvcmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVMYXllcihsYXllclRpdGxlOiBzdHJpbmcsIHNlbGVjdGVkRmVhdHVyZTogU2VhcmNoUmVzdWx0KSB7XHJcbiAgICBjb25zdCBhY3RpdmVTdG9yZTogRmVhdHVyZVN0b3JlPEZlYXR1cmU+ID0gbmV3IEZlYXR1cmVTdG9yZTxGZWF0dXJlPihbXSwge1xyXG4gICAgICBtYXA6IHRoaXMubWFwXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzdHlsZXMgPSBbXHJcbiAgICAgIG5ldyBTdHlsZSh7XHJcbiAgICAgICAgaW1hZ2U6IG5ldyBDaXJjbGUoe1xyXG4gICAgICAgICAgcmFkaXVzOiA1LFxyXG4gICAgICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcclxuICAgICAgICAgICAgd2lkdGg6IDEsXHJcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgxNDMsNyw3LDEpJ1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBuZXcgRmlsbCh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgxNDMsNyw3LDEpJ1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICB9KSxcclxuICAgICAgbmV3IFN0eWxlKHtcclxuICAgICAgICBzdHJva2U6IG5ldyBTdHJva2Uoe1xyXG4gICAgICAgICAgd2lkdGg6IDEsXHJcbiAgICAgICAgICBjb2xvcjogJ3JnYmEoMTQzLDcsNywxKSdcclxuICAgICAgICB9KSxcclxuICAgICAgICBmaWxsOiBuZXcgRmlsbCh7XHJcbiAgICAgICAgICBjb2xvcjogJ3JnYmEoMCwgMCwgMjU1LCAwLjEpJyxcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuICAgIF07XHJcblxyXG4gICAgLy8gc2V0IGxheWVyIGlkXHJcbiAgICBsZXQgbGF5ZXJDb3VudGVySUQ6IG51bWJlciA9IDA7XHJcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHRoaXMuYWxsTGF5ZXJzKSB7XHJcbiAgICAgIGxldCBudW1iZXJJZCA9IE51bWJlcihsYXllci5pZC5yZXBsYWNlKCdpZ28tc2VhcmNoLWxheWVyJywnJykpO1xyXG4gICAgICBsYXllckNvdW50ZXJJRCA9IE1hdGgubWF4KG51bWJlcklkLGxheWVyQ291bnRlcklEKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRhdGFTb3VyY2VTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZUFzeW5jRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgICB0eXBlOiAndmVjdG9yJyxcclxuICAgICAgICAgIHF1ZXJ5YWJsZTogdHJ1ZVxyXG4gICAgICAgIH0gYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpXHJcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChkYXRhU291cmNlOiBGZWF0dXJlRGF0YVNvdXJjZSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHNlYXJjaExheWVyOiBWZWN0b3JMYXllciA9IG5ldyBWZWN0b3JMYXllcih7XHJcbiAgICAgICAgICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgICAgICAgICAgaWQ6ICdpZ28tc2VhcmNoLWxheWVyJyArICsrbGF5ZXJDb3VudGVySUQsXHJcbiAgICAgICAgICAgIHRpdGxlOiBsYXllclRpdGxlLFxyXG4gICAgICAgICAgICBzb3VyY2U6IGRhdGFTb3VyY2UsXHJcbiAgICAgICAgICAgIGlnb1N0eWxlOiB7XHJcbiAgICAgICAgICAgICAgZWRpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIGlnb1N0eWxlT2JqZWN0OiB7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiB7IGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjQpJyB9LFxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiB7IGNvbG9yOiAncmdiYSgxNDMsNyw3LDEpJywgd2lkdGg6IDEgfSxcclxuICAgICAgICAgICAgICAgIGNpcmNsZToge1xyXG4gICAgICAgICAgICAgICAgICBmaWxsOiB7IGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjQpJywgfSxcclxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB7IGNvbG9yOiAncmdiYSgxNDMsNyw3LDEpJywgd2lkdGg6IDEgfSxcclxuICAgICAgICAgICAgICAgICAgcmFkaXVzOiA1LFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc3R5bGU6IHN0eWxlcyxcclxuICAgICAgICAgICAgc2hvd0luTGF5ZXJMaXN0OiB0cnVlLFxyXG4gICAgICAgICAgICBleHBvcnRhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICB3b3Jrc3BhY2U6IHtcclxuICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRyeUJpbmRTdG9yZUxheWVyKGFjdGl2ZVN0b3JlLCBzZWFyY2hMYXllcik7XHJcbiAgICAgICAgICB0cnlBZGRMb2FkaW5nU3RyYXRlZ3koXHJcbiAgICAgICAgICAgIGFjdGl2ZVN0b3JlLFxyXG4gICAgICAgICAgICBuZXcgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5KHtcclxuICAgICAgICAgICAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICB0cnlBZGRTZWxlY3Rpb25TdHJhdGVneShcclxuICAgICAgICAgICAgYWN0aXZlU3RvcmUsXHJcbiAgICAgICAgICAgIG5ldyBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneSh7XHJcbiAgICAgICAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICAgICAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZSxcclxuICAgICAgICAgICAgICBtYW55OiB0cnVlXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgIGFjdGl2ZVN0b3JlLmxheWVyLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgYWN0aXZlU3RvcmUuc291cmNlLm9sLm9uKFxyXG4gICAgICAgICAgICAncmVtb3ZlZmVhdHVyZScsXHJcbiAgICAgICAgICAgIChldmVudDogT2xWZWN0b3JTb3VyY2VFdmVudDxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IG9sR2VvbWV0cnkgPSBldmVudC5mZWF0dXJlLmdldEdlb21ldHJ5KCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5jbGVhckxhYmVsc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICB0aGlzLmFkZEZlYXR1cmUoc2VsZWN0ZWRGZWF0dXJlLCBhY3RpdmVTdG9yZSk7XHJcbiAgICAgICAgICB0aGlzLnN0b3Jlcy5wdXNoKGFjdGl2ZVN0b3JlKTtcclxuICAgICAgICB9KTtcclxuICB9XHJcblxyXG4gIGFkZEZlYXR1cmUoZmVhdHVyZTogU2VhcmNoUmVzdWx0LCBhY3RpdmVTdG9yZTogRmVhdHVyZVN0b3JlPEZlYXR1cmU+KSB7XHJcbiAgICBjb25zdCBuZXdGZWF0dXJlID0ge1xyXG4gICAgICB0eXBlOiBmZWF0dXJlLmRhdGEudHlwZSxcclxuICAgICAgZ2VvbWV0cnk6IHtcclxuICAgICAgICBjb29yZGluYXRlczogZmVhdHVyZS5kYXRhLmdlb21ldHJ5LmNvb3JkaW5hdGVzLFxyXG4gICAgICAgIHR5cGU6IGZlYXR1cmUuZGF0YS5nZW9tZXRyeS50eXBlXHJcbiAgICAgIH0sXHJcbiAgICAgIHByb2plY3Rpb246IGZlYXR1cmUuZGF0YS5wcm9qZWN0aW9uLFxyXG4gICAgICBwcm9wZXJ0aWVzOiBmZWF0dXJlLmRhdGEucHJvcGVydGllcyxcclxuICAgICAgbWV0YToge1xyXG4gICAgICAgIGlkOiBmZWF0dXJlLm1ldGEuaWRcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGRlbGV0ZSBuZXdGZWF0dXJlLnByb3BlcnRpZXMuUm91dGU7XHJcbiAgICBhY3RpdmVTdG9yZS51cGRhdGUobmV3RmVhdHVyZSk7XHJcbiAgICBhY3RpdmVTdG9yZS5zZXRMYXllckV4dGVudCgpO1xyXG4gICAgYWN0aXZlU3RvcmUubGF5ZXIub2wuZ2V0U291cmNlKCkucmVmcmVzaCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhckxhYmVsc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KSB7XHJcbiAgICBnZXRUb29sdGlwc09mT2xHZW9tZXRyeShvbEdlb21ldHJ5KS5mb3JFYWNoKFxyXG4gICAgICAob2xUb29sdGlwOiBPbE92ZXJsYXkgfCB1bmRlZmluZWQpID0+IHtcclxuICAgICAgICBpZiAob2xUb29sdGlwICYmIG9sVG9vbHRpcC5nZXRNYXAoKSkge1xyXG4gICAgICAgICAgdGhpcy5tYXAub2wucmVtb3ZlT3ZlcmxheShvbFRvb2x0aXApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG5pZ29TdG9wUHJvcGFnYXRpb25cclxuKG1vdXNlZW50ZXIpPVwib25Nb3VzZUV2ZW50KCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJvbk1vdXNlRXZlbnQoJGV2ZW50KVwiXHJcbipuZ0lmPVwibGF5ZXIubWV0YS5kYXRhVHlwZSA9PT0gJ0xheWVyJ1wiXHJcbm1hdC1pY29uLWJ1dHRvblxyXG50b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG5tYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuW21hdFRvb2x0aXBdPVwiY29tcHV0ZVRvb2x0aXAoKSB8IHRyYW5zbGF0ZVwiXHJcbltjb2xvcl09XCIoaXNQcmV2aWV3JCB8IGFzeW5jKSA/ICcnIDogYWRkZWQgPyAnd2FybicgOiAnJ1wiXHJcbihjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIj5cclxuPG1hdC1pY29uXHJcbiAgbWF0QmFkZ2U9XCJpY29uXCJcclxuICBbaWdvTWF0QmFkZ2VJY29uXT1cImdldEJhZGdlSWNvbigpXCJcclxuICBpZ29NYXRCYWRnZUNvbG9yPVwicmdiYSgwLDAsMCwwLjg3KVwiXHJcbiAgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3I9XCJub25lXCJcclxuICBpZ29NYXRCYWRnZUludmVyc2VDb2xvcj1cInRydWVcIlxyXG4gIFttYXRCYWRnZUhpZGRlbl09XCIoKGluUmFuZ2UkIHwgYXN5bmMpICYmIChpc1Zpc2libGUkIHwgYXN5bmMpID09PSB0cnVlKSB8fCAoKGluUmFuZ2UkIHwgYXN5bmMpICYmICFhZGRlZCkgfHwgKChpblJhbmdlJCB8IGFzeW5jKSAmJiAoaXNQcmV2aWV3JCB8IGFzeW5jKSlcIlxyXG4gIFttYXRCYWRnZURpc2FibGVkXT1cIihpblJhbmdlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxyXG4gIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcclxuICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxyXG4gIFtzdmdJY29uXT1cIihpc1ByZXZpZXckIHwgYXN5bmMpID8gJ3BsdXMnIDogYWRkZWQgPyAnZGVsZXRlJyA6ICdwbHVzJ1wiPlxyXG48L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuXHJcbjxidXR0b25cclxuW2lkXT1cIighaXNNb2JpbGUpID8gJ2hpZGUtc2F2ZS1zZWFyY2gtcmVzdWx0LWJ0bicgOiAnJ1wiXHJcbmlnb1N0b3BQcm9wYWdhdGlvblxyXG4qbmdJZj1cImxheWVyLm1ldGEuZGF0YVR5cGUgPT09ICdGZWF0dXJlJyAmJiBzYXZlU2VhcmNoUmVzdWx0SW5MYXllclwiXHJcbm1hdC1pY29uLWJ1dHRvblxyXG50b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG5tYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuW21hdFRvb2x0aXBdPVwiKGFkZEZlYXR1cmVUb0xheWVyVG9vbHRpcCQgfCBhc3luYykgfCB0cmFuc2xhdGVcIlxyXG4oY2xpY2spPVwiYWRkRmVhdHVyZVRvTGF5ZXIoKVwiPlxyXG48bWF0LWljb25cclxuICBtYXRCYWRnZT1cImljb25cIlxyXG4gIGlnb01hdEJhZGdlSWNvbj1cImV5ZS1vZmZcIlxyXG4gIGlnb01hdEJhZGdlSW52ZXJzZUNvbG9yPVwidHJ1ZVwiXHJcbiAgW21hdEJhZGdlSGlkZGVuXT1cIihpblJhbmdlJCB8IGFzeW5jKVwiXHJcbiAgbWF0QmFkZ2VEaXNhYmxlZD1cInRydWVcIlxyXG4gIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcclxuICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxyXG4gIHN2Z0ljb249XCJmaWxlLXBsdXMtb3V0bGluZVwiPlxyXG48L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuIl19
|