@igo2/geo 17.0.0-next.5 → 17.0.0-next.7

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 (347) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +8 -6
  7. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +9 -8
  8. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +3 -2
  9. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
  10. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +6 -6
  11. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +36 -14
  12. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +5 -1
  13. package/esm2022/lib/catalog/catalog-library/index.mjs +2 -7
  14. package/esm2022/lib/catalog/catalog.module.mjs +13 -6
  15. package/esm2022/lib/catalog/index.mjs +2 -7
  16. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  17. package/esm2022/lib/catalog/shared/index.mjs +1 -1
  18. package/esm2022/lib/datasource/index.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  21. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  22. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  24. package/esm2022/lib/datasource/shared/datasources/index.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  29. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +5 -5
  30. package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
  31. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +5 -5
  32. package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
  33. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +5 -5
  34. package/esm2022/lib/directions/directions-results/index.mjs +1 -1
  35. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +5 -2
  36. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  37. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +8 -1
  38. package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
  39. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +67 -36
  40. package/esm2022/lib/directions/directions.component.mjs +72 -18
  41. package/esm2022/lib/directions/directions.module.mjs +4 -10
  42. package/esm2022/lib/directions/directions.provider.mjs +16 -0
  43. package/esm2022/lib/directions/index.mjs +2 -1
  44. package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
  45. package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
  46. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  47. package/esm2022/lib/directions/shared/directions.service.mjs +11 -19
  48. package/esm2022/lib/directions/shared/directions.utils.mjs +22 -22
  49. package/esm2022/lib/directions/shared/index.mjs +1 -1
  50. package/esm2022/lib/directions/shared/store.mjs +2 -2
  51. package/esm2022/lib/download/download-button/download-button.component.mjs +5 -5
  52. package/esm2022/lib/download/download-button/index.mjs +1 -1
  53. package/esm2022/lib/download/index.mjs +1 -1
  54. package/esm2022/lib/download/shared/download.interface.mjs +1 -1
  55. package/esm2022/lib/download/shared/index.mjs +1 -1
  56. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +4 -4
  57. package/esm2022/lib/draw/draw/draw-popup.component.mjs +4 -4
  58. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +8 -5
  59. package/esm2022/lib/draw/draw/draw.component.mjs +7 -7
  60. package/esm2022/lib/draw/index.mjs +1 -1
  61. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  62. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +7 -6
  63. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +10 -4
  64. package/esm2022/lib/feature/feature-details/index.mjs +2 -7
  65. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +3 -3
  66. package/esm2022/lib/feature/feature.module.mjs +13 -6
  67. package/esm2022/lib/feature/index.mjs +2 -7
  68. package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
  69. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  70. package/esm2022/lib/feature/shared/feature.utils.mjs +2 -2
  71. package/esm2022/lib/feature/shared/store.mjs +2 -2
  72. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +2 -2
  73. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +2 -2
  74. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +2 -2
  75. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +2 -2
  76. package/esm2022/lib/feature/shared/strategies/loading.mjs +2 -2
  77. package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
  78. package/esm2022/lib/feature/shared/strategies/selection.mjs +2 -2
  79. package/esm2022/lib/filter/filter.module.mjs +4 -4
  80. package/esm2022/lib/filter/index.mjs +2 -36
  81. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +6 -6
  82. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +5 -5
  83. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +7 -7
  84. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +7 -7
  85. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +19 -21
  86. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
  87. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +6 -6
  88. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +5 -5
  89. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  90. package/esm2022/lib/filter/shared/ogc-filter.mjs +46 -3
  91. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +6 -6
  92. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +5 -5
  93. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +6 -6
  94. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +6 -6
  95. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +10 -10
  96. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +6 -6
  97. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  98. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +1 -1
  99. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +6 -6
  100. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +5 -1
  101. package/esm2022/lib/geometry/geometry-form-field/index.mjs +3 -8
  102. package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
  103. package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
  104. package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
  105. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  106. package/esm2022/lib/geometry/shared/index.mjs +1 -1
  107. package/esm2022/lib/import-export/export-button/export-button.component.mjs +5 -5
  108. package/esm2022/lib/import-export/export-button/index.mjs +1 -1
  109. package/esm2022/lib/import-export/import-export/import-export.component.mjs +8 -6
  110. package/esm2022/lib/import-export/import-export/index.mjs +1 -1
  111. package/esm2022/lib/import-export/import-export.module.mjs +6 -1
  112. package/esm2022/lib/import-export/index.mjs +2 -9
  113. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +4 -3
  114. package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
  115. package/esm2022/lib/import-export/shared/export.service.mjs +8 -2
  116. package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
  117. package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
  118. package/esm2022/lib/import-export/shared/index.mjs +1 -1
  119. package/esm2022/lib/layer/index.mjs +2 -19
  120. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +5 -5
  121. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +8 -6
  122. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +5 -5
  123. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +26 -19
  124. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +6 -6
  125. package/esm2022/lib/layer/layer.module.mjs +12 -1
  126. package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
  127. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  128. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
  129. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +5 -5
  130. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +5 -5
  131. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +9 -9
  132. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +4 -4
  133. package/esm2022/lib/map/index.mjs +1 -32
  134. package/esm2022/lib/map/map.module.mjs +34 -34
  135. package/esm2022/lib/map/menu-button/menu-button.component.mjs +5 -5
  136. package/esm2022/lib/map/offline-button/offline-button.component.mjs +5 -5
  137. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +5 -5
  138. package/esm2022/lib/map/shared/hover-feature.directive.mjs +2 -2
  139. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +8 -8
  140. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +4 -4
  141. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +4 -4
  142. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +4 -4
  143. package/esm2022/lib/measure/measurer/measurer.component.mjs +6 -6
  144. package/esm2022/lib/measure/shared/index.mjs +1 -1
  145. package/esm2022/lib/metadata/index.mjs +2 -6
  146. package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
  147. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +7 -7
  148. package/esm2022/lib/metadata/metadata.module.mjs +5 -1
  149. package/esm2022/lib/metadata/shared/index.mjs +1 -1
  150. package/esm2022/lib/metadata/shared/metadata.service.mjs +1 -1
  151. package/esm2022/lib/offline/geoDB/index.mjs +1 -1
  152. package/esm2022/lib/offline/shared/index.mjs +1 -1
  153. package/esm2022/lib/overlay/index.mjs +1 -1
  154. package/esm2022/lib/print/index.mjs +1 -1
  155. package/esm2022/lib/print/print-form/index.mjs +1 -1
  156. package/esm2022/lib/print/print-form/print-form.component.mjs +4 -4
  157. package/esm2022/lib/print/shared/index.mjs +1 -1
  158. package/esm2022/lib/print/shared/print.service.mjs +85 -76
  159. package/esm2022/lib/query/index.mjs +1 -1
  160. package/esm2022/lib/query/shared/index.mjs +2 -1
  161. package/esm2022/lib/query/shared/query.directive.mjs +1 -1
  162. package/esm2022/lib/query/shared/query.enums.mjs +1 -1
  163. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  164. package/esm2022/lib/search/index.mjs +2 -13
  165. package/esm2022/lib/search/search-bar/search-bar.component.mjs +9 -6
  166. package/esm2022/lib/search/search-results/index.mjs +2 -7
  167. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +5 -5
  168. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +10 -8
  169. package/esm2022/lib/search/search-results/search-results-item.component.mjs +5 -4
  170. package/esm2022/lib/search/search-results/search-results.component.mjs +7 -5
  171. package/esm2022/lib/search/search-results/search-results.directive.mjs +7 -0
  172. package/esm2022/lib/search/search-selector/search-selector.component.mjs +5 -5
  173. package/esm2022/lib/search/search-settings/search-settings.component.mjs +5 -5
  174. package/esm2022/lib/search/search.module.mjs +15 -1
  175. package/esm2022/lib/search/shared/index.mjs +2 -1
  176. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +2 -2
  177. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  178. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  179. package/esm2022/lib/search/shared/search.provider.mjs +20 -0
  180. package/esm2022/lib/search/shared/search.service.mjs +29 -10
  181. package/esm2022/lib/search/shared/search.utils.mjs +2 -2
  182. package/esm2022/lib/search/shared/sources/cadastre.mjs +2 -2
  183. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +8 -1
  184. package/esm2022/lib/search/shared/sources/coordinates.mjs +2 -2
  185. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +11 -1
  186. package/esm2022/lib/search/shared/sources/icherche-icons.mjs +32 -0
  187. package/esm2022/lib/search/shared/sources/icherche.mjs +9 -4
  188. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +20 -1
  189. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +11 -1
  190. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  191. package/esm2022/lib/search/shared/sources/nominatim.mjs +2 -2
  192. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +8 -1
  193. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +13 -2
  194. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  195. package/esm2022/lib/search/shared/sources/storedqueries.mjs +3 -3
  196. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +14 -1
  197. package/esm2022/lib/search/shared/sources/workspace.mjs +2 -2
  198. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +8 -1
  199. package/esm2022/lib/style/shared/feature/feature-style.mjs +3 -2
  200. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  201. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +6 -6
  202. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +6 -6
  203. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +4 -4
  204. package/esm2022/lib/toast/index.mjs +1 -1
  205. package/esm2022/lib/toast/toast.component.mjs +6 -4
  206. package/esm2022/lib/wkt/index.mjs +1 -1
  207. package/esm2022/lib/wkt/shared/index.mjs +1 -1
  208. package/esm2022/lib/workspace/index.mjs +1 -1
  209. package/esm2022/lib/workspace/shared/edition-workspace.mjs +2 -2
  210. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +5 -4
  211. package/esm2022/lib/workspace/shared/feature-workspace.mjs +2 -2
  212. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +3 -2
  213. package/esm2022/lib/workspace/shared/index.mjs +1 -1
  214. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +2 -2
  215. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +3 -2
  216. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +3 -2
  217. package/esm2022/lib/workspace/shared/workspace.utils.mjs +3 -3
  218. package/esm2022/lib/workspace/widgets/index.mjs +1 -1
  219. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +1 -1
  220. package/esm2022/lib/workspace/widgets/widgets.mjs +2 -2
  221. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +3 -3
  222. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
  223. package/esm2022/lib/workspace/workspace.module.mjs +2 -2
  224. package/fesm2022/igo2-geo.mjs +30424 -30117
  225. package/fesm2022/igo2-geo.mjs.map +1 -1
  226. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +2 -2
  227. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  228. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  229. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
  230. package/lib/catalog/catalog-library/catalog-library.component.d.ts +7 -2
  231. package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -0
  232. package/lib/catalog/catalog-library/index.d.ts +1 -3
  233. package/lib/catalog/catalog.module.d.ts +6 -3
  234. package/lib/catalog/index.d.ts +1 -2
  235. package/lib/catalog/shared/catalog.interface.d.ts +1 -1
  236. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -3
  237. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +2 -3
  238. package/lib/datasource/shared/datasources/datasource.d.ts +1 -2
  239. package/lib/datasource/shared/datasources/feature-datasource.d.ts +2 -3
  240. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -3
  241. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -2
  242. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +2 -3
  243. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +1 -2
  244. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +1 -2
  245. package/lib/directions/directions-sources/directions-source.d.ts +7 -3
  246. package/lib/directions/directions-sources/directions-source.interface.d.ts +19 -6
  247. package/lib/directions/directions-sources/directions-source.provider.d.ts +2 -0
  248. package/lib/directions/directions-sources/osrm-directions-source.d.ts +19 -10
  249. package/lib/directions/directions.component.d.ts +15 -3
  250. package/lib/directions/directions.module.d.ts +5 -6
  251. package/lib/directions/directions.provider.d.ts +3 -0
  252. package/lib/directions/index.d.ts +1 -0
  253. package/lib/directions/shared/directions.interface.d.ts +2 -9
  254. package/lib/directions/shared/directions.service.d.ts +3 -2
  255. package/lib/directions/shared/directions.utils.d.ts +1 -1
  256. package/lib/directions/shared/store.d.ts +1 -1
  257. package/lib/draw/draw/draw-shorcuts.component.d.ts +2 -0
  258. package/lib/draw/draw/draw.component.d.ts +1 -1
  259. package/lib/environment/environment.interface.d.ts +2 -1
  260. package/lib/feature/feature-details/feature-details.component.d.ts +1 -1
  261. package/lib/feature/feature-details/feature-details.module.d.ts +3 -0
  262. package/lib/feature/feature-details/index.d.ts +1 -3
  263. package/lib/feature/feature-form/feature-form.component.d.ts +1 -2
  264. package/lib/feature/feature.module.d.ts +6 -3
  265. package/lib/feature/index.d.ts +1 -2
  266. package/lib/feature/shared/feature.interfaces.d.ts +1 -1
  267. package/lib/feature/shared/feature.utils.d.ts +1 -1
  268. package/lib/feature/shared/store.d.ts +1 -1
  269. package/lib/feature/shared/strategies/geo-properties.d.ts +1 -1
  270. package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
  271. package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
  272. package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
  273. package/lib/feature/shared/strategies/loading.d.ts +1 -1
  274. package/lib/feature/shared/strategies/search.d.ts +1 -1
  275. package/lib/feature/shared/strategies/selection.d.ts +1 -1
  276. package/lib/filter/filter.module.d.ts +19 -0
  277. package/lib/filter/index.d.ts +1 -16
  278. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +1 -1
  279. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +3 -3
  280. package/lib/filter/shared/ogc-filter.d.ts +7 -0
  281. package/lib/filter/shared/ogc-filter.interface.d.ts +2 -3
  282. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +1 -1
  283. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +1 -1
  284. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
  285. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -2
  286. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +3 -0
  287. package/lib/geometry/geometry-form-field/index.d.ts +2 -4
  288. package/lib/geometry/shared/controls/draw.d.ts +4 -4
  289. package/lib/geometry/shared/controls/slice.d.ts +4 -4
  290. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  291. package/lib/import-export/import-export/import-export.component.d.ts +2 -2
  292. package/lib/import-export/import-export.module.d.ts +4 -0
  293. package/lib/import-export/index.d.ts +1 -4
  294. package/lib/import-export/shared/drop-geo-file.directive.d.ts +2 -1
  295. package/lib/import-export/shared/export.utils.d.ts +1 -1
  296. package/lib/import-export/shared/import.utils.d.ts +1 -1
  297. package/lib/layer/index.d.ts +1 -8
  298. package/lib/layer/layer-list/layer-list.component.d.ts +4 -1
  299. package/lib/layer/layer.module.d.ts +10 -0
  300. package/lib/layer/shared/layers/vector-layer.d.ts +3 -4
  301. package/lib/layer/shared/layers/vector-layer.interface.d.ts +1 -2
  302. package/lib/map/index.d.ts +0 -14
  303. package/lib/map/map.module.d.ts +32 -15
  304. package/lib/measure/measurer/measurer.component.d.ts +1 -1
  305. package/lib/metadata/index.d.ts +1 -2
  306. package/lib/metadata/metadata.module.d.ts +2 -0
  307. package/lib/print/shared/print.service.d.ts +11 -7
  308. package/lib/query/shared/index.d.ts +1 -0
  309. package/lib/query/shared/query.interfaces.d.ts +1 -2
  310. package/lib/search/index.d.ts +1 -5
  311. package/lib/search/search-bar/search-bar.component.d.ts +2 -1
  312. package/lib/search/search-results/index.d.ts +1 -3
  313. package/lib/search/search-results/search-results-add-button.component.d.ts +2 -2
  314. package/lib/search/search-results/search-results.component.d.ts +1 -1
  315. package/lib/search/search-results/search-results.directive.d.ts +3 -0
  316. package/lib/search/search.module.d.ts +8 -0
  317. package/lib/search/shared/index.d.ts +1 -0
  318. package/lib/search/shared/search-source.service.d.ts +1 -1
  319. package/lib/search/shared/search.interfaces.d.ts +12 -10
  320. package/lib/search/shared/search.provider.d.ts +8 -0
  321. package/lib/search/shared/search.service.d.ts +7 -2
  322. package/lib/search/shared/sources/cadastre.providers.d.ts +2 -0
  323. package/lib/search/shared/sources/coordinates.providers.d.ts +2 -0
  324. package/lib/search/shared/sources/icherche-icons.d.ts +7 -0
  325. package/lib/search/shared/sources/icherche.providers.d.ts +6 -12
  326. package/lib/search/shared/sources/ilayer.providers.d.ts +2 -0
  327. package/lib/search/shared/sources/nominatim.providers.d.ts +2 -0
  328. package/lib/search/shared/sources/source.d.ts +1 -1
  329. package/lib/search/shared/sources/source.interfaces.d.ts +16 -0
  330. package/lib/search/shared/sources/storedqueries.providers.d.ts +3 -0
  331. package/lib/search/shared/sources/workspace.providers.d.ts +2 -0
  332. package/lib/style/shared/vector/conversion.utils.d.ts +2 -3
  333. package/lib/toast/toast.component.d.ts +1 -1
  334. package/lib/workspace/shared/edition-workspace.d.ts +1 -1
  335. package/lib/workspace/shared/edition-workspace.service.d.ts +2 -1
  336. package/lib/workspace/shared/feature-workspace.d.ts +1 -1
  337. package/lib/workspace/shared/wfs-workspace.d.ts +1 -1
  338. package/lib/workspace/shared/workspace.utils.d.ts +2 -1
  339. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +2 -1
  340. package/lib/workspace/widgets/widgets.d.ts +1 -1
  341. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  342. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  343. package/lib/workspace/workspace.module.d.ts +1 -1
  344. package/locale/en.geo.json +6 -1
  345. package/locale/fr.geo.json +6 -1
  346. package/package.json +6 -6
  347. package/style/style.css +2 -1
