@igo2/integration 1.15.4 → 16.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/{esm2020 → esm2022}/igo2-integration.mjs +4 -4
  2. package/esm2022/lib/about/about-tool/about-tool.component.mjs +205 -0
  3. package/{esm2020 → esm2022}/lib/about/about-tool/index.mjs +2 -2
  4. package/{esm2020 → esm2022}/lib/about/about.module.mjs +55 -55
  5. package/{esm2020 → esm2022}/lib/about/index.mjs +2 -2
  6. package/esm2022/lib/analytics/analytics-listener.service.mjs +156 -0
  7. package/{esm2020 → esm2022}/lib/analytics/analytics.module.mjs +16 -16
  8. package/{esm2020 → esm2022}/lib/analytics/index.mjs +2 -2
  9. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +133 -0
  10. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +24 -0
  11. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +103 -0
  12. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +24 -0
  13. package/esm2022/lib/catalog/catalog.module.mjs +19 -0
  14. package/esm2022/lib/catalog/catalog.state.mjs +58 -0
  15. package/{esm2020 → esm2022}/lib/catalog/index.mjs +6 -6
  16. package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +36 -0
  17. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +51 -0
  18. package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +24 -0
  19. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +43 -0
  20. package/{esm2020 → esm2022}/lib/context/context.module.mjs +39 -39
  21. package/esm2022/lib/context/context.state.mjs +96 -0
  22. package/{esm2020 → esm2022}/lib/context/index.mjs +6 -6
  23. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +116 -0
  24. package/{esm2020 → esm2022}/lib/directions/directions-tool/index.mjs +2 -2
  25. package/{esm2020 → esm2022}/lib/directions/directions.module.mjs +26 -26
  26. package/esm2022/lib/directions/directions.state.mjs +69 -0
  27. package/{esm2020 → esm2022}/lib/directions/index.mjs +3 -3
  28. package/esm2022/lib/draw/draw.module.mjs +18 -0
  29. package/esm2022/lib/draw/draw.state.mjs +42 -0
  30. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +77 -0
  31. package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +23 -0
  32. package/{esm2020 → esm2022}/lib/draw/index.mjs +2 -2
  33. package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +10 -10
  34. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +46 -0
  35. package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/index.mjs +2 -2
  36. package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +10 -10
  37. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +46 -0
  38. package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/index.mjs +2 -2
  39. package/{esm2020 → esm2022}/lib/filter/filter.module.mjs +51 -51
  40. package/{esm2020 → esm2022}/lib/filter/index.mjs +6 -6
  41. package/{esm2020 → esm2022}/lib/filter/ogc-filter-tool/index.mjs +2 -2
  42. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +25 -0
  43. package/{esm2020 → esm2022}/lib/filter/spatial-filter-tool/index.mjs +2 -2
  44. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +605 -0
  45. package/{esm2020 → esm2022}/lib/filter/time-filter-tool/index.mjs +2 -2
  46. package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +25 -0
  47. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +154 -0
  48. package/{esm2020 → esm2022}/lib/import-export/import-export-tool/index.mjs +2 -2
  49. package/{esm2020 → esm2022}/lib/import-export/import-export.module.mjs +51 -51
  50. package/esm2022/lib/import-export/import-export.state.mjs +39 -0
  51. package/{esm2020 → esm2022}/lib/import-export/index.mjs +3 -3
  52. package/{esm2020 → esm2022}/lib/integration.module.mjs +72 -72
  53. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +524 -0
  54. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +92 -0
  55. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +231 -0
  56. package/{esm2020 → esm2022}/lib/map/advanced-map-tool/index.mjs +2 -2
  57. package/{esm2020 → esm2022}/lib/map/index.mjs +9 -9
  58. package/esm2022/lib/map/layer-list-tool.state.mjs +40 -0
  59. package/{esm2020 → esm2022}/lib/map/map-details-tool/index.mjs +2 -2
  60. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +269 -0
  61. package/{esm2020 → esm2022}/lib/map/map-legend/index.mjs +2 -2
  62. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +285 -0
  63. package/{esm2020 → esm2022}/lib/map/map-proximity-tool/index.mjs +2 -2
  64. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +220 -0
  65. package/esm2022/lib/map/map-proximity.state.mjs +180 -0
  66. package/{esm2020 → esm2022}/lib/map/map-tool/index.mjs +2 -2
  67. package/esm2022/lib/map/map-tool/map-tool.component.mjs +140 -0
  68. package/{esm2020 → esm2022}/lib/map/map-tools/index.mjs +2 -2
  69. package/esm2022/lib/map/map-tools/map-tools.component.mjs +521 -0
  70. package/esm2022/lib/map/map.module.mjs +168 -0
  71. package/esm2022/lib/map/map.state.mjs +56 -0
  72. package/{esm2020 → esm2022}/lib/measure/index.mjs +4 -4
  73. package/esm2022/lib/measure/measure.module.mjs +18 -0
  74. package/esm2022/lib/measure/measure.state.mjs +40 -0
  75. package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +54 -0
  76. package/{esm2020 → esm2022}/lib/measure/measurer-tool/measurer-tool.module.mjs +23 -25
  77. package/{esm2020 → esm2022}/lib/print/index.mjs +2 -2
  78. package/{esm2020 → esm2022}/lib/print/print-tool/index.mjs +2 -2
  79. package/esm2022/lib/print/print-tool/print-tool.component.mjs +35 -0
  80. package/{esm2020 → esm2022}/lib/print/print.module.mjs +26 -26
  81. package/{esm2020 → esm2022}/lib/search/index.mjs +7 -7
  82. package/esm2022/lib/search/query.state.mjs +48 -0
  83. package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +72 -0
  84. package/{esm2020 → esm2022}/lib/search/search-bar/search-bar.module.mjs +22 -22
  85. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +631 -0
  86. package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +65 -0
  87. package/esm2022/lib/search/search.module.mjs +19 -0
  88. package/esm2022/lib/search/search.state.mjs +145 -0
  89. package/{esm2020 → esm2022}/lib/storage/index.mjs +2 -2
  90. package/{esm2020 → esm2022}/lib/storage/storage.module.mjs +16 -16
  91. package/esm2022/lib/storage/storage.state.mjs +25 -0
  92. package/{esm2020 → esm2022}/lib/tool/index.mjs +2 -2
  93. package/{esm2020 → esm2022}/lib/tool/tool.module.mjs +16 -16
  94. package/esm2022/lib/tool/tool.state.mjs +56 -0
  95. package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
  96. package/esm2022/lib/workspace/shared/edition-actions.service.mjs +74 -0
  97. package/esm2022/lib/workspace/shared/feature-actions.service.mjs +66 -0
  98. package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +3 -3
  99. package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +76 -0
  100. package/esm2022/lib/workspace/shared/workspace.utils.mjs +162 -0
  101. package/{esm2020 → esm2022}/lib/workspace/workspace-button/index.mjs +2 -2
  102. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +76 -0
  103. package/esm2022/lib/workspace/workspace.module.mjs +38 -0
  104. package/esm2022/lib/workspace/workspace.state.mjs +204 -0
  105. package/{esm2020 → esm2022}/public_api.mjs +35 -35
  106. package/{fesm2020 → fesm2022}/igo2-integration.mjs +6522 -6139
  107. package/fesm2022/igo2-integration.mjs.map +1 -0
  108. package/index.d.ts +5 -5
  109. package/lib/about/about-tool/about-tool.component.d.ts +34 -34
  110. package/lib/about/about-tool/index.d.ts +1 -1
  111. package/lib/about/about.module.d.ts +16 -16
  112. package/lib/about/index.d.ts +1 -1
  113. package/lib/analytics/analytics-listener.service.d.ts +33 -33
  114. package/lib/analytics/analytics.module.d.ts +6 -6
  115. package/lib/analytics/index.d.ts +1 -1
  116. package/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.d.ts +57 -57
  117. package/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.d.ts +12 -12
  118. package/lib/catalog/catalog-library-tool/catalog-library-tool.component.d.ts +50 -50
  119. package/lib/catalog/catalog-library-tool/catalog-library-tool.module.d.ts +12 -12
  120. package/lib/catalog/catalog.module.d.ts +8 -8
  121. package/lib/catalog/catalog.state.d.ts +37 -37
  122. package/lib/catalog/index.d.ts +5 -5
  123. package/lib/context/context-editor-tool/context-editor-tool.component.d.ts +9 -9
  124. package/lib/context/context-manager-tool/context-manager-tool.component.d.ts +15 -15
  125. package/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.d.ts +5 -5
  126. package/lib/context/context-share-tool/context-share-tool.component.d.ts +13 -13
  127. package/lib/context/context.module.d.ts +11 -11
  128. package/lib/context/context.state.d.ts +37 -37
  129. package/lib/context/index.d.ts +5 -5
  130. package/lib/directions/directions-tool/directions-tool.component.d.ts +54 -54
  131. package/lib/directions/directions-tool/index.d.ts +1 -1
  132. package/lib/directions/directions.module.d.ts +10 -10
  133. package/lib/directions/directions.state.d.ts +28 -28
  134. package/lib/directions/index.d.ts +2 -2
  135. package/lib/draw/draw.module.d.ts +8 -8
  136. package/lib/draw/draw.state.d.ts +16 -16
  137. package/lib/draw/drawing-tool/drawing-tool.component.d.ts +31 -31
  138. package/lib/draw/drawing-tool/drawing-tool.module.d.ts +11 -0
  139. package/lib/draw/index.d.ts +2 -2
  140. package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.d.ts +2 -2
  141. package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.d.ts +12 -12
  142. package/lib/filter/active-ogc-filter-tool/index.d.ts +1 -1
  143. package/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.d.ts +2 -2
  144. package/lib/filter/active-time-filter-tool/active-time-filter-tool.component.d.ts +12 -12
  145. package/lib/filter/active-time-filter-tool/index.d.ts +1 -1
  146. package/lib/filter/filter.module.d.ts +15 -15
  147. package/lib/filter/index.d.ts +5 -5
  148. package/lib/filter/ogc-filter-tool/index.d.ts +1 -1
  149. package/lib/filter/ogc-filter-tool/ogc-filter-tool.component.d.ts +6 -6
  150. package/lib/filter/spatial-filter-tool/index.d.ts +1 -1
  151. package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +82 -82
  152. package/lib/filter/time-filter-tool/index.d.ts +1 -1
  153. package/lib/filter/time-filter-tool/time-filter-tool.component.d.ts +6 -6
  154. package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +33 -33
  155. package/lib/import-export/import-export-tool/index.d.ts +1 -1
  156. package/lib/import-export/import-export.module.d.ts +15 -15
  157. package/lib/import-export/import-export.state.d.ts +24 -24
  158. package/lib/import-export/index.d.ts +2 -2
  159. package/lib/integration.module.d.ts +20 -20
  160. package/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.d.ts +97 -97
  161. package/lib/map/advanced-map-tool/advanced-map-tool.component.d.ts +12 -12
  162. package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +65 -65
  163. package/lib/map/advanced-map-tool/index.d.ts +1 -1
  164. package/lib/map/index.d.ts +8 -8
  165. package/lib/map/layer-list-tool.state.d.ts +19 -19
  166. package/lib/map/map-details-tool/index.d.ts +1 -1
  167. package/lib/map/map-details-tool/map-details-tool.component.d.ts +38 -38
  168. package/lib/map/map-legend/index.d.ts +1 -1
  169. package/lib/map/map-legend/map-legend-tool.component.d.ts +40 -40
  170. package/lib/map/map-proximity-tool/index.d.ts +1 -1
  171. package/lib/map/map-proximity-tool/map-proximity-tool.component.d.ts +36 -36
  172. package/lib/map/map-proximity.state.d.ts +31 -31
  173. package/lib/map/map-tool/index.d.ts +1 -1
  174. package/lib/map/map-tool/map-tool.component.d.ts +27 -27
  175. package/lib/map/map-tools/index.d.ts +1 -1
  176. package/lib/map/map-tools/map-tools.component.d.ts +66 -66
  177. package/lib/map/map.module.d.ts +38 -38
  178. package/lib/map/map.state.d.ts +24 -24
  179. package/lib/measure/index.d.ts +3 -3
  180. package/lib/measure/measure.module.d.ts +7 -7
  181. package/lib/measure/measure.state.d.ts +16 -16
  182. package/lib/measure/measurer-tool/measurer-tool.component.d.ts +24 -24
  183. package/lib/measure/measurer-tool/measurer-tool.module.d.ts +11 -11
  184. package/lib/print/index.d.ts +1 -1
  185. package/lib/print/print-tool/index.d.ts +1 -1
  186. package/lib/print/print-tool/print-tool.component.d.ts +10 -10
  187. package/lib/print/print.module.d.ts +10 -10
  188. package/lib/search/index.d.ts +6 -6
  189. package/lib/search/query.state.d.ts +26 -20
  190. package/lib/search/search-bar/search-bar-binding.directive.d.ts +20 -20
  191. package/lib/search/search-bar/search-bar.module.d.ts +11 -11
  192. package/lib/search/search-results-tool/search-results-tool.component.d.ts +100 -100
  193. package/lib/search/search-results-tool/search-results-tool.module.d.ts +18 -18
  194. package/lib/search/search.module.d.ts +8 -8
  195. package/lib/search/search.state.d.ts +62 -60
  196. package/lib/storage/index.d.ts +1 -1
  197. package/lib/storage/storage.module.d.ts +6 -6
  198. package/lib/storage/storage.state.d.ts +12 -12
  199. package/lib/tool/index.d.ts +1 -1
  200. package/lib/tool/tool.module.d.ts +6 -6
  201. package/lib/tool/tool.state.d.ts +22 -22
  202. package/lib/workspace/index.d.ts +3 -3
  203. package/lib/workspace/shared/edition-actions.service.d.ts +28 -26
  204. package/lib/workspace/shared/feature-actions.service.d.ts +27 -25
  205. package/lib/workspace/shared/index.d.ts +2 -2
  206. package/lib/workspace/shared/wfs-actions.service.d.ts +29 -27
  207. package/lib/workspace/shared/workspace.utils.d.ts +9 -2
  208. package/lib/workspace/workspace-button/index.d.ts +1 -1
  209. package/lib/workspace/workspace-button/workspace-button.component.d.ts +21 -21
  210. package/lib/workspace/workspace.module.d.ts +12 -12
  211. package/lib/workspace/workspace.state.d.ts +63 -63
  212. package/locale/en.integration.json +126 -0
  213. package/locale/fr.integration.json +126 -0
  214. package/package.json +14 -18
  215. package/public_api.d.ts +31 -31
  216. package/esm2020/lib/about/about-tool/about-tool.component.mjs +0 -185
  217. package/esm2020/lib/analytics/analytics-listener.service.mjs +0 -127
  218. package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +0 -113
  219. package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +0 -29
  220. package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +0 -89
  221. package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +0 -29
  222. package/esm2020/lib/catalog/catalog.module.mjs +0 -24
  223. package/esm2020/lib/catalog/catalog.state.mjs +0 -54
  224. package/esm2020/lib/context/context-editor-tool/context-editor-tool.component.mjs +0 -34
  225. package/esm2020/lib/context/context-manager-tool/context-manager-tool.component.mjs +0 -44
  226. package/esm2020/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +0 -25
  227. package/esm2020/lib/context/context-share-tool/context-share-tool.component.mjs +0 -34
  228. package/esm2020/lib/context/context.state.mjs +0 -88
  229. package/esm2020/lib/directions/directions-tool/directions-tool.component.mjs +0 -84
  230. package/esm2020/lib/directions/directions.state.mjs +0 -64
  231. package/esm2020/lib/draw/draw.module.mjs +0 -21
  232. package/esm2020/lib/draw/draw.state.mjs +0 -39
  233. package/esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs +0 -72
  234. package/esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +0 -44
  235. package/esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +0 -44
  236. package/esm2020/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +0 -25
  237. package/esm2020/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +0 -535
  238. package/esm2020/lib/filter/time-filter-tool/time-filter-tool.component.mjs +0 -25
  239. package/esm2020/lib/import-export/import-export-tool/import-export-tool.component.mjs +0 -141
  240. package/esm2020/lib/import-export/import-export.state.mjs +0 -41
  241. package/esm2020/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +0 -472
  242. package/esm2020/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +0 -89
  243. package/esm2020/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +0 -218
  244. package/esm2020/lib/map/layer-list-tool.state.mjs +0 -42
  245. package/esm2020/lib/map/map-details-tool/map-details-tool.component.mjs +0 -256
  246. package/esm2020/lib/map/map-legend/map-legend-tool.component.mjs +0 -275
  247. package/esm2020/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +0 -203
  248. package/esm2020/lib/map/map-proximity.state.mjs +0 -167
  249. package/esm2020/lib/map/map-tool/map-tool.component.mjs +0 -130
  250. package/esm2020/lib/map/map-tools/map-tools.component.mjs +0 -495
  251. package/esm2020/lib/map/map.module.mjs +0 -144
  252. package/esm2020/lib/map/map.state.mjs +0 -47
  253. package/esm2020/lib/measure/measure.module.mjs +0 -20
  254. package/esm2020/lib/measure/measure.state.mjs +0 -35
  255. package/esm2020/lib/measure/measurer-tool/measurer-tool.component.mjs +0 -45
  256. package/esm2020/lib/print/print-tool/print-tool.component.mjs +0 -33
  257. package/esm2020/lib/search/query.state.mjs +0 -34
  258. package/esm2020/lib/search/search-bar/search-bar-binding.directive.mjs +0 -61
  259. package/esm2020/lib/search/search-results-tool/search-results-tool.component.mjs +0 -593
  260. package/esm2020/lib/search/search-results-tool/search-results-tool.module.mjs +0 -65
  261. package/esm2020/lib/search/search.module.mjs +0 -24
  262. package/esm2020/lib/search/search.state.mjs +0 -132
  263. package/esm2020/lib/storage/storage.state.mjs +0 -23
  264. package/esm2020/lib/tool/tool.state.mjs +0 -52
  265. package/esm2020/lib/workspace/shared/edition-actions.service.mjs +0 -156
  266. package/esm2020/lib/workspace/shared/feature-actions.service.mjs +0 -144
  267. package/esm2020/lib/workspace/shared/wfs-actions.service.mjs +0 -158
  268. package/esm2020/lib/workspace/shared/workspace.utils.mjs +0 -7
  269. package/esm2020/lib/workspace/workspace-button/workspace-button.component.mjs +0 -69
  270. package/esm2020/lib/workspace/workspace.module.mjs +0 -37
  271. package/esm2020/lib/workspace/workspace.state.mjs +0 -188
  272. package/fesm2015/igo2-integration.mjs +0 -6759
  273. package/fesm2015/igo2-integration.mjs.map +0 -1
  274. package/fesm2020/igo2-integration.mjs.map +0 -1
  275. package/ngcc.config.js +0 -3
