@igo2/geo 18.0.0 → 18.0.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/fesm2022/igo2-geo.mjs +684 -709
  2. package/fesm2022/igo2-geo.mjs.map +1 -1
  3. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  4. package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
  5. package/lib/style/style-list/style-list.provider.d.ts +1 -8
  6. package/lib/style/style-list/style-list.service.d.ts +1 -1
  7. package/package.json +15 -17
  8. package/src/lib/layer/layer-list/layer-list.theme.scss +2 -1
  9. package/src/lib/map/menu-button/menu-button.theming.scss +3 -3
  10. package/src/style/style.scss +1 -1
  11. package/esm2022/igo2-geo.mjs +0 -5
  12. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +0 -234
  13. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +0 -272
  14. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +0 -246
  15. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +0 -19
  16. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +0 -136
  17. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +0 -60
  18. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +0 -232
  19. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +0 -24
  20. package/esm2022/lib/catalog/catalog-library/index.mjs +0 -4
  21. package/esm2022/lib/catalog/catalog.module.mjs +0 -26
  22. package/esm2022/lib/catalog/index.mjs +0 -6
  23. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +0 -32
  24. package/esm2022/lib/catalog/shared/catalog.enum.mjs +0 -16
  25. package/esm2022/lib/catalog/shared/catalog.interface.mjs +0 -2
  26. package/esm2022/lib/catalog/shared/catalog.service.mjs +0 -706
  27. package/esm2022/lib/catalog/shared/catalogs.mjs +0 -75
  28. package/esm2022/lib/catalog/shared/index.mjs +0 -5
  29. package/esm2022/lib/datasource/index.mjs +0 -3
  30. package/esm2022/lib/datasource/shared/capabilities.interface.mjs +0 -17
  31. package/esm2022/lib/datasource/shared/capabilities.service.mjs +0 -441
  32. package/esm2022/lib/datasource/shared/datasource.service.mjs +0 -258
  33. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +0 -2
  34. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +0 -2
  35. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +0 -2
  36. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +0 -222
  37. package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +0 -2
  38. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +0 -118
  39. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +0 -2
  40. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +0 -24
  41. package/esm2022/lib/datasource/shared/datasources/data.service.mjs +0 -3
  42. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +0 -2
  43. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +0 -41
  44. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +0 -2
  45. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +0 -52
  46. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +0 -2
  47. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +0 -70
  48. package/esm2022/lib/datasource/shared/datasources/index.mjs +0 -36
  49. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +0 -2
  50. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +0 -33
  51. package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +0 -2
  52. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +0 -14
  53. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +0 -2
  54. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +0 -60
  55. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +0 -2
  56. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +0 -17
  57. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +0 -2
  58. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +0 -56
  59. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +0 -2
  60. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +0 -137
  61. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +0 -170
  62. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +0 -2
  63. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +0 -227
  64. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +0 -224
  65. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +0 -2
  66. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +0 -18
  67. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +0 -2
  68. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +0 -11
  69. package/esm2022/lib/datasource/shared/index.mjs +0 -6
  70. package/esm2022/lib/datasource/shared/options/index.mjs +0 -5
  71. package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +0 -2
  72. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +0 -15
  73. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +0 -85
  74. package/esm2022/lib/datasource/shared/options/options.service.mjs +0 -3
  75. package/esm2022/lib/datasource/utils/index.mjs +0 -2
  76. package/esm2022/lib/datasource/utils/tilegrid.mjs +0 -20
  77. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +0 -246
  78. package/esm2022/lib/directions/directions-buttons/index.mjs +0 -2
  79. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +0 -312
  80. package/esm2022/lib/directions/directions-inputs/index.mjs +0 -2
  81. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +0 -192
  82. package/esm2022/lib/directions/directions-results/index.mjs +0 -2
  83. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +0 -5
  84. package/esm2022/lib/directions/directions-sources/directions-source.mjs +0 -3
  85. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +0 -23
  86. package/esm2022/lib/directions/directions-sources/index.mjs +0 -5
  87. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +0 -159
  88. package/esm2022/lib/directions/directions.component.mjs +0 -437
  89. package/esm2022/lib/directions/directions.module.mjs +0 -46
  90. package/esm2022/lib/directions/directions.provider.mjs +0 -16
  91. package/esm2022/lib/directions/index.mjs +0 -8
  92. package/esm2022/lib/directions/shared/directions-source.service.mjs +0 -18
  93. package/esm2022/lib/directions/shared/directions.enum.mjs +0 -72
  94. package/esm2022/lib/directions/shared/directions.interface.mjs +0 -2
  95. package/esm2022/lib/directions/shared/directions.service.mjs +0 -239
  96. package/esm2022/lib/directions/shared/directions.utils.mjs +0 -522
  97. package/esm2022/lib/directions/shared/index.mjs +0 -6
  98. package/esm2022/lib/directions/shared/store.mjs +0 -21
  99. package/esm2022/lib/download/download-button/download-button.component.mjs +0 -48
  100. package/esm2022/lib/download/download-button/index.mjs +0 -2
  101. package/esm2022/lib/download/download.module.mjs +0 -24
  102. package/esm2022/lib/download/index.mjs +0 -3
  103. package/esm2022/lib/download/shared/download.interface.mjs +0 -2
  104. package/esm2022/lib/download/shared/download.service.mjs +0 -67
  105. package/esm2022/lib/download/shared/index.mjs +0 -3
  106. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +0 -42
  107. package/esm2022/lib/draw/draw/draw-popup.component.mjs +0 -421
  108. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +0 -28
  109. package/esm2022/lib/draw/draw/draw.component.mjs +0 -1136
  110. package/esm2022/lib/draw/draw/draw.module.mjs +0 -19
  111. package/esm2022/lib/draw/drawingTool.module.mjs +0 -18
  112. package/esm2022/lib/draw/index.mjs +0 -3
  113. package/esm2022/lib/draw/shared/draw-icon.service.mjs +0 -30
  114. package/esm2022/lib/draw/shared/draw.enum.mjs +0 -21
  115. package/esm2022/lib/draw/shared/draw.interface.mjs +0 -2
  116. package/esm2022/lib/draw/shared/draw.utils.mjs +0 -125
  117. package/esm2022/lib/draw/shared/index.mjs +0 -5
  118. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  119. package/esm2022/lib/environment/index.mjs +0 -2
  120. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +0 -306
  121. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +0 -56
  122. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +0 -26
  123. package/esm2022/lib/feature/feature-details/index.mjs +0 -4
  124. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +0 -101
  125. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +0 -19
  126. package/esm2022/lib/feature/feature.module.mjs +0 -26
  127. package/esm2022/lib/feature/index.mjs +0 -5
  128. package/esm2022/lib/feature/shared/feature-store.utils.mjs +0 -28
  129. package/esm2022/lib/feature/shared/feature.enums.mjs +0 -9
  130. package/esm2022/lib/feature/shared/feature.interfaces.mjs +0 -2
  131. package/esm2022/lib/feature/shared/feature.utils.mjs +0 -332
  132. package/esm2022/lib/feature/shared/index.mjs +0 -8
  133. package/esm2022/lib/feature/shared/store.mjs +0 -143
  134. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +0 -216
  135. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +0 -119
  136. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +0 -99
  137. package/esm2022/lib/feature/shared/strategies/index.mjs +0 -8
  138. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +0 -103
  139. package/esm2022/lib/feature/shared/strategies/loading.mjs +0 -136
  140. package/esm2022/lib/feature/shared/strategies/search.mjs +0 -158
  141. package/esm2022/lib/feature/shared/strategies/selection.mjs +0 -385
  142. package/esm2022/lib/feature/shared/strategies.utils.mjs +0 -37
  143. package/esm2022/lib/filter/filter.module.mjs +0 -131
  144. package/esm2022/lib/filter/index.mjs +0 -17
  145. package/esm2022/lib/filter/ogc-filter-button/index.mjs +0 -2
  146. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +0 -141
  147. package/esm2022/lib/filter/ogc-filter-form/index.mjs +0 -2
  148. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +0 -325
  149. package/esm2022/lib/filter/ogc-filter-selection/index.mjs +0 -2
  150. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +0 -787
  151. package/esm2022/lib/filter/ogc-filter-time/index.mjs +0 -3
  152. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +0 -201
  153. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +0 -665
  154. package/esm2022/lib/filter/ogc-filterable-form/index.mjs +0 -2
  155. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +0 -66
  156. package/esm2022/lib/filter/ogc-filterable-item/index.mjs +0 -2
  157. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +0 -244
  158. package/esm2022/lib/filter/ogc-filterable-list/index.mjs +0 -3
  159. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +0 -39
  160. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +0 -32
  161. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +0 -63
  162. package/esm2022/lib/filter/shared/index.mjs +0 -12
  163. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +0 -72
  164. package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +0 -30
  165. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +0 -2
  166. package/esm2022/lib/filter/shared/ogc-filter.mjs +0 -756
  167. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +0 -47
  168. package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +0 -23
  169. package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +0 -2
  170. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +0 -282
  171. package/esm2022/lib/filter/shared/time-filter.enum.mjs +0 -13
  172. package/esm2022/lib/filter/shared/time-filter.interface.mjs +0 -2
  173. package/esm2022/lib/filter/shared/time-filter.service.mjs +0 -107
  174. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +0 -2
  175. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +0 -875
  176. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +0 -2
  177. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +0 -191
  178. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +0 -2
  179. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +0 -120
  180. package/esm2022/lib/filter/time-filter-button/index.mjs +0 -2
  181. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +0 -70
  182. package/esm2022/lib/filter/time-filter-form/index.mjs +0 -2
  183. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +0 -537
  184. package/esm2022/lib/filter/time-filter-item/index.mjs +0 -2
  185. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +0 -90
  186. package/esm2022/lib/filter/time-filter-list/index.mjs +0 -3
  187. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +0 -39
  188. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +0 -24
  189. package/esm2022/lib/geo.module.mjs +0 -63
  190. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +0 -559
  191. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +0 -170
  192. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +0 -24
  193. package/esm2022/lib/geometry/geometry-form-field/index.mjs +0 -4
  194. package/esm2022/lib/geometry/geometry.module.mjs +0 -18
  195. package/esm2022/lib/geometry/index.mjs +0 -3
  196. package/esm2022/lib/geometry/shared/controls/draw.mjs +0 -340
  197. package/esm2022/lib/geometry/shared/controls/index.mjs +0 -4
  198. package/esm2022/lib/geometry/shared/controls/modify.mjs +0 -538
  199. package/esm2022/lib/geometry/shared/controls/slice.mjs +0 -190
  200. package/esm2022/lib/geometry/shared/geometry.errors.mjs +0 -24
  201. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +0 -2
  202. package/esm2022/lib/geometry/shared/geometry.utils.mjs +0 -113
  203. package/esm2022/lib/geometry/shared/index.mjs +0 -5
  204. package/esm2022/lib/import-export/export-button/export-button.component.mjs +0 -49
  205. package/esm2022/lib/import-export/export-button/index.mjs +0 -2
  206. package/esm2022/lib/import-export/import-export/import-export.component.mjs +0 -876
  207. package/esm2022/lib/import-export/import-export/index.mjs +0 -2
  208. package/esm2022/lib/import-export/import-export.module.mjs +0 -31
  209. package/esm2022/lib/import-export/index.mjs +0 -5
  210. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +0 -114
  211. package/esm2022/lib/import-export/shared/export.errors.mjs +0 -15
  212. package/esm2022/lib/import-export/shared/export.interface.mjs +0 -2
  213. package/esm2022/lib/import-export/shared/export.service.mjs +0 -378
  214. package/esm2022/lib/import-export/shared/export.type.mjs +0 -13
  215. package/esm2022/lib/import-export/shared/export.utils.mjs +0 -51
  216. package/esm2022/lib/import-export/shared/import.errors.mjs +0 -39
  217. package/esm2022/lib/import-export/shared/import.interface.mjs +0 -2
  218. package/esm2022/lib/import-export/shared/import.service.mjs +0 -221
  219. package/esm2022/lib/import-export/shared/import.utils.mjs +0 -203
  220. package/esm2022/lib/import-export/shared/index.mjs +0 -11
  221. package/esm2022/lib/layer/index.mjs +0 -16
  222. package/esm2022/lib/layer/layer-group/index.mjs +0 -2
  223. package/esm2022/lib/layer/layer-group/layer-group.component.mjs +0 -103
  224. package/esm2022/lib/layer/layer-item/index.mjs +0 -2
  225. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +0 -196
  226. package/esm2022/lib/layer/layer-legend/index.mjs +0 -2
  227. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +0 -287
  228. package/esm2022/lib/layer/layer-legend-item/index.mjs +0 -2
  229. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +0 -85
  230. package/esm2022/lib/layer/layer-legend-list/index.mjs +0 -3
  231. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +0 -54
  232. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +0 -104
  233. package/esm2022/lib/layer/layer-list/index.mjs +0 -2
  234. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +0 -232
  235. package/esm2022/lib/layer/layer-list-tool/index.mjs +0 -4
  236. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +0 -92
  237. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +0 -7
  238. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +0 -61
  239. package/esm2022/lib/layer/layer-search/index.mjs +0 -2
  240. package/esm2022/lib/layer/layer-search/layer-search.component.mjs +0 -65
  241. package/esm2022/lib/layer/layer-unavailable/index.mjs +0 -3
  242. package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +0 -25
  243. package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +0 -35
  244. package/esm2022/lib/layer/layer-viewer/index.mjs +0 -3
  245. package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +0 -226
  246. package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +0 -2
  247. package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +0 -2
  248. package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +0 -207
  249. package/esm2022/lib/layer/layer-visibility-button/index.mjs +0 -2
  250. package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +0 -83
  251. package/esm2022/lib/layer/layer.module.mjs +0 -107
  252. package/esm2022/lib/layer/shared/clusterParam.mjs +0 -2
  253. package/esm2022/lib/layer/shared/index.mjs +0 -6
  254. package/esm2022/lib/layer/shared/layer-controller.mjs +0 -316
  255. package/esm2022/lib/layer/shared/layer-selection.mjs +0 -38
  256. package/esm2022/lib/layer/shared/layer.enums.mjs +0 -2
  257. package/esm2022/lib/layer/shared/layer.service.mjs +0 -315
  258. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +0 -2
  259. package/esm2022/lib/layer/shared/layers/any-layer.mjs +0 -2
  260. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +0 -2
  261. package/esm2022/lib/layer/shared/layers/image-layer.mjs +0 -75
  262. package/esm2022/lib/layer/shared/layers/index.mjs +0 -18
  263. package/esm2022/lib/layer/shared/layers/layer-base.mjs +0 -199
  264. package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +0 -2
  265. package/esm2022/lib/layer/shared/layers/layer-group.mjs +0 -120
  266. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +0 -7
  267. package/esm2022/lib/layer/shared/layers/layer.mjs +0 -178
  268. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +0 -2
  269. package/esm2022/lib/layer/shared/layers/linked/index.mjs +0 -4
  270. package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +0 -12
  271. package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +0 -242
  272. package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +0 -70
  273. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +0 -2
  274. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +0 -55
  275. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +0 -2
  276. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +0 -576
  277. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +0 -2
  278. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +0 -112
  279. package/esm2022/lib/layer/track-feature-button/index.mjs +0 -2
  280. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +0 -54
  281. package/esm2022/lib/layer/utils/image-watcher.mjs +0 -62
  282. package/esm2022/lib/layer/utils/index.mjs +0 -6
  283. package/esm2022/lib/layer/utils/layer.utils.mjs +0 -57
  284. package/esm2022/lib/layer/utils/outputLegend.mjs +0 -32
  285. package/esm2022/lib/layer/utils/tile-watcher.mjs +0 -52
  286. package/esm2022/lib/layer/utils/vector-watcher.mjs +0 -50
  287. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +0 -20
  288. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +0 -87
  289. package/esm2022/lib/map/baselayers-switcher/index.mjs +0 -3
  290. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +0 -122
  291. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +0 -78
  292. package/esm2022/lib/map/geolocate-button/index.mjs +0 -2
  293. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +0 -73
  294. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +0 -2
  295. package/esm2022/lib/map/home-extent-button/index.mjs +0 -3
  296. package/esm2022/lib/map/index.mjs +0 -14
  297. package/esm2022/lib/map/info-section/index.mjs +0 -2
  298. package/esm2022/lib/map/info-section/info-section.component.mjs +0 -15
  299. package/esm2022/lib/map/map-browser/index.mjs +0 -2
  300. package/esm2022/lib/map/map-browser/map-browser.component.mjs +0 -67
  301. package/esm2022/lib/map/map-center/index.mjs +0 -2
  302. package/esm2022/lib/map/map-center/map-center.component.mjs +0 -56
  303. package/esm2022/lib/map/map.module.mjs +0 -89
  304. package/esm2022/lib/map/menu-button/index.mjs +0 -2
  305. package/esm2022/lib/map/menu-button/menu-button.component.mjs +0 -57
  306. package/esm2022/lib/map/offline-button/index.mjs +0 -2
  307. package/esm2022/lib/map/offline-button/offline-button.component.mjs +0 -53
  308. package/esm2022/lib/map/rotation-button/index.mjs +0 -2
  309. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +0 -58
  310. package/esm2022/lib/map/shared/controllers/controller.mjs +0 -44
  311. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +0 -8
  312. package/esm2022/lib/map/shared/controllers/geolocation.mjs +0 -431
  313. package/esm2022/lib/map/shared/controllers/index.mjs +0 -5
  314. package/esm2022/lib/map/shared/controllers/view.mjs +0 -361
  315. package/esm2022/lib/map/shared/hover-feature.directive.mjs +0 -481
  316. package/esm2022/lib/map/shared/index.mjs +0 -15
  317. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +0 -238
  318. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +0 -122
  319. package/esm2022/lib/map/shared/map.abstract.mjs +0 -24
  320. package/esm2022/lib/map/shared/map.enums.mjs +0 -6
  321. package/esm2022/lib/map/shared/map.interface.mjs +0 -2
  322. package/esm2022/lib/map/shared/map.mjs +0 -201
  323. package/esm2022/lib/map/shared/map.service.mjs +0 -29
  324. package/esm2022/lib/map/shared/map.utils.mjs +0 -455
  325. package/esm2022/lib/map/shared/mapOffline.directive.mjs +0 -114
  326. package/esm2022/lib/map/shared/projection.interfaces.mjs +0 -2
  327. package/esm2022/lib/map/shared/projection.service.mjs +0 -67
  328. package/esm2022/lib/map/shared/projection.utils.mjs +0 -122
  329. package/esm2022/lib/map/swipe-control/index.mjs +0 -2
  330. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +0 -211
  331. package/esm2022/lib/map/utils/index.mjs +0 -2
  332. package/esm2022/lib/map/utils/layer-watcher.mjs +0 -112
  333. package/esm2022/lib/map/wake-lock-button/index.mjs +0 -2
  334. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +0 -103
  335. package/esm2022/lib/map/zoom-button/index.mjs +0 -2
  336. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +0 -35
  337. package/esm2022/lib/measure/index.mjs +0 -3
  338. package/esm2022/lib/measure/measure.module.mjs +0 -20
  339. package/esm2022/lib/measure/measurer/index.mjs +0 -6
  340. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +0 -40
  341. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +0 -38
  342. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +0 -143
  343. package/esm2022/lib/measure/measurer/measurer.component.mjs +0 -948
  344. package/esm2022/lib/measure/measurer/measurer.module.mjs +0 -20
  345. package/esm2022/lib/measure/shared/index.mjs +0 -4
  346. package/esm2022/lib/measure/shared/measure.enum.mjs +0 -37
  347. package/esm2022/lib/measure/shared/measure.interfaces.mjs +0 -2
  348. package/esm2022/lib/measure/shared/measure.utils.mjs +0 -497
  349. package/esm2022/lib/metadata/index.mjs +0 -4
  350. package/esm2022/lib/metadata/metadata-button/index.mjs +0 -2
  351. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +0 -96
  352. package/esm2022/lib/metadata/metadata.module.mjs +0 -29
  353. package/esm2022/lib/metadata/shared/index.mjs +0 -3
  354. package/esm2022/lib/metadata/shared/metadata.interface.mjs +0 -2
  355. package/esm2022/lib/metadata/shared/metadata.service.mjs +0 -18
  356. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +0 -130
  357. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +0 -6
  358. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +0 -2
  359. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +0 -172
  360. package/esm2022/lib/offline/geoDB/index.mjs +0 -5
  361. package/esm2022/lib/offline/index.mjs +0 -6
  362. package/esm2022/lib/offline/layerDB/index.mjs +0 -3
  363. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +0 -2
  364. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +0 -83
  365. package/esm2022/lib/offline/offline.interface.mjs +0 -2
  366. package/esm2022/lib/offline/offline.provider.mjs +0 -50
  367. package/esm2022/lib/offline/shared/geo-network.service.mjs +0 -79
  368. package/esm2022/lib/offline/shared/index.mjs +0 -2
  369. package/esm2022/lib/overlay/index.mjs +0 -2
  370. package/esm2022/lib/overlay/shared/index.mjs +0 -4
  371. package/esm2022/lib/overlay/shared/overlay.enum.mjs +0 -8
  372. package/esm2022/lib/overlay/shared/overlay.mjs +0 -139
  373. package/esm2022/lib/overlay/shared/overlay.utils.mjs +0 -17
  374. package/esm2022/lib/print/index.mjs +0 -4
  375. package/esm2022/lib/print/print/print.component.mjs +0 -116
  376. package/esm2022/lib/print/print-form/index.mjs +0 -2
  377. package/esm2022/lib/print/print-form/print-form.component.mjs +0 -320
  378. package/esm2022/lib/print/print.module.mjs +0 -20
  379. package/esm2022/lib/print/shared/geopdf.mjs +0 -68
  380. package/esm2022/lib/print/shared/index.mjs +0 -5
  381. package/esm2022/lib/print/shared/print.interface.mjs +0 -2
  382. package/esm2022/lib/print/shared/print.service.mjs +0 -1136
  383. package/esm2022/lib/print/shared/print.type.mjs +0 -30
  384. package/esm2022/lib/query/index.mjs +0 -2
  385. package/esm2022/lib/query/query.module.mjs +0 -27
  386. package/esm2022/lib/query/shared/index.mjs +0 -8
  387. package/esm2022/lib/query/shared/query-search-source.mjs +0 -35
  388. package/esm2022/lib/query/shared/query-search-source.providers.mjs +0 -22
  389. package/esm2022/lib/query/shared/query.directive.mjs +0 -290
  390. package/esm2022/lib/query/shared/query.enums.mjs +0 -32
  391. package/esm2022/lib/query/shared/query.interfaces.mjs +0 -2
  392. package/esm2022/lib/query/shared/query.service.mjs +0 -753
  393. package/esm2022/lib/query/shared/query.utils.mjs +0 -45
  394. package/esm2022/lib/search/index.mjs +0 -10
  395. package/esm2022/lib/search/search-bar/search-bar.component.mjs +0 -483
  396. package/esm2022/lib/search/search-bar/search-bar.module.mjs +0 -19
  397. package/esm2022/lib/search/search-results/index.mjs +0 -5
  398. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +0 -101
  399. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +0 -433
  400. package/esm2022/lib/search/search-results/search-results-item.component.mjs +0 -119
  401. package/esm2022/lib/search/search-results/search-results.component.mjs +0 -297
  402. package/esm2022/lib/search/search-results/search-results.directive.mjs +0 -7
  403. package/esm2022/lib/search/search-results/search-results.module.mjs +0 -20
  404. package/esm2022/lib/search/search-selector/search-selector.component.mjs +0 -118
  405. package/esm2022/lib/search/search-selector/search-selector.module.mjs +0 -19
  406. package/esm2022/lib/search/search-settings/search-settings.component.mjs +0 -264
  407. package/esm2022/lib/search/search-settings/search-settings.module.mjs +0 -19
  408. package/esm2022/lib/search/search.module.mjs +0 -77
  409. package/esm2022/lib/search/shared/index.mjs +0 -10
  410. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +0 -328
  411. package/esm2022/lib/search/shared/search-source-service.providers.mjs +0 -20
  412. package/esm2022/lib/search/shared/search-source.service.mjs +0 -56
  413. package/esm2022/lib/search/shared/search.enums.mjs +0 -4
  414. package/esm2022/lib/search/shared/search.interfaces.mjs +0 -2
  415. package/esm2022/lib/search/shared/search.provider.mjs +0 -20
  416. package/esm2022/lib/search/shared/search.service.mjs +0 -149
  417. package/esm2022/lib/search/shared/search.utils.mjs +0 -92
  418. package/esm2022/lib/search/shared/sources/cadastre.mjs +0 -142
  419. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +0 -32
  420. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +0 -2
  421. package/esm2022/lib/search/shared/sources/coordinates.mjs +0 -168
  422. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +0 -52
  423. package/esm2022/lib/search/shared/sources/icherche-icons.mjs +0 -32
  424. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +0 -2
  425. package/esm2022/lib/search/shared/sources/icherche.mjs +0 -816
  426. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +0 -87
  427. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +0 -2
  428. package/esm2022/lib/search/shared/sources/ilayer.mjs +0 -339
  429. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +0 -58
  430. package/esm2022/lib/search/shared/sources/index.mjs +0 -23
  431. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +0 -2
  432. package/esm2022/lib/search/shared/sources/nominatim.mjs +0 -263
  433. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +0 -31
  434. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +0 -13
  435. package/esm2022/lib/search/shared/sources/source.mjs +0 -221
  436. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +0 -2
  437. package/esm2022/lib/search/shared/sources/storedqueries.mjs +0 -454
  438. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +0 -56
  439. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +0 -2
  440. package/esm2022/lib/search/shared/sources/workspace.mjs +0 -192
  441. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +0 -31
  442. package/esm2022/lib/style/index.mjs +0 -5
  443. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +0 -360
  444. package/esm2022/lib/style/shared/datasource/index.mjs +0 -2
  445. package/esm2022/lib/style/shared/feature/feature-style.mjs +0 -162
  446. package/esm2022/lib/style/shared/feature/index.mjs +0 -2
  447. package/esm2022/lib/style/shared/font.enum.mjs +0 -17
  448. package/esm2022/lib/style/shared/index.mjs +0 -5
  449. package/esm2022/lib/style/shared/overlay/index.mjs +0 -3
  450. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +0 -39
  451. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +0 -88
  452. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +0 -78
  453. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +0 -27
  454. package/esm2022/lib/style/shared/vector/index.mjs +0 -4
  455. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +0 -2
  456. package/esm2022/lib/style/style-list/index.mjs +0 -5
  457. package/esm2022/lib/style/style-list/style-list.interface.mjs +0 -2
  458. package/esm2022/lib/style/style-list/style-list.module.mjs +0 -23
  459. package/esm2022/lib/style/style-list/style-list.provider.mjs +0 -21
  460. package/esm2022/lib/style/style-list/style-list.service.mjs +0 -52
  461. package/esm2022/lib/style/style-modal/drawing/index.mjs +0 -2
  462. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +0 -193
  463. package/esm2022/lib/style/style-modal/index.mjs +0 -5
  464. package/esm2022/lib/style/style-modal/layer/index.mjs +0 -2
  465. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +0 -142
  466. package/esm2022/lib/style/style-modal/layer-button/index.mjs +0 -2
  467. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +0 -44
  468. package/esm2022/lib/style/style-modal/shared/index.mjs +0 -2
  469. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +0 -2
  470. package/esm2022/lib/style/style-service/draw-style.service.mjs +0 -255
  471. package/esm2022/lib/style/style-service/index.mjs +0 -3
  472. package/esm2022/lib/style/style-service/style.service.mjs +0 -393
  473. package/esm2022/lib/style/style.module.mjs +0 -46
  474. package/esm2022/lib/toast/index.mjs +0 -2
  475. package/esm2022/lib/toast/toast.component.mjs +0 -99
  476. package/esm2022/lib/toast/toast.module.mjs +0 -24
  477. package/esm2022/lib/utils/googleLinks.mjs +0 -13
  478. package/esm2022/lib/utils/id-generator.mjs +0 -112
  479. package/esm2022/lib/utils/index.mjs +0 -5
  480. package/esm2022/lib/utils/osmLinks.mjs +0 -9
  481. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +0 -3
  482. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +0 -2
  483. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +0 -64
  484. package/esm2022/lib/wkt/index.mjs +0 -2
  485. package/esm2022/lib/wkt/shared/index.mjs +0 -2
  486. package/esm2022/lib/wkt/shared/wkt.service.mjs +0 -235
  487. package/esm2022/lib/wkt/wkt.module.mjs +0 -25
  488. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +0 -36
  489. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +0 -19
  490. package/esm2022/lib/workspace/confirmation-popup/index.mjs +0 -3
  491. package/esm2022/lib/workspace/index.mjs +0 -8
  492. package/esm2022/lib/workspace/shared/edition-workspace.mjs +0 -301
  493. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +0 -720
  494. package/esm2022/lib/workspace/shared/feature-workspace.mjs +0 -41
  495. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +0 -113
  496. package/esm2022/lib/workspace/shared/index.mjs +0 -8
  497. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +0 -41
  498. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +0 -121
  499. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +0 -248
  500. package/esm2022/lib/workspace/shared/workspace.utils.mjs +0 -188
  501. package/esm2022/lib/workspace/widgets/index.mjs +0 -4
  502. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +0 -48
  503. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +0 -19
  504. package/esm2022/lib/workspace/widgets/widgets.mjs +0 -15
  505. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +0 -172
  506. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -19
  507. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +0 -137
  508. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +0 -19
  509. package/esm2022/lib/workspace/workspace.module.mjs +0 -32
  510. package/esm2022/public_api.mjs +0 -56
