@igo2/geo 1.15.4 → 16.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1433) hide show
  1. package/esm2022/igo2-geo.mjs +5 -0
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +320 -0
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +319 -0
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +278 -0
  5. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +78 -0
  6. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +223 -0
  7. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +89 -0
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +230 -0
  9. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +91 -0
  10. package/esm2022/lib/catalog/catalog.module.mjs +48 -0
  11. package/esm2022/lib/catalog/index.mjs +5 -0
  12. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +32 -0
  13. package/esm2022/lib/catalog/shared/catalog.enum.mjs +16 -0
  14. package/esm2022/lib/catalog/shared/catalog.interface.mjs +2 -0
  15. package/esm2022/lib/catalog/shared/catalog.service.mjs +666 -0
  16. package/esm2022/lib/catalog/shared/catalogs.mjs +75 -0
  17. package/esm2022/lib/catalog/shared/index.mjs +5 -0
  18. package/esm2022/lib/datasource/datasource.module.mjs +22 -0
  19. package/esm2022/lib/datasource/index.mjs +3 -0
  20. package/esm2022/lib/datasource/shared/capabilities.service.mjs +448 -0
  21. package/esm2022/lib/datasource/shared/datasource.service.mjs +259 -0
  22. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +2 -0
  23. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +2 -0
  24. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +2 -0
  25. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +212 -0
  26. package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +2 -0
  27. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +109 -0
  28. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +2 -0
  29. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +15 -0
  30. package/esm2022/lib/datasource/shared/datasources/data.service.mjs +3 -0
  31. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +2 -0
  32. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +34 -0
  33. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +2 -0
  34. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +43 -0
  35. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +2 -0
  36. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +61 -0
  37. package/esm2022/lib/datasource/shared/datasources/index.mjs +36 -0
  38. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +2 -0
  39. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +28 -0
  40. package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +2 -0
  41. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +12 -0
  42. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +2 -0
  43. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +51 -0
  44. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +2 -0
  45. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +15 -0
  46. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +2 -0
  47. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +55 -0
  48. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +2 -0
  49. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +79 -0
  50. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +169 -0
  51. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +2 -0
  52. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +218 -0
  53. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +222 -0
  54. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +2 -0
  55. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +16 -0
  56. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +2 -0
  57. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +9 -0
  58. package/esm2022/lib/datasource/shared/index.mjs +5 -0
  59. package/esm2022/lib/datasource/shared/options/index.mjs +5 -0
  60. package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +2 -0
  61. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +15 -0
  62. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +85 -0
  63. package/esm2022/lib/datasource/shared/options/options.service.mjs +3 -0
  64. package/esm2022/lib/datasource/utils/index.mjs +2 -0
  65. package/esm2022/lib/datasource/utils/tilegrid.mjs +20 -0
  66. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +265 -0
  67. package/esm2022/lib/directions/directions-buttons/index.mjs +2 -0
  68. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +294 -0
  69. package/esm2022/lib/directions/directions-inputs/index.mjs +2 -0
  70. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +215 -0
  71. package/esm2022/lib/directions/directions-results/index.mjs +2 -0
  72. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +2 -0
  73. package/esm2022/lib/directions/directions-sources/directions-source.mjs +3 -0
  74. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +16 -0
  75. package/esm2022/lib/directions/directions-sources/index.mjs +5 -0
  76. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +128 -0
  77. package/esm2022/lib/directions/directions.component.mjs +374 -0
  78. package/esm2022/lib/directions/directions.module.mjs +106 -0
  79. package/esm2022/lib/directions/index.mjs +7 -0
  80. package/esm2022/lib/directions/shared/directions-source.service.mjs +18 -0
  81. package/esm2022/lib/directions/shared/directions.enum.mjs +28 -0
  82. package/esm2022/lib/directions/shared/directions.interface.mjs +2 -0
  83. package/esm2022/lib/directions/shared/directions.service.mjs +202 -0
  84. package/esm2022/lib/directions/shared/directions.utils.mjs +559 -0
  85. package/esm2022/lib/directions/shared/index.mjs +6 -0
  86. package/esm2022/lib/directions/shared/store.mjs +21 -0
  87. package/esm2022/lib/download/download-button/download-button.component.mjs +65 -0
  88. package/esm2022/lib/download/download-button/index.mjs +2 -0
  89. package/esm2022/lib/download/download.module.mjs +42 -0
  90. package/esm2022/lib/download/index.mjs +3 -0
  91. package/esm2022/lib/download/shared/download.interface.mjs +2 -0
  92. package/esm2022/lib/download/shared/download.service.mjs +67 -0
  93. package/esm2022/lib/download/shared/index.mjs +3 -0
  94. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +57 -0
  95. package/esm2022/lib/draw/draw/draw-popup.component.mjs +677 -0
  96. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +48 -0
  97. package/esm2022/lib/draw/draw/draw.component.mjs +1369 -0
  98. package/esm2022/lib/draw/draw/draw.module.mjs +117 -0
  99. package/esm2022/lib/draw/drawingTool.module.mjs +18 -0
  100. package/esm2022/lib/draw/index.mjs +3 -0
  101. package/esm2022/lib/draw/shared/draw-icon.service.mjs +30 -0
  102. package/esm2022/lib/draw/shared/draw.enum.mjs +21 -0
  103. package/esm2022/lib/draw/shared/draw.interface.mjs +2 -0
  104. package/esm2022/lib/draw/shared/draw.utils.mjs +125 -0
  105. package/esm2022/lib/draw/shared/index.mjs +5 -0
  106. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +440 -0
  107. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +57 -0
  108. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +40 -0
  109. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +120 -0
  110. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +23 -0
  111. package/esm2022/lib/feature/feature.module.mjs +21 -0
  112. package/esm2022/lib/feature/index.mjs +4 -0
  113. package/esm2022/lib/feature/shared/feature-store.utils.mjs +27 -0
  114. package/esm2022/lib/feature/shared/feature.enums.mjs +9 -0
  115. package/esm2022/lib/feature/shared/feature.interfaces.mjs +2 -0
  116. package/esm2022/lib/feature/shared/feature.utils.mjs +333 -0
  117. package/esm2022/lib/feature/shared/index.mjs +8 -0
  118. package/esm2022/lib/feature/shared/store.mjs +143 -0
  119. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +216 -0
  120. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +115 -0
  121. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +96 -0
  122. package/esm2022/lib/feature/shared/strategies/index.mjs +8 -0
  123. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +104 -0
  124. package/esm2022/lib/feature/shared/strategies/loading.mjs +136 -0
  125. package/esm2022/lib/feature/shared/strategies/search.mjs +159 -0
  126. package/esm2022/lib/feature/shared/strategies/selection.mjs +384 -0
  127. package/esm2022/lib/feature/shared/strategies.utils.mjs +37 -0
  128. package/esm2022/lib/filter/filter.module.mjs +300 -0
  129. package/esm2022/lib/filter/index.mjs +16 -0
  130. package/esm2022/lib/filter/ogc-filter-button/index.mjs +2 -0
  131. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +153 -0
  132. package/esm2022/lib/filter/ogc-filter-form/index.mjs +2 -0
  133. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +663 -0
  134. package/esm2022/lib/filter/ogc-filter-selection/index.mjs +2 -0
  135. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1344 -0
  136. package/esm2022/lib/filter/ogc-filter-time/index.mjs +3 -0
  137. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +226 -0
  138. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +936 -0
  139. package/esm2022/lib/filter/ogc-filterable-form/index.mjs +2 -0
  140. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +83 -0
  141. package/esm2022/lib/filter/ogc-filterable-item/index.mjs +2 -0
  142. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +320 -0
  143. package/esm2022/lib/filter/ogc-filterable-list/index.mjs +3 -0
  144. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +36 -0
  145. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +47 -0
  146. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +55 -0
  147. package/esm2022/lib/filter/shared/index.mjs +12 -0
  148. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +73 -0
  149. package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +30 -0
  150. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +2 -0
  151. package/esm2022/lib/filter/shared/ogc-filter.mjs +699 -0
  152. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +48 -0
  153. package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +23 -0
  154. package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +2 -0
  155. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +280 -0
  156. package/esm2022/lib/filter/shared/time-filter.enum.mjs +13 -0
  157. package/esm2022/lib/filter/shared/time-filter.interface.mjs +2 -0
  158. package/esm2022/lib/filter/shared/time-filter.service.mjs +108 -0
  159. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +2 -0
  160. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1150 -0
  161. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +2 -0
  162. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +244 -0
  163. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +2 -0
  164. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +157 -0
  165. package/esm2022/lib/filter/time-filter-button/index.mjs +2 -0
  166. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +82 -0
  167. package/esm2022/lib/filter/time-filter-form/index.mjs +2 -0
  168. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +755 -0
  169. package/esm2022/lib/filter/time-filter-item/index.mjs +2 -0
  170. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +124 -0
  171. package/esm2022/lib/filter/time-filter-list/index.mjs +3 -0
  172. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +36 -0
  173. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +40 -0
  174. package/esm2022/lib/geo.module.mjs +106 -0
  175. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +563 -0
  176. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +218 -0
  177. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +56 -0
  178. package/esm2022/lib/geometry/geometry.module.mjs +20 -0
  179. package/esm2022/lib/geometry/index.mjs +4 -0
  180. package/esm2022/lib/geometry/shared/controls/draw.mjs +340 -0
  181. package/esm2022/lib/geometry/shared/controls/index.mjs +4 -0
  182. package/esm2022/lib/geometry/shared/controls/modify.mjs +541 -0
  183. package/esm2022/lib/geometry/shared/controls/slice.mjs +190 -0
  184. package/esm2022/lib/geometry/shared/geometry.errors.mjs +26 -0
  185. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +2 -0
  186. package/esm2022/lib/geometry/shared/geometry.utils.mjs +122 -0
  187. package/esm2022/lib/geometry/shared/index.mjs +5 -0
  188. package/esm2022/lib/import-export/export-button/export-button.component.mjs +66 -0
  189. package/esm2022/lib/import-export/export-button/index.mjs +2 -0
  190. package/esm2022/lib/import-export/import-export/import-export.component.mjs +1350 -0
  191. package/esm2022/lib/import-export/import-export/index.mjs +2 -0
  192. package/esm2022/lib/import-export/import-export.module.mjs +98 -0
  193. package/esm2022/lib/import-export/index.mjs +4 -0
  194. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +174 -0
  195. package/esm2022/lib/import-export/shared/export.errors.mjs +15 -0
  196. package/esm2022/lib/import-export/shared/export.interface.mjs +2 -0
  197. package/esm2022/lib/import-export/shared/export.service.mjs +205 -0
  198. package/esm2022/lib/import-export/shared/export.type.mjs +13 -0
  199. package/esm2022/lib/import-export/shared/export.utils.mjs +47 -0
  200. package/esm2022/lib/import-export/shared/import.errors.mjs +39 -0
  201. package/esm2022/lib/import-export/shared/import.interface.mjs +2 -0
  202. package/esm2022/lib/import-export/shared/import.service.mjs +221 -0
  203. package/esm2022/lib/import-export/shared/import.utils.mjs +203 -0
  204. package/esm2022/lib/import-export/shared/index.mjs +11 -0
  205. package/esm2022/lib/layer/index.mjs +10 -0
  206. package/esm2022/lib/layer/layer-item/index.mjs +2 -0
  207. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +324 -0
  208. package/esm2022/lib/layer/layer-legend/index.mjs +2 -0
  209. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +429 -0
  210. package/esm2022/lib/layer/layer-legend-item/index.mjs +2 -0
  211. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +93 -0
  212. package/esm2022/lib/layer/layer-legend-list/index.mjs +3 -0
  213. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +54 -0
  214. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +201 -0
  215. package/esm2022/lib/layer/layer-list/index.mjs +4 -0
  216. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +69 -0
  217. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +1022 -0
  218. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +19 -0
  219. package/esm2022/lib/layer/layer-list-tool/index.mjs +5 -0
  220. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +157 -0
  221. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +7 -0
  222. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +2 -0
  223. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +22 -0
  224. package/esm2022/lib/layer/layer.module.mjs +175 -0
  225. package/esm2022/lib/layer/shared/clusterParam.mjs +2 -0
  226. package/esm2022/lib/layer/shared/index.mjs +5 -0
  227. package/esm2022/lib/layer/shared/layer.enums.mjs +2 -0
  228. package/esm2022/lib/layer/shared/layer.service.mjs +268 -0
  229. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +2 -0
  230. package/esm2022/lib/layer/shared/layers/any-layer.mjs +2 -0
  231. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +2 -0
  232. package/esm2022/lib/layer/shared/layers/image-layer.mjs +70 -0
  233. package/esm2022/lib/layer/shared/layers/index.mjs +13 -0
  234. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +17 -0
  235. package/esm2022/lib/layer/shared/layers/layer.mjs +184 -0
  236. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +2 -0
  237. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +2 -0
  238. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +50 -0
  239. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +2 -0
  240. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +562 -0
  241. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +2 -0
  242. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +107 -0
  243. package/esm2022/lib/layer/track-feature-button/index.mjs +2 -0
  244. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +60 -0
  245. package/esm2022/lib/layer/utils/image-watcher.mjs +62 -0
  246. package/esm2022/lib/layer/utils/index.mjs +6 -0
  247. package/esm2022/lib/layer/utils/layer.utils.mjs +11 -0
  248. package/esm2022/lib/layer/utils/outputLegend.mjs +28 -0
  249. package/esm2022/lib/layer/utils/tile-watcher.mjs +52 -0
  250. package/esm2022/lib/layer/utils/vector-watcher.mjs +50 -0
  251. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +16 -0
  252. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +120 -0
  253. package/esm2022/lib/map/baselayers-switcher/index.mjs +3 -0
  254. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +155 -0
  255. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +87 -0
  256. package/esm2022/lib/map/geolocate-button/index.mjs +2 -0
  257. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +80 -0
  258. package/esm2022/lib/map/home-extent-button/index.mjs +2 -0
  259. package/esm2022/lib/map/index.mjs +14 -0
  260. package/esm2022/lib/map/info-section/index.mjs +2 -0
  261. package/esm2022/lib/map/info-section/info-section.component.mjs +29 -0
  262. package/esm2022/lib/map/map-browser/index.mjs +2 -0
  263. package/esm2022/lib/map/map-browser/map-browser.component.mjs +74 -0
  264. package/esm2022/lib/map/map-center/index.mjs +2 -0
  265. package/esm2022/lib/map/map-center/map-center.component.mjs +61 -0
  266. package/esm2022/lib/map/map.module.mjs +120 -0
  267. package/esm2022/lib/map/menu-button/index.mjs +2 -0
  268. package/esm2022/lib/map/menu-button/menu-button.component.mjs +55 -0
  269. package/esm2022/lib/map/offline-button/index.mjs +2 -0
  270. package/esm2022/lib/map/offline-button/offline-button.component.mjs +55 -0
  271. package/esm2022/lib/map/rotation-button/index.mjs +2 -0
  272. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +73 -0
  273. package/esm2022/lib/map/shared/controllers/controller.mjs +44 -0
  274. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +8 -0
  275. package/esm2022/lib/map/shared/controllers/geolocation.mjs +431 -0
  276. package/esm2022/lib/map/shared/controllers/index.mjs +5 -0
  277. package/esm2022/lib/map/shared/controllers/view.mjs +360 -0
  278. package/esm2022/lib/map/shared/hover-feature.directive.mjs +493 -0
  279. package/esm2022/lib/map/shared/index.mjs +15 -0
  280. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +248 -0
  281. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +121 -0
  282. package/esm2022/lib/map/shared/map.abstract.mjs +23 -0
  283. package/esm2022/lib/map/shared/map.enums.mjs +6 -0
  284. package/esm2022/lib/map/shared/map.interface.mjs +2 -0
  285. package/esm2022/lib/map/shared/map.mjs +434 -0
  286. package/esm2022/lib/map/shared/map.service.mjs +30 -0
  287. package/esm2022/lib/map/shared/map.utils.mjs +456 -0
  288. package/esm2022/lib/map/shared/mapOffline.directive.mjs +107 -0
  289. package/esm2022/lib/map/shared/projection.interfaces.mjs +2 -0
  290. package/esm2022/lib/map/shared/projection.service.mjs +67 -0
  291. package/esm2022/lib/map/shared/projection.utils.mjs +64 -0
  292. package/esm2022/lib/map/swipe-control/index.mjs +2 -0
  293. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +219 -0
  294. package/esm2022/lib/map/utils/layer-watcher.mjs +78 -0
  295. package/esm2022/lib/map/wake-lock-button/index.mjs +2 -0
  296. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +106 -0
  297. package/esm2022/lib/map/zoom-button/index.mjs +2 -0
  298. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +49 -0
  299. package/esm2022/lib/measure/index.mjs +4 -0
  300. package/esm2022/lib/measure/measure.module.mjs +18 -0
  301. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +39 -0
  302. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +184 -0
  303. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +162 -0
  304. package/esm2022/lib/measure/measurer/measurer.component.mjs +1121 -0
  305. package/esm2022/lib/measure/measurer/measurer.module.mjs +95 -0
  306. package/esm2022/lib/measure/shared/index.mjs +4 -0
  307. package/esm2022/lib/measure/shared/measure.enum.mjs +37 -0
  308. package/esm2022/lib/measure/shared/measure.interfaces.mjs +2 -0
  309. package/esm2022/lib/measure/shared/measure.utils.mjs +497 -0
  310. package/esm2022/lib/metadata/index.mjs +3 -0
  311. package/esm2022/lib/metadata/metadata-button/index.mjs +2 -0
  312. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +140 -0
  313. package/esm2022/lib/metadata/metadata.module.mjs +47 -0
  314. package/esm2022/lib/metadata/shared/index.mjs +3 -0
  315. package/esm2022/lib/metadata/shared/metadata.interface.mjs +2 -0
  316. package/esm2022/lib/metadata/shared/metadata.service.mjs +19 -0
  317. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +128 -0
  318. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +6 -0
  319. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +2 -0
  320. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +175 -0
  321. package/esm2022/lib/offline/geoDB/index.mjs +5 -0
  322. package/esm2022/lib/offline/index.mjs +4 -0
  323. package/esm2022/lib/offline/layerDB/index.mjs +3 -0
  324. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +2 -0
  325. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +84 -0
  326. package/esm2022/lib/offline/shared/geo-network.service.mjs +87 -0
  327. package/esm2022/lib/offline/shared/index.mjs +2 -0
  328. package/esm2022/lib/overlay/index.mjs +2 -0
  329. package/esm2022/lib/overlay/overlay.module.mjs +23 -0
  330. package/esm2022/lib/overlay/shared/index.mjs +6 -0
  331. package/esm2022/lib/overlay/shared/overlay.directive.mjs +38 -0
  332. package/esm2022/lib/overlay/shared/overlay.enum.mjs +8 -0
  333. package/esm2022/lib/overlay/shared/overlay.mjs +138 -0
  334. package/esm2022/lib/overlay/shared/overlay.service.mjs +26 -0
  335. package/esm2022/lib/overlay/shared/overlay.utils.mjs +17 -0
  336. package/esm2022/lib/print/index.mjs +4 -0
  337. package/esm2022/lib/print/print/print.component.mjs +122 -0
  338. package/esm2022/lib/print/print-form/index.mjs +2 -0
  339. package/esm2022/lib/print/print-form/print-form.component.mjs +580 -0
  340. package/esm2022/lib/print/print.module.mjs +65 -0
  341. package/esm2022/lib/print/shared/geopdf.mjs +68 -0
  342. package/esm2022/lib/print/shared/index.mjs +5 -0
  343. package/esm2022/lib/print/shared/print.interface.mjs +2 -0
  344. package/esm2022/lib/print/shared/print.service.mjs +1093 -0
  345. package/esm2022/lib/print/shared/print.type.mjs +30 -0
  346. package/esm2022/lib/query/index.mjs +2 -0
  347. package/esm2022/lib/query/query.module.mjs +29 -0
  348. package/esm2022/lib/query/shared/index.mjs +7 -0
  349. package/esm2022/lib/query/shared/query-search-source.mjs +35 -0
  350. package/esm2022/lib/query/shared/query-search-source.providers.mjs +22 -0
  351. package/esm2022/lib/query/shared/query.directive.mjs +285 -0
  352. package/esm2022/lib/query/shared/query.enums.mjs +30 -0
  353. package/esm2022/lib/query/shared/query.interfaces.mjs +2 -0
  354. package/esm2022/lib/query/shared/query.service.mjs +753 -0
  355. package/esm2022/lib/query/shared/query.utils.mjs +41 -0
  356. package/esm2022/lib/search/index.mjs +12 -0
  357. package/esm2022/lib/search/search-bar/search-bar.component.mjs +559 -0
  358. package/esm2022/lib/search/search-bar/search-bar.module.mjs +73 -0
  359. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +40 -0
  360. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +132 -0
  361. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +456 -0
  362. package/esm2022/lib/search/search-results/search-results-item.component.mjs +166 -0
  363. package/esm2022/lib/search/search-results/search-results.component.mjs +480 -0
  364. package/esm2022/lib/search/search-results/search-results.module.mjs +104 -0
  365. package/esm2022/lib/search/search-selector/search-selector.component.mjs +133 -0
  366. package/esm2022/lib/search/search-selector/search-selector.module.mjs +56 -0
  367. package/esm2022/lib/search/search-settings/search-settings.component.mjs +448 -0
  368. package/esm2022/lib/search/search-settings/search-settings.module.mjs +60 -0
  369. package/esm2022/lib/search/search.module.mjs +67 -0
  370. package/esm2022/lib/search/shared/index.mjs +9 -0
  371. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +337 -0
  372. package/esm2022/lib/search/shared/search-source-service.providers.mjs +20 -0
  373. package/esm2022/lib/search/shared/search-source.service.mjs +56 -0
  374. package/esm2022/lib/search/shared/search.enums.mjs +4 -0
  375. package/esm2022/lib/search/shared/search.interfaces.mjs +2 -0
  376. package/esm2022/lib/search/shared/search.service.mjs +130 -0
  377. package/esm2022/lib/search/shared/search.utils.mjs +92 -0
  378. package/esm2022/lib/search/shared/sources/cadastre.mjs +139 -0
  379. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +23 -0
  380. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +2 -0
  381. package/esm2022/lib/search/shared/sources/coordinates.mjs +166 -0
  382. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +40 -0
  383. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +2 -0
  384. package/esm2022/lib/search/shared/sources/icherche.mjs +796 -0
  385. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +66 -0
  386. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +2 -0
  387. package/esm2022/lib/search/shared/sources/ilayer.mjs +335 -0
  388. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +46 -0
  389. package/esm2022/lib/search/shared/sources/index.mjs +23 -0
  390. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +2 -0
  391. package/esm2022/lib/search/shared/sources/nominatim.mjs +263 -0
  392. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +23 -0
  393. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +2 -0
  394. package/esm2022/lib/search/shared/sources/source.mjs +220 -0
  395. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +2 -0
  396. package/esm2022/lib/search/shared/sources/storedqueries.mjs +455 -0
  397. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +41 -0
  398. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
  399. package/esm2022/lib/search/shared/sources/workspace.mjs +191 -0
  400. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +22 -0
  401. package/esm2022/lib/style/index.mjs +5 -0
  402. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +359 -0
  403. package/esm2022/lib/style/shared/datasource/index.mjs +2 -0
  404. package/esm2022/lib/style/shared/feature/feature-style.mjs +161 -0
  405. package/esm2022/lib/style/shared/feature/index.mjs +2 -0
  406. package/esm2022/lib/style/shared/font.enum.mjs +17 -0
  407. package/esm2022/lib/style/shared/index.mjs +5 -0
  408. package/esm2022/lib/style/shared/overlay/index.mjs +3 -0
  409. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +45 -0
  410. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
  411. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +78 -0
  412. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +27 -0
  413. package/esm2022/lib/style/shared/vector/index.mjs +4 -0
  414. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +2 -0
  415. package/esm2022/lib/style/style-list/index.mjs +5 -0
  416. package/esm2022/lib/style/style-list/style-list.interface.mjs +2 -0
  417. package/esm2022/lib/style/style-list/style-list.module.mjs +23 -0
  418. package/esm2022/lib/style/style-list/style-list.provider.mjs +21 -0
  419. package/esm2022/lib/style/style-list/style-list.service.mjs +52 -0
  420. package/esm2022/lib/style/style-modal/drawing/index.mjs +2 -0
  421. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +288 -0
  422. package/esm2022/lib/style/style-modal/index.mjs +5 -0
  423. package/esm2022/lib/style/style-modal/layer/index.mjs +2 -0
  424. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +182 -0
  425. package/esm2022/lib/style/style-modal/layer-button/index.mjs +2 -0
  426. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +48 -0
  427. package/esm2022/lib/style/style-modal/shared/index.mjs +2 -0
  428. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
  429. package/esm2022/lib/style/style-service/draw-style.service.mjs +256 -0
  430. package/esm2022/lib/style/style-service/index.mjs +3 -0
  431. package/esm2022/lib/style/style-service/style.service.mjs +393 -0
  432. package/esm2022/lib/style/style.module.mjs +92 -0
  433. package/esm2022/lib/toast/index.mjs +2 -0
  434. package/esm2022/lib/toast/toast.component.mjs +119 -0
  435. package/esm2022/lib/toast/toast.module.mjs +45 -0
  436. package/esm2022/lib/utils/googleLinks.mjs +13 -0
  437. package/esm2022/lib/utils/id-generator.mjs +110 -0
  438. package/esm2022/lib/utils/index.mjs +5 -0
  439. package/esm2022/lib/utils/osmLinks.mjs +9 -0
  440. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +3 -0
  441. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +2 -0
  442. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +64 -0
  443. package/esm2022/lib/wkt/index.mjs +2 -0
  444. package/esm2022/lib/wkt/shared/index.mjs +2 -0
  445. package/esm2022/lib/wkt/shared/wkt.service.mjs +236 -0
  446. package/esm2022/lib/wkt/wkt.module.mjs +22 -0
  447. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +52 -0
  448. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +36 -0
  449. package/esm2022/lib/workspace/confirmation-popup/index.mjs +3 -0
  450. package/esm2022/lib/workspace/index.mjs +8 -0
  451. package/esm2022/lib/workspace/shared/edition-workspace.mjs +304 -0
  452. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +711 -0
  453. package/esm2022/lib/workspace/shared/feature-workspace.mjs +41 -0
  454. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +109 -0
  455. package/esm2022/lib/workspace/shared/index.mjs +8 -0
  456. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +41 -0
  457. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +102 -0
  458. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +225 -0
  459. package/esm2022/lib/workspace/shared/workspace.utils.mjs +185 -0
  460. package/esm2022/lib/workspace/widgets/index.mjs +4 -0
  461. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +52 -0
  462. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +25 -0
  463. package/esm2022/lib/workspace/widgets/widgets.mjs +15 -0
  464. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +167 -0
  465. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +22 -0
  466. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +135 -0
  467. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +22 -0
  468. package/esm2022/lib/workspace/workspace.module.mjs +58 -0
  469. package/esm2022/public_api.mjs +57 -0
  470. package/fesm2022/igo2-geo.mjs +48164 -0
  471. package/fesm2022/igo2-geo.mjs.map +1 -0
  472. package/geo-theme.scss +21 -0
  473. package/index.d.ts +5 -5
  474. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +117 -117
  475. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +77 -77
  476. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +99 -99
  477. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +22 -22
  478. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +45 -45
  479. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +25 -25
  480. package/lib/catalog/catalog-library/catalog-library.component.d.ts +64 -64
  481. package/lib/catalog/catalog-library/catalog-library.module.d.ts +26 -26
  482. package/lib/catalog/catalog.module.d.ts +14 -14
  483. package/lib/catalog/index.d.ts +4 -4
  484. package/lib/catalog/shared/catalog.abstract.d.ts +41 -50
  485. package/lib/catalog/shared/catalog.enum.d.ts +14 -14
  486. package/lib/catalog/shared/catalog.interface.d.ts +76 -76
  487. package/lib/catalog/shared/catalog.service.d.ts +36 -36
  488. package/lib/catalog/shared/catalogs.d.ts +35 -0
  489. package/lib/catalog/shared/index.d.ts +4 -4
  490. package/lib/datasource/datasource.module.d.ts +8 -8
  491. package/lib/datasource/index.d.ts +2 -2
  492. package/lib/datasource/shared/capabilities.service.d.ts +37 -37
  493. package/lib/datasource/shared/datasource.service.d.ts +37 -37
  494. package/lib/datasource/shared/datasources/any-datasource.d.ts +16 -16
  495. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +15 -15
  496. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +14 -14
  497. package/lib/datasource/shared/datasources/arcgisrest-datasource.interface.d.ts +14 -14
  498. package/lib/datasource/shared/datasources/carto-datasource.d.ts +15 -15
  499. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +13 -13
  500. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +10 -10
  501. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +11 -11
  502. package/lib/datasource/shared/datasources/data.service.d.ts +3 -3
  503. package/lib/datasource/shared/datasources/datasource.d.ts +20 -20
  504. package/lib/datasource/shared/datasources/datasource.interface.d.ts +113 -113
  505. package/lib/datasource/shared/datasources/feature-datasource.d.ts +12 -12
  506. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +23 -23
  507. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +15 -15
  508. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +15 -15
  509. package/lib/datasource/shared/datasources/index.d.ts +35 -35
  510. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +10 -10
  511. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +13 -13
  512. package/lib/datasource/shared/datasources/osm-datasource.d.ts +9 -9
  513. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +7 -7
  514. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +15 -15
  515. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +14 -14
  516. package/lib/datasource/shared/datasources/tiledebug-datasource.d.ts +9 -9
  517. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +9 -9
  518. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +15 -15
  519. package/lib/datasource/shared/datasources/websocket-datasource.interface.d.ts +7 -7
  520. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +20 -20
  521. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +20 -20
  522. package/lib/datasource/shared/datasources/wfs.service.d.ts +17 -17
  523. package/lib/datasource/shared/datasources/wms-datasource.d.ts +45 -31
  524. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +37 -32
  525. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +41 -41
  526. package/lib/datasource/shared/datasources/wmts-datasource.d.ts +10 -10
  527. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +13 -13
  528. package/lib/datasource/shared/datasources/xyz-datasource.d.ts +9 -9
  529. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +11 -11
  530. package/lib/datasource/shared/index.d.ts +4 -4
  531. package/lib/datasource/shared/options/index.d.ts +4 -4
  532. package/lib/datasource/shared/options/options-api.interface.d.ts +4 -4
  533. package/lib/datasource/shared/options/options-api.providers.d.ts +10 -10
  534. package/lib/datasource/shared/options/options-api.service.d.ts +16 -16
  535. package/lib/datasource/shared/options/options.service.d.ts +6 -6
  536. package/lib/datasource/utils/index.d.ts +1 -1
  537. package/lib/datasource/utils/tilegrid.d.ts +2 -2
  538. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +35 -30
  539. package/lib/directions/directions-buttons/index.d.ts +1 -1
  540. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -45
  541. package/lib/directions/directions-inputs/index.d.ts +1 -1
  542. package/lib/directions/directions-results/directions-results.component.d.ts +30 -30
  543. package/lib/directions/directions-results/directions-results.theming.scss +10 -0
  544. package/lib/directions/directions-results/index.d.ts +1 -1
  545. package/lib/directions/directions-sources/directions-source.d.ts +7 -7
  546. package/lib/directions/directions-sources/directions-source.interface.d.ts +11 -11
  547. package/lib/directions/directions-sources/directions-source.provider.d.ts +11 -11
  548. package/lib/directions/directions-sources/index.d.ts +4 -4
  549. package/lib/directions/directions-sources/osrm-directions-source.d.ts +24 -23
  550. package/lib/directions/directions.component.d.ts +64 -56
  551. package/lib/directions/directions.module.d.ts +27 -26
  552. package/lib/directions/directions.theming.scss +6 -0
  553. package/lib/directions/index.d.ts +6 -6
  554. package/lib/directions/shared/directions-source.service.d.ts +11 -11
  555. package/lib/directions/shared/directions.enum.d.ts +22 -22
  556. package/lib/directions/shared/directions.interface.d.ts +126 -126
  557. package/lib/directions/shared/directions.service.d.ts +28 -13
  558. package/lib/directions/shared/directions.utils.d.ts +42 -42
  559. package/lib/directions/shared/index.d.ts +5 -5
  560. package/lib/directions/shared/store.d.ts +18 -18
  561. package/lib/download/download-button/download-button.component.d.ts +18 -18
  562. package/lib/download/download-button/index.d.ts +1 -1
  563. package/lib/download/download.module.d.ts +14 -14
  564. package/lib/download/index.d.ts +2 -2
  565. package/lib/download/shared/download.interface.d.ts +10 -10
  566. package/lib/download/shared/download.service.d.ts +10 -10
  567. package/lib/download/shared/index.d.ts +2 -2
  568. package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -14
  569. package/lib/draw/draw/draw-popup.component.d.ts +63 -63
  570. package/lib/draw/draw/draw-shorcuts.component.d.ts +5 -5
  571. package/lib/draw/draw/draw.component.d.ts +240 -240
  572. package/lib/draw/draw/draw.module.d.ts +33 -34
  573. package/lib/draw/draw.theming.scss +32 -0
  574. package/lib/draw/drawingTool.module.d.ts +7 -7
  575. package/lib/draw/index.d.ts +2 -2
  576. package/lib/draw/shared/draw-icon.service.d.ts +12 -12
  577. package/lib/draw/shared/draw.enum.d.ts +17 -17
  578. package/lib/draw/shared/draw.interface.d.ts +40 -40
  579. package/lib/draw/shared/draw.utils.d.ts +35 -35
  580. package/lib/draw/shared/index.d.ts +4 -4
  581. package/lib/feature/feature-details/feature-details.component.d.ts +60 -60
  582. package/lib/feature/feature-details/feature-details.directive.d.ts +19 -19
  583. package/lib/feature/feature-details/feature-details.module.d.ts +15 -15
  584. package/lib/feature/feature-details/feature-details.theming.scss +16 -0
  585. package/lib/feature/feature-form/feature-form.component.d.ts +50 -50
  586. package/lib/feature/feature-form/feature-form.module.d.ts +12 -12
  587. package/lib/feature/feature.module.d.ts +9 -9
  588. package/lib/feature/feature.theming.scss +4 -0
  589. package/lib/feature/index.d.ts +3 -3
  590. package/lib/feature/shared/feature-store.utils.d.ts +10 -0
  591. package/lib/feature/shared/feature.enums.d.ts +7 -7
  592. package/lib/feature/shared/feature.interfaces.d.ts +82 -79
  593. package/lib/feature/shared/feature.utils.d.ts +97 -106
  594. package/lib/feature/shared/index.d.ts +7 -6
  595. package/lib/feature/shared/store.d.ts +78 -78
  596. package/lib/feature/shared/strategies/geo-properties.d.ts +61 -0
  597. package/lib/feature/shared/strategies/in-map-extent.d.ts +52 -52
  598. package/lib/feature/shared/strategies/in-map-resolution.d.ts +52 -52
  599. package/lib/feature/shared/strategies/index.d.ts +7 -6
  600. package/lib/feature/shared/strategies/loading-layer.d.ts +59 -59
  601. package/lib/feature/shared/strategies/loading.d.ts +75 -75
  602. package/lib/feature/shared/strategies/search.d.ts +55 -55
  603. package/lib/feature/shared/strategies/selection.d.ts +176 -176
  604. package/lib/feature/shared/strategies.utils.d.ts +17 -17
  605. package/lib/filter/filter.module.d.ts +53 -53
  606. package/lib/filter/filter.theming.scss +16 -0
  607. package/lib/filter/index.d.ts +15 -15
  608. package/lib/filter/ogc-filter-button/index.d.ts +1 -1
  609. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +20 -20
  610. package/lib/filter/ogc-filter-form/index.d.ts +1 -1
  611. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +65 -65
  612. package/lib/filter/ogc-filter-selection/index.d.ts +1 -1
  613. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +93 -93
  614. package/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -0
  615. package/lib/filter/ogc-filter-time/index.d.ts +2 -2
  616. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +39 -39
  617. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.theming.scss +15 -0
  618. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +86 -86
  619. package/lib/filter/ogc-filterable-form/index.d.ts +1 -1
  620. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +15 -15
  621. package/lib/filter/ogc-filterable-item/index.d.ts +1 -1
  622. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +41 -41
  623. package/lib/filter/ogc-filterable-list/index.d.ts +2 -2
  624. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +14 -14
  625. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +10 -10
  626. package/lib/filter/shared/filterable-datasource.pipe.d.ts +10 -10
  627. package/lib/filter/shared/index.d.ts +11 -11
  628. package/lib/filter/shared/ogc-filter-time.service.d.ts +19 -19
  629. package/lib/filter/shared/ogc-filter.d.ts +29 -29
  630. package/lib/filter/shared/ogc-filter.enum.d.ts +27 -27
  631. package/lib/filter/shared/ogc-filter.interface.d.ts +200 -200
  632. package/lib/filter/shared/ogc-filter.service.d.ts +11 -11
  633. package/lib/filter/shared/spatial-filter.enum.d.ts +19 -19
  634. package/lib/filter/shared/spatial-filter.interface.d.ts +10 -10
  635. package/lib/filter/shared/spatial-filter.service.d.ts +37 -37
  636. package/lib/filter/shared/time-filter.enum.d.ts +10 -10
  637. package/lib/filter/shared/time-filter.interface.d.ts +15 -29
  638. package/lib/filter/shared/time-filter.service.d.ts +11 -11
  639. package/lib/filter/spatial-filter/spatial-filter-item/index.d.ts +1 -1
  640. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +166 -166
  641. package/lib/filter/spatial-filter/spatial-filter-list/index.d.ts +1 -1
  642. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +57 -57
  643. package/lib/filter/spatial-filter/spatial-filter-type/index.d.ts +1 -1
  644. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +45 -45
  645. package/lib/filter/time-filter-button/index.d.ts +1 -1
  646. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +20 -20
  647. package/lib/filter/time-filter-form/index.d.ts +1 -1
  648. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +77 -77
  649. package/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -0
  650. package/lib/filter/time-filter-item/index.d.ts +1 -1
  651. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +28 -28
  652. package/lib/filter/time-filter-list/index.d.ts +2 -2
  653. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +14 -14
  654. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +12 -12
  655. package/lib/geo.module.d.ts +29 -29
  656. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +202 -202
  657. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +88 -88
  658. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +19 -19
  659. package/lib/geometry/geometry.module.d.ts +8 -8
  660. package/lib/geometry/index.d.ts +3 -3
  661. package/lib/geometry/shared/controls/draw.d.ts +150 -150
  662. package/lib/geometry/shared/controls/index.d.ts +3 -3
  663. package/lib/geometry/shared/controls/modify.d.ts +228 -228
  664. package/lib/geometry/shared/controls/slice.d.ts +99 -99
  665. package/lib/geometry/shared/geometry.errors.d.ts +11 -11
  666. package/lib/geometry/shared/geometry.interfaces.d.ts +13 -13
  667. package/lib/geometry/shared/geometry.utils.d.ts +45 -45
  668. package/lib/geometry/shared/index.d.ts +4 -4
  669. package/lib/import-export/export-button/export-button.component.d.ts +16 -16
  670. package/lib/import-export/export-button/index.d.ts +1 -1
  671. package/lib/import-export/import-export/import-export.component.d.ts +109 -109
  672. package/lib/import-export/import-export/index.d.ts +1 -1
  673. package/lib/import-export/import-export.module.d.ts +25 -25
  674. package/lib/import-export/index.d.ts +3 -3
  675. package/lib/import-export/shared/drop-geo-file.directive.d.ts +39 -39
  676. package/lib/import-export/shared/export.errors.d.ts +8 -8
  677. package/lib/import-export/shared/export.interface.d.ts +11 -11
  678. package/lib/import-export/shared/export.service.d.ts +30 -30
  679. package/lib/import-export/shared/export.type.d.ts +16 -16
  680. package/lib/import-export/shared/export.utils.d.ts +19 -19
  681. package/lib/import-export/shared/import.errors.d.ts +20 -20
  682. package/lib/import-export/shared/import.interface.d.ts +10 -10
  683. package/lib/import-export/shared/import.service.d.ts +31 -31
  684. package/lib/import-export/shared/import.utils.d.ts +20 -20
  685. package/lib/import-export/shared/index.d.ts +10 -10
  686. package/lib/layer/index.d.ts +9 -9
  687. package/lib/layer/layer-item/index.d.ts +1 -1
  688. package/lib/layer/layer-item/layer-item.component.d.ts +62 -62
  689. package/lib/layer/layer-legend/index.d.ts +1 -1
  690. package/lib/layer/layer-legend/layer-legend.component.d.ts +90 -90
  691. package/lib/layer/layer-legend/layer-legend.theming.scss +10 -0
  692. package/lib/layer/layer-legend-item/index.d.ts +1 -1
  693. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +22 -22
  694. package/lib/layer/layer-legend-list/index.d.ts +2 -2
  695. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +16 -16
  696. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +31 -31
  697. package/lib/layer/layer-list/index.d.ts +3 -3
  698. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +19 -19
  699. package/lib/layer/layer-list/layer-list.component.d.ts +127 -127
  700. package/lib/layer/layer-list/layer-list.enum.d.ts +15 -15
  701. package/lib/layer/layer-list-tool/index.d.ts +4 -4
  702. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +32 -32
  703. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +5 -5
  704. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +8 -8
  705. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +14 -14
  706. package/lib/layer/layer-list-tool/layer-list-tool.theming.scss +22 -0
  707. package/lib/layer/layer.module.d.ts +34 -35
  708. package/lib/layer/layer.theming.scss +24 -0
  709. package/lib/layer/shared/clusterParam.d.ts +13 -13
  710. package/lib/layer/shared/index.d.ts +4 -4
  711. package/lib/layer/shared/layer.enums.d.ts +1 -1
  712. package/lib/layer/shared/layer.service.d.ts +33 -33
  713. package/lib/layer/shared/layers/any-layer.d.ts +6 -6
  714. package/lib/layer/shared/layers/any-layer.interface.d.ts +6 -6
  715. package/lib/layer/shared/layers/image-layer.d.ts +21 -21
  716. package/lib/layer/shared/layers/image-layer.interface.d.ts +19 -19
  717. package/lib/layer/shared/layers/index.d.ts +12 -12
  718. package/lib/layer/shared/layers/layer.d.ts +66 -66
  719. package/lib/layer/shared/layers/layer.interface.d.ts +90 -109
  720. package/lib/layer/shared/layers/legend.interface.d.ts +22 -0
  721. package/lib/layer/shared/layers/tile-layer.d.ts +31 -31
  722. package/lib/layer/shared/layers/tile-layer.interface.d.ts +20 -20
  723. package/lib/layer/shared/layers/vector-layer.d.ts +94 -94
  724. package/lib/layer/shared/layers/vector-layer.interface.d.ts +42 -42
  725. package/lib/layer/shared/layers/vectortile-layer.d.ts +28 -28
  726. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +16 -16
  727. package/lib/layer/track-feature-button/index.d.ts +1 -1
  728. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +15 -15
  729. package/lib/layer/utils/image-watcher.d.ts +16 -16
  730. package/lib/layer/utils/index.d.ts +5 -5
  731. package/lib/layer/utils/layer.utils.d.ts +2 -2
  732. package/lib/layer/utils/outputLegend.d.ts +7 -7
  733. package/lib/layer/utils/tile-watcher.d.ts +14 -14
  734. package/lib/layer/utils/vector-watcher.d.ts +13 -13
  735. package/lib/map/baselayers-switcher/baselayers-switcher.animation.d.ts +2 -2
  736. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +22 -21
  737. package/lib/map/baselayers-switcher/index.d.ts +2 -2
  738. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +29 -29
  739. package/lib/map/geolocate-button/geolocate-button.component.d.ts +22 -22
  740. package/lib/map/geolocate-button/index.d.ts +1 -1
  741. package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -20
  742. package/lib/map/home-extent-button/index.d.ts +1 -1
  743. package/lib/map/index.d.ts +13 -13
  744. package/lib/map/info-section/index.d.ts +1 -1
  745. package/lib/map/info-section/info-section.component.d.ts +7 -7
  746. package/lib/map/map-browser/index.d.ts +1 -1
  747. package/lib/map/map-browser/map-browser.component.d.ts +25 -25
  748. package/lib/map/map-browser/map-browser.theming.scss +46 -0
  749. package/lib/map/map-center/index.d.ts +1 -1
  750. package/lib/map/map-center/map-center.component.d.ts +31 -31
  751. package/lib/map/map.module.d.ts +28 -28
  752. package/lib/map/map.theming.scss +9 -0
  753. package/lib/map/menu-button/index.d.ts +1 -1
  754. package/lib/map/menu-button/menu-button.component.d.ts +17 -17
  755. package/lib/map/menu-button/menu-button.theming.scss +20 -0
  756. package/lib/map/offline-button/index.d.ts +1 -1
  757. package/lib/map/offline-button/offline-button.component.d.ts +15 -15
  758. package/lib/map/rotation-button/index.d.ts +1 -1
  759. package/lib/map/rotation-button/rotation-button.component.d.ts +17 -17
  760. package/lib/map/shared/controllers/controller.d.ts +29 -29
  761. package/lib/map/shared/controllers/geolocation.d.ts +95 -127
  762. package/lib/map/shared/controllers/geolocation.interface.d.ts +30 -0
  763. package/lib/map/shared/controllers/index.d.ts +4 -3
  764. package/lib/map/shared/controllers/view.d.ts +200 -200
  765. package/lib/map/shared/hover-feature.directive.d.ts +124 -124
  766. package/lib/map/shared/index.d.ts +14 -13
  767. package/lib/map/shared/linkedLayers.utils.d.ts +17 -17
  768. package/lib/map/shared/map-pointer-position.directive.d.ts +71 -71
  769. package/lib/map/shared/map.abstract.d.ts +59 -0
  770. package/lib/map/shared/map.d.ts +140 -135
  771. package/lib/map/shared/map.enums.d.ts +4 -4
  772. package/lib/map/shared/map.interface.d.ts +57 -57
  773. package/lib/map/shared/map.service.d.ts +19 -19
  774. package/lib/map/shared/map.utils.d.ts +90 -90
  775. package/lib/map/shared/mapOffline.directive.d.ts +18 -18
  776. package/lib/map/shared/projection.interfaces.d.ts +29 -29
  777. package/lib/map/shared/projection.service.d.ts +19 -19
  778. package/lib/map/shared/projection.utils.d.ts +19 -19
  779. package/lib/map/swipe-control/index.d.ts +1 -1
  780. package/lib/map/swipe-control/swipe-control.component.d.ts +97 -97
  781. package/lib/map/utils/layer-watcher.d.ts +20 -20
  782. package/lib/map/wake-lock-button/index.d.ts +1 -1
  783. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +27 -27
  784. package/lib/map/zoom-button/index.d.ts +1 -1
  785. package/lib/map/zoom-button/zoom-button.component.d.ts +12 -12
  786. package/lib/map/zoom-button/zoom-button.theming.scss +32 -0
  787. package/lib/measure/index.d.ts +3 -3
  788. package/lib/measure/measure.module.d.ts +7 -7
  789. package/lib/measure/measure.theming.scss +5 -0
  790. package/lib/measure/measurer/measure-format.pipe.d.ts +15 -15
  791. package/lib/measure/measurer/measurer-dialog.component.d.ts +14 -14
  792. package/lib/measure/measurer/measurer-item.component.d.ts +66 -66
  793. package/lib/measure/measurer/measurer.component.d.ts +405 -405
  794. package/lib/measure/measurer/measurer.module.d.ts +26 -25
  795. package/lib/measure/measurer/measurer.theming.scss +26 -0
  796. package/lib/measure/shared/index.d.ts +3 -3
  797. package/lib/measure/shared/measure.enum.d.ts +33 -33
  798. package/lib/measure/shared/measure.interfaces.d.ts +21 -21
  799. package/lib/measure/shared/measure.utils.d.ts +180 -180
  800. package/lib/metadata/index.d.ts +2 -2
  801. package/lib/metadata/metadata-button/index.d.ts +1 -1
  802. package/lib/metadata/metadata-button/metadata-button.component.d.ts +26 -26
  803. package/lib/metadata/metadata.module.d.ts +15 -15
  804. package/lib/metadata/shared/index.d.ts +2 -2
  805. package/lib/metadata/shared/metadata.interface.d.ts +13 -13
  806. package/lib/metadata/shared/metadata.service.d.ts +8 -8
  807. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +14 -14
  808. package/lib/offline/geoDB/geoDB.enums.d.ts +4 -4
  809. package/lib/offline/geoDB/geoDB.interface.d.ts +19 -19
  810. package/lib/offline/geoDB/geoDB.service.d.ts +37 -37
  811. package/lib/offline/geoDB/index.d.ts +4 -4
  812. package/lib/offline/index.d.ts +3 -3
  813. package/lib/offline/layerDB/index.d.ts +2 -2
  814. package/lib/offline/layerDB/layerDB.interface.d.ts +7 -7
  815. package/lib/offline/layerDB/layerDB.service.d.ts +36 -36
  816. package/lib/offline/shared/geo-network.service.d.ts +28 -28
  817. package/lib/offline/shared/index.d.ts +1 -1
  818. package/lib/overlay/index.d.ts +1 -1
  819. package/lib/overlay/overlay.module.d.ts +9 -9
  820. package/lib/overlay/shared/index.d.ts +5 -5
  821. package/lib/overlay/shared/overlay.d.ts +81 -81
  822. package/lib/overlay/shared/overlay.directive.d.ts +18 -18
  823. package/lib/overlay/shared/overlay.enum.d.ts +6 -6
  824. package/lib/overlay/shared/overlay.service.d.ts +14 -14
  825. package/lib/overlay/shared/overlay.utils.d.ts +6 -6
  826. package/lib/print/index.d.ts +3 -3
  827. package/lib/print/print/print.component.d.ts +35 -35
  828. package/lib/print/print-form/index.d.ts +1 -1
  829. package/lib/print/print-form/print-form.component.d.ts +99 -99
  830. package/lib/print/print.module.d.ts +19 -19
  831. package/lib/print/shared/geopdf.d.ts +1 -1
  832. package/lib/print/shared/index.d.ts +4 -4
  833. package/lib/print/shared/print.interface.d.ts +22 -22
  834. package/lib/print/shared/print.service.d.ts +171 -174
  835. package/lib/print/shared/print.type.d.ts +45 -45
  836. package/lib/query/index.d.ts +1 -1
  837. package/lib/query/query.module.d.ts +11 -11
  838. package/lib/query/shared/index.d.ts +6 -6
  839. package/lib/query/shared/query-search-source.d.ts +17 -17
  840. package/lib/query/shared/query-search-source.providers.d.ts +17 -17
  841. package/lib/query/shared/query.directive.d.ts +105 -105
  842. package/lib/query/shared/query.enums.d.ts +26 -26
  843. package/lib/query/shared/query.interfaces.d.ts +35 -35
  844. package/lib/query/shared/query.service.d.ts +56 -56
  845. package/lib/query/shared/query.utils.d.ts +27 -27
  846. package/lib/search/index.d.ts +11 -11
  847. package/lib/search/search-bar/search-bar.component.d.ts +231 -230
  848. package/lib/search/search-bar/search-bar.module.d.ts +24 -23
  849. package/lib/search/search-bar/search-bar.theming.scss +36 -0
  850. package/lib/search/search-bar/search-url-param.directive.d.ts +13 -13
  851. package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -32
  852. package/lib/search/search-results/search-results-add-button.component.d.ts +84 -84
  853. package/lib/search/search-results/search-results-item.component.d.ts +52 -52
  854. package/lib/search/search-results/search-results.component.d.ts +165 -165
  855. package/lib/search/search-results/search-results.module.d.ts +29 -29
  856. package/lib/search/search-selector/search-selector.component.d.ts +58 -58
  857. package/lib/search/search-selector/search-selector.module.d.ts +19 -19
  858. package/lib/search/search-settings/search-settings.component.d.ts +102 -102
  859. package/lib/search/search-settings/search-settings.module.d.ts +20 -20
  860. package/lib/search/search.module.d.ts +14 -14
  861. package/lib/search/search.theming.scss +5 -0
  862. package/lib/search/shared/index.d.ts +8 -8
  863. package/lib/search/shared/search-pointer-summary.directive.d.ts +125 -124
  864. package/lib/search/shared/search-source-service.providers.d.ts +15 -15
  865. package/lib/search/shared/search-source.service.d.ts +39 -39
  866. package/lib/search/shared/search.enums.d.ts +1 -1
  867. package/lib/search/shared/search.interfaces.d.ts +54 -29
  868. package/lib/search/shared/search.service.d.ts +53 -53
  869. package/lib/search/shared/search.utils.d.ts +39 -39
  870. package/lib/search/shared/sources/cadastre.d.ts +34 -33
  871. package/lib/search/shared/sources/cadastre.providers.d.ts +18 -18
  872. package/lib/search/shared/sources/coordinates.d.ts +40 -40
  873. package/lib/search/shared/sources/coordinates.interfaces.d.ts +12 -12
  874. package/lib/search/shared/sources/coordinates.providers.d.ts +31 -31
  875. package/lib/search/shared/sources/icherche.d.ts +98 -96
  876. package/lib/search/shared/sources/icherche.interfaces.d.ts +30 -30
  877. package/lib/search/shared/sources/icherche.providers.d.ts +46 -46
  878. package/lib/search/shared/sources/ilayer.d.ts +56 -55
  879. package/lib/search/shared/sources/ilayer.interfaces.d.ts +47 -47
  880. package/lib/search/shared/sources/ilayer.providers.d.ts +31 -31
  881. package/lib/search/shared/sources/index.d.ts +22 -22
  882. package/lib/search/shared/sources/nominatim.d.ts +46 -45
  883. package/lib/search/shared/sources/nominatim.interfaces.d.ts +10 -10
  884. package/lib/search/shared/sources/nominatim.providers.d.ts +18 -18
  885. package/lib/search/shared/sources/source.d.ts +86 -114
  886. package/lib/search/shared/sources/source.interfaces.d.ts +54 -47
  887. package/lib/search/shared/sources/storedqueries.d.ts +75 -73
  888. package/lib/search/shared/sources/storedqueries.interfaces.d.ts +42 -42
  889. package/lib/search/shared/sources/storedqueries.providers.d.ts +32 -32
  890. package/lib/search/shared/sources/workspace.d.ts +33 -33
  891. package/lib/search/shared/sources/workspace.interfaces.d.ts +9 -9
  892. package/lib/search/shared/sources/workspace.providers.d.ts +17 -17
  893. package/lib/style/index.d.ts +4 -4
  894. package/lib/style/shared/datasource/esri-style-generator.d.ts +21 -21
  895. package/lib/style/shared/datasource/index.d.ts +1 -1
  896. package/lib/style/shared/feature/feature-style.d.ts +18 -18
  897. package/lib/style/shared/feature/index.d.ts +1 -1
  898. package/lib/style/shared/font.enum.d.ts +15 -15
  899. package/lib/style/shared/index.d.ts +4 -4
  900. package/lib/style/shared/overlay/index.d.ts +2 -2
  901. package/lib/style/shared/overlay/overlay-marker-style.utils.d.ts +11 -11
  902. package/lib/style/shared/overlay/overlay-style.utils.d.ts +19 -19
  903. package/lib/style/shared/vector/commonVectorStyle.d.ts +14 -14
  904. package/lib/style/shared/vector/conversion.utils.d.ts +22 -22
  905. package/lib/style/shared/vector/index.d.ts +3 -3
  906. package/lib/style/shared/vector/vector-style.interface.d.ts +69 -69
  907. package/lib/style/style-list/index.d.ts +4 -4
  908. package/lib/style/style-list/style-list.interface.d.ts +6 -6
  909. package/lib/style/style-list/style-list.module.d.ts +8 -8
  910. package/lib/style/style-list/style-list.provider.d.ts +15 -15
  911. package/lib/style/style-list/style-list.service.d.ts +18 -18
  912. package/lib/style/style-modal/drawing/index.d.ts +1 -1
  913. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +33 -31
  914. package/lib/style/style-modal/index.d.ts +4 -4
  915. package/lib/style/style-modal/layer/index.d.ts +1 -1
  916. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +32 -30
  917. package/lib/style/style-modal/layer-button/index.d.ts +1 -1
  918. package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +14 -14
  919. package/lib/style/style-modal/shared/index.d.ts +1 -1
  920. package/lib/style/style-modal/shared/style-modal.interface.d.ts +17 -17
  921. package/lib/style/style-service/draw-style.service.d.ts +35 -35
  922. package/lib/style/style-service/index.d.ts +2 -2
  923. package/lib/style/style-service/style.service.d.ts +57 -57
  924. package/lib/style/style.module.d.ts +23 -22
  925. package/lib/toast/index.d.ts +1 -1
  926. package/lib/toast/toast.component.d.ts +33 -33
  927. package/lib/toast/toast.module.d.ts +14 -14
  928. package/lib/utils/googleLinks.d.ts +5 -5
  929. package/lib/utils/id-generator.d.ts +54 -54
  930. package/lib/utils/index.d.ts +4 -3
  931. package/lib/utils/osmLinks.d.ts +4 -4
  932. package/lib/utils/propertyTypeDetector/index.d.ts +2 -0
  933. package/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.d.ts +5 -0
  934. package/lib/utils/propertyTypeDetector/propertyTypeDetector.service.d.ts +15 -0
  935. package/lib/wkt/index.d.ts +1 -1
  936. package/lib/wkt/shared/index.d.ts +1 -1
  937. package/lib/wkt/shared/wkt.service.d.ts +19 -19
  938. package/lib/wkt/wkt.module.d.ts +8 -8
  939. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -23
  940. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -14
  941. package/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -0
  942. package/lib/workspace/confirmation-popup/index.d.ts +2 -2
  943. package/lib/workspace/index.d.ts +7 -7
  944. package/lib/workspace/shared/edition-workspace.d.ts +84 -82
  945. package/lib/workspace/shared/edition-workspace.service.d.ts +50 -51
  946. package/lib/workspace/shared/feature-workspace.d.ts +18 -18
  947. package/lib/workspace/shared/feature-workspace.service.d.ts +22 -19
  948. package/lib/workspace/shared/index.d.ts +7 -7
  949. package/lib/workspace/shared/wfs-workspace.d.ts +18 -18
  950. package/lib/workspace/shared/wfs-workspace.service.d.ts +22 -19
  951. package/lib/workspace/shared/wms-workspace.service.d.ts +24 -22
  952. package/lib/workspace/shared/workspace.utils.d.ts +23 -10
  953. package/lib/workspace/widgets/index.d.ts +3 -3
  954. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +29 -29
  955. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +14 -14
  956. package/lib/workspace/widgets/widgets.d.ts +9 -9
  957. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +32 -32
  958. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +11 -11
  959. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +26 -26
  960. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +11 -11
  961. package/lib/workspace/workspace.module.d.ts +14 -14
  962. package/lib/workspace/workspace.theming.scss +6 -0
  963. package/locale/en.geo.json +808 -0
  964. package/locale/fr.geo.json +809 -0
  965. package/package.json +38 -38
  966. package/public_api.d.ts +53 -53
  967. package/style/style.css +350 -0
  968. package/esm2020/igo2-geo.mjs +0 -5
  969. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +0 -303
  970. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +0 -306
  971. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +0 -250
  972. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +0 -80
  973. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +0 -209
  974. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +0 -79
  975. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +0 -212
  976. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +0 -95
  977. package/esm2020/lib/catalog/catalog.module.mjs +0 -53
  978. package/esm2020/lib/catalog/index.mjs +0 -5
  979. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +0 -95
  980. package/esm2020/lib/catalog/shared/catalog.enum.mjs +0 -16
  981. package/esm2020/lib/catalog/shared/catalog.interface.mjs +0 -2
  982. package/esm2020/lib/catalog/shared/catalog.service.mjs +0 -604
  983. package/esm2020/lib/catalog/shared/index.mjs +0 -5
  984. package/esm2020/lib/datasource/datasource.module.mjs +0 -22
  985. package/esm2020/lib/datasource/index.mjs +0 -3
  986. package/esm2020/lib/datasource/shared/capabilities.service.mjs +0 -431
  987. package/esm2020/lib/datasource/shared/datasource.service.mjs +0 -232
  988. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +0 -2
  989. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +0 -2
  990. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +0 -2
  991. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +0 -145
  992. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +0 -2
  993. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +0 -109
  994. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +0 -2
  995. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +0 -15
  996. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +0 -3
  997. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +0 -2
  998. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +0 -29
  999. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +0 -2
  1000. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +0 -43
  1001. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +0 -2
  1002. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +0 -57
  1003. package/esm2020/lib/datasource/shared/datasources/index.mjs +0 -36
  1004. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +0 -2
  1005. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +0 -28
  1006. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +0 -2
  1007. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +0 -12
  1008. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +0 -2
  1009. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +0 -49
  1010. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +0 -2
  1011. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +0 -15
  1012. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +0 -2
  1013. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +0 -54
  1014. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +0 -2
  1015. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +0 -72
  1016. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +0 -152
  1017. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +0 -2
  1018. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +0 -206
  1019. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +0 -207
  1020. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +0 -2
  1021. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +0 -16
  1022. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +0 -2
  1023. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +0 -9
  1024. package/esm2020/lib/datasource/shared/index.mjs +0 -5
  1025. package/esm2020/lib/datasource/shared/options/index.mjs +0 -5
  1026. package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +0 -2
  1027. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +0 -15
  1028. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +0 -81
  1029. package/esm2020/lib/datasource/shared/options/options.service.mjs +0 -3
  1030. package/esm2020/lib/datasource/utils/index.mjs +0 -2
  1031. package/esm2020/lib/datasource/utils/tilegrid.mjs +0 -20
  1032. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +0 -218
  1033. package/esm2020/lib/directions/directions-buttons/index.mjs +0 -2
  1034. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +0 -290
  1035. package/esm2020/lib/directions/directions-inputs/index.mjs +0 -2
  1036. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +0 -196
  1037. package/esm2020/lib/directions/directions-results/index.mjs +0 -2
  1038. package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +0 -2
  1039. package/esm2020/lib/directions/directions-sources/directions-source.mjs +0 -3
  1040. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +0 -16
  1041. package/esm2020/lib/directions/directions-sources/index.mjs +0 -5
  1042. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +0 -99
  1043. package/esm2020/lib/directions/directions.component.mjs +0 -311
  1044. package/esm2020/lib/directions/directions.module.mjs +0 -102
  1045. package/esm2020/lib/directions/index.mjs +0 -7
  1046. package/esm2020/lib/directions/shared/directions-source.service.mjs +0 -17
  1047. package/esm2020/lib/directions/shared/directions.enum.mjs +0 -28
  1048. package/esm2020/lib/directions/shared/directions.interface.mjs +0 -2
  1049. package/esm2020/lib/directions/shared/directions.service.mjs +0 -29
  1050. package/esm2020/lib/directions/shared/directions.utils.mjs +0 -509
  1051. package/esm2020/lib/directions/shared/index.mjs +0 -6
  1052. package/esm2020/lib/directions/shared/store.mjs +0 -24
  1053. package/esm2020/lib/download/download-button/download-button.component.mjs +0 -61
  1054. package/esm2020/lib/download/download-button/index.mjs +0 -2
  1055. package/esm2020/lib/download/download.module.mjs +0 -42
  1056. package/esm2020/lib/download/index.mjs +0 -3
  1057. package/esm2020/lib/download/shared/download.interface.mjs +0 -2
  1058. package/esm2020/lib/download/shared/download.service.mjs +0 -62
  1059. package/esm2020/lib/download/shared/index.mjs +0 -3
  1060. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +0 -55
  1061. package/esm2020/lib/draw/draw/draw-popup.component.mjs +0 -591
  1062. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +0 -48
  1063. package/esm2020/lib/draw/draw/draw.component.mjs +0 -1300
  1064. package/esm2020/lib/draw/draw/draw.module.mjs +0 -113
  1065. package/esm2020/lib/draw/drawingTool.module.mjs +0 -20
  1066. package/esm2020/lib/draw/index.mjs +0 -3
  1067. package/esm2020/lib/draw/shared/draw-icon.service.mjs +0 -27
  1068. package/esm2020/lib/draw/shared/draw.enum.mjs +0 -21
  1069. package/esm2020/lib/draw/shared/draw.interface.mjs +0 -2
  1070. package/esm2020/lib/draw/shared/draw.utils.mjs +0 -122
  1071. package/esm2020/lib/draw/shared/index.mjs +0 -5
  1072. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +0 -404
  1073. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +0 -54
  1074. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +0 -48
  1075. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +0 -112
  1076. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +0 -34
  1077. package/esm2020/lib/feature/feature.module.mjs +0 -28
  1078. package/esm2020/lib/feature/index.mjs +0 -4
  1079. package/esm2020/lib/feature/shared/feature.enums.mjs +0 -9
  1080. package/esm2020/lib/feature/shared/feature.interfaces.mjs +0 -2
  1081. package/esm2020/lib/feature/shared/feature.utils.mjs +0 -349
  1082. package/esm2020/lib/feature/shared/index.mjs +0 -7
  1083. package/esm2020/lib/feature/shared/store.mjs +0 -133
  1084. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +0 -113
  1085. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +0 -94
  1086. package/esm2020/lib/feature/shared/strategies/index.mjs +0 -7
  1087. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +0 -104
  1088. package/esm2020/lib/feature/shared/strategies/loading.mjs +0 -133
  1089. package/esm2020/lib/feature/shared/strategies/search.mjs +0 -150
  1090. package/esm2020/lib/feature/shared/strategies/selection.mjs +0 -370
  1091. package/esm2020/lib/feature/shared/strategies.utils.mjs +0 -37
  1092. package/esm2020/lib/filter/filter.module.mjs +0 -289
  1093. package/esm2020/lib/filter/index.mjs +0 -16
  1094. package/esm2020/lib/filter/ogc-filter-button/index.mjs +0 -2
  1095. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +0 -140
  1096. package/esm2020/lib/filter/ogc-filter-form/index.mjs +0 -2
  1097. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +0 -645
  1098. package/esm2020/lib/filter/ogc-filter-selection/index.mjs +0 -2
  1099. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +0 -1302
  1100. package/esm2020/lib/filter/ogc-filter-time/index.mjs +0 -3
  1101. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +0 -177
  1102. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +0 -898
  1103. package/esm2020/lib/filter/ogc-filterable-form/index.mjs +0 -2
  1104. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +0 -59
  1105. package/esm2020/lib/filter/ogc-filterable-item/index.mjs +0 -2
  1106. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +0 -307
  1107. package/esm2020/lib/filter/ogc-filterable-list/index.mjs +0 -3
  1108. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +0 -31
  1109. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +0 -44
  1110. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +0 -55
  1111. package/esm2020/lib/filter/shared/index.mjs +0 -12
  1112. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +0 -72
  1113. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +0 -30
  1114. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +0 -2
  1115. package/esm2020/lib/filter/shared/ogc-filter.mjs +0 -692
  1116. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +0 -46
  1117. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +0 -23
  1118. package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +0 -2
  1119. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +0 -269
  1120. package/esm2020/lib/filter/shared/time-filter.enum.mjs +0 -13
  1121. package/esm2020/lib/filter/shared/time-filter.interface.mjs +0 -2
  1122. package/esm2020/lib/filter/shared/time-filter.service.mjs +0 -107
  1123. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +0 -2
  1124. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +0 -1089
  1125. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +0 -2
  1126. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +0 -207
  1127. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +0 -2
  1128. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +0 -144
  1129. package/esm2020/lib/filter/time-filter-button/index.mjs +0 -2
  1130. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +0 -78
  1131. package/esm2020/lib/filter/time-filter-form/index.mjs +0 -2
  1132. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +0 -734
  1133. package/esm2020/lib/filter/time-filter-item/index.mjs +0 -2
  1134. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +0 -119
  1135. package/esm2020/lib/filter/time-filter-list/index.mjs +0 -3
  1136. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +0 -31
  1137. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +0 -39
  1138. package/esm2020/lib/geo.module.mjs +0 -106
  1139. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +0 -522
  1140. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +0 -189
  1141. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +0 -64
  1142. package/esm2020/lib/geometry/geometry.module.mjs +0 -27
  1143. package/esm2020/lib/geometry/index.mjs +0 -4
  1144. package/esm2020/lib/geometry/shared/controls/draw.mjs +0 -314
  1145. package/esm2020/lib/geometry/shared/controls/index.mjs +0 -4
  1146. package/esm2020/lib/geometry/shared/controls/modify.mjs +0 -521
  1147. package/esm2020/lib/geometry/shared/controls/slice.mjs +0 -177
  1148. package/esm2020/lib/geometry/shared/geometry.errors.mjs +0 -26
  1149. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +0 -2
  1150. package/esm2020/lib/geometry/shared/geometry.utils.mjs +0 -122
  1151. package/esm2020/lib/geometry/shared/index.mjs +0 -5
  1152. package/esm2020/lib/import-export/export-button/export-button.component.mjs +0 -64
  1153. package/esm2020/lib/import-export/export-button/index.mjs +0 -2
  1154. package/esm2020/lib/import-export/import-export/import-export.component.mjs +0 -1228
  1155. package/esm2020/lib/import-export/import-export/index.mjs +0 -2
  1156. package/esm2020/lib/import-export/import-export.module.mjs +0 -92
  1157. package/esm2020/lib/import-export/index.mjs +0 -4
  1158. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +0 -152
  1159. package/esm2020/lib/import-export/shared/export.errors.mjs +0 -15
  1160. package/esm2020/lib/import-export/shared/export.interface.mjs +0 -2
  1161. package/esm2020/lib/import-export/shared/export.service.mjs +0 -195
  1162. package/esm2020/lib/import-export/shared/export.type.mjs +0 -4
  1163. package/esm2020/lib/import-export/shared/export.utils.mjs +0 -46
  1164. package/esm2020/lib/import-export/shared/import.errors.mjs +0 -39
  1165. package/esm2020/lib/import-export/shared/import.interface.mjs +0 -2
  1166. package/esm2020/lib/import-export/shared/import.service.mjs +0 -215
  1167. package/esm2020/lib/import-export/shared/import.utils.mjs +0 -202
  1168. package/esm2020/lib/import-export/shared/index.mjs +0 -11
  1169. package/esm2020/lib/layer/index.mjs +0 -10
  1170. package/esm2020/lib/layer/layer-item/index.mjs +0 -2
  1171. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +0 -300
  1172. package/esm2020/lib/layer/layer-legend/index.mjs +0 -2
  1173. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +0 -388
  1174. package/esm2020/lib/layer/layer-legend-item/index.mjs +0 -2
  1175. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +0 -84
  1176. package/esm2020/lib/layer/layer-legend-list/index.mjs +0 -3
  1177. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +0 -48
  1178. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +0 -195
  1179. package/esm2020/lib/layer/layer-list/index.mjs +0 -4
  1180. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -59
  1181. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +0 -1009
  1182. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +0 -19
  1183. package/esm2020/lib/layer/layer-list-tool/index.mjs +0 -5
  1184. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +0 -165
  1185. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
  1186. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +0 -2
  1187. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +0 -22
  1188. package/esm2020/lib/layer/layer.module.mjs +0 -180
  1189. package/esm2020/lib/layer/shared/clusterParam.mjs +0 -2
  1190. package/esm2020/lib/layer/shared/index.mjs +0 -5
  1191. package/esm2020/lib/layer/shared/layer.enums.mjs +0 -2
  1192. package/esm2020/lib/layer/shared/layer.service.mjs +0 -237
  1193. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +0 -2
  1194. package/esm2020/lib/layer/shared/layers/any-layer.mjs +0 -2
  1195. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +0 -2
  1196. package/esm2020/lib/layer/shared/layers/image-layer.mjs +0 -67
  1197. package/esm2020/lib/layer/shared/layers/index.mjs +0 -13
  1198. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +0 -17
  1199. package/esm2020/lib/layer/shared/layers/layer.mjs +0 -166
  1200. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +0 -2
  1201. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +0 -47
  1202. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +0 -2
  1203. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +0 -527
  1204. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +0 -2
  1205. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +0 -104
  1206. package/esm2020/lib/layer/track-feature-button/index.mjs +0 -2
  1207. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +0 -59
  1208. package/esm2020/lib/layer/utils/image-watcher.mjs +0 -59
  1209. package/esm2020/lib/layer/utils/index.mjs +0 -6
  1210. package/esm2020/lib/layer/utils/layer.utils.mjs +0 -10
  1211. package/esm2020/lib/layer/utils/outputLegend.mjs +0 -28
  1212. package/esm2020/lib/layer/utils/tile-watcher.mjs +0 -50
  1213. package/esm2020/lib/layer/utils/vector-watcher.mjs +0 -48
  1214. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +0 -20
  1215. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +0 -97
  1216. package/esm2020/lib/map/baselayers-switcher/index.mjs +0 -3
  1217. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +0 -142
  1218. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +0 -79
  1219. package/esm2020/lib/map/geolocate-button/index.mjs +0 -2
  1220. package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +0 -63
  1221. package/esm2020/lib/map/home-extent-button/index.mjs +0 -2
  1222. package/esm2020/lib/map/index.mjs +0 -14
  1223. package/esm2020/lib/map/info-section/index.mjs +0 -2
  1224. package/esm2020/lib/map/info-section/info-section.component.mjs +0 -30
  1225. package/esm2020/lib/map/map-browser/index.mjs +0 -2
  1226. package/esm2020/lib/map/map-browser/map-browser.component.mjs +0 -66
  1227. package/esm2020/lib/map/map-center/index.mjs +0 -2
  1228. package/esm2020/lib/map/map-center/map-center.component.mjs +0 -50
  1229. package/esm2020/lib/map/map.module.mjs +0 -127
  1230. package/esm2020/lib/map/menu-button/index.mjs +0 -2
  1231. package/esm2020/lib/map/menu-button/menu-button.component.mjs +0 -62
  1232. package/esm2020/lib/map/offline-button/index.mjs +0 -2
  1233. package/esm2020/lib/map/offline-button/offline-button.component.mjs +0 -53
  1234. package/esm2020/lib/map/rotation-button/index.mjs +0 -2
  1235. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +0 -70
  1236. package/esm2020/lib/map/shared/controllers/controller.mjs +0 -42
  1237. package/esm2020/lib/map/shared/controllers/geolocation.mjs +0 -423
  1238. package/esm2020/lib/map/shared/controllers/index.mjs +0 -4
  1239. package/esm2020/lib/map/shared/controllers/view.mjs +0 -351
  1240. package/esm2020/lib/map/shared/hover-feature.directive.mjs +0 -454
  1241. package/esm2020/lib/map/shared/index.mjs +0 -14
  1242. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +0 -240
  1243. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +0 -107
  1244. package/esm2020/lib/map/shared/map.enums.mjs +0 -6
  1245. package/esm2020/lib/map/shared/map.interface.mjs +0 -2
  1246. package/esm2020/lib/map/shared/map.mjs +0 -409
  1247. package/esm2020/lib/map/shared/map.service.mjs +0 -29
  1248. package/esm2020/lib/map/shared/map.utils.mjs +0 -463
  1249. package/esm2020/lib/map/shared/mapOffline.directive.mjs +0 -98
  1250. package/esm2020/lib/map/shared/projection.interfaces.mjs +0 -2
  1251. package/esm2020/lib/map/shared/projection.service.mjs +0 -65
  1252. package/esm2020/lib/map/shared/projection.utils.mjs +0 -64
  1253. package/esm2020/lib/map/swipe-control/index.mjs +0 -2
  1254. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +0 -193
  1255. package/esm2020/lib/map/utils/layer-watcher.mjs +0 -79
  1256. package/esm2020/lib/map/wake-lock-button/index.mjs +0 -2
  1257. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +0 -103
  1258. package/esm2020/lib/map/zoom-button/index.mjs +0 -2
  1259. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +0 -40
  1260. package/esm2020/lib/measure/index.mjs +0 -4
  1261. package/esm2020/lib/measure/measure.module.mjs +0 -20
  1262. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +0 -37
  1263. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +0 -180
  1264. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +0 -140
  1265. package/esm2020/lib/measure/measurer/measurer.component.mjs +0 -1042
  1266. package/esm2020/lib/measure/measurer/measurer.module.mjs +0 -94
  1267. package/esm2020/lib/measure/shared/index.mjs +0 -4
  1268. package/esm2020/lib/measure/shared/measure.enum.mjs +0 -37
  1269. package/esm2020/lib/measure/shared/measure.interfaces.mjs +0 -2
  1270. package/esm2020/lib/measure/shared/measure.utils.mjs +0 -489
  1271. package/esm2020/lib/metadata/index.mjs +0 -3
  1272. package/esm2020/lib/metadata/metadata-button/index.mjs +0 -2
  1273. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +0 -134
  1274. package/esm2020/lib/metadata/metadata.module.mjs +0 -55
  1275. package/esm2020/lib/metadata/shared/index.mjs +0 -3
  1276. package/esm2020/lib/metadata/shared/metadata.interface.mjs +0 -2
  1277. package/esm2020/lib/metadata/shared/metadata.service.mjs +0 -19
  1278. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +0 -105
  1279. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +0 -6
  1280. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +0 -2
  1281. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +0 -167
  1282. package/esm2020/lib/offline/geoDB/index.mjs +0 -5
  1283. package/esm2020/lib/offline/index.mjs +0 -4
  1284. package/esm2020/lib/offline/layerDB/index.mjs +0 -3
  1285. package/esm2020/lib/offline/layerDB/layerDB.interface.mjs +0 -2
  1286. package/esm2020/lib/offline/layerDB/layerDB.service.mjs +0 -76
  1287. package/esm2020/lib/offline/shared/geo-network.service.mjs +0 -66
  1288. package/esm2020/lib/offline/shared/index.mjs +0 -2
  1289. package/esm2020/lib/overlay/index.mjs +0 -2
  1290. package/esm2020/lib/overlay/overlay.module.mjs +0 -23
  1291. package/esm2020/lib/overlay/shared/index.mjs +0 -6
  1292. package/esm2020/lib/overlay/shared/overlay.directive.mjs +0 -33
  1293. package/esm2020/lib/overlay/shared/overlay.enum.mjs +0 -8
  1294. package/esm2020/lib/overlay/shared/overlay.mjs +0 -130
  1295. package/esm2020/lib/overlay/shared/overlay.service.mjs +0 -27
  1296. package/esm2020/lib/overlay/shared/overlay.utils.mjs +0 -17
  1297. package/esm2020/lib/print/index.mjs +0 -4
  1298. package/esm2020/lib/print/print/print.component.mjs +0 -112
  1299. package/esm2020/lib/print/print-form/index.mjs +0 -2
  1300. package/esm2020/lib/print/print-form/print-form.component.mjs +0 -514
  1301. package/esm2020/lib/print/print.module.mjs +0 -65
  1302. package/esm2020/lib/print/shared/geopdf.mjs +0 -58
  1303. package/esm2020/lib/print/shared/index.mjs +0 -5
  1304. package/esm2020/lib/print/shared/print.interface.mjs +0 -2
  1305. package/esm2020/lib/print/shared/print.service.mjs +0 -984
  1306. package/esm2020/lib/print/shared/print.type.mjs +0 -30
  1307. package/esm2020/lib/query/index.mjs +0 -2
  1308. package/esm2020/lib/query/query.module.mjs +0 -29
  1309. package/esm2020/lib/query/shared/index.mjs +0 -7
  1310. package/esm2020/lib/query/shared/query-search-source.mjs +0 -35
  1311. package/esm2020/lib/query/shared/query-search-source.providers.mjs +0 -22
  1312. package/esm2020/lib/query/shared/query.directive.mjs +0 -261
  1313. package/esm2020/lib/query/shared/query.enums.mjs +0 -30
  1314. package/esm2020/lib/query/shared/query.interfaces.mjs +0 -2
  1315. package/esm2020/lib/query/shared/query.service.mjs +0 -731
  1316. package/esm2020/lib/query/shared/query.utils.mjs +0 -37
  1317. package/esm2020/lib/search/index.mjs +0 -12
  1318. package/esm2020/lib/search/search-bar/search-bar.component.mjs +0 -512
  1319. package/esm2020/lib/search/search-bar/search-bar.module.mjs +0 -75
  1320. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +0 -35
  1321. package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +0 -118
  1322. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +0 -429
  1323. package/esm2020/lib/search/search-results/search-results-item.component.mjs +0 -147
  1324. package/esm2020/lib/search/search-results/search-results.component.mjs +0 -454
  1325. package/esm2020/lib/search/search-results/search-results.module.mjs +0 -108
  1326. package/esm2020/lib/search/search-selector/search-selector.component.mjs +0 -123
  1327. package/esm2020/lib/search/search-selector/search-selector.module.mjs +0 -56
  1328. package/esm2020/lib/search/search-settings/search-settings.component.mjs +0 -440
  1329. package/esm2020/lib/search/search-settings/search-settings.module.mjs +0 -60
  1330. package/esm2020/lib/search/search.module.mjs +0 -67
  1331. package/esm2020/lib/search/shared/index.mjs +0 -9
  1332. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +0 -295
  1333. package/esm2020/lib/search/shared/search-source-service.providers.mjs +0 -20
  1334. package/esm2020/lib/search/shared/search-source.service.mjs +0 -55
  1335. package/esm2020/lib/search/shared/search.enums.mjs +0 -4
  1336. package/esm2020/lib/search/shared/search.interfaces.mjs +0 -2
  1337. package/esm2020/lib/search/shared/search.service.mjs +0 -121
  1338. package/esm2020/lib/search/shared/search.utils.mjs +0 -91
  1339. package/esm2020/lib/search/shared/sources/cadastre.mjs +0 -126
  1340. package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +0 -23
  1341. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +0 -2
  1342. package/esm2020/lib/search/shared/sources/coordinates.mjs +0 -153
  1343. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +0 -40
  1344. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +0 -2
  1345. package/esm2020/lib/search/shared/sources/icherche.mjs +0 -767
  1346. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +0 -66
  1347. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +0 -2
  1348. package/esm2020/lib/search/shared/sources/ilayer.mjs +0 -320
  1349. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +0 -40
  1350. package/esm2020/lib/search/shared/sources/index.mjs +0 -23
  1351. package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +0 -2
  1352. package/esm2020/lib/search/shared/sources/nominatim.mjs +0 -253
  1353. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +0 -23
  1354. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +0 -2
  1355. package/esm2020/lib/search/shared/sources/source.mjs +0 -209
  1356. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +0 -2
  1357. package/esm2020/lib/search/shared/sources/storedqueries.mjs +0 -425
  1358. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +0 -41
  1359. package/esm2020/lib/search/shared/sources/workspace.interfaces.mjs +0 -2
  1360. package/esm2020/lib/search/shared/sources/workspace.mjs +0 -186
  1361. package/esm2020/lib/search/shared/sources/workspace.providers.mjs +0 -26
  1362. package/esm2020/lib/style/index.mjs +0 -5
  1363. package/esm2020/lib/style/shared/datasource/esri-style-generator.mjs +0 -357
  1364. package/esm2020/lib/style/shared/datasource/index.mjs +0 -2
  1365. package/esm2020/lib/style/shared/feature/feature-style.mjs +0 -141
  1366. package/esm2020/lib/style/shared/feature/index.mjs +0 -2
  1367. package/esm2020/lib/style/shared/font.enum.mjs +0 -17
  1368. package/esm2020/lib/style/shared/index.mjs +0 -5
  1369. package/esm2020/lib/style/shared/overlay/index.mjs +0 -3
  1370. package/esm2020/lib/style/shared/overlay/overlay-marker-style.utils.mjs +0 -43
  1371. package/esm2020/lib/style/shared/overlay/overlay-style.utils.mjs +0 -88
  1372. package/esm2020/lib/style/shared/vector/commonVectorStyle.mjs +0 -75
  1373. package/esm2020/lib/style/shared/vector/conversion.utils.mjs +0 -27
  1374. package/esm2020/lib/style/shared/vector/index.mjs +0 -4
  1375. package/esm2020/lib/style/shared/vector/vector-style.interface.mjs +0 -2
  1376. package/esm2020/lib/style/style-list/index.mjs +0 -5
  1377. package/esm2020/lib/style/style-list/style-list.interface.mjs +0 -2
  1378. package/esm2020/lib/style/style-list/style-list.module.mjs +0 -23
  1379. package/esm2020/lib/style/style-list/style-list.provider.mjs +0 -21
  1380. package/esm2020/lib/style/style-list/style-list.service.mjs +0 -51
  1381. package/esm2020/lib/style/style-modal/drawing/index.mjs +0 -2
  1382. package/esm2020/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +0 -288
  1383. package/esm2020/lib/style/style-modal/index.mjs +0 -5
  1384. package/esm2020/lib/style/style-modal/layer/index.mjs +0 -2
  1385. package/esm2020/lib/style/style-modal/layer/style-modal-layer.component.mjs +0 -187
  1386. package/esm2020/lib/style/style-modal/layer-button/index.mjs +0 -2
  1387. package/esm2020/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +0 -44
  1388. package/esm2020/lib/style/style-modal/shared/index.mjs +0 -2
  1389. package/esm2020/lib/style/style-modal/shared/style-modal.interface.mjs +0 -2
  1390. package/esm2020/lib/style/style-service/draw-style.service.mjs +0 -187
  1391. package/esm2020/lib/style/style-service/index.mjs +0 -3
  1392. package/esm2020/lib/style/style-service/style.service.mjs +0 -356
  1393. package/esm2020/lib/style/style.module.mjs +0 -74
  1394. package/esm2020/lib/toast/index.mjs +0 -2
  1395. package/esm2020/lib/toast/toast.component.mjs +0 -113
  1396. package/esm2020/lib/toast/toast.module.mjs +0 -45
  1397. package/esm2020/lib/utils/googleLinks.mjs +0 -13
  1398. package/esm2020/lib/utils/id-generator.mjs +0 -110
  1399. package/esm2020/lib/utils/index.mjs +0 -4
  1400. package/esm2020/lib/utils/osmLinks.mjs +0 -10
  1401. package/esm2020/lib/wkt/index.mjs +0 -2
  1402. package/esm2020/lib/wkt/shared/index.mjs +0 -2
  1403. package/esm2020/lib/wkt/shared/wkt.service.mjs +0 -239
  1404. package/esm2020/lib/wkt/wkt.module.mjs +0 -22
  1405. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +0 -48
  1406. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +0 -36
  1407. package/esm2020/lib/workspace/confirmation-popup/index.mjs +0 -3
  1408. package/esm2020/lib/workspace/index.mjs +0 -8
  1409. package/esm2020/lib/workspace/shared/edition-workspace.mjs +0 -280
  1410. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +0 -642
  1411. package/esm2020/lib/workspace/shared/feature-workspace.mjs +0 -35
  1412. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +0 -157
  1413. package/esm2020/lib/workspace/shared/index.mjs +0 -8
  1414. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +0 -35
  1415. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +0 -150
  1416. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +0 -260
  1417. package/esm2020/lib/workspace/shared/workspace.utils.mjs +0 -24
  1418. package/esm2020/lib/workspace/widgets/index.mjs +0 -4
  1419. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +0 -47
  1420. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +0 -36
  1421. package/esm2020/lib/workspace/widgets/widgets.mjs +0 -15
  1422. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +0 -133
  1423. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -28
  1424. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +0 -113
  1425. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +0 -28
  1426. package/esm2020/lib/workspace/workspace.module.mjs +0 -62
  1427. package/esm2020/public_api.mjs +0 -57
  1428. package/fesm2015/igo2-geo.mjs +0 -46894
  1429. package/fesm2015/igo2-geo.mjs.map +0 -1
  1430. package/fesm2020/igo2-geo.mjs +0 -44993
  1431. package/fesm2020/igo2-geo.mjs.map +0 -1
  1432. package/ngcc.config.js +0 -3
  1433. package/style/geo.theming.scss +0 -12
