@igo2/geo 1.10.0 → 1.12.0

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 (514) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/bundles/igo2-geo.umd.js +4971 -1353
  7. package/bundles/igo2-geo.umd.js.map +1 -1
  8. package/esm2015/lib/catalog/catalog-browser/catalog-browser-group.component.js +1 -1
  9. package/esm2015/lib/catalog/catalog-browser/catalog-browser-layer.component.js +1 -1
  10. package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +2 -2
  11. package/esm2015/lib/catalog/catalog-browser/catalog-browser.module.js +1 -1
  12. package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +1 -1
  13. package/esm2015/lib/catalog/catalog-library/catalog-library-item.component.js +1 -1
  14. package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +6 -6
  15. package/esm2015/lib/catalog/catalog-library/catalog-library.module.js +1 -1
  16. package/esm2015/lib/catalog/catalog.module.js +1 -1
  17. package/esm2015/lib/catalog/index.js +1 -1
  18. package/esm2015/lib/catalog/shared/catalog.abstract.js +1 -1
  19. package/esm2015/lib/catalog/shared/catalog.enum.js +1 -1
  20. package/esm2015/lib/catalog/shared/catalog.interface.js +1 -1
  21. package/esm2015/lib/catalog/shared/catalog.service.js +117 -43
  22. package/esm2015/lib/catalog/shared/index.js +1 -1
  23. package/esm2015/lib/datasource/datasource.module.js +1 -1
  24. package/esm2015/lib/datasource/index.js +1 -1
  25. package/esm2015/lib/datasource/shared/capabilities.service.js +25 -11
  26. package/esm2015/lib/datasource/shared/datasource.service.js +1 -1
  27. package/esm2015/lib/datasource/shared/datasources/any-datasource.interface.js +1 -1
  28. package/esm2015/lib/datasource/shared/datasources/any-datasource.js +1 -1
  29. package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.interface.js +1 -1
  30. package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js +84 -14
  31. package/esm2015/lib/datasource/shared/datasources/carto-datasource.interface.js +1 -1
  32. package/esm2015/lib/datasource/shared/datasources/carto-datasource.js +1 -1
  33. package/esm2015/lib/datasource/shared/datasources/cluster-datasource.interface.js +1 -1
  34. package/esm2015/lib/datasource/shared/datasources/cluster-datasource.js +1 -1
  35. package/esm2015/lib/datasource/shared/datasources/data.service.js +1 -1
  36. package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +1 -1
  37. package/esm2015/lib/datasource/shared/datasources/datasource.js +1 -1
  38. package/esm2015/lib/datasource/shared/datasources/feature-datasource.interface.js +1 -1
  39. package/esm2015/lib/datasource/shared/datasources/feature-datasource.js +1 -1
  40. package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.js +1 -1
  41. package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js +7 -10
  42. package/esm2015/lib/datasource/shared/datasources/index.js +1 -1
  43. package/esm2015/lib/datasource/shared/datasources/mvt-datasource.interface.js +1 -1
  44. package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +1 -1
  45. package/esm2015/lib/datasource/shared/datasources/osm-datasource.interface.js +1 -1
  46. package/esm2015/lib/datasource/shared/datasources/osm-datasource.js +1 -1
  47. package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.js +1 -1
  48. package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js +7 -9
  49. package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.interface.js +1 -1
  50. package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.js +1 -1
  51. package/esm2015/lib/datasource/shared/datasources/websocket-datasource.interface.js +1 -1
  52. package/esm2015/lib/datasource/shared/datasources/websocket-datasource.js +1 -1
  53. package/esm2015/lib/datasource/shared/datasources/wfs-datasource.interface.js +1 -1
  54. package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +6 -1
  55. package/esm2015/lib/datasource/shared/datasources/wfs.service.js +1 -1
  56. package/esm2015/lib/datasource/shared/datasources/wms-datasource.interface.js +1 -1
  57. package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +11 -2
  58. package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +5 -2
  59. package/esm2015/lib/datasource/shared/datasources/wmts-datasource.interface.js +1 -1
  60. package/esm2015/lib/datasource/shared/datasources/wmts-datasource.js +1 -1
  61. package/esm2015/lib/datasource/shared/datasources/xyz-datasource.interface.js +1 -1
  62. package/esm2015/lib/datasource/shared/datasources/xyz-datasource.js +1 -1
  63. package/esm2015/lib/datasource/shared/index.js +1 -1
  64. package/esm2015/lib/datasource/shared/options/index.js +1 -1
  65. package/esm2015/lib/datasource/shared/options/options-api.interface.js +1 -1
  66. package/esm2015/lib/datasource/shared/options/options-api.providers.js +1 -1
  67. package/esm2015/lib/datasource/shared/options/options-api.service.js +1 -1
  68. package/esm2015/lib/datasource/shared/options/options.service.js +1 -1
  69. package/esm2015/lib/datasource/utils/esri-style-generator.js +1 -1
  70. package/esm2015/lib/datasource/utils/index.js +1 -1
  71. package/esm2015/lib/datasource/utils/tilegrid.js +1 -1
  72. package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +10 -4
  73. package/esm2015/lib/directions/directions-buttons/index.js +1 -1
  74. package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +1 -1
  75. package/esm2015/lib/directions/directions-inputs/index.js +1 -1
  76. package/esm2015/lib/directions/directions-results/directions-results.component.js +1 -1
  77. package/esm2015/lib/directions/directions-results/index.js +1 -1
  78. package/esm2015/lib/directions/directions-sources/directions-source.interface.js +1 -1
  79. package/esm2015/lib/directions/directions-sources/directions-source.js +1 -1
  80. package/esm2015/lib/directions/directions-sources/directions-source.provider.js +1 -1
  81. package/esm2015/lib/directions/directions-sources/index.js +1 -1
  82. package/esm2015/lib/directions/directions-sources/osrm-directions-source.js +1 -1
  83. package/esm2015/lib/directions/directions.component.js +6 -4
  84. package/esm2015/lib/directions/directions.module.js +1 -1
  85. package/esm2015/lib/directions/index.js +1 -1
  86. package/esm2015/lib/directions/shared/directions-source.service.js +1 -1
  87. package/esm2015/lib/directions/shared/directions.enum.js +1 -1
  88. package/esm2015/lib/directions/shared/directions.interface.js +1 -1
  89. package/esm2015/lib/directions/shared/directions.service.js +1 -1
  90. package/esm2015/lib/directions/shared/directions.utils.js +4 -1
  91. package/esm2015/lib/directions/shared/index.js +1 -1
  92. package/esm2015/lib/directions/shared/store.js +1 -1
  93. package/esm2015/lib/download/download-button/download-button.component.js +1 -1
  94. package/esm2015/lib/download/download-button/index.js +1 -1
  95. package/esm2015/lib/download/download.module.js +1 -1
  96. package/esm2015/lib/download/index.js +1 -1
  97. package/esm2015/lib/download/shared/download.interface.js +1 -1
  98. package/esm2015/lib/download/shared/download.service.js +1 -1
  99. package/esm2015/lib/download/shared/index.js +1 -1
  100. package/esm2015/lib/draw/draw/draw-popup.component.js +21 -15
  101. package/esm2015/lib/draw/draw/draw-shorcuts.component.js +1 -1
  102. package/esm2015/lib/draw/draw/draw.component.js +186 -77
  103. package/esm2015/lib/draw/draw/draw.module.js +1 -1
  104. package/esm2015/lib/draw/drawingTool.module.js +1 -1
  105. package/esm2015/lib/draw/index.js +1 -1
  106. package/esm2015/lib/draw/shared/draw-icon.service.js +1 -1
  107. package/esm2015/lib/draw/shared/draw-style.service.js +24 -5
  108. package/esm2015/lib/draw/shared/draw.enum.js +17 -1
  109. package/esm2015/lib/draw/shared/draw.interface.js +1 -1
  110. package/esm2015/lib/draw/shared/draw.utils.js +1 -1
  111. package/esm2015/lib/draw/shared/index.js +1 -1
  112. package/esm2015/lib/feature/feature-details/feature-details.component.js +119 -43
  113. package/esm2015/lib/feature/feature-details/feature-details.directive.js +2 -57
  114. package/esm2015/lib/feature/feature-details/feature-details.module.js +1 -1
  115. package/esm2015/lib/feature/feature-form/feature-form.component.js +1 -1
  116. package/esm2015/lib/feature/feature-form/feature-form.module.js +1 -1
  117. package/esm2015/lib/feature/feature.module.js +1 -1
  118. package/esm2015/lib/feature/index.js +1 -1
  119. package/esm2015/lib/feature/shared/feature.enums.js +1 -1
  120. package/esm2015/lib/feature/shared/feature.interfaces.js +1 -1
  121. package/esm2015/lib/feature/shared/feature.utils.js +2 -1
  122. package/esm2015/lib/feature/shared/index.js +1 -1
  123. package/esm2015/lib/feature/shared/store.js +1 -1
  124. package/esm2015/lib/feature/shared/strategies/in-map-extent.js +17 -4
  125. package/esm2015/lib/feature/shared/strategies/in-map-resolution.js +1 -1
  126. package/esm2015/lib/feature/shared/strategies/index.js +1 -1
  127. package/esm2015/lib/feature/shared/strategies/loading-layer.js +1 -1
  128. package/esm2015/lib/feature/shared/strategies/loading.js +1 -1
  129. package/esm2015/lib/feature/shared/strategies/selection.js +1 -1
  130. package/esm2015/lib/feature/shared/strategies.utils.js +1 -1
  131. package/esm2015/lib/filter/filter.module.js +7 -4
  132. package/esm2015/lib/filter/index.js +1 -1
  133. package/esm2015/lib/filter/ogc-filter-button/index.js +1 -1
  134. package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +46 -7
  135. package/esm2015/lib/filter/ogc-filter-form/index.js +1 -1
  136. package/esm2015/lib/filter/ogc-filter-form/ogc-filter-form.component.js +1 -1
  137. package/esm2015/lib/filter/ogc-filter-selection/index.js +1 -1
  138. package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +676 -296
  139. package/esm2015/lib/filter/ogc-filter-time/index.js +1 -1
  140. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.js +1 -1
  141. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +296 -161
  142. package/esm2015/lib/filter/ogc-filterable-form/index.js +1 -1
  143. package/esm2015/lib/filter/ogc-filterable-form/ogc-filterable-form.component.js +1 -1
  144. package/esm2015/lib/filter/ogc-filterable-item/index.js +1 -1
  145. package/esm2015/lib/filter/ogc-filterable-item/ogc-filterable-item.component.js +3 -2
  146. package/esm2015/lib/filter/ogc-filterable-list/index.js +1 -1
  147. package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.js +1 -1
  148. package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list.component.js +1 -1
  149. package/esm2015/lib/filter/shared/filterable-datasource.pipe.js +3 -2
  150. package/esm2015/lib/filter/shared/index.js +1 -1
  151. package/esm2015/lib/filter/shared/ogc-filter-time.service.js +1 -1
  152. package/esm2015/lib/filter/shared/ogc-filter.enum.js +1 -1
  153. package/esm2015/lib/filter/shared/ogc-filter.interface.js +1 -1
  154. package/esm2015/lib/filter/shared/ogc-filter.js +24 -6
  155. package/esm2015/lib/filter/shared/ogc-filter.service.js +1 -1
  156. package/esm2015/lib/filter/shared/spatial-filter.enum.js +1 -1
  157. package/esm2015/lib/filter/shared/spatial-filter.interface.js +1 -1
  158. package/esm2015/lib/filter/shared/spatial-filter.service.js +1 -1
  159. package/esm2015/lib/filter/shared/time-filter.enum.js +1 -1
  160. package/esm2015/lib/filter/shared/time-filter.interface.js +1 -1
  161. package/esm2015/lib/filter/shared/time-filter.service.js +1 -1
  162. package/esm2015/lib/filter/spatial-filter/spatial-filter-item/index.js +1 -1
  163. package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +1 -1
  164. package/esm2015/lib/filter/spatial-filter/spatial-filter-list/index.js +1 -1
  165. package/esm2015/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.js +1 -1
  166. package/esm2015/lib/filter/spatial-filter/spatial-filter-type/index.js +1 -1
  167. package/esm2015/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.js +1 -1
  168. package/esm2015/lib/filter/time-filter-button/index.js +1 -1
  169. package/esm2015/lib/filter/time-filter-button/time-filter-button.component.js +1 -1
  170. package/esm2015/lib/filter/time-filter-form/index.js +1 -1
  171. package/esm2015/lib/filter/time-filter-form/time-filter-form.component.js +1 -1
  172. package/esm2015/lib/filter/time-filter-item/index.js +1 -1
  173. package/esm2015/lib/filter/time-filter-item/time-filter-item.component.js +1 -1
  174. package/esm2015/lib/filter/time-filter-list/index.js +1 -1
  175. package/esm2015/lib/filter/time-filter-list/time-filter-list-binding.directive.js +1 -1
  176. package/esm2015/lib/filter/time-filter-list/time-filter-list.component.js +1 -1
  177. package/esm2015/lib/geo.module.js +1 -1
  178. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field-input.component.js +1 -1
  179. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.component.js +1 -1
  180. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.module.js +1 -1
  181. package/esm2015/lib/geometry/geometry.module.js +1 -1
  182. package/esm2015/lib/geometry/index.js +1 -1
  183. package/esm2015/lib/geometry/shared/controls/draw.js +7 -2
  184. package/esm2015/lib/geometry/shared/controls/index.js +1 -1
  185. package/esm2015/lib/geometry/shared/controls/modify.js +1 -1
  186. package/esm2015/lib/geometry/shared/controls/slice.js +1 -1
  187. package/esm2015/lib/geometry/shared/geometry.errors.js +1 -1
  188. package/esm2015/lib/geometry/shared/geometry.interfaces.js +1 -1
  189. package/esm2015/lib/geometry/shared/geometry.utils.js +1 -1
  190. package/esm2015/lib/geometry/shared/index.js +1 -1
  191. package/esm2015/lib/import-export/export-button/export-button.component.js +1 -1
  192. package/esm2015/lib/import-export/export-button/index.js +1 -1
  193. package/esm2015/lib/import-export/import-export/import-export.component.js +60 -11
  194. package/esm2015/lib/import-export/import-export/index.js +1 -1
  195. package/esm2015/lib/import-export/import-export.module.js +1 -1
  196. package/esm2015/lib/import-export/index.js +1 -1
  197. package/esm2015/lib/import-export/shared/drop-geo-file.directive.js +1 -1
  198. package/esm2015/lib/import-export/shared/export.errors.js +1 -1
  199. package/esm2015/lib/import-export/shared/export.interface.js +1 -1
  200. package/esm2015/lib/import-export/shared/export.service.js +10 -2
  201. package/esm2015/lib/import-export/shared/export.type.js +1 -1
  202. package/esm2015/lib/import-export/shared/export.utils.js +1 -1
  203. package/esm2015/lib/import-export/shared/import.errors.js +1 -1
  204. package/esm2015/lib/import-export/shared/import.interface.js +1 -1
  205. package/esm2015/lib/import-export/shared/import.service.js +1 -1
  206. package/esm2015/lib/import-export/shared/import.utils.js +65 -38
  207. package/esm2015/lib/import-export/shared/index.js +1 -1
  208. package/esm2015/lib/import-export/style-list/index.js +1 -1
  209. package/esm2015/lib/import-export/style-list/style-list.interface.js +1 -1
  210. package/esm2015/lib/import-export/style-list/style-list.module.js +1 -1
  211. package/esm2015/lib/import-export/style-list/style-list.provider.js +1 -1
  212. package/esm2015/lib/import-export/style-list/style-list.service.js +1 -1
  213. package/esm2015/lib/layer/index.js +1 -1
  214. package/esm2015/lib/layer/layer-item/index.js +1 -1
  215. package/esm2015/lib/layer/layer-item/layer-item.component.js +15 -8
  216. package/esm2015/lib/layer/layer-legend/index.js +1 -1
  217. package/esm2015/lib/layer/layer-legend/layer-legend.component.js +24 -24
  218. package/esm2015/lib/layer/layer-legend-item/index.js +1 -1
  219. package/esm2015/lib/layer/layer-legend-item/layer-legend-item.component.js +1 -1
  220. package/esm2015/lib/layer/layer-legend-list/index.js +1 -1
  221. package/esm2015/lib/layer/layer-legend-list/layer-legend-list-binding.directive.js +1 -1
  222. package/esm2015/lib/layer/layer-legend-list/layer-legend-list.component.js +1 -1
  223. package/esm2015/lib/layer/layer-list/index.js +1 -1
  224. package/esm2015/lib/layer/layer-list/layer-list-binding.directive.js +1 -1
  225. package/esm2015/lib/layer/layer-list/layer-list.component.js +2 -2
  226. package/esm2015/lib/layer/layer-list/layer-list.enum.js +1 -1
  227. package/esm2015/lib/layer/layer-list-tool/index.js +1 -1
  228. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.component.js +1 -1
  229. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.enum.js +1 -1
  230. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.interface.js +1 -1
  231. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.service.js +1 -1
  232. package/esm2015/lib/layer/layer.module.js +1 -1
  233. package/esm2015/lib/layer/shared/clusterParam.js +1 -1
  234. package/esm2015/lib/layer/shared/index.js +1 -1
  235. package/esm2015/lib/layer/shared/layer.enums.js +1 -1
  236. package/esm2015/lib/layer/shared/layer.service.js +44 -20
  237. package/esm2015/lib/layer/shared/layers/any-layer.interface.js +1 -1
  238. package/esm2015/lib/layer/shared/layers/any-layer.js +1 -1
  239. package/esm2015/lib/layer/shared/layers/image-layer.interface.js +1 -1
  240. package/esm2015/lib/layer/shared/layers/image-layer.js +1 -1
  241. package/esm2015/lib/layer/shared/layers/index.js +1 -1
  242. package/esm2015/lib/layer/shared/layers/layer.interface.js +1 -1
  243. package/esm2015/lib/layer/shared/layers/layer.js +9 -1
  244. package/esm2015/lib/layer/shared/layers/tile-layer.interface.js +1 -1
  245. package/esm2015/lib/layer/shared/layers/tile-layer.js +1 -1
  246. package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +1 -1
  247. package/esm2015/lib/layer/shared/layers/vector-layer.js +106 -47
  248. package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +1 -1
  249. package/esm2015/lib/layer/shared/layers/vectortile-layer.js +1 -1
  250. package/esm2015/lib/layer/shared/style.service.js +80 -11
  251. package/esm2015/lib/layer/shared/vector-style.interface.js +1 -1
  252. package/esm2015/lib/layer/track-feature-button/index.js +1 -1
  253. package/esm2015/lib/layer/track-feature-button/track-feature-button.component.js +1 -1
  254. package/esm2015/lib/layer/utils/image-watcher.js +1 -1
  255. package/esm2015/lib/layer/utils/index.js +1 -1
  256. package/esm2015/lib/layer/utils/layer.utils.js +1 -1
  257. package/esm2015/lib/layer/utils/layerSync-watcher.js +3 -3
  258. package/esm2015/lib/layer/utils/outputLegend.js +5 -3
  259. package/esm2015/lib/layer/utils/tile-watcher.js +1 -1
  260. package/esm2015/lib/layer/utils/vector-watcher.js +1 -1
  261. package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.animation.js +1 -1
  262. package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.component.js +1 -1
  263. package/esm2015/lib/map/baselayers-switcher/index.js +1 -1
  264. package/esm2015/lib/map/baselayers-switcher/mini-basemap.component.js +1 -1
  265. package/esm2015/lib/map/geolocate-button/geolocate-button.component.js +52 -17
  266. package/esm2015/lib/map/geolocate-button/index.js +1 -1
  267. package/esm2015/lib/map/home-extent-button/home-extent-button.component.js +69 -0
  268. package/esm2015/lib/map/home-extent-button/index.js +2 -0
  269. package/esm2015/lib/map/index.js +4 -1
  270. package/esm2015/lib/map/info-section/index.js +2 -0
  271. package/esm2015/lib/map/info-section/info-section.component.js +36 -0
  272. package/esm2015/lib/map/map-browser/index.js +1 -1
  273. package/esm2015/lib/map/map-browser/map-browser.component.js +2 -2
  274. package/esm2015/lib/map/map-center/index.js +1 -1
  275. package/esm2015/lib/map/map-center/map-center.component.js +2 -2
  276. package/esm2015/lib/map/map.module.js +16 -1
  277. package/esm2015/lib/map/menu-button/index.js +1 -1
  278. package/esm2015/lib/map/menu-button/menu-button.component.js +1 -1
  279. package/esm2015/lib/map/offline-button/index.js +1 -1
  280. package/esm2015/lib/map/offline-button/offline-button.component.js +1 -1
  281. package/esm2015/lib/map/rotation-button/index.js +1 -1
  282. package/esm2015/lib/map/rotation-button/rotation-button.component.js +1 -1
  283. package/esm2015/lib/map/shared/controllers/controller.js +1 -1
  284. package/esm2015/lib/map/shared/controllers/geolocation.js +295 -0
  285. package/esm2015/lib/map/shared/controllers/index.js +2 -1
  286. package/esm2015/lib/map/shared/controllers/view.js +17 -1
  287. package/esm2015/lib/map/shared/hover-feature.directive.js +9 -7
  288. package/esm2015/lib/map/shared/index.js +1 -1
  289. package/esm2015/lib/map/shared/map-pointer-position.directive.js +1 -1
  290. package/esm2015/lib/map/shared/map.enums.js +1 -1
  291. package/esm2015/lib/map/shared/map.interface.js +1 -1
  292. package/esm2015/lib/map/shared/map.js +14 -135
  293. package/esm2015/lib/map/shared/map.service.js +1 -1
  294. package/esm2015/lib/map/shared/map.utils.js +1 -1
  295. package/esm2015/lib/map/shared/mapOffline.directive.js +17 -6
  296. package/esm2015/lib/map/shared/projection.interfaces.js +1 -1
  297. package/esm2015/lib/map/shared/projection.service.js +1 -1
  298. package/esm2015/lib/map/shared/projection.utils.js +1 -1
  299. package/esm2015/lib/map/swipe-control/index.js +1 -1
  300. package/esm2015/lib/map/swipe-control/swipe-control.component.js +1 -1
  301. package/esm2015/lib/map/utils/layer-watcher.js +1 -1
  302. package/esm2015/lib/map/wake-lock-button/index.js +2 -0
  303. package/esm2015/lib/map/wake-lock-button/wake-lock-button.component.js +122 -0
  304. package/esm2015/lib/map/zoom-button/index.js +1 -1
  305. package/esm2015/lib/map/zoom-button/zoom-button.component.js +1 -1
  306. package/esm2015/lib/measure/index.js +1 -1
  307. package/esm2015/lib/measure/measure.module.js +1 -1
  308. package/esm2015/lib/measure/measurer/measure-format.pipe.js +1 -1
  309. package/esm2015/lib/measure/measurer/measurer-dialog.component.js +1 -1
  310. package/esm2015/lib/measure/measurer/measurer-item.component.js +1 -1
  311. package/esm2015/lib/measure/measurer/measurer.component.js +7 -1
  312. package/esm2015/lib/measure/measurer/measurer.module.js +1 -1
  313. package/esm2015/lib/measure/shared/index.js +1 -1
  314. package/esm2015/lib/measure/shared/measure.enum.js +1 -1
  315. package/esm2015/lib/measure/shared/measure.interfaces.js +1 -1
  316. package/esm2015/lib/measure/shared/measure.utils.js +1 -1
  317. package/esm2015/lib/metadata/index.js +1 -1
  318. package/esm2015/lib/metadata/metadata-button/index.js +1 -1
  319. package/esm2015/lib/metadata/metadata-button/metadata-button.component.js +1 -1
  320. package/esm2015/lib/metadata/metadata.module.js +1 -1
  321. package/esm2015/lib/metadata/shared/index.js +1 -1
  322. package/esm2015/lib/metadata/shared/metadata.interface.js +1 -1
  323. package/esm2015/lib/metadata/shared/metadata.service.js +1 -1
  324. package/esm2015/lib/offline/geoDB/geoDB.enums.js +6 -0
  325. package/esm2015/lib/offline/geoDB/geoDB.interface.js +2 -0
  326. package/esm2015/lib/offline/geoDB/geoDB.service.js +161 -0
  327. package/esm2015/lib/offline/geoDB/index.js +4 -0
  328. package/esm2015/lib/offline/index.js +3 -0
  329. package/esm2015/lib/offline/shared/geo-network.service.js +66 -0
  330. package/esm2015/lib/offline/shared/index.js +2 -0
  331. package/esm2015/lib/overlay/index.js +1 -1
  332. package/esm2015/lib/overlay/overlay.module.js +1 -1
  333. package/esm2015/lib/overlay/shared/index.js +1 -1
  334. package/esm2015/lib/overlay/shared/overlay-marker-style.utils.js +1 -1
  335. package/esm2015/lib/overlay/shared/overlay.directive.js +1 -1
  336. package/esm2015/lib/overlay/shared/overlay.enum.js +1 -1
  337. package/esm2015/lib/overlay/shared/overlay.js +1 -1
  338. package/esm2015/lib/overlay/shared/overlay.service.js +1 -1
  339. package/esm2015/lib/overlay/shared/overlay.utils.js +3 -3
  340. package/esm2015/lib/print/index.js +1 -1
  341. package/esm2015/lib/print/print/print.component.js +1 -1
  342. package/esm2015/lib/print/print-form/index.js +1 -1
  343. package/esm2015/lib/print/print-form/print-form.component.js +1 -1
  344. package/esm2015/lib/print/print.module.js +1 -1
  345. package/esm2015/lib/print/shared/index.js +1 -1
  346. package/esm2015/lib/print/shared/print.interface.js +1 -1
  347. package/esm2015/lib/print/shared/print.service.js +22 -16
  348. package/esm2015/lib/print/shared/print.type.js +1 -1
  349. package/esm2015/lib/query/index.js +1 -1
  350. package/esm2015/lib/query/query.module.js +5 -4
  351. package/esm2015/lib/query/shared/index.js +1 -1
  352. package/esm2015/lib/query/shared/query-search-source.js +1 -1
  353. package/esm2015/lib/query/shared/query-search-source.providers.js +1 -1
  354. package/esm2015/lib/query/shared/query.directive.js +4 -1
  355. package/esm2015/lib/query/shared/query.enums.js +1 -1
  356. package/esm2015/lib/query/shared/query.interfaces.js +1 -1
  357. package/esm2015/lib/query/shared/query.service.js +67 -18
  358. package/esm2015/lib/query/shared/query.utils.js +1 -1
  359. package/esm2015/lib/search/index.js +1 -1
  360. package/esm2015/lib/search/search-bar/search-bar.component.js +4 -2
  361. package/esm2015/lib/search/search-bar/search-bar.module.js +1 -1
  362. package/esm2015/lib/search/search-bar/search-url-param.directive.js +1 -1
  363. package/esm2015/lib/search/search-results/search-results-add-button.component.js +7 -7
  364. package/esm2015/lib/search/search-results/search-results-item.component.js +1 -1
  365. package/esm2015/lib/search/search-results/search-results.component.js +1 -1
  366. package/esm2015/lib/search/search-results/search-results.module.js +1 -1
  367. package/esm2015/lib/search/search-selector/search-selector.component.js +1 -1
  368. package/esm2015/lib/search/search-selector/search-selector.module.js +1 -1
  369. package/esm2015/lib/search/search-settings/search-settings.component.js +1 -1
  370. package/esm2015/lib/search/search-settings/search-settings.module.js +1 -1
  371. package/esm2015/lib/search/search.module.js +1 -1
  372. package/esm2015/lib/search/shared/index.js +1 -1
  373. package/esm2015/lib/search/shared/search-pointer-summary.directive.js +2 -1
  374. package/esm2015/lib/search/shared/search-source-service.providers.js +1 -1
  375. package/esm2015/lib/search/shared/search-source.service.js +1 -1
  376. package/esm2015/lib/search/shared/search.enums.js +1 -1
  377. package/esm2015/lib/search/shared/search.interfaces.js +1 -1
  378. package/esm2015/lib/search/shared/search.service.js +1 -1
  379. package/esm2015/lib/search/shared/search.utils.js +1 -1
  380. package/esm2015/lib/search/shared/sources/cadastre.js +1 -1
  381. package/esm2015/lib/search/shared/sources/cadastre.providers.js +1 -1
  382. package/esm2015/lib/search/shared/sources/coordinates.interfaces.js +1 -1
  383. package/esm2015/lib/search/shared/sources/coordinates.js +1 -1
  384. package/esm2015/lib/search/shared/sources/coordinates.providers.js +1 -1
  385. package/esm2015/lib/search/shared/sources/icherche.interfaces.js +1 -1
  386. package/esm2015/lib/search/shared/sources/icherche.js +1 -1
  387. package/esm2015/lib/search/shared/sources/icherche.providers.js +1 -1
  388. package/esm2015/lib/search/shared/sources/ilayer.interfaces.js +1 -1
  389. package/esm2015/lib/search/shared/sources/ilayer.js +1 -1
  390. package/esm2015/lib/search/shared/sources/ilayer.providers.js +1 -1
  391. package/esm2015/lib/search/shared/sources/index.js +1 -1
  392. package/esm2015/lib/search/shared/sources/nominatim.interfaces.js +1 -1
  393. package/esm2015/lib/search/shared/sources/nominatim.js +2 -2
  394. package/esm2015/lib/search/shared/sources/nominatim.providers.js +1 -1
  395. package/esm2015/lib/search/shared/sources/source.interfaces.js +1 -1
  396. package/esm2015/lib/search/shared/sources/source.js +3 -3
  397. package/esm2015/lib/search/shared/sources/storedqueries.interfaces.js +1 -1
  398. package/esm2015/lib/search/shared/sources/storedqueries.js +2 -2
  399. package/esm2015/lib/search/shared/sources/storedqueries.providers.js +1 -1
  400. package/esm2015/lib/toast/index.js +1 -1
  401. package/esm2015/lib/toast/toast.component.js +1 -1
  402. package/esm2015/lib/toast/toast.module.js +1 -1
  403. package/esm2015/lib/utils/commonVectorStyle.interface.js +1 -1
  404. package/esm2015/lib/utils/commonVectorStyle.js +1 -1
  405. package/esm2015/lib/utils/googleLinks.js +1 -1
  406. package/esm2015/lib/utils/id-generator.js +1 -1
  407. package/esm2015/lib/utils/index.js +1 -1
  408. package/esm2015/lib/utils/osmLinks.js +1 -1
  409. package/esm2015/lib/wkt/index.js +1 -1
  410. package/esm2015/lib/wkt/shared/index.js +1 -1
  411. package/esm2015/lib/wkt/shared/wkt.service.js +15 -15
  412. package/esm2015/lib/wkt/wkt.module.js +1 -1
  413. package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js +56 -0
  414. package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js +38 -0
  415. package/esm2015/lib/workspace/confirmation-popup/index.js +3 -0
  416. package/esm2015/lib/workspace/index.js +2 -1
  417. package/esm2015/lib/workspace/shared/edition-workspace.js +279 -0
  418. package/esm2015/lib/workspace/shared/edition-workspace.service.js +646 -0
  419. package/esm2015/lib/workspace/shared/feature-workspace.js +18 -1
  420. package/esm2015/lib/workspace/shared/feature-workspace.service.js +36 -10
  421. package/esm2015/lib/workspace/shared/index.js +3 -1
  422. package/esm2015/lib/workspace/shared/wfs-workspace.js +18 -1
  423. package/esm2015/lib/workspace/shared/wfs-workspace.service.js +36 -9
  424. package/esm2015/lib/workspace/shared/wms-workspace.service.js +87 -19
  425. package/esm2015/lib/workspace/shared/workspace.utils.js +1 -1
  426. package/esm2015/lib/workspace/widgets/index.js +1 -1
  427. package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.component.js +1 -1
  428. package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.module.js +1 -1
  429. package/esm2015/lib/workspace/widgets/widgets.js +1 -1
  430. package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +40 -10
  431. package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +1 -1
  432. package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +22 -8
  433. package/esm2015/lib/workspace/workspace-updator/workspace-updator.module.js +1 -1
  434. package/esm2015/lib/workspace/workspace.module.js +19 -7
  435. package/esm2015/public_api.js +2 -1
  436. package/fesm2015/igo2-geo.js +4487 -1380
  437. package/fesm2015/igo2-geo.js.map +1 -1
  438. package/lib/catalog/shared/catalog.interface.d.ts +9 -1
  439. package/lib/catalog/shared/catalog.service.d.ts +1 -0
  440. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -0
  441. package/lib/datasource/shared/datasources/datasource.interface.d.ts +50 -0
  442. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +1 -0
  443. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +1 -1
  444. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -1
  445. package/lib/directions/directions.component.d.ts +2 -1
  446. package/lib/draw/draw/draw-popup.component.d.ts +4 -2
  447. package/lib/draw/draw/draw.component.d.ts +19 -2
  448. package/lib/draw/shared/draw-style.service.d.ts +6 -0
  449. package/lib/draw/shared/draw.enum.d.ts +15 -0
  450. package/lib/feature/feature-details/feature-details.component.d.ts +12 -2
  451. package/lib/feature/feature-details/feature-details.directive.d.ts +2 -13
  452. package/lib/filter/filter.module.d.ts +1 -1
  453. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +31 -13
  454. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +6 -0
  455. package/lib/filter/shared/ogc-filter.interface.d.ts +20 -2
  456. package/lib/geometry/shared/controls/draw.d.ts +8 -4
  457. package/lib/geometry/shared/controls/modify.d.ts +3 -4
  458. package/lib/geometry/shared/controls/slice.d.ts +3 -4
  459. package/lib/import-export/shared/import.utils.d.ts +1 -1
  460. package/lib/layer/layer-item/layer-item.component.d.ts +1 -0
  461. package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -2
  462. package/lib/layer/shared/layer.service.d.ts +6 -3
  463. package/lib/layer/shared/layers/layer.d.ts +6 -0
  464. package/lib/layer/shared/layers/layer.interface.d.ts +9 -0
  465. package/lib/layer/shared/layers/vector-layer.d.ts +7 -2
  466. package/lib/layer/shared/style.service.d.ts +38 -3
  467. package/lib/layer/shared/vector-style.interface.d.ts +11 -0
  468. package/lib/map/geolocate-button/geolocate-button.component.d.ts +8 -1
  469. package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -0
  470. package/lib/map/home-extent-button/index.d.ts +1 -0
  471. package/lib/map/index.d.ts +3 -0
  472. package/lib/map/info-section/index.d.ts +1 -0
  473. package/lib/map/info-section/info-section.component.d.ts +7 -0
  474. package/lib/map/map.module.d.ts +20 -17
  475. package/lib/map/shared/controllers/geolocation.d.ts +111 -0
  476. package/lib/map/shared/controllers/index.d.ts +1 -0
  477. package/lib/map/shared/controllers/view.d.ts +7 -0
  478. package/lib/map/shared/hover-feature.directive.d.ts +1 -1
  479. package/lib/map/shared/map.d.ts +6 -19
  480. package/lib/map/shared/map.interface.d.ts +0 -1
  481. package/lib/map/shared/mapOffline.directive.d.ts +1 -0
  482. package/lib/map/wake-lock-button/index.d.ts +1 -0
  483. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +30 -0
  484. package/lib/offline/geoDB/geoDB.enums.d.ts +4 -0
  485. package/lib/offline/geoDB/geoDB.interface.d.ts +9 -0
  486. package/lib/offline/geoDB/geoDB.service.d.ts +35 -0
  487. package/lib/offline/geoDB/index.d.ts +3 -0
  488. package/lib/offline/index.d.ts +2 -0
  489. package/lib/offline/shared/geo-network.service.d.ts +28 -0
  490. package/lib/offline/shared/index.d.ts +1 -0
  491. package/lib/print/shared/print.service.d.ts +3 -2
  492. package/lib/query/query.module.d.ts +2 -1
  493. package/lib/query/shared/query.interfaces.d.ts +1 -0
  494. package/lib/query/shared/query.service.d.ts +7 -1
  495. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -0
  496. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -0
  497. package/lib/workspace/confirmation-popup/index.d.ts +2 -0
  498. package/lib/workspace/index.d.ts +1 -0
  499. package/lib/workspace/shared/edition-workspace.d.ts +82 -0
  500. package/lib/workspace/shared/edition-workspace.service.d.ts +48 -0
  501. package/lib/workspace/shared/feature-workspace.d.ts +3 -0
  502. package/lib/workspace/shared/feature-workspace.service.d.ts +5 -2
  503. package/lib/workspace/shared/index.d.ts +2 -0
  504. package/lib/workspace/shared/wfs-workspace.d.ts +3 -0
  505. package/lib/workspace/shared/wfs-workspace.service.d.ts +5 -2
  506. package/lib/workspace/shared/wms-workspace.service.d.ts +7 -2
  507. package/lib/workspace/shared/workspace.utils.d.ts +3 -2
  508. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +10 -3
  509. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -1
  510. package/lib/workspace/workspace.module.d.ts +8 -5
  511. package/ngcc.config.js +3 -3
  512. package/package.json +7 -5
  513. package/public_api.d.ts +1 -0
  514. package/style/geo.theming.scss +12 -11
