@artstesh/maps 4.1.27 → 4.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/esm2020/map/map-plate/layers/index.mjs +3 -1
  2. package/dist/esm2020/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +49 -0
  3. package/dist/esm2020/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +74 -0
  4. package/dist/esm2020/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +151 -0
  5. package/dist/esm2020/map/map.module.mjs +8 -3
  6. package/dist/esm2020/map/messages/commands/add-raster-tile-command.mjs +9 -0
  7. package/dist/esm2020/map/messages/commands/remove-raster-tile.command.mjs +9 -0
  8. package/dist/esm2020/map/ol-proxy.mjs +3 -0
  9. package/dist/esm2020/map/public-api.mjs +2 -2
  10. package/dist/esm2020/map/services/map-management.service.mjs +18 -9
  11. package/dist/esm2020/map/services/message-registrator.service.mjs +5 -1
  12. package/dist/esm2020/src/map/map-plate/layers/index.mjs +3 -1
  13. package/dist/esm2020/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +49 -0
  14. package/dist/esm2020/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +74 -0
  15. package/dist/esm2020/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +151 -0
  16. package/dist/esm2020/src/map/map.module.mjs +8 -3
  17. package/dist/esm2020/src/map/messages/commands/add-raster-tile-command.mjs +9 -0
  18. package/dist/esm2020/src/map/messages/commands/remove-raster-tile.command.mjs +9 -0
  19. package/dist/esm2020/src/map/ol-proxy.mjs +3 -0
  20. package/dist/esm2020/src/map/public-api.mjs +2 -2
  21. package/dist/esm2020/src/map/services/map-management.service.mjs +18 -9
  22. package/dist/esm2020/src/map/services/message-registrator.service.mjs +5 -1
  23. package/dist/fesm2015/maps-components-src-map.mjs +300 -11
  24. package/dist/fesm2015/maps-components-src-map.mjs.map +1 -1
  25. package/dist/fesm2015/maps-components.mjs +300 -11
  26. package/dist/fesm2015/maps-components.mjs.map +1 -1
  27. package/dist/fesm2020/maps-components-src-map.mjs +300 -11
  28. package/dist/fesm2020/maps-components-src-map.mjs.map +1 -1
  29. package/dist/fesm2020/maps-components.mjs +300 -11
  30. package/dist/fesm2020/maps-components.mjs.map +1 -1
  31. package/dist/map/map-plate/layers/index.d.ts +2 -0
  32. package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.component.d.ts +21 -0
  33. package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.factory.d.ts +12 -0
  34. package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.settings.d.ts +108 -0
  35. package/dist/map/map.module.d.ts +3 -2
  36. package/dist/map/messages/commands/add-raster-tile-command.d.ts +8 -0
  37. package/dist/map/messages/commands/remove-raster-tile.command.d.ts +8 -0
  38. package/dist/map/ol-proxy.d.ts +3 -0
  39. package/dist/map/public-api.d.ts +1 -1
  40. package/dist/map/services/map-management.service.d.ts +0 -1
  41. package/dist/package.json +1 -1
  42. package/dist/src/map/map-plate/layers/index.d.ts +2 -0
  43. package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.d.ts +21 -0
  44. package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.d.ts +12 -0
  45. package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.d.ts +108 -0
  46. package/dist/src/map/map.module.d.ts +3 -2
  47. package/dist/src/map/messages/commands/add-raster-tile-command.d.ts +8 -0
  48. package/dist/src/map/messages/commands/remove-raster-tile.command.d.ts +8 -0
  49. package/dist/src/map/ol-proxy.d.ts +3 -0
  50. package/dist/src/map/public-api.d.ts +1 -1
  51. package/dist/src/map/services/map-management.service.d.ts +0 -1
  52. package/package.json +2 -2
@@ -7,4 +7,6 @@ export * from './cluster-layer/cluster-layer.component';
7
7
  export * from './cluster-layer/cluster-layer.settings';
8
8
  export * from './image-layer/image-layer.component';
9
9
  export * from './image-layer/image-layer.settings';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90aWxlLWxheWVyL3RpbGUtbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzJztcbmV4cG9ydCAqIGZyb20gJy4vb3NtLXRpbGUtbGF5ZXIvb3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1sYXllci9mZWF0dXJlLWxheWVyLnNldHRpbmdzJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1sYXllci9mZWF0dXJlLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZS1sYXllci9pbWFnZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZS1sYXllci9pbWFnZS1sYXllci5zZXR0aW5ncyc7XG4iXX0=
