@igo2/geo 18.0.0-next.8 → 18.0.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 (308) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +4 -6
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +13 -10
  3. package/esm2022/lib/datasource/shared/capabilities.service.mjs +1 -1
  4. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  5. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +9 -1
  6. package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  7. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +8 -1
  8. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  9. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +8 -1
  10. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  11. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +8 -1
  12. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  13. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +8 -1
  14. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  15. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +8 -1
  16. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  17. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -1
  18. package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +8 -1
  21. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  22. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +8 -1
  24. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +8 -1
  26. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  28. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +151 -102
  29. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +177 -83
  30. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +93 -44
  31. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  32. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
  33. package/esm2022/lib/directions/directions.component.mjs +55 -31
  34. package/esm2022/lib/directions/shared/directions.enum.mjs +51 -7
  35. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  36. package/esm2022/lib/directions/shared/directions.service.mjs +122 -96
  37. package/esm2022/lib/directions/shared/directions.utils.mjs +281 -318
  38. package/esm2022/lib/directions/shared/store.mjs +2 -2
  39. package/esm2022/lib/download/download-button/download-button.component.mjs +8 -20
  40. package/esm2022/lib/download/shared/download.service.mjs +1 -1
  41. package/esm2022/lib/draw/draw/draw-popup.component.mjs +1 -1
  42. package/esm2022/lib/draw/draw/draw.component.mjs +5 -12
  43. package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
  44. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  45. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +2 -2
  46. package/esm2022/lib/feature/shared/feature-store.utils.mjs +7 -6
  47. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  48. package/esm2022/lib/feature/shared/store.mjs +1 -1
  49. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +3 -3
  50. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +7 -4
  51. package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -4
  52. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +3 -3
  53. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
  54. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +5 -3
  55. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +1 -1
  56. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +8 -1
  57. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1 -1
  58. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +2 -8
  59. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -8
  60. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  61. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +13 -10
  62. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  63. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +4 -2
  64. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +5 -16
  65. package/esm2022/lib/import-export/export-button/export-button.component.mjs +4 -17
  66. package/esm2022/lib/import-export/import-export/import-export.component.mjs +23 -12
  67. package/esm2022/lib/import-export/shared/export.service.mjs +7 -4
  68. package/esm2022/lib/import-export/shared/import.utils.mjs +3 -3
  69. package/esm2022/lib/layer/index.mjs +10 -5
  70. package/esm2022/lib/layer/layer-group/index.mjs +2 -0
  71. package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
  72. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +61 -128
  73. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +5 -8
  74. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +5 -6
  75. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +14 -21
  76. package/esm2022/lib/layer/layer-list/index.mjs +1 -3
  77. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +176 -775
  78. package/esm2022/lib/layer/layer-list-tool/index.mjs +1 -2
  79. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +51 -84
  80. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -2
  81. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +56 -16
  82. package/esm2022/lib/layer/layer-search/index.mjs +2 -0
  83. package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
  84. package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
  85. package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +25 -0
  86. package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
  87. package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
  88. package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
  89. package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
  90. package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
  91. package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
  92. package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
  93. package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
  94. package/esm2022/lib/layer/layer.module.mjs +51 -33
  95. package/esm2022/lib/layer/shared/index.mjs +2 -1
  96. package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
  97. package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
  98. package/esm2022/lib/layer/shared/layer.service.mjs +56 -14
  99. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  100. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  101. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  102. package/esm2022/lib/layer/shared/layers/image-layer.mjs +8 -3
  103. package/esm2022/lib/layer/shared/layers/index.mjs +6 -1
  104. package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
  105. package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
  106. package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
  107. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -11
  108. package/esm2022/lib/layer/shared/layers/layer.mjs +113 -113
  109. package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
  110. package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
  111. package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
  112. package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
  113. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +8 -3
  114. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +9 -3
  115. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +8 -3
  116. package/esm2022/lib/layer/utils/layer.utils.mjs +47 -1
  117. package/esm2022/lib/layer/utils/outputLegend.mjs +5 -1
  118. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +3 -3
  119. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -6
  120. package/esm2022/lib/map/map-center/map-center.component.mjs +1 -2
  121. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  122. package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
  123. package/esm2022/lib/map/shared/hover-feature.directive.mjs +1 -9
  124. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +113 -123
  125. package/esm2022/lib/map/shared/map.abstract.mjs +4 -3
  126. package/esm2022/lib/map/shared/map.mjs +7 -243
  127. package/esm2022/lib/map/shared/map.service.mjs +1 -1
  128. package/esm2022/lib/map/shared/map.utils.mjs +3 -3
  129. package/esm2022/lib/map/shared/mapOffline.directive.mjs +9 -5
  130. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +1 -3
  131. package/esm2022/lib/map/utils/index.mjs +2 -0
  132. package/esm2022/lib/map/utils/layer-watcher.mjs +45 -13
  133. package/esm2022/lib/measure/measurer/measurer.component.mjs +7 -25
  134. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +6 -18
  135. package/esm2022/lib/offline/offline.provider.mjs +10 -11
  136. package/esm2022/lib/print/shared/print.service.mjs +3 -3
  137. package/esm2022/lib/query/shared/query.directive.mjs +9 -5
  138. package/esm2022/lib/query/shared/query.service.mjs +7 -7
  139. package/esm2022/lib/query/shared/query.utils.mjs +5 -1
  140. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +15 -9
  141. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +1 -10
  142. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  143. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  144. package/esm2022/lib/search/shared/sources/workspace.mjs +1 -1
  145. package/esm2022/lib/workspace/shared/edition-workspace.mjs +6 -4
  146. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +19 -17
  147. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +17 -2
  148. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +22 -4
  149. package/esm2022/lib/workspace/shared/workspace.utils.mjs +6 -3
  150. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  151. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +6 -2
  152. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +4 -3
  153. package/fesm2022/igo2-geo.mjs +22502 -21440
  154. package/fesm2022/igo2-geo.mjs.map +1 -1
  155. package/lib/datasource/shared/capabilities.service.d.ts +7 -2
  156. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +1 -0
  157. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +1 -0
  158. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -0
  159. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +0 -2
  160. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -0
  161. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +0 -1
  162. package/lib/datasource/shared/datasources/datasource.d.ts +1 -0
  163. package/lib/datasource/shared/datasources/datasource.interface.d.ts +1 -2
  164. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -0
  165. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +0 -3
  166. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +1 -0
  167. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +0 -2
  168. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +1 -0
  169. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +0 -2
  170. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +0 -2
  171. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +1 -0
  172. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +0 -2
  173. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +0 -2
  174. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +1 -0
  175. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +3 -4
  176. package/lib/datasource/shared/datasources/wms-datasource.d.ts +1 -0
  177. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +6 -6
  178. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +0 -2
  179. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +0 -2
  180. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +57 -20
  181. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +115 -13
  182. package/lib/directions/directions-results/directions-results.component.d.ts +50 -16
  183. package/lib/directions/directions-sources/directions-source.d.ts +2 -2
  184. package/lib/directions/directions-sources/osrm-directions-source.d.ts +2 -2
  185. package/lib/directions/directions.component.d.ts +5 -5
  186. package/lib/directions/shared/directions.enum.d.ts +42 -1
  187. package/lib/directions/shared/directions.interface.d.ts +50 -25
  188. package/lib/directions/shared/directions.service.d.ts +46 -8
  189. package/lib/directions/shared/directions.utils.d.ts +102 -23
  190. package/lib/directions/shared/store.d.ts +3 -3
  191. package/lib/download/download-button/download-button.component.d.ts +4 -8
  192. package/lib/download/shared/download.service.d.ts +1 -1
  193. package/lib/draw/draw/draw.component.d.ts +2 -2
  194. package/lib/draw/shared/draw.utils.d.ts +2 -1
  195. package/lib/environment/environment.interface.d.ts +2 -0
  196. package/lib/feature/shared/feature-store.utils.d.ts +1 -1
  197. package/lib/feature/shared/feature.interfaces.d.ts +1 -1
  198. package/lib/feature/shared/store.d.ts +1 -1
  199. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
  200. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -1
  201. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
  202. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +2 -2
  203. package/lib/filter/shared/filterable-datasource.pipe.d.ts +2 -2
  204. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +3 -3
  205. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -5
  206. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -5
  207. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  208. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +5 -5
  209. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  210. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +2 -7
  211. package/lib/import-export/export-button/export-button.component.d.ts +3 -7
  212. package/lib/import-export/import-export/import-export.component.d.ts +1 -2
  213. package/lib/import-export/shared/export.service.d.ts +2 -2
  214. package/lib/layer/index.d.ts +9 -4
  215. package/lib/layer/layer-group/index.d.ts +1 -0
  216. package/lib/layer/layer-group/layer-group.component.d.ts +30 -0
  217. package/lib/layer/layer-item/layer-item.component.d.ts +19 -38
  218. package/lib/layer/layer-legend/layer-legend.component.d.ts +2 -5
  219. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +6 -7
  220. package/lib/layer/layer-list/index.d.ts +0 -2
  221. package/lib/layer/layer-list/layer-list.component.d.ts +51 -123
  222. package/lib/layer/layer-list-tool/index.d.ts +0 -1
  223. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +19 -26
  224. package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +5 -1
  225. package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +9 -8
  226. package/lib/layer/layer-search/index.d.ts +1 -0
  227. package/lib/layer/layer-search/layer-search.component.d.ts +16 -0
  228. package/lib/layer/layer-unavailable/index.d.ts +2 -0
  229. package/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.d.ts +10 -0
  230. package/lib/layer/layer-unavailable/layer-unavailable.component.d.ts +11 -0
  231. package/lib/layer/layer-viewer/index.d.ts +2 -0
  232. package/lib/layer/layer-viewer/layer-viewer.component.d.ts +52 -0
  233. package/lib/layer/layer-viewer/layer-viewer.interface.d.ts +22 -0
  234. package/lib/layer/layer-viewer-bottom-actions/index.d.ts +1 -0
  235. package/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.d.ts +44 -0
  236. package/lib/layer/layer-visibility-button/index.d.ts +1 -0
  237. package/lib/layer/layer-visibility-button/layer-visibility-button.component.d.ts +22 -0
  238. package/lib/layer/layer.module.d.ts +18 -6
  239. package/lib/layer/shared/index.d.ts +1 -0
  240. package/lib/layer/shared/layer-controller.d.ts +81 -0
  241. package/lib/layer/shared/layer-selection.d.ts +14 -0
  242. package/lib/layer/shared/layer.service.d.ts +12 -3
  243. package/lib/layer/shared/layers/any-layer.d.ts +3 -6
  244. package/lib/layer/shared/layers/any-layer.interface.d.ts +8 -6
  245. package/lib/layer/shared/layers/image-layer.d.ts +5 -2
  246. package/lib/layer/shared/layers/image-layer.interface.d.ts +1 -4
  247. package/lib/layer/shared/layers/index.d.ts +5 -0
  248. package/lib/layer/shared/layers/layer-base.d.ts +75 -0
  249. package/lib/layer/shared/layers/layer-group.d.ts +32 -0
  250. package/lib/layer/shared/layers/layer-group.interface.d.ts +8 -0
  251. package/lib/layer/shared/layers/layer.d.ts +27 -44
  252. package/lib/layer/shared/layers/layer.interface.d.ts +23 -41
  253. package/lib/layer/shared/layers/linked/index.d.ts +3 -0
  254. package/lib/layer/shared/layers/linked/linked-layer.d.ts +35 -0
  255. package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +32 -0
  256. package/lib/layer/shared/layers/linked/linked-layer.utils.d.ts +9 -0
  257. package/lib/layer/shared/layers/tile-layer.d.ts +5 -2
  258. package/lib/layer/shared/layers/vector-layer.d.ts +7 -3
  259. package/lib/layer/shared/layers/vectortile-layer.d.ts +5 -2
  260. package/lib/layer/utils/layer.utils.d.ts +12 -2
  261. package/lib/layer/utils/outputLegend.d.ts +2 -2
  262. package/lib/map/shared/controllers/geolocation.interface.d.ts +2 -1
  263. package/lib/map/shared/hover-feature.directive.d.ts +0 -1
  264. package/lib/map/shared/linkedLayers.utils.d.ts +13 -17
  265. package/lib/map/shared/map.abstract.d.ts +12 -29
  266. package/lib/map/shared/map.d.ts +10 -85
  267. package/lib/map/shared/map.service.d.ts +1 -1
  268. package/lib/map/shared/map.utils.d.ts +5 -3
  269. package/lib/map/utils/index.d.ts +1 -0
  270. package/lib/map/utils/layer-watcher.d.ts +18 -8
  271. package/lib/measure/measurer/measurer.component.d.ts +0 -8
  272. package/lib/metadata/metadata-button/metadata-button.component.d.ts +3 -7
  273. package/lib/offline/offline.provider.d.ts +1 -1
  274. package/lib/query/shared/query.service.d.ts +1 -1
  275. package/lib/query/shared/query.utils.d.ts +2 -1
  276. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  277. package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -1
  278. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  279. package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
  280. package/lib/search/shared/sources/icherche.providers.d.ts +1 -1
  281. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  282. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  283. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  284. package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
  285. package/lib/search/shared/sources/workspace.interfaces.d.ts +1 -1
  286. package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
  287. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  288. package/locale/en.geo.json +106 -89
  289. package/locale/fr.geo.json +105 -89
  290. package/package.json +5 -5
  291. package/src/geo-theme.scss +1 -1
  292. package/src/lib/directions/directions-inputs/directions-inputs.theming.scss +21 -0
  293. package/src/lib/directions/directions.theming.scss +2 -0
  294. package/src/lib/layer/layer-group/layer-group.theme.scss +28 -0
  295. package/src/lib/layer/layer-item/layer-item.theme.scss +12 -9
  296. package/src/lib/layer/layer-legend/layer-legend.theme.scss +30 -0
  297. package/src/lib/layer/layer-list/layer-list.theme.scss +50 -0
  298. package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +19 -0
  299. package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +16 -0
  300. package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +27 -0
  301. package/src/lib/layer/layer.theming.scss +14 -3
  302. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -70
  303. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +0 -19
  304. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
  305. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +0 -19
  306. package/lib/layer/layer-list/layer-list.enum.d.ts +0 -15
  307. package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +0 -5
  308. package/src/lib/layer/layer-legend/layer-legend.theming.scss +0 -10
@@ -7,7 +7,7 @@ import { BehaviorSubject } from 'rxjs';
7
7
  import { CapabilitiesService } from '../../datasource/shared/capabilities.service';
8
8
  import { FeatureDataSource } from '../../datasource/shared/datasources';
9
9
  import { FeatureMotion, FeatureStore, FeatureStoreInMapExtentStrategy, FeatureStoreInMapResolutionStrategy, FeatureStoreLoadingLayerStrategy, FeatureStoreSelectionStrategy, GeoPropertiesStrategy } from '../../feature/shared';
10
- import { LayerService, VectorLayer } from '../../layer/shared';
10
+ import { LayerService, LinkedProperties, VectorLayer } from '../../layer/shared';
11
11
  import { getCommonVectorSelectedStyle } from '../../style/shared';
12
12
  import { PropertyTypeDetectorService } from '../../utils/propertyTypeDetector';
13
13
  import { WfsWorkspace } from './wfs-workspace';