@@ -4,12 +4,13 @@ import { takeUntil } from 'rxjs/operators';
4
4
  import { userAgent } from '@igo2/utils';
5
5
  import { getEntityTitle, getEntityIcon } from '@igo2/common';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/platform-browser";
8
- import * as i2 from "@igo2/core";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@angular/material/icon";
11
- import * as i5 from "@igo2/common";
12
- import * as i6 from "@ngx-translate/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "@angular/platform-browser";
9
+ import * as i3 from "@igo2/core";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "@angular/material/icon";
12
+ import * as i6 from "@igo2/common";
13
+ import * as i7 from "@ngx-translate/core";
13
14
  function FeatureDetailsComponent_table_0_tr_2_td_1_Template(rf, ctx) { if (rf & 1) {
14
15
  i0.ɵɵelementStart(0, "td");
15
16
  i0.ɵɵelement(1, "mat-icon", 7);
@@ -49,40 +50,56 @@ function FeatureDetailsComponent_table_0_tr_2_td_4_Template(rf, ctx) { if (rf &
49
50
  const property_r3 = i0.ɵɵnextContext().$implicit;
50
51
  i0.ɵɵproperty("innerHTML", property_r3.value, i0.ɵɵsanitizeHtml);
51
52
  } }
52
- function FeatureDetailsComponent_table_0_tr_2_td_5_img_2_Template(rf, ctx) { if (rf & 1) {
53
- i0.ɵɵelement(0, "img", 13);
54
- i0.ɵɵpipe(1, "async");
55
- i0.ɵɵpipe(2, "secureImage");
53
+ const _c0 = function () { return { "cursor": "pointer", "color": "blue" }; };
54
+ function FeatureDetailsComponent_table_0_tr_2_td_5_Template(rf, ctx) { if (rf & 1) {
55
+ const _r17 = i0.ɵɵgetCurrentView();
56
+ i0.ɵɵelementStart(0, "td");
57
+ i0.ɵɵelementStart(1, "u", 11);
58
+ i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_5_Template_u_click_1_listener() { i0.ɵɵrestoreView(_r17); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r15 = i0.ɵɵnextContext(2); return ctx_r15.openSecureUrl(property_r3.value); });
59
+ i0.ɵɵtext(2);
60
+ i0.ɵɵelementEnd();
61
+ i0.ɵɵelementEnd();
56
62
  } if (rf & 2) {
57
- const property_r3 = i0.ɵɵnextContext(2).$implicit;
58
- i0.ɵɵpropertyInterpolate("src", i0.ɵɵpipeBind1(1, 1, i0.ɵɵpipeBind1(2, 3, property_r3.value)), i0.ɵɵsanitizeUrl);
63
+ const property_r3 = i0.ɵɵnextContext().$implicit;
64
+ const ctx_r8 = i0.ɵɵnextContext(2);
65
+ i0.ɵɵadvance(1);
66
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(2, _c0));
67
+ i0.ɵɵadvance(1);
68
+ i0.ɵɵtextInterpolate(ctx_r8.getEmbeddedLinkText(property_r3.value));
59
69
  } }
60
- function FeatureDetailsComponent_table_0_tr_2_td_5_ng_template_3_Template(rf, ctx) { if (rf & 1) {
61
- i0.ɵɵelementStart(0, "span");
62
- i0.ɵɵtext(1);
63
- i0.ɵɵpipe(2, "translate");
70
+ function FeatureDetailsComponent_table_0_tr_2_td_6_Template(rf, ctx) { if (rf & 1) {
71
+ const _r21 = i0.ɵɵgetCurrentView();
72
+ i0.ɵɵelementStart(0, "td");
73
+ i0.ɵɵelementStart(1, "u", 11);
74
+ i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_6_Template_u_click_1_listener() { i0.ɵɵrestoreView(_r21); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r19 = i0.ɵɵnextContext(2); return ctx_r19.openSecureUrl(property_r3.value); });
75
+ i0.ɵɵtext(2);
76
+ i0.ɵɵpipe(3, "translate");
77
+ i0.ɵɵelementEnd();
64
78
  i0.ɵɵelementEnd();
65
79
  } if (rf & 2) {
66
80
  i0.ɵɵadvance(1);
67
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(2, 1, "igo.geo.targetHtmlUrl"), " ");
81
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(4, _c0));
82
+ i0.ɵɵadvance(1);
83
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "igo.geo.targetHtmlUrl"));
68
84
  } }