10
+ export * from './raster-tile/raster-tile-layer.component';
11
+ export * from './raster-tile/raster-tile-layer.settings';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL29zbS10aWxlLWxheWVyL29zbS10aWxlLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLnNldHRpbmdzJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UtbGF5ZXIvaW1hZ2UtbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UtbGF5ZXIvaW1hZ2UtbGF5ZXIuc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllci5zZXR0aW5ncyc7XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import { MapRenderedEvent } from '../../../messages';
4
+ import { filter, first } from 'rxjs/operators';
5
+ import { RasterTileLayerSettings } from './raster-tile-layer.settings';
6
+ import { AddRasterTileCommand } from '../../../messages/commands/add-raster-tile-command';
7
+ import { RemoveRasterTileCommand } from '../../../messages/commands/remove-raster-tile.command';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../services/map-postboy.service";
10
+ import * as i2 from "./raster-tile-layer.factory";
11
+ export class RasterTileLayerComponent extends DestructibleComponent {
12
+ constructor(postboy, factory) {
13
+ super();
14
+ this.postboy = postboy;
15
+ this.factory = factory;
16
+ this._settings = new RasterTileLayerSettings();
17
+ this.onDestroy = () => this.removeLayer();
18
+ }
19
+ set settings(value) {
20
+ if (!value || this._settings.isSame(value))
21
+ return;
22
+ this._settings = value;
23
+ this.initLayer();
24
+ }
25
+ ngOnInit() {
26
+ this.postboy
27
+ .sub(MapRenderedEvent)
28
+ .pipe(filter((m) => !!m), first())
29
+ .subscribe((m) => this.initLayer());
30
+ }
31
+ initLayer() {
32
+ this.removeLayer();
33
+ this.layer = this.factory.build(this._settings);
34
+ this.postboy.fire(new AddRasterTileCommand(this.layer));
35
+ }
36
+ removeLayer() {
37
+ if (this.layer)
38
+ this.postboy.fire(new RemoveRasterTileCommand(this.layer));
39
+ }
40
+ }
41
+ RasterTileLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RasterTileLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.RasterTileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
42
+ RasterTileLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RasterTileLayerComponent, selector: "art-raster-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RasterTileLayerComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'art-raster-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
46
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.RasterTileLayerFactory }]; }, propDecorators: { settings: [{
47
+ type: Input
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFzdGVyLXRpbGUtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFNL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUsvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7OztBQVFoRyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEscUJBQXFCO0lBR2pFLFlBQW9CLE9BQTBCLEVBQVUsT0FBK0I7UUFDckYsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXdCO1FBSXZGLGNBQVMsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBa0JuRSxjQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBcEJyQyxDQUFDO0lBSUQsSUFBYSxRQUFRLENBQUMsS0FBMEM7UUFDOUQsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2FBQ3JCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEIsS0FBSyxFQUFFLENBQ1I7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFJTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7c0hBbkNVLHdCQUF3QjswR0FBeEIsd0JBQXdCLHNIQUp6QixFQUFFOzRGQUlELHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSx1QkFBdUIsWUFDdkIsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNOzZJQVdsQyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCB7IFJhc3RlciwgWFlaIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJGYWN0b3J5IH0gZnJvbSAnLi4vdGlsZS1sYXllci90aWxlLWxheWVyLmZhY3RvcnknO1xuaW1wb3J0IHsgVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuLi90aWxlLWxheWVyL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBZGRUaWxlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtdGlsZS5jb21tYW5kJztcbmltcG9ydCBJbWFnZUxheWVyIGZyb20gJ29sL2xheWVyL0ltYWdlJztcbmltcG9ydCB7IFJhc3RlclRpbGVMYXllckZhY3RvcnkgfSBmcm9tICcuL3Jhc3Rlci10aWxlLWxheWVyLmZhY3RvcnknO1xuaW1wb3J0IHsgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3Jhc3Rlci10aWxlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IEFkZFJhc3RlclRpbGVDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXJhc3Rlci10aWxlLWNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlUmFzdGVyVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtcmFzdGVyLXRpbGUuY29tbWFuZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1yYXN0ZXItdGlsZS1sYXllcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJhc3RlclRpbGVMYXllckNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBsYXllcj86IEltYWdlTGF5ZXI8UmFzdGVyPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IFJhc3RlclRpbGVMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX3NldHRpbmdzOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyA9IG5ldyBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncygpO1xuXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdExheWVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWIoTWFwUmVuZGVyZWRFdmVudClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB0aGlzLmluaXRMYXllcigpKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHRoaXMucmVtb3ZlTGF5ZXIoKTtcblxuICBwcml2YXRlIGluaXRMYXllcigpIHtcbiAgICB0aGlzLnJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5sYXllciA9IHRoaXMuZmFjdG9yeS5idWlsZCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZFJhc3RlclRpbGVDb21tYW5kKHRoaXMubGF5ZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubGF5ZXIpIHRoaXMucG9zdGJveS5maXJlKG5ldyBSZW1vdmVSYXN0ZXJUaWxlQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { XYZ } from 'ol/source';
3
+ import { get } from 'ol/proj';
4
+ import ImageLayer from 'ol/layer/Image';
5
+ import RasterSource from 'ol/source/Raster';
6
+ import * as i0 from "@angular/core";
7
+ export class RasterTileLayerFactory {
8
+ build(settings) {
9
+ const source = new XYZ({
10
+ tileSize: 256,
11
+ maxZoom: settings.maxZoom || 14,
12
+ minZoom: settings.minZoom || 1,
13
+ projection: get(settings.projection),
14
+ tileUrlFunction: this.getTileFunc(settings),
15
+ crossOrigin: 'Anonymous',
16
+ tileLoadFunction: !!settings.requestHeaders
17
+ ? (tile, src) => this.tileLoader(tile, src, settings.requestHeaders)
18
+ : undefined,
19
+ });
20
+ const raster = new RasterSource({
21
+ sources: [source],
22
+ operationType: 'image',
23
+ operation: settings.operation,
24
+ });
25
+ return new ImageLayer({ source: raster, opacity: settings.opacity });
26
+ }
27
+ getTileFunc(settings) {
28
+ return (tileCoord) => {
29
+ const zoom = tileCoord[0];
30
+ const x = tileCoord[1];
31
+ const y = tileCoord[2];
32
+ const normalizedCoord = this.getNormalizedCoord({ x: x, y: y }, zoom);
33
+ const bound = 1 << zoom;
34
+ return settings.url
35
+ .replace('{x}', String(normalizedCoord?.x || x))
36
+ .replace('{z}', String(zoom))
37
+ .replace('{y}', String(bound - (normalizedCoord?.y || y) - 1));
38
+ };
39
+ }
40
+ tileLoader(tile, src, headers) {
41
+ const client = new XMLHttpRequest();
42
+ client.open('GET', src);
43
+ client.responseType = 'arraybuffer';
44
+ Object.keys(headers).forEach((k) => client.setRequestHeader(k, headers[k]));
45
+ client.onload = function () {
46
+ if (this.response !== undefined) {
47
+ const arrayBufferView = new Uint8Array(this.response);
48
+ const blob = new Blob([arrayBufferView], { type: 'image/png' });
49
+ const urlCreator = window.URL || window.webkitURL;
50
+ tile.getImage().src = urlCreator.createObjectURL(blob);
51
+ }
52
+ };
53
+ client.send();
54
+ }
55
+ getNormalizedCoord(coord, zoom) {
56
+ const y = coord.y;
57
+ let x = coord.x;
58
+ const tileRange = 1 << zoom;
59
+ if (y < 0 || y >= tileRange)
60
+ return null;
61
+ if (x < 0 || x >= tileRange)
62
+ x = ((x % tileRange) + tileRange) % tileRange;
63
+ return { x: x, y: y };
64
+ }
65
+ }
66
+ RasterTileLayerFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RasterTileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
67
+ RasterTileLayerFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RasterTileLayerFactory, providedIn: 'root' });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RasterTileLayerFactory, decorators: [{
69
+ type: Injectable,
70
+ args: [{
71
+ providedIn: 'root',
72
+ }]
73
+ }] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFzdGVyLXRpbGUtbGF5ZXIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvcmFzdGVyLXRpbGUvcmFzdGVyLXRpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBVSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUc5QixPQUFPLFVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLFlBQVksTUFBTSxrQkFBa0IsQ0FBQzs7QUFLNUMsTUFBTSxPQUFPLHNCQUFzQjtJQUMxQixLQUFLLENBQUMsUUFBaUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDckIsUUFBUSxFQUFFLEdBQUc7WUFDYixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQy9CLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLENBQUM7WUFDOUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFFO1lBQ3JDLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUMzQyxXQUFXLEVBQUUsV0FBVztZQUN4QixnQkFBZ0IsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWM7Z0JBQ3pDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsY0FBZSxDQUFDO2dCQUM3RSxDQUFDLENBQUMsU0FBUztTQUNkLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUksWUFBWSxDQUFDO1lBQzlCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixhQUFhLEVBQUUsT0FBTztZQUN0QixTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBaUM7UUFDbkQsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDeEIsT0FBTyxRQUFRLENBQUMsR0FBRztpQkFDaEIsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDL0MsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzVCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVUsRUFBRSxHQUFXLEVBQUUsT0FBK0I7UUFDekUsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4QixNQUFNLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztRQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO2dCQUMvQixNQUFNLGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3RELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDaEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsSUFBSyxNQUFjLENBQUMsU0FBUyxDQUFDO2dCQUMxRCxJQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDakU7UUFDSCxDQUFDLENBQUM7UUFDRixNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEtBQStCLEVBQUUsSUFBWTtRQUN0RSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVM7WUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDM0UsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7O29IQTFEVSxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQUZyQixNQUFNOzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSYXN0ZXIsIFhZWiB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBUaWxlQ29vcmQgfSBmcm9tICdvbC90aWxlY29vcmQnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgeyBUaWxlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3Jhc3Rlci10aWxlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCBJbWFnZUxheWVyIGZyb20gJ29sL2xheWVyL0ltYWdlJztcbmltcG9ydCBSYXN0ZXJTb3VyY2UgZnJvbSAnb2wvc291cmNlL1Jhc3Rlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSYXN0ZXJUaWxlTGF5ZXJGYWN0b3J5IHtcbiAgcHVibGljIGJ1aWxkKHNldHRpbmdzOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyk6IEltYWdlTGF5ZXI8UmFzdGVyPiB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFhZWih7XG4gICAgICB0aWxlU2l6ZTogMjU2LFxuICAgICAgbWF4Wm9vbTogc2V0dGluZ3MubWF4Wm9vbSB8fCAxNCxcbiAgICAgIG1pblpvb206IHNldHRpbmdzLm1pblpvb20gfHwgMSxcbiAgICAgIHByb2plY3Rpb246IGdldChzZXR0aW5ncy5wcm9qZWN0aW9uKSEsXG4gICAgICB0aWxlVXJsRnVuY3Rpb246IHRoaXMuZ2V0VGlsZUZ1bmMoc2V0dGluZ3MpLFxuICAgICAgY3Jvc3NPcmlnaW46ICdBbm9ueW1vdXMnLFxuICAgICAgdGlsZUxvYWRGdW5jdGlvbjogISFzZXR0aW5ncy5yZXF1ZXN0SGVhZGVyc1xuICAgICAgICA/ICh0aWxlLCBzcmM6IHN0cmluZykgPT4gdGhpcy50aWxlTG9hZGVyKHRpbGUsIHNyYywgc2V0dGluZ3MucmVxdWVzdEhlYWRlcnMhKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgICBjb25zdCByYXN0ZXIgPSBuZXcgUmFzdGVyU291cmNlKHtcbiAgICAgIHNvdXJjZXM6IFtzb3VyY2VdLFxuICAgICAgb3BlcmF0aW9uVHlwZTogJ2ltYWdlJyxcbiAgICAgIG9wZXJhdGlvbjogc2V0dGluZ3Mub3BlcmF0aW9uLFxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgSW1hZ2VMYXllcih7IHNvdXJjZTogcmFzdGVyLCBvcGFjaXR5OiBzZXR0aW5ncy5vcGFjaXR5IH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaWxlRnVuYyhzZXR0aW5nczogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MpOiAodGlsZUNvb3JkOiBUaWxlQ29vcmQpID0+IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aWxlQ29vcmQpID0+IHtcbiAgICAgIGNvbnN0IHpvb20gPSB0aWxlQ29vcmRbMF07XG4gICAgICBjb25zdCB4ID0gdGlsZUNvb3JkWzFdO1xuICAgICAgY29uc3QgeSA9IHRpbGVDb29yZFsyXTtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRDb29yZCA9IHRoaXMuZ2V0Tm9ybWFsaXplZENvb3JkKHsgeDogeCwgeTogeSB9LCB6b29tKTtcbiAgICAgIGNvbnN0IGJvdW5kID0gMSA8PCB6b29tO1xuICAgICAgcmV0dXJuIHNldHRpbmdzLnVybFxuICAgICAgICAucmVwbGFjZSgne3h9JywgU3RyaW5nKG5vcm1hbGl6ZWRDb29yZD8ueCB8fCB4KSlcbiAgICAgICAgLnJlcGxhY2UoJ3t6fScsIFN0cmluZyh6b29tKSlcbiAgICAgICAgLnJlcGxhY2UoJ3t5fScsIFN0cmluZyhib3VuZCAtIChub3JtYWxpemVkQ29vcmQ/LnkgfHwgeSkgLSAxKSk7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgdGlsZUxvYWRlcih0aWxlOiBUaWxlLCBzcmM6IHN0cmluZywgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPikge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIGNsaWVudC5vcGVuKCdHRVQnLCBzcmMpO1xuICAgIGNsaWVudC5yZXNwb25zZVR5cGUgPSAnYXJyYXlidWZmZXInO1xuICAgIE9iamVjdC5rZXlzKGhlYWRlcnMpLmZvckVhY2goKGs6IHN0cmluZykgPT4gY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoaywgaGVhZGVyc1trXSkpO1xuICAgIGNsaWVudC5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAodGhpcy5yZXNwb25zZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGFycmF5QnVmZmVyVmlldyA9IG5ldyBVaW50OEFycmF5KHRoaXMucmVzcG9uc2UpO1xuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2FycmF5QnVmZmVyVmlld10sIHsgdHlwZTogJ2ltYWdlL3BuZycgfSk7XG4gICAgICAgIGNvbnN0IHVybENyZWF0b3IgPSB3aW5kb3cuVVJMIHx8ICh3aW5kb3cgYXMgYW55KS53ZWJraXRVUkw7XG4gICAgICAgICh0aWxlIGFzIGFueSkuZ2V0SW1hZ2UoKS5zcmMgPSB1cmxDcmVhdG9yLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNsaWVudC5zZW5kKCk7XG4gIH1cblxuICBwcml2YXRlIGdldE5vcm1hbGl6ZWRDb29yZChjb29yZDogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LCB6b29tOiBudW1iZXIpIHtcbiAgICBjb25zdCB5ID0gY29vcmQueTtcbiAgICBsZXQgeCA9IGNvb3JkLng7XG4gICAgY29uc3QgdGlsZVJhbmdlID0gMSA8PCB6b29tO1xuICAgIGlmICh5IDwgMCB8fCB5ID49IHRpbGVSYW5nZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHggPCAwIHx8IHggPj0gdGlsZVJhbmdlKSB4ID0gKCh4ICUgdGlsZVJhbmdlKSArIHRpbGVSYW5nZSkgJSB0aWxlUmFuZ2U7XG4gICAgcmV0dXJuIHsgeDogeCwgeTogeSB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,151 @@
1
+ export class RasterTileLayerSettings {
2
+ constructor() {
3
+ /**
4
+ * The maximum zoom level for a map view.
5
+ *
6
+ * @type {number}
7
+ * @default 19
8
+ */
9
+ this.maxZoom = 19;
10
+ /**
11
+ * The minimum zoom level allowed.
12
+ *
13
+ * @type {number}
14
+ */
15
+ this.minZoom = 0;
16
+ /**
17
+ * The opacity of an element.
18
+ *
19
+ * @type {number}
20
+ * @default 0.6
21
+ */
22
+ this.opacity = 0.6;
23
+ /**
24
+ * Represents the tiles URL.
25
+ * @typedef {string} url
26
+ *
27
+ * @example
28
+ * 'https://example.ex/{z}/{x}/{y}.png'
29
+ */
30
+ this.url = '';
31
+ /**
32
+ * The projection of the coordinate system.
33
+ *
34
+ * @type {string}
35
+ * @default 'EPSG:3857'
36
+ */
37
+ this.projection = 'EPSG:3857';
38
+ /**
39
+ * Additional headers that should be added to each tile request
40
+ *
41
+ * @type {Record<string, string>}
42
+ * @default An empty array
43
+ */
44
+ this.requestHeaders = null;
45
+ this.operation = (d) => d[0] ?? [];
46
+ }
47
+ /**
48
+ * Creates a copy of the given tile layer settings.
49
+ *
50
+ * @param {RasterTileLayerSettings} model - The tile layer settings to be copied.
51
+ * @return {RasterTileLayerSettings} - A new instance of RasterTileLayerSettings with the same properties as the model.
52
+ */
53
+ static copy(model) {
54
+ const result = new RasterTileLayerSettings();
55
+ result.maxZoom = model.maxZoom;
56
+ result.minZoom = model.minZoom;
57
+ result.projection = model.projection;
58
+ result.opacity = model.opacity;
59
+ result.url = model.url;
60
+ result.requestHeaders = model.requestHeaders;
61
+ result.operation = model.operation;
62
+ return result;
63
+ }
64
+ /**
65
+ * Sets the URL of the RasterTileLayerSettings object.
66
+ *
67
+ * @param {string} url - The URL to be set.
68
+ * @return {RasterTileLayerSettings} - The updated RasterTileLayerSettings object.
69
+ */
70
+ setUrl(url) {
71
+ return RasterTileLayerSettings.copy({ ...this, url });
72
+ }
73
+ /**
74
+ * Sets the operation to apply on raster tile data.
75
+ *
76
+ * @param {function} operation - A function that takes an input of either a two-dimensional array of numbers or an array of ImageData objects and returns either a one-dimensional array of numbers or an ImageData object.
77
+ * @return {RasterTileLayerSettings} A new instance of RasterTileLayerSettings with the updated operation.
78
+ */
79
+ setOperation(operation) {
80
+ return RasterTileLayerSettings.copy({ ...this, operation });
81
+ }
82
+ /**
83
+ * Sets the requestHeaders of the RasterTileLayerSettings object.
84
+ *
85
+ * @param {Record<string, string>} requestHeaders - The headers which should be provided.
86
+ * @return {RasterTileLayerSettings} - The updated RasterTileLayerSettings object.
87
+ */
88
+ setRequestHeaders(requestHeaders) {
89
+ return RasterTileLayerSettings.copy({ ...this, requestHeaders });
90
+ }
91
+ /**
92
+ * Sets the maximum zoom level for the tile layer.
93
+ *
94
+ * @param {number} maxZoom - The maximum zoom level.
95
+ * @returns {RasterTileLayerSettings} - The updated tile layer settings object.
96
+ */
97
+ setMaxZoom(maxZoom) {
98
+ return RasterTileLayerSettings.copy({ ...this, maxZoom });
99
+ }
100
+ /**
101
+ * Sets the minimum zoom level for the Tile Layer.
102
+ *
103
+ * @param {number} minZoom - The minimum zoom level to be set.
104
+ * @return {RasterTileLayerSettings} The modified RasterTileLayerSettings object with the updated minimum zoom level.
105
+ */
106
+ setMinZoom(minZoom) {
107
+ return RasterTileLayerSettings.copy({ ...this, minZoom });
108
+ }
109
+ /**
110
+ * Sets the opacity of the RasterTileLayerSettings.
111
+ *
112
+ * @param {number} opacity - The opacity value to set. Must be a number between 0 and 1.
113
+ * @return {RasterTileLayerSettings} - A new instance of RasterTileLayerSettings with the opacity set.
114
+ */
115
+ setOpacity(opacity) {
116
+ return RasterTileLayerSettings.copy({ ...this, opacity });
117
+ }
118
+ /**
119
+ * Sets the projection for the tile layer settings.
120
+ *
121
+ * @param {string} projection - The desired projection for the tile layer settings.
122
+ * @return {RasterTileLayerSettings} - The updated tile layer settings with the new projection.
123
+ */
124
+ setProjection(projection) {
125
+ return RasterTileLayerSettings.copy({ ...this, projection });
126
+ }
127
+ /**
128
+ * Checks if the current instance of RasterTileLayerSettings is equal to the given model.
129
+ * @param {RasterTileLayerSettings} model - The model to compare against.
130
+ * @return {boolean} - True if all properties of the current instance matches the properties of the model;
131
+ * otherwise, false.
132
+ */
133
+ isSame(model) {
134
+ if (this.maxZoom !== model.maxZoom)
135
+ return false;
136
+ if (this.minZoom !== model.minZoom)
137
+ return false;
138
+ if (this.url !== model.url)
139
+ return false;
140
+ if (this.projection !== model.projection)
141
+ return false;
142
+ if (this.opacity !== model.opacity)
143
+ return false;
144
+ if (this.requestHeaders !== model.requestHeaders)
145
+ return false;
146
+ if (this.operation !== model.operation)
147
+ return false;
148
+ return true;
149
+ }
150
+ }
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFzdGVyLXRpbGUtbGF5ZXIuc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3Jhc3Rlci10aWxlL3Jhc3Rlci10aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx1QkFBdUI7SUFBcEM7UUFDRTs7Ozs7V0FLRztRQUNILFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckI7Ozs7V0FJRztRQUNILFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEI7Ozs7O1dBS0c7UUFDSCxZQUFPLEdBQVcsR0FBRyxDQUFDO1FBQ3RCOzs7Ozs7V0FNRztRQUNILFFBQUcsR0FBVyxFQUFFLENBQUM7UUFDakI7Ozs7O1dBS0c7UUFDSCxlQUFVLEdBQVcsV0FBVyxDQUFDO1FBQ2pDOzs7OztXQUtHO1FBQ0gsbUJBQWMsR0FBa0MsSUFBSSxDQUFDO1FBRXJELGNBQVMsR0FBNkQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUF5RzFGLENBQUM7SUF4R0M7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQThCO1FBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUM3QyxNQUFNLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDbkMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDaEIsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxTQUFtRTtRQUM5RSxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUJBQWlCLENBQUMsY0FBc0M7UUFDdEQsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQThCO1FBQzFDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsR0FBRztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsVUFBVTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsY0FBYztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9ELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsU0FBUztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFJhc3RlclRpbGVMYXllclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgZm9yIGEgbWFwIHZpZXcuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDE5XG4gICAqL1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgYWxsb3dlZC5cbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIG1pblpvb206IG51bWJlciA9IDA7XG4gIC8qKlxuICAgKiBUaGUgb3BhY2l0eSBvZiBhbiBlbGVtZW50LlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAZGVmYXVsdCAwLjZcbiAgICovXG4gIG9wYWNpdHk6IG51bWJlciA9IDAuNjtcbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIHRpbGVzIFVSTC5cbiAgICogQHR5cGVkZWYge3N0cmluZ30gdXJsXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqICdodHRwczovL2V4YW1wbGUuZXgve3p9L3t4fS97eX0ucG5nJ1xuICAgKi9cbiAgdXJsOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIFRoZSBwcm9qZWN0aW9uIG9mIHRoZSBjb29yZGluYXRlIHN5c3RlbS5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgJ0VQU0c6Mzg1NydcbiAgICovXG4gIHByb2plY3Rpb246IHN0cmluZyA9ICdFUFNHOjM4NTcnO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBoZWFkZXJzIHRoYXQgc2hvdWxkIGJlIGFkZGVkIHRvIGVhY2ggdGlsZSByZXF1ZXN0XG4gICAqXG4gICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fVxuICAgKiBAZGVmYXVsdCBBbiBlbXB0eSBhcnJheVxuICAgKi9cbiAgcmVxdWVzdEhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBudWxsID0gbnVsbDtcblxuICBvcGVyYXRpb246IChkYXRhOiBudW1iZXJbXVtdIHwgSW1hZ2VEYXRhW10pID0+IG51bWJlcltdIHwgSW1hZ2VEYXRhID0gKGQpID0+IGRbMF0gPz8gW107XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgY29weSBvZiB0aGUgZ2l2ZW4gdGlsZSBsYXllciBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5nc30gbW9kZWwgLSBUaGUgdGlsZSBsYXllciBzZXR0aW5ncyB0byBiZSBjb3BpZWQuXG4gICAqIEByZXR1cm4ge1Jhc3RlclRpbGVMYXllclNldHRpbmdzfSAtIEEgbmV3IGluc3RhbmNlIG9mIFJhc3RlclRpbGVMYXllclNldHRpbmdzIHdpdGggdGhlIHNhbWUgcHJvcGVydGllcyBhcyB0aGUgbW9kZWwuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNvcHkobW9kZWw6IFJhc3RlclRpbGVMYXllclNldHRpbmdzKTogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncygpO1xuICAgIHJlc3VsdC5tYXhab29tID0gbW9kZWwubWF4Wm9vbTtcbiAgICByZXN1bHQubWluWm9vbSA9IG1vZGVsLm1pblpvb207XG4gICAgcmVzdWx0LnByb2plY3Rpb24gPSBtb2RlbC5wcm9qZWN0aW9uO1xuICAgIHJlc3VsdC5vcGFjaXR5ID0gbW9kZWwub3BhY2l0eTtcbiAgICByZXN1bHQudXJsID0gbW9kZWwudXJsO1xuICAgIHJlc3VsdC5yZXF1ZXN0SGVhZGVycyA9IG1vZGVsLnJlcXVlc3RIZWFkZXJzO1xuICAgIHJlc3VsdC5vcGVyYXRpb24gPSBtb2RlbC5vcGVyYXRpb247XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBVUkwgb2YgdGhlIFJhc3RlclRpbGVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFRoZSBVUkwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRVcmwodXJsOiBzdHJpbmcpOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFJhc3RlclRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCB1cmwgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgb3BlcmF0aW9uIHRvIGFwcGx5IG9uIHJhc3RlciB0aWxlIGRhdGEuXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wZXJhdGlvbiAtIEEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhbiBpbnB1dCBvZiBlaXRoZXIgYSB0d28tZGltZW5zaW9uYWwgYXJyYXkgb2YgbnVtYmVycyBvciBhbiBhcnJheSBvZiBJbWFnZURhdGEgb2JqZWN0cyBhbmQgcmV0dXJucyBlaXRoZXIgYSBvbmUtZGltZW5zaW9uYWwgYXJyYXkgb2YgbnVtYmVycyBvciBhbiBJbWFnZURhdGEgb2JqZWN0LlxuICAgKiBAcmV0dXJuIHtSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5nc30gQSBuZXcgaW5zdGFuY2Ugb2YgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgdXBkYXRlZCBvcGVyYXRpb24uXG4gICAqL1xuICBzZXRPcGVyYXRpb24ob3BlcmF0aW9uOiAoZGF0YTogbnVtYmVyW11bXSB8IEltYWdlRGF0YVtdKSA9PiBudW1iZXJbXSB8IEltYWdlRGF0YSk6IFJhc3RlclRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG9wZXJhdGlvbiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSByZXF1ZXN0SGVhZGVycyBvZiB0aGUgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHN0cmluZz59IHJlcXVlc3RIZWFkZXJzIC0gVGhlIGhlYWRlcnMgd2hpY2ggc2hvdWxkIGJlIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJuIHtSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRSZXF1ZXN0SGVhZGVycyhyZXF1ZXN0SGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFJhc3RlclRpbGVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHJlcXVlc3RIZWFkZXJzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1heGltdW0gem9vbSBsZXZlbCBmb3IgdGhlIHRpbGUgbGF5ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhab29tIC0gVGhlIG1heGltdW0gem9vbSBsZXZlbC5cbiAgICogQHJldHVybnMge1Jhc3RlclRpbGVMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIHRpbGUgbGF5ZXIgc2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFJhc3RlclRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1pbmltdW0gem9vbSBsZXZlbCBmb3IgdGhlIFRpbGUgTGF5ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaW5ab29tIC0gVGhlIG1pbmltdW0gem9vbSBsZXZlbCB0byBiZSBzZXQuXG4gICAqIEByZXR1cm4ge1Jhc3RlclRpbGVMYXllclNldHRpbmdzfSBUaGUgbW9kaWZpZWQgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3Mgb2JqZWN0IHdpdGggdGhlIHVwZGF0ZWQgbWluaW11bSB6b29tIGxldmVsLlxuICAgKi9cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFJhc3RlclRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG9wYWNpdHkgb2YgdGhlIFJhc3RlclRpbGVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3BhY2l0eSAtIFRoZSBvcGFjaXR5IHZhbHVlIHRvIHNldC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4gICAqIEByZXR1cm4ge1Jhc3RlclRpbGVMYXllclNldHRpbmdzfSAtIEEgbmV3IGluc3RhbmNlIG9mIFJhc3RlclRpbGVMYXllclNldHRpbmdzIHdpdGggdGhlIG9wYWNpdHkgc2V0LlxuICAgKi9cbiAgc2V0T3BhY2l0eShvcGFjaXR5OiBudW1iZXIpOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFJhc3RlclRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBvcGFjaXR5IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHByb2plY3Rpb24gZm9yIHRoZSB0aWxlIGxheWVyIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvamVjdGlvbiAtIFRoZSBkZXNpcmVkIHByb2plY3Rpb24gZm9yIHRoZSB0aWxlIGxheWVyIHNldHRpbmdzLlxuICAgKiBAcmV0dXJuIHtSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCB0aWxlIGxheWVyIHNldHRpbmdzIHdpdGggdGhlIG5ldyBwcm9qZWN0aW9uLlxuICAgKi9cbiAgc2V0UHJvamVjdGlvbihwcm9qZWN0aW9uOiBzdHJpbmcpOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFJhc3RlclRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBwcm9qZWN0aW9uIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyBpcyBlcXVhbCB0byB0aGUgZ2l2ZW4gbW9kZWwuXG4gICAqIEBwYXJhbSB7UmFzdGVyVGlsZUxheWVyU2V0dGluZ3N9IG1vZGVsIC0gVGhlIG1vZGVsIHRvIGNvbXBhcmUgYWdhaW5zdC5cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gLSBUcnVlIGlmIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlIG1hdGNoZXMgdGhlIHByb3BlcnRpZXMgb2YgdGhlIG1vZGVsO1xuICAgKiAgICAgICAgICAgICAgICAgICAgb3RoZXJ3aXNlLCBmYWxzZS5cbiAgICovXG4gIHB1YmxpYyBpc1NhbWUobW9kZWw6IFJhc3RlclRpbGVMYXllclNldHRpbmdzKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubWF4Wm9vbSAhPT0gbW9kZWwubWF4Wm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm1pblpvb20gIT09IG1vZGVsLm1pblpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy51cmwgIT09IG1vZGVsLnVybCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnByb2plY3Rpb24gIT09IG1vZGVsLnByb2plY3Rpb24pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5vcGFjaXR5ICE9PSBtb2RlbC5vcGFjaXR5KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMucmVxdWVzdEhlYWRlcnMgIT09IG1vZGVsLnJlcXVlc3RIZWFkZXJzKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMub3BlcmF0aW9uICE9PSBtb2RlbC5vcGVyYXRpb24pIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -11,6 +11,7 @@ import { PolygonsComponent } from './map-plate/features/polygons/polygons.compon
11
11
  import { ClusterLayerComponent } from './map-plate/layers/cluster-layer/cluster-layer.component';
12
12
  import { MapControlZoomComponent } from './map-plate/controls/map-control-zoom/map-control-zoom.component';
13
13
  import { ImageLayerComponent } from './map-plate/layers/image-layer/image-layer.component';
14
+ import { RasterTileLayerComponent } from './map-plate/layers/raster-tile/raster-tile-layer.component';
14
15
  import * as i0 from "@angular/core";
15
16
  export class MapModule {
16
17
  }
@@ -25,7 +26,8 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
25
26
  PolygonsComponent,
26
27
  ClusterLayerComponent,
27
28
  MapControlZoomComponent,
28
- ImageLayerComponent], imports: [CommonModule], exports: [MapPlateComponent,
29
+ ImageLayerComponent,
30
+ RasterTileLayerComponent], imports: [CommonModule], exports: [MapPlateComponent,
29
31
  FeatureLayerComponent,
30
32
  MarkersComponent,
31
33
  TileLayerComponent,
@@ -33,7 +35,8 @@ MapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
33
35
  PolygonsComponent,
34
36
  ClusterLayerComponent,
35
37
  MapControlZoomComponent,
36
- ImageLayerComponent] });
38
+ ImageLayerComponent,
39
+ RasterTileLayerComponent] });
37
40
  MapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, imports: [CommonModule] });