@@ -1,521 +0,0 @@
1
- import OlFeature from 'ol/Feature';
2
- import OlVectorSource from 'ol/source/Vector';
3
- import OlVectorLayer from 'ol/layer/Vector';
4
- import OlModify from 'ol/interaction/Modify';
5
- import OlTranslate from 'ol/interaction/Translate';
6
- import OlDraw from 'ol/interaction/Draw';
7
- import OlPolygon from 'ol/geom/Polygon';
8
- import OlLinearRing from 'ol/geom/LinearRing';
9
- import OlDragBoxInteraction from 'ol/interaction/DragBox';
10
- import { unByKey } from 'ol/Observable';
11
- import { Subject, fromEvent } from 'rxjs';
12
- import { addLinearRingToOlPolygon, createDrawHoleInteractionStyle, getMousePositionFromOlGeometryEvent } from '../geometry.utils';
13
- /**
14
- * Control to modify geometries
15
- */
16
- export class ModifyControl {
17
- constructor(options) {
18
- this.options = options;
19
- /**
20
- * Modify start observable
21
- */
22
- this.start$ = new Subject();
23
- /**
24
- * Modify end observable
25
- */
26
- this.end$ = new Subject();
27
- /**
28
- * Geometry changes observable
29
- */
30
- this.changes$ = new Subject();
31
- this.olModifyInteractionIsActive = false;
32
- this.olTranslateInteractionIsActive = false;
33
- this.olDrawInteractionIsActive = false;
34
- this.removedOlInteractions = [];
35
- /**
36
- * Whether a modify control should be available
37
- */
38
- this.modify = true;
39
- /**
40
- * Whether a translate control should be available
41
- */
42
- this.translate = true;
43
- if (options.modify !== undefined) {
44
- this.modify = options.modify;
45
- }
46
- if (options.translate !== undefined) {
47
- this.translate = options.translate;
48
- }
49
- if (options.layer !== undefined) {
50
- this.olOverlayLayer = options.layer;
51
- }
52
- else {
53
- this.olOverlayLayer = this.createOlInnerOverlayLayer();
54
- }
55
- this.olLinearRingsLayer = this.createOlLinearRingsLayer();
56
- }
57
- /**
58
- * Wheter the control is active
59
- */
60
- get active() {
61
- return this.olMap !== undefined;
62
- }
63
- /**
64
- * OL overlay source
65
- * @internal
66
- */
67
- get olOverlaySource() {
68
- return this.olOverlayLayer.getSource();
69
- }
70
- /**
71
- * OL linear rings source
72
- * @internal
73
- */
74
- get olLinearRingsSource() {
75
- return this.olLinearRingsLayer.getSource();
76
- }
77
- /**
78
- * Add or remove this control to/from a map.
79
- * @param map OL Map
80
- */
81
- setOlMap(olMap) {
82
- if (olMap === undefined) {
83
- this.clearOlInnerOverlaySource();
84
- this.removeOlInnerOverlayLayer();
85
- this.removeOlModifyInteraction();
86
- this.removeOlTranslateInteraction();
87
- this.removeOlDrawInteraction();
88
- this.olMap = olMap;
89
- return;
90
- }
91
- this.olMap = olMap;
92
- this.addOlInnerOverlayLayer();
93
- // The order in which these interactions
94
- // are added is important
95
- if (this.modify === true) {
96
- this.addOlDrawInteraction();
97
- }
98
- if (this.translate === true) {
99
- this.addOlTranslateInteraction();
100
- this.activateTranslateInteraction();
101
- }
102
- if (this.modify === true) {
103
- this.addOlModifyInteraction();
104
- this.activateModifyInteraction();
105
- }
106
- }
107
- /**
108
- * Return the overlay source
109
- */
110
- getSource() {
111
- return this.olOverlaySource;
112
- }
113
- /**
114
- * Add an OL geometry to the overlay and start modifying it
115
- * @param olGeometry Ol Geometry
116
- */
117
- setOlGeometry(olGeometry) {
118
- const olFeature = new OlFeature({ geometry: olGeometry });
119
- this.olOverlaySource.clear();
120
- this.olOverlaySource.addFeature(olFeature);
121
- }
122
- /**
123
- * Create an overlay source if none is defined in the options
124
- */
125
- createOlInnerOverlayLayer() {
126
- return new OlVectorLayer({
127
- source: this.options.source ? this.options.source : new OlVectorSource(),
128
- style: this.options.layerStyle,
129
- zIndex: 500
130
- });
131
- }
132
- /**
133
- * Add the overlay layer if it wasn't defined in the options
134
- */
135
- addOlInnerOverlayLayer() {
136
- if (this.options.layer === undefined) {
137
- this.olMap.addLayer(this.olOverlayLayer);
138
- }
139
- }
140
- /**
141
- * Clear the overlay layer if it wasn't defined in the options
142
- */
143
- removeOlInnerOverlayLayer() {
144
- if (this.options.layer === undefined && this.olMap !== undefined) {
145
- this.olMap.removeLayer(this.olOverlayLayer);
146
- }
147
- }
148
- /**
149
- * Clear the overlay source if it wasn't defined in the options
150
- */
151
- clearOlInnerOverlaySource() {
152
- if (this.options.layer === undefined && this.options.source === undefined) {
153
- this.olOverlaySource.clear(true);
154
- }
155
- }
156
- createOlLinearRingsLayer() {
157
- return new OlVectorLayer({
158
- source: new OlVectorSource(),
159
- style: createDrawHoleInteractionStyle(),
160
- zIndex: 500
161
- });
162
- }
163
- /**
164
- * Add the linear rings layer
165
- */
166
- addOlLinearRingsLayer() {
167
- this.olMap.addLayer(this.olLinearRingsLayer);
168
- }
169
- /**
170
- * Clear the linear rings layer
171
- */
172
- removeOlLinearRingsLayer() {
173
- this.olMap.removeLayer(this.olLinearRingsLayer);
174
- }
175
- /**
176
- * Clear the linear rings source
177
- */
178
- clearOlLinearRingsSource() {
179
- this.olLinearRingsSource.clear(true);
180
- }
181
- /**
182
- * Add a modify interaction to the map an set up some listeners
183
- */
184
- addOlModifyInteraction() {
185
- const olModifyInteraction = new OlModify({
186
- source: this.olOverlaySource,
187
- style: this.options.drawStyle
188
- });
189
- this.olModifyInteraction = olModifyInteraction;
190
- }
191
- /**
192
- * Remove the modify interaction
193
- */
194
- removeOlModifyInteraction() {
195
- if (this.olModifyInteraction === undefined) {
196
- return;
197
- }
198
- this.deactivateModifyInteraction();
199
- this.olModifyInteraction = undefined;
200
- }
201
- activateModifyInteraction() {
202
- if (this.olModifyInteractionIsActive === true) {
203
- return;
204
- }
205
- this.olModifyInteractionIsActive = true;
206
- this.onModifyStartKey = this.olModifyInteraction.on('modifystart', (event) => this.onModifyStart(event));
207
- this.onModifyEndKey = this.olModifyInteraction.on('modifyend', (event) => this.onModifyEnd(event));
208
- this.olMap.addInteraction(this.olModifyInteraction);
209
- }
210
- deactivateModifyInteraction() {
211
- if (this.olModifyInteractionIsActive === false) {
212
- return;
213
- }
214
- this.olModifyInteractionIsActive = false;
215
- unByKey([this.onModifyStartKey, this.onModifyEndKey, this.onModifyKey]);
216
- if (this.olMap !== undefined) {
217
- this.olMap.removeInteraction(this.olModifyInteraction);
218
- }
219
- }
220
- /**
221
- * When modifying starts, clear the overlay and start watching for changes
222
- * @param event Modify start event
223
- */
224
- onModifyStart(event) {
225
- const olGeometry = event.features.item(0).getGeometry();
226
- this.start$.next(olGeometry);
227
- this.onModifyKey = olGeometry.on('change', (olGeometryEvent) => {
228
- this.mousePosition = getMousePositionFromOlGeometryEvent(olGeometryEvent);
229
- this.changes$.next(olGeometryEvent.target);
230
- });
231
- this.subscribeToKeyDown();
232
- }
233
- /**
234
- * When modifying ends, update the geometry observable and stop watching for changes
235
- * @param event Modify end event
236
- */
237
- onModifyEnd(event) {
238
- unByKey(this.onModifyKey);
239
- this.end$.next(event.features.item(0).getGeometry());
240
- this.unsubscribeToKeyDown();
241
- }
242
- /**
243
- * Subscribe to space key down to pan the map
244
- */
245
- subscribeToKeyDown() {
246
- this.keyDown$$ = fromEvent(document, 'keydown').subscribe((event) => {
247
- if (event.key === ' ') {
248
- // On space bar, pan to the current mouse position
249
- this.olMap.getView().animate({
250
- center: this.mousePosition,
251
- duration: 0
252
- });
253
- return;
254
- }
255
- });
256
- }
257
- /**
258
- * Unsubscribe to key down
259
- */
260
- unsubscribeToKeyDown() {
261
- if (this.keyDown$$ !== undefined) {
262
- this.keyDown$$.unsubscribe();
263
- }
264
- }
265
- /**
266
- * Add a translate interaction to the map an set up some listeners
267
- */
268
- addOlTranslateInteraction() {
269
- const olTranslateInteraction = new OlTranslate({
270
- layers: [this.olOverlayLayer]
271
- });
272
- this.olTranslateInteraction = olTranslateInteraction;
273
- }
274
- /**
275
- * Remove the translate interaction
276
- */
277
- removeOlTranslateInteraction() {
278
- if (this.olTranslateInteraction === undefined) {
279
- return;
280
- }
281
- this.deactivateTranslateInteraction();
282
- this.olTranslateInteraction = undefined;
283
- }
284
- activateTranslateInteraction() {
285
- if (this.olTranslateInteractionIsActive === true) {
286
- return;
287
- }
288
- this.olTranslateInteractionIsActive = true;
289
- this.onTranslateStartKey = this.olTranslateInteraction.on('translatestart', (event) => this.onTranslateStart(event));
290
- this.onTranslateEndKey = this.olTranslateInteraction.on('translateend', (event) => this.onTranslateEnd(event));
291
- this.olMap.addInteraction(this.olTranslateInteraction);
292
- }
293
- deactivateTranslateInteraction() {
294
- if (this.olTranslateInteractionIsActive === false) {
295
- return;
296
- }
297
- this.olTranslateInteractionIsActive = false;
298
- unByKey([
299
- this.onTranslateStartKey,
300
- this.onTranslateEndKey,
301
- this.onTranslateKey
302
- ]);
303
- if (this.olMap !== undefined) {
304
- this.olMap.removeInteraction(this.olTranslateInteraction);
305
- }
306
- }
307
- /**
308
- * When translation starts, clear the overlay and start watching for changes
309
- * @param event Translate start event
310
- */
311
- onTranslateStart(event) {
312
- const olGeometry = event.features.item(0).getGeometry();
313
- this.start$.next(olGeometry);
314
- this.onTranslateKey = olGeometry.on('change', (olGeometryEvent) => {
315
- // this.changes$.next(olGeometryEvent.target);
316
- });
317
- }
318
- /**
319
- * When translation ends, update the geometry observable and stop watchign for changes
320
- * @param event Translate end event
321
- */
322
- onTranslateEnd(event) {
323
- unByKey(this.onTranslateKey);
324
- this.end$.next(event.features.item(0).getGeometry());
325
- }
326
- /**
327
- * Add a draw interaction to the map an set up some listeners
328
- */
329
- addOlDrawInteraction() {
330
- const olDrawInteraction = new OlDraw({
331
- type: 'Polygon',
332
- source: this.olLinearRingsSource,
333
- stopClick: true,
334
- style: createDrawHoleInteractionStyle(),
335
- condition: (event) => {
336
- const olOuterGeometry = this.olOuterGeometry || this.getOlGeometry();
337
- const intersects = olOuterGeometry.intersectsCoordinate(event.coordinate);
338
- return intersects;
339
- }
340
- });
341
- this.olDrawInteraction = olDrawInteraction;
342
- this.subscribeToDrawKeyDown();
343
- }
344
- /**
345
- * Subscribe to CTRL key down to activate the draw control
346
- */
347
- subscribeToDrawKeyDown() {
348
- this.drawKeyDown$$ = fromEvent(document, 'keydown').subscribe((event) => {
349
- if (event.key !== 'Control') {
350
- return;
351
- }
352
- this.unsubscribeToDrawKeyDown();
353
- const olGeometry = this.getOlGeometry();
354
- if (!olGeometry || !(olGeometry instanceof OlPolygon)) {
355
- return;
356
- }
357
- this.subscribeToDrawKeyUp();
358
- this.deactivateModifyInteraction();
359
- this.deactivateTranslateInteraction();
360
- this.activateDrawInteraction();
361
- });
362
- }
363
- /**
364
- * Subscribe to CTRL key up to deactivate the draw control
365
- */
366
- subscribeToDrawKeyUp() {
367
- this.drawKeyUp$$ = fromEvent(document, 'keyup').subscribe((event) => {
368
- if (event.key !== 'Control') {
369
- return;
370
- }
371
- this.unsubscribeToDrawKeyUp();
372
- this.unsubscribeToKeyDown();
373
- this.deactivateDrawInteraction();
374
- this.activateModifyInteraction();
375
- if (this.translate === true) {
376
- this.activateTranslateInteraction();
377
- }
378
- this.subscribeToDrawKeyDown();
379
- this.olOuterGeometry = undefined;
380
- this.clearOlLinearRingsSource();
381
- this.end$.next(this.getOlGeometry());
382
- });
383
- }
384
- /**
385
- * Unsubscribe to draw key down
386
- */
387
- unsubscribeToDrawKeyDown() {
388
- if (this.drawKeyDown$$ !== undefined) {
389
- this.drawKeyDown$$.unsubscribe();
390
- }
391
- }
392
- /**
393
- * Unsubscribe to key up
394
- */
395
- unsubscribeToDrawKeyUp() {
396
- if (this.drawKeyUp$$ !== undefined) {
397
- this.drawKeyUp$$.unsubscribe();
398
- }
399
- }
400
- /**
401
- * Remove the draw interaction
402
- */
403
- removeOlDrawInteraction() {
404
- if (this.olDrawInteraction === undefined) {
405
- return;
406
- }
407
- this.unsubscribeToKeyDown();
408
- this.unsubscribeToDrawKeyUp();
409
- this.unsubscribeToDrawKeyDown();
410
- this.deactivateDrawInteraction();
411
- this.clearOlLinearRingsSource();
412
- this.olDrawInteraction = undefined;
413
- }
414
- /**
415
- * Activate the draw interaction
416
- */
417
- activateDrawInteraction() {
418
- if (this.olDrawInteractionIsActive === true) {
419
- return;
420
- }
421
- this.clearOlLinearRingsSource();
422
- this.addOlLinearRingsLayer();
423
- this.olMap.getInteractions().forEach((olInteraction) => {
424
- if (olInteraction instanceof OlDragBoxInteraction) {
425
- this.olMap.removeInteraction(olInteraction);
426
- this.removedOlInteractions.push(olInteraction);
427
- }
428
- });
429
- this.olDrawInteractionIsActive = true;
430
- this.onDrawStartKey = this.olDrawInteraction.on('drawstart', (event) => this.onDrawStart(event));
431
- this.onDrawEndKey = this.olDrawInteraction.on('drawend', (event) => this.onDrawEnd(event));
432
- this.olMap.addInteraction(this.olDrawInteraction);
433
- }
434
- /**
435
- * Deactivate the draw interaction
436
- */
437
- deactivateDrawInteraction() {
438
- if (this.olDrawInteractionIsActive === false) {
439
- return;
440
- }
441
- this.removeOlLinearRingsLayer();
442
- this.removedOlInteractions.forEach((olInteraction) => {
443
- this.olMap.addInteraction(olInteraction);
444
- });
445
- this.removedOlInteractions = [];
446
- this.olDrawInteractionIsActive = false;
447
- unByKey([this.onDrawStartKey, this.onDrawEndKey, this.onDrawKey]);
448
- if (this.olMap !== undefined) {
449
- this.olMap.removeInteraction(this.olDrawInteraction);
450
- }
451
- }
452
- /**
453
- * When draw start, add a new linerar ring to the geometry and start watching for changes
454
- * @param event Draw start event
455
- */
456
- onDrawStart(event) {
457
- const olGeometry = event.feature.getGeometry();
458
- this.olOuterGeometry = this.getOlGeometry().clone();
459
- const linearRingCoordinates = olGeometry.getLinearRing().getCoordinates();
460
- this.addLinearRingToOlGeometry(linearRingCoordinates);
461
- this.start$.next(this.getOlGeometry());
462
- this.onDrawKey = olGeometry.on('change', (olGeometryEvent) => {
463
- this.mousePosition = getMousePositionFromOlGeometryEvent(olGeometryEvent);
464
- const olGeometryTarget = olGeometryEvent.target;
465
- const _linearRingCoordinates = olGeometryTarget
466
- .getLinearRing(0)
467
- .getCoordinates();
468
- this.updateLinearRingOfOlGeometry(_linearRingCoordinates);
469
- this.changes$.next(this.getOlGeometry());
470
- });
471
- this.subscribeToKeyDown();
472
- }
473
- /**
474
- * When translation ends, update the geometry observable and stop watchign for changes
475
- * @param event Draw end event
476
- */
477
- onDrawEnd(event) {
478
- unByKey(this.onDrawKey);
479
- this.olOuterGeometry = undefined;
480
- const linearRingCoordinates = event.feature
481
- .getGeometry()
482
- .getLinearRing()
483
- .getCoordinates();
484
- this.updateLinearRingOfOlGeometry(linearRingCoordinates);
485
- this.clearOlLinearRingsSource();
486
- this.end$.next(this.getOlGeometry());
487
- this.unsubscribeToKeyDown();
488
- }
489
- /**
490
- * Add a linear ring to the geometry being modified
491
- * @param coordinates Linear ring coordinates
492
- */
493
- addLinearRingToOlGeometry(coordinates) {
494
- const olGeometry = this.getOlGeometry();
495
- const olLinearRing = new OlLinearRing(coordinates);
496
- addLinearRingToOlPolygon(olGeometry, olLinearRing);
497
- }
498
- /**
499
- * Update the last linear ring of the geometry being modified
500
- * @param coordinates Linear ring coordinates
501
- */
502
- updateLinearRingOfOlGeometry(coordinates) {
503
- const olGeometry = this.getOlGeometry();
504
- // Remove the last linear ring (the one we are updating)
505
- const olLinearRings = olGeometry.getLinearRings().slice(0, -1);
506
- const newCoordinates = olLinearRings.map((olLinearRing) => {
507
- return olLinearRing.getCoordinates();
508
- });
509
- newCoordinates.push(coordinates);
510
- olGeometry.setCoordinates(newCoordinates);
511
- }
512
- /**
513
- * Get the geometry being modified
514
- * @returns OL Geometry
515
- */
516
- getOlGeometry() {
517
- const olFeatures = this.olOverlaySource.getFeatures();
518
- return olFeatures.length > 0 ? olFeatures[0].getGeometry() : undefined;
519
- }
520
- }
521
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kaWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZ2VvbWV0cnkvc2hhcmVkL2NvbnRyb2xzL21vZGlmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFHbkMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxXQUFXLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxNQUFNLE1BQU0scUJBQXFCLENBQUM7QUFDekMsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFHeEMsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxvQkFBb0IsTUFBTSx3QkFBd0IsQ0FBQztBQU8xRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDhCQUE4QixFQUM5QixtQ0FBbUMsRUFDcEMsTUFBTSxtQkFBbUIsQ0FBQztBQVczQjs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBK0V4QixZQUFvQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQTlFakQ7O1dBRUc7UUFDSSxXQUFNLEdBQXdCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFbkQ7O1dBRUc7UUFDSSxTQUFJLEdBQXdCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFakQ7O1dBRUc7UUFDSSxhQUFRLEdBQXdCLElBQUksT0FBTyxFQUFFLENBQUM7UUFRN0MsZ0NBQTJCLEdBQVksS0FBSyxDQUFDO1FBSzdDLG1DQUE4QixHQUFZLEtBQUssQ0FB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QUcsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUN0RSxPQUFPLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNILGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssYUFBYTtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RELE9BQU8sVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBPbE1hcCBmcm9tICdvbC9NYXAnO1xyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgKiBhcyBPbFN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuaW1wb3J0IHsgU3R5bGVMaWtlIGFzIE9sU3R5bGVMaWtlIH0gZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xyXG5pbXBvcnQgT2xWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XHJcbmltcG9ydCBPbFZlY3RvckxheWVyIGZyb20gJ29sL2xheWVyL1ZlY3Rvcic7XHJcbmltcG9ydCBPbE1vZGlmeSBmcm9tICdvbC9pbnRlcmFjdGlvbi9Nb2RpZnknO1xyXG5pbXBvcnQgT2xUcmFuc2xhdGUgZnJvbSAnb2wvaW50ZXJhY3Rpb24vVHJhbnNsYXRlJztcclxuaW1wb3J0IE9sRHJhdyBmcm9tICdvbC9pbnRlcmFjdGlvbi9EcmF3JztcclxuaW1wb3J0IE9sUG9seWdvbiBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xyXG5pbXBvcnQgT2xMaW5lU3RyaW5nIGZyb20gJ29sL2dlb20vTGluZVN0cmluZyc7XHJcbmltcG9ydCBPbENpcmNsZSBmcm9tICdvbC9nZW9tL0NpcmNsZSc7XHJcbmltcG9ydCBPbExpbmVhclJpbmcgZnJvbSAnb2wvZ2VvbS9MaW5lYXJSaW5nJztcclxuaW1wb3J0IE9sSW50ZXJhY3Rpb24gZnJvbSAnb2wvaW50ZXJhY3Rpb24vSW50ZXJhY3Rpb24nO1xyXG5pbXBvcnQgT2xEcmFnQm94SW50ZXJhY3Rpb24gZnJvbSAnb2wvaW50ZXJhY3Rpb24vRHJhZ0JveCc7XHJcbmltcG9ydCBNYXBCcm93c2VyRXZlbnQgZnJvbSAnb2wvTWFwQnJvd3NlckV2ZW50JztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0IEJhc2ljRXZlbnQgZnJvbSAnb2wvZXZlbnRzL0V2ZW50JztcclxuaW1wb3J0IHsgTW9kaWZ5RXZlbnQgYXMgT2xNb2RpZnlFdmVudCB9IGZyb20gJ29sL2ludGVyYWN0aW9uL01vZGlmeSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUV2ZW50IGFzIE9sVHJhbnNsYXRlRXZlbnQgfSBmcm9tICdvbC9pbnRlcmFjdGlvbi9UcmFuc2xhdGUnO1xyXG5pbXBvcnQgeyBEcmF3RXZlbnQgYXMgT2xEcmF3RXZlbnQgfSBmcm9tICdvbC9pbnRlcmFjdGlvbi9EcmF3JztcclxuaW1wb3J0IHsgdW5CeUtleSB9IGZyb20gJ29sL09ic2VydmFibGUnO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgYWRkTGluZWFyUmluZ1RvT2xQb2x5Z29uLFxyXG4gIGNyZWF0ZURyYXdIb2xlSW50ZXJhY3Rpb25TdHlsZSxcclxuICBnZXRNb3VzZVBvc2l0aW9uRnJvbU9sR2VvbWV0cnlFdmVudFxyXG59IGZyb20gJy4uL2dlb21ldHJ5LnV0aWxzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTW9kaWZ5Q29udHJvbE9wdGlvbnMge1xyXG4gIHNvdXJjZT86IE9sVmVjdG9yU291cmNlPGFueT47XHJcbiAgbGF5ZXI/OiBPbFZlY3RvckxheWVyPGFueT47XHJcbiAgbGF5ZXJTdHlsZT86IE9sU3R5bGVMaWtlO1xyXG4gIGRyYXdTdHlsZT86IE9sU3R5bGVMaWtlO1xyXG4gIG1vZGlmeT86IGJvb2xlYW47XHJcbiAgdHJhbnNsYXRlPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnRyb2wgdG8gbW9kaWZ5IGdlb21ldHJpZXNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBNb2RpZnlDb250cm9sIHtcclxuICAvKipcclxuICAgKiBNb2RpZnkgc3RhcnQgb2JzZXJ2YWJsZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGFydCQ6IFN1YmplY3Q8T2xHZW9tZXRyeT4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAvKipcclxuICAgKiBNb2RpZnkgZW5kIG9ic2VydmFibGVcclxuICAgKi9cclxuICBwdWJsaWMgZW5kJDogU3ViamVjdDxPbEdlb21ldHJ5PiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEdlb21ldHJ5IGNoYW5nZXMgb2JzZXJ2YWJsZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBjaGFuZ2VzJDogU3ViamVjdDxPbEdlb21ldHJ5PiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHByaXZhdGUgb2xNYXA6IE9sTWFwO1xyXG4gIHByaXZhdGUgb2xPdmVybGF5TGF5ZXI6IE9sVmVjdG9yTGF5ZXI8YW55PjtcclxuICBwdWJsaWMgb2xNb2RpZnlJbnRlcmFjdGlvbjogT2xNb2RpZnk7XHJcbiAgcHJpdmF0ZSBvbk1vZGlmeVN0YXJ0S2V5OiBhbnk7XHJcbiAgcHJpdmF0ZSBvbk1vZGlmeUVuZEtleTogYW55O1xyXG4gIHByaXZhdGUgb25Nb2RpZnlLZXk6IGFueTtcclxuICBwcml2YXRlIG9sTW9kaWZ5SW50ZXJhY3Rpb25Jc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgb2xUcmFuc2xhdGVJbnRlcmFjdGlvbjogT2xUcmFuc2xhdGU7XHJcbiAgcHJpdmF0ZSBvblRyYW5zbGF0ZVN0YXJ0S2V5OiBhbnk7XHJcbiAgcHJpdmF0ZSBvblRyYW5zbGF0ZUVuZEtleTogYW55O1xyXG4gIHByaXZhdGUgb25UcmFuc2xhdGVLZXk6IGFueTtcclxuICBwcml2YXRlIG9sVHJhbnNsYXRlSW50ZXJhY3Rpb25Jc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgb2xEcmF3SW50ZXJhY3Rpb246IE9sRHJhdztcclxuICBwcml2YXRlIG9uRHJhd1N0YXJ0S2V5OiBhbnk7XHJcbiAgcHJpdmF0ZSBvbkRyYXdFbmRLZXk6IGFueTtcclxuICBwcml2YXRlIG9uRHJhd0tleTogYW55O1xyXG4gIHByaXZhdGUgb2xEcmF3SW50ZXJhY3Rpb25Jc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIG1vdXNlUG9zaXRpb246IFtudW1iZXIsIG51bWJlcl07XHJcblxyXG4gIHByaXZhdGUga2V5RG93biQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBkcmF3S2V5VXAkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgZHJhd0tleURvd24kJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIHJlbW92ZWRPbEludGVyYWN0aW9uczogT2xJbnRlcmFjdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBvbExpbmVhclJpbmdzTGF5ZXI6IE9sVmVjdG9yTGF5ZXI8YW55PjtcclxuXHJcbiAgLy8gVGhpcyBpcyB0aGUgZ2VvbWV0cnkgdG8gdGVzdCBhZ2FpbnN0IHdoZW4gZHJhd2luZyBob2xlc1xyXG4gIHByaXZhdGUgb2xPdXRlckdlb21ldHJ5OiBPbEdlb21ldHJ5O1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0ZXIgdGhlIGNvbnRyb2wgaXMgYWN0aXZlXHJcbiAgICovXHJcbiAgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9sTWFwICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPTCBvdmVybGF5IHNvdXJjZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBvbE92ZXJsYXlTb3VyY2UoKTogT2xWZWN0b3JTb3VyY2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5vbE92ZXJsYXlMYXllci5nZXRTb3VyY2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9MIGxpbmVhciByaW5ncyBzb3VyY2VcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgb2xMaW5lYXJSaW5nc1NvdXJjZSgpOiBPbFZlY3RvclNvdXJjZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLm9sTGluZWFyUmluZ3NMYXllci5nZXRTb3VyY2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgYSBtb2RpZnkgY29udHJvbCBzaG91bGQgYmUgYXZhaWxhYmxlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBtb2RpZnk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgdHJhbnNsYXRlIGNvbnRyb2wgc2hvdWxkIGJlIGF2YWlsYWJsZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdHJhbnNsYXRlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvcHRpb25zOiBNb2RpZnlDb250cm9sT3B0aW9ucykge1xyXG4gICAgaWYgKG9wdGlvbnMubW9kaWZ5ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5tb2RpZnkgPSBvcHRpb25zLm1vZGlmeTtcclxuICAgIH1cclxuICAgIGlmIChvcHRpb25zLnRyYW5zbGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlID0gb3B0aW9ucy50cmFuc2xhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG9wdGlvbnMubGF5ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLm9sT3ZlcmxheUxheWVyID0gb3B0aW9ucy5sYXllcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub2xPdmVybGF5TGF5ZXIgPSB0aGlzLmNyZWF0ZU9sSW5uZXJPdmVybGF5TGF5ZXIoKTtcclxuICAgIH1cclxuICAgIHRoaXMub2xMaW5lYXJSaW5nc0xheWVyID0gdGhpcy5jcmVhdGVPbExpbmVhclJpbmdzTGF5ZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBvciByZW1vdmUgdGhpcyBjb250cm9sIHRvL2Zyb20gYSBtYXAuXHJcbiAgICogQHBhcmFtIG1hcCBPTCBNYXBcclxuICAgKi9cclxuICBzZXRPbE1hcChvbE1hcDogT2xNYXAgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmIChvbE1hcCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJPbElubmVyT3ZlcmxheVNvdXJjZSgpO1xyXG4gICAgICB0aGlzLnJlbW92ZU9sSW5uZXJPdmVybGF5TGF5ZXIoKTtcclxuICAgICAgdGhpcy5yZW1vdmVPbE1vZGlmeUludGVyYWN0aW9uKCk7XHJcbiAgICAgIHRoaXMucmVtb3ZlT2xUcmFuc2xhdGVJbnRlcmFjdGlvbigpO1xyXG4gICAgICB0aGlzLnJlbW92ZU9sRHJhd0ludGVyYWN0aW9uKCk7XHJcbiAgICAgIHRoaXMub2xNYXAgPSBvbE1hcDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub2xNYXAgPSBvbE1hcDtcclxuICAgIHRoaXMuYWRkT2xJbm5lck92ZXJsYXlMYXllcigpO1xyXG5cclxuICAgIC8vIFRoZSBvcmRlciBpbiB3aGljaCB0aGVzZSBpbnRlcmFjdGlvbnNcclxuICAgIC8vIGFyZSBhZGRlZCBpcyBpbXBvcnRhbnRcclxuICAgIGlmICh0aGlzLm1vZGlmeSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmFkZE9sRHJhd0ludGVyYWN0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudHJhbnNsYXRlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuYWRkT2xUcmFuc2xhdGVJbnRlcmFjdGlvbigpO1xyXG4gICAgICB0aGlzLmFjdGl2YXRlVHJhbnNsYXRlSW50ZXJhY3Rpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tb2RpZnkgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5hZGRPbE1vZGlmeUludGVyYWN0aW9uKCk7XHJcbiAgICAgIHRoaXMuYWN0aXZhdGVNb2RpZnlJbnRlcmFjdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIHRoZSBvdmVybGF5IHNvdXJjZVxyXG4gICAqL1xyXG4gIGdldFNvdXJjZSgpOiBPbFZlY3RvclNvdXJjZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLm9sT3ZlcmxheVNvdXJjZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhbiBPTCBnZW9tZXRyeSB0byB0aGUgb3ZlcmxheSBhbmQgc3RhcnQgbW9kaWZ5aW5nIGl0XHJcbiAgICogQHBhcmFtIG9sR2VvbWV0cnkgT2wgR2VvbWV0cnlcclxuICAgKi9cclxuICBzZXRPbEdlb21ldHJ5KG9sR2VvbWV0cnk6IE9sR2VvbWV0cnkpIHtcclxuICAgIGNvbnN0IG9sRmVhdHVyZSA9IG5ldyBPbEZlYXR1cmUoeyBnZW9tZXRyeTogb2xHZW9tZXRyeSB9KTtcclxuICAgIHRoaXMub2xPdmVybGF5U291cmNlLmNsZWFyKCk7XHJcbiAgICB0aGlzLm9sT3ZlcmxheVNvdXJjZS5hZGRGZWF0dXJlKG9sRmVhdHVyZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYW4gb3ZlcmxheSBzb3VyY2UgaWYgbm9uZSBpcyBkZWZpbmVkIGluIHRoZSBvcHRpb25zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVPbElubmVyT3ZlcmxheUxheWVyKCk6IE9sVmVjdG9yTGF5ZXI8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IE9sVmVjdG9yTGF5ZXIoe1xyXG4gICAgICBzb3VyY2U6IHRoaXMub3B0aW9ucy5zb3VyY2UgPyB0aGlzLm9wdGlvbnMuc291cmNlIDogbmV3IE9sVmVjdG9yU291cmNlKCksXHJcbiAgICAgIHN0eWxlOiB0aGlzLm9wdGlvbnMubGF5ZXJTdHlsZSxcclxuICAgICAgekluZGV4OiA1MDBcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIHRoZSBvdmVybGF5IGxheWVyIGlmIGl0IHdhc24ndCBkZWZpbmVkIGluIHRoZSBvcHRpb25zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRPbElubmVyT3ZlcmxheUxheWVyKCkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5sYXllciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMub2xNYXAuYWRkTGF5ZXIodGhpcy5vbE92ZXJsYXlMYXllcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGUgb3ZlcmxheSBsYXllciBpZiBpdCB3YXNuJ3QgZGVmaW5lZCBpbiB0aGUgb3B0aW9uc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlT2xJbm5lck92ZXJsYXlMYXllcigpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMubGF5ZXIgPT09IHVuZGVmaW5lZCAmJiB0aGlzLm9sTWFwICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5vbE1hcC5yZW1vdmVMYXllcih0aGlzLm9sT3ZlcmxheUxheWVyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHRoZSBvdmVybGF5IHNvdXJjZSBpZiBpdCB3YXNuJ3QgZGVmaW5lZCBpbiB0aGUgb3B0aW9uc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYXJPbElubmVyT3ZlcmxheVNvdXJjZSgpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMubGF5ZXIgPT09IHVuZGVmaW5lZCAmJiB0aGlzLm9wdGlvbnMuc291cmNlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5vbE92ZXJsYXlTb3VyY2UuY2xlYXIodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZU9sTGluZWFyUmluZ3NMYXllcigpOiBPbFZlY3RvckxheWVyPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPbFZlY3RvckxheWVyKHtcclxuICAgICAgc291cmNlOiBuZXcgT2xWZWN0b3JTb3VyY2UoKSxcclxuICAgICAgc3R5bGU6IGNyZWF0ZURyYXdIb2xlSW50ZXJhY3Rpb25TdHlsZSgpLFxyXG4gICAgICB6SW5kZXg6IDUwMFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgdGhlIGxpbmVhciByaW5ncyBsYXllclxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkT2xMaW5lYXJSaW5nc0xheWVyKCkge1xyXG4gICAgdGhpcy5vbE1hcC5hZGRMYXllcih0aGlzLm9sTGluZWFyUmluZ3NMYXllcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGUgbGluZWFyIHJpbmdzIGxheWVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVPbExpbmVhclJpbmdzTGF5ZXIoKSB7XHJcbiAgICB0aGlzLm9sTWFwLnJlbW92ZUxheWVyKHRoaXMub2xMaW5lYXJSaW5nc0xheWVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHRoZSBsaW5lYXIgcmluZ3Mgc291cmNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjbGVhck9sTGluZWFyUmluZ3NTb3VyY2UoKSB7XHJcbiAgICB0aGlzLm9sTGluZWFyUmluZ3NTb3VyY2UuY2xlYXIodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgYSBtb2RpZnkgaW50ZXJhY3Rpb24gdG8gdGhlIG1hcCBhbiBzZXQgdXAgc29tZSBsaXN0ZW5lcnNcclxuICAgKi9cclxuICBwcml2YXRlIGFkZE9sTW9kaWZ5SW50ZXJhY3Rpb24oKSB7XHJcbiAgICBjb25zdCBvbE1vZGlmeUludGVyYWN0aW9uID0gbmV3IE9sTW9kaWZ5KHtcclxuICAgICAgc291cmNlOiB0aGlzLm9sT3ZlcmxheVNvdXJjZSxcclxuICAgICAgc3R5bGU6IHRoaXMub3B0aW9ucy5kcmF3U3R5bGUgYXMgT2xTdHlsZS5TdHlsZVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm9sTW9kaWZ5SW50ZXJhY3Rpb24gPSBvbE1vZGlmeUludGVyYWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBtb2RpZnkgaW50ZXJhY3Rpb25cclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZU9sTW9kaWZ5SW50ZXJhY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5vbE1vZGlmeUludGVyYWN0aW9uID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGVhY3RpdmF0ZU1vZGlmeUludGVyYWN0aW9uKCk7XHJcbiAgICB0aGlzLm9sTW9kaWZ5SW50ZXJhY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFjdGl2YXRlTW9kaWZ5SW50ZXJhY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5vbE1vZGlmeUludGVyYWN0aW9uSXNBY3RpdmUgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub2xNb2RpZnlJbnRlcmFjdGlvbklzQWN0aXZlID0gdHJ1ZTtcclxuICAgIHRoaXMub25Nb2RpZnlTdGFydEtleSA9IHRoaXMub2xNb2RpZnlJbnRlcmFjdGlvbi5vbihcclxuICAgICAgJ21vZGlmeXN0YXJ0JyxcclxuICAgICAgKGV2ZW50OiBPbE1vZGlmeUV2ZW50KSA9PiB0aGlzLm9uTW9kaWZ5U3RhcnQoZXZlbnQpXHJcbiAgICApO1xyXG4gICAgdGhpcy5vbk1vZGlmeUVuZEtleSA9IHRoaXMub2xNb2RpZnlJbnRlcmFjdGlvbi5vbihcclxuICAgICAgJ21vZGlmeWVuZCcsXHJcbiAgICAgIChldmVudDogT2xNb2RpZnlFdmVudCkgPT4gdGhpcy5vbk1vZGlmeUVuZChldmVudClcclxuICAgICk7XHJcbiAgICB0aGlzLm9sTWFwLmFkZEludGVyYWN0aW9uKHRoaXMub2xNb2RpZnlJbnRlcmFjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlYWN0aXZhdGVNb2RpZnlJbnRlcmFjdGlvbigpIHtcclxuICAgIGlmICh0aGlzLm9sTW9kaWZ5SW50ZXJhY3Rpb25Jc0FjdGl2ZSA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub2xNb2RpZnlJbnRlcmFjdGlvbklzQWN0aXZlID0gZmFsc2U7XHJcblxyXG4gICAgdW5CeUtleShbdGhpcy5vbk1vZGlmeVN0YXJ0S2V5LCB0aGlzLm9uTW9kaWZ5RW5kS2V5LCB0aGlzLm9uTW9kaWZ5S2V5XSk7XHJcbiAgICBpZiAodGhpcy5vbE1hcCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMub2xNYXAucmVtb3ZlSW50ZXJhY3Rpb24odGhpcy5vbE1vZGlmeUludGVyYWN0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gbW9kaWZ5aW5nIHN0YXJ0cywgY2xlYXIgdGhlIG92ZXJsYXkgYW5kIHN0YXJ0IHdhdGNoaW5nIGZvciBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIGV2ZW50IE1vZGlmeSBzdGFydCBldmVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25Nb2RpZnlTdGFydChldmVudDogT2xNb2RpZnlFdmVudCkge1xyXG4gICAgY29uc3Qgb2xHZW9tZXRyeSA9IGV2ZW50LmZlYXR1cmVzLml0ZW0oMCkuZ2V0R2VvbWV0cnkoKSBhcyBPbEdlb21ldHJ5O1xyXG4gICAgdGhpcy5zdGFydCQubmV4dChvbEdlb21ldHJ5KTtcclxuICAgIHRoaXMub25Nb2RpZnlLZXkgPSBvbEdlb21ldHJ5Lm9uKFxyXG4gICAgICAnY2hhbmdlJyxcclxuICAgICAgKG9sR2VvbWV0cnlFdmVudDogQmFzaWNFdmVudCkgPT4ge1xyXG4gICAgICAgIHRoaXMubW91c2VQb3NpdGlvbiA9IGdldE1vdXNlUG9zaXRpb25Gcm9tT2xHZW9tZXRyeUV2ZW50KFxyXG4gICAgICAgICAgb2xHZW9tZXRyeUV2ZW50XHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmNoYW5nZXMkLm5leHQob2xHZW9tZXRyeUV2ZW50LnRhcmdldCBhcyBPbExpbmVTdHJpbmcgfCBPbENpcmNsZSB8IE9sUG9seWdvbik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICB0aGlzLnN1YnNjcmliZVRvS2V5RG93bigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBtb2RpZnlpbmcgZW5kcywgdXBkYXRlIHRoZSBnZW9tZXRyeSBvYnNlcnZhYmxlIGFuZCBzdG9wIHdhdGNoaW5nIGZvciBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIGV2ZW50IE1vZGlmeSBlbmQgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIG9uTW9kaWZ5RW5kKGV2ZW50OiBPbE1vZGlmeUV2ZW50KSB7XHJcbiAgICB1bkJ5S2V5KHRoaXMub25Nb2RpZnlLZXkpO1xyXG4gICAgdGhpcy5lbmQkLm5leHQoZXZlbnQuZmVhdHVyZXMuaXRlbSgwKS5nZXRHZW9tZXRyeSgpIGFzIE9sR2VvbWV0cnkpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVRvS2V5RG93bigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaWJlIHRvIHNwYWNlIGtleSBkb3duIHRvIHBhbiB0aGUgbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0tleURvd24oKSB7XHJcbiAgICB0aGlzLmtleURvd24kJCA9IGZyb21FdmVudChkb2N1bWVudCwgJ2tleWRvd24nKS5zdWJzY3JpYmUoXHJcbiAgICAgIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xyXG4gICAgICAgICAgLy8gT24gc3BhY2UgYmFyLCBwYW4gdG8gdGhlIGN1cnJlbnQgbW91c2UgcG9zaXRpb25cclxuICAgICAgICAgIHRoaXMub2xNYXAuZ2V0VmlldygpLmFuaW1hdGUoe1xyXG4gICAgICAgICAgICBjZW50ZXI6IHRoaXMubW91c2VQb3NpdGlvbixcclxuICAgICAgICAgICAgZHVyYXRpb246IDBcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIGtleSBkb3duXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZVRvS2V5RG93bigpIHtcclxuICAgIGlmICh0aGlzLmtleURvd24kJCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMua2V5RG93biQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgYSB0cmFuc2xhdGUgaW50ZXJhY3Rpb24gdG8gdGhlIG1hcCBhbiBzZXQgdXAgc29tZSBsaXN0ZW5lcnNcclxuICAgKi9cclxuICBwcml2YXRlIGFkZE9sVHJhbnNsYXRlSW50ZXJhY3Rpb24oKSB7XHJcbiAgICBjb25zdCBvbFRyYW5zbGF0ZUludGVyYWN0aW9uID0gbmV3IE9sVHJhbnNsYXRlKHtcclxuICAgICAgbGF5ZXJzOiBbdGhpcy5vbE92ZXJsYXlMYXllcl1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5vbFRyYW5zbGF0ZUludGVyYWN0aW9uID0gb2xUcmFuc2xhdGVJbnRlcmFjdGlvbjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgdHJhbnNsYXRlIGludGVyYWN0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVPbFRyYW5zbGF0ZUludGVyYWN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMub2xUcmFuc2xhdGVJbnRlcmFjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRlYWN0aXZhdGVUcmFuc2xhdGVJbnRlcmFjdGlvbigpO1xyXG4gICAgdGhpcy5vbFRyYW5zbGF0ZUludGVyYWN0aW9uID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhY3RpdmF0ZVRyYW5zbGF0ZUludGVyYWN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMub2xUcmFuc2xhdGVJbnRlcmFjdGlvbklzQWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9sVHJhbnNsYXRlSW50ZXJhY3Rpb25Jc0FjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLm9uVHJhbnNsYXRlU3RhcnRLZXkgPSB0aGlzLm9sVHJhbnNsYXRlSW50ZXJhY3Rpb24ub24oXHJcbiAgICAgICd0cmFuc2xhdGVzdGFydCcsXHJcbiAgICAgIChldmVudDogT2xUcmFuc2xhdGVFdmVudCkgPT4gdGhpcy5vblRyYW5zbGF0ZVN0YXJ0KGV2ZW50KVxyXG4gICAgKTtcclxuICAgIHRoaXMub25UcmFuc2xhdGVFbmRLZXkgPSB0aGlzLm9sVHJhbnNsYXRlSW50ZXJhY3Rpb24ub24oXHJcbiAgICAgICd0cmFuc2xhdGVlbmQnLFxyXG4gICAgICAoZXZlbnQ6IE9sVHJhbnNsYXRlRXZlbnQpID0+IHRoaXMub25UcmFuc2xhdGVFbmQoZXZlbnQpXHJcbiAgICApO1xyXG4gICAgdGhpcy5vbE1hcC5hZGRJbnRlcmFjdGlvbih0aGlzLm9sVHJhbnNsYXRlSW50ZXJhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZWFjdGl2YXRlVHJhbnNsYXRlSW50ZXJhY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5vbFRyYW5zbGF0ZUludGVyYWN0aW9uSXNBY3RpdmUgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9sVHJhbnNsYXRlSW50ZXJhY3Rpb25Jc0FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdW5CeUtleShbXHJcbiAgICAgIHRoaXMub25UcmFuc2xhdGVTdGFydEtleSxcclxuICAgICAgdGhpcy5vblRyYW5zbGF0ZUVuZEtleSxcclxuICAgICAgdGhpcy5vblRyYW5zbGF0ZUtleVxyXG4gICAgXSk7XHJcbiAgICBpZiAodGhpcy5vbE1hcCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMub2xNYXAucmVtb3ZlSW50ZXJhY3Rpb24odGhpcy5vbFRyYW5zbGF0ZUludGVyYWN0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gdHJhbnNsYXRpb24gc3RhcnRzLCBjbGVhciB0aGUgb3ZlcmxheSBhbmQgc3RhcnQgd2F0Y2hpbmcgZm9yIGNoYW5nZXNcclxuICAgKiBAcGFyYW0gZXZlbnQgVHJhbnNsYXRlIHN0YXJ0IGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvblRyYW5zbGF0ZVN0YXJ0KGV2ZW50OiBPbFRyYW5zbGF0ZUV2ZW50KSB7XHJcbiAgICBjb25zdCBvbEdlb21ldHJ5ID0gZXZlbnQuZmVhdHVyZXMuaXRlbSgwKS5nZXRHZW9tZXRyeSgpIGFzIE9sR2VvbWV0cnk7XHJcbiAgICB0aGlzLnN0YXJ0JC5uZXh0KG9sR2VvbWV0cnkpO1xyXG4gICAgdGhpcy5vblRyYW5zbGF0ZUtleSA9IG9sR2VvbWV0cnkub24oXHJcbiAgICAgICdjaGFuZ2UnLFxyXG4gICAgICAob2xHZW9tZXRyeUV2ZW50OiBCYXNpY0V2ZW50KSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5jaGFuZ2VzJC5uZXh0KG9sR2VvbWV0cnlFdmVudC50YXJnZXQpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiB0cmFuc2xhdGlvbiBlbmRzLCB1cGRhdGUgdGhlIGdlb21ldHJ5IG9ic2VydmFibGUgYW5kIHN0b3Agd2F0Y2hpZ24gZm9yIGNoYW5nZXNcclxuICAgKiBAcGFyYW0gZXZlbnQgVHJhbnNsYXRlIGVuZCBldmVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25UcmFuc2xhdGVFbmQoZXZlbnQ6IE9sVHJhbnNsYXRlRXZlbnQpIHtcclxuICAgIHVuQnlLZXkodGhpcy5vblRyYW5zbGF0ZUtleSk7XHJcbiAgICB0aGlzLmVuZCQubmV4dChldmVudC5mZWF0dXJlcy5pdGVtKDApLmdldEdlb21ldHJ5KCkgYXMgT2xHZW9tZXRyeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgYSBkcmF3IGludGVyYWN0aW9uIHRvIHRoZSBtYXAgYW4gc2V0IHVwIHNvbWUgbGlzdGVuZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRPbERyYXdJbnRlcmFjdGlvbigpIHtcclxuICAgIGNvbnN0IG9sRHJhd0ludGVyYWN0aW9uID0gbmV3IE9sRHJhdyh7XHJcbiAgICAgIHR5cGU6ICdQb2x5Z29uJyxcclxuICAgICAgc291cmNlOiB0aGlzLm9sTGluZWFyUmluZ3NTb3VyY2UsXHJcbiAgICAgIHN0b3BDbGljazogdHJ1ZSxcclxuICAgICAgc3R5bGU6IGNyZWF0ZURyYXdIb2xlSW50ZXJhY3Rpb25TdHlsZSgpLFxyXG4gICAgICBjb25kaXRpb246IChldmVudDogTWFwQnJvd3NlckV2ZW50PGFueT4pID0+IHtcclxuICAgICAgICBjb25zdCBvbE91dGVyR2VvbWV0cnkgPSB0aGlzLm9sT3V0ZXJHZW9tZXRyeSB8fCB0aGlzLmdldE9sR2VvbWV0cnkoKTtcclxuICAgICAgICBjb25zdCBpbnRlcnNlY3RzID0gb2xPdXRlckdlb21ldHJ5LmludGVyc2VjdHNDb29yZGluYXRlKFxyXG4gICAgICAgICAgZXZlbnQuY29vcmRpbmF0ZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGludGVyc2VjdHM7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMub2xEcmF3SW50ZXJhY3Rpb24gPSBvbERyYXdJbnRlcmFjdGlvbjtcclxuICAgIHRoaXMuc3Vic2NyaWJlVG9EcmF3S2V5RG93bigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaWJlIHRvIENUUkwga2V5IGRvd24gdG8gYWN0aXZhdGUgdGhlIGRyYXcgY29udHJvbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9EcmF3S2V5RG93bigpIHtcclxuICAgIHRoaXMuZHJhd0tleURvd24kJCA9IGZyb21FdmVudChkb2N1bWVudCwgJ2tleWRvd24nKS5zdWJzY3JpYmUoXHJcbiAgICAgIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC5rZXkgIT09ICdDb250cm9sJykge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZVRvRHJhd0tleURvd24oKTtcclxuXHJcbiAgICAgICAgY29uc3Qgb2xHZW9tZXRyeSA9IHRoaXMuZ2V0T2xHZW9tZXRyeSgpO1xyXG4gICAgICAgIGlmICghb2xHZW9tZXRyeSB8fCAhKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvbHlnb24pKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmliZVRvRHJhd0tleVVwKCk7XHJcblxyXG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZU1vZGlmeUludGVyYWN0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5kZWFjdGl2YXRlVHJhbnNsYXRlSW50ZXJhY3Rpb24oKTtcclxuICAgICAgICB0aGlzLmFjdGl2YXRlRHJhd0ludGVyYWN0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpYmUgdG8gQ1RSTCBrZXkgdXAgdG8gZGVhY3RpdmF0ZSB0aGUgZHJhdyBjb250cm9sXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0RyYXdLZXlVcCgpIHtcclxuICAgIHRoaXMuZHJhd0tleVVwJCQgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdrZXl1cCcpLnN1YnNjcmliZShcclxuICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gJ0NvbnRyb2wnKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlVG9EcmF3S2V5VXAoKTtcclxuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlVG9LZXlEb3duKCk7XHJcbiAgICAgICAgdGhpcy5kZWFjdGl2YXRlRHJhd0ludGVyYWN0aW9uKCk7XHJcblxyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVNb2RpZnlJbnRlcmFjdGlvbigpO1xyXG4gICAgICAgIGlmICh0aGlzLnRyYW5zbGF0ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgdGhpcy5hY3RpdmF0ZVRyYW5zbGF0ZUludGVyYWN0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9EcmF3S2V5RG93bigpO1xyXG5cclxuICAgICAgICB0aGlzLm9sT3V0ZXJHZW9tZXRyeSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmNsZWFyT2xMaW5lYXJSaW5nc1NvdXJjZSgpO1xyXG4gICAgICAgIHRoaXMuZW5kJC5uZXh0KHRoaXMuZ2V0T2xHZW9tZXRyeSgpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIGRyYXcga2V5IGRvd25cclxuICAgKi9cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlVG9EcmF3S2V5RG93bigpIHtcclxuICAgIGlmICh0aGlzLmRyYXdLZXlEb3duJCQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmRyYXdLZXlEb3duJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIGtleSB1cFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVUb0RyYXdLZXlVcCgpIHtcclxuICAgIGlmICh0aGlzLmRyYXdLZXlVcCQkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5kcmF3S2V5VXAkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBkcmF3IGludGVyYWN0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVPbERyYXdJbnRlcmFjdGlvbigpIHtcclxuICAgIGlmICh0aGlzLm9sRHJhd0ludGVyYWN0aW9uID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudW5zdWJzY3JpYmVUb0tleURvd24oKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmVUb0RyYXdLZXlVcCgpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVRvRHJhd0tleURvd24oKTtcclxuICAgIHRoaXMuZGVhY3RpdmF0ZURyYXdJbnRlcmFjdGlvbigpO1xyXG4gICAgdGhpcy5jbGVhck9sTGluZWFyUmluZ3NTb3VyY2UoKTtcclxuICAgIHRoaXMub2xEcmF3SW50ZXJhY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBY3RpdmF0ZSB0aGUgZHJhdyBpbnRlcmFjdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWN0aXZhdGVEcmF3SW50ZXJhY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5vbERyYXdJbnRlcmFjdGlvbklzQWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNsZWFyT2xMaW5lYXJSaW5nc1NvdXJjZSgpO1xyXG4gICAgdGhpcy5hZGRPbExpbmVhclJpbmdzTGF5ZXIoKTtcclxuXHJcbiAgICB0aGlzLm9sTWFwLmdldEludGVyYWN0aW9ucygpLmZvckVhY2goKG9sSW50ZXJhY3Rpb246IE9sSW50ZXJhY3Rpb24pID0+IHtcclxuICAgICAgaWYgKG9sSW50ZXJhY3Rpb24gaW5zdGFuY2VvZiBPbERyYWdCb3hJbnRlcmFjdGlvbikge1xyXG4gICAgICAgIHRoaXMub2xNYXAucmVtb3ZlSW50ZXJhY3Rpb24ob2xJbnRlcmFjdGlvbik7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVkT2xJbnRlcmFjdGlvbnMucHVzaChvbEludGVyYWN0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vbERyYXdJbnRlcmFjdGlvbklzQWN0aXZlID0gdHJ1ZTtcclxuICAgIHRoaXMub25EcmF3U3RhcnRLZXkgPSB0aGlzLm9sRHJhd0ludGVyYWN0aW9uLm9uKFxyXG4gICAgICAnZHJhd3N0YXJ0JyxcclxuICAgICAgKGV2ZW50OiBPbERyYXdFdmVudCkgPT4gdGhpcy5vbkRyYXdTdGFydChldmVudClcclxuICAgICk7XHJcbiAgICB0aGlzLm9uRHJhd0VuZEtleSA9IHRoaXMub2xEcmF3SW50ZXJhY3Rpb24ub24oXHJcbiAgICAgICdkcmF3ZW5kJyxcclxuICAgICAgKGV2ZW50OiBPbERyYXdFdmVudCkgPT4gdGhpcy5vbkRyYXdFbmQoZXZlbnQpXHJcbiAgICApO1xyXG4gICAgdGhpcy5vbE1hcC5hZGRJbnRlcmFjdGlvbih0aGlzLm9sRHJhd0ludGVyYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlYWN0aXZhdGUgdGhlIGRyYXcgaW50ZXJhY3Rpb25cclxuICAgKi9cclxuICBwcml2YXRlIGRlYWN0aXZhdGVEcmF3SW50ZXJhY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5vbERyYXdJbnRlcmFjdGlvbklzQWN0aXZlID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yZW1vdmVPbExpbmVhclJpbmdzTGF5ZXIoKTtcclxuXHJcbiAgICB0aGlzLnJlbW92ZWRPbEludGVyYWN0aW9ucy5mb3JFYWNoKChvbEludGVyYWN0aW9uOiBPbEludGVyYWN0aW9uKSA9PiB7XHJcbiAgICAgIHRoaXMub2xNYXAuYWRkSW50ZXJhY3Rpb24ob2xJbnRlcmFjdGlvbik7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucmVtb3ZlZE9sSW50ZXJhY3Rpb25zID0gW107XHJcblxyXG4gICAgdGhpcy5vbERyYXdJbnRlcmFjdGlvbklzQWN0aXZlID0gZmFsc2U7XHJcbiAgICB1bkJ5S2V5KFt0aGlzLm9uRHJhd1N0YXJ0S2V5LCB0aGlzLm9uRHJhd0VuZEtleSwgdGhpcy5vbkRyYXdLZXldKTtcclxuICAgIGlmICh0aGlzLm9sTWFwICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5vbE1hcC5yZW1vdmVJbnRlcmFjdGlvbih0aGlzLm9sRHJhd0ludGVyYWN0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gZHJhdyBzdGFydCwgYWRkIGEgbmV3IGxpbmVyYXIgcmluZyB0byB0aGUgZ2VvbWV0cnkgYW5kIHN0YXJ0IHdhdGNoaW5nIGZvciBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIGV2ZW50IERyYXcgc3RhcnQgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIG9uRHJhd1N0YXJ0KGV2ZW50OiBPbERyYXdFdmVudCkge1xyXG4gICAgY29uc3Qgb2xHZW9tZXRyeSA9IGV2ZW50LmZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcclxuICAgIHRoaXMub2xPdXRlckdlb21ldHJ5ID0gdGhpcy5nZXRPbEdlb21ldHJ5KCkuY2xvbmUoKTtcclxuXHJcbiAgICBjb25zdCBsaW5lYXJSaW5nQ29vcmRpbmF0ZXMgPSAoKG9sR2VvbWV0cnkgYXMgYW55KS5nZXRMaW5lYXJSaW5nKCkgYXMgYW55KS5nZXRDb29yZGluYXRlcygpO1xyXG4gICAgdGhpcy5hZGRMaW5lYXJSaW5nVG9PbEdlb21ldHJ5KGxpbmVhclJpbmdDb29yZGluYXRlcyk7XHJcbiAgICB0aGlzLnN0YXJ0JC5uZXh0KHRoaXMuZ2V0T2xHZW9tZXRyeSgpKTtcclxuXHJcbiAgICB0aGlzLm9uRHJhd0tleSA9IG9sR2VvbWV0cnkub24oXHJcbiAgICAgICdjaGFuZ2UnLFxyXG4gICAgICAob2xHZW9tZXRyeUV2ZW50OiBCYXNpY0V2ZW50KSA9PiB7XHJcbiAgICAgICAgdGhpcy5tb3VzZVBvc2l0aW9uID0gZ2V0TW91c2VQb3NpdGlvbkZyb21PbEdlb21ldHJ5RXZlbnQoXHJcbiAgICAgICAgICBvbEdlb21ldHJ5RXZlbnRcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IG9sR2VvbWV0cnlUYXJnZXQgPSBvbEdlb21ldHJ5RXZlbnQudGFyZ2V0IGFzIE9sUG9seWdvbjtcclxuICAgICAgICBjb25zdCBfbGluZWFyUmluZ0Nvb3JkaW5hdGVzID0gb2xHZW9tZXRyeVRhcmdldFxyXG4gICAgICAgICAgLmdldExpbmVhclJpbmcoMClcclxuICAgICAgICAgIC5nZXRDb29yZGluYXRlcygpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlTGluZWFyUmluZ09mT2xHZW9tZXRyeShfbGluZWFyUmluZ0Nvb3JkaW5hdGVzKTtcclxuICAgICAgICB0aGlzLmNoYW5nZXMkLm5leHQodGhpcy5nZXRPbEdlb21ldHJ5KCkpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb0tleURvd24oKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gdHJhbnNsYXRpb24gZW5kcywgdXBkYXRlIHRoZSBnZW9tZXRyeSBvYnNlcnZhYmxlIGFuZCBzdG9wIHdhdGNoaWduIGZvciBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIGV2ZW50IERyYXcgZW5kIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvbkRyYXdFbmQoZXZlbnQ6IE9sRHJhd0V2ZW50KSB7XHJcbiAgICB1bkJ5S2V5KHRoaXMub25EcmF3S2V5KTtcclxuICAgIHRoaXMub2xPdXRlckdlb21ldHJ5ID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0IGxpbmVhclJpbmdDb29yZGluYXRlcyA9ICgoZXZlbnQuZmVhdHVyZVxyXG4gICAgICAuZ2V0R2VvbWV0cnkoKSBhcyBhbnkpXHJcbiAgICAgIC5nZXRMaW5lYXJSaW5nKCkgYXMgYW55KVxyXG4gICAgICAuZ2V0Q29vcmRpbmF0ZXMoKTtcclxuICAgIHRoaXMudXBkYXRlTGluZWFyUmluZ09mT2xHZW9tZXRyeShsaW5lYXJSaW5nQ29vcmRpbmF0ZXMpO1xyXG4gICAgdGhpcy5jbGVhck9sTGluZWFyUmluZ3NTb3VyY2UoKTtcclxuICAgIHRoaXMuZW5kJC5uZXh0KHRoaXMuZ2V0T2xHZW9tZXRyeSgpKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmVUb0tleURvd24oKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhIGxpbmVhciByaW5nIHRvIHRoZSBnZW9tZXRyeSBiZWluZyBtb2RpZmllZFxyXG4gICAqIEBwYXJhbSBjb29yZGluYXRlcyBMaW5lYXIgcmluZyBjb29yZGluYXRlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkTGluZWFyUmluZ1RvT2xHZW9tZXRyeShjb29yZGluYXRlczogbnVtYmVyW10pIHtcclxuICAgIGNvbnN0IG9sR2VvbWV0cnkgPSB0aGlzLmdldE9sR2VvbWV0cnkoKSBhcyBPbFBvbHlnb247XHJcbiAgICBjb25zdCBvbExpbmVhclJpbmcgPSBuZXcgT2xMaW5lYXJSaW5nKGNvb3JkaW5hdGVzKTtcclxuICAgIGFkZExpbmVhclJpbmdUb09sUG9seWdvbihvbEdlb21ldHJ5LCBvbExpbmVhclJpbmcpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBsYXN0IGxpbmVhciByaW5nIG9mIHRoZSBnZW9tZXRyeSBiZWluZyBtb2RpZmllZFxyXG4gICAqIEBwYXJhbSBjb29yZGluYXRlcyBMaW5lYXIgcmluZyBjb29yZGluYXRlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlTGluZWFyUmluZ09mT2xHZW9tZXRyeShjb29yZGluYXRlczogbnVtYmVyW11bXSkge1xyXG4gICAgY29uc3Qgb2xHZW9tZXRyeSA9IHRoaXMuZ2V0T2xHZW9tZXRyeSgpIGFzIE9sUG9seWdvbjtcclxuICAgIC8vIFJlbW92ZSB0aGUgbGFzdCBsaW5lYXIgcmluZyAodGhlIG9uZSB3ZSBhcmUgdXBkYXRpbmcpXHJcbiAgICBjb25zdCBvbExpbmVhclJpbmdzID0gb2xHZW9tZXRyeS5nZXRMaW5lYXJSaW5ncygpLnNsaWNlKDAsIC0xKTtcclxuICAgIGNvbnN0IG5ld0Nvb3JkaW5hdGVzID0gb2xMaW5lYXJSaW5ncy5tYXAoKG9sTGluZWFyUmluZzogT2xMaW5lYXJSaW5nKSA9PiB7XHJcbiAgICAgIHJldHVybiBvbExpbmVhclJpbmcuZ2V0Q29vcmRpbmF0ZXMoKTtcclxuICAgIH0pO1xyXG4gICAgbmV3Q29vcmRpbmF0ZXMucHVzaChjb29yZGluYXRlcyk7XHJcbiAgICBvbEdlb21ldHJ5LnNldENvb3JkaW5hdGVzKG5ld0Nvb3JkaW5hdGVzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgZ2VvbWV0cnkgYmVpbmcgbW9kaWZpZWRcclxuICAgKiBAcmV0dXJucyBPTCBHZW9tZXRyeVxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0T2xHZW9tZXRyeSgpOiBPbEdlb21ldHJ5IHtcclxuICAgIGNvbnN0IG9sRmVhdHVyZXMgPSB0aGlzLm9sT3ZlcmxheVNvdXJjZS5nZXRGZWF0dXJlcygpO1xyXG4gICAgcmV0dXJuIG9sRmVhdHVyZXMubGVuZ3RoID4gMCA/IG9sRmVhdHVyZXNbMF0uZ2V0R2VvbWV0cnkoKSA6IHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuIl19