@igo2/geo 18.0.0 → 18.0.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/fesm2022/igo2-geo.mjs +684 -709
  2. package/fesm2022/igo2-geo.mjs.map +1 -1
  3. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  4. package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
  5. package/lib/style/style-list/style-list.provider.d.ts +1 -8
  6. package/lib/style/style-list/style-list.service.d.ts +1 -1
  7. package/package.json +15 -17
  8. package/src/lib/layer/layer-list/layer-list.theme.scss +2 -1
  9. package/src/lib/map/menu-button/menu-button.theming.scss +3 -3
  10. package/src/style/style.scss +1 -1
  11. package/esm2022/igo2-geo.mjs +0 -5
  12. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +0 -234
  13. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +0 -272
  14. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +0 -246
  15. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +0 -19
  16. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +0 -136
  17. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +0 -60
  18. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +0 -232
  19. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +0 -24
  20. package/esm2022/lib/catalog/catalog-library/index.mjs +0 -4
  21. package/esm2022/lib/catalog/catalog.module.mjs +0 -26
  22. package/esm2022/lib/catalog/index.mjs +0 -6
  23. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +0 -32
  24. package/esm2022/lib/catalog/shared/catalog.enum.mjs +0 -16
  25. package/esm2022/lib/catalog/shared/catalog.interface.mjs +0 -2
  26. package/esm2022/lib/catalog/shared/catalog.service.mjs +0 -706
  27. package/esm2022/lib/catalog/shared/catalogs.mjs +0 -75
  28. package/esm2022/lib/catalog/shared/index.mjs +0 -5
  29. package/esm2022/lib/datasource/index.mjs +0 -3
  30. package/esm2022/lib/datasource/shared/capabilities.interface.mjs +0 -17
  31. package/esm2022/lib/datasource/shared/capabilities.service.mjs +0 -441
  32. package/esm2022/lib/datasource/shared/datasource.service.mjs +0 -258
  33. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +0 -2
  34. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +0 -2
  35. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +0 -2
  36. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +0 -222
  37. package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +0 -2
  38. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +0 -118
  39. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +0 -2
  40. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +0 -24
  41. package/esm2022/lib/datasource/shared/datasources/data.service.mjs +0 -3
  42. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +0 -2
  43. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +0 -41
  44. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +0 -2
  45. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +0 -52
  46. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +0 -2
  47. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +0 -70
  48. package/esm2022/lib/datasource/shared/datasources/index.mjs +0 -36
  49. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +0 -2
  50. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +0 -33
  51. package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +0 -2
  52. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +0 -14
  53. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +0 -2
  54. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +0 -60
  55. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +0 -2
  56. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +0 -17
  57. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +0 -2
  58. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +0 -56
  59. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +0 -2
  60. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +0 -137
  61. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +0 -170
  62. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +0 -2
  63. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +0 -227
  64. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +0 -224
  65. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +0 -2
  66. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +0 -18
  67. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +0 -2
  68. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +0 -11
  69. package/esm2022/lib/datasource/shared/index.mjs +0 -6
  70. package/esm2022/lib/datasource/shared/options/index.mjs +0 -5
  71. package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +0 -2
  72. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +0 -15
  73. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +0 -85
  74. package/esm2022/lib/datasource/shared/options/options.service.mjs +0 -3
  75. package/esm2022/lib/datasource/utils/index.mjs +0 -2
  76. package/esm2022/lib/datasource/utils/tilegrid.mjs +0 -20
  77. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +0 -246
  78. package/esm2022/lib/directions/directions-buttons/index.mjs +0 -2
  79. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +0 -312
  80. package/esm2022/lib/directions/directions-inputs/index.mjs +0 -2
  81. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +0 -192
  82. package/esm2022/lib/directions/directions-results/index.mjs +0 -2
  83. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +0 -5
  84. package/esm2022/lib/directions/directions-sources/directions-source.mjs +0 -3
  85. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +0 -23
  86. package/esm2022/lib/directions/directions-sources/index.mjs +0 -5
  87. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +0 -159
  88. package/esm2022/lib/directions/directions.component.mjs +0 -437
  89. package/esm2022/lib/directions/directions.module.mjs +0 -46
  90. package/esm2022/lib/directions/directions.provider.mjs +0 -16
  91. package/esm2022/lib/directions/index.mjs +0 -8
  92. package/esm2022/lib/directions/shared/directions-source.service.mjs +0 -18
  93. package/esm2022/lib/directions/shared/directions.enum.mjs +0 -72
  94. package/esm2022/lib/directions/shared/directions.interface.mjs +0 -2
  95. package/esm2022/lib/directions/shared/directions.service.mjs +0 -239
  96. package/esm2022/lib/directions/shared/directions.utils.mjs +0 -522
  97. package/esm2022/lib/directions/shared/index.mjs +0 -6
  98. package/esm2022/lib/directions/shared/store.mjs +0 -21
  99. package/esm2022/lib/download/download-button/download-button.component.mjs +0 -48
  100. package/esm2022/lib/download/download-button/index.mjs +0 -2
  101. package/esm2022/lib/download/download.module.mjs +0 -24
  102. package/esm2022/lib/download/index.mjs +0 -3
  103. package/esm2022/lib/download/shared/download.interface.mjs +0 -2
  104. package/esm2022/lib/download/shared/download.service.mjs +0 -67
  105. package/esm2022/lib/download/shared/index.mjs +0 -3
  106. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +0 -42
  107. package/esm2022/lib/draw/draw/draw-popup.component.mjs +0 -421
  108. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +0 -28
  109. package/esm2022/lib/draw/draw/draw.component.mjs +0 -1136
  110. package/esm2022/lib/draw/draw/draw.module.mjs +0 -19
  111. package/esm2022/lib/draw/drawingTool.module.mjs +0 -18
  112. package/esm2022/lib/draw/index.mjs +0 -3
  113. package/esm2022/lib/draw/shared/draw-icon.service.mjs +0 -30
  114. package/esm2022/lib/draw/shared/draw.enum.mjs +0 -21
  115. package/esm2022/lib/draw/shared/draw.interface.mjs +0 -2
  116. package/esm2022/lib/draw/shared/draw.utils.mjs +0 -125
  117. package/esm2022/lib/draw/shared/index.mjs +0 -5
  118. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  119. package/esm2022/lib/environment/index.mjs +0 -2
  120. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +0 -306
  121. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +0 -56
  122. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +0 -26
  123. package/esm2022/lib/feature/feature-details/index.mjs +0 -4
  124. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +0 -101
  125. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +0 -19
  126. package/esm2022/lib/feature/feature.module.mjs +0 -26
  127. package/esm2022/lib/feature/index.mjs +0 -5
  128. package/esm2022/lib/feature/shared/feature-store.utils.mjs +0 -28
  129. package/esm2022/lib/feature/shared/feature.enums.mjs +0 -9
  130. package/esm2022/lib/feature/shared/feature.interfaces.mjs +0 -2
  131. package/esm2022/lib/feature/shared/feature.utils.mjs +0 -332
  132. package/esm2022/lib/feature/shared/index.mjs +0 -8
  133. package/esm2022/lib/feature/shared/store.mjs +0 -143
  134. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +0 -216
  135. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +0 -119
  136. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +0 -99
  137. package/esm2022/lib/feature/shared/strategies/index.mjs +0 -8
  138. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +0 -103
  139. package/esm2022/lib/feature/shared/strategies/loading.mjs +0 -136
  140. package/esm2022/lib/feature/shared/strategies/search.mjs +0 -158
  141. package/esm2022/lib/feature/shared/strategies/selection.mjs +0 -385
  142. package/esm2022/lib/feature/shared/strategies.utils.mjs +0 -37
  143. package/esm2022/lib/filter/filter.module.mjs +0 -131
  144. package/esm2022/lib/filter/index.mjs +0 -17
  145. package/esm2022/lib/filter/ogc-filter-button/index.mjs +0 -2
  146. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +0 -141
  147. package/esm2022/lib/filter/ogc-filter-form/index.mjs +0 -2
  148. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +0 -325
  149. package/esm2022/lib/filter/ogc-filter-selection/index.mjs +0 -2
  150. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +0 -787
  151. package/esm2022/lib/filter/ogc-filter-time/index.mjs +0 -3
  152. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +0 -201
  153. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +0 -665
  154. package/esm2022/lib/filter/ogc-filterable-form/index.mjs +0 -2
  155. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +0 -66
  156. package/esm2022/lib/filter/ogc-filterable-item/index.mjs +0 -2
  157. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +0 -244
  158. package/esm2022/lib/filter/ogc-filterable-list/index.mjs +0 -3
  159. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +0 -39
  160. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +0 -32
  161. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +0 -63
  162. package/esm2022/lib/filter/shared/index.mjs +0 -12
  163. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +0 -72
  164. package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +0 -30
  165. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +0 -2
  166. package/esm2022/lib/filter/shared/ogc-filter.mjs +0 -756
  167. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +0 -47
  168. package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +0 -23
  169. package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +0 -2
  170. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +0 -282
  171. package/esm2022/lib/filter/shared/time-filter.enum.mjs +0 -13
  172. package/esm2022/lib/filter/shared/time-filter.interface.mjs +0 -2
  173. package/esm2022/lib/filter/shared/time-filter.service.mjs +0 -107
  174. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +0 -2
  175. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +0 -875
  176. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +0 -2
  177. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +0 -191
  178. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +0 -2
  179. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +0 -120
  180. package/esm2022/lib/filter/time-filter-button/index.mjs +0 -2
  181. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +0 -70
  182. package/esm2022/lib/filter/time-filter-form/index.mjs +0 -2
  183. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +0 -537
  184. package/esm2022/lib/filter/time-filter-item/index.mjs +0 -2
  185. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +0 -90
  186. package/esm2022/lib/filter/time-filter-list/index.mjs +0 -3
  187. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +0 -39
  188. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +0 -24
  189. package/esm2022/lib/geo.module.mjs +0 -63
  190. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +0 -559
  191. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +0 -170
  192. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +0 -24
  193. package/esm2022/lib/geometry/geometry-form-field/index.mjs +0 -4
  194. package/esm2022/lib/geometry/geometry.module.mjs +0 -18
  195. package/esm2022/lib/geometry/index.mjs +0 -3
  196. package/esm2022/lib/geometry/shared/controls/draw.mjs +0 -340
  197. package/esm2022/lib/geometry/shared/controls/index.mjs +0 -4
  198. package/esm2022/lib/geometry/shared/controls/modify.mjs +0 -538
  199. package/esm2022/lib/geometry/shared/controls/slice.mjs +0 -190
  200. package/esm2022/lib/geometry/shared/geometry.errors.mjs +0 -24
  201. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +0 -2
  202. package/esm2022/lib/geometry/shared/geometry.utils.mjs +0 -113
  203. package/esm2022/lib/geometry/shared/index.mjs +0 -5
  204. package/esm2022/lib/import-export/export-button/export-button.component.mjs +0 -49
  205. package/esm2022/lib/import-export/export-button/index.mjs +0 -2
  206. package/esm2022/lib/import-export/import-export/import-export.component.mjs +0 -876
  207. package/esm2022/lib/import-export/import-export/index.mjs +0 -2
  208. package/esm2022/lib/import-export/import-export.module.mjs +0 -31
  209. package/esm2022/lib/import-export/index.mjs +0 -5
  210. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +0 -114
  211. package/esm2022/lib/import-export/shared/export.errors.mjs +0 -15
  212. package/esm2022/lib/import-export/shared/export.interface.mjs +0 -2
  213. package/esm2022/lib/import-export/shared/export.service.mjs +0 -378
  214. package/esm2022/lib/import-export/shared/export.type.mjs +0 -13
  215. package/esm2022/lib/import-export/shared/export.utils.mjs +0 -51
  216. package/esm2022/lib/import-export/shared/import.errors.mjs +0 -39
  217. package/esm2022/lib/import-export/shared/import.interface.mjs +0 -2
  218. package/esm2022/lib/import-export/shared/import.service.mjs +0 -221
  219. package/esm2022/lib/import-export/shared/import.utils.mjs +0 -203
  220. package/esm2022/lib/import-export/shared/index.mjs +0 -11
  221. package/esm2022/lib/layer/index.mjs +0 -16
  222. package/esm2022/lib/layer/layer-group/index.mjs +0 -2
  223. package/esm2022/lib/layer/layer-group/layer-group.component.mjs +0 -103
  224. package/esm2022/lib/layer/layer-item/index.mjs +0 -2
  225. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +0 -196
  226. package/esm2022/lib/layer/layer-legend/index.mjs +0 -2
  227. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +0 -287
  228. package/esm2022/lib/layer/layer-legend-item/index.mjs +0 -2
  229. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +0 -85
  230. package/esm2022/lib/layer/layer-legend-list/index.mjs +0 -3
  231. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +0 -54
  232. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +0 -104
  233. package/esm2022/lib/layer/layer-list/index.mjs +0 -2
  234. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +0 -232
  235. package/esm2022/lib/layer/layer-list-tool/index.mjs +0 -4
  236. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +0 -92
  237. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +0 -7
  238. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +0 -61
  239. package/esm2022/lib/layer/layer-search/index.mjs +0 -2
  240. package/esm2022/lib/layer/layer-search/layer-search.component.mjs +0 -65
  241. package/esm2022/lib/layer/layer-unavailable/index.mjs +0 -3
  242. package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +0 -25
  243. package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +0 -35
  244. package/esm2022/lib/layer/layer-viewer/index.mjs +0 -3
  245. package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +0 -226
  246. package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +0 -2
  247. package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +0 -2
  248. package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +0 -207
  249. package/esm2022/lib/layer/layer-visibility-button/index.mjs +0 -2
  250. package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +0 -83
  251. package/esm2022/lib/layer/layer.module.mjs +0 -107
  252. package/esm2022/lib/layer/shared/clusterParam.mjs +0 -2
  253. package/esm2022/lib/layer/shared/index.mjs +0 -6
  254. package/esm2022/lib/layer/shared/layer-controller.mjs +0 -316
  255. package/esm2022/lib/layer/shared/layer-selection.mjs +0 -38
  256. package/esm2022/lib/layer/shared/layer.enums.mjs +0 -2
  257. package/esm2022/lib/layer/shared/layer.service.mjs +0 -315
  258. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +0 -2
  259. package/esm2022/lib/layer/shared/layers/any-layer.mjs +0 -2
  260. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +0 -2
  261. package/esm2022/lib/layer/shared/layers/image-layer.mjs +0 -75
  262. package/esm2022/lib/layer/shared/layers/index.mjs +0 -18
  263. package/esm2022/lib/layer/shared/layers/layer-base.mjs +0 -199
  264. package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +0 -2
  265. package/esm2022/lib/layer/shared/layers/layer-group.mjs +0 -120
  266. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +0 -7
  267. package/esm2022/lib/layer/shared/layers/layer.mjs +0 -178
  268. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +0 -2
  269. package/esm2022/lib/layer/shared/layers/linked/index.mjs +0 -4
  270. package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +0 -12
  271. package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +0 -242
  272. package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +0 -70
  273. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +0 -2
  274. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +0 -55
  275. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +0 -2
  276. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +0 -576
  277. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +0 -2
  278. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +0 -112
  279. package/esm2022/lib/layer/track-feature-button/index.mjs +0 -2
  280. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +0 -54
  281. package/esm2022/lib/layer/utils/image-watcher.mjs +0 -62
  282. package/esm2022/lib/layer/utils/index.mjs +0 -6
  283. package/esm2022/lib/layer/utils/layer.utils.mjs +0 -57
  284. package/esm2022/lib/layer/utils/outputLegend.mjs +0 -32
  285. package/esm2022/lib/layer/utils/tile-watcher.mjs +0 -52
  286. package/esm2022/lib/layer/utils/vector-watcher.mjs +0 -50
  287. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +0 -20
  288. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +0 -87
  289. package/esm2022/lib/map/baselayers-switcher/index.mjs +0 -3
  290. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +0 -122
  291. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +0 -78
  292. package/esm2022/lib/map/geolocate-button/index.mjs +0 -2
  293. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +0 -73
  294. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +0 -2
  295. package/esm2022/lib/map/home-extent-button/index.mjs +0 -3
  296. package/esm2022/lib/map/index.mjs +0 -14
  297. package/esm2022/lib/map/info-section/index.mjs +0 -2
  298. package/esm2022/lib/map/info-section/info-section.component.mjs +0 -15
  299. package/esm2022/lib/map/map-browser/index.mjs +0 -2
  300. package/esm2022/lib/map/map-browser/map-browser.component.mjs +0 -67
  301. package/esm2022/lib/map/map-center/index.mjs +0 -2
  302. package/esm2022/lib/map/map-center/map-center.component.mjs +0 -56
  303. package/esm2022/lib/map/map.module.mjs +0 -89
  304. package/esm2022/lib/map/menu-button/index.mjs +0 -2
  305. package/esm2022/lib/map/menu-button/menu-button.component.mjs +0 -57
  306. package/esm2022/lib/map/offline-button/index.mjs +0 -2
  307. package/esm2022/lib/map/offline-button/offline-button.component.mjs +0 -53
  308. package/esm2022/lib/map/rotation-button/index.mjs +0 -2
  309. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +0 -58
  310. package/esm2022/lib/map/shared/controllers/controller.mjs +0 -44
  311. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +0 -8
  312. package/esm2022/lib/map/shared/controllers/geolocation.mjs +0 -431
  313. package/esm2022/lib/map/shared/controllers/index.mjs +0 -5
  314. package/esm2022/lib/map/shared/controllers/view.mjs +0 -361
  315. package/esm2022/lib/map/shared/hover-feature.directive.mjs +0 -481
  316. package/esm2022/lib/map/shared/index.mjs +0 -15
  317. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +0 -238
  318. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +0 -122
  319. package/esm2022/lib/map/shared/map.abstract.mjs +0 -24
  320. package/esm2022/lib/map/shared/map.enums.mjs +0 -6
  321. package/esm2022/lib/map/shared/map.interface.mjs +0 -2
  322. package/esm2022/lib/map/shared/map.mjs +0 -201
  323. package/esm2022/lib/map/shared/map.service.mjs +0 -29
  324. package/esm2022/lib/map/shared/map.utils.mjs +0 -455
  325. package/esm2022/lib/map/shared/mapOffline.directive.mjs +0 -114
  326. package/esm2022/lib/map/shared/projection.interfaces.mjs +0 -2
  327. package/esm2022/lib/map/shared/projection.service.mjs +0 -67
  328. package/esm2022/lib/map/shared/projection.utils.mjs +0 -122
  329. package/esm2022/lib/map/swipe-control/index.mjs +0 -2
  330. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +0 -211
  331. package/esm2022/lib/map/utils/index.mjs +0 -2
  332. package/esm2022/lib/map/utils/layer-watcher.mjs +0 -112
  333. package/esm2022/lib/map/wake-lock-button/index.mjs +0 -2
  334. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +0 -103
  335. package/esm2022/lib/map/zoom-button/index.mjs +0 -2
  336. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +0 -35
  337. package/esm2022/lib/measure/index.mjs +0 -3
  338. package/esm2022/lib/measure/measure.module.mjs +0 -20
  339. package/esm2022/lib/measure/measurer/index.mjs +0 -6
  340. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +0 -40
  341. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +0 -38
  342. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +0 -143
  343. package/esm2022/lib/measure/measurer/measurer.component.mjs +0 -948
  344. package/esm2022/lib/measure/measurer/measurer.module.mjs +0 -20
  345. package/esm2022/lib/measure/shared/index.mjs +0 -4
  346. package/esm2022/lib/measure/shared/measure.enum.mjs +0 -37
  347. package/esm2022/lib/measure/shared/measure.interfaces.mjs +0 -2
  348. package/esm2022/lib/measure/shared/measure.utils.mjs +0 -497
  349. package/esm2022/lib/metadata/index.mjs +0 -4
  350. package/esm2022/lib/metadata/metadata-button/index.mjs +0 -2
  351. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +0 -96
  352. package/esm2022/lib/metadata/metadata.module.mjs +0 -29
  353. package/esm2022/lib/metadata/shared/index.mjs +0 -3
  354. package/esm2022/lib/metadata/shared/metadata.interface.mjs +0 -2
  355. package/esm2022/lib/metadata/shared/metadata.service.mjs +0 -18
  356. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +0 -130
  357. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +0 -6
  358. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +0 -2
  359. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +0 -172
  360. package/esm2022/lib/offline/geoDB/index.mjs +0 -5
  361. package/esm2022/lib/offline/index.mjs +0 -6
  362. package/esm2022/lib/offline/layerDB/index.mjs +0 -3
  363. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +0 -2
  364. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +0 -83
  365. package/esm2022/lib/offline/offline.interface.mjs +0 -2
  366. package/esm2022/lib/offline/offline.provider.mjs +0 -50
  367. package/esm2022/lib/offline/shared/geo-network.service.mjs +0 -79
  368. package/esm2022/lib/offline/shared/index.mjs +0 -2
  369. package/esm2022/lib/overlay/index.mjs +0 -2
  370. package/esm2022/lib/overlay/shared/index.mjs +0 -4
  371. package/esm2022/lib/overlay/shared/overlay.enum.mjs +0 -8
  372. package/esm2022/lib/overlay/shared/overlay.mjs +0 -139
  373. package/esm2022/lib/overlay/shared/overlay.utils.mjs +0 -17
  374. package/esm2022/lib/print/index.mjs +0 -4
  375. package/esm2022/lib/print/print/print.component.mjs +0 -116
  376. package/esm2022/lib/print/print-form/index.mjs +0 -2
  377. package/esm2022/lib/print/print-form/print-form.component.mjs +0 -320
  378. package/esm2022/lib/print/print.module.mjs +0 -20
  379. package/esm2022/lib/print/shared/geopdf.mjs +0 -68
  380. package/esm2022/lib/print/shared/index.mjs +0 -5
  381. package/esm2022/lib/print/shared/print.interface.mjs +0 -2
  382. package/esm2022/lib/print/shared/print.service.mjs +0 -1136
  383. package/esm2022/lib/print/shared/print.type.mjs +0 -30
  384. package/esm2022/lib/query/index.mjs +0 -2
  385. package/esm2022/lib/query/query.module.mjs +0 -27
  386. package/esm2022/lib/query/shared/index.mjs +0 -8
  387. package/esm2022/lib/query/shared/query-search-source.mjs +0 -35
  388. package/esm2022/lib/query/shared/query-search-source.providers.mjs +0 -22
  389. package/esm2022/lib/query/shared/query.directive.mjs +0 -290
  390. package/esm2022/lib/query/shared/query.enums.mjs +0 -32
  391. package/esm2022/lib/query/shared/query.interfaces.mjs +0 -2
  392. package/esm2022/lib/query/shared/query.service.mjs +0 -753
  393. package/esm2022/lib/query/shared/query.utils.mjs +0 -45
  394. package/esm2022/lib/search/index.mjs +0 -10
  395. package/esm2022/lib/search/search-bar/search-bar.component.mjs +0 -483
  396. package/esm2022/lib/search/search-bar/search-bar.module.mjs +0 -19
  397. package/esm2022/lib/search/search-results/index.mjs +0 -5
  398. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +0 -101
  399. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +0 -433
  400. package/esm2022/lib/search/search-results/search-results-item.component.mjs +0 -119
  401. package/esm2022/lib/search/search-results/search-results.component.mjs +0 -297
  402. package/esm2022/lib/search/search-results/search-results.directive.mjs +0 -7
  403. package/esm2022/lib/search/search-results/search-results.module.mjs +0 -20
  404. package/esm2022/lib/search/search-selector/search-selector.component.mjs +0 -118
  405. package/esm2022/lib/search/search-selector/search-selector.module.mjs +0 -19
  406. package/esm2022/lib/search/search-settings/search-settings.component.mjs +0 -264
  407. package/esm2022/lib/search/search-settings/search-settings.module.mjs +0 -19
  408. package/esm2022/lib/search/search.module.mjs +0 -77
  409. package/esm2022/lib/search/shared/index.mjs +0 -10
  410. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +0 -328
  411. package/esm2022/lib/search/shared/search-source-service.providers.mjs +0 -20
  412. package/esm2022/lib/search/shared/search-source.service.mjs +0 -56
  413. package/esm2022/lib/search/shared/search.enums.mjs +0 -4
  414. package/esm2022/lib/search/shared/search.interfaces.mjs +0 -2
  415. package/esm2022/lib/search/shared/search.provider.mjs +0 -20
  416. package/esm2022/lib/search/shared/search.service.mjs +0 -149
  417. package/esm2022/lib/search/shared/search.utils.mjs +0 -92
  418. package/esm2022/lib/search/shared/sources/cadastre.mjs +0 -142
  419. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +0 -32
  420. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +0 -2
  421. package/esm2022/lib/search/shared/sources/coordinates.mjs +0 -168
  422. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +0 -52
  423. package/esm2022/lib/search/shared/sources/icherche-icons.mjs +0 -32
  424. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +0 -2
  425. package/esm2022/lib/search/shared/sources/icherche.mjs +0 -816
  426. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +0 -87
  427. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +0 -2
  428. package/esm2022/lib/search/shared/sources/ilayer.mjs +0 -339
  429. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +0 -58
  430. package/esm2022/lib/search/shared/sources/index.mjs +0 -23
  431. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +0 -2
  432. package/esm2022/lib/search/shared/sources/nominatim.mjs +0 -263
  433. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +0 -31
  434. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +0 -13
  435. package/esm2022/lib/search/shared/sources/source.mjs +0 -221
  436. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +0 -2
  437. package/esm2022/lib/search/shared/sources/storedqueries.mjs +0 -454
  438. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +0 -56
  439. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +0 -2
  440. package/esm2022/lib/search/shared/sources/workspace.mjs +0 -192
  441. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +0 -31
  442. package/esm2022/lib/style/index.mjs +0 -5
  443. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +0 -360
  444. package/esm2022/lib/style/shared/datasource/index.mjs +0 -2
  445. package/esm2022/lib/style/shared/feature/feature-style.mjs +0 -162
  446. package/esm2022/lib/style/shared/feature/index.mjs +0 -2
  447. package/esm2022/lib/style/shared/font.enum.mjs +0 -17
  448. package/esm2022/lib/style/shared/index.mjs +0 -5
  449. package/esm2022/lib/style/shared/overlay/index.mjs +0 -3
  450. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +0 -39
  451. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +0 -88
  452. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +0 -78
  453. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +0 -27
  454. package/esm2022/lib/style/shared/vector/index.mjs +0 -4
  455. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +0 -2
  456. package/esm2022/lib/style/style-list/index.mjs +0 -5
  457. package/esm2022/lib/style/style-list/style-list.interface.mjs +0 -2
  458. package/esm2022/lib/style/style-list/style-list.module.mjs +0 -23
  459. package/esm2022/lib/style/style-list/style-list.provider.mjs +0 -21
  460. package/esm2022/lib/style/style-list/style-list.service.mjs +0 -52
  461. package/esm2022/lib/style/style-modal/drawing/index.mjs +0 -2
  462. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +0 -193
  463. package/esm2022/lib/style/style-modal/index.mjs +0 -5
  464. package/esm2022/lib/style/style-modal/layer/index.mjs +0 -2
  465. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +0 -142
  466. package/esm2022/lib/style/style-modal/layer-button/index.mjs +0 -2
  467. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +0 -44
  468. package/esm2022/lib/style/style-modal/shared/index.mjs +0 -2
  469. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +0 -2
  470. package/esm2022/lib/style/style-service/draw-style.service.mjs +0 -255
  471. package/esm2022/lib/style/style-service/index.mjs +0 -3
  472. package/esm2022/lib/style/style-service/style.service.mjs +0 -393
  473. package/esm2022/lib/style/style.module.mjs +0 -46
  474. package/esm2022/lib/toast/index.mjs +0 -2
  475. package/esm2022/lib/toast/toast.component.mjs +0 -99
  476. package/esm2022/lib/toast/toast.module.mjs +0 -24
  477. package/esm2022/lib/utils/googleLinks.mjs +0 -13
  478. package/esm2022/lib/utils/id-generator.mjs +0 -112
  479. package/esm2022/lib/utils/index.mjs +0 -5
  480. package/esm2022/lib/utils/osmLinks.mjs +0 -9
  481. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +0 -3
  482. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +0 -2
  483. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +0 -64
  484. package/esm2022/lib/wkt/index.mjs +0 -2
  485. package/esm2022/lib/wkt/shared/index.mjs +0 -2
  486. package/esm2022/lib/wkt/shared/wkt.service.mjs +0 -235
  487. package/esm2022/lib/wkt/wkt.module.mjs +0 -25
  488. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +0 -36
  489. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +0 -19
  490. package/esm2022/lib/workspace/confirmation-popup/index.mjs +0 -3
  491. package/esm2022/lib/workspace/index.mjs +0 -8
  492. package/esm2022/lib/workspace/shared/edition-workspace.mjs +0 -301
  493. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +0 -720
  494. package/esm2022/lib/workspace/shared/feature-workspace.mjs +0 -41
  495. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +0 -113
  496. package/esm2022/lib/workspace/shared/index.mjs +0 -8
  497. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +0 -41
  498. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +0 -121
  499. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +0 -248
  500. package/esm2022/lib/workspace/shared/workspace.utils.mjs +0 -188
  501. package/esm2022/lib/workspace/widgets/index.mjs +0 -4
  502. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +0 -48
  503. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +0 -19
  504. package/esm2022/lib/workspace/widgets/widgets.mjs +0 -15
  505. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +0 -172
  506. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -19
  507. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +0 -137
  508. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +0 -19
  509. package/esm2022/lib/workspace/workspace.module.mjs +0 -32
  510. package/esm2022/public_api.mjs +0 -56