@@ -1,12 +1,9 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { IgoSearchModule } from '../search/search.module';
3
2
  import { DirectionsButtonsComponent } from './directions-buttons/directions-buttons.component';
4
3
  import { DirectionsInputsComponent } from './directions-inputs/directions-inputs.component';
5
4
  import { DirectionsResultsComponent } from './directions-results/directions-results.component';
6
5
  import { DirectionsComponent } from './directions.component';
7
- import { provideDirectionsSourceService } from './shared/directions-source.service';
8
6
  import * as i0 from "@angular/core";
9
- import * as i1 from "../search/search.module";
10
7
  export class IgoDirectionsModule {
11
8
  /**
12
9
  * @deprecated it has no effect
@@ -17,15 +14,14 @@ export class IgoDirectionsModule {
17
14
  };
18
15
  }
19
16
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoDirectionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoDirectionsModule, imports: [i1.IgoSearchModule, DirectionsComponent,
17
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoDirectionsModule, imports: [DirectionsComponent,
21
18
  DirectionsInputsComponent,
22
19
  DirectionsButtonsComponent,
23
20
  DirectionsResultsComponent], exports: [DirectionsComponent,
24
21
  DirectionsInputsComponent,
25
22
  DirectionsButtonsComponent,
26
23
  DirectionsResultsComponent] });
27
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoDirectionsModule, providers: [provideDirectionsSourceService()], imports: [IgoSearchModule.forRoot(),
28
- DirectionsComponent,
24
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoDirectionsModule, imports: [DirectionsComponent,
29
25
  DirectionsInputsComponent,
30
26
  DirectionsButtonsComponent,
31
27
  DirectionsResultsComponent] });
@@ -34,7 +30,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
34
30
  type: NgModule,
35
31
  args: [{
36
32
  imports: [
37
- IgoSearchModule.forRoot(),
38
33
  DirectionsComponent,
39
34
  DirectionsInputsComponent,
40
35
  DirectionsButtonsComponent,
@@ -45,8 +40,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
45
40
  DirectionsInputsComponent,
46
41
  DirectionsButtonsComponent,
47
42
  DirectionsResultsComponent
48
- ],
49
- providers: [provideDirectionsSourceService()]
43
+ ]
50
44
  }]
51
45
  }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMvRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBa0JwRixNQUFNLE9BQU8sbUJBQW1CO0lBQzlCOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDO0lBQ0osQ0FBQzt1R0FSVSxtQkFBbUI7d0dBQW5CLG1CQUFtQixnQ0FiNUIsbUJBQW1CO1lBQ25CLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsMEJBQTBCLGFBRzFCLG1CQUFtQjtZQUNuQix5QkFBeUI7WUFDekIsMEJBQTBCO1lBQzFCLDBCQUEwQjt3R0FJakIsbUJBQW1CLGFBRm5CLENBQUMsOEJBQThCLEVBQUUsQ0FBQyxZQVozQyxlQUFlLENBQUMsT0FBTyxFQUFFO1lBQ3pCLG1CQUFtQjtZQUNuQix5QkFBeUI7WUFDekIsMEJBQTBCO1lBQzFCLDBCQUEwQjs7MkZBVWpCLG1CQUFtQjtrQkFoQi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGVBQWUsQ0FBQyxPQUFPLEVBQUU7d0JBQ3pCLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6QiwwQkFBMEI7d0JBQzFCLDBCQUEwQjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6QiwwQkFBMEI7d0JBQzFCLDBCQUEwQjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFLENBQUMsOEJBQThCLEVBQUUsQ0FBQztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJZ29TZWFyY2hNb2R1bGUgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLm1vZHVsZSc7XG5pbXBvcnQgeyBEaXJlY3Rpb25zQnV0dG9uc0NvbXBvbmVudCB9IGZyb20gJy4vZGlyZWN0aW9ucy1idXR0b25zL2RpcmVjdGlvbnMtYnV0dG9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlyZWN0aW9uc0lucHV0c0NvbXBvbmVudCB9IGZyb20gJy4vZGlyZWN0aW9ucy1pbnB1dHMvZGlyZWN0aW9ucy1pbnB1dHMuY29tcG9uZW50JztcbmltcG9ydCB7IERpcmVjdGlvbnNSZXN1bHRzQ29tcG9uZW50IH0gZnJvbSAnLi9kaXJlY3Rpb25zLXJlc3VsdHMvZGlyZWN0aW9ucy1yZXN1bHRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXJlY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9kaXJlY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBwcm92aWRlRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9kaXJlY3Rpb25zLXNvdXJjZS5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIElnb1NlYXJjaE1vZHVsZS5mb3JSb290KCksXG4gICAgRGlyZWN0aW9uc0NvbXBvbmVudCxcbiAgICBEaXJlY3Rpb25zSW5wdXRzQ29tcG9uZW50LFxuICAgIERpcmVjdGlvbnNCdXR0b25zQ29tcG9uZW50LFxuICAgIERpcmVjdGlvbnNSZXN1bHRzQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEaXJlY3Rpb25zQ29tcG9uZW50LFxuICAgIERpcmVjdGlvbnNJbnB1dHNDb21wb25lbnQsXG4gICAgRGlyZWN0aW9uc0J1dHRvbnNDb21wb25lbnQsXG4gICAgRGlyZWN0aW9uc1Jlc3VsdHNDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZURpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlKCldXG59KVxuZXhwb3J0IGNsYXNzIElnb0RpcmVjdGlvbnNNb2R1bGUge1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgaXQgaGFzIG5vIGVmZmVjdFxuICAgKi9cbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29EaXJlY3Rpb25zTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29EaXJlY3Rpb25zTW9kdWxlXG4gICAgfTtcbiAgfVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWdCN0QsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxtQkFBbUI7U0FDOUIsQ0FBQztJQUNKLENBQUM7dUdBUlUsbUJBQW1CO3dHQUFuQixtQkFBbUIsWUFaNUIsbUJBQW1CO1lBQ25CLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsMEJBQTBCLGFBRzFCLG1CQUFtQjtZQUNuQix5QkFBeUI7WUFDekIsMEJBQTBCO1lBQzFCLDBCQUEwQjt3R0FHakIsbUJBQW1CLFlBWjVCLG1CQUFtQjtZQUNuQix5QkFBeUI7WUFDekIsMEJBQTBCO1lBQzFCLDBCQUEwQjs7MkZBU2pCLG1CQUFtQjtrQkFkL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3FCQUMzQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERpcmVjdGlvbnNCdXR0b25zQ29tcG9uZW50IH0gZnJvbSAnLi9kaXJlY3Rpb25zLWJ1dHRvbnMvZGlyZWN0aW9ucy1idXR0b25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXJlY3Rpb25zSW5wdXRzQ29tcG9uZW50IH0gZnJvbSAnLi9kaXJlY3Rpb25zLWlucHV0cy9kaXJlY3Rpb25zLWlucHV0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlyZWN0aW9uc1Jlc3VsdHNDb21wb25lbnQgfSBmcm9tICcuL2RpcmVjdGlvbnMtcmVzdWx0cy9kaXJlY3Rpb25zLXJlc3VsdHMuY29tcG9uZW50JztcbmltcG9ydCB7IERpcmVjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2RpcmVjdGlvbnMuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIERpcmVjdGlvbnNDb21wb25lbnQsXG4gICAgRGlyZWN0aW9uc0lucHV0c0NvbXBvbmVudCxcbiAgICBEaXJlY3Rpb25zQnV0dG9uc0NvbXBvbmVudCxcbiAgICBEaXJlY3Rpb25zUmVzdWx0c0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRGlyZWN0aW9uc0NvbXBvbmVudCxcbiAgICBEaXJlY3Rpb25zSW5wdXRzQ29tcG9uZW50LFxuICAgIERpcmVjdGlvbnNCdXR0b25zQ29tcG9uZW50LFxuICAgIERpcmVjdGlvbnNSZXN1bHRzQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvRGlyZWN0aW9uc01vZHVsZSB7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBpdCBoYXMgbm8gZWZmZWN0XG4gICAqL1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb0RpcmVjdGlvbnNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IElnb0RpcmVjdGlvbnNNb2R1bGVcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { DirectionsService } from './shared';
2
+ import { provideDirectionsSourceService } from './shared/directions-source.service';
3
+ export function provideDirection(...sources) {
4
+ const providers = [
5
+ {
6
+ provide: DirectionsService,
7
+ useClass: DirectionsService
8
+ },
9
+ provideDirectionsSourceService()
10
+ ];
11
+ for (const source of sources) {
12
+ providers.push(...source.providers);
13
+ }
14
+ return providers;
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFcEYsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixHQUFHLE9BQXNEO0lBRXpELE1BQU0sU0FBUyxHQUFlO1FBQzVCO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixRQUFRLEVBQUUsaUJBQWlCO1NBQzVCO1FBQ0QsOEJBQThCLEVBQUU7S0FDakMsQ0FBQztJQUVGLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7UUFDN0IsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIERpcmVjdGlvblNvdXJjZUZlYXR1cmUsXG4gIERpcmVjdGlvblNvdXJjZUtpbmRcbn0gZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZXMnO1xuaW1wb3J0IHsgRGlyZWN0aW9uc1NlcnZpY2UgfSBmcm9tICcuL3NoYXJlZCc7XG5pbXBvcnQgeyBwcm92aWRlRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9kaXJlY3Rpb25zLXNvdXJjZS5zZXJ2aWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEaXJlY3Rpb24oXG4gIC4uLnNvdXJjZXM6IERpcmVjdGlvblNvdXJjZUZlYXR1cmU8RGlyZWN0aW9uU291cmNlS2luZD5bXVxuKTogUHJvdmlkZXJbXSB7XG4gIGNvbnN0IHByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEaXJlY3Rpb25zU2VydmljZSxcbiAgICAgIHVzZUNsYXNzOiBEaXJlY3Rpb25zU2VydmljZVxuICAgIH0sXG4gICAgcHJvdmlkZURpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlKClcbiAgXTtcblxuICBmb3IgKGNvbnN0IHNvdXJjZSBvZiBzb3VyY2VzKSB7XG4gICAgcHJvdmlkZXJzLnB1c2goLi4uc291cmNlLnByb3ZpZGVycyk7XG4gIH1cblxuICByZXR1cm4gcHJvdmlkZXJzO1xufVxuIl19
@@ -1,7 +1,8 @@
1
1
  export * from './shared';
2
2
  export * from './directions.component';
3
+ export * from './directions.provider';
3
4
  export * from './directions-sources';
4
5
  export * from './directions-inputs';
5
6
  export * from './directions-buttons';
6
7
  export * from './directions-results';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLWlucHV0cyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMtYnV0dG9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMtcmVzdWx0cyc7XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMucHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLWlucHV0cyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMtYnV0dG9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMtcmVzdWx0cyc7XG4iXX0=
@@ -15,4 +15,4 @@ export function provideDirectionsSourceService() {
15
15
  deps: [DirectionsSource]
16
16
  };
17
17
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvc2hhcmVkL2RpcmVjdGlvbnMtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFM0UsTUFBTSxPQUFPLHVCQUF1QjtJQUNmO0lBQW5CLFlBQW1CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBQUcsQ0FBQztDQUNuRDtBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxPQUEyQjtJQUN4RSxPQUFPLElBQUksdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEI7SUFDNUMsT0FBTztRQUNMLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsVUFBVSxFQUFFLDhCQUE4QjtRQUMxQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztLQUN6QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2UgfSBmcm9tICcuLi9kaXJlY3Rpb25zLXNvdXJjZXMvZGlyZWN0aW9ucy1zb3VyY2UnO1xuXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgc291cmNlczogRGlyZWN0aW9uc1NvdXJjZVtdKSB7fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlyZWN0aW9uc1NvdXJjZVNlcnZpY2VGYWN0b3J5KHNvdXJjZXM6IERpcmVjdGlvbnNTb3VyY2VbXSkge1xuICByZXR1cm4gbmV3IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlKHNvdXJjZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlKCkge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlLFxuICAgIHVzZUZhY3Rvcnk6IGRpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlRmFjdG9yeSxcbiAgICBkZXBzOiBbRGlyZWN0aW9uc1NvdXJjZV1cbiAgfTtcbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvc2hhcmVkL2RpcmVjdGlvbnMtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFM0UsTUFBTSxPQUFPLHVCQUF1QjtJQUNmO0lBQW5CLFlBQW1CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBQUcsQ0FBQztDQUNuRDtBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxPQUEyQjtJQUN4RSxPQUFPLElBQUksdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEI7SUFDNUMsT0FBTztRQUNMLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsVUFBVSxFQUFFLDhCQUE4QjtRQUMxQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztLQUN6QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2UgfSBmcm9tICcuLi9kaXJlY3Rpb25zLXNvdXJjZXMvZGlyZWN0aW9ucy1zb3VyY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc291cmNlczogRGlyZWN0aW9uc1NvdXJjZVtdKSB7fVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGlyZWN0aW9uc1NvdXJjZVNlcnZpY2VGYWN0b3J5KHNvdXJjZXM6IERpcmVjdGlvbnNTb3VyY2VbXSkge1xyXG4gIHJldHVybiBuZXcgRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2Uoc291cmNlcyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2UoKSB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHByb3ZpZGU6IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlLFxyXG4gICAgdXNlRmFjdG9yeTogZGlyZWN0aW9uc1NvdXJjZVNlcnZpY2VGYWN0b3J5LFxyXG4gICAgZGVwczogW0RpcmVjdGlvbnNTb3VyY2VdXHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -25,4 +25,4 @@ export var DirectionRelativePositionType;
25
25
  DirectionRelativePositionType["Intermediate"] = "intermediate";
26
26
  DirectionRelativePositionType["End"] = "end";
27
27
  })(DirectionRelativePositionType || (DirectionRelativePositionType = {}));
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9zaGFyZWQvZGlyZWN0aW9ucy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIsNkRBQU8sQ0FBQTtJQUNQLHVEQUFJLENBQUE7QUFDTixDQUFDLEVBSFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUczQjtBQUNELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDOUIsdUNBQWUsQ0FBQTtJQUNmLHFDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUcvQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLDhCQUFhLENBQUE7SUFDYixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBRUQsTUFBTSxDQUFOLElBQVksNkJBSVg7QUFKRCxXQUFZLDZCQUE2QjtJQUN2QyxnREFBZSxDQUFBO0lBQ2YsOERBQTZCLENBQUE7SUFDN0IsNENBQVcsQ0FBQTtBQUNiLENBQUMsRUFKVyw2QkFBNkIsS0FBN0IsNkJBQTZCLFFBSXhDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRGlyZWN0aW9uc0Zvcm1hdCB7XG4gIEdlb0pTT04sXG4gIEpTT05cbn1cbmV4cG9ydCBlbnVtIFNvdXJjZURpcmVjdGlvbnNUeXBlIHtcbiAgUm91dGUgPSAncm91dGUnLFxuICBUcmlwID0gJ3RyaXAnXG59XG5cbmV4cG9ydCBlbnVtIFByb3Bvc2FsVHlwZSB7XG4gIENvb3JkID0gJ2Nvb3JkJyxcbiAgVGV4dCA9ICd0ZXh0J1xufVxuXG5leHBvcnQgZW51bSBEaXJlY3Rpb25UeXBlIHtcbiAgU3RvcCA9ICdzdG9wJyxcbiAgUm91dGUgPSAncm91dGUnLFxuICBWZXJ0ZXggPSAndmVydGV4J1xufVxuXG5leHBvcnQgZW51bSBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSB7XG4gIFN0YXJ0ID0gJ3N0YXJ0JyxcbiAgSW50ZXJtZWRpYXRlID0gJ2ludGVybWVkaWF0ZScsXG4gIEVuZCA9ICdlbmQnXG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9zaGFyZWQvZGlyZWN0aW9ucy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIsNkRBQU8sQ0FBQTtJQUNQLHVEQUFJLENBQUE7QUFDTixDQUFDLEVBSFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUczQjtBQUNELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDOUIsdUNBQWUsQ0FBQTtJQUNmLHFDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUcvQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLDhCQUFhLENBQUE7SUFDYixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBRUQsTUFBTSxDQUFOLElBQVksNkJBSVg7QUFKRCxXQUFZLDZCQUE2QjtJQUN2QyxnREFBZSxDQUFBO0lBQ2YsOERBQTZCLENBQUE7SUFDN0IsNENBQVcsQ0FBQTtBQUNiLENBQUMsRUFKVyw2QkFBNkIsS0FBN0IsNkJBQTZCLFFBSXhDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRGlyZWN0aW9uc0Zvcm1hdCB7XHJcbiAgR2VvSlNPTixcclxuICBKU09OXHJcbn1cclxuZXhwb3J0IGVudW0gU291cmNlRGlyZWN0aW9uc1R5cGUge1xyXG4gIFJvdXRlID0gJ3JvdXRlJyxcclxuICBUcmlwID0gJ3RyaXAnXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFByb3Bvc2FsVHlwZSB7XHJcbiAgQ29vcmQgPSAnY29vcmQnLFxyXG4gIFRleHQgPSAndGV4dCdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRGlyZWN0aW9uVHlwZSB7XHJcbiAgU3RvcCA9ICdzdG9wJyxcclxuICBSb3V0ZSA9ICdyb3V0ZScsXHJcbiAgVmVydGV4ID0gJ3ZlcnRleCdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUge1xyXG4gIFN0YXJ0ID0gJ3N0YXJ0JyxcclxuICBJbnRlcm1lZGlhdGUgPSAnaW50ZXJtZWRpYXRlJyxcclxuICBFbmQgPSAnZW5kJ1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL3NoYXJlZC9kaXJlY3Rpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VvSnNvbkdlb21ldHJ5VHlwZXMgfSBmcm9tICdnZW9qc29uJztcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuLi8uLi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvc291cmNlJztcbmltcG9ydCB7XG4gIERpcmVjdGlvblJlbGF0aXZlUG9zaXRpb25UeXBlLFxuICBEaXJlY3Rpb25UeXBlLFxuICBEaXJlY3Rpb25zRm9ybWF0LFxuICBQcm9wb3NhbFR5cGUsXG4gIFNvdXJjZURpcmVjdGlvbnNUeXBlXG59IGZyb20gJy4vZGlyZWN0aW9ucy5lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3Rpb25PcHRpb25zIHtcbiAgb3ZlcnZpZXc/OiBib29sZWFuO1xuICBzdGVwcz86IGJvb2xlYW47XG4gIGdlb21ldHJpZXM/OiBzdHJpbmc7XG4gIGFsdGVybmF0aXZlcz86IGJvb2xlYW47XG4gIGNvbnRpbnVlX3N0cmFpZ2h0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlV2l0aFN0b3AgZXh0ZW5kcyBGZWF0dXJlPEZlYXR1cmVXaXRoU3RvcFByb3BlcnRpZXM+IHt9XG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVXaXRoRGlyZWN0aW9uXG4gIGV4dGVuZHMgRmVhdHVyZTxGZWF0dXJlV2l0aERpcmVjdGlvblByb3BlcnRpZXM+IHt9XG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVXaXRoU3RlcCBleHRlbmRzIEZlYXR1cmU8RmVhdHVyZVdpdGhTdGVwUHJvcGVydGllcz4ge31cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlV2l0aFN0ZXBQcm9wZXJ0aWVzIHtcbiAgaWQ6IHN0cmluZztcbiAgc3RlcDogSWdvU3RlcDtcbiAgdHlwZTogRGlyZWN0aW9uVHlwZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVdpdGhEaXJlY3Rpb25Qcm9wZXJ0aWVzIHtcbiAgaWQ6IHN0cmluZztcbiAgZGlyZWN0aW9uOiBEaXJlY3Rpb247XG4gIHR5cGU6IERpcmVjdGlvblR5cGU7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVdpdGhTdG9wUHJvcGVydGllcyB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0b3A6IFN0b3A7XG4gIHR5cGU6IERpcmVjdGlvblR5cGU7XG4gIHN0b3BUZXh0OiBzdHJpbmc7XG4gIHN0b3BDb2xvcjogc3RyaW5nO1xuICBzdG9wT3BhY2l0eTogMTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9wIHtcbiAgaWQ6IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgc2VhcmNoUHJvcG9zYWxzPzogU291cmNlUHJvcG9zYWxbXTtcbiAgY29vcmRpbmF0ZXM/OiBbbnVtYmVyLCBudW1iZXJdO1xuICBwb3NpdGlvbjogbnVtYmVyO1xuICByZWxhdGl2ZVBvc2l0aW9uOiBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZTtcbiAgc3RvcFBvaW50Pzogc3RyaW5nO1xuICBzdG9wUHJvcG9zYWxzPzogW107XG4gIGRpcmVjdGlvbnNUZXh0Pzogc3RyaW5nO1xuICBzdG9wQ29vcmRpbmF0ZXM/OiBbbnVtYmVyLCBudW1iZXJdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvdXJjZVByb3Bvc2FsIHtcbiAgdHlwZTogUHJvcG9zYWxUeXBlO1xuICBzb3VyY2U6IFNlYXJjaFNvdXJjZTtcbiAgcmVzdWx0czogeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdO1xuICBtZXRhOiB7XG4gICAgZGF0YVR5cGU6IHN0cmluZztcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdGl0bGVIdG1sPzogc3RyaW5nO1xuICAgIGljb246IHN0cmluZztcbiAgICBzY29yZT86IG51bWJlcjtcbiAgICBuZXh0UGFnZT86IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlyZWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG4gIHNvdXJjZVR5cGU/OiBTb3VyY2VEaXJlY3Rpb25zVHlwZTtcbiAgb3JkZXI/OiBudW1iZXI7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBmb3JtYXQ/OiBEaXJlY3Rpb25zRm9ybWF0O1xuICBpY29uPzogc3RyaW5nO1xuICBwcm9qZWN0aW9uPzogc3RyaW5nO1xuICB3YXlwb2ludHM/OiBhbnk7XG4gIGRpc3RhbmNlPzogbnVtYmVyO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgZ2VvbWV0cnk/OiBEaXJlY3Rpb25zR2VvbWV0cnk7XG4gIGxlZ3M/OiBPc3JtTGVnW107XG4gIHN0ZXBzPzogSWdvU3RlcFtdO1xuICB3ZWlnaHQ/OiBudW1iZXI7XG4gIHdlaWdodF9uYW1lPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3Rpb25zR2VvbWV0cnkge1xuICB0eXBlOiBHZW9Kc29uR2VvbWV0cnlUeXBlcztcbiAgY29vcmRpbmF0ZXM6IFthbnldO1xufVxuZXhwb3J0IGludGVyZmFjZSBPc3JtTGVnIHtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICBzdGVwcz86IE9zcm1TdGVwW107XG4gIHN1bW1hcnk6IHN0cmluZztcbiAgd2VpZ2h0PzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBJZ29TdGVwIHtcbiAgLy8gUkVGRVIgVE8gVEhJUyBJTlRFUkZBQ0UgRk9SIFZBUklPVVMgU09VUkNFXG4gIGRpc3RhbmNlPzogbnVtYmVyO1xuICBkcml2aW5nX3NpZGU/OiBzdHJpbmc7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICBnZW9tZXRyeT86IERpcmVjdGlvbnNHZW9tZXRyeTtcbiAgaW50ZXJzZWN0aW9ucz86IE9zcm1JbnRlcnNlY3Rpb25bXTtcbiAgbWFuZXV2ZXI/OiBPc3JtTWFuZXV2ZXI7XG4gIG1vZGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9zcm1TdGVwIHtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGRyaXZpbmdfc2lkZT86IHN0cmluZztcbiAgZHVyYXRpb24/OiBudW1iZXI7XG4gIGdlb21ldHJ5PzogRGlyZWN0aW9uc0dlb21ldHJ5O1xuICBpbnRlcnNlY3Rpb25zPzogT3NybUludGVyc2VjdGlvbltdO1xuICBtYW5ldXZlcj86IE9zcm1NYW5ldXZlcjtcbiAgbW9kZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT3NybUludGVyc2VjdGlvbiB7XG4gIGJlYXJpbmc/OiBbYW55XTtcbiAgZW50cnk/OiBbYm9vbGVhbl07XG4gIGxvY2F0aW9uPzogW251bWJlciwgbnVtYmVyXTtcbiAgb3V0PzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBPc3JtTWFuZXV2ZXIge1xuICBiZWFyaW5nX2FmdGVyPzogbnVtYmVyO1xuICBiZWFyaW5nX2JlZm9yZT86IG51bWJlcjtcbiAgbG9jYXRpb24/OiBbbnVtYmVyLCBudW1iZXJdO1xuICBtb2RpZmllcj86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL3NoYXJlZC9kaXJlY3Rpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VvSnNvbkdlb21ldHJ5VHlwZXMgfSBmcm9tICdnZW9qc29uJztcblxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hNZXRhIH0gZnJvbSAnLi4vLi4vc2VhcmNoJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uLy4uL3NlYXJjaC9zaGFyZWQvc291cmNlcy9zb3VyY2UnO1xuaW1wb3J0IHtcbiAgRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUsXG4gIERpcmVjdGlvblR5cGUsXG4gIERpcmVjdGlvbnNGb3JtYXQsXG4gIFByb3Bvc2FsVHlwZSxcbiAgU291cmNlRGlyZWN0aW9uc1R5cGVcbn0gZnJvbSAnLi9kaXJlY3Rpb25zLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdGlvbk9wdGlvbnMge1xuICBvdmVydmlldz86IGJvb2xlYW47XG4gIHN0ZXBzPzogYm9vbGVhbjtcbiAgZ2VvbWV0cmllcz86IHN0cmluZztcbiAgYWx0ZXJuYXRpdmVzPzogYm9vbGVhbjtcbiAgY29udGludWVfc3RyYWlnaHQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVXaXRoU3RvcCBleHRlbmRzIEZlYXR1cmU8RmVhdHVyZVdpdGhTdG9wUHJvcGVydGllcz4ge31cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVdpdGhEaXJlY3Rpb25cbiAgZXh0ZW5kcyBGZWF0dXJlPEZlYXR1cmVXaXRoRGlyZWN0aW9uUHJvcGVydGllcz4ge31cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVdpdGhTdGVwIGV4dGVuZHMgRmVhdHVyZTxGZWF0dXJlV2l0aFN0ZXBQcm9wZXJ0aWVzPiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVXaXRoU3RlcFByb3BlcnRpZXMge1xuICBpZDogc3RyaW5nO1xuICBzdGVwOiBJZ29TdGVwO1xuICB0eXBlOiBEaXJlY3Rpb25UeXBlO1xufVxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlV2l0aERpcmVjdGlvblByb3BlcnRpZXMge1xuICBpZDogc3RyaW5nO1xuICBkaXJlY3Rpb246IERpcmVjdGlvbjtcbiAgdHlwZTogRGlyZWN0aW9uVHlwZTtcbiAgYWN0aXZlOiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlV2l0aFN0b3BQcm9wZXJ0aWVzIHtcbiAgaWQ6IHN0cmluZztcbiAgc3RvcDogU3RvcDtcbiAgdHlwZTogRGlyZWN0aW9uVHlwZTtcbiAgc3RvcFRleHQ6IHN0cmluZztcbiAgc3RvcENvbG9yOiBzdHJpbmc7XG4gIHN0b3BPcGFjaXR5OiAxO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3Age1xuICBpZDogc3RyaW5nO1xuICB0ZXh0Pzogc3RyaW5nO1xuICBzZWFyY2hQcm9wb3NhbHM/OiBTb3VyY2VQcm9wb3NhbFtdO1xuICBjb29yZGluYXRlcz86IFtudW1iZXIsIG51bWJlcl07XG4gIHBvc2l0aW9uOiBudW1iZXI7XG4gIHJlbGF0aXZlUG9zaXRpb246IERpcmVjdGlvblJlbGF0aXZlUG9zaXRpb25UeXBlO1xuICBzdG9wUG9pbnQ/OiBzdHJpbmc7XG4gIHN0b3BQcm9wb3NhbHM/OiBbXTtcbiAgZGlyZWN0aW9uc1RleHQ/OiBzdHJpbmc7XG4gIHN0b3BDb29yZGluYXRlcz86IFtudW1iZXIsIG51bWJlcl07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU291cmNlUHJvcG9zYWwge1xuICB0eXBlOiBQcm9wb3NhbFR5cGU7XG4gIHNvdXJjZTogU2VhcmNoU291cmNlO1xuICByZXN1bHRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9W107XG4gIG1ldGE6IFNlYXJjaE1ldGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlyZWN0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG4gIHNvdXJjZVR5cGU/OiBTb3VyY2VEaXJlY3Rpb25zVHlwZTtcbiAgb3JkZXI/OiBudW1iZXI7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBmb3JtYXQ/OiBEaXJlY3Rpb25zRm9ybWF0O1xuICBpY29uPzogc3RyaW5nO1xuICBwcm9qZWN0aW9uPzogc3RyaW5nO1xuICB3YXlwb2ludHM/OiBhbnk7XG4gIGRpc3RhbmNlPzogbnVtYmVyO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgZ2VvbWV0cnk/OiBEaXJlY3Rpb25zR2VvbWV0cnk7XG4gIGxlZ3M/OiBPc3JtTGVnW107XG4gIHN0ZXBzPzogSWdvU3RlcFtdO1xuICB3ZWlnaHQ/OiBudW1iZXI7XG4gIHdlaWdodF9uYW1lPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3Rpb25zR2VvbWV0cnkge1xuICB0eXBlOiBHZW9Kc29uR2VvbWV0cnlUeXBlcztcbiAgY29vcmRpbmF0ZXM6IFthbnldO1xufVxuZXhwb3J0IGludGVyZmFjZSBPc3JtTGVnIHtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICBzdGVwcz86IE9zcm1TdGVwW107XG4gIHN1bW1hcnk6IHN0cmluZztcbiAgd2VpZ2h0PzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBJZ29TdGVwIHtcbiAgLy8gUkVGRVIgVE8gVEhJUyBJTlRFUkZBQ0UgRk9SIFZBUklPVVMgU09VUkNFXG4gIGRpc3RhbmNlPzogbnVtYmVyO1xuICBkcml2aW5nX3NpZGU/OiBzdHJpbmc7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICBnZW9tZXRyeT86IERpcmVjdGlvbnNHZW9tZXRyeTtcbiAgaW50ZXJzZWN0aW9ucz86IE9zcm1JbnRlcnNlY3Rpb25bXTtcbiAgbWFuZXV2ZXI/OiBPc3JtTWFuZXV2ZXI7XG4gIG1vZGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIE9zcm1TdGVwIHtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGRyaXZpbmdfc2lkZT86IHN0cmluZztcbiAgZHVyYXRpb24/OiBudW1iZXI7XG4gIGdlb21ldHJ5PzogRGlyZWN0aW9uc0dlb21ldHJ5O1xuICBpbnRlcnNlY3Rpb25zPzogT3NybUludGVyc2VjdGlvbltdO1xuICBtYW5ldXZlcj86IE9zcm1NYW5ldXZlcjtcbiAgbW9kZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT3NybUludGVyc2VjdGlvbiB7XG4gIGJlYXJpbmc/OiBbYW55XTtcbiAgZW50cnk/OiBbYm9vbGVhbl07XG4gIGxvY2F0aW9uPzogW251bWJlciwgbnVtYmVyXTtcbiAgb3V0PzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBPc3JtTWFuZXV2ZXIge1xuICBiZWFyaW5nX2FmdGVyPzogbnVtYmVyO1xuICBiZWFyaW5nX2JlZm9yZT86IG51bWJlcjtcbiAgbG9jYXRpb24/OiBbbnVtYmVyLCBudW1iZXJdO1xuICBtb2RpZmllcj86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbn1cbiJdfQ==
@@ -38,9 +38,7 @@ export class DirectionsService {
38
38
  if (coordinates.length === 0) {
39
39
  return;
40
40
  }
41
- return this.directionsSourceService.sources
42
- .filter((source) => source.enabled)
43
- .map((source) => this.routeSource(source, coordinates, directionsOptions));
41
+ return this.routeSource(this.directionsSourceService.sources[0], coordinates, directionsOptions);
44
42
  }
45
43
  routeSource(source, coordinates, directionsOptions = {}) {
46
44
  const request = source.route(coordinates, directionsOptions);
@@ -54,23 +52,20 @@ export class DirectionsService {
54
52
  format: 'Letter',
55
53
  unit: 'mm' // default
56
54
  });
57
- const dimensions = [
58
- doc.internal.pageSize.width,
59
- doc.internal.pageSize.height
60
- ];
61
- const margins = [10, 10, 10, 10];
62
- const width = dimensions[0];
63
- const height = dimensions[1] - margins[0] - margins[2];
64
- const size = [width, height];
55
+ const { width: pageWidth, height: pageHeight } = doc.internal.pageSize;
56
+ /** top | right | bottom | left */
57
+ const margins = [20, 10, 20, 10];
58
+ const width = pageWidth - margins[3] - margins[1];
59
+ const height = pageHeight - margins[0] - margins[2];
60
+ const imageDimensions = [width, height];
65
61
  const title = `${direction.title} (${formatDistance(direction.distance)}, ${formatDuration(direction.duration)})`;
66
62
  const titlePosition = 25;
67
63
  doc.text(title, doc.internal.pageSize.width / 2, titlePosition, {
68
64
  align: 'center'
69
65
  });
70
- margins[0] += 20;
71
66
  const resolution = 96; // Default is 96
72
67
  this.printService
73
- .addMap(doc, map, resolution, size, margins, PrintLegendPosition.none)
68
+ .addMap(doc, map, resolution, imageDimensions, margins, PrintLegendPosition.none)
74
69
  .subscribe(async (status) => {
75
70
  if (status === SubjectStatus.Done) {
76
71
  await this.addInstructions(doc, direction, title);
@@ -192,15 +187,12 @@ export class DirectionsService {
192
187
  }
193
188
  }
194
189
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DirectionsService, deps: [{ token: i1.DirectionsSourceService }, { token: i2.ConfigService }, { token: i3.LanguageService }, { token: i4.PrintService }, { token: DOCUMENT }, { token: i5.ActivityService }], target: i0.ɵɵFactoryTarget.Injectable });
195
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DirectionsService, providedIn: 'root' });
190
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DirectionsService });
196
191
  }