38
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapModule, decorators: [{
39
42
  type: NgModule,
@@ -51,6 +54,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
51
54
  ClusterLayerComponent,
52
55
  MapControlZoomComponent,
53
56
  ImageLayerComponent,
57
+ RasterTileLayerComponent,
54
58
  ],
55
59
  exports: [
56
60
  MapPlateComponent,
@@ -62,7 +66,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
62
66
  ClusterLayerComponent,
63
67
  MapControlZoomComponent,
64
68
  ImageLayerComponent,
69
+ RasterTileLayerComponent,
65
70
  ],
66
71
  }]
67
72
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDM0csT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7O0FBNkIzRixNQUFNLE9BQU8sU0FBUzs7dUdBQVQsU0FBUzt3R0FBVCxTQUFTLGlCQXhCbEIscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLG1CQUFtQixhQVpYLFlBQVksYUFlcEIsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QixtQkFBbUI7d0dBR1YsU0FBUyxZQTFCVixZQUFZOzRGQTBCWCxTQUFTO2tCQTNCckIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbWFwLXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPc21UaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvb3NtLXRpbGUtbGF5ZXIvb3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcmtlcnNDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9mZWF0dXJlcy9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS90b29sdGlwcy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBvbHlnb25zQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvZmVhdHVyZXMvcG9seWdvbnMvcG9seWdvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IENsdXN0ZXJMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcENvbnRyb2xab29tQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS9tYXAtY29udHJvbC16b29tLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbWFnZUxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbGF5ZXJzL2ltYWdlLWxheWVyL2ltYWdlLWxheWVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEZXN0cnVjdGlibGVDb21wb25lbnQsXG4gICAgTWFwUGxhdGVDb21wb25lbnQsXG4gICAgVGlsZUxheWVyQ29tcG9uZW50LFxuICAgIE9zbVRpbGVMYXllckNvbXBvbmVudCxcbiAgICBGZWF0dXJlTGF5ZXJDb21wb25lbnQsXG4gICAgTWFya2Vyc0NvbXBvbmVudCxcbiAgICBUb29sdGlwQ29tcG9uZW50LFxuICAgIFBvbHlnb25zQ29tcG9uZW50LFxuICAgIENsdXN0ZXJMYXllckNvbXBvbmVudCxcbiAgICBNYXBDb250cm9sWm9vbUNvbXBvbmVudCxcbiAgICBJbWFnZUxheWVyQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTWFwUGxhdGVDb21wb25lbnQsXG4gICAgRmVhdHVyZUxheWVyQ29tcG9uZW50LFxuICAgIE1hcmtlcnNDb21wb25lbnQsXG4gICAgVGlsZUxheWVyQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgUG9seWdvbnNDb21wb25lbnQsXG4gICAgQ2x1c3RlckxheWVyQ29tcG9uZW50LFxuICAgIE1hcENvbnRyb2xab29tQ29tcG9uZW50LFxuICAgIEltYWdlTGF5ZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcE1vZHVsZSB7fVxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDM0csT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7O0FBK0J0RyxNQUFNLE9BQU8sU0FBUzs7dUdBQVQsU0FBUzt3R0FBVCxTQUFTLGlCQTFCbEIscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQix3QkFBd0IsYUFiaEIsWUFBWSxhQWdCcEIsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsd0JBQXdCO3dHQUdmLFNBQVMsWUE1QlYsWUFBWTs0RkE0QlgsU0FBUztrQkE3QnJCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLHdCQUF3QjtxQkFDekI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUGxhdGVDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9zbVRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbGF5ZXJzL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFya2Vyc0NvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2ZlYXR1cmVzL21hcmtlcnMvbWFya2Vycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL3Rvb2x0aXBzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9seWdvbnNDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9mZWF0dXJlcy9wb2x5Z29ucy9wb2x5Z29ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwQ29udHJvbFpvb21Db21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9jb250cm9scy9tYXAtY29udHJvbC16b29tL21hcC1jb250cm9sLXpvb20uY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvaW1hZ2UtbGF5ZXIvaW1hZ2UtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJhc3RlclRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50LFxuICAgIE1hcFBsYXRlQ29tcG9uZW50LFxuICAgIFRpbGVMYXllckNvbXBvbmVudCxcbiAgICBPc21UaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgRmVhdHVyZUxheWVyQ29tcG9uZW50LFxuICAgIE1hcmtlcnNDb21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBQb2x5Z29uc0NvbXBvbmVudCxcbiAgICBDbHVzdGVyTGF5ZXJDb21wb25lbnQsXG4gICAgTWFwQ29udHJvbFpvb21Db21wb25lbnQsXG4gICAgSW1hZ2VMYXllckNvbXBvbmVudCxcbiAgICBSYXN0ZXJUaWxlTGF5ZXJDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBQbGF0ZUNvbXBvbmVudCxcbiAgICBGZWF0dXJlTGF5ZXJDb21wb25lbnQsXG4gICAgTWFya2Vyc0NvbXBvbmVudCxcbiAgICBUaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBQb2x5Z29uc0NvbXBvbmVudCxcbiAgICBDbHVzdGVyTGF5ZXJDb21wb25lbnQsXG4gICAgTWFwQ29udHJvbFpvb21Db21wb25lbnQsXG4gICAgSW1hZ2VMYXllckNvbXBvbmVudCxcbiAgICBSYXN0ZXJUaWxlTGF5ZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,9 @@
1
+ import { PostboyGenericMessage } from '@artstesh/postboy';
2
+ export class AddRasterTileCommand extends PostboyGenericMessage {
3
+ constructor(layer) {
4
+ super();
5
+ this.layer = layer;
6
+ }
7
+ }
8
+ AddRasterTileCommand.ID = 'd33447fe-eec0-4205-9b5d-0d79ddc74ad7';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJhc3Rlci10aWxlLWNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9jb21tYW5kcy9hZGQtcmFzdGVyLXRpbGUtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUkxRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEscUJBQXFCO0lBRzdELFlBQW1CLEtBQXlCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRFMsVUFBSyxHQUFMLEtBQUssQ0FBb0I7SUFFNUMsQ0FBQzs7QUFKZSx1QkFBRSxHQUFHLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9zdGJveUdlbmVyaWNNZXNzYWdlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IEltYWdlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvSW1hZ2UnO1xuaW1wb3J0IHsgUmFzdGVyIH0gZnJvbSAnb2wvc291cmNlJztcblxuZXhwb3J0IGNsYXNzIEFkZFJhc3RlclRpbGVDb21tYW5kIGV4dGVuZHMgUG9zdGJveUdlbmVyaWNNZXNzYWdlIHtcbiAgc3RhdGljIHJlYWRvbmx5IElEID0gJ2QzMzQ0N2ZlLWVlYzAtNDIwNS05YjVkLTBkNzlkZGM3NGFkNyc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxheWVyOiBJbWFnZUxheWVyPFJhc3Rlcj4pIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { PostboyGenericMessage } from '@artstesh/postboy';
2
+ export class RemoveRasterTileCommand extends PostboyGenericMessage {
3
+ constructor(layer) {
4
+ super();
5
+ this.layer = layer;
6
+ }
7
+ }
8
+ RemoveRasterTileCommand.ID = 'd1c4bf6a-e2f2-4385-a7a2-cecb525f8939';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXJhc3Rlci10aWxlLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtcmFzdGVyLXRpbGUuY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUkxRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBR2hFLFlBQW1CLEtBQXlCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRFMsVUFBSyxHQUFMLEtBQUssQ0FBb0I7SUFFNUMsQ0FBQzs7QUFKZSwwQkFBRSxHQUFHLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9zdGJveUdlbmVyaWNNZXNzYWdlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IEltYWdlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvSW1hZ2UnO1xuaW1wb3J0IHsgUmFzdGVyIH0gZnJvbSAnb2wvc291cmNlJztcblxuZXhwb3J0IGNsYXNzIFJlbW92ZVJhc3RlclRpbGVDb21tYW5kIGV4dGVuZHMgUG9zdGJveUdlbmVyaWNNZXNzYWdlIHtcbiAgc3RhdGljIHJlYWRvbmx5IElEID0gJ2QxYzRiZjZhLWUyZjItNDM4NS1hN2EyLWNlY2I1MjVmODkzOSc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxheWVyOiBJbWFnZUxheWVyPFJhc3Rlcj4pIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export { Feature } from 'ol';
2
+ export { Style } from 'ol/style';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2wtcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9vbC1wcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGZWF0dXJlTGlrZSB9IGZyb20gJ29sL0ZlYXR1cmUnO1xuZXhwb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmV4cG9ydCB7IFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuIl19
@@ -13,5 +13,5 @@ export * from './services/message-registrator.service';
13
13
  export * from './helpers/index';
