@igo2/geo 16.3.0 → 17.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +30 -14
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +35 -17
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +18 -11
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +8 -62
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +46 -19
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +22 -10
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +28 -14
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +8 -71
  9. package/esm2022/lib/catalog/catalog-library/index.mjs +9 -0
  10. package/esm2022/lib/catalog/catalog.module.mjs +9 -37
  11. package/esm2022/lib/catalog/index.mjs +7 -1
  12. package/esm2022/lib/catalog/shared/catalog.service.mjs +9 -6
  13. package/esm2022/lib/catalog/shared/index.mjs +1 -1
  14. package/esm2022/lib/datasource/index.mjs +1 -1
  15. package/esm2022/lib/datasource/shared/capabilities.service.mjs +5 -5
  16. package/esm2022/lib/datasource/shared/datasource.service.mjs +8 -12
  17. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  18. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  21. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
  22. package/esm2022/lib/datasource/shared/datasources/data.service.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  24. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  31. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  32. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  37. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  39. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  40. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  41. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  42. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  43. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  44. package/esm2022/lib/datasource/shared/index.mjs +1 -1
  45. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +6 -6
  46. package/esm2022/lib/datasource/shared/options/options.service.mjs +1 -1
  47. package/esm2022/lib/datasource/utils/tilegrid.mjs +1 -1
  48. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +23 -12
  49. package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
  50. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +42 -17
  51. package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
  52. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +34 -14
  53. package/esm2022/lib/directions/directions-results/index.mjs +1 -1
  54. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  55. package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
  56. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +5 -5
  57. package/esm2022/lib/directions/directions.component.mjs +18 -10
  58. package/esm2022/lib/directions/directions.module.mjs +17 -70
  59. package/esm2022/lib/directions/index.mjs +1 -1
  60. package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
  61. package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
  62. package/esm2022/lib/directions/shared/directions.service.mjs +6 -6
  63. package/esm2022/lib/directions/shared/directions.utils.mjs +1 -1
  64. package/esm2022/lib/directions/shared/index.mjs +1 -1
  65. package/esm2022/lib/download/download-button/download-button.component.mjs +21 -11
  66. package/esm2022/lib/download/download-button/index.mjs +1 -1
  67. package/esm2022/lib/download/download.module.mjs +10 -27
  68. package/esm2022/lib/download/index.mjs +1 -1
  69. package/esm2022/lib/download/shared/download.interface.mjs +1 -1
  70. package/esm2022/lib/download/shared/download.service.mjs +5 -5
  71. package/esm2022/lib/download/shared/index.mjs +1 -1
  72. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +21 -10
  73. package/esm2022/lib/draw/draw/draw-popup.component.mjs +39 -16
  74. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +19 -9
  75. package/esm2022/lib/draw/draw/draw.component.mjs +52 -22
  76. package/esm2022/lib/draw/draw/draw.module.mjs +7 -104
  77. package/esm2022/lib/draw/drawingTool.module.mjs +8 -7
  78. package/esm2022/lib/draw/index.mjs +1 -1
  79. package/esm2022/lib/draw/shared/draw-icon.service.mjs +5 -5
  80. package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
  81. package/esm2022/lib/draw/shared/index.mjs +1 -1
  82. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +23 -11
  83. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +8 -7
  84. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +8 -27
  85. package/esm2022/lib/feature/feature-details/index.mjs +9 -0
  86. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +8 -8
  87. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +8 -11
  88. package/esm2022/lib/feature/feature.module.mjs +9 -10
  89. package/esm2022/lib/feature/index.mjs +8 -2
  90. package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
  91. package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
  92. package/esm2022/lib/feature/shared/feature.utils.mjs +1 -1
  93. package/esm2022/lib/feature/shared/store.mjs +1 -1
  94. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +1 -1
  95. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  96. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  97. package/esm2022/lib/feature/shared/strategies/index.mjs +1 -1
  98. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  99. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  100. package/esm2022/lib/feature/shared/strategies/search.mjs +4 -4
  101. package/esm2022/lib/feature/shared/strategies/selection.mjs +1 -1
  102. package/esm2022/lib/feature/shared/strategies.utils.mjs +1 -1
  103. package/esm2022/lib/filter/filter.module.mjs +47 -177
  104. package/esm2022/lib/filter/index.mjs +36 -1
  105. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +29 -15
  106. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +46 -20
  107. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +52 -21
  108. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +13 -10
  109. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +45 -18
  110. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +18 -12
  111. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +42 -18
  112. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -7
  113. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +21 -12
  114. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +6 -5
  115. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +5 -5
  116. package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  117. package/esm2022/lib/filter/shared/ogc-filter.mjs +1 -1
  118. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +5 -5
  119. package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  120. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +5 -5
  121. package/esm2022/lib/filter/shared/time-filter.enum.mjs +1 -1
  122. package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
  123. package/esm2022/lib/filter/shared/time-filter.service.mjs +5 -5
  124. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +63 -27
  125. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +32 -15
  126. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +34 -15
  127. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +28 -14
  128. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +47 -20
  129. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +31 -13
  130. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +8 -7
  131. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +16 -10
  132. package/esm2022/lib/geo.module.mjs +5 -43
  133. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
  134. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +33 -16
  135. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +8 -43
  136. package/esm2022/lib/geometry/geometry-form-field/index.mjs +9 -0
  137. package/esm2022/lib/geometry/geometry.module.mjs +9 -10
  138. package/esm2022/lib/geometry/index.mjs +2 -3
  139. package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
  140. package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
  141. package/esm2022/lib/geometry/shared/controls/modify.mjs +1 -1
  142. package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
  143. package/esm2022/lib/geometry/shared/geometry.utils.mjs +1 -1
  144. package/esm2022/lib/geometry/shared/index.mjs +1 -1
  145. package/esm2022/lib/import-export/export-button/export-button.component.mjs +20 -10
  146. package/esm2022/lib/import-export/export-button/index.mjs +1 -1
  147. package/esm2022/lib/import-export/import-export/import-export.component.mjs +45 -17
  148. package/esm2022/lib/import-export/import-export/index.mjs +1 -1
  149. package/esm2022/lib/import-export/import-export.module.mjs +10 -81
  150. package/esm2022/lib/import-export/index.mjs +9 -1
  151. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +7 -6
  152. package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
  153. package/esm2022/lib/import-export/shared/export.service.mjs +5 -5
  154. package/esm2022/lib/import-export/shared/export.utils.mjs +1 -1
  155. package/esm2022/lib/import-export/shared/import.service.mjs +5 -5
  156. package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
  157. package/esm2022/lib/import-export/shared/index.mjs +1 -1
  158. package/esm2022/lib/layer/index.mjs +19 -1
  159. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +33 -14
  160. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +41 -17
  161. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +11 -9
  162. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -7
  163. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +28 -13
  164. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +8 -7
  165. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +48 -18
  166. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  167. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +33 -14
  168. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +5 -5
  169. package/esm2022/lib/layer/layer.module.mjs +16 -93
  170. package/esm2022/lib/layer/shared/clusterParam.mjs +1 -1
  171. package/esm2022/lib/layer/shared/layer.service.mjs +6 -6
  172. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  173. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  174. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  175. package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
  176. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  177. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  178. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
  179. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  180. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +21 -11
  181. package/esm2022/lib/layer/utils/image-watcher.mjs +1 -1
  182. package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
  183. package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
  184. package/esm2022/lib/layer/utils/tile-watcher.mjs +1 -1
  185. package/esm2022/lib/layer/utils/vector-watcher.mjs +1 -1
  186. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +25 -12
  187. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -8
  188. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +22 -11
  189. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +13 -9
  190. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +1 -1
  191. package/esm2022/lib/map/home-extent-button/index.mjs +1 -1
  192. package/esm2022/lib/map/index.mjs +32 -1
  193. package/esm2022/lib/map/info-section/info-section.component.mjs +7 -7
  194. package/esm2022/lib/map/map-browser/map-browser.component.mjs +6 -6
  195. package/esm2022/lib/map/map-center/map-center.component.mjs +6 -6
  196. package/esm2022/lib/map/map.module.mjs +36 -66
  197. package/esm2022/lib/map/menu-button/menu-button.component.mjs +21 -11
  198. package/esm2022/lib/map/offline-button/offline-button.component.mjs +21 -11
  199. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +23 -11
  200. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  201. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  202. package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
  203. package/esm2022/lib/map/shared/controllers/index.mjs +1 -1
  204. package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
  205. package/esm2022/lib/map/shared/hover-feature.directive.mjs +8 -7
  206. package/esm2022/lib/map/shared/index.mjs +1 -1
  207. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +1 -1
  208. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +8 -7
  209. package/esm2022/lib/map/shared/map.interface.mjs +1 -1
  210. package/esm2022/lib/map/shared/map.mjs +1 -1
  211. package/esm2022/lib/map/shared/map.service.mjs +5 -5
  212. package/esm2022/lib/map/shared/map.utils.mjs +1 -1
  213. package/esm2022/lib/map/shared/mapOffline.directive.mjs +7 -6
  214. package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
  215. package/esm2022/lib/map/shared/projection.service.mjs +5 -5
  216. package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
  217. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +6 -6
  218. package/esm2022/lib/map/utils/layer-watcher.mjs +1 -1
  219. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +21 -11
  220. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +13 -9
  221. package/esm2022/lib/measure/index.mjs +2 -3
  222. package/esm2022/lib/measure/measure.module.mjs +8 -5
  223. package/esm2022/lib/measure/measurer/index.mjs +6 -0
  224. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +6 -5
  225. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +18 -11
  226. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +27 -13
  227. package/esm2022/lib/measure/measurer/measurer.component.mjs +35 -17
  228. package/esm2022/lib/measure/measurer/measurer.module.mjs +7 -69
  229. package/esm2022/lib/measure/shared/index.mjs +1 -1
  230. package/esm2022/lib/measure/shared/measure.utils.mjs +1 -1
  231. package/esm2022/lib/metadata/index.mjs +6 -1
  232. package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
  233. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +35 -18
  234. package/esm2022/lib/metadata/metadata.module.mjs +10 -31
  235. package/esm2022/lib/metadata/shared/index.mjs +1 -1
  236. package/esm2022/lib/metadata/shared/metadata.service.mjs +5 -5
  237. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
  238. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +5 -5
  239. package/esm2022/lib/offline/geoDB/index.mjs +1 -1
  240. package/esm2022/lib/offline/index.mjs +1 -1
  241. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +5 -5
  242. package/esm2022/lib/offline/shared/geo-network.service.mjs +5 -5
  243. package/esm2022/lib/offline/shared/index.mjs +1 -1
  244. package/esm2022/lib/overlay/index.mjs +1 -1
  245. package/esm2022/lib/overlay/overlay.module.mjs +10 -8
  246. package/esm2022/lib/overlay/shared/index.mjs +1 -1
  247. package/esm2022/lib/overlay/shared/overlay.directive.mjs +8 -7
  248. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  249. package/esm2022/lib/overlay/shared/overlay.service.mjs +5 -5
  250. package/esm2022/lib/print/index.mjs +1 -1
  251. package/esm2022/lib/print/print/print.component.mjs +7 -7
  252. package/esm2022/lib/print/print-form/index.mjs +1 -1
  253. package/esm2022/lib/print/print-form/print-form.component.mjs +34 -14
  254. package/esm2022/lib/print/print.module.mjs +10 -54
  255. package/esm2022/lib/print/shared/index.mjs +1 -1
  256. package/esm2022/lib/print/shared/print.service.mjs +10 -10
  257. package/esm2022/lib/query/index.mjs +1 -1
  258. package/esm2022/lib/query/query.module.mjs +7 -8
  259. package/esm2022/lib/query/shared/index.mjs +1 -1
  260. package/esm2022/lib/query/shared/query-search-source.mjs +6 -6
  261. package/esm2022/lib/query/shared/query.directive.mjs +8 -7
  262. package/esm2022/lib/query/shared/query.enums.mjs +1 -1
  263. package/esm2022/lib/query/shared/query.service.mjs +7 -9
  264. package/esm2022/lib/search/index.mjs +14 -5
  265. package/esm2022/lib/search/search-bar/search-bar.component.mjs +36 -16
  266. package/esm2022/lib/search/search-bar/search-bar.module.mjs +8 -61
  267. package/esm2022/lib/search/search-results/index.mjs +10 -0
  268. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +42 -17
  269. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +28 -14
  270. package/esm2022/lib/search/search-results/search-results-item.component.mjs +22 -12
  271. package/esm2022/lib/search/search-results/search-results.component.mjs +24 -12
  272. package/esm2022/lib/search/search-results/search-results.module.mjs +8 -91
  273. package/esm2022/lib/search/search-selector/search-selector.component.mjs +27 -12
  274. package/esm2022/lib/search/search-selector/search-selector.module.mjs +8 -44
  275. package/esm2022/lib/search/search-settings/search-settings.component.mjs +37 -14
  276. package/esm2022/lib/search/search-settings/search-settings.module.mjs +7 -47
  277. package/esm2022/lib/search/search.module.mjs +10 -13
  278. package/esm2022/lib/search/shared/index.mjs +1 -1
  279. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +8 -7
  280. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  281. package/esm2022/lib/search/shared/search.service.mjs +5 -5
  282. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  283. package/esm2022/lib/search/shared/sources/cadastre.mjs +8 -7
  284. package/esm2022/lib/search/shared/sources/coordinates.mjs +10 -10
  285. package/esm2022/lib/search/shared/sources/icherche.mjs +16 -16
  286. package/esm2022/lib/search/shared/sources/ilayer.mjs +10 -10
  287. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  288. package/esm2022/lib/search/shared/sources/nominatim.mjs +6 -6
  289. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  290. package/esm2022/lib/search/shared/sources/storedqueries.mjs +11 -11
  291. package/esm2022/lib/search/shared/sources/workspace.mjs +7 -8
  292. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
  293. package/esm2022/lib/style/shared/datasource/index.mjs +1 -1
  294. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  295. package/esm2022/lib/style/shared/feature/index.mjs +1 -1
  296. package/esm2022/lib/style/shared/overlay/index.mjs +1 -1
  297. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
  298. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
  299. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
  300. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  301. package/esm2022/lib/style/shared/vector/index.mjs +1 -1
  302. package/esm2022/lib/style/style-list/index.mjs +1 -1
  303. package/esm2022/lib/style/style-list/style-list.interface.mjs +1 -1
  304. package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
  305. package/esm2022/lib/style/style-list/style-list.service.mjs +5 -5
  306. package/esm2022/lib/style/style-modal/drawing/index.mjs +1 -1
  307. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +40 -17
  308. package/esm2022/lib/style/style-modal/index.mjs +1 -1
  309. package/esm2022/lib/style/style-modal/layer/index.mjs +1 -1
  310. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +28 -14
  311. package/esm2022/lib/style/style-modal/layer-button/index.mjs +1 -1
  312. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +13 -9
  313. package/esm2022/lib/style/style-modal/shared/index.mjs +1 -1
  314. package/esm2022/lib/style/style-service/draw-style.service.mjs +5 -5
  315. package/esm2022/lib/style/style-service/index.mjs +1 -1
  316. package/esm2022/lib/style/style-service/style.service.mjs +4 -4
  317. package/esm2022/lib/style/style.module.mjs +12 -57
  318. package/esm2022/lib/toast/index.mjs +1 -1
  319. package/esm2022/lib/toast/toast.component.mjs +19 -11
  320. package/esm2022/lib/toast/toast.module.mjs +10 -30
  321. package/esm2022/lib/utils/id-generator.mjs +1 -1
  322. package/esm2022/lib/utils/index.mjs +1 -1
  323. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +1 -1
  324. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +5 -5
  325. package/esm2022/lib/wkt/index.mjs +1 -1
  326. package/esm2022/lib/wkt/shared/index.mjs +1 -1
  327. package/esm2022/lib/wkt/shared/wkt.service.mjs +5 -5
  328. package/esm2022/lib/wkt/wkt.module.mjs +8 -5
  329. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +9 -8
  330. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +8 -24
  331. package/esm2022/lib/workspace/index.mjs +1 -1
  332. package/esm2022/lib/workspace/shared/edition-workspace.mjs +1 -1
  333. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +5 -5
  334. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  335. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +5 -5
  336. package/esm2022/lib/workspace/shared/index.mjs +1 -1
  337. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  338. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +5 -5
  339. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
  340. package/esm2022/lib/workspace/shared/workspace.utils.mjs +1 -1
  341. package/esm2022/lib/workspace/widgets/index.mjs +1 -1
  342. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +7 -7
  343. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +8 -13
  344. package/esm2022/lib/workspace/widgets/widgets.mjs +1 -1
  345. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -6
  346. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +8 -10
  347. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
  348. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +8 -10
  349. package/esm2022/lib/workspace/workspace.module.mjs +10 -35
  350. package/esm2022/public_api.mjs +11 -12
  351. package/fesm2022/igo2-geo.mjs +34458 -34603
  352. package/fesm2022/igo2-geo.mjs.map +1 -1
  353. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
  354. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  355. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  356. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +2 -14
  357. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
  358. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
  359. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  360. package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -18
  361. package/lib/catalog/catalog-library/index.d.ts +5 -0
  362. package/lib/catalog/catalog.module.d.ts +6 -9
  363. package/lib/catalog/index.d.ts +2 -0
  364. package/lib/datasource/shared/datasource.service.d.ts +2 -4
  365. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +1 -1
  366. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -1
  367. package/lib/directions/directions-results/directions-results.component.d.ts +1 -1
  368. package/lib/directions/directions.component.d.ts +1 -1
  369. package/lib/directions/directions.module.d.ts +9 -20
  370. package/lib/download/download-button/download-button.component.d.ts +1 -1
  371. package/lib/download/download.module.d.ts +4 -6
  372. package/lib/draw/draw/draw-layer-popup.component.d.ts +1 -1
  373. package/lib/draw/draw/draw-popup.component.d.ts +4 -4
  374. package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
  375. package/lib/draw/draw/draw.component.d.ts +1 -1
  376. package/lib/draw/draw/draw.module.d.ts +2 -25
  377. package/lib/draw/drawingTool.module.d.ts +3 -0
  378. package/lib/feature/feature-details/feature-details.component.d.ts +4 -2
  379. package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
  380. package/lib/feature/feature-details/feature-details.module.d.ts +2 -6
  381. package/lib/feature/feature-details/index.d.ts +5 -0
  382. package/lib/feature/feature-form/feature-form.component.d.ts +2 -2
  383. package/lib/feature/feature-form/feature-form.module.d.ts +2 -4
  384. package/lib/feature/feature.module.d.ts +6 -4
  385. package/lib/feature/index.d.ts +3 -1
  386. package/lib/filter/filter.module.d.ts +4 -28
  387. package/lib/filter/index.d.ts +16 -0
  388. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +3 -3
  389. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  390. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +3 -3
  391. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  392. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +2 -2
  393. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +3 -3
  394. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +3 -3
  395. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  396. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +3 -3
  397. package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
  398. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +4 -4
  399. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +1 -1
  400. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
  401. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  402. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +3 -3
  403. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  404. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  405. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
  406. package/lib/geo.module.d.ts +14 -24
  407. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
  408. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
  409. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +2 -10
  410. package/lib/geometry/geometry-form-field/index.d.ts +5 -0
  411. package/lib/geometry/geometry.module.d.ts +5 -3
  412. package/lib/geometry/index.d.ts +1 -2
  413. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  414. package/lib/import-export/import-export/import-export.component.d.ts +1 -1
  415. package/lib/import-export/import-export.module.d.ts +4 -15
  416. package/lib/import-export/index.d.ts +4 -0
  417. package/lib/import-export/shared/drop-geo-file.directive.d.ts +1 -1
  418. package/lib/layer/index.d.ts +8 -0
  419. package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
  420. package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
  421. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
  422. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  423. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
  424. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +1 -1
  425. package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
  426. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  427. package/lib/layer/layer.module.d.ts +4 -18
  428. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
  429. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
  430. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  431. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  432. package/lib/map/home-extent-button/home-extent-button.component.d.ts +1 -1
  433. package/lib/map/index.d.ts +14 -0
  434. package/lib/map/info-section/info-section.component.d.ts +1 -1
  435. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  436. package/lib/map/map-center/map-center.component.d.ts +1 -1
  437. package/lib/map/map.module.d.ts +4 -7
  438. package/lib/map/menu-button/menu-button.component.d.ts +1 -1
  439. package/lib/map/offline-button/offline-button.component.d.ts +2 -2
  440. package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
  441. package/lib/map/shared/hover-feature.directive.d.ts +1 -1
  442. package/lib/map/shared/map-pointer-position.directive.d.ts +1 -1
  443. package/lib/map/shared/mapOffline.directive.d.ts +1 -1
  444. package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
  445. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +1 -1
  446. package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
  447. package/lib/measure/index.d.ts +1 -2
  448. package/lib/measure/measure.module.d.ts +3 -0
  449. package/lib/measure/measurer/index.d.ts +5 -0
  450. package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
  451. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  452. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  453. package/lib/measure/measurer/measurer.component.d.ts +2 -3
  454. package/lib/measure/measurer/measurer.module.d.ts +3 -18
  455. package/lib/metadata/index.d.ts +2 -0
  456. package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
  457. package/lib/metadata/metadata.module.d.ts +4 -7
  458. package/lib/overlay/overlay.module.d.ts +4 -1
  459. package/lib/overlay/shared/overlay.directive.d.ts +1 -1
  460. package/lib/print/print/print.component.d.ts +1 -1
  461. package/lib/print/print-form/print-form.component.d.ts +1 -1
  462. package/lib/print/print.module.d.ts +4 -12
  463. package/lib/query/query.module.d.ts +4 -4
  464. package/lib/query/shared/query.directive.d.ts +1 -1
  465. package/lib/query/shared/query.service.d.ts +2 -3
  466. package/lib/search/index.d.ts +6 -4
  467. package/lib/search/search-bar/search-bar.component.d.ts +1 -1
  468. package/lib/search/search-bar/search-bar.module.d.ts +2 -16
  469. package/lib/search/search-results/index.d.ts +6 -0
  470. package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
  471. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  472. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  473. package/lib/search/search-results/search-results.component.d.ts +1 -1
  474. package/lib/search/search-results/search-results.module.d.ts +3 -21
  475. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  476. package/lib/search/search-selector/search-selector.module.d.ts +2 -11
  477. package/lib/search/search-settings/search-settings.component.d.ts +1 -1
  478. package/lib/search/search-settings/search-settings.module.d.ts +2 -12
  479. package/lib/search/search.module.d.ts +6 -7
  480. package/lib/search/shared/search-pointer-summary.directive.d.ts +1 -1
  481. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  482. package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
  483. package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
  484. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  485. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  486. package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
  487. package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
  488. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +1 -1
  489. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +1 -1
  490. package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +1 -1
  491. package/lib/style/style.module.d.ts +5 -16
  492. package/lib/toast/toast.component.d.ts +1 -1
  493. package/lib/toast/toast.module.d.ts +4 -6
  494. package/lib/wkt/wkt.module.d.ts +3 -0
  495. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  496. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +2 -6
  497. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  498. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +2 -6
  499. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  500. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +2 -3
  501. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  502. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +2 -3
  503. package/lib/workspace/workspace.module.d.ts +5 -9
  504. package/locale/en.geo.json +3 -3
  505. package/locale/fr.geo.json +3 -3
  506. package/package.json +14 -12
  507. package/public_api.d.ts +10 -11
  508. package/src/geo-theme.scss +23 -23
  509. package/src/lib/filter/filter.theming.scss +13 -13
  510. package/src/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -18
  511. package/src/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -5
  512. package/src/lib/layer/layer-item/layer-item.theme.scss +33 -33
  513. package/src/lib/layer/layer-legend/layer-legend.theming.scss +10 -10
  514. package/src/lib/layer/layer-list-tool/layer-list-tool.theming.scss +34 -34
  515. package/src/lib/layer/layer.theming.scss +10 -10
  516. package/src/lib/map/map-browser/map-browser.theming.scss +46 -46
  517. package/src/lib/map/map.theming.scss +9 -9
  518. package/src/lib/map/menu-button/menu-button.theming.scss +20 -20
  519. package/src/lib/map/zoom-button/zoom-button.theming.scss +32 -32
  520. package/src/style/style.scss +1 -1
  521. package/esm2022/lib/datasource/datasource.module.mjs +0 -22
  522. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +0 -40
  523. package/lib/datasource/datasource.module.d.ts +0 -8
  524. package/lib/search/search-bar/search-url-param.directive.d.ts +0 -13