@@ -68,8 +68,23 @@ export class WfsWorkspaceService {
68
68
  const inMapResolutionStrategy = new FeatureStoreInMapResolutionStrategy({});
69
69
  const selectedRecordStrategy = new EntityStoreFilterSelectionStrategy({});
70
70
  const confQueryOverlayStyle = this.configService.getConfig('queryOverlayStyle');
71
+ const id = layer.id + '.FeatureStore';
72
+ if (!layer.link) {
73
+ layer.options.linkedLayers.links = [
74
+ {
75
+ syncedDelete: true,
76
+ linkedIds: [id],
77
+ properties: [LinkedProperties.VISIBLE]
78
+ }
79
+ ];
80
+ layer.createLink();
81
+ }
71
82
  const selectionStrategy = new FeatureStoreSelectionStrategy({
72
83
  layer: new VectorLayer({
84
+ id,
85
+ linkedLayers: {
86
+ linkId: id
87
+ },
73
88
  zIndex: 300,
74
89
  source: new FeatureDataSource(),
75
90
  style: (feature) => {
@@ -103,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
103
118
  providedIn: 'root'
104
119
  }]
105
120
  }], ctorParameters: () => [{ type: i1.StorageService }, { type: i2.ConfigService }, { type: i3.LayerService }, { type: i4.PropertyTypeDetectorService }, { type: i5.CapabilitiesService }] });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLXdvcmtzcGFjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93ZnMtd29ya3NwYWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsWUFBWSxFQUNaLCtCQUErQixFQUMvQixtQ0FBbUMsRUFDbkMsZ0NBQWdDLEVBQ2hDLDZCQUE2QixFQUM3QixxQkFBcUIsRUFDdEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBRUwsWUFBWSxFQUNaLFdBQVcsRUFDWixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFHTCw0QkFBNEIsRUFDN0IsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLDJDQUEyQyxFQUMzQyxtQkFBbUIsRUFDcEIsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztBQUsz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QUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWN0aW9uU3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24vYWN0aW9uJztcbmltcG9ydCB7IEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAaWdvMi9jb21tb24vZW50aXR5JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDYXBhYmlsaXRpZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvY2FwYWJpbGl0aWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XG5pbXBvcnQge1xuICBGZWF0dXJlTW90aW9uLFxuICBGZWF0dXJlU3RvcmUsXG4gIEZlYXR1cmVTdG9yZUluTWFwRXh0ZW50U3RyYXRlZ3ksXG4gIEZlYXR1cmVTdG9yZUluTWFwUmVzb2x1dGlvblN0cmF0ZWd5LFxuICBGZWF0dXJlU3RvcmVMb2FkaW5nTGF5ZXJTdHJhdGVneSxcbiAgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3ksXG4gIEdlb1Byb3BlcnRpZXNTdHJhdGVneVxufSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZCc7XG5pbXBvcnQge1xuICBHZW9Xb3Jrc3BhY2VPcHRpb25zLFxuICBMYXllclNlcnZpY2UsXG4gIFZlY3RvckxheWVyXG59IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZCc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQge1xuICBGZWF0dXJlQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zLFxuICBPdmVybGF5U3R5bGVPcHRpb25zLFxuICBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlXG59IGZyb20gJy4uLy4uL3N0eWxlL3NoYXJlZCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9wcm9wZXJ0eVR5cGVEZXRlY3Rvcic7XG5pbXBvcnQgeyBXZnNXb3Jrc3BhY2UgfSBmcm9tICcuL3dmcy13b3Jrc3BhY2UnO1xuaW1wb3J0IHtcbiAgY3JlYXRlRmlsdGVySW5NYXBFeHRlbnRPclJlc29sdXRpb25TdHJhdGVneSxcbiAgY3JlYXRlVGFibGVUZW1wbGF0ZVxufSBmcm9tICcuL3dvcmtzcGFjZS51dGlscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFdmc1dvcmtzcGFjZVNlcnZpY2Uge1xuICBnZXQgem9vbUF1dG8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd6b29tQXV0bycpIGFzIGJvb2xlYW47XG4gIH1cblxuICBwdWJsaWMgd3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2U6IFByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGNhcGFiaWxpdGllc1NlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2VcbiAgKSB7fVxuXG4gIGNyZWF0ZVdvcmtzcGFjZShsYXllcjogVmVjdG9yTGF5ZXIsIG1hcDogSWdvTWFwKTogV2ZzV29ya3NwYWNlIHtcbiAgICBpZiAoXG4gICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZT8uZW5hYmxlZCA9PT0gZmFsc2UgfHxcbiAgICAgIGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5lZGl0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBsYXllci5vcHRpb25zLndvcmtzcGFjZSwge1xuICAgICAgc3JjSWQ6IGxheWVyLmlkLFxuICAgICAgd29ya3NwYWNlSWQ6IGxheWVyLmlkLFxuICAgICAgZW5hYmxlZDogdHJ1ZVxuICAgIH0gYXMgR2VvV29ya3NwYWNlT3B0aW9ucyk7XG5cbiAgICBjb25zdCB3a3MgPSBuZXcgV2ZzV29ya3NwYWNlKHtcbiAgICAgIGlkOiBsYXllci5pZCxcbiAgICAgIHRpdGxlOiBsYXllci50aXRsZSxcbiAgICAgIGxheWVyLFxuICAgICAgbWFwLFxuICAgICAgZW50aXR5U3RvcmU6IHRoaXMuY3JlYXRlRmVhdHVyZVN0b3JlKGxheWVyLCBtYXApLFxuICAgICAgYWN0aW9uU3RvcmU6IG5ldyBBY3Rpb25TdG9yZShbXSksXG4gICAgICBtZXRhOiB7XG4gICAgICAgIHRhYmxlVGVtcGxhdGU6IHVuZGVmaW5lZFxuICAgICAgfVxuICAgIH0pO1xuICAgIGNyZWF0ZVRhYmxlVGVtcGxhdGUod2tzLCBsYXllciwgdGhpcy5sYXllclNlcnZpY2UsIHRoaXMud3MkKTtcbiAgICByZXR1cm4gd2tzO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGZWF0dXJlU3RvcmUobGF5ZXI6IFZlY3RvckxheWVyLCBtYXA6IElnb01hcCk6IEZlYXR1cmVTdG9yZSB7XG4gICAgY29uc3Qgc3RvcmUgPSBuZXcgRmVhdHVyZVN0b3JlKFtdLCB7IG1hcCB9KTtcbiAgICBzdG9yZS5iaW5kTGF5ZXIobGF5ZXIpO1xuXG4gICAgY29uc3QgbG9hZGluZ1N0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUxvYWRpbmdMYXllclN0cmF0ZWd5KHt9KTtcbiAgICBjb25zdCBpbk1hcEV4dGVudFN0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUluTWFwRXh0ZW50U3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IGdlb1Byb3BlcnRpZXNTdHJhdGVneSA9IG5ldyBHZW9Qcm9wZXJ0aWVzU3RyYXRlZ3koXG4gICAgICB7IG1hcCB9LFxuICAgICAgdGhpcy5wcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2UsXG4gICAgICB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2VcbiAgICApO1xuICAgIGNvbnN0IGluTWFwUmVzb2x1dGlvblN0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUluTWFwUmVzb2x1dGlvblN0cmF0ZWd5KHt9KTtcbiAgICBjb25zdCBzZWxlY3RlZFJlY29yZFN0cmF0ZWd5ID0gbmV3IEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IGNvbmZRdWVyeU92ZXJsYXlTdHlsZTogT3ZlcmxheVN0eWxlT3B0aW9ucyA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdxdWVyeU92ZXJsYXlTdHlsZScpO1xuXG4gICAgY29uc3Qgc2VsZWN0aW9uU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3koe1xuICAgICAgbGF5ZXI6IG5ldyBWZWN0b3JMYXllcih7XG4gICAgICAgIHpJbmRleDogMzAwLFxuICAgICAgICBzb3VyY2U6IG5ldyBGZWF0dXJlRGF0YVNvdXJjZSgpLFxuICAgICAgICBzdHlsZTogKGZlYXR1cmUpID0+IHtcbiAgICAgICAgICByZXR1cm4gZ2V0Q29tbW9uVmVjdG9yU2VsZWN0ZWRTdHlsZShcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICB7IGZlYXR1cmUgfSxcbiAgICAgICAgICAgICAgY29uZlF1ZXJ5T3ZlcmxheVN0eWxlPy5zZWxlY3Rpb24gfHwge31cbiAgICAgICAgICAgICkgYXMgRmVhdHVyZUNvbW1vblZlY3RvclN0eWxlT3B0aW9uc1xuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIHNob3dJbkxheWVyTGlzdDogZmFsc2UsXG4gICAgICAgIGV4cG9ydGFibGU6IGZhbHNlLFxuICAgICAgICBicm93c2FibGU6IGZhbHNlXG4gICAgICB9KSxcbiAgICAgIG1hcCxcbiAgICAgIGhpdFRvbGVyYW5jZTogMTUsXG4gICAgICBtb3Rpb246IHRoaXMuem9vbUF1dG8gPyBGZWF0dXJlTW90aW9uLkRlZmF1bHQgOiBGZWF0dXJlTW90aW9uLk5vbmUsXG4gICAgICBtYW55OiB0cnVlLFxuICAgICAgZHJhZ0JveDogdHJ1ZVxuICAgIH0pO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KGxvYWRpbmdTdHJhdGVneSwgdHJ1ZSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3koaW5NYXBFeHRlbnRTdHJhdGVneSwgdHJ1ZSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3koZ2VvUHJvcGVydGllc1N0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShpbk1hcFJlc29sdXRpb25TdHJhdGVneSwgdHJ1ZSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3koc2VsZWN0aW9uU3RyYXRlZ3ksIHRydWUpO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KHNlbGVjdGVkUmVjb3JkU3RyYXRlZ3ksIGZhbHNlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShjcmVhdGVGaWx0ZXJJbk1hcEV4dGVudE9yUmVzb2x1dGlvblN0cmF0ZWd5KCksIHRydWUpO1xuICAgIHJldHVybiBzdG9yZTtcbiAgfVxufVxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLXdvcmtzcGFjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93ZnMtd29ya3NwYWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsWUFBWSxFQUNaLCtCQUErQixFQUMvQixtQ0FBbUMsRUFDbkMsZ0NBQWdDLEVBQ2hDLDZCQUE2QixFQUM3QixxQkFBcUIsRUFDdEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBRUwsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixXQUFXLEVBQ1osTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBR0wsNEJBQTRCLEVBQzdCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCwyQ0FBMkMsRUFDM0MsbUJBQW1CLEVBQ3BCLE1BQU0sbUJBQW1CLENB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SyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxLQUFLLENBQUMsV0FBVyxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELEtBQUssQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRCxLQUFLLENBQUMsV0FBVyxDQUFDLDJDQUEyQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3dHQTVHVSxtQkFBbUI7NEdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpb25TdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9hY3Rpb24nO1xuaW1wb3J0IHsgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENhcGFiaWxpdGllc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9jYXBhYmlsaXRpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcbmltcG9ydCB7XG4gIEZlYXR1cmVNb3Rpb24sXG4gIEZlYXR1cmVTdG9yZSxcbiAgRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneSxcbiAgRmVhdHVyZVN0b3JlSW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3ksXG4gIEZlYXR1cmVTdG9yZUxvYWRpbmdMYXllclN0cmF0ZWd5LFxuICBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneSxcbiAgR2VvUHJvcGVydGllc1N0cmF0ZWd5XG59IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkJztcbmltcG9ydCB7XG4gIEdlb1dvcmtzcGFjZU9wdGlvbnMsXG4gIExheWVyU2VydmljZSxcbiAgTGlua2VkUHJvcGVydGllcyxcbiAgVmVjdG9yTGF5ZXJcbn0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7XG4gIEZlYXR1cmVDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMsXG4gIE92ZXJsYXlTdHlsZU9wdGlvbnMsXG4gIGdldENvbW1vblZlY3RvclNlbGVjdGVkU3R5bGVcbn0gZnJvbSAnLi4vLi4vc3R5bGUvc2hhcmVkJztcbmltcG9ydCB7IFByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL3Byb3BlcnR5VHlwZURldGVjdG9yJztcbmltcG9ydCB7IFdmc1dvcmtzcGFjZSB9IGZyb20gJy4vd2ZzLXdvcmtzcGFjZSc7XG5pbXBvcnQge1xuICBjcmVhdGVGaWx0ZXJJbk1hcEV4dGVudE9yUmVzb2x1dGlvblN0cmF0ZWd5LFxuICBjcmVhdGVUYWJsZVRlbXBsYXRlXG59IGZyb20gJy4vd29ya3NwYWNlLnV0aWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV2ZzV29ya3NwYWNlU2VydmljZSB7XG4gIGdldCB6b29tQXV0bygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3pvb21BdXRvJykgYXMgYm9vbGVhbjtcbiAgfVxuXG4gIHB1YmxpYyB3cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcbiAgICBwcml2YXRlIHByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZTogUHJvcGVydHlUeXBlRGV0ZWN0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FwYWJpbGl0aWVzU2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZVxuICApIHt9XG5cbiAgY3JlYXRlV29ya3NwYWNlKGxheWVyOiBWZWN0b3JMYXllciwgbWFwOiBJZ29NYXApOiBXZnNXb3Jrc3BhY2Uge1xuICAgIGlmIChcbiAgICAgIGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5lbmFibGVkID09PSBmYWxzZSB8fFxuICAgICAgbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLmVkaXRpb25cbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZSA9IE9iamVjdC5hc3NpZ24oe30sIGxheWVyLm9wdGlvbnMud29ya3NwYWNlLCB7XG4gICAgICBzcmNJZDogbGF5ZXIuaWQsXG4gICAgICB3b3Jrc3BhY2VJZDogbGF5ZXIuaWQsXG4gICAgICBlbmFibGVkOiB0cnVlXG4gICAgfSBhcyBHZW9Xb3Jrc3BhY2VPcHRpb25zKTtcblxuICAgIGNvbnN0IHdrcyA9IG5ldyBXZnNXb3Jrc3BhY2Uoe1xuICAgICAgaWQ6IGxheWVyLmlkLFxuICAgICAgdGl0bGU6IGxheWVyLnRpdGxlLFxuICAgICAgbGF5ZXIsXG4gICAgICBtYXAsXG4gICAgICBlbnRpdHlTdG9yZTogdGhpcy5jcmVhdGVGZWF0dXJlU3RvcmUobGF5ZXIsIG1hcCksXG4gICAgICBhY3Rpb25TdG9yZTogbmV3IEFjdGlvblN0b3JlKFtdKSxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgdGFibGVUZW1wbGF0ZTogdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfSk7XG4gICAgY3JlYXRlVGFibGVUZW1wbGF0ZSh3a3MsIGxheWVyLCB0aGlzLmxheWVyU2VydmljZSwgdGhpcy53cyQpO1xuICAgIHJldHVybiB3a3M7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZlYXR1cmVTdG9yZShsYXllcjogVmVjdG9yTGF5ZXIsIG1hcDogSWdvTWFwKTogRmVhdHVyZVN0b3JlIHtcbiAgICBjb25zdCBzdG9yZSA9IG5ldyBGZWF0dXJlU3RvcmUoW10sIHsgbWFwIH0pO1xuICAgIHN0b3JlLmJpbmRMYXllcihsYXllcik7XG5cbiAgICBjb25zdCBsb2FkaW5nU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IGluTWFwRXh0ZW50U3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneSh7fSk7XG4gICAgY29uc3QgZ2VvUHJvcGVydGllc1N0cmF0ZWd5ID0gbmV3IEdlb1Byb3BlcnRpZXNTdHJhdGVneShcbiAgICAgIHsgbWFwIH0sXG4gICAgICB0aGlzLnByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZSxcbiAgICAgIHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZVxuICAgICk7XG4gICAgY29uc3QgaW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlSW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IHNlbGVjdGVkUmVjb3JkU3RyYXRlZ3kgPSBuZXcgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSh7fSk7XG4gICAgY29uc3QgY29uZlF1ZXJ5T3ZlcmxheVN0eWxlOiBPdmVybGF5U3R5bGVPcHRpb25zID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ3F1ZXJ5T3ZlcmxheVN0eWxlJyk7XG5cbiAgICBjb25zdCBpZCA9IGxheWVyLmlkICsgJy5GZWF0dXJlU3RvcmUnO1xuXG4gICAgaWYgKCFsYXllci5saW5rKSB7XG4gICAgICBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIHN5bmNlZERlbGV0ZTogdHJ1ZSxcbiAgICAgICAgICBsaW5rZWRJZHM6IFtpZF0sXG4gICAgICAgICAgcHJvcGVydGllczogW0xpbmtlZFByb3BlcnRpZXMuVklTSUJMRV1cbiAgICAgICAgfVxuICAgICAgXTtcbiAgICAgIGxheWVyLmNyZWF0ZUxpbmsoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3Rpb25TdHJhdGVneSA9IG5ldyBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneSh7XG4gICAgICBsYXllcjogbmV3IFZlY3RvckxheWVyKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGxpbmtlZExheWVyczoge1xuICAgICAgICAgIGxpbmtJZDogaWRcbiAgICAgICAgfSxcbiAgICAgICAgekluZGV4OiAzMDAsXG4gICAgICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXG4gICAgICAgIHN0eWxlOiAoZmVhdHVyZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlKFxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgIHsgZmVhdHVyZSB9LFxuICAgICAgICAgICAgICBjb25mUXVlcnlPdmVybGF5U3R5bGU/LnNlbGVjdGlvbiB8fCB7fVxuICAgICAgICAgICAgKSBhcyBGZWF0dXJlQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0luTGF5ZXJMaXN0OiBmYWxzZSxcbiAgICAgICAgZXhwb3J0YWJsZTogZmFsc2UsXG4gICAgICAgIGJyb3dzYWJsZTogZmFsc2VcbiAgICAgIH0pLFxuICAgICAgbWFwLFxuICAgICAgaGl0VG9sZXJhbmNlOiAxNSxcbiAgICAgIG1vdGlvbjogdGhpcy56b29tQXV0byA/IEZlYXR1cmVNb3Rpb24uRGVmYXVsdCA6IEZlYXR1cmVNb3Rpb24uTm9uZSxcbiAgICAgIG1hbnk6IHRydWUsXG4gICAgICBkcmFnQm94OiB0cnVlXG4gICAgfSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3kobG9hZGluZ1N0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShpbk1hcEV4dGVudFN0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShnZW9Qcm9wZXJ0aWVzU3RyYXRlZ3ksIHRydWUpO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KGluTWFwUmVzb2x1dGlvblN0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShzZWxlY3Rpb25TdHJhdGVneSwgdHJ1ZSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3koc2VsZWN0ZWRSZWNvcmRTdHJhdGVneSwgZmFsc2UpO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KGNyZWF0ZUZpbHRlckluTWFwRXh0ZW50T3JSZXNvbHV0aW9uU3RyYXRlZ3koKSwgdHJ1ZSk7XG4gICAgcmV0dXJuIHN0b3JlO1xuICB9XG59XG4iXX0=
@@ -41,7 +41,7 @@ export class WmsWorkspaceService {
41
41
  }