14
14
  export * from './map-plate/controls/index';
15
15
  export * from './map-plate/tooltips/index';
16
- export { Style } from 'ol/style';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbWFwc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbWFwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wbGF0ZS9mZWF0dXJlcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9tZXNzYWdlLXJlZ2lzdHJhdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXBsYXRlL2NvbnRyb2xzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXBsYXRlL3Rvb2x0aXBzL2luZGV4JztcbmV4cG9ydCB7IFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuIl19
16
+ export * from './ol-proxy';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG1hcHNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL21hcC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAtcGxhdGUvbWFwLXBsYXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAtcGxhdGUvZmVhdHVyZXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wbGF0ZS9jb250cm9scy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1wbGF0ZS90b29sdGlwcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL29sLXByb3h5JztcbiJdfQ==
@@ -12,6 +12,8 @@ import { FilterFeaturesInAreaExecutor } from '../messages/executors/filter-featu
12
12
  import { Dictionary } from '@artstesh/collections';
13
13
  import { RemoveImageLayerCommand } from '../messages/commands/remove-image-layer.command';
14
14
  import { AddImageLayerCommand } from '../messages/commands/add-image-layer.command';
15
+ import { AddRasterTileCommand } from '../messages/commands/add-raster-tile-command';
16
+ import { RemoveRasterTileCommand } from '../messages/commands/remove-raster-tile.command';
15
17
  import * as i0 from "@angular/core";