197
192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DirectionsService, decorators: [{
198
- type: Injectable,
199
- args: [{
200
- providedIn: 'root'
201
- }]
193
+ type: Injectable
202
194
  }], ctorParameters: () => [{ type: i1.DirectionsSourceService }, { type: i2.ConfigService }, { type: i3.LanguageService }, { type: i4.PrintService }, { type: Document, decorators: [{
203
195
  type: Inject,
204
196
  args: [DOCUMENT]
205
197
  }] }, { type: i5.ActivityService }] });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9zaGFyZWQvZGlyZWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2xCLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFLNUIsTUFBTSxPQUFPLGlCQUFpQjtJQUVsQjtJQUNBO0lBQ0E7SUFDQTtJQUNrQjtJQUNsQjtJQU5WLFlBQ1UsdUJBQWdELEVBQ2hELGFBQTRCLEVBQzVCLGVBQWdDLEVB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LEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDcEMsR0FBRyxDQUFDLElBQUksQ0FDTixPQUFPLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUMsVUFBVSxHQUFHLEtBQUssR0FBRyxTQUFTLEVBQ2pFLEtBQUssR0FBRyxFQUFFLEVBQ1YsVUFBVSxHQUFHLEVBQUUsQ0FDaEIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO3VHQTdOVSxpQkFBaUIsaUpBTWxCLFFBQVE7MkdBTlAsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2FjdGl2aXR5JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IFN1YmplY3RTdGF0dXMgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCBodG1sMmNhbnZhcyBmcm9tICdodG1sMmNhbnZhcyc7XG5pbXBvcnQganNQREYgZnJvbSAnanNwZGYnO1xuaW1wb3J0ICdqc3BkZi1hdXRvdGFibGUnO1xuaW1wb3J0IHsgVXNlck9wdGlvbnMgfSBmcm9tICdqc3BkZi1hdXRvdGFibGUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBQcmludFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcmludC9zaGFyZWQvcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQcmludExlZ2VuZFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vcHJpbnQvc2hhcmVkL3ByaW50LnR5cGUnO1xuaW1wb3J0IHsgRGlyZWN0aW9uc1NvdXJjZSB9IGZyb20gJy4uL2RpcmVjdGlvbnMtc291cmNlcy9kaXJlY3Rpb25zLXNvdXJjZSc7XG5pbXBvcnQgeyBEaXJlY3Rpb24sIERpcmVjdGlvbk9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2UgfSBmcm9tICcuL2RpcmVjdGlvbnMtc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgZm9ybWF0RGlzdGFuY2UsXG4gIGZvcm1hdER1cmF0aW9uLFxuICBmb3JtYXRJbnN0cnVjdGlvblxufSBmcm9tICcuL2RpcmVjdGlvbnMudXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEaXJlY3Rpb25zU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlyZWN0aW9uc1NvdXJjZVNlcnZpY2U6IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJpbnRTZXJ2aWNlOiBQcmludFNlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSBhY3Rpdml0eVNlcnZpY2U6IEFjdGl2aXR5U2VydmljZVxuICApIHt9XG5cbiAgcm91dGUoXG4gICAgY29vcmRpbmF0ZXM6IFtudW1iZXIsIG51bWJlcl1bXSxcbiAgICBkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9ucyA9IHt9XG4gICk6IE9ic2VydmFibGU8RGlyZWN0aW9uW10+W10ge1xuICAgIGlmIChjb29yZGluYXRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uc1NvdXJjZVNlcnZpY2Uuc291cmNlc1xuICAgICAgLmZpbHRlcigoc291cmNlOiBEaXJlY3Rpb25zU291cmNlKSA9PiBzb3VyY2UuZW5hYmxlZClcbiAgICAgIC5tYXAoKHNvdXJjZTogRGlyZWN0aW9uc1NvdXJjZSkgPT5cbiAgICAgICAgdGhpcy5yb3V0ZVNvdXJjZShzb3VyY2UsIGNvb3JkaW5hdGVzLCBkaXJlY3Rpb25zT3B0aW9ucylcbiAgICAgICk7XG4gIH1cblxuICByb3V0ZVNvdXJjZShcbiAgICBzb3VyY2U6IERpcmVjdGlvbnNTb3VyY2UsXG4gICAgY29vcmRpbmF0ZXM6IFtudW1iZXIsIG51bWJlcl1bXSxcbiAgICBkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9ucyA9IHt9XG4gICk6IE9ic2VydmFibGU8RGlyZWN0aW9uW10+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0gc291cmNlLnJvdXRlKGNvb3JkaW5hdGVzLCBkaXJlY3Rpb25zT3B0aW9ucyk7XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBkb3dubG9hZERpcmVjdGlvbihcbiAgICBtYXA6IElnb01hcCxcbiAgICBkaXJlY3Rpb246IERpcmVjdGlvblxuICApOiBPYnNlcnZhYmxlPFN1YmplY3RTdGF0dXM+IHtcbiAgICBjb25zdCBhY3Rpdml0eUlkID0gdGhpcy5hY3Rpdml0eVNlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICBjb25zdCBzdGF0dXMkID0gbmV3IFN1YmplY3Q8U3ViamVjdFN0YXR1cz4oKTtcblxuICAgIGNvbnN0IGRvYzoganNQREYgPSBuZXcganNQREYoe1xuICAgICAgb3JpZW50YXRpb246ICdwJyxcbiAgICAgIGZvcm1hdDogJ0xldHRlcicsXG4gICAgICB1bml0OiAnbW0nIC8vIGRlZmF1bHRcbiAgICB9KTtcbiAgICBjb25zdCBkaW1lbnNpb25zID0gW1xuICAgICAgZG9jLmludGVybmFsLnBhZ2VTaXplLndpZHRoLFxuICAgICAgZG9jLmludGVybmFsLnBhZ2VTaXplLmhlaWdodFxuICAgIF07XG4gICAgY29uc3QgbWFyZ2lucyA9IFsxMCwgMTAsIDEwLCAxMF07XG4gICAgY29uc3Qgd2lkdGggPSBkaW1lbnNpb25zWzBdO1xuICAgIGNvbnN0IGhlaWdodCA9IGRpbWVuc2lvbnNbMV0gLSBtYXJnaW5zWzBdIC0gbWFyZ2luc1syXTtcbiAgICBjb25zdCBzaXplOiBbbnVtYmVyLCBudW1iZXJdID0gW3dpZHRoLCBoZWlnaHRdO1xuXG4gICAgY29uc3QgdGl0bGUgPSBgJHtkaXJlY3Rpb24udGl0bGV9ICgke2Zvcm1hdERpc3RhbmNlKFxuICAgICAgZGlyZWN0aW9uLmRpc3RhbmNlXG4gICAgKX0sICR7Zm9ybWF0RHVyYXRpb24oZGlyZWN0aW9uLmR1cmF0aW9uKX0pYDtcbiAgICBjb25zdCB0aXRsZVBvc2l0aW9uID0gMjU7XG5cbiAgICBkb2MudGV4dCh0aXRsZSwgZG9jLmludGVybmFsLnBhZ2VTaXplLndpZHRoIC8gMiwgdGl0bGVQb3NpdGlvbiwge1xuICAgICAgYWxpZ246ICdjZW50ZXInXG4gICAgfSk7XG5cbiAgICBtYXJnaW5zWzBdICs9IDIwO1xuICAgIGNvbnN0IHJlc29sdXRpb24gPSA5NjsgLy8gRGVmYXVsdCBpcyA5NlxuICAgIHRoaXMucHJpbnRTZXJ2aWNlXG4gICAgICAuYWRkTWFwKGRvYywgbWFwLCByZXNvbHV0aW9uLCBzaXplLCBtYXJnaW5zLCBQcmludExlZ2VuZFBvc2l0aW9uLm5vbmUpXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChzdGF0dXM6IFN1YmplY3RTdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gU3ViamVjdFN0YXR1cy5Eb25lKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5hZGRJbnN0cnVjdGlvbnMoZG9jLCBkaXJlY3Rpb24sIHRpdGxlKTtcbiAgICAgICAgICB0aGlzLnNldFBhZ2VIZWFkZXJGb290ZXIoZG9jKTtcbiAgICAgICAgICBhd2FpdCBkb2Muc2F2ZShgJHt0aXRsZX0ucGRmYCwgeyByZXR1cm5Qcm9taXNlOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3Rpdml0eVNlcnZpY2UudW5yZWdpc3RlcihhY3Rpdml0eUlkKTtcbiAgICAgICAgc3RhdHVzJC5uZXh0KHN0YXR1cyk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBzdGF0dXMkO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRIVE1MVGFibGVDb250ZW50KFxuICAgIGRpcmVjdGlvbjogRGlyZWN0aW9uXG4gICk6IFByb21pc2U8SFRNTFRhYmxlRWxlbWVudD4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmRpcmVjdGlvbnNJbnN0cnVjdGlvbihkaXJlY3Rpb24pO1xuICAgIGNvbnN0IHRhYmxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGFibGUnKTtcbiAgICBjb25zdCB0YmxCb2R5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGJvZHknKTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkYXRhW2luZGV4XTtcbiAgICAgIHZhciByb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpO1xuICAgICAgdmFyIGNlbGxJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7XG4gICAgICB2YXIgY2VsbFRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpO1xuICAgICAgLy8gaWNvblxuICAgICAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJykgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICAgIGltZy5zcmMgPSBlbGVtZW50Lmljb247XG4gICAgICAvLyBpbnN0cnVjdGlvbiB0ZXh0XG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgc3Bhbi5pbm5lckhUTUwgPSBlbGVtZW50Lmluc3RydWN0aW9uO1xuICAgICAgY2VsbEltYWdlLmFwcGVuZENoaWxkKGltZyk7XG4gICAgICBjZWxsVGV4dC5hcHBlbmRDaGlsZChzcGFuKTtcbiAgICAgIGlmIChlbGVtZW50LmRpc3RhbmNlKSB7XG4gICAgICAgIGNvbnN0IHNwYW5EaXN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgc3BhbkRpc3RhbmNlLnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAnbWlkZGxlJztcbiAgICAgICAgc3BhbkRpc3RhbmNlLmlubmVySFRNTCA9XG4gICAgICAgICAgJyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOycgKyBlbGVtZW50LmRpc3RhbmNlO1xuICAgICAgICBjZWxsVGV4dC5hcHBlbmRDaGlsZChzcGFuRGlzdGFuY2UpO1xuICAgICAgfVxuICAgICAgcm93LmFwcGVuZChjZWxsSW1hZ2UpO1xuICAgICAgcm93LmFwcGVuZChjZWxsVGV4dCk7XG4gICAgICB0YmxCb2R5LmFwcGVuZENoaWxkKHJvdyk7XG4gICAgfVxuICAgIHRhYmxlLmFwcGVuZENoaWxkKHRibEJvZHkpO1xuICAgIHJldHVybiB0YWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGlyZWN0aW9uc0luc3RydWN0aW9uKFxuICAgIGRpcmVjdGlvbjogRGlyZWN0aW9uXG4gICk6IFByb21pc2U8QXJyYXk8eyBpbnN0cnVjdGlvbjogc3RyaW5nOyBpY29uOiBzdHJpbmc7IGRpc3RhbmNlOiBzdHJpbmcgfT4+IHtcbiAgICBjb25zdCBtYXRMaXN0SXRlbXMgPSB0aGlzLmRvY3VtZW50XG4gICAgICAuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lnby1kaXJlY3Rpb25zLXJlc3VsdHMnKVswXVxuICAgICAgLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtYXQtbGlzdCcpWzBdO1xuICAgIGNvbnN0IG1hdExpc3RJdGVtID0gbWF0TGlzdEl0ZW1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtYXQtbGlzdC1pdGVtJyk7XG4gICAgLy8gY29udmVydCBpY29uIGxpc3QgdG8gYmFzZTY0XG4gICAgbGV0IGljb25zQXJyYXk6IEFycmF5PHsgbmFtZTogc3RyaW5nOyBpY29uOiBzdHJpbmcgfT4gPSBbXTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWF0TGlzdEl0ZW0ubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gbWF0TGlzdEl0ZW1baW5kZXhdO1xuICAgICAgY29uc3QgaWNvbiA9IGVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21hdC1pY29uJylbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCBpY29uTmFtZSA9IGljb24uZ2V0QXR0cmlidXRlKCdkYXRhLW1hdC1pY29uLW5hbWUnKSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCBmb3VuZCA9IGljb25zQXJyYXkuc29tZSgoZWwpID0+IGVsLm5hbWUgPT09IGljb25OYW1lKTtcbiAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgY29uc3QgaWNvbkNhbnZhcyA9IGF3YWl0IGh0bWwyY2FudmFzKGljb24sIHsgc2NhbGU6IDMgfSk7XG4gICAgICAgIGljb25zQXJyYXkucHVzaCh7IG5hbWU6IGljb25OYW1lLCBpY29uOiBpY29uQ2FudmFzLnRvRGF0YVVSTCgpIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBmb3JtYXR0ZWREaXJlY3Rpb246IEFycmF5PHtcbiAgICAgIGluc3RydWN0aW9uOiBzdHJpbmc7XG4gICAgICBpY29uOiBzdHJpbmc7XG4gICAgICBkaXN0YW5jZTogc3RyaW5nO1xuICAgIH0+ID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaXJlY3Rpb24uc3RlcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHN0ZXAgPSBkaXJlY3Rpb24uc3RlcHNbaV07XG4gICAgICBjb25zdCBpbnN0cnVjdGlvbiA9IGZvcm1hdEluc3RydWN0aW9uKFxuICAgICAgICBzdGVwLm1hbmV1dmVyLnR5cGUsXG4gICAgICAgIHN0ZXAubWFuZXV2ZXIubW9kaWZpZXIsXG4gICAgICAgIHN0ZXAubmFtZSxcbiAgICAgICAgc3RlcC5tYW5ldXZlci5iZWFyaW5nX2FmdGVyLFxuICAgICAgICBpLFxuICAgICAgICAoc3RlcC5tYW5ldXZlciBhcyBhbnkpLmV4aXQsXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgICBpID09PSBkaXJlY3Rpb24uc3RlcHMubGVuZ3RoIC0gMVxuICAgICAgKTtcblxuICAgICAgY29uc3QgZGlzdGFuY2UgPSBmb3JtYXREaXN0YW5jZShzdGVwLmRpc3RhbmNlKTtcbiAgICAgIGZvcm1hdHRlZERpcmVjdGlvbi5wdXNoKHtcbiAgICAgICAgaW5zdHJ1Y3Rpb246IGkgKyAxICsgJy4gJyArIGluc3RydWN0aW9uLmluc3RydWN0aW9uLFxuICAgICAgICBpY29uOiBpY29uc0FycmF5LmZpbmQoKGljb24pID0+IGljb24ubmFtZSA9PT0gaW5zdHJ1Y3Rpb24uaW1hZ2UpLmljb24sXG4gICAgICAgIGRpc3RhbmNlOiBkaXN0YW5jZSA/ICcoJyArIGRpc3RhbmNlICsgJyknIDogdW5kZWZpbmVkXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1hdHRlZERpcmVjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYWRkSW5zdHJ1Y3Rpb25zKFxuICAgIGRvYzoganNQREYsXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb24sXG4gICAgdGl0bGU6IHN0cmluZ1xuICApIHtcbiAgICBkb2MuYWRkUGFnZSgpO1xuICAgIGNvbnN0IHRpdGxlUG9zaXRpb24gPSAyNTtcbiAgICBkb2MudGV4dCh0aXRsZSwgZG9jLmludGVybmFsLnBhZ2VTaXplLndpZHRoIC8gMiwgdGl0bGVQb3NpdGlvbiwge1xuICAgICAgYWxpZ246ICdjZW50ZXInXG4gICAgfSk7XG4gICAgY29uc3QgSFRNTHRhYmxlID0gYXdhaXQgdGhpcy5zZXRIVE1MVGFibGVDb250ZW50KGRpcmVjdGlvbik7XG4gICAgY29uc3QgdGFibGVQb3MgPSB0aXRsZVBvc2l0aW9uICsgNTtcbiAgICAoZG9jIGFzIGFueSkuYXV0b1RhYmxlKHtcbiAgICAgIGh0bWw6IEhUTUx0YWJsZSxcbiAgICAgIHN0YXJ0WTogdGFibGVQb3MsXG4gICAgICBtYXJnaW46IHsgdG9wOiAyMCwgYm90dG9tOiAyMCB9LFxuICAgICAgY29sdW1uU3R5bGVzOiB7XG4gICAgICAgIDA6IHsgY2VsbFdpZHRoOiAxMCB9XG4gICAgICB9LFxuICAgICAgdGhlbWU6ICdwbGFpbicsXG4gICAgICBzdHlsZXM6IHtcbiAgICAgICAgZm9udFNpemU6IDEyXG4gICAgICB9LFxuICAgICAgZGlkRHJhd0NlbGw6IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIGlmIChkYXRhLmNvbHVtbi5pbmRleCA9PT0gMCAmJiBkYXRhLmNlbGwuc2VjdGlvbiA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgZGF0YS5yb3cuaGVpZ2h0ID0gMTA7XG4gICAgICAgICAgY29uc3QgdGQgPSBkYXRhLmNlbGwucmF3IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgIGNvbnN0IGltZyA9IHRkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbWcnKVswXTtcbiAgICAgICAgICBkb2MuYWRkSW1hZ2UoaW1nLnNyYywgZGF0YS5jZWxsLngsIGRhdGEuY2VsbC55LCA4LCA4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gc2F0aXNmaWVzIFVzZXJPcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UGFnZUhlYWRlckZvb3Rlcihkb2M6IGpzUERGKSB7XG4gICAgY29uc3QgcGFnZUNvdW50ID0gZG9jLmdldE51bWJlck9mUGFnZXMoKTtcbiAgICBjb25zdCBkYXRlID0gbW9tZW50KERhdGUubm93KCkpLmZvcm1hdCgnREQvTU0vWVlZWSBoaDptbScpLnRvU3RyaW5nKCk7XG5cbiAgICBjb25zdCBsb2dvQ29uZmlnID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnZGlyZWN0aW9uc1NvdXJjZXMubG9nbycpO1xuICAgIGNvbnN0IGxvZ28gPSBsb2dvQ29uZmlnID8gbG9nb0NvbmZpZyA6ICdhc3NldHMvbG9nby5wbmcnO1xuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHBhZ2VDb3VudDsgaW5kZXgrKykge1xuICAgICAgZG9jLnNldFBhZ2UoaW5kZXgpO1xuICAgICAgZG9jLnNldEZvbnRTaXplKDgpO1xuICAgICAgY29uc3QgcGFnZVNpemUgPSBkb2MuaW50ZXJuYWwucGFnZVNpemU7XG4gICAgICBjb25zdCBwYWdlSGVpZ2h0ID0gcGFnZVNpemUuaGVpZ2h0XG4gICAgICAgID8gcGFnZVNpemUuaGVpZ2h0XG4gICAgICAgIDogcGFnZVNpemUuZ2V0SGVpZ2h0KCk7XG4gICAgICBjb25zdCB3aWR0aCA9IHBhZ2VTaXplLndpZHRoID8gcGFnZVNpemUud2lkdGggOiBwYWdlU2l6ZS5nZXRXaWR0aCgpO1xuICAgICAgZG9jLnRleHQoZGF0ZSwgMTAsIDEwLCB7IGJhc2VsaW5lOiAndG9wJyB9KTtcbiAgICAgIGRvYy5hZGRJbWFnZShsb2dvLCAnUE5HJywgd2lkdGggLSAyMCwgNSwgMTAsIDEwKTtcbiAgICAgIGRvYy50ZXh0KGRhdGUsIDEwLCBwYWdlSGVpZ2h0IC0gMTApO1xuICAgICAgZG9jLnRleHQoXG4gICAgICAgICdQYWdlICcgKyBkb2MuZ2V0Q3VycmVudFBhZ2VJbmZvKCkucGFnZU51bWJlciArICcgLyAnICsgcGFnZUNvdW50LFxuICAgICAgICB3aWR0aCAtIDIwLFxuICAgICAgICBwYWdlSGVpZ2h0IC0gMTBcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9zaGFyZWQvZGlyZWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzVDLE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2xCLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFHNUIsTUFBTSxPQUFPLGlCQUFpQjtJQUVsQjtJQUNBO0lBQ0E7SUFDQTtJQUNrQjtJQUNsQjtJQU5WLFlBQ1UsdUJBQWdELEVBQ2hELGFBQTRCLEVBQzVCLGVBQWdDLEVB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LE9BQU8sR0FBRyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxVQUFVLEdBQUcsS0FBSyxHQUFHLFNBQVMsRUFDakUsS0FBSyxHQUFHLEVBQUUsRUFDVixVQUFVLEdBQUcsRUFBRSxDQUNoQixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7dUdBbk9VLGlCQUFpQixpSkFNbEIsUUFBUTsyR0FOUCxpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQU9OLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2FjdGl2aXR5JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IFN1YmplY3RTdGF0dXMgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnZ2VvanNvbic7XG5pbXBvcnQgaHRtbDJjYW52YXMgZnJvbSAnaHRtbDJjYW52YXMnO1xuaW1wb3J0IGpzUERGIGZyb20gJ2pzcGRmJztcbmltcG9ydCAnanNwZGYtYXV0b3RhYmxlJztcbmltcG9ydCB7IFVzZXJPcHRpb25zIH0gZnJvbSAnanNwZGYtYXV0b3RhYmxlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJpbnQvc2hhcmVkL3ByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJpbnRMZWdlbmRQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3ByaW50L3NoYXJlZC9wcmludC50eXBlJztcbmltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2UgfSBmcm9tICcuLi9kaXJlY3Rpb25zLXNvdXJjZXMvZGlyZWN0aW9ucy1zb3VyY2UnO1xuaW1wb3J0IHsgRGlyZWN0aW9uLCBEaXJlY3Rpb25PcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIGZvcm1hdERpc3RhbmNlLFxuICBmb3JtYXREdXJhdGlvbixcbiAgZm9ybWF0SW5zdHJ1Y3Rpb25cbn0gZnJvbSAnLi9kaXJlY3Rpb25zLnV0aWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpcmVjdGlvbnNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaXJlY3Rpb25zU291cmNlU2VydmljZTogRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmludFNlcnZpY2U6IFByaW50U2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIGFjdGl2aXR5U2VydmljZTogQWN0aXZpdHlTZXJ2aWNlXG4gICkge31cblxuICByb3V0ZShcbiAgICBjb29yZGluYXRlczogUG9zaXRpb25bXSxcbiAgICBkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9ucyA9IHt9XG4gICk6IE9ic2VydmFibGU8RGlyZWN0aW9uW10+IHtcbiAgICBpZiAoY29vcmRpbmF0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJvdXRlU291cmNlKFxuICAgICAgdGhpcy5kaXJlY3Rpb25zU291cmNlU2VydmljZS5zb3VyY2VzWzBdLFxuICAgICAgY29vcmRpbmF0ZXMsXG4gICAgICBkaXJlY3Rpb25zT3B0aW9uc1xuICAgICk7XG4gIH1cblxuICByb3V0ZVNvdXJjZShcbiAgICBzb3VyY2U6IERpcmVjdGlvbnNTb3VyY2UsXG4gICAgY29vcmRpbmF0ZXM6IFBvc2l0aW9uW10sXG4gICAgZGlyZWN0aW9uc09wdGlvbnM6IERpcmVjdGlvbk9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPERpcmVjdGlvbltdPiB7XG4gICAgY29uc3QgcmVxdWVzdCA9IHNvdXJjZS5yb3V0ZShjb29yZGluYXRlcywgZGlyZWN0aW9uc09wdGlvbnMpO1xuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgZG93bmxvYWREaXJlY3Rpb24oXG4gICAgbWFwOiBJZ29NYXAsXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb25cbiAgKTogT2JzZXJ2YWJsZTxTdWJqZWN0U3RhdHVzPiB7XG4gICAgY29uc3QgYWN0aXZpdHlJZCA9IHRoaXMuYWN0aXZpdHlTZXJ2aWNlLnJlZ2lzdGVyKCk7XG4gICAgY29uc3Qgc3RhdHVzJCA9IG5ldyBTdWJqZWN0PFN1YmplY3RTdGF0dXM+KCk7XG5cbiAgICBjb25zdCBkb2M6IGpzUERGID0gbmV3IGpzUERGKHtcbiAgICAgIG9yaWVudGF0aW9uOiAncCcsXG4gICAgICBmb3JtYXQ6ICdMZXR0ZXInLFxuICAgICAgdW5pdDogJ21tJyAvLyBkZWZhdWx0XG4gICAgfSk7XG5cbiAgICBjb25zdCB7IHdpZHRoOiBwYWdlV2lkdGgsIGhlaWdodDogcGFnZUhlaWdodCB9ID0gZG9jLmludGVybmFsLnBhZ2VTaXplO1xuXG4gICAgLyoqIHRvcCB8IHJpZ2h0IHwgYm90dG9tIHwgbGVmdCAqL1xuICAgIGNvbnN0IG1hcmdpbnM6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzIwLCAxMCwgMjAsIDEwXTtcbiAgICBjb25zdCB3aWR0aCA9IHBhZ2VXaWR0aCAtIG1hcmdpbnNbM10gLSBtYXJnaW5zWzFdO1xuICAgIGNvbnN0IGhlaWdodCA9IHBhZ2VIZWlnaHQgLSBtYXJnaW5zWzBdIC0gbWFyZ2luc1syXTtcbiAgICBjb25zdCBpbWFnZURpbWVuc2lvbnM6IFtudW1iZXIsIG51bWJlcl0gPSBbd2lkdGgsIGhlaWdodF07XG5cbiAgICBjb25zdCB0aXRsZSA9IGAke2RpcmVjdGlvbi50aXRsZX0gKCR7Zm9ybWF0RGlzdGFuY2UoXG4gICAgICBkaXJlY3Rpb24uZGlzdGFuY2VcbiAgICApfSwgJHtmb3JtYXREdXJhdGlvbihkaXJlY3Rpb24uZHVyYXRpb24pfSlgO1xuICAgIGNvbnN0IHRpdGxlUG9zaXRpb24gPSAyNTtcblxuICAgIGRvYy50ZXh0KHRpdGxlLCBkb2MuaW50ZXJuYWwucGFnZVNpemUud2lkdGggLyAyLCB0aXRsZVBvc2l0aW9uLCB7XG4gICAgICBhbGlnbjogJ2NlbnRlcidcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc29sdXRpb24gPSA5NjsgLy8gRGVmYXVsdCBpcyA5NlxuICAgIHRoaXMucHJpbnRTZXJ2aWNlXG4gICAgICAuYWRkTWFwKFxuICAgICAgICBkb2MsXG4gICAgICAgIG1hcCxcbiAgICAgICAgcmVzb2x1dGlvbixcbiAgICAgICAgaW1hZ2VEaW1lbnNpb25zLFxuICAgICAgICBtYXJnaW5zLFxuICAgICAgICBQcmludExlZ2VuZFBvc2l0aW9uLm5vbmVcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKHN0YXR1czogU3ViamVjdFN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBTdWJqZWN0U3RhdHVzLkRvbmUpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmFkZEluc3RydWN0aW9ucyhkb2MsIGRpcmVjdGlvbiwgdGl0bGUpO1xuICAgICAgICAgIHRoaXMuc2V0UGFnZUhlYWRlckZvb3Rlcihkb2MpO1xuICAgICAgICAgIGF3YWl0IGRvYy5zYXZlKGAke3RpdGxlfS5wZGZgLCB7IHJldHVyblByb21pc2U6IHRydWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2aXR5U2VydmljZS51bnJlZ2lzdGVyKGFjdGl2aXR5SWQpO1xuICAgICAgICBzdGF0dXMkLm5leHQoc3RhdHVzKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHN0YXR1cyQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldEhUTUxUYWJsZUNvbnRlbnQoXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb25cbiAgKTogUHJvbWlzZTxIVE1MVGFibGVFbGVtZW50PiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuZGlyZWN0aW9uc0luc3RydWN0aW9uKGRpcmVjdGlvbik7XG4gICAgY29uc3QgdGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0YWJsZScpO1xuICAgIGNvbnN0IHRibEJvZHkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0Ym9keScpO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkYXRhLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgZWxlbWVudCA9IGRhdGFbaW5kZXhdO1xuICAgICAgdmFyIHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7XG4gICAgICB2YXIgY2VsbEltYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTtcbiAgICAgIHZhciBjZWxsVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7XG4gICAgICAvLyBpY29uXG4gICAgICBjb25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKSBhcyBIVE1MSW1hZ2VFbGVtZW50O1xuICAgICAgaW1nLnNyYyA9IGVsZW1lbnQuaWNvbjtcbiAgICAgIC8vIGluc3RydWN0aW9uIHRleHRcbiAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBzcGFuLmlubmVySFRNTCA9IGVsZW1lbnQuaW5zdHJ1Y3Rpb247XG4gICAgICBjZWxsSW1hZ2UuYXBwZW5kQ2hpbGQoaW1nKTtcbiAgICAgIGNlbGxUZXh0LmFwcGVuZENoaWxkKHNwYW4pO1xuICAgICAgaWYgKGVsZW1lbnQuZGlzdGFuY2UpIHtcbiAgICAgICAgY29uc3Qgc3BhbkRpc3RhbmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBzcGFuRGlzdGFuY2Uuc3R5bGUudmVydGljYWxBbGlnbiA9ICdtaWRkbGUnO1xuICAgICAgICBzcGFuRGlzdGFuY2UuaW5uZXJIVE1MID1cbiAgICAgICAgICAnJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JyArIGVsZW1lbnQuZGlzdGFuY2U7XG4gICAgICAgIGNlbGxUZXh0LmFwcGVuZENoaWxkKHNwYW5EaXN0YW5jZSk7XG4gICAgICB9XG4gICAgICByb3cuYXBwZW5kKGNlbGxJbWFnZSk7XG4gICAgICByb3cuYXBwZW5kKGNlbGxUZXh0KTtcbiAgICAgIHRibEJvZHkuYXBwZW5kQ2hpbGQocm93KTtcbiAgICB9XG4gICAgdGFibGUuYXBwZW5kQ2hpbGQodGJsQm9keSk7XG4gICAgcmV0dXJuIHRhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkaXJlY3Rpb25zSW5zdHJ1Y3Rpb24oXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb25cbiAgKTogUHJvbWlzZTxBcnJheTx7IGluc3RydWN0aW9uOiBzdHJpbmc7IGljb246IHN0cmluZzsgZGlzdGFuY2U6IHN0cmluZyB9Pj4ge1xuICAgIGNvbnN0IG1hdExpc3RJdGVtcyA9IHRoaXMuZG9jdW1lbnRcbiAgICAgIC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWdvLWRpcmVjdGlvbnMtcmVzdWx0cycpWzBdXG4gICAgICAuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21hdC1saXN0JylbMF07XG4gICAgY29uc3QgbWF0TGlzdEl0ZW0gPSBtYXRMaXN0SXRlbXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21hdC1saXN0LWl0ZW0nKTtcbiAgICAvLyBjb252ZXJ0IGljb24gbGlzdCB0byBiYXNlNjRcbiAgICBsZXQgaWNvbnNBcnJheTogQXJyYXk8eyBuYW1lOiBzdHJpbmc7IGljb246IHN0cmluZyB9PiA9IFtdO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtYXRMaXN0SXRlbS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBtYXRMaXN0SXRlbVtpbmRleF07XG4gICAgICBjb25zdCBpY29uID0gZWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbWF0LWljb24nKVswXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGNvbnN0IGljb25OYW1lID0gaWNvbi5nZXRBdHRyaWJ1dGUoJ2RhdGEtbWF0LWljb24tbmFtZScpIGFzIHN0cmluZztcbiAgICAgIGNvbnN0IGZvdW5kID0gaWNvbnNBcnJheS5zb21lKChlbCkgPT4gZWwubmFtZSA9PT0gaWNvbk5hbWUpO1xuICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICBjb25zdCBpY29uQ2FudmFzID0gYXdhaXQgaHRtbDJjYW52YXMoaWNvbiwgeyBzY2FsZTogMyB9KTtcbiAgICAgICAgaWNvbnNBcnJheS5wdXNoKHsgbmFtZTogaWNvbk5hbWUsIGljb246IGljb25DYW52YXMudG9EYXRhVVJMKCkgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGZvcm1hdHRlZERpcmVjdGlvbjogQXJyYXk8e1xuICAgICAgaW5zdHJ1Y3Rpb246IHN0cmluZztcbiAgICAgIGljb246IHN0cmluZztcbiAgICAgIGRpc3RhbmNlOiBzdHJpbmc7XG4gICAgfT4gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpcmVjdGlvbi5zdGVwcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qgc3RlcCA9IGRpcmVjdGlvbi5zdGVwc1tpXTtcbiAgICAgIGNvbnN0IGluc3RydWN0aW9uID0gZm9ybWF0SW5zdHJ1Y3Rpb24oXG4gICAgICAgIHN0ZXAubWFuZXV2ZXIudHlwZSxcbiAgICAgICAgc3RlcC5tYW5ldXZlci5tb2RpZmllcixcbiAgICAgICAgc3RlcC5uYW1lLFxuICAgICAgICBzdGVwLm1hbmV1dmVyLmJlYXJpbmdfYWZ0ZXIsXG4gICAgICAgIGksXG4gICAgICAgIChzdGVwLm1hbmV1dmVyIGFzIGFueSkuZXhpdCxcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UsXG4gICAgICAgIGkgPT09IGRpcmVjdGlvbi5zdGVwcy5sZW5ndGggLSAxXG4gICAgICApO1xuXG4gICAgICBjb25zdCBkaXN0YW5jZSA9IGZvcm1hdERpc3RhbmNlKHN0ZXAuZGlzdGFuY2UpO1xuICAgICAgZm9ybWF0dGVkRGlyZWN0aW9uLnB1c2goe1xuICAgICAgICBpbnN0cnVjdGlvbjogaSArIDEgKyAnLiAnICsgaW5zdHJ1Y3Rpb24uaW5zdHJ1Y3Rpb24sXG4gICAgICAgIGljb246IGljb25zQXJyYXkuZmluZCgoaWNvbikgPT4gaWNvbi5uYW1lID09PSBpbnN0cnVjdGlvbi5pbWFnZSkuaWNvbixcbiAgICAgICAgZGlzdGFuY2U6IGRpc3RhbmNlID8gJygnICsgZGlzdGFuY2UgKyAnKScgOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0dGVkRGlyZWN0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhZGRJbnN0cnVjdGlvbnMoXG4gICAgZG9jOiBqc1BERixcbiAgICBkaXJlY3Rpb246IERpcmVjdGlvbixcbiAgICB0aXRsZTogc3RyaW5nXG4gICkge1xuICAgIGRvYy5hZGRQYWdlKCk7XG4gICAgY29uc3QgdGl0bGVQb3NpdGlvbiA9IDI1O1xuICAgIGRvYy50ZXh0KHRpdGxlLCBkb2MuaW50ZXJuYWwucGFnZVNpemUud2lkdGggLyAyLCB0aXRsZVBvc2l0aW9uLCB7XG4gICAgICBhbGlnbjogJ2NlbnRlcidcbiAgICB9KTtcbiAgICBjb25zdCBIVE1MdGFibGUgPSBhd2FpdCB0aGlzLnNldEhUTUxUYWJsZUNvbnRlbnQoZGlyZWN0aW9uKTtcbiAgICBjb25zdCB0YWJsZVBvcyA9IHRpdGxlUG9zaXRpb24gKyA1O1xuICAgIChkb2MgYXMgYW55KS5hdXRvVGFibGUoe1xuICAgICAgaHRtbDogSFRNTHRhYmxlLFxuICAgICAgc3RhcnRZOiB0YWJsZVBvcyxcbiAgICAgIG1hcmdpbjogeyB0b3A6IDIwLCBib3R0b206IDIwIH0sXG4gICAgICBjb2x1bW5TdHlsZXM6IHtcbiAgICAgICAgMDogeyBjZWxsV2lkdGg6IDEwIH1cbiAgICAgIH0sXG4gICAgICB0aGVtZTogJ3BsYWluJyxcbiAgICAgIHN0eWxlczoge1xuICAgICAgICBmb250U2l6ZTogMTJcbiAgICAgIH0sXG4gICAgICBkaWREcmF3Q2VsbDogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgaWYgKGRhdGEuY29sdW1uLmluZGV4ID09PSAwICYmIGRhdGEuY2VsbC5zZWN0aW9uID09PSAnYm9keScpIHtcbiAgICAgICAgICBkYXRhLnJvdy5oZWlnaHQgPSAxMDtcbiAgICAgICAgICBjb25zdCB0ZCA9IGRhdGEuY2VsbC5yYXcgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgY29uc3QgaW1nID0gdGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpWzBdO1xuICAgICAgICAgIGRvYy5hZGRJbWFnZShpbWcuc3JjLCBkYXRhLmNlbGwueCwgZGF0YS5jZWxsLnksIDgsIDgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBzYXRpc2ZpZXMgVXNlck9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQYWdlSGVhZGVyRm9vdGVyKGRvYzoganNQREYpIHtcbiAgICBjb25zdCBwYWdlQ291bnQgPSBkb2MuZ2V0TnVtYmVyT2ZQYWdlcygpO1xuICAgIGNvbnN0IGRhdGUgPSBtb21lbnQoRGF0ZS5ub3coKSkuZm9ybWF0KCdERC9NTS9ZWVlZIGhoOm1tJykudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IGxvZ29Db25maWcgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdkaXJlY3Rpb25zU291cmNlcy5sb2dvJyk7XG4gICAgY29uc3QgbG9nbyA9IGxvZ29Db25maWcgPyBsb2dvQ29uZmlnIDogJ2Fzc2V0cy9sb2dvLnBuZyc7XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgcGFnZUNvdW50OyBpbmRleCsrKSB7XG4gICAgICBkb2Muc2V0UGFnZShpbmRleCk7XG4gICAgICBkb2Muc2V0Rm9udFNpemUoOCk7XG4gICAgICBjb25zdCBwYWdlU2l6ZSA9IGRvYy5pbnRlcm5hbC5wYWdlU2l6ZTtcbiAgICAgIGNvbnN0IHBhZ2VIZWlnaHQgPSBwYWdlU2l6ZS5oZWlnaHRcbiAgICAgICAgPyBwYWdlU2l6ZS5oZWlnaHRcbiAgICAgICAgOiBwYWdlU2l6ZS5nZXRIZWlnaHQoKTtcbiAgICAgIGNvbnN0IHdpZHRoID0gcGFnZVNpemUud2lkdGggPyBwYWdlU2l6ZS53aWR0aCA6IHBhZ2VTaXplLmdldFdpZHRoKCk7XG4gICAgICBkb2MudGV4dChkYXRlLCAxMCwgMTAsIHsgYmFzZWxpbmU6ICd0b3AnIH0pO1xuICAgICAgZG9jLmFkZEltYWdlKGxvZ28sICdQTkcnLCB3aWR0aCAtIDIwLCA1LCAxMCwgMTApO1xuICAgICAgZG9jLnRleHQoZGF0ZSwgMTAsIHBhZ2VIZWlnaHQgLSAxMCk7XG4gICAgICBkb2MudGV4dChcbiAgICAgICAgJ1BhZ2UgJyArIGRvYy5nZXRDdXJyZW50UGFnZUluZm8oKS5wYWdlTnVtYmVyICsgJyAvICcgKyBwYWdlQ291bnQsXG4gICAgICAgIHdpZHRoIC0gMjAsXG4gICAgICAgIHBhZ2VIZWlnaHQgLSAxMFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==