@igo2/geo 16.0.0-rc.1 → 16.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +7 -7
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -7
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +3 -3
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +6 -6
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +2 -2
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +13 -13
  9. package/esm2022/lib/catalog/catalog.module.mjs +3 -3
  10. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  11. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  12. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  13. package/esm2022/lib/catalog/shared/catalog.service.mjs +7 -8
  14. package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
  15. package/esm2022/lib/datasource/datasource.module.mjs +1 -1
  16. package/esm2022/lib/datasource/shared/capabilities.service.mjs +10 -10
  17. package/esm2022/lib/datasource/shared/datasource.service.mjs +9 -9
  18. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +2 -2
  21. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +2 -2
  22. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +2 -2
  24. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +2 -2
  28. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +2 -2
  30. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -4
  31. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +2 -2
  32. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +4 -19
  36. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  37. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +5 -5
  39. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -7
  40. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  41. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  42. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +2 -2
  43. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +2 -2
  44. package/esm2022/lib/datasource/utils/tilegrid.mjs +3 -3
  45. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +3 -3
  46. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +6 -6
  47. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +4 -4
  48. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  49. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
  50. package/esm2022/lib/directions/directions.component.mjs +9 -9
  51. package/esm2022/lib/directions/directions.module.mjs +7 -7
  52. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  53. package/esm2022/lib/directions/shared/directions.service.mjs +10 -11
  54. package/esm2022/lib/directions/shared/directions.utils.mjs +7 -7
  55. package/esm2022/lib/directions/shared/store.mjs +1 -1
  56. package/esm2022/lib/download/download-button/download-button.component.mjs +2 -2
  57. package/esm2022/lib/download/download.module.mjs +2 -2
  58. package/esm2022/lib/download/shared/download.service.mjs +3 -3
  59. package/esm2022/lib/draw/draw/draw-popup.component.mjs +8 -8
  60. package/esm2022/lib/draw/draw/draw.component.mjs +29 -29
  61. package/esm2022/lib/draw/draw/draw.module.mjs +15 -15
  62. package/esm2022/lib/draw/drawingTool.module.mjs +1 -1
  63. package/esm2022/lib/draw/shared/draw-icon.service.mjs +1 -1
  64. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  65. package/esm2022/lib/draw/shared/draw.utils.mjs +6 -6
  66. package/esm2022/lib/environment/environment.interface.mjs +2 -0
  67. package/esm2022/lib/environment/index.mjs +2 -0
  68. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +9 -9
  69. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
  70. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +3 -3
  71. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +3 -3
  72. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +2 -2
  73. package/esm2022/lib/feature/feature.module.mjs +2 -2
  74. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  75. package/esm2022/lib/feature/shared/feature.utils.mjs +7 -7
  76. package/esm2022/lib/feature/shared/store.mjs +3 -3
  77. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +4 -4
  78. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +10 -22
  79. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +5 -2
  80. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  81. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  82. package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
  83. package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -5
  84. package/esm2022/lib/feature/shared/strategies.utils.mjs +2 -2
  85. package/esm2022/lib/filter/filter.module.mjs +21 -21
  86. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  87. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +3 -3
  88. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +7 -7
  89. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +6 -6
  90. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +3 -3
  91. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +3 -3
  92. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +4 -4
  93. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  94. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  95. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  96. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  97. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  98. package/esm2022/lib/filter/shared/ogc-filter.mjs +5 -5
  99. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +2 -2
  100. package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
  101. package/esm2022/lib/filter/shared/time-filter.service.mjs +2 -2
  102. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +15 -15
  103. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +7 -7
  104. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +3 -3
  105. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  106. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +3 -3
  107. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  108. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  109. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  110. package/esm2022/lib/geo.module.mjs +4 -4
  111. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
  112. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +1 -1
  113. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +3 -3
  114. package/esm2022/lib/geometry/geometry.module.mjs +2 -2
  115. package/esm2022/lib/geometry/shared/controls/draw.mjs +6 -6
  116. package/esm2022/lib/geometry/shared/controls/modify.mjs +8 -8
  117. package/esm2022/lib/geometry/shared/controls/slice.mjs +2 -2
  118. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  119. package/esm2022/lib/geometry/shared/geometry.utils.mjs +5 -5
  120. package/esm2022/lib/import-export/export-button/export-button.component.mjs +3 -3
  121. package/esm2022/lib/import-export/import-export/import-export.component.mjs +37 -37
  122. package/esm2022/lib/import-export/import-export.module.mjs +3 -3
  123. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +10 -21
  124. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  125. package/esm2022/lib/import-export/shared/export.service.mjs +4 -4
  126. package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
  127. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  128. package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
  129. package/esm2022/lib/import-export/shared/import.utils.mjs +5 -5
  130. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +3 -3
  131. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +6 -6
  132. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +3 -3
  133. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +2 -2
  134. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +3 -3
  135. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +4 -4
  136. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +8 -8
  137. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  138. package/esm2022/lib/layer/layer.module.mjs +9 -9
  139. package/esm2022/lib/layer/shared/layer.service.mjs +16 -16
  140. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  141. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  142. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  143. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  144. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
  145. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  146. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  147. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  148. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  149. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +44 -33
  150. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  151. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +2 -2
  152. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  153. package/esm2022/lib/layer/utils/image-watcher.mjs +2 -2
  154. package/esm2022/lib/layer/utils/tile-watcher.mjs +2 -2
  155. package/esm2022/lib/layer/utils/vector-watcher.mjs +2 -2
  156. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +2 -2
  157. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +4 -4
  158. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  159. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  160. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +7 -9
  161. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +2 -0
  162. package/esm2022/lib/map/home-extent-button/index.mjs +2 -1
  163. package/esm2022/lib/map/map-browser/map-browser.component.mjs +2 -2
  164. package/esm2022/lib/map/map-center/map-center.component.mjs +1 -1
  165. package/esm2022/lib/map/map.module.mjs +14 -14
  166. package/esm2022/lib/map/offline-button/offline-button.component.mjs +1 -1
  167. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  168. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  169. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  170. package/esm2022/lib/map/shared/controllers/geolocation.mjs +8 -8
  171. package/esm2022/lib/map/shared/controllers/view.mjs +3 -3
  172. package/esm2022/lib/map/shared/hover-feature.directive.mjs +15 -15
  173. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +4 -4
  174. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
  175. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  176. package/esm2022/lib/map/shared/map.mjs +9 -6
  177. package/esm2022/lib/map/shared/map.utils.mjs +3 -3
  178. package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
  179. package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
  180. package/esm2022/lib/map/shared/projection.service.mjs +3 -3
  181. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +2 -2
  182. package/esm2022/lib/map/utils/layer-watcher.mjs +2 -2
  183. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +3 -3
  184. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +1 -1
  185. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +2 -2
  186. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  187. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +3 -3
  188. package/esm2022/lib/measure/measurer/measurer.component.mjs +12 -12
  189. package/esm2022/lib/measure/measurer/measurer.module.mjs +6 -6
  190. package/esm2022/lib/measure/shared/measure.utils.mjs +7 -7
  191. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  192. package/esm2022/lib/metadata/metadata.module.mjs +4 -4
  193. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
  194. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +3 -3
  195. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +2 -2
  196. package/esm2022/lib/offline/shared/geo-network.service.mjs +1 -8
  197. package/esm2022/lib/overlay/overlay.module.mjs +1 -1
  198. package/esm2022/lib/overlay/shared/overlay.directive.mjs +1 -1
  199. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  200. package/esm2022/lib/overlay/shared/overlay.service.mjs +1 -1
  201. package/esm2022/lib/print/print/print.component.mjs +2 -2
  202. package/esm2022/lib/print/print-form/print-form.component.mjs +3 -3
  203. package/esm2022/lib/print/print.module.mjs +4 -4
  204. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  205. package/esm2022/lib/print/shared/print.service.mjs +9 -9
  206. package/esm2022/lib/query/query.module.mjs +3 -3
  207. package/esm2022/lib/query/shared/query-search-source.mjs +2 -2
  208. package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
  209. package/esm2022/lib/query/shared/query.directive.mjs +7 -7
  210. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  211. package/esm2022/lib/query/shared/query.service.mjs +10 -10
  212. package/esm2022/lib/search/search-bar/search-bar.component.mjs +5 -5
  213. package/esm2022/lib/search/search-bar/search-bar.module.mjs +2 -2
  214. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +2 -2
  215. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
  216. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +14 -14
  217. package/esm2022/lib/search/search-results/search-results-item.component.mjs +5 -5
  218. package/esm2022/lib/search/search-results/search-results.component.mjs +7 -7
  219. package/esm2022/lib/search/search-results/search-results.module.mjs +11 -11
  220. package/esm2022/lib/search/search-selector/search-selector.component.mjs +3 -3
  221. package/esm2022/lib/search/search-selector/search-selector.module.mjs +2 -2
  222. package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
  223. package/esm2022/lib/search/search-settings/search-settings.module.mjs +3 -3
  224. package/esm2022/lib/search/search.module.mjs +8 -8
  225. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +14 -14
  226. package/esm2022/lib/search/shared/search-source-service.providers.mjs +2 -2
  227. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  228. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  229. package/esm2022/lib/search/shared/search.service.mjs +3 -3
  230. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  231. package/esm2022/lib/search/shared/sources/cadastre.mjs +7 -7
  232. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +2 -2
  233. package/esm2022/lib/search/shared/sources/coordinates.mjs +11 -11
  234. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +3 -3
  235. package/esm2022/lib/search/shared/sources/icherche.mjs +6 -6
  236. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +3 -3
  237. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  238. package/esm2022/lib/search/shared/sources/ilayer.mjs +8 -8
  239. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +2 -2
  240. package/esm2022/lib/search/shared/sources/nominatim.mjs +7 -7
  241. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +2 -2
  242. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  243. package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
  244. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +2 -2
  245. package/esm2022/lib/search/shared/sources/workspace.mjs +6 -6
  246. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
  247. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +2 -2
  248. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  249. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +2 -2
  250. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +2 -2
  251. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +2 -2
  252. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  253. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +1 -1
  254. package/esm2022/lib/style/style-list/style-list.module.mjs +2 -2
  255. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  256. package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
  257. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +24 -33
  258. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +17 -25
  259. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +2 -2
  260. package/esm2022/lib/style/style-service/draw-style.service.mjs +2 -2
  261. package/esm2022/lib/style/style-service/style.service.mjs +3 -3
  262. package/esm2022/lib/style/style.module.mjs +4 -4
  263. package/esm2022/lib/toast/toast.component.mjs +2 -2
  264. package/esm2022/lib/toast/toast.module.mjs +3 -3
  265. package/esm2022/lib/utils/id-generator.mjs +2 -2
  266. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +1 -1
  267. package/esm2022/lib/wkt/shared/wkt.service.mjs +16 -16
  268. package/esm2022/lib/wkt/wkt.module.mjs +1 -1
  269. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +3 -3
  270. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +2 -2
  271. package/esm2022/lib/workspace/shared/edition-workspace.mjs +10 -15
  272. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +7 -7
  273. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  274. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +6 -6
  275. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  276. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +6 -6
  277. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
  278. package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
  279. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  280. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +2 -2
  281. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -7
  282. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +2 -2
  283. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +5 -5
  284. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +2 -2
  285. package/esm2022/lib/workspace/workspace.module.mjs +4 -4
  286. package/esm2022/public_api.mjs +2 -1
  287. package/fesm2022/igo2-geo.mjs +34181 -34233
  288. package/fesm2022/igo2-geo.mjs.map +1 -1
  289. package/geo-theme.scss +23 -21
  290. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +3 -3
  291. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -2
  292. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -3
  293. package/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -0
  294. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +4 -4
  295. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  296. package/lib/catalog/catalog.theming.scss +5 -0
  297. package/lib/catalog/shared/catalog.abstract.d.ts +2 -2
  298. package/lib/catalog/shared/catalog.enum.d.ts +4 -0
  299. package/lib/catalog/shared/catalog.interface.d.ts +10 -5
  300. package/lib/catalog/shared/catalog.service.d.ts +2 -2
  301. package/lib/datasource/shared/capabilities.service.d.ts +2 -2
  302. package/lib/datasource/shared/datasource.service.d.ts +6 -6
  303. package/lib/datasource/shared/datasources/any-datasource.d.ts +11 -11
  304. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +10 -10
  305. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -2
  306. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -1
  307. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -1
  308. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +1 -1
  309. package/lib/datasource/shared/datasources/datasource.d.ts +4 -4
  310. package/lib/datasource/shared/datasources/datasource.interface.d.ts +2 -2
  311. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -1
  312. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -2
  313. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +1 -1
  314. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +1 -1
  315. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -1
  316. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +3 -4
  317. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -2
  318. package/lib/datasource/shared/datasources/wfs.service.d.ts +1 -1
  319. package/lib/datasource/shared/datasources/wms-datasource.d.ts +5 -5
  320. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +2 -2
  321. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +4 -3
  322. package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
  323. package/lib/datasource/shared/options/options-api.service.d.ts +1 -1
  324. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -2
  325. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +3 -3
  326. package/lib/directions/directions-sources/directions-source.interface.d.ts +12 -8
  327. package/lib/directions/directions-sources/osrm-directions-source.d.ts +1 -1
  328. package/lib/directions/directions.component.d.ts +3 -3
  329. package/lib/directions/shared/directions.interface.d.ts +1 -1
  330. package/lib/directions/shared/directions.service.d.ts +5 -5
  331. package/lib/directions/shared/directions.utils.d.ts +3 -3
  332. package/lib/draw/draw/draw-popup.component.d.ts +3 -3
  333. package/lib/draw/draw/draw.component.d.ts +12 -12
  334. package/lib/draw/shared/draw-icon.service.d.ts +1 -1
  335. package/lib/draw/shared/draw.interface.d.ts +3 -3
  336. package/lib/draw/shared/draw.utils.d.ts +4 -4
  337. package/lib/environment/environment.interface.d.ts +48 -0
  338. package/lib/environment/index.d.ts +1 -0
  339. package/lib/feature/feature-details/feature-details.component.d.ts +6 -6
  340. package/lib/feature/feature-details/feature-details.directive.d.ts +2 -2
  341. package/lib/feature/feature-form/feature-form.component.d.ts +1 -1
  342. package/lib/feature/shared/feature.interfaces.d.ts +5 -5
  343. package/lib/feature/shared/feature.utils.d.ts +4 -4
  344. package/lib/feature/shared/store.d.ts +1 -1
  345. package/lib/feature/shared/strategies/geo-properties.d.ts +2 -2
  346. package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
  347. package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
  348. package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
  349. package/lib/feature/shared/strategies/search.d.ts +1 -1
  350. package/lib/feature/shared/strategies/selection.d.ts +2 -2
  351. package/lib/feature/shared/strategies.utils.d.ts +1 -1
  352. package/lib/filter/filter.theming.scss +0 -3
  353. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  354. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +5 -5
  355. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  356. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -1
  357. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +1 -1
  358. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +2 -2
  359. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  360. package/lib/filter/shared/ogc-filter.d.ts +5 -4
  361. package/lib/filter/shared/ogc-filter.interface.d.ts +3 -3
  362. package/lib/filter/shared/spatial-filter.service.d.ts +1 -1
  363. package/lib/filter/shared/time-filter.interface.d.ts +1 -1
  364. package/lib/filter/shared/time-filter.service.d.ts +1 -1
  365. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +13 -13
  366. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +6 -6
  367. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -3
  368. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  369. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +2 -2
  370. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +2 -2
  371. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  372. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +4 -4
  373. package/lib/geometry/shared/controls/draw.d.ts +4 -4
  374. package/lib/geometry/shared/controls/modify.d.ts +4 -4
  375. package/lib/geometry/shared/controls/slice.d.ts +3 -3
  376. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  377. package/lib/geometry/shared/geometry.utils.d.ts +2 -2
  378. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  379. package/lib/import-export/import-export/import-export.component.d.ts +14 -14
  380. package/lib/import-export/shared/drop-geo-file.directive.d.ts +6 -6
  381. package/lib/import-export/shared/export.interface.d.ts +1 -1
  382. package/lib/import-export/shared/export.service.d.ts +2 -2
  383. package/lib/import-export/shared/import.interface.d.ts +1 -0
  384. package/lib/import-export/shared/import.utils.d.ts +3 -3
  385. package/lib/layer/layer-item/layer-item.component.d.ts +2 -2
  386. package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -3
  387. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +2 -2
  388. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  389. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +2 -2
  390. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +2 -2
  391. package/lib/layer/layer-list/layer-list.component.d.ts +5 -5
  392. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  393. package/lib/layer/layer.theming.scss +17 -24
  394. package/lib/layer/shared/layer.service.d.ts +5 -5
  395. package/lib/layer/shared/layers/any-layer.d.ts +1 -1
  396. package/lib/layer/shared/layers/any-layer.interface.d.ts +1 -1
  397. package/lib/layer/shared/layers/image-layer.d.ts +5 -5
  398. package/lib/layer/shared/layers/image-layer.interface.d.ts +3 -3
  399. package/lib/layer/shared/layers/layer.d.ts +6 -6
  400. package/lib/layer/shared/layers/layer.interface.d.ts +2 -2
  401. package/lib/layer/shared/layers/tile-layer.d.ts +6 -6
  402. package/lib/layer/shared/layers/tile-layer.interface.d.ts +8 -8
  403. package/lib/layer/shared/layers/vector-layer.d.ts +18 -11
  404. package/lib/layer/shared/layers/vector-layer.interface.d.ts +13 -13
  405. package/lib/layer/shared/layers/vectortile-layer.d.ts +3 -3
  406. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +4 -4
  407. package/lib/layer/utils/image-watcher.d.ts +1 -1
  408. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  409. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  410. package/lib/map/home-extent-button/home-extent-button.interface.d.ts +6 -0
  411. package/lib/map/home-extent-button/index.d.ts +1 -0
  412. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  413. package/lib/map/shared/controllers/controller.d.ts +1 -1
  414. package/lib/map/shared/controllers/geolocation.d.ts +5 -5
  415. package/lib/map/shared/controllers/geolocation.interface.d.ts +8 -0
  416. package/lib/map/shared/controllers/view.d.ts +2 -2
  417. package/lib/map/shared/hover-feature.directive.d.ts +8 -8
  418. package/lib/map/shared/map-pointer-position.directive.d.ts +2 -2
  419. package/lib/map/shared/map.abstract.d.ts +5 -5
  420. package/lib/map/shared/map.d.ts +14 -10
  421. package/lib/map/shared/mapOffline.directive.d.ts +2 -2
  422. package/lib/map/shared/projection.interfaces.d.ts +1 -3
  423. package/lib/map/utils/layer-watcher.d.ts +2 -2
  424. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  425. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  426. package/lib/measure/measurer/measurer.component.d.ts +5 -5
  427. package/lib/measure/shared/measure.utils.d.ts +5 -5
  428. package/lib/metadata/metadata-button/metadata-button.component.d.ts +1 -1
  429. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
  430. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  431. package/lib/offline/shared/geo-network.service.d.ts +2 -1
  432. package/lib/overlay/shared/overlay.d.ts +1 -1
  433. package/lib/overlay/shared/overlay.directive.d.ts +2 -2
  434. package/lib/print/print/print.component.d.ts +1 -1
  435. package/lib/print/print-form/print-form.component.d.ts +2 -2
  436. package/lib/print/shared/print.interface.d.ts +1 -1
  437. package/lib/print/shared/print.service.d.ts +2 -2
  438. package/lib/query/shared/query.directive.d.ts +4 -4
  439. package/lib/query/shared/query.interfaces.d.ts +3 -3
  440. package/lib/query/shared/query.service.d.ts +3 -3
  441. package/lib/search/search-bar/search-bar.component.d.ts +5 -5
  442. package/lib/search/search-bar/search-url-param.directive.d.ts +1 -1
  443. package/lib/search/search-results/save-feature-dialog.component.d.ts +3 -3
  444. package/lib/search/search-results/search-results-add-button.component.d.ts +7 -7
  445. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  446. package/lib/search/search-results/search-results.component.d.ts +4 -4
  447. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  448. package/lib/search/search-settings/search-settings.component.d.ts +2 -2
  449. package/lib/search/shared/search-pointer-summary.directive.d.ts +5 -5
  450. package/lib/search/shared/search-source-service.providers.d.ts +1 -1
  451. package/lib/search/shared/search.interfaces.d.ts +1 -1
  452. package/lib/search/shared/search.service.d.ts +2 -2
  453. package/lib/search/shared/search.utils.d.ts +1 -1
  454. package/lib/search/shared/sources/cadastre.d.ts +1 -1
  455. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  456. package/lib/search/shared/sources/coordinates.d.ts +5 -5
  457. package/lib/search/shared/sources/coordinates.providers.d.ts +2 -2
  458. package/lib/search/shared/sources/icherche.d.ts +4 -4
  459. package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
  460. package/lib/search/shared/sources/ilayer.d.ts +2 -2
  461. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  462. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  463. package/lib/search/shared/sources/nominatim.d.ts +1 -1
  464. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  465. package/lib/search/shared/sources/source.d.ts +2 -2
  466. package/lib/search/shared/sources/storedqueries.d.ts +4 -4
  467. package/lib/search/shared/sources/storedqueries.providers.d.ts +1 -1
  468. package/lib/search/shared/sources/workspace.d.ts +1 -1
  469. package/lib/style/shared/feature/feature-style.d.ts +2 -2
  470. package/lib/style/shared/overlay/overlay-style.utils.d.ts +1 -1
  471. package/lib/style/shared/vector/conversion.utils.d.ts +1 -1
  472. package/lib/style/shared/vector/vector-style.interface.d.ts +6 -1
  473. package/lib/style/style-list/style-list.provider.d.ts +1 -1
  474. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +3 -3
  475. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +3 -3
  476. package/lib/style/style-service/draw-style.service.d.ts +1 -1
  477. package/lib/style/style-service/style.service.d.ts +3 -3
  478. package/lib/utils/id-generator.d.ts +2 -2
  479. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  480. package/lib/workspace/shared/edition-workspace.d.ts +7 -9
  481. package/lib/workspace/shared/edition-workspace.service.d.ts +5 -5
  482. package/lib/workspace/shared/feature-workspace.service.d.ts +3 -3
  483. package/lib/workspace/shared/wfs-workspace.service.d.ts +3 -3
  484. package/lib/workspace/shared/wms-workspace.service.d.ts +4 -4
  485. package/lib/workspace/shared/workspace.utils.d.ts +4 -4
  486. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  487. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +4 -4
  488. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -3
  489. package/locale/en.geo.json +9 -3
  490. package/locale/fr.geo.json +9 -3
  491. package/package.json +4 -4
  492. package/public_api.d.ts +1 -0
  493. package/style/style.css +0 -1
  494. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.theming.scss +0 -15
@@ -1,11 +1,11 @@
1
- import * as olstyle from 'ol/style';
2
- import OlPoint from 'ol/geom/Point';
3
- import OlLineString from 'ol/geom/LineString';
4
- import OlPolygon from 'ol/geom/Polygon';
5
- import OlCircle from 'ol/geom/Circle';
6
1
  import OlOverlay from 'ol/Overlay';
7
2
  import { getCenter as olGetCenter } from 'ol/extent';
8
- import { getLength as olGetLength, getArea as olGetArea } from 'ol/sphere';
3
+ import OlCircle from 'ol/geom/Circle';
4
+ import OlLineString from 'ol/geom/LineString';
5
+ import OlPoint from 'ol/geom/Point';
6
+ import OlPolygon from 'ol/geom/Polygon';
7
+ import { getArea as olGetArea, getLength as olGetLength } from 'ol/sphere';
8
+ import * as olstyle from 'ol/style';
9
9
  import { MeasureAreaUnit, MeasureAreaUnitAbbreviation, MeasureLengthUnit, MeasureLengthUnitAbbreviation } from './measure.enum';