16
18
  import * as i1 from "./map-postboy.service";
17
19
  export class MapManagementService {
@@ -25,19 +27,11 @@ export class MapManagementService {
25
27
  this.observeRemoveLayer();
26
28
  this.observePlaceFeatures();
27
29
  this.observeAddTile();
28
- this.observeRemoveTile();
29
30
  this.observeLayerQuery();
30
31
  this.observeFeaturesInArea();
31
32
  this.observeFeaturesInPoint();
32
33
  this.observeImageLayer();
33
34
  }
34
- observeRemoveTile() {
35
- this.postboy.sub(RemoveTileCommand).subscribe((c) => {
36
- if (!this.map)
37
- return;
38
- this.map.removeLayer(c.layer);
39
- });
40
- }
41
35
  observeLayerQuery() {
42
36
  this.postboy.sub(GetLayerQuery).subscribe((ev) => ev.finish(this.layers.take(ev.name)));
43
37
  }
@@ -47,6 +41,21 @@ export class MapManagementService {
47
41
  return;
48
42
  this.map.addLayer(c.layer);
49
43
  });
44
+ this.postboy.sub(RemoveTileCommand).subscribe((c) => {
45
+ if (!this.map)
46
+ return;
47
+ this.map.removeLayer(c.layer);
48
+ });
49
+ this.postboy.sub(AddRasterTileCommand).subscribe((c) => {
50
+ if (!this.map)
51
+ return;
52
+ this.map.addLayer(c.layer);
53
+ });
54
+ this.postboy.sub(RemoveRasterTileCommand).subscribe((c) => {
55
+ if (!this.map)
56
+ return;
57
+ this.map.removeLayer(c.layer);
58
+ });
50
59
  }