69
- function FeatureDetailsComponent_table_0_tr_2_td_5_Template(rf, ctx) { if (rf & 1) {
85
+ function FeatureDetailsComponent_table_0_tr_2_td_7_Template(rf, ctx) { if (rf & 1) {
86
+ const _r24 = i0.ɵɵgetCurrentView();
70
87
  i0.ɵɵelementStart(0, "td");
71
- i0.ɵɵelementStart(1, "a", 8);
72
- i0.ɵɵtemplate(2, FeatureDetailsComponent_table_0_tr_2_td_5_img_2_Template, 3, 5, "img", 11);
73
- i0.ɵɵtemplate(3, FeatureDetailsComponent_table_0_tr_2_td_5_ng_template_3_Template, 3, 3, "ng-template", null, 12, i0.ɵɵtemplateRefExtractor);
88
+ i0.ɵɵelementStart(1, "a", 12);
89
+ i0.ɵɵlistener("click", function FeatureDetailsComponent_table_0_tr_2_td_7_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r24); const property_r3 = i0.ɵɵnextContext().$implicit; const ctx_r22 = i0.ɵɵnextContext(2); return ctx_r22.openSecureUrl(property_r3.value); });
90
+ i0.ɵɵelement(2, "img", 13);
91
+ i0.ɵɵpipe(3, "async");
92
+ i0.ɵɵpipe(4, "secureImage");
74
93
  i0.ɵɵelementEnd();
75
94
  i0.ɵɵelementEnd();
76
95
  } if (rf & 2) {
77
- const _r14 = i0.ɵɵreference(4);
78
96
  const property_r3 = i0.ɵɵnextContext().$implicit;
79
- const ctx_r8 = i0.ɵɵnextContext(2);
80
97
  i0.ɵɵadvance(1);
81
98
  i0.ɵɵpropertyInterpolate("href", property_r3.value, i0.ɵɵsanitizeUrl);
82
99
  i0.ɵɵadvance(1);
83
- i0.ɵɵproperty("ngIf", ctx_r8.isImg(property_r3.value))("ngIfElse", _r14);
100
+ i0.ɵɵpropertyInterpolate("src", i0.ɵɵpipeBind1(3, 2, i0.ɵɵpipeBind1(4, 4, property_r3.value)), i0.ɵɵsanitizeUrl);
84
101
  } }