@@ -556,4 +556,4 @@ export function translateBearing(bearing, languageService) {
556
556
  return;
557
557
  }
558
558
  }
559
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvc2hhcmVkL2RpcmVjdGlvbnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sU0FBUyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsYUFBYSxFQUNkLE1BQU0sbUJBQW1CLENBQUM7QUFjM0I7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFVBQXNCLEVBQ3RCLFlBQTRCLEtBQUssRUFDakMsS0FBSyxHQUFHLFVBQVU7SUFFbEIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIs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QTJCLENBQUMsQ0FBQztLQUN2RDtTQUFNLElBQUksT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUN4QixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztLQUN0RDtTQUFNLElBQUksT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUN4QixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQUN2RDtTQUFNO1FBQ0wsT0FBTztLQUNSO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBOdW1iZXJVdGlscywgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCBPbEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5pbXBvcnQgKiBhcyBvbEdlb20gZnJvbSAnb2wvZ2VvbSc7XHJcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcbmltcG9ydCAqIGFzIG9sUHJvaiBmcm9tICdvbC9wcm9qJztcclxuaW1wb3J0ICogYXMgb2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IHRyeUJpbmRTdG9yZUxheWVyIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS1zdG9yZS51dGlscyc7XHJcbmltcG9ydCB7IEZFQVRVUkUsIEZlYXR1cmVNb3Rpb24gfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcclxuaW1wb3J0IHsgRmVhdHVyZUdlb21ldHJ5IH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgdHJ5QWRkTG9hZGluZ1N0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvc3RyYXRlZ2llcy51dGlscyc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL3N0cmF0ZWdpZXMvbG9hZGluZyc7XHJcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXInO1xyXG5pbXBvcnQgeyBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUgfSBmcm9tICcuLi8uLi9zdHlsZS9zaGFyZWQvb3ZlcmxheS9vdmVybGF5LW1hcmtlci1zdHlsZS51dGlscyc7XHJcbmltcG9ydCB7XHJcbiAgRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUsXHJcbiAgRGlyZWN0aW9uVHlwZVxyXG59IGZyb20gJy4vZGlyZWN0aW9ucy5lbnVtJztcclxuaW1wb3J0IHtcclxuICBEaXJlY3Rpb24sXHJcbiAgRmVhdHVyZVdpdGhEaXJlY3Rpb24sXHJcbiAgRmVhdHVyZVdpdGhTdG9wLFxyXG4gIFN0b3BcclxufSBmcm9tICcuL2RpcmVjdGlvbnMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtcclxuICBSb3V0ZXNGZWF0dXJlU3RvcmUsXHJcbiAgU3RlcEZlYXR1cmVTdG9yZSxcclxuICBTdG9wc0ZlYXR1cmVTdG9yZSxcclxuICBTdG9wc1N0b3JlXHJcbn0gZnJvbSAnLi9zdG9yZSc7XHJcblxyXG4vKipcclxuICogRnVuY3Rpb24gdGhhdCB1cGRhdCB0aGUgc29ydCBvZiB0aGUgbGlzdCBiYXNlIG9uIHRoZSBwcm92aWRlZCBmaWVsZC5cclxuICogQHBhcmFtIHNvdXJjZSBzdG9wIHN0b3JlXHJcbiAqIEBwYXJhbSBkaXJlY3Rpb24gYXNjIC8gZGVzYyBzb3J0IG9yZGVyXHJcbiAqIEBwYXJhbSBmaWVsZCB0aGUgZmllbGQgdG8gdXNlIHRvIHNvcnQgdGhlIHZpZXdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVTdG9yZVNvcnRpbmcoXHJcbiAgc3RvcHNTdG9yZTogU3RvcHNTdG9yZSxcclxuICBkaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYycsXHJcbiAgZmllbGQgPSAncG9zaXRpb24nXHJcbikge1xyXG4gIHN0b3BzU3RvcmUudmlldy5zb3J0KHtcclxuICAgIGRpcmVjdGlvbixcclxuICAgIHZhbHVlQWNjZXNzb3I6IChlbnRpdHk6IFN0b3ApID0+IGVudGl0eVtmaWVsZF1cclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVSZWxhdGl2ZVBvc2l0aW9uKFxyXG4gIGluZGV4OiBudW1iZXIsXHJcbiAgdG90YWxMZW5ndGhcclxuKTogRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUge1xyXG4gIGxldCByZWxhdGl2ZVBvc2l0aW9uID0gRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuSW50ZXJtZWRpYXRlO1xyXG4gIGlmIChpbmRleCA9PT0gMCkge1xyXG4gICAgcmVsYXRpdmVQb3NpdGlvbiA9IERpcmVjdGlvblJlbGF0aXZlUG9zaXRpb25UeXBlLlN0YXJ0O1xyXG4gIH0gZWxzZSBpZiAoaW5kZXggPT09IHRvdGFsTGVuZ3RoIC0gMSkge1xyXG4gICAgcmVsYXRpdmVQb3NpdGlvbiA9IERpcmVjdGlvblJlbGF0aXZlUG9zaXRpb25UeXBlLkVuZDtcclxuICB9XHJcbiAgcmV0dXJuIHJlbGF0aXZlUG9zaXRpb247XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlU3RvcHNQb3NpdGlvbihzdG9wc1N0b3JlOiBTdG9wc1N0b3JlKSB7XHJcbiAgY29uc3Qgc3RvcHNUb0NvbXB1dGVQb3NpdGlvbiA9IFsuLi5zdG9wc1N0b3JlLmFsbCgpXTtcclxuICBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uLnNvcnQoKGEsIGIpID0+IGEucG9zaXRpb24gLSBiLnBvc2l0aW9uKTtcclxuICBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uLm1hcCgoc3RvcCwgaSkgPT4ge1xyXG4gICAgc3RvcC5wb3NpdGlvbiA9IGk7XHJcbiAgICBzdG9wLnJlbGF0aXZlUG9zaXRpb24gPSBjb21wdXRlUmVsYXRpdmVQb3NpdGlvbihcclxuICAgICAgc3RvcC5wb3NpdGlvbixcclxuICAgICAgc3RvcHNUb0NvbXB1dGVQb3NpdGlvbi5sZW5ndGhcclxuICAgICk7XHJcbiAgfSk7XHJcbiAgaWYgKHN0b3BzVG9Db21wdXRlUG9zaXRpb24pIHtcclxuICAgIHN0b3BzU3RvcmUudXBkYXRlTWFueShzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IGFkZCBhIHN0b3AgdG8gdGhlIHN0b3Agc3RvcmUuIFN0b3AgYXJlIGFsd2F5cyBhZGRlZCBiZWZvcmUgdGhlIGxhc3Qgc3RvcC5cclxuICogQHBhcmFtIHN0b3BzU3RvcmUgc3RvcCBzdG9yZSBhcyBhbiBFbnRpdHlTdG9yZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZFN0b3BUb1N0b3JlKHN0b3BzU3RvcmU6IFN0b3BzU3RvcmUpOiBTdG9wIHtcclxuICBjb25zdCBpZCA9IHV1aWQoKTtcclxuICBjb25zdCBzdG9wcyA9IHN0b3BzU3RvcmUuYWxsKCk7XHJcbiAgbGV0IHBvc2l0aW9uczogbnVtYmVyW107XHJcbiAgaWYgKHN0b3BzU3RvcmUuY291bnQgPT09IDApIHtcclxuICAgIHBvc2l0aW9ucyA9IFswXTtcclxuICB9IGVsc2Uge1xyXG4gICAgcG9zaXRpb25zID0gc3RvcHMubWFwKChzdG9wKSA9PiBzdG9wLnBvc2l0aW9uKTtcclxuICB9XHJcbiAgY29uc3QgbWF4UG9zaXRpb246IG51bWJlciA9IE1hdGgubWF4KC4uLnBvc2l0aW9ucyk7XHJcbiAgY29uc3QgaW5zZXJ0UG9zaXRpb246IG51bWJlciA9IG1heFBvc2l0aW9uO1xyXG4gIGNvbnN0IGxhc3RQb3NpdGlvbjogbnVtYmVyID0gbWF4UG9zaXRpb24gKyAxO1xyXG5cclxuICBjb25zdCBzdG9wVG9VcGRhdGUgPSBzdG9wc1N0b3JlXHJcbiAgICAuYWxsKClcclxuICAgIC5maW5kKChzdG9wKSA9PiBzdG9wLnBvc2l0aW9uID09PSBtYXhQb3NpdGlvbik7XHJcbiAgaWYgKHN0b3BUb1VwZGF0ZSkge1xyXG4gICAgc3RvcFRvVXBkYXRlLnBvc2l0aW9uID0gbGFzdFBvc2l0aW9uO1xyXG4gICAgc3RvcFRvVXBkYXRlLnJlbGF0aXZlUG9zaXRpb24gPSBjb21wdXRlUmVsYXRpdmVQb3NpdGlvbihcclxuICAgICAgbGFzdFBvc2l0aW9uLFxyXG4gICAgICBzdG9wc1N0b3JlLmNvdW50ICsgMVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHN0b3BzU3RvcmUuaW5zZXJ0KHtcclxuICAgIGlkLFxyXG4gICAgcG9zaXRpb246IGluc2VydFBvc2l0aW9uLFxyXG4gICAgcmVsYXRpdmVQb3NpdGlvbjogY29tcHV0ZVJlbGF0aXZlUG9zaXRpb24oXHJcbiAgICAgIGluc2VydFBvc2l0aW9uLFxyXG4gICAgICBzdG9wc1N0b3JlLmNvdW50ICsgMVxyXG4gICAgKVxyXG4gIH0pO1xyXG5cclxuICB1cGRhdGVTdG9yZVNvcnRpbmcoc3RvcHNTdG9yZSk7XHJcbiAgcmV0dXJuIHN0b3BzU3RvcmUuZ2V0KGlkKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVN0b3BGcm9tU3RvcmUoc3RvcHNTdG9yZTogU3RvcHNTdG9yZSwgc3RvcDogU3RvcCkge1xyXG4gIHN0b3BzU3RvcmUuZGVsZXRlKHN0b3ApO1xyXG4gIGNvbXB1dGVTdG9wc1Bvc2l0aW9uKHN0b3BzU3RvcmUpO1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlIGEgc3R5bGUgZm9yIHRoZSBkaXJlY3Rpb25zIHN0b3BzIGFuZCByb3V0ZXNcclxuICogQHBhcmFtIGZlYXR1cmUgT2xGZWF0dXJlXHJcbiAqIEByZXR1cm5zIE9MIHN0eWxlIGZ1bmN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGlyZWN0aW9uc1N0eWxlKFxyXG4gIGZlYXR1cmU6IG9sRmVhdHVyZTxPbEdlb21ldHJ5PixcclxuICByZXNvbHV0aW9uOiBudW1iZXJcclxuKTogb2xTdHlsZS5TdHlsZSB8IG9sU3R5bGUuU3R5bGVbXSB7XHJcbiAgY29uc3QgdmVydGV4U3R5bGUgPSBbXHJcbiAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgIGdlb21ldHJ5OiBmZWF0dXJlLmdldEdlb21ldHJ5KCksXHJcbiAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgIHJhZGl1czogNyxcclxuICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7IGNvbG9yOiAnI0ZGMDAwMCcsIHdpZHRoOiAzIH0pXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIF07XHJcblxyXG4gIGNvbnN0IHN0b3BTdHlsZSA9IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSh7XHJcbiAgICB0ZXh0OiBmZWF0dXJlLmdldCgnc3RvcFRleHQnKSxcclxuICAgIG9wYWNpdHk6IGZlYXR1cmUuZ2V0KCdzdG9wT3BhY2l0eScpLFxyXG4gICAgbWFya2VyQ29sb3I6IGZlYXR1cmUuZ2V0KCdzdG9wQ29sb3InKSxcclxuICAgIG1hcmtlck91dGxpbmVDb2xvcjogWzI1NSwgMjU1LCAyNTVdXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IHJvdXRlU3R5bGUgPSBbXHJcbiAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICBjb2xvcjogYHJnYmEoMTA2LCAxMjEsIDEzMCwgJHtmZWF0dXJlLmdldCgnYWN0aXZlJykgPyAwLjc1IDogMH0pYCxcclxuICAgICAgICB3aWR0aDogMTBcclxuICAgICAgfSlcclxuICAgIH0pLFxyXG4gICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgY29sb3I6IGByZ2JhKDc5LCAxNjksIDIyMSwgJHtmZWF0dXJlLmdldCgnYWN0aXZlJykgPyAwLjc1IDogMH0pYCxcclxuICAgICAgICB3aWR0aDogNlxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICBdO1xyXG5cclxuICBpZiAoZmVhdHVyZS5nZXQoJ3R5cGUnKSA9PT0gRGlyZWN0aW9uVHlwZS5TdG9wKSB7XHJcbiAgICByZXR1cm4gc3RvcFN0eWxlO1xyXG4gIH1cclxuICBpZiAoZmVhdHVyZS5nZXQoJ3R5cGUnKSA9PT0gJ3ZlcnRleCcpIHtcclxuICAgIHJldHVybiB2ZXJ0ZXhTdHlsZTtcclxuICB9XHJcbiAgaWYgKGZlYXR1cmUuZ2V0KCd0eXBlJykgPT09IERpcmVjdGlvblR5cGUuUm91dGUpIHtcclxuICAgIHJldHVybiByb3V0ZVN0eWxlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRTdG9wc0ZlYXR1cmVTdG9yZShcclxuICBzdG9wc0ZlYXR1cmVTdG9yZTogU3RvcHNGZWF0dXJlU3RvcmUsXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcclxuKSB7XHJcbiAgY29uc3QgbG9hZGluZ1N0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSh7XHJcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gIH0pO1xyXG5cclxuICBjb25zdCBzdG9wc0xheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgIGlkOiAnaWdvLWRpcmVjdGlvbi1zdG9wcy1sYXllcicsXHJcbiAgICB0aXRsZTogbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5zdG9wTGF5ZXInXHJcbiAgICApLFxyXG4gICAgekluZGV4OiA5MTEsXHJcbiAgICBzb3VyY2U6IG5ldyBGZWF0dXJlRGF0YVNvdXJjZSgpLFxyXG4gICAgc2hvd0luTGF5ZXJMaXN0OiB0cnVlLFxyXG4gICAgd29ya3NwYWNlOiB7XHJcbiAgICAgIGVuYWJsZWQ6IGZhbHNlXHJcbiAgICB9LFxyXG4gICAgbGlua2VkTGF5ZXJzOiB7XHJcbiAgICAgIGxpbmtJZDogJ2lnby1kaXJlY3Rpb24tc3RvcHMtbGF5ZXInLFxyXG4gICAgICBsaW5rczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHN5bmNlZERlbGV0ZTogdHJ1ZSxcclxuICAgICAgICAgIGxpbmtlZElkczogWydpZ28tZGlyZWN0aW9uLXJvdXRlLWxheWVyJ10sXHJcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXVxyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfSxcclxuICAgIGV4cG9ydGFibGU6IHRydWUsXHJcbiAgICBicm93c2FibGU6IGZhbHNlLFxyXG4gICAgc3R5bGU6IGRpcmVjdGlvbnNTdHlsZVxyXG4gIH0pO1xyXG4gIHRyeUJpbmRTdG9yZUxheWVyKHN0b3BzRmVhdHVyZVN0b3JlLCBzdG9wc0xheWVyKTtcclxuICBzdG9wc0ZlYXR1cmVTdG9yZS5sYXllci52aXNpYmxlID0gdHJ1ZTtcclxuICB0cnlBZGRMb2FkaW5nU3RyYXRlZ3koc3RvcHNGZWF0dXJlU3RvcmUsIGxvYWRpbmdTdHJhdGVneSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbml0Um91dGVzRmVhdHVyZVN0b3JlKFxyXG4gIHJvdXRlc0ZlYXR1cmVTdG9yZTogUm91dGVzRmVhdHVyZVN0b3JlLFxyXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXHJcbikge1xyXG4gIGNvbnN0IGxvYWRpbmdTdHJhdGVneSA9IG5ldyBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3koe1xyXG4gICAgbW90aW9uOiBGZWF0dXJlTW90aW9uLk5vbmVcclxuICB9KTtcclxuXHJcbiAgY29uc3Qgcm91dGVMYXllciA9IG5ldyBWZWN0b3JMYXllcih7XHJcbiAgICBpc0lnb0ludGVybmFsTGF5ZXI6IHRydWUsXHJcbiAgICBpZDogJ2lnby1kaXJlY3Rpb24tcm91dGUtbGF5ZXInLFxyXG4gICAgdGl0bGU6IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0ucm91dGVMYXllcidcclxuICAgICksXHJcbiAgICB6SW5kZXg6IDkxMCxcclxuICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXHJcbiAgICBzaG93SW5MYXllckxpc3Q6IHRydWUsXHJcbiAgICB3b3Jrc3BhY2U6IHtcclxuICAgICAgZW5hYmxlZDogZmFsc2VcclxuICAgIH0sXHJcbiAgICBsaW5rZWRMYXllcnM6IHtcclxuICAgICAgbGlua0lkOiAnaWdvLWRpcmVjdGlvbi1yb3V0ZS1sYXllcidcclxuICAgIH0sXHJcbiAgICBleHBvcnRhYmxlOiB0cnVlLFxyXG4gICAgYnJvd3NhYmxlOiBmYWxzZSxcclxuICAgIHN0eWxlOiBkaXJlY3Rpb25zU3R5bGVcclxuICB9KTtcclxuICB0cnlCaW5kU3RvcmVMYXllcihyb3V0ZXNGZWF0dXJlU3RvcmUsIHJvdXRlTGF5ZXIpO1xyXG4gIHJvdXRlc0ZlYXR1cmVTdG9yZS5sYXllci52aXNpYmxlID0gdHJ1ZTtcclxuICB0cnlBZGRMb2FkaW5nU3RyYXRlZ3kocm91dGVzRmVhdHVyZVN0b3JlLCBsb2FkaW5nU3RyYXRlZ3kpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5pdFN0ZXBGZWF0dXJlU3RvcmUoc3RlcEZlYXR1cmVTdG9yZTogU3RlcEZlYXR1cmVTdG9yZSkge1xyXG4gIGNvbnN0IGxvYWRpbmdTdHJhdGVneSA9IG5ldyBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3koe1xyXG4gICAgbW90aW9uOiBGZWF0dXJlTW90aW9uLk5vbmVcclxuICB9KTtcclxuXHJcbiAgY29uc3Qgc3RlcExheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgIGlkOiAnaWdvLWRpcmVjdGlvbi1zdGVwLWxheWVyJyxcclxuICAgIHRpdGxlOiAnJyxcclxuICAgIHpJbmRleDogOTEwLFxyXG4gICAgc291cmNlOiBuZXcgRmVhdHVyZURhdGFTb3VyY2UoKSxcclxuICAgIHNob3dJbkxheWVyTGlzdDogZmFsc2UsXHJcbiAgICB3b3Jrc3BhY2U6IHtcclxuICAgICAgZW5hYmxlZDogZmFsc2VcclxuICAgIH0sXHJcbiAgICBsaW5rZWRMYXllcnM6IHtcclxuICAgICAgbGlua0lkOiAnaWdvLWRpcmVjdGlvbi1yb3V0ZS1sYXllcidcclxuICAgIH0sXHJcbiAgICBleHBvcnRhYmxlOiBmYWxzZSxcclxuICAgIGJyb3dzYWJsZTogZmFsc2UsXHJcbiAgICBzdHlsZTogZGlyZWN0aW9uc1N0eWxlXHJcbiAgfSk7XHJcbiAgdHJ5QmluZFN0b3JlTGF5ZXIoc3RlcEZlYXR1cmVTdG9yZSwgc3RlcExheWVyKTtcclxuICBzdGVwRmVhdHVyZVN0b3JlLmxheWVyLnZpc2libGUgPSB0cnVlO1xyXG4gIHRyeUFkZExvYWRpbmdTdHJhdGVneShzdGVwRmVhdHVyZVN0b3JlLCBsb2FkaW5nU3RyYXRlZ3kpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWRkU3RvcFRvU3RvcHNGZWF0dXJlU3RvcmUoXHJcbiAgc3RvcDogU3RvcCxcclxuICBzdG9wc1N0b3JlOiBTdG9wc1N0b3JlLFxyXG4gIHN0b3BzRmVhdHVyZVN0b3JlOiBTdG9wc0ZlYXR1cmVTdG9yZSxcclxuICBwcm9qZWN0aW9uOiBzdHJpbmcsXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcclxuKSB7XHJcbiAgbGV0IHN0b3BDb2xvcjtcclxuICBsZXQgc3RvcFRleHQ7XHJcblxyXG4gIHN3aXRjaCAoc3RvcC5yZWxhdGl2ZVBvc2l0aW9uKSB7XHJcbiAgICBjYXNlIERpcmVjdGlvblJlbGF0aXZlUG9zaXRpb25UeXBlLlN0YXJ0OlxyXG4gICAgICBzdG9wQ29sb3IgPSAnIzAwODAwMCc7XHJcbiAgICAgIHN0b3BUZXh0ID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLnN0YXJ0J1xyXG4gICAgICApO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuRW5kOlxyXG4gICAgICBzdG9wQ29sb3IgPSAnI2Y2NDEzOSc7XHJcbiAgICAgIHN0b3BUZXh0ID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmVuZCdcclxuICAgICAgKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICBzdG9wQ29sb3IgPSAnI2ZmZDcwMCc7XHJcbiAgICAgIHN0b3BUZXh0ID1cclxuICAgICAgICBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5pbnRlcm1lZGlhdGUnXHJcbiAgICAgICAgKSArXHJcbiAgICAgICAgJyAjJyArXHJcbiAgICAgICAgc3RvcC5wb3NpdGlvbjtcclxuICAgICAgYnJlYWs7XHJcbiAgfVxyXG5cclxuICBjb25zdCBnZW9tZXRyeSA9IG5ldyBvbEdlb20uUG9pbnQoXHJcbiAgICBvbFByb2oudHJhbnNmb3JtKFxyXG4gICAgICBzdG9wLmNvb3JkaW5hdGVzLFxyXG4gICAgICBwcm9qZWN0aW9uLFxyXG4gICAgICBzdG9wc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvblxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIGNvbnN0IGdlb2pzb25HZW9tID0gbmV3IE9sR2VvSlNPTigpLndyaXRlR2VvbWV0cnlPYmplY3QoZ2VvbWV0cnksIHtcclxuICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBzdG9wc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvbixcclxuICAgIGRhdGFQcm9qZWN0aW9uOiBzdG9wc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvblxyXG4gIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcclxuXHJcbiAgY29uc3QgcHJldmlvdXNTdG9wID0gc3RvcHNGZWF0dXJlU3RvcmUuZ2V0KHN0b3AuaWQpO1xyXG4gIGNvbnN0IHByZXZpb3VzU3RvcFJldmlzaW9uID0gcHJldmlvdXNTdG9wID8gcHJldmlvdXNTdG9wLm1ldGEucmV2aXNpb24gOiAwO1xyXG5cclxuICBjb25zdCBzdG9wRmVhdHVyZVN0b3JlOiBGZWF0dXJlV2l0aFN0b3AgPSB7XHJcbiAgICB0eXBlOiBGRUFUVVJFLFxyXG4gICAgZ2VvbWV0cnk6IGdlb2pzb25HZW9tLFxyXG4gICAgcHJvamVjdGlvbjogc3RvcHNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb24sXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgIGlkOiBzdG9wLmlkLFxyXG4gICAgICB0eXBlOiBEaXJlY3Rpb25UeXBlLlN0b3AsXHJcbiAgICAgIHN0b3BUZXh0LFxyXG4gICAgICBzdG9wQ29sb3IsXHJcbiAgICAgIHN0b3BPcGFjaXR5OiAxLFxyXG4gICAgICBzdG9wXHJcbiAgICB9LFxyXG4gICAgbWV0YToge1xyXG4gICAgICBpZDogc3RvcC5pZCxcclxuICAgICAgcmV2aXNpb246IHByZXZpb3VzU3RvcFJldmlzaW9uICsgMVxyXG4gICAgfSxcclxuICAgIG9sOiBuZXcgb2xGZWF0dXJlKHsgZ2VvbWV0cnkgfSlcclxuICB9O1xyXG4gIHN0b3BzRmVhdHVyZVN0b3JlLnVwZGF0ZShzdG9wRmVhdHVyZVN0b3JlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZERpcmVjdGlvblRvUm91dGVzRmVhdHVyZVN0b3JlKFxyXG4gIHJvdXRlc0ZlYXR1cmVTdG9yZTogUm91dGVzRmVhdHVyZVN0b3JlLFxyXG4gIGRpcmVjdGlvbjogRGlyZWN0aW9uLFxyXG4gIHByb2plY3Rpb246IHN0cmluZyxcclxuICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZSxcclxuICBtb3ZlVG9FeHRlbnQgPSBmYWxzZVxyXG4pIHtcclxuICBjb25zdCBnZW9tID0gZGlyZWN0aW9uLmdlb21ldHJ5LmNvb3JkaW5hdGVzO1xyXG4gIGNvbnN0IGdlb21ldHJ5NDMyNiA9IG5ldyBvbEdlb20uTGluZVN0cmluZyhnZW9tKTtcclxuICBjb25zdCBnZW9tZXRyeSA9IGdlb21ldHJ5NDMyNi50cmFuc2Zvcm0oXHJcbiAgICBwcm9qZWN0aW9uLFxyXG4gICAgcm91dGVzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgZ2VvanNvbkdlb20gPSBuZXcgT2xHZW9KU09OKCkud3JpdGVHZW9tZXRyeU9iamVjdChnZW9tZXRyeSwge1xyXG4gICAgZmVhdHVyZVByb2plY3Rpb246IHJvdXRlc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvbixcclxuICAgIGRhdGFQcm9qZWN0aW9uOiByb3V0ZXNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb25cclxuICB9KSBhcyBGZWF0dXJlR2VvbWV0cnk7XHJcblxyXG4gIGNvbnN0IHByZXZpb3VzUm91dGUgPSByb3V0ZXNGZWF0dXJlU3RvcmUuZ2V0KGRpcmVjdGlvbi5pZCk7XHJcbiAgY29uc3QgcHJldmlvdXNSb3V0ZVJldmlzaW9uID0gcHJldmlvdXNSb3V0ZSA/IHByZXZpb3VzUm91dGUubWV0YS5yZXZpc2lvbiA6IDA7XHJcblxyXG4gIGNvbnN0IHJvdXRlRmVhdHVyZVN0b3JlOiBGZWF0dXJlV2l0aERpcmVjdGlvbiA9IHtcclxuICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICBnZW9tZXRyeTogZ2VvanNvbkdlb20sXHJcbiAgICBwcm9qZWN0aW9uOiByb3V0ZXNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb24sXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgIGlkOiBkaXJlY3Rpb24uaWQsXHJcbiAgICAgIHR5cGU6IERpcmVjdGlvblR5cGUuUm91dGUsXHJcbiAgICAgIGFjdGl2ZSxcclxuICAgICAgZGlyZWN0aW9uXHJcbiAgICB9LFxyXG4gICAgbWV0YToge1xyXG4gICAgICBpZDogZGlyZWN0aW9uLmlkLFxyXG4gICAgICByZXZpc2lvbjogcHJldmlvdXNSb3V0ZVJldmlzaW9uICsgMVxyXG4gICAgfSxcclxuICAgIG9sOiBuZXcgb2xGZWF0dXJlKHsgZ2VvbWV0cnkgfSlcclxuICB9O1xyXG4gIHJvdXRlc0ZlYXR1cmVTdG9yZS51cGRhdGUocm91dGVGZWF0dXJlU3RvcmUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGlzdGFuY2UoZGlzdGFuY2U6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgaWYgKGRpc3RhbmNlID09PSAwKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIGlmIChkaXN0YW5jZSA+PSAxMDAwMDApIHtcclxuICAgIHJldHVybiBOdW1iZXJVdGlscy5yb3VuZFRvTkRlY2ltYWwoTWF0aC5yb3VuZChkaXN0YW5jZSkgLyAxMDAwLCAxKSArICcga20nO1xyXG4gIH1cclxuICBpZiAoZGlzdGFuY2UgPj0gMTAwMDApIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIE51bWJlclV0aWxzLnJvdW5kVG9ORGVjaW1hbChNYXRoLnJvdW5kKGRpc3RhbmNlKSAvIDEwMCAvIDEwLCAxKSArICcga20nXHJcbiAgICApO1xyXG4gIH1cclxuICBpZiAoZGlzdGFuY2UgPj0gMTAwMCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgTnVtYmVyVXRpbHMucm91bmRUb05EZWNpbWFsKE1hdGgucm91bmQoZGlzdGFuY2UpIC8gMTAwIC8gMTAsIDEpICsgJyBrbSdcclxuICAgICk7XHJcbiAgfVxyXG4gIHJldHVybiBOdW1iZXJVdGlscy5yb3VuZFRvTkRlY2ltYWwoZGlzdGFuY2UsIDApICsgJyBtJztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdER1cmF0aW9uKGR1cmF0aW9uOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gIGlmIChkdXJhdGlvbiA+PSAzNjAwKSB7XHJcbiAgICBjb25zdCBob3VyID0gTWF0aC5mbG9vcihkdXJhdGlvbiAvIDM2MDApO1xyXG4gICAgY29uc3QgbWludXRlID0gTWF0aC5yb3VuZCgoZHVyYXRpb24gLyAzNjAwIC0gaG91cikgKiA2MCk7XHJcbiAgICBpZiAobWludXRlID09PSA2MCkge1xyXG4gICAgICByZXR1cm4gaG91ciArIDEgKyAnIGgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhvdXIgKyAnIGggJyArIG1pbnV0ZSArICcgbWluJztcclxuICB9XHJcblxyXG4gIGlmIChkdXJhdGlvbiA+PSA2MCkge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoZHVyYXRpb24gLyA2MCkgKyAnIG1pbic7XHJcbiAgfVxyXG4gIHJldHVybiBkdXJhdGlvbiArICcgcyc7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRJbnN0cnVjdGlvbihcclxuICB0eXBlLFxyXG4gIG1vZGlmaWVyLFxyXG4gIHJvdXRlLFxyXG4gIGRpcmVjdGlvbixcclxuICBzdGVwUG9zaXRpb24sXHJcbiAgZXhpdCxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICBsYXN0U3RlcCA9IGZhbHNlXHJcbikge1xyXG4gIGNvbnN0IHRyYW5zbGF0ZSA9IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XHJcbiAgbGV0IGRpcmVjdGl2ZTtcclxuICBsZXQgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgbGV0IGNzc0NsYXNzID0gJ3JvdGF0ZS0yNzAnO1xyXG4gIGNvbnN0IHRyYW5zbGF0ZWREaXJlY3Rpb24gPSB0cmFuc2xhdGVCZWFyaW5nKGRpcmVjdGlvbiwgbGFuZ3VhZ2VTZXJ2aWNlKTtcclxuICBjb25zdCB0cmFuc2xhdGVkTW9kaWZpZXIgPSB0cmFuc2xhdGVNb2RpZmllcihtb2RpZmllciwgbGFuZ3VhZ2VTZXJ2aWNlKTtcclxuICBjb25zdCBwcmVmaXggPVxyXG4gICAgbW9kaWZpZXIgPT09ICdzdHJhaWdodCdcclxuICAgICAgPyAnJ1xyXG4gICAgICA6IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubW9kaWZpZXIucHJlZml4Jyk7XHJcblxyXG4gIGxldCBhZ2dyZWdhdGVkRGlyZWN0aW9uID0gcHJlZml4ICsgdHJhbnNsYXRlZE1vZGlmaWVyO1xyXG5cclxuICBpZiAobW9kaWZpZXI/LnNlYXJjaCgnc2xpZ2h0JykgPj0gMCkge1xyXG4gICAgYWdncmVnYXRlZERpcmVjdGlvbiA9IHRyYW5zbGF0ZWRNb2RpZmllcjtcclxuICB9XHJcblxyXG4gIGlmIChtb2RpZmllciA9PT0gJ3V0dXJuJykge1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgICBjc3NDbGFzcyA9ICdyb3RhdGUtOTAnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzaGFycCByaWdodCcpIHtcclxuICAgIGltYWdlID0gJ3N1YmRpcmVjdG9yeS1hcnJvdy1yaWdodCc7XHJcbiAgICBjc3NDbGFzcyA9ICdpY29uLWZsaXBwZWQnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdyaWdodCcpIHtcclxuICAgIGltYWdlID0gJ3N1YmRpcmVjdG9yeS1hcnJvdy1yaWdodCc7XHJcbiAgICBjc3NDbGFzcyA9ICdpY29uLWZsaXBwZWQnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzbGlnaHQgcmlnaHQnKSB7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS0yOTAnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzdHJhaWdodCcpIHtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzbGlnaHQgbGVmdCcpIHtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gICAgY3NzQ2xhc3MgPSAncm90YXRlLTI1MCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ2xlZnQnKSB7XHJcbiAgICBpbWFnZSA9ICdzdWJkaXJlY3RvcnktYXJyb3ctbGVmdCc7XHJcbiAgICBjc3NDbGFzcyA9ICdpY29uLWZsaXBwZWQnO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzaGFycCBsZWZ0Jykge1xyXG4gICAgaW1hZ2UgPSAnc3ViZGlyZWN0b3J5LWFycm93LWxlZnQnO1xyXG4gICAgY3NzQ2xhc3MgPSAnaWNvbi1mbGlwcGVkJztcclxuICB9XHJcblxyXG4gIGlmICh0eXBlID09PSAndHVybicpIHtcclxuICAgIGlmIChtb2RpZmllciA9PT0gJ3N0cmFpZ2h0Jykge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnR1cm4uc3RyYWlnaHQnLCB7XHJcbiAgICAgICAgcm91dGVcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAndXR1cm4nKSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudHVybi51dHVybicsIHsgcm91dGUgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnR1cm4uZWxzZScsIHtcclxuICAgICAgICByb3V0ZSxcclxuICAgICAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uLFxyXG4gICAgICAgIHRyYW5zbGF0ZWRNb2RpZmllclxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICduZXcgbmFtZScpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubmV3IG5hbWUnLCB7XHJcbiAgICAgIHJvdXRlLFxyXG4gICAgICB0cmFuc2xhdGVkRGlyZWN0aW9uXHJcbiAgICB9KTtcclxuICAgIGltYWdlID0gJ2NvbXBhc3MnO1xyXG4gICAgY3NzQ2xhc3MgPSAnJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkZXBhcnQnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmRlcGFydCcsIHtcclxuICAgICAgcm91dGUsXHJcbiAgICAgIHRyYW5zbGF0ZWREaXJlY3Rpb25cclxuICAgIH0pO1xyXG4gICAgaW1hZ2UgPSAnY29tcGFzcyc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2Fycml2ZScpIHtcclxuICAgIGlmIChsYXN0U3RlcCkge1xyXG4gICAgICBjb25zdCBjb21hID0gIXRyYW5zbGF0ZWRNb2RpZmllciA/ICcnIDogJywgJztcclxuICAgICAgYWdncmVnYXRlZERpcmVjdGlvbiA9ICF0cmFuc2xhdGVkTW9kaWZpZXIgPyAnJyA6IGFnZ3JlZ2F0ZWREaXJlY3Rpb247XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuYXJyaXZlLmxhc3RTdGVwJywge1xyXG4gICAgICAgIGNvbWEsXHJcbiAgICAgICAgYWdncmVnYXRlZERpcmVjdGlvblxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuYXJyaXZlLmludGVybWVkaWF0ZScsIHtcclxuICAgICAgICByb3V0ZVxyXG4gICAgICB9KTtcclxuICAgICAgaW1hZ2UgPSAnbWFwLW1hcmtlcic7XHJcbiAgICAgIGNzc0NsYXNzID0gJyc7XHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnbWVyZ2UnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLm1lcmdlJywgeyByb3V0ZSB9KTtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gICAgY3NzQ2xhc3MgPSAncm90YXRlLTI3MCc7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnb24gcmFtcCcpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMub24gcmFtcCcsIHtcclxuICAgICAgYWdncmVnYXRlZERpcmVjdGlvblxyXG4gICAgfSk7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnb2ZmIHJhbXAnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLm9mZiByYW1wJywge1xyXG4gICAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uXHJcbiAgICB9KTtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdmb3JrJykge1xyXG4gICAgaWYgKG1vZGlmaWVyLnNlYXJjaCgnbGVmdCcpID49IDApIHtcclxuICAgICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5mb3JrLmxlZnQnLCB7IHJvdXRlIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtb2RpZmllci5zZWFyY2goJ3JpZ2h0JykgPj0gMCkge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmZvcmsucmlnaHQnLCB7IHJvdXRlIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5mb3JrLmVsc2UnLCB7IHJvdXRlIH0pO1xyXG4gICAgfVxyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2VuZCBvZiByb2FkJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5lbmQgb2Ygcm9hZCcsIHtcclxuICAgICAgdHJhbnNsYXRlZE1vZGlmaWVyLFxyXG4gICAgICByb3V0ZVxyXG4gICAgfSk7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAndXNlIGxhbmUnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnVzZSBsYW5lJyk7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnY29udGludWUnICYmIG1vZGlmaWVyICE9PSAndXR1cm4nKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmNvbnRpbnVlLm5vdFV0dXJuJywge1xyXG4gICAgICByb3V0ZVxyXG4gICAgfSk7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS0yNzAnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3JvdW5kYWJvdXQnKSB7XHJcbiAgICBjb25zdCBjbnRTdWZmaXggPVxyXG4gICAgICBleGl0ID09PSAxXHJcbiAgICAgICAgPyB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmNudFN1ZmZpeC5maXJzdCcpXHJcbiAgICAgICAgOiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmNudFN1ZmZpeC5zZWNvbmRBbmRNb3JlJyk7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnJvdW5kYWJvdXQnLCB7XHJcbiAgICAgIGV4aXQsXHJcbiAgICAgIGNudFN1ZmZpeCxcclxuICAgICAgcm91dGVcclxuICAgIH0pO1xyXG4gICAgaW1hZ2UgPSAnY2hhcnQtZG9udXQnO1xyXG4gICAgY3NzQ2xhc3MgPSAnJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdyb3RhcnknKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnJvdGFyeScpO1xyXG4gICAgaW1hZ2UgPSAnY2hhcnQtZG9udXQnO1xyXG4gICAgY3NzQ2xhc3MgPSAnJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdyb3VuZGFib3V0IHR1cm4nKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnJvdW5kYWJvdXQgdHVybicpO1xyXG4gICAgaW1hZ2UgPSAnY2hhcnQtZG9udXQnO1xyXG4gICAgY3NzQ2xhc3MgPSAnJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdleGl0IHJvdW5kYWJvdXQnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmV4aXQgcm91bmRhYm91dCcsIHtcclxuICAgICAgcm91dGVcclxuICAgIH0pO1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgICBjc3NDbGFzcyA9ICdyb3RhdGUtMjcwJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdub3RpZmljYXRpb24nKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLm5vdGlmaWNhdGlvbicpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICd1dHVybicpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudXR1cm5UZXh0Jywge1xyXG4gICAgICB0cmFuc2xhdGVkRGlyZWN0aW9uLFxyXG4gICAgICByb3V0ZVxyXG4gICAgfSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudW5rbm93bicpO1xyXG4gIH1cclxuXHJcbiAgaW1hZ2UgPSBsYXN0U3RlcCA/ICdmbGFnLXZhcmlhbnQnIDogaW1hZ2U7XHJcbiAgY3NzQ2xhc3MgPSBsYXN0U3RlcCA/ICcnIDogY3NzQ2xhc3M7XHJcbiAgaW1hZ2UgPSBzdGVwUG9zaXRpb24gPT09IDAgPyAnY29tcGFzcycgOiBpbWFnZTtcclxuICBjc3NDbGFzcyA9IHN0ZXBQb3NpdGlvbiA9PT0gMCA/ICcnIDogY3NzQ2xhc3M7XHJcblxyXG4gIHJldHVybiB7IGluc3RydWN0aW9uOiBkaXJlY3RpdmUsIGltYWdlLCBjc3NDbGFzcyB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlTW9kaWZpZXIobW9kaWZpZXIsIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XHJcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICBpZiAobW9kaWZpZXIgPT09ICd1dHVybicpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnV0dXJuJyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NoYXJwIHJpZ2h0Jykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuc2hhcnAgcmlnaHQnKTtcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAncmlnaHQnKSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5yaWdodCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzbGlnaHQgcmlnaHQnKSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zbGlnaHQgcmlnaHQnKTtcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnc2hhcnAgbGVmdCcpIHtcclxuICAgIHJldHVybiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zaGFycCBsZWZ0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ2xlZnQnKSB7XHJcbiAgICByZXR1cm4gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubGVmdCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzbGlnaHQgbGVmdCcpIHtcclxuICAgIHJldHVybiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zbGlnaHQgbGVmdCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzdHJhaWdodCcpIHtcclxuICAgIHJldHVybiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zdHJhaWdodCcpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gbW9kaWZpZXI7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNsYXRlQmVhcmluZyhcclxuICBiZWFyaW5nOiBudW1iZXIsXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcclxuKSB7XHJcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICBpZiAoYmVhcmluZyA+PSAzMzcgfHwgYmVhcmluZyA8IDIzKSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2FyZGluYWxQb2ludHMubicpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDY3KSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2FyZGluYWxQb2ludHMubmUnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAxMTMpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5lJyk7XHJcbiAgfSBlbHNlIGlmIChiZWFyaW5nIDwgMTU3KSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2FyZGluYWxQb2ludHMuc2UnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAyMDMpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5zJyk7XHJcbiAgfSBlbHNlIGlmIChiZWFyaW5nIDwgMjQ3KSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2FyZGluYWxQb2ludHMuc3cnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAyOTMpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy53Jyk7XHJcbiAgfSBlbHNlIGlmIChiZWFyaW5nIDwgMzM3KSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uY2FyZGluYWxQb2ludHMubncnKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxufVxyXG4iXX0=
559
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvc2hhcmVkL2RpcmVjdGlvbnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sU0FBUyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsYUFBYSxFQUNkLE1BQU0sbUJBQW1CLENBQUM7QUFjM0I7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFVBQXNCLEVBQ3RCLFlBQTRCLEtBQUssRUFDakMsS0FBSyxHQUFHLFVBQVU7SUFFbEIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIs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T0FBTztJQUNULENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IE51bWJlclV0aWxzLCB1dWlkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IG9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0IE9sR2VvSlNPTiBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTic7XHJcbmltcG9ydCAqIGFzIG9sR2VvbSBmcm9tICdvbC9nZW9tJztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0ICogYXMgb2xQcm9qIGZyb20gJ29sL3Byb2onO1xyXG5pbXBvcnQgKiBhcyBvbFN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZmVhdHVyZS1kYXRhc291cmNlJztcclxuaW1wb3J0IHsgdHJ5QmluZFN0b3JlTGF5ZXIgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLXN0b3JlLnV0aWxzJztcclxuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyB0cnlBZGRMb2FkaW5nU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzLnV0aWxzJztcclxuaW1wb3J0IHsgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvc3RyYXRlZ2llcy9sb2FkaW5nJztcclxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XHJcbmltcG9ydCB7IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSB9IGZyb20gJy4uLy4uL3N0eWxlL3NoYXJlZC9vdmVybGF5L292ZXJsYXktbWFya2VyLXN0eWxlLnV0aWxzJztcclxuaW1wb3J0IHtcclxuICBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSxcclxuICBEaXJlY3Rpb25UeXBlXHJcbn0gZnJvbSAnLi9kaXJlY3Rpb25zLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIERpcmVjdGlvbixcclxuICBGZWF0dXJlV2l0aERpcmVjdGlvbixcclxuICBGZWF0dXJlV2l0aFN0b3AsXHJcbiAgU3RvcFxyXG59IGZyb20gJy4vZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1xyXG4gIFJvdXRlc0ZlYXR1cmVTdG9yZSxcclxuICBTdGVwRmVhdHVyZVN0b3JlLFxyXG4gIFN0b3BzRmVhdHVyZVN0b3JlLFxyXG4gIFN0b3BzU3RvcmVcclxufSBmcm9tICcuL3N0b3JlJztcclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IHVwZGF0IHRoZSBzb3J0IG9mIHRoZSBsaXN0IGJhc2Ugb24gdGhlIHByb3ZpZGVkIGZpZWxkLlxyXG4gKiBAcGFyYW0gc291cmNlIHN0b3Agc3RvcmVcclxuICogQHBhcmFtIGRpcmVjdGlvbiBhc2MgLyBkZXNjIHNvcnQgb3JkZXJcclxuICogQHBhcmFtIGZpZWxkIHRoZSBmaWVsZCB0byB1c2UgdG8gc29ydCB0aGUgdmlld1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVN0b3JlU29ydGluZyhcclxuICBzdG9wc1N0b3JlOiBTdG9wc1N0b3JlLFxyXG4gIGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJyxcclxuICBmaWVsZCA9ICdwb3NpdGlvbidcclxuKSB7XHJcbiAgc3RvcHNTdG9yZS52aWV3LnNvcnQoe1xyXG4gICAgZGlyZWN0aW9uLFxyXG4gICAgdmFsdWVBY2Nlc3NvcjogKGVudGl0eTogU3RvcCkgPT4gZW50aXR5W2ZpZWxkXVxyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZVJlbGF0aXZlUG9zaXRpb24oXHJcbiAgaW5kZXg6IG51bWJlcixcclxuICB0b3RhbExlbmd0aFxyXG4pOiBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSB7XHJcbiAgbGV0IHJlbGF0aXZlUG9zaXRpb24gPSBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZS5JbnRlcm1lZGlhdGU7XHJcbiAgaWYgKGluZGV4ID09PSAwKSB7XHJcbiAgICByZWxhdGl2ZVBvc2l0aW9uID0gRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuU3RhcnQ7XHJcbiAgfSBlbHNlIGlmIChpbmRleCA9PT0gdG90YWxMZW5ndGggLSAxKSB7XHJcbiAgICByZWxhdGl2ZVBvc2l0aW9uID0gRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuRW5kO1xyXG4gIH1cclxuICByZXR1cm4gcmVsYXRpdmVQb3NpdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVTdG9wc1Bvc2l0aW9uKHN0b3BzU3RvcmU6IFN0b3BzU3RvcmUpIHtcclxuICBjb25zdCBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uID0gWy4uLnN0b3BzU3RvcmUuYWxsKCldO1xyXG4gIHN0b3BzVG9Db21wdXRlUG9zaXRpb24uc29ydCgoYSwgYikgPT4gYS5wb3NpdGlvbiAtIGIucG9zaXRpb24pO1xyXG4gIHN0b3BzVG9Db21wdXRlUG9zaXRpb24ubWFwKChzdG9wLCBpKSA9PiB7XHJcbiAgICBzdG9wLnBvc2l0aW9uID0gaTtcclxuICAgIHN0b3AucmVsYXRpdmVQb3NpdGlvbiA9IGNvbXB1dGVSZWxhdGl2ZVBvc2l0aW9uKFxyXG4gICAgICBzdG9wLnBvc2l0aW9uLFxyXG4gICAgICBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uLmxlbmd0aFxyXG4gICAgKTtcclxuICB9KTtcclxuICBpZiAoc3RvcHNUb0NvbXB1dGVQb3NpdGlvbikge1xyXG4gICAgc3RvcHNTdG9yZS51cGRhdGVNYW55KHN0b3BzVG9Db21wdXRlUG9zaXRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRoYXQgYWRkIGEgc3RvcCB0byB0aGUgc3RvcCBzdG9yZS4gU3RvcCBhcmUgYWx3YXlzIGFkZGVkIGJlZm9yZSB0aGUgbGFzdCBzdG9wLlxyXG4gKiBAcGFyYW0gc3RvcHNTdG9yZSBzdG9wIHN0b3JlIGFzIGFuIEVudGl0eVN0b3JlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYWRkU3RvcFRvU3RvcmUoc3RvcHNTdG9yZTogU3RvcHNTdG9yZSk6IFN0b3Age1xyXG4gIGNvbnN0IGlkID0gdXVpZCgpO1xyXG4gIGNvbnN0IHN0b3BzID0gc3RvcHNTdG9yZS5hbGwoKTtcclxuICBsZXQgcG9zaXRpb25zOiBudW1iZXJbXTtcclxuICBpZiAoc3RvcHNTdG9yZS5jb3VudCA9PT0gMCkge1xyXG4gICAgcG9zaXRpb25zID0gWzBdO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBwb3NpdGlvbnMgPSBzdG9wcy5tYXAoKHN0b3ApID0+IHN0b3AucG9zaXRpb24pO1xyXG4gIH1cclxuICBjb25zdCBtYXhQb3NpdGlvbjogbnVtYmVyID0gTWF0aC5tYXgoLi4ucG9zaXRpb25zKTtcclxuICBjb25zdCBpbnNlcnRQb3NpdGlvbjogbnVtYmVyID0gbWF4UG9zaXRpb247XHJcbiAgY29uc3QgbGFzdFBvc2l0aW9uOiBudW1iZXIgPSBtYXhQb3NpdGlvbiArIDE7XHJcblxyXG4gIGNvbnN0IHN0b3BUb1VwZGF0ZSA9IHN0b3BzU3RvcmVcclxuICAgIC5hbGwoKVxyXG4gICAgLmZpbmQoKHN0b3ApID0+IHN0b3AucG9zaXRpb24gPT09IG1heFBvc2l0aW9uKTtcclxuICBpZiAoc3RvcFRvVXBkYXRlKSB7XHJcbiAgICBzdG9wVG9VcGRhdGUucG9zaXRpb24gPSBsYXN0UG9zaXRpb247XHJcbiAgICBzdG9wVG9VcGRhdGUucmVsYXRpdmVQb3NpdGlvbiA9IGNvbXB1dGVSZWxhdGl2ZVBvc2l0aW9uKFxyXG4gICAgICBsYXN0UG9zaXRpb24sXHJcbiAgICAgIHN0b3BzU3RvcmUuY291bnQgKyAxXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc3RvcHNTdG9yZS5pbnNlcnQoe1xyXG4gICAgaWQsXHJcbiAgICBwb3NpdGlvbjogaW5zZXJ0UG9zaXRpb24sXHJcbiAgICByZWxhdGl2ZVBvc2l0aW9uOiBjb21wdXRlUmVsYXRpdmVQb3NpdGlvbihcclxuICAgICAgaW5zZXJ0UG9zaXRpb24sXHJcbiAgICAgIHN0b3BzU3RvcmUuY291bnQgKyAxXHJcbiAgICApXHJcbiAgfSk7XHJcblxyXG4gIHVwZGF0ZVN0b3JlU29ydGluZyhzdG9wc1N0b3JlKTtcclxuICByZXR1cm4gc3RvcHNTdG9yZS5nZXQoaWQpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlU3RvcEZyb21TdG9yZShzdG9wc1N0b3JlOiBTdG9wc1N0b3JlLCBzdG9wOiBTdG9wKSB7XHJcbiAgc3RvcHNTdG9yZS5kZWxldGUoc3RvcCk7XHJcbiAgY29tcHV0ZVN0b3BzUG9zaXRpb24oc3RvcHNTdG9yZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGUgYSBzdHlsZSBmb3IgdGhlIGRpcmVjdGlvbnMgc3RvcHMgYW5kIHJvdXRlc1xyXG4gKiBAcGFyYW0gZmVhdHVyZSBPbEZlYXR1cmVcclxuICogQHJldHVybnMgT0wgc3R5bGUgZnVuY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkaXJlY3Rpb25zU3R5bGUoXHJcbiAgZmVhdHVyZTogb2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxyXG4gIHJlc29sdXRpb246IG51bWJlclxyXG4pOiBvbFN0eWxlLlN0eWxlIHwgb2xTdHlsZS5TdHlsZVtdIHtcclxuICBjb25zdCB2ZXJ0ZXhTdHlsZSA9IFtcclxuICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgZ2VvbWV0cnk6IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSxcclxuICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkNpcmNsZSh7XHJcbiAgICAgICAgcmFkaXVzOiA3LFxyXG4gICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHsgY29sb3I6ICcjRkYwMDAwJywgd2lkdGg6IDMgfSlcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgXTtcclxuXHJcbiAgY29uc3Qgc3RvcFN0eWxlID0gY3JlYXRlT3ZlcmxheU1hcmtlclN0eWxlKHtcclxuICAgIHRleHQ6IGZlYXR1cmUuZ2V0KCdzdG9wVGV4dCcpLFxyXG4gICAgb3BhY2l0eTogZmVhdHVyZS5nZXQoJ3N0b3BPcGFjaXR5JyksXHJcbiAgICBtYXJrZXJDb2xvcjogZmVhdHVyZS5nZXQoJ3N0b3BDb2xvcicpLFxyXG4gICAgbWFya2VyT3V0bGluZUNvbG9yOiBbMjU1LCAyNTUsIDI1NV1cclxuICB9KTtcclxuXHJcbiAgY29uc3Qgcm91dGVTdHlsZSA9IFtcclxuICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgIGNvbG9yOiBgcmdiYSgxMDYsIDEyMSwgMTMwLCAke2ZlYXR1cmUuZ2V0KCdhY3RpdmUnKSA/IDAuNzUgOiAwfSlgLFxyXG4gICAgICAgIHdpZHRoOiAxMFxyXG4gICAgICB9KVxyXG4gICAgfSksXHJcbiAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICBjb2xvcjogYHJnYmEoNzksIDE2OSwgMjIxLCAke2ZlYXR1cmUuZ2V0KCdhY3RpdmUnKSA/IDAuNzUgOiAwfSlgLFxyXG4gICAgICAgIHdpZHRoOiA2XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIF07XHJcblxyXG4gIGlmIChmZWF0dXJlLmdldCgndHlwZScpID09PSBEaXJlY3Rpb25UeXBlLlN0b3ApIHtcclxuICAgIHJldHVybiBzdG9wU3R5bGU7XHJcbiAgfVxyXG4gIGlmIChmZWF0dXJlLmdldCgndHlwZScpID09PSAndmVydGV4Jykge1xyXG4gICAgcmV0dXJuIHZlcnRleFN0eWxlO1xyXG4gIH1cclxuICBpZiAoZmVhdHVyZS5nZXQoJ3R5cGUnKSA9PT0gRGlyZWN0aW9uVHlwZS5Sb3V0ZSkge1xyXG4gICAgcmV0dXJuIHJvdXRlU3R5bGU7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5pdFN0b3BzRmVhdHVyZVN0b3JlKFxyXG4gIHN0b3BzRmVhdHVyZVN0b3JlOiBTdG9wc0ZlYXR1cmVTdG9yZSxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxyXG4pIHtcclxuICBjb25zdCBsb2FkaW5nU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlTG9hZGluZ1N0cmF0ZWd5KHtcclxuICAgIG1vdGlvbjogRmVhdHVyZU1vdGlvbi5Ob25lXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IHN0b3BzTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoe1xyXG4gICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxyXG4gICAgaWQ6ICdpZ28tZGlyZWN0aW9uLXN0b3BzLWxheWVyJyxcclxuICAgIHRpdGxlOiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLnN0b3BMYXllcidcclxuICAgICksXHJcbiAgICB6SW5kZXg6IDkxMSxcclxuICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXHJcbiAgICBzaG93SW5MYXllckxpc3Q6IHRydWUsXHJcbiAgICB3b3Jrc3BhY2U6IHtcclxuICAgICAgZW5hYmxlZDogZmFsc2VcclxuICAgIH0sXHJcbiAgICBsaW5rZWRMYXllcnM6IHtcclxuICAgICAgbGlua0lkOiAnaWdvLWRpcmVjdGlvbi1zdG9wcy1sYXllcicsXHJcbiAgICAgIGxpbmtzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgc3luY2VkRGVsZXRlOiB0cnVlLFxyXG4gICAgICAgICAgbGlua2VkSWRzOiBbJ2lnby1kaXJlY3Rpb24tcm91dGUtbGF5ZXInXSxcclxuICAgICAgICAgIHByb3BlcnRpZXM6IFtdXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgZXhwb3J0YWJsZTogdHJ1ZSxcclxuICAgIGJyb3dzYWJsZTogZmFsc2UsXHJcbiAgICBzdHlsZTogZGlyZWN0aW9uc1N0eWxlXHJcbiAgfSk7XHJcbiAgdHJ5QmluZFN0b3JlTGF5ZXIoc3RvcHNGZWF0dXJlU3RvcmUsIHN0b3BzTGF5ZXIpO1xyXG4gIHN0b3BzRmVhdHVyZVN0b3JlLmxheWVyLnZpc2libGUgPSB0cnVlO1xyXG4gIHRyeUFkZExvYWRpbmdTdHJhdGVneShzdG9wc0ZlYXR1cmVTdG9yZSwgbG9hZGluZ1N0cmF0ZWd5KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRSb3V0ZXNGZWF0dXJlU3RvcmUoXHJcbiAgcm91dGVzRmVhdHVyZVN0b3JlOiBSb3V0ZXNGZWF0dXJlU3RvcmUsXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcclxuKSB7XHJcbiAgY29uc3QgbG9hZGluZ1N0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSh7XHJcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gIH0pO1xyXG5cclxuICBjb25zdCByb3V0ZUxheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgIGlkOiAnaWdvLWRpcmVjdGlvbi1yb3V0ZS1sYXllcicsXHJcbiAgICB0aXRsZTogbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5yb3V0ZUxheWVyJ1xyXG4gICAgKSxcclxuICAgIHpJbmRleDogOTEwLFxyXG4gICAgc291cmNlOiBuZXcgRmVhdHVyZURhdGFTb3VyY2UoKSxcclxuICAgIHNob3dJbkxheWVyTGlzdDogdHJ1ZSxcclxuICAgIHdvcmtzcGFjZToge1xyXG4gICAgICBlbmFibGVkOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIGxpbmtlZExheWVyczoge1xyXG4gICAgICBsaW5rSWQ6ICdpZ28tZGlyZWN0aW9uLXJvdXRlLWxheWVyJ1xyXG4gICAgfSxcclxuICAgIGV4cG9ydGFibGU6IHRydWUsXHJcbiAgICBicm93c2FibGU6IGZhbHNlLFxyXG4gICAgc3R5bGU6IGRpcmVjdGlvbnNTdHlsZVxyXG4gIH0pO1xyXG4gIHRyeUJpbmRTdG9yZUxheWVyKHJvdXRlc0ZlYXR1cmVTdG9yZSwgcm91dGVMYXllcik7XHJcbiAgcm91dGVzRmVhdHVyZVN0b3JlLmxheWVyLnZpc2libGUgPSB0cnVlO1xyXG4gIHRyeUFkZExvYWRpbmdTdHJhdGVneShyb3V0ZXNGZWF0dXJlU3RvcmUsIGxvYWRpbmdTdHJhdGVneSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbml0U3RlcEZlYXR1cmVTdG9yZShzdGVwRmVhdHVyZVN0b3JlOiBTdGVwRmVhdHVyZVN0b3JlKSB7XHJcbiAgY29uc3QgbG9hZGluZ1N0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSh7XHJcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gIH0pO1xyXG5cclxuICBjb25zdCBzdGVwTGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoe1xyXG4gICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxyXG4gICAgaWQ6ICdpZ28tZGlyZWN0aW9uLXN0ZXAtbGF5ZXInLFxyXG4gICAgdGl0bGU6ICcnLFxyXG4gICAgekluZGV4OiA5MTAsXHJcbiAgICBzb3VyY2U6IG5ldyBGZWF0dXJlRGF0YVNvdXJjZSgpLFxyXG4gICAgc2hvd0luTGF5ZXJMaXN0OiBmYWxzZSxcclxuICAgIHdvcmtzcGFjZToge1xyXG4gICAgICBlbmFibGVkOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIGxpbmtlZExheWVyczoge1xyXG4gICAgICBsaW5rSWQ6ICdpZ28tZGlyZWN0aW9uLXJvdXRlLWxheWVyJ1xyXG4gICAgfSxcclxuICAgIGV4cG9ydGFibGU6IGZhbHNlLFxyXG4gICAgYnJvd3NhYmxlOiBmYWxzZSxcclxuICAgIHN0eWxlOiBkaXJlY3Rpb25zU3R5bGVcclxuICB9KTtcclxuICB0cnlCaW5kU3RvcmVMYXllcihzdGVwRmVhdHVyZVN0b3JlLCBzdGVwTGF5ZXIpO1xyXG4gIHN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIudmlzaWJsZSA9IHRydWU7XHJcbiAgdHJ5QWRkTG9hZGluZ1N0cmF0ZWd5KHN0ZXBGZWF0dXJlU3RvcmUsIGxvYWRpbmdTdHJhdGVneSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGRTdG9wVG9TdG9wc0ZlYXR1cmVTdG9yZShcclxuICBzdG9wOiBTdG9wLFxyXG4gIHN0b3BzU3RvcmU6IFN0b3BzU3RvcmUsXHJcbiAgc3RvcHNGZWF0dXJlU3RvcmU6IFN0b3BzRmVhdHVyZVN0b3JlLFxyXG4gIHByb2plY3Rpb246IHN0cmluZyxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxyXG4pIHtcclxuICBsZXQgc3RvcENvbG9yO1xyXG4gIGxldCBzdG9wVGV4dDtcclxuXHJcbiAgc3dpdGNoIChzdG9wLnJlbGF0aXZlUG9zaXRpb24pIHtcclxuICAgIGNhc2UgRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuU3RhcnQ6XHJcbiAgICAgIHN0b3BDb2xvciA9ICcjMDA4MDAwJztcclxuICAgICAgc3RvcFRleHQgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uc3RhcnQnXHJcbiAgICAgICk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZS5FbmQ6XHJcbiAgICAgIHN0b3BDb2xvciA9ICcjZjY0MTM5JztcclxuICAgICAgc3RvcFRleHQgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uZW5kJ1xyXG4gICAgICApO1xyXG4gICAgICBicmVhaztcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHN0b3BDb2xvciA9ICcjZmZkNzAwJztcclxuICAgICAgc3RvcFRleHQgPVxyXG4gICAgICAgIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmludGVybWVkaWF0ZSdcclxuICAgICAgICApICtcclxuICAgICAgICAnICMnICtcclxuICAgICAgICBzdG9wLnBvc2l0aW9uO1xyXG4gICAgICBicmVhaztcclxuICB9XHJcblxyXG4gIGNvbnN0IGdlb21ldHJ5ID0gbmV3IG9sR2VvbS5Qb2ludChcclxuICAgIG9sUHJvai50cmFuc2Zvcm0oXHJcbiAgICAgIHN0b3AuY29vcmRpbmF0ZXMsXHJcbiAgICAgIHByb2plY3Rpb24sXHJcbiAgICAgIHN0b3BzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uXHJcbiAgICApXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgZ2VvanNvbkdlb20gPSBuZXcgT2xHZW9KU09OKCkud3JpdGVHZW9tZXRyeU9iamVjdChnZW9tZXRyeSwge1xyXG4gICAgZmVhdHVyZVByb2plY3Rpb246IHN0b3BzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uLFxyXG4gICAgZGF0YVByb2plY3Rpb246IHN0b3BzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uXHJcbiAgfSkgYXMgRmVhdHVyZUdlb21ldHJ5O1xyXG5cclxuICBjb25zdCBwcmV2aW91c1N0b3AgPSBzdG9wc0ZlYXR1cmVTdG9yZS5nZXQoc3RvcC5pZCk7XHJcbiAgY29uc3QgcHJldmlvdXNTdG9wUmV2aXNpb24gPSBwcmV2aW91c1N0b3AgPyBwcmV2aW91c1N0b3AubWV0YS5yZXZpc2lvbiA6IDA7XHJcblxyXG4gIGNvbnN0IHN0b3BGZWF0dXJlU3RvcmU6IEZlYXR1cmVXaXRoU3RvcCA9IHtcclxuICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICBnZW9tZXRyeTogZ2VvanNvbkdlb20sXHJcbiAgICBwcm9qZWN0aW9uOiBzdG9wc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvbixcclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgaWQ6IHN0b3AuaWQsXHJcbiAgICAgIHR5cGU6IERpcmVjdGlvblR5cGUuU3RvcCxcclxuICAgICAgc3RvcFRleHQsXHJcbiAgICAgIHN0b3BDb2xvcixcclxuICAgICAgc3RvcE9wYWNpdHk6IDEsXHJcbiAgICAgIHN0b3BcclxuICAgIH0sXHJcbiAgICBtZXRhOiB7XHJcbiAgICAgIGlkOiBzdG9wLmlkLFxyXG4gICAgICByZXZpc2lvbjogcHJldmlvdXNTdG9wUmV2aXNpb24gKyAxXHJcbiAgICB9LFxyXG4gICAgb2w6IG5ldyBvbEZlYXR1cmUoeyBnZW9tZXRyeSB9KVxyXG4gIH07XHJcbiAgc3RvcHNGZWF0dXJlU3RvcmUudXBkYXRlKHN0b3BGZWF0dXJlU3RvcmUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYWRkRGlyZWN0aW9uVG9Sb3V0ZXNGZWF0dXJlU3RvcmUoXHJcbiAgcm91dGVzRmVhdHVyZVN0b3JlOiBSb3V0ZXNGZWF0dXJlU3RvcmUsXHJcbiAgZGlyZWN0aW9uOiBEaXJlY3Rpb24sXHJcbiAgcHJvamVjdGlvbjogc3RyaW5nLFxyXG4gIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlLFxyXG4gIG1vdmVUb0V4dGVudCA9IGZhbHNlXHJcbikge1xyXG4gIGNvbnN0IGdlb20gPSBkaXJlY3Rpb24uZ2VvbWV0cnkuY29vcmRpbmF0ZXM7XHJcbiAgY29uc3QgZ2VvbWV0cnk0MzI2ID0gbmV3IG9sR2VvbS5MaW5lU3RyaW5nKGdlb20pO1xyXG4gIGNvbnN0IGdlb21ldHJ5ID0gZ2VvbWV0cnk0MzI2LnRyYW5zZm9ybShcclxuICAgIHByb2plY3Rpb24sXHJcbiAgICByb3V0ZXNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb25cclxuICApO1xyXG5cclxuICBjb25zdCBnZW9qc29uR2VvbSA9IG5ldyBPbEdlb0pTT04oKS53cml0ZUdlb21ldHJ5T2JqZWN0KGdlb21ldHJ5LCB7XHJcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogcm91dGVzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uLFxyXG4gICAgZGF0YVByb2plY3Rpb246IHJvdXRlc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvblxyXG4gIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcclxuXHJcbiAgY29uc3QgcHJldmlvdXNSb3V0ZSA9IHJvdXRlc0ZlYXR1cmVTdG9yZS5nZXQoZGlyZWN0aW9uLmlkKTtcclxuICBjb25zdCBwcmV2aW91c1JvdXRlUmV2aXNpb24gPSBwcmV2aW91c1JvdXRlID8gcHJldmlvdXNSb3V0ZS5tZXRhLnJldmlzaW9uIDogMDtcclxuXHJcbiAgY29uc3Qgcm91dGVGZWF0dXJlU3RvcmU6IEZlYXR1cmVXaXRoRGlyZWN0aW9uID0ge1xyXG4gICAgdHlwZTogRkVBVFVSRSxcclxuICAgIGdlb21ldHJ5OiBnZW9qc29uR2VvbSxcclxuICAgIHByb2plY3Rpb246IHJvdXRlc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvbixcclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgaWQ6IGRpcmVjdGlvbi5pZCxcclxuICAgICAgdHlwZTogRGlyZWN0aW9uVHlwZS5Sb3V0ZSxcclxuICAgICAgYWN0aXZlLFxyXG4gICAgICBkaXJlY3Rpb25cclxuICAgIH0sXHJcbiAgICBtZXRhOiB7XHJcbiAgICAgIGlkOiBkaXJlY3Rpb24uaWQsXHJcbiAgICAgIHJldmlzaW9uOiBwcmV2aW91c1JvdXRlUmV2aXNpb24gKyAxXHJcbiAgICB9LFxyXG4gICAgb2w6IG5ldyBvbEZlYXR1cmUoeyBnZW9tZXRyeSB9KVxyXG4gIH07XHJcbiAgcm91dGVzRmVhdHVyZVN0b3JlLnVwZGF0ZShyb3V0ZUZlYXR1cmVTdG9yZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREaXN0YW5jZShkaXN0YW5jZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICBpZiAoZGlzdGFuY2UgPT09IDApIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgaWYgKGRpc3RhbmNlID49IDEwMDAwMCkge1xyXG4gICAgcmV0dXJuIE51bWJlclV0aWxzLnJvdW5kVG9ORGVjaW1hbChNYXRoLnJvdW5kKGRpc3RhbmNlKSAvIDEwMDAsIDEpICsgJyBrbSc7XHJcbiAgfVxyXG4gIGlmIChkaXN0YW5jZSA+PSAxMDAwMCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgTnVtYmVyVXRpbHMucm91bmRUb05EZWNpbWFsKE1hdGgucm91bmQoZGlzdGFuY2UpIC8gMTAwIC8gMTAsIDEpICsgJyBrbSdcclxuICAgICk7XHJcbiAgfVxyXG4gIGlmIChkaXN0YW5jZSA+PSAxMDAwKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBOdW1iZXJVdGlscy5yb3VuZFRvTkRlY2ltYWwoTWF0aC5yb3VuZChkaXN0YW5jZSkgLyAxMDAgLyAxMCwgMSkgKyAnIGttJ1xyXG4gICAgKTtcclxuICB9XHJcbiAgcmV0dXJuIE51bWJlclV0aWxzLnJvdW5kVG9ORGVjaW1hbChkaXN0YW5jZSwgMCkgKyAnIG0nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RHVyYXRpb24oZHVyYXRpb246IG51bWJlcik6IHN0cmluZyB7XHJcbiAgaWYgKGR1cmF0aW9uID49IDM2MDApIHtcclxuICAgIGNvbnN0IGhvdXIgPSBNYXRoLmZsb29yKGR1cmF0aW9uIC8gMzYwMCk7XHJcbiAgICBjb25zdCBtaW51dGUgPSBNYXRoLnJvdW5kKChkdXJhdGlvbiAvIDM2MDAgLSBob3VyKSAqIDYwKTtcclxuICAgIGlmIChtaW51dGUgPT09IDYwKSB7XHJcbiAgICAgIHJldHVybiBob3VyICsgMSArICcgaCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaG91ciArICcgaCAnICsgbWludXRlICsgJyBtaW4nO1xyXG4gIH1cclxuXHJcbiAgaWYgKGR1cmF0aW9uID49IDYwKSB7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZChkdXJhdGlvbiAvIDYwKSArICcgbWluJztcclxuICB9XHJcbiAgcmV0dXJuIGR1cmF0aW9uICsgJyBzJztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEluc3RydWN0aW9uKFxyXG4gIHR5cGUsXHJcbiAgbW9kaWZpZXIsXHJcbiAgcm91dGUsXHJcbiAgZGlyZWN0aW9uLFxyXG4gIHN0ZXBQb3NpdGlvbixcclxuICBleGl0LFxyXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gIGxhc3RTdGVwID0gZmFsc2VcclxuKSB7XHJcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICBsZXQgZGlyZWN0aXZlO1xyXG4gIGxldCBpbWFnZSA9ICdmb3J3YXJkJztcclxuICBsZXQgY3NzQ2xhc3MgPSAncm90YXRlLTI3MCc7XHJcbiAgY29uc3QgdHJhbnNsYXRlZERpcmVjdGlvbiA9IHRyYW5zbGF0ZUJlYXJpbmcoZGlyZWN0aW9uLCBsYW5ndWFnZVNlcnZpY2UpO1xyXG4gIGNvbnN0IHRyYW5zbGF0ZWRNb2RpZmllciA9IHRyYW5zbGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBsYW5ndWFnZVNlcnZpY2UpO1xyXG4gIGNvbnN0IHByZWZpeCA9XHJcbiAgICBtb2RpZmllciA9PT0gJ3N0cmFpZ2h0J1xyXG4gICAgICA/ICcnXHJcbiAgICAgIDogdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5tb2RpZmllci5wcmVmaXgnKTtcclxuXHJcbiAgbGV0IGFnZ3JlZ2F0ZWREaXJlY3Rpb24gPSBwcmVmaXggKyB0cmFuc2xhdGVkTW9kaWZpZXI7XHJcblxyXG4gIGlmIChtb2RpZmllcj8uc2VhcmNoKCdzbGlnaHQnKSA+PSAwKSB7XHJcbiAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uID0gdHJhbnNsYXRlZE1vZGlmaWVyO1xyXG4gIH1cclxuXHJcbiAgaWYgKG1vZGlmaWVyID09PSAndXR1cm4nKSB7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS05MCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NoYXJwIHJpZ2h0Jykge1xyXG4gICAgaW1hZ2UgPSAnc3ViZGlyZWN0b3J5LWFycm93LXJpZ2h0JztcclxuICAgIGNzc0NsYXNzID0gJ2ljb24tZmxpcHBlZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgaW1hZ2UgPSAnc3ViZGlyZWN0b3J5LWFycm93LXJpZ2h0JztcclxuICAgIGNzc0NsYXNzID0gJ2ljb24tZmxpcHBlZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCByaWdodCcpIHtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gICAgY3NzQ2xhc3MgPSAncm90YXRlLTI5MCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3N0cmFpZ2h0Jykge1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCBsZWZ0Jykge1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgICBjc3NDbGFzcyA9ICdyb3RhdGUtMjUwJztcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnbGVmdCcpIHtcclxuICAgIGltYWdlID0gJ3N1YmRpcmVjdG9yeS1hcnJvdy1sZWZ0JztcclxuICAgIGNzc0NsYXNzID0gJ2ljb24tZmxpcHBlZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NoYXJwIGxlZnQnKSB7XHJcbiAgICBpbWFnZSA9ICdzdWJkaXJlY3RvcnktYXJyb3ctbGVmdCc7XHJcbiAgICBjc3NDbGFzcyA9ICdpY29uLWZsaXBwZWQnO1xyXG4gIH1cclxuXHJcbiAgaWYgKHR5cGUgPT09ICd0dXJuJykge1xyXG4gICAgaWYgKG1vZGlmaWVyID09PSAnc3RyYWlnaHQnKSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudHVybi5zdHJhaWdodCcsIHtcclxuICAgICAgICByb3V0ZVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICd1dHVybicpIHtcclxuICAgICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy50dXJuLnV0dXJuJywgeyByb3V0ZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudHVybi5lbHNlJywge1xyXG4gICAgICAgIHJvdXRlLFxyXG4gICAgICAgIGFnZ3JlZ2F0ZWREaXJlY3Rpb24sXHJcbiAgICAgICAgdHJhbnNsYXRlZE1vZGlmaWVyXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ25ldyBuYW1lJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5uZXcgbmFtZScsIHtcclxuICAgICAgcm91dGUsXHJcbiAgICAgIHRyYW5zbGF0ZWREaXJlY3Rpb25cclxuICAgIH0pO1xyXG4gICAgaW1hZ2UgPSAnY29tcGFzcyc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RlcGFydCcpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuZGVwYXJ0Jywge1xyXG4gICAgICByb3V0ZSxcclxuICAgICAgdHJhbnNsYXRlZERpcmVjdGlvblxyXG4gICAgfSk7XHJcbiAgICBpbWFnZSA9ICdjb21wYXNzJztcclxuICAgIGNzc0NsYXNzID0gJyc7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnYXJyaXZlJykge1xyXG4gICAgaWYgKGxhc3RTdGVwKSB7XHJcbiAgICAgIGNvbnN0IGNvbWEgPSAhdHJhbnNsYXRlZE1vZGlmaWVyID8gJycgOiAnLCAnO1xyXG4gICAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uID0gIXRyYW5zbGF0ZWRNb2RpZmllciA/ICcnIDogYWdncmVnYXRlZERpcmVjdGlvbjtcclxuICAgICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5hcnJpdmUubGFzdFN0ZXAnLCB7XHJcbiAgICAgICAgY29tYSxcclxuICAgICAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5hcnJpdmUuaW50ZXJtZWRpYXRlJywge1xyXG4gICAgICAgIHJvdXRlXHJcbiAgICAgIH0pO1xyXG4gICAgICBpbWFnZSA9ICdtYXAtbWFya2VyJztcclxuICAgICAgY3NzQ2xhc3MgPSAnJztcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtZXJnZScpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubWVyZ2UnLCB7IHJvdXRlIH0pO1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgICBjc3NDbGFzcyA9ICdyb3RhdGUtMjcwJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvbiByYW1wJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5vbiByYW1wJywge1xyXG4gICAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uXHJcbiAgICB9KTtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvZmYgcmFtcCcpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMub2ZmIHJhbXAnLCB7XHJcbiAgICAgIGFnZ3JlZ2F0ZWREaXJlY3Rpb25cclxuICAgIH0pO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2ZvcmsnKSB7XHJcbiAgICBpZiAobW9kaWZpZXIuc2VhcmNoKCdsZWZ0JykgPj0gMCkge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmZvcmsubGVmdCcsIHsgcm91dGUgfSk7XHJcbiAgICB9IGVsc2UgaWYgKG1vZGlmaWVyLnNlYXJjaCgncmlnaHQnKSA+PSAwKSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuZm9yay5yaWdodCcsIHsgcm91dGUgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmZvcmsuZWxzZScsIHsgcm91dGUgfSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnZW5kIG9mIHJvYWQnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmVuZCBvZiByb2FkJywge1xyXG4gICAgICB0cmFuc2xhdGVkTW9kaWZpZXIsXHJcbiAgICAgIHJvdXRlXHJcbiAgICB9KTtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICd1c2UgbGFuZScpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudXNlIGxhbmUnKTtcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdjb250aW51ZScgJiYgbW9kaWZpZXIgIT09ICd1dHVybicpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuY29udGludWUubm90VXR1cm4nLCB7XHJcbiAgICAgIHJvdXRlXHJcbiAgICB9KTtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gICAgY3NzQ2xhc3MgPSAncm90YXRlLTI3MCc7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAncm91bmRhYm91dCcpIHtcclxuICAgIGNvbnN0IGNudFN1ZmZpeCA9XHJcbiAgICAgIGV4aXQgPT09IDFcclxuICAgICAgICA/IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuY250U3VmZml4LmZpcnN0JylcclxuICAgICAgICA6IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuY250U3VmZml4LnNlY29uZEFuZE1vcmUnKTtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMucm91bmRhYm91dCcsIHtcclxuICAgICAgZXhpdCxcclxuICAgICAgY250U3VmZml4LFxyXG4gICAgICByb3V0ZVxyXG4gICAgfSk7XHJcbiAgICBpbWFnZSA9ICdjaGFydC1kb251dCc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3JvdGFyeScpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMucm90YXJ5Jyk7XHJcbiAgICBpbWFnZSA9ICdjaGFydC1kb251dCc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3JvdW5kYWJvdXQgdHVybicpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMucm91bmRhYm91dCB0dXJuJyk7XHJcbiAgICBpbWFnZSA9ICdjaGFydC1kb251dCc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2V4aXQgcm91bmRhYm91dCcpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuZXhpdCByb3VuZGFib3V0Jywge1xyXG4gICAgICByb3V0ZVxyXG4gICAgfSk7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS0yNzAnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ25vdGlmaWNhdGlvbicpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubm90aWZpY2F0aW9uJyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3V0dXJuJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy51dHVyblRleHQnLCB7XHJcbiAgICAgIHRyYW5zbGF0ZWREaXJlY3Rpb24sXHJcbiAgICAgIHJvdXRlXHJcbiAgICB9KTtcclxuICB9IGVsc2Uge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy51bmtub3duJyk7XHJcbiAgfVxyXG5cclxuICBpbWFnZSA9IGxhc3RTdGVwID8gJ2ZsYWctdmFyaWFudCcgOiBpbWFnZTtcclxuICBjc3NDbGFzcyA9IGxhc3RTdGVwID8gJycgOiBjc3NDbGFzcztcclxuICBpbWFnZSA9IHN0ZXBQb3NpdGlvbiA9PT0gMCA/ICdjb21wYXNzJyA6IGltYWdlO1xyXG4gIGNzc0NsYXNzID0gc3RlcFBvc2l0aW9uID09PSAwID8gJycgOiBjc3NDbGFzcztcclxuXHJcbiAgcmV0dXJuIHsgaW5zdHJ1Y3Rpb246IGRpcmVjdGl2ZSwgaW1hZ2UsIGNzc0NsYXNzIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2xhdGVNb2RpZmllcihtb2RpZmllciwgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHtcclxuICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gIGlmIChtb2RpZmllciA9PT0gJ3V0dXJuJykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudXR1cm4nKTtcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnc2hhcnAgcmlnaHQnKSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zaGFycCByaWdodCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdyaWdodCcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnJpZ2h0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCByaWdodCcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnNsaWdodCByaWdodCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzaGFycCBsZWZ0Jykge1xyXG4gICAgcmV0dXJuIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnNoYXJwIGxlZnQnKTtcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnbGVmdCcpIHtcclxuICAgIHJldHVybiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5sZWZ0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCBsZWZ0Jykge1xyXG4gICAgcmV0dXJuIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnNsaWdodCBsZWZ0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3N0cmFpZ2h0Jykge1xyXG4gICAgcmV0dXJuIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnN0cmFpZ2h0Jyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBtb2RpZmllcjtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2xhdGVCZWFyaW5nKFxyXG4gIGJlYXJpbmc6IG51bWJlcixcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxyXG4pIHtcclxuICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gIGlmIChiZWFyaW5nID49IDMzNyB8fCBiZWFyaW5nIDwgMjMpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5uJyk7XHJcbiAgfSBlbHNlIGlmIChiZWFyaW5nIDwgNjcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5uZScpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDExMykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhcmRpbmFsUG9pbnRzLmUnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAxNTcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5zZScpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDIwMykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhcmRpbmFsUG9pbnRzLnMnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAyNDcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5zdycpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDI5Mykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhcmRpbmFsUG9pbnRzLncnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAzMzcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5udycpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -3,4 +3,4 @@ export * from './directions.enum';
3
3
  export * from './directions.interface';