51
60
  observeImageLayer() {
52
61
  this.postboy.sub(AddImageLayerCommand).subscribe((c) => {
@@ -129,4 +138,4 @@ MapManagementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
129
138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapManagementService, decorators: [{
130
139
  type: Injectable
131
140
  }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUc3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRXRHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBR3BGLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFGdEMsV0FBTSxHQUFHLElBQUksVUFBVSxFQUFzQyxDQUFDO0lBRXJCLENBQUM7SUFFbEQsRUFBRTtRQUNBLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTztZQUN0QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLENBQUUsTUFBYyxDQUFDLFdBQVcsQ0FBQztnQkFBRSxNQUFNLEdBQUksTUFBYyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQzFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLElBQUksTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQWlCLENBQUM7WUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDekIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzlCLElBQUksNEJBQTRCLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQ2xFLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLEdBQUcsQ0FDUixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUNiLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQzdFLENBQUM7WUFDSixDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2QsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN6RCxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBaUIsQ0FBQztZQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN6QixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDOUIsSUFBSSw2QkFBNkIsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUMxRSxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxHQUFHLENBQ1IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFDYixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUM3RSxDQUFDO1lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNkLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUNsQixNQUFzRSxFQUN0RSxNQUFtQjtRQUVuQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsS0FBSyxZQUFZLENBQUMsY0FBYztnQkFBRSxPQUFPO1lBQy9FLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsQ0FBRSxNQUFjLENBQUMsV0FBVyxDQUFDO2dCQUFFLE1BQU0sR0FBSSxNQUFjLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDMUUsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2tIQTNIVSxvQkFBb0I7c0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmVhdHVyZSwgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IFZlY3RvclNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVmVjdG9yJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5Qb2ludEV4ZWN1dG9yLCBHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSwgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IEFkZFRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IEdldEZlYXR1cmVzSW5BcmVhUXVlcnkgfSBmcm9tICcuLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5JztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luQXJlYUV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2ZpbHRlci1mZWF0dXJlcy1pbi1hcmVhLmV4ZWN1dG9yJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQGFydHN0ZXNoL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFJlbW92ZUltYWdlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWltYWdlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkSW1hZ2VMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtaW1hZ2UtbGF5ZXIuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBNYW5hZ2VtZW50U2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGxheWVycyA9IG5ldyBEaWN0aW9uYXJ5PExheWVyPFZlY3RvclNvdXJjZTxhbnk+IHwgQ2x1c3Rlcj4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgICB0aGlzLm9ic2VydmVBZGRMYXllcigpO1xuICAgIHRoaXMub2JzZXJ2ZVJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5vYnNlcnZlUGxhY2VGZWF0dXJlcygpO1xuICAgIHRoaXMub2JzZXJ2ZUFkZFRpbGUoKTtcbiAgICB0aGlzLm9ic2VydmVSZW1vdmVUaWxlKCk7XG4gICAgdGhpcy5vYnNlcnZlTGF5ZXJRdWVyeSgpO1xuICAgIHRoaXMub2JzZXJ2ZUZlYXR1cmVzSW5BcmVhKCk7XG4gICAgdGhpcy5vYnNlcnZlRmVhdHVyZXNJblBvaW50KCk7XG4gICAgdGhpcy5vYnNlcnZlSW1hZ2VMYXllcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUmVtb3ZlVGlsZSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKFJlbW92ZVRpbGVDb21tYW5kKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTGF5ZXJRdWVyeSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKEdldExheWVyUXVlcnkpLnN1YnNjcmliZSgoZXYpID0+IGV2LmZpbmlzaCh0aGlzLmxheWVycy50YWtlKGV2Lm5hbWUpKSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVBZGRUaWxlKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoQWRkVGlsZUNvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVJbWFnZUxheWVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoQWRkSW1hZ2VMYXllckNvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihSZW1vdmVJbWFnZUxheWVyQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKE1hcFJlbmRlcmVkRXZlbnQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUFkZExheWVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoQWRkTGF5ZXJDb21tYW5kKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubGF5ZXJzLnB1dChjLmxheWVyLmdldCgnbmFtZScpLCBjLmxheWVyKTtcbiAgICAgIHRoaXMubWFwLmFkZExheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUGxhY2VGZWF0dXJlcygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLmxheWVycy5oYXMoYy5sYXllcikpIHJldHVybjtcbiAgICAgIGxldCBzb3VyY2UgPSB0aGlzLmxheWVycy50YWtlKGMubGF5ZXIpIS5nZXRTb3VyY2UoKTtcbiAgICAgIGlmICghIShzb3VyY2UgYXMgYW55KVsnZ2V0U291cmNlJ10pIHNvdXJjZSA9IChzb3VyY2UgYXMgYW55KT8uZ2V0U291cmNlKCk7XG4gICAgICBzb3VyY2U/LmNsZWFyKCk7XG4gICAgICAhIWMuZmVhdHVyZXM/Lmxlbmd0aCAmJiBzb3VyY2U/LmFkZEZlYXR1cmVzKGMuZmVhdHVyZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlUmVtb3ZlTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihSZW1vdmVMYXllckNvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5sYXllcnMucm12KGMubGF5ZXIuZ2V0KCduYW1lJykpO1xuICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVGZWF0dXJlc0luQXJlYSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKEdldEZlYXR1cmVzSW5BcmVhUXVlcnkpLnN1YnNjcmliZSgocXIpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxJSWRlbnRpZmllZFtdPigpO1xuICAgICAgdGhpcy5mb3JFYWNoTGF5ZXIoKGwsIHMpID0+IHtcbiAgICAgICAgbGV0IGZlYXR1cmVzID0gdGhpcy5wb3N0Ym95LmV4ZWM8RmVhdHVyZTxHZW9tZXRyeT5bXT4oXG4gICAgICAgICAgbmV3IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IocXIuYXJlYSwgcz8uZ2V0RmVhdHVyZXMoKSA/PyBbXSksXG4gICAgICAgICk7XG4gICAgICAgIHJlc3VsdC5wdXQoXG4gICAgICAgICAgbC5nZXQoJ25hbWUnKSxcbiAgICAgICAgICBmZWF0dXJlcy5tYXAoKGUpID0+ICh7IGlkOiBlLmdldElkKCksIC4uLmUuZ2V0KE1hcENvbnN0YW50cy5GZWF0dXJlSW5mbykgfSkpLFxuICAgICAgICApO1xuICAgICAgfSwgcXIuaWdub3JlKTtcbiAgICAgIHFyLmZpbmlzaChyZXN1bHQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRmVhdHVyZXNJblBvaW50KCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoR2V0RmVhdHVyZXNJblBvaW50UXVlcnkpLnN1YnNjcmliZSgocXIpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSBuZXcgRGljdGlvbmFyeTxJSWRlbnRpZmllZFtdPigpO1xuICAgICAgdGhpcy5mb3JFYWNoTGF5ZXIoKGwsIHMpID0+IHtcbiAgICAgICAgbGV0IGZlYXR1cmVzID0gdGhpcy5wb3N0Ym95LmV4ZWM8RmVhdHVyZTxHZW9tZXRyeT5bXT4oXG4gICAgICAgICAgbmV3IEZpbHRlckZlYXR1cmVzSW5Qb2ludEV4ZWN1dG9yKHFyLmxhdCwgcXIubG5nLCBzPy5nZXRGZWF0dXJlcygpID8/IFtdKSxcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnB1dChcbiAgICAgICAgICBsLmdldCgnbmFtZScpLFxuICAgICAgICAgIGZlYXR1cmVzLm1hcCgoZSkgPT4gKHsgaWQ6IGUuZ2V0SWQoKSwgLi4uZS5nZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvKSB9KSksXG4gICAgICAgICk7XG4gICAgICB9LCBxci5pZ25vcmUpO1xuICAgICAgcXIuZmluaXNoKHJlc3VsdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZvckVhY2hMYXllcihcbiAgICBhY3Rpb246IChsOiBMYXllcjxhbnk+LCBzOiBWZWN0b3JTb3VyY2U8YW55PiB8IENsdXN0ZXIgfCBudWxsKSA9PiB2b2lkLFxuICAgIGlnbm9yZTogU2V0PHN0cmluZz4sXG4gICk6IHZvaWQge1xuICAgIHRoaXMubGF5ZXJzLmZvckVhY2goKGwpID0+IHtcbiAgICAgIGxldCBsYXllck5hbWUgPSBsLmdldCgnbmFtZScpO1xuICAgICAgaWYgKGlnbm9yZS5oYXMobGF5ZXJOYW1lKSB8fCBsYXllck5hbWUgPT09IE1hcENvbnN0YW50cy5EcmF3aW5nTGF5ZXJJZCkgcmV0dXJuO1xuICAgICAgbGV0IHNvdXJjZSA9IGwuZ2V0U291cmNlKCk7XG4gICAgICBpZiAoISEoc291cmNlIGFzIGFueSlbJ2dldFNvdXJjZSddKSBzb3VyY2UgPSAoc291cmNlIGFzIGFueSk/LmdldFNvdXJjZSgpO1xuICAgICAgYWN0aW9uKGwsIHNvdXJjZSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUc3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRXRHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFB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O1lBQ2QsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQ2xCLE1BQXNFLEVBQ3RFLE1BQW1CO1FBRW5CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxLQUFLLFlBQVksQ0FBQyxjQUFjO2dCQUFFLE9BQU87WUFDL0UsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxDQUFFLE1BQWMsQ0FBQyxXQUFXLENBQUM7Z0JBQUUsTUFBTSxHQUFJLE1BQWMsRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUMxRSxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBL0hVLG9CQUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlLCBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgRmlsdGVyRmVhdHVyZXNJblBvaW50RXhlY3V0b3IsIEdldEZlYXR1cmVzSW5Qb2ludFF1ZXJ5LCBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgQ2x1c3RlciBmcm9tICdvbC9zb3VyY2UvQ2x1c3Rlcic7XG5pbXBvcnQgeyBHZXRMYXllclF1ZXJ5IH0gZnJvbSAnLi4vbWVzc2FnZXMvcXVlcmllcy9nZXQtbGF5ZXIucXVlcnknO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQgfSBmcm9tICcuLi9tb2RlbHMvaS1pZGVudGlmaWVkJztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4uL21vZGVscy9tYXAuY29uc3RhbnRzJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEuZXhlY3V0b3InO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdAYXJ0c3Rlc2gvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgUmVtb3ZlSW1hZ2VMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtaW1hZ2UtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBBZGRJbWFnZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1pbWFnZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IEFkZFJhc3RlclRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXJhc3Rlci10aWxlLWNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlUmFzdGVyVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtcmFzdGVyLXRpbGUuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBNYW5hZ2VtZW50U2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGxheWVycyA9IG5ldyBEaWN0aW9uYXJ5PExheWVyPFZlY3RvclNvdXJjZTxhbnk+IHwgQ2x1c3Rlcj4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgICB0aGlzLm9ic2VydmVBZGRMYXllcigpO1xuICAgIHRoaXMub2JzZXJ2ZVJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5vYnNlcnZlUGxhY2VGZWF0dXJlcygpO1xuICAgIHRoaXMub2JzZXJ2ZUFkZFRpbGUoKTtcbiAgICB0aGlzLm9ic2VydmVMYXllclF1ZXJ5KCk7XG4gICAgdGhpcy5vYnNlcnZlRmVhdHVyZXNJbkFyZWEoKTtcbiAgICB0aGlzLm9ic2VydmVGZWF0dXJlc0luUG9pbnQoKTtcbiAgICB0aGlzLm9ic2VydmVJbWFnZUxheWVyKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVMYXllclF1ZXJ5KCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoR2V0TGF5ZXJRdWVyeSkuc3Vic2NyaWJlKChldikgPT4gZXYuZmluaXNoKHRoaXMubGF5ZXJzLnRha2UoZXYubmFtZSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUFkZFRpbGUoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihBZGRUaWxlQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLm1hcC5hZGRMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKFJlbW92ZVRpbGVDb21tYW5kKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICAgIHRoaXMucG9zdGJveS5zdWIoQWRkUmFzdGVyVGlsZUNvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihSZW1vdmVSYXN0ZXJUaWxlQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUltYWdlTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihBZGRJbWFnZUxheWVyQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLm1hcC5hZGRMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKFJlbW92ZUltYWdlTGF5ZXJDb21tYW5kKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoTWFwUmVuZGVyZWRFdmVudCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlQWRkTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihBZGRMYXllckNvbW1hbmQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5sYXllcnMucHV0KGMubGF5ZXIuZ2V0KCduYW1lJyksIGMubGF5ZXIpO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVQbGFjZUZlYXR1cmVzKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubGF5ZXJzLmhhcyhjLmxheWVyKSkgcmV0dXJuO1xuICAgICAgbGV0IHNvdXJjZSA9IHRoaXMubGF5ZXJzLnRha2UoYy5sYXllcikhLmdldFNvdXJjZSgpO1xuICAgICAgaWYgKCEhKHNvdXJjZSBhcyBhbnkpWydnZXRTb3VyY2UnXSkgc291cmNlID0gKHNvdXJjZSBhcyBhbnkpPy5nZXRTb3VyY2UoKTtcbiAgICAgIHNvdXJjZT8uY2xlYXIoKTtcbiAgICAgICEhYy5mZWF0dXJlcz8ubGVuZ3RoICYmIHNvdXJjZT8uYWRkRmVhdHVyZXMoYy5mZWF0dXJlcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVSZW1vdmVMYXllcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3ViKFJlbW92ZUxheWVyQ29tbWFuZCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLmxheWVycy5ybXYoYy5sYXllci5nZXQoJ25hbWUnKSk7XG4gICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUZlYXR1cmVzSW5BcmVhKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWIoR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSkuc3Vic2NyaWJlKChxcikgPT4ge1xuICAgICAgbGV0IHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+KCk7XG4gICAgICB0aGlzLmZvckVhY2hMYXllcigobCwgcykgPT4ge1xuICAgICAgICBsZXQgZmVhdHVyZXMgPSB0aGlzLnBvc3Rib3kuZXhlYzxGZWF0dXJlPEdlb21ldHJ5PltdPihcbiAgICAgICAgICBuZXcgRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvcihxci5hcmVhLCBzPy5nZXRGZWF0dXJlcygpID8/IFtdKSxcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnB1dChcbiAgICAgICAgICBsLmdldCgnbmFtZScpLFxuICAgICAgICAgIGZlYXR1cmVzLm1hcCgoZSkgPT4gKHsgaWQ6IGUuZ2V0SWQoKSwgLi4uZS5nZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvKSB9KSksXG4gICAgICAgICk7XG4gICAgICB9LCBxci5pZ25vcmUpO1xuICAgICAgcXIuZmluaXNoKHJlc3VsdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVGZWF0dXJlc0luUG9pbnQoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihHZXRGZWF0dXJlc0luUG9pbnRRdWVyeSkuc3Vic2NyaWJlKChxcikgPT4ge1xuICAgICAgbGV0IHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PElJZGVudGlmaWVkW10+KCk7XG4gICAgICB0aGlzLmZvckVhY2hMYXllcigobCwgcykgPT4ge1xuICAgICAgICBsZXQgZmVhdHVyZXMgPSB0aGlzLnBvc3Rib3kuZXhlYzxGZWF0dXJlPEdlb21ldHJ5PltdPihcbiAgICAgICAgICBuZXcgRmlsdGVyRmVhdHVyZXNJblBvaW50RXhlY3V0b3IocXIubGF0LCBxci5sbmcsIHM/LmdldEZlYXR1cmVzKCkgPz8gW10pLFxuICAgICAgICApO1xuICAgICAgICByZXN1bHQucHV0KFxuICAgICAgICAgIGwuZ2V0KCduYW1lJyksXG4gICAgICAgICAgZmVhdHVyZXMubWFwKChlKSA9PiAoeyBpZDogZS5nZXRJZCgpLCAuLi5lLmdldChNYXBDb25zdGFudHMuRmVhdHVyZUluZm8pIH0pKSxcbiAgICAgICAgKTtcbiAgICAgIH0sIHFyLmlnbm9yZSk7XG4gICAgICBxci5maW5pc2gocmVzdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZm9yRWFjaExheWVyKFxuICAgIGFjdGlvbjogKGw6IExheWVyPGFueT4sIHM6IFZlY3RvclNvdXJjZTxhbnk+IHwgQ2x1c3RlciB8IG51bGwpID0+IHZvaWQsXG4gICAgaWdub3JlOiBTZXQ8c3RyaW5nPixcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5sYXllcnMuZm9yRWFjaCgobCkgPT4ge1xuICAgICAgbGV0IGxheWVyTmFtZSA9IGwuZ2V0KCduYW1lJyk7XG4gICAgICBpZiAoaWdub3JlLmhhcyhsYXllck5hbWUpIHx8IGxheWVyTmFtZSA9PT0gTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKSByZXR1cm47XG4gICAgICBsZXQgc291cmNlID0gbC5nZXRTb3VyY2UoKTtcbiAgICAgIGlmICghIShzb3VyY2UgYXMgYW55KVsnZ2V0U291cmNlJ10pIHNvdXJjZSA9IChzb3VyY2UgYXMgYW55KT8uZ2V0U291cmNlKCk7XG4gICAgICBhY3Rpb24obCwgc291cmNlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19