@artstesh/maps 6.0.1 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/esm2022/map/helpers/marker-style.helper.mjs +27 -1
  2. package/dist/esm2022/map/helpers/polygon-style.helper.mjs +22 -1
  3. package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +24 -21
  4. package/dist/esm2022/map/helpers/text-style.helper.mjs +12 -1
  5. package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +26 -9
  6. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +72 -1
  7. package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +11 -1
  8. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +11 -1
  9. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +16 -8
  10. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +79 -1
  11. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +8 -8
  12. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +37 -17
  13. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +7 -7
  14. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +76 -1
  15. package/dist/esm2022/map/map-plate/map-plate.component.mjs +5 -5
  16. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +23 -23
  17. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +2 -2
  18. package/dist/esm2022/map/messages/commands/fit-to-polygons.command.mjs +1 -1
  19. package/dist/esm2022/map/messages/events/map-move-end.event.mjs +4 -6
  20. package/dist/esm2022/map/messages/executors/get-map-position.executor.mjs +16 -0
  21. package/dist/esm2022/map/messages/index.mjs +2 -1
  22. package/dist/esm2022/map/models/index.mjs +2 -1
  23. package/dist/esm2022/map/models/map-control.mjs +2 -2
  24. package/dist/esm2022/map/models/map-position.model.mjs +2 -0
  25. package/dist/esm2022/map/models/marker-model.mjs +1 -1
  26. package/dist/esm2022/map/models/polygon.model.mjs +12 -12
  27. package/dist/esm2022/map/services/feature.service.mjs +6 -6
  28. package/dist/esm2022/map/services/map-click.service.mjs +9 -9
  29. package/dist/esm2022/map/services/map-feature.service.mjs +1 -1
  30. package/dist/esm2022/map/services/map-state.service.mjs +11 -6
  31. package/dist/esm2022/map/services/message-registrator.service.mjs +5 -1
  32. package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +27 -1
  33. package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +22 -1
  34. package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +24 -21
  35. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +12 -1
  36. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +26 -9
  37. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +72 -1
  38. package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +11 -1
  39. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +11 -1
  40. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +16 -8
  41. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +79 -1
  42. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +8 -8
  43. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +37 -17
  44. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +7 -7
  45. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +76 -1
  46. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +5 -5
  47. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +23 -23
  48. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +2 -2
  49. package/dist/esm2022/src/map/messages/commands/fit-to-polygons.command.mjs +1 -1
  50. package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +4 -6
  51. package/dist/esm2022/src/map/messages/executors/get-map-position.executor.mjs +16 -0
  52. package/dist/esm2022/src/map/messages/index.mjs +2 -1
  53. package/dist/esm2022/src/map/models/index.mjs +2 -1
  54. package/dist/esm2022/src/map/models/map-control.mjs +2 -2
  55. package/dist/esm2022/src/map/models/map-position.model.mjs +2 -0
  56. package/dist/esm2022/src/map/models/marker-model.mjs +1 -1
  57. package/dist/esm2022/src/map/models/polygon.model.mjs +12 -12
  58. package/dist/esm2022/src/map/services/feature.service.mjs +6 -6
  59. package/dist/esm2022/src/map/services/map-click.service.mjs +9 -9
  60. package/dist/esm2022/src/map/services/map-feature.service.mjs +1 -1
  61. package/dist/esm2022/src/map/services/map-state.service.mjs +11 -6
  62. package/dist/esm2022/src/map/services/message-registrator.service.mjs +5 -1
  63. package/dist/fesm2022/maps-components-src-map.mjs +498 -125
  64. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  65. package/dist/fesm2022/maps-components.mjs +498 -125
  66. package/dist/fesm2022/maps-components.mjs.map +1 -1
  67. package/dist/map/helpers/marker-style.helper.d.ts +26 -0
  68. package/dist/map/helpers/polygon-style.helper.d.ts +21 -0
  69. package/dist/map/helpers/stringify-feature.helper.d.ts +18 -0
  70. package/dist/map/helpers/text-style.helper.d.ts +11 -0
  71. package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +20 -3
  72. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +71 -0
  73. package/dist/map/map-plate/features/markers/markers.component.d.ts +10 -0
  74. package/dist/map/map-plate/features/polygons/polygons.component.d.ts +10 -0
  75. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +10 -2
  76. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +78 -0
  77. package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +2 -2
  78. package/dist/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +36 -16
  79. package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
  80. package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +75 -0
  81. package/dist/map/map-plate/map-plate.component.d.ts +2 -2
  82. package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +5 -5
  83. package/dist/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +1 -1
  84. package/dist/map/messages/events/map-move-end.event.d.ts +3 -3
  85. package/dist/map/messages/executors/get-map-position.executor.d.ts +12 -0
  86. package/dist/map/messages/index.d.ts +1 -0
  87. package/dist/map/models/index.d.ts +1 -0
  88. package/dist/map/models/map-control.d.ts +1 -1
  89. package/dist/map/models/map-position.model.d.ts +6 -0
  90. package/dist/map/models/polygon.model.d.ts +2 -2
  91. package/dist/map/services/feature.service.d.ts +1 -1
  92. package/dist/map/services/map-click.service.d.ts +1 -1
  93. package/dist/map/services/map-state.service.d.ts +2 -0
  94. package/dist/map/services/message-registrator.service.d.ts +1 -0
  95. package/dist/src/map/helpers/marker-style.helper.d.ts +26 -0
  96. package/dist/src/map/helpers/polygon-style.helper.d.ts +21 -0
  97. package/dist/src/map/helpers/stringify-feature.helper.d.ts +18 -0
  98. package/dist/src/map/helpers/text-style.helper.d.ts +11 -0
  99. package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +20 -3
  100. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +71 -0
  101. package/dist/src/map/map-plate/features/markers/markers.component.d.ts +10 -0
  102. package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +10 -0
  103. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +10 -2
  104. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +78 -0
  105. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +2 -2
  106. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +36 -16
  107. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
  108. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +75 -0
  109. package/dist/src/map/map-plate/map-plate.component.d.ts +2 -2
  110. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +5 -5
  111. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +1 -1
  112. package/dist/src/map/messages/events/map-move-end.event.d.ts +3 -3
  113. package/dist/src/map/messages/executors/get-map-position.executor.d.ts +12 -0
  114. package/dist/src/map/messages/index.d.ts +1 -0
  115. package/dist/src/map/models/index.d.ts +1 -0
  116. package/dist/src/map/models/map-control.d.ts +1 -1
  117. package/dist/src/map/models/map-position.model.d.ts +6 -0
  118. package/dist/src/map/models/polygon.model.d.ts +2 -2
  119. package/dist/src/map/services/feature.service.d.ts +1 -1
  120. package/dist/src/map/services/map-click.service.d.ts +1 -1
  121. package/dist/src/map/services/map-state.service.d.ts +2 -0
  122. package/dist/src/map/services/message-registrator.service.d.ts +1 -0
  123. package/package.json +1 -1
@@ -1,6 +1,16 @@
1
1
  import Style from 'ol/style/Style';
2
2
  import { Circle, Fill, Icon, Stroke } from 'ol/style';
3
+ /**
4
+ * Helper class to create and modify marker styles.
5
+ */
3
6
  export class MarkerStyleHelper {
7
+ /**
8
+ * Creates a new Style object from an SVG.
9
+ * @param {string} svg - The SVG string.
10
+ * @param {Array<number>} [size=[30, 30]] - The size of the icon image.
11
+ * @param {number} [zIndex=400] - The zIndex of the style.
12
+ * @returns {Style} A new Style object.
13
+ */
4
14
  static fromSvg(svg, size = [30, 30], zIndex = 400) {
5
15
  let image = new Image();
6
16
  image.src = 'data:image/svg+xml,' + escape(svg);
@@ -12,6 +22,15 @@ export class MarkerStyleHelper {
12
22
  zIndex,
13
23
  });
14
24
  }