@@ -1,18 +0,0 @@
1
- import { DirectionsSource } from '../directions-sources/directions-source';
2
- export class DirectionsSourceService {
3
- sources;
4
- constructor(sources) {
5
- this.sources = sources;
6
- }
7
- }
8
- export function directionsSourceServiceFactory(sources) {
9
- return new DirectionsSourceService(sources);
10
- }
11
- export function provideDirectionsSourceService() {
12
- return {
13
- provide: DirectionsSourceService,
14
- useFactory: directionsSourceServiceFactory,
15
- deps: [DirectionsSource]
16
- };
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvc2hhcmVkL2RpcmVjdGlvbnMtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFM0UsTUFBTSxPQUFPLHVCQUF1QjtJQUNmO0lBQW5CLFlBQW1CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBQUcsQ0FBQztDQUNuRDtBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxPQUEyQjtJQUN4RSxPQUFPLElBQUksdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEI7SUFDNUMsT0FBTztRQUNMLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsVUFBVSxFQUFFLDhCQUE4QjtRQUMxQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztLQUN6QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2UgfSBmcm9tICcuLi9kaXJlY3Rpb25zLXNvdXJjZXMvZGlyZWN0aW9ucy1zb3VyY2UnO1xuXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgc291cmNlczogRGlyZWN0aW9uc1NvdXJjZVtdKSB7fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlyZWN0aW9uc1NvdXJjZVNlcnZpY2VGYWN0b3J5KHNvdXJjZXM6IERpcmVjdGlvbnNTb3VyY2VbXSkge1xuICByZXR1cm4gbmV3IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlKHNvdXJjZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlKCkge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IERpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlLFxuICAgIHVzZUZhY3Rvcnk6IGRpcmVjdGlvbnNTb3VyY2VTZXJ2aWNlRmFjdG9yeSxcbiAgICBkZXBzOiBbRGlyZWN0aW9uc1NvdXJjZV1cbiAgfTtcbn1cbiJdfQ==
@@ -1,72 +0,0 @@
1
- export var DirectionsFormat;
2
- (function (DirectionsFormat) {
3
- DirectionsFormat[DirectionsFormat["GeoJSON"] = 0] = "GeoJSON";
4
- DirectionsFormat[DirectionsFormat["JSON"] = 1] = "JSON";
5
- })(DirectionsFormat || (DirectionsFormat = {}));
6
- export var SourceDirectionsType;
7
- (function (SourceDirectionsType) {
8
- SourceDirectionsType["Route"] = "route";
9
- SourceDirectionsType["Trip"] = "trip";
10
- })(SourceDirectionsType || (SourceDirectionsType = {}));
11
- export var ProposalType;
12
- (function (ProposalType) {
13
- ProposalType["Coord"] = "coord";
14
- ProposalType["Text"] = "text";
15
- })(ProposalType || (ProposalType = {}));
16
- export var DirectionsType;
17
- (function (DirectionsType) {
18
- DirectionsType["Stop"] = "stop";
19
- DirectionsType["Route"] = "route";
20
- DirectionsType["Vertex"] = "vertex";
21
- })(DirectionsType || (DirectionsType = {}));
22
- export var DirectionRelativePositionType;
23
- (function (DirectionRelativePositionType) {
24
- DirectionRelativePositionType["Start"] = "start";
25
- DirectionRelativePositionType["Intermediate"] = "intermediate";
26
- DirectionRelativePositionType["End"] = "end";
27
- })(DirectionRelativePositionType || (DirectionRelativePositionType = {}));
28
- export var ManeuverType;
29
- (function (ManeuverType) {
30
- ManeuverType["Turn"] = "turn";
31
- ManeuverType["NewName"] = "new name";
32
- ManeuverType["Depart"] = "depart";
33
- ManeuverType["Arrive"] = "arrive";
34
- ManeuverType["Merge"] = "merge";
35
- ManeuverType["Ramp"] = "ramp";
36
- ManeuverType["OnRamp"] = "on ramp";
37
- ManeuverType["OffRamp"] = "off ramp";
38
- ManeuverType["Fork"] = "fork";
39
- ManeuverType["EndOfRoad"] = "end of road";
40
- ManeuverType["UseLane"] = "use lane";
41
- ManeuverType["Continue"] = "continue";
42
- ManeuverType["Roundabout"] = "roundabout";
43
- ManeuverType["Rotary"] = "rotary";
44
- ManeuverType["RoundaboutTurn"] = "roundabout turn";
45
- ManeuverType["Notification"] = "notification";
46
- ManeuverType["ExitRoundabout"] = "exit roundabout";
47
- ManeuverType["ExitRotary"] = "exit rotary";
48
- })(ManeuverType || (ManeuverType = {}));
49
- export var ManeuverModifier;
50
- (function (ManeuverModifier) {
51
- ManeuverModifier["Uturn"] = "uturn";
52
- ManeuverModifier["SharpRight"] = "sharp right";
53
- ManeuverModifier["Right"] = "right";
54
- ManeuverModifier["SlightRight"] = "slight right";
55
- ManeuverModifier["SharpLeft"] = "sharp left";
56
- ManeuverModifier["Left"] = "left";
57
- ManeuverModifier["SlightLeft"] = "slight left";
58
- ManeuverModifier["Straight"] = "straight";
59
- })(ManeuverModifier || (ManeuverModifier = {}));
60
- export var LaneType;
61
- (function (LaneType) {
62
- LaneType["None"] = "none";
63
- LaneType["Uturn"] = "uturn";
64
- LaneType["SharpRight"] = "sharp right";
65
- LaneType["Right"] = "right";
66
- LaneType["SlightRight"] = "slight right";
67
- LaneType["SharpLeft"] = "sharp left";
68
- LaneType["Left"] = "left";
69
- LaneType["SlightLeft"] = "slight left";
70
- LaneType["Straight"] = "straight";
71
- })(LaneType || (LaneType = {}));
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9zaGFyZWQvZGlyZWN0aW9ucy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIsNkRBQU8sQ0FBQTtJQUNQLHVEQUFJLENBQUE7QUFDTixDQUFDLEVBSFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUczQjtBQUNELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDOUIsdUNBQWUsQ0FBQTtJQUNmLHFDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUcvQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLCtCQUFhLENBQUE7SUFDYixpQ0FBZSxDQUFBO0lBQ2YsbUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBRUQsTUFBTSxDQUFOLElBQVksNkJBSVg7QUFKRCxXQUFZLDZCQUE2QjtJQUN2QyxnREFBZSxDQUFBO0lBQ2YsOERBQTZCLENBQUE7SUFDN0IsNENBQVcsQ0FBQTtBQUNiLENBQUMsRUFKVyw2QkFBNkIsS0FBN0IsNkJBQTZCLFFBSXhDO0FBRUQsTUFBTSxDQUFOLElBQVksWUFtQlg7QUFuQkQsV0FBWSxZQUFZO0lBQ3RCLDZCQUFhLENBQUE7SUFDYixvQ0FBb0IsQ0FBQTtJQUNwQixpQ0FBaUIsQ0FBQTtJQUNqQixpQ0FBaUIsQ0FBQTtJQUNqQiwrQkFBZSxDQUFBO0lBQ2YsNkJBQWEsQ0FBQTtJQUNiLGtDQUFrQixDQUFBO0lBQ2xCLG9DQUFvQixDQUFBO0lBQ3BCLDZCQUFhLENBQUE7SUFDYix5Q0FBeUIsQ0FBQTtJQUN6QixvQ0FBb0IsQ0FBQTtJQUNwQixxQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBeUIsQ0FBQTtJQUN6QixpQ0FBaUIsQ0FBQTtJQUNqQixrREFBa0MsQ0FBQTtJQUNsQyw2Q0FBNkIsQ0FBQTtJQUM3QixrREFBa0MsQ0FBQTtJQUNsQywwQ0FBMEIsQ0FBQTtBQUM1QixDQUFDLEVBbkJXLFlBQVksS0FBWixZQUFZLFFBbUJ2QjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQVNYO0FBVEQsV0FBWSxnQkFBZ0I7SUFDMUIsbUNBQWUsQ0FBQTtJQUNmLDhDQUEwQixDQUFBO0lBQzFCLG1DQUFlLENBQUE7SUFDZixnREFBNEIsQ0FBQTtJQUM1Qiw0Q0FBd0IsQ0FBQTtJQUN4QixpQ0FBYSxDQUFBO0lBQ2IsOENBQTBCLENBQUE7SUFDMUIseUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVRXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFTM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxRQVVYO0FBVkQsV0FBWSxRQUFRO0lBQ2xCLHlCQUFhLENBQUE7SUFDYiwyQkFBZSxDQUFBO0lBQ2Ysc0NBQTBCLENBQUE7SUFDMUIsMkJBQWUsQ0FBQTtJQUNmLHdDQUE0QixDQUFBO0lBQzVCLG9DQUF3QixDQUFBO0lBQ3hCLHlCQUFhLENBQUE7SUFDYixzQ0FBMEIsQ0FBQTtJQUMxQixpQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBVlcsUUFBUSxLQUFSLFFBQVEsUUFVbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEaXJlY3Rpb25zRm9ybWF0IHtcbiAgR2VvSlNPTixcbiAgSlNPTlxufVxuZXhwb3J0IGVudW0gU291cmNlRGlyZWN0aW9uc1R5cGUge1xuICBSb3V0ZSA9ICdyb3V0ZScsXG4gIFRyaXAgPSAndHJpcCdcbn1cblxuZXhwb3J0IGVudW0gUHJvcG9zYWxUeXBlIHtcbiAgQ29vcmQgPSAnY29vcmQnLFxuICBUZXh0ID0gJ3RleHQnXG59XG5cbmV4cG9ydCBlbnVtIERpcmVjdGlvbnNUeXBlIHtcbiAgU3RvcCA9ICdzdG9wJyxcbiAgUm91dGUgPSAncm91dGUnLFxuICBWZXJ0ZXggPSAndmVydGV4J1xufVxuXG5leHBvcnQgZW51bSBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSB7XG4gIFN0YXJ0ID0gJ3N0YXJ0JyxcbiAgSW50ZXJtZWRpYXRlID0gJ2ludGVybWVkaWF0ZScsXG4gIEVuZCA9ICdlbmQnXG59XG5cbmV4cG9ydCBlbnVtIE1hbmV1dmVyVHlwZSB7XG4gIFR1cm4gPSAndHVybicsXG4gIE5ld05hbWUgPSAnbmV3IG5hbWUnLFxuICBEZXBhcnQgPSAnZGVwYXJ0JyxcbiAgQXJyaXZlID0gJ2Fycml2ZScsXG4gIE1lcmdlID0gJ21lcmdlJyxcbiAgUmFtcCA9ICdyYW1wJyxcbiAgT25SYW1wID0gJ29uIHJhbXAnLFxuICBPZmZSYW1wID0gJ29mZiByYW1wJyxcbiAgRm9yayA9ICdmb3JrJyxcbiAgRW5kT2ZSb2FkID0gJ2VuZCBvZiByb2FkJyxcbiAgVXNlTGFuZSA9ICd1c2UgbGFuZScsXG4gIENvbnRpbnVlID0gJ2NvbnRpbnVlJyxcbiAgUm91bmRhYm91dCA9ICdyb3VuZGFib3V0JyxcbiAgUm90YXJ5ID0gJ3JvdGFyeScsXG4gIFJvdW5kYWJvdXRUdXJuID0gJ3JvdW5kYWJvdXQgdHVybicsXG4gIE5vdGlmaWNhdGlvbiA9ICdub3RpZmljYXRpb24nLFxuICBFeGl0Um91bmRhYm91dCA9ICdleGl0IHJvdW5kYWJvdXQnLFxuICBFeGl0Um90YXJ5ID0gJ2V4aXQgcm90YXJ5J1xufVxuXG5leHBvcnQgZW51bSBNYW5ldXZlck1vZGlmaWVyIHtcbiAgVXR1cm4gPSAndXR1cm4nLFxuICBTaGFycFJpZ2h0ID0gJ3NoYXJwIHJpZ2h0JyxcbiAgUmlnaHQgPSAncmlnaHQnLFxuICBTbGlnaHRSaWdodCA9ICdzbGlnaHQgcmlnaHQnLFxuICBTaGFycExlZnQgPSAnc2hhcnAgbGVmdCcsXG4gIExlZnQgPSAnbGVmdCcsXG4gIFNsaWdodExlZnQgPSAnc2xpZ2h0IGxlZnQnLFxuICBTdHJhaWdodCA9ICdzdHJhaWdodCdcbn1cblxuZXhwb3J0IGVudW0gTGFuZVR5cGUge1xuICBOb25lID0gJ25vbmUnLFxuICBVdHVybiA9ICd1dHVybicsXG4gIFNoYXJwUmlnaHQgPSAnc2hhcnAgcmlnaHQnLFxuICBSaWdodCA9ICdyaWdodCcsXG4gIFNsaWdodFJpZ2h0ID0gJ3NsaWdodCByaWdodCcsXG4gIFNoYXJwTGVmdCA9ICdzaGFycCBsZWZ0JyxcbiAgTGVmdCA9ICdsZWZ0JyxcbiAgU2xpZ2h0TGVmdCA9ICdzbGlnaHQgbGVmdCcsXG4gIFN0cmFpZ2h0ID0gJ3N0cmFpZ2h0J1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL3NoYXJlZC9kaXJlY3Rpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29vcmRpbmF0ZSB9IGZyb20gJ29sL2Nvb3JkaW5hdGUnO1xuXG5pbXBvcnQgeyBHZW9Kc29uR2VvbWV0cnlUeXBlcyB9IGZyb20gJ2dlb2pzb24nO1xuXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlYXJjaE1ldGEgfSBmcm9tICcuLi8uLi9zZWFyY2gnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi4vLi4vc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQge1xuICBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSxcbiAgRGlyZWN0aW9uc0Zvcm1hdCxcbiAgRGlyZWN0aW9uc1R5cGUsXG4gIExhbmVUeXBlLFxuICBNYW5ldXZlck1vZGlmaWVyLFxuICBNYW5ldXZlclR5cGUsXG4gIFByb3Bvc2FsVHlwZSxcbiAgU291cmNlRGlyZWN0aW9uc1R5cGVcbn0gZnJvbSAnLi9kaXJlY3Rpb25zLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdGlvbk9wdGlvbnMge1xuICBvdmVydmlldz86IGJvb2xlYW47XG4gIHN0ZXBzPzogYm9vbGVhbjtcbiAgZ2VvbWV0cmllcz86IHN0cmluZztcbiAgYWx0ZXJuYXRpdmVzPzogYm9vbGVhbjtcbiAgY29udGludWVfc3RyYWlnaHQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBGZWF0dXJlV2l0aFN0b3AgPSBGZWF0dXJlPEZlYXR1cmVXaXRoU3RvcFByb3BlcnRpZXM+O1xuZXhwb3J0IHR5cGUgRmVhdHVyZVdpdGhEaXJlY3Rpb25zID0gRmVhdHVyZTxGZWF0dXJlV2l0aERpcmVjdGlvbnNQcm9wZXJ0aWVzPjtcbmV4cG9ydCB0eXBlIEZlYXR1cmVXaXRoU3RlcCA9IEZlYXR1cmU8RmVhdHVyZVdpdGhTdGVwUHJvcGVydGllcz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVdpdGhTdGVwUHJvcGVydGllcyB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0ZXA6IElnb1N0ZXA7XG4gIHR5cGU6IERpcmVjdGlvbnNUeXBlO1xufVxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlV2l0aERpcmVjdGlvbnNQcm9wZXJ0aWVzIHtcbiAgaWQ6IHN0cmluZztcbiAgZGlyZWN0aW9uczogRGlyZWN0aW9ucztcbiAgdHlwZTogRGlyZWN0aW9uc1R5cGU7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVdpdGhTdG9wUHJvcGVydGllcyB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0b3A6IFN0b3A7XG4gIHR5cGU6IERpcmVjdGlvbnNUeXBlO1xuICBzdG9wVGV4dDogc3RyaW5nO1xuICBzdG9wQ29sb3I6IHN0cmluZztcbiAgc3RvcE9wYWNpdHk6IDE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcCB7XG4gIGlkOiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIHNlYXJjaFByb3Bvc2Fscz86IFNvdXJjZVByb3Bvc2FsW107XG4gIGNvb3JkaW5hdGVzPzogQ29vcmRpbmF0ZTtcbiAgcG9zaXRpb246IG51bWJlcjtcbiAgcmVsYXRpdmVQb3NpdGlvbjogRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGU7XG4gIHN0b3BQb2ludD86IHN0cmluZztcbiAgc3RvcFByb3Bvc2Fscz86IFtdO1xuICBkaXJlY3Rpb25zVGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3VyY2VQcm9wb3NhbCB7XG4gIHR5cGU6IFByb3Bvc2FsVHlwZTtcbiAgc291cmNlOiBTZWFyY2hTb3VyY2U7XG4gIHJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcbiAgbWV0YTogU2VhcmNoTWV0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3Rpb25zIHtcbiAgaWQ6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG4gIHNvdXJjZVR5cGU/OiBTb3VyY2VEaXJlY3Rpb25zVHlwZTtcbiAgb3JkZXI/OiBudW1iZXI7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBmb3JtYXQ/OiBEaXJlY3Rpb25zRm9ybWF0O1xuICBpY29uPzogc3RyaW5nO1xuICBwcm9qZWN0aW9uPzogc3RyaW5nO1xuICB3YXlwb2ludHM/OiBhbnk7XG4gIGRpc3RhbmNlPzogbnVtYmVyO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgZ2VvbWV0cnk/OiBEaXJlY3Rpb25zR2VvbWV0cnk7XG4gIGxlZ3M/OiBPc3JtUm91dGVMZWdbXTtcbiAgc3RlcHM/OiBJZ29TdGVwW107XG4gIHdlaWdodD86IG51bWJlcjtcbiAgd2VpZ2h0X25hbWU/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIERpcmVjdGlvbnNHZW9tZXRyeSB7XG4gIHR5cGU6IEdlb0pzb25HZW9tZXRyeVR5cGVzO1xuICBjb29yZGluYXRlczogQ29vcmRpbmF0ZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgT3NybVJvdXRlTGVnIHtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICBzdGVwcz86IE9zcm1Sb3V0ZVN0ZXBbXTtcbiAgc3VtbWFyeTogc3RyaW5nO1xuICB3ZWlnaHQ/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIElnb1N0ZXAge1xuICAvLyBSRUZFUiBUTyBUSElTIElOVEVSRkFDRSBGT1IgVkFSSU9VUyBTT1VSQ0VcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGRyaXZpbmdfc2lkZT86IHN0cmluZztcbiAgZHVyYXRpb24/OiBudW1iZXI7XG4gIGdlb21ldHJ5PzogRGlyZWN0aW9uc0dlb21ldHJ5O1xuICBpbnRlcnNlY3Rpb25zPzogT3NybUludGVyc2VjdGlvbltdO1xuICBtYW5ldXZlcj86IE9zcm1TdGVwTWFuZXV2ZXI7XG4gIG1vZGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0dGVkU3RlcCB7XG4gIGluc3RydWN0aW9uOiBzdHJpbmc7XG4gIGljb25OYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3NybVJvdXRlU3RlcCB7XG4gIGRlc3RpbmF0aW9ucz86IHN0cmluZ1tdO1xuICBkaXN0YW5jZT86IG51bWJlcjtcbiAgZHJpdmluZ19zaWRlPzogc3RyaW5nO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgZXhpdHM6IG51bWJlcltdIHwgc3RyaW5nW107XG4gIGdlb21ldHJ5PzogRGlyZWN0aW9uc0dlb21ldHJ5O1xuICBpbnRlcnNlY3Rpb25zPzogT3NybUludGVyc2VjdGlvbltdO1xuICBtYW5ldXZlcj86IE9zcm1TdGVwTWFuZXV2ZXI7XG4gIG1vZGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHByb251bmNpYXRpb24/OiBzdHJpbmc7XG4gIHJvdGFyeV9uYW1lPzogc3RyaW5nO1xuICByb3RhcnlfcHJvbnVuY2lhdGlvbj86IHN0cmluZztcbiAgcmVmPzogbnVtYmVyIHwgc3RyaW5nO1xuICB3ZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3NybVN0ZXBNYW5ldXZlciB7XG4gIGJlYXJpbmdfYWZ0ZXI/OiBudW1iZXI7XG4gIGJlYXJpbmdfYmVmb3JlPzogbnVtYmVyO1xuICBleGl0PzogbnVtYmVyO1xuICBsb2NhdGlvbj86IFtudW1iZXIsIG51bWJlcl07XG4gIG1vZGlmaWVyPzogTWFuZXV2ZXJNb2RpZmllcjtcbiAgdHlwZT86IE1hbmV1dmVyVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPc3JtTGFuZSB7XG4gIGluZGljYXRpb25zOiBMYW5lVHlwZVtdO1xuICB2YWxpZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPc3JtSW50ZXJzZWN0aW9uIHtcbiAgYmVhcmluZ3M/OiBudW1iZXJbXTtcbiAgY2xhc3Nlcz86IHN0cmluZ1tdO1xuICBlbnRyeT86IGJvb2xlYW5bXTtcbiAgaW4/OiBudW1iZXI7XG4gIGxhbmVzPzogT3NybUxhbmVbXTtcbiAgbG9jYXRpb24/OiBbbnVtYmVyLCBudW1iZXJdO1xuICBvdXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3NybVdheXBvaW50IHtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIGhpbnQ/OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBbbnVtYmVyLCBudW1iZXJdO1xuICBuYW1lPzogc3RyaW5nO1xufVxuIl19
@@ -1,239 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { ActivityService } from '@igo2/core/activity';
4
- import { ConfigService } from '@igo2/core/config';
5
- import { LanguageService } from '@igo2/core/language';
6
- import { SubjectStatus } from '@igo2/utils';
7
- import html2canvas from 'html2canvas';
8
- import jsPDF from 'jspdf';
9
- import 'jspdf-autotable';
10
- import moment from 'moment';
11
- import { Subject } from 'rxjs';
12
- import { PrintService } from '../../print/shared/print.service';
13
- import { DirectionsSourceService } from './directions-source.service';
14
- import { formatDistance, formatDuration, formatStep } from './directions.utils';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "./directions-source.service";
17
- import * as i2 from "@igo2/core/config";
18
- import * as i3 from "@igo2/core/language";
19
- import * as i4 from "../../print/shared/print.service";
20
- import * as i5 from "@igo2/core/activity";
21
- export class DirectionsService {
22
- directionsSourceService;
23
- configService;
24
- languageService;
25
- printService;
26
- document;
27
- activityService;
28
- constructor(directionsSourceService, configService, languageService, printService, document, activityService) {
29
- this.directionsSourceService = directionsSourceService;
30
- this.configService = configService;
31
- this.languageService = languageService;
32
- this.printService = printService;
33
- this.document = document;
34
- this.activityService = activityService;
35
- }
36
- /**
37
- * Routes the given coordinates using the specified directions source and options.
38
- *
39
- * @param {DirectionsSource} source - The directions source to use for routing.
40
- * @param {Position[]} coordinates - The array of coordinates to route.
41
- * @param {DirectionOptions} [directionsOptions={}] - The optional direction options.
42
- * @return {Observable<Directions[]>} An observable that emits an array of directions.
43
- */
44
- route(coordinates, directionsOptions = {}) {
45
- if (coordinates.length === 0) {
46
- return;
47
- }
48
- const source = this.directionsSourceService.sources[0];
49
- const request = source.route(coordinates, directionsOptions);
50
- return request;
51
- }
52
- /**
53
- * Downloads directions for a given map and directions object.
54
- *
55
- * @param {IgoMap} map - The map object to download directions for.
56
- * @param {Directions} directions - The directions object containing the route information.
57
- * @return {Observable<SubjectStatus>} An observable that emits the status of the download process.
58
- */
59
- downloadDirections(map, directions) {
60
- const activityId = this.activityService.register();
61
- const status$ = new Subject();
62
- const doc = new jsPDF({
63
- orientation: 'p',
64
- format: 'letter',
65
- unit: 'mm' // default
66
- });
67
- const pageSize = doc.internal.pageSize;
68
- const margins = [30, 10, 20, 10];
69
- const zoneWidth = pageSize.getWidth() - margins[3] - margins[1];
70
- const zoneHeight = pageSize.getHeight() - margins[0] - margins[2];
71
- const imageDimensions = [zoneWidth, zoneHeight];
72
- const distance = formatDistance(directions.distance);
73
- const duration = formatDuration(directions.duration);
74
- const title = distance && duration
75
- ? `${directions.title} (${distance} - ${duration})`
76
- : directions.title;
77
- doc.text(title, pageSize.getWidth() / 2, 25, {
78
- align: 'center'
79
- });
80
- const resolution = 96; // Default is 96
81
- this.printService
82
- .addMap(doc, map, resolution, imageDimensions, margins)
83
- .subscribe(async (status) => {
84
- if (status === SubjectStatus.Done) {
85
- await this.addInstructions(doc, directions, title);
86
- this.setPageHeaderFooter(doc);
87
- await doc.save(`${title}.pdf`, { returnPromise: true });
88
- }
89
- this.activityService.unregister(activityId);
90
- status$.next(status);
91
- });
92
- return status$;
93
- }
94
- /**
95
- * Generates an HTML table element with directions steps.
96
- *
97
- * @param {Directions} directions - The directions object containing the steps.
98
- * @return {Promise<HTMLTableElement>} - A promise that resolves to the generated HTML table element.
99
- */
100
- async setHTMLTableDirections(directions) {
101
- const steps = await this.directionsSteps(directions);
102
- const table = document.createElement('table');
103
- const tblBody = document.createElement('tbody');
104
- for (const step of steps) {
105
- const row = document.createElement('tr');
106
- // icon
107
- const cellIcon = document.createElement('td');
108
- const iconElement = document.createElement('img');
109
- iconElement.style.verticalAlign = 'middle';
110
- iconElement.src = step.icon;
111
- cellIcon.appendChild(iconElement);
112
- row.append(cellIcon);
113
- // instruction
114
- const cellText = document.createElement('td');
115
- const spanInstructionElement = document.createElement('span');
116
- spanInstructionElement.style.verticalAlign = 'middle';
117
- spanInstructionElement.innerHTML = step.instruction;
118
- cellText.appendChild(spanInstructionElement);
119
- // distance/duration
120
- if (step.distanceDuration) {
121
- const spanDistanceElement = document.createElement('span');
122
- spanDistanceElement.style.verticalAlign = 'middle';
123
- spanDistanceElement.innerHTML = ' ' + step.distanceDuration;
124
- cellText.appendChild(spanDistanceElement);
125
- }
126
- row.append(cellText);
127
- tblBody.appendChild(row);
128
- }
129
- table.appendChild(tblBody);
130
- return table;
131
- }
132
- /**
133
- * Generates formatted steps for the given directions.
134
- *
135
- * @param {Directions} directions - The directions object containing the steps.
136
- * @return {Promise<{ instruction: string; icon: string; distanceDuration: string }[]>}
137
- * A promise that resolves to an array of formatted steps.
138
- */
139
- async directionsSteps(directions) {
140
- const matListElement = this.document
141
- .getElementsByTagName('igo-directions-results')[0]
142
- .getElementsByTagName('mat-list')[0];
143
- const matListItemElements = matListElement.getElementsByTagName('mat-list-item');
144
- // convert icons list to base64
145
- const icons = [];
146
- for (const element of Array.from(matListItemElements)) {
147
- const iconElement = element.getElementsByTagName('mat-icon')[0];
148
- const iconName = iconElement.innerText;
149
- const found = icons.some((icon) => icon.name === iconName);
150
- if (!found) {
151
- const iconCanvas = await html2canvas(iconElement);
152
- icons.push({ name: iconName, icon: iconCanvas.toDataURL() });
153
- }
154
- }
155
- const formattedSteps = [];
156
- for (let stepIndex = 0; stepIndex < directions.steps.length; stepIndex++) {
157
- const step = directions.steps[stepIndex];
158
- const formattedStep = formatStep(step, this.languageService, stepIndex === directions.steps.length - 1);
159
- const formattedDistance = formatDistance(step.distance);
160
- const formattedDuration = formatDuration(step.duration);
161
- if ((formattedDistance && formattedDuration) ||
162
- stepIndex === directions.steps.length - 1) {
163
- formattedSteps.push({
164
- instruction: `${formattedStep.instruction}`,
165
- icon: icons.find((icon) => icon.name === formattedStep.iconName).icon,
166
- distanceDuration: formattedDistance && formattedDuration
167
- ? `(${formattedDistance} - ${formattedDuration})`
168
- : ''
169
- });
170
- }
171
- }
172
- return formattedSteps;
173
- }
174
- /**
175
- * Adds instructions to the given jsPDF document.
176
- *
177
- * @param {jsPDF} doc - The jsPDF document to add instructions to.
178
- * @param {Directions} directions - The directions object containing the instructions.
179
- * @param {string} title - The title of the instructions.
180
- * @return {Promise<void>} A promise that resolves when the instructions are added to the document.
181
- */
182
- async addInstructions(doc, directions, title) {
183
- doc.addPage();
184
- doc.text(title, doc.internal.pageSize.getWidth() / 2, 25, {
185
- align: 'center'
186
- });
187
- const HTMLtable = await this.setHTMLTableDirections(directions);
188
- doc.autoTable({
189
- html: HTMLtable,
190
- startY: 30,
191
- margin: { top: 20, bottom: 20 },
192
- columnStyles: {
193
- 0: { cellWidth: 10 }
194
- },
195
- theme: 'plain',
196
- styles: {
197
- fontSize: 10
198
- },
199
- didDrawCell: function (data) {
200
- if (data.column.index === 0 && data.cell.section === 'body') {
201
- data.row.height = 10;
202
- const td = data.cell.raw;
203
- const img = td.getElementsByTagName('img')[0];
204
- doc.addImage(img.src, data.cell.x, data.cell.y, 8, 8);
205
- }
206
- }
207
- });
208
- }
209
- /**
210
- * Sets the header and footer of each page in the given jsPDF document.
211
- *
212
- * @param {jsPDF} doc - The jsPDF document to modify.
213
- */
214
- setPageHeaderFooter(doc) {
215
- const pageCount = doc.getNumberOfPages();
216
- const dateTime = moment(Date.now()).format('YYYY-MM-DD HH:mm');
217
- const logo = this.configService.getConfig('directionsSources.logo')
218
- ? this.configService.getConfig('directionsSources.logo')
219
- : 'assets/logo.png';
220
- for (let pageIndex = 0; pageIndex < pageCount; pageIndex++) {
221
- doc.setPage(pageIndex);
222
- doc.setFontSize(8);
223
- const pageSize = doc.internal.pageSize;
224
- doc.text(dateTime, 10, 10, { baseline: 'top' });
225
- doc.addImage(logo, 'PNG', pageSize.getWidth() - 20, 5, 10, 10);
226
- doc.text(dateTime, 10, pageSize.getHeight() - 10);
227
- doc.text('Page ' + doc.getCurrentPageInfo().pageNumber + ' / ' + pageCount, pageSize.getWidth() - 20, pageSize.getHeight() - 10);
228
- }
229
- }
230
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", 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 });
231
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsService });
232
- }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsService, decorators: [{
234
- type: Injectable
235
- }], ctorParameters: () => [{ type: i1.DirectionsSourceService }, { type: i2.ConfigService }, { type: i3.LanguageService }, { type: i4.PrintService }, { type: Document, decorators: [{
236
- type: Inject,
237
- args: [DOCUMENT]
238
- }] }, { type: i5.ActivityService }] });
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9zaGFyZWQvZGlyZWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzVDLE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFHaEYsTUFBTSxPQUFPLGlCQUFpQjtJQUVsQjtJQUNBO0lBQ0E7SUFDQTtJQUNrQjtJQUNsQjtJQU5WLFlBQ1UsdUJBQWdELEVBQ2hELGFBQTRCLEVBQzVCLGVBQWdDLEVBQ2hDLFlBQTBCLEVBQ1IsUUFBa0IsRUFDcEMsZUFBZ0M7UUFMaEMsNEJBQXVCLEdB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QixDQUFDO1lBQ3hELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUV0QixLQUFLLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRSxTQUFTLEdBQUcsU0FBUyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDM0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2QixHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ3ZDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNoRCxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDbEQsR0FBRyxDQUFDLElBQUksQ0FDTixPQUFPLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUMsVUFBVSxHQUFHLEtBQUssR0FBRyxTQUFTLEVBQ2pFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQ3hCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQzFCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzt3R0ExUVUsaUJBQWlCLGlKQU1sQixRQUFROzRHQU5QLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVTs7MEJBT04sTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjdGl2aXR5U2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvYWN0aXZpdHknO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgU3ViamVjdFN0YXR1cyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICdnZW9qc29uJztcbmltcG9ydCBodG1sMmNhbnZhcyBmcm9tICdodG1sMmNhbnZhcyc7XG5pbXBvcnQganNQREYgZnJvbSAnanNwZGYnO1xuaW1wb3J0ICdqc3BkZi1hdXRvdGFibGUnO1xuaW1wb3J0IHsgVXNlck9wdGlvbnMgfSBmcm9tICdqc3BkZi1hdXRvdGFibGUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBQcmludFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcmludC9zaGFyZWQvcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBEaXJlY3Rpb25zU291cmNlIH0gZnJvbSAnLi4vZGlyZWN0aW9ucy1zb3VyY2VzL2RpcmVjdGlvbnMtc291cmNlJztcbmltcG9ydCB7IERpcmVjdGlvbk9wdGlvbnMsIERpcmVjdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2UgfSBmcm9tICcuL2RpcmVjdGlvbnMtc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybWF0dGVkU3RlcCwgSWdvU3RlcCB9IGZyb20gJy4vZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZm9ybWF0RGlzdGFuY2UsIGZvcm1hdER1cmF0aW9uLCBmb3JtYXRTdGVwIH0gZnJvbSAnLi9kaXJlY3Rpb25zLnV0aWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpcmVjdGlvbnNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaXJlY3Rpb25zU291cmNlU2VydmljZTogRGlyZWN0aW9uc1NvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmludFNlcnZpY2U6IFByaW50U2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIGFjdGl2aXR5U2VydmljZTogQWN0aXZpdHlTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogUm91dGVzIHRoZSBnaXZlbiBjb29yZGluYXRlcyB1c2luZyB0aGUgc3BlY2lmaWVkIGRpcmVjdGlvbnMgc291cmNlIGFuZCBvcHRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge0RpcmVjdGlvbnNTb3VyY2V9IHNvdXJjZSAtIFRoZSBkaXJlY3Rpb25zIHNvdXJjZSB0byB1c2UgZm9yIHJvdXRpbmcuXG4gICAqIEBwYXJhbSB7UG9zaXRpb25bXX0gY29vcmRpbmF0ZXMgLSBUaGUgYXJyYXkgb2YgY29vcmRpbmF0ZXMgdG8gcm91dGUuXG4gICAqIEBwYXJhbSB7RGlyZWN0aW9uT3B0aW9uc30gW2RpcmVjdGlvbnNPcHRpb25zPXt9XSAtIFRoZSBvcHRpb25hbCBkaXJlY3Rpb24gb3B0aW9ucy5cbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxEaXJlY3Rpb25zW10+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgb2YgZGlyZWN0aW9ucy5cbiAgICovXG4gIHJvdXRlKFxuICAgIGNvb3JkaW5hdGVzOiBQb3NpdGlvbltdLFxuICAgIGRpcmVjdGlvbnNPcHRpb25zOiBEaXJlY3Rpb25PcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxEaXJlY3Rpb25zW10+IHtcbiAgICBpZiAoY29vcmRpbmF0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNvdXJjZTogRGlyZWN0aW9uc1NvdXJjZSA9IHRoaXMuZGlyZWN0aW9uc1NvdXJjZVNlcnZpY2Uuc291cmNlc1swXTtcbiAgICBjb25zdCByZXF1ZXN0ID0gc291cmNlLnJvdXRlKGNvb3JkaW5hdGVzLCBkaXJlY3Rpb25zT3B0aW9ucyk7XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWRzIGRpcmVjdGlvbnMgZm9yIGEgZ2l2ZW4gbWFwIGFuZCBkaXJlY3Rpb25zIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtJZ29NYXB9IG1hcCAtIFRoZSBtYXAgb2JqZWN0IHRvIGRvd25sb2FkIGRpcmVjdGlvbnMgZm9yLlxuICAgKiBAcGFyYW0ge0RpcmVjdGlvbnN9IGRpcmVjdGlvbnMgLSBUaGUgZGlyZWN0aW9ucyBvYmplY3QgY29udGFpbmluZyB0aGUgcm91dGUgaW5mb3JtYXRpb24uXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8U3ViamVjdFN0YXR1cz59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc3RhdHVzIG9mIHRoZSBkb3dubG9hZCBwcm9jZXNzLlxuICAgKi9cbiAgZG93bmxvYWREaXJlY3Rpb25zKFxuICAgIG1hcDogSWdvTWFwLFxuICAgIGRpcmVjdGlvbnM6IERpcmVjdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxTdWJqZWN0U3RhdHVzPiB7XG4gICAgY29uc3QgYWN0aXZpdHlJZDogc3RyaW5nID0gdGhpcy5hY3Rpdml0eVNlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICBjb25zdCBzdGF0dXMkOiBTdWJqZWN0PFN1YmplY3RTdGF0dXM+ID0gbmV3IFN1YmplY3Q8U3ViamVjdFN0YXR1cz4oKTtcblxuICAgIGNvbnN0IGRvYzoganNQREYgPSBuZXcganNQREYoe1xuICAgICAgb3JpZW50YXRpb246ICdwJyxcbiAgICAgIGZvcm1hdDogJ2xldHRlcicsXG4gICAgICB1bml0OiAnbW0nIC8vIGRlZmF1bHRcbiAgICB9KTtcblxuICAgIGNvbnN0IHBhZ2VTaXplID0gZG9jLmludGVybmFsLnBhZ2VTaXplO1xuXG4gICAgY29uc3QgbWFyZ2luczogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMzAsIDEwLCAyMCwgMTBdO1xuXG4gICAgY29uc3Qgem9uZVdpZHRoOiBudW1iZXIgPSBwYWdlU2l6ZS5nZXRXaWR0aCgpIC0gbWFyZ2luc1szXSAtIG1hcmdpbnNbMV07XG4gICAgY29uc3Qgem9uZUhlaWdodDogbnVtYmVyID0gcGFnZVNpemUuZ2V0SGVpZ2h0KCkgLSBtYXJnaW5zWzBdIC0gbWFyZ2luc1syXTtcbiAgICBjb25zdCBpbWFnZURpbWVuc2lvbnM6IFtudW1iZXIsIG51bWJlcl0gPSBbem9uZVdpZHRoLCB6b25lSGVpZ2h0XTtcblxuICAgIGNvbnN0IGRpc3RhbmNlOiBzdHJpbmcgPSBmb3JtYXREaXN0YW5jZShkaXJlY3Rpb25zLmRpc3RhbmNlKTtcbiAgICBjb25zdCBkdXJhdGlvbjogc3RyaW5nID0gZm9ybWF0RHVyYXRpb24oZGlyZWN0aW9ucy5kdXJhdGlvbik7XG5cbiAgICBjb25zdCB0aXRsZTogc3RyaW5nID1cbiAgICAgIGRpc3RhbmNlICYmIGR1cmF0aW9uXG4gICAgICAgID8gYCR7ZGlyZWN0aW9ucy50aXRsZX0gKCR7ZGlzdGFuY2V9IC0gJHtkdXJhdGlvbn0pYFxuICAgICAgICA6IGRpcmVjdGlvbnMudGl0bGU7XG5cbiAgICBkb2MudGV4dCh0aXRsZSwgcGFnZVNpemUuZ2V0V2lkdGgoKSAvIDIsIDI1LCB7XG4gICAgICBhbGlnbjogJ2NlbnRlcidcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc29sdXRpb24gPSA5NjsgLy8gRGVmYXVsdCBpcyA5NlxuICAgIHRoaXMucHJpbnRTZXJ2aWNlXG4gICAgICAuYWRkTWFwKGRvYywgbWFwLCByZXNvbHV0aW9uLCBpbWFnZURpbWVuc2lvbnMsIG1hcmdpbnMpXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChzdGF0dXM6IFN1YmplY3RTdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gU3ViamVjdFN0YXR1cy5Eb25lKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5hZGRJbnN0cnVjdGlvbnMoZG9jLCBkaXJlY3Rpb25zLCB0aXRsZSk7XG4gICAgICAgICAgdGhpcy5zZXRQYWdlSGVhZGVyRm9vdGVyKGRvYyk7XG4gICAgICAgICAgYXdhaXQgZG9jLnNhdmUoYCR7dGl0bGV9LnBkZmAsIHsgcmV0dXJuUHJvbWlzZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLnVucmVnaXN0ZXIoYWN0aXZpdHlJZCk7XG4gICAgICAgIHN0YXR1cyQubmV4dChzdGF0dXMpO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gc3RhdHVzJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYW4gSFRNTCB0YWJsZSBlbGVtZW50IHdpdGggZGlyZWN0aW9ucyBzdGVwcy5cbiAgICpcbiAgICogQHBhcmFtIHtEaXJlY3Rpb25zfSBkaXJlY3Rpb25zIC0gVGhlIGRpcmVjdGlvbnMgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHN0ZXBzLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPEhUTUxUYWJsZUVsZW1lbnQ+fSAtIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBnZW5lcmF0ZWQgSFRNTCB0YWJsZSBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBzZXRIVE1MVGFibGVEaXJlY3Rpb25zKFxuICAgIGRpcmVjdGlvbnM6IERpcmVjdGlvbnNcbiAgKTogUHJvbWlzZTxIVE1MVGFibGVFbGVtZW50PiB7XG4gICAgY29uc3Qgc3RlcHMgPSBhd2FpdCB0aGlzLmRpcmVjdGlvbnNTdGVwcyhkaXJlY3Rpb25zKTtcbiAgICBjb25zdCB0YWJsZTogSFRNTFRhYmxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RhYmxlJyk7XG4gICAgY29uc3QgdGJsQm9keTogSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0Ym9keScpO1xuXG4gICAgZm9yIChjb25zdCBzdGVwIG9mIHN0ZXBzKSB7XG4gICAgICBjb25zdCByb3c6IEhUTUxUYWJsZVJvd0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpO1xuXG4gICAgICAvLyBpY29uXG4gICAgICBjb25zdCBjZWxsSWNvbjogSFRNTFRhYmxlQ2VsbEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpO1xuICAgICAgY29uc3QgaWNvbkVsZW1lbnQ6IEhUTUxJbWFnZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcbiAgICAgIGljb25FbGVtZW50LnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAnbWlkZGxlJztcbiAgICAgIGljb25FbGVtZW50LnNyYyA9IHN0ZXAuaWNvbjtcbiAgICAgIGNlbGxJY29uLmFwcGVuZENoaWxkKGljb25FbGVtZW50KTtcbiAgICAgIHJvdy5hcHBlbmQoY2VsbEljb24pO1xuXG4gICAgICAvLyBpbnN0cnVjdGlvblxuICAgICAgY29uc3QgY2VsbFRleHQ6IEhUTUxUYWJsZUNlbGxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTtcbiAgICAgIGNvbnN0IHNwYW5JbnN0cnVjdGlvbkVsZW1lbnQ6IEhUTUxTcGFuRWxlbWVudCA9XG4gICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIHNwYW5JbnN0cnVjdGlvbkVsZW1lbnQuc3R5bGUudmVydGljYWxBbGlnbiA9ICdtaWRkbGUnO1xuICAgICAgc3Bhbkluc3RydWN0aW9uRWxlbWVudC5pbm5lckhUTUwgPSBzdGVwLmluc3RydWN0aW9uO1xuICAgICAgY2VsbFRleHQuYXBwZW5kQ2hpbGQoc3Bhbkluc3RydWN0aW9uRWxlbWVudCk7XG5cbiAgICAgIC8vIGRpc3RhbmNlL2R1cmF0aW9uXG4gICAgICBpZiAoc3RlcC5kaXN0YW5jZUR1cmF0aW9uKSB7XG4gICAgICAgIGNvbnN0IHNwYW5EaXN0YW5jZUVsZW1lbnQ6IEhUTUxTcGFuRWxlbWVudCA9XG4gICAgICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBzcGFuRGlzdGFuY2VFbGVtZW50LnN0eWxlLnZlcnRpY2FsQWxpZ24gPSAnbWlkZGxlJztcbiAgICAgICAgc3BhbkRpc3RhbmNlRWxlbWVudC5pbm5lckhUTUwgPSAnICcgKyBzdGVwLmRpc3RhbmNlRHVyYXRpb247XG4gICAgICAgIGNlbGxUZXh0LmFwcGVuZENoaWxkKHNwYW5EaXN0YW5jZUVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICByb3cuYXBwZW5kKGNlbGxUZXh0KTtcbiAgICAgIHRibEJvZHkuYXBwZW5kQ2hpbGQocm93KTtcbiAgICB9XG4gICAgdGFibGUuYXBwZW5kQ2hpbGQodGJsQm9keSk7XG4gICAgcmV0dXJuIHRhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBmb3JtYXR0ZWQgc3RlcHMgZm9yIHRoZSBnaXZlbiBkaXJlY3Rpb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge0RpcmVjdGlvbnN9IGRpcmVjdGlvbnMgLSBUaGUgZGlyZWN0aW9ucyBvYmplY3QgY29udGFpbmluZyB0aGUgc3RlcHMuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8eyBpbnN0cnVjdGlvbjogc3RyaW5nOyBpY29uOiBzdHJpbmc7IGRpc3RhbmNlRHVyYXRpb246IHN0cmluZyB9W10+fVxuICAgKiBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBvZiBmb3JtYXR0ZWQgc3RlcHMuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGRpcmVjdGlvbnNTdGVwcyhcbiAgICBkaXJlY3Rpb25zOiBEaXJlY3Rpb25zXG4gICk6IFByb21pc2U8XG4gICAgeyBpbnN0cnVjdGlvbjogc3RyaW5nOyBpY29uOiBzdHJpbmc7IGRpc3RhbmNlRHVyYXRpb246IHN0cmluZyB9W11cbiAgPiB7XG4gICAgY29uc3QgbWF0TGlzdEVsZW1lbnQ6IEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50XG4gICAgICAuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lnby1kaXJlY3Rpb25zLXJlc3VsdHMnKVswXVxuICAgICAgLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtYXQtbGlzdCcpWzBdO1xuICAgIGNvbnN0IG1hdExpc3RJdGVtRWxlbWVudHM6IEhUTUxDb2xsZWN0aW9uT2Y8RWxlbWVudD4gPVxuICAgICAgbWF0TGlzdEVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ21hdC1saXN0LWl0ZW0nKTtcbiAgICAvLyBjb252ZXJ0IGljb25zIGxpc3QgdG8gYmFzZTY0XG4gICAgY29uc3QgaWNvbnM6IHsgbmFtZTogc3RyaW5nOyBpY29uOiBzdHJpbmcgfVtdID0gW107XG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIEFycmF5LmZyb20obWF0TGlzdEl0ZW1FbGVtZW50cykpIHtcbiAgICAgIGNvbnN0IGljb25FbGVtZW50OiBIVE1MRWxlbWVudCA9IGVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXG4gICAgICAgICdtYXQtaWNvbidcbiAgICAgIClbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCBpY29uTmFtZTogc3RyaW5nID0gaWNvbkVsZW1lbnQuaW5uZXJUZXh0O1xuICAgICAgY29uc3QgZm91bmQ6IGJvb2xlYW4gPSBpY29ucy5zb21lKChpY29uKSA9PiBpY29uLm5hbWUgPT09IGljb25OYW1lKTtcbiAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgY29uc3QgaWNvbkNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgPSBhd2FpdCBodG1sMmNhbnZhcyhpY29uRWxlbWVudCk7XG4gICAgICAgIGljb25zLnB1c2goeyBuYW1lOiBpY29uTmFtZSwgaWNvbjogaWNvbkNhbnZhcy50b0RhdGFVUkwoKSB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmb3JtYXR0ZWRTdGVwczoge1xuICAgICAgaW5zdHJ1Y3Rpb246IHN0cmluZztcbiAgICAgIGljb246IHN0cmluZztcbiAgICAgIGRpc3RhbmNlRHVyYXRpb246IHN0cmluZztcbiAgICB9W10gPSBbXTtcbiAgICBmb3IgKGxldCBzdGVwSW5kZXggPSAwOyBzdGVwSW5kZXggPCBkaXJlY3Rpb25zLnN0ZXBzLmxlbmd0aDsgc3RlcEluZGV4KyspIHtcbiAgICAgIGNvbnN0IHN0ZXA6IElnb1N0ZXAgPSBkaXJlY3Rpb25zLnN0ZXBzW3N0ZXBJbmRleF07XG4gICAgICBjb25zdCBmb3JtYXR0ZWRTdGVwOiBGb3JtYXR0ZWRTdGVwID0gZm9ybWF0U3RlcChcbiAgICAgICAgc3RlcCxcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UsXG4gICAgICAgIHN0ZXBJbmRleCA9PT0gZGlyZWN0aW9ucy5zdGVwcy5sZW5ndGggLSAxXG4gICAgICApO1xuXG4gICAgICBjb25zdCBmb3JtYXR0ZWREaXN0YW5jZTogc3RyaW5nID0gZm9ybWF0RGlzdGFuY2Uoc3RlcC5kaXN0YW5jZSk7XG4gICAgICBjb25zdCBmb3JtYXR0ZWREdXJhdGlvbjogc3RyaW5nID0gZm9ybWF0RHVyYXRpb24oc3RlcC5kdXJhdGlvbik7XG5cbiAgICAgIGlmIChcbiAgICAgICAgKGZvcm1hdHRlZERpc3RhbmNlICYmIGZvcm1hdHRlZER1cmF0aW9uKSB8fFxuICAgICAgICBzdGVwSW5kZXggPT09IGRpcmVjdGlvbnMuc3RlcHMubGVuZ3RoIC0gMVxuICAgICAgKSB7XG4gICAgICAgIGZvcm1hdHRlZFN0ZXBzLnB1c2goe1xuICAgICAgICAgIGluc3RydWN0aW9uOiBgJHtmb3JtYXR0ZWRTdGVwLmluc3RydWN0aW9ufWAsXG4gICAgICAgICAgaWNvbjogaWNvbnMuZmluZCgoaWNvbikgPT4gaWNvbi5uYW1lID09PSBmb3JtYXR0ZWRTdGVwLmljb25OYW1lKS5pY29uLFxuICAgICAgICAgIGRpc3RhbmNlRHVyYXRpb246XG4gICAgICAgICAgICBmb3JtYXR0ZWREaXN0YW5jZSAmJiBmb3JtYXR0ZWREdXJhdGlvblxuICAgICAgICAgICAgICA/IGAoJHtmb3JtYXR0ZWREaXN0YW5jZX0gLSAke2Zvcm1hdHRlZER1cmF0aW9ufSlgXG4gICAgICAgICAgICAgIDogJydcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXR0ZWRTdGVwcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGluc3RydWN0aW9ucyB0byB0aGUgZ2l2ZW4ganNQREYgZG9jdW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7anNQREZ9IGRvYyAtIFRoZSBqc1BERiBkb2N1bWVudCB0byBhZGQgaW5zdHJ1Y3Rpb25zIHRvLlxuICAgKiBAcGFyYW0ge0RpcmVjdGlvbnN9IGRpcmVjdGlvbnMgLSBUaGUgZGlyZWN0aW9ucyBvYmplY3QgY29udGFpbmluZyB0aGUgaW5zdHJ1Y3Rpb25zLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUgLSBUaGUgdGl0bGUgb2YgdGhlIGluc3RydWN0aW9ucy5cbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgaW5zdHJ1Y3Rpb25zIGFyZSBhZGRlZCB0byB0aGUgZG9jdW1lbnQuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGFkZEluc3RydWN0aW9ucyhcbiAgICBkb2M6IGpzUERGLFxuICAgIGRpcmVjdGlvbnM6IERpcmVjdGlvbnMsXG4gICAgdGl0bGU6IHN0cmluZ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBkb2MuYWRkUGFnZSgpO1xuICAgIGRvYy50ZXh0KHRpdGxlLCBkb2MuaW50ZXJuYWwucGFnZVNpemUuZ2V0V2lkdGgoKSAvIDIsIDI1LCB7XG4gICAgICBhbGlnbjogJ2NlbnRlcidcbiAgICB9KTtcbiAgICBjb25zdCBIVE1MdGFibGU6IEhUTUxUYWJsZUVsZW1lbnQgPVxuICAgICAgYXdhaXQgdGhpcy5zZXRIVE1MVGFibGVEaXJlY3Rpb25zKGRpcmVjdGlvbnMpO1xuICAgIChkb2MgYXMgYW55KS5hdXRvVGFibGUoe1xuICAgICAgaHRtbDogSFRNTHRhYmxlLFxuICAgICAgc3RhcnRZOiAzMCxcbiAgICAgIG1hcmdpbjogeyB0b3A6IDIwLCBib3R0b206IDIwIH0sXG4gICAgICBjb2x1bW5TdHlsZXM6IHtcbiAgICAgICAgMDogeyBjZWxsV2lkdGg6IDEwIH1cbiAgICAgIH0sXG4gICAgICB0aGVtZTogJ3BsYWluJyxcbiAgICAgIHN0eWxlczoge1xuICAgICAgICBmb250U2l6ZTogMTBcbiAgICAgIH0sXG4gICAgICBkaWREcmF3Q2VsbDogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgaWYgKGRhdGEuY29sdW1uLmluZGV4ID09PSAwICYmIGRhdGEuY2VsbC5zZWN0aW9uID09PSAnYm9keScpIHtcbiAgICAgICAgICBkYXRhLnJvdy5oZWlnaHQgPSAxMDtcbiAgICAgICAgICBjb25zdCB0ZDogSFRNTEVsZW1lbnQgPSBkYXRhLmNlbGwucmF3IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgIGNvbnN0IGltZzogSFRNTEltYWdlRWxlbWVudCA9IHRkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbWcnKVswXTtcbiAgICAgICAgICBkb2MuYWRkSW1hZ2UoaW1nLnNyYywgZGF0YS5jZWxsLngsIGRhdGEuY2VsbC55LCA4LCA4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gc2F0aXNmaWVzIFVzZXJPcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBoZWFkZXIgYW5kIGZvb3RlciBvZiBlYWNoIHBhZ2UgaW4gdGhlIGdpdmVuIGpzUERGIGRvY3VtZW50LlxuICAgKlxuICAgKiBAcGFyYW0ge2pzUERGfSBkb2MgLSBUaGUganNQREYgZG9jdW1lbnQgdG8gbW9kaWZ5LlxuICAgKi9cbiAgcHJpdmF0ZSBzZXRQYWdlSGVhZGVyRm9vdGVyKGRvYzoganNQREYpOiB2b2lkIHtcbiAgICBjb25zdCBwYWdlQ291bnQ6IG51bWJlciA9IGRvYy5nZXROdW1iZXJPZlBhZ2VzKCk7XG4gICAgY29uc3QgZGF0ZVRpbWU6IHN0cmluZyA9IG1vbWVudChEYXRlLm5vdygpKS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW0nKTtcblxuICAgIGNvbnN0IGxvZ286IHN0cmluZyA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ2RpcmVjdGlvbnNTb3VyY2VzLmxvZ28nKVxuICAgICAgPyB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdkaXJlY3Rpb25zU291cmNlcy5sb2dvJylcbiAgICAgIDogJ2Fzc2V0cy9sb2dvLnBuZyc7XG5cbiAgICBmb3IgKGxldCBwYWdlSW5kZXggPSAwOyBwYWdlSW5kZXggPCBwYWdlQ291bnQ7IHBhZ2VJbmRleCsrKSB7XG4gICAgICBkb2Muc2V0UGFnZShwYWdlSW5kZXgpO1xuICAgICAgZG9jLnNldEZvbnRTaXplKDgpO1xuICAgICAgY29uc3QgcGFnZVNpemUgPSBkb2MuaW50ZXJuYWwucGFnZVNpemU7XG4gICAgICBkb2MudGV4dChkYXRlVGltZSwgMTAsIDEwLCB7IGJhc2VsaW5lOiAndG9wJyB9KTtcbiAgICAgIGRvYy5hZGRJbWFnZShsb2dvLCAnUE5HJywgcGFnZVNpemUuZ2V0V2lkdGgoKSAtIDIwLCA1LCAxMCwgMTApO1xuICAgICAgZG9jLnRleHQoZGF0ZVRpbWUsIDEwLCBwYWdlU2l6ZS5nZXRIZWlnaHQoKSAtIDEwKTtcbiAgICAgIGRvYy50ZXh0KFxuICAgICAgICAnUGFnZSAnICsgZG9jLmdldEN1cnJlbnRQYWdlSW5mbygpLnBhZ2VOdW1iZXIgKyAnIC8gJyArIHBhZ2VDb3VudCxcbiAgICAgICAgcGFnZVNpemUuZ2V0V2lkdGgoKSAtIDIwLFxuICAgICAgICBwYWdlU2l6ZS5nZXRIZWlnaHQoKSAtIDEwXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19