4
4
  export * from './directions.utils';
5
5
  export * from './store';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZSc7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMudXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0b3JlJztcclxuIl19
@@ -1,13 +1,17 @@
1
+ import { NgIf } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatTooltipModule } from '@angular/material/tooltip';
6
+ import { TranslateModule } from '@ngx-translate/core';
2
7
  import { Layer } from '../../layer/shared/layers/layer';
3
8
  import { DownloadService } from '../shared/download.service';
4
9
  import * as i0 from "@angular/core";
5
10
  import * as i1 from "../shared/download.service";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@angular/material/icon";
8
- import * as i4 from "@angular/material/button";
9
- import * as i5 from "@angular/material/tooltip";
10
- import * as i6 from "@ngx-translate/core";
11
+ import * as i2 from "@angular/material/button";
12
+ import * as i3 from "@angular/material/tooltip";
13
+ import * as i4 from "@angular/material/icon";
14
+ import * as i5 from "@ngx-translate/core";
11
15
  export class DownloadButtonComponent {
12
16
  downloadService;
13
17
  get layer() {
@@ -36,15 +40,21 @@ export class DownloadButtonComponent {
36
40
  }
37
41
  return this.layer.dataSource.options;
38
42
  }
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DownloadButtonComponent, deps: [{ token: i1.DownloadService }], target: i0.ɵɵFactoryTarget.Component });
40
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DownloadButtonComponent, selector: "igo-download-button", inputs: { layer: "layer", color: "color" }, ngImport: i0, template: "<button\r\n *ngIf=\"\r\n options &&\r\n options.download &&\r\n (options.download['dynamicUrl'] || options.download['url'])\r\n \"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.download.action' | translate\"\r\n [color]=\"color\"\r\n (click)=\"openDownload(layer)\"\r\n>\r\n <mat-icon svgIcon=\"download\"></mat-icon>\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DownloadButtonComponent, deps: [{ token: i1.DownloadService }], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: DownloadButtonComponent, isStandalone: true, selector: "igo-download-button", inputs: { layer: "layer", color: "color" }, ngImport: i0, template: "<button\r\n *ngIf=\"\r\n options &&\r\n options.download &&\r\n (options.download['dynamicUrl'] || options.download['url'])\r\n \"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.download.action' | translate\"\r\n [color]=\"color\"\r\n (click)=\"openDownload(layer)\"\r\n>\r\n <mat-icon svgIcon=\"download\"></mat-icon>\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
45
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DownloadButtonComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DownloadButtonComponent, decorators: [{
43
47
  type: Component,
44
- args: [{ selector: 'igo-download-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\r\n *ngIf=\"\r\n options &&\r\n options.download &&\r\n (options.download['dynamicUrl'] || options.download['url'])\r\n \"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.download.action' | translate\"\r\n [color]=\"color\"\r\n (click)=\"openDownload(layer)\"\r\n>\r\n <mat-icon svgIcon=\"download\"></mat-icon>\r\n</button>\r\n" }]
45
- }], ctorParameters: function () { return [{ type: i1.DownloadService }]; }, propDecorators: { layer: [{
48
+ args: [{ selector: 'igo-download-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
49
+ NgIf,
50
+ MatButtonModule,
51
+ MatTooltipModule,
52
+ MatIconModule,
53
+ TranslateModule
54
+ ], template: "<button\r\n *ngIf=\"\r\n options &&\r\n options.download &&\r\n (options.download['dynamicUrl'] || options.download['url'])\r\n \"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.download.action' | translate\"\r\n [color]=\"color\"\r\n (click)=\"openDownload(layer)\"\r\n>\r\n <mat-icon svgIcon=\"download\"></mat-icon>\r\n</button>\r\n" }]
55
+ }], ctorParameters: () => [{ type: i1.DownloadService }], propDecorators: { layer: [{
46
56
  type: Input
47
57
  }], color: [{
48
58
  type: Input
49
59
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2Rvd25sb2FkL2Rvd25sb2FkLWJ1dHRvbi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQtYnV0dG9uL2Rvd25sb2FkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQVE3RCxNQUFNLE9BQU8sdUJBQXVCO0lBbUJkO0lBbEJwQixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQVk7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNPLE1BQU0sQ0FBUTtJQUV0QixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNPLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFFM0IsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQztJQUV4RCxZQUFZLENBQUMsS0FBWTtRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO3dHQTlCVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qix1R0NacEMsbWFBZUE7OzRGREhhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTTtzR0FJM0MsS0FBSztzQkFEUixLQUFLO2dCQVVGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xyXG5pbXBvcnQgeyBEb3dubG9hZERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2Rvd25sb2FkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IERvd25sb2FkU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9kb3dubG9hZC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWRvd25sb2FkLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvd25sb2FkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIERvd25sb2FkQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBsYXllcigpOiBMYXllciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGF5ZXI7XHJcbiAgfVxyXG4gIHNldCBsYXllcih2YWx1ZTogTGF5ZXIpIHtcclxuICAgIHRoaXMuX2xheWVyID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xheWVyOiBMYXllcjtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgY29sb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XHJcbiAgfVxyXG4gIHNldCBjb2xvcih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xvciA9ICdwcmltYXJ5JztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkb3dubG9hZFNlcnZpY2U6IERvd25sb2FkU2VydmljZSkge31cclxuXHJcbiAgb3BlbkRvd25sb2FkKGxheWVyOiBMYXllcikge1xyXG4gICAgdGhpcy5kb3dubG9hZFNlcnZpY2Uub3BlbihsYXllcik7XHJcbiAgfVxyXG5cclxuICBnZXQgb3B0aW9ucygpOiBEb3dubG9hZERhdGFTb3VyY2VPcHRpb25zIHtcclxuICAgIGlmICghdGhpcy5sYXllcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnM7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICAqbmdJZj1cIlxyXG4gICAgb3B0aW9ucyAmJlxyXG4gICAgb3B0aW9ucy5kb3dubG9hZCAmJlxyXG4gICAgKG9wdGlvbnMuZG93bmxvYWRbJ2R5bmFtaWNVcmwnXSB8fCBvcHRpb25zLmRvd25sb2FkWyd1cmwnXSlcclxuICBcIlxyXG4gIG1hdC1pY29uLWJ1dHRvblxyXG4gIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZG93bmxvYWQuYWN0aW9uJyB8IHRyYW5zbGF0ZVwiXHJcbiAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAoY2xpY2spPVwib3BlbkRvd25sb2FkKGxheWVyKVwiXHJcbj5cclxuICA8bWF0LWljb24gc3ZnSWNvbj1cImRvd25sb2FkXCI+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2Rvd25sb2FkL2Rvd25sb2FkLWJ1dHRvbi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQtYnV0dG9uL2Rvd25sb2FkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQWdCN0QsTUFBTSxPQUFPLHVCQUF1QjtJQW1CZDtJQWxCcEIsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFZO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTyxNQUFNLENBQVE7SUFFdEIsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTyxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBRTNCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQsWUFBWSxDQUFDLEtBQVk7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNULENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO3VHQTlCVSx1QkFBdUI7MkZBQXZCLHVCQUF1QiwySEMxQnBDLG1hQWVBLDBERElJLElBQUksNEZBQ0osZUFBZSwySUFDZixnQkFBZ0IsNFRBQ2hCLGFBQWEsbUxBQ2IsZUFBZTs7MkZBR04sdUJBQXVCO2tCQWRuQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7cUJBQ2hCO29GQUlHLEtBQUs7c0JBRFIsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XHJcbmltcG9ydCB7IERvd25sb2FkRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvZG93bmxvYWQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRG93bmxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Rvd25sb2FkLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZG93bmxvYWQtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERvd25sb2FkQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBsYXllcigpOiBMYXllciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGF5ZXI7XHJcbiAgfVxyXG4gIHNldCBsYXllcih2YWx1ZTogTGF5ZXIpIHtcclxuICAgIHRoaXMuX2xheWVyID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xheWVyOiBMYXllcjtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgY29sb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XHJcbiAgfVxyXG4gIHNldCBjb2xvcih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xvciA9ICdwcmltYXJ5JztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkb3dubG9hZFNlcnZpY2U6IERvd25sb2FkU2VydmljZSkge31cclxuXHJcbiAgb3BlbkRvd25sb2FkKGxheWVyOiBMYXllcikge1xyXG4gICAgdGhpcy5kb3dubG9hZFNlcnZpY2Uub3BlbihsYXllcik7XHJcbiAgfVxyXG5cclxuICBnZXQgb3B0aW9ucygpOiBEb3dubG9hZERhdGFTb3VyY2VPcHRpb25zIHtcclxuICAgIGlmICghdGhpcy5sYXllcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5sYXllci5kYXRhU291cmNlLm9wdGlvbnM7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICAqbmdJZj1cIlxyXG4gICAgb3B0aW9ucyAmJlxyXG4gICAgb3B0aW9ucy5kb3dubG9hZCAmJlxyXG4gICAgKG9wdGlvbnMuZG93bmxvYWRbJ2R5bmFtaWNVcmwnXSB8fCBvcHRpb25zLmRvd25sb2FkWyd1cmwnXSlcclxuICBcIlxyXG4gIG1hdC1pY29uLWJ1dHRvblxyXG4gIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZG93bmxvYWQuYWN0aW9uJyB8IHRyYW5zbGF0ZVwiXHJcbiAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAoY2xpY2spPVwib3BlbkRvd25sb2FkKGxheWVyKVwiXHJcbj5cclxuICA8bWF0LWljb24gc3ZnSWNvbj1cImRvd25sb2FkXCI+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export * from './download-button.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9kb3dubG9hZC1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudCc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9kb3dubG9hZC1idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -1,41 +1,24 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import { NgModule } from '@angular/core';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatTooltipModule } from '@angular/material/tooltip';
6
- import { IgoLanguageModule } from '@igo2/core';
7
2
  import { DownloadButtonComponent } from './download-button/download-button.component';
8
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * @deprecated import the DownloadButtonComponent directly
6
+ */
9
7
  export class IgoDownloadModule {
10
8
  static forRoot() {
11
9
  return {
12
10
  ngModule: IgoDownloadModule
13
11
  };
14
12
  }
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoDownloadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: IgoDownloadModule, declarations: [DownloadButtonComponent], imports: [CommonModule,
17
- MatIconModule,
18
- MatButtonModule,
19
- MatTooltipModule,
20
- IgoLanguageModule], exports: [DownloadButtonComponent] });
21
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoDownloadModule, imports: [CommonModule,
22
- MatIconModule,
23
- MatButtonModule,
24
- MatTooltipModule,
25
- IgoLanguageModule] });
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoDownloadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: IgoDownloadModule, imports: [DownloadButtonComponent], exports: [DownloadButtonComponent] });
15
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoDownloadModule, imports: [DownloadButtonComponent] });
26
16
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoDownloadModule, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoDownloadModule, decorators: [{
28
18
  type: NgModule,
29
19
  args: [{
30
- imports: [
31
- CommonModule,
32
- MatIconModule,
33
- MatButtonModule,
34
- MatTooltipModule,
35
- IgoLanguageModule
36
- ],
37
- exports: [DownloadButtonComponent],
38
- declarations: [DownloadButtonComponent]
20
+ imports: [DownloadButtonComponent],
21
+ exports: [DownloadButtonComponent]
39
22
  }]
40
23
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFhdEYsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1NBQzVCLENBQUM7SUFDSixDQUFDO3dHQUxVLGlCQUFpQjt5R0FBakIsaUJBQWlCLGlCQUZiLHVCQUF1QixhQVBwQyxZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsaUJBQWlCLGFBRVQsdUJBQXVCO3lHQUd0QixpQkFBaUIsWUFUMUIsWUFBWTtZQUNaLGFBQWE7WUFDYixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGlCQUFpQjs7NEZBS1IsaUJBQWlCO2tCQVg3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ2xDLFlBQVksRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IERvd25sb2FkQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9kb3dubG9hZC1idXR0b24vZG93bmxvYWQtYnV0dG9uLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtEb3dubG9hZEJ1dHRvbkNvbXBvbmVudF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbRG93bmxvYWRCdXR0b25Db21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29Eb3dubG9hZE1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29Eb3dubG9hZE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb0Rvd25sb2FkTW9kdWxlXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQUV0Rjs7R0FFRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtTQUM1QixDQUFDO0lBQ0osQ0FBQzt1R0FMVSxpQkFBaUI7d0dBQWpCLGlCQUFpQixZQUhsQix1QkFBdUIsYUFDdkIsdUJBQXVCO3dHQUV0QixpQkFBaUIsWUFIbEIsdUJBQXVCOzsyRkFHdEIsaUJBQWlCO2tCQUo3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRG93bmxvYWRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2Rvd25sb2FkLWJ1dHRvbi9kb3dubG9hZC1idXR0b24uY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIERvd25sb2FkQnV0dG9uQ29tcG9uZW50IGRpcmVjdGx5XHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtEb3dubG9hZEJ1dHRvbkNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0Rvd25sb2FkQnV0dG9uQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvRG93bmxvYWRNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvRG93bmxvYWRNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29Eb3dubG9hZE1vZHVsZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,3 +1,3 @@
1
1
  export * from './shared';
2
2
  export * from './download-button';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZC1idXR0b24nO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Rvd25sb2FkLWJ1dHRvbic7XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvc2hhcmVkL2Rvd25sb2FkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0Rm9ybWF0IH0gZnJvbSAnLi4vLi4vaW1wb3J0LWV4cG9ydC9zaGFyZWQvZXhwb3J0LnR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkT3B0aW9ucyB7XG4gIHVybDogc3RyaW5nO1xuICBkeW5hbWljVXJsPzogc3RyaW5nO1xuICBleHRlcm4/OiBib29sZWFuO1xuICBhbGxvd2VkRm9ybWF0cz86IEV4cG9ydEZvcm1hdFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRGF0YVNvdXJjZU9wdGlvbnMge1xuICBkb3dubG9hZD86IERvd25sb2FkT3B0aW9ucztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZG93bmxvYWQvc2hhcmVkL2Rvd25sb2FkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0Rm9ybWF0IH0gZnJvbSAnLi4vLi4vaW1wb3J0LWV4cG9ydC9zaGFyZWQvZXhwb3J0LnR5cGUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZE9wdGlvbnMge1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGR5bmFtaWNVcmw/OiBzdHJpbmc7XHJcbiAgZXh0ZXJuPzogYm9vbGVhbjtcclxuICBhbGxvd2VkRm9ybWF0cz86IEV4cG9ydEZvcm1hdFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkRGF0YVNvdXJjZU9wdGlvbnMge1xyXG4gIGRvd25sb2FkPzogRG93bmxvYWRPcHRpb25zO1xyXG59XHJcbiJdfQ==
@@ -55,13 +55,13 @@ export class DownloadService {
55
55
  }
56
56
  }
57
57
  }
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DownloadService, deps: [{ token: i1.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
59
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DownloadService, providedIn: 'root' });
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DownloadService, deps: [{ token: i1.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DownloadService, providedIn: 'root' });
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DownloadService, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DownloadService, decorators: [{
62
62
  type: Injectable,
63
63
  args: [{
64
64
  providedIn: 'root'
65
65
  }]
66
- }], ctorParameters: function () { return [{ type: i1.MessageService }]; } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2Rvd25sb2FkL3NoYXJlZC9kb3dubG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1QyxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUc5QyxPQUFPLEVBQ0wsZUFBZSxFQUVoQixNQUFNLHFCQUFxQixDQUFDOzs7QUFNN0IsTUFBTSxPQUFPLGVBQWU7SUFDTjtJQUFwQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRXRELElBQUksQ0FBQyxLQUFZO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQ3pCLHdCQUF3QixFQUN4Qix3QkFBd0IsQ0FDekIsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUFzQixLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUM5RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDOUMsSUFDRSxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVU7Z0JBQzdCLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFDcEM7Z0JBQ0EsSUFBSSxVQUFVLENBQUM7Z0JBQ2YsSUFBSSxXQUFXLEdBQUcsSUFBSSxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRSxNQUFNLFNBQVMsR0FBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQWUsQ0FBQyxTQUFTLENBQUM7Z0JBQzlELElBQUksU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDbEQsV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPO3dCQUM3QixDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUMvQyxDQUFDLENBQUMsV0FBVyxDQUFDO29CQUNoQixVQUFVLEdBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFlLENBQUMsU0FBUyxDQUFDO2lCQUMxRDtxQkFBTTtvQkFDTCxVQUFVLEdBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFlLENBQUMsTUFBTSxDQUFDO2lCQUN2RDtnQkFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUMxQyxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsRUFDcEMsSUFBSSxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUNoRCxXQUFXLENBQ1osQ0FBQztnQkFDRixNQUFNLG9CQUFvQixHQUN4QixVQUFVLENBQUMsb0JBQW9CLEtBQUssU0FBUztvQkFDM0MsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEtBQUssU0FBUzt3QkFDckMsQ0FBQyxDQUFDLEVBQUU7d0JBQ0osQ0FBQyxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsWUFBWTtvQkFDN0MsQ0FBQyxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQUM7Z0JBRXhELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVTtxQkFDMUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsQ0FBQztxQkFDckMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztxQkFDL0IsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUVqQyxNQUFNLFVBQVUsR0FDZCxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQ2xCLENBQUMsVUFBVSxDQUFDO2dCQUViLElBQUksaUJBQWlCLENBQUM7Z0JBQ3RCLGlCQUFpQixHQUFHLElBQUksZUFBZSxFQUFFLENBQUMsNEJBQTRCLENBQ3BFLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUN4QixVQUFVLENBQUMsWUFBWSxFQUN2QixhQUFpRCxFQUNqRCxXQUFXLENBQ1osQ0FBQztnQkFDRixJQUFJLENBQUMsaUJBQWlCLEVBQUU7b0JBQ3RCLG9EQUFvRDtvQkFDcEQsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQyxXQUFXLENBQ25ELFNBQVMsRUFDVCxhQUFpRCxFQUNqRCxXQUFXLEVBQ1gsVUFBVSxDQUFDLFlBQVksQ0FDeEIsQ0FBQztpQkFDSDtxQkFBTTtvQkFDTCxpQkFBaUIsR0FBRyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztpQkFDdkU7Z0JBQ0QsTUFBTSxDQUFDLElBQUksQ0FDVCxHQUFHLE9BQU8sSUFBSSxpQkFBaUIsSUFBSSxvQkFBb0IsRUFBRSxFQUN6RCxRQUFRLENBQ1QsQ0FBQzthQUNIO2lCQUFNLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRTtnQkFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQzthQUMvQztTQUNGO0lBQ0gsQ0FBQzt3R0ExRVUsZUFBZTs0R0FBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xyXG5pbXBvcnQgb2xQcm9qZWN0aW9uIGZyb20gJ29sL3Byb2ovUHJvamVjdGlvbic7XHJcblxyXG5pbXBvcnQgeyBEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtcclxuICBPZ2NGaWx0ZXJXcml0ZXIsXHJcbiAgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zXHJcbn0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZCc7XHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb3dubG9hZFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7fVxyXG5cclxuICBvcGVuKGxheWVyOiBMYXllcikge1xyXG4gICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKFxyXG4gICAgICAnaWdvLmdlby5kb3dubG9hZC5zdGFydCcsXHJcbiAgICAgICdpZ28uZ2VvLmRvd25sb2FkLnRpdGxlJ1xyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBEU09wdGlvbnM6IERhdGFTb3VyY2VPcHRpb25zID0gbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zO1xyXG4gICAgaWYgKE9iamVjdC5rZXlzKERTT3B0aW9ucy5kb3dubG9hZCkubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgRFNPcHRpb25zLmRvd25sb2FkLmR5bmFtaWNVcmwgJiZcclxuICAgICAgICBEU09wdGlvbnMuZG93bmxvYWQudXJsID09PSB1bmRlZmluZWRcclxuICAgICAgKSB7XHJcbiAgICAgICAgbGV0IHdmc09wdGlvbnM7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRQcm9qID0gbmV3IG9sUHJvamVjdGlvbih7IGNvZGU6IGxheWVyLm1hcC5wcm9qZWN0aW9uIH0pO1xyXG4gICAgICAgIGNvbnN0IHBhcmFtc1dGUyA9IChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS5wYXJhbXNXRlM7XHJcbiAgICAgICAgaWYgKHBhcmFtc1dGUyAmJiBPYmplY3Qua2V5cyhwYXJhbXNXRlMpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGN1cnJlbnRQcm9qID0gcGFyYW1zV0ZTLnNyc05hbWVcclxuICAgICAgICAgICAgPyBuZXcgb2xQcm9qZWN0aW9uKHsgY29kZTogcGFyYW1zV0ZTLnNyc05hbWUgfSlcclxuICAgICAgICAgICAgOiBjdXJyZW50UHJvajtcclxuICAgICAgICAgIHdmc09wdGlvbnMgPSAobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkucGFyYW1zV0ZTO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB3ZnNPcHRpb25zID0gKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnBhcmFtcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRFeHRlbnQgPSBvbHByb2oudHJhbnNmb3JtRXh0ZW50KFxyXG4gICAgICAgICAgbGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLmdldEV4dGVudCgpLFxyXG4gICAgICAgICAgbmV3IG9sUHJvamVjdGlvbih7IGNvZGU6IGxheWVyLm1hcC5wcm9qZWN0aW9uIH0pLFxyXG4gICAgICAgICAgY3VycmVudFByb2pcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IG91dHB1dEZvcm1hdERvd25sb2FkID1cclxuICAgICAgICAgIHdmc09wdGlvbnMub3V0cHV0Rm9ybWF0RG93bmxvYWQgPT09IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICA/IHdmc09wdGlvbnMub3V0cHV0Rm9ybWF0ID09PSB1bmRlZmluZWRcclxuICAgICAgICAgICAgICA/ICcnXHJcbiAgICAgICAgICAgICAgOiAnb3V0cHV0Zm9ybWF0PScgKyB3ZnNPcHRpb25zLm91dHB1dEZvcm1hdFxyXG4gICAgICAgICAgICA6ICdvdXRwdXRmb3JtYXQ9JyArIHdmc09wdGlvbnMub3V0cHV0Rm9ybWF0RG93bmxvYWQ7XHJcblxyXG4gICAgICAgIGNvbnN0IGJhc2V1cmwgPSBEU09wdGlvbnMuZG93bmxvYWQuZHluYW1pY1VybFxyXG4gICAgICAgICAgLnJlcGxhY2UoLyY/b3V0cHV0Zm9ybWF0PVteJl0qL2dpLCAnJylcclxuICAgICAgICAgIC5yZXBsYWNlKC8mP2ZpbHRlcj1bXiZdKi9naSwgJycpXHJcbiAgICAgICAgICAucmVwbGFjZSgvJj9iYm94PVteJl0qL2dpLCAnJyk7XHJcblxyXG4gICAgICAgIGNvbnN0IG9nY0ZpbHRlcnMgPSAoXHJcbiAgICAgICAgICBsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zXHJcbiAgICAgICAgKS5vZ2NGaWx0ZXJzO1xyXG5cclxuICAgICAgICBsZXQgZmlsdGVyUXVlcnlTdHJpbmc7XHJcbiAgICAgICAgZmlsdGVyUXVlcnlTdHJpbmcgPSBuZXcgT2djRmlsdGVyV3JpdGVyKCkuaGFuZGxlT2djRmlsdGVyc0FwcGxpZWRWYWx1ZShcclxuICAgICAgICAgIGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyxcclxuICAgICAgICAgIG9nY0ZpbHRlcnMuZ2VvbWV0cnlOYW1lLFxyXG4gICAgICAgICAgY3VycmVudEV4dGVudCBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcclxuICAgICAgICAgIGN1cnJlbnRQcm9qXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAoIWZpbHRlclF1ZXJ5U3RyaW5nKSB7XHJcbiAgICAgICAgICAvLyBQcmV2ZW50IGdldHRpbmcgYWxsIHRoZSBmZWF0dXJlcyBmb3IgZW1wdHkgZmlsdGVyXHJcbiAgICAgICAgICBmaWx0ZXJRdWVyeVN0cmluZyA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKS5idWlsZEZpbHRlcihcclxuICAgICAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICBjdXJyZW50RXh0ZW50IGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgICAgICAgICBjdXJyZW50UHJvaixcclxuICAgICAgICAgICAgb2djRmlsdGVycy5nZW9tZXRyeU5hbWVcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGZpbHRlclF1ZXJ5U3RyaW5nID0gJ2ZpbHRlcj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlclF1ZXJ5U3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2luZG93Lm9wZW4oXHJcbiAgICAgICAgICBgJHtiYXNldXJsfSYke2ZpbHRlclF1ZXJ5U3RyaW5nfSYke291dHB1dEZvcm1hdERvd25sb2FkfWAsXHJcbiAgICAgICAgICAnX2JsYW5rJ1xyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSBpZiAoRFNPcHRpb25zLmRvd25sb2FkKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oRFNPcHRpb25zLmRvd25sb2FkLnVybCwgJ19ibGFuaycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
66
+ }], ctorParameters: () => [{ type: i1.MessageService }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2Rvd25sb2FkL3NoYXJlZC9kb3dubG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1QyxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUc5QyxPQUFPLEVBQ0wsZUFBZSxFQUVoQixNQUFNLHFCQUFxQixDQUFDOzs7QUFNN0IsTUFBTSxPQUFPLGVBQWU7SUFDTjtJQUFwQixZQUFvQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRXRELElBQUksQ0FBQyxLQUFZO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQ3pCLHdCQUF3QixFQUN4Qix3QkFBd0IsQ0FDekIsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUFzQixLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUM5RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxJQUNFLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVTtnQkFDN0IsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUNwQyxDQUFDO2dCQUNELElBQUksVUFBVSxDQUFDO2dCQUNmLElBQUksV0FBVyxHQUFHLElBQUksWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDbkUsTUFBTSxTQUFTLEdBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFlLENBQUMsU0FBUyxDQUFDO2dCQUM5RCxJQUFJLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDbkQsV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPO3dCQUM3QixDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUMvQyxDQUFDLENBQUMsV0FBVyxDQUFDO29CQUNoQixVQUFVLEdBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFlLENBQUMsU0FBUyxDQUFDO2dCQUMzRCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sVUFBVSxHQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZSxDQUFDLE1BQU0sQ0FBQztnQkFDeEQsQ0FBQztnQkFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUMxQyxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsRUFDcEMsSUFBSSxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUNoRCxXQUFXLENBQ1osQ0FBQztnQkFDRixNQUFNLG9CQUFvQixHQUN4QixVQUFVLENBQUMsb0JBQW9CLEtBQUssU0FBUztvQkFDM0MsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEtBQUssU0FBUzt3QkFDckMsQ0FBQyxDQUFDLEVBQUU7d0JBQ0osQ0FBQyxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsWUFBWTtvQkFDN0MsQ0FBQyxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQUM7Z0JBRXhELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVTtxQkFDMUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsQ0FBQztxQkFDckMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztxQkFDL0IsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUVqQyxNQUFNLFVBQVUsR0FDZCxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQ2xCLENBQUMsVUFBVSxDQUFDO2dCQUViLElBQUksaUJBQWlCLENBQUM7Z0JBQ3RCLGlCQUFpQixHQUFHLElBQUksZUFBZSxFQUFFLENBQUMsNEJBQTRCLENBQ3BFLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUN4QixVQUFVLENBQUMsWUFBWSxFQUN2QixhQUFpRCxFQUNqRCxXQUFXLENBQ1osQ0FBQztnQkFDRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztvQkFDdkIsb0RBQW9EO29CQUNwRCxpQkFBaUIsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDLFdBQVcsQ0FDbkQsU0FBUyxFQUNULGFBQWlELEVBQ2pELFdBQVcsRUFDWCxVQUFVLENBQUMsWUFBWSxDQUN4QixDQUFDO2dCQUNKLENBQUM7cUJBQU0sQ0FBQztvQkFDTixpQkFBaUIsR0FBRyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDeEUsQ0FBQztnQkFDRCxNQUFNLENBQUMsSUFBSSxDQUNULEdBQUcsT0FBTyxJQUFJLGlCQUFpQixJQUFJLG9CQUFvQixFQUFFLEVBQ3pELFFBQVEsQ0FDVCxDQUFDO1lBQ0osQ0FBQztpQkFBTSxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNoRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7dUdBMUVVLGVBQWU7MkdBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcclxuaW1wb3J0IG9sUHJvamVjdGlvbiBmcm9tICdvbC9wcm9qL1Byb2plY3Rpb24nO1xyXG5cclxuaW1wb3J0IHsgRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7XHJcbiAgT2djRmlsdGVyV3JpdGVyLFxyXG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9uc1xyXG59IGZyb20gJy4uLy4uL2ZpbHRlci9zaGFyZWQnO1xyXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRG93bmxvYWRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkge31cclxuXHJcbiAgb3BlbihsYXllcjogTGF5ZXIpIHtcclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcclxuICAgICAgJ2lnby5nZW8uZG93bmxvYWQuc3RhcnQnLFxyXG4gICAgICAnaWdvLmdlby5kb3dubG9hZC50aXRsZSdcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgRFNPcHRpb25zOiBEYXRhU291cmNlT3B0aW9ucyA9IGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucztcclxuICAgIGlmIChPYmplY3Qua2V5cyhEU09wdGlvbnMuZG93bmxvYWQpLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIERTT3B0aW9ucy5kb3dubG9hZC5keW5hbWljVXJsICYmXHJcbiAgICAgICAgRFNPcHRpb25zLmRvd25sb2FkLnVybCA9PT0gdW5kZWZpbmVkXHJcbiAgICAgICkge1xyXG4gICAgICAgIGxldCB3ZnNPcHRpb25zO1xyXG4gICAgICAgIGxldCBjdXJyZW50UHJvaiA9IG5ldyBvbFByb2plY3Rpb24oeyBjb2RlOiBsYXllci5tYXAucHJvamVjdGlvbiB9KTtcclxuICAgICAgICBjb25zdCBwYXJhbXNXRlMgPSAobGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIGFueSkucGFyYW1zV0ZTO1xyXG4gICAgICAgIGlmIChwYXJhbXNXRlMgJiYgT2JqZWN0LmtleXMocGFyYW1zV0ZTKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBjdXJyZW50UHJvaiA9IHBhcmFtc1dGUy5zcnNOYW1lXHJcbiAgICAgICAgICAgID8gbmV3IG9sUHJvamVjdGlvbih7IGNvZGU6IHBhcmFtc1dGUy5zcnNOYW1lIH0pXHJcbiAgICAgICAgICAgIDogY3VycmVudFByb2o7XHJcbiAgICAgICAgICB3ZnNPcHRpb25zID0gKGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucyBhcyBhbnkpLnBhcmFtc1dGUztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgd2ZzT3B0aW9ucyA9IChsYXllci5kYXRhU291cmNlLm9wdGlvbnMgYXMgYW55KS5wYXJhbXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjdXJyZW50RXh0ZW50ID0gb2xwcm9qLnRyYW5zZm9ybUV4dGVudChcclxuICAgICAgICAgIGxheWVyLm1hcC52aWV3Q29udHJvbGxlci5nZXRFeHRlbnQoKSxcclxuICAgICAgICAgIG5ldyBvbFByb2plY3Rpb24oeyBjb2RlOiBsYXllci5tYXAucHJvamVjdGlvbiB9KSxcclxuICAgICAgICAgIGN1cnJlbnRQcm9qXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBvdXRwdXRGb3JtYXREb3dubG9hZCA9XHJcbiAgICAgICAgICB3ZnNPcHRpb25zLm91dHB1dEZvcm1hdERvd25sb2FkID09PSB1bmRlZmluZWRcclxuICAgICAgICAgICAgPyB3ZnNPcHRpb25zLm91dHB1dEZvcm1hdCA9PT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICAgPyAnJ1xyXG4gICAgICAgICAgICAgIDogJ291dHB1dGZvcm1hdD0nICsgd2ZzT3B0aW9ucy5vdXRwdXRGb3JtYXRcclxuICAgICAgICAgICAgOiAnb3V0cHV0Zm9ybWF0PScgKyB3ZnNPcHRpb25zLm91dHB1dEZvcm1hdERvd25sb2FkO1xyXG5cclxuICAgICAgICBjb25zdCBiYXNldXJsID0gRFNPcHRpb25zLmRvd25sb2FkLmR5bmFtaWNVcmxcclxuICAgICAgICAgIC5yZXBsYWNlKC8mP291dHB1dGZvcm1hdD1bXiZdKi9naSwgJycpXHJcbiAgICAgICAgICAucmVwbGFjZSgvJj9maWx0ZXI9W14mXSovZ2ksICcnKVxyXG4gICAgICAgICAgLnJlcGxhY2UoLyY/YmJveD1bXiZdKi9naSwgJycpO1xyXG5cclxuICAgICAgICBjb25zdCBvZ2NGaWx0ZXJzID0gKFxyXG4gICAgICAgICAgbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9uc1xyXG4gICAgICAgICkub2djRmlsdGVycztcclxuXHJcbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5U3RyaW5nO1xyXG4gICAgICAgIGZpbHRlclF1ZXJ5U3RyaW5nID0gbmV3IE9nY0ZpbHRlcldyaXRlcigpLmhhbmRsZU9nY0ZpbHRlcnNBcHBsaWVkVmFsdWUoXHJcbiAgICAgICAgICBsYXllci5kYXRhU291cmNlLm9wdGlvbnMsXHJcbiAgICAgICAgICBvZ2NGaWx0ZXJzLmdlb21ldHJ5TmFtZSxcclxuICAgICAgICAgIGN1cnJlbnRFeHRlbnQgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXHJcbiAgICAgICAgICBjdXJyZW50UHJvalxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKCFmaWx0ZXJRdWVyeVN0cmluZykge1xyXG4gICAgICAgICAgLy8gUHJldmVudCBnZXR0aW5nIGFsbCB0aGUgZmVhdHVyZXMgZm9yIGVtcHR5IGZpbHRlclxyXG4gICAgICAgICAgZmlsdGVyUXVlcnlTdHJpbmcgPSBuZXcgT2djRmlsdGVyV3JpdGVyKCkuYnVpbGRGaWx0ZXIoXHJcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgY3VycmVudEV4dGVudCBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcclxuICAgICAgICAgICAgY3VycmVudFByb2osXHJcbiAgICAgICAgICAgIG9nY0ZpbHRlcnMuZ2VvbWV0cnlOYW1lXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmaWx0ZXJRdWVyeVN0cmluZyA9ICdmaWx0ZXI9JyArIGVuY29kZVVSSUNvbXBvbmVudChmaWx0ZXJRdWVyeVN0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpbmRvdy5vcGVuKFxyXG4gICAgICAgICAgYCR7YmFzZXVybH0mJHtmaWx0ZXJRdWVyeVN0cmluZ30mJHtvdXRwdXRGb3JtYXREb3dubG9hZH1gLFxyXG4gICAgICAgICAgJ19ibGFuaydcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2UgaWYgKERTT3B0aW9ucy5kb3dubG9hZCkge1xyXG4gICAgICAgIHdpbmRvdy5vcGVuKERTT3B0aW9ucy5kb3dubG9hZC51cmwsICdfYmxhbmsnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export * from './download.service';
2
2
  export * from './download.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZG93bmxvYWQuaW50ZXJmYWNlJztcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kb3dubG9hZC9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kb3dubG9hZC5pbnRlcmZhY2UnO1xyXG4iXX0=
@@ -1,10 +1,14 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { MatDialogRef } from '@angular/material/dialog';
2
+ import { MatButtonModule } from '@angular/material/button';
3
+ import { MatDialogActions, MatDialogContent, MatDialogRef } from '@angular/material/dialog';
4
+ import { MatFormFieldModule } from '@angular/material/form-field';
5
+ import { MatInputModule } from '@angular/material/input';
6
+ import { TranslateModule } from '@ngx-translate/core';
3
7
  import * as i0 from "@angular/core";
4
8
  import * as i1 from "@angular/material/dialog";
5
- import * as i2 from "@angular/material/button";
6
- import * as i3 from "@angular/material/form-field";
7
- import * as i4 from "@angular/material/input";
9
+ import * as i2 from "@angular/material/form-field";
10
+ import * as i3 from "@angular/material/input";
11
+ import * as i4 from "@angular/material/button";
8
12
  import * as i5 from "@ngx-translate/core";
9
13
  export class DrawLayerPopupComponent {
10
14
  dialogRef;
@@ -19,13 +23,20 @@ export class DrawLayerPopupComponent {
19
23
  this.confirmFlag = true;
20
24
  this.dialogRef.close(labelString);
21
25
  }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawLayerPopupComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrawLayerPopupComponent, selector: "igo-draw-popup-component", inputs: { confirmFlag: "confirmFlag" }, ngImport: i0, template: "<div mat-dialog-content>\r\n <p class=\"mat-typography\">\r\n {{ 'igo.geo.draw.layer.layerDialogInstruction' | translate }}\r\n </p>\r\n <mat-form-field class=\"example-full-width\">\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"{{ 'igo.geo.draw.layer.title' | translate }}\"\r\n />\r\n </mat-form-field>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-raised-button (click)=\"cancelDrawing()\">\r\n {{ 'igo.geo.draw.cancel' | translate }}\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\r\n OK\r\n </button>\r\n</div>\r\n", styles: [":host .fields-container{display:flex}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DrawLayerPopupComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: DrawLayerPopupComponent, isStandalone: true, selector: "igo-draw-popup-component", inputs: { confirmFlag: "confirmFlag" }, ngImport: i0, template: "<div mat-dialog-content>\r\n <p class=\"mat-typography\">\r\n {{ 'igo.geo.draw.layer.layerDialogInstruction' | translate }}\r\n </p>\r\n <mat-form-field class=\"example-full-width\">\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"{{ 'igo.geo.draw.layer.title' | translate }}\"\r\n />\r\n </mat-form-field>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-raised-button (click)=\"cancelDrawing()\">\r\n {{ 'igo.geo.draw.cancel' | translate }}\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\r\n OK\r\n </button>\r\n</div>\r\n", styles: [":host .fields-container{display:flex}\n"], dependencies: [{ kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
24
28
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawLayerPopupComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: DrawLayerPopupComponent, decorators: [{
26
30
  type: Component,
27
- args: [{ selector: 'igo-draw-popup-component', template: "<div mat-dialog-content>\r\n <p class=\"mat-typography\">\r\n {{ 'igo.geo.draw.layer.layerDialogInstruction' | translate }}\r\n </p>\r\n <mat-form-field class=\"example-full-width\">\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"{{ 'igo.geo.draw.layer.title' | translate }}\"\r\n />\r\n </mat-form-field>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-raised-button (click)=\"cancelDrawing()\">\r\n {{ 'igo.geo.draw.cancel' | translate }}\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\r\n OK\r\n </button>\r\n</div>\r\n", styles: [":host .fields-container{display:flex}\n"] }]
28
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }]; }, propDecorators: { confirmFlag: [{
31
+ args: [{ selector: 'igo-draw-popup-component', standalone: true, imports: [
32
+ MatDialogContent,
33
+ MatFormFieldModule,
34
+ MatInputModule,
35
+ MatDialogActions,
36
+ MatButtonModule,
37
+ TranslateModule
38
+ ], template: "<div mat-dialog-content>\r\n <p class=\"mat-typography\">\r\n {{ 'igo.geo.draw.layer.layerDialogInstruction' | translate }}\r\n </p>\r\n <mat-form-field class=\"example-full-width\">\r\n <input\r\n #input\r\n matInput\r\n placeholder=\"{{ 'igo.geo.draw.layer.title' | translate }}\"\r\n />\r\n </mat-form-field>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-raised-button (click)=\"cancelDrawing()\">\r\n {{ 'igo.geo.draw.cancel' | translate }}\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\r\n OK\r\n </button>\r\n</div>\r\n", styles: [":host .fields-container{display:flex}\n"] }]
39
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }], propDecorators: { confirmFlag: [{
29
40
  type: Input
30
41
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1sYXllci1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1sYXllci1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1sYXllci1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFXeEQsTUFBTSxPQUFPLHVCQUF1QjtJQUdmO0lBRlYsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUV0QyxZQUFtQixTQUFnRDtRQUFoRCxjQUFTLEdBQVQsU0FBUyxDQUF1QztJQUFHLENBQUM7SUFFdkUsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNELE9BQU8sQ0FBQyxXQUFtQjtRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dHQVhVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLHdHQ1pwQywrbUJBb0JBOzs0RkRSYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UsMEJBQTBCO21HQUszQixXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEYXRhIHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1kcmF3LXBvcHVwLWNvbXBvbmVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXctbGF5ZXItcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RyYXctbGF5ZXItcG9wdXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhd0xheWVyUG9wdXBDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGNvbmZpcm1GbGFnOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEcmF3TGF5ZXJQb3B1cENvbXBvbmVudD4pIHt9XHJcblxyXG4gIGNhbmNlbERyYXdpbmcoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuICBjb25maXJtKGxhYmVsU3RyaW5nOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29uZmlybUZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UobGFiZWxTdHJpbmcpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8cCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICB7eyAnaWdvLmdlby5kcmF3LmxheWVyLmxheWVyRGlhbG9nSW5zdHJ1Y3Rpb24nIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9wPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImV4YW1wbGUtZnVsbC13aWR0aFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgICNpbnB1dFxyXG4gICAgICBtYXRJbnB1dFxyXG4gICAgICBwbGFjZWhvbGRlcj1cInt7ICdpZ28uZ2VvLmRyYXcubGF5ZXIudGl0bGUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgIC8+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9kaXY+XHJcbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbERyYXdpbmcoKVwiPlxyXG4gICAge3sgJ2lnby5nZW8uZHJhdy5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY29uZmlybShpbnB1dC52YWx1ZSlcIj5cclxuICAgIE9LXHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1sYXllci1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1sYXllci1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kcmF3L2RyYXcvZHJhdy1sYXllci1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNiLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQW9CdEQsTUFBTSxPQUFPLHVCQUF1QjtJQUdmO0lBRlYsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUV0QyxZQUFtQixTQUFnRDtRQUFoRCxjQUFTLEdBQVQsU0FBUyxDQUF1QztJQUFHLENBQUM7SUFFdkUsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNELE9BQU8sQ0FBQyxXQUFtQjtRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQyxDQUFDO3VHQVhVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLDRIQzlCcEMsK21CQW9CQSxpR0RFSSxnQkFBZ0Isd0dBQ2hCLGtCQUFrQix5T0FDbEIsY0FBYywyV0FDZCxnQkFBZ0IsMkhBQ2hCLGVBQWUsMk5BQ2YsZUFBZTs7MkZBR04sdUJBQXVCO2tCQWRuQyxTQUFTOytCQUNFLDBCQUEwQixjQUd4QixJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCO2lGQUdRLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7XHJcbiAgTWF0RGlhbG9nQWN0aW9ucyxcclxuICBNYXREaWFsb2dDb250ZW50LFxyXG4gIE1hdERpYWxvZ1JlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEYXRhIHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1kcmF3LXBvcHVwLWNvbXBvbmVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXctbGF5ZXItcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RyYXctbGF5ZXItcG9wdXAuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdERpYWxvZ0FjdGlvbnMsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3TGF5ZXJQb3B1cENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY29uZmlybUZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERyYXdMYXllclBvcHVwQ29tcG9uZW50Pikge31cclxuXHJcbiAgY2FuY2VsRHJhd2luZygpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG4gIGNvbmZpcm0obGFiZWxTdHJpbmc6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb25maXJtRmxhZyA9IHRydWU7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShsYWJlbFN0cmluZyk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxwIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cclxuICAgIHt7ICdpZ28uZ2VvLmRyYXcubGF5ZXIubGF5ZXJEaWFsb2dJbnN0cnVjdGlvbicgfCB0cmFuc2xhdGUgfX1cclxuICA8L3A+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZXhhbXBsZS1mdWxsLXdpZHRoXCI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgI2lucHV0XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5nZW8uZHJhdy5sYXllci50aXRsZScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgLz5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L2Rpdj5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsRHJhd2luZygpXCI+XHJcbiAgICB7eyAnaWdvLmdlby5kcmF3LmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjb25maXJtKGlucHV0LnZhbHVlKVwiPlxyXG4gICAgT0tcclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==