25
+ /**
26
+ * Returns a Style object with a circle style.
27
+ *
28
+ * @param {number} radius - The radius of the circle.
29
+ * @param {string} fill - The fill color of the circle. Format: '#RRGGBB' or 'rgba(R, G, B, A)'.
30
+ * @param {string} strokeColor - The stroke color of the circle. Format: '#RRGGBB' or 'rgba(R, G, B, A)'.
31
+ * @param {number} [strokeWidth=1] - The width of the stroke. Default is 1.
32
+ * @returns {Style} - A Style object with a Circle image.
33
+ */
15
34
  static circle(radius, fill, strokeColor, strokeWidth = 1) {
16
35
  return new Style({
17
36
  image: new Circle({
@@ -21,9 +40,16 @@ export class MarkerStyleHelper {
21
40
  }),
22
41
  });
23
42
  }
43
+ /**
44
+ * Applies the given Text to the provided Style.
45
+ *
46
+ * @param {Style} style - The Style to modify.
47
+ * @param {Text} text - The Text to apply to the Style.
48
+ * @return {Style} - The modified Style with the applied Text.
49
+ */
24
50
  static withText(style, text) {
25
51
  style.setText(text);
26
52
  return style;
27
53
  }
28
54
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLXN0eWxlLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL2hlbHBlcnMvbWFya2VyLXN0eWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFRLE1BQU0sVUFBVSxDQUFDO0FBRTVELE1BQU0sT0FBTyxpQkFBaUI7SUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFXLEVBQUUsT0FBeUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxHQUFHLEdBQUc7UUFDaEYsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsR0FBRyxHQUFHLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksS0FBSyxDQUFDO1lBQ2YsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNkLEdBQUcsRUFBRSxLQUFLO2dCQUNWLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztZQUNGLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLFdBQW1CLEVBQUUsV0FBVyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsTUFBTTtnQkFDTixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQy9ELENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFZLEVBQUUsSUFBVTtRQUM3QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlIGZyb20gJ29sL3N0eWxlL1N0eWxlJztcbmltcG9ydCB7IENpcmNsZSwgRmlsbCwgSWNvbiwgU3Ryb2tlLCBUZXh0IH0gZnJvbSAnb2wvc3R5bGUnO1xuXG5leHBvcnQgY2xhc3MgTWFya2VyU3R5bGVIZWxwZXIge1xuICBwdWJsaWMgc3RhdGljIGZyb21Tdmcoc3ZnOiBzdHJpbmcsIHNpemU6IFtudW1iZXIsIG51bWJlcl0gPSBbMzAsIDMwXSwgekluZGV4ID0gNDAwKTogU3R5bGUge1xuICAgIGxldCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgIGltYWdlLnNyYyA9ICdkYXRhOmltYWdlL3N2Zyt4bWwsJyArIGVzY2FwZShzdmcpO1xuICAgIHJldHVybiBuZXcgU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBJY29uKHtcbiAgICAgICAgaW1nOiBpbWFnZSxcbiAgICAgICAgaW1nU2l6ZTogc2l6ZSxcbiAgICAgIH0pLFxuICAgICAgekluZGV4LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjaXJjbGUocmFkaXVzOiBudW1iZXIsIGZpbGw6IHN0cmluZywgc3Ryb2tlQ29sb3I6IHN0cmluZywgc3Ryb2tlV2lkdGggPSAxKTogU3R5bGUge1xuICAgIHJldHVybiBuZXcgU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBDaXJjbGUoe1xuICAgICAgICByYWRpdXMsXG4gICAgICAgIGZpbGw6IG5ldyBGaWxsKHsgY29sb3I6IGZpbGwgfSksXG4gICAgICAgIHN0cm9rZTogbmV3IFN0cm9rZSh7IGNvbG9yOiBzdHJva2VDb2xvciwgd2lkdGg6IHN0cm9rZVdpZHRoIH0pLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHdpdGhUZXh0KHN0eWxlOiBTdHlsZSwgdGV4dDogVGV4dCk6IFN0eWxlIHtcbiAgICBzdHlsZS5zZXRUZXh0KHRleHQpO1xuICAgIHJldHVybiBzdHlsZTtcbiAgfVxufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLXN0eWxlLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL2hlbHBlcnMvbWFya2VyLXN0eWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFRLE1BQU0sVUFBVSxDQUFDO0FBRTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qjs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQVcsRUFBRSxPQUF5QixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsR0FBRztRQUNoRixJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxHQUFHLEdBQUcscUJBQXFCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxLQUFLLENBQUM7WUFDZixLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUM7Z0JBQ2QsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDO1lBQ0YsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBYyxFQUFFLElBQVksRUFBRSxXQUFtQixFQUFFLFdBQVcsR0FBRyxDQUFDO1FBQ3JGLE9BQU8sSUFBSSxLQUFLLENBQUM7WUFDZixLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUM7Z0JBQ2hCLE1BQU07Z0JBQ04sSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUMvQixNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQzthQUMvRCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBWSxFQUFFLElBQVU7UUFDN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHlsZSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBDaXJjbGUsIEZpbGwsIEljb24sIFN0cm9rZSwgVGV4dCB9IGZyb20gJ29sL3N0eWxlJztcblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgdG8gY3JlYXRlIGFuZCBtb2RpZnkgbWFya2VyIHN0eWxlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hcmtlclN0eWxlSGVscGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgU3R5bGUgb2JqZWN0IGZyb20gYW4gU1ZHLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3ZnIC0gVGhlIFNWRyBzdHJpbmcuXG4gICAqIEBwYXJhbSB7QXJyYXk8bnVtYmVyPn0gW3NpemU9WzMwLCAzMF1dIC0gVGhlIHNpemUgb2YgdGhlIGljb24gaW1hZ2UuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbekluZGV4PTQwMF0gLSBUaGUgekluZGV4IG9mIHRoZSBzdHlsZS5cbiAgICogQHJldHVybnMge1N0eWxlfSBBIG5ldyBTdHlsZSBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Tdmcoc3ZnOiBzdHJpbmcsIHNpemU6IFtudW1iZXIsIG51bWJlcl0gPSBbMzAsIDMwXSwgekluZGV4ID0gNDAwKTogU3R5bGUge1xuICAgIGxldCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgIGltYWdlLnNyYyA9ICdkYXRhOmltYWdlL3N2Zyt4bWwsJyArIGVzY2FwZShzdmcpO1xuICAgIHJldHVybiBuZXcgU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBJY29uKHtcbiAgICAgICAgaW1nOiBpbWFnZSxcbiAgICAgICAgaW1nU2l6ZTogc2l6ZSxcbiAgICAgIH0pLFxuICAgICAgekluZGV4LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBTdHlsZSBvYmplY3Qgd2l0aCBhIGNpcmNsZSBzdHlsZS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJhZGl1cyAtIFRoZSByYWRpdXMgb2YgdGhlIGNpcmNsZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGwgLSBUaGUgZmlsbCBjb2xvciBvZiB0aGUgY2lyY2xlLiBGb3JtYXQ6ICcjUlJHR0JCJyBvciAncmdiYShSLCBHLCBCLCBBKScuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJva2VDb2xvciAtIFRoZSBzdHJva2UgY29sb3Igb2YgdGhlIGNpcmNsZS4gRm9ybWF0OiAnI1JSR0dCQicgb3IgJ3JnYmEoUiwgRywgQiwgQSknLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW3N0cm9rZVdpZHRoPTFdIC0gVGhlIHdpZHRoIG9mIHRoZSBzdHJva2UuIERlZmF1bHQgaXMgMS5cbiAgICogQHJldHVybnMge1N0eWxlfSAtIEEgU3R5bGUgb2JqZWN0IHdpdGggYSBDaXJjbGUgaW1hZ2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNpcmNsZShyYWRpdXM6IG51bWJlciwgZmlsbDogc3RyaW5nLCBzdHJva2VDb2xvcjogc3RyaW5nLCBzdHJva2VXaWR0aCA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBpbWFnZTogbmV3IENpcmNsZSh7XG4gICAgICAgIHJhZGl1cyxcbiAgICAgICAgZmlsbDogbmV3IEZpbGwoeyBjb2xvcjogZmlsbCB9KSxcbiAgICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHsgY29sb3I6IHN0cm9rZUNvbG9yLCB3aWR0aDogc3Ryb2tlV2lkdGggfSksXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIHRoZSBnaXZlbiBUZXh0IHRvIHRoZSBwcm92aWRlZCBTdHlsZS5cbiAgICpcbiAgICogQHBhcmFtIHtTdHlsZX0gc3R5bGUgLSBUaGUgU3R5bGUgdG8gbW9kaWZ5LlxuICAgKiBAcGFyYW0ge1RleHR9IHRleHQgLSBUaGUgVGV4dCB0byBhcHBseSB0byB0aGUgU3R5bGUuXG4gICAqIEByZXR1cm4ge1N0eWxlfSAtIFRoZSBtb2RpZmllZCBTdHlsZSB3aXRoIHRoZSBhcHBsaWVkIFRleHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGhUZXh0KHN0eWxlOiBTdHlsZSwgdGV4dDogVGV4dCk6IFN0eWxlIHtcbiAgICBzdHlsZS5zZXRUZXh0KHRleHQpO1xuICAgIHJldHVybiBzdHlsZTtcbiAgfVxufVxuIl19
@@ -1,6 +1,18 @@
1
1
  import Style from 'ol/style/Style';
2
2
  import { Circle, Fill, Stroke } from 'ol/style';
3
+ /**
4
+ * A helper class for creating polygon styles.
5
+ * @class
6
+ */
3
7
  export class PolygonStyleHelper {
8
+ /**
9
+ * Creates a Style object with the given fill color, stroke color, and stroke width.
10
+ *
11
+ * @param {string} fill - The fill color in hexadecimal or RGB format.
12
+ * @param {string} stroke - The stroke color in hexadecimal or RGB format.
13
+ * @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
14
+ * @return {Style} The created Style object.
15
+ */
4
16
  static simple(fill, stroke, strokeWidth = 1) {
5
17
  return new Style({
6
18
  fill: new Fill({
@@ -12,6 +24,15 @@ export class PolygonStyleHelper {
12
24
  }),
13
25
  });
14
26
  }
27
+ /**
28
+ * Creates a new Style object with the given fill, stroke, stroke width, and pin radius.
29
+ *
30
+ * @param {string} fill - The color to use for the fill of the style.
31
+ * @param {string} stroke - The color to use for the stroke of the style.
32
+ * @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
33
+ * @param {number} [pinRadius=5] - The radius of the circle used as the image for the style. Defaults to 5.
34
+ * @returns {Style} - The newly created Style object.
35
+ */
15
36
  static edit(fill, stroke, strokeWidth = 1, pinRadius = 5) {
16
37
  return new Style({
17
38
  image: new Circle({
@@ -30,4 +51,4 @@ export class PolygonStyleHelper {
30
51
  });
31
52
  }
32
53
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3BvbHlnb24tc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoRCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBWSxFQUFFLE1BQWMsRUFBRSxjQUFzQixDQUFDO1FBQ3hFLE9BQU8sSUFBSSxLQUFLLENBQUM7WUFDZixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUM7Z0JBQ2IsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDO1lBQ0YsTUFBTSxFQUFFLElBQUksTUFBTSxDQUFDO2dCQUNqQixLQUFLLEVBQUUsTUFBTTtnQkFDYixLQUFLLEVBQUUsV0FBVzthQUNuQixDQUFDO1NBQ0gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLE1BQWMsRUFBRSxjQUFzQixDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxNQUFNO2lCQUNkLENBQUM7Z0JBQ0YsTUFBTSxFQUFFLFNBQVM7YUFDbEIsQ0FBQztZQUNGLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQztnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxXQUFXO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgQ2lyY2xlLCBGaWxsLCBTdHJva2UgfSBmcm9tICdvbC9zdHlsZSc7XG5cbmV4cG9ydCBjbGFzcyBQb2x5Z29uU3R5bGVIZWxwZXIge1xuICBwdWJsaWMgc3RhdGljIHNpbXBsZShmaWxsOiBzdHJpbmcsIHN0cm9rZTogc3RyaW5nLCBzdHJva2VXaWR0aDogbnVtYmVyID0gMSk6IFN0eWxlIHtcbiAgICByZXR1cm4gbmV3IFN0eWxlKHtcbiAgICAgIGZpbGw6IG5ldyBGaWxsKHtcbiAgICAgICAgY29sb3I6IGZpbGwsXG4gICAgICB9KSxcbiAgICAgIHN0cm9rZTogbmV3IFN0cm9rZSh7XG4gICAgICAgIGNvbG9yOiBzdHJva2UsXG4gICAgICAgIHdpZHRoOiBzdHJva2VXaWR0aCxcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgZWRpdChmaWxsOiBzdHJpbmcsIHN0cm9rZTogc3RyaW5nLCBzdHJva2VXaWR0aDogbnVtYmVyID0gMSwgcGluUmFkaXVzID0gNSk6IFN0eWxlIHtcbiAgICByZXR1cm4gbmV3IFN0eWxlKHtcbiAgICAgIGltYWdlOiBuZXcgQ2lyY2xlKHtcbiAgICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICAgIGNvbG9yOiBzdHJva2UsXG4gICAgICAgIH0pLFxuICAgICAgICByYWRpdXM6IHBpblJhZGl1cyxcbiAgICAgIH0pLFxuICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICBjb2xvcjogZmlsbCxcbiAgICAgIH0pLFxuICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcbiAgICAgICAgY29sb3I6IHN0cm9rZSxcbiAgICAgICAgd2lkdGg6IHN0cm9rZVdpZHRoLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3BvbHlnb24tc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsY0FBc0IsQ0FBQztRQUN4RSxPQUFPLElBQUksS0FBSyxDQUFDO1lBQ2YsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQztZQUNGLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDakIsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLFdBQVc7YUFDbkIsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLE1BQWMsRUFBRSxjQUFzQixDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxNQUFNO2lCQUNkLENBQUM7Z0JBQ0YsTUFBTSxFQUFFLFNBQVM7YUFDbEIsQ0FBQztZQUNGLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQztnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxXQUFXO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgQ2lyY2xlLCBGaWxsLCBTdHJva2UgfSBmcm9tICdvbC9zdHlsZSc7XG5cbi8qKlxuICogQSBoZWxwZXIgY2xhc3MgZm9yIGNyZWF0aW5nIHBvbHlnb24gc3R5bGVzLlxuICogQGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBQb2x5Z29uU3R5bGVIZWxwZXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIFN0eWxlIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBmaWxsIGNvbG9yLCBzdHJva2UgY29sb3IsIGFuZCBzdHJva2Ugd2lkdGguXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxsIC0gVGhlIGZpbGwgY29sb3IgaW4gaGV4YWRlY2ltYWwgb3IgUkdCIGZvcm1hdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cm9rZSAtIFRoZSBzdHJva2UgY29sb3IgaW4gaGV4YWRlY2ltYWwgb3IgUkdCIGZvcm1hdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzdHJva2VXaWR0aD0xXSAtIFRoZSB3aWR0aCBvZiB0aGUgc3Ryb2tlLiBEZWZhdWx0cyB0byAxLlxuICAgKiBAcmV0dXJuIHtTdHlsZX0gVGhlIGNyZWF0ZWQgU3R5bGUgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzaW1wbGUoZmlsbDogc3RyaW5nLCBzdHJva2U6IHN0cmluZywgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBmaWxsOiBuZXcgRmlsbCh7XG4gICAgICAgIGNvbG9yOiBmaWxsLFxuICAgICAgfSksXG4gICAgICBzdHJva2U6IG5ldyBTdHJva2Uoe1xuICAgICAgICBjb2xvcjogc3Ryb2tlLFxuICAgICAgICB3aWR0aDogc3Ryb2tlV2lkdGgsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFN0eWxlIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBmaWxsLCBzdHJva2UsIHN0cm9rZSB3aWR0aCwgYW5kIHBpbiByYWRpdXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxsIC0gVGhlIGNvbG9yIHRvIHVzZSBmb3IgdGhlIGZpbGwgb2YgdGhlIHN0eWxlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3Ryb2tlIC0gVGhlIGNvbG9yIHRvIHVzZSBmb3IgdGhlIHN0cm9rZSBvZiB0aGUgc3R5bGUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbc3Ryb2tlV2lkdGg9MV0gLSBUaGUgd2lkdGggb2YgdGhlIHN0cm9rZS4gRGVmYXVsdHMgdG8gMS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtwaW5SYWRpdXM9NV0gLSBUaGUgcmFkaXVzIG9mIHRoZSBjaXJjbGUgdXNlZCBhcyB0aGUgaW1hZ2UgZm9yIHRoZSBzdHlsZS4gRGVmYXVsdHMgdG8gNS5cbiAgICogQHJldHVybnMge1N0eWxlfSAtIFRoZSBuZXdseSBjcmVhdGVkIFN0eWxlIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZWRpdChmaWxsOiBzdHJpbmcsIHN0cm9rZTogc3RyaW5nLCBzdHJva2VXaWR0aDogbnVtYmVyID0gMSwgcGluUmFkaXVzID0gNSk6IFN0eWxlIHtcbiAgICByZXR1cm4gbmV3IFN0eWxlKHtcbiAgICAgIGltYWdlOiBuZXcgQ2lyY2xlKHtcbiAgICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICAgIGNvbG9yOiBzdHJva2UsXG4gICAgICAgIH0pLFxuICAgICAgICByYWRpdXM6IHBpblJhZGl1cyxcbiAgICAgIH0pLFxuICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICBjb2xvcjogZmlsbCxcbiAgICAgIH0pLFxuICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcbiAgICAgICAgY29sb3I6IHN0cm9rZSxcbiAgICAgICAgd2lkdGg6IHN0cm9rZVdpZHRoLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,41 +1,44 @@
1
1
  import { Feature } from 'ol';
2
- import { LineString } from 'ol/geom';
3
2
  import { FeatureOutputFormat } from '../models';
4
3
  import { GeoJSON, WKT } from 'ol/format';
5
4
  import Polygon from 'ol/geom/Polygon';
6
5
  import { transform } from 'ol/proj';
7
6
  import { METERS_PER_UNIT } from 'ol/proj/epsg4326';
7
+ /**
8
+ * A helper class for converting and stringify features.
9
+ */
8
10
  export class StringifyFeatureHelper {
9
11
  static polygon(feature, format = FeatureOutputFormat.GeoJson) {
10
12
  return format === FeatureOutputFormat.GeoJson
11
13
  ? new GeoJSON().writeFeature(feature)
12
14
  : new WKT().writeFeature(feature);
13
15
  }
16
+ /**
17
+ * Creates a polygon feature representing a circle based on a given feature with a circle geometry.
18
+ *
19
+ * @param {Feature<Geometry>} feature - The input feature with a circle geometry.
20
+ * @param {FeatureOutputFormat} format - The format for outputting the polygon feature. (default: FeatureOutputFormat.GeoJson)
21
+ *
22
+ * @return {string} - The string representation of the polygon feature.
23
+ */
14
24
  static circle(feature, format = FeatureOutputFormat.GeoJson) {
15
- // const clone = feature.clone();
16
- // clone.setGeometry(fromCircle(feature.getGeometry()! as Circle));
17
- const tetemp = feature.getGeometryName();
18
25
  const circle = feature.getGeometry();
19
- // const temp = StringifyFeatureHelper.drawCircle(circle.getCenter(), circle.getRadius());
20
- const ttt = feature.getGeometry().getExtent();
21
- const eastPoint = [ttt[2], (ttt[1] + ttt[3]) / 2];
22
- const aaa = [
23
- ...transform([ttt[0], ttt[1]], 'EPSG:4326', 'EPSG:3857'),
24
- ...transform([ttt[2], ttt[3]], 'EPSG:4326', 'EPSG:3857'),
26
+ const ext = feature.getGeometry().getExtent();
27
+ const coords = [
28
+ ...transform([ext[0], ext[1]], 'EPSG:4326', 'EPSG:3857'),
29
+ ...transform([ext[2], ext[3]], 'EPSG:4326', 'EPSG:3857'),
25
30
  ];
26
- const radius = (aaa[2] - aaa[0]) / 2;
27
- const radius2 = new LineString([circle.getCenter(), eastPoint]).getLength();
31
+ const radius = (coords[2] - coords[0]) / 2;
28
32
  const polygonGeom = new Polygon(StringifyFeatureHelper.drawCircle(circle.getCenter(), radius));
29
- // var edgeCoordinate = [circle.getCenter()[0] + radius, circle.getCenter()[1]];
30
- // var wgs84Sphere = new Sphere(6378137);
31
33
  return StringifyFeatureHelper.polygon(new Feature(polygonGeom), format);
32
- // const rad = circle.getRadius();
33
- // const degrees = 180 / Math.PI; // radians to degrees
34
- // const radians = Math.PI / 180; // degrees to radians
35
- // const rlat = rad * degrees * 1000;
36
- // const rlng = rad * radians;
37
- // return StringifyFeatureHelper.polygon(new Feature<Geometry>(circular(circle.getCenter(),circle.getRadius() * METERS_PER_UNIT)), format);
38
34
  }
35
+ /**
36
+ * Draw a circle based on a center point and radius.
37
+ *
38
+ * @param {number[]} point - The center point coordinates in EPSG:4326 format.
39
+ * @param {number} radius - The radius of the circle in meters.
40
+ * @return {Coordinate[][]} - The coordinates of the circle boundary in EPSG:4326 format.
41
+ */
39
42
  static drawCircle(point, radius) {
40
43
  const tetetemp = transform(point, 'EPSG:4326', 'EPSG:3857');
41
44
  // const tetetemp = point;
@@ -55,4 +58,4 @@ export class StringifyFeatureHelper {
55
58
  return [extp.map((e) => transform(e, 'EPSG:3857', 'EPSG:4326'))];
56
59
  }
57
60
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LWZlYXR1cmUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvaGVscGVycy9zdHJpbmdpZnktZmVhdHVyZS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3QixPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsTUFBTSxPQUFPLHNCQUFzQjtJQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQTBCLEVBQUUsU0FBOEIsbUJBQW1CLENBQUMsT0FBTztRQUN6RyxPQUFPLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO1lBQzNDLENBQUMsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7WUFDckMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDTSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTBCLEVBQUUsU0FBOEIsbUJBQW1CLENBQUMsT0FBTztRQUN4RyxpQ0FBaUM7UUFDakMsbUVBQW1FO1FBQ25FLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFhLENBQUM7UUFDaEQsMEZBQTBGO1FBQzFGLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUcsQ0FBQyxTQUFTLEVBQUcsQ0FBQztRQUNoRCxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRCxNQUFNLEdBQUcsR0FBRztZQUNWLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7WUFDeEQsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztTQUN6RCxDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFNUUsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRS9GLGdGQUFnRjtRQUNoRix5Q0FBeUM7UUFDekMsT0FBTyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQVcsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEYsbUNBQW1DO1FBQ25DLHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFDeEQsc0NBQXNDO1FBQ3RDLCtCQUErQjtRQUMvQiw0SUFBNEk7SUFDOUksQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZSxFQUFFLE1BQWM7UUFDdkQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDNUQsMEJBQTBCO1FBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMscUJBQXFCO1FBQ3BELE1BQU0sT0FBTyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMscUJBQXFCO1FBQ3BELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUMvQixNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDL0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELE1BQU0sSUFBSSxHQUFlLEVBQUUsQ0FBQztRQUM1QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNSLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxlQUFlO2dCQUN0RCxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsZUFBZTthQUN2RCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgQ2lyY2xlLCBHZW9tZXRyeSwgTGluZVN0cmluZyB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgRmVhdHVyZU91dHB1dEZvcm1hdCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IFBvbHlnb24gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcbmltcG9ydCB7IENvb3JkaW5hdGUgfSBmcm9tICdvbC9jb29yZGluYXRlJztcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgTUVURVJTX1BFUl9VTklUIH0gZnJvbSAnb2wvcHJvai9lcHNnNDMyNic7XG5cbmV4cG9ydCBjbGFzcyBTdHJpbmdpZnlGZWF0dXJlSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBwb2x5Z29uKGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+LCBmb3JtYXQ6IEZlYXR1cmVPdXRwdXRGb3JtYXQgPSBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXQgPT09IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvblxuICAgICAgPyBuZXcgR2VvSlNPTigpLndyaXRlRmVhdHVyZShmZWF0dXJlKVxuICAgICAgOiBuZXcgV0tUKCkud3JpdGVGZWF0dXJlKGZlYXR1cmUpO1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgY2lyY2xlKGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+LCBmb3JtYXQ6IEZlYXR1cmVPdXRwdXRGb3JtYXQgPSBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb24pOiBzdHJpbmcge1xuICAgIC8vIGNvbnN0IGNsb25lID0gZmVhdHVyZS5jbG9uZSgpO1xuICAgIC8vIGNsb25lLnNldEdlb21ldHJ5KGZyb21DaXJjbGUoZmVhdHVyZS5nZXRHZW9tZXRyeSgpISBhcyBDaXJjbGUpKTtcbiAgICBjb25zdCB0ZXRlbXAgPSBmZWF0dXJlLmdldEdlb21ldHJ5TmFtZSgpO1xuICAgIGNvbnN0IGNpcmNsZSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEgYXMgQ2lyY2xlO1xuICAgIC8vIGNvbnN0IHRlbXAgPSBTdHJpbmdpZnlGZWF0dXJlSGVscGVyLmRyYXdDaXJjbGUoY2lyY2xlLmdldENlbnRlcigpLCBjaXJjbGUuZ2V0UmFkaXVzKCkpO1xuICAgIGNvbnN0IHR0dCA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEuZ2V0RXh0ZW50KCkhO1xuICAgIGNvbnN0IGVhc3RQb2ludCA9IFt0dHRbMl0sICh0dHRbMV0gKyB0dHRbM10pIC8gMl07XG4gICAgY29uc3QgYWFhID0gW1xuICAgICAgLi4udHJhbnNmb3JtKFt0dHRbMF0sIHR0dFsxXV0sICdFUFNHOjQzMjYnLCAnRVBTRzozODU3JyksXG4gICAgICAuLi50cmFuc2Zvcm0oW3R0dFsyXSwgdHR0WzNdXSwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKSxcbiAgICBdO1xuICAgIGNvbnN0IHJhZGl1cyA9IChhYWFbMl0gLSBhYWFbMF0pIC8gMjtcbiAgICBjb25zdCByYWRpdXMyID0gbmV3IExpbmVTdHJpbmcoW2NpcmNsZS5nZXRDZW50ZXIoKSwgZWFzdFBvaW50XSkuZ2V0TGVuZ3RoKCk7XG5cbiAgICBjb25zdCBwb2x5Z29uR2VvbSA9IG5ldyBQb2x5Z29uKFN0cmluZ2lmeUZlYXR1cmVIZWxwZXIuZHJhd0NpcmNsZShjaXJjbGUuZ2V0Q2VudGVyKCksIHJhZGl1cykpO1xuXG4gICAgLy8gdmFyIGVkZ2VDb29yZGluYXRlID0gW2NpcmNsZS5nZXRDZW50ZXIoKVswXSArIHJhZGl1cywgY2lyY2xlLmdldENlbnRlcigpWzFdXTtcbiAgICAvLyB2YXIgd2dzODRTcGhlcmUgPSBuZXcgU3BoZXJlKDYzNzgxMzcpO1xuICAgIHJldHVybiBTdHJpbmdpZnlGZWF0dXJlSGVscGVyLnBvbHlnb24obmV3IEZlYXR1cmU8R2VvbWV0cnk+KHBvbHlnb25HZW9tKSwgZm9ybWF0KTtcbiAgICAvLyAgY29uc3QgcmFkID0gY2lyY2xlLmdldFJhZGl1cygpO1xuICAgIC8vICBjb25zdCBkZWdyZWVzID0gMTgwIC8gTWF0aC5QSTsgLy8gcmFkaWFucyB0byBkZWdyZWVzXG4gICAgLy8gIGNvbnN0IHJhZGlhbnMgPSBNYXRoLlBJIC8gMTgwOyAvLyBkZWdyZWVzIHRvIHJhZGlhbnNcbiAgICAvLyAgY29uc3QgcmxhdCA9IHJhZCAqIGRlZ3JlZXMgKiAxMDAwO1xuICAgIC8vICBjb25zdCBybG5nID0gcmFkICogcmFkaWFucztcbiAgICAvLyAgcmV0dXJuIFN0cmluZ2lmeUZlYXR1cmVIZWxwZXIucG9seWdvbihuZXcgRmVhdHVyZTxHZW9tZXRyeT4oY2lyY3VsYXIoY2lyY2xlLmdldENlbnRlcigpLGNpcmNsZS5nZXRSYWRpdXMoKSAqIE1FVEVSU19QRVJfVU5JVCkpLCBmb3JtYXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZHJhd0NpcmNsZShwb2ludDogbnVtYmVyW10sIHJhZGl1czogbnVtYmVyKTogQ29vcmRpbmF0ZVtdW10ge1xuICAgIGNvbnN0IHRldGV0ZW1wID0gdHJhbnNmb3JtKHBvaW50LCAnRVBTRzo0MzI2JywgJ0VQU0c6Mzg1NycpO1xuICAgIC8vIGNvbnN0IHRldGV0ZW1wID0gcG9pbnQ7XG4gICAgY29uc3QgcmFkaWFucyA9IE1hdGguUEkgLyAxODA7IC8vIGRlZ3JlZXMgdG8gcmFkaWFuc1xuICAgIGNvbnN0IGRlZ3JlZXMgPSAxODAgLyBNYXRoLlBJOyAvLyByYWRpYW5zIHRvIGRlZ3JlZXNcbiAgICBjb25zdCBlYXJ0aHNyYWRpdXMgPSA2Mzc4MTM3LjA7XG4gICAgY29uc3QgcmxhdCA9IChyYWRpdXMgLyBlYXJ0aHNyYWRpdXMpICogZGVncmVlcztcbiAgICBjb25zdCBybG5nID0gcmxhdCAvIE1hdGguY29zKHRldGV0ZW1wWzFdICogcmFkaWFucyk7XG4gICAgY29uc3QgZXh0cDogbnVtYmVyW11bXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IDMyOyBpKyspIHtcbiAgICAgIGNvbnN0IHRoZXRhID0gTWF0aC5QSSAqIChpIC8gMTYpO1xuICAgICAgZXh0cC5wdXNoKFtcbiAgICAgICAgdGV0ZXRlbXBbMF0gKyBybG5nICogTWF0aC5jb3ModGhldGEpICogTUVURVJTX1BFUl9VTklULFxuICAgICAgICB0ZXRldGVtcFsxXSArIHJsYXQgKiBNYXRoLnNpbih0aGV0YSkgKiBNRVRFUlNfUEVSX1VOSVQsXG4gICAgICBdKTtcbiAgICB9XG4gICAgcmV0dXJuIFtleHRwLm1hcCgoZSkgPT4gdHJhbnNmb3JtKGUsICdFUFNHOjM4NTcnLCAnRVBTRzo0MzI2JykpXTtcbiAgfVxufVxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LWZlYXR1cmUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvaGVscGVycy9zdHJpbmdpZnktZmVhdHVyZS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUU3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBMEIsRUFBRSxTQUE4QixtQkFBbUIsQ0FBQyxPQUFPO1FBQ3pHLE9BQU8sTUFBTSxLQUFLLG1CQUFtQixDQUFDLE9BQU87WUFDM0MsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNyQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTBCLEVBQUUsU0FBOEIsbUJBQW1CLENBQUMsT0FBTztRQUN4RyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFhLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRyxDQUFDLFNBQVMsRUFBRyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztZQUN4RCxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO1NBQ3pELENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE9BQU8sc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFXLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWUsRUFBRSxNQUFjO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzVELDBCQUEwQjtRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQjtRQUNwRCxNQUFNLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtRQUNwRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBZSxFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDUixRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsZUFBZTtnQkFDdEQsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLGVBQWU7YUFDdkQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IENpcmNsZSwgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IEZlYXR1cmVPdXRwdXRGb3JtYXQgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgR2VvSlNPTiwgV0tUIH0gZnJvbSAnb2wvZm9ybWF0JztcbmltcG9ydCBQb2x5Z29uIGZyb20gJ29sL2dlb20vUG9seWdvbic7XG5pbXBvcnQgeyBDb29yZGluYXRlIH0gZnJvbSAnb2wvY29vcmRpbmF0ZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCB7IE1FVEVSU19QRVJfVU5JVCB9IGZyb20gJ29sL3Byb2ovZXBzZzQzMjYnO1xuXG4vKipcbiAqIEEgaGVscGVyIGNsYXNzIGZvciBjb252ZXJ0aW5nIGFuZCBzdHJpbmdpZnkgZmVhdHVyZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdpZnlGZWF0dXJlSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBwb2x5Z29uKGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+LCBmb3JtYXQ6IEZlYXR1cmVPdXRwdXRGb3JtYXQgPSBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXQgPT09IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvblxuICAgICAgPyBuZXcgR2VvSlNPTigpLndyaXRlRmVhdHVyZShmZWF0dXJlKVxuICAgICAgOiBuZXcgV0tUKCkud3JpdGVGZWF0dXJlKGZlYXR1cmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBwb2x5Z29uIGZlYXR1cmUgcmVwcmVzZW50aW5nIGEgY2lyY2xlIGJhc2VkIG9uIGEgZ2l2ZW4gZmVhdHVyZSB3aXRoIGEgY2lyY2xlIGdlb21ldHJ5LlxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmU8R2VvbWV0cnk+fSBmZWF0dXJlIC0gVGhlIGlucHV0IGZlYXR1cmUgd2l0aCBhIGNpcmNsZSBnZW9tZXRyeS5cbiAgICogQHBhcmFtIHtGZWF0dXJlT3V0cHV0Rm9ybWF0fSBmb3JtYXQgLSBUaGUgZm9ybWF0IGZvciBvdXRwdXR0aW5nIHRoZSBwb2x5Z29uIGZlYXR1cmUuIChkZWZhdWx0OiBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb24pXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ30gLSBUaGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwb2x5Z29uIGZlYXR1cmUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNpcmNsZShmZWF0dXJlOiBGZWF0dXJlPEdlb21ldHJ5PiwgZm9ybWF0OiBGZWF0dXJlT3V0cHV0Rm9ybWF0ID0gRmVhdHVyZU91dHB1dEZvcm1hdC5HZW9Kc29uKTogc3RyaW5nIHtcbiAgICBjb25zdCBjaXJjbGUgPSBmZWF0dXJlLmdldEdlb21ldHJ5KCkhIGFzIENpcmNsZTtcbiAgICBjb25zdCBleHQgPSBmZWF0dXJlLmdldEdlb21ldHJ5KCkhLmdldEV4dGVudCgpITtcbiAgICBjb25zdCBjb29yZHMgPSBbXG4gICAgICAuLi50cmFuc2Zvcm0oW2V4dFswXSwgZXh0WzFdXSwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKSxcbiAgICAgIC4uLnRyYW5zZm9ybShbZXh0WzJdLCBleHRbM11dLCAnRVBTRzo0MzI2JywgJ0VQU0c6Mzg1NycpLFxuICAgIF07XG4gICAgY29uc3QgcmFkaXVzID0gKGNvb3Jkc1syXSAtIGNvb3Jkc1swXSkgLyAyO1xuXG4gICAgY29uc3QgcG9seWdvbkdlb20gPSBuZXcgUG9seWdvbihTdHJpbmdpZnlGZWF0dXJlSGVscGVyLmRyYXdDaXJjbGUoY2lyY2xlLmdldENlbnRlcigpLCByYWRpdXMpKTtcbiAgICByZXR1cm4gU3RyaW5naWZ5RmVhdHVyZUhlbHBlci5wb2x5Z29uKG5ldyBGZWF0dXJlPEdlb21ldHJ5Pihwb2x5Z29uR2VvbSksIGZvcm1hdCk7XG4gIH1cblxuICAvKipcbiAgICogRHJhdyBhIGNpcmNsZSBiYXNlZCBvbiBhIGNlbnRlciBwb2ludCBhbmQgcmFkaXVzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcltdfSBwb2ludCAtIFRoZSBjZW50ZXIgcG9pbnQgY29vcmRpbmF0ZXMgaW4gRVBTRzo0MzI2IGZvcm1hdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHJhZGl1cyAtIFRoZSByYWRpdXMgb2YgdGhlIGNpcmNsZSBpbiBtZXRlcnMuXG4gICAqIEByZXR1cm4ge0Nvb3JkaW5hdGVbXVtdfSAtIFRoZSBjb29yZGluYXRlcyBvZiB0aGUgY2lyY2xlIGJvdW5kYXJ5IGluIEVQU0c6NDMyNiBmb3JtYXQuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBkcmF3Q2lyY2xlKHBvaW50OiBudW1iZXJbXSwgcmFkaXVzOiBudW1iZXIpOiBDb29yZGluYXRlW11bXSB7XG4gICAgY29uc3QgdGV0ZXRlbXAgPSB0cmFuc2Zvcm0ocG9pbnQsICdFUFNHOjQzMjYnLCAnRVBTRzozODU3Jyk7XG4gICAgLy8gY29uc3QgdGV0ZXRlbXAgPSBwb2ludDtcbiAgICBjb25zdCByYWRpYW5zID0gTWF0aC5QSSAvIDE4MDsgLy8gZGVncmVlcyB0byByYWRpYW5zXG4gICAgY29uc3QgZGVncmVlcyA9IDE4MCAvIE1hdGguUEk7IC8vIHJhZGlhbnMgdG8gZGVncmVlc1xuICAgIGNvbnN0IGVhcnRoc3JhZGl1cyA9IDYzNzgxMzcuMDtcbiAgICBjb25zdCBybGF0ID0gKHJhZGl1cyAvIGVhcnRoc3JhZGl1cykgKiBkZWdyZWVzO1xuICAgIGNvbnN0IHJsbmcgPSBybGF0IC8gTWF0aC5jb3ModGV0ZXRlbXBbMV0gKiByYWRpYW5zKTtcbiAgICBjb25zdCBleHRwOiBudW1iZXJbXVtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gMzI7IGkrKykge1xuICAgICAgY29uc3QgdGhldGEgPSBNYXRoLlBJICogKGkgLyAxNik7XG4gICAgICBleHRwLnB1c2goW1xuICAgICAgICB0ZXRldGVtcFswXSArIHJsbmcgKiBNYXRoLmNvcyh0aGV0YSkgKiBNRVRFUlNfUEVSX1VOSVQsXG4gICAgICAgIHRldGV0ZW1wWzFdICsgcmxhdCAqIE1hdGguc2luKHRoZXRhKSAqIE1FVEVSU19QRVJfVU5JVCxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gW2V4dHAubWFwKChlKSA9PiB0cmFuc2Zvcm0oZSwgJ0VQU0c6Mzg1NycsICdFUFNHOjQzMjYnKSldO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,16 @@
1
1
  import { Fill, Text } from 'ol/style';
2
+ /**
3
+ * Helper class for creating text styles.
4
+ */
2
5
  export class TextStyleHelper {
6
+ /**
7
+ * Creates a new instance of the Text class with the specified properties.
8
+ *
9
+ * @param {string} text - The text content of the Text object.
10
+ * @param {string} font - The font style of the Text object.
11
+ * @param {string} color - The color of the Text object.
12
+ * @return {Text} A new instance of the Text class.
13
+ */
3
14
  static get(text, font, color) {
4
15
  return new Text({
5
16
  text: text,
@@ -11,4 +22,4 @@ export class TextStyleHelper {
11
22
  });
12
23
  }
13
24
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3RleHQtc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDLE1BQU0sT0FBTyxlQUFlO0lBQ25CLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxLQUFhO1FBQ3pELE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbGwsIFRleHQgfSBmcm9tICdvbC9zdHlsZSc7XG5cbmV4cG9ydCBjbGFzcyBUZXh0U3R5bGVIZWxwZXIge1xuICBwdWJsaWMgc3RhdGljIGdldCh0ZXh0OiBzdHJpbmcsIGZvbnQ6IHN0cmluZywgY29sb3I6IHN0cmluZyk6IFRleHQge1xuICAgIHJldHVybiBuZXcgVGV4dCh7XG4gICAgICB0ZXh0OiB0ZXh0LFxuICAgICAgZm9udDogZm9udCxcbiAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICBmaWxsOiBuZXcgRmlsbCh7XG4gICAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3RleHQtc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxLQUFhO1FBQ3pELE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbGwsIFRleHQgfSBmcm9tICdvbC9zdHlsZSc7XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBjcmVhdGluZyB0ZXh0IHN0eWxlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFRleHRTdHlsZUhlbHBlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBUZXh0IGNsYXNzIHdpdGggdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIFRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIFRleHQgb2JqZWN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9udCAtIFRoZSBmb250IHN0eWxlIG9mIHRoZSBUZXh0IG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbG9yIC0gVGhlIGNvbG9yIG9mIHRoZSBUZXh0IG9iamVjdC5cbiAgICogQHJldHVybiB7VGV4dH0gQSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFRleHQgY2xhc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCh0ZXh0OiBzdHJpbmcsIGZvbnQ6IHN0cmluZywgY29sb3I6IHN0cmluZyk6IFRleHQge1xuICAgIHJldHVybiBuZXcgVGV4dCh7XG4gICAgICB0ZXh0OiB0ZXh0LFxuICAgICAgZm9udDogZm9udCxcbiAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICBmaWxsOiBuZXcgRmlsbCh7XG4gICAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -6,21 +6,38 @@ import { filter, first } from 'rxjs/operators';
6
6
  import { GenerateZoomControlExecutor } from '../../../messages/executors/generate-zoom-control.executor';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "../../../services/map-postboy.service";
9
+ /**
10
+ * @class
11
+ * @classdesc Represents a component for the Zoom control on a map.
12
+ * @extends DestructibleComponent
13
+ * @implements OnInit
14
+ */
9
15
  export class MapControlZoomComponent extends DestructibleComponent {
10
16
  postboy;
11
- _settings = new ZoomControlSettings();
12
17
  map;
13
18
  control;
19
+ constructor(postboy) {
20
+ super();
21
+ this.postboy = postboy;
22
+ }
23
+ _settings = new ZoomControlSettings();
24
+ /**
25
+ * Sets the settings for the Zoom Control.
26
+ *
27
+ * @param {ZoomControlSettings | undefined} value - The new settings for the Zoom Control.
28
+ *
29
+ * @description
30
+ * This method sets the settings for the Zoom Control. It takes a parameter `value` which should be an object of type `ZoomControlSettings` or `undefined`.
31
+ *
32
+ * If the `value` is `undefined` or the same as the current settings, the method will return without making any changes.
33
+ *
34
+ */
14
35
  set settings(value) {
15
36
  if (!value || this._settings.isSame(value))
16
37
  return;
17
38
  this._settings = value;
18
39
  this.setControl();
19
40
  }
20
- constructor(postboy) {
21
- super();
22
- this.postboy = postboy;
23
- }
24
41
  ngOnInit() {
25
42
  this.postboy
26
43
  .subscribe(MapRenderedEvent.ID)
@@ -30,15 +47,15 @@ export class MapControlZoomComponent extends DestructibleComponent {
30
47
  this.setControl();
31
48
  });
32
49
  }
50
+ onDestroy = () => {
51
+ this.eliminate();
52
+ };
33
53
  setControl() {
34
54
  if (!this.map)
35
55
  return;
36
56
  this.control = this.postboy.execute(new GenerateZoomControlExecutor(this._settings));
37
57
  this.map.addControl(this.control);
38
58
  }
39
- onDestroy = () => {
40
- this.eliminate();
41
- };
42
59
  eliminate = () => !!this.map && !!this.control && this.map.removeControl(this.control);
43
60
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapControlZoomComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
44
61
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: MapControlZoomComponent, selector: "art-map-control-zoom", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
@@ -49,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
49
66
  }], ctorParameters: () => [{ type: i1.MapPostboyService }], propDecorators: { settings: [{
50
67
  type: Input
51
68
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRyb2wtem9vbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS9tYXAtY29udHJvbC16b29tLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7QUFRekcsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHFCQUFxQjtJQVc1QztJQVZaLFNBQVMsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBQzNELEdBQUcsQ0FBTztJQUNWLE9BQU8sQ0FBUTtJQUV2QixJQUFhLFFBQVEsQ0FBQyxLQUFzQztRQUMxRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFvQixPQUEwQjtRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBRTlDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDakIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxTQUFTLEdBQUcsR0FBRyxFQUFFO1FBQ2YsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVNLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7dUdBdENwRix1QkFBdUI7MkZBQXZCLHVCQUF1QixxSEFKeEIsRUFBRTs7MkZBSUQsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0QixFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07c0ZBT2xDLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnO1xuaW1wb3J0IHsgWm9vbUNvbnRyb2xTZXR0aW5ncyB9IGZyb20gJy4vem9vbS1jb250cm9sLnNldHRpbmdzJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgWm9vbSB9IGZyb20gJ29sL2NvbnRyb2wnO1xuaW1wb3J0IHsgR2VuZXJhdGVab29tQ29udHJvbEV4ZWN1dG9yIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dlbmVyYXRlLXpvb20tY29udHJvbC5leGVjdXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1tYXAtY29udHJvbC16b29tJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWFwQ29udHJvbFpvb21Db21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9zZXR0aW5nczogWm9vbUNvbnRyb2xTZXR0aW5ncyA9IG5ldyBab29tQ29udHJvbFNldHRpbmdzKCk7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGNvbnRyb2w/OiBab29tO1xuXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogWm9vbUNvbnRyb2xTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5zZXRDb250cm9sKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICAgICAgdGhpcy5zZXRDb250cm9sKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29udHJvbCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgdGhpcy5jb250cm9sID0gdGhpcy5wb3N0Ym95LmV4ZWN1dGUobmV3IEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvcih0aGlzLl9zZXR0aW5ncykpO1xuICAgIHRoaXMubWFwLmFkZENvbnRyb2wodGhpcy5jb250cm9sISk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB7XG4gICAgdGhpcy5lbGltaW5hdGUoKTtcbiAgfTtcblxuICBwcml2YXRlIGVsaW1pbmF0ZSA9ICgpID0+ICEhdGhpcy5tYXAgJiYgISF0aGlzLmNvbnRyb2wgJiYgdGhpcy5tYXAucmVtb3ZlQ29udHJvbCh0aGlzLmNvbnRyb2wpO1xufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRyb2wtem9vbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS9tYXAtY29udHJvbC16b29tLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7QUFFekc7Ozs7O0dBS0c7QUFPSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBSTVDO0lBSFosR0FBRyxDQUFPO0lBQ1YsT0FBTyxDQUFRO0lBRXZCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVPLFNBQVMsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBRW5FOzs7Ozs7Ozs7O09BVUc7SUFDSCxJQUFhLFFBQVEsQ0FBQyxLQUFzQztRQUMxRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDakIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUU7UUFDZixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRU0sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7dUdBbERwRix1QkFBdUI7MkZBQXZCLHVCQUF1QixxSEFKeEIsRUFBRTs7MkZBSUQsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0QixFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07c0ZBdUJsQyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCBNYXAgZnJvbSAnb2wvTWFwJztcbmltcG9ydCB7IFpvb21Db250cm9sU2V0dGluZ3MgfSBmcm9tICcuL3pvb20tY29udHJvbC5zZXR0aW5ncyc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFpvb20gfSBmcm9tICdvbC9jb250cm9sJztcbmltcG9ydCB7IEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS16b29tLWNvbnRyb2wuZXhlY3V0b3InO1xuXG4vKipcbiAqIEBjbGFzc1xuICogQGNsYXNzZGVzYyBSZXByZXNlbnRzIGEgY29tcG9uZW50IGZvciB0aGUgWm9vbSBjb250cm9sIG9uIGEgbWFwLlxuICogQGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50XG4gKiBAaW1wbGVtZW50cyBPbkluaXRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LW1hcC1jb250cm9sLXpvb20nLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBDb250cm9sWm9vbUNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGNvbnRyb2w/OiBab29tO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dGluZ3M6IFpvb21Db250cm9sU2V0dGluZ3MgPSBuZXcgWm9vbUNvbnRyb2xTZXR0aW5ncygpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZXR0aW5ncyBmb3IgdGhlIFpvb20gQ29udHJvbC5cbiAgICpcbiAgICogQHBhcmFtIHtab29tQ29udHJvbFNldHRpbmdzIHwgdW5kZWZpbmVkfSB2YWx1ZSAtIFRoZSBuZXcgc2V0dGluZ3MgZm9yIHRoZSBab29tIENvbnRyb2wuXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGlzIG1ldGhvZCBzZXRzIHRoZSBzZXR0aW5ncyBmb3IgdGhlIFpvb20gQ29udHJvbC4gSXQgdGFrZXMgYSBwYXJhbWV0ZXIgYHZhbHVlYCB3aGljaCBzaG91bGQgYmUgYW4gb2JqZWN0IG9mIHR5cGUgYFpvb21Db250cm9sU2V0dGluZ3NgIG9yIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBJZiB0aGUgYHZhbHVlYCBpcyBgdW5kZWZpbmVkYCBvciB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCBzZXR0aW5ncywgdGhlIG1ldGhvZCB3aWxsIHJldHVybiB3aXRob3V0IG1ha2luZyBhbnkgY2hhbmdlcy5cbiAgICpcbiAgICovXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogWm9vbUNvbnRyb2xTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5zZXRDb250cm9sKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgICAgIHRoaXMuc2V0Q29udHJvbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB7XG4gICAgdGhpcy5lbGltaW5hdGUoKTtcbiAgfTtcblxuICBwcml2YXRlIHNldENvbnRyb2woKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgIHRoaXMuY29udHJvbCA9IHRoaXMucG9zdGJveS5leGVjdXRlKG5ldyBHZW5lcmF0ZVpvb21Db250cm9sRXhlY3V0b3IodGhpcy5fc2V0dGluZ3MpKTtcbiAgICB0aGlzLm1hcC5hZGRDb250cm9sKHRoaXMuY29udHJvbCEpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbGltaW5hdGUgPSAoKSA9PiAhIXRoaXMubWFwICYmICEhdGhpcy5jb250cm9sICYmIHRoaXMubWFwLnJlbW92ZUNvbnRyb2wodGhpcy5jb250cm9sKTtcbn1cbiJdfQ==
@@ -1,9 +1,42 @@
1
+ /**
2
+ * Represents the settings for a zoom control.
3
+ */
1
4
  export class ZoomControlSettings {
5
+ /**
6
+ * The CSS class name of the control element.
7
+ *
8
+ * @type {string}
9
+ */
2
10
  controlClass = 'ol-zoom';
11
+ /**
12
+ * The CSS class name for zoom in button.
13
+ * @type {string}
14
+ */
3
15
  zoomInClass = 'ol-zoom-in';
16
+ /**
17
+ * The CSS class name for the zoom out button element.
18
+ *
19
+ * @type {string}
20
+ */
4
21
  zoomOutClass = 'ol-zoom-out';
22
+ /**
23
+ * The label for the zoom in action.
24
+ *
25
+ * @type {string}
26
+ */
5
27
  zoomInLabel = 'Zoom In';
28
+ /**
29
+ * The label for the zoom out control.
30
+ *
31
+ * @type {string}
32
+ */
6
33
  zoomOutLabel = 'Zoom Out';
34
+ /**
35
+ * Copies the provided ZoomControlSettings object.
36
+ *
37
+ * @param {ZoomControlSettings} model - The ZoomControlSettings object to be copied.
38
+ * @return {ZoomControlSettings} - The copied ZoomControlSettings object.
39
+ */
7
40
  static copy(model) {
8
41
  const result = new ZoomControlSettings();
9
42
  result.controlClass = model.controlClass;
@@ -13,6 +46,13 @@ export class ZoomControlSettings {
13
46
  result.zoomOutLabel = model.zoomOutLabel;
14
47
  return result;
15
48
  }
49
+ /**
50
+ * Checks if the current ZoomControlSettings object is equal to the given model.
51
+ *
52
+ * @param {ZoomControlSettings} model - The ZoomControlSettings object to compare with.
53
+ *
54
+ * @return {boolean} - true if the current object is equal to the given model, false otherwise.
55
+ */
16
56
  isSame(model) {
17
57
  if (this.zoomInClass !== model.zoomInClass)
18
58
  return false;
@@ -26,20 +66,51 @@ export class ZoomControlSettings {
26
66
  return false;
27
67
  return true;
28
68
  }
69
+ /**
70
+ * Sets the zoom in label of the Zoom Control Settings.
71
+ *
72
+ * @param {string} zoomInLabel - The label for the zoom in button.
73
+ * @return {ZoomControlSettings} - The new Zoom Control Settings object with the updated zoom in label.
74
+ */
29
75
  setZoomInLabel(zoomInLabel) {
30
76
  return ZoomControlSettings.copy({ ...this, zoomInLabel });
31
77
  }
78
+ /**
79
+ * Sets the zoomOutClass property of the ZoomControlSettings object.
80
+ *
81
+ * @param {string} zoomOutClass - The CSS class to be assigned to the zoom out button.
82
+ * @return {ZoomControlSettings} - The updated ZoomControlSettings object with the new zoomOutClass value.
83
+ */
32
84
  setZoomOutClass(zoomOutClass) {
33
85
  return ZoomControlSettings.copy({ ...this, zoomOutClass });
34
86
  }
87
+ /**
88
+ * Sets the zoom in class for the zoom control settings.
89
+ *
90
+ * @param {string} zoomInClass - The new zoom in class to be set.
91
+ * @return {ZoomControlSettings} - The updated zoom control settings.
92
+ */
35
93
  setZoomInClass(zoomInClass) {
36
94
  return ZoomControlSettings.copy({ ...this, zoomInClass });
37
95
  }
96
+ /**
97
+ * Set the label for the zoom out control.
98
+ *
99
+ * @param {string} zoomOutLabel - The label for the zoom out control.
100
+ * @returns {ZoomControlSettings} - The updated zoom control settings.
101
+ */
38
102
  setZoomOutLabel(zoomOutLabel) {
39
103
  return ZoomControlSettings.copy({ ...this, zoomOutLabel });
40
104
  }
105
+ /**
106
+ * Sets the control class for the ZoomControlSettings.
107
+ *
108
+ * @param {string} controlClass - The class name of the control to be set.
109
+ *
110
+ * @return {ZoomControlSettings} - The modified ZoomControlSettings object.
111
+ */
41
112
  setControlClass(controlClass) {
42
113
  return ZoomControlSettings.copy({ ...this, controlClass });
43
114
  }
44
115
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1jb250cm9sLnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2NvbnRyb2xzL21hcC1jb250cm9sLXpvb20vem9vbS1jb250cm9sLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBWSxHQUFXLFNBQVMsQ0FBQztJQUNqQyxXQUFXLEdBQVcsWUFBWSxDQUFDO0lBQ25DLFlBQVksR0FBVyxhQUFhLENBQUM7SUFDckMsV0FBVyxHQUFXLFNBQVMsQ0FBQztJQUNoQyxZQUFZLEdBQVcsVUFBVSxDQUFDO0lBRTNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBMEI7UUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN6QyxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDdkMsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxNQUFNLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDekMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUEwQjtRQUN0QyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxDQUFDLFdBQVc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6RCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssS0FBSyxDQUFDLFlBQVk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzRCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxDQUFDLFdBQVc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6RCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssS0FBSyxDQUFDLFlBQVk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzRCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssS0FBSyxDQUFDLFlBQVk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxlQUFlLENBQUMsWUFBb0I7UUFDbEMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxlQUFlLENBQUMsWUFBb0I7UUFDbEMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxlQUFlLENBQUMsWUFBb0I7UUFDbEMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgY29udHJvbENsYXNzOiBzdHJpbmcgPSAnb2wtem9vbSc7XG4gIHpvb21JbkNsYXNzOiBzdHJpbmcgPSAnb2wtem9vbS1pbic7XG4gIHpvb21PdXRDbGFzczogc3RyaW5nID0gJ29sLXpvb20tb3V0JztcbiAgem9vbUluTGFiZWw6IHN0cmluZyA9ICdab29tIEluJztcbiAgem9vbU91dExhYmVsOiBzdHJpbmcgPSAnWm9vbSBPdXQnO1xuXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogWm9vbUNvbnRyb2xTZXR0aW5ncyk6IFpvb21Db250cm9sU2V0dGluZ3Mge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBab29tQ29udHJvbFNldHRpbmdzKCk7XG4gICAgcmVzdWx0LmNvbnRyb2xDbGFzcyA9IG1vZGVsLmNvbnRyb2xDbGFzcztcbiAgICByZXN1bHQuem9vbUluQ2xhc3MgPSBtb2RlbC56b29tSW5DbGFzcztcbiAgICByZXN1bHQuem9vbU91dENsYXNzID0gbW9kZWwuem9vbU91dENsYXNzO1xuICAgIHJlc3VsdC56b29tSW5MYWJlbCA9IG1vZGVsLnpvb21JbkxhYmVsO1xuICAgIHJlc3VsdC56b29tT3V0TGFiZWwgPSBtb2RlbC56b29tT3V0TGFiZWw7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBpc1NhbWUobW9kZWw6IFpvb21Db250cm9sU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy56b29tSW5DbGFzcyAhPT0gbW9kZWwuem9vbUluQ2xhc3MpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy56b29tT3V0Q2xhc3MgIT09IG1vZGVsLnpvb21PdXRDbGFzcykgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnpvb21JbkxhYmVsICE9PSBtb2RlbC56b29tSW5MYWJlbCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmNvbnRyb2xDbGFzcyAhPT0gbW9kZWwuY29udHJvbENsYXNzKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuem9vbU91dExhYmVsICE9PSBtb2RlbC56b29tT3V0TGFiZWwpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHNldFpvb21JbkxhYmVsKHpvb21JbkxhYmVsOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbUluTGFiZWwgfSk7XG4gIH1cblxuICBzZXRab29tT3V0Q2xhc3Moem9vbU91dENsYXNzOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbU91dENsYXNzIH0pO1xuICB9XG5cbiAgc2V0Wm9vbUluQ2xhc3Moem9vbUluQ2xhc3M6IHN0cmluZyk6IFpvb21Db250cm9sU2V0dGluZ3Mge1xuICAgIHJldHVybiBab29tQ29udHJvbFNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCB6b29tSW5DbGFzcyB9KTtcbiAgfVxuXG4gIHNldFpvb21PdXRMYWJlbCh6b29tT3V0TGFiZWw6IHN0cmluZyk6IFpvb21Db250cm9sU2V0dGluZ3Mge1xuICAgIHJldHVybiBab29tQ29udHJvbFNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCB6b29tT3V0TGFiZWwgfSk7XG4gIH1cblxuICBzZXRDb250cm9sQ2xhc3MoY29udHJvbENsYXNzOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgY29udHJvbENsYXNzIH0pO1xuICB9XG59XG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1jb250cm9sLnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2NvbnRyb2xzL21hcC1jb250cm9sLXpvb20vem9vbS1jb250cm9sLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7OztPQUlHO0lBQ0gsWUFBWSxHQUFXLFNBQVMsQ0FBQztJQUNqQzs7O09BR0c7SUFDSCxXQUFXLEdBQVcsWUFBWSxDQUFDO0lBQ25DOzs7O09BSUc7SUFDSCxZQUFZLEdBQVcsYUFBYSxDQUFDO0lBQ3JDOzs7O09BSUc7SUFDSCxXQUFXLEdBQVcsU0FBUyxDQUFDO0lBQ2hDOzs7O09BSUc7SUFDSCxZQUFZLEdBQVcsVUFBVSxDQUFDO0lBRWxDOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUEwQjtRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDekMsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxNQUFNLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDekMsTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN6QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLEtBQTBCO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsY0FBYyxDQUFDLFdBQW1CO1FBQ2hDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsWUFBb0I7UUFDbEMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxXQUFtQjtRQUNoQyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLFlBQW9CO1FBQ2xDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZUFBZSxDQUFDLFlBQW9CO1FBQ2xDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgdGhlIHNldHRpbmdzIGZvciBhIHpvb20gY29udHJvbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFpvb21Db250cm9sU2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIENTUyBjbGFzcyBuYW1lIG9mIHRoZSBjb250cm9sIGVsZW1lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBjb250cm9sQ2xhc3M6IHN0cmluZyA9ICdvbC16b29tJztcbiAgLyoqXG4gICAqIFRoZSBDU1MgY2xhc3MgbmFtZSBmb3Igem9vbSBpbiBidXR0b24uXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICB6b29tSW5DbGFzczogc3RyaW5nID0gJ29sLXpvb20taW4nO1xuICAvKipcbiAgICogVGhlIENTUyBjbGFzcyBuYW1lIGZvciB0aGUgem9vbSBvdXQgYnV0dG9uIGVsZW1lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICB6b29tT3V0Q2xhc3M6IHN0cmluZyA9ICdvbC16b29tLW91dCc7XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZm9yIHRoZSB6b29tIGluIGFjdGlvbi5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHpvb21JbkxhYmVsOiBzdHJpbmcgPSAnWm9vbSBJbic7XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZm9yIHRoZSB6b29tIG91dCBjb250cm9sLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgem9vbU91dExhYmVsOiBzdHJpbmcgPSAnWm9vbSBPdXQnO1xuXG4gIC8qKlxuICAgKiBDb3BpZXMgdGhlIHByb3ZpZGVkIFpvb21Db250cm9sU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1pvb21Db250cm9sU2V0dGluZ3N9IG1vZGVsIC0gVGhlIFpvb21Db250cm9sU2V0dGluZ3Mgb2JqZWN0IHRvIGJlIGNvcGllZC5cbiAgICogQHJldHVybiB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gLSBUaGUgY29waWVkIFpvb21Db250cm9sU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBab29tQ29udHJvbFNldHRpbmdzKTogWm9vbUNvbnRyb2xTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFpvb21Db250cm9sU2V0dGluZ3MoKTtcbiAgICByZXN1bHQuY29udHJvbENsYXNzID0gbW9kZWwuY29udHJvbENsYXNzO1xuICAgIHJlc3VsdC56b29tSW5DbGFzcyA9IG1vZGVsLnpvb21JbkNsYXNzO1xuICAgIHJlc3VsdC56b29tT3V0Q2xhc3MgPSBtb2RlbC56b29tT3V0Q2xhc3M7XG4gICAgcmVzdWx0Lnpvb21JbkxhYmVsID0gbW9kZWwuem9vbUluTGFiZWw7XG4gICAgcmVzdWx0Lnpvb21PdXRMYWJlbCA9IG1vZGVsLnpvb21PdXRMYWJlbDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdCBpcyBlcXVhbCB0byB0aGUgZ2l2ZW4gbW9kZWwuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gbW9kZWwgLSBUaGUgWm9vbUNvbnRyb2xTZXR0aW5ncyBvYmplY3QgdG8gY29tcGFyZSB3aXRoLlxuICAgKlxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtIHRydWUgaWYgdGhlIGN1cnJlbnQgb2JqZWN0IGlzIGVxdWFsIHRvIHRoZSBnaXZlbiBtb2RlbCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGlzU2FtZShtb2RlbDogWm9vbUNvbnRyb2xTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnpvb21JbkNsYXNzICE9PSBtb2RlbC56b29tSW5DbGFzcykgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnpvb21PdXRDbGFzcyAhPT0gbW9kZWwuem9vbU91dENsYXNzKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuem9vbUluTGFiZWwgIT09IG1vZGVsLnpvb21JbkxhYmVsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29udHJvbENsYXNzICE9PSBtb2RlbC5jb250cm9sQ2xhc3MpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy56b29tT3V0TGFiZWwgIT09IG1vZGVsLnpvb21PdXRMYWJlbCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHpvb20gaW4gbGFiZWwgb2YgdGhlIFpvb20gQ29udHJvbCBTZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvb21JbkxhYmVsIC0gVGhlIGxhYmVsIGZvciB0aGUgem9vbSBpbiBidXR0b24uXG4gICAqIEByZXR1cm4ge1pvb21Db250cm9sU2V0dGluZ3N9IC0gVGhlIG5ldyBab29tIENvbnRyb2wgU2V0dGluZ3Mgb2JqZWN0IHdpdGggdGhlIHVwZGF0ZWQgem9vbSBpbiBsYWJlbC5cbiAgICovXG4gIHNldFpvb21JbkxhYmVsKHpvb21JbkxhYmVsOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbUluTGFiZWwgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgem9vbU91dENsYXNzIHByb3BlcnR5IG9mIHRoZSBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvb21PdXRDbGFzcyAtIFRoZSBDU1MgY2xhc3MgdG8gYmUgYXNzaWduZWQgdG8gdGhlIHpvb20gb3V0IGJ1dHRvbi5cbiAgICogQHJldHVybiB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSBuZXcgem9vbU91dENsYXNzIHZhbHVlLlxuICAgKi9cbiAgc2V0Wm9vbU91dENsYXNzKHpvb21PdXRDbGFzczogc3RyaW5nKTogWm9vbUNvbnRyb2xTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFpvb21Db250cm9sU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHpvb21PdXRDbGFzcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB6b29tIGluIGNsYXNzIGZvciB0aGUgem9vbSBjb250cm9sIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gem9vbUluQ2xhc3MgLSBUaGUgbmV3IHpvb20gaW4gY2xhc3MgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtab29tQ29udHJvbFNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIHpvb20gY29udHJvbCBzZXR0aW5ncy5cbiAgICovXG4gIHNldFpvb21JbkNsYXNzKHpvb21JbkNsYXNzOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbUluQ2xhc3MgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBsYWJlbCBmb3IgdGhlIHpvb20gb3V0IGNvbnRyb2wuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB6b29tT3V0TGFiZWwgLSBUaGUgbGFiZWwgZm9yIHRoZSB6b29tIG91dCBjb250cm9sLlxuICAgKiBAcmV0dXJucyB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCB6b29tIGNvbnRyb2wgc2V0dGluZ3MuXG4gICAqL1xuICBzZXRab29tT3V0TGFiZWwoem9vbU91dExhYmVsOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbU91dExhYmVsIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbnRyb2wgY2xhc3MgZm9yIHRoZSBab29tQ29udHJvbFNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udHJvbENsYXNzIC0gVGhlIGNsYXNzIG5hbWUgb2YgdGhlIGNvbnRyb2wgdG8gYmUgc2V0LlxuICAgKlxuICAgKiBAcmV0dXJuIHtab29tQ29udHJvbFNldHRpbmdzfSAtIFRoZSBtb2RpZmllZCBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdC5cbiAgICovXG4gIHNldENvbnRyb2xDbGFzcyhjb250cm9sQ2xhc3M6IHN0cmluZyk6IFpvb21Db250cm9sU2V0dGluZ3Mge1xuICAgIHJldHVybiBab29tQ29udHJvbFNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBjb250cm9sQ2xhc3MgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -5,6 +5,11 @@ import { MapRenderedEvent } from '../../../messages';
5
5
  import { filter, first } from 'rxjs/operators';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../../services/map-postboy.service";
8
+ /**
9
+ * MarkersComponent is a component that displays markers on a map.
10
+ * It listens for changes in the `markers` input property and
11
+ * automatically puts the markers on the map using the MapPostboyService.
12
+ */
8
13
  export class MarkersComponent extends DestructibleComponent {
9
14
  postboy;
10
15
  layerName = '';
@@ -13,6 +18,11 @@ export class MarkersComponent extends DestructibleComponent {
13
18
  this.postboy = postboy;
14
19
  }
15
20
  _markers = [];
21
+ /**
22
+ * Sets the markers property.
23
+ *
24
+ * @param {MarkerModel[]} value - The array of MarkerModel objects to set as markers.
25
+ */
16
26
  set markers(value) {
17
27
  this._markers = value ?? [];
18
28
  this.putMarkers();
@@ -39,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
39
49
  }], markers: [{
40
50
  type: Input
41
51
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvbWFya2Vycy9tYXJrZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUcvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRL0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHFCQUFxQjtJQUdyQztJQUZYLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFFeEIsWUFBb0IsT0FBMEI7UUFDNUMsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUU5QyxDQUFDO0lBRUQsUUFBUSxHQUFrQixFQUFFLENBQUM7SUFFN0IsSUFBYSxPQUFPLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLElBQUkseUJBQXlCLENBQzNCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDcEMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt1R0FoQ1UsZ0JBQWdCOzJGQUFoQixnQkFBZ0Isa0lBSmpCLEVBQUU7OzJGQUlELGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxhQUFhLFlBQ2IsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3NGQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQVFPLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFya2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbWFya2VyLW1vZGVsJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtbWFya2VycycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1hcmtlcnNDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBsYXllck5hbWUgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIF9tYXJrZXJzOiBNYXJrZXJNb2RlbFtdID0gW107XG5cbiAgQElucHV0KCkgc2V0IG1hcmtlcnModmFsdWU6IE1hcmtlck1vZGVsW10pIHtcbiAgICB0aGlzLl9tYXJrZXJzID0gdmFsdWUgPz8gW107XG4gICAgdGhpcy5wdXRNYXJrZXJzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucHV0TWFya2VycygpKTtcbiAgfVxuXG4gIHByaXZhdGUgcHV0TWFya2VycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX21hcmtlcnMpIHJldHVybjtcbiAgICB0aGlzLnBvc3Rib3kuZmlyZShcbiAgICAgIG5ldyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kKFxuICAgICAgICB0aGlzLmxheWVyTmFtZSxcbiAgICAgICAgdGhpcy5fbWFya2Vycy5tYXAoKG0pID0+IG0uZmVhdHVyZSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvbWFya2Vycy9tYXJrZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUcvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFL0M7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxxQkFBcUI7SUFHckM7SUFGWCxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRXhCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVELFFBQVEsR0FBa0IsRUFBRSxDQUFDO0lBRTdCOzs7O09BSUc7SUFDSCxJQUFhLE9BQU8sQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsSUFBSSx5QkFBeUIsQ0FDM0IsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUNwQyxDQUNGLENBQUM7SUFDSixDQUFDO3VHQXJDVSxnQkFBZ0I7MkZBQWhCLGdCQUFnQixrSUFKakIsRUFBRTs7MkZBSUQsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLGFBQWEsWUFDYixFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07c0ZBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBYU8sT0FBTztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXJrZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9tYXJrZXItbW9kZWwnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogTWFya2Vyc0NvbXBvbmVudCBpcyBhIGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIG1hcmtlcnMgb24gYSBtYXAuXG4gKiBJdCBsaXN0ZW5zIGZvciBjaGFuZ2VzIGluIHRoZSBgbWFya2Vyc2AgaW5wdXQgcHJvcGVydHkgYW5kXG4gKiBhdXRvbWF0aWNhbGx5IHB1dHMgdGhlIG1hcmtlcnMgb24gdGhlIG1hcCB1c2luZyB0aGUgTWFwUG9zdGJveVNlcnZpY2UuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1tYXJrZXJzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWFya2Vyc0NvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxheWVyTmFtZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX21hcmtlcnM6IE1hcmtlck1vZGVsW10gPSBbXTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgbWFya2VycyBwcm9wZXJ0eS5cbiAgICpcbiAgICogQHBhcmFtIHtNYXJrZXJNb2RlbFtdfSB2YWx1ZSAtIFRoZSBhcnJheSBvZiBNYXJrZXJNb2RlbCBvYmplY3RzIHRvIHNldCBhcyBtYXJrZXJzLlxuICAgKi9cbiAgQElucHV0KCkgc2V0IG1hcmtlcnModmFsdWU6IE1hcmtlck1vZGVsW10pIHtcbiAgICB0aGlzLl9tYXJrZXJzID0gdmFsdWUgPz8gW107XG4gICAgdGhpcy5wdXRNYXJrZXJzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucHV0TWFya2VycygpKTtcbiAgfVxuXG4gIHByaXZhdGUgcHV0TWFya2VycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX21hcmtlcnMpIHJldHVybjtcbiAgICB0aGlzLnBvc3Rib3kuZmlyZShcbiAgICAgIG5ldyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kKFxuICAgICAgICB0aGlzLmxheWVyTmFtZSxcbiAgICAgICAgdGhpcy5fbWFya2Vycy5tYXAoKG0pID0+IG0uZmVhdHVyZSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -5,6 +5,11 @@ import { filter, first } from 'rxjs/operators';
5
5
  import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../../services/map-postboy.service";
8
+ /**
9
+ * Component for rendering polygons on a map.
10
+ * It listens for changes in the `polygons` input property and
11
+ * automatically puts the polygons on the map using the MapPostboyService.
12
+ */
8
13
  export class PolygonsComponent extends DestructibleComponent {
9
14
  postboy;
10
15
  layerName = '';
@@ -13,6 +18,11 @@ export class PolygonsComponent extends DestructibleComponent {
13
18
  this.postboy = postboy;
14
19
  }
15
20
  _polygons = [];
21
+ /**
22
+ * Sets the value of polygons.
23
+ *
24
+ * @param {PolygonModel[]} value - The new value for polygons.
25
+ */
16
26
  set polygons(value) {
17
27
  this._polygons = value ?? [];
18
28
  this.putPolygons();
@@ -39,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
39
49
  }], polygons: [{
40
50
  type: Input
41
51
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7QUFTcEcsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHFCQUFxQjtJQUd0QztJQUZYLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFFeEIsWUFBb0IsT0FBMEI7UUFDNUMsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUU5QyxDQUFDO0lBRUQsU0FBUyxHQUFtQixFQUFFLENBQUM7SUFFL0IsSUFBYSxRQUFRLENBQUMsS0FBcUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLElBQUkseUJBQXlCLENBQzNCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDckMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt1R0FoQ1UsaUJBQWlCOzJGQUFqQixpQkFBaUIscUlBSmxCLEVBQUU7OzJGQUlELGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2QsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3NGQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQVFPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBQb2x5Z29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG9seWdvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1wb2x5Z29ucycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvbHlnb25zQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGF5ZXJOYW1lID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfcG9seWdvbnM6IFBvbHlnb25Nb2RlbFtdID0gW107XG5cbiAgQElucHV0KCkgc2V0IHBvbHlnb25zKHZhbHVlOiBQb2x5Z29uTW9kZWxbXSkge1xuICAgIHRoaXMuX3BvbHlnb25zID0gdmFsdWUgPz8gW107XG4gICAgdGhpcy5wdXRQb2x5Z29ucygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnB1dFBvbHlnb25zKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXRQb2x5Z29ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3BvbHlnb25zKSByZXR1cm47XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUoXG4gICAgICBuZXcgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZChcbiAgICAgICAgdGhpcy5sYXllck5hbWUsXG4gICAgICAgIHRoaXMuX3BvbHlnb25zLm1hcCgobSkgPT4gbS5mZWF0dXJlKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7QUFHcEc7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBcUI7SUFHdEM7SUFGWCxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRXhCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVELFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBRS9COzs7O09BSUc7SUFDSCxJQUFhLFFBQVEsQ0FBQyxLQUFxQjtRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsSUFBSSx5QkFBeUIsQ0FDM0IsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUNyQyxDQUNGLENBQUM7SUFDSixDQUFDO3VHQXJDVSxpQkFBaUI7MkZBQWpCLGlCQUFpQixxSUFKbEIsRUFBRTs7MkZBSUQsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGNBQWMsWUFDZCxFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07c0ZBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBYU8sUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IFBvbHlnb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wb2x5Z29uLm1vZGVsJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHJlbmRlcmluZyBwb2x5Z29ucyBvbiBhIG1hcC5cbiAqIEl0IGxpc3RlbnMgZm9yIGNoYW5nZXMgaW4gdGhlIGBwb2x5Z29uc2AgaW5wdXQgcHJvcGVydHkgYW5kXG4gKiBhdXRvbWF0aWNhbGx5IHB1dHMgdGhlIHBvbHlnb25zIG9uIHRoZSBtYXAgdXNpbmcgdGhlIE1hcFBvc3Rib3lTZXJ2aWNlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtcG9seWdvbnMnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQb2x5Z29uc0NvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxheWVyTmFtZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX3BvbHlnb25zOiBQb2x5Z29uTW9kZWxbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiBwb2x5Z29ucy5cbiAgICpcbiAgICogQHBhcmFtIHtQb2x5Z29uTW9kZWxbXX0gdmFsdWUgLSBUaGUgbmV3IHZhbHVlIGZvciBwb2x5Z29ucy5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBwb2x5Z29ucyh2YWx1ZTogUG9seWdvbk1vZGVsW10pIHtcbiAgICB0aGlzLl9wb2x5Z29ucyA9IHZhbHVlID8/IFtdO1xuICAgIHRoaXMucHV0UG9seWdvbnMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wdXRQb2x5Z29ucygpKTtcbiAgfVxuXG4gIHByaXZhdGUgcHV0UG9seWdvbnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wb2x5Z29ucykgcmV0dXJuO1xuICAgIHRoaXMucG9zdGJveS5maXJlKFxuICAgICAgbmV3IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQoXG4gICAgICAgIHRoaXMubGF5ZXJOYW1lLFxuICAgICAgICB0aGlzLl9wb2x5Z29ucy5tYXAoKG0pID0+IG0uZmVhdHVyZSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==