85
- function FeatureDetailsComponent_table_0_tr_2_td_6_Template(rf, ctx) { if (rf & 1) {
102
+ function FeatureDetailsComponent_table_0_tr_2_td_8_Template(rf, ctx) { if (rf & 1) {
86
103
  i0.ɵɵelement(0, "td", 10);
87
104
  i0.ɵɵpipe(1, "json");
88
105
  } if (rf & 2) {
@@ -95,8 +112,10 @@ function FeatureDetailsComponent_table_0_tr_2_Template(rf, ctx) { if (rf & 1) {
95
112
  i0.ɵɵtemplate(2, FeatureDetailsComponent_table_0_tr_2_td_2_Template, 4, 5, "td", 4);
96
113
  i0.ɵɵtemplate(3, FeatureDetailsComponent_table_0_tr_2_td_3_Template, 2, 1, "td", 5);
97
114
  i0.ɵɵtemplate(4, FeatureDetailsComponent_table_0_tr_2_td_4_Template, 1, 1, "td", 6);
98
- i0.ɵɵtemplate(5, FeatureDetailsComponent_table_0_tr_2_td_5_Template, 5, 3, "td", 4);
99
- i0.ɵɵtemplate(6, FeatureDetailsComponent_table_0_tr_2_td_6_Template, 2, 3, "td", 6);
115
+ i0.ɵɵtemplate(5, FeatureDetailsComponent_table_0_tr_2_td_5_Template, 3, 3, "td", 4);
116
+ i0.ɵɵtemplate(6, FeatureDetailsComponent_table_0_tr_2_td_6_Template, 4, 5, "td", 4);
117
+ i0.ɵɵtemplate(7, FeatureDetailsComponent_table_0_tr_2_td_7_Template, 5, 6, "td", 4);
118
+ i0.ɵɵtemplate(8, FeatureDetailsComponent_table_0_tr_2_td_8_Template, 2, 3, "td", 6);
100
119
  i0.ɵɵelementEnd();
101
120
  } if (rf & 2) {
102
121
  const property_r3 = ctx.$implicit;
@@ -108,16 +127,20 @@ function FeatureDetailsComponent_table_0_tr_2_Template(rf, ctx) { if (rf & 1) {
108
127
  i0.ɵɵadvance(1);
109
128
  i0.ɵɵproperty("ngIf", ctx_r2.feature.properties.target === undefined);
110
129
  i0.ɵɵadvance(1);
111
- i0.ɵɵproperty("ngIf", ctx_r2.feature.properties.target === undefined && !ctx_r2.isObject(property_r3.value) && !ctx_r2.isUrl(property_r3.value));
130
+ i0.ɵɵproperty("ngIf", ctx_r2.feature.properties.target === undefined && !ctx_r2.isObject(property_r3.value) && !ctx_r2.isUrl(property_r3.value) && !ctx_r2.isEmbeddedLink(property_r3.value));
131
+ i0.ɵɵadvance(1);
132
+ i0.ɵɵproperty("ngIf", ctx_r2.feature.properties.target === undefined && ctx_r2.isEmbeddedLink(property_r3.value));
133
+ i0.ɵɵadvance(1);
134
+ i0.ɵɵproperty("ngIf", ctx_r2.feature.properties.target === undefined && !ctx_r2.isObject(property_r3.value) && (ctx_r2.isDoc(property_r3.value) || ctx_r2.isUrl(property_r3.value)) && !ctx_r2.isImg(property_r3.value));
112
135
  i0.ɵɵadvance(1);
113
- i0.ɵɵproperty("ngIf", ctx_r2.feature.properties.target === undefined && !ctx_r2.isObject(property_r3.value) && ctx_r2.isUrl(property_r3.value));
136
+ i0.ɵɵproperty("ngIf", ctx_r2.feature.properties.target === undefined && !ctx_r2.isObject(property_r3.value) && ctx_r2.isUrl(property_r3.value) && ctx_r2.isImg(property_r3.value));
114
137
  i0.ɵɵadvance(1);
115
138
  i0.ɵɵproperty("ngIf", ctx_r2.feature.properties.target === undefined && ctx_r2.isObject(property_r3.value));
116
139
  } }
117
140
  function FeatureDetailsComponent_table_0_Template(rf, ctx) { if (rf & 1) {
118
141
  i0.ɵɵelementStart(0, "table", 2);
119
142
  i0.ɵɵelementStart(1, "tbody");
120
- i0.ɵɵtemplate(2, FeatureDetailsComponent_table_0_tr_2_Template, 7, 6, "tr", 3);
143
+ i0.ɵɵtemplate(2, FeatureDetailsComponent_table_0_tr_2_Template, 9, 8, "tr", 3);
121
144
  i0.ɵɵpipe(3, "keyvalue");
122
145
  i0.ɵɵelementEnd();
123
146
  i0.ɵɵelementEnd();
@@ -133,10 +156,14 @@ function FeatureDetailsComponent_iframe_1_Template(rf, ctx) { if (rf & 1) {
133
156
  i0.ɵɵproperty("srcdoc", ctx_r1.htmlSanitizer(ctx_r1.feature.properties), i0.ɵɵsanitizeHtml)("src", ctx_r1.urlSanitizer(ctx_r1.feature.properties.url), i0.ɵɵsanitizeResourceUrl);
134
157
  } }
135
158
  export class FeatureDetailsComponent {
136
- constructor(cdRef, sanitizer, networkService) {
159
+ constructor(http, cdRef, sanitizer, networkService, messageService, languageService, configService) {
160
+ this.http = http;
137
161
  this.cdRef = cdRef;
138
162
  this.sanitizer = sanitizer;
139
163
  this.networkService = networkService;
164
+ this.messageService = messageService;
165
+ this.languageService = languageService;
166
+ this.configService = configService;
140
167
  this.unsubscribe$ = new Subject();
141
168
  this.ready = false;
142
169
  this.routeEvent = new EventEmitter();
@@ -207,22 +234,71 @@ export class FeatureDetailsComponent {
207
234
  isObject(value) {
208
235
  return typeof value === 'object';
209
236
  }
237
+ openSecureUrl(value) {
238
+ var _a;
239
+ let url;
240
+ const regexDepot = new RegExp(((_a = this.configService) === null || _a === void 0 ? void 0 : _a.getConfig('depot.url')) + '.*?(?="|$)');
241
+ const regexUrl = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
242
+ if (regexDepot.test(value)) {
243
+ url = value.match(regexDepot)[0];
244
+ this.http.get(url, {
245
+ responseType: 'blob'
246
+ })
247
+ .subscribe((docOrImage) => {
248
+ const fileUrl = URL.createObjectURL(docOrImage);
249
+ window.open(fileUrl, '_blank');
250
+ this.cdRef.detectChanges();
251
+ }, (error) => {
252
+ const translate = this.languageService.translate;
253
+ const title = translate.instant('igo.geo.targetHtmlUrlUnauthorizedTitle');
254
+ const message = translate.instant('igo.geo.targetHtmlUrlUnauthorized');
255
+ this.messageService.error(message, title);
256
+ });
257
+ }
258
+ else {
259
+ url = value.match(regexUrl)[0];
260
+ window.open(url, '_blank');
261
+ }
262
+ }
210
263
  isUrl(value) {
211
264
  if (typeof value === 'string') {
212
- return (value.slice(0, 8) === 'https://' || value.slice(0, 7) === 'http://');
265
+ const regex = /^https?:\/\//;
266
+ return regex.test(value);
213
267
  }
214
- else {
215
- return false;
268
+ }
269
+ isDoc(value) {
270
+ if (typeof value === 'string') {
271
+ if (this.isUrl(value)) {
272
+ const regex = /(pdf|docx?|xlsx?)$/;
273
+ return regex.test(value.toLowerCase());
274
+ }
275
+ else {
276
+ return false;
277
+ }
216
278
  }
217
279
  }
218
280
  isImg(value) {
219
- if (this.isUrl(value)) {
220
- return (['jpg', 'png', 'gif'].includes(value.split('.').pop().toLowerCase()));
281
+ if (typeof value === 'string') {
282
+ if (this.isUrl(value)) {
283
+ const regex = /(jpe?g|png|gif)$/;
284
+ return regex.test(value.toLowerCase());
285
+ }
286
+ else {
287
+ return false;
288
+ }
221
289
  }
222
- else {
223
- return false;
290
+ }
291
+ isEmbeddedLink(value) {
292
+ if (typeof value === 'string') {
293
+ const regex = /^<a/;
294
+ return regex.test(value);
224
295
  }
225
296
  }
297
+ getEmbeddedLinkText(value) {
298
+ const regex = /(?<=>).*?(?=<|$)/;
299
+ const text = value.match(regex)[0];
300
+ return text;
301
+ }
226
302
  filterFeatureProperties(feature) {
227
303
  const allowedFieldsAndAlias = feature.meta ? feature.meta.alias : undefined;
228
304
  const properties = {};
@@ -282,15 +358,15 @@ export class FeatureDetailsComponent {
282
358
  return feature.properties;
283
359
  }
284
360
  }
285
- FeatureDetailsComponent.ɵfac = function FeatureDetailsComponent_Factory(t) { return new (t || FeatureDetailsComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.DomSanitizer), i0.ɵɵdirectiveInject(i2.NetworkService)); };
286
- FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FeatureDetailsComponent, selectors: [["igo-feature-details"]], inputs: { source: "source", map: "map", toolbox: "toolbox", feature: "feature" }, outputs: { routeEvent: "routeEvent", selectFeature: "selectFeature", htmlDisplayEvent: "htmlDisplayEvent" }, decls: 2, vars: 2, consts: [["class", "igo-striped mat-typography", 4, "ngIf"], [3, "srcdoc", "src", 4, "ngIf"], [1, "igo-striped", "mat-typography"], [4, "ngFor", "ngForOf"], [4, "ngIf"], ["id", "keyValue", 4, "ngIf"], [3, "innerHTML", 4, "ngIf"], ["mat-list-avatar", "", 3, "svgIcon"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href"], ["id", "keyValue"], [3, "innerHTML"], ["width", "225", "heigth", "auto", 3, "src", 4, "ngIf", "ngIfElse"], ["notImg", ""], ["width", "225", "heigth", "auto", 3, "src"], [3, "srcdoc", "src"]], template: function FeatureDetailsComponent_Template(rf, ctx) { if (rf & 1) {
361
+ FeatureDetailsComponent.ɵfac = function FeatureDetailsComponent_Factory(t) { return new (t || FeatureDetailsComponent)(i0.ɵɵdirectiveInject(i1.HttpClient), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.DomSanitizer), i0.ɵɵdirectiveInject(i3.NetworkService), i0.ɵɵdirectiveInject(i3.MessageService), i0.ɵɵdirectiveInject(i3.LanguageService), i0.ɵɵdirectiveInject(i3.ConfigService)); };
362
+ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FeatureDetailsComponent, selectors: [["igo-feature-details"]], inputs: { source: "source", map: "map", toolbox: "toolbox", feature: "feature" }, outputs: { routeEvent: "routeEvent", selectFeature: "selectFeature", htmlDisplayEvent: "htmlDisplayEvent" }, decls: 2, vars: 2, consts: [["class", "igo-striped mat-typography", 4, "ngIf"], [3, "srcdoc", "src", 4, "ngIf"], [1, "igo-striped", "mat-typography"], [4, "ngFor", "ngForOf"], [4, "ngIf"], ["id", "keyValue", 4, "ngIf"], [3, "innerHTML", 4, "ngIf"], ["mat-list-avatar", "", 3, "svgIcon"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href"], ["id", "keyValue"], [3, "innerHTML"], [3, "ngStyle", "click"], ["target", "_blank", "rel", "noopener noreferrer", 3, "href", "click"], ["width", "225", "height", "auto", 3, "src"], [3, "srcdoc", "src"]], template: function FeatureDetailsComponent_Template(rf, ctx) { if (rf & 1) {
287
363
  i0.ɵɵtemplate(0, FeatureDetailsComponent_table_0_Template, 4, 3, "table", 0);
288
364
  i0.ɵɵtemplate(1, FeatureDetailsComponent_iframe_1_Template, 1, 2, "iframe", 1);
289
365
  } if (rf & 2) {
290
366
  i0.ɵɵproperty("ngIf", ctx.ready && ctx.feature && ctx.isObject(ctx.feature.properties) && ctx.feature.properties.target !== "iframe");
291
367
  i0.ɵɵadvance(1);
292
368
  i0.ɵɵproperty("ngIf", ctx.isHtmlDisplay());
293
- } }, directives: [i3.NgIf, i3.NgForOf, i4.MatIcon], pipes: [i5.KeyValuePipe, i6.TranslatePipe, i3.AsyncPipe, i5.SecureImagePipe, i3.JsonPipe], styles: ["table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:5px}#keyValue[_ngcontent-%COMP%]{width:30%}table[_ngcontent-%COMP%] .routing{cursor:pointer}iframe[_ngcontent-%COMP%]{height:calc(100% - 4px);width:100%;border:0}"], changeDetection: 0 });
369
+ } }, directives: [i4.NgIf, i4.NgForOf, i5.MatIcon, i4.NgStyle], pipes: [i6.KeyValuePipe, i7.TranslatePipe, i4.AsyncPipe, i6.SecureImagePipe, i4.JsonPipe], styles: ["table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:5px}#keyValue[_ngcontent-%COMP%]{width:30%}table[_ngcontent-%COMP%] .routing{cursor:pointer}iframe[_ngcontent-%COMP%]{height:calc(100% - 4px);width:100%;border:0}"], changeDetection: 0 });
294
370
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureDetailsComponent, [{
295
371
  type: Component,
296
372
  args: [{
@@ -299,7 +375,7 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
299
375
  styleUrls: ['./feature-details.component.scss'],
300
376
  changeDetection: ChangeDetectionStrategy.OnPush
301
377
  }]
302
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }, { type: i2.NetworkService }]; }, { source: [{
378
+ }], function () { return [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i3.NetworkService }, { type: i3.MessageService }, { type: i3.LanguageService }, { type: i3.ConfigService }]; }, { source: [{
303
379
  type: Input
304
380
  }], map: [{
305
381
  type: Input
@@ -314,4 +390,4 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
314
390
  }], htmlDisplayEvent: [{
315
391
  type: Output
316
392
  }] }); })();
317
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZGV0YWlscy9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixZQUFZLEVBR2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7O0lDWnZELDBCQUE2RTtJQUMzRSw4QkFBd0Q7SUFDMUQsaUJBQUs7OztJQUR1QixlQUFrQjtJQUFsQixnREFBa0I7OztJQUc5QywwQkFBNkU7SUFDM0UsNEJBQXVFO0lBQUMsWUFBbUQ7O0lBQUEsaUJBQUk7SUFDakksaUJBQUs7Ozs7SUFEQSxlQUF5QjtJQUF6QixxRUFBeUI7SUFBNEMsZUFBbUQ7SUFBbkQsZ0dBQW1EOzs7SUFHN0gsNkJBQWtFO0lBQ2hFLFlBQ0Y7SUFBQSxpQkFBSzs7O0lBREgsZUFDRjtJQURFLGdEQUNGOzs7SUFFQSx5QkFDSzs7O0lBRHNHLGdFQUE0Qjs7O0lBS25JLDBCQUEwSDs7Ozs7SUFBM0UsZ0hBQWdEOzs7SUFDMUUsNEJBQU07SUFBQSxZQUEwQzs7SUFBQSxpQkFBTzs7SUFB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Q0o7U0FDRjtRQUNELE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUM1QixDQUFDOzs4RkFoTFUsdUJBQXVCOzBFQUF2Qix1QkFBdUI7UUM5QnBDLDRFQStCUTtRQUVSLDhFQUFtSTs7UUFqQ3hGLHFJQUFnRztRQWlDbEksZUFBcUI7UUFBckIsMENBQXFCOzt1RkRIakIsdUJBQXVCO2NBUG5DLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixXQUFXLEVBQUUsa0NBQWtDO2dCQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztnQkFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7NEhBUUssTUFBTTtrQkFEVCxLQUFLO1lBU0csR0FBRztrQkFBWCxLQUFLO1lBRUcsT0FBTztrQkFBZixLQUFLO1lBR0YsT0FBTztrQkFEVixLQUFLO1lBYUksVUFBVTtrQkFBbkIsTUFBTTtZQUNHLGFBQWE7a0JBQXRCLE1BQU07WUFDRyxnQkFBZ0I7a0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IHVzZXJBZ2VudCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlLCBDb25uZWN0aW9uU3RhdGUgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IGdldEVudGl0eVRpdGxlLCBnZXRFbnRpdHlJY29uIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB0eXBlIHsgVG9vbGJveCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi4vLi4vc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1mZWF0dXJlLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgRmVhdHVyZURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGU6IENvbm5lY3Rpb25TdGF0ZTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICByZWFkeSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzb3VyY2UoKTogU2VhcmNoU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlO1xuICB9XG4gIHNldCBzb3VyY2UodmFsdWU6IFNlYXJjaFNvdXJjZSkge1xuICAgIHRoaXMuX3NvdXJjZSA9IHZhbHVlO1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgQElucHV0KCkgdG9vbGJveDogVG9vbGJveDtcblxuICBASW5wdXQoKVxuICBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlIHtcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZTtcbiAgfVxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSkge1xuICAgIHRoaXMuX2ZlYXR1cmUgPSB2YWx1ZTtcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNlbGVjdEZlYXR1cmUuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTtcbiAgcHJpdmF0ZSBfc291cmNlOiBTZWFyY2hTb3VyY2U7XG5cbiAgQE91dHB1dCgpIHJvdXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RGZWF0dXJlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgaHRtbERpc3BsYXlFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5mZWF0dXJlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5mZWF0dXJlKSB8fCAnbGluayc7XG4gIH1cblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5uZXR3b3JrU2VydmljZS5jdXJyZW50U3RhdGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoc3RhdGU6IENvbm5lY3Rpb25TdGF0ZSkgPT4ge1xuICAgICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZWFkeSA9IHRydWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHVybFNhbml0aXplcih2YWx1ZSk6IFNhZmVSZXNvdXJjZVVybCB7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XG4gIH1cblxuXG4gIGlzSHRtbERpc3BsYXkoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZmVhdHVyZSAmJiB0aGlzLmlzT2JqZWN0KHRoaXMuZmVhdHVyZS5wcm9wZXJ0aWVzKSAmJiB0aGlzLmZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09ICdpZnJhbWUnKSB7XG4gICAgICB0aGlzLmh0bWxEaXNwbGF5RXZlbnQuZW1pdCh0cnVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmh0bWxEaXNwbGF5RXZlbnQuZW1pdChmYWxzZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaHRtbFNhbml0aXplcih2YWx1ZSk6IFNhZmVSZXNvdXJjZVVybCB7XG4gICAgaWYgKCF2YWx1ZS5ib2R5IHx8IHVzZXJBZ2VudC5nZXRCcm93c2VyTmFtZSgpID09PSAnSW50ZXJuZXQgRXhwbG9yZXInKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlZ2V4QmFzZSA9IC88YmFzZSBocmVmPVwiW1xcdzpcXC9cXC5dK1wiPi87XG4gICAgaWYgKCFyZWdleEJhc2UudGVzdCh2YWx1ZS5ib2R5KSkge1xuICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCh2YWx1ZS51cmwsIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO1xuICAgICAgdmFsdWUuYm9keSA9IHZhbHVlLmJvZHkucmVwbGFjZSgnPGhlYWQ+JywgYDxoZWFkPjxiYXNlIGhyZWY9XCIke3VybC5vcmlnaW59XCI+YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlLmJvZHkpO1xuICB9XG5cbiAgaXNPYmplY3QodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JztcbiAgfVxuXG4gIGlzVXJsKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHZhbHVlLnNsaWNlKDAsIDgpID09PSAnaHR0cHM6Ly8nIHx8IHZhbHVlLnNsaWNlKDAsIDcpID09PSAnaHR0cDovLydcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpc0ltZyh2YWx1ZSkge1xuICAgIGlmICh0aGlzLmlzVXJsKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgWydqcGcnLCAncG5nJywgJ2dpZiddLmluY2x1ZGVzKHZhbHVlLnNwbGl0KCcuJykucG9wKCkudG9Mb3dlckNhc2UoKSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJGZWF0dXJlUHJvcGVydGllcyhmZWF0dXJlKSB7XG4gICAgY29uc3QgYWxsb3dlZEZpZWxkc0FuZEFsaWFzID0gZmVhdHVyZS5tZXRhID8gZmVhdHVyZS5tZXRhLmFsaWFzIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB7fTtcbiAgICBsZXQgb2ZmbGluZUJ1dHRvblN0YXRlO1xuXG4gICAgaWYgKHRoaXMubWFwKSB7XG4gICAgICB0aGlzLm1hcC5vZmZsaW5lQnV0dG9uVG9nZ2xlJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICAgIG9mZmxpbmVCdXR0b25TdGF0ZSA9IHN0YXRlO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGZlYXR1cmUucHJvcGVydGllcyAmJiBmZWF0dXJlLnByb3BlcnRpZXMuUm91dGUgJiYgdGhpcy50b29sYm94ICYmICF0aGlzLnRvb2xib3guZ2V0VG9vbCgnZGlyZWN0aW9ucycpKSB7XG4gICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlJvdXRlO1xuICAgIH1cblxuICAgIGlmIChhbGxvd2VkRmllbGRzQW5kQWxpYXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGFsbG93ZWRGaWVsZHNBbmRBbGlhcykuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgIHByb3BlcnRpZXNbYWxsb3dlZEZpZWxkc0FuZEFsaWFzW2ZpZWxkXV0gPSBmZWF0dXJlLnByb3BlcnRpZXNbZmllbGRdO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcHJvcGVydGllcztcbiAgICB9IGVsc2UgaWYgKG9mZmxpbmVCdXR0b25TdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoIW9mZmxpbmVCdXR0b25TdGF0ZSkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5jb25uZWN0aW9uICYmIGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZSkge1xuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZTtcbiAgICAgICAgICBleGNsdWRlQXR0cmlidXRlLmZvckVhY2goYXR0cmlidXRlID0+IHtcbiAgICAgICAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXNbYXR0cmlidXRlXTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5zdGF0ZS5jb25uZWN0aW9uICYmIGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUpIHtcbiAgICAgICAgICBjb25zdCBleGNsdWRlQXR0cmlidXRlT2ZmbGluZSA9IGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlT2ZmbGluZTtcbiAgICAgICAgICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZS5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7XG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChmZWF0dXJlLm1ldGEgJiYgZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lKSB7XG4gICAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XG4gICAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xuICAgICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlKSB7XG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZTtcbiAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZS5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7XG4gICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuc3RhdGUuY29ubmVjdGlvbiAmJiBmZWF0dXJlLm1ldGEgJiYgZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lKSB7XG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xuICAgICAgICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZS5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7XG4gICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZlYXR1cmUucHJvcGVydGllcztcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwiaWdvLXN0cmlwZWQgbWF0LXR5cG9ncmFwaHlcIiAqbmdJZj1cInJlYWR5ICYmIGZlYXR1cmUgJiYgaXNPYmplY3QoZmVhdHVyZS5wcm9wZXJ0aWVzKSAmJiBmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ICE9PSAnaWZyYW1lJ1wiPlxuICA8dGJvZHk+XG4gICAgPHRyICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBmaWx0ZXJGZWF0dXJlUHJvcGVydGllcyhmZWF0dXJlKSB8IGtleXZhbHVlXCI+XG5cbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09ICdfYmxhbmsnICYmIHByb3BlcnR5LmtleSA9PT0gJ3VybCdcIj5cbiAgICAgICAgPG1hdC1pY29uIG1hdC1saXN0LWF2YXRhciBzdmdJY29uPVwie3tpY29ufX1cIj48L21hdC1pY29uPlxuICAgICAgPC90ZD5cblxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gJ19ibGFuaycgJiYgcHJvcGVydHkua2V5ID09PSAndXJsJ1wiPlxuICAgICAgICA8YSBocmVmPVwie3twcm9wZXJ0eS52YWx1ZX19XCIgdGFyZ2V0PSdfYmxhbmsnIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj4ge3sgJ2lnby5nZW8udGFyZ2V0SHRtbFVybCcgfCB0cmFuc2xhdGUgfX0ge3t0aXRsZX19PC9hPlxuICAgICAgPC90ZD5cblxuICAgICAgPHRkIGlkPVwia2V5VmFsdWVcIiAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZFwiPlxuICAgICAgICB7e3Byb3BlcnR5LmtleSB9fVxuICAgICAgPC90ZD5cblxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmICFpc09iamVjdChwcm9wZXJ0eS52YWx1ZSkgJiYgIWlzVXJsKHByb3BlcnR5LnZhbHVlKVwiIFtpbm5lckhUTUxdPVwicHJvcGVydHkudmFsdWVcIj5cbiAgICAgIDwvdGQ+XG5cbiAgICAgIDx0ZCAqbmdJZj1cImZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgPT09IHVuZGVmaW5lZCAmJiAhaXNPYmplY3QocHJvcGVydHkudmFsdWUpICYmIGlzVXJsKHByb3BlcnR5LnZhbHVlKVwiPlxuICAgICAgICA8YSBocmVmPVwie3twcm9wZXJ0eS52YWx1ZX19XCIgdGFyZ2V0PSdfYmxhbmsnIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICAgICAgICA8aW1nICpuZ0lmPVwiaXNJbWcocHJvcGVydHkudmFsdWUpO2Vsc2Ugbm90SW1nXCIgc3JjPVwie3socHJvcGVydHkudmFsdWUgfCBzZWN1cmVJbWFnZSkgfMKgYXN5bmN9fVwiIHdpZHRoPVwiMjI1XCIgaGVpZ3RoPVwiYXV0b1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90SW1nPjxzcGFuPnt7ICdpZ28uZ2VvLnRhcmdldEh0bWxVcmwnIHwgdHJhbnNsYXRlIH19IDwvc3Bhbj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2E+XG4gICAgICA8L3RkPlxuXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgaXNPYmplY3QocHJvcGVydHkudmFsdWUpXCIgW2lubmVySFRNTF09XCJwcm9wZXJ0eS52YWx1ZSB8IGpzb25cIj5cbiAgICAgIDwvdGQ+XG5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cblxuPGlmcmFtZSAqbmdJZj1cImlzSHRtbERpc3BsYXkoKVwiIFtzcmNkb2NdPVwiaHRtbFNhbml0aXplcihmZWF0dXJlLnByb3BlcnRpZXMpXCIgW3NyY109XCJ1cmxTYW5pdGl6ZXIoZmVhdHVyZS5wcm9wZXJ0aWVzLnVybClcIj48L2lmcmFtZT5cbiJdfQ==
393
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZGV0YWlscy9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixZQUFZLEVBR2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7OztJQ2J2RCwwQkFBNkU7SUFDM0UsOEJBQXdEO0lBQzFELGlCQUFLOzs7SUFEdUIsZUFBa0I7SUFBbEIsZ0RBQWtCOzs7SUFHOUMsMEJBQTZFO0lBQzNFLDRCQUF1RTtJQUFDLFlBQW1EOztJQUFBLGlCQUFJO0lBQ2pJLGlCQUFLOzs7O0lBREEsZUFBeUI7SUFBekIscUVBQXlCO0lBQTRDLGVBQW1EO0lBQW5ELGdHQUFtRDs7O0lBRzdILDZCQUFrRTtJQUNoRSxZQUNGO0lBQUEsaUJBQUs7OztJQURILGVBQ0Y7SUFERSxnREFDRjs7O0lBRUEseUJBQ0s7OztJQUR5SSxnRUFBNEI7Ozs7O0lBRzFLLDBCQUFzRjtJQUNwRiw2QkFBOEY7SUFBeEMsNFFBQXVDO0lBQUMsWUFBeUM7SUFBQSxpQkFBSTtJQUM3SSxp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QVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDdkMsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO1FBQ0QsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQzVCLENBQUM7OzhGQXRPVSx1QkFBdUI7MEVBQXZCLHVCQUF1QjtRQ2hDcEMsNEVBc0NRO1FBRVIsOEVBQW1JOztRQXhDeEYscUlBQWdHO1FBd0NsSSxlQUFxQjtRQUFyQiwwQ0FBcUI7O3VGRFJqQix1QkFBdUI7Y0FQbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSxrQ0FBa0M7Z0JBQy9DLFNBQVMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2dCQUMvQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDs0T0FRSyxNQUFNO2tCQURULEtBQUs7WUFTRyxHQUFHO2tCQUFYLEtBQUs7WUFFRyxPQUFPO2tCQUFmLEtBQUs7WUFHRixPQUFPO2tCQURWLEtBQUs7WUFhSSxVQUFVO2tCQUFuQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLGdCQUFnQjtrQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IHVzZXJBZ2VudCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuaW1wb3J0IHsgTmV0d29ya1NlcnZpY2UsIENvbm5lY3Rpb25TdGF0ZSwgTWVzc2FnZVNlcnZpY2UsIExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IGdldEVudGl0eVRpdGxlLCBnZXRFbnRpdHlJY29uIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHR5cGUgeyBUb29sYm94IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi9zaGFyZWQnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuLi8uLi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvc291cmNlJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZmVhdHVyZS1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3RhdGU6IENvbm5lY3Rpb25TdGF0ZTtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcmVhZHkgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc291cmNlKCk6IFNlYXJjaFNvdXJjZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc291cmNlO1xyXG4gIH1cclxuICBzZXQgc291cmNlKHZhbHVlOiBTZWFyY2hTb3VyY2UpIHtcclxuICAgIHRoaXMuX3NvdXJjZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgQElucHV0KCkgdG9vbGJveDogVG9vbGJveDtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlIHtcclxuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xyXG4gIH1cclxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSkge1xyXG4gICAgdGhpcy5fZmVhdHVyZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnNlbGVjdEZlYXR1cmUuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTtcclxuICBwcml2YXRlIF9zb3VyY2U6IFNlYXJjaFNvdXJjZTtcclxuXHJcbiAgQE91dHB1dCgpIHJvdXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdEZlYXR1cmUgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGh0bWxEaXNwbGF5RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMuZmVhdHVyZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5mZWF0dXJlKSB8fCAnbGluayc7XHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5uZXR3b3JrU2VydmljZS5jdXJyZW50U3RhdGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoc3RhdGU6IENvbm5lY3Rpb25TdGF0ZSkgPT4ge1xyXG4gICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5yZWFkeSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICB1cmxTYW5pdGl6ZXIodmFsdWUpOiBTYWZlUmVzb3VyY2VVcmwge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaXNIdG1sRGlzcGxheSgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmZlYXR1cmUgJiYgdGhpcy5pc09iamVjdCh0aGlzLmZlYXR1cmUucHJvcGVydGllcykgJiYgdGhpcy5mZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSAnaWZyYW1lJykge1xyXG4gICAgICB0aGlzLmh0bWxEaXNwbGF5RXZlbnQuZW1pdCh0cnVlKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmh0bWxEaXNwbGF5RXZlbnQuZW1pdChmYWxzZSk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGh0bWxTYW5pdGl6ZXIodmFsdWUpOiBTYWZlUmVzb3VyY2VVcmwge1xyXG4gICAgaWYgKCF2YWx1ZS5ib2R5IHx8IHVzZXJBZ2VudC5nZXRCcm93c2VyTmFtZSgpID09PSAnSW50ZXJuZXQgRXhwbG9yZXInKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlZ2V4QmFzZSA9IC88YmFzZSBocmVmPVwiW1xcdzpcXC9cXC5dK1wiPi87XHJcbiAgICBpZiAoIXJlZ2V4QmFzZS50ZXN0KHZhbHVlLmJvZHkpKSB7XHJcbiAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodmFsdWUudXJsLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcclxuICAgICAgdmFsdWUuYm9keSA9IHZhbHVlLmJvZHkucmVwbGFjZSgnPGhlYWQ+JywgYDxoZWFkPjxiYXNlIGhyZWY9XCIke3VybC5vcmlnaW59XCI+YCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlLmJvZHkpO1xyXG4gIH1cclxuXHJcbiAgaXNPYmplY3QodmFsdWUpIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xyXG4gIH1cclxuXHJcbiAgb3BlblNlY3VyZVVybCh2YWx1ZSkge1xyXG4gICAgbGV0IHVybDogc3RyaW5nO1xyXG4gICAgY29uc3QgcmVnZXhEZXBvdCA9IG5ldyBSZWdFeHAodGhpcy5jb25maWdTZXJ2aWNlPy5nZXRDb25maWcoJ2RlcG90LnVybCcpICsgJy4qPyg/PVwifCQpJyk7XHJcbiAgICBjb25zdCByZWdleFVybCA9IC9odHRwcz86XFwvXFwvKHd3d1xcLik/Wy1hLXpBLVowLTlAOiUuX1xcK34jPV17MSwyNTZ9XFwuW2EtekEtWjAtOSgpXXsxLDZ9XFxiKFstYS16QS1aMC05KClAOiVfXFwrLn4jPyYvLz1dKikvO1xyXG5cclxuICAgIGlmIChyZWdleERlcG90LnRlc3QodmFsdWUpKSB7XHJcbiAgICAgIHVybCA9IHZhbHVlLm1hdGNoKHJlZ2V4RGVwb3QpWzBdO1xyXG5cclxuICAgICAgdGhpcy5odHRwLmdldCh1cmwsIHtcclxuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xyXG4gICAgICB9KVxyXG4gICAgICAuc3Vic2NyaWJlKChkb2NPckltYWdlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZmlsZVVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZG9jT3JJbWFnZSk7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oZmlsZVVybCwgJ19ibGFuaycpO1xyXG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3I6IEVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gICAgICAgIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8udGFyZ2V0SHRtbFVybFVuYXV0aG9yaXplZFRpdGxlJyk7XHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLnRhcmdldEh0bWxVcmxVbmF1dGhvcml6ZWQnKTtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmVycm9yKG1lc3NhZ2UsIHRpdGxlKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB1cmwgPSB2YWx1ZS5tYXRjaChyZWdleFVybClbMF07XHJcbiAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNVcmwodmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGNvbnN0IHJlZ2V4ID0gL15odHRwcz86XFwvXFwvLztcclxuICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNEb2ModmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzVXJsKHZhbHVlKSkge1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gLyhwZGZ8ZG9jeD98eGxzeD8pJC87XHJcbiAgICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0ltZyh2YWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0nc3RyaW5nJykge1xyXG4gICAgICBpZiAodGhpcy5pc1VybCh2YWx1ZSkpIHtcclxuICAgICAgICBjb25zdCByZWdleCA9IC8oanBlP2d8cG5nfGdpZikkLztcclxuICAgICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzRW1iZWRkZWRMaW5rKHZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICBjb25zdCByZWdleCA9IC9ePGEvO1xyXG4gICAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRFbWJlZGRlZExpbmtUZXh0KHZhbHVlKSB7XHJcbiAgICBjb25zdCByZWdleCA9IC8oPzw9PikuKj8oPz08fCQpLztcclxuICAgIGNvbnN0IHRleHQgPSB2YWx1ZS5tYXRjaChyZWdleClbMF07XHJcbiAgICByZXR1cm4gdGV4dDtcclxuICB9XHJcblxyXG4gIGZpbHRlckZlYXR1cmVQcm9wZXJ0aWVzKGZlYXR1cmUpIHtcclxuICAgIGNvbnN0IGFsbG93ZWRGaWVsZHNBbmRBbGlhcyA9IGZlYXR1cmUubWV0YSA/IGZlYXR1cmUubWV0YS5hbGlhcyA6IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB7fTtcclxuICAgIGxldCBvZmZsaW5lQnV0dG9uU3RhdGU7XHJcblxyXG4gICAgaWYgKHRoaXMubWFwKSB7XHJcbiAgICAgIHRoaXMubWFwLm9mZmxpbmVCdXR0b25Ub2dnbGUkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKHN0YXRlID0+IHtcclxuICAgICAgICBvZmZsaW5lQnV0dG9uU3RhdGUgPSBzdGF0ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZlYXR1cmUucHJvcGVydGllcyAmJiBmZWF0dXJlLnByb3BlcnRpZXMuUm91dGUgJiYgdGhpcy50b29sYm94ICYmICF0aGlzLnRvb2xib3guZ2V0VG9vbCgnZGlyZWN0aW9ucycpKSB7XHJcbiAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuUm91dGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFsbG93ZWRGaWVsZHNBbmRBbGlhcykge1xyXG4gICAgICBPYmplY3Qua2V5cyhhbGxvd2VkRmllbGRzQW5kQWxpYXMpLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICAgIHByb3BlcnRpZXNbYWxsb3dlZEZpZWxkc0FuZEFsaWFzW2ZpZWxkXV0gPSBmZWF0dXJlLnByb3BlcnRpZXNbZmllbGRdO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHByb3BlcnRpZXM7XHJcbiAgICB9IGVsc2UgaWYgKG9mZmxpbmVCdXR0b25TdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmICghb2ZmbGluZUJ1dHRvblN0YXRlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuY29ubmVjdGlvbiAmJiBmZWF0dXJlLm1ldGEgJiYgZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGUpIHtcclxuICAgICAgICAgIGNvbnN0IGV4Y2x1ZGVBdHRyaWJ1dGUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZTtcclxuICAgICAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLnN0YXRlLmNvbm5lY3Rpb24gJiYgZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlT2ZmbGluZSkge1xyXG4gICAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XHJcbiAgICAgICAgICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZS5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7XHJcbiAgICAgICAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXNbYXR0cmlidXRlXTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoZmVhdHVyZS5tZXRhICYmIGZlYXR1cmUubWV0YS5leGNsdWRlQXR0cmlidXRlT2ZmbGluZSkge1xyXG4gICAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XHJcbiAgICAgICAgICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZS5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7XHJcbiAgICAgICAgICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXNbYXR0cmlidXRlXTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc3RhdGUuY29ubmVjdGlvbiAmJiBmZWF0dXJlLm1ldGEgJiYgZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGUpIHtcclxuICAgICAgICBjb25zdCBleGNsdWRlQXR0cmlidXRlID0gZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGU7XHJcbiAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZS5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7XHJcbiAgICAgICAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzW2F0dHJpYnV0ZV07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuc3RhdGUuY29ubmVjdGlvbiAmJiBmZWF0dXJlLm1ldGEgJiYgZmVhdHVyZS5tZXRhLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lKSB7XHJcbiAgICAgICAgY29uc3QgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUgPSBmZWF0dXJlLm1ldGEuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XHJcbiAgICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmUuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xyXG4gICAgICAgICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllc1thdHRyaWJ1dGVdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmVhdHVyZS5wcm9wZXJ0aWVzO1xyXG4gIH1cclxufVxyXG4iLCI8dGFibGUgY2xhc3M9XCJpZ28tc3RyaXBlZCBtYXQtdHlwb2dyYXBoeVwiICpuZ0lmPVwicmVhZHkgJiYgZmVhdHVyZSAmJiBpc09iamVjdChmZWF0dXJlLnByb3BlcnRpZXMpICYmIGZlYXR1cmUucHJvcGVydGllcy50YXJnZXQgIT09ICdpZnJhbWUnXCI+XHJcbiAgPHRib2R5PlxyXG4gICAgPHRyICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBmaWx0ZXJGZWF0dXJlUHJvcGVydGllcyhmZWF0dXJlKSB8IGtleXZhbHVlXCI+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSAnX2JsYW5rJyAmJiBwcm9wZXJ0eS5rZXkgPT09ICd1cmwnXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdC1saXN0LWF2YXRhciBzdmdJY29uPVwie3tpY29ufX1cIj48L21hdC1pY29uPlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gJ19ibGFuaycgJiYgcHJvcGVydHkua2V5ID09PSAndXJsJ1wiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJ7e3Byb3BlcnR5LnZhbHVlfX1cIiB0YXJnZXQ9J19ibGFuaycgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPiB7eyAnaWdvLmdlby50YXJnZXRIdG1sVXJsJyB8IHRyYW5zbGF0ZSB9fSB7e3RpdGxlfX08L2E+XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgaWQ9XCJrZXlWYWx1ZVwiICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkXCI+XHJcbiAgICAgICAge3twcm9wZXJ0eS5rZXl9fVxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmICFpc09iamVjdChwcm9wZXJ0eS52YWx1ZSkgJiYgIWlzVXJsKHByb3BlcnR5LnZhbHVlKSAmJiAhaXNFbWJlZGRlZExpbmsocHJvcGVydHkudmFsdWUpXCIgW2lubmVySFRNTF09XCJwcm9wZXJ0eS52YWx1ZVwiPlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZmVhdHVyZS5wcm9wZXJ0aWVzLnRhcmdldCA9PT0gdW5kZWZpbmVkICYmIGlzRW1iZWRkZWRMaW5rKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgIDx1IFtuZ1N0eWxlXT1cInsnY3Vyc29yJzogJ3BvaW50ZXInLCAnY29sb3InOiAnYmx1ZSd9XCIgKGNsaWNrKT1cIm9wZW5TZWN1cmVVcmwocHJvcGVydHkudmFsdWUpXCI+e3sgZ2V0RW1iZWRkZWRMaW5rVGV4dChwcm9wZXJ0eS52YWx1ZSkgfX08L3U+XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgIWlzT2JqZWN0KHByb3BlcnR5LnZhbHVlKSAmJiAoaXNEb2MocHJvcGVydHkudmFsdWUpIHx8IGlzVXJsKHByb3BlcnR5LnZhbHVlKSkgJiYgIWlzSW1nKHByb3BlcnR5LnZhbHVlKVwiPlxyXG4gICAgICAgIDx1IFtuZ1N0eWxlXT1cInsnY3Vyc29yJzogJ3BvaW50ZXInLCAnY29sb3InOiAnYmx1ZSd9XCIgKGNsaWNrKT1cIm9wZW5TZWN1cmVVcmwocHJvcGVydHkudmFsdWUpXCI+e3sgJ2lnby5nZW8udGFyZ2V0SHRtbFVybCcgfCB0cmFuc2xhdGUgfX08L3U+XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgIWlzT2JqZWN0KHByb3BlcnR5LnZhbHVlKSAmJiBpc1VybChwcm9wZXJ0eS52YWx1ZSkgJiYgaXNJbWcocHJvcGVydHkudmFsdWUpXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cInt7cHJvcGVydHkudmFsdWV9fVwiIHRhcmdldD0nX2JsYW5rJyAoY2xpY2spPVwib3BlblNlY3VyZVVybChwcm9wZXJ0eS52YWx1ZSlcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XHJcbiAgICAgICAgICA8aW1nIHNyYz1cInt7KHByb3BlcnR5LnZhbHVlIHwgc2VjdXJlSW1hZ2UpIHzCoGFzeW5jfX1cIiB3aWR0aD1cIjIyNVwiIGhlaWdodD1cImF1dG9cIj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJmZWF0dXJlLnByb3BlcnRpZXMudGFyZ2V0ID09PSB1bmRlZmluZWQgJiYgaXNPYmplY3QocHJvcGVydHkudmFsdWUpXCIgW2lubmVySFRNTF09XCJwcm9wZXJ0eS52YWx1ZSB8IGpzb25cIj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICA8L3RyPlxyXG4gIDwvdGJvZHk+XHJcbjwvdGFibGU+XHJcblxyXG48aWZyYW1lICpuZ0lmPVwiaXNIdG1sRGlzcGxheSgpXCIgW3NyY2RvY109XCJodG1sU2FuaXRpemVyKGZlYXR1cmUucHJvcGVydGllcylcIiBbc3JjXT1cInVybFNhbml0aXplcihmZWF0dXJlLnByb3BlcnRpZXMudXJsKVwiPjwvaWZyYW1lPlxyXG4iXX0=
@@ -1,75 +1,23 @@
1
1
  import { Directive, Self, HostListener, Output, EventEmitter } from '@angular/core';
2
- import * as olProj from 'ol/proj';
3
2
  import { BehaviorSubject } from 'rxjs';
4
- import pointOnFeature from '@turf/point-on-feature';
5
- import { FEATURE } from '../shared';
6
3
  import * as i0 from "@angular/core";
7
4
  import * as i1 from "./feature-details.component";
8
5
  export class FeatureDetailsDirective {
9
6
  constructor(component, el) {
10
7
  this.el = el;
11
- this.geolocation$ = new BehaviorSubject(undefined);
12
- this.start = {
13
- meta: { id: 1 },
14
- type: FEATURE,
15
- geometry: {
16
- type: 'Point',
17
- coordinates: undefined
18
- },
19
- projection: 'EPSG:4326',
20
- properties: {
21
- id: 1,
22
- name: 'User coordinates',
23
- }
24
- };
25
8
  this.feature$ = new BehaviorSubject(undefined);
26
9
  this.routingEvent = new EventEmitter();
27
10
  this.component = component;
28
11
  }
29
- get map() {
30
- return this.component.map;
31
- }
32
12
  get feature() {
33
13
  return this.component.feature;
34
14
  }
35
- get geolocation() {
36
- return this.component.map.geolocation$.getValue();
37
- }
38
- set geolocation(value) {
39
- if (value) {
40
- this.geolocation = value;
41
- this.geolocation.on('change', evt => {
42
- this.geolocation$.next(this.geolocation);
43
- });
44
- }
45
- }
46
15
  setFeature() {
47
16
  this.feature$.next(this.feature);
48
17
  }
49
18
  ngOnInit() {
50
- this.map.geolocation$.subscribe(geolocation => {
51
- if (!geolocation) {
52
- return;
53
- }
54
- geolocation.setProjection(this.map.projection);
55
- if (geolocation && geolocation.getTracking() === false) {
56
- geolocation.setTracking(false);
57
- }
58
- if (geolocation.getTracking() === true) {
59
- let userCoord = geolocation.getPosition();
60
- userCoord = olProj.transform(userCoord, this.map.projection, 'EPSG:4326');
61
- this.start.geometry.coordinates = userCoord;
62
- }
63
- });
64
19
  this.feature$.subscribe(() => {
65
20
  if (this.feature.geometry) {
66
- if (this.feature.geometry.type === 'Point') {
67
- this.end = this.feature;
68
- }
69
- else {
70
- this.end = pointOnFeature(this.feature.geometry);
71
- }
72
- this.geolocation$.next(this.geolocation);
73
21
  this.bindClicking();
74
22
  }
75
23
  });
@@ -79,14 +27,11 @@ export class FeatureDetailsDirective {
79
27
  const routeElement = this.el.nativeElement.querySelector('span.routing');
80
28
  if (routeElement) {
81
29
  routeElement.addEventListener('click', () => {
82
- this.activateRouting();
30
+ this.routingEvent.emit();
83
31
  });
84
32
  }
85
33
  }, 1);
86
34
  }
87
- activateRouting() {
88
- this.start.geometry.coordinates ? this.routingEvent.emit([this.start, this.end]) : this.routingEvent.emit([this.end]);
89
- }
90
35
  }
91
36
  FeatureDetailsDirective.ɵfac = function FeatureDetailsDirective_Factory(t) { return new (t || FeatureDetailsDirective)(i0.ɵɵdirectiveInject(i1.FeatureDetailsComponent, 2), i0.ɵɵdirectiveInject(i0.ElementRef)); };
92
37
  FeatureDetailsDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FeatureDetailsDirective, selectors: [["", "igoFeatureDetailsDirective", ""]], hostBindings: function FeatureDetailsDirective_HostBindings(rf, ctx) { if (rf & 1) {
@@ -106,4 +51,4 @@ FeatureDetailsDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Fea
106
51
  type: HostListener,
107
52
  args: ['selectFeature']
108
53
  }] }); })();
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFjLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJeEcsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFFbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLGNBQWMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQVcsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFPN0MsTUFBTSxPQUFPLHVCQUF1QjtJQWdEbEMsWUFDVSxTQUFrQyxFQUNsQyxFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQWhEakIsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsU0FBUyxDQUFDLENBQUM7UUFFN0QsVUFBSyxHQUFZO1lBQ3RCLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDZixJQUFJLEVBQUUsT0FBTztZQUNiLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsT0FBTztnQkFDYixXQUFXLEVBQUUsU0FBUzthQUN2QjtZQUNELFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFVBQVUsRUFBRTtnQkFDVixFQUFFLEVBQUUsQ0FBQztnQkFDTCxJQUFJLEVBQUUsa0JBQWtCO2FBQ3pCO1NBQ0YsQ0FBQztRQVdGLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQWNoQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFXckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxT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QUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEgsQ0FBQzs7OEZBbkdVLHVCQUF1QjswRUFBdkIsdUJBQXVCO29IQUF2QixnQkFBWTs7dUZBQVosdUJBQXVCO2NBTG5DLFNBQVM7ZUFBQztnQkFDVCxzRkFBc0Y7Z0JBQ3RGLFFBQVEsRUFBRSw4QkFBOEI7YUFDekM7O3NCQW1ESSxJQUFJO2lEQVJHLFlBQVk7a0JBQXJCLE1BQU07WUFHUCxVQUFVO2tCQURULFlBQVk7bUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgRGlyZWN0aXZlLCBTZWxmLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5cbmltcG9ydCBvbEdlb2xvY2F0aW9uIGZyb20gJ29sL0dlb2xvY2F0aW9uJztcbmltcG9ydCAqIGFzIG9sUHJvaiBmcm9tICdvbC9wcm9qJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCBwb2ludE9uRmVhdHVyZSBmcm9tICdAdHVyZi9wb2ludC1vbi1mZWF0dXJlJztcbmltcG9ydCB7IEZlYXR1cmUsIEZFQVRVUkUgfSBmcm9tICcuLi9zaGFyZWQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gVGhpcyBkaXJlY3RpdmUgYWxsb3cgdG8gdmlldyB0aGUgcm91dGUgYmV0d2VlbiB0aGUgdXNlciBjb29yZGluYXRlcyBhbmQgdGhlIGZlYXR1cmVcbiAgc2VsZWN0b3I6ICdbaWdvRmVhdHVyZURldGFpbHNEaXJlY3RpdmVdJ1xufSlcblxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxzRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBjb21wb25lbnQ6IEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50O1xuICBwdWJsaWMgZ2VvbG9jYXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxvbEdlb2xvY2F0aW9uPih1bmRlZmluZWQpO1xuXG4gIHB1YmxpYyBzdGFydDogRmVhdHVyZSA9IHtcbiAgICBtZXRhOiB7IGlkOiAxIH0sXG4gICAgdHlwZTogRkVBVFVSRSxcbiAgICBnZW9tZXRyeToge1xuICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgIGNvb3JkaW5hdGVzOiB1bmRlZmluZWRcbiAgICB9LFxuICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGlkOiAxLFxuICAgICAgbmFtZTogJ1VzZXIgY29vcmRpbmF0ZXMnLFxuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgZW5kOiBGZWF0dXJlO1xuXG4gIGdldCBtYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Lm1hcDtcbiAgfVxuXG4gIGdldCBmZWF0dXJlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5mZWF0dXJlO1xuICB9XG4gIGZlYXR1cmUkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuXG4gIGdldCBnZW9sb2NhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQubWFwLmdlb2xvY2F0aW9uJC5nZXRWYWx1ZSgpO1xuICB9XG4gIHNldCBnZW9sb2NhdGlvbih2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5nZW9sb2NhdGlvbiA9IHZhbHVlO1xuICAgICAgdGhpcy5nZW9sb2NhdGlvbi5vbignY2hhbmdlJywgZXZ0ID0+IHtcbiAgICAgICAgdGhpcy5nZW9sb2NhdGlvbiQubmV4dCh0aGlzLmdlb2xvY2F0aW9uKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSByb3V0aW5nRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmVbXT4oKTtcblxuICBASG9zdExpc3RlbmVyKCdzZWxlY3RGZWF0dXJlJylcbiAgc2V0RmVhdHVyZSgpIHtcbiAgICB0aGlzLmZlYXR1cmUkLm5leHQodGhpcy5mZWF0dXJlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTZWxmKCkgY29tcG9uZW50OiBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCxcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmXG4gICkge1xuICAgIHRoaXMuY29tcG9uZW50ID0gY29tcG9uZW50O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tYXAuZ2VvbG9jYXRpb24kLnN1YnNjcmliZShnZW9sb2NhdGlvbiA9PiB7XG4gICAgICBpZiAoIWdlb2xvY2F0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGdlb2xvY2F0aW9uLnNldFByb2plY3Rpb24odGhpcy5tYXAucHJvamVjdGlvbik7XG5cbiAgICAgIGlmIChnZW9sb2NhdGlvbiAmJiBnZW9sb2NhdGlvbi5nZXRUcmFja2luZygpID09PSBmYWxzZSkge1xuICAgICAgICBnZW9sb2NhdGlvbi5zZXRUcmFja2luZyhmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChnZW9sb2NhdGlvbi5nZXRUcmFja2luZygpID09PSB0cnVlKSB7XG4gICAgICAgIGxldCB1c2VyQ29vcmQgPSBnZW9sb2NhdGlvbi5nZXRQb3NpdGlvbigpO1xuICAgICAgICB1c2VyQ29vcmQgPSBvbFByb2oudHJhbnNmb3JtKHVzZXJDb29yZCwgdGhpcy5tYXAucHJvamVjdGlvbiwgJ0VQU0c6NDMyNicpO1xuICAgICAgICB0aGlzLnN0YXJ0Lmdlb21ldHJ5LmNvb3JkaW5hdGVzID0gdXNlckNvb3JkO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5mZWF0dXJlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZmVhdHVyZS5nZW9tZXRyeSkge1xuICAgICAgICBpZiAodGhpcy5mZWF0dXJlLmdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCcpIHtcbiAgICAgICAgICB0aGlzLmVuZCA9IHRoaXMuZmVhdHVyZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVuZCA9IHBvaW50T25GZWF0dXJlKHRoaXMuZmVhdHVyZS5nZW9tZXRyeSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZW9sb2NhdGlvbiQubmV4dCh0aGlzLmdlb2xvY2F0aW9uKTtcbiAgICAgICAgdGhpcy5iaW5kQ2xpY2tpbmcoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGJpbmRDbGlja2luZygpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHJvdXRlRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLnJvdXRpbmcnKTtcbiAgICAgIGlmIChyb3V0ZUVsZW1lbnQpIHtcbiAgICAgICAgcm91dGVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWN0aXZhdGVSb3V0aW5nKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sIDEpO1xuICB9XG5cbiAgYWN0aXZhdGVSb3V0aW5nKCkge1xuICAgIHRoaXMuc3RhcnQuZ2VvbWV0cnkuY29vcmRpbmF0ZXMgPyB0aGlzLnJvdXRpbmdFdmVudC5lbWl0KFt0aGlzLnN0YXJ0LCB0aGlzLmVuZF0pIDogdGhpcy5yb3V0aW5nRXZlbnQuZW1pdChbdGhpcy5lbmRdKTtcbiAgfVxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFjLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBUXZDLE1BQU0sT0FBTyx1QkFBdUI7SUFpQmxDLFlBQ1UsU0FBa0MsRUFDbEMsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFaeEIsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBR2hDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVdoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBbEJELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQU9ELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQVNELFFBQVE7UUFFTixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtnQkFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDekUsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMzQixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7OEZBMUNVLHVCQUF1QjswRUFBdkIsdUJBQXVCO29IQUF2QixnQkFBWTs7dUZBQVosdUJBQXVCO2NBTG5DLFNBQVM7ZUFBQztnQkFDVCxzRkFBc0Y7Z0JBQ3RGLFFBQVEsRUFBRSw4QkFBOEI7YUFDekM7O3NCQW9CSSxJQUFJO2lEQVJHLFlBQVk7a0JBQXJCLE1BQU07WUFHUCxVQUFVO2tCQURULFlBQVk7bUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgRGlyZWN0aXZlLCBTZWxmLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIC8vIFRoaXMgZGlyZWN0aXZlIGFsbG93IHRvIHZpZXcgdGhlIHJvdXRlIGJldHdlZW4gdGhlIHVzZXIgY29vcmRpbmF0ZXMgYW5kIHRoZSBmZWF0dXJlXHJcbiAgc2VsZWN0b3I6ICdbaWdvRmVhdHVyZURldGFpbHNEaXJlY3RpdmVdJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEZXRhaWxzRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGNvbXBvbmVudDogRmVhdHVyZURldGFpbHNDb21wb25lbnQ7XHJcblxyXG5cclxuICBnZXQgZmVhdHVyZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5mZWF0dXJlO1xyXG4gIH1cclxuICBmZWF0dXJlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcblxyXG4gIEBPdXRwdXQoKSByb3V0aW5nRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3NlbGVjdEZlYXR1cmUnKVxyXG4gIHNldEZlYXR1cmUoKSB7XHJcbiAgICB0aGlzLmZlYXR1cmUkLm5leHQodGhpcy5mZWF0dXJlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQFNlbGYoKSBjb21wb25lbnQ6IEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnQ7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmZlYXR1cmUkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmZlYXR1cmUuZ2VvbWV0cnkpIHtcclxuICAgICAgICB0aGlzLmJpbmRDbGlja2luZygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGJpbmRDbGlja2luZygpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCByb3V0ZUVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5yb3V0aW5nJyk7XHJcbiAgICAgIGlmIChyb3V0ZUVsZW1lbnQpIHtcclxuICAgICAgICByb3V0ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRpbmdFdmVudC5lbWl0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0sIDEpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -47,4 +47,4 @@ IgoFeatureDetailsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [
47
47
  IgoKeyValueModule,
48
48
  IgoImageModule], exports: [FeatureDetailsComponent,
49
49
  FeatureDetailsDirective] }); })();
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7R0FFRztBQWdCSCxNQUFNLE9BQU8sdUJBQXVCOzs4RkFBdkIsdUJBQXVCO3lFQUF2Qix1QkFBdUI7NkVBZHpCO1lBQ1AsWUFBWTtZQUNaLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGNBQWM7U0FDZjt1RkFRVSx1QkFBdUI7Y0FmbkMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGNBQWM7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtvQkFDdkIsdUJBQXVCO2lCQUFDO2dCQUMxQixZQUFZLEVBQUU7b0JBQ1osdUJBQXVCO29CQUN2Qix1QkFBdUI7aUJBQUM7YUFDM0I7O3dGQUNZLHVCQUF1QixtQkFIaEMsdUJBQXVCO1FBQ3ZCLHVCQUF1QixhQVh2QixZQUFZO1FBQ1osYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsY0FBYyxhQUdkLHVCQUF1QjtRQUN2Qix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IElnb0tleVZhbHVlTW9kdWxlLCBJZ29JbWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVEZXRhaWxzRGlyZWN0aXZlIH0gZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcbiAgICBJZ29LZXlWYWx1ZU1vZHVsZSxcbiAgICBJZ29JbWFnZU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRmVhdHVyZURldGFpbHNDb21wb25lbnQsXG4gICAgRmVhdHVyZURldGFpbHNEaXJlY3RpdmVdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCxcbiAgICBGZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgSWdvRmVhdHVyZURldGFpbHNNb2R1bGUge31cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZXRhaWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7R0FFRztBQWdCSCxNQUFNLE9BQU8sdUJBQXVCOzs4RkFBdkIsdUJBQXVCO3lFQUF2Qix1QkFBdUI7NkVBZHpCO1lBQ1AsWUFBWTtZQUNaLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGNBQWM7U0FDZjt1RkFRVSx1QkFBdUI7Y0FmbkMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGNBQWM7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtvQkFDdkIsdUJBQXVCO2lCQUFDO2dCQUMxQixZQUFZLEVBQUU7b0JBQ1osdUJBQXVCO29CQUN2Qix1QkFBdUI7aUJBQUM7YUFDM0I7O3dGQUNZLHVCQUF1QixtQkFIaEMsdUJBQXVCO1FBQ3ZCLHVCQUF1QixhQVh2QixZQUFZO1FBQ1osYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsY0FBYyxhQUdkLHVCQUF1QjtRQUN2Qix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcblxyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBJZ29LZXlWYWx1ZU1vZHVsZSwgSWdvSW1hZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZURldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGZWF0dXJlRGV0YWlsc0RpcmVjdGl2ZSB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzLmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXHJcbiAgICBJZ29LZXlWYWx1ZU1vZHVsZSxcclxuICAgIElnb0ltYWdlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBGZWF0dXJlRGV0YWlsc0NvbXBvbmVudCxcclxuICAgIEZlYXR1cmVEZXRhaWxzRGlyZWN0aXZlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEZlYXR1cmVEZXRhaWxzQ29tcG9uZW50LFxyXG4gICAgRmVhdHVyZURldGFpbHNEaXJlY3RpdmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29GZWF0dXJlRGV0YWlsc01vZHVsZSB7fVxyXG4iXX0=
@@ -114,4 +114,4 @@ FeatureFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Featur
114
114
  type: ViewChild,