@@ -0,0 +1,204 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject, of } from 'rxjs';
3
+ import { WorkspaceStore, EntityStoreFilterCustomFuncStrategy, EntityStoreFilterSelectionStrategy } from '@igo2/common';
4
+ import { WfsWorkspace, FeatureWorkspace, EditionWorkspace } from '@igo2/geo';
5
+ import { FeatureActionsService } from './shared/feature-actions.service';
6
+ import { WfsActionsService } from './shared/wfs-actions.service';
7
+ import { StorageService } from '@igo2/core';
8
+ import { EditionActionsService } from './shared/edition-actions.service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./shared/feature-actions.service";
11
+ import * as i2 from "./shared/wfs-actions.service";
12
+ import * as i3 from "./shared/edition-actions.service";
13
+ import * as i4 from "@igo2/core";
14
+ /**
15
+ * Service that holds the state of the workspace module
16
+ */
17
+ export class WorkspaceState {
18
+ featureActionsService;
19
+ wfsActionsService;
20
+ editionActionsService;
21
+ storageService;
22
+ workspacePanelExpanded = false;
23
+ workspaceEnabled$ = new BehaviorSubject(false);
24
+ rowsInMapExtentCheckCondition$ = new BehaviorSubject(true);
25
+ selectOnlyCheckCondition$ = new BehaviorSubject(false);
26
+ workspaceMaximize$;
27
+ actionMaximize$$ = [];
28
+ rowsInMapExtentCheckCondition$$;
29
+ selectOnlyCheckCondition$$;
30
+ /** Subscription to the active workspace */
31
+ activeWorkspace$$;
32
+ /** Subscription to the active workspace widget */
33
+ activeWorkspaceWidget$$;
34
+ /** Active widget observable. Only one may be active for all available workspaces */
35
+ activeWorkspaceWidget$ = new BehaviorSubject(undefined);
36
+ /**
37
+ * Observable of the active workspace
38
+ */
39
+ workspace$ = new BehaviorSubject(undefined);
40
+ /**
41
+ * Store that holds all the available workspaces
42
+ */
43
+ get store() {
44
+ return this._store;
45
+ }
46
+ _store;
47
+ get workspaceSelection() {
48
+ if (this.workspace$.value) {
49
+ return this.workspace$.value?.entityStore.stateView.manyBy((r) => r.state.selected === true);
50
+ }
51
+ else {
52
+ return [];
53
+ }
54
+ }
55
+ get workspaceSelection$() {
56
+ if (this.workspace$.value) {
57
+ return this.workspace$.value?.entityStore?.stateView.manyBy$((r) => r.state.selected === true);
58
+ }
59
+ else {
60
+ return of([]);
61
+ }
62
+ }
63
+ constructor(featureActionsService, wfsActionsService, editionActionsService, storageService) {
64
+ this.featureActionsService = featureActionsService;
65
+ this.wfsActionsService = wfsActionsService;
66
+ this.editionActionsService = editionActionsService;
67
+ this.storageService = storageService;
68
+ this.workspaceMaximize$ = new BehaviorSubject(this.storageService.get('workspaceMaximize'));
69
+ this.initWorkspaces();
70
+ }
71
+ /**
72
+ * Initialize the workspace store. Each time a workspace is activated,
73
+ * subscribe to it's active widget. Tracking the active widget is useful
74
+ * to make sure only one widget is active at a time.
75
+ */
76
+ initWorkspaces() {
77
+ this._store = new WorkspaceStore([]);
78
+ this._store.stateView
79
+ .firstBy$((record) => record.state.active === true)
80
+ .subscribe((record) => {
81
+ const workspace = record ? record.entity : undefined;
82
+ this.workspace$.next(workspace);
83
+ });
84
+ this._store.stateView
85
+ .all$()
86
+ .subscribe((workspaces) => {
87
+ workspaces.map((wks) => {
88
+ if (wks.entity.actionStore.empty) {
89
+ if (wks.entity instanceof WfsWorkspace) {
90
+ this.wfsActionsService.loadActions(wks.entity, this.rowsInMapExtentCheckCondition$, this.selectOnlyCheckCondition$);
91
+ }
92
+ else if (wks.entity instanceof FeatureWorkspace) {
93
+ this.featureActionsService.loadActions(wks.entity, this.rowsInMapExtentCheckCondition$, this.selectOnlyCheckCondition$);
94
+ }
95
+ else if (wks.entity instanceof EditionWorkspace) {
96
+ this.editionActionsService.loadActions(wks.entity, this.rowsInMapExtentCheckCondition$, this.selectOnlyCheckCondition$);
97
+ }
98
+ }
99
+ });
100
+ });
101
+ this.actionMaximize$$.push(this.featureActionsService.maximize$.subscribe((maximized) => {
102
+ this.setWorkspaceIsMaximized(maximized);
103
+ }));
104
+ this.actionMaximize$$.push(this.wfsActionsService.maximize$.subscribe((maximized) => {
105
+ this.setWorkspaceIsMaximized(maximized);
106
+ }));
107
+ this.actionMaximize$$.push(this.editionActionsService.maximize$.subscribe((maximized) => {
108
+ this.setWorkspaceIsMaximized(maximized);
109
+ }));
110
+ this.activeWorkspace$$ = this.workspace$.subscribe((workspace) => {
111
+ if (this.activeWorkspaceWidget$$ !== undefined) {
112
+ this.activeWorkspaceWidget$$.unsubscribe();
113
+ this.activeWorkspaceWidget$$ = undefined;
114
+ }
115
+ if (workspace !== undefined) {
116
+ this.activeWorkspaceWidget$$ = workspace.widget$.subscribe((widget) => this.activeWorkspaceWidget$.next(widget));
117
+ }
118
+ });
119
+ this.rowsInMapExtentCheckCondition$$ =
120
+ this.rowsInMapExtentCheckCondition$.subscribe((rowsInMapExtent) => {
121
+ this._store.stateView.all().map((wks) => {
122
+ if (!wks.entity.actionStore.empty) {
123
+ const filterStrategy = wks.entity.entityStore.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
124
+ if (filterStrategy) {
125
+ if (rowsInMapExtent) {
126
+ filterStrategy.activate();
127
+ }
128
+ else {
129
+ filterStrategy.deactivate();
130
+ }
131
+ }
132
+ }
133
+ });
134
+ });
135
+ this.selectOnlyCheckCondition$$ = this.selectOnlyCheckCondition$.subscribe((selectOnly) => {
136
+ this._store.stateView.all().map((wks) => {
137
+ if (!wks.entity.actionStore.empty) {
138
+ const filterStrategy = wks.entity.entityStore.getStrategyOfType(EntityStoreFilterSelectionStrategy);
139
+ if (filterStrategy) {
140
+ if (selectOnly) {
141
+ filterStrategy.activate();
142
+ }
143
+ else {
144
+ filterStrategy.deactivate();
145
+ }
146
+ }
147
+ }
148
+ });
149
+ });
150
+ }
151
+ setWorkspaceIsMaximized(maximized) {
152
+ this.storageService.set('workspaceMaximize', maximized);
153
+ this.workspaceMaximize$.next(maximized);
154
+ }
155
+ setActiveWorkspaceById(id) {
156
+ const wksFromId = this.store.all().find((workspace) => workspace.id === id);
157
+ if (wksFromId) {
158
+ this.store.activateWorkspace(wksFromId);
159
+ }
160
+ }
161
+ setActiveWorkspaceByTitle(title) {
162
+ const wksFromTitle = this.store
163
+ .all()
164
+ .find((workspace) => workspace.title === title);
165
+ if (wksFromTitle) {
166
+ this.store.activateWorkspace(wksFromTitle);
167
+ }
168
+ }
169
+ /**
170
+ * Teardown all the workspaces
171
+ * @internal
172
+ */
173
+ ngOnDestroy() {
174
+ this.teardownWorkspaces();
175
+ this.actionMaximize$$.map((a) => a.unsubscribe());
176
+ if (this.rowsInMapExtentCheckCondition$$) {
177
+ this.selectOnlyCheckCondition$$.unsubscribe();
178
+ }
179
+ if (this.selectOnlyCheckCondition$$) {
180
+ this.selectOnlyCheckCondition$$.unsubscribe();
181
+ }
182
+ }
183
+ /**
184
+ * Teardown the workspace store and any subscribers
185
+ */
186
+ teardownWorkspaces() {
187
+ this.store.clear();
188
+ if (this.activeWorkspaceWidget$$ !== undefined) {
189
+ this.activeWorkspaceWidget$$.unsubscribe();
190
+ }
191
+ if (this.activeWorkspace$$ !== undefined) {
192
+ this.activeWorkspace$$.unsubscribe();
193
+ }
194
+ }
195
+ static ɵfac = function WorkspaceState_Factory(t) { return new (t || WorkspaceState)(i0.ɵɵinject(i1.FeatureActionsService), i0.ɵɵinject(i2.WfsActionsService), i0.ɵɵinject(i3.EditionActionsService), i0.ɵɵinject(i4.StorageService)); };
196
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WorkspaceState, factory: WorkspaceState.ɵfac, providedIn: 'root' });
197
+ }
198
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceState, [{
199
+ type: Injectable,
200
+ args: [{
201
+ providedIn: 'root'
202
+ }]
203
+ }], function () { return [{ type: i1.FeatureActionsService }, { type: i2.WfsActionsService }, { type: i3.EditionActionsService }, { type: i4.StorageService }]; }, null); })();
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLGVBQWUsRUFBNEIsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJFLE9BQU8sRUFHTCxjQUFjLEVBRWQsbUNBQW1DLEVBQ25DLGtDQUFrQyxFQUVuQyxNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQUV6RTs7R0FFRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBNERmO0lBQ0E7SUFDQTtJQUNBO0lBOURILHNCQUFzQixHQUFZLEtBQUssQ0FBQztJQUV0QyxpQkFBaUIsR0FDeEIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDN0IsOEJBQThCLEdBQ3JDLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBQzVCLHlCQUF5QixHQUNoQyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUU3QixrQkFBa0IsQ0FBMkI7SUFDOUMsZ0JBQWdCLEdBQW1CLEVBQUUsQ0FBQztJQUV0QywrQkFBK0IsQ0FBZTtJQUM5QywwQkFBMEIsQ0FBZTtJQUVqRCwyQ0FBMkM7SUFD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b20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgRW50aXR5UmVjb3JkLFxuICBXb3Jrc3BhY2UsXG4gIFdvcmtzcGFjZVN0b3JlLFxuICBXaWRnZXQsXG4gIEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5LFxuICBFbnRpdHlTdG9yZUZpbHRlclNlbGVjdGlvblN0cmF0ZWd5LFxuICBFbnRpdHlTdGF0ZVxufSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHsgV2ZzV29ya3NwYWNlLCBGZWF0dXJlV29ya3NwYWNlLCBFZGl0aW9uV29ya3NwYWNlIH0gZnJvbSAnQGlnbzIvZ2VvJztcbmltcG9ydCB7IEZlYXR1cmVBY3Rpb25zU2VydmljZSB9IGZyb20gJy4vc2hhcmVkL2ZlYXR1cmUtYWN0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFdmc0FjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvd2ZzLWFjdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgRWRpdGlvbkFjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBob2xkcyB0aGUgc3RhdGUgb2YgdGhlIHdvcmtzcGFjZSBtb2R1bGVcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlU3RhdGUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgd29ya3NwYWNlUGFuZWxFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IHdvcmtzcGFjZUVuYWJsZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcmVhZG9ubHkgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSB3b3Jrc3BhY2VNYXhpbWl6ZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgcHJpdmF0ZSBhY3Rpb25NYXhpbWl6ZSQkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIHByaXZhdGUgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kJDogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqIFN1YnNjcmlwdGlvbiB0byB0aGUgYWN0aXZlIHdvcmtzcGFjZSAqL1xuICBwcml2YXRlIGFjdGl2ZVdvcmtzcGFjZSQkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqIFN1YnNjcmlwdGlvbiB0byB0aGUgYWN0aXZlIHdvcmtzcGFjZSB3aWRnZXQgKi9cbiAgcHJpdmF0ZSBhY3RpdmVXb3Jrc3BhY2VXaWRnZXQkJDogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKiBBY3RpdmUgd2lkZ2V0IG9ic2VydmFibGUuIE9ubHkgb25lIG1heSBiZSBhY3RpdmUgZm9yIGFsbCBhdmFpbGFibGUgd29ya3NwYWNlcyAqL1xuICByZWFkb25seSBhY3RpdmVXb3Jrc3BhY2VXaWRnZXQkOiBCZWhhdmlvclN1YmplY3Q8V2lkZ2V0PiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxXaWRnZXQ+KHVuZGVmaW5lZCk7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGFjdGl2ZSB3b3Jrc3BhY2VcbiAgICovXG4gIHB1YmxpYyB3b3Jrc3BhY2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXb3Jrc3BhY2U+KHVuZGVmaW5lZCk7XG5cbiAgLyoqXG4gICAqIFN0b3JlIHRoYXQgaG9sZHMgYWxsIHRoZSBhdmFpbGFibGUgd29ya3NwYWNlc1xuICAgKi9cbiAgZ2V0IHN0b3JlKCk6IFdvcmtzcGFjZVN0b3JlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmU7XG4gIH1cbiAgcHJpdmF0ZSBfc3RvcmU6IFdvcmtzcGFjZVN0b3JlO1xuXG4gIGdldCB3b3Jrc3BhY2VTZWxlY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMud29ya3NwYWNlJC52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMud29ya3NwYWNlJC52YWx1ZT8uZW50aXR5U3RvcmUuc3RhdGVWaWV3Lm1hbnlCeShcbiAgICAgICAgKHIpID0+IHIuc3RhdGUuc2VsZWN0ZWQgPT09IHRydWVcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBnZXQgd29ya3NwYWNlU2VsZWN0aW9uJCgpOiBPYnNlcnZhYmxlPEVudGl0eVJlY29yZDxvYmplY3QsIEVudGl0eVN0YXRlPltdPiB7XG4gICAgaWYgKHRoaXMud29ya3NwYWNlJC52YWx1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMud29ya3NwYWNlJC52YWx1ZT8uZW50aXR5U3RvcmU/LnN0YXRlVmlldy5tYW55QnkkKFxuICAgICAgICAocikgPT4gci5zdGF0ZS5zZWxlY3RlZCA9PT0gdHJ1ZVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZlYXR1cmVBY3Rpb25zU2VydmljZTogRmVhdHVyZUFjdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2ZzQWN0aW9uc1NlcnZpY2U6IFdmc0FjdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWRpdGlvbkFjdGlvbnNTZXJ2aWNlOiBFZGl0aW9uQWN0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy53b3Jrc3BhY2VNYXhpbWl6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3dvcmtzcGFjZU1heGltaXplJykgYXMgYm9vbGVhblxuICAgICk7XG4gICAgdGhpcy5pbml0V29ya3NwYWNlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHdvcmtzcGFjZSBzdG9yZS4gRWFjaCB0aW1lIGEgd29ya3NwYWNlIGlzIGFjdGl2YXRlZCxcbiAgICogc3Vic2NyaWJlIHRvIGl0J3MgYWN0aXZlIHdpZGdldC4gVHJhY2tpbmcgdGhlIGFjdGl2ZSB3aWRnZXQgaXMgdXNlZnVsXG4gICAqIHRvIG1ha2Ugc3VyZSBvbmx5IG9uZSB3aWRnZXQgaXMgYWN0aXZlIGF0IGEgdGltZS5cbiAgICovXG4gIHByaXZhdGUgaW5pdFdvcmtzcGFjZXMoKSB7XG4gICAgdGhpcy5fc3RvcmUgPSBuZXcgV29ya3NwYWNlU3RvcmUoW10pO1xuICAgIHRoaXMuX3N0b3JlLnN0YXRlVmlld1xuICAgICAgLmZpcnN0QnkkKFxuICAgICAgICAocmVjb3JkOiBFbnRpdHlSZWNvcmQ8V29ya3NwYWNlPikgPT4gcmVjb3JkLnN0YXRlLmFjdGl2ZSA9PT0gdHJ1ZVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocmVjb3JkOiBFbnRpdHlSZWNvcmQ8V29ya3NwYWNlPikgPT4ge1xuICAgICAgICBjb25zdCB3b3Jrc3BhY2UgPSByZWNvcmQgPyByZWNvcmQuZW50aXR5IDogdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLndvcmtzcGFjZSQubmV4dCh3b3Jrc3BhY2UpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9zdG9yZS5zdGF0ZVZpZXdcbiAgICAgIC5hbGwkKClcbiAgICAgIC5zdWJzY3JpYmUoKHdvcmtzcGFjZXM6IEVudGl0eVJlY29yZDxXb3Jrc3BhY2U+W10pID0+IHtcbiAgICAgICAgd29ya3NwYWNlcy5tYXAoKHdrczogRW50aXR5UmVjb3JkPFdvcmtzcGFjZT4pID0+IHtcbiAgICAgICAgICBpZiAod2tzLmVudGl0eS5hY3Rpb25TdG9yZS5lbXB0eSkge1xuICAgICAgICAgICAgaWYgKHdrcy5lbnRpdHkgaW5zdGFuY2VvZiBXZnNXb3Jrc3BhY2UpIHtcbiAgICAgICAgICAgICAgdGhpcy53ZnNBY3Rpb25zU2VydmljZS5sb2FkQWN0aW9ucyhcbiAgICAgICAgICAgICAgICB3a3MuZW50aXR5LFxuICAgICAgICAgICAgICAgIHRoaXMucm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh3a3MuZW50aXR5IGluc3RhbmNlb2YgRmVhdHVyZVdvcmtzcGFjZSkge1xuICAgICAgICAgICAgICB0aGlzLmZlYXR1cmVBY3Rpb25zU2VydmljZS5sb2FkQWN0aW9ucyhcbiAgICAgICAgICAgICAgICB3a3MuZW50aXR5LFxuICAgICAgICAgICAgICAgIHRoaXMucm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh3a3MuZW50aXR5IGluc3RhbmNlb2YgRWRpdGlvbldvcmtzcGFjZSkge1xuICAgICAgICAgICAgICB0aGlzLmVkaXRpb25BY3Rpb25zU2VydmljZS5sb2FkQWN0aW9ucyhcbiAgICAgICAgICAgICAgICB3a3MuZW50aXR5LFxuICAgICAgICAgICAgICAgIHRoaXMucm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuYWN0aW9uTWF4aW1pemUkJC5wdXNoKFxuICAgICAgdGhpcy5mZWF0dXJlQWN0aW9uc1NlcnZpY2UubWF4aW1pemUkLnN1YnNjcmliZSgobWF4aW1pemVkKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0V29ya3NwYWNlSXNNYXhpbWl6ZWQobWF4aW1pemVkKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuYWN0aW9uTWF4aW1pemUkJC5wdXNoKFxuICAgICAgdGhpcy53ZnNBY3Rpb25zU2VydmljZS5tYXhpbWl6ZSQuc3Vic2NyaWJlKChtYXhpbWl6ZWQpID0+IHtcbiAgICAgICAgdGhpcy5zZXRXb3Jrc3BhY2VJc01heGltaXplZChtYXhpbWl6ZWQpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5hY3Rpb25NYXhpbWl6ZSQkLnB1c2goXG4gICAgICB0aGlzLmVkaXRpb25BY3Rpb25zU2VydmljZS5tYXhpbWl6ZSQuc3Vic2NyaWJlKChtYXhpbWl6ZWQpID0+IHtcbiAgICAgICAgdGhpcy5zZXRXb3Jrc3BhY2VJc01heGltaXplZChtYXhpbWl6ZWQpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5hY3RpdmVXb3Jrc3BhY2UkJCA9IHRoaXMud29ya3NwYWNlJC5zdWJzY3JpYmUoXG4gICAgICAod29ya3NwYWNlOiBXb3Jrc3BhY2UpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlV29ya3NwYWNlV2lkZ2V0JCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlV29ya3NwYWNlV2lkZ2V0JCQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB0aGlzLmFjdGl2ZVdvcmtzcGFjZVdpZGdldCQkID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHdvcmtzcGFjZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVXb3Jrc3BhY2VXaWRnZXQkJCA9IHdvcmtzcGFjZS53aWRnZXQkLnN1YnNjcmliZShcbiAgICAgICAgICAgICh3aWRnZXQ6IFdpZGdldCkgPT4gdGhpcy5hY3RpdmVXb3Jrc3BhY2VXaWRnZXQkLm5leHQod2lkZ2V0KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5yb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQkID1cbiAgICAgIHRoaXMucm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLnN1YnNjcmliZSgocm93c0luTWFwRXh0ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuX3N0b3JlLnN0YXRlVmlldy5hbGwoKS5tYXAoKHdrczogRW50aXR5UmVjb3JkPFdvcmtzcGFjZT4pID0+IHtcbiAgICAgICAgICBpZiAoIXdrcy5lbnRpdHkuYWN0aW9uU3RvcmUuZW1wdHkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlclN0cmF0ZWd5ID0gd2tzLmVudGl0eS5lbnRpdHlTdG9yZS5nZXRTdHJhdGVneU9mVHlwZShcbiAgICAgICAgICAgICAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3lcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZmlsdGVyU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgICAgaWYgKHJvd3NJbk1hcEV4dGVudCkge1xuICAgICAgICAgICAgICAgIGZpbHRlclN0cmF0ZWd5LmFjdGl2YXRlKCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyU3RyYXRlZ3kuZGVhY3RpdmF0ZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kJCA9IHRoaXMuc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJC5zdWJzY3JpYmUoXG4gICAgICAoc2VsZWN0T25seSkgPT4ge1xuICAgICAgICB0aGlzLl9zdG9yZS5zdGF0ZVZpZXcuYWxsKCkubWFwKCh3a3M6IEVudGl0eVJlY29yZDxXb3Jrc3BhY2U+KSA9PiB7XG4gICAgICAgICAgaWYgKCF3a3MuZW50aXR5LmFjdGlvblN0b3JlLmVtcHR5KSB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJTdHJhdGVneSA9IHdrcy5lbnRpdHkuZW50aXR5U3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoXG4gICAgICAgICAgICAgIEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3lcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZmlsdGVyU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgICAgaWYgKHNlbGVjdE9ubHkpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJTdHJhdGVneS5hY3RpdmF0ZSgpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpbHRlclN0cmF0ZWd5LmRlYWN0aXZhdGUoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V29ya3NwYWNlSXNNYXhpbWl6ZWQobWF4aW1pemVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXQoJ3dvcmtzcGFjZU1heGltaXplJywgbWF4aW1pemVkKTtcbiAgICB0aGlzLndvcmtzcGFjZU1heGltaXplJC5uZXh0KG1heGltaXplZCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlV29ya3NwYWNlQnlJZChpZDogc3RyaW5nKSB7XG4gICAgY29uc3Qgd2tzRnJvbUlkID0gdGhpcy5zdG9yZS5hbGwoKS5maW5kKCh3b3Jrc3BhY2UpID0+IHdvcmtzcGFjZS5pZCA9PT0gaWQpO1xuICAgIGlmICh3a3NGcm9tSWQpIHtcbiAgICAgIHRoaXMuc3RvcmUuYWN0aXZhdGVXb3Jrc3BhY2Uod2tzRnJvbUlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlV29ya3NwYWNlQnlUaXRsZSh0aXRsZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgd2tzRnJvbVRpdGxlID0gdGhpcy5zdG9yZVxuICAgICAgLmFsbCgpXG4gICAgICAuZmluZCgod29ya3NwYWNlKSA9PiB3b3Jrc3BhY2UudGl0bGUgPT09IHRpdGxlKTtcbiAgICBpZiAod2tzRnJvbVRpdGxlKSB7XG4gICAgICB0aGlzLnN0b3JlLmFjdGl2YXRlV29ya3NwYWNlKHdrc0Zyb21UaXRsZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRlYXJkb3duIGFsbCB0aGUgd29ya3NwYWNlc1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudGVhcmRvd25Xb3Jrc3BhY2VzKCk7XG4gICAgdGhpcy5hY3Rpb25NYXhpbWl6ZSQkLm1hcCgoYSkgPT4gYS51bnN1YnNjcmliZSgpKTtcbiAgICBpZiAodGhpcy5yb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQkKSB7XG4gICAgICB0aGlzLnNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQkKSB7XG4gICAgICB0aGlzLnNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRlYXJkb3duIHRoZSB3b3Jrc3BhY2Ugc3RvcmUgYW5kIGFueSBzdWJzY3JpYmVyc1xuICAgKi9cbiAgcHJpdmF0ZSB0ZWFyZG93bldvcmtzcGFjZXMoKSB7XG4gICAgdGhpcy5zdG9yZS5jbGVhcigpO1xuICAgIGlmICh0aGlzLmFjdGl2ZVdvcmtzcGFjZVdpZGdldCQkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlV29ya3NwYWNlV2lkZ2V0JCQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWN0aXZlV29ya3NwYWNlJCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hY3RpdmVXb3Jrc3BhY2UkJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,35 +1,35 @@
1
- /*
2
- * Public API Surface of tools
3
- */
4
- export * from './lib/integration.module';
5
- export * from './lib/about/about.module';
6
- export * from './lib/analytics/analytics.module';
7
- export * from './lib/storage/storage.module';
8
- export * from './lib/context/context.module';
9
- export * from './lib/catalog/catalog.module';
10
- export * from './lib/directions/directions.module';
11
- export * from './lib/draw/draw.module';
12
- export * from './lib/workspace/workspace.module';
13
- export * from './lib/filter/filter.module';
14
- export * from './lib/import-export/import-export.module';
15
- export * from './lib/map/map.module';
16
- export * from './lib/measure/measure.module';
17
- export * from './lib/print/print.module';
18
- export * from './lib/search/search.module';
19
- export * from './lib/tool/tool.module';
20
- export * from './lib/about';
21
- export * from './lib/analytics';
22
- export * from './lib/context';
23
- export * from './lib/catalog';
24
- export * from './lib/directions';
25
- export * from './lib/draw';
26
- export * from './lib/workspace';
27
- export * from './lib/filter';
28
- export * from './lib/import-export';
29
- export * from './lib/map';
30
- export * from './lib/measure';
31
- export * from './lib/print';
32
- export * from './lib/search';
33
- export * from './lib/tool';
34
- export * from './lib/storage';
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHRvb2xzXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZWdyYXRpb24ubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWJvdXQvYWJvdXQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5hbHl0aWNzL2FuYWx5dGljcy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yYWdlL3N0b3JhZ2UubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udGV4dC9jb250ZXh0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhdGFsb2cvY2F0YWxvZy5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYXcvZHJhdy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbHRlci9maWx0ZXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcC9tYXAubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVhc3VyZS9tZWFzdXJlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50L3ByaW50Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaC9zZWFyY2gubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9vbC90b29sLm1vZHVsZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hYm91dCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuYWx5dGljcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRleHQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYXRhbG9nJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aW9ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYXcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi93b3Jrc3BhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWx0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbXBvcnQtZXhwb3J0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFwJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbWVhc3VyZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VhcmNoJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9vbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0b3JhZ2UnO1xyXG4iXX0=
1
+ /*
2
+ * Public API Surface of tools
3
+ */
4
+ export * from './lib/integration.module';
5
+ export * from './lib/about/about.module';
6
+ export * from './lib/analytics/analytics.module';
7
+ export * from './lib/storage/storage.module';
8
+ export * from './lib/context/context.module';
9
+ export * from './lib/catalog/catalog.module';
10
+ export * from './lib/directions/directions.module';
11
+ export * from './lib/draw/draw.module';
12
+ export * from './lib/workspace/workspace.module';
13
+ export * from './lib/filter/filter.module';
14
+ export * from './lib/import-export/import-export.module';
15
+ export * from './lib/map/map.module';
16
+ export * from './lib/measure/measure.module';
17
+ export * from './lib/print/print.module';
18
+ export * from './lib/search/search.module';
19
+ export * from './lib/tool/tool.module';
20
+ export * from './lib/about';
21
+ export * from './lib/analytics';
22
+ export * from './lib/context';
23
+ export * from './lib/catalog';
24
+ export * from './lib/directions';
25
+ export * from './lib/draw';
26
+ export * from './lib/workspace';
27
+ export * from './lib/filter';
28
+ export * from './lib/import-export';
29
+ export * from './lib/map';
30
+ export * from './lib/measure';
31
+ export * from './lib/print';
32
+ export * from './lib/search';
33
+ export * from './lib/tool';
34
+ export * from './lib/storage';
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0b29sc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVncmF0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hYm91dC9hYm91dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5hbHl0aWNzL2FuYWx5dGljcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RvcmFnZS9zdG9yYWdlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZXh0L2NvbnRleHQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhdGFsb2cvY2F0YWxvZy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYXcvZHJhdy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvd29ya3NwYWNlL3dvcmtzcGFjZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsdGVyL2ZpbHRlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXAvbWFwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZWFzdXJlL21lYXN1cmUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50L3ByaW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWFyY2gvc2VhcmNoLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sL3Rvb2wubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWJvdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5hbHl0aWNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2F0YWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYXcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvd29ya3NwYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbXBvcnQtZXhwb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZWFzdXJlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b29sJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0b3JhZ2UnO1xuIl19