10
10
  /**
11
11
  * Convert value from meters to kilometers
@@ -494,4 +494,4 @@ export function createOlTooltipAtPoint(olPoint, center = false, srcGeomType = ''
494
494
  olPoint.set('_tooltip', olTooltip);
495
495
  return olTooltip;
496
496
  }
497
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21lYXN1cmUvc2hhcmVkL21lYXN1cmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxJQUFJLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxJQUFJLFdBQVcsRUFBRSxPQUFPLElBQUksU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRzNFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQiw2QkFBNkIsRUFDOUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4Qjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQWE7SUFDOUMsT0FBTyxLQUFLLEdBQUcsS0FBSyxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFhO0lBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sQ0FBQztBQUN4QixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBYTtJQUN6QyxPQUFPLEtBQUssR0FBRyxRQUFRLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsOEJBQThCLENBQUMsS0FBYTtJQUMxRCxPQUFPLEtBQUssR0FBRyxRQUFRLENBQUM7QUFD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bnQiOlsiaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgKiBhcyBvbHN0eWxlIGZyb20gJ29sL3N0eWxlJztcbmltcG9ydCBPbFBvaW50IGZyb20gJ29sL2dlb20vUG9pbnQnO1xuaW1wb3J0IE9sTGluZVN0cmluZyBmcm9tICdvbC9nZW9tL0xpbmVTdHJpbmcnO1xuaW1wb3J0IE9sUG9seWdvbiBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IE9sQ2lyY2xlIGZyb20gJ29sL2dlb20vQ2lyY2xlJztcbmltcG9ydCBPbE92ZXJsYXkgZnJvbSAnb2wvT3ZlcmxheSc7XG5pbXBvcnQgeyBnZXRDZW50ZXIgYXMgb2xHZXRDZW50ZXIgfSBmcm9tICdvbC9leHRlbnQnO1xuaW1wb3J0IHsgZ2V0TGVuZ3RoIGFzIG9sR2V0TGVuZ3RoLCBnZXRBcmVhIGFzIG9sR2V0QXJlYSB9IGZyb20gJ29sL3NwaGVyZSc7XG5cbmltcG9ydCB7IE1lYXN1cmUgfSBmcm9tICcuL21lYXN1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBNZWFzdXJlQXJlYVVuaXQsXG4gIE1lYXN1cmVBcmVhVW5pdEFiYnJldmlhdGlvbixcbiAgTWVhc3VyZUxlbmd0aFVuaXQsXG4gIE1lYXN1cmVMZW5ndGhVbml0QWJicmV2aWF0aW9uXG59IGZyb20gJy4vbWVhc3VyZS5lbnVtJztcblxuLyoqXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gbWV0ZXJzIHRvIGtpbG9tZXRlcnNcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcbiAqIEByZXR1cm5zIFZhbHVlIGluIGtpbG9tZXRlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ldGVyc1RvS2lsb21ldGVycyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHZhbHVlICogMC4wMDE7XG59XG5cbi8qKlxuICogQ29udmVydCB2YWx1ZSBmcm9tIG1ldGVycyB0byBmZWV0XG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gbWV0ZXJzXG4gKiBAcmV0dXJucyBWYWx1ZSBpbiBmZWV0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXRlcnNUb0ZlZXQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiB2YWx1ZSAqIDMuMjgwODtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gbWV0ZXJzIHRvIG1pbGVzXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gbWV0ZXJzXG4gKiBAcmV0dXJucyBWYWx1ZSBpbiBtaWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWV0ZXJzVG9NaWxlcyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHZhbHVlICogMC4wMDA2MjE7XG59XG5cbi8qKlxuICogQ29udmVydCB2YWx1ZSBmcm9tIHNxdWFyZSBtZXRlcnMgdG8gc3F1YXJlIGtpbG9tZXRlcnNcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBzcXVhcmUgbWV0ZXJzXG4gKiBAcmV0dXJucyBWYWx1ZSBpbiBzcXVhcmUga2lsb21ldGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3F1YXJlTWV0ZXJzVG9TcXVhcmVLaWxvbWV0ZXJzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gdmFsdWUgKiAwLjAwMDAwMTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gc3F1YXJlIG1ldGVycyB0byBzcXVhcmUgbWlsZXNcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBzcXVhcmUgbWV0ZXJzXG4gKiBAcmV0dXJucyBWYWx1ZSBpbiBzcXVhcmUgbWlsZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNxdWFyZU1ldGVyc1RvU3F1YXJlTWlsZXModmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiB2YWx1ZSAqIDAuMDAwMDAwMzg2MTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gc3F1YXJlIG1ldGVycyB0byBzcXVhcmUgZmVldFxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIHNxdWFyZSBtZXRlcnNcbiAqIEByZXR1cm5zIFZhbHVlIGluIHNxdWFyZSBmZWV0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcXVhcmVNZXRlcnNUb1NxdWFyZUZlZXQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiB2YWx1ZSAqIDEwLjc2NDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gc3F1YXJlIG1ldGVycyB0byBoZWN0YXJlc1xuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIHNxdWFyZSBtZXRlcnNcbiAqIEByZXR1cm5zIFZhbHVlIGluIGhlY3RhcmVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcXVhcmVNZXRlcnNUb0hlY3RhcmVzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gdmFsdWUgKiAwLjAwMDE7XG59XG5cbi8qKlxuICogQ29udmVydCB2YWx1ZSBmcm9tIHNxdWFyZSBtZXRlcnMgdG8gYWNyZXNcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBzcXVhcmUgbWV0ZXJzXG4gKiBAcmV0dXJucyBWYWx1ZSBpbiBhY3Jlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3F1YXJlTWV0ZXJzVG9BY3Jlcyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHZhbHVlICogMC4wMDAyNDcxMTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gbWV0ZXJzIHRvIHRoZSBzcGVjaWZpZWQgbGVuZ3RoIHVuaXRcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcbiAqIEBwYXJhbSB1bml0IExlbmd0aCB1bml0XG4gKiBAcmV0dXJucyBWYWx1ZSBpbiB1bml0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXRlcnNUb1VuaXQoXG4gIHZhbHVlOiBudW1iZXIsXG4gIHVuaXQ6IE1lYXN1cmVMZW5ndGhVbml0XG4pOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBjb25zdCBjb252ZXJzaW9uTWFwcGVyID0gbmV3IE1hcChbXG4gICAgW01lYXN1cmVMZW5ndGhVbml0Lk1ldGVycywgKHZhbDogbnVtYmVyKSA9PiB2YWxdLFxuICAgIFtNZWFzdXJlTGVuZ3RoVW5pdC5LaWxvbWV0ZXJzLCBtZXRlcnNUb0tpbG9tZXRlcnNdLFxuICAgIFtNZWFzdXJlTGVuZ3RoVW5pdC5NaWxlcywgbWV0ZXJzVG9NaWxlc10sXG4gICAgW01lYXN1cmVMZW5ndGhVbml0LkZlZXQsIG1ldGVyc1RvRmVldF1cbiAgXSk7XG4gIGNvbnN0IGNvbnZlcnNpb24gPSBjb252ZXJzaW9uTWFwcGVyLmdldCh1bml0KTtcblxuICByZXR1cm4gY29udmVyc2lvbiA/IGNvbnZlcnNpb24odmFsdWUpIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBzcXVhcmUgbWV0ZXJzIHRvIHRoZSBzcGVjaWZpZWQgYXJlYSB1bml0XG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gbWV0ZXJzXG4gKiBAcGFyYW0gdW5pdCBBcmVhIHVuaXRcbiAqIEByZXR1cm5zIFZhbHVlIGluIHVuaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNxdWFyZU1ldGVyc1RvVW5pdChcbiAgdmFsdWU6IG51bWJlcixcbiAgdW5pdDogTWVhc3VyZUFyZWFVbml0XG4pOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBjb25zdCBjb252ZXJzaW9uTWFwcGVyID0gbmV3IE1hcChbXG4gICAgW01lYXN1cmVBcmVhVW5pdC5TcXVhcmVNZXRlcnMsICh2YWw6IG51bWJlcikgPT4gdmFsXSxcbiAgICBbTWVhc3VyZUFyZWFVbml0LlNxdWFyZUtpbG9tZXRlcnMsIHNxdWFyZU1ldGVyc1RvU3F1YXJlS2lsb21ldGVyc10sXG4gICAgW01lYXN1cmVBcmVhVW5pdC5TcXVhcmVNaWxlcywgc3F1YXJlTWV0ZXJzVG9TcXVhcmVNaWxlc10sXG4gICAgW01lYXN1cmVBcmVhVW5pdC5TcXVhcmVGZWV0LCBzcXVhcmVNZXRlcnNUb1NxdWFyZUZlZXRdLFxuICAgIFtNZWFzdXJlQXJlYVVuaXQuSGVjdGFyZXMsIHNxdWFyZU1ldGVyc1RvSGVjdGFyZXNdLFxuICAgIFtNZWFzdXJlQXJlYVVuaXQuQWNyZXMsIHNxdWFyZU1ldGVyc1RvQWNyZXNdXG4gIF0pO1xuICBjb25zdCBjb252ZXJzaW9uID0gY29udmVyc2lvbk1hcHBlci5nZXQodW5pdCk7XG5cbiAgcmV0dXJuIGNvbnZlcnNpb24gPyBjb252ZXJzaW9uKHZhbHVlKSA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBUaGlzIG1ldGhvZCBmb3JtYXQgYSBtZWFzdXJlIHRvIGEgcmVhZGFibGUgZm9ybWF0XG4gKiBAcGFyYW0gbWVhc3VyZSBNZWFzdXJlXG4gKiBAcGFyYW0gb3B0aW9ucyBGb3JtYXR0aW5nIG9wdGlvbnNcbiAqIEByZXR1cm5zIEZvcm1hdHRlZCBtZWFzdXJlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRNZWFzdXJlKFxuICBtZWFzdXJlOiBudW1iZXIsXG4gIG9wdGlvbnM/OiB7XG4gICAgZGVjaW1hbD86IG51bWJlcjtcbiAgICB1bml0PzogTWVhc3VyZUFyZWFVbml0IHwgTWVhc3VyZUxlbmd0aFVuaXQ7XG4gICAgdW5pdEFiYnI/OiBib29sZWFuO1xuICAgIGxvY2FsZT86IHN0cmluZztcbiAgfSxcbiAgbGFuZ3VhZ2VTZXJ2aWNlPzogTGFuZ3VhZ2VTZXJ2aWNlXG4pIHtcbiAgbGV0IGRlY2ltYWwgPSBvcHRpb25zLmRlY2ltYWw7XG4gIGlmIChkZWNpbWFsID09PSB1bmRlZmluZWQgfHwgZGVjaW1hbCA8IDApIHtcbiAgICBkZWNpbWFsID0gMTtcbiAgfVxuXG4gIGNvbnN0IHBhcnRzID0gW107XG4gIGlmIChvcHRpb25zLmxvY2FsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcGFydHMucHVzaChcbiAgICAgIG1lYXN1cmUudG9Mb2NhbGVTdHJpbmcob3B0aW9ucy5sb2NhbGUsIHtcbiAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBkZWNpbWFsLFxuICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGRlY2ltYWxcbiAgICAgIH0pXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJ0cy5wdXNoKG1lYXN1cmUudG9GaXhlZChkZWNpbWFsKS50b1N0cmluZygpKTtcbiAgfVxuXG4gIGlmIChvcHRpb25zLnVuaXQgIT09IHVuZGVmaW5lZCAmJiBvcHRpb25zLnVuaXRBYmJyID09PSB0cnVlKSB7XG4gICAgaWYgKGxhbmd1YWdlU2VydmljZSkge1xuICAgICAgcGFydHMucHVzaChcbiAgICAgICAgTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25bb3B0aW9ucy51bml0XVxuICAgICAgICAgID8gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAnaWdvLmdlby5tZWFzdXJlLicgKyBNZWFzdXJlTGVuZ3RoVW5pdEFiYnJldmlhdGlvbltvcHRpb25zLnVuaXRdXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICdpZ28uZ2VvLm1lYXN1cmUuJyArIE1lYXN1cmVBcmVhVW5pdEFiYnJldmlhdGlvbltvcHRpb25zLnVuaXRdXG4gICAgICAgICAgICApXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICBNZWFzdXJlTGVuZ3RoVW5pdEFiYnJldmlhdGlvbltvcHRpb25zLnVuaXRdIHx8XG4gICAgICAgICAgTWVhc3VyZUFyZWFVbml0QWJicmV2aWF0aW9uW29wdGlvbnMudW5pdF1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhcnRzLmZpbHRlcigocCkgPT4gcCAhPT0gdW5kZWZpbmVkKS5qb2luKCcgJyk7XG59XG5cbi8qKlxuICogQ29tcHV0ZSBiZXN0IGxlbmd0aCBtZWFzdXJlIHVuaXQgZm9yIGEgZ2l2ZW4gbWVhc3VyZSBpbiBtZXRlcnNcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcbiAqIEByZXR1cm5zIE1lYXN1cmUgdW5pdFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZUJlc3RMZW5ndGhVbml0KHZhbHVlOiBudW1iZXIpOiBNZWFzdXJlTGVuZ3RoVW5pdCB7XG4gIGxldCB1bml0ID0gTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzO1xuICBsZXQgY29udmVydGVkID0gdmFsdWU7XG4gIGNvbnN0IHBvc3NpYmxlVW5pdHMgPSBbTWVhc3VyZUxlbmd0aFVuaXQuS2lsb21ldGVyc107XG4gIHdoaWxlIChjb252ZXJ0ZWQgPiAxMDAwICYmIHBvc3NpYmxlVW5pdHMubGVuZ3RoID4gMCkge1xuICAgIHVuaXQgPSBwb3NzaWJsZVVuaXRzLnBvcCgpO1xuICAgIGNvbnZlcnRlZCA9IG1ldGVyc1RvVW5pdCh2YWx1ZSwgdW5pdCk7XG4gIH1cbiAgcmV0dXJuIHVuaXQ7XG59XG5cbi8qKlxuICogQ29tcHV0ZSBiZXN0IGxlbmd0aCBtZWFzdXJlIHVuaXQgZm9yIGEgZ2l2ZW4gbWVhc3VyZSBpbiBzcXVhcmUgbWV0ZXJzXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gbWV0ZXJzXG4gKiBAcmV0dXJucyBNZWFzdXJlIHVuaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVCZXN0QXJlYVVuaXQodmFsdWU6IG51bWJlcik6IE1lYXN1cmVBcmVhVW5pdCB7XG4gIGxldCB1bml0ID0gTWVhc3VyZUFyZWFVbml0LlNxdWFyZU1ldGVycztcbiAgbGV0IGNvbnZlcnRlZCA9IHZhbHVlO1xuICBjb25zdCBwb3NzaWJsZVVuaXRzID0gW01lYXN1cmVBcmVhVW5pdC5TcXVhcmVLaWxvbWV0ZXJzXTtcbiAgd2hpbGUgKGNvbnZlcnRlZCA+IDEwMDAwMDAgJiYgcG9zc2libGVVbml0cy5sZW5ndGggPiAwKSB7XG4gICAgdW5pdCA9IHBvc3NpYmxlVW5pdHMucG9wKCk7XG4gICAgY29udmVydGVkID0gc3F1YXJlTWV0ZXJzVG9Vbml0KHZhbHVlLCB1bml0KTtcbiAgfVxuICByZXR1cm4gdW5pdDtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IHN0eWxlIGZvciBhIG1lYXN1cmUgaW50ZXJhY3Rpb25cbiAqIEByZXR1cm5zIE9MIHN0eWxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNZWFzdXJlSW50ZXJhY3Rpb25TdHlsZSgpOiBvbHN0eWxlLlN0eWxlIHtcbiAgcmV0dXJuIG5ldyBvbHN0eWxlLlN0eWxlKHtcbiAgICBzdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7XG4gICAgICBjb2xvcjogJyNmZmNjMzMnLFxuICAgICAgbGluZURhc2g6IFsxMCwgMTBdLFxuICAgICAgd2lkdGg6IDJcbiAgICB9KSxcbiAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcbiAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpJ1xuICAgIH0pLFxuICAgIGltYWdlOiBuZXcgb2xzdHlsZS5DaXJjbGUoe1xuICAgICAgcmFkaXVzOiA1LFxuICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xuICAgICAgICBjb2xvcjogJyNmZmNjMzMnXG4gICAgICB9KSxcbiAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoe1xuICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSdcbiAgICAgIH0pXG4gICAgfSlcbiAgfSk7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgZGVmYXVsdCBzdHlsZSBmb3IgYSBtZWFzdXJlIGxheWVyXG4gKiBAcmV0dXJucyBPTCBzdHlsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWVhc3VyZUxheWVyU3R5bGUoKTogb2xzdHlsZS5TdHlsZSB7XG4gIHJldHVybiBuZXcgb2xzdHlsZS5TdHlsZSh7XG4gICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xuICAgICAgY29sb3I6ICcjZmZjYzMzJyxcbiAgICAgIHdpZHRoOiAyXG4gICAgfSksXG4gICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7XG4gICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSdcbiAgICB9KVxuICB9KTtcbn1cblxuLyoqXG4gKiBDb21wdXRlIHRoZSBsZW5ndGggaW4gbWV0ZXJzIG9mIGFuIE9MIGdlb21ldHJ5IHdpdGggYSBnaXZlbiBwcm9qZWN0aW9uXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBnZW9tZXRyeVxuICogQHBhcmFtIHByb2plY3Rpb24gb2xHZW9tZXRyeSdzIHByb2plY3Rpb25cbiAqIEByZXR1cm5zIExlbmd0aCBpbiBtZXRlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lYXN1cmVPbEdlb21ldHJ5TGVuZ3RoKFxuICBvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGUsXG4gIHByb2plY3Rpb246IHN0cmluZ1xuKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvaW50KSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAob2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiBvbEdldExlbmd0aChvbEdlb21ldHJ5LCB7IHByb2plY3Rpb24gfSk7XG59XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgYXJlYSBpbiBzcXVhcmUgbWV0ZXJzIG9mIGFuIE9MIGdlb21ldHJ5IHdpdGggYSBnaXZlbiBwcm9qZWN0aW9uXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBnZW9tZXRyeVxuICogQHBhcmFtIHByb2plY3Rpb24gb2xHZW9tZXRyeSdzIHByb2plY3Rpb25cbiAqIEByZXR1cm5zIEFyZWEgaW4gc3F1YXJlIG1ldGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZU9sR2VvbWV0cnlBcmVhKFxuICBvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGUsXG4gIHByb2plY3Rpb246IHN0cmluZ1xuKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvaW50IHx8IG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbExpbmVTdHJpbmcpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmIChvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIG9sR2V0QXJlYShvbEdlb21ldHJ5LCB7IHByb2plY3Rpb24gfSk7XG59XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgYXJlYSAoc3F1YXJlIG1ldGVycyksIGxlbmd0aCAobWV0ZXJzKSBhbmQgbGFzdCBsZW5ndGggKG1ldGVycylcbiAqIG9mIGFuIE9MIGdlb21ldHJ5IHdpdGggYSBnaXZlbiBwcm9qZWN0aW9uLlxuICogQHBhcmFtIG9sR2VvbWV0cnkgT2wgZ2VvbWV0cnlcbiAqIEBwYXJhbSBwcm9qZWN0aW9uIG9sR2VvbWV0cnkncyBwcm9qZWN0aW9uXG4gKiBAcmV0dXJucyBDb21wdXRlZCBtZWFzdXJlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZWFzdXJlT2xHZW9tZXRyeShcbiAgb2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlLFxuICBwcm9qZWN0aW9uOiBzdHJpbmdcbik6IE1lYXN1cmUge1xuICBjb25zdCBsZW5ndGggPSBtZWFzdXJlT2xHZW9tZXRyeUxlbmd0aChvbEdlb21ldHJ5LCBwcm9qZWN0aW9uKTtcbiAgY29uc3QgYXJlYSA9IG1lYXN1cmVPbEdlb21ldHJ5QXJlYShvbEdlb21ldHJ5LCBwcm9qZWN0aW9uKTtcblxuICBjb25zdCBsZW5ndGhzID0gW107XG4gIGNvbnN0IGNvb3JkaW5hdGVzID0gb2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKTtcbiAgY29uc3QgY29vcmRpbmF0ZXNMZW5ndGggPSBjb29yZGluYXRlcy5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDw9IGNvb3JkaW5hdGVzTGVuZ3RoIC0gNDsgaSArPSAyKSB7XG4gICAgY29uc3Qgb2xTZWdtZW50ID0gbmV3IE9sTGluZVN0cmluZyhbXG4gICAgICBbY29vcmRpbmF0ZXNbaV0sIGNvb3JkaW5hdGVzW2kgKyAxXV0sXG4gICAgICBbY29vcmRpbmF0ZXNbaSArIDJdLCBjb29yZGluYXRlc1tpICsgM11dXG4gICAgXSk7XG5cbiAgICBsZW5ndGhzLnB1c2gobWVhc3VyZU9sR2VvbWV0cnlMZW5ndGgob2xTZWdtZW50LCBwcm9qZWN0aW9uKSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGFyZWEsXG4gICAgbGVuZ3RoLFxuICAgIGxlbmd0aHNcbiAgfTtcbn1cblxuLyoqXG4gKiBVcGRhdGUgYW4gT0wgZ2VvbWV0cnkgbWlkcG9pbnRzIGFuZCByZXR1cm4gYW4gYXJyYXkgb2YgdGhvc2UgcG9pbnRzXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICogQHJldHVybnMgT0wgcG9pbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVPbEdlb21ldHJ5TWlkcG9pbnRzKFxuICBvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGVcbik6IE9sUG9pbnRbXSB7XG4gIGxldCBvbE1pZHBvaW50cztcbiAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvaW50KSB7XG4gICAgY29uc3Qgb2xNaWRwb2ludFBvaW50ID0gbmV3IE9sUG9pbnQob2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKSk7XG4gICAgb2xNaWRwb2ludHMgPSBuZXcgQXJyYXkoMSk7XG4gICAgb2xNaWRwb2ludHNbMF0gPSBvbE1pZHBvaW50UG9pbnQ7XG4gIH0gZWxzZSB7XG4gICAgb2xNaWRwb2ludHMgPSBnZXRPbEdlb21ldHJ5TWlkcG9pbnRzKG9sR2VvbWV0cnkpO1xuICAgIC8vIFRPRE86IGhhbmRsZSBtdWx0aSBnZW9tZXRyaWVzXG4gICAgY29uc3QgY29vcmRpbmF0ZXMgPSBvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpO1xuICAgIGNvbnN0IG1pZHBvaW50c0xlbmd0aCA9IG9sTWlkcG9pbnRzLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pZHBvaW50c0xlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBqID0gaSAqIDI7XG4gICAgICBjb25zdCBvbFNlZ21lbnQgPSBuZXcgT2xMaW5lU3RyaW5nKFtcbiAgICAgICAgW2Nvb3JkaW5hdGVzW2pdLCBjb29yZGluYXRlc1tqICsgMV1dLFxuICAgICAgICBbY29vcmRpbmF0ZXNbaiArIDJdLCBjb29yZGluYXRlc1tqICsgM11dXG4gICAgICBdKTtcblxuICAgICAgY29uc3QgbWlkcG9pbnRDb29yZGluYXRlID0gb2xTZWdtZW50LmdldENvb3JkaW5hdGVBdCgwLjUpO1xuICAgICAgY29uc3Qgb2xNaWRwb2ludCA9IG9sTWlkcG9pbnRzW2ldO1xuICAgICAgaWYgKG9sTWlkcG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBvbE1pZHBvaW50LnNldENvb3JkaW5hdGVzKG1pZHBvaW50Q29vcmRpbmF0ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbE1pZHBvaW50c1tpXSA9IG5ldyBPbFBvaW50KG1pZHBvaW50Q29vcmRpbmF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBvbE1pZHBvaW50cztcbn1cblxuLyoqXG4gKiBDbGVhciBhbiBPTCBnZW9tZXRyeSBtaWRwb2ludHMgYW5kIHJldHVybiBhbiBhcnJheSBvZiB0aG9zZSBwb2ludHNcbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9MIEdlb21ldHJ5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGVhck9sR2VvbWV0cnlNaWRwb2ludHMoXG4gIG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZVxuKSB7XG4gIGNvbnN0IG9sTWlkcG9pbnRzID0gb2xHZW9tZXRyeS5nZXQoJ19taWRwb2ludHMnKSB8fCBbXTtcbiAgY29uc3QgbWlkcG9pbnRzTGVuZ3RoID0gb2xNaWRwb2ludHMubGVuZ3RoO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IG1pZHBvaW50c0xlbmd0aDsgaSsrKSB7XG4gICAgY29uc3Qgb2xNaWRwb2ludCA9IG9sTWlkcG9pbnRzW2ldO1xuICAgIGlmIChvbE1pZHBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChvbE1pZHBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY2xlYXJPbE1pZHBvaW50VG9vbHRpcChvbE1pZHBvaW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbEdlb21ldHJ5LnNldCgnX21pZHBvaW50cycsIHVuZGVmaW5lZCwgdHJ1ZSk7XG5cbiAgcmV0dXJuIG9sTWlkcG9pbnRzO1xufVxuXG4vKipcbiAqIFJldHVybiBhbiBhcnJheSBvZiAgT0wgZ2VvbWV0cnkgbWlkcG9pbnRzLCBpZiBhbnlcbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9MIEdlb21ldHJ5XG4gKiBAcmV0dXJucyBPTCBwb2ludHNcbiAqL1xuZnVuY3Rpb24gZ2V0T2xHZW9tZXRyeU1pZHBvaW50cyhcbiAgb2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlXG4pOiBPbFBvaW50W10ge1xuICBsZXQgZXhwZWN0ZWROdW1iZXI7XG4gIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xDaXJjbGUpIHtcbiAgICBleHBlY3RlZE51bWJlciA9IDA7XG4gIH0gZWxzZSB7XG4gICAgZXhwZWN0ZWROdW1iZXIgPSBNYXRoLm1heChcbiAgICAgIG9sR2VvbWV0cnkuZ2V0RmxhdENvb3JkaW5hdGVzKCkubGVuZ3RoIC8gMiAtIDEsXG4gICAgICAwXG4gICAgKTtcbiAgfVxuICAvLyBUT0RPOiBUaGlzIHdvcmtzIGJ1dCBpdCdzIHF1aXRlIG1lc3N5LiBJZiB0aW1lIHBlcm1pdHMsXG4gIC8vIGNsZWFuIHRoaXMuIE1heWJlIGEgVG9vbHRpcCBjbGFzcyBjb3VsZCBoYW5kbGUgdGhhdFxuICBsZXQgb2xNaWRwb2ludHMgPSBvbEdlb21ldHJ5LmdldCgnX21pZHBvaW50cycpO1xuXG4gIGlmIChvbE1pZHBvaW50cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvaW50KSB7XG4gICAgICBvbE1pZHBvaW50cyA9IG5ldyBBcnJheSgxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb2xNaWRwb2ludHMgPSBuZXcgQXJyYXkoZXhwZWN0ZWROdW1iZXIpO1xuICAgIH1cbiAgICBvbEdlb21ldHJ5LnNldCgnX21pZHBvaW50cycsIG9sTWlkcG9pbnRzLCB0cnVlKTtcbiAgICByZXR1cm4gb2xNaWRwb2ludHM7XG4gIH1cblxuICBpZiAoZXhwZWN0ZWROdW1iZXIgPT09IDApIHtcbiAgICByZXR1cm4gb2xNaWRwb2ludHM7XG4gIH1cblxuICBpZiAoZXhwZWN0ZWROdW1iZXIgPT09IG9sTWlkcG9pbnRzLmxlbmd0aCkge1xuICAgIHJldHVybiBvbE1pZHBvaW50cztcbiAgfVxuXG4gIGlmIChleHBlY3RlZE51bWJlciA+IG9sTWlkcG9pbnRzLmxlbmd0aCkge1xuICAgIG9sTWlkcG9pbnRzLnB1c2goLi4ubmV3IEFycmF5KGV4cGVjdGVkTnVtYmVyIC0gb2xNaWRwb2ludHMubGVuZ3RoKSk7XG4gICAgcmV0dXJuIG9sTWlkcG9pbnRzO1xuICB9XG5cbiAgZm9yIChsZXQgaSA9IGV4cGVjdGVkTnVtYmVyOyBpIDwgb2xNaWRwb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBvbE1pZHBvaW50ID0gb2xNaWRwb2ludHNbZXhwZWN0ZWROdW1iZXJdO1xuICAgIGlmIChvbE1pZHBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFyT2xNaWRwb2ludFRvb2x0aXAob2xNaWRwb2ludCk7XG4gICAgfVxuICB9XG4gIG9sTWlkcG9pbnRzLnNwbGljZShleHBlY3RlZE51bWJlcik7XG5cbiAgcmV0dXJuIG9sTWlkcG9pbnRzO1xufVxuXG4vKipcbiAqIFJlbW92ZSBhbiBPTCBtaWRwb2ludCdzIHRvb2x0aXAgZnJvbSB0aGUgbWFwXG4gKiBAcGFyYW0gb2xNaWRwb2ludCBPTCBQb2ludFxuICovXG5mdW5jdGlvbiBjbGVhck9sTWlkcG9pbnRUb29sdGlwKG9sTWlkcG9pbnQ6IE9sUG9pbnQpIHtcbiAgY29uc3Qgb2xUb29sdGlwID0gb2xNaWRwb2ludC5nZXQoJ190b29sdGlwJyk7XG4gIGlmIChvbFRvb2x0aXAgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG9sTWFwID0gb2xUb29sdGlwLmdldE1hcCgpO1xuICAgIGlmIChvbE1hcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvbE1hcC5yZW1vdmVPdmVybGF5KG9sVG9vbHRpcCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQWRkIGFuIE9MIG92ZXJsYXkgYXQgZWFjaCBtaWRwb2ludCBhbmQgcmV0dXJuIGFuIGFycmF5IG9mIHRob3NlIG92ZXJsYXlzXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICogQHJldHVybnMgT0wgb3ZlcmxheXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU9sVG9vbHRpcHNBdE1pZHBvaW50cyhcbiAgb2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlXG4pOiBPbE92ZXJsYXlbXSB7XG4gIGNvbnN0IG9sTWlkcG9pbnRzID0gdXBkYXRlT2xHZW9tZXRyeU1pZHBvaW50cyhvbEdlb21ldHJ5KTtcbiAgbGV0IHR5cGVHZW9tID0gJyc7XG4gIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xMaW5lU3RyaW5nKSB7XG4gICAgdHlwZUdlb20gPSAnbGluZS0nO1xuICB9IGVsc2UgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvbHlnb24pIHtcbiAgICB0eXBlR2VvbSA9ICdwb2x5Z29uZS0nO1xuICB9XG4gIGNvbnN0IG9sVG9vbHRpcHMgPSBvbE1pZHBvaW50cy5tYXAoKG9sTWlkcG9pbnQ6IE9sUG9pbnQpID0+IHtcbiAgICBsZXQgb2xUb29sdGlwID0gb2xNaWRwb2ludC5nZXQoJ190b29sdGlwJyk7XG4gICAgaWYgKG9sVG9vbHRpcCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvbFRvb2x0aXAgPSBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KG9sTWlkcG9pbnQsIGZhbHNlLCB0eXBlR2VvbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9sVG9vbHRpcC5zZXRQb3NpdGlvbihvbE1pZHBvaW50LmdldEZsYXRDb29yZGluYXRlcygpKTtcbiAgICB9XG4gICAgcmV0dXJuIG9sVG9vbHRpcDtcbiAgfSk7XG4gIHJldHVybiBvbFRvb2x0aXBzO1xufVxuXG4vKipcbiAqIFJldHVybiBhbiBhcnJheSBvZiBPTCBvdmVybGF5IGF0IG1pZHNwb2ludHMsIGlmIGFueVxuICogQHBhcmFtIG9sR2VvbWV0cnkgT0wgR2VvbWV0cnlcbiAqIEByZXR1cm5zIE9MIG92ZXJsYXlzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPbFRvb2x0aXBzQXRNaWRwb2ludHMoXG4gIG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZVxuKTogT2xPdmVybGF5W10ge1xuICBjb25zdCBvbE1pZHBvaW50cyA9IGdldE9sR2VvbWV0cnlNaWRwb2ludHMob2xHZW9tZXRyeSk7XG4gIHJldHVybiBvbE1pZHBvaW50cy5tYXAoKG9sTWlkcG9pbnQ6IE9sUG9pbnQpID0+IHtcbiAgICByZXR1cm4gb2xNaWRwb2ludCA/IG9sTWlkcG9pbnQuZ2V0KCdfdG9vbHRpcCcpIDogdW5kZWZpbmVkO1xuICB9KTtcbn1cblxuLyoqXG4gKiBVcGRhdGUgYW4gT0wgZ2VvbWV0cnkgY2VudGVyIGFuZCByZXR1cm4gaXRcbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9MIEdlb21ldHJ5XG4gKiBAcmV0dXJucyBPTCBwb2ludFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlT2xHZW9tZXRyeUNlbnRlcihcbiAgb2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlXG4pOiBPbFBvaW50IHtcbiAgbGV0IG9sQ2VudGVyID0gb2xHZW9tZXRyeS5nZXQoJ19jZW50ZXInKTtcbiAgY29uc3QgY2VudGVyQ29vcmRpbmF0ZSA9IG9sR2V0Q2VudGVyKG9sR2VvbWV0cnkuZ2V0RXh0ZW50KCkpO1xuICBpZiAob2xDZW50ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgIG9sQ2VudGVyLnNldENvb3JkaW5hdGVzKGNlbnRlckNvb3JkaW5hdGUpO1xuICB9IGVsc2Uge1xuICAgIG9sQ2VudGVyID0gbmV3IE9sUG9pbnQoY2VudGVyQ29vcmRpbmF0ZSk7XG4gICAgb2xHZW9tZXRyeS5zZXQoJ19jZW50ZXInLCBvbENlbnRlcik7XG4gIH1cblxuICByZXR1cm4gb2xDZW50ZXI7XG59XG5cbi8qKlxuICogQWRkIGFuIE9MIG92ZXJsYXkgYXQgdGhlIGNlbnRlciBvZiBhIGdlb21ldHJ5IGFuZCByZXR1cm4gdGhhdCBvdmVybGF5XG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICogQHJldHVybnMgT0wgb3ZlcmxheVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlT2xUb29sdGlwQXRDZW50ZXIoXG4gIG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZVxuKTogT2xPdmVybGF5IHtcbiAgY29uc3Qgb2xDZW50ZXIgPSB1cGRhdGVPbEdlb21ldHJ5Q2VudGVyKG9sR2VvbWV0cnkpO1xuICBsZXQgb2xUb29sdGlwID0gb2xDZW50ZXIuZ2V0KCdfdG9vbHRpcCcpO1xuICBpZiAob2xUb29sdGlwID09PSB1bmRlZmluZWQpIHtcbiAgICBvbFRvb2x0aXAgPSBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KG9sQ2VudGVyLCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBvbFRvb2x0aXAuc2V0UG9zaXRpb24ob2xDZW50ZXIuZ2V0RmxhdENvb3JkaW5hdGVzKCkpO1xuICB9XG4gIHJldHVybiBvbFRvb2x0aXA7XG59XG5cbi8qKlxuICogUmV0dXJuIGFuIGFycmF5IG9mIE9MIG92ZXJsYXkgYXQgbWlkc3BvaW50cywgaWYgYW55XG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICogQHJldHVybnMgT0wgb3ZlcmxheXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9sVG9vbHRpcEF0Q2VudGVyKFxuICBvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGVcbik6IE9sT3ZlcmxheSB7XG4gIGNvbnN0IG9sQ2VudGVyID0gb2xHZW9tZXRyeS5nZXQoJ19jZW50ZXInKTtcbiAgcmV0dXJuIG9sQ2VudGVyID8gb2xDZW50ZXIuZ2V0KCdfdG9vbHRpcCcpIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdldCBhbGwgdGhlIHRvb2x0aXBzIG9mIGFuIE9MIGdlb21ldHJ5XG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICogQHJldHVybnMgT0wgb3ZlcmxheXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRvb2x0aXBzT2ZPbEdlb21ldHJ5KFxuICBvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGVcbik6IE9sT3ZlcmxheVtdIHtcbiAgY29uc3Qgb2xUb29sdGlwcyA9IFtdLmNvbmNhdChnZXRPbFRvb2x0aXBzQXRNaWRwb2ludHMob2xHZW9tZXRyeSkgfHwgW10pO1xuICBjb25zdCBvbENlbnRlclRvb2x0aXAgPSBnZXRPbFRvb2x0aXBBdENlbnRlcihvbEdlb21ldHJ5KTtcbiAgaWYgKG9sQ2VudGVyVG9vbHRpcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgb2xUb29sdGlwcy5wdXNoKG9sQ2VudGVyVG9vbHRpcCk7XG4gIH1cbiAgcmV0dXJuIG9sVG9vbHRpcHM7XG59XG5cbi8qKlxuICogQ3JlYXRlIGFuIE9MIG92ZXJsYXkgYXQgYSBwb2ludCBhbmQgYmluZCB0aGUgb3ZlcmxheSB0byB0aGUgcG9pbnRcbiAqIEBwYXJhbSBvbFBvaW50IE9MIFBvaW50XG4gKiBAcmV0dXJucyBPTCBvdmVybGF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KFxuICBvbFBvaW50OiBPbFBvaW50LFxuICBjZW50ZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgc3JjR2VvbVR5cGU6IHN0cmluZyA9ICcnXG4pOiBPbE92ZXJsYXkge1xuICBjb25zdCBvbFRvb2x0aXAgPSBuZXcgT2xPdmVybGF5KHtcbiAgICBlbGVtZW50OiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSxcbiAgICBvZmZzZXQ6IFstMzAsIC0xMF0sXG4gICAgY2xhc3NOYW1lOiAoY2VudGVyXG4gICAgICA/IFtcbiAgICAgICAgICAnaWdvLW1hcC10b29sdGlwJyxcbiAgICAgICAgICAnaWdvLW1hcC10b29sdGlwLW1lYXN1cmUnLFxuICAgICAgICAgICdpZ28tbWFwLXRvb2x0aXAtbWVhc3VyZS1hcmVhJ1xuICAgICAgICBdXG4gICAgICA6IFtcbiAgICAgICAgICAnaWdvLW1hcC10b29sdGlwJyxcbiAgICAgICAgICAnaWdvLW1hcC10b29sdGlwLW1lYXN1cmUnLFxuICAgICAgICAgIGBpZ28tbWFwLXRvb2x0aXAtbWVhc3VyZS0ke3NyY0dlb21UeXBlfXNlZ21lbnRzYFxuICAgICAgICBdXG4gICAgKS5qb2luKCcgJyksXG4gICAgc3RvcEV2ZW50OiBmYWxzZVxuICB9KTtcbiAgb2xUb29sdGlwLnNldFBvc2l0aW9uKG9sUG9pbnQuZ2V0RmxhdENvb3JkaW5hdGVzKCkpO1xuICBvbFBvaW50LnNldCgnX3Rvb2x0aXAnLCBvbFRvb2x0aXApO1xuXG4gIHJldHVybiBvbFRvb2x0aXA7XG59XG4iXX0=
497
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21lYXN1cmUvc2hhcmVkL21lYXN1cmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JELE9BQU8sUUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUNwQyxPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxJQUFJLFNBQVMsRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNFLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBRXBDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQiw2QkFBNkIsRUFDOUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4Qjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQWE7SUFDOUMsT0FBTyxLQUFLLEdBQUcsS0FBSyxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFhO0lBQ3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0sQ0FBQztBQUN4QixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBYTtJQUN6QyxPQUFPLEtBQUssR0FBRyxRQUFRLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsOEJBQThCLENBQUMsS0FBYTtJQUMxRCxPQUFPLEtBQUssR0FBRyxRQUFRLENBQUM7QUFD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bnQiOlsiaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgT2xPdmVybGF5IGZyb20gJ29sL092ZXJsYXknO1xyXG5pbXBvcnQgeyBnZXRDZW50ZXIgYXMgb2xHZXRDZW50ZXIgfSBmcm9tICdvbC9leHRlbnQnO1xyXG5pbXBvcnQgT2xDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xyXG5pbXBvcnQgT2xMaW5lU3RyaW5nIGZyb20gJ29sL2dlb20vTGluZVN0cmluZyc7XHJcbmltcG9ydCBPbFBvaW50IGZyb20gJ29sL2dlb20vUG9pbnQnO1xyXG5pbXBvcnQgT2xQb2x5Z29uIGZyb20gJ29sL2dlb20vUG9seWdvbic7XHJcbmltcG9ydCB7IGdldEFyZWEgYXMgb2xHZXRBcmVhLCBnZXRMZW5ndGggYXMgb2xHZXRMZW5ndGggfSBmcm9tICdvbC9zcGhlcmUnO1xyXG5pbXBvcnQgKiBhcyBvbHN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgTWVhc3VyZUFyZWFVbml0LFxyXG4gIE1lYXN1cmVBcmVhVW5pdEFiYnJldmlhdGlvbixcclxuICBNZWFzdXJlTGVuZ3RoVW5pdCxcclxuICBNZWFzdXJlTGVuZ3RoVW5pdEFiYnJldmlhdGlvblxyXG59IGZyb20gJy4vbWVhc3VyZS5lbnVtJztcclxuaW1wb3J0IHsgTWVhc3VyZSB9IGZyb20gJy4vbWVhc3VyZS5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gbWV0ZXJzIHRvIGtpbG9tZXRlcnNcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIG1ldGVyc1xyXG4gKiBAcmV0dXJucyBWYWx1ZSBpbiBraWxvbWV0ZXJzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWV0ZXJzVG9LaWxvbWV0ZXJzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xyXG4gIHJldHVybiB2YWx1ZSAqIDAuMDAxO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCB2YWx1ZSBmcm9tIG1ldGVycyB0byBmZWV0XHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcclxuICogQHJldHVybnMgVmFsdWUgaW4gZmVldFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1ldGVyc1RvRmVldCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICByZXR1cm4gdmFsdWUgKiAzLjI4MDg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gbWV0ZXJzIHRvIG1pbGVzXHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcclxuICogQHJldHVybnMgVmFsdWUgaW4gbWlsZXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBtZXRlcnNUb01pbGVzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xyXG4gIHJldHVybiB2YWx1ZSAqIDAuMDAwNjIxO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCB2YWx1ZSBmcm9tIHNxdWFyZSBtZXRlcnMgdG8gc3F1YXJlIGtpbG9tZXRlcnNcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIHNxdWFyZSBtZXRlcnNcclxuICogQHJldHVybnMgVmFsdWUgaW4gc3F1YXJlIGtpbG9tZXRlcnNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzcXVhcmVNZXRlcnNUb1NxdWFyZUtpbG9tZXRlcnModmFsdWU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIHZhbHVlICogMC4wMDAwMDE7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gc3F1YXJlIG1ldGVycyB0byBzcXVhcmUgbWlsZXNcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIHNxdWFyZSBtZXRlcnNcclxuICogQHJldHVybnMgVmFsdWUgaW4gc3F1YXJlIG1pbGVzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc3F1YXJlTWV0ZXJzVG9TcXVhcmVNaWxlcyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICByZXR1cm4gdmFsdWUgKiAwLjAwMDAwMDM4NjE7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gc3F1YXJlIG1ldGVycyB0byBzcXVhcmUgZmVldFxyXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gc3F1YXJlIG1ldGVyc1xyXG4gKiBAcmV0dXJucyBWYWx1ZSBpbiBzcXVhcmUgZmVldFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNxdWFyZU1ldGVyc1RvU3F1YXJlRmVldCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICByZXR1cm4gdmFsdWUgKiAxMC43NjQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gc3F1YXJlIG1ldGVycyB0byBoZWN0YXJlc1xyXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gc3F1YXJlIG1ldGVyc1xyXG4gKiBAcmV0dXJucyBWYWx1ZSBpbiBoZWN0YXJlc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNxdWFyZU1ldGVyc1RvSGVjdGFyZXModmFsdWU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIHZhbHVlICogMC4wMDAxO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCB2YWx1ZSBmcm9tIHNxdWFyZSBtZXRlcnMgdG8gYWNyZXNcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIHNxdWFyZSBtZXRlcnNcclxuICogQHJldHVybnMgVmFsdWUgaW4gYWNyZXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzcXVhcmVNZXRlcnNUb0FjcmVzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xyXG4gIHJldHVybiB2YWx1ZSAqIDAuMDAwMjQ3MTE7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gbWV0ZXJzIHRvIHRoZSBzcGVjaWZpZWQgbGVuZ3RoIHVuaXRcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIG1ldGVyc1xyXG4gKiBAcGFyYW0gdW5pdCBMZW5ndGggdW5pdFxyXG4gKiBAcmV0dXJucyBWYWx1ZSBpbiB1bml0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWV0ZXJzVG9Vbml0KFxyXG4gIHZhbHVlOiBudW1iZXIsXHJcbiAgdW5pdDogTWVhc3VyZUxlbmd0aFVuaXRcclxuKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCBjb252ZXJzaW9uTWFwcGVyID0gbmV3IE1hcChbXHJcbiAgICBbTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzLCAodmFsOiBudW1iZXIpID0+IHZhbF0sXHJcbiAgICBbTWVhc3VyZUxlbmd0aFVuaXQuS2lsb21ldGVycywgbWV0ZXJzVG9LaWxvbWV0ZXJzXSxcclxuICAgIFtNZWFzdXJlTGVuZ3RoVW5pdC5NaWxlcywgbWV0ZXJzVG9NaWxlc10sXHJcbiAgICBbTWVhc3VyZUxlbmd0aFVuaXQuRmVldCwgbWV0ZXJzVG9GZWV0XVxyXG4gIF0pO1xyXG4gIGNvbnN0IGNvbnZlcnNpb24gPSBjb252ZXJzaW9uTWFwcGVyLmdldCh1bml0KTtcclxuXHJcbiAgcmV0dXJuIGNvbnZlcnNpb24gPyBjb252ZXJzaW9uKHZhbHVlKSA6IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBzcXVhcmUgbWV0ZXJzIHRvIHRoZSBzcGVjaWZpZWQgYXJlYSB1bml0XHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcclxuICogQHBhcmFtIHVuaXQgQXJlYSB1bml0XHJcbiAqIEByZXR1cm5zIFZhbHVlIGluIHVuaXRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzcXVhcmVNZXRlcnNUb1VuaXQoXHJcbiAgdmFsdWU6IG51bWJlcixcclxuICB1bml0OiBNZWFzdXJlQXJlYVVuaXRcclxuKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCBjb252ZXJzaW9uTWFwcGVyID0gbmV3IE1hcChbXHJcbiAgICBbTWVhc3VyZUFyZWFVbml0LlNxdWFyZU1ldGVycywgKHZhbDogbnVtYmVyKSA9PiB2YWxdLFxyXG4gICAgW01lYXN1cmVBcmVhVW5pdC5TcXVhcmVLaWxvbWV0ZXJzLCBzcXVhcmVNZXRlcnNUb1NxdWFyZUtpbG9tZXRlcnNdLFxyXG4gICAgW01lYXN1cmVBcmVhVW5pdC5TcXVhcmVNaWxlcywgc3F1YXJlTWV0ZXJzVG9TcXVhcmVNaWxlc10sXHJcbiAgICBbTWVhc3VyZUFyZWFVbml0LlNxdWFyZUZlZXQsIHNxdWFyZU1ldGVyc1RvU3F1YXJlRmVldF0sXHJcbiAgICBbTWVhc3VyZUFyZWFVbml0LkhlY3RhcmVzLCBzcXVhcmVNZXRlcnNUb0hlY3RhcmVzXSxcclxuICAgIFtNZWFzdXJlQXJlYVVuaXQuQWNyZXMsIHNxdWFyZU1ldGVyc1RvQWNyZXNdXHJcbiAgXSk7XHJcbiAgY29uc3QgY29udmVyc2lvbiA9IGNvbnZlcnNpb25NYXBwZXIuZ2V0KHVuaXQpO1xyXG5cclxuICByZXR1cm4gY29udmVyc2lvbiA/IGNvbnZlcnNpb24odmFsdWUpIDogdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKipcclxuICogVGhpcyBtZXRob2QgZm9ybWF0IGEgbWVhc3VyZSB0byBhIHJlYWRhYmxlIGZvcm1hdFxyXG4gKiBAcGFyYW0gbWVhc3VyZSBNZWFzdXJlXHJcbiAqIEBwYXJhbSBvcHRpb25zIEZvcm1hdHRpbmcgb3B0aW9uc1xyXG4gKiBAcmV0dXJucyBGb3JtYXR0ZWQgbWVhc3VyZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdE1lYXN1cmUoXHJcbiAgbWVhc3VyZTogbnVtYmVyLFxyXG4gIG9wdGlvbnM/OiB7XHJcbiAgICBkZWNpbWFsPzogbnVtYmVyO1xyXG4gICAgdW5pdD86IE1lYXN1cmVBcmVhVW5pdCB8IE1lYXN1cmVMZW5ndGhVbml0O1xyXG4gICAgdW5pdEFiYnI/OiBib29sZWFuO1xyXG4gICAgbG9jYWxlPzogc3RyaW5nO1xyXG4gIH0sXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlPzogTGFuZ3VhZ2VTZXJ2aWNlXHJcbikge1xyXG4gIGxldCBkZWNpbWFsID0gb3B0aW9ucy5kZWNpbWFsO1xyXG4gIGlmIChkZWNpbWFsID09PSB1bmRlZmluZWQgfHwgZGVjaW1hbCA8IDApIHtcclxuICAgIGRlY2ltYWwgPSAxO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcGFydHMgPSBbXTtcclxuICBpZiAob3B0aW9ucy5sb2NhbGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgcGFydHMucHVzaChcclxuICAgICAgbWVhc3VyZS50b0xvY2FsZVN0cmluZyhvcHRpb25zLmxvY2FsZSwge1xyXG4gICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogZGVjaW1hbCxcclxuICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGRlY2ltYWxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHBhcnRzLnB1c2gobWVhc3VyZS50b0ZpeGVkKGRlY2ltYWwpLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuXHJcbiAgaWYgKG9wdGlvbnMudW5pdCAhPT0gdW5kZWZpbmVkICYmIG9wdGlvbnMudW5pdEFiYnIgPT09IHRydWUpIHtcclxuICAgIGlmIChsYW5ndWFnZVNlcnZpY2UpIHtcclxuICAgICAgcGFydHMucHVzaChcclxuICAgICAgICBNZWFzdXJlTGVuZ3RoVW5pdEFiYnJldmlhdGlvbltvcHRpb25zLnVuaXRdXHJcbiAgICAgICAgICA/IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAnaWdvLmdlby5tZWFzdXJlLicgKyBNZWFzdXJlTGVuZ3RoVW5pdEFiYnJldmlhdGlvbltvcHRpb25zLnVuaXRdXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIDogbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICdpZ28uZ2VvLm1lYXN1cmUuJyArIE1lYXN1cmVBcmVhVW5pdEFiYnJldmlhdGlvbltvcHRpb25zLnVuaXRdXHJcbiAgICAgICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBhcnRzLnB1c2goXHJcbiAgICAgICAgTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25bb3B0aW9ucy51bml0XSB8fFxyXG4gICAgICAgICAgTWVhc3VyZUFyZWFVbml0QWJicmV2aWF0aW9uW29wdGlvbnMudW5pdF1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBwYXJ0cy5maWx0ZXIoKHApID0+IHAgIT09IHVuZGVmaW5lZCkuam9pbignICcpO1xyXG59XHJcblxyXG4vKipcclxuICogQ29tcHV0ZSBiZXN0IGxlbmd0aCBtZWFzdXJlIHVuaXQgZm9yIGEgZ2l2ZW4gbWVhc3VyZSBpbiBtZXRlcnNcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIG1ldGVyc1xyXG4gKiBAcmV0dXJucyBNZWFzdXJlIHVuaXRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlQmVzdExlbmd0aFVuaXQodmFsdWU6IG51bWJlcik6IE1lYXN1cmVMZW5ndGhVbml0IHtcclxuICBsZXQgdW5pdCA9IE1lYXN1cmVMZW5ndGhVbml0Lk1ldGVycztcclxuICBsZXQgY29udmVydGVkID0gdmFsdWU7XHJcbiAgY29uc3QgcG9zc2libGVVbml0cyA9IFtNZWFzdXJlTGVuZ3RoVW5pdC5LaWxvbWV0ZXJzXTtcclxuICB3aGlsZSAoY29udmVydGVkID4gMTAwMCAmJiBwb3NzaWJsZVVuaXRzLmxlbmd0aCA+IDApIHtcclxuICAgIHVuaXQgPSBwb3NzaWJsZVVuaXRzLnBvcCgpO1xyXG4gICAgY29udmVydGVkID0gbWV0ZXJzVG9Vbml0KHZhbHVlLCB1bml0KTtcclxuICB9XHJcbiAgcmV0dXJuIHVuaXQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb21wdXRlIGJlc3QgbGVuZ3RoIG1lYXN1cmUgdW5pdCBmb3IgYSBnaXZlbiBtZWFzdXJlIGluIHNxdWFyZSBtZXRlcnNcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIG1ldGVyc1xyXG4gKiBAcmV0dXJucyBNZWFzdXJlIHVuaXRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlQmVzdEFyZWFVbml0KHZhbHVlOiBudW1iZXIpOiBNZWFzdXJlQXJlYVVuaXQge1xyXG4gIGxldCB1bml0ID0gTWVhc3VyZUFyZWFVbml0LlNxdWFyZU1ldGVycztcclxuICBsZXQgY29udmVydGVkID0gdmFsdWU7XHJcbiAgY29uc3QgcG9zc2libGVVbml0cyA9IFtNZWFzdXJlQXJlYVVuaXQuU3F1YXJlS2lsb21ldGVyc107XHJcbiAgd2hpbGUgKGNvbnZlcnRlZCA+IDEwMDAwMDAgJiYgcG9zc2libGVVbml0cy5sZW5ndGggPiAwKSB7XHJcbiAgICB1bml0ID0gcG9zc2libGVVbml0cy5wb3AoKTtcclxuICAgIGNvbnZlcnRlZCA9IHNxdWFyZU1ldGVyc1RvVW5pdCh2YWx1ZSwgdW5pdCk7XHJcbiAgfVxyXG4gIHJldHVybiB1bml0O1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlIGEgZGVmYXVsdCBzdHlsZSBmb3IgYSBtZWFzdXJlIGludGVyYWN0aW9uXHJcbiAqIEByZXR1cm5zIE9MIHN0eWxlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWVhc3VyZUludGVyYWN0aW9uU3R5bGUoKTogb2xzdHlsZS5TdHlsZSB7XHJcbiAgcmV0dXJuIG5ldyBvbHN0eWxlLlN0eWxlKHtcclxuICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcclxuICAgICAgY29sb3I6ICcjZmZjYzMzJyxcclxuICAgICAgbGluZURhc2g6IFsxMCwgMTBdLFxyXG4gICAgICB3aWR0aDogMlxyXG4gICAgfSksXHJcbiAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiknXHJcbiAgICB9KSxcclxuICAgIGltYWdlOiBuZXcgb2xzdHlsZS5DaXJjbGUoe1xyXG4gICAgICByYWRpdXM6IDUsXHJcbiAgICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICBjb2xvcjogJyNmZmNjMzMnXHJcbiAgICAgIH0pLFxyXG4gICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSdcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGUgYSBkZWZhdWx0IHN0eWxlIGZvciBhIG1lYXN1cmUgbGF5ZXJcclxuICogQHJldHVybnMgT0wgc3R5bGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNZWFzdXJlTGF5ZXJTdHlsZSgpOiBvbHN0eWxlLlN0eWxlIHtcclxuICByZXR1cm4gbmV3IG9sc3R5bGUuU3R5bGUoe1xyXG4gICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xyXG4gICAgICBjb2xvcjogJyNmZmNjMzMnLFxyXG4gICAgICB3aWR0aDogMlxyXG4gICAgfSksXHJcbiAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiknXHJcbiAgICB9KVxyXG4gIH0pO1xyXG59XHJcblxyXG4vKipcclxuICogQ29tcHV0ZSB0aGUgbGVuZ3RoIGluIG1ldGVycyBvZiBhbiBPTCBnZW9tZXRyeSB3aXRoIGEgZ2l2ZW4gcHJvamVjdGlvblxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBnZW9tZXRyeVxyXG4gKiBAcGFyYW0gcHJvamVjdGlvbiBvbEdlb21ldHJ5J3MgcHJvamVjdGlvblxyXG4gKiBAcmV0dXJucyBMZW5ndGggaW4gbWV0ZXJzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZU9sR2VvbWV0cnlMZW5ndGgoXHJcbiAgb2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlLFxyXG4gIHByb2plY3Rpb246IHN0cmluZ1xyXG4pOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xQb2ludCkge1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcbiAgaWYgKG9sR2VvbWV0cnkuZ2V0RmxhdENvb3JkaW5hdGVzKCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuICByZXR1cm4gb2xHZXRMZW5ndGgob2xHZW9tZXRyeSwgeyBwcm9qZWN0aW9uIH0pO1xyXG59XHJcblxyXG4vKipcclxuICogQ29tcHV0ZSB0aGUgYXJlYSBpbiBzcXVhcmUgbWV0ZXJzIG9mIGFuIE9MIGdlb21ldHJ5IHdpdGggYSBnaXZlbiBwcm9qZWN0aW9uXHJcbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9sIGdlb21ldHJ5XHJcbiAqIEBwYXJhbSBwcm9qZWN0aW9uIG9sR2VvbWV0cnkncyBwcm9qZWN0aW9uXHJcbiAqIEByZXR1cm5zIEFyZWEgaW4gc3F1YXJlIG1ldGVyc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1lYXN1cmVPbEdlb21ldHJ5QXJlYShcclxuICBvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGUsXHJcbiAgcHJvamVjdGlvbjogc3RyaW5nXHJcbik6IG51bWJlciB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvaW50IHx8IG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbExpbmVTdHJpbmcpIHtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG4gIGlmIChvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcbiAgcmV0dXJuIG9sR2V0QXJlYShvbEdlb21ldHJ5LCB7IHByb2plY3Rpb24gfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb21wdXRlIHRoZSBhcmVhIChzcXVhcmUgbWV0ZXJzKSwgbGVuZ3RoIChtZXRlcnMpIGFuZCBsYXN0IGxlbmd0aCAobWV0ZXJzKVxyXG4gKiBvZiBhbiBPTCBnZW9tZXRyeSB3aXRoIGEgZ2l2ZW4gcHJvamVjdGlvbi5cclxuICogQHBhcmFtIG9sR2VvbWV0cnkgT2wgZ2VvbWV0cnlcclxuICogQHBhcmFtIHByb2plY3Rpb24gb2xHZW9tZXRyeSdzIHByb2plY3Rpb25cclxuICogQHJldHVybnMgQ29tcHV0ZWQgbWVhc3VyZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1lYXN1cmVPbEdlb21ldHJ5KFxyXG4gIG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZSxcclxuICBwcm9qZWN0aW9uOiBzdHJpbmdcclxuKTogTWVhc3VyZSB7XHJcbiAgY29uc3QgbGVuZ3RoID0gbWVhc3VyZU9sR2VvbWV0cnlMZW5ndGgob2xHZW9tZXRyeSwgcHJvamVjdGlvbik7XHJcbiAgY29uc3QgYXJlYSA9IG1lYXN1cmVPbEdlb21ldHJ5QXJlYShvbEdlb21ldHJ5LCBwcm9qZWN0aW9uKTtcclxuXHJcbiAgY29uc3QgbGVuZ3RocyA9IFtdO1xyXG4gIGNvbnN0IGNvb3JkaW5hdGVzID0gb2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKTtcclxuICBjb25zdCBjb29yZGluYXRlc0xlbmd0aCA9IGNvb3JkaW5hdGVzLmxlbmd0aDtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8PSBjb29yZGluYXRlc0xlbmd0aCAtIDQ7IGkgKz0gMikge1xyXG4gICAgY29uc3Qgb2xTZWdtZW50ID0gbmV3IE9sTGluZVN0cmluZyhbXHJcbiAgICAgIFtjb29yZGluYXRlc1tpXSwgY29vcmRpbmF0ZXNbaSArIDFdXSxcclxuICAgICAgW2Nvb3JkaW5hdGVzW2kgKyAyXSwgY29vcmRpbmF0ZXNbaSArIDNdXVxyXG4gICAgXSk7XHJcblxyXG4gICAgbGVuZ3Rocy5wdXNoKG1lYXN1cmVPbEdlb21ldHJ5TGVuZ3RoKG9sU2VnbWVudCwgcHJvamVjdGlvbikpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGFyZWEsXHJcbiAgICBsZW5ndGgsXHJcbiAgICBsZW5ndGhzXHJcbiAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFVwZGF0ZSBhbiBPTCBnZW9tZXRyeSBtaWRwb2ludHMgYW5kIHJldHVybiBhbiBhcnJheSBvZiB0aG9zZSBwb2ludHNcclxuICogQHBhcmFtIG9sR2VvbWV0cnkgT0wgR2VvbWV0cnlcclxuICogQHJldHVybnMgT0wgcG9pbnRzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlT2xHZW9tZXRyeU1pZHBvaW50cyhcclxuICBvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGVcclxuKTogT2xQb2ludFtdIHtcclxuICBsZXQgb2xNaWRwb2ludHM7XHJcbiAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvaW50KSB7XHJcbiAgICBjb25zdCBvbE1pZHBvaW50UG9pbnQgPSBuZXcgT2xQb2ludChvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpKTtcclxuICAgIG9sTWlkcG9pbnRzID0gbmV3IEFycmF5KDEpO1xyXG4gICAgb2xNaWRwb2ludHNbMF0gPSBvbE1pZHBvaW50UG9pbnQ7XHJcbiAgfSBlbHNlIHtcclxuICAgIG9sTWlkcG9pbnRzID0gZ2V0T2xHZW9tZXRyeU1pZHBvaW50cyhvbEdlb21ldHJ5KTtcclxuICAgIC8vIFRPRE86IGhhbmRsZSBtdWx0aSBnZW9tZXRyaWVzXHJcbiAgICBjb25zdCBjb29yZGluYXRlcyA9IG9sR2VvbWV0cnkuZ2V0RmxhdENvb3JkaW5hdGVzKCk7XHJcbiAgICBjb25zdCBtaWRwb2ludHNMZW5ndGggPSBvbE1pZHBvaW50cy5sZW5ndGg7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pZHBvaW50c0xlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGogPSBpICogMjtcclxuICAgICAgY29uc3Qgb2xTZWdtZW50ID0gbmV3IE9sTGluZVN0cmluZyhbXHJcbiAgICAgICAgW2Nvb3JkaW5hdGVzW2pdLCBjb29yZGluYXRlc1tqICsgMV1dLFxyXG4gICAgICAgIFtjb29yZGluYXRlc1tqICsgMl0sIGNvb3JkaW5hdGVzW2ogKyAzXV1cclxuICAgICAgXSk7XHJcblxyXG4gICAgICBjb25zdCBtaWRwb2ludENvb3JkaW5hdGUgPSBvbFNlZ21lbnQuZ2V0Q29vcmRpbmF0ZUF0KDAuNSk7XHJcbiAgICAgIGNvbnN0IG9sTWlkcG9pbnQgPSBvbE1pZHBvaW50c1tpXTtcclxuICAgICAgaWYgKG9sTWlkcG9pbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIG9sTWlkcG9pbnQuc2V0Q29vcmRpbmF0ZXMobWlkcG9pbnRDb29yZGluYXRlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBvbE1pZHBvaW50c1tpXSA9IG5ldyBPbFBvaW50KG1pZHBvaW50Q29vcmRpbmF0ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIG9sTWlkcG9pbnRzO1xyXG59XHJcblxyXG4vKipcclxuICogQ2xlYXIgYW4gT0wgZ2VvbWV0cnkgbWlkcG9pbnRzIGFuZCByZXR1cm4gYW4gYXJyYXkgb2YgdGhvc2UgcG9pbnRzXHJcbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9MIEdlb21ldHJ5XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJPbEdlb21ldHJ5TWlkcG9pbnRzKFxyXG4gIG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZVxyXG4pIHtcclxuICBjb25zdCBvbE1pZHBvaW50cyA9IG9sR2VvbWV0cnkuZ2V0KCdfbWlkcG9pbnRzJykgfHwgW107XHJcbiAgY29uc3QgbWlkcG9pbnRzTGVuZ3RoID0gb2xNaWRwb2ludHMubGVuZ3RoO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWlkcG9pbnRzTGVuZ3RoOyBpKyspIHtcclxuICAgIGNvbnN0IG9sTWlkcG9pbnQgPSBvbE1pZHBvaW50c1tpXTtcclxuICAgIGlmIChvbE1pZHBvaW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKG9sTWlkcG9pbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNsZWFyT2xNaWRwb2ludFRvb2x0aXAob2xNaWRwb2ludCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9sR2VvbWV0cnkuc2V0KCdfbWlkcG9pbnRzJywgdW5kZWZpbmVkLCB0cnVlKTtcclxuXHJcbiAgcmV0dXJuIG9sTWlkcG9pbnRzO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGFuIGFycmF5IG9mICBPTCBnZW9tZXRyeSBtaWRwb2ludHMsIGlmIGFueVxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxyXG4gKiBAcmV0dXJucyBPTCBwb2ludHNcclxuICovXHJcbmZ1bmN0aW9uIGdldE9sR2VvbWV0cnlNaWRwb2ludHMoXHJcbiAgb2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlXHJcbik6IE9sUG9pbnRbXSB7XHJcbiAgbGV0IGV4cGVjdGVkTnVtYmVyO1xyXG4gIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xDaXJjbGUpIHtcclxuICAgIGV4cGVjdGVkTnVtYmVyID0gMDtcclxuICB9IGVsc2Uge1xyXG4gICAgZXhwZWN0ZWROdW1iZXIgPSBNYXRoLm1heChcclxuICAgICAgb2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKS5sZW5ndGggLyAyIC0gMSxcclxuICAgICAgMFxyXG4gICAgKTtcclxuICB9XHJcbiAgLy8gVE9ETzogVGhpcyB3b3JrcyBidXQgaXQncyBxdWl0ZSBtZXNzeS4gSWYgdGltZSBwZXJtaXRzLFxyXG4gIC8vIGNsZWFuIHRoaXMuIE1heWJlIGEgVG9vbHRpcCBjbGFzcyBjb3VsZCBoYW5kbGUgdGhhdFxyXG4gIGxldCBvbE1pZHBvaW50cyA9IG9sR2VvbWV0cnkuZ2V0KCdfbWlkcG9pbnRzJyk7XHJcblxyXG4gIGlmIChvbE1pZHBvaW50cyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAob2xHZW9tZXRyeSBpbnN0YW5jZW9mIE9sUG9pbnQpIHtcclxuICAgICAgb2xNaWRwb2ludHMgPSBuZXcgQXJyYXkoMSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBvbE1pZHBvaW50cyA9IG5ldyBBcnJheShleHBlY3RlZE51bWJlcik7XHJcbiAgICB9XHJcbiAgICBvbEdlb21ldHJ5LnNldCgnX21pZHBvaW50cycsIG9sTWlkcG9pbnRzLCB0cnVlKTtcclxuICAgIHJldHVybiBvbE1pZHBvaW50cztcclxuICB9XHJcblxyXG4gIGlmIChleHBlY3RlZE51bWJlciA9PT0gMCkge1xyXG4gICAgcmV0dXJuIG9sTWlkcG9pbnRzO1xyXG4gIH1cclxuXHJcbiAgaWYgKGV4cGVjdGVkTnVtYmVyID09PSBvbE1pZHBvaW50cy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBvbE1pZHBvaW50cztcclxuICB9XHJcblxyXG4gIGlmIChleHBlY3RlZE51bWJlciA+IG9sTWlkcG9pbnRzLmxlbmd0aCkge1xyXG4gICAgb2xNaWRwb2ludHMucHVzaCguLi5uZXcgQXJyYXkoZXhwZWN0ZWROdW1iZXIgLSBvbE1pZHBvaW50cy5sZW5ndGgpKTtcclxuICAgIHJldHVybiBvbE1pZHBvaW50cztcclxuICB9XHJcblxyXG4gIGZvciAobGV0IGkgPSBleHBlY3RlZE51bWJlcjsgaSA8IG9sTWlkcG9pbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjb25zdCBvbE1pZHBvaW50ID0gb2xNaWRwb2ludHNbZXhwZWN0ZWROdW1iZXJdO1xyXG4gICAgaWYgKG9sTWlkcG9pbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjbGVhck9sTWlkcG9pbnRUb29sdGlwKG9sTWlkcG9pbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbE1pZHBvaW50cy5zcGxpY2UoZXhwZWN0ZWROdW1iZXIpO1xyXG5cclxuICByZXR1cm4gb2xNaWRwb2ludHM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgYW4gT0wgbWlkcG9pbnQncyB0b29sdGlwIGZyb20gdGhlIG1hcFxyXG4gKiBAcGFyYW0gb2xNaWRwb2ludCBPTCBQb2ludFxyXG4gKi9cclxuZnVuY3Rpb24gY2xlYXJPbE1pZHBvaW50VG9vbHRpcChvbE1pZHBvaW50OiBPbFBvaW50KSB7XHJcbiAgY29uc3Qgb2xUb29sdGlwID0gb2xNaWRwb2ludC5nZXQoJ190b29sdGlwJyk7XHJcbiAgaWYgKG9sVG9vbHRpcCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICBjb25zdCBvbE1hcCA9IG9sVG9vbHRpcC5nZXRNYXAoKTtcclxuICAgIGlmIChvbE1hcCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIG9sTWFwLnJlbW92ZU92ZXJsYXkob2xUb29sdGlwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgYW4gT0wgb3ZlcmxheSBhdCBlYWNoIG1pZHBvaW50IGFuZCByZXR1cm4gYW4gYXJyYXkgb2YgdGhvc2Ugb3ZlcmxheXNcclxuICogQHBhcmFtIG9sR2VvbWV0cnkgT0wgR2VvbWV0cnlcclxuICogQHJldHVybnMgT0wgb3ZlcmxheXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVPbFRvb2x0aXBzQXRNaWRwb2ludHMoXHJcbiAgb2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlXHJcbik6IE9sT3ZlcmxheVtdIHtcclxuICBjb25zdCBvbE1pZHBvaW50cyA9IHVwZGF0ZU9sR2VvbWV0cnlNaWRwb2ludHMob2xHZW9tZXRyeSk7XHJcbiAgbGV0IHR5cGVHZW9tID0gJyc7XHJcbiAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbExpbmVTdHJpbmcpIHtcclxuICAgIHR5cGVHZW9tID0gJ2xpbmUtJztcclxuICB9IGVsc2UgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvbHlnb24pIHtcclxuICAgIHR5cGVHZW9tID0gJ3BvbHlnb25lLSc7XHJcbiAgfVxyXG4gIGNvbnN0IG9sVG9vbHRpcHMgPSBvbE1pZHBvaW50cy5tYXAoKG9sTWlkcG9pbnQ6IE9sUG9pbnQpID0+IHtcclxuICAgIGxldCBvbFRvb2x0aXAgPSBvbE1pZHBvaW50LmdldCgnX3Rvb2x0aXAnKTtcclxuICAgIGlmIChvbFRvb2x0aXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBvbFRvb2x0aXAgPSBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KG9sTWlkcG9pbnQsIGZhbHNlLCB0eXBlR2VvbSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBvbFRvb2x0aXAuc2V0UG9zaXRpb24ob2xNaWRwb2ludC5nZXRGbGF0Q29vcmRpbmF0ZXMoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2xUb29sdGlwO1xyXG4gIH0pO1xyXG4gIHJldHVybiBvbFRvb2x0aXBzO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGFuIGFycmF5IG9mIE9MIG92ZXJsYXkgYXQgbWlkc3BvaW50cywgaWYgYW55XHJcbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9MIEdlb21ldHJ5XHJcbiAqIEByZXR1cm5zIE9MIG92ZXJsYXlzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0T2xUb29sdGlwc0F0TWlkcG9pbnRzKFxyXG4gIG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZVxyXG4pOiBPbE92ZXJsYXlbXSB7XHJcbiAgY29uc3Qgb2xNaWRwb2ludHMgPSBnZXRPbEdlb21ldHJ5TWlkcG9pbnRzKG9sR2VvbWV0cnkpO1xyXG4gIHJldHVybiBvbE1pZHBvaW50cy5tYXAoKG9sTWlkcG9pbnQ6IE9sUG9pbnQpID0+IHtcclxuICAgIHJldHVybiBvbE1pZHBvaW50ID8gb2xNaWRwb2ludC5nZXQoJ190b29sdGlwJykgOiB1bmRlZmluZWQ7XHJcbiAgfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBVcGRhdGUgYW4gT0wgZ2VvbWV0cnkgY2VudGVyIGFuZCByZXR1cm4gaXRcclxuICogQHBhcmFtIG9sR2VvbWV0cnkgT0wgR2VvbWV0cnlcclxuICogQHJldHVybnMgT0wgcG9pbnRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVPbEdlb21ldHJ5Q2VudGVyKFxyXG4gIG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZVxyXG4pOiBPbFBvaW50IHtcclxuICBsZXQgb2xDZW50ZXIgPSBvbEdlb21ldHJ5LmdldCgnX2NlbnRlcicpO1xyXG4gIGNvbnN0IGNlbnRlckNvb3JkaW5hdGUgPSBvbEdldENlbnRlcihvbEdlb21ldHJ5LmdldEV4dGVudCgpKTtcclxuICBpZiAob2xDZW50ZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgb2xDZW50ZXIuc2V0Q29vcmRpbmF0ZXMoY2VudGVyQ29vcmRpbmF0ZSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIG9sQ2VudGVyID0gbmV3IE9sUG9pbnQoY2VudGVyQ29vcmRpbmF0ZSk7XHJcbiAgICBvbEdlb21ldHJ5LnNldCgnX2NlbnRlcicsIG9sQ2VudGVyKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBvbENlbnRlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCBhbiBPTCBvdmVybGF5IGF0IHRoZSBjZW50ZXIgb2YgYSBnZW9tZXRyeSBhbmQgcmV0dXJuIHRoYXQgb3ZlcmxheVxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxyXG4gKiBAcmV0dXJucyBPTCBvdmVybGF5XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlT2xUb29sdGlwQXRDZW50ZXIoXHJcbiAgb2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlXHJcbik6IE9sT3ZlcmxheSB7XHJcbiAgY29uc3Qgb2xDZW50ZXIgPSB1cGRhdGVPbEdlb21ldHJ5Q2VudGVyKG9sR2VvbWV0cnkpO1xyXG4gIGxldCBvbFRvb2x0aXAgPSBvbENlbnRlci5nZXQoJ190b29sdGlwJyk7XHJcbiAgaWYgKG9sVG9vbHRpcCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICBvbFRvb2x0aXAgPSBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KG9sQ2VudGVyLCB0cnVlKTtcclxuICB9IGVsc2Uge1xyXG4gICAgb2xUb29sdGlwLnNldFBvc2l0aW9uKG9sQ2VudGVyLmdldEZsYXRDb29yZGluYXRlcygpKTtcclxuICB9XHJcbiAgcmV0dXJuIG9sVG9vbHRpcDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBhbiBhcnJheSBvZiBPTCBvdmVybGF5IGF0IG1pZHNwb2ludHMsIGlmIGFueVxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxyXG4gKiBAcmV0dXJucyBPTCBvdmVybGF5c1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldE9sVG9vbHRpcEF0Q2VudGVyKFxyXG4gIG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZVxyXG4pOiBPbE92ZXJsYXkge1xyXG4gIGNvbnN0IG9sQ2VudGVyID0gb2xHZW9tZXRyeS5nZXQoJ19jZW50ZXInKTtcclxuICByZXR1cm4gb2xDZW50ZXIgPyBvbENlbnRlci5nZXQoJ190b29sdGlwJykgOiB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgYWxsIHRoZSB0b29sdGlwcyBvZiBhbiBPTCBnZW9tZXRyeVxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxyXG4gKiBAcmV0dXJucyBPTCBvdmVybGF5c1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFRvb2x0aXBzT2ZPbEdlb21ldHJ5KFxyXG4gIG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZVxyXG4pOiBPbE92ZXJsYXlbXSB7XHJcbiAgY29uc3Qgb2xUb29sdGlwcyA9IFtdLmNvbmNhdChnZXRPbFRvb2x0aXBzQXRNaWRwb2ludHMob2xHZW9tZXRyeSkgfHwgW10pO1xyXG4gIGNvbnN0IG9sQ2VudGVyVG9vbHRpcCA9IGdldE9sVG9vbHRpcEF0Q2VudGVyKG9sR2VvbWV0cnkpO1xyXG4gIGlmIChvbENlbnRlclRvb2x0aXAgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgb2xUb29sdGlwcy5wdXNoKG9sQ2VudGVyVG9vbHRpcCk7XHJcbiAgfVxyXG4gIHJldHVybiBvbFRvb2x0aXBzO1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlIGFuIE9MIG92ZXJsYXkgYXQgYSBwb2ludCBhbmQgYmluZCB0aGUgb3ZlcmxheSB0byB0aGUgcG9pbnRcclxuICogQHBhcmFtIG9sUG9pbnQgT0wgUG9pbnRcclxuICogQHJldHVybnMgT0wgb3ZlcmxheVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU9sVG9vbHRpcEF0UG9pbnQoXHJcbiAgb2xQb2ludDogT2xQb2ludCxcclxuICBjZW50ZXI6IGJvb2xlYW4gPSBmYWxzZSxcclxuICBzcmNHZW9tVHlwZTogc3RyaW5nID0gJydcclxuKTogT2xPdmVybGF5IHtcclxuICBjb25zdCBvbFRvb2x0aXAgPSBuZXcgT2xPdmVybGF5KHtcclxuICAgIGVsZW1lbnQ6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLFxyXG4gICAgb2Zmc2V0OiBbLTMwLCAtMTBdLFxyXG4gICAgY2xhc3NOYW1lOiAoY2VudGVyXHJcbiAgICAgID8gW1xyXG4gICAgICAgICAgJ2lnby1tYXAtdG9vbHRpcCcsXHJcbiAgICAgICAgICAnaWdvLW1hcC10b29sdGlwLW1lYXN1cmUnLFxyXG4gICAgICAgICAgJ2lnby1tYXAtdG9vbHRpcC1tZWFzdXJlLWFyZWEnXHJcbiAgICAgICAgXVxyXG4gICAgICA6IFtcclxuICAgICAgICAgICdpZ28tbWFwLXRvb2x0aXAnLFxyXG4gICAgICAgICAgJ2lnby1tYXAtdG9vbHRpcC1tZWFzdXJlJyxcclxuICAgICAgICAgIGBpZ28tbWFwLXRvb2x0aXAtbWVhc3VyZS0ke3NyY0dlb21UeXBlfXNlZ21lbnRzYFxyXG4gICAgICAgIF1cclxuICAgICkuam9pbignICcpLFxyXG4gICAgc3RvcEV2ZW50OiBmYWxzZVxyXG4gIH0pO1xyXG4gIG9sVG9vbHRpcC5zZXRQb3NpdGlvbihvbFBvaW50LmdldEZsYXRDb29yZGluYXRlcygpKTtcclxuICBvbFBvaW50LnNldCgnX3Rvb2x0aXAnLCBvbFRvb2x0aXApO1xyXG5cclxuICByZXR1cm4gb2xUb29sdGlwO1xyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- import { Component, Input, ChangeDetectionStrategy, Inject, ViewEncapsulation } from '@angular/core';
2
- import { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';
1
+ import { ChangeDetectionStrategy, Component, Inject, Input, ViewEncapsulation } from '@angular/core';
2
+ import { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
3
3
  import { Layer } from '../../layer/shared/layers/layer';
4
4
  import { MetadataService } from '../shared/metadata.service';
5
5
  import * as i0 from "@angular/core";
@@ -137,4 +137,4 @@ export class MetadataAbstractComponent {
137
137
  type: Inject,
138
138
  args: [MAT_DIALOG_DATA]
139
139
  }] }]; }, null); })();
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21ldGFkYXRhL21ldGFkYXRhLWJ1dHRvbi9tZXRhZGF0YS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWV0YWRhdGEvbWV0YWRhdGEtYnV0dG9uL21ldGFkYXRhLWJ1dHRvbi5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21ldGFkYXRhL21ldGFkYXRhLWJ1dHRvbi9tZXRhZGF0YS1hYnN0cmFjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU14RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0lDZjdELGlDQVdDO0lBREMsdUtBQVMsZUFBQSw0Q0FBOEIsQ0FBQSxJQUFDOztJQUV4Qyw4QkFBbUQ7SUFDckQsaUJBQVM7OztJQUxQLDBFQUFrRCx1QkFBQTs7O0lDTnBELDZDQUE4RSxTQUFBO0lBQ3hFLFlBQW1CO0lBQUEsaUJBQUssRUFBQTs7O0lBQXhCLGVBQW1CO0lBQW5CLDBDQUFtQjs7O0lBRXpCLDZDQUE4RTtJQUM1RSx3QkFBcUM7SUFDdkMsaUJBQXFCOzs7SUFEZixlQUEyQjtJQUEzQixtRUFBMkI7O0FGaUJqQyxNQUFNLE9BQU8sdUJBQXVCO0lBb0J4QjtJQUNBO0lBcEJWLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBWTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ08sTUFBTSxDQUFRO0lBRXRCLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ08sTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUUzQixZQUNVLGVBQWdDLEVBQ2hDLE1BQWlCO1FBRGpCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQ3hCLENBQUM7SUFFSixZQUFZLENBQUMsUUFBeUI7UUFDcEMsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO29CQUMxQyxJQUFJLEVBQUU7d0JBQ0osVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSzt3QkFDNUIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO3dCQUMzQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7cUJBQ3BCO2lCQUNGLENBQUMsQ0FBQzthQUNKO2lCQUFNLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDckM7U0FDRjthQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUU7Z0JBQzFDLElBQUksRUFBRTtvQkFDSixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO29CQUM1QixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7b0JBQzNCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtpQkFDcEI7YUFDRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQztpRkFyRFUsdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUN2QnBDLDhFQWFTOztZQVpOLDhKQUlIOzs7dUZEa0JhLHVCQUF1QjtjQU5uQyxTQUFTOzJCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNOzBGQUkzQyxLQUFLO2tCQURSLEtBQUs7WUFVRixLQUFLO2tCQURSLEtBQUs7O0FBb0RSLE1BQU0sT0FBTyx5QkFBeUI7SUFDUTtJQUE1QyxZQUE0QyxJQUFxQjtRQUFyQixTQUFJLEdBQUosSUFBSSxDQUFpQjtJQUFHLENBQUM7bUZBRDFELHlCQUF5Qix1QkFDaEIsZUFBZTs2REFEeEIseUJBQXlCO1lFckZ0Qyw2QkFBcUI7WUFBQSxZQUFxQjtZQUFBLGlCQUFLO1lBQy9DLGlDQUF5RDtZQUFBLGlCQUFDO1lBQUEsaUJBQVM7WUFDbkUsd0dBRXFCO1lBQ3JCLHdHQUVxQjs7WUFQQSxlQUFxQjtZQUFyQix5Q0FBcUI7WUFFckIsZUFBZ0M7WUFBaEMscURBQWdDO1lBR2hDLGVBQWdDO1lBQWhDLHFEQUFnQzs7O3VGRmdGeEMseUJBQXlCO2NBTnJDLFNBQVM7MkJBQ0UsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJOztzQkFHeEIsTUFBTTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIEluamVjdCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XG5cbmltcG9ydCB7XG4gIE1ldGFkYXRhT3B0aW9ucyxcbiAgTWV0YWRhdGFMYXllck9wdGlvbnNcbn0gZnJvbSAnLi4vc2hhcmVkL21ldGFkYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNZXRhZGF0YVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvbWV0YWRhdGEuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1tZXRhZGF0YS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgZ2V0IGxheWVyKCk6IExheWVyIHtcbiAgICByZXR1cm4gdGhpcy5fbGF5ZXI7XG4gIH1cbiAgc2V0IGxheWVyKHZhbHVlOiBMYXllcikge1xuICAgIHRoaXMuX2xheWVyID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfbGF5ZXI6IExheWVyO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XG4gIH1cbiAgc2V0IGNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX2NvbG9yID0gJ3ByaW1hcnknO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWV0YWRhdGFTZXJ2aWNlOiBNZXRhZGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZ1xuICApIHt9XG5cbiAgb3Blbk1ldGFkYXRhKG1ldGFkYXRhOiBNZXRhZGF0YU9wdGlvbnMpIHtcbiAgICBpZiAobWV0YWRhdGEuZXh0ZXJuKSB7XG4gICAgICBpZiAoIW1ldGFkYXRhLnVybCAmJiBtZXRhZGF0YS5hYnN0cmFjdCkge1xuICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKE1ldGFkYXRhQWJzdHJhY3RDb21wb25lbnQsIHtcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBsYXllclRpdGxlOiB0aGlzLmxheWVyLnRpdGxlLFxuICAgICAgICAgICAgYWJzdHJhY3Q6IG1ldGFkYXRhLmFic3RyYWN0LFxuICAgICAgICAgICAgdHlwZTogbWV0YWRhdGEudHlwZVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKG1ldGFkYXRhLnVybCkge1xuICAgICAgICB0aGlzLm1ldGFkYXRhU2VydmljZS5vcGVuKG1ldGFkYXRhKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFtZXRhZGF0YS5leHRlcm4gJiYgbWV0YWRhdGEuYWJzdHJhY3QpIHtcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oTWV0YWRhdGFBYnN0cmFjdENvbXBvbmVudCwge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbGF5ZXJUaXRsZTogdGhpcy5sYXllci50aXRsZSxcbiAgICAgICAgICBhYnN0cmFjdDogbWV0YWRhdGEuYWJzdHJhY3QsXG4gICAgICAgICAgdHlwZTogbWV0YWRhdGEudHlwZVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgb3B0aW9ucygpOiBNZXRhZGF0YUxheWVyT3B0aW9ucyB7XG4gICAgaWYgKCF0aGlzLmxheWVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxheWVyLm9wdGlvbnM7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLW1ldGFkYXRhLWFic3RyYWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWFic3RyYWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtYWJzdHJhY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YUFic3RyYWN0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBNZXRhZGF0YU9wdGlvbnMpIHt9XG59XG4iLCI8YnV0dG9uXG4gICpuZ0lmPVwiXG4gICAgKG9wdGlvbnMgJiYgb3B0aW9ucy5tZXRhZGF0YSAmJiBvcHRpb25zLm1ldGFkYXRhLnVybCkgfHxcbiAgICAob3B0aW9ucyAmJiBvcHRpb25zLm1ldGFkYXRhICYmIG9wdGlvbnMubWV0YWRhdGEuYWJzdHJhY3QpXG4gIFwiXG4gIG1hdC1pY29uLWJ1dHRvblxuICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8ubWV0YWRhdGEuc2hvdycgfCB0cmFuc2xhdGVcIlxuICBbY29sb3JdPVwiY29sb3JcIlxuICAoY2xpY2spPVwib3Blbk1ldGFkYXRhKG9wdGlvbnMubWV0YWRhdGEpXCJcbj5cbiAgPG1hdC1pY29uIHN2Z0ljb249XCJpbmZvcm1hdGlvbi1vdXRsaW5lXCI+PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuIiwiPGgyIG1hdC1kaWFsb2ctdGl0bGU+e3sgZGF0YS5sYXllclRpdGxlIH19PC9oMj5cbjxidXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+WDwvYnV0dG9uPlxuPG1hdC1kaWFsb2ctY29udGVudCAqbmdJZj1cImRhdGEudHlwZSAhPT0gJ2FyY2dpc3Jlc3QnXCIgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICA8aDM+e3sgZGF0YS5hYnN0cmFjdCB9fTwvaDM+XG48L21hdC1kaWFsb2ctY29udGVudD5cbjxtYXQtZGlhbG9nLWNvbnRlbnQgKm5nSWY9XCJkYXRhLnR5cGUgPT09ICdhcmNnaXNyZXN0J1wiIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cbiAgPGgzIFtpbm5lckhUTUxdPVwiZGF0YS5hYnN0cmFjdFwiPjwvaDM+XG48L21hdC1kaWFsb2ctY29udGVudD5cbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21ldGFkYXRhL21ldGFkYXRhLWJ1dHRvbi9tZXRhZGF0YS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWV0YWRhdGEvbWV0YWRhdGEtYnV0dG9uL21ldGFkYXRhLWJ1dHRvbi5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21ldGFkYXRhL21ldGFkYXRhLWJ1dHRvbi9tZXRhZGF0YS1hYnN0cmFjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUt4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0lDZDdELGlDQVdDO0lBREMsdUtBQVMsZUFBQSw0Q0FBOEIsQ0FBQSxJQUFDOztJQUV4Qyw4QkFBbUQ7SUFDckQsaUJBQVM7OztJQUxQLDBFQUFrRCx1QkFBQTs7O0lDTnBELDZDQUE4RSxTQUFBO0lBQ3hFLFlBQW1CO0lBQUEsaUJBQUssRUFBQTs7O0lBQXhCLGVBQW1CO0lBQW5CLDBDQUFtQjs7O0lBRXpCLDZDQUE4RTtJQUM1RSx3QkFBcUM7SUFDdkMsaUJBQXFCOzs7SUFEZixlQUEyQjtJQUEzQixtRUFBMkI7O0FGZ0JqQyxNQUFNLE9BQU8sdUJBQXVCO0lBb0J4QjtJQUNBO0lBcEJWLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBWTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ08sTUFBTSxDQUFRO0lBRXRCLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ08sTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUUzQixZQUNVLGVBQWdDLEVBQ2hDLE1BQWlCO1FBRGpCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFXO0lBQ3hCLENBQUM7SUFFSixZQUFZLENBQUMsUUFBeUI7UUFDcEMsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO29CQUMxQyxJQUFJLEVBQUU7d0JBQ0osVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSzt3QkFDNUIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO3dCQUMzQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7cUJBQ3BCO2lCQUNGLENBQUMsQ0FBQzthQUNKO2lCQUFNLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDckM7U0FDRjthQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUU7Z0JBQzFDLElBQUksRUFBRTtvQkFDSixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO29CQUM1QixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7b0JBQzNCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtpQkFDcEI7YUFDRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQztpRkFyRFUsdUJBQXVCOzZEQUF2Qix1QkFBdUI7WUN0QnBDLDhFQWFTOztZQVpOLDhKQUlIOzs7dUZEaUJhLHVCQUF1QjtjQU5uQyxTQUFTOzJCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNOzBGQUkzQyxLQUFLO2tCQURSLEtBQUs7WUFVRixLQUFLO2tCQURSLEtBQUs7O0FBb0RSLE1BQU0sT0FBTyx5QkFBeUI7SUFDUTtJQUE1QyxZQUE0QyxJQUFxQjtRQUFyQixTQUFJLEdBQUosSUFBSSxDQUFpQjtJQUFHLENBQUM7bUZBRDFELHlCQUF5Qix1QkFDaEIsZUFBZTs2REFEeEIseUJBQXlCO1lFcEZ0Qyw2QkFBcUI7WUFBQSxZQUFxQjtZQUFBLGlCQUFLO1lBQy9DLGlDQUF5RDtZQUFBLGlCQUFDO1lBQUEsaUJBQVM7WUFDbkUsd0dBRXFCO1lBQ3JCLHdHQUVxQjs7WUFQQSxlQUFxQjtZQUFyQix5Q0FBcUI7WUFFckIsZUFBZ0M7WUFBaEMscURBQWdDO1lBR2hDLGVBQWdDO1lBQWhDLHFEQUFnQzs7O3VGRitFeEMseUJBQXlCO2NBTnJDLFNBQVM7MkJBQ0UsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJOztzQkFHeEIsTUFBTTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XHJcbmltcG9ydCB7XHJcbiAgTWV0YWRhdGFMYXllck9wdGlvbnMsXHJcbiAgTWV0YWRhdGFPcHRpb25zXHJcbn0gZnJvbSAnLi4vc2hhcmVkL21ldGFkYXRhLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1ldGFkYXRhU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9tZXRhZGF0YS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW1ldGFkYXRhLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBsYXllcigpOiBMYXllciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGF5ZXI7XHJcbiAgfVxyXG4gIHNldCBsYXllcih2YWx1ZTogTGF5ZXIpIHtcclxuICAgIHRoaXMuX2xheWVyID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xheWVyOiBMYXllcjtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgY29sb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XHJcbiAgfVxyXG4gIHNldCBjb2xvcih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xvciA9ICdwcmltYXJ5JztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1ldGFkYXRhU2VydmljZTogTWV0YWRhdGFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZ1xyXG4gICkge31cclxuXHJcbiAgb3Blbk1ldGFkYXRhKG1ldGFkYXRhOiBNZXRhZGF0YU9wdGlvbnMpIHtcclxuICAgIGlmIChtZXRhZGF0YS5leHRlcm4pIHtcclxuICAgICAgaWYgKCFtZXRhZGF0YS51cmwgJiYgbWV0YWRhdGEuYWJzdHJhY3QpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKE1ldGFkYXRhQWJzdHJhY3RDb21wb25lbnQsIHtcclxuICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbGF5ZXJUaXRsZTogdGhpcy5sYXllci50aXRsZSxcclxuICAgICAgICAgICAgYWJzdHJhY3Q6IG1ldGFkYXRhLmFic3RyYWN0LFxyXG4gICAgICAgICAgICB0eXBlOiBtZXRhZGF0YS50eXBlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAobWV0YWRhdGEudXJsKSB7XHJcbiAgICAgICAgdGhpcy5tZXRhZGF0YVNlcnZpY2Uub3BlbihtZXRhZGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoIW1ldGFkYXRhLmV4dGVybiAmJiBtZXRhZGF0YS5hYnN0cmFjdCkge1xyXG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKE1ldGFkYXRhQWJzdHJhY3RDb21wb25lbnQsIHtcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBsYXllclRpdGxlOiB0aGlzLmxheWVyLnRpdGxlLFxyXG4gICAgICAgICAgYWJzdHJhY3Q6IG1ldGFkYXRhLmFic3RyYWN0LFxyXG4gICAgICAgICAgdHlwZTogbWV0YWRhdGEudHlwZVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgb3B0aW9ucygpOiBNZXRhZGF0YUxheWVyT3B0aW9ucyB7XHJcbiAgICBpZiAoIXRoaXMubGF5ZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXIub3B0aW9ucztcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW1ldGFkYXRhLWFic3RyYWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtYWJzdHJhY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21ldGFkYXRhLWFic3RyYWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFBYnN0cmFjdENvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBNZXRhZGF0YU9wdGlvbnMpIHt9XHJcbn1cclxuIiwiPGJ1dHRvblxuICAqbmdJZj1cIlxuICAgIChvcHRpb25zICYmIG9wdGlvbnMubWV0YWRhdGEgJiYgb3B0aW9ucy5tZXRhZGF0YS51cmwpIHx8XG4gICAgKG9wdGlvbnMgJiYgb3B0aW9ucy5tZXRhZGF0YSAmJiBvcHRpb25zLm1ldGFkYXRhLmFic3RyYWN0KVxuICBcIlxuICBtYXQtaWNvbi1idXR0b25cbiAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLm1ldGFkYXRhLnNob3cnIHwgdHJhbnNsYXRlXCJcbiAgW2NvbG9yXT1cImNvbG9yXCJcbiAgKGNsaWNrKT1cIm9wZW5NZXRhZGF0YShvcHRpb25zLm1ldGFkYXRhKVwiXG4+XG4gIDxtYXQtaWNvbiBzdmdJY29uPVwiaW5mb3JtYXRpb24tb3V0bGluZVwiPjwvbWF0LWljb24+XG48L2J1dHRvbj5cbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPnt7IGRhdGEubGF5ZXJUaXRsZSB9fTwvaDI+XG48YnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCIgbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPlg8L2J1dHRvbj5cbjxtYXQtZGlhbG9nLWNvbnRlbnQgKm5nSWY9XCJkYXRhLnR5cGUgIT09ICdhcmNnaXNyZXN0J1wiIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cbiAgPGgzPnt7IGRhdGEuYWJzdHJhY3QgfX08L2gzPlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG48bWF0LWRpYWxvZy1jb250ZW50ICpuZ0lmPVwiZGF0YS50eXBlID09PSAnYXJjZ2lzcmVzdCdcIiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XG4gIDxoMyBbaW5uZXJIVE1MXT1cImRhdGEuYWJzdHJhY3RcIj48L2gzPlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4iXX0=
@@ -1,11 +1,11 @@
1
- import { MatDialogModule } from '@angular/material/dialog';
2
- import { NgModule } from '@angular/core';
3
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
4
3
  import { MatButtonModule } from '@angular/material/button';
4
+ import { MatDialogModule } from '@angular/material/dialog';
5
5
  import { MatIconModule } from '@angular/material/icon';
6
6
  import { MatTooltipModule } from '@angular/material/tooltip';
7
7
  import { IgoLanguageModule } from '@igo2/core';
8
- import { MetadataButtonComponent, MetadataAbstractComponent } from './metadata-button/metadata-button.component';
8
+ import { MetadataAbstractComponent, MetadataButtonComponent } from './metadata-button/metadata-button.component';
9
9
  import * as i0 from "@angular/core";
10
10
  export class IgoMetadataModule {
11
11
  static forRoot() {
@@ -44,4 +44,4 @@ export class IgoMetadataModule {
44
44
  MatTooltipModule,
45
45
  IgoLanguageModule,
46
46
  MatDialogModule], exports: [MetadataButtonComponent, MetadataAbstractComponent] }); })();
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWV0YWRhdGEvbWV0YWRhdGEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDMUIsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFjckQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7MkVBTlUsaUJBQWlCOzREQUFqQixpQkFBaUI7Z0VBVjFCLFlBQVk7WUFDWixhQUFhO1lBQ2IsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsZUFBZTs7dUZBS04saUJBQWlCO2NBWjdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixpQkFBaUI7b0JBQ2pCLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLHlCQUF5QixDQUFDO2dCQUM3RCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSx5QkFBeUIsQ0FBQzthQUNuRTs7d0ZBQ1ksaUJBQWlCLG1CQUZiLHVCQUF1QixFQUFFLHlCQUF5QixhQVIvRCxZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGVBQWUsYUFFUCx1QkFBdUIsRUFBRSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbmltcG9ydCB7XG4gIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50LFxuICBNZXRhZGF0YUFic3RyYWN0Q29tcG9uZW50XG59IGZyb20gJy4vbWV0YWRhdGEtYnV0dG9uL21ldGFkYXRhLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtNZXRhZGF0YUJ1dHRvbkNvbXBvbmVudCwgTWV0YWRhdGFBYnN0cmFjdENvbXBvbmVudF0sXG4gIGRlY2xhcmF0aW9uczogW01ldGFkYXRhQnV0dG9uQ29tcG9uZW50LCBNZXRhZGF0YUFic3RyYWN0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBJZ29NZXRhZGF0YU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvTWV0YWRhdGFNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IElnb01ldGFkYXRhTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWV0YWRhdGEvbWV0YWRhdGEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDeEIsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFjckQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7MkVBTlUsaUJBQWlCOzREQUFqQixpQkFBaUI7Z0VBVjFCLFlBQVk7WUFDWixhQUFhO1lBQ2IsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsZUFBZTs7dUZBS04saUJBQWlCO2NBWjdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixpQkFBaUI7b0JBQ2pCLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLHlCQUF5QixDQUFDO2dCQUM3RCxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSx5QkFBeUIsQ0FBQzthQUNuRTs7d0ZBQ1ksaUJBQWlCLG1CQUZiLHVCQUF1QixFQUFFLHlCQUF5QixhQVIvRCxZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGVBQWUsYUFFUCx1QkFBdUIsRUFBRSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIE1ldGFkYXRhQWJzdHJhY3RDb21wb25lbnQsXHJcbiAgTWV0YWRhdGFCdXR0b25Db21wb25lbnRcclxufSBmcm9tICcuL21ldGFkYXRhLWJ1dHRvbi9tZXRhZGF0YS1idXR0b24uY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW01ldGFkYXRhQnV0dG9uQ29tcG9uZW50LCBNZXRhZGF0YUFic3RyYWN0Q29tcG9uZW50XSxcclxuICBkZWNsYXJhdGlvbnM6IFtNZXRhZGF0YUJ1dHRvbkNvbXBvbmVudCwgTWV0YWRhdGFBYnN0cmFjdENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb01ldGFkYXRhTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb01ldGFkYXRhTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvTWV0YWRhdGFNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW11cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,11 +1,11 @@
1
+ import { HttpClient } from '@angular/common/http';
1
2
  import { Injectable } from '@angular/core';
2
3
  import { MessageService } from '@igo2/core';
3
- import { HttpClient } from '@angular/common/http';
4
- import { catchError, concatMap } from 'rxjs/operators';
5
- import { GeoDBService } from './geoDB.service';
6
- import { of, zip } from 'rxjs';
7
4
  import { default as JSZip } from 'jszip';
5
+ import { of, zip } from 'rxjs';
6
+ import { catchError, concatMap } from 'rxjs/operators';
8
7
  import { InsertSourceInsertDBEnum } from './geoDB.enums';
8
+ import { GeoDBService } from './geoDB.service';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/common/http";
11
11
  import * as i2 from "./geoDB.service";
@@ -125,4 +125,4 @@ export class ConfigFileToGeoDBService {
125
125
  providedIn: 'root'
126
126
  }]
127
127
  }], function () { return [{ type: i1.HttpClient }, { type: i2.GeoDBService }, { type: i3.MessageService }]; }, null); })();
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnRmlsZVRvR2VvREIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL29mZmxpbmUvZ2VvREIvY29uZmlnRmlsZVRvR2VvREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxPQUFPLElBQUksS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFLekQsTUFBTSxPQUFPLHdCQUF3QjtJQUV6QjtJQUNBO0lBQ0E7SUFIVixZQUNVLElBQWdCLEVBQ2hCLFlBQTBCLEVBQzFCLGNBQThCO1FBRjlCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQ3JDLENBQUM7SUFFSixJQUFJLENBQUMsR0FBVztRQUNkLElBQUksZUFBZSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJO2FBQ04sR0FBRyxDQUFDLEdBQUcsQ0FBQzthQUNSLElBQUksQ0FDSCxVQUFVLENBQUMsQ0FBQyxLQUFVLEVBQU8sRUFBRTtZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLG9CQUFv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RCxDQUFDLENBQUMsQ0FBQzt5QkFDSjtxQkFDRjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLGVBQWUsRUFBRTtnQkFDbkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBRSxlQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUM3RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FDekIsMkNBQTJDLEVBQzNDLFNBQVMsRUFDVCxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FDbkIsQ0FBQztnQkFDSixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDVjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLEtBQUssQ0FBQyxLQUFLO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN2QixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7a0ZBakpVLHdCQUF3QjtnRUFBeEIsd0JBQXdCLFdBQXhCLHdCQUF3QixtQkFGdkIsTUFBTTs7dUZBRVAsd0JBQXdCO2NBSHBDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgY29uY2F0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR2VvREJTZXJ2aWNlIH0gZnJvbSAnLi9nZW9EQi5zZXJ2aWNlJztcbmltcG9ydCB7IG9mLCB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGFzVG9JREIsIEdlb0RCRGF0YSB9IGZyb20gJy4vZ2VvREIuaW50ZXJmYWNlJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgSlNaaXAgfSBmcm9tICdqc3ppcCc7XG5pbXBvcnQgeyBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0gfSBmcm9tICcuL2dlb0RCLmVudW1zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlnRmlsZVRvR2VvREJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZ2VvREJTZXJ2aWNlOiBHZW9EQlNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGxvYWQodXJsOiBzdHJpbmcpIHtcbiAgICBsZXQgZG93bmxvYWRNZXNzYWdlO1xuICAgIHRoaXMuaHR0cFxuICAgICAgLmdldCh1cmwpXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IGFueSk6IGFueSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coYEdlb0RhdGEgZmlsZSAke3VybH0gY291bGQgbm90IGJlIHJlYWRgKTtcbiAgICAgICAgICBlcnJvci5lcnJvci5jYXVnaHQgPSB0cnVlO1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9KSxcbiAgICAgICAgY29uY2F0TWFwKChkYXRhc1RvSURCOiBEYXRhc1RvSURCKSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YXMkID0gW107XG4gICAgICAgICAgbGV0IGZpcnN0RG93bmxvYWQgPSB0cnVlO1xuICAgICAgICAgIGlmIChkYXRhc1RvSURCPy5nZW9EYXRhcykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgZGF0YXNUb0lEQj8uZ2VvRGF0YXMubWFwKChnZW9EYXRhKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgZ2VvRGF0YS50cmlnZ2VyRGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBnZW9EYXRhLnRyaWdnZXJEYXRlID0gbmV3IERhdGUoRGF0ZS5wYXJzZShnZW9EYXRhLnRyaWdnZXJEYXRlKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnREYXRlID49IGdlb0RhdGEudHJpZ2dlckRhdGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoZ2VvRGF0YS5hY3Rpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpbnNlcnRFdmVudCA9IGAke1xuICAgICAgICAgICAgICAgICAgICBnZW9EYXRhLnNvdXJjZSB8fCBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0uU3lzdGVtXG4gICAgICAgICAgICAgICAgICB9ICgke2dlb0RhdGEudHJpZ2dlckRhdGV9KWA7XG4gICAgICAgICAgICAgICAgICBnZW9EYXRhLnVybHMubWFwKCh1cmwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YXMkLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZW9EQlNlcnZpY2UuZ2V0QnlJRCh1cmwpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25jYXRNYXAoKHJlczogR2VvREJEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXM/Lmluc2VydEV2ZW50ICE9PSBpbnNlcnRFdmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaXJzdERvd25sb2FkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZE1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpZ28uZ2VvLmluZGV4ZWREYi5kYXRhLWRvd25sb2FkLXN0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRpbWVPdXQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NCYXI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcFRvRGlzbWlzczogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0RG93bmxvYWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlVHlwZTogYW55ID0gJ2pzb24nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzWmlwID0gdGhpcy5pc1ppcCh1cmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1ppcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHJlc3BvbnNlVHlwZSB9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uY2F0TWFwKChyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1ppcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9ic2VydmFibGVzJCA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2VvREJTZXJ2aWNlLnVwZGF0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0uU3lzdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRFdmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSlNaaXAubG9hZEFzeW5jKHIpLnRoZW4oKHppcHBlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemlwcGVkLmZvckVhY2goKHJlbGF0aXZlUGF0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVQYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9Mb2NhbGVMb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVuZHNXaXRoKCcuZ2VvanNvbicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppcHBlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbGUocmVsYXRpdmVQYXRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFzeW5jKCd0ZXh0JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKChyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdlb2pzb24gPSBKU09OLnBhcnNlKHIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJVcmwgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlb0RhdGEuemlwcGVkQmFzZVVybCB8fCAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgemlwcGVkVXJsID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJVcmwgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdWJVcmwuZW5kc1dpdGgoJy8nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnLycpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVBhdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmFibGVzJC5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2VvREJTZXJ2aWNlLnVwZGF0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppcHBlZFVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlb2pzb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0uU3lzdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0RXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHppcChvYnNlcnZhYmxlcyQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdlb0RCU2VydmljZS51cGRhdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc2VydFNvdXJjZUluc2VydERCRW51bS5TeXN0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0RXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZ2VvRGF0YS5hY3Rpb24gPT09ICdkZWxldGUnKSB7XG4gICAgICAgICAgICAgICAgICBnZW9EYXRhLnVybHMubWFwKCh1cmwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YXMkLnB1c2godGhpcy5nZW9EQlNlcnZpY2UuZGVsZXRlQnlLZXkodXJsKSk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gemlwKC4uLmRhdGFzJCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKGRvd25sb2FkTWVzc2FnZSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5yZW1vdmUoKGRvd25sb2FkTWVzc2FnZSBhcyBhbnkpLnRvYXN0SWQpO1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKFxuICAgICAgICAgICAgICAnaWdvLmdlby5pbmRleGVkRGIuZGF0YS1kb3dubG9hZC1jb21wbGV0ZWQnLFxuICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHsgdGltZU91dDogNDAwMDAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LCAyNTAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzWmlwKHZhbHVlKSB7XG4gICAgY29uc3QgcmVnZXggPSAvKHppcCkkLztcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiByZWdleC50ZXN0KHZhbHVlLnRvTG93ZXJDYXNlKCkpO1xuICB9XG59XG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnRmlsZVRvR2VvREIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL29mZmxpbmUvZ2VvREIvY29uZmlnRmlsZVRvR2VvREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxPQUFPLElBQUksS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFLL0MsTUFBTSxPQUFPLHdCQUF3QjtJQUV6QjtJQUNBO0lBQ0E7SUFIVixZQUNVLElBQWdCLEVBQ2hCLFlBQTBCLEVBQzFCLGNBQThCO1FBRjlCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQ3JDLENBQUM7SUFFSixJQUFJLENBQUMsR0FBVztRQUNkLElBQUksZUFBZSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJO2FBQ04sR0FBRyxDQUFDLEdBQUcsQ0FBQzthQUNSLElBQUksQ0FDSCxVQUFVLENBQUMsQ0FBQyxLQUFVLEVBQU8sRUFBRTtZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLG9CQUFv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RCxDQUFDLENBQUMsQ0FBQzt5QkFDSjtxQkFDRjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLGVBQWUsRUFBRTtnQkFDbkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBRSxlQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUM3RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FDekIsMkNBQTJDLEVBQzNDLFNBQVMsRUFDVCxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FDbkIsQ0FBQztnQkFDSixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDVjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLEtBQUssQ0FBQyxLQUFLO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN2QixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7a0ZBakpVLHdCQUF3QjtnRUFBeEIsd0JBQXdCLFdBQXhCLHdCQUF3QixtQkFGdkIsTUFBTTs7dUZBRVAsd0JBQXdCO2NBSHBDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBkZWZhdWx0IGFzIEpTWmlwIH0gZnJvbSAnanN6aXAnO1xyXG5pbXBvcnQgeyBvZiwgemlwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGNvbmNhdE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEluc2VydFNvdXJjZUluc2VydERCRW51bSB9IGZyb20gJy4vZ2VvREIuZW51bXMnO1xyXG5pbXBvcnQgeyBEYXRhc1RvSURCLCBHZW9EQkRhdGEgfSBmcm9tICcuL2dlb0RCLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEdlb0RCU2VydmljZSB9IGZyb20gJy4vZ2VvREIuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maWdGaWxlVG9HZW9EQlNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBnZW9EQlNlcnZpY2U6IEdlb0RCU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBsb2FkKHVybDogc3RyaW5nKSB7XHJcbiAgICBsZXQgZG93bmxvYWRNZXNzYWdlO1xyXG4gICAgdGhpcy5odHRwXHJcbiAgICAgIC5nZXQodXJsKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogYW55KTogYW55ID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGBHZW9EYXRhIGZpbGUgJHt1cmx9IGNvdWxkIG5vdCBiZSByZWFkYCk7XHJcbiAgICAgICAgICBlcnJvci5lcnJvci5jYXVnaHQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY29uY2F0TWFwKChkYXRhc1RvSURCOiBEYXRhc1RvSURCKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhcyQgPSBbXTtcclxuICAgICAgICAgIGxldCBmaXJzdERvd25sb2FkID0gdHJ1ZTtcclxuICAgICAgICAgIGlmIChkYXRhc1RvSURCPy5nZW9EYXRhcykge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgICAgIGRhdGFzVG9JREI/Lmdlb0RhdGFzLm1hcCgoZ2VvRGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgZ2VvRGF0YS50cmlnZ2VyRGF0ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgIGdlb0RhdGEudHJpZ2dlckRhdGUgPSBuZXcgRGF0ZShEYXRlLnBhcnNlKGdlb0RhdGEudHJpZ2dlckRhdGUpKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnREYXRlID49IGdlb0RhdGEudHJpZ2dlckRhdGUpIHtcclxuICAgICAgICAgICAgICAgIGlmIChnZW9EYXRhLmFjdGlvbiA9PT0gJ3VwZGF0ZScpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgaW5zZXJ0RXZlbnQgPSBgJHtcclxuICAgICAgICAgICAgICAgICAgICBnZW9EYXRhLnNvdXJjZSB8fCBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0uU3lzdGVtXHJcbiAgICAgICAgICAgICAgICAgIH0gKCR7Z2VvRGF0YS50cmlnZ2VyRGF0ZX0pYDtcclxuICAgICAgICAgICAgICAgICAgZ2VvRGF0YS51cmxzLm1hcCgodXJsKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YXMkLnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdlb0RCU2VydmljZS5nZXRCeUlEKHVybCkucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uY2F0TWFwKChyZXM6IEdlb0RCRGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXM/Lmluc2VydEV2ZW50ICE9PSBpbnNlcnRFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0RG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWRNZXNzYWdlID0gdGhpcy5tZXNzYWdlU2VydmljZS5pbmZvKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpZ28uZ2VvLmluZGV4ZWREYi5kYXRhLWRvd25sb2FkLXN0YXJ0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRpbWVPdXQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc0JhcjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcFRvRGlzbWlzczogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0RG93bmxvYWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXNwb25zZVR5cGU6IGFueSA9ICdqc29uJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzWmlwID0gdGhpcy5pc1ppcCh1cmwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzWmlwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlIH0pLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmNhdE1hcCgocikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1ppcCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXMkID0gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdlb0RCU2VydmljZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0uU3lzdGVtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydEV2ZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKU1ppcC5sb2FkQXN5bmMocikudGhlbigoemlwcGVkKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppcHBlZC5mb3JFYWNoKChyZWxhdGl2ZVBhdGgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvTG9jYWxlTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVuZHNXaXRoKCcuZ2VvanNvbicpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aXBwZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbGUocmVsYXRpdmVQYXRoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXN5bmMoJ3RleHQnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigocikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdlb2pzb24gPSBKU09OLnBhcnNlKHIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YlVybCA9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW9EYXRhLnppcHBlZEJhc2VVcmwgfHwgJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgemlwcGVkVXJsID1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlVybCArXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3ViVXJsLmVuZHNXaXRoKCcvJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcvJykgK1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVQYXRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmFibGVzJC5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZW9EQlNlcnZpY2UudXBkYXRlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aXBwZWRVcmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VvanNvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5zZXJ0U291cmNlSW5zZXJ0REJFbnVtLlN5c3RlbSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0RXZlbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gemlwKG9ic2VydmFibGVzJCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdlb0RCU2VydmljZS51cGRhdGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5zZXJ0U291cmNlSW5zZXJ0REJFbnVtLlN5c3RlbSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydEV2ZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChnZW9EYXRhLmFjdGlvbiA9PT0gJ2RlbGV0ZScpIHtcclxuICAgICAgICAgICAgICAgICAgZ2VvRGF0YS51cmxzLm1hcCgodXJsKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YXMkLnB1c2godGhpcy5nZW9EQlNlcnZpY2UuZGVsZXRlQnlLZXkodXJsKSk7XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gemlwKC4uLmRhdGFzJCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoZG93bmxvYWRNZXNzYWdlKSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5yZW1vdmUoKGRvd25sb2FkTWVzc2FnZSBhcyBhbnkpLnRvYXN0SWQpO1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MoXHJcbiAgICAgICAgICAgICAgJ2lnby5nZW8uaW5kZXhlZERiLmRhdGEtZG93bmxvYWQtY29tcGxldGVkJyxcclxuICAgICAgICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgeyB0aW1lT3V0OiA0MDAwMCB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LCAyNTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1ppcCh2YWx1ZSkge1xyXG4gICAgY29uc3QgcmVnZXggPSAvKHppcCkkLztcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHJlZ2V4LnRlc3QodmFsdWUudG9Mb3dlckNhc2UoKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { CompressionService } from '@igo2/core';
2
3
  import { DBMode, NgxIndexedDBService } from 'ngx-indexed-db';
3
- import { of, Subject } from 'rxjs';
4
+ import { Subject, of } from 'rxjs';
4
5
  import { concatMap, first, map, take } from 'rxjs/operators';
5
- import { CompressionService } from '@igo2/core';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "ngx-indexed-db";
8
8
  import * as i2 from "@igo2/core";
@@ -172,4 +172,4 @@ export class GeoDBService {
172
172
  providedIn: 'root'
173
173
  }]
174
174
  }], function () { return [{ type: i1.NgxIndexedDBService }, { type: i2.CompressionService }]; }, null); })();
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvREIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL29mZmxpbmUvZ2VvREIvZ2VvREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7O0FBT2hELE1BQU0sT0FBTyxZQUFZO0lBTWI7SUFDQTtJQU5ELE1BQU0sR0FBVyxTQUFTLENBQUM7SUFDN0IsYUFBYSxHQUEwQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pELFFBQVEsR0FBVyxDQUFDLENBQUM7SUFFNUIsWUFDVSxtQkFBd0MsRUFDeEMsV0FBK0I7UUFEL0Isd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFDdEMsQ0FBQztJQUVKOzs7Ozs7OztPQVFHO0lBQ0gsTUFBTSxDQUNKLEdBQVcsRUFDWCxRQUFhLEVBQ2IsTUFBVyxFQUNYLFlBQXNDLEVBQ3RDLFdBQW1CO1FBRW5CLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFDRCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFckIsTUFBTSxPQUFPLEdBQXVCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDbEQsSUFBSSxPQUFPLEdBQW9CLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLE1B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QUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2RCxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLG1CQUFtQjtxQkFDckIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO3FCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNiLFNBQVMsQ0FBQyxDQUFDLFFBQW1CLEVBQUUsRUFBRTtvQkFDakMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDO29CQUMvQixhQUFhLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNGO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO3NFQTVNVSxZQUFZO2dFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07O3VGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREJNb2RlLCBOZ3hJbmRleGVkREJTZXJ2aWNlIH0gZnJvbSAnbmd4LWluZGV4ZWQtZGInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgZmlyc3QsIG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbXByZXNzaW9uU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgR2VvREJEYXRhIH0gZnJvbSAnLi9nZW9EQi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5zZXJ0U291cmNlSW5zZXJ0REJFbnVtIH0gZnJvbSAnLi9nZW9EQi5lbnVtcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdlb0RCU2VydmljZSB7XG4gIHJlYWRvbmx5IGRiTmFtZTogc3RyaW5nID0gJ2dlb0RhdGEnO1xuICBwdWJsaWMgY29sbGlzaW9uc01hcDogTWFwPG51bWJlciwgc3RyaW5nW10+ID0gbmV3IE1hcCgpO1xuICBwdWJsaWMgX25ld0RhdGE6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ3hJbmRleGVkREJTZXJ2aWNlOiBOZ3hJbmRleGVkREJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tcHJlc3Npb246IENvbXByZXNzaW9uU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIE9ubHkgYmxvYiBjYW4gYmUgY29tcHJlc3NlZFxuICAgKiBAcGFyYW0gdXJsXG4gICAqIEBwYXJhbSByZWdpb25JRFxuICAgKiBAcGFyYW0gb2JqZWN0IG9iamVjdCB0byBoYW5kbGVcbiAgICogQHBhcmFtIGluc2VydFNvdXJjZSB0eXBlIG9mIGV2ZW50IHVzZXIgb3Igc3lzdGVtXG4gICAqIEBwYXJhbSBpbnNlcnRFdmVudCBOYW1lIG9mIHRoZSBldmVudCB3aGVyZSB0aGUgaW5zZXJ0IGhhcyBiZWVuIHRyaWdnZXJlZFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgdXBkYXRlKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHJlZ2lvbklEOiBhbnksXG4gICAgb2JqZWN0OiBhbnksXG4gICAgaW5zZXJ0U291cmNlOiBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0sXG4gICAgaW5zZXJ0RXZlbnQ6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghb2JqZWN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjb21wcmVzcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3ViamVjdDogU3ViamVjdDxHZW9EQkRhdGE+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBsZXQgb2JqZWN0JDogT2JzZXJ2YWJsZTxhbnk+ID0gb2Yob2JqZWN0KTtcbiAgICBpZiAob2JqZWN0IGluc3RhbmNlb2YgQmxvYikge1xuICAgICAgb2JqZWN0JCA9IHRoaXMuY29tcHJlc3Npb24uY29tcHJlc3NCbG9iKG9iamVjdCk7XG4gICAgICBjb21wcmVzcyA9IHRydWU7XG4gICAgfVxuICAgIGxldCBnZW9EQkRhdGE6IEdlb0RCRGF0YTtcbiAgICBvYmplY3QkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgY29uY2F0TWFwKChvYmplY3QpID0+IHtcbiAgICAgICAgICBnZW9EQkRhdGEgPSB7XG4gICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICByZWdpb25JRCxcbiAgICAgICAgICAgIG9iamVjdDogb2JqZWN0LFxuICAgICAgICAgICAgY29tcHJlc3NlZDogY29tcHJlc3MsXG4gICAgICAgICAgICBpbnNlcnRTb3VyY2UsXG4gICAgICAgICAgICBpbnNlcnRFdmVudFxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5nZXRCeUlEKHRoaXMuZGJOYW1lLCB1cmwpO1xuICAgICAgICB9KSxcbiAgICAgICAgY29uY2F0TWFwKChkYk9iamVjdDogR2VvREJEYXRhKSA9PiB7XG4gICAgICAgICAgaWYgKCFkYk9iamVjdCkge1xuICAgICAgICAgICAgdGhpcy5fbmV3RGF0YSsrO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5hZGQodGhpcy5kYk5hbWUsIGdlb0RCRGF0YSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSZWdpb25JRCA9IGRiT2JqZWN0LnJlZ2lvbklEO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRSZWdpb25JRCAhPT0gcmVnaW9uSUQpIHtcbiAgICAgICAgICAgICAgY29uc3QgY29sbGlzaW9ucyA9IHRoaXMuY29sbGlzaW9uc01hcC5nZXQoY3VycmVudFJlZ2lvbklEKTtcbiAgICAgICAgICAgICAgaWYgKGNvbGxpc2lvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbGxpc2lvbnMucHVzaChkYk9iamVjdC51cmwpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29sbGlzaW9uc01hcC5zZXQoY3VycmVudFJlZ2lvbklELCBjb2xsaXNpb25zKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxpc2lvbnNNYXAuc2V0KGN1cnJlbnRSZWdpb25JRCwgW2RiT2JqZWN0LnVybF0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21VcGRhdGUoZ2VvREJEYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBzdWJqZWN0Lm5leHQocmVzcG9uc2UpO1xuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICB9KTtcbiAgICByZXR1cm4gc3ViamVjdDtcbiAgfVxuXG4gIHByaXZhdGUgY3VzdG9tVXBkYXRlKGdlb0RCRGF0YTogR2VvREJEYXRhKTogT2JzZXJ2YWJsZTxHZW9EQkRhdGE+IHtcbiAgICBjb25zdCBzdWJqZWN0OiBTdWJqZWN0PEdlb0RCRGF0YT4gPSBuZXcgU3ViamVjdCgpO1xuICAgIGNvbnN0IGRlbGV0ZVJlcXVlc3QgPSB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuZGVsZXRlQnlLZXkoXG4gICAgICB0aGlzLmRiTmFtZSxcbiAgICAgIGdlb0RCRGF0YS51cmxcbiAgICApO1xuICAgIGRlbGV0ZVJlcXVlc3RcbiAgICAgIC5waXBlKFxuICAgICAgICBjb25jYXRNYXAoKGlzRGVsZXRlZCkgPT5cbiAgICAgICAgICBpc0RlbGV0ZWRcbiAgICAgICAgICAgID8gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmFkZCh0aGlzLmRiTmFtZSwgZ2VvREJEYXRhKVxuICAgICAgICAgICAgOiBvZih1bmRlZmluZWQpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG9iamVjdCkgPT4ge1xuICAgICAgICBpZiAob2JqZWN0KSB7XG4gICAgICAgICAgc3ViamVjdC5uZXh0KG9iamVjdCk7XG4gICAgICAgIH1cbiAgICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgfSk7XG4gICAgcmV0dXJuIHN1YmplY3Q7XG4gIH1cblxuICBnZXQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuZ2V0QnlJRCh0aGlzLmRiTmFtZSwgdXJsKS5waXBlKFxuICAgICAgbWFwKChkYXRhOiBHZW9EQkRhdGEpID0+IHtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICBjb25zdCBvYmplY3QgPSBkYXRhLm9iamVjdDtcbiAgICAgICAgICBpZiAoIWRhdGEuY29tcHJlc3NlZCkge1xuICAgICAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY29tcHJlc3Npb24uZGVjb21wcmVzc0Jsb2Iob2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlJRCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5nZXRCeUlEKHRoaXMuZGJOYW1lLCB1cmwpO1xuICB9XG5cbiAgZGVsZXRlQnlLZXkodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuZGVsZXRlQnlLZXkodGhpcy5kYk5hbWUsIHVybCk7XG4gIH1cblxuICBnZXRSZWdpb25Db3VudEJ5SUQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgY29uc3Qgc3ViamVjdDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBjb25zdCBkYlJlcXVlc3QgPSB0aGlzLmdldFJlZ2lvbkJ5SUQoaWQpLnN1YnNjcmliZSgoZGF0YXMpID0+IHtcbiAgICAgIHN1YmplY3QubmV4dChkYXRhcy5sZW5ndGgpO1xuICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIH0pO1xuICAgIHJldHVybiBzdWJqZWN0O1xuICB9XG5cbiAgZ2V0UmVnaW9uQnlJRChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIGlmICghaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBJREJLZXk6IElEQktleVJhbmdlID0gSURCS2V5UmFuZ2Uub25seShpZCk7XG4gICAgY29uc3QgZGJSZXF1ZXN0ID0gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEFsbEJ5SW5kZXgoXG4gICAgICB0aGlzLmRiTmFtZSxcbiAgICAgICdyZWdpb25JRCcsXG4gICAgICBJREJLZXlcbiAgICApO1xuICAgIHJldHVybiBkYlJlcXVlc3Q7XG4gIH1cblxuICBkZWxldGVCeVJlZ2lvbklEKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBJREJLZXk6IElEQktleVJhbmdlID0gSURCS2V5UmFuZ2Uub25seShpZCk7XG4gICAgY29uc3QgZGJSZXF1ZXN0ID0gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEFsbEJ5SW5kZXgoXG4gICAgICB0aGlzLmRiTmFtZSxcbiAgICAgICdyZWdpb25JRCcsXG4gICAgICBJREJLZXlcbiAgICApO1xuICAgIGRiUmVxdWVzdC5zdWJzY3JpYmUoKGRhdGFzOiBHZW9EQkRhdGFbXSkgPT4ge1xuICAgICAgZGF0YXMuZm9yRWFjaCgoZGF0YSkgPT4ge1xuICAgICAgICB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuZGVsZXRlQnlLZXkodGhpcy5kYk5hbWUsIGRhdGEudXJsKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBkYlJlcXVlc3Q7XG4gIH1cblxuICBvcGVuQ3Vyc29yKFxuICAgIGtleVJhbmdlOiBJREJLZXlSYW5nZSA9IElEQktleVJhbmdlLmxvd2VyQm91bmQoMCksXG4gICAgbW9kZTogREJNb2RlID0gREJNb2RlLnJlYWRvbmx5XG4gICkge1xuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2Uub3BlbkN1cnNvckJ5SW5kZXgoXG4gICAgICB0aGlzLmRiTmFtZSxcbiAgICAgICdyZWdpb25JRCcsXG4gICAgICBrZXlSYW5nZSxcbiAgICAgIG1vZGVcbiAgICApO1xuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcmVzZXRDb3VudGVycygpIHtcbiAgICB0aGlzLnJlc2V0Q29sbGlzaW9uc01hcCgpO1xuICAgIHRoaXMuX25ld0RhdGEgPSAwO1xuICB9XG5cbiAgcmVzZXRDb2xsaXNpb25zTWFwKCkge1xuICAgIHRoaXMuY29sbGlzaW9uc01hcCA9IG5ldyBNYXAoKTtcbiAgfVxuXG4gIHJldmVydENvbGxpc2lvbnMoKSB7XG4gICAgZm9yIChjb25zdCBbcmVnaW9uSUQsIGNvbGxpc2lvbnNdIG9mIHRoaXMuY29sbGlzaW9uc01hcCkge1xuICAgICAgZm9yIChjb25zdCB1cmwgb2YgY29sbGlzaW9ucykge1xuICAgICAgICB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2VcbiAgICAgICAgICAuZ2V0QnlLZXkodGhpcy5kYk5hbWUsIHVybClcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKGRiT2JqZWN0OiBHZW9EQkRhdGEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRPYmplY3QgPSBkYk9iamVjdDtcbiAgICAgICAgICAgIHVwZGF0ZWRPYmplY3QucmVnaW9uSUQgPSByZWdpb25JRDtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVXBkYXRlKGRiT2JqZWN0KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgbmV3RGF0YSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9uZXdEYXRhO1xuICB9XG59XG4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvREIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL29mZmxpbmUvZ2VvREIvZ2VvREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFjLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBUTdELE1BQU0sT0FBTyxZQUFZO0lBTWI7SUFDQTtJQU5ELE1BQU0sR0FBVyxTQUFTLENBQUM7SUFDN0IsYUFBYSxHQUEwQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pELFFBQVEsR0FBVyxDQUFDLENBQUM7SUFFNUIsWUFDVSxtQkFBd0MsRUFDeEMsV0FBK0I7UUFEL0Isd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFDdEMsQ0FBQztJQUVKOzs7Ozs7OztPQVFHO0lBQ0gsTUFBTSxDQUNKLEdBQVcsRUFDWCxRQUFhLEVBQ2IsTUFBVyxFQUNYLFlBQXNDLEVBQ3RDLFdBQW1CO1FBRW5CLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFDRCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFckIsTUFBTSxPQUFPLEdBQXVCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDbEQsSUFBSSxPQUFPLEdBQW9CLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLE1B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QUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2RCxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLG1CQUFtQjtxQkFDckIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO3FCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNiLFNBQVMsQ0FBQyxDQUFDLFFBQW1CLEVBQUUsRUFBRTtvQkFDakMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDO29CQUMvQixhQUFhLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNGO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO3NFQTVNVSxZQUFZO2dFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07O3VGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29tcHJlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEQk1vZGUsIE5neEluZGV4ZWREQlNlcnZpY2UgfSBmcm9tICduZ3gtaW5kZXhlZC1kYic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNvbmNhdE1hcCwgZmlyc3QsIG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEluc2VydFNvdXJjZUluc2VydERCRW51bSB9IGZyb20gJy4vZ2VvREIuZW51bXMnO1xyXG5pbXBvcnQgeyBHZW9EQkRhdGEgfSBmcm9tICcuL2dlb0RCLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZW9EQlNlcnZpY2Uge1xyXG4gIHJlYWRvbmx5IGRiTmFtZTogc3RyaW5nID0gJ2dlb0RhdGEnO1xyXG4gIHB1YmxpYyBjb2xsaXNpb25zTWFwOiBNYXA8bnVtYmVyLCBzdHJpbmdbXT4gPSBuZXcgTWFwKCk7XHJcbiAgcHVibGljIF9uZXdEYXRhOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbmd4SW5kZXhlZERCU2VydmljZTogTmd4SW5kZXhlZERCU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tcHJlc3Npb246IENvbXByZXNzaW9uU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogT25seSBibG9iIGNhbiBiZSBjb21wcmVzc2VkXHJcbiAgICogQHBhcmFtIHVybFxyXG4gICAqIEBwYXJhbSByZWdpb25JRFxyXG4gICAqIEBwYXJhbSBvYmplY3Qgb2JqZWN0IHRvIGhhbmRsZVxyXG4gICAqIEBwYXJhbSBpbnNlcnRTb3VyY2UgdHlwZSBvZiBldmVudCB1c2VyIG9yIHN5c3RlbVxyXG4gICAqIEBwYXJhbSBpbnNlcnRFdmVudCBOYW1lIG9mIHRoZSBldmVudCB3aGVyZSB0aGUgaW5zZXJ0IGhhcyBiZWVuIHRyaWdnZXJlZFxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgdXBkYXRlKFxyXG4gICAgdXJsOiBzdHJpbmcsXHJcbiAgICByZWdpb25JRDogYW55LFxyXG4gICAgb2JqZWN0OiBhbnksXHJcbiAgICBpbnNlcnRTb3VyY2U6IEluc2VydFNvdXJjZUluc2VydERCRW51bSxcclxuICAgIGluc2VydEV2ZW50OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgaWYgKCFvYmplY3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGNvbXByZXNzID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3Qgc3ViamVjdDogU3ViamVjdDxHZW9EQkRhdGE+ID0gbmV3IFN1YmplY3QoKTtcclxuICAgIGxldCBvYmplY3QkOiBPYnNlcnZhYmxlPGFueT4gPSBvZihvYmplY3QpO1xyXG4gICAgaWYgKG9iamVjdCBpbnN0YW5jZW9mIEJsb2IpIHtcclxuICAgICAgb2JqZWN0JCA9IHRoaXMuY29tcHJlc3Npb24uY29tcHJlc3NCbG9iKG9iamVjdCk7XHJcbiAgICAgIGNvbXByZXNzID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGxldCBnZW9EQkRhdGE6IEdlb0RCRGF0YTtcclxuICAgIG9iamVjdCRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlyc3QoKSxcclxuICAgICAgICBjb25jYXRNYXAoKG9iamVjdCkgPT4ge1xyXG4gICAgICAgICAgZ2VvREJEYXRhID0ge1xyXG4gICAgICAgICAgICB1cmwsXHJcbiAgICAgICAgICAgIHJlZ2lvbklELFxyXG4gICAgICAgICAgICBvYmplY3Q6IG9iamVjdCxcclxuICAgICAgICAgICAgY29tcHJlc3NlZDogY29tcHJlc3MsXHJcbiAgICAgICAgICAgIGluc2VydFNvdXJjZSxcclxuICAgICAgICAgICAgaW5zZXJ0RXZlbnRcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEJ5SUQodGhpcy5kYk5hbWUsIHVybCk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY29uY2F0TWFwKChkYk9iamVjdDogR2VvREJEYXRhKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIWRiT2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX25ld0RhdGErKztcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5hZGQodGhpcy5kYk5hbWUsIGdlb0RCRGF0YSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UmVnaW9uSUQgPSBkYk9iamVjdC5yZWdpb25JRDtcclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRSZWdpb25JRCAhPT0gcmVnaW9uSUQpIHtcclxuICAgICAgICAgICAgICBjb25zdCBjb2xsaXNpb25zID0gdGhpcy5jb2xsaXNpb25zTWFwLmdldChjdXJyZW50UmVnaW9uSUQpO1xyXG4gICAgICAgICAgICAgIGlmIChjb2xsaXNpb25zICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIGNvbGxpc2lvbnMucHVzaChkYk9iamVjdC51cmwpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsaXNpb25zTWFwLnNldChjdXJyZW50UmVnaW9uSUQsIGNvbGxpc2lvbnMpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxpc2lvbnNNYXAuc2V0KGN1cnJlbnRSZWdpb25JRCwgW2RiT2JqZWN0LnVybF0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21VcGRhdGUoZ2VvREJEYXRhKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgc3ViamVjdC5uZXh0KHJlc3BvbnNlKTtcclxuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgcmV0dXJuIHN1YmplY3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGN1c3RvbVVwZGF0ZShnZW9EQkRhdGE6IEdlb0RCRGF0YSk6IE9ic2VydmFibGU8R2VvREJEYXRhPiB7XHJcbiAgICBjb25zdCBzdWJqZWN0OiBTdWJqZWN0PEdlb0RCRGF0YT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgY29uc3QgZGVsZXRlUmVxdWVzdCA9IHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5kZWxldGVCeUtleShcclxuICAgICAgdGhpcy5kYk5hbWUsXHJcbiAgICAgIGdlb0RCRGF0YS51cmxcclxuICAgICk7XHJcbiAgICBkZWxldGVSZXF1ZXN0XHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNvbmNhdE1hcCgoaXNEZWxldGVkKSA9PlxyXG4gICAgICAgICAgaXNEZWxldGVkXHJcbiAgICAgICAgICAgID8gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmFkZCh0aGlzLmRiTmFtZSwgZ2VvREJEYXRhKVxyXG4gICAgICAgICAgICA6IG9mKHVuZGVmaW5lZClcclxuICAgICAgICApXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgob2JqZWN0KSA9PiB7XHJcbiAgICAgICAgaWYgKG9iamVjdCkge1xyXG4gICAgICAgICAgc3ViamVjdC5uZXh0KG9iamVjdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4gc3ViamVjdDtcclxuICB9XHJcblxyXG4gIGdldCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEJ5SUQodGhpcy5kYk5hbWUsIHVybCkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBHZW9EQkRhdGEpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgY29uc3Qgb2JqZWN0ID0gZGF0YS5vYmplY3Q7XHJcbiAgICAgICAgICBpZiAoIWRhdGEuY29tcHJlc3NlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY29tcHJlc3Npb24uZGVjb21wcmVzc0Jsb2Iob2JqZWN0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnlJRCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEJ5SUQodGhpcy5kYk5hbWUsIHVybCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVCeUtleSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmRlbGV0ZUJ5S2V5KHRoaXMuZGJOYW1lLCB1cmwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVnaW9uQ291bnRCeUlEKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgY29uc3Qgc3ViamVjdDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3QoKTtcclxuICAgIGNvbnN0IGRiUmVxdWVzdCA9IHRoaXMuZ2V0UmVnaW9uQnlJRChpZCkuc3Vic2NyaWJlKChkYXRhcykgPT4ge1xyXG4gICAgICBzdWJqZWN0Lm5leHQoZGF0YXMubGVuZ3RoKTtcclxuICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc3ViamVjdDtcclxuICB9XHJcblxyXG4gIGdldFJlZ2lvbkJ5SUQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIGlmICghaWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IElEQktleTogSURCS2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5vbmx5KGlkKTtcclxuICAgIGNvbnN0IGRiUmVxdWVzdCA9IHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5nZXRBbGxCeUluZGV4KFxyXG4gICAgICB0aGlzLmRiTmFtZSxcclxuICAgICAgJ3JlZ2lvbklEJyxcclxuICAgICAgSURCS2V5XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIGRiUmVxdWVzdDtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUJ5UmVnaW9uSUQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoIWlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBJREJLZXk6IElEQktleVJhbmdlID0gSURCS2V5UmFuZ2Uub25seShpZCk7XHJcbiAgICBjb25zdCBkYlJlcXVlc3QgPSB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuZ2V0QWxsQnlJbmRleChcclxuICAgICAgdGhpcy5kYk5hbWUsXHJcbiAgICAgICdyZWdpb25JRCcsXHJcbiAgICAgIElEQktleVxyXG4gICAgKTtcclxuICAgIGRiUmVxdWVzdC5zdWJzY3JpYmUoKGRhdGFzOiBHZW9EQkRhdGFbXSkgPT4ge1xyXG4gICAgICBkYXRhcy5mb3JFYWNoKChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmRlbGV0ZUJ5S2V5KHRoaXMuZGJOYW1lLCBkYXRhLnVybCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZGJSZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgb3BlbkN1cnNvcihcclxuICAgIGtleVJhbmdlOiBJREJLZXlSYW5nZSA9IElEQktleVJhbmdlLmxvd2VyQm91bmQoMCksXHJcbiAgICBtb2RlOiBEQk1vZGUgPSBEQk1vZGUucmVhZG9ubHlcclxuICApIHtcclxuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2Uub3BlbkN1cnNvckJ5SW5kZXgoXHJcbiAgICAgIHRoaXMuZGJOYW1lLFxyXG4gICAgICAncmVnaW9uSUQnLFxyXG4gICAgICBrZXlSYW5nZSxcclxuICAgICAgbW9kZVxyXG4gICAgKTtcclxuICAgIHJldHVybiByZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgcmVzZXRDb3VudGVycygpIHtcclxuICAgIHRoaXMucmVzZXRDb2xsaXNpb25zTWFwKCk7XHJcbiAgICB0aGlzLl9uZXdEYXRhID0gMDtcclxuICB9XHJcblxyXG4gIHJlc2V0Q29sbGlzaW9uc01hcCgpIHtcclxuICAgIHRoaXMuY29sbGlzaW9uc01hcCA9IG5ldyBNYXAoKTtcclxuICB9XHJcblxyXG4gIHJldmVydENvbGxpc2lvbnMoKSB7XHJcbiAgICBmb3IgKGNvbnN0IFtyZWdpb25JRCwgY29sbGlzaW9uc10gb2YgdGhpcy5jb2xsaXNpb25zTWFwKSB7XHJcbiAgICAgIGZvciAoY29uc3QgdXJsIG9mIGNvbGxpc2lvbnMpIHtcclxuICAgICAgICB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2VcclxuICAgICAgICAgIC5nZXRCeUtleSh0aGlzLmRiTmFtZSwgdXJsKVxyXG4gICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKGRiT2JqZWN0OiBHZW9EQkRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdXBkYXRlZE9iamVjdCA9IGRiT2JqZWN0O1xyXG4gICAgICAgICAgICB1cGRhdGVkT2JqZWN0LnJlZ2lvbklEID0gcmVnaW9uSUQ7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVXBkYXRlKGRiT2JqZWN0KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgbmV3RGF0YSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX25ld0RhdGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { NgxIndexedDBService } from 'ngx-indexed-db';
3
- import { of, Subject } from 'rxjs';
3
+ import { Subject, of } from 'rxjs';
4
4
  import { concatMap, first } from 'rxjs/operators';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "ngx-indexed-db";
@@ -81,4 +81,4 @@ export class LayerDBService {
81
81
  providedIn: 'root'
82
82
  }]
83
83
  }], function () { return [{ type: i1.NgxIndexedDBService }]; }, null); })();
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJEQi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvb2ZmbGluZS9sYXllckRCL2xheWVyREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU1sRCxNQUFNLE9BQU8sY0FBYztJQUdMO0lBRlgsTUFBTSxHQUFXLFdBQVcsQ0FBQztJQUV0QyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUFHLENBQUM7SUFFaEU7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxXQUF3QjtRQUM3QixNQUFNLE9BQU8sR0FBeUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsbUJBQW1CO2FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUM7YUFDekMsSUFBSSxDQUNILEtBQUssRUFBRSxFQUNQLFNBQVMsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNiLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQy9EO2lCQUFNO2dCQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDTCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU8sWUFBWSxDQUFDLFdBQXdCO1FBQzNDLE1BQU0sT0FBTyxHQUF5QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3BELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQ3hELElBQUksQ0FBQyxNQUFNLEVBQ1gsV0FBVyxDQUFDLE9BQU8sQ0FDcEIsQ0FBQztRQUNGLGFBQWE7YUFDVixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDdEIsU0FBUztZQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQ2xCLENBQ0Y7YUFDQSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixJQUFJLE1BQU0sRUFBRTtnQkFDVixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3RCO1lBQ0QsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxPQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQzt3RUEvRVUsY0FBYztnRUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNOzt1RkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neEluZGV4ZWREQlNlcnZpY2UgfSBmcm9tICduZ3gtaW5kZXhlZC1kYic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExheWVyREJEYXRhIH0gZnJvbSAnLi9sYXllckRCLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExheWVyREJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgZGJOYW1lOiBzdHJpbmcgPSAnbGF5ZXJEYXRhJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5neEluZGV4ZWREQlNlcnZpY2U6IE5neEluZGV4ZWREQlNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGFsbG93IHRvIHVwZGF0ZSB0aGUgc3RvcmVkIGxheWVyIGludG8gdGhlIGluZGV4ZWRkYiAobGF5ZXJEYXRhKVxuICAgKiBAcGFyYW0gbGF5ZXJEQkRhdGFcbiAgICogQHJldHVybnNcbiAgICovXG4gIHVwZGF0ZShsYXllckRCRGF0YTogTGF5ZXJEQkRhdGEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHN1YmplY3Q6IFN1YmplY3Q8TGF5ZXJEQkRhdGE+ID0gbmV3IFN1YmplY3QoKTtcbiAgICB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2VcbiAgICAgIC5nZXRCeUlEKHRoaXMuZGJOYW1lLCBsYXllckRCRGF0YS5sYXllcklkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIGNvbmNhdE1hcCgoZGJPYmplY3Q6IExheWVyREJEYXRhKSA9PiB7XG4gICAgICAgICAgaWYgKCFkYk9iamVjdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5hZGQodGhpcy5kYk5hbWUsIGxheWVyREJEYXRhKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tVXBkYXRlKGxheWVyREJEYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBzdWJqZWN0Lm5leHQocmVzcG9uc2UpO1xuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICB9KTtcbiAgICByZXR1cm4gc3ViamVjdDtcbiAgfVxuXG4gIHByaXZhdGUgY3VzdG9tVXBkYXRlKGxheWVyREJEYXRhOiBMYXllckRCRGF0YSk6IE9ic2VydmFibGU8TGF5ZXJEQkRhdGE+IHtcbiAgICBjb25zdCBzdWJqZWN0OiBTdWJqZWN0PExheWVyREJEYXRhPiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgY29uc3QgZGVsZXRlUmVxdWVzdCA9IHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5kZWxldGVCeUtleShcbiAgICAgIHRoaXMuZGJOYW1lLFxuICAgICAgbGF5ZXJEQkRhdGEubGF5ZXJJZFxuICAgICk7XG4gICAgZGVsZXRlUmVxdWVzdFxuICAgICAgLnBpcGUoXG4gICAgICAgIGNvbmNhdE1hcCgoaXNEZWxldGVkKSA9PlxuICAgICAgICAgIGlzRGVsZXRlZFxuICAgICAgICAgICAgPyB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuYWRkKHRoaXMuZGJOYW1lLCBsYXllckRCRGF0YSlcbiAgICAgICAgICAgIDogb2YodW5kZWZpbmVkKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChvYmplY3QpID0+IHtcbiAgICAgICAgaWYgKG9iamVjdCkge1xuICAgICAgICAgIHN1YmplY3QubmV4dChvYmplY3QpO1xuICAgICAgICB9XG4gICAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuICAgIHJldHVybiBzdWJqZWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHJldHJpZXZlIGFuIGlkYiBsYXllciBkZWZpbml0aW9uXG4gICAqIEBwYXJhbSBsYXllcklkXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBnZXRCeUlEKGxheWVySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TGF5ZXJEQkRhdGE+IHtcbiAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEJ5SUQodGhpcy5kYk5hbWUsIGxheWVySWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGRlbGV0ZSBhbiBpZGIgbGF5ZXIgZGVmaW5pdGlvblxuICAgKiBAcGFyYW0gbGF5ZXJJZFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZGVsZXRlQnlLZXkobGF5ZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5kZWxldGVCeUtleSh0aGlzLmRiTmFtZSwgbGF5ZXJJZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgcmV0cml2ZSBhbGwgaWRiIGxheWVyIGRlZmluaXRpb25cbiAgICogQHBhcmFtIGxheWVySWRcbiAgICogQHJldHVybnNcbiAgICovXG4gIGdldEFsbCgpOiBPYnNlcnZhYmxlPExheWVyREJEYXRhW10+IHtcbiAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEFsbCh0aGlzLmRiTmFtZSk7XG4gIH1cbn1cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJEQi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvb2ZmbGluZS9sYXllckRCL2xheWVyREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBYyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU9sRCxNQUFNLE9BQU8sY0FBYztJQUdMO0lBRlgsTUFBTSxHQUFXLFdBQVcsQ0FBQztJQUV0QyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUFHLENBQUM7SUFFaEU7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxXQUF3QjtRQUM3QixNQUFNLE9BQU8sR0FBeUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsbUJBQW1CO2FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUM7YUFDekMsSUFBSSxDQUNILEtBQUssRUFBRSxFQUNQLFNBQVMsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNiLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQy9EO2lCQUFNO2dCQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDTCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU8sWUFBWSxDQUFDLFdBQXdCO1FBQzNDLE1BQU0sT0FBTyxHQUF5QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3BELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQ3hELElBQUksQ0FBQyxNQUFNLEVBQ1gsV0FBVyxDQUFDLE9BQU8sQ0FDcEIsQ0FBQztRQUNGLGFBQWE7YUFDVixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDdEIsU0FBUztZQUNQLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQ2xCLENBQ0Y7YUFDQSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixJQUFJLE1BQU0sRUFBRTtnQkFDVixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3RCO1lBQ0QsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxPQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQzt3RUEvRVUsY0FBYztnRUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNOzt1RkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE5neEluZGV4ZWREQlNlcnZpY2UgfSBmcm9tICduZ3gtaW5kZXhlZC1kYic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNvbmNhdE1hcCwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBMYXllckRCRGF0YSB9IGZyb20gJy4vbGF5ZXJEQi5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5ZXJEQlNlcnZpY2Uge1xyXG4gIHJlYWRvbmx5IGRiTmFtZTogc3RyaW5nID0gJ2xheWVyRGF0YSc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmd4SW5kZXhlZERCU2VydmljZTogTmd4SW5kZXhlZERCU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2QgYWxsb3cgdG8gdXBkYXRlIHRoZSBzdG9yZWQgbGF5ZXIgaW50byB0aGUgaW5kZXhlZGRiIChsYXllckRhdGEpXHJcbiAgICogQHBhcmFtIGxheWVyREJEYXRhXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICB1cGRhdGUobGF5ZXJEQkRhdGE6IExheWVyREJEYXRhKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHN1YmplY3Q6IFN1YmplY3Q8TGF5ZXJEQkRhdGE+ID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHRoaXMubmd4SW5kZXhlZERCU2VydmljZVxyXG4gICAgICAuZ2V0QnlJRCh0aGlzLmRiTmFtZSwgbGF5ZXJEQkRhdGEubGF5ZXJJZClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlyc3QoKSxcclxuICAgICAgICBjb25jYXRNYXAoKGRiT2JqZWN0OiBMYXllckRCRGF0YSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCFkYk9iamVjdCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmFkZCh0aGlzLmRiTmFtZSwgbGF5ZXJEQkRhdGEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tVXBkYXRlKGxheWVyREJEYXRhKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgc3ViamVjdC5uZXh0KHJlc3BvbnNlKTtcclxuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgcmV0dXJuIHN1YmplY3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGN1c3RvbVVwZGF0ZShsYXllckRCRGF0YTogTGF5ZXJEQkRhdGEpOiBPYnNlcnZhYmxlPExheWVyREJEYXRhPiB7XHJcbiAgICBjb25zdCBzdWJqZWN0OiBTdWJqZWN0PExheWVyREJEYXRhPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICBjb25zdCBkZWxldGVSZXF1ZXN0ID0gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmRlbGV0ZUJ5S2V5KFxyXG4gICAgICB0aGlzLmRiTmFtZSxcclxuICAgICAgbGF5ZXJEQkRhdGEubGF5ZXJJZFxyXG4gICAgKTtcclxuICAgIGRlbGV0ZVJlcXVlc3RcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY29uY2F0TWFwKChpc0RlbGV0ZWQpID0+XHJcbiAgICAgICAgICBpc0RlbGV0ZWRcclxuICAgICAgICAgICAgPyB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuYWRkKHRoaXMuZGJOYW1lLCBsYXllckRCRGF0YSlcclxuICAgICAgICAgICAgOiBvZih1bmRlZmluZWQpXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKG9iamVjdCkgPT4ge1xyXG4gICAgICAgIGlmIChvYmplY3QpIHtcclxuICAgICAgICAgIHN1YmplY3QubmV4dChvYmplY3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgcmV0dXJuIHN1YmplY3Q7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCByZXRyaWV2ZSBhbiBpZGIgbGF5ZXIgZGVmaW5pdGlvblxyXG4gICAqIEBwYXJhbSBsYXllcklkXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXRCeUlEKGxheWVySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TGF5ZXJEQkRhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuZ2V0QnlJRCh0aGlzLmRiTmFtZSwgbGF5ZXJJZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCBkZWxldGUgYW4gaWRiIGxheWVyIGRlZmluaXRpb25cclxuICAgKiBAcGFyYW0gbGF5ZXJJZFxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZGVsZXRlQnlLZXkobGF5ZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmRlbGV0ZUJ5S2V5KHRoaXMuZGJOYW1lLCBsYXllcklkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgbWV0aG9kIHJldHJpdmUgYWxsIGlkYiBsYXllciBkZWZpbml0aW9uXHJcbiAgICogQHBhcmFtIGxheWVySWRcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldEFsbCgpOiBPYnNlcnZhYmxlPExheWVyREJEYXRhW10+IHtcclxuICAgIHJldHVybiB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuZ2V0QWxsKHRoaXMuZGJOYW1lKTtcclxuICB9XHJcbn1cclxuIl19
@@ -35,19 +35,12 @@ export class GeoNetworkService {
35
35
  getOnline(url, simpleGetOptions) {
36
36
  let request;
37
37
  switch (simpleGetOptions.responseType) {
38
- // TODO Ajuster pour autre formats
39
38
  case 'arraybuffer':
40
39
  request = this.http.get(url, {
41
40
  responseType: 'arraybuffer',
42
41
  withCredentials: simpleGetOptions.withCredentials
43
42
  });
44
43
  break;
45
- case 'blob':
46
- request = this.http.get(url, {
47
- responseType: 'blob',
48
- withCredentials: simpleGetOptions.withCredentials
49
- });
50
- break;
51
44
  case 'text':
52
45
  request = this.http.get(url, {
53
46
  responseType: 'text',
@@ -84,4 +77,4 @@ export class GeoNetworkService {
84
77
  providedIn: 'root'
85
78
  }]
86
79
  }], function () { return [{ type: i1.HttpClient }, { type: i2.GeoDBService }, { type: i3.NetworkService }]; }, null); })();
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW5ldHdvcmsuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL29mZmxpbmUvc2hhcmVkL2dlby1uZXR3b3JrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFtQixjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQUV0RCxNQUFNLENBQU4sSUFBWSxZQUtYO0FBTEQsV0FBWSxZQUFZO0lBQ3RCLDJDQUEyQixDQUFBO0lBQzNCLDZCQUFhLENBQUE7SUFDYiw2QkFBYSxDQUFBO0lBQ2IsNkJBQWEsQ0FBQTtBQUNmLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QjtBQVFELE1BQU0sT0FBTyxpQkFBaUI7SUFHbEI7SUFDRDtJQUNDO0lBSkYsYUFBYSxHQUFZLElBQUksQ0FBQztJQUN0QyxZQUNVLElBQWdCLEVBQ2pCLFlBQTBCLEVBQ3pCLGNBQThCO1FBRjlCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRXRDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLGdCQUFrQztRQUNqRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxTQUFTLENBQ2YsR0FBVyxFQUNYLGdCQUFrQztRQUVsQyxJQUFJLE9BQU8sQ0FBQztRQUNaLFFBQVEsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQ3JDLGtDQUFrQztZQUNsQyxLQUFLLGFBQWE7Z0JBQ2hCLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQzNCLFlBQVksRUFBRSxhQUFhO29CQUMzQixlQUFlLEVBQUUsZ0JBQWdCLENBQUMsZUFBZTtpQkFDbEQsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDM0IsWUFBWSxFQUFFLE1BQU07b0JBQ3BCLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxlQUFlO2lCQUNsRCxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUMzQixZQUFZLEVBQUUsTUFBTTtvQkFDcEIsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGVBQWU7aUJBQ2xELENBQUMsQ0FBQztnQkFDSCxNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQzNCLFlBQVksRUFBRSxNQUFNO29CQUNwQixlQUFlLEVBQUUsZ0JBQWdCLENBQUMsZUFBZTtpQkFDbEQsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDUjtnQkFDRSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUMzQixZQUFZLEVBQUUsTUFBTTtvQkFDcEIsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGVBQWU7aUJBQ2xELENBQUMsQ0FBQztnQkFDSCxNQUFNO1NBQ1Q7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU8sVUFBVSxDQUFDLEdBQVc7UUFDNUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUN2RCxDQUFDOzJFQWxFVSxpQkFBaUI7Z0VBQWpCLGlCQUFpQixXQUFqQixpQkFBaUIsbUJBRmhCLE1BQU07O3VGQUVQLGlCQUFpQjtjQUg3QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblN0YXRlLCBOZXR3b3JrU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2VvREJTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VvREIvZ2VvREIuc2VydmljZSc7XG5cbmV4cG9ydCBlbnVtIFJlc3BvbnNlVHlwZSB7XG4gIEFycmF5YnVmZmVyID0gJ2FycmF5YnVmZmVyJyxcbiAgQmxvYiA9ICdibG9iJyxcbiAgVGV4dCA9ICd0ZXh0JyxcbiAgSnNvbiA9ICdqc29uJ1xufVxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVHZXRPcHRpb25zIHtcbiAgcmVzcG9uc2VUeXBlOiBSZXNwb25zZVR5cGU7XG4gIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG59XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHZW9OZXR3b3JrU2VydmljZSB7XG4gIHByaXZhdGUgbmV0d29ya09ubGluZTogYm9vbGVhbiA9IHRydWU7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwdWJsaWMgZ2VvREJTZXJ2aWNlOiBHZW9EQlNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5uZXR3b3JrU2VydmljZS5jdXJyZW50U3RhdGUoKS5zdWJzY3JpYmUoKHN0YXRlOiBDb25uZWN0aW9uU3RhdGUpID0+IHtcbiAgICAgIHRoaXMubmV0d29ya09ubGluZSA9IHN0YXRlLmNvbm5lY3Rpb247XG4gICAgfSk7XG4gIH1cblxuICBnZXQodXJsOiBzdHJpbmcsIHNpbXBsZUdldE9wdGlvbnM6IFNpbXBsZUdldE9wdGlvbnMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICh3aW5kb3cubmF2aWdhdG9yLm9uTGluZSAmJiB0aGlzLm5ldHdvcmtPbmxpbmUpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE9ubGluZSh1cmwsIHNpbXBsZUdldE9wdGlvbnMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRPZmZsaW5lKHVybCk7XG4gIH1cblxuICBwcml2YXRlIGdldE9ubGluZShcbiAgICB1cmw6IHN0cmluZyxcbiAgICBzaW1wbGVHZXRPcHRpb25zOiBTaW1wbGVHZXRPcHRpb25zXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHJlcXVlc3Q7XG4gICAgc3dpdGNoIChzaW1wbGVHZXRPcHRpb25zLnJlc3BvbnNlVHlwZSkge1xuICAgICAgLy8gVE9ETyBBanVzdGVyIHBvdXIgYXV0cmUgZm9ybWF0c1xuICAgICAgY2FzZSAnYXJyYXlidWZmZXInOlxuICAgICAgICByZXF1ZXN0ID0gdGhpcy5odHRwLmdldCh1cmwsIHtcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsXG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBzaW1wbGVHZXRPcHRpb25zLndpdGhDcmVkZW50aWFsc1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdibG9iJzpcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuaHR0cC5nZXQodXJsLCB7XG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBzaW1wbGVHZXRPcHRpb25zLndpdGhDcmVkZW50aWFsc1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuaHR0cC5nZXQodXJsLCB7XG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBzaW1wbGVHZXRPcHRpb25zLndpdGhDcmVkZW50aWFsc1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdqc29uJzpcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuaHR0cC5nZXQodXJsLCB7XG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBzaW1wbGVHZXRPcHRpb25zLndpdGhDcmVkZW50aWFsc1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXF1ZXN0ID0gdGhpcy5odHRwLmdldCh1cmwsIHtcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHNpbXBsZUdldE9wdGlvbnMud2l0aENyZWRlbnRpYWxzXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBwcml2YXRlIGdldE9mZmxpbmUodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdlb0RCU2VydmljZS5nZXQodXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBpc09ubGluZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uZXR3b3JrT25saW5lICYmIHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO1xuICB9XG59XG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW5ldHdvcmsuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL29mZmxpbmUvc2hhcmVkL2dlby1uZXR3b3JrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFtQixjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQUV0RCxNQUFNLENBQU4sSUFBWSxZQUtYO0FBTEQsV0FBWSxZQUFZO0lBQ3RCLDJDQUEyQixDQUFBO0lBQzNCLDZCQUFhLENBQUE7SUFDYiw2QkFBYSxDQUFBO0lBQ2IsNkJBQWEsQ0FBQTtBQUNmLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QjtBQVFELE1BQU0sT0FBTyxpQkFBaUI7SUFHbEI7SUFDRDtJQUNDO0lBSkYsYUFBYSxHQUFZLElBQUksQ0FBQztJQUN0QyxZQUNVLElBQWdCLEVBQ2pCLFlBQTBCLEVBQ3pCLGNBQThCO1FBRjlCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRXRDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLGdCQUFrQztRQUNqRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxTQUFTLENBQ2YsR0FBVyxFQUNYLGdCQUFrQztRQUVsQyxJQUFJLE9BQU8sQ0FBQztRQUNaLFFBQVEsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQ3JDLEtBQUssYUFBYTtnQkFDaEIsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDM0IsWUFBWSxFQUFFLGFBQWE7b0JBQzNCLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxlQUFlO2lCQUNsRCxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUMzQixZQUFZLEVBQUUsTUFBTTtvQkFDcEIsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGVBQWU7aUJBQ2xELENBQUMsQ0FBQztnQkFDSCxNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQzNCLFlBQVksRUFBRSxNQUFNO29CQUNwQixlQUFlLEVBQUUsZ0JBQWdCLENBQUMsZUFBZTtpQkFDbEQsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDUjtnQkFDRSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUMzQixZQUFZLEVBQUUsTUFBTTtvQkFDcEIsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGVBQWU7aUJBQ2xELENBQUMsQ0FBQztnQkFDSCxNQUFNO1NBQ1Q7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU8sVUFBVSxDQUFDLEdBQVc7UUFDNUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUN2RCxDQUFDOzJFQTNEVSxpQkFBaUI7Z0VBQWpCLGlCQUFpQixXQUFqQixpQkFBaUIsbUJBRmhCLE1BQU07O3VGQUVQLGlCQUFpQjtjQUg3QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdGUsIE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnb2wvZm9ybWF0L0ZlYXR1cmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgR2VvREJTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VvREIvZ2VvREIuc2VydmljZSc7XHJcblxyXG5leHBvcnQgZW51bSBSZXNwb25zZVR5cGUge1xyXG4gIEFycmF5YnVmZmVyID0gJ2FycmF5YnVmZmVyJyxcclxuICBCbG9iID0gJ2Jsb2InLFxyXG4gIFRleHQgPSAndGV4dCcsXHJcbiAgSnNvbiA9ICdqc29uJ1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlR2V0T3B0aW9ucyB7XHJcbiAgcmVzcG9uc2VUeXBlOiBUeXBlO1xyXG4gIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XHJcbn1cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgR2VvTmV0d29ya1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgbmV0d29ya09ubGluZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwdWJsaWMgZ2VvREJTZXJ2aWNlOiBHZW9EQlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5uZXR3b3JrU2VydmljZS5jdXJyZW50U3RhdGUoKS5zdWJzY3JpYmUoKHN0YXRlOiBDb25uZWN0aW9uU3RhdGUpID0+IHtcclxuICAgICAgdGhpcy5uZXR3b3JrT25saW5lID0gc3RhdGUuY29ubmVjdGlvbjtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0KHVybDogc3RyaW5nLCBzaW1wbGVHZXRPcHRpb25zOiBTaW1wbGVHZXRPcHRpb25zKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICh3aW5kb3cubmF2aWdhdG9yLm9uTGluZSAmJiB0aGlzLm5ldHdvcmtPbmxpbmUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0T25saW5lKHVybCwgc2ltcGxlR2V0T3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5nZXRPZmZsaW5lKHVybCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE9ubGluZShcclxuICAgIHVybDogc3RyaW5nLFxyXG4gICAgc2ltcGxlR2V0T3B0aW9uczogU2ltcGxlR2V0T3B0aW9uc1xyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcmVxdWVzdDtcclxuICAgIHN3aXRjaCAoc2ltcGxlR2V0T3B0aW9ucy5yZXNwb25zZVR5cGUpIHtcclxuICAgICAgY2FzZSAnYXJyYXlidWZmZXInOlxyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmh0dHAuZ2V0KHVybCwge1xyXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInLFxyXG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBzaW1wbGVHZXRPcHRpb25zLndpdGhDcmVkZW50aWFsc1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICByZXF1ZXN0ID0gdGhpcy5odHRwLmdldCh1cmwsIHtcclxuICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBzaW1wbGVHZXRPcHRpb25zLndpdGhDcmVkZW50aWFsc1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdqc29uJzpcclxuICAgICAgICByZXF1ZXN0ID0gdGhpcy5odHRwLmdldCh1cmwsIHtcclxuICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiBzaW1wbGVHZXRPcHRpb25zLndpdGhDcmVkZW50aWFsc1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmh0dHAuZ2V0KHVybCwge1xyXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXHJcbiAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHNpbXBsZUdldE9wdGlvbnMud2l0aENyZWRlbnRpYWxzXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0T2ZmbGluZSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZW9EQlNlcnZpY2UuZ2V0KHVybCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNPbmxpbmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5uZXR3b3JrT25saW5lICYmIHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -20,4 +20,4 @@ export class IgoOverlayModule {
20
20
  }]
21
21
  }], null, null); })();
22
22
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoOverlayModule, { declarations: [OverlayDirective], exports: [OverlayDirective] }); })();
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vdmVybGF5L292ZXJsYXkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU85RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7U0FDM0IsQ0FBQztJQUNKLENBQUM7MEVBTFUsZ0JBQWdCOzREQUFoQixnQkFBZ0I7Ozt1RkFBaEIsZ0JBQWdCO2NBTDVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDM0IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7YUFDakM7O3dGQUNZLGdCQUFnQixtQkFGWixnQkFBZ0IsYUFEckIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3ZlcmxheURpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkL292ZXJsYXkuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtPdmVybGF5RGlyZWN0aXZlXSxcbiAgZGVjbGFyYXRpb25zOiBbT3ZlcmxheURpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgSWdvT3ZlcmxheU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvT3ZlcmxheU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSWdvT3ZlcmxheU1vZHVsZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vdmVybGF5L292ZXJsYXkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU85RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7U0FDM0IsQ0FBQztJQUNKLENBQUM7MEVBTFUsZ0JBQWdCOzREQUFoQixnQkFBZ0I7Ozt1RkFBaEIsZ0JBQWdCO2NBTDVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDM0IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7YUFDakM7O3dGQUNZLGdCQUFnQixtQkFGWixnQkFBZ0IsYUFEckIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9vdmVybGF5LmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGV4cG9ydHM6IFtPdmVybGF5RGlyZWN0aXZlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtPdmVybGF5RGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvT3ZlcmxheU1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29PdmVybGF5TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvT3ZlcmxheU1vZHVsZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -35,4 +35,4 @@ export class OverlayDirective {
35
35
  }], function () { return [{ type: i1.MapBrowserComponent, decorators: [{
36
36
  type: Self
37
37
  }] }, { type: i2.OverlayService }]; }, null); })();
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vdmVybGF5L3NoYXJlZC9vdmVybGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFHaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFHbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBTTNELE1BQU0sT0FBTyxnQkFBZ0I7SUFTVDtJQUNSO0lBVEYsVUFBVSxDQUFlO0lBQ3pCLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBRXZDLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ2tCLFNBQThCLEVBQ3RDLGNBQThCO1FBRHRCLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBQ3RDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNyQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDaEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUFtQixFQUFFLE1BQXFCLElBQUcsQ0FBQzswRUF2QjFELGdCQUFnQjs2REFBaEIsZ0JBQWdCOzt1RkFBaEIsZ0JBQWdCO2NBSDVCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsY0FBYzthQUN6Qjs7c0JBVUksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgU2VsZiwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgb2xGb3JtYXRHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcblxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgTWFwQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21hcC9tYXAtYnJvd3Nlci9tYXAtYnJvd3Nlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IE92ZXJsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL292ZXJsYXkuc2VydmljZSc7XG5pbXBvcnQgeyBPdmVybGF5QWN0aW9uIH0gZnJvbSAnLi4vc2hhcmVkL292ZXJsYXkuZW51bSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpZ29PdmVybGF5XSdcbn0pXG5leHBvcnQgY2xhc3MgT3ZlcmxheURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBmZWF0dXJlcyQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZm9ybWF0ID0gbmV3IG9sRm9ybWF0R2VvSlNPTigpO1xuXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQubWFwO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQFNlbGYoKSBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudCxcbiAgICBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBPdmVybGF5U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mZWF0dXJlcyQkID0gdGhpcy5vdmVybGF5U2VydmljZS5mZWF0dXJlcyQuc3Vic2NyaWJlKChyZXMpID0+XG4gICAgICB0aGlzLmhhbmRsZUZlYXR1cmVzKHJlc1swXSwgcmVzWzFdKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZlYXR1cmVzJCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRmVhdHVyZXMoZmVhdHVyZXM6IEZlYXR1cmVbXSwgYWN0aW9uOiBPdmVybGF5QWN0aW9uKSB7fVxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vdmVybGF5L3NoYXJlZC9vdmVybGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFLaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFHbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBSzNELE1BQU0sT0FBTyxnQkFBZ0I7SUFTVDtJQUNSO0lBVEYsVUFBVSxDQUFlO0lBQ3pCLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBRXZDLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ2tCLFNBQThCLEVBQ3RDLGNBQThCO1FBRHRCLGNBQVMsR0FBVCxTQUFTLENBQXFCO1FBQ3RDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNyQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDaEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUFtQixFQUFFLE1BQXFCLElBQUcsQ0FBQzswRUF2QjFELGdCQUFnQjs2REFBaEIsZ0JBQWdCOzt1RkFBaEIsZ0JBQWdCO2NBSDVCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsY0FBYzthQUN6Qjs7c0JBVUksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQsIFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBvbEZvcm1hdEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTWFwQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21hcC9tYXAtYnJvd3Nlci9tYXAtYnJvd3Nlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IE92ZXJsYXlBY3Rpb24gfSBmcm9tICcuLi9zaGFyZWQvb3ZlcmxheS5lbnVtJztcclxuaW1wb3J0IHsgT3ZlcmxheVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvb3ZlcmxheS5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2lnb092ZXJsYXldJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgT3ZlcmxheURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIGZlYXR1cmVzJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGZvcm1hdCA9IG5ldyBvbEZvcm1hdEdlb0pTT04oKTtcclxuXHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Lm1hcDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQFNlbGYoKSBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZmVhdHVyZXMkJCA9IHRoaXMub3ZlcmxheVNlcnZpY2UuZmVhdHVyZXMkLnN1YnNjcmliZSgocmVzKSA9PlxyXG4gICAgICB0aGlzLmhhbmRsZUZlYXR1cmVzKHJlc1swXSwgcmVzWzFdKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5mZWF0dXJlcyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUZlYXR1cmVzKGZlYXR1cmVzOiBGZWF0dXJlW10sIGFjdGlvbjogT3ZlcmxheUFjdGlvbikge31cclxufVxyXG4iXX0=