115
115
  args: ['igoForm', { static: true }]
116
116
  }] }); })();
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFRLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBR2xEOzs7Ozs7R0FNRztBQU9ILE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CO1FBVFMsYUFBUSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3RTs7V0FFRztRQUNPLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBSXBDLENBQUM7SUFmaEI7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUEwQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLE9BQU8sS0FBMEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFZbEU7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxJQUE0QjtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUE0QjtRQUNwRCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDN0IsSUFBWSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztTQUMzQjthQUFNO1lBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDckMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2FBQzlDLENBQUMsQ0FBQztTQUNKO1FBRUQsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3hELFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNsQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBbUI7WUFDekIsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRO1lBQ1IsVUFBVSxFQUFFLFdBQVc7WUFDdkIsVUFBVTtTQUNYLENBQUM7SUFDSixDQUFDOzt3RkE1RVUsb0JBQW9CO3VFQUFwQixvQkFBb0I7Ozs7Ozs7UUM5QmpDLHNDQUlrQztRQUFoQyxtSEFBYyxvQkFBZ0IsSUFBQzs7UUFFL0Isa0JBQXlCO1FBRXpCLDBDQUE0RDtRQUU5RCxpQkFBVzs7UUFSVCwrQkFBYSxnREFBQTs7dUZENEJGLG9CQUFvQjtjQU5oQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBQzVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO3NDQU1VLElBQUk7a0JBQVosS0FBSztZQU1GLE9BQU87a0JBRFYsS0FBSztZQVFJLFVBQVU7a0JBQW5CLE1BQU07WUFFaUMsT0FBTztrQkFBOUMsU0FBUzttQkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGb3JtLCBnZXRFbnRpdHlSZXZpc2lvbiB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IEZvcm1Db21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgRkVBVFVSRSB9IGZyb20gJy4uL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcbmltcG9ydCB7IEZlYXR1cmUsIEZlYXR1cmVNZXRhIH0gZnJvbSAnLi4vc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogQSBjb25maWd1cmFibGUgZm9ybSwgb3B0aW9ubmFsbHkgYm91bmQgdG8gYSBmZWF0dXJlLlxuICogVGhpcyBjb21wb25lbnQgY3JlYXRlcyBhbiBlbnRpdHkgZm9ybSBhbmQsIG9uIHN1Ym1pdCxcbiAqIHJldHVybnMgYSBmZWF0dXJlIG1hZGUgb3V0IG9mIHRoZSBzdWJtaXR0ZWQgZGF0YS4gSXQgYWxzb1xuICogZG9lcyB0aGluZ3MgbGlrZSBtYW5hZ2luZyB0aGUgZmVhdHVyZSB2aXNpYmlsaXR5IHdoaWxlIGl0J3MgYmVpbmcgdXBkYXRlZFxuICogYXMgd2VsbCBhcyBkaXNhYmxpbmcgdGhlIHNlbGVjdGlvbiBvZiBhbm90aGVyIGZlYXR1cmUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1mZWF0dXJlLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVGb3JtQ29tcG9uZW50IHtcblxuICAvKipcbiAgICogRm9ybVxuICAgKi9cbiAgQElucHV0KCkgZm9ybTogRm9ybTtcblxuICAvKipcbiAgICogRmVhdHVyZSB0byB1cGRhdGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBmZWF0dXJlKHZhbHVlOiBGZWF0dXJlIHwgdW5kZWZpbmVkKSB7IHRoaXMuZmVhdHVyZSQubmV4dCh2YWx1ZSk7IH1cbiAgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZSB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLmZlYXR1cmUkLnZhbHVlOyB9XG4gIHJlYWRvbmx5IGZlYXR1cmUkOiBCZWhhdmlvclN1YmplY3Q8RmVhdHVyZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWRcbiAgICovXG4gIEBPdXRwdXQoKSBzdWJtaXRGb3JtID0gbmV3IEV2ZW50RW1pdHRlcjxGZWF0dXJlPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2lnb0Zvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpZ29Gb3JtOiBGb3JtQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRoZSBmb3JtIGRhdGEgdG8gYSBmZWF0dXJlIGFuZCBlbWl0IGFuIGV2ZW50XG4gICAqIEBwYXJhbSBldmVudCBGb3JtIHN1Ym1pdCBldmVudFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uU3VibWl0KGRhdGE6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcbiAgICBjb25zdCBmZWF0dXJlID0gdGhpcy5mb3JtRGF0YVRvRmVhdHVyZShkYXRhKTtcbiAgICB0aGlzLnN1Ym1pdEZvcm0uZW1pdChmZWF0dXJlKTtcbiAgfVxuXG4gIGdldERhdGEoKTogRmVhdHVyZSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybURhdGFUb0ZlYXR1cmUodGhpcy5pZ29Gb3JtLmdldERhdGEoKSk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRoZSBmb3JtIGRhdGEgdG8gYSBmZWF0dXJlXG4gICAqIEBwYXJhbSBkYXRhIEZvcm0gZGF0YVxuICAgKiBAcmV0dXJucyBBIGZlYXR1cmVcbiAgICovXG4gIHByaXZhdGUgZm9ybURhdGFUb0ZlYXR1cmUoZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IEZlYXR1cmUge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB7fTtcbiAgICBjb25zdCBtZXRhID0ge307XG4gICAgaWYgKHRoaXMuZmVhdHVyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAobWV0YSBhcyBhbnkpLmlkID0gdXVpZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBPYmplY3QuYXNzaWduKHByb3BlcnRpZXMsIHRoaXMuZmVhdHVyZS5wcm9wZXJ0aWVzKTtcbiAgICAgIE9iamVjdC5hc3NpZ24obWV0YSwgdGhpcy5mZWF0dXJlLm1ldGEsIHtcbiAgICAgICAgcmV2aXNpb246IGdldEVudGl0eVJldmlzaW9uKHRoaXMuZmVhdHVyZSkgKyAxXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wZXJ0eVByZWZpeCA9ICdwcm9wZXJ0aWVzLic7XG4gICAgT2JqZWN0LmVudHJpZXMoZGF0YSkuZm9yRWFjaCgoZW50cnk6IFtzdHJpbmcsIGFueV0pID0+IHtcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGVudHJ5O1xuICAgICAgaWYgKGtleS5zdGFydHNXaXRoKHByb3BlcnR5UHJlZml4KSkge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IGtleS5zdWJzdHIocHJvcGVydHlQcmVmaXgubGVuZ3RoKTtcbiAgICAgICAgcHJvcGVydGllc1twcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGxldCBnZW9tZXRyeSA9IGRhdGEuZ2VvbWV0cnk7XG4gICAgaWYgKGdlb21ldHJ5ID09PSB1bmRlZmluZWQgJiYgdGhpcy5mZWF0dXJlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGdlb21ldHJ5ID0gdGhpcy5mZWF0dXJlLmdlb21ldHJ5O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBtZXRhOiBtZXRhIGFzIEZlYXR1cmVNZXRhLFxuICAgICAgdHlwZTogRkVBVFVSRSxcbiAgICAgIGdlb21ldHJ5LFxuICAgICAgcHJvamVjdGlvbjogJ0VQU0c6NDMyNicsXG4gICAgICBwcm9wZXJ0aWVzXG4gICAgfTtcbiAgfVxufVxuIiwiXG48aWdvLWZvcm1cbiAgI2lnb0Zvcm1cbiAgW2Zvcm1dPVwiZm9ybVwiXG4gIFtmb3JtRGF0YV09XCJmZWF0dXJlJCB8IGFzeW5jXCJcbiAgKHN1Ym1pdEZvcm0pPVwib25TdWJtaXQoJGV2ZW50KVwiPlxuXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb3JtQnV0dG9uc11cIiBmb3JtQnV0dG9ucz48L25nLWNvbnRlbnQ+XG4gIFxuPC9pZ28tZm9ybT5cbiJdfQ==
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFRLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBR2xEOzs7Ozs7R0FNRztBQU9ILE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CO1FBVFMsYUFBUSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3RTs7V0FFRztRQUNPLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBSXBDLENBQUM7SUFmaEI7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUEwQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLE9BQU8sS0FBMEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFZbEU7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxJQUE0QjtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUE0QjtRQUNwRCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDN0IsSUFBWSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztTQUMzQjthQUFNO1lBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDckMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2FBQzlDLENBQUMsQ0FBQztTQUNKO1FBRUQsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3hELFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNsQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBbUI7WUFDekIsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRO1lBQ1IsVUFBVSxFQUFFLFdBQVc7WUFDdkIsVUFBVTtTQUNYLENBQUM7SUFDSixDQUFDOzt3RkE1RVUsb0JBQW9CO3VFQUFwQixvQkFBb0I7Ozs7Ozs7UUM5QmpDLHNDQUlrQztRQUFoQyxtSEFBYyxvQkFBZ0IsSUFBQzs7UUFFL0Isa0JBQXlCO1FBRXpCLDBDQUE0RDtRQUU5RCxpQkFBVzs7UUFSVCwrQkFBYSxnREFBQTs7dUZENEJGLG9CQUFvQjtjQU5oQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7Z0JBQzVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO3NDQU1VLElBQUk7a0JBQVosS0FBSztZQU1GLE9BQU87a0JBRFYsS0FBSztZQVFJLFVBQVU7a0JBQW5CLE1BQU07WUFFaUMsT0FBTztrQkFBOUMsU0FBUzttQkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRm9ybSwgZ2V0RW50aXR5UmV2aXNpb24gfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IEZvcm1Db21wb25lbnQgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgRkVBVFVSRSB9IGZyb20gJy4uL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcclxuaW1wb3J0IHsgRmVhdHVyZSwgRmVhdHVyZU1ldGEgfSBmcm9tICcuLi9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBBIGNvbmZpZ3VyYWJsZSBmb3JtLCBvcHRpb25uYWxseSBib3VuZCB0byBhIGZlYXR1cmUuXHJcbiAqIFRoaXMgY29tcG9uZW50IGNyZWF0ZXMgYW4gZW50aXR5IGZvcm0gYW5kLCBvbiBzdWJtaXQsXHJcbiAqIHJldHVybnMgYSBmZWF0dXJlIG1hZGUgb3V0IG9mIHRoZSBzdWJtaXR0ZWQgZGF0YS4gSXQgYWxzb1xyXG4gKiBkb2VzIHRoaW5ncyBsaWtlIG1hbmFnaW5nIHRoZSBmZWF0dXJlIHZpc2liaWxpdHkgd2hpbGUgaXQncyBiZWluZyB1cGRhdGVkXHJcbiAqIGFzIHdlbGwgYXMgZGlzYWJsaW5nIHRoZSBzZWxlY3Rpb24gb2YgYW5vdGhlciBmZWF0dXJlLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZmVhdHVyZS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWF0dXJlLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmVhdHVyZUZvcm1Db21wb25lbnQge1xyXG5cclxuICAvKipcclxuICAgKiBGb3JtXHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuXHJcbiAgLyoqXHJcbiAgICogRmVhdHVyZSB0byB1cGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBmZWF0dXJlKHZhbHVlOiBGZWF0dXJlIHwgdW5kZWZpbmVkKSB7IHRoaXMuZmVhdHVyZSQubmV4dCh2YWx1ZSk7IH1cclxuICBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuZmVhdHVyZSQudmFsdWU7IH1cclxuICByZWFkb25seSBmZWF0dXJlJDogQmVoYXZpb3JTdWJqZWN0PEZlYXR1cmU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm0gPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmU+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lnb0Zvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpZ29Gb3JtOiBGb3JtQ29tcG9uZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYW5zZm9ybSB0aGUgZm9ybSBkYXRhIHRvIGEgZmVhdHVyZSBhbmQgZW1pdCBhbiBldmVudFxyXG4gICAqIEBwYXJhbSBldmVudCBGb3JtIHN1Ym1pdCBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uU3VibWl0KGRhdGE6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcclxuICAgIGNvbnN0IGZlYXR1cmUgPSB0aGlzLmZvcm1EYXRhVG9GZWF0dXJlKGRhdGEpO1xyXG4gICAgdGhpcy5zdWJtaXRGb3JtLmVtaXQoZmVhdHVyZSk7XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCk6IEZlYXR1cmUge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybURhdGFUb0ZlYXR1cmUodGhpcy5pZ29Gb3JtLmdldERhdGEoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmFuc2Zvcm0gdGhlIGZvcm0gZGF0YSB0byBhIGZlYXR1cmVcclxuICAgKiBAcGFyYW0gZGF0YSBGb3JtIGRhdGFcclxuICAgKiBAcmV0dXJucyBBIGZlYXR1cmVcclxuICAgKi9cclxuICBwcml2YXRlIGZvcm1EYXRhVG9GZWF0dXJlKGRhdGE6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBGZWF0dXJlIHtcclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB7fTtcclxuICAgIGNvbnN0IG1ldGEgPSB7fTtcclxuICAgIGlmICh0aGlzLmZlYXR1cmUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAobWV0YSBhcyBhbnkpLmlkID0gdXVpZCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbihwcm9wZXJ0aWVzLCB0aGlzLmZlYXR1cmUucHJvcGVydGllcyk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24obWV0YSwgdGhpcy5mZWF0dXJlLm1ldGEsIHtcclxuICAgICAgICByZXZpc2lvbjogZ2V0RW50aXR5UmV2aXNpb24odGhpcy5mZWF0dXJlKSArIDFcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJvcGVydHlQcmVmaXggPSAncHJvcGVydGllcy4nO1xyXG4gICAgT2JqZWN0LmVudHJpZXMoZGF0YSkuZm9yRWFjaCgoZW50cnk6IFtzdHJpbmcsIGFueV0pID0+IHtcclxuICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gZW50cnk7XHJcbiAgICAgIGlmIChrZXkuc3RhcnRzV2l0aChwcm9wZXJ0eVByZWZpeCkpIHtcclxuICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IGtleS5zdWJzdHIocHJvcGVydHlQcmVmaXgubGVuZ3RoKTtcclxuICAgICAgICBwcm9wZXJ0aWVzW3Byb3BlcnR5XSA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBsZXQgZ2VvbWV0cnkgPSBkYXRhLmdlb21ldHJ5O1xyXG4gICAgaWYgKGdlb21ldHJ5ID09PSB1bmRlZmluZWQgJiYgdGhpcy5mZWF0dXJlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgZ2VvbWV0cnkgPSB0aGlzLmZlYXR1cmUuZ2VvbWV0cnk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbWV0YTogbWV0YSBhcyBGZWF0dXJlTWV0YSxcclxuICAgICAgdHlwZTogRkVBVFVSRSxcclxuICAgICAgZ2VvbWV0cnksXHJcbiAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxyXG4gICAgICBwcm9wZXJ0aWVzXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCJcclxuPGlnby1mb3JtXHJcbiAgI2lnb0Zvcm1cclxuICBbZm9ybV09XCJmb3JtXCJcclxuICBbZm9ybURhdGFdPVwiZmVhdHVyZSQgfCBhc3luY1wiXHJcbiAgKHN1Ym1pdEZvcm0pPVwib25TdWJtaXQoJGV2ZW50KVwiPlxyXG5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgXHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvcm1CdXR0b25zXVwiIGZvcm1CdXR0b25zPjwvbmctY29udGVudD5cclxuICBcclxuPC9pZ28tZm9ybT5cclxuIl19
@@ -33,4 +33,4 @@ IgoFeatureFormModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
33
33
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoFeatureFormModule, { declarations: [FeatureFormComponent], imports: [CommonModule,
34
34
  IgoFormModule], exports: [IgoFormModule,
35
35
  FeatureFormComponent] }); })();
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFjSCxNQUFNLE9BQU8sb0JBQW9COzt3RkFBcEIsb0JBQW9CO3NFQUFwQixvQkFBb0I7MEVBWnRCO1lBQ1AsWUFBWTtZQUNaLGFBQWE7U0FDZCxFQUVDLGFBQWE7dUZBT0osb0JBQW9CO2NBYmhDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO2lCQUNkO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxhQUFhO29CQUNiLG9CQUFvQjtpQkFDckI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLG9CQUFvQjtpQkFDckI7YUFDRjs7d0ZBQ1ksb0JBQW9CLG1CQUg3QixvQkFBb0IsYUFScEIsWUFBWTtRQUNaLGFBQWEsYUFHYixhQUFhO1FBQ2Isb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IElnb0Zvcm1Nb2R1bGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuXG5pbXBvcnQgeyBGZWF0dXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZS1mb3JtLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGlnbm9yZVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElnb0Zvcm1Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIElnb0Zvcm1Nb2R1bGUsXG4gICAgRmVhdHVyZUZvcm1Db21wb25lbnRcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRmVhdHVyZUZvcm1Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29GZWF0dXJlRm9ybU1vZHVsZSB7fVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFjSCxNQUFNLE9BQU8sb0JBQW9COzt3RkFBcEIsb0JBQW9CO3NFQUFwQixvQkFBb0I7MEVBWnRCO1lBQ1AsWUFBWTtZQUNaLGFBQWE7U0FDZCxFQUVDLGFBQWE7dUZBT0osb0JBQW9CO2NBYmhDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO2lCQUNkO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxhQUFhO29CQUNiLG9CQUFvQjtpQkFDckI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLG9CQUFvQjtpQkFDckI7YUFDRjs7d0ZBQ1ksb0JBQW9CLG1CQUg3QixvQkFBb0IsYUFScEIsWUFBWTtRQUNaLGFBQWEsYUFHYixhQUFhO1FBQ2Isb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IElnb0Zvcm1Nb2R1bGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSWdvRm9ybU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSWdvRm9ybU1vZHVsZSxcclxuICAgIEZlYXR1cmVGb3JtQ29tcG9uZW50XHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEZlYXR1cmVGb3JtQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvRmVhdHVyZUZvcm1Nb2R1bGUge31cclxuIl19
@@ -27,4 +27,4 @@ IgoFeatureModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [], im
27
27
  }], null, null); })();