42
42
  createWorkspace(layer, map) {
43
43
  if (!layer.options.workspace ||
44
- map.layers.find((lay) => lay.id === layer.id + '.WfsWorkspaceTableDest') ||
44
+ map.layerController.all.find((lay) => lay.id === layer.id + '.WfsWorkspaceTableDest') ||
45
45
  layer.dataSource.options.edition) {
46
46
  return;
47
47
  }
@@ -78,6 +78,7 @@ export class WmsWorkspaceService {
78
78
  ? layer.options.linkedLayers.linkId
79
79
  : wmsLinkId),
80
80
  (layer.options.linkedLayers.links = clonedLinks);
81
+ layer.createLink();
81
82
  let wks;
82
83
  const wksLayerOption = {
83
84
  printable: layer.options.workspace?.printable,
@@ -93,7 +94,10 @@ export class WmsWorkspaceService {
93
94
  };
94
95
  this.layerService
95
96
  .createAsyncLayer({
97
+ title: layer.title,
98
+ parentId: layer.options.parentId,
96
99
  isIgoInternalLayer: true,
100
+ visible: layer.visible,
97
101
  id: wfsLinkId,
98
102
  linkedLayers: {
99
103
  linkId: wfsLinkId
@@ -101,7 +105,6 @@ export class WmsWorkspaceService {
101
105
  workspace: wksLayerOption,
102
106
  showInLayerList: false,
103
107
  opacity: 0,
104
- title: layer.title,
105
108
  minResolution: layer.options.workspace?.minResolution || layer.minResolution || 0,
106
109
  maxResolution: layer.options.workspace?.maxResolution ||
107
110
  layer.maxResolution ||
@@ -143,7 +146,7 @@ export class WmsWorkspaceService {
143
146
  }
144
147
  })
145
148
  .subscribe((workspaceLayer) => {
146
- map.addLayer(workspaceLayer);
149
+ map.layerController.add(workspaceLayer);
147
150
  layer.ol.setProperties({
148
151
  linkedLayers: {
149
152
  linkId: layer.options.linkedLayers.linkId,
@@ -192,8 +195,23 @@ export class WmsWorkspaceService {
192
195
  const inMapResolutionStrategy = new FeatureStoreInMapResolutionStrategy({});
193
196
  const selectedRecordStrategy = new EntityStoreFilterSelectionStrategy({});
194
197
  const confQueryOverlayStyle = this.configService.getConfig('queryOverlayStyle');
198
+ const id = layer.id + '.FeatureStore';
199
+ if (!layer.link) {
200
+ layer.options.linkedLayers.links = [
201
+ {
202
+ syncedDelete: true,
203
+ linkedIds: [id],
204
+ properties: [LinkedProperties.VISIBLE]
205
+ }
206
+ ];
207
+ layer.createLink();
208
+ }
195
209
  const selectionStrategy = new FeatureStoreSelectionStrategy({
196
210
  layer: new VectorLayer({
211
+ id,
212
+ linkedLayers: {
213
+ linkId: id
214
+ },
197
215
  zIndex: 300,
198
216
  source: new FeatureDataSource(),
199
217
  style: (feature) => {
@@ -227,4 +245,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
227
245
  providedIn: 'root'
228
246
  }]
229
247
  }], ctorParameters: () => [{ type: i1.LayerService }, { type: i2.StorageService }, { type: i3.CapabilitiesService }, { type: i4.StyleService }, { type: i5.ConfigService }, { type: i6.PropertyTypeDetectorService }] });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLXdvcmtzcGFjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93bXMtd29ya3NwYWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFM0YsT0FBTyxFQUNMLGFBQWEsRUFDYixZQUFZLEVBQ1osK0JBQStCLEVBQy9CLG1DQUFtQyxFQUNuQyxnQ0FBZ0MsRUFDaEMsNkJBQTZCLEVBQzdCLHFCQUFxQixFQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFHTCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWixNQUFNLG9CQUFvQixDQUFDO0FBRzVCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBSzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxF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LFdBQVcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3QyxLQUFLLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELEtBQUssQ0FBQyxXQUFXLENBQUMsMkNBQTJDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBM09VLG1CQUFtQjs0R0FBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjdGlvblN0b3JlIH0gZnJvbSAnQGlnbzIvY29tbW9uL2FjdGlvbic7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZUZpbHRlclNlbGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGlnbzIvY29tbW9uL2VudGl0eSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3N0b3JhZ2UnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL0JlaGF2aW9yU3ViamVjdCc7XG5cbmltcG9ydCB7IENhcGFiaWxpdGllc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9jYXBhYmlsaXRpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBXTVNEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMnO1xuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9mZWF0dXJlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZnMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRmVhdHVyZU1vdGlvbixcbiAgRmVhdHVyZVN0b3JlLFxuICBGZWF0dXJlU3RvcmVJbk1hcEV4dGVudFN0cmF0ZWd5LFxuICBGZWF0dXJlU3RvcmVJbk1hcFJlc29sdXRpb25TdHJhdGVneSxcbiAgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3ksXG4gIEZlYXR1cmVTdG9yZVNlbGVjdGlvblN0cmF0ZWd5LFxuICBHZW9Qcm9wZXJ0aWVzU3RyYXRlZ3lcbn0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQnO1xuaW1wb3J0IHsgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBHZW9Xb3Jrc3BhY2VPcHRpb25zLFxuICBJbWFnZUxheWVyLFxuICBMYXllclNlcnZpY2UsXG4gIExheWVyc0xpbmtQcm9wZXJ0aWVzLFxuICBMaW5rZWRQcm9wZXJ0aWVzLFxuICBWZWN0b3JMYXllclxufSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9xdWVyeS9zaGFyZWQvcXVlcnkuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlIH0gZnJvbSAnLi4vLi4vc3R5bGUvc2hhcmVkL3ZlY3Rvci9jb21tb25WZWN0b3JTdHlsZSc7XG5pbXBvcnQge1xuICBGZWF0dXJlQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zLFxuICBPdmVybGF5U3R5bGVPcHRpb25zXG59IGZyb20gJy4uLy4uL3N0eWxlL3NoYXJlZC92ZWN0b3IvdmVjdG9yLXN0eWxlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdHlsZS9zdHlsZS1zZXJ2aWNlL3N0eWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlUeXBlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvcHJvcGVydHlUeXBlRGV0ZWN0b3IvcHJvcGVydHlUeXBlRGV0ZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBXZnNXb3Jrc3BhY2UgfSBmcm9tICcuL3dmcy13b3Jrc3BhY2UnO1xuaW1wb3J0IHtcbiAgY3JlYXRlRmlsdGVySW5NYXBFeHRlbnRPclJlc29sdXRpb25TdHJhdGVneSxcbiAgY3JlYXRlVGFibGVUZW1wbGF0ZVxufSBmcm9tICcuL3dvcmtzcGFjZS51dGlscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFdtc1dvcmtzcGFjZVNlcnZpY2Uge1xuICBnZXQgem9vbUF1dG8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd6b29tQXV0bycpIGFzIGJvb2xlYW47XG4gIH1cblxuICBwdWJsaWMgd3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNhcGFiaWxpdGllc1NlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdHlsZVNlcnZpY2U6IFN0eWxlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2U6IFByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZVxuICApIHt9XG5cbiAgY3JlYXRlV29ya3NwYWNlKGxheWVyOiBJbWFnZUxheWVyLCBtYXA6IElnb01hcCk6IFdmc1dvcmtzcGFjZSB7XG4gICAgaWYgKFxuICAgICAgIWxheWVyLm9wdGlvbnMud29ya3NwYWNlIHx8XG4gICAgICBtYXAubGF5ZXJzLmZpbmQoXG4gICAgICAgIChsYXkpID0+IGxheS5pZCA9PT0gbGF5ZXIuaWQgKyAnLldmc1dvcmtzcGFjZVRhYmxlRGVzdCdcbiAgICAgICkgfHxcbiAgICAgIGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5lZGl0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGFTb3VyY2U6IFdNU0RhdGFTb3VyY2UgPSBsYXllci5kYXRhU291cmNlIGFzIFdNU0RhdGFTb3VyY2U7XG4gICAgY29uc3Qgd21zTGlua0lkID0gbGF5ZXIuaWQgKyAnLldtc1dvcmtzcGFjZVRhYmxlU3JjJztcbiAgICBjb25zdCB3ZnNMaW5rSWQgPSBsYXllci5pZCArICcuV2ZzV29ya3NwYWNlVGFibGVEZXN0JztcbiAgICBpZiAoIWxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzKSB7XG4gICAgICBsYXllci5vcHRpb25zLmxpbmtlZExheWVycyA9IHsgbGlua0lkOiB3bXNMaW5rSWQsIGxpbmtzOiBbXSB9O1xuICAgIH1cbiAgICBjb25zdCBsaW5rUHJvcGVydGllcyA9IHtcbiAgICAgIHN5bmNlZERlbGV0ZTogdHJ1ZSxcbiAgICAgIGxpbmtlZElkczogW3dmc0xpbmtJZF0sXG4gICAgICBwcm9wZXJ0aWVzOiBbTGlua2VkUHJvcGVydGllcy5aSU5ERVgsIExpbmtlZFByb3BlcnRpZXMuVklTSUJMRV1cbiAgICB9IGFzIExheWVyc0xpbmtQcm9wZXJ0aWVzO1xuXG4gICAgaWYgKCFsYXllci5vcHRpb25zLndvcmtzcGFjZT8ubWluUmVzb2x1dGlvbikge1xuICAgICAgbGlua1Byb3BlcnRpZXMucHJvcGVydGllcy5wdXNoKExpbmtlZFByb3BlcnRpZXMuTUlOUkVTT0xVVElPTik7XG4gICAgfVxuICAgIGxldCBoYXNPZ2NGaWx0ZXJzID0gZmFsc2U7XG4gICAgaWYgKFxuICAgICAgKGRhdGFTb3VyY2Uub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnM/LmVuYWJsZWRcbiAgICApIHtcbiAgICAgIGxpbmtQcm9wZXJ0aWVzLnByb3BlcnRpZXMucHVzaChMaW5rZWRQcm9wZXJ0aWVzLk9HQ0ZJTFRFUlMpO1xuICAgICAgaGFzT2djRmlsdGVycyA9IHRydWU7XG4gICAgfVxuICAgIGlmICghbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/Lm1heFJlc29sdXRpb24pIHtcbiAgICAgIGxpbmtQcm9wZXJ0aWVzLnByb3BlcnRpZXMucHVzaChMaW5rZWRQcm9wZXJ0aWVzLk1BWFJFU09MVVRJT04pO1xuICAgIH1cblxuICAgIGxldCBjbG9uZWRMaW5rczogTGF5ZXJzTGlua1Byb3BlcnRpZXNbXSA9IFtdO1xuICAgIGlmIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcykge1xuICAgICAgY2xvbmVkTGlua3MgPSBKU09OLnBhcnNlKFxuICAgICAgICBKU09OLnN0cmluZ2lmeShsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcylcbiAgICAgICk7XG4gICAgfVxuICAgIGNsb25lZExpbmtzLnB1c2gobGlua1Byb3BlcnRpZXMpO1xuXG4gICAgLy8gVE9ETzogRMOpbXlzdGlmaWVyIGNlIGJvdXQgZGUgY29kZVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLWV4cHJlc3Npb25zXG4gICAgKGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtJZCA9IGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtJZFxuICAgICAgPyBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rSWRcbiAgICAgIDogd21zTGlua0lkKSxcbiAgICAgIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcyA9IGNsb25lZExpbmtzKTtcbiAgICBpbnRlcmZhY2UgV0ZTb3B0aW9uc1xuICAgICAgZXh0ZW5kcyBXRlNEYXRhU291cmNlT3B0aW9ucyxcbiAgICAgICAgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zIHt9XG5cbiAgICBsZXQgd2tzO1xuICAgIGNvbnN0IHdrc0xheWVyT3B0aW9uOiBHZW9Xb3Jrc3BhY2VPcHRpb25zID0ge1xuICAgICAgcHJpbnRhYmxlOiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ucHJpbnRhYmxlLFxuICAgICAgc3JjSWQ6IGxheWVyLmlkLFxuICAgICAgd29ya3NwYWNlSWQ6IHVuZGVmaW5lZCxcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgcXVlcnlPcHRpb25zOiB7XG4gICAgICAgIG1hcFF1ZXJ5T25PcGVuVGFiOlxuICAgICAgICAgIGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5xdWVyeU9wdGlvbnM/Lm1hcFF1ZXJ5T25PcGVuVGFiLFxuICAgICAgICB0YWJRdWVyeTogbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnF1ZXJ5T3B0aW9ucz8udGFiUXVlcnlcbiAgICAgIH0sXG4gICAgICBwYWdlU2l6ZTogbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnBhZ2VTaXplLFxuICAgICAgcGFnZVNpemVPcHRpb25zOiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ucGFnZVNpemVPcHRpb25zXG4gICAgfTtcblxuICAgIHRoaXMubGF5ZXJTZXJ2aWNlXG4gICAgICAuY3JlYXRlQXN5bmNMYXllcih7XG4gICAgICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcbiAgICAgICAgaWQ6IHdmc0xpbmtJZCxcbiAgICAgICAgbGlua2VkTGF5ZXJzOiB7XG4gICAgICAgICAgbGlua0lkOiB3ZnNMaW5rSWRcbiAgICAgICAgfSxcbiAgICAgICAgd29ya3NwYWNlOiB3a3NMYXllck9wdGlvbixcbiAgICAgICAgc2hvd0luTGF5ZXJMaXN0OiBmYWxzZSxcbiAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgdGl0bGU6IGxheWVyLnRpdGxlLFxuICAgICAgICBtaW5SZXNvbHV0aW9uOlxuICAgICAgICAgIGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5taW5SZXNvbHV0aW9uIHx8IGxheWVyLm1pblJlc29sdXRpb24gfHwgMCxcbiAgICAgICAgbWF4UmVzb2x1dGlvbjpcbiAgICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ubWF4UmVzb2x1dGlvbiB8fFxuICAgICAgICAgIGxheWVyLm1heFJlc29sdXRpb24gfHxcbiAgICAgICAgICBJbmZpbml0eSxcbiAgICAgICAgc3R5bGU6IHRoaXMuc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKHtcbiAgICAgICAgICBmaWxsOiB7XG4gICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSknXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdHJva2U6IHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNpcmNsZToge1xuICAgICAgICAgICAgZmlsbDoge1xuICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSknXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3Ryb2tlOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByYWRpdXM6IDVcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBzb3VyY2VPcHRpb25zOiB7XG4gICAgICAgICAgZG93bmxvYWQ6IGRhdGFTb3VyY2Uub3B0aW9ucy5kb3dubG9hZCxcbiAgICAgICAgICB0eXBlOiAnd2ZzJyxcbiAgICAgICAgICB1cmw6IGRhdGFTb3VyY2Uub3B0aW9ucy51cmxXZnMgfHwgZGF0YVNvdXJjZS5vcHRpb25zLnVybCxcbiAgICAgICAgICBxdWVyeWFibGU6IHRydWUsXG4gICAgICAgICAgcmVsYXRpb25zOiBkYXRhU291cmNlLm9wdGlvbnMucmVsYXRpb25zLFxuICAgICAgICAgIHF1ZXJ5VGl0bGU6IChkYXRhU291cmNlLm9wdGlvbnMgYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpXG4gICAgICAgICAgICAucXVlcnlUaXRsZSxcbiAgICAgICAgICBxdWVyeUZvcm1hdEFzV21zOiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8uZW5hYmxlZFxuICAgICAgICAgICAgPyAoZGF0YVNvdXJjZS5vcHRpb25zIGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKVxuICAgICAgICAgICAgICAgIC5xdWVyeUZvcm1hdEFzV21zXG4gICAgICAgICAgICA6IHRydWUsXG4gICAgICAgICAgcGFyYW1zOiBkYXRhU291cmNlLm9wdGlvbnMucGFyYW1zV0ZTLFxuICAgICAgICAgIG9nY0ZpbHRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRhdGFTb3VyY2Uub2djRmlsdGVycywge1xuICAgICAgICAgICAgZW5hYmxlZDogaGFzT2djRmlsdGVyc1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHNvdXJjZUZpZWxkczogZGF0YVNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcyB8fCB1bmRlZmluZWRcbiAgICAgICAgfSBhcyBXRlNvcHRpb25zXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgod29ya3NwYWNlTGF5ZXI6IFZlY3RvckxheWVyKSA9PiB7XG4gICAgICAgIG1hcC5hZGRMYXllcih3b3Jrc3BhY2VMYXllcik7XG4gICAgICAgIGxheWVyLm9sLnNldFByb3BlcnRpZXMoXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGlua2VkTGF5ZXJzOiB7XG4gICAgICAgICAgICAgIGxpbmtJZDogbGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua0lkLFxuICAgICAgICAgICAgICBsaW5rczogY2xvbmVkTGlua3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgICk7XG4gICAgICAgIHdvcmtzcGFjZUxheWVyLmRhdGFTb3VyY2Uub2wucmVmcmVzaCgpO1xuXG4gICAgICAgIGlmICghbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LmVuYWJsZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgd2tzID0gbmV3IFdmc1dvcmtzcGFjZSh7XG4gICAgICAgICAgaWQ6IGxheWVyLmlkLFxuICAgICAgICAgIHRpdGxlOiBsYXllci50aXRsZSxcbiAgICAgICAgICBsYXllcjogd29ya3NwYWNlTGF5ZXIsXG4gICAgICAgICAgbWFwLFxuICAgICAgICAgIGVudGl0eVN0b3JlOiB0aGlzLmNyZWF0ZUZlYXR1cmVTdG9yZSh3b3Jrc3BhY2VMYXllciwgbWFwKSxcbiAgICAgICAgICBhY3Rpb25TdG9yZTogbmV3IEFjdGlvblN0b3JlKFtdKSxcbiAgICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgICB0YWJsZVRlbXBsYXRlOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjcmVhdGVUYWJsZVRlbXBsYXRlKHdrcywgd29ya3NwYWNlTGF5ZXIsIHRoaXMubGF5ZXJTZXJ2aWNlLCB0aGlzLndzJCk7XG5cbiAgICAgICAgd29ya3NwYWNlTGF5ZXIub3B0aW9ucy53b3Jrc3BhY2Uud29ya3NwYWNlSWQgPSB3b3Jrc3BhY2VMYXllci5pZDtcbiAgICAgICAgbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2UgPSBPYmplY3QuYXNzaWduKHt9LCBsYXllci5vcHRpb25zLndvcmtzcGFjZSwge1xuICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgc3JjSWQ6IGxheWVyLmlkLFxuICAgICAgICAgIHdvcmtzcGFjZUlkOiB3b3Jrc3BhY2VMYXllci5pZCxcbiAgICAgICAgICBxdWVyeU9wdGlvbnM6IHtcbiAgICAgICAgICAgIG1hcFF1ZXJ5T25PcGVuVGFiOlxuICAgICAgICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ucXVlcnlPcHRpb25zPy5tYXBRdWVyeU9uT3BlblRhYixcbiAgICAgICAgICAgIHRhYlF1ZXJ5OiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ucXVlcnlPcHRpb25zPy50YWJRdWVyeVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFnZVNpemU6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5wYWdlU2l6ZSxcbiAgICAgICAgICBwYWdlU2l6ZU9wdGlvbnM6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5wYWdlU2l6ZU9wdGlvbnNcbiAgICAgICAgfSBhcyBHZW9Xb3Jrc3BhY2VPcHRpb25zKTtcblxuICAgICAgICBkZWxldGUgZGF0YVNvdXJjZS5vcHRpb25zLmRvd25sb2FkO1xuICAgICAgICByZXR1cm4gd2tzO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gd2tzO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGZWF0dXJlU3RvcmUobGF5ZXI6IFZlY3RvckxheWVyLCBtYXA6IElnb01hcCk6IEZlYXR1cmVTdG9yZSB7XG4gICAgY29uc3Qgc3RvcmUgPSBuZXcgRmVhdHVyZVN0b3JlKFtdLCB7IG1hcCB9KTtcbiAgICBzdG9yZS5iaW5kTGF5ZXIobGF5ZXIpO1xuXG4gICAgY29uc3QgbG9hZGluZ1N0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUxvYWRpbmdMYXllclN0cmF0ZWd5KHt9KTtcbiAgICBjb25zdCBpbk1hcEV4dGVudFN0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUluTWFwRXh0ZW50U3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IGdlb1Byb3BlcnRpZXNTdHJhdGVneSA9IG5ldyBHZW9Qcm9wZXJ0aWVzU3RyYXRlZ3koXG4gICAgICB7IG1hcCB9LFxuICAgICAgdGhpcy5wcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2UsXG4gICAgICB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2VcbiAgICApO1xuICAgIGNvbnN0IGluTWFwUmVzb2x1dGlvblN0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUluTWFwUmVzb2x1dGlvblN0cmF0ZWd5KHt9KTtcbiAgICBjb25zdCBzZWxlY3RlZFJlY29yZFN0cmF0ZWd5ID0gbmV3IEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IGNvbmZRdWVyeU92ZXJsYXlTdHlsZTogT3ZlcmxheVN0eWxlT3B0aW9ucyA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdxdWVyeU92ZXJsYXlTdHlsZScpO1xuXG4gICAgY29uc3Qgc2VsZWN0aW9uU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3koe1xuICAgICAgbGF5ZXI6IG5ldyBWZWN0b3JMYXllcih7XG4gICAgICAgIHpJbmRleDogMzAwLFxuICAgICAgICBzb3VyY2U6IG5ldyBGZWF0dXJlRGF0YVNvdXJjZSgpLFxuICAgICAgICBzdHlsZTogKGZlYXR1cmUpID0+IHtcbiAgICAgICAgICByZXR1cm4gZ2V0Q29tbW9uVmVjdG9yU2VsZWN0ZWRTdHlsZShcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICB7IGZlYXR1cmUgfSxcbiAgICAgICAgICAgICAgY29uZlF1ZXJ5T3ZlcmxheVN0eWxlPy5zZWxlY3Rpb24gfHwge31cbiAgICAgICAgICAgICkgYXMgRmVhdHVyZUNvbW1vblZlY3RvclN0eWxlT3B0aW9uc1xuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIHNob3dJbkxheWVyTGlzdDogZmFsc2UsXG4gICAgICAgIGV4cG9ydGFibGU6IGZhbHNlLFxuICAgICAgICBicm93c2FibGU6IGZhbHNlXG4gICAgICB9KSxcbiAgICAgIG1hcCxcbiAgICAgIGhpdFRvbGVyYW5jZTogMTUsXG4gICAgICBtb3Rpb246IHRoaXMuem9vbUF1dG8gPyBGZWF0dXJlTW90aW9uLkRlZmF1bHQgOiBGZWF0dXJlTW90aW9uLk5vbmUsXG4gICAgICBtYW55OiB0cnVlLFxuICAgICAgZHJhZ0JveDogdHJ1ZVxuICAgIH0pO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KGxvYWRpbmdTdHJhdGVneSwgdHJ1ZSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3koaW5NYXBFeHRlbnRTdHJhdGVneSwgdHJ1ZSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3koZ2VvUHJvcGVydGllc1N0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShpbk1hcFJlc29sdXRpb25TdHJhdGVneSwgdHJ1ZSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3koc2VsZWN0aW9uU3RyYXRlZ3ksIHRydWUpO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KHNlbGVjdGVkUmVjb3JkU3RyYXRlZ3ksIGZhbHNlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShjcmVhdGVGaWx0ZXJJbk1hcEV4dGVudE9yUmVzb2x1dGlvblN0cmF0ZWd5KCksIHRydWUpO1xuICAgIHJldHVybiBzdG9yZTtcbiAgfVxufVxuIl19
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLXdvcmtzcGFjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93bXMtd29ya3NwYWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFM0YsT0FBTyxFQUNMLGFBQWEsRUFDYixZQUFZLEVBQ1osK0JBQStCLEVBQy9CLG1DQUFtQyxFQUNuQyxnQ0FBZ0MsRUFDaEMsNkJBQTZCLEVBQzdCLHFCQUFxQixFQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFHTCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWixNQUFNLG9CQUFvQixDQUFDO0FBRzVCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBSzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxF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TUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWN0aW9uU3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24vYWN0aW9uJztcbmltcG9ydCB7IEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAaWdvMi9jb21tb24vZW50aXR5JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvQmVoYXZpb3JTdWJqZWN0JztcblxuaW1wb3J0IHsgQ2FwYWJpbGl0aWVzU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2NhcGFiaWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBGZWF0dXJlTW90aW9uLFxuICBGZWF0dXJlU3RvcmUsXG4gIEZlYXR1cmVTdG9yZUluTWFwRXh0ZW50U3RyYXRlZ3ksXG4gIEZlYXR1cmVTdG9yZUluTWFwUmVzb2x1dGlvblN0cmF0ZWd5LFxuICBGZWF0dXJlU3RvcmVMb2FkaW5nTGF5ZXJTdHJhdGVneSxcbiAgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3ksXG4gIEdlb1Byb3BlcnRpZXNTdHJhdGVneVxufSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZCc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEdlb1dvcmtzcGFjZU9wdGlvbnMsXG4gIEltYWdlTGF5ZXIsXG4gIExheWVyU2VydmljZSxcbiAgTGF5ZXJzTGlua1Byb3BlcnRpZXMsXG4gIExpbmtlZFByb3BlcnRpZXMsXG4gIFZlY3RvckxheWVyXG59IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZCc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL3F1ZXJ5L3NoYXJlZC9xdWVyeS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldENvbW1vblZlY3RvclNlbGVjdGVkU3R5bGUgfSBmcm9tICcuLi8uLi9zdHlsZS9zaGFyZWQvdmVjdG9yL2NvbW1vblZlY3RvclN0eWxlJztcbmltcG9ydCB7XG4gIEZlYXR1cmVDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMsXG4gIE92ZXJsYXlTdHlsZU9wdGlvbnNcbn0gZnJvbSAnLi4vLi4vc3R5bGUvc2hhcmVkL3ZlY3Rvci92ZWN0b3Itc3R5bGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9wcm9wZXJ0eVR5cGVEZXRlY3Rvci9wcm9wZXJ0eVR5cGVEZXRlY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IFdmc1dvcmtzcGFjZSB9IGZyb20gJy4vd2ZzLXdvcmtzcGFjZSc7XG5pbXBvcnQge1xuICBjcmVhdGVGaWx0ZXJJbk1hcEV4dGVudE9yUmVzb2x1dGlvblN0cmF0ZWd5LFxuICBjcmVhdGVUYWJsZVRlbXBsYXRlXG59IGZyb20gJy4vd29ya3NwYWNlLnV0aWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV21zV29ya3NwYWNlU2VydmljZSB7XG4gIGdldCB6b29tQXV0bygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3pvb21BdXRvJykgYXMgYm9vbGVhbjtcbiAgfVxuXG4gIHB1YmxpYyB3cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FwYWJpbGl0aWVzU2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZTogUHJvcGVydHlUeXBlRGV0ZWN0b3JTZXJ2aWNlXG4gICkge31cblxuICBjcmVhdGVXb3Jrc3BhY2UobGF5ZXI6IEltYWdlTGF5ZXIsIG1hcDogSWdvTWFwKTogV2ZzV29ya3NwYWNlIHtcbiAgICBpZiAoXG4gICAgICAhbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2UgfHxcbiAgICAgIG1hcC5sYXllckNvbnRyb2xsZXIuYWxsLmZpbmQoXG4gICAgICAgIChsYXkpID0+IGxheS5pZCA9PT0gbGF5ZXIuaWQgKyAnLldmc1dvcmtzcGFjZVRhYmxlRGVzdCdcbiAgICAgICkgfHxcbiAgICAgIGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5lZGl0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGFTb3VyY2U6IFdNU0RhdGFTb3VyY2UgPSBsYXllci5kYXRhU291cmNlIGFzIFdNU0RhdGFTb3VyY2U7XG4gICAgY29uc3Qgd21zTGlua0lkID0gbGF5ZXIuaWQgKyAnLldtc1dvcmtzcGFjZVRhYmxlU3JjJztcbiAgICBjb25zdCB3ZnNMaW5rSWQgPSBsYXllci5pZCArICcuV2ZzV29ya3NwYWNlVGFibGVEZXN0JztcbiAgICBpZiAoIWxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzKSB7XG4gICAgICBsYXllci5vcHRpb25zLmxpbmtlZExheWVycyA9IHsgbGlua0lkOiB3bXNMaW5rSWQsIGxpbmtzOiBbXSB9O1xuICAgIH1cbiAgICBjb25zdCBsaW5rUHJvcGVydGllcyA9IHtcbiAgICAgIHN5bmNlZERlbGV0ZTogdHJ1ZSxcbiAgICAgIGxpbmtlZElkczogW3dmc0xpbmtJZF0sXG4gICAgICBwcm9wZXJ0aWVzOiBbTGlua2VkUHJvcGVydGllcy5aSU5ERVgsIExpbmtlZFByb3BlcnRpZXMuVklTSUJMRV1cbiAgICB9IGFzIExheWVyc0xpbmtQcm9wZXJ0aWVzO1xuXG4gICAgaWYgKCFsYXllci5vcHRpb25zLndvcmtzcGFjZT8ubWluUmVzb2x1dGlvbikge1xuICAgICAgbGlua1Byb3BlcnRpZXMucHJvcGVydGllcy5wdXNoKExpbmtlZFByb3BlcnRpZXMuTUlOUkVTT0xVVElPTik7XG4gICAgfVxuICAgIGxldCBoYXNPZ2NGaWx0ZXJzID0gZmFsc2U7XG4gICAgaWYgKFxuICAgICAgKGRhdGFTb3VyY2Uub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnM/LmVuYWJsZWRcbiAgICApIHtcbiAgICAgIGxpbmtQcm9wZXJ0aWVzLnByb3BlcnRpZXMucHVzaChMaW5rZWRQcm9wZXJ0aWVzLk9HQ0ZJTFRFUlMpO1xuICAgICAgaGFzT2djRmlsdGVycyA9IHRydWU7XG4gICAgfVxuICAgIGlmICghbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/Lm1heFJlc29sdXRpb24pIHtcbiAgICAgIGxpbmtQcm9wZXJ0aWVzLnByb3BlcnRpZXMucHVzaChMaW5rZWRQcm9wZXJ0aWVzLk1BWFJFU09MVVRJT04pO1xuICAgIH1cblxuICAgIGxldCBjbG9uZWRMaW5rczogTGF5ZXJzTGlua1Byb3BlcnRpZXNbXSA9IFtdO1xuICAgIGlmIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcykge1xuICAgICAgY2xvbmVkTGlua3MgPSBKU09OLnBhcnNlKFxuICAgICAgICBKU09OLnN0cmluZ2lmeShsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcylcbiAgICAgICk7XG4gICAgfVxuICAgIGNsb25lZExpbmtzLnB1c2gobGlua1Byb3BlcnRpZXMpO1xuXG4gICAgLy8gVE9ETzogRMOpbXlzdGlmaWVyIGNlIGJvdXQgZGUgY29kZVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLWV4cHJlc3Npb25zXG4gICAgKGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtJZCA9IGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtJZFxuICAgICAgPyBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rSWRcbiAgICAgIDogd21zTGlua0lkKSxcbiAgICAgIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcyA9IGNsb25lZExpbmtzKTtcblxuICAgIGxheWVyLmNyZWF0ZUxpbmsoKTtcblxuICAgIGludGVyZmFjZSBXRlNvcHRpb25zXG4gICAgICBleHRlbmRzIFdGU0RhdGFTb3VyY2VPcHRpb25zLFxuICAgICAgICBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMge31cblxuICAgIGxldCB3a3M7XG4gICAgY29uc3Qgd2tzTGF5ZXJPcHRpb246IEdlb1dvcmtzcGFjZU9wdGlvbnMgPSB7XG4gICAgICBwcmludGFibGU6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5wcmludGFibGUsXG4gICAgICBzcmNJZDogbGF5ZXIuaWQsXG4gICAgICB3b3Jrc3BhY2VJZDogdW5kZWZpbmVkLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICBxdWVyeU9wdGlvbnM6IHtcbiAgICAgICAgbWFwUXVlcnlPbk9wZW5UYWI6XG4gICAgICAgICAgbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnF1ZXJ5T3B0aW9ucz8ubWFwUXVlcnlPbk9wZW5UYWIsXG4gICAgICAgIHRhYlF1ZXJ5OiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ucXVlcnlPcHRpb25zPy50YWJRdWVyeVxuICAgICAgfSxcbiAgICAgIHBhZ2VTaXplOiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ucGFnZVNpemUsXG4gICAgICBwYWdlU2l6ZU9wdGlvbnM6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5wYWdlU2l6ZU9wdGlvbnNcbiAgICB9O1xuXG4gICAgdGhpcy5sYXllclNlcnZpY2VcbiAgICAgIC5jcmVhdGVBc3luY0xheWVyKHtcbiAgICAgICAgdGl0bGU6IGxheWVyLnRpdGxlLFxuICAgICAgICBwYXJlbnRJZDogbGF5ZXIub3B0aW9ucy5wYXJlbnRJZCxcbiAgICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxuICAgICAgICB2aXNpYmxlOiBsYXllci52aXNpYmxlLFxuICAgICAgICBpZDogd2ZzTGlua0lkLFxuICAgICAgICBsaW5rZWRMYXllcnM6IHtcbiAgICAgICAgICBsaW5rSWQ6IHdmc0xpbmtJZFxuICAgICAgICB9LFxuICAgICAgICB3b3Jrc3BhY2U6IHdrc0xheWVyT3B0aW9uLFxuICAgICAgICBzaG93SW5MYXllckxpc3Q6IGZhbHNlLFxuICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICBtaW5SZXNvbHV0aW9uOlxuICAgICAgICAgIGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5taW5SZXNvbHV0aW9uIHx8IGxheWVyLm1pblJlc29sdXRpb24gfHwgMCxcbiAgICAgICAgbWF4UmVzb2x1dGlvbjpcbiAgICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ubWF4UmVzb2x1dGlvbiB8fFxuICAgICAgICAgIGxheWVyLm1heFJlc29sdXRpb24gfHxcbiAgICAgICAgICBJbmZpbml0eSxcbiAgICAgICAgc3R5bGU6IHRoaXMuc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKHtcbiAgICAgICAgICBmaWxsOiB7XG4gICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSknXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdHJva2U6IHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNpcmNsZToge1xuICAgICAgICAgICAgZmlsbDoge1xuICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSknXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3Ryb2tlOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByYWRpdXM6IDVcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBzb3VyY2VPcHRpb25zOiB7XG4gICAgICAgICAgZG93bmxvYWQ6IGRhdGFTb3VyY2Uub3B0aW9ucy5kb3dubG9hZCxcbiAgICAgICAgICB0eXBlOiAnd2ZzJyxcbiAgICAgICAgICB1cmw6IGRhdGFTb3VyY2Uub3B0aW9ucy51cmxXZnMgfHwgZGF0YVNvdXJjZS5vcHRpb25zLnVybCxcbiAgICAgICAgICBxdWVyeWFibGU6IHRydWUsXG4gICAgICAgICAgcmVsYXRpb25zOiBkYXRhU291cmNlLm9wdGlvbnMucmVsYXRpb25zLFxuICAgICAgICAgIHF1ZXJ5VGl0bGU6IChkYXRhU291cmNlLm9wdGlvbnMgYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpXG4gICAgICAgICAgICAucXVlcnlUaXRsZSxcbiAgICAgICAgICBxdWVyeUZvcm1hdEFzV21zOiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8uZW5hYmxlZFxuICAgICAgICAgICAgPyAoZGF0YVNvdXJjZS5vcHRpb25zIGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKVxuICAgICAgICAgICAgICAgIC5xdWVyeUZvcm1hdEFzV21zXG4gICAgICAgICAgICA6IHRydWUsXG4gICAgICAgICAgcGFyYW1zOiBkYXRhU291cmNlLm9wdGlvbnMucGFyYW1zV0ZTLFxuICAgICAgICAgIG9nY0ZpbHRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRhdGFTb3VyY2Uub2djRmlsdGVycywge1xuICAgICAgICAgICAgZW5hYmxlZDogaGFzT2djRmlsdGVyc1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHNvdXJjZUZpZWxkczogZGF0YVNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcyB8fCB1bmRlZmluZWRcbiAgICAgICAgfSBhcyBXRlNvcHRpb25zXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgod29ya3NwYWNlTGF5ZXI6IFZlY3RvckxheWVyKSA9PiB7XG4gICAgICAgIG1hcC5sYXllckNvbnRyb2xsZXIuYWRkKHdvcmtzcGFjZUxheWVyKTtcbiAgICAgICAgbGF5ZXIub2wuc2V0UHJvcGVydGllcyhcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsaW5rZWRMYXllcnM6IHtcbiAgICAgICAgICAgICAgbGlua0lkOiBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rSWQsXG4gICAgICAgICAgICAgIGxpbmtzOiBjbG9uZWRMaW5rc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgd29ya3NwYWNlTGF5ZXIuZGF0YVNvdXJjZS5vbC5yZWZyZXNoKCk7XG5cbiAgICAgICAgaWYgKCFsYXllci5vcHRpb25zLndvcmtzcGFjZT8uZW5hYmxlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB3a3MgPSBuZXcgV2ZzV29ya3NwYWNlKHtcbiAgICAgICAgICBpZDogbGF5ZXIuaWQsXG4gICAgICAgICAgdGl0bGU6IGxheWVyLnRpdGxlLFxuICAgICAgICAgIGxheWVyOiB3b3Jrc3BhY2VMYXllcixcbiAgICAgICAgICBtYXAsXG4gICAgICAgICAgZW50aXR5U3RvcmU6IHRoaXMuY3JlYXRlRmVhdHVyZVN0b3JlKHdvcmtzcGFjZUxheWVyLCBtYXApLFxuICAgICAgICAgIGFjdGlvblN0b3JlOiBuZXcgQWN0aW9uU3RvcmUoW10pLFxuICAgICAgICAgIG1ldGE6IHtcbiAgICAgICAgICAgIHRhYmxlVGVtcGxhdGU6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNyZWF0ZVRhYmxlVGVtcGxhdGUod2tzLCB3b3Jrc3BhY2VMYXllciwgdGhpcy5sYXllclNlcnZpY2UsIHRoaXMud3MkKTtcblxuICAgICAgICB3b3Jrc3BhY2VMYXllci5vcHRpb25zLndvcmtzcGFjZS53b3Jrc3BhY2VJZCA9IHdvcmtzcGFjZUxheWVyLmlkO1xuICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZSA9IE9iamVjdC5hc3NpZ24oe30sIGxheWVyLm9wdGlvbnMud29ya3NwYWNlLCB7XG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzcmNJZDogbGF5ZXIuaWQsXG4gICAgICAgICAgd29ya3NwYWNlSWQ6IHdvcmtzcGFjZUxheWVyLmlkLFxuICAgICAgICAgIHF1ZXJ5T3B0aW9uczoge1xuICAgICAgICAgICAgbWFwUXVlcnlPbk9wZW5UYWI6XG4gICAgICAgICAgICAgIGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5xdWVyeU9wdGlvbnM/Lm1hcFF1ZXJ5T25PcGVuVGFiLFxuICAgICAgICAgICAgdGFiUXVlcnk6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5xdWVyeU9wdGlvbnM/LnRhYlF1ZXJ5XG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYWdlU2l6ZTogbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnBhZ2VTaXplLFxuICAgICAgICAgIHBhZ2VTaXplT3B0aW9uczogbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnBhZ2VTaXplT3B0aW9uc1xuICAgICAgICB9IGFzIEdlb1dvcmtzcGFjZU9wdGlvbnMpO1xuXG4gICAgICAgIGRlbGV0ZSBkYXRhU291cmNlLm9wdGlvbnMuZG93bmxvYWQ7XG4gICAgICAgIHJldHVybiB3a3M7XG4gICAgICB9KTtcblxuICAgIHJldHVybiB3a3M7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZlYXR1cmVTdG9yZShsYXllcjogVmVjdG9yTGF5ZXIsIG1hcDogSWdvTWFwKTogRmVhdHVyZVN0b3JlIHtcbiAgICBjb25zdCBzdG9yZSA9IG5ldyBGZWF0dXJlU3RvcmUoW10sIHsgbWFwIH0pO1xuICAgIHN0b3JlLmJpbmRMYXllcihsYXllcik7XG5cbiAgICBjb25zdCBsb2FkaW5nU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IGluTWFwRXh0ZW50U3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneSh7fSk7XG4gICAgY29uc3QgZ2VvUHJvcGVydGllc1N0cmF0ZWd5ID0gbmV3IEdlb1Byb3BlcnRpZXNTdHJhdGVneShcbiAgICAgIHsgbWFwIH0sXG4gICAgICB0aGlzLnByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZSxcbiAgICAgIHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZVxuICAgICk7XG4gICAgY29uc3QgaW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlSW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IHNlbGVjdGVkUmVjb3JkU3RyYXRlZ3kgPSBuZXcgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSh7fSk7XG4gICAgY29uc3QgY29uZlF1ZXJ5T3ZlcmxheVN0eWxlOiBPdmVybGF5U3R5bGVPcHRpb25zID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ3F1ZXJ5T3ZlcmxheVN0eWxlJyk7XG5cbiAgICBjb25zdCBpZCA9IGxheWVyLmlkICsgJy5GZWF0dXJlU3RvcmUnO1xuXG4gICAgaWYgKCFsYXllci5saW5rKSB7XG4gICAgICBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIHN5bmNlZERlbGV0ZTogdHJ1ZSxcbiAgICAgICAgICBsaW5rZWRJZHM6IFtpZF0sXG4gICAgICAgICAgcHJvcGVydGllczogW0xpbmtlZFByb3BlcnRpZXMuVklTSUJMRV1cbiAgICAgICAgfVxuICAgICAgXTtcbiAgICAgIGxheWVyLmNyZWF0ZUxpbmsoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3Rpb25TdHJhdGVneSA9IG5ldyBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneSh7XG4gICAgICBsYXllcjogbmV3IFZlY3RvckxheWVyKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGxpbmtlZExheWVyczoge1xuICAgICAgICAgIGxpbmtJZDogaWRcbiAgICAgICAgfSxcbiAgICAgICAgekluZGV4OiAzMDAsXG4gICAgICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXG4gICAgICAgIHN0eWxlOiAoZmVhdHVyZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlKFxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgIHsgZmVhdHVyZSB9LFxuICAgICAgICAgICAgICBjb25mUXVlcnlPdmVybGF5U3R5bGU/LnNlbGVjdGlvbiB8fCB7fVxuICAgICAgICAgICAgKSBhcyBGZWF0dXJlQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0luTGF5ZXJMaXN0OiBmYWxzZSxcbiAgICAgICAgZXhwb3J0YWJsZTogZmFsc2UsXG4gICAgICAgIGJyb3dzYWJsZTogZmFsc2VcbiAgICAgIH0pLFxuICAgICAgbWFwLFxuICAgICAgaGl0VG9sZXJhbmNlOiAxNSxcbiAgICAgIG1vdGlvbjogdGhpcy56b29tQXV0byA/IEZlYXR1cmVNb3Rpb24uRGVmYXVsdCA6IEZlYXR1cmVNb3Rpb24uTm9uZSxcbiAgICAgIG1hbnk6IHRydWUsXG4gICAgICBkcmFnQm94OiB0cnVlXG4gICAgfSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3kobG9hZGluZ1N0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShpbk1hcEV4dGVudFN0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShnZW9Qcm9wZXJ0aWVzU3RyYXRlZ3ksIHRydWUpO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KGluTWFwUmVzb2x1dGlvblN0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShzZWxlY3Rpb25TdHJhdGVneSwgdHJ1ZSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3koc2VsZWN0ZWRSZWNvcmRTdHJhdGVneSwgZmFsc2UpO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KGNyZWF0ZUZpbHRlckluTWFwRXh0ZW50T3JSZXNvbHV0aW9uU3RyYXRlZ3koKSwgdHJ1ZSk7XG4gICAgcmV0dXJuIHN0b3JlO1xuICB9XG59XG4iXX0=
@@ -46,13 +46,16 @@ export function addOrRemoveLayer(action, map, url, type, layerName, layerService
46
46
  });
47
47
  if (action === 'add') {
48
48
  layerService.createAsyncLayer(so).subscribe((layer) => {
49
+ if (!layer) {
50
+ return;
51
+ }
49
52
  map.layersAddedByClick$.next([layer]);
50
- map.addLayer(layer);
53
+ map.layerController.add(layer);
51
54
  });
52
55
  }
53
56
  else if (action === 'remove') {
54
57
  const addedLayerId = generateIdFromSourceOptions(so.sourceOptions);
55
- map.removeLayer(map.layers.find((l) => l.id === addedLayerId));
58
+ map.layerController.remove(map.layerController.all.find((l) => l.id === addedLayerId));
56
59
  }
57
60
  }
58
61
  export function getGeoServiceAction(workspace, layerService) {
@@ -182,4 +185,4 @@ export function createFilterInMapExtentOrResolutionStrategy() {
182
185
  filterClauseFunc
183
186
  });
184
187
  }
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93b3Jrc3BhY2UudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG1DQUFtQyxFQUluQyx5QkFBeUIsRUFFMUIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU0xQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVN0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl2RSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBTyxFQUFFLGNBQWM7SUFDeEQsT0FBTyxDQUNKLGNBQWMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLE9BQU8sRUFBRSxDQUFhO1FBQ3ZFLElBQUksQ0FDTCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWM7SUFDL0QsY0FBYyxDQUFDLEdBQUcsQ0FDaEIsNkJBQTZCLE9BQU8sRUFBRSxFQUN0QyxLQUFLLEVBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FDckIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQU8sRUFBRSxjQUFjO0lBQ3JELE9BQU8sQ0FDSixjQUFjLENBQUMsR0FBRyxDQUFDLDBCQUEwQixPQUFPLEVBQUUsQ0FBYTtRQUNwRSxLQUFLLENBQ04sQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYztJQUM1RCxjQUFjLENBQUMsR0FBRyxDQUNoQiwwQkFBMEIsT0FBTyxFQUFFLEVBQ25DLEtBQUssRUFDTCxZQUFZLENBQUMsT0FBTyxDQUNyQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FDNUMsRUFBYTtJQUViLE9BQU8sRUFBRSxDQUFDLFdBQVc7U0FDbEIsaUJBQWlCLENBQUMsbUNBQW1DLENBQUM7U0FDdEQsT0FBTyxDQUFDLElBQUksQ0FDWCxHQUFHLENBQUMsQ0FBQyxNQUFlLEVBQUUsRUFBRSxDQUN0QixNQUFNO1FBQ0osQ0FBQyxDQUFDLDhDQUE4QztRQUNoRCxDQUFDLENBQUMsZ0RBQWdELENBQ3JELENBQ0YsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsRUFBYTtJQUM3QyxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUztTQUM1QixPQUFPLENBQUMsQ0FBQyxNQUE2QixFQUFFLEVBQUU7UUFDekMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7SUFDeEMsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQWlDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixNQUF3QixFQUN4QixHQUFXLEVBQ1gsR0FBVyxFQUNYLElBQVksRUFDWixTQUFpQixFQUNqQixZQUEwQjtJQUUxQixNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDO1FBQ3JDLGFBQWEsRUFBRTtZQUNiLElBQUksRUFBRSxJQUFJO1lBQ1YsR0FBRztZQUNILHVCQUF1QixFQUFFLElBQUk7WUFDN0IsY0FBYyxFQUFFLElBQUk7WUFDcEIsTUFBTSxFQUFFO2dCQUNOLE1BQU0sRUFBRSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQzlDLEtBQUssRUFBRSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDOUM7U0FDRjtLQUNGLENBQUMsQ0FBQztJQUNILElBQUksTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3JCLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNwRCxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN0QyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUFNLElBQUksTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE1BQU0sWUFBWSxHQUFHLDJCQUEyQixDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuRSxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLFNBQTBDLEVBQzFDLFlBQTBCO0lBRTFCLE1BQU0sZ0JBQWdCLEdBQUc7UUFDdkI7WUFDRSxJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsUUFBUSxFQUFFLHlCQUF5QixDQUFDLFdBQVc7WUFDL0MsYUFBYSxFQUFFLENBQUMsTUFBZSxFQUFFLE1BQTZCLEVBQUUsRUFBRTtnQkFDaEUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztnQkFDckQsSUFDRSxvQkFBb0I7b0JBQ3BCLG9CQUFvQixDQUFDLHdCQUF3QjtvQkFDN0Msb0JBQW9CLENBQUMsR0FBRztvQkFDeEIsb0JBQW9CLENBQUMsU0FBUyxFQUM5QixDQUFDO29CQUNELElBQUksb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQy9CLE9BQU87NEJBQ0w7Z0NBQ0UsSUFBSSxFQUFFLFFBQVE7Z0NBQ2QsS0FBSyxFQUFFLE1BQU07Z0NBQ2IsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO29DQUNyQixnQkFBZ0IsQ0FDZCxRQUFRLEVBQ1IsU0FBUyxDQUFDLEdBQUcsRUFDYixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFDNUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUNqQyxZQUFZLENBQ2IsQ0FBQztvQ0FDRixvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dDQUNyQyxDQUFDOzZCQUNGO3lCQUNxQixDQUFDO29CQUMzQixDQUFDO3lCQUFNLENBQUM7d0JBQ04sT0FBTzs0QkFDTDtnQ0FDRSxJQUFJLEVBQUUsS0FBSztnQ0FDWCxLQUFLLEVBQUUsU0FBUztnQ0FDaEIsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO29DQUNyQixnQkFBZ0IsQ0FDZCxLQUFLLEVBQ0wsU0FBUyxDQUFDLEdBQUcsRUFDYixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFDNUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUNqQyxZQUFZLENBQ2IsQ0FBQztvQ0FDRixvQkFBb0IsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dDQUNwQyxDQUFDOzZCQUNGO3lCQUNxQixDQUFDO29CQUMzQixDQUFDO2dCQUNILENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDO1lBQ0gsQ0FBQztTQUNGO0tBQ0YsQ0FBQztJQUNGLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsU0FBMEMsRUFDMUMsS0FBa0IsRUFDbEIsWUFBMEIsRUFDMUIsR0FBRztJQUVILE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7SUFFM0QsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUUzRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDeEIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTO2FBQzVCLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQ3BDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sRUFBRSxHQUFJLFFBQVEsQ0FBQyxDQUFDLENBQWEsQ0FBQyxFQUEyQixDQUFDO1lBQ2hFLE1BQU0sbUJBQW1CLEdBQUcsRUFBRTtpQkFDM0IsT0FBTyxFQUFFO2lCQUNULE1BQU0sQ0FDTCxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ04sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDcEIsR0FBRyxLQUFLLFVBQVU7Z0JBQ2xCLEdBQUcsS0FBSyxFQUFFLENBQUMsZUFBZSxFQUFFO2dCQUM1QixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQzVCO2lCQUNBLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNYLE9BQU87b0JBQ0wsSUFBSSxFQUFFLGNBQWMsR0FBRyxFQUFFO29CQUN6QixLQUFLLEVBQUUsR0FBRztvQkFDVixRQUFRLEVBQUUseUJBQXlCLENBQUMsZUFBZTtpQkFDcEQsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0wsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztZQUNqRCxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRztnQkFDN0IsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsV0FBVyxFQUFFLE1BQU07YUFDRyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBZ0MsRUFBRSxFQUFFO1FBQzlELE9BQU87WUFDTCxJQUFJLEVBQUUsY0FBYyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2hDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUM3QyxRQUFRLEVBQUUseUJBQXlCLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsYUFBYSxFQUFFLEdBQUcsRUFBRTtnQkFDbEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNyQixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDZixTQUFTLENBQUMsU0FBUyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQ3hDLE9BQU8sU0FBUyxDQUFDO2dCQUNuQixDQUFDO1lBQ0gsQ0FBQztTQUNtQixDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQXlCLEVBQUUsRUFBRTtRQUNsRSxPQUFPO1lBQ0wsSUFBSSxFQUFFLGNBQWMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUNuQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDdEQsUUFBUSxFQUFFLHlCQUF5QixDQUFDLElBQUk7WUFDeEMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1lBQ25CLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtZQUN2QixJQUFJLEVBQUUsVUFBVTtZQUNoQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87WUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDWixHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixDQUFDO1lBQ0QsYUFBYSxFQUFFLEdBQUcsRUFBRTtnQkFDbEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUM5QixDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHO1FBQzdCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsSUFBSSxFQUFFLElBQUk7UUFDVixPQUFPO1FBQ1AsV0FBVyxFQUFFLE1BQU07S0FDcEIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsMkNBQTJDO0lBQ3pELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxNQUE0QixFQUFFLEVBQUU7UUFDeEQsT0FBTyxDQUNMLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsS0FBSyxJQUFJLENBQzNFLENBQUM7SUFDSixDQUFDLENBQUM7SUFDRixPQUFPLElBQUksbUNBQW1DLENBQUM7UUFDN0MsZ0JBQWdCO0tBQ2lCLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW50aXR5UmVjb3JkLFxuICBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSxcbiAgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zLFxuICBFbnRpdHlUYWJsZUJ1dHRvbixcbiAgRW50aXR5VGFibGVDb2x1bW4sXG4gIEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIsXG4gIEVudGl0eVRhYmxlVGVtcGxhdGVcbn0gZnJvbSAnQGlnbzIvY29tbW9uL2VudGl0eSc7XG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tICdAaWdvMi9jb21tb24vd29ya3NwYWNlJztcbmltcG9ydCB7IFN0b3JhZ2VTY29wZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IG9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2tpcFdoaWxlLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBSZWxhdGlvbk9wdGlvbnMsXG4gIFNvdXJjZUZpZWxkc09wdGlvbnNQYXJhbXNcbn0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBMYXllclNlcnZpY2UsIFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7IGdlbmVyYXRlSWRGcm9tU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL3V0aWxzL2lkLWdlbmVyYXRvcic7XG5pbXBvcnQgeyBGZWF0dXJlV29ya3NwYWNlIH0gZnJvbSAnLi9mZWF0dXJlLXdvcmtzcGFjZSc7XG5pbXBvcnQgeyBXZnNXb3Jrc3BhY2UgfSBmcm9tICcuL3dmcy13b3Jrc3BhY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um93c0luTWFwRXh0ZW50KGxheWVySWQsIHN0b3JhZ2VTZXJ2aWNlKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgKHN0b3JhZ2VTZXJ2aWNlLmdldChgd29ya3NwYWNlLnJvd3NJbk1hcEV4dGVudC4ke2xheWVySWR9YCkgYXMgYm9vbGVhbikgfHxcbiAgICB0cnVlXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRSb3dzSW5NYXBFeHRlbnQodmFsdWUsIGxheWVySWQsIHN0b3JhZ2VTZXJ2aWNlKSB7XG4gIHN0b3JhZ2VTZXJ2aWNlLnNldChcbiAgICBgd29ya3NwYWNlLnJvd3NJbk1hcEV4dGVudC4ke2xheWVySWR9YCxcbiAgICB2YWx1ZSxcbiAgICBTdG9yYWdlU2NvcGUuU0VTU0lPTlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VsZWN0ZWRPbmx5KGxheWVySWQsIHN0b3JhZ2VTZXJ2aWNlKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgKHN0b3JhZ2VTZXJ2aWNlLmdldChgd29ya3NwYWNlLnNlbGVjdGVkT25seS4ke2xheWVySWR9YCkgYXMgYm9vbGVhbikgfHxcbiAgICBmYWxzZVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0U2VsZWN0ZWRPbmx5KHZhbHVlLCBsYXllcklkLCBzdG9yYWdlU2VydmljZSkge1xuICBzdG9yYWdlU2VydmljZS5zZXQoXG4gICAgYHdvcmtzcGFjZS5zZWxlY3RlZE9ubHkuJHtsYXllcklkfWAsXG4gICAgdmFsdWUsXG4gICAgU3RvcmFnZVNjb3BlLlNFU1NJT05cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcEV4dGVudFN0cmF0ZWd5QWN0aXZlVG9vbFRpcChcbiAgd3M6IFdvcmtzcGFjZVxuKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgcmV0dXJuIHdzLmVudGl0eVN0b3JlXG4gICAgLmdldFN0cmF0ZWd5T2ZUeXBlKEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KVxuICAgIC5hY3RpdmUkLnBpcGUoXG4gICAgICBtYXAoKGFjdGl2ZTogYm9vbGVhbikgPT5cbiAgICAgICAgYWN0aXZlXG4gICAgICAgICAgPyAnaWdvLmdlby53b3Jrc3BhY2UuaW5NYXBFeHRlbnQuYWN0aXZlLnRvb2x0aXAnXG4gICAgICAgICAgOiAnaWdvLmdlby53b3Jrc3BhY2UuaW5NYXBFeHRlbnQuaW5hY3RpdmUudG9vbHRpcCdcbiAgICAgIClcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9FbGVtZW50U2VsZWN0ZWQod3M6IFdvcmtzcGFjZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICByZXR1cm4gd3MuZW50aXR5U3RvcmUuc3RhdGVWaWV3XG4gICAgLm1hbnlCeSQoKHJlY29yZDogRW50aXR5UmVjb3JkPEZlYXR1cmU+KSA9PiB7XG4gICAgICByZXR1cm4gcmVjb3JkLnN0YXRlLnNlbGVjdGVkID09PSB0cnVlO1xuICAgIH0pXG4gICAgLnBpcGUobWFwKChlbnRpdGllczogRW50aXR5UmVjb3JkPEZlYXR1cmU+W10pID0+IGVudGl0aWVzLmxlbmd0aCA+PSAxKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRPclJlbW92ZUxheWVyKFxuICBhY3Rpb246ICdhZGQnIHwgJ3JlbW92ZScsXG4gIG1hcDogSWdvTWFwLFxuICB1cmw6IHN0cmluZyxcbiAgdHlwZTogc3RyaW5nLFxuICBsYXllck5hbWU6IHN0cmluZyxcbiAgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2Vcbikge1xuICBjb25zdCBzbyA9IE9iamVjdFV0aWxzLnJlbW92ZVVuZGVmaW5lZCh7XG4gICAgc291cmNlT3B0aW9uczoge1xuICAgICAgdHlwZTogdHlwZSxcbiAgICAgIHVybCxcbiAgICAgIG9wdGlvbnNGcm9tQ2FwYWJpbGl0aWVzOiB0cnVlLFxuICAgICAgb3B0aW9uc0Zyb21BcGk6IHRydWUsXG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgTEFZRVJTOiB0eXBlID09PSAnd21zJyA/IGxheWVyTmFtZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgTEFZRVI6IHR5cGUgPT09ICd3bXMnID8gdW5kZWZpbmVkIDogbGF5ZXJOYW1lXG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgaWYgKGFjdGlvbiA9PT0gJ2FkZCcpIHtcbiAgICBsYXllclNlcnZpY2UuY3JlYXRlQXN5bmNMYXllcihzbykuc3Vic2NyaWJlKChsYXllcikgPT4ge1xuICAgICAgbWFwLmxheWVyc0FkZGVkQnlDbGljayQubmV4dChbbGF5ZXJdKTtcbiAgICAgIG1hcC5hZGRMYXllcihsYXllcik7XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoYWN0aW9uID09PSAncmVtb3ZlJykge1xuICAgIGNvbnN0IGFkZGVkTGF5ZXJJZCA9IGdlbmVyYXRlSWRGcm9tU291cmNlT3B0aW9ucyhzby5zb3VyY2VPcHRpb25zKTtcbiAgICBtYXAucmVtb3ZlTGF5ZXIobWFwLmxheWVycy5maW5kKChsKSA9PiBsLmlkID09PSBhZGRlZExheWVySWQpKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2VvU2VydmljZUFjdGlvbihcbiAgd29ya3NwYWNlOiBGZWF0dXJlV29ya3NwYWNlIHwgV2ZzV29ya3NwYWNlLFxuICBsYXllclNlcnZpY2U6IExheWVyU2VydmljZVxuKSB7XG4gIGNvbnN0IGdlb1NlcnZpY2VBY3Rpb24gPSBbXG4gICAge1xuICAgICAgbmFtZTogJ2dlb1NlcnZpY2VBY3Rpb24nLFxuICAgICAgdGl0bGU6IHVuZGVmaW5lZCxcbiAgICAgIHRvb2x0aXA6ICcnLFxuICAgICAgcmVuZGVyZXI6IEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIuQnV0dG9uR3JvdXAsXG4gICAgICB2YWx1ZUFjY2Vzc29yOiAoZW50aXR5OiBGZWF0dXJlLCByZWNvcmQ6IEVudGl0eVJlY29yZDxGZWF0dXJlPikgPT4ge1xuICAgICAgICBjb25zdCBnZW9TZXJ2aWNlUHJvcGVydGllcyA9IHJlY29yZC5zdGF0ZS5nZW9TZXJ2aWNlO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZ2VvU2VydmljZVByb3BlcnRpZXMgJiZcbiAgICAgICAgICBnZW9TZXJ2aWNlUHJvcGVydGllcy5oYXZlR2VvU2VydmljZVByb3BlcnRpZXMgJiZcbiAgICAgICAgICBnZW9TZXJ2aWNlUHJvcGVydGllcy51cmwgJiZcbiAgICAgICAgICBnZW9TZXJ2aWNlUHJvcGVydGllcy5sYXllck5hbWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKGdlb1NlcnZpY2VQcm9wZXJ0aWVzLmFkZGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWNvbjogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd3YXJuJyxcbiAgICAgICAgICAgICAgICBjbGljazogKHJvdywgcmVjb3JkKSA9PiB7XG4gICAgICAgICAgICAgICAgICBhZGRPclJlbW92ZUxheWVyKFxuICAgICAgICAgICAgICAgICAgICAncmVtb3ZlJyxcbiAgICAgICAgICAgICAgICAgICAgd29ya3NwYWNlLm1hcCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0YXRlLmdlb1NlcnZpY2UudXJsLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3RhdGUuZ2VvU2VydmljZS50eXBlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3RhdGUuZ2VvU2VydmljZS5sYXllck5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGxheWVyU2VydmljZVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGdlb1NlcnZpY2VQcm9wZXJ0aWVzLmFkZGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdIGFzIEVudGl0eVRhYmxlQnV0dG9uW107XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpY29uOiAnYWRkJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgIGNsaWNrOiAocm93LCByZWNvcmQpID0+IHtcbiAgICAgICAgICAgICAgICAgIGFkZE9yUmVtb3ZlTGF5ZXIoXG4gICAgICAgICAgICAgICAgICAgICdhZGQnLFxuICAgICAgICAgICAgICAgICAgICB3b3Jrc3BhY2UubWFwLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3RhdGUuZ2VvU2VydmljZS51cmwsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdGF0ZS5nZW9TZXJ2aWNlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdGF0ZS5nZW9TZXJ2aWNlLmxheWVyTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgbGF5ZXJTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgZ2VvU2VydmljZVByb3BlcnRpZXMuYWRkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSBhcyBFbnRpdHlUYWJsZUJ1dHRvbltdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIF07XG4gIHJldHVybiBnZW9TZXJ2aWNlQWN0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGFibGVUZW1wbGF0ZShcbiAgd29ya3NwYWNlOiBGZWF0dXJlV29ya3NwYWNlIHwgV2ZzV29ya3NwYWNlLFxuICBsYXllcjogVmVjdG9yTGF5ZXIsXG4gIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxuICB3cyRcbikge1xuICBjb25zdCBnZW9TZXJ2aWNlQWN0aW9uID0gZ2V0R2VvU2VydmljZUFjdGlvbih3b3Jrc3BhY2UsIGxheWVyU2VydmljZSk7XG4gIGNvbnN0IGZpZWxkcyA9IGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5zb3VyY2VGaWVsZHMgfHwgW107XG5cbiAgY29uc3QgcmVsYXRpb25zID0gbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLnJlbGF0aW9ucyB8fCBbXTtcblxuICBpZiAoZmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHdvcmtzcGFjZS5lbnRpdHlTdG9yZS5lbnRpdGllcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBza2lwV2hpbGUoKHZhbCkgPT4gdmFsLmxlbmd0aCA9PT0gMCksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGVudGl0aWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IG9sID0gKGVudGl0aWVzWzBdIGFzIEZlYXR1cmUpLm9sIGFzIG9sRmVhdHVyZTxPbEdlb21ldHJ5PjtcbiAgICAgICAgY29uc3QgY29sdW1uc0Zyb21GZWF0dXJlcyA9IG9sXG4gICAgICAgICAgLmdldEtleXMoKVxuICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAoY29sKSA9PlxuICAgICAgICAgICAgICAhY29sLnN0YXJ0c1dpdGgoJ18nKSAmJlxuICAgICAgICAgICAgICBjb2wgIT09ICdnZW9tZXRyeScgJiZcbiAgICAgICAgICAgICAgY29sICE9PSBvbC5nZXRHZW9tZXRyeU5hbWUoKSAmJlxuICAgICAgICAgICAgICAhY29sLm1hdGNoKC9ib3VuZGVkYnkvZ2kpXG4gICAgICAgICAgKVxuICAgICAgICAgIC5tYXAoKGtleSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgbmFtZTogYHByb3BlcnRpZXMuJHtrZXl9YCxcbiAgICAgICAgICAgICAgdGl0bGU6IGtleSxcbiAgICAgICAgICAgICAgcmVuZGVyZXI6IEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIuVW5zYW5pdGl6ZWRIVE1MXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pO1xuICAgICAgICBjb2x1bW5zRnJvbUZlYXR1cmVzLnVuc2hpZnQoLi4uZ2VvU2VydmljZUFjdGlvbik7XG4gICAgICAgIHdvcmtzcGFjZS5tZXRhLnRhYmxlVGVtcGxhdGUgPSB7XG4gICAgICAgICAgc2VsZWN0aW9uOiB0cnVlLFxuICAgICAgICAgIHNvcnQ6IHRydWUsXG4gICAgICAgICAgY29sdW1uczogY29sdW1uc0Zyb21GZWF0dXJlcyxcbiAgICAgICAgICB0YWJsZUhlaWdodDogJzEwMCUnXG4gICAgICAgIH0gYXMgRW50aXR5VGFibGVUZW1wbGF0ZTtcbiAgICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBjb2x1bW5zID0gZmllbGRzLm1hcCgoZmllbGQ6IFNvdXJjZUZpZWxkc09wdGlvbnNQYXJhbXMpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogYHByb3BlcnRpZXMuJHtmaWVsZC5uYW1lfWAsXG4gICAgICB0aXRsZTogZmllbGQuYWxpYXMgPyBmaWVsZC5hbGlhcyA6IGZpZWxkLm5hbWUsXG4gICAgICByZW5kZXJlcjogRW50aXR5VGFibGVDb2x1bW5SZW5kZXJlci5VbnNhbml0aXplZEhUTUwsXG4gICAgICB0b29sdGlwOiBmaWVsZC50b29sdGlwLFxuICAgICAgY2VsbENsYXNzRnVuYzogKCkgPT4ge1xuICAgICAgICBjb25zdCBjZWxsQ2xhc3MgPSB7fTtcbiAgICAgICAgaWYgKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICBjZWxsQ2xhc3NbYGNsYXNzXyR7ZmllbGQudHlwZX1gXSA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIGNlbGxDbGFzcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gYXMgRW50aXR5VGFibGVDb2x1bW47XG4gIH0pO1xuXG4gIGNvbnN0IHJlbGF0aW9uc0NvbHVtbiA9IHJlbGF0aW9ucy5tYXAoKHJlbGF0aW9uOiBSZWxhdGlvbk9wdGlvbnMpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogYHByb3BlcnRpZXMuJHtyZWxhdGlvbi5uYW1lfWAsXG4gICAgICB0aXRsZTogcmVsYXRpb24uYWxpYXMgPyByZWxhdGlvbi5hbGlhcyA6IHJlbGF0aW9uLm5hbWUsXG4gICAgICByZW5kZXJlcjogRW50aXR5VGFibGVDb2x1bW5SZW5kZXJlci5JY29uLFxuICAgICAgaWNvbjogcmVsYXRpb24uaWNvbixcbiAgICAgIHBhcmVudDogcmVsYXRpb24ucGFyZW50LFxuICAgICAgdHlwZTogJ3JlbGF0aW9uJyxcbiAgICAgIHRvb2x0aXA6IHJlbGF0aW9uLnRvb2x0aXAsXG4gICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgIHdzJC5uZXh0KHJlbGF0aW9uLnRpdGxlKTtcbiAgICAgIH0sXG4gICAgICBjZWxsQ2xhc3NGdW5jOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7IGNsYXNzX2ljb246IHRydWUgfTtcbiAgICAgIH1cbiAgICB9O1xuICB9KTtcblxuICBjb2x1bW5zLnB1c2goLi4ucmVsYXRpb25zQ29sdW1uKTtcbiAgY29sdW1ucy51bnNoaWZ0KC4uLmdlb1NlcnZpY2VBY3Rpb24pO1xuICB3b3Jrc3BhY2UubWV0YS50YWJsZVRlbXBsYXRlID0ge1xuICAgIHNlbGVjdGlvbjogdHJ1ZSxcbiAgICBzb3J0OiB0cnVlLFxuICAgIGNvbHVtbnMsXG4gICAgdGFibGVIZWlnaHQ6ICcxMDAlJ1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmlsdGVySW5NYXBFeHRlbnRPclJlc29sdXRpb25TdHJhdGVneSgpOiBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSB7XG4gIGNvbnN0IGZpbHRlckNsYXVzZUZ1bmMgPSAocmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICByZWNvcmQuc3RhdGUuaW5NYXBFeHRlbnQgPT09IHRydWUgJiYgcmVjb3JkLnN0YXRlLmluTWFwUmVzb2x1dGlvbiA9PT0gdHJ1ZVxuICAgICk7XG4gIH07XG4gIHJldHVybiBuZXcgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3koe1xuICAgIGZpbHRlckNsYXVzZUZ1bmNcbiAgfSBhcyBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMpO1xufVxuIl19
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93b3Jrc3BhY2UudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG1DQUFtQyxFQUluQyx5QkFBeUIsRUFFMUIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU0xQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVN0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl2RSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBTyxFQUFFLGNBQWM7SUFDeEQsT0FBTyxDQUNKLGNBQWMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLE9BQU8sRUFBRSxDQUFhO1FBQ3ZFLElBQUksQ0FDTCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWM7SUFDL0QsY0FBYyxDQUFDLEdBQUcsQ0FDaEIsNkJBQTZCLE9BQU8sRUFBRSxFQUN0QyxLQUFLLEVBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FDckIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQU8sRUFBRSxjQUFjO0lBQ3JELE9BQU8sQ0FDSixjQUFjLENBQUMsR0FBRyxDQUFDLDBCQUEwQixPQUFPLEVBQUUsQ0FBYTtRQUNwRSxLQUFLLENBQ04sQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYztJQUM1RCxjQUFjLENBQUMsR0FBRyxD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LEtBQUssSUFBSSxDQUMzRSxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBQ0YsT0FBTyxJQUFJLG1DQUFtQyxDQUFDO1FBQzdDLGdCQUFnQjtLQUNpQixDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eVJlY29yZCxcbiAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3ksXG4gIEVudGl0eVN0b3JlU3RyYXRlZ3lGdW5jT3B0aW9ucyxcbiAgRW50aXR5VGFibGVCdXR0b24sXG4gIEVudGl0eVRhYmxlQ29sdW1uLFxuICBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyLFxuICBFbnRpdHlUYWJsZVRlbXBsYXRlXG59IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSAnQGlnbzIvY29tbW9uL3dvcmtzcGFjZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2NvcGUgfSBmcm9tICdAaWdvMi9jb3JlL3N0b3JhZ2UnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNraXBXaGlsZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgUmVsYXRpb25PcHRpb25zLFxuICBTb3VyY2VGaWVsZHNPcHRpb25zUGFyYW1zXG59IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlLCBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZCc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBnZW5lcmF0ZUlkRnJvbVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi91dGlscy9pZC1nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZVdvcmtzcGFjZSB9IGZyb20gJy4vZmVhdHVyZS13b3Jrc3BhY2UnO1xuaW1wb3J0IHsgV2ZzV29ya3NwYWNlIH0gZnJvbSAnLi93ZnMtd29ya3NwYWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvd3NJbk1hcEV4dGVudChsYXllcklkLCBzdG9yYWdlU2VydmljZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIChzdG9yYWdlU2VydmljZS5nZXQoYHdvcmtzcGFjZS5yb3dzSW5NYXBFeHRlbnQuJHtsYXllcklkfWApIGFzIGJvb2xlYW4pIHx8XG4gICAgdHJ1ZVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0Um93c0luTWFwRXh0ZW50KHZhbHVlLCBsYXllcklkLCBzdG9yYWdlU2VydmljZSkge1xuICBzdG9yYWdlU2VydmljZS5zZXQoXG4gICAgYHdvcmtzcGFjZS5yb3dzSW5NYXBFeHRlbnQuJHtsYXllcklkfWAsXG4gICAgdmFsdWUsXG4gICAgU3RvcmFnZVNjb3BlLlNFU1NJT05cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdGVkT25seShsYXllcklkLCBzdG9yYWdlU2VydmljZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIChzdG9yYWdlU2VydmljZS5nZXQoYHdvcmtzcGFjZS5zZWxlY3RlZE9ubHkuJHtsYXllcklkfWApIGFzIGJvb2xlYW4pIHx8XG4gICAgZmFsc2VcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFNlbGVjdGVkT25seSh2YWx1ZSwgbGF5ZXJJZCwgc3RvcmFnZVNlcnZpY2UpIHtcbiAgc3RvcmFnZVNlcnZpY2Uuc2V0KFxuICAgIGB3b3Jrc3BhY2Uuc2VsZWN0ZWRPbmx5LiR7bGF5ZXJJZH1gLFxuICAgIHZhbHVlLFxuICAgIFN0b3JhZ2VTY29wZS5TRVNTSU9OXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBFeHRlbnRTdHJhdGVneUFjdGl2ZVRvb2xUaXAoXG4gIHdzOiBXb3Jrc3BhY2Vcbik6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gIHJldHVybiB3cy5lbnRpdHlTdG9yZVxuICAgIC5nZXRTdHJhdGVneU9mVHlwZShFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSlcbiAgICAuYWN0aXZlJC5waXBlKFxuICAgICAgbWFwKChhY3RpdmU6IGJvb2xlYW4pID0+XG4gICAgICAgIGFjdGl2ZVxuICAgICAgICAgID8gJ2lnby5nZW8ud29ya3NwYWNlLmluTWFwRXh0ZW50LmFjdGl2ZS50b29sdGlwJ1xuICAgICAgICAgIDogJ2lnby5nZW8ud29ya3NwYWNlLmluTWFwRXh0ZW50LmluYWN0aXZlLnRvb2x0aXAnXG4gICAgICApXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vRWxlbWVudFNlbGVjdGVkKHdzOiBXb3Jrc3BhY2UpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIHdzLmVudGl0eVN0b3JlLnN0YXRlVmlld1xuICAgIC5tYW55QnkkKChyZWNvcmQ6IEVudGl0eVJlY29yZDxGZWF0dXJlPikgPT4ge1xuICAgICAgcmV0dXJuIHJlY29yZC5zdGF0ZS5zZWxlY3RlZCA9PT0gdHJ1ZTtcbiAgICB9KVxuICAgIC5waXBlKG1hcCgoZW50aXRpZXM6IEVudGl0eVJlY29yZDxGZWF0dXJlPltdKSA9PiBlbnRpdGllcy5sZW5ndGggPj0gMSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkT3JSZW1vdmVMYXllcihcbiAgYWN0aW9uOiAnYWRkJyB8ICdyZW1vdmUnLFxuICBtYXA6IElnb01hcCxcbiAgdXJsOiBzdHJpbmcsXG4gIHR5cGU6IHN0cmluZyxcbiAgbGF5ZXJOYW1lOiBzdHJpbmcsXG4gIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlXG4pIHtcbiAgY29uc3Qgc28gPSBPYmplY3RVdGlscy5yZW1vdmVVbmRlZmluZWQoe1xuICAgIHNvdXJjZU9wdGlvbnM6IHtcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICB1cmwsXG4gICAgICBvcHRpb25zRnJvbUNhcGFiaWxpdGllczogdHJ1ZSxcbiAgICAgIG9wdGlvbnNGcm9tQXBpOiB0cnVlLFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIExBWUVSUzogdHlwZSA9PT0gJ3dtcycgPyBsYXllck5hbWUgOiB1bmRlZmluZWQsXG4gICAgICAgIExBWUVSOiB0eXBlID09PSAnd21zJyA/IHVuZGVmaW5lZCA6IGxheWVyTmFtZVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIGlmIChhY3Rpb24gPT09ICdhZGQnKSB7XG4gICAgbGF5ZXJTZXJ2aWNlLmNyZWF0ZUFzeW5jTGF5ZXIoc28pLnN1YnNjcmliZSgobGF5ZXIpID0+IHtcbiAgICAgIGlmICghbGF5ZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbWFwLmxheWVyc0FkZGVkQnlDbGljayQubmV4dChbbGF5ZXJdKTtcbiAgICAgIG1hcC5sYXllckNvbnRyb2xsZXIuYWRkKGxheWVyKTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdyZW1vdmUnKSB7XG4gICAgY29uc3QgYWRkZWRMYXllcklkID0gZ2VuZXJhdGVJZEZyb21Tb3VyY2VPcHRpb25zKHNvLnNvdXJjZU9wdGlvbnMpO1xuICAgIG1hcC5sYXllckNvbnRyb2xsZXIucmVtb3ZlKFxuICAgICAgbWFwLmxheWVyQ29udHJvbGxlci5hbGwuZmluZCgobCkgPT4gbC5pZCA9PT0gYWRkZWRMYXllcklkKVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdlb1NlcnZpY2VBY3Rpb24oXG4gIHdvcmtzcGFjZTogRmVhdHVyZVdvcmtzcGFjZSB8IFdmc1dvcmtzcGFjZSxcbiAgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2Vcbikge1xuICBjb25zdCBnZW9TZXJ2aWNlQWN0aW9uID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdnZW9TZXJ2aWNlQWN0aW9uJyxcbiAgICAgIHRpdGxlOiB1bmRlZmluZWQsXG4gICAgICB0b29sdGlwOiAnJyxcbiAgICAgIHJlbmRlcmVyOiBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyLkJ1dHRvbkdyb3VwLFxuICAgICAgdmFsdWVBY2Nlc3NvcjogKGVudGl0eTogRmVhdHVyZSwgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8RmVhdHVyZT4pID0+IHtcbiAgICAgICAgY29uc3QgZ2VvU2VydmljZVByb3BlcnRpZXMgPSByZWNvcmQuc3RhdGUuZ2VvU2VydmljZTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGdlb1NlcnZpY2VQcm9wZXJ0aWVzICYmXG4gICAgICAgICAgZ2VvU2VydmljZVByb3BlcnRpZXMuaGF2ZUdlb1NlcnZpY2VQcm9wZXJ0aWVzICYmXG4gICAgICAgICAgZ2VvU2VydmljZVByb3BlcnRpZXMudXJsICYmXG4gICAgICAgICAgZ2VvU2VydmljZVByb3BlcnRpZXMubGF5ZXJOYW1lXG4gICAgICAgICkge1xuICAgICAgICAgIGlmIChnZW9TZXJ2aWNlUHJvcGVydGllcy5hZGRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGljb246ICdkZWxldGUnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnd2FybicsXG4gICAgICAgICAgICAgICAgY2xpY2s6IChyb3csIHJlY29yZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgYWRkT3JSZW1vdmVMYXllcihcbiAgICAgICAgICAgICAgICAgICAgJ3JlbW92ZScsXG4gICAgICAgICAgICAgICAgICAgIHdvcmtzcGFjZS5tYXAsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdGF0ZS5nZW9TZXJ2aWNlLnVybCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0YXRlLmdlb1NlcnZpY2UudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0YXRlLmdlb1NlcnZpY2UubGF5ZXJOYW1lLFxuICAgICAgICAgICAgICAgICAgICBsYXllclNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBnZW9TZXJ2aWNlUHJvcGVydGllcy5hZGRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSBhcyBFbnRpdHlUYWJsZUJ1dHRvbltdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWNvbjogJ2FkZCcsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICBjbGljazogKHJvdywgcmVjb3JkKSA9PiB7XG4gICAgICAgICAgICAgICAgICBhZGRPclJlbW92ZUxheWVyKFxuICAgICAgICAgICAgICAgICAgICAnYWRkJyxcbiAgICAgICAgICAgICAgICAgICAgd29ya3NwYWNlLm1hcCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0YXRlLmdlb1NlcnZpY2UudXJsLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3RhdGUuZ2VvU2VydmljZS50eXBlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3RhdGUuZ2VvU2VydmljZS5sYXllck5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGxheWVyU2VydmljZVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGdlb1NlcnZpY2VQcm9wZXJ0aWVzLmFkZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0gYXMgRW50aXR5VGFibGVCdXR0b25bXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBdO1xuICByZXR1cm4gZ2VvU2VydmljZUFjdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRhYmxlVGVtcGxhdGUoXG4gIHdvcmtzcGFjZTogRmVhdHVyZVdvcmtzcGFjZSB8IFdmc1dvcmtzcGFjZSxcbiAgbGF5ZXI6IFZlY3RvckxheWVyLFxuICBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcbiAgd3MkXG4pIHtcbiAgY29uc3QgZ2VvU2VydmljZUFjdGlvbiA9IGdldEdlb1NlcnZpY2VBY3Rpb24od29ya3NwYWNlLCBsYXllclNlcnZpY2UpO1xuICBjb25zdCBmaWVsZHMgPSBsYXllci5kYXRhU291cmNlLm9wdGlvbnMuc291cmNlRmllbGRzIHx8IFtdO1xuXG4gIGNvbnN0IHJlbGF0aW9ucyA9IGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5yZWxhdGlvbnMgfHwgW107XG5cbiAgaWYgKGZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICB3b3Jrc3BhY2UuZW50aXR5U3RvcmUuZW50aXRpZXMkXG4gICAgICAucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKCh2YWwpID0+IHZhbC5sZW5ndGggPT09IDApLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChlbnRpdGllcykgPT4ge1xuICAgICAgICBjb25zdCBvbCA9IChlbnRpdGllc1swXSBhcyBGZWF0dXJlKS5vbCBhcyBvbEZlYXR1cmU8T2xHZW9tZXRyeT47XG4gICAgICAgIGNvbnN0IGNvbHVtbnNGcm9tRmVhdHVyZXMgPSBvbFxuICAgICAgICAgIC5nZXRLZXlzKClcbiAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgKGNvbCkgPT5cbiAgICAgICAgICAgICAgIWNvbC5zdGFydHNXaXRoKCdfJykgJiZcbiAgICAgICAgICAgICAgY29sICE9PSAnZ2VvbWV0cnknICYmXG4gICAgICAgICAgICAgIGNvbCAhPT0gb2wuZ2V0R2VvbWV0cnlOYW1lKCkgJiZcbiAgICAgICAgICAgICAgIWNvbC5tYXRjaCgvYm91bmRlZGJ5L2dpKVxuICAgICAgICAgIClcbiAgICAgICAgICAubWFwKChrZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIG5hbWU6IGBwcm9wZXJ0aWVzLiR7a2V5fWAsXG4gICAgICAgICAgICAgIHRpdGxlOiBrZXksXG4gICAgICAgICAgICAgIHJlbmRlcmVyOiBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyLlVuc2FuaXRpemVkSFRNTFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgY29sdW1uc0Zyb21GZWF0dXJlcy51bnNoaWZ0KC4uLmdlb1NlcnZpY2VBY3Rpb24pO1xuICAgICAgICB3b3Jrc3BhY2UubWV0YS50YWJsZVRlbXBsYXRlID0ge1xuICAgICAgICAgIHNlbGVjdGlvbjogdHJ1ZSxcbiAgICAgICAgICBzb3J0OiB0cnVlLFxuICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnNGcm9tRmVhdHVyZXMsXG4gICAgICAgICAgdGFibGVIZWlnaHQ6ICcxMDAlJ1xuICAgICAgICB9IGFzIEVudGl0eVRhYmxlVGVtcGxhdGU7XG4gICAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgY29sdW1ucyA9IGZpZWxkcy5tYXAoKGZpZWxkOiBTb3VyY2VGaWVsZHNPcHRpb25zUGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGBwcm9wZXJ0aWVzLiR7ZmllbGQubmFtZX1gLFxuICAgICAgdGl0bGU6IGZpZWxkLmFsaWFzID8gZmllbGQuYWxpYXMgOiBmaWVsZC5uYW1lLFxuICAgICAgcmVuZGVyZXI6IEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIuVW5zYW5pdGl6ZWRIVE1MLFxuICAgICAgdG9vbHRpcDogZmllbGQudG9vbHRpcCxcbiAgICAgIGNlbGxDbGFzc0Z1bmM6ICgpID0+IHtcbiAgICAgICAgY29uc3QgY2VsbENsYXNzID0ge307XG4gICAgICAgIGlmIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2VsbENsYXNzW2BjbGFzc18ke2ZpZWxkLnR5cGV9YF0gPSB0cnVlO1xuICAgICAgICAgIHJldHVybiBjZWxsQ2xhc3M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGFzIEVudGl0eVRhYmxlQ29sdW1uO1xuICB9KTtcblxuICBjb25zdCByZWxhdGlvbnNDb2x1bW4gPSByZWxhdGlvbnMubWFwKChyZWxhdGlvbjogUmVsYXRpb25PcHRpb25zKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGBwcm9wZXJ0aWVzLiR7cmVsYXRpb24ubmFtZX1gLFxuICAgICAgdGl0bGU6IHJlbGF0aW9uLmFsaWFzID8gcmVsYXRpb24uYWxpYXMgOiByZWxhdGlvbi5uYW1lLFxuICAgICAgcmVuZGVyZXI6IEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIuSWNvbixcbiAgICAgIGljb246IHJlbGF0aW9uLmljb24sXG4gICAgICBwYXJlbnQ6IHJlbGF0aW9uLnBhcmVudCxcbiAgICAgIHR5cGU6ICdyZWxhdGlvbicsXG4gICAgICB0b29sdGlwOiByZWxhdGlvbi50b29sdGlwLFxuICAgICAgb25DbGljazogKCkgPT4ge1xuICAgICAgICB3cyQubmV4dChyZWxhdGlvbi50aXRsZSk7XG4gICAgICB9LFxuICAgICAgY2VsbENsYXNzRnVuYzogKCkgPT4ge1xuICAgICAgICByZXR1cm4geyBjbGFzc19pY29uOiB0cnVlIH07XG4gICAgICB9XG4gICAgfTtcbiAgfSk7XG5cbiAgY29sdW1ucy5wdXNoKC4uLnJlbGF0aW9uc0NvbHVtbik7XG4gIGNvbHVtbnMudW5zaGlmdCguLi5nZW9TZXJ2aWNlQWN0aW9uKTtcbiAgd29ya3NwYWNlLm1ldGEudGFibGVUZW1wbGF0ZSA9IHtcbiAgICBzZWxlY3Rpb246IHRydWUsXG4gICAgc29ydDogdHJ1ZSxcbiAgICBjb2x1bW5zLFxuICAgIHRhYmxlSGVpZ2h0OiAnMTAwJSdcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZpbHRlckluTWFwRXh0ZW50T3JSZXNvbHV0aW9uU3RyYXRlZ3koKTogRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3kge1xuICBjb25zdCBmaWx0ZXJDbGF1c2VGdW5jID0gKHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcmVjb3JkLnN0YXRlLmluTWFwRXh0ZW50ID09PSB0cnVlICYmIHJlY29yZC5zdGF0ZS5pbk1hcFJlc29sdXRpb24gPT09IHRydWVcbiAgICApO1xuICB9O1xuICByZXR1cm4gbmV3IEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KHtcbiAgICBmaWx0ZXJDbGF1c2VGdW5jXG4gIH0gYXMgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zKTtcbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { OgcFilterableItemComponent } from '../../../filter/ogc-filterable-item/ogc-filterable-item.component';
3
- import { Layer } from '../../../layer/shared/layers/layer';
3
+ import { Layer } from '../../../layer';
4
4
  import { IgoMap } from '../../../map/shared/map';
5
5
  import * as i0 from "@angular/core";
6
6
  export class OgcFilterComponent {
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
45
45
  }], cancel: [{
46
46
  type: Output
47
47
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi93b3Jrc3BhY2Uvd2lkZ2V0cy9vZ2MtZmlsdGVyL29nYy1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3dpZGdldHMvb2djLWZpbHRlci9vZ2MtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVVqRCxNQUFNLE9BQU8sa0JBQWtCO0lBZVQ7SUFkWCxLQUFLLENBQVE7SUFFYixHQUFHLENBQVM7SUFFckI7O09BRUc7SUFDTyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUU5Qzs7T0FFRztJQUNPLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTVDLFlBQW9CLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO0lBQUcsQ0FBQztJQUVoRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7d0dBN0JVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHVLQ3hCL0Isc0lBT0EsMEREZVksMEJBQTBCOzs0RkFFekIsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLDBCQUEwQixDQUFDO3NGQUc1QixLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUtJLFFBQVE7c0JBQWpCLE1BQU07Z0JBS0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT25VcGRhdGVJbnB1dHMgfSBmcm9tICdAaWdvMi9jb21tb24vZHluYW1pYy1jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uL3dpZGdldCc7XG5cbmltcG9ydCB7IE9nY0ZpbHRlcmFibGVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL29nYy1maWx0ZXJhYmxlLWl0ZW0vb2djLWZpbHRlcmFibGUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uLy4uL21hcC9zaGFyZWQvbWFwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLW9nYy1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vb2djLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29nYy1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtPZ2NGaWx0ZXJhYmxlSXRlbUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgT2djRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25VcGRhdGVJbnB1dHMsIFdpZGdldENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxheWVyOiBMYXllcjtcblxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCBvbiBjb21wbGV0ZVxuICAgKi9cbiAgQE91dHB1dCgpIGNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIG9uIGNhbmNlbFxuICAgKi9cbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBPblVwZGF0ZUlucHV0c1xuICAgKi9cbiAgb25VcGRhdGVJbnB1dHMoKSB7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogT24gY2xvc2UsIGVtaXQgdGhlIGNhbmNlbCBldmVudFxuICAgKi9cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxpZ28tb2djLWZpbHRlcmFibGUtaXRlbVxuICBpZ29MaXN0SXRlbVxuICBbbGF5ZXJdPVwibGF5ZXJcIlxuICBbaGVhZGVyXT1cImZhbHNlXCJcbiAgW21hcF09XCJtYXBcIlxuPlxuPC9pZ28tb2djLWZpbHRlcmFibGUtaXRlbT5cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi93b3Jrc3BhY2Uvd2lkZ2V0cy9vZ2MtZmlsdGVyL29nYy1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3dpZGdldHMvb2djLWZpbHRlci9vZ2MtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVVqRCxNQUFNLE9BQU8sa0JBQWtCO0lBZVQ7SUFkWCxLQUFLLENBQVE7SUFFYixHQUFHLENBQVM7SUFFckI7O09BRUc7SUFDTyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUU5Qzs7T0FFRztJQUNPLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTVDLFlBQW9CLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO0lBQUcsQ0FBQztJQUVoRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7d0dBN0JVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHVLQ3hCL0Isc0lBT0EsMEREZVksMEJBQTBCOzs0RkFFekIsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLDBCQUEwQixDQUFDO3NGQUc1QixLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUtJLFFBQVE7c0JBQWpCLE1BQU07Z0JBS0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT25VcGRhdGVJbnB1dHMgfSBmcm9tICdAaWdvMi9jb21tb24vZHluYW1pYy1jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uL3dpZGdldCc7XG5cbmltcG9ydCB7IE9nY0ZpbHRlcmFibGVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL29nYy1maWx0ZXJhYmxlLWl0ZW0vb2djLWZpbHRlcmFibGUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi8uLi9sYXllcic7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1vZ2MtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29nYy1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vZ2MtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbT2djRmlsdGVyYWJsZUl0ZW1Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE9nY0ZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uVXBkYXRlSW5wdXRzLCBXaWRnZXRDb21wb25lbnQge1xuICBASW5wdXQoKSBsYXllcjogTGF5ZXI7XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgb24gY29tcGxldGVcbiAgICovXG4gIEBPdXRwdXQoKSBjb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCBvbiBjYW5jZWxcbiAgICovXG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgT25VcGRhdGVJbnB1dHNcbiAgICovXG4gIG9uVXBkYXRlSW5wdXRzKCkge1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIGNsb3NlLCBlbWl0IHRoZSBjYW5jZWwgZXZlbnRcbiAgICovXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICB9XG59XG4iLCI8aWdvLW9nYy1maWx0ZXJhYmxlLWl0ZW1cbiAgaWdvTGlzdEl0ZW1cbiAgW2xheWVyXT1cImxheWVyXCJcbiAgW2hlYWRlcl09XCJmYWxzZVwiXG4gIFttYXBdPVwibWFwXCJcbj5cbjwvaWdvLW9nYy1maWx0ZXJhYmxlLWl0ZW0+XG4iXX0=
@@ -3,6 +3,7 @@ import { WorkspaceSelectorComponent } from '@igo2/common/workspace';
3
3
  import { debounceTime } from 'rxjs/operators';
4
4
  import { FeatureDataSource, WFSDataSource, WMSDataSource } from '../../datasource/shared/datasources';
5
5
  import { FeatureStoreInMapExtentStrategy } from '../../feature/shared/strategies/in-map-extent';
6
+ import { isLayerGroup } from '../../layer';
6
7
  import { IgoMap } from '../../map/shared/map';
7
8
  import { EditionWorkspaceService } from '../shared/edition-workspace.service';
8
9
  import { FeatureWorkspaceService } from '../shared/feature-workspace.service';
@@ -38,7 +39,7 @@ export class WorkspaceSelectorDirective {
38
39
  this.featureWorkspaceService = featureWorkspaceService;
39
40
  }
40
41
  ngOnInit() {
41
- this.layers$$ = this.map.layers$
42
+ this.layers$$ = this.map.layerController.all$
42
43
  .pipe(debounceTime(50))
43
44
  .subscribe((layers) => this.onLayersChange(layers));
44
45
  this.featureWorkspaceService.ws$.subscribe((ws) => {
@@ -130,6 +131,9 @@ export class WorkspaceSelectorDirective {
130
131
  return;
131
132
  }
132
133
  layerIsEditable(layer) {
134
+ if (isLayerGroup(layer)) {
135
+ return false;
136
+ }
133
137
  const dataSource = layer.dataSource;
134
138
  if (dataSource instanceof WFSDataSource) {
135
139
  return true;
@@ -165,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
165
169
  }], rowsInMapExtentCheckCondition: [{
166
170
  type: Output
167
171
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLXNlbGVjdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3dvcmtzcGFjZS93b3Jrc3BhY2Utc2VsZWN0b3Ivd29ya3NwYWNlLXNlbGVjdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFFTCwwQkFBMEIsRUFFM0IsTUFBTSx3QkFBd0IsQ0FBQztBQUdoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsYUFBYSxFQUNkLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFHaEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBTXRFLE1BQU0sT0FBTywwQkFBMEI7SUFnQjNCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFuQkYsUUFBUSxDQUFlO0lBQ3ZCLFVBQVUsR0FBbUIsRUFBRSxDQUFDO0lBRS9CLEdBQUcsQ0FBUztJQUVYLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQzdDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBQzVDLGNBQWMsR0FB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Q0FBQyxVQUFVLEVBQUUsT0FBTztnQkFDckMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsWUFBWSxLQUFLLFNBQVMsQ0FDekQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBMUtVLDBCQUEwQjs0RkFBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrT0FLVSxHQUFHO3NCQUFYLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csNkJBQTZCO3NCQUF0QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBXb3Jrc3BhY2UsXG4gIFdvcmtzcGFjZVNlbGVjdG9yQ29tcG9uZW50LFxuICBXb3Jrc3BhY2VTdG9yZVxufSBmcm9tICdAaWdvMi9jb21tb24vd29ya3NwYWNlJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIEZlYXR1cmVEYXRhU291cmNlLFxuICBXRlNEYXRhU291cmNlLFxuICBXTVNEYXRhU291cmNlXG59IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcbmltcG9ydCB7IEZlYXR1cmVTdG9yZUluTWFwRXh0ZW50U3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzL2luLW1hcC1leHRlbnQnO1xuaW1wb3J0IHsgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZCc7XG5pbXBvcnQgeyBJbWFnZUxheWVyLCBMYXllciwgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9xdWVyeS9zaGFyZWQvcXVlcnkuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFZGl0aW9uV29ya3NwYWNlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lZGl0aW9uLXdvcmtzcGFjZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVXb3Jrc3BhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2ZlYXR1cmUtd29ya3NwYWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ZzV29ya3NwYWNlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC93ZnMtd29ya3NwYWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgV21zV29ya3NwYWNlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC93bXMtd29ya3NwYWNlLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaWdvV29ya3NwYWNlU2VsZWN0b3JdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VTZWxlY3RvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBsYXllcnMkJDogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGVudGl0aWVzJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgQE91dHB1dCgpIGNoYW5nZVdvcmtzcGFjZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgZGlzYWJsZVN3aXRjaCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHJlbGF0aW9uTGF5ZXJzID0gbmV3IEV2ZW50RW1pdHRlcjxJbWFnZUxheWVyW10gfCBWZWN0b3JMYXllcltdPigpO1xuICBAT3V0cHV0KCkgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgZ2V0IHdvcmtzcGFjZVN0b3JlKCk6IFdvcmtzcGFjZVN0b3JlIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQuc3RvcmU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbXBvbmVudDogV29ya3NwYWNlU2VsZWN0b3JDb21wb25lbnQsXG4gICAgcHJpdmF0ZSB3ZnNXb3Jrc3BhY2VTZXJ2aWNlOiBXZnNXb3Jrc3BhY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgd21zV29ya3NwYWNlU2VydmljZTogV21zV29ya3NwYWNlU2VydmljZSxcbiAgICBwcml2YXRlIGVkaXRpb25Xb3Jrc3BhY2VTZXJ2aWNlOiBFZGl0aW9uV29ya3NwYWNlU2VydmljZSxcbiAgICBwcml2YXRlIGZlYXR1cmVXb3Jrc3BhY2VTZXJ2aWNlOiBGZWF0dXJlV29ya3NwYWNlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sYXllcnMkJCA9IHRoaXMubWFwLmxheWVycyRcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MCkpXG4gICAgICAuc3Vic2NyaWJlKChsYXllcnM6IExheWVyW10pID0+IHRoaXMub25MYXllcnNDaGFuZ2UobGF5ZXJzKSk7XG5cbiAgICB0aGlzLmZlYXR1cmVXb3Jrc3BhY2VTZXJ2aWNlLndzJC5zdWJzY3JpYmUoKHdzKSA9PiB7XG4gICAgICB0aGlzLmNoYW5nZVdvcmtzcGFjZS5lbWl0KHdzKTtcbiAgICB9KTtcbiAgICB0aGlzLndtc1dvcmtzcGFjZVNlcnZpY2Uud3MkLnN1YnNjcmliZSgod3MpID0+IHtcbiAgICAgIHRoaXMuY2hhbmdlV29ya3NwYWNlLmVtaXQod3MpO1xuICAgIH0pO1xuICAgIHRoaXMud2ZzV29ya3NwYWNlU2VydmljZS53cyQuc3Vic2NyaWJlKCh3cykgPT4ge1xuICAgICAgdGhpcy5jaGFuZ2VXb3Jrc3BhY2UuZW1pdCh3cyk7XG4gICAgfSk7XG4gICAgdGhpcy5lZGl0aW9uV29ya3NwYWNlU2VydmljZS53cyQuc3Vic2NyaWJlKCh3cykgPT4ge1xuICAgICAgdGhpcy5jaGFuZ2VXb3Jrc3BhY2UuZW1pdCh3cyk7XG4gICAgfSk7XG4gICAgdGhpcy5lZGl0aW9uV29ya3NwYWNlU2VydmljZS5hZGRpbmckLnN1YnNjcmliZSgoYWRkaW5nKSA9PiB7XG4gICAgICB0aGlzLmRpc2FibGVTd2l0Y2guZW1pdChhZGRpbmcpO1xuICAgIH0pO1xuICAgIHRoaXMuZWRpdGlvbldvcmtzcGFjZVNlcnZpY2UucmVsYXRpb25MYXllcnMkLnN1YnNjcmliZSgobGF5ZXJzKSA9PiB7XG4gICAgICB0aGlzLnJlbGF0aW9uTGF5ZXJzLmVtaXQobGF5ZXJzKTtcbiAgICB9KTtcbiAgICB0aGlzLmVkaXRpb25Xb3Jrc3BhY2VTZXJ2aWNlLnJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJC5zdWJzY3JpYmUoXG4gICAgICAoY29uZGl0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMucm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24uZW1pdChjb25kaXRpb24pO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5lbnRpdGllcyQkLm1hcCgoZW50aXRpZXMpID0+IGVudGl0aWVzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkxheWVyc0NoYW5nZShsYXllcnM6IExheWVyW10pIHtcbiAgICBjb25zdCBlZGl0YWJsZUxheWVycyA9IGxheWVycy5maWx0ZXIoKGxheWVyOiBMYXllcikgPT5cbiAgICAgIHRoaXMubGF5ZXJJc0VkaXRhYmxlKGxheWVyKVxuICAgICk7XG4gICAgY29uc3QgZWRpdGFibGVMYXllcnNJZHMgPSBlZGl0YWJsZUxheWVycy5tYXAoKGxheWVyOiBMYXllcikgPT4gbGF5ZXIuaWQpO1xuXG4gICAgY29uc3Qgd29ya3NwYWNlc1RvQWRkID0gZWRpdGFibGVMYXllcnNcbiAgICAgIC5tYXAoKGxheWVyOiBWZWN0b3JMYXllcikgPT4gdGhpcy5nZXRPckNyZWF0ZVdvcmtzcGFjZShsYXllcikpXG4gICAgICAuZmlsdGVyKCh3b3Jrc3BhY2U6IFdvcmtzcGFjZSB8IHVuZGVmaW5lZCkgPT4gd29ya3NwYWNlICE9PSB1bmRlZmluZWQpO1xuXG4gICAgY29uc3Qgd29ya3NwYWNlc1RvUmVtb3ZlID0gdGhpcy53b3Jrc3BhY2VTdG9yZVxuICAgICAgLmFsbCgpXG4gICAgICAuZmlsdGVyKCh3b3Jrc3BhY2U6IFdvcmtzcGFjZSkgPT4ge1xuICAgICAgICByZXR1cm4gZWRpdGFibGVMYXllcnNJZHMuaW5kZXhPZih3b3Jrc3BhY2UuaWQpIDwgMDtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHdvcmtzcGFjZXNUb1JlbW92ZS5sZW5ndGggPiAwKSB7XG4gICAgICB3b3Jrc3BhY2VzVG9SZW1vdmUuZm9yRWFjaCgod29ya3NwYWNlOiBXb3Jrc3BhY2UpID0+IHtcbiAgICAgICAgd29ya3NwYWNlLmVudGl0eVN0b3JlLmRlYWN0aXZhdGVTdHJhdGVneU9mVHlwZShcbiAgICAgICAgICBGZWF0dXJlU3RvcmVJbk1hcEV4dGVudFN0cmF0ZWd5XG4gICAgICAgICk7XG4gICAgICAgIHdvcmtzcGFjZS5kZWFjdGl2YXRlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMud29ya3NwYWNlU3RvcmUuc3RhdGUudXBkYXRlTWFueSh3b3Jrc3BhY2VzVG9SZW1vdmUsIHtcbiAgICAgICAgYWN0aXZlOiBmYWxzZSxcbiAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIHRoaXMud29ya3NwYWNlU3RvcmUuZGVsZXRlTWFueSh3b3Jrc3BhY2VzVG9SZW1vdmUpO1xuICAgIH1cblxuICAgIGlmICh3b3Jrc3BhY2VzVG9BZGQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy53b3Jrc3BhY2VTdG9yZS5pbnNlcnRNYW55KHdvcmtzcGFjZXNUb0FkZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRPckNyZWF0ZVdvcmtzcGFjZShcbiAgICBsYXllcjogVmVjdG9yTGF5ZXIgfCBJbWFnZUxheWVyXG4gICk6IFdvcmtzcGFjZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgd29ya3NwYWNlID0gdGhpcy53b3Jrc3BhY2VTdG9yZS5nZXQobGF5ZXIuaWQpO1xuICAgIGlmICh3b3Jrc3BhY2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBsYXllci5kYXRhU291cmNlIGluc3RhbmNlb2YgV0ZTRGF0YVNvdXJjZSAmJlxuICAgICAgbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLmVkaXRpb24/LmVuYWJsZWQgIT09IHRydWVcbiAgICApIHtcbiAgICAgIGNvbnN0IHdmc1drcyA9IHRoaXMud2ZzV29ya3NwYWNlU2VydmljZS5jcmVhdGVXb3Jrc3BhY2UoXG4gICAgICAgIGxheWVyIGFzIFZlY3RvckxheWVyLFxuICAgICAgICB0aGlzLm1hcFxuICAgICAgKTtcbiAgICAgIHJldHVybiB3ZnNXa3M7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxheWVyLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBXTVNEYXRhU291cmNlICYmXG4gICAgICBsYXllci5kYXRhU291cmNlLm9wdGlvbnMuZWRpdGlvbj8uZW5hYmxlZCAhPT0gdHJ1ZVxuICAgICkge1xuICAgICAgaWYgKCFsYXllci5kYXRhU291cmNlLm9wdGlvbnMucGFyYW1zV0ZTKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHdtc1drcyA9IHRoaXMud21zV29ya3NwYWNlU2VydmljZS5jcmVhdGVXb3Jrc3BhY2UoXG4gICAgICAgIGxheWVyIGFzIEltYWdlTGF5ZXIsXG4gICAgICAgIHRoaXMubWFwXG4gICAgICApO1xuICAgICAgd21zV2tzPy5pblJlc29sdXRpb25SYW5nZSQuc3Vic2NyaWJlKChpblJlc29sdXRpb25SYW5nZSkgPT4ge1xuICAgICAgICAobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKS5xdWVyeWFibGUgPVxuICAgICAgICAgICFpblJlc29sdXRpb25SYW5nZTtcbiAgICAgICAgKFxuICAgICAgICAgIHdtc1drcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnNcbiAgICAgICAgKS5xdWVyeWFibGUgPSBpblJlc29sdXRpb25SYW5nZTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHdtc1drcztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGF5ZXIuZGF0YVNvdXJjZSBpbnN0YW5jZW9mIEZlYXR1cmVEYXRhU291cmNlICYmXG4gICAgICAobGF5ZXIgYXMgVmVjdG9yTGF5ZXIpLmV4cG9ydGFibGUgPT09IHRydWUgJiZcbiAgICAgIGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5lZGl0aW9uPy5lbmFibGVkICE9PSB0cnVlXG4gICAgKSB7XG4gICAgICBjb25zdCBmZWF0dXJlV2tzID0gdGhpcy5mZWF0dXJlV29ya3NwYWNlU2VydmljZS5jcmVhdGVXb3Jrc3BhY2UoXG4gICAgICAgIGxheWVyIGFzIFZlY3RvckxheWVyLFxuICAgICAgICB0aGlzLm1hcFxuICAgICAgKTtcbiAgICAgIHJldHVybiBmZWF0dXJlV2tzO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsYXllci5kYXRhU291cmNlIGluc3RhbmNlb2YgV01TRGF0YVNvdXJjZSAmJlxuICAgICAgbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLmVkaXRpb24/LmVuYWJsZWQgPT09IHRydWVcbiAgICApIHtcbiAgICAgIGNvbnN0IGVkaXRpb25Xa3MgPSB0aGlzLmVkaXRpb25Xb3Jrc3BhY2VTZXJ2aWNlLmNyZWF0ZVdvcmtzcGFjZShcbiAgICAgICAgbGF5ZXIgYXMgSW1hZ2VMYXllcixcbiAgICAgICAgdGhpcy5tYXBcbiAgICAgICk7XG4gICAgICByZXR1cm4gZWRpdGlvbldrcztcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBwcml2YXRlIGxheWVySXNFZGl0YWJsZShsYXllcjogTGF5ZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCBkYXRhU291cmNlID0gbGF5ZXIuZGF0YVNvdXJjZTtcbiAgICBpZiAoZGF0YVNvdXJjZSBpbnN0YW5jZW9mIFdGU0RhdGFTb3VyY2UpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoZGF0YVNvdXJjZSBpbnN0YW5jZW9mIEZlYXR1cmVEYXRhU291cmNlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGRhdGFTb3VyY2UgaW5zdGFuY2VvZiBXTVNEYXRhU291cmNlKSB7XG4gICAgICBjb25zdCBkYXRhU291cmNlT3B0aW9ucyA9IChkYXRhU291cmNlLm9wdGlvbnMgfHxcbiAgICAgICAge30pIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGRhdGFTb3VyY2VPcHRpb25zLm9nY0ZpbHRlcnM/LmVuYWJsZWQgfHxcbiAgICAgICAgZGF0YVNvdXJjZS5vcHRpb25zLnBhcmFtc1dGUz8uZmVhdHVyZVR5cGVzICE9PSB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLXNlbGVjdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3dvcmtzcGFjZS93b3Jrc3BhY2Utc2VsZWN0b3Ivd29ya3NwYWNlLXNlbGVjdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFFTCwwQkFBMEIsRUFFM0IsTUFBTSx3QkFBd0IsQ0FBQztBQUdoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsYUFBYSxFQUNkLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7QUFNdEUsTUFBTSxPQUFPLDBCQUEwQjtJQWdCM0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQW5CRixRQUFRLENBQWU7SUFDdkIsVUFBVSxHQUFtQixFQUFFLENBQUM7SUFFL0IsR0FBRyxDQUFTO0lBRVgsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDN0MsYUFB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QUNELElBQUksVUFBVSxZQUFZLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTztnQkFDM0MsRUFBRSxDQUFtQyxDQUFDO1lBQ3hDLE9BQU8sQ0FDTCxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsT0FBTztnQkFDckMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsWUFBWSxLQUFLLFNBQVMsQ0FDekQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBN0tVLDBCQUEwQjs0RkFBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsrT0FLVSxHQUFHO3NCQUFYLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csNkJBQTZCO3NCQUF0QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBXb3Jrc3BhY2UsXG4gIFdvcmtzcGFjZVNlbGVjdG9yQ29tcG9uZW50LFxuICBXb3Jrc3BhY2VTdG9yZVxufSBmcm9tICdAaWdvMi9jb21tb24vd29ya3NwYWNlJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIEZlYXR1cmVEYXRhU291cmNlLFxuICBXRlNEYXRhU291cmNlLFxuICBXTVNEYXRhU291cmNlXG59IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzJztcbmltcG9ydCB7IEZlYXR1cmVTdG9yZUluTWFwRXh0ZW50U3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzL2luLW1hcC1leHRlbnQnO1xuaW1wb3J0IHsgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZCc7XG5pbXBvcnQgeyBpc0xheWVyR3JvdXAgfSBmcm9tICcuLi8uLi9sYXllcic7XG5pbXBvcnQgeyBBbnlMYXllciwgSW1hZ2VMYXllciwgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9xdWVyeS9zaGFyZWQvcXVlcnkuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFZGl0aW9uV29ya3NwYWNlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lZGl0aW9uLXdvcmtzcGFjZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVXb3Jrc3BhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2ZlYXR1cmUtd29ya3NwYWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ZzV29ya3NwYWNlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC93ZnMtd29ya3NwYWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgV21zV29ya3NwYWNlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC93bXMtd29ya3NwYWNlLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaWdvV29ya3NwYWNlU2VsZWN0b3JdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VTZWxlY3RvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBsYXllcnMkJDogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGVudGl0aWVzJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgQE91dHB1dCgpIGNoYW5nZVdvcmtzcGFjZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgZGlzYWJsZVN3aXRjaCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHJlbGF0aW9uTGF5ZXJzID0gbmV3IEV2ZW50RW1pdHRlcjxJbWFnZUxheWVyW10gfCBWZWN0b3JMYXllcltdPigpO1xuICBAT3V0cHV0KCkgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgZ2V0IHdvcmtzcGFjZVN0b3JlKCk6IFdvcmtzcGFjZVN0b3JlIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQuc3RvcmU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbXBvbmVudDogV29ya3NwYWNlU2VsZWN0b3JDb21wb25lbnQsXG4gICAgcHJpdmF0ZSB3ZnNXb3Jrc3BhY2VTZXJ2aWNlOiBXZnNXb3Jrc3BhY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgd21zV29ya3NwYWNlU2VydmljZTogV21zV29ya3NwYWNlU2VydmljZSxcbiAgICBwcml2YXRlIGVkaXRpb25Xb3Jrc3BhY2VTZXJ2aWNlOiBFZGl0aW9uV29ya3NwYWNlU2VydmljZSxcbiAgICBwcml2YXRlIGZlYXR1cmVXb3Jrc3BhY2VTZXJ2aWNlOiBGZWF0dXJlV29ya3NwYWNlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sYXllcnMkJCA9IHRoaXMubWFwLmxheWVyQ29udHJvbGxlci5hbGwkXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTApKVxuICAgICAgLnN1YnNjcmliZSgobGF5ZXJzKSA9PiB0aGlzLm9uTGF5ZXJzQ2hhbmdlKGxheWVycykpO1xuXG4gICAgdGhpcy5mZWF0dXJlV29ya3NwYWNlU2VydmljZS53cyQuc3Vic2NyaWJlKCh3cykgPT4ge1xuICAgICAgdGhpcy5jaGFuZ2VXb3Jrc3BhY2UuZW1pdCh3cyk7XG4gICAgfSk7XG4gICAgdGhpcy53bXNXb3Jrc3BhY2VTZXJ2aWNlLndzJC5zdWJzY3JpYmUoKHdzKSA9PiB7XG4gICAgICB0aGlzLmNoYW5nZVdvcmtzcGFjZS5lbWl0KHdzKTtcbiAgICB9KTtcbiAgICB0aGlzLndmc1dvcmtzcGFjZVNlcnZpY2Uud3MkLnN1YnNjcmliZSgod3MpID0+IHtcbiAgICAgIHRoaXMuY2hhbmdlV29ya3NwYWNlLmVtaXQod3MpO1xuICAgIH0pO1xuICAgIHRoaXMuZWRpdGlvbldvcmtzcGFjZVNlcnZpY2Uud3MkLnN1YnNjcmliZSgod3MpID0+IHtcbiAgICAgIHRoaXMuY2hhbmdlV29ya3NwYWNlLmVtaXQod3MpO1xuICAgIH0pO1xuICAgIHRoaXMuZWRpdGlvbldvcmtzcGFjZVNlcnZpY2UuYWRkaW5nJC5zdWJzY3JpYmUoKGFkZGluZykgPT4ge1xuICAgICAgdGhpcy5kaXNhYmxlU3dpdGNoLmVtaXQoYWRkaW5nKTtcbiAgICB9KTtcbiAgICB0aGlzLmVkaXRpb25Xb3Jrc3BhY2VTZXJ2aWNlLnJlbGF0aW9uTGF5ZXJzJC5zdWJzY3JpYmUoKGxheWVycykgPT4ge1xuICAgICAgdGhpcy5yZWxhdGlvbkxheWVycy5lbWl0KGxheWVycyk7XG4gICAgfSk7XG4gICAgdGhpcy5lZGl0aW9uV29ya3NwYWNlU2VydmljZS5yb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQuc3Vic2NyaWJlKFxuICAgICAgKGNvbmRpdGlvbikgPT4ge1xuICAgICAgICB0aGlzLnJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uLmVtaXQoY29uZGl0aW9uKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5sYXllcnMkJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZW50aXRpZXMkJC5tYXAoKGVudGl0aWVzKSA9PiBlbnRpdGllcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgb25MYXllcnNDaGFuZ2UobGF5ZXJzOiBBbnlMYXllcltdKSB7XG4gICAgY29uc3QgZWRpdGFibGVMYXllcnMgPSBsYXllcnMuZmlsdGVyKChsYXllcikgPT5cbiAgICAgIHRoaXMubGF5ZXJJc0VkaXRhYmxlKGxheWVyKVxuICAgICk7XG4gICAgY29uc3QgZWRpdGFibGVMYXllcnNJZHMgPSBlZGl0YWJsZUxheWVycy5tYXAoKGxheWVyKSA9PiBsYXllci5pZCk7XG5cbiAgICBjb25zdCB3b3Jrc3BhY2VzVG9BZGQgPSBlZGl0YWJsZUxheWVyc1xuICAgICAgLm1hcCgobGF5ZXI6IFZlY3RvckxheWVyKSA9PiB0aGlzLmdldE9yQ3JlYXRlV29ya3NwYWNlKGxheWVyKSlcbiAgICAgIC5maWx0ZXIoKHdvcmtzcGFjZTogV29ya3NwYWNlIHwgdW5kZWZpbmVkKSA9PiB3b3Jrc3BhY2UgIT09IHVuZGVmaW5lZCk7XG5cbiAgICBjb25zdCB3b3Jrc3BhY2VzVG9SZW1vdmUgPSB0aGlzLndvcmtzcGFjZVN0b3JlXG4gICAgICAuYWxsKClcbiAgICAgIC5maWx0ZXIoKHdvcmtzcGFjZTogV29ya3NwYWNlKSA9PiB7XG4gICAgICAgIHJldHVybiBlZGl0YWJsZUxheWVyc0lkcy5pbmRleE9mKHdvcmtzcGFjZS5pZCkgPCAwO1xuICAgICAgfSk7XG5cbiAgICBpZiAod29ya3NwYWNlc1RvUmVtb3ZlLmxlbmd0aCA+IDApIHtcbiAgICAgIHdvcmtzcGFjZXNUb1JlbW92ZS5mb3JFYWNoKCh3b3Jrc3BhY2U6IFdvcmtzcGFjZSkgPT4ge1xuICAgICAgICB3b3Jrc3BhY2UuZW50aXR5U3RvcmUuZGVhY3RpdmF0ZVN0cmF0ZWd5T2ZUeXBlKFxuICAgICAgICAgIEZlYXR1cmVTdG9yZUluTWFwRXh0ZW50U3RyYXRlZ3lcbiAgICAgICAgKTtcbiAgICAgICAgd29ya3NwYWNlLmRlYWN0aXZhdGUoKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy53b3Jrc3BhY2VTdG9yZS5zdGF0ZS51cGRhdGVNYW55KHdvcmtzcGFjZXNUb1JlbW92ZSwge1xuICAgICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgICBzZWxlY3RlZDogZmFsc2VcbiAgICAgIH0pO1xuICAgICAgdGhpcy53b3Jrc3BhY2VTdG9yZS5kZWxldGVNYW55KHdvcmtzcGFjZXNUb1JlbW92ZSk7XG4gICAgfVxuXG4gICAgaWYgKHdvcmtzcGFjZXNUb0FkZC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLndvcmtzcGFjZVN0b3JlLmluc2VydE1hbnkod29ya3NwYWNlc1RvQWRkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldE9yQ3JlYXRlV29ya3NwYWNlKFxuICAgIGxheWVyOiBWZWN0b3JMYXllciB8IEltYWdlTGF5ZXJcbiAgKTogV29ya3NwYWNlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB3b3Jrc3BhY2UgPSB0aGlzLndvcmtzcGFjZVN0b3JlLmdldChsYXllci5pZCk7XG4gICAgaWYgKHdvcmtzcGFjZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgIGxheWVyLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBXRlNEYXRhU291cmNlICYmXG4gICAgICBsYXllci5kYXRhU291cmNlLm9wdGlvbnMuZWRpdGlvbj8uZW5hYmxlZCAhPT0gdHJ1ZVxuICAgICkge1xuICAgICAgY29uc3Qgd2ZzV2tzID0gdGhpcy53ZnNXb3Jrc3BhY2VTZXJ2aWNlLmNyZWF0ZVdvcmtzcGFjZShcbiAgICAgICAgbGF5ZXIgYXMgVmVjdG9yTGF5ZXIsXG4gICAgICAgIHRoaXMubWFwXG4gICAgICApO1xuICAgICAgcmV0dXJuIHdmc1drcztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGF5ZXIuZGF0YVNvdXJjZSBpbnN0YW5jZW9mIFdNU0RhdGFTb3VyY2UgJiZcbiAgICAgIGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5lZGl0aW9uPy5lbmFibGVkICE9PSB0cnVlXG4gICAgKSB7XG4gICAgICBpZiAoIWxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5wYXJhbXNXRlMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgd21zV2tzID0gdGhpcy53bXNXb3Jrc3BhY2VTZXJ2aWNlLmNyZWF0ZVdvcmtzcGFjZShcbiAgICAgICAgbGF5ZXIgYXMgSW1hZ2VMYXllcixcbiAgICAgICAgdGhpcy5tYXBcbiAgICAgICk7XG4gICAgICB3bXNXa3M/LmluUmVzb2x1dGlvblJhbmdlJC5zdWJzY3JpYmUoKGluUmVzb2x1dGlvblJhbmdlKSA9PiB7XG4gICAgICAgIChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLnF1ZXJ5YWJsZSA9XG4gICAgICAgICAgIWluUmVzb2x1dGlvblJhbmdlO1xuICAgICAgICAoXG4gICAgICAgICAgd21zV2tzLmxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9uc1xuICAgICAgICApLnF1ZXJ5YWJsZSA9IGluUmVzb2x1dGlvblJhbmdlO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gd21zV2tzO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsYXllci5kYXRhU291cmNlIGluc3RhbmNlb2YgRmVhdHVyZURhdGFTb3VyY2UgJiZcbiAgICAgIChsYXllciBhcyBWZWN0b3JMYXllcikuZXhwb3J0YWJsZSA9PT0gdHJ1ZSAmJlxuICAgICAgbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLmVkaXRpb24/LmVuYWJsZWQgIT09IHRydWVcbiAgICApIHtcbiAgICAgIGNvbnN0IGZlYXR1cmVXa3MgPSB0aGlzLmZlYXR1cmVXb3Jrc3BhY2VTZXJ2aWNlLmNyZWF0ZVdvcmtzcGFjZShcbiAgICAgICAgbGF5ZXIgYXMgVmVjdG9yTGF5ZXIsXG4gICAgICAgIHRoaXMubWFwXG4gICAgICApO1xuICAgICAgcmV0dXJuIGZlYXR1cmVXa3M7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxheWVyLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBXTVNEYXRhU291cmNlICYmXG4gICAgICBsYXllci5kYXRhU291cmNlLm9wdGlvbnMuZWRpdGlvbj8uZW5hYmxlZCA9PT0gdHJ1ZVxuICAgICkge1xuICAgICAgY29uc3QgZWRpdGlvbldrcyA9IHRoaXMuZWRpdGlvbldvcmtzcGFjZVNlcnZpY2UuY3JlYXRlV29ya3NwYWNlKFxuICAgICAgICBsYXllciBhcyBJbWFnZUxheWVyLFxuICAgICAgICB0aGlzLm1hcFxuICAgICAgKTtcbiAgICAgIHJldHVybiBlZGl0aW9uV2tzO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHByaXZhdGUgbGF5ZXJJc0VkaXRhYmxlKGxheWVyOiBBbnlMYXllcik6IGJvb2xlYW4ge1xuICAgIGlmIChpc0xheWVyR3JvdXAobGF5ZXIpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGRhdGFTb3VyY2UgPSBsYXllci5kYXRhU291cmNlO1xuICAgIGlmIChkYXRhU291cmNlIGluc3RhbmNlb2YgV0ZTRGF0YVNvdXJjZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChkYXRhU291cmNlIGluc3RhbmNlb2YgRmVhdHVyZURhdGFTb3VyY2UpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoZGF0YVNvdXJjZSBpbnN0YW5jZW9mIFdNU0RhdGFTb3VyY2UpIHtcbiAgICAgIGNvbnN0IGRhdGFTb3VyY2VPcHRpb25zID0gKGRhdGFTb3VyY2Uub3B0aW9ucyB8fFxuICAgICAgICB7fSkgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMub2djRmlsdGVycz8uZW5hYmxlZCB8fFxuICAgICAgICBkYXRhU291cmNlLm9wdGlvbnMucGFyYW1zV0ZTPy5mZWF0dXJlVHlwZXMgIT09IHVuZGVmaW5lZFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==