@@ -1,112 +0,0 @@
1
- import { SubjectStatus, Watcher } from '@igo2/utils';
2
- import LayerGroup from 'ol/layer/Group';
3
- import { BehaviorSubject, fromEvent, merge } from 'rxjs';
4
- import { distinctUntilChanged, map } from 'rxjs/operators';
5
- import { LinkedProperties } from '../../layer/shared/layers/linked/linked-layer.interface';
6
- export class LayerWatcher extends Watcher {
7
- propertyChange$ = new BehaviorSubject(undefined);
8
- loaded = 0;
9
- loading = 0;
10
- layers = [];
11
- subscriptionsByLayerId = new Map();
12
- subscriptions = [];
13
- constructor() {
14
- super();
15
- }
16
- watch() {
17
- // empty watch
18
- }
19
- unwatch() {
20
- this.layers.forEach((layer) => this.unwatchLayer(layer), this);
21
- }
22
- setPropertyChange(change) {
23
- if (![
24
- LinkedProperties.TIMEFILTER,
25
- LinkedProperties.OGCFILTERS,
26
- LinkedProperties.VISIBLE,
27
- LinkedProperties.OPACITY,
28
- LinkedProperties.MINRESOLUTION,
29
- LinkedProperties.MAXRESOLUTION,
30
- LinkedProperties.ZINDEX,
31
- LinkedProperties.DISPLAYED
32
- ].includes(change.event.key)) {
33
- return;
34
- }
35
- this.propertyChange$.next(change);
36
- }
37
- watchLayer(layer) {
38
- if (layer.status$ === undefined) {
39
- return;
40
- }
41
- if (layer.ol instanceof LayerGroup) {
42
- return;
43
- }
44
- this._watchLayer(layer);
45
- const layer$$ = layer.status$
46
- .pipe(distinctUntilChanged())
47
- .subscribe((status) => {
48
- if (status === SubjectStatus.Error) {
49
- this.loading = 0;
50
- this.loaded = -1;
51
- }
52
- if (status === SubjectStatus.Working) {
53
- this.loading += 1;
54
- }
55
- else if (status === SubjectStatus.Done) {
56
- this.loaded += 1;
57
- }
58
- if (this.loaded >= this.loading) {
59
- this.loading = this.loaded = 0;
60
- this.status = SubjectStatus.Done;
61
- }
62
- else if (this.loading > 0) {
63
- this.status = SubjectStatus.Working;
64
- }
65
- });
66
- this.subscriptions.push(layer$$);
67
- }
68
- _watchLayer(layer) {
69
- const displayed$ = layer.displayed$.pipe(map((value) => ({
70
- event: {
71
- key: 'displayed',
72
- oldValue: !value,
73
- value: layer.displayed
74
- },
75
- layer
76
- })));
77
- const subscription = merge(this.createOlEventObservable(layer.ol, layer), this.createOlEventObservable(layer.dataSource.ol, layer), displayed$).subscribe((change) => this.setPropertyChange(change));
78
- this.layers.push(layer);
79
- this.subscriptionsByLayerId.set(layer.id, [subscription]);
80
- }
81
- createOlEventObservable(target, layer) {
82
- return fromEvent(target, 'propertychange').pipe(map((change) => ({
83
- event: { ...change, value: target.get(change.key) },
84
- layer
85
- })));
86
- }
87
- unwatchLayer(layer) {
88
- if (layer.ol instanceof LayerGroup) {
89
- return;
90
- }
91
- this._unwatchLayer(layer);
92
- }
93
- _unwatchLayer(layer) {
94
- layer.status$.next(SubjectStatus.Done);
95
- this.subscriptionsByLayerId.get(layer.id)?.forEach((sub$) => {
96
- sub$.unsubscribe();
97
- this.subscriptionsByLayerId.delete(layer.id);
98
- });
99
- const index = this.layers.indexOf(layer);
100
- if (index >= 0) {
101
- const status = layer.watcher.status;
102
- if ([SubjectStatus.Working, SubjectStatus.Waiting].indexOf(status) !== -1) {
103
- this.loaded += 1;
104
- }
105
- this.subscriptions[index].unsubscribe();
106
- this.subscriptions.splice(index, 1);
107
- this.layers.splice(index, 1);
108
- layer.watcher.unwatch();
109
- }
110
- }
111
- }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItd2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC91dGlscy9sYXllci13YXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3JELE9BQU8sVUFBVSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFDTCxlQUFlLEVBR2YsU0FBUyxFQUNULEtBQUssRUFDTixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQVczRixNQUFNLE9BQU8sWUFBYSxTQUFRLE9BQU87SUFDaEMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUNwRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNaLE1BQU0sR0FBWSxFQUFFLENBQUM7SUFDckIsc0JBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7SUFDM0QsYUFBYSxHQUFtQixFQUFFLENBQUM7SUFFM0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxLQUFLO1FBQ0gsY0FBYztJQUNoQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUEwQjtRQUMxQyxJQUNFLENBQUM7WUFDQyxnQkFBZ0IsQ0FBQyxVQUFVO1lBQzNCLGdCQUFnQixDQUFDLFVBQVU7WUFDM0IsZ0JBQWdCLENBQUMsT0FBTztZQUN4QixnQkFBZ0IsQ0FBQyxPQUFPO1lBQ3hCLGdCQUFnQixDQUFDLGFBQWE7WUFDOUIsZ0JBQWdCLENBQUMsYUFBYTtZQUM5QixnQkFBZ0IsQ0FBQyxNQUFNO1lBQ3ZCLGdCQUFnQixDQUFDLFNBQVM7U0FDM0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFVLENBQUMsRUFDbkMsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFlO1FBQ3hCLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLEVBQUUsWUFBWSxVQUFVLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBYyxDQUFDLENBQUM7UUFFakMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU87YUFDMUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDNUIsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxNQUFNLEtBQUssYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNuQixDQUFDO1lBQ0QsSUFBSSxNQUFNLEtBQUssYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztZQUNwQixDQUFDO2lCQUFNLElBQUksTUFBTSxLQUFLLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFDbkIsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQztZQUNuQyxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBWTtRQUM5QixNQUFNLFVBQVUsR0FBbUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3RFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNkLEtBQUssRUFBRTtnQkFDTCxHQUFHLEVBQUUsV0FBVztnQkFDaEIsUUFBUSxFQUFFLENBQUMsS0FBSztnQkFDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTO2FBQ3ZCO1lBQ0QsS0FBSztTQUNOLENBQUMsQ0FBQyxDQUNKLENBQUM7UUFDRixNQUFNLFlBQVksR0FBRyxLQUFLLENBQ3hCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUM3QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQ3hELFVBQVUsQ0FDWCxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU8sdUJBQXVCLENBQzdCLE1BQWtCLEVBQ2xCLEtBQVk7UUFFWixPQUFPLFNBQVMsQ0FBYyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQzFELEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNmLEtBQUssRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNuRCxLQUFLO1NBQ04sQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBZTtRQUMxQixJQUFJLEtBQUssQ0FBQyxFQUFFLFlBQVksVUFBVSxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQWMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBWTtRQUNoQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDZixNQUFNLE1BQU0sR0FBSSxLQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUM3QyxJQUNFLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNyRSxDQUFDO2dCQUNELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQ25CLENBQUM7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUIsS0FBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdFN0YXR1cywgV2F0Y2hlciB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IEJhc2VPYmplY3QsIHsgT2JqZWN0RXZlbnQgfSBmcm9tICdvbC9PYmplY3QnO1xuaW1wb3J0IExheWVyR3JvdXAgZnJvbSAnb2wvbGF5ZXIvR3JvdXAnO1xuXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIFN1YnNjcmlwdGlvbixcbiAgZnJvbUV2ZW50LFxuICBtZXJnZVxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB0eXBlIHsgQW55TGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2FueS1sYXllcic7XG5pbXBvcnQgdHlwZSB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XG5pbXBvcnQgeyBMaW5rZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9saW5rZWQvbGlua2VkLWxheWVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJXYXRjaGVyQ2hhbmdlIHtcbiAgZXZlbnQ6IExheWVyV2F0Y2hlckV2ZW50O1xuICBsYXllcjogTGF5ZXI7XG59XG5cbnR5cGUgTGF5ZXJXYXRjaGVyRXZlbnQgPSBQaWNrPE9iamVjdEV2ZW50LCAna2V5JyB8ICdvbGRWYWx1ZSc+ICYge1xuICB2YWx1ZTogdW5rbm93bjtcbn07XG5cbmV4cG9ydCBjbGFzcyBMYXllcldhdGNoZXIgZXh0ZW5kcyBXYXRjaGVyIHtcbiAgcHVibGljIHByb3BlcnR5Q2hhbmdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGF5ZXJXYXRjaGVyQ2hhbmdlPih1bmRlZmluZWQpO1xuICBwcml2YXRlIGxvYWRlZCA9IDA7XG4gIHByaXZhdGUgbG9hZGluZyA9IDA7XG4gIHByaXZhdGUgbGF5ZXJzOiBMYXllcltdID0gW107XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uc0J5TGF5ZXJJZCA9IG5ldyBNYXA8c3RyaW5nLCBTdWJzY3JpcHRpb25bXT4oKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICB3YXRjaCgpIHtcbiAgICAvLyBlbXB0eSB3YXRjaFxuICB9XG5cbiAgdW53YXRjaCgpIHtcbiAgICB0aGlzLmxheWVycy5mb3JFYWNoKChsYXllcikgPT4gdGhpcy51bndhdGNoTGF5ZXIobGF5ZXIpLCB0aGlzKTtcbiAgfVxuXG4gIHNldFByb3BlcnR5Q2hhbmdlKGNoYW5nZTogTGF5ZXJXYXRjaGVyQ2hhbmdlKSB7XG4gICAgaWYgKFxuICAgICAgIVtcbiAgICAgICAgTGlua2VkUHJvcGVydGllcy5USU1FRklMVEVSLFxuICAgICAgICBMaW5rZWRQcm9wZXJ0aWVzLk9HQ0ZJTFRFUlMsXG4gICAgICAgIExpbmtlZFByb3BlcnRpZXMuVklTSUJMRSxcbiAgICAgICAgTGlua2VkUHJvcGVydGllcy5PUEFDSVRZLFxuICAgICAgICBMaW5rZWRQcm9wZXJ0aWVzLk1JTlJFU09MVVRJT04sXG4gICAgICAgIExpbmtlZFByb3BlcnRpZXMuTUFYUkVTT0xVVElPTixcbiAgICAgICAgTGlua2VkUHJvcGVydGllcy5aSU5ERVgsXG4gICAgICAgIExpbmtlZFByb3BlcnRpZXMuRElTUExBWUVEXG4gICAgICBdLmluY2x1ZGVzKGNoYW5nZS5ldmVudC5rZXkgYXMgYW55KVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnByb3BlcnR5Q2hhbmdlJC5uZXh0KGNoYW5nZSk7XG4gIH1cblxuICB3YXRjaExheWVyKGxheWVyOiBBbnlMYXllcikge1xuICAgIGlmIChsYXllci5zdGF0dXMkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobGF5ZXIub2wgaW5zdGFuY2VvZiBMYXllckdyb3VwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fd2F0Y2hMYXllcihsYXllciBhcyBMYXllcik7XG5cbiAgICBjb25zdCBsYXllciQkID0gbGF5ZXIuc3RhdHVzJFxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBTdWJqZWN0U3RhdHVzLkVycm9yKSB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gMDtcbiAgICAgICAgICB0aGlzLmxvYWRlZCA9IC0xO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0dXMgPT09IFN1YmplY3RTdGF0dXMuV29ya2luZykge1xuICAgICAgICAgIHRoaXMubG9hZGluZyArPSAxO1xuICAgICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gU3ViamVjdFN0YXR1cy5Eb25lKSB7XG4gICAgICAgICAgdGhpcy5sb2FkZWQgKz0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxvYWRlZCA+PSB0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0aGlzLmxvYWRlZCA9IDA7XG4gICAgICAgICAgdGhpcy5zdGF0dXMgPSBTdWJqZWN0U3RhdHVzLkRvbmU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5sb2FkaW5nID4gMCkge1xuICAgICAgICAgIHRoaXMuc3RhdHVzID0gU3ViamVjdFN0YXR1cy5Xb3JraW5nO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGxheWVyJCQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfd2F0Y2hMYXllcihsYXllcjogTGF5ZXIpIHtcbiAgICBjb25zdCBkaXNwbGF5ZWQkOiBPYnNlcnZhYmxlPExheWVyV2F0Y2hlckNoYW5nZT4gPSBsYXllci5kaXNwbGF5ZWQkLnBpcGUoXG4gICAgICBtYXAoKHZhbHVlKSA9PiAoe1xuICAgICAgICBldmVudDoge1xuICAgICAgICAgIGtleTogJ2Rpc3BsYXllZCcsXG4gICAgICAgICAgb2xkVmFsdWU6ICF2YWx1ZSxcbiAgICAgICAgICB2YWx1ZTogbGF5ZXIuZGlzcGxheWVkXG4gICAgICAgIH0sXG4gICAgICAgIGxheWVyXG4gICAgICB9KSlcbiAgICApO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG1lcmdlKFxuICAgICAgdGhpcy5jcmVhdGVPbEV2ZW50T2JzZXJ2YWJsZShsYXllci5vbCwgbGF5ZXIpLFxuICAgICAgdGhpcy5jcmVhdGVPbEV2ZW50T2JzZXJ2YWJsZShsYXllci5kYXRhU291cmNlLm9sLCBsYXllciksXG4gICAgICBkaXNwbGF5ZWQkXG4gICAgKS5zdWJzY3JpYmUoKGNoYW5nZSkgPT4gdGhpcy5zZXRQcm9wZXJ0eUNoYW5nZShjaGFuZ2UpKTtcblxuICAgIHRoaXMubGF5ZXJzLnB1c2gobGF5ZXIpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uc0J5TGF5ZXJJZC5zZXQobGF5ZXIuaWQsIFtzdWJzY3JpcHRpb25dKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlT2xFdmVudE9ic2VydmFibGUoXG4gICAgdGFyZ2V0OiBCYXNlT2JqZWN0LFxuICAgIGxheWVyOiBMYXllclxuICApOiBPYnNlcnZhYmxlPExheWVyV2F0Y2hlckNoYW5nZT4ge1xuICAgIHJldHVybiBmcm9tRXZlbnQ8T2JqZWN0RXZlbnQ+KHRhcmdldCwgJ3Byb3BlcnR5Y2hhbmdlJykucGlwZShcbiAgICAgIG1hcCgoY2hhbmdlKSA9PiAoe1xuICAgICAgICBldmVudDogeyAuLi5jaGFuZ2UsIHZhbHVlOiB0YXJnZXQuZ2V0KGNoYW5nZS5rZXkpIH0sXG4gICAgICAgIGxheWVyXG4gICAgICB9KSlcbiAgICApO1xuICB9XG5cbiAgdW53YXRjaExheWVyKGxheWVyOiBBbnlMYXllcikge1xuICAgIGlmIChsYXllci5vbCBpbnN0YW5jZW9mIExheWVyR3JvdXApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl91bndhdGNoTGF5ZXIobGF5ZXIgYXMgTGF5ZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW53YXRjaExheWVyKGxheWVyOiBMYXllcikge1xuICAgIGxheWVyLnN0YXR1cyQubmV4dChTdWJqZWN0U3RhdHVzLkRvbmUpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zQnlMYXllcklkLmdldChsYXllci5pZCk/LmZvckVhY2goKHN1YiQpID0+IHtcbiAgICAgIHN1YiQudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc0J5TGF5ZXJJZC5kZWxldGUobGF5ZXIuaWQpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmxheWVycy5pbmRleE9mKGxheWVyKTtcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgY29uc3Qgc3RhdHVzID0gKGxheWVyIGFzIGFueSkud2F0Y2hlci5zdGF0dXM7XG4gICAgICBpZiAoXG4gICAgICAgIFtTdWJqZWN0U3RhdHVzLldvcmtpbmcsIFN1YmplY3RTdGF0dXMuV2FpdGluZ10uaW5kZXhPZihzdGF0dXMpICE9PSAtMVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubG9hZGVkICs9IDE7XG4gICAgICB9XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNbaW5kZXhdLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMubGF5ZXJzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAobGF5ZXIgYXMgYW55KS53YXRjaGVyLnVud2F0Y2goKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './wake-lock-button.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvd2FrZS1sb2NrLWJ1dHRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93YWtlLWxvY2stYnV0dG9uLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,103 +0,0 @@
1
- import { AsyncPipe } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatTooltipModule } from '@angular/material/tooltip';
6
- import { IgoLanguageModule } from '@igo2/core/language';
7
- import { StorageService } from '@igo2/core/storage';
8
- import { userAgent } from '@igo2/utils';
9
- import NoSleep from 'nosleep.js';
10
- import { BehaviorSubject } from 'rxjs';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@igo2/core/storage";
13
- import * as i2 from "@angular/material/button";
14
- import * as i3 from "@angular/material/tooltip";
15
- import * as i4 from "@angular/material/icon";
16
- import * as i5 from "@ngx-translate/core";
17
- /**
18
- * Prevent display sleep and enable wake lock in all Android and iOS web browsers.
19
- * On iOS, the Wake Lock API is not supported
20
- * https://developer.mozilla.org/en-US/docs/Web/API/Screen_Wake_Lock_API
21
- * On not supported browser, a fake video is used to keep the screen open.
22
- *
23
- * TODO: When the API will be supported by every browser, We should remove the NoSleep.js dependency
24
- * and replace it by a WakeLock API implementation.
25
- */
26
- export class WakeLockButtonComponent {
27
- storageService;
28
- color = 'primary';
29
- get enabled() {
30
- return this.storageService.get('wakeLockEnabled');
31
- }
32
- set enabled(value) {
33
- this.storageService.set('wakeLockEnabled', value);
34
- }
35
- noSleep;
36
- icon$ = new BehaviorSubject('bedtime');
37
- visible = false;
38
- constructor(storageService) {
39
- this.storageService = storageService;
40
- this.noSleep = new NoSleep();
41
- const nonWakeLockApiBrowser = userAgent.satisfies({
42
- ie: '>0',
43
- edge: '<84',
44
- chrome: '<84',
45
- firefox: '>0',
46
- opera: '<70',
47
- safari: '>0'
48
- });
49
- if (nonWakeLockApiBrowser) {
50
- this.disableWakeLock();
51
- this.enabled = false;
52
- window.addEventListener('blur', () => {
53
- this.disableWakeLock();
54
- this.enabled = false;
55
- });
56
- }
57
- this.enabled ? this.enableWakeLock() : this.disableWakeLock();
58
- }
59
- /**
60
- * Prevent display sleep and enable wake lock in all Android and iOS web browsers.
61
- * On iOS, the Wake Lock API is not supported
62
- * https://developer.mozilla.org/en-US/docs/Web/API/Screen_Wake_Lock_API
63
- * On not supported browser, a fake video is used to keep the screen open.
64
- */
65
- enableWakeLock() {
66
- this.noSleep.enable();
67
- this.enabled = true;
68
- this.icon$.next('bedtime_off');
69
- }
70
- /**
71
- * Let display sleep
72
- */
73
- disableWakeLock() {
74
- this.noSleep.disable();
75
- this.enabled = false;
76
- this.icon$.next('bedtime');
77
- }
78
- toggleWakeLock() {
79
- if (this.enabled) {
80
- this.disableWakeLock();
81
- }
82
- else {
83
- this.enableWakeLock();
84
- }
85
- }
86
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WakeLockButtonComponent, deps: [{ token: i1.StorageService }], target: i0.ɵɵFactoryTarget.Component });
87
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: WakeLockButtonComponent, isStandalone: true, selector: "igo-wake-lock-button", inputs: { color: "color", enabled: "enabled" }, ngImport: i0, template: "<div class=\"igo-wake-lock-button-container\">\n <button\n [color]=\"color\"\n mat-icon-button\n [matTooltip]=\"\n enabled\n ? ('igo.geo.mapButtons.preventScreenLock' | translate)\n : ('igo.geo.mapButtons.letScreenLock' | translate)\n \"\n matTooltipPosition=\"left\"\n (click)=\"toggleWakeLock()\"\n >\n <mat-icon>{{ icon$ | async }}</mat-icon>\n </button>\n</div>\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-wake-lock-button-container{width:40px;background-color:#fff}:host .igo-wake-lock-button-container:hover{background-color:#efefef}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
88
- }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WakeLockButtonComponent, decorators: [{
90
- type: Component,
91
- args: [{ selector: 'igo-wake-lock-button', standalone: true, imports: [
92
- MatButtonModule,
93
- MatTooltipModule,
94
- MatIconModule,
95
- AsyncPipe,
96
- IgoLanguageModule
97
- ], template: "<div class=\"igo-wake-lock-button-container\">\n <button\n [color]=\"color\"\n mat-icon-button\n [matTooltip]=\"\n enabled\n ? ('igo.geo.mapButtons.preventScreenLock' | translate)\n : ('igo.geo.mapButtons.letScreenLock' | translate)\n \"\n matTooltipPosition=\"left\"\n (click)=\"toggleWakeLock()\"\n >\n <mat-icon>{{ icon$ | async }}</mat-icon>\n </button>\n</div>\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-wake-lock-button-container{width:40px;background-color:#fff}:host .igo-wake-lock-button-container:hover{background-color:#efefef}\n"] }]
98
- }], ctorParameters: () => [{ type: i1.StorageService }], propDecorators: { color: [{
99
- type: Input
100
- }], enabled: [{
101
- type: Input
102
- }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FrZS1sb2NrLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvd2FrZS1sb2NrLWJ1dHRvbi93YWtlLWxvY2stYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC93YWtlLWxvY2stYnV0dG9uL3dha2UtbG9jay1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxPQUFPLE1BQU0sWUFBWSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFnQnZDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQWNkO0lBYlgsS0FBSyxHQUFHLFNBQVMsQ0FBQztJQUMzQixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFZLENBQUM7SUFDL0QsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLE9BQU8sQ0FBVTtJQUNoQixLQUFLLEdBQUcsSUFBSSxlQUFlLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDakQsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUV2QixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLE1BQU0scUJBQXFCLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztZQUNoRCxFQUFFLEVBQUUsSUFBSTtZQUNSLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsSUFBSTtZQUNiLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7UUFDSCxJQUFJLHFCQUFxQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGNBQWM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0Q7O09BRUc7SUFDSyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7d0dBN0RVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLGdJQ3BDcEMsNFpBZUEsdVVESUksZUFBZSwySUFDZixnQkFBZ0IsNFRBQ2hCLGFBQWEsK0tBQ2IsU0FBUyw2Q0FDVCxpQkFBaUI7OzRGQWFSLHVCQUF1QjtrQkF2Qm5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixTQUFTO3dCQUNULGlCQUFpQjtxQkFDbEI7bUZBYVEsS0FBSztzQkFBYixLQUFLO2dCQUVGLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3N0b3JhZ2UnO1xuaW1wb3J0IHsgdXNlckFnZW50IH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgTm9TbGVlcCBmcm9tICdub3NsZWVwLmpzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28td2FrZS1sb2NrLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi93YWtlLWxvY2stYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2FrZS1sb2NrLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBBc3luY1BpcGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXVxufSlcblxuLyoqXG4gKiBQcmV2ZW50IGRpc3BsYXkgc2xlZXAgYW5kIGVuYWJsZSB3YWtlIGxvY2sgaW4gYWxsIEFuZHJvaWQgYW5kIGlPUyB3ZWIgYnJvd3NlcnMuXG4gKiBPbiBpT1MsIHRoZSBXYWtlIExvY2sgQVBJIGlzIG5vdCBzdXBwb3J0ZWRcbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9TY3JlZW5fV2FrZV9Mb2NrX0FQSVxuICogT24gbm90IHN1cHBvcnRlZCBicm93c2VyLCBhIGZha2UgdmlkZW8gaXMgdXNlZCB0byBrZWVwIHRoZSBzY3JlZW4gb3Blbi5cbiAqXG4gKiBUT0RPOiBXaGVuIHRoZSBBUEkgd2lsbCBiZSBzdXBwb3J0ZWQgYnkgZXZlcnkgYnJvd3NlciwgV2Ugc2hvdWxkIHJlbW92ZSB0aGUgTm9TbGVlcC5qcyBkZXBlbmRlbmN5XG4gKiBhbmQgcmVwbGFjZSBpdCBieSBhIFdha2VMb2NrIEFQSSBpbXBsZW1lbnRhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFdha2VMb2NrQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29sb3IgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpXG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnd2FrZUxvY2tFbmFibGVkJykgYXMgYm9vbGVhbjtcbiAgfVxuICBzZXQgZW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCd3YWtlTG9ja0VuYWJsZWQnLCB2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIG5vU2xlZXA6IE5vU2xlZXA7XG4gIHJlYWRvbmx5IGljb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdiZWR0aW1lJyk7XG4gIHB1YmxpYyB2aXNpYmxlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UpIHtcbiAgICB0aGlzLm5vU2xlZXAgPSBuZXcgTm9TbGVlcCgpO1xuICAgIGNvbnN0IG5vbldha2VMb2NrQXBpQnJvd3NlciA9IHVzZXJBZ2VudC5zYXRpc2ZpZXMoe1xuICAgICAgaWU6ICc+MCcsXG4gICAgICBlZGdlOiAnPDg0JyxcbiAgICAgIGNocm9tZTogJzw4NCcsXG4gICAgICBmaXJlZm94OiAnPjAnLFxuICAgICAgb3BlcmE6ICc8NzAnLFxuICAgICAgc2FmYXJpOiAnPjAnXG4gICAgfSk7XG4gICAgaWYgKG5vbldha2VMb2NrQXBpQnJvd3Nlcikge1xuICAgICAgdGhpcy5kaXNhYmxlV2FrZUxvY2soKTtcbiAgICAgIHRoaXMuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzYWJsZVdha2VMb2NrKCk7XG4gICAgICAgIHRoaXMuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuZW5hYmxlZCA/IHRoaXMuZW5hYmxlV2FrZUxvY2soKSA6IHRoaXMuZGlzYWJsZVdha2VMb2NrKCk7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBkaXNwbGF5IHNsZWVwIGFuZCBlbmFibGUgd2FrZSBsb2NrIGluIGFsbCBBbmRyb2lkIGFuZCBpT1Mgd2ViIGJyb3dzZXJzLlxuICAgKiBPbiBpT1MsIHRoZSBXYWtlIExvY2sgQVBJIGlzIG5vdCBzdXBwb3J0ZWRcbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1NjcmVlbl9XYWtlX0xvY2tfQVBJXG4gICAqIE9uIG5vdCBzdXBwb3J0ZWQgYnJvd3NlciwgYSBmYWtlIHZpZGVvIGlzIHVzZWQgdG8ga2VlcCB0aGUgc2NyZWVuIG9wZW4uXG4gICAqL1xuICBwcml2YXRlIGVuYWJsZVdha2VMb2NrKCkge1xuICAgIHRoaXMubm9TbGVlcC5lbmFibGUoKTtcbiAgICB0aGlzLmVuYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuaWNvbiQubmV4dCgnYmVkdGltZV9vZmYnKTtcbiAgfVxuICAvKipcbiAgICogTGV0IGRpc3BsYXkgc2xlZXBcbiAgICovXG4gIHByaXZhdGUgZGlzYWJsZVdha2VMb2NrKCkge1xuICAgIHRoaXMubm9TbGVlcC5kaXNhYmxlKCk7XG4gICAgdGhpcy5lbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5pY29uJC5uZXh0KCdiZWR0aW1lJyk7XG4gIH1cblxuICB0b2dnbGVXYWtlTG9jaygpIHtcbiAgICBpZiAodGhpcy5lbmFibGVkKSB7XG4gICAgICB0aGlzLmRpc2FibGVXYWtlTG9jaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVuYWJsZVdha2VMb2NrKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXdha2UtbG9jay1idXR0b24tY29udGFpbmVyXCI+XG4gIDxidXR0b25cbiAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgZW5hYmxlZFxuICAgICAgICA/ICgnaWdvLmdlby5tYXBCdXR0b25zLnByZXZlbnRTY3JlZW5Mb2NrJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgOiAoJ2lnby5nZW8ubWFwQnV0dG9ucy5sZXRTY3JlZW5Mb2NrJyB8IHRyYW5zbGF0ZSlcbiAgICBcIlxuICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImxlZnRcIlxuICAgIChjbGljayk9XCJ0b2dnbGVXYWtlTG9jaygpXCJcbiAgPlxuICAgIDxtYXQtaWNvbj57eyBpY29uJCB8IGFzeW5jIH19PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './zoom-button.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvem9vbS1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vem9vbS1idXR0b24uY29tcG9uZW50JztcbiJdfQ==
@@ -1,35 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { MatButtonModule } from '@angular/material/button';
3
- import { MatIconModule } from '@angular/material/icon';
4
- import { MatTooltipModule } from '@angular/material/tooltip';
5
- import { IgoLanguageModule } from '@igo2/core/language';
6
- import { IgoMap } from '../shared/map';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/button";
9
- import * as i2 from "@angular/material/tooltip";
10
- import * as i3 from "@angular/material/icon";
11
- import * as i4 from "@ngx-translate/core";
12
- export class ZoomButtonComponent {
13
- map;
14
- color;
15
- get zoom() {
16
- return this.map.viewController.getZoom();
17
- }
18
- get minZoom() {
19
- return this.map.viewController.olView.getMinZoom() || 1;
20
- }
21
- get maxZoom() {
22
- return this.map.viewController.olView.getMaxZoom();
23
- }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ZoomButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ZoomButtonComponent, isStandalone: true, selector: "igo-zoom-button", inputs: { map: "map", color: "color" }, ngImport: i0, template: "<div class=\"igo-zoom-button-container\">\n <button\n mat-icon-button\n [matTooltip]=\"'igo.geo.mapButtons.zoomIn' | translate: { zoom: zoom + 1 }\"\n matTooltipPosition=\"left\"\n [color]=\"color\"\n [disabled]=\"zoom >= maxZoom\"\n (click)=\"map.viewController.zoomIn()\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <button\n mat-icon-button\n [matTooltip]=\"'igo.geo.mapButtons.zoomOut' | translate: { zoom: zoom - 1 }\"\n matTooltipPosition=\"left\"\n [color]=\"color\"\n [disabled]=\"zoom <= minZoom\"\n (click)=\"map.viewController.zoomOut()\"\n >\n <mat-icon>remove</mat-icon>\n </button>\n</div>\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-zoom-button-container{width:40px}:host .igo-zoom-button-container button{background-color:#fff}:host .igo-zoom-button-container button:hover{background-color:#efefef}:host .igo-zoom-button-container button:first-child{margin-bottom:2px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ZoomButtonComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'igo-zoom-button', standalone: true, imports: [MatButtonModule, MatTooltipModule, MatIconModule, IgoLanguageModule], template: "<div class=\"igo-zoom-button-container\">\n <button\n mat-icon-button\n [matTooltip]=\"'igo.geo.mapButtons.zoomIn' | translate: { zoom: zoom + 1 }\"\n matTooltipPosition=\"left\"\n [color]=\"color\"\n [disabled]=\"zoom >= maxZoom\"\n (click)=\"map.viewController.zoomIn()\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <button\n mat-icon-button\n [matTooltip]=\"'igo.geo.mapButtons.zoomOut' | translate: { zoom: zoom - 1 }\"\n matTooltipPosition=\"left\"\n [color]=\"color\"\n [disabled]=\"zoom <= minZoom\"\n (click)=\"map.viewController.zoomOut()\"\n >\n <mat-icon>remove</mat-icon>\n </button>\n</div>\n", styles: [":host button{border-radius:0!important}:host button .mat-ripple,:host button .mdc-icon-button__ripple{border-radius:0!important}:host .igo-zoom-button-container{width:40px}:host .igo-zoom-button-container button{background-color:#fff}:host .igo-zoom-button-container button:hover{background-color:#efefef}:host .igo-zoom-button-container button:first-child{margin-bottom:2px}\n"] }]
30
- }], propDecorators: { map: [{
31
- type: Input
32
- }], color: [{
33
- type: Input
34
- }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3pvb20tYnV0dG9uL3pvb20tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC96b29tLWJ1dHRvbi96b29tLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVN2QyxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLEdBQUcsQ0FBUztJQUVaLEtBQUssQ0FBUztJQUV2QixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JELENBQUM7d0dBZlUsbUJBQW1COzRGQUFuQixtQkFBbUIsbUhDaEJoQyxrcEJBdUJBLGtiRFRZLGVBQWUsMklBQUUsZ0JBQWdCLDRUQUFFLGFBQWEsbUxBQUUsaUJBQWlCOzs0RkFFbEUsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGlCQUFpQixjQUdmLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUM7OEJBR3JFLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi9zaGFyZWQvbWFwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXpvb20tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3pvb20tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vem9vbS1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgSWdvTGFuZ3VhZ2VNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFpvb21CdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nO1xuXG4gIGdldCB6b29tKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLmdldFpvb20oKTtcbiAgfVxuXG4gIGdldCBtaW5ab29tKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLm9sVmlldy5nZXRNaW5ab29tKCkgfHwgMTtcbiAgfVxuXG4gIGdldCBtYXhab29tKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLm9sVmlldy5nZXRNYXhab29tKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpZ28tem9vbS1idXR0b24tY29udGFpbmVyXCI+XG4gIDxidXR0b25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5tYXBCdXR0b25zLnpvb21JbicgfCB0cmFuc2xhdGU6IHsgem9vbTogem9vbSArIDEgfVwiXG4gICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwibGVmdFwiXG4gICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICBbZGlzYWJsZWRdPVwiem9vbSA+PSBtYXhab29tXCJcbiAgICAoY2xpY2spPVwibWFwLnZpZXdDb250cm9sbGVyLnpvb21JbigpXCJcbiAgPlxuICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8ubWFwQnV0dG9ucy56b29tT3V0JyB8IHRyYW5zbGF0ZTogeyB6b29tOiB6b29tIC0gMSB9XCJcbiAgICBtYXRUb29sdGlwUG9zaXRpb249XCJsZWZ0XCJcbiAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgIFtkaXNhYmxlZF09XCJ6b29tIDw9IG1pblpvb21cIlxuICAgIChjbGljayk9XCJtYXAudmlld0NvbnRyb2xsZXIuem9vbU91dCgpXCJcbiAgPlxuICAgIDxtYXQtaWNvbj5yZW1vdmU8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -1,3 +0,0 @@
1
- export * from './shared';
2
- export * from './measurer';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tZWFzdXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9tZWFzdXJlcic7XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { IgoMeasurerModule } from './measurer/measurer.module';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * @deprecated import the components directly or the MEASURER_DIRECTIVES for the set
6
- */
7
- export class IgoMeasureModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoMeasureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoMeasureModule, exports: [IgoMeasurerModule] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoMeasureModule, imports: [IgoMeasurerModule] });
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoMeasureModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- imports: [],
16
- declarations: [],
17
- exports: [IgoMeasurerModule]
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tZWFzdXJlL21lYXN1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRS9EOztHQUVHO0FBTUgsTUFBTSxPQUFPLGdCQUFnQjt3R0FBaEIsZ0JBQWdCO3lHQUFoQixnQkFBZ0IsWUFGakIsaUJBQWlCO3lHQUVoQixnQkFBZ0IsWUFGakIsaUJBQWlCOzs0RkFFaEIsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJZ29NZWFzdXJlck1vZHVsZSB9IGZyb20gJy4vbWVhc3VyZXIvbWVhc3VyZXIubW9kdWxlJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIGNvbXBvbmVudHMgZGlyZWN0bHkgb3IgdGhlIE1FQVNVUkVSX0RJUkVDVElWRVMgZm9yIHRoZSBzZXRcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtJZ29NZWFzdXJlck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgSWdvTWVhc3VyZU1vZHVsZSB7fVxuIl19
@@ -1,6 +0,0 @@
1
- import { MeasureFormatPipe } from './measure-format.pipe';
2
- import { MeasurerComponent } from './measurer.component';
3
- export * from './measure-format.pipe';
4
- export * from './measurer.component';
5
- export const MEASURER_DIRECTIVES = [MeasureFormatPipe, MeasurerComponent];
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tZWFzdXJlL21lYXN1cmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZWFzdXJlRm9ybWF0UGlwZSB9IGZyb20gJy4vbWVhc3VyZS1mb3JtYXQucGlwZSc7XG5pbXBvcnQgeyBNZWFzdXJlckNvbXBvbmVudCB9IGZyb20gJy4vbWVhc3VyZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9tZWFzdXJlLWZvcm1hdC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbWVhc3VyZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IE1FQVNVUkVSX0RJUkVDVElWRVMgPSBbTWVhc3VyZUZvcm1hdFBpcGUsIE1lYXN1cmVyQ29tcG9uZW50XTtcbiJdfQ==
@@ -1,40 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { MeasureAreaUnit, MeasureLengthUnit } from '../shared/measure.enum';
3
- import { formatMeasure, metersToUnit, squareMetersToUnit } from '../shared/measure.utils';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * This pipe returns a measure converted from meters (or square meters)
7
- * to the specified unit. It also keeps a certain number of decimals.
8
- */
9
- export class MeasureFormatPipe {
10
- /**
11
- * @ignore
12
- */
13
- transform(value, unit, unitAbbr = false) {
14
- let out;
15
- if (Object.values(MeasureAreaUnit).indexOf(unit) >= 0) {
16
- out = squareMetersToUnit(value, unit);
17
- }
18
- else if (Object.values(MeasureLengthUnit).indexOf(unit) >= 0) {
19
- out = metersToUnit(value, unit);
20
- }
21
- return out
22
- ? formatMeasure(out, {
23
- decimal: 1,
24
- unit,
25
- unitAbbr,
26
- locale: 'fr'
27
- })
28
- : out;
29
- }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
31
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormatPipe, isStandalone: true, name: "measureFormat" });
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasureFormatPipe, decorators: [{
34
- type: Pipe,
35
- args: [{
36
- name: 'measureFormat',
37
- standalone: true
38
- }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21lYXN1cmUvbWVhc3VyZXIvbWVhc3VyZS1mb3JtYXQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUNMLGFBQWEsRUFDYixZQUFZLEVBQ1osa0JBQWtCLEVBQ25CLE1BQU0seUJBQXlCLENBQUM7O0FBRWpDOzs7R0FHRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUI7O09BRUc7SUFDSCxTQUFTLENBQ1AsS0FBYSxFQUNiLElBQXlDLEVBQ3pDLFFBQVEsR0FBRyxLQUFLO1FBRWhCLElBQUksR0FBRyxDQUFDO1FBQ1IsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekUsR0FBRyxHQUFHLGtCQUFrQixDQUFDLEtBQUssRUFBRSxJQUF1QixDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLElBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUF5QixDQUFDLElBQUksQ0FBQyxFQUN4RSxDQUFDO1lBQ0QsR0FBRyxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBeUIsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxPQUFPLEdBQUc7WUFDUixDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRTtnQkFDakIsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsSUFBSTtnQkFDSixRQUFRO2dCQUNSLE1BQU0sRUFBRSxJQUFJO2FBQ2IsQ0FBQztZQUNKLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDVixDQUFDO3dHQTFCVSxpQkFBaUI7c0dBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtvQkFDckIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNZWFzdXJlQXJlYVVuaXQsIE1lYXN1cmVMZW5ndGhVbml0IH0gZnJvbSAnLi4vc2hhcmVkL21lYXN1cmUuZW51bSc7XG5pbXBvcnQge1xuICBmb3JtYXRNZWFzdXJlLFxuICBtZXRlcnNUb1VuaXQsXG4gIHNxdWFyZU1ldGVyc1RvVW5pdFxufSBmcm9tICcuLi9zaGFyZWQvbWVhc3VyZS51dGlscyc7XG5cbi8qKlxuICogVGhpcyBwaXBlIHJldHVybnMgYSBtZWFzdXJlIGNvbnZlcnRlZCBmcm9tIG1ldGVycyAob3Igc3F1YXJlIG1ldGVycylcbiAqIHRvIHRoZSBzcGVjaWZpZWQgdW5pdC4gSXQgYWxzbyBrZWVwcyBhIGNlcnRhaW4gbnVtYmVyIG9mIGRlY2ltYWxzLlxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdtZWFzdXJlRm9ybWF0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNZWFzdXJlRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgdHJhbnNmb3JtKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgdW5pdDogTWVhc3VyZUFyZWFVbml0IHwgTWVhc3VyZUxlbmd0aFVuaXQsXG4gICAgdW5pdEFiYnIgPSBmYWxzZVxuICApOiBudW1iZXIge1xuICAgIGxldCBvdXQ7XG4gICAgaWYgKE9iamVjdC52YWx1ZXMoTWVhc3VyZUFyZWFVbml0KS5pbmRleE9mKHVuaXQgYXMgTWVhc3VyZUFyZWFVbml0KSA+PSAwKSB7XG4gICAgICBvdXQgPSBzcXVhcmVNZXRlcnNUb1VuaXQodmFsdWUsIHVuaXQgYXMgTWVhc3VyZUFyZWFVbml0KTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgT2JqZWN0LnZhbHVlcyhNZWFzdXJlTGVuZ3RoVW5pdCkuaW5kZXhPZih1bml0IGFzIE1lYXN1cmVMZW5ndGhVbml0KSA+PSAwXG4gICAgKSB7XG4gICAgICBvdXQgPSBtZXRlcnNUb1VuaXQodmFsdWUsIHVuaXQgYXMgTWVhc3VyZUxlbmd0aFVuaXQpO1xuICAgIH1cblxuICAgIHJldHVybiBvdXRcbiAgICAgID8gZm9ybWF0TWVhc3VyZShvdXQsIHtcbiAgICAgICAgICBkZWNpbWFsOiAxLFxuICAgICAgICAgIHVuaXQsXG4gICAgICAgICAgdW5pdEFiYnIsXG4gICAgICAgICAgbG9jYWxlOiAnZnInXG4gICAgICAgIH0pXG4gICAgICA6IG91dDtcbiAgfVxufVxuIl19
@@ -1,38 +0,0 @@
1
- import { NgIf } from '@angular/common';
2
- import { Component, Inject } from '@angular/core';
3
- import { MAT_DIALOG_DATA, MatDialogContent, MatDialogRef, MatDialogTitle } from '@angular/material/dialog';
4
- import { IgoLanguageModule } from '@igo2/core/language';
5
- import { MeasureAreaUnit, MeasureLengthUnit } from '../shared/measure.enum';
6
- import { MeasureFormatPipe } from './measure-format.pipe';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/dialog";
9
- import * as i2 from "@ngx-translate/core";
10
- export class MeasurerDialogComponent {
11
- dialogRef;
12
- data;
13
- measureAreaUnit = MeasureAreaUnit;
14
- measureLengthUnit = MeasureLengthUnit;
15
- constructor(dialogRef, data) {
16
- this.dialogRef = dialogRef;
17
- this.data = data;
18
- }
19
- onNoClick() {
20
- this.dialogRef.close();
21
- }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasurerDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MeasurerDialogComponent, isStandalone: true, selector: "igo-measurer-dialog", ngImport: i0, template: "<h3 mat-dialog-title>{{ 'igo.geo.measure.dialog.title' | translate }}</h3>\n<div mat-dialog-content>\n <table *ngIf=\"data.length > 0\" class=\"mat-typography\">\n <thead>\n <tr>\n <th colspan=\"2\">\n {{ 'igo.geo.measure.dialog.length.title' | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>{{ data.length | measureFormat: measureLengthUnit.Meters }}</td>\n <td>{{ 'igo.geo.measure.dialog.lengthInMeters' | translate }}</td>\n </tr>\n <tr>\n <td>\n {{ data.length | measureFormat: measureLengthUnit.Kilometers }}\n </td>\n <td>{{ 'igo.geo.measure.dialog.lengthInKilometers' | translate }}</td>\n </tr>\n <tr>\n <td>{{ data.length | measureFormat: measureLengthUnit.Miles }}</td>\n <td>{{ 'igo.geo.measure.dialog.lengthInMiles' | translate }}</td>\n </tr>\n <tr>\n <td>{{ data.length | measureFormat: measureLengthUnit.Feet }}</td>\n <td>{{ 'igo.geo.measure.dialog.lengthInFeet' | translate }}</td>\n </tr>\n </tbody>\n </table>\n\n <table *ngIf=\"data.area > 0\" class=\"mat-typography\">\n <thead>\n <tr>\n <th colspan=\"2\">\n {{ 'igo.geo.measure.dialog.area.title' | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>{{ data.area | measureFormat: measureAreaUnit.SquareMeters }}</td>\n <td>{{ 'igo.geo.measure.dialog.areaInSquareMeters' | translate }}</td>\n </tr>\n <tr>\n <td>\n {{ data.area | measureFormat: measureAreaUnit.SquareKilometers }}\n </td>\n <td>\n {{ 'igo.geo.measure.dialog.areaInSquareKilometers' | translate }}\n </td>\n </tr>\n <tr>\n <td>{{ data.area | measureFormat: measureAreaUnit.SquareMiles }}</td>\n <td>{{ 'igo.geo.measure.dialog.areaInSquareMiles' | translate }}</td>\n </tr>\n <tr>\n <td>{{ data.area | measureFormat: measureAreaUnit.Acres }}</td>\n <td>{{ 'igo.geo.measure.dialog.areaInAcres' | translate }}</td>\n </tr>\n <tr>\n <td>{{ data.area | measureFormat: measureAreaUnit.Hectares }}</td>\n <td>{{ 'igo.geo.measure.dialog.areaInHectares' | translate }}</td>\n </tr>\n <tr>\n <td>{{ 'igo.geo.measure.dialog.perimeterInMeters' | translate }}</td>\n <td>{{ data.perimeter | measureFormat: measureLengthUnit.Meters }}</td>\n </tr>\n </tbody>\n </table>\n</div>\n", styles: [":host{font-family:Roboto,Helvetica Neue,sans-serif}h3{text-align:center;margin:0}table{width:100%;padding:10px}table tbody tr td:last-child{padding-left:10px}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: MeasureFormatPipe, name: "measureFormat" }] });
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MeasurerDialogComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'igo-measurer-dialog', standalone: true, imports: [
28
- MatDialogTitle,
29
- MatDialogContent,
30
- NgIf,
31
- IgoLanguageModule,
32
- MeasureFormatPipe
33
- ], template: "<h3 mat-dialog-title>{{ 'igo.geo.measure.dialog.title' | translate }}</h3>\n<div mat-dialog-content>\n <table *ngIf=\"data.length > 0\" class=\"mat-typography\">\n <thead>\n <tr>\n <th colspan=\"2\">\n {{ 'igo.geo.measure.dialog.length.title' | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>{{ data.length | measureFormat: measureLengthUnit.Meters }}</td>\n <td>{{ 'igo.geo.measure.dialog.lengthInMeters' | translate }}</td>\n </tr>\n <tr>\n <td>\n {{ data.length | measureFormat: measureLengthUnit.Kilometers }}\n </td>\n <td>{{ 'igo.geo.measure.dialog.lengthInKilometers' | translate }}</td>\n </tr>\n <tr>\n <td>{{ data.length | measureFormat: measureLengthUnit.Miles }}</td>\n <td>{{ 'igo.geo.measure.dialog.lengthInMiles' | translate }}</td>\n </tr>\n <tr>\n <td>{{ data.length | measureFormat: measureLengthUnit.Feet }}</td>\n <td>{{ 'igo.geo.measure.dialog.lengthInFeet' | translate }}</td>\n </tr>\n </tbody>\n </table>\n\n <table *ngIf=\"data.area > 0\" class=\"mat-typography\">\n <thead>\n <tr>\n <th colspan=\"2\">\n {{ 'igo.geo.measure.dialog.area.title' | translate }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>{{ data.area | measureFormat: measureAreaUnit.SquareMeters }}</td>\n <td>{{ 'igo.geo.measure.dialog.areaInSquareMeters' | translate }}</td>\n </tr>\n <tr>\n <td>\n {{ data.area | measureFormat: measureAreaUnit.SquareKilometers }}\n </td>\n <td>\n {{ 'igo.geo.measure.dialog.areaInSquareKilometers' | translate }}\n </td>\n </tr>\n <tr>\n <td>{{ data.area | measureFormat: measureAreaUnit.SquareMiles }}</td>\n <td>{{ 'igo.geo.measure.dialog.areaInSquareMiles' | translate }}</td>\n </tr>\n <tr>\n <td>{{ data.area | measureFormat: measureAreaUnit.Acres }}</td>\n <td>{{ 'igo.geo.measure.dialog.areaInAcres' | translate }}</td>\n </tr>\n <tr>\n <td>{{ data.area | measureFormat: measureAreaUnit.Hectares }}</td>\n <td>{{ 'igo.geo.measure.dialog.areaInHectares' | translate }}</td>\n </tr>\n <tr>\n <td>{{ 'igo.geo.measure.dialog.perimeterInMeters' | translate }}</td>\n <td>{{ data.perimeter | measureFormat: measureLengthUnit.Meters }}</td>\n </tr>\n </tbody>\n </table>\n</div>\n", styles: [":host{font-family:Roboto,Helvetica Neue,sans-serif}h3{text-align:center;margin:0}table{width:100%;padding:10px}table tbody tr td:last-child{padding-left:10px}\n"] }]
34
- }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
35
- type: Inject,
36
- args: [MAT_DIALOG_DATA]
37
- }] }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZXItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21lYXN1cmUvbWVhc3VyZXIvbWVhc3VyZXItZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21lYXN1cmUvbWVhc3VyZXIvbWVhc3VyZXItZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osY0FBYyxFQUNmLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBZTFELE1BQU0sT0FBTyx1QkFBdUI7SUFNekI7SUFDeUI7SUFObEMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUVsQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUV0QyxZQUNTLFNBQWdELEVBQ3ZCLElBQXdCO1FBRGpELGNBQVMsR0FBVCxTQUFTLENBQXVDO1FBQ3ZCLFNBQUksR0FBSixJQUFJLENBQW9CO0lBQ3ZELENBQUM7SUFFSixTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO3dHQVpVLHVCQUF1Qiw4Q0FPeEIsZUFBZTs0RkFQZCx1QkFBdUIsK0VDNUJwQyxrOUVBd0VBLDBORG5ESSxjQUFjLCtIQUNkLGdCQUFnQix5R0FDaEIsSUFBSSw0RkFDSixpQkFBaUIsdUZBQ2pCLGlCQUFpQjs7NEZBR1IsdUJBQXVCO2tCQWJuQyxTQUFTOytCQUNFLHFCQUFxQixjQUduQixJQUFJLFdBQ1A7d0JBQ1AsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLElBQUk7d0JBQ0osaUJBQWlCO3dCQUNqQixpQkFBaUI7cUJBQ2xCOzswQkFTRSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNQVRfRElBTE9HX0RBVEEsXG4gIE1hdERpYWxvZ0NvbnRlbnQsXG4gIE1hdERpYWxvZ1JlZixcbiAgTWF0RGlhbG9nVGl0bGVcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgTWVhc3VyZUFyZWFVbml0LCBNZWFzdXJlTGVuZ3RoVW5pdCB9IGZyb20gJy4uL3NoYXJlZC9tZWFzdXJlLmVudW0nO1xuaW1wb3J0IHsgTWVhc3VyZXJEaWFsb2dEYXRhIH0gZnJvbSAnLi4vc2hhcmVkL21lYXN1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNZWFzdXJlRm9ybWF0UGlwZSB9IGZyb20gJy4vbWVhc3VyZS1mb3JtYXQucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1tZWFzdXJlci1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJ21lYXN1cmVyLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lYXN1cmVyLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0RGlhbG9nVGl0bGUsXG4gICAgTWF0RGlhbG9nQ29udGVudCxcbiAgICBOZ0lmLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxuICAgIE1lYXN1cmVGb3JtYXRQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWVhc3VyZXJEaWFsb2dDb21wb25lbnQge1xuICBtZWFzdXJlQXJlYVVuaXQgPSBNZWFzdXJlQXJlYVVuaXQ7XG5cbiAgbWVhc3VyZUxlbmd0aFVuaXQgPSBNZWFzdXJlTGVuZ3RoVW5pdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TWVhc3VyZXJEaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogTWVhc3VyZXJEaWFsb2dEYXRhXG4gICkge31cblxuICBvbk5vQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxufVxuIiwiPGgzIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ2lnby5nZW8ubWVhc3VyZS5kaWFsb2cudGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oMz5cbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICA8dGFibGUgKm5nSWY9XCJkYXRhLmxlbmd0aCA+IDBcIiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XG4gICAgPHRoZWFkPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggY29sc3Bhbj1cIjJcIj5cbiAgICAgICAgICB7eyAnaWdvLmdlby5tZWFzdXJlLmRpYWxvZy5sZW5ndGgudGl0bGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5PlxuICAgICAgPHRyPlxuICAgICAgICA8dGQ+e3sgZGF0YS5sZW5ndGggfCBtZWFzdXJlRm9ybWF0OiBtZWFzdXJlTGVuZ3RoVW5pdC5NZXRlcnMgfX08L3RkPlxuICAgICAgICA8dGQ+e3sgJ2lnby5nZW8ubWVhc3VyZS5kaWFsb2cubGVuZ3RoSW5NZXRlcnMnIHwgdHJhbnNsYXRlIH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHI+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICB7eyBkYXRhLmxlbmd0aCB8IG1lYXN1cmVGb3JtYXQ6IG1lYXN1cmVMZW5ndGhVbml0LktpbG9tZXRlcnMgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkPnt7ICdpZ28uZ2VvLm1lYXN1cmUuZGlhbG9nLmxlbmd0aEluS2lsb21ldGVycycgfCB0cmFuc2xhdGUgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkPnt7IGRhdGEubGVuZ3RoIHwgbWVhc3VyZUZvcm1hdDogbWVhc3VyZUxlbmd0aFVuaXQuTWlsZXMgfX08L3RkPlxuICAgICAgICA8dGQ+e3sgJ2lnby5nZW8ubWVhc3VyZS5kaWFsb2cubGVuZ3RoSW5NaWxlcycgfCB0cmFuc2xhdGUgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkPnt7IGRhdGEubGVuZ3RoIHwgbWVhc3VyZUZvcm1hdDogbWVhc3VyZUxlbmd0aFVuaXQuRmVldCB9fTwvdGQ+XG4gICAgICAgIDx0ZD57eyAnaWdvLmdlby5tZWFzdXJlLmRpYWxvZy5sZW5ndGhJbkZlZXQnIHwgdHJhbnNsYXRlIH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cblxuICA8dGFibGUgKm5nSWY9XCJkYXRhLmFyZWEgPiAwXCIgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICAgIDx0aGVhZD5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRoIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAge3sgJ2lnby5nZW8ubWVhc3VyZS5kaWFsb2cuYXJlYS50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHk+XG4gICAgICA8dHI+XG4gICAgICAgIDx0ZD57eyBkYXRhLmFyZWEgfCBtZWFzdXJlRm9ybWF0OiBtZWFzdXJlQXJlYVVuaXQuU3F1YXJlTWV0ZXJzIH19PC90ZD5cbiAgICAgICAgPHRkPnt7ICdpZ28uZ2VvLm1lYXN1cmUuZGlhbG9nLmFyZWFJblNxdWFyZU1ldGVycycgfCB0cmFuc2xhdGUgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkPlxuICAgICAgICAgIHt7IGRhdGEuYXJlYSB8IG1lYXN1cmVGb3JtYXQ6IG1lYXN1cmVBcmVhVW5pdC5TcXVhcmVLaWxvbWV0ZXJzIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICB7eyAnaWdvLmdlby5tZWFzdXJlLmRpYWxvZy5hcmVhSW5TcXVhcmVLaWxvbWV0ZXJzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkPnt7IGRhdGEuYXJlYSB8IG1lYXN1cmVGb3JtYXQ6IG1lYXN1cmVBcmVhVW5pdC5TcXVhcmVNaWxlcyB9fTwvdGQ+XG4gICAgICAgIDx0ZD57eyAnaWdvLmdlby5tZWFzdXJlLmRpYWxvZy5hcmVhSW5TcXVhcmVNaWxlcycgfCB0cmFuc2xhdGUgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkPnt7IGRhdGEuYXJlYSB8IG1lYXN1cmVGb3JtYXQ6IG1lYXN1cmVBcmVhVW5pdC5BY3JlcyB9fTwvdGQ+XG4gICAgICAgIDx0ZD57eyAnaWdvLmdlby5tZWFzdXJlLmRpYWxvZy5hcmVhSW5BY3JlcycgfCB0cmFuc2xhdGUgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkPnt7IGRhdGEuYXJlYSB8IG1lYXN1cmVGb3JtYXQ6IG1lYXN1cmVBcmVhVW5pdC5IZWN0YXJlcyB9fTwvdGQ+XG4gICAgICAgIDx0ZD57eyAnaWdvLmdlby5tZWFzdXJlLmRpYWxvZy5hcmVhSW5IZWN0YXJlcycgfCB0cmFuc2xhdGUgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkPnt7ICdpZ28uZ2VvLm1lYXN1cmUuZGlhbG9nLnBlcmltZXRlckluTWV0ZXJzJyB8IHRyYW5zbGF0ZSB9fTwvdGQ+XG4gICAgICAgIDx0ZD57eyBkYXRhLnBlcmltZXRlciB8IG1lYXN1cmVGb3JtYXQ6IG1lYXN1cmVMZW5ndGhVbml0Lk1ldGVycyB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==