28
28
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoFeatureModule, { imports: [CommonModule], exports: [IgoFeatureDetailsModule,
29
29
  IgoFeatureFormModule] }); })();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWExRSxNQUFNLE9BQU8sZ0JBQWdCOztnRkFBaEIsZ0JBQWdCO2tFQUFoQixnQkFBZ0I7dUVBRmhCLEVBQUUsWUFSSjtZQUNQLFlBQVk7U0FDYixFQUVDLHVCQUF1QjtRQUN2QixvQkFBb0I7dUZBS1gsZ0JBQWdCO2NBWDVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsdUJBQXVCO29CQUN2QixvQkFBb0I7aUJBQ3JCO2dCQUNELFlBQVksRUFBRSxFQUFFO2dCQUNoQixTQUFTLEVBQUUsRUFBRTthQUNkOzt3RkFDWSxnQkFBZ0IsY0FUekIsWUFBWSxhQUdaLHVCQUF1QjtRQUN2QixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgSWdvRmVhdHVyZURldGFpbHNNb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscy9mZWF0dXJlLWRldGFpbHMubW9kdWxlJztcbmltcG9ydCB7IElnb0ZlYXR1cmVGb3JtTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlLWZvcm0vZmVhdHVyZS1mb3JtLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIElnb0ZlYXR1cmVEZXRhaWxzTW9kdWxlLFxuICAgIElnb0ZlYXR1cmVGb3JtTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgSWdvRmVhdHVyZU1vZHVsZSB7fVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWExRSxNQUFNLE9BQU8sZ0JBQWdCOztnRkFBaEIsZ0JBQWdCO2tFQUFoQixnQkFBZ0I7dUVBRmhCLEVBQUUsWUFSSjtZQUNQLFlBQVk7U0FDYixFQUVDLHVCQUF1QjtRQUN2QixvQkFBb0I7dUZBS1gsZ0JBQWdCO2NBWDVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsdUJBQXVCO29CQUN2QixvQkFBb0I7aUJBQ3JCO2dCQUNELFlBQVksRUFBRSxFQUFFO2dCQUNoQixTQUFTLEVBQUUsRUFBRTthQUNkOzt3RkFDWSxnQkFBZ0IsY0FUekIsWUFBWSxhQUdaLHVCQUF1QjtRQUN2QixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgSWdvRmVhdHVyZURldGFpbHNNb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscy9mZWF0dXJlLWRldGFpbHMubW9kdWxlJztcclxuaW1wb3J0IHsgSWdvRmVhdHVyZUZvcm1Nb2R1bGUgfSBmcm9tICcuL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0ubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBJZ29GZWF0dXJlRGV0YWlsc01vZHVsZSxcclxuICAgIElnb0ZlYXR1cmVGb3JtTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIHByb3ZpZGVyczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0ZlYXR1cmVNb2R1bGUge31cclxuIl19
@@ -1,4 +1,4 @@
1
1
  export * from './shared';
2
2
  export * from './feature-details/feature-details.component';
3
3
  export * from './feature-form/feature-form.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWZvcm0vZmVhdHVyZS1mb3JtLmNvbXBvbmVudCc7XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWRldGFpbHMvZmVhdHVyZS1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQnO1xyXG4iXX0=
@@ -6,4 +6,4 @@ export var FeatureMotion;
6
6
  FeatureMotion[FeatureMotion["Zoom"] = 2] = "Zoom";
7
7
  FeatureMotion[FeatureMotion["Default"] = 3] = "Default";
8
8
  })(FeatureMotion || (FeatureMotion = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVBVFVSRSA9ICdGZWF0dXJlJztcblxuZXhwb3J0IGVudW0gRmVhdHVyZU1vdGlvbiB7XG4gIE5vbmUsXG4gIE1vdmUsXG4gIFpvb20sXG4gIERlZmF1bHRcbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVBVFVSRSA9ICdGZWF0dXJlJztcclxuXHJcbmV4cG9ydCBlbnVtIEZlYXR1cmVNb3Rpb24ge1xyXG4gIE5vbmUsXHJcbiAgTW92ZSxcclxuICBab29tLFxyXG4gIERlZmF1bHRcclxufVxyXG4iXX0=