@igo2/geo 1.10.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) 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/bundles/igo2-geo.umd.js +4971 -1353
  7. package/bundles/igo2-geo.umd.js.map +1 -1
  8. package/esm2015/lib/catalog/catalog-browser/catalog-browser-group.component.js +1 -1
  9. package/esm2015/lib/catalog/catalog-browser/catalog-browser-layer.component.js +1 -1
  10. package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +2 -2
  11. package/esm2015/lib/catalog/catalog-browser/catalog-browser.module.js +1 -1
  12. package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +1 -1
  13. package/esm2015/lib/catalog/catalog-library/catalog-library-item.component.js +1 -1
  14. package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +6 -6
  15. package/esm2015/lib/catalog/catalog-library/catalog-library.module.js +1 -1
  16. package/esm2015/lib/catalog/catalog.module.js +1 -1
  17. package/esm2015/lib/catalog/index.js +1 -1
  18. package/esm2015/lib/catalog/shared/catalog.abstract.js +1 -1
  19. package/esm2015/lib/catalog/shared/catalog.enum.js +1 -1
  20. package/esm2015/lib/catalog/shared/catalog.interface.js +1 -1
  21. package/esm2015/lib/catalog/shared/catalog.service.js +117 -43
  22. package/esm2015/lib/catalog/shared/index.js +1 -1
  23. package/esm2015/lib/datasource/datasource.module.js +1 -1
  24. package/esm2015/lib/datasource/index.js +1 -1
  25. package/esm2015/lib/datasource/shared/capabilities.service.js +25 -11
  26. package/esm2015/lib/datasource/shared/datasource.service.js +1 -1
  27. package/esm2015/lib/datasource/shared/datasources/any-datasource.interface.js +1 -1
  28. package/esm2015/lib/datasource/shared/datasources/any-datasource.js +1 -1
  29. package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.interface.js +1 -1
  30. package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js +84 -14
  31. package/esm2015/lib/datasource/shared/datasources/carto-datasource.interface.js +1 -1
  32. package/esm2015/lib/datasource/shared/datasources/carto-datasource.js +1 -1
  33. package/esm2015/lib/datasource/shared/datasources/cluster-datasource.interface.js +1 -1
  34. package/esm2015/lib/datasource/shared/datasources/cluster-datasource.js +1 -1
  35. package/esm2015/lib/datasource/shared/datasources/data.service.js +1 -1
  36. package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +1 -1
  37. package/esm2015/lib/datasource/shared/datasources/datasource.js +1 -1
  38. package/esm2015/lib/datasource/shared/datasources/feature-datasource.interface.js +1 -1
  39. package/esm2015/lib/datasource/shared/datasources/feature-datasource.js +1 -1
  40. package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.js +1 -1
  41. package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js +7 -10
  42. package/esm2015/lib/datasource/shared/datasources/index.js +1 -1
  43. package/esm2015/lib/datasource/shared/datasources/mvt-datasource.interface.js +1 -1
  44. package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +1 -1
  45. package/esm2015/lib/datasource/shared/datasources/osm-datasource.interface.js +1 -1
  46. package/esm2015/lib/datasource/shared/datasources/osm-datasource.js +1 -1
  47. package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.js +1 -1
  48. package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js +7 -9
  49. package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.interface.js +1 -1
  50. package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.js +1 -1
  51. package/esm2015/lib/datasource/shared/datasources/websocket-datasource.interface.js +1 -1
  52. package/esm2015/lib/datasource/shared/datasources/websocket-datasource.js +1 -1
  53. package/esm2015/lib/datasource/shared/datasources/wfs-datasource.interface.js +1 -1
  54. package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +6 -1
  55. package/esm2015/lib/datasource/shared/datasources/wfs.service.js +1 -1
  56. package/esm2015/lib/datasource/shared/datasources/wms-datasource.interface.js +1 -1
  57. package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +11 -2
  58. package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +5 -2
  59. package/esm2015/lib/datasource/shared/datasources/wmts-datasource.interface.js +1 -1
  60. package/esm2015/lib/datasource/shared/datasources/wmts-datasource.js +1 -1
  61. package/esm2015/lib/datasource/shared/datasources/xyz-datasource.interface.js +1 -1
  62. package/esm2015/lib/datasource/shared/datasources/xyz-datasource.js +1 -1
  63. package/esm2015/lib/datasource/shared/index.js +1 -1
  64. package/esm2015/lib/datasource/shared/options/index.js +1 -1
  65. package/esm2015/lib/datasource/shared/options/options-api.interface.js +1 -1
  66. package/esm2015/lib/datasource/shared/options/options-api.providers.js +1 -1
  67. package/esm2015/lib/datasource/shared/options/options-api.service.js +1 -1
  68. package/esm2015/lib/datasource/shared/options/options.service.js +1 -1
  69. package/esm2015/lib/datasource/utils/esri-style-generator.js +1 -1
  70. package/esm2015/lib/datasource/utils/index.js +1 -1
  71. package/esm2015/lib/datasource/utils/tilegrid.js +1 -1
  72. package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +10 -4
  73. package/esm2015/lib/directions/directions-buttons/index.js +1 -1
  74. package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +1 -1
  75. package/esm2015/lib/directions/directions-inputs/index.js +1 -1
  76. package/esm2015/lib/directions/directions-results/directions-results.component.js +1 -1
  77. package/esm2015/lib/directions/directions-results/index.js +1 -1
  78. package/esm2015/lib/directions/directions-sources/directions-source.interface.js +1 -1
  79. package/esm2015/lib/directions/directions-sources/directions-source.js +1 -1
  80. package/esm2015/lib/directions/directions-sources/directions-source.provider.js +1 -1
  81. package/esm2015/lib/directions/directions-sources/index.js +1 -1
  82. package/esm2015/lib/directions/directions-sources/osrm-directions-source.js +1 -1
  83. package/esm2015/lib/directions/directions.component.js +6 -4
  84. package/esm2015/lib/directions/directions.module.js +1 -1
  85. package/esm2015/lib/directions/index.js +1 -1
  86. package/esm2015/lib/directions/shared/directions-source.service.js +1 -1
  87. package/esm2015/lib/directions/shared/directions.enum.js +1 -1
  88. package/esm2015/lib/directions/shared/directions.interface.js +1 -1
  89. package/esm2015/lib/directions/shared/directions.service.js +1 -1
  90. package/esm2015/lib/directions/shared/directions.utils.js +4 -1
  91. package/esm2015/lib/directions/shared/index.js +1 -1
  92. package/esm2015/lib/directions/shared/store.js +1 -1
  93. package/esm2015/lib/download/download-button/download-button.component.js +1 -1
  94. package/esm2015/lib/download/download-button/index.js +1 -1
  95. package/esm2015/lib/download/download.module.js +1 -1
  96. package/esm2015/lib/download/index.js +1 -1
  97. package/esm2015/lib/download/shared/download.interface.js +1 -1
  98. package/esm2015/lib/download/shared/download.service.js +1 -1
  99. package/esm2015/lib/download/shared/index.js +1 -1
  100. package/esm2015/lib/draw/draw/draw-popup.component.js +21 -15
  101. package/esm2015/lib/draw/draw/draw-shorcuts.component.js +1 -1
  102. package/esm2015/lib/draw/draw/draw.component.js +186 -77
  103. package/esm2015/lib/draw/draw/draw.module.js +1 -1
  104. package/esm2015/lib/draw/drawingTool.module.js +1 -1
  105. package/esm2015/lib/draw/index.js +1 -1
  106. package/esm2015/lib/draw/shared/draw-icon.service.js +1 -1
  107. package/esm2015/lib/draw/shared/draw-style.service.js +24 -5
  108. package/esm2015/lib/draw/shared/draw.enum.js +17 -1
  109. package/esm2015/lib/draw/shared/draw.interface.js +1 -1
  110. package/esm2015/lib/draw/shared/draw.utils.js +1 -1
  111. package/esm2015/lib/draw/shared/index.js +1 -1
  112. package/esm2015/lib/feature/feature-details/feature-details.component.js +119 -43
  113. package/esm2015/lib/feature/feature-details/feature-details.directive.js +2 -57
  114. package/esm2015/lib/feature/feature-details/feature-details.module.js +1 -1
  115. package/esm2015/lib/feature/feature-form/feature-form.component.js +1 -1
  116. package/esm2015/lib/feature/feature-form/feature-form.module.js +1 -1
  117. package/esm2015/lib/feature/feature.module.js +1 -1
  118. package/esm2015/lib/feature/index.js +1 -1
  119. package/esm2015/lib/feature/shared/feature.enums.js +1 -1
  120. package/esm2015/lib/feature/shared/feature.interfaces.js +1 -1
  121. package/esm2015/lib/feature/shared/feature.utils.js +2 -1
  122. package/esm2015/lib/feature/shared/index.js +1 -1
  123. package/esm2015/lib/feature/shared/store.js +1 -1
  124. package/esm2015/lib/feature/shared/strategies/in-map-extent.js +17 -4
  125. package/esm2015/lib/feature/shared/strategies/in-map-resolution.js +1 -1
  126. package/esm2015/lib/feature/shared/strategies/index.js +1 -1
  127. package/esm2015/lib/feature/shared/strategies/loading-layer.js +1 -1
  128. package/esm2015/lib/feature/shared/strategies/loading.js +1 -1
  129. package/esm2015/lib/feature/shared/strategies/selection.js +1 -1
  130. package/esm2015/lib/feature/shared/strategies.utils.js +1 -1
  131. package/esm2015/lib/filter/filter.module.js +7 -4
  132. package/esm2015/lib/filter/index.js +1 -1
  133. package/esm2015/lib/filter/ogc-filter-button/index.js +1 -1
  134. package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +46 -7
  135. package/esm2015/lib/filter/ogc-filter-form/index.js +1 -1
  136. package/esm2015/lib/filter/ogc-filter-form/ogc-filter-form.component.js +1 -1
  137. package/esm2015/lib/filter/ogc-filter-selection/index.js +1 -1
  138. package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +676 -296
  139. package/esm2015/lib/filter/ogc-filter-time/index.js +1 -1
  140. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.js +1 -1
  141. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +296 -161
  142. package/esm2015/lib/filter/ogc-filterable-form/index.js +1 -1
  143. package/esm2015/lib/filter/ogc-filterable-form/ogc-filterable-form.component.js +1 -1
  144. package/esm2015/lib/filter/ogc-filterable-item/index.js +1 -1
  145. package/esm2015/lib/filter/ogc-filterable-item/ogc-filterable-item.component.js +3 -2
  146. package/esm2015/lib/filter/ogc-filterable-list/index.js +1 -1
  147. package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.js +1 -1
  148. package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list.component.js +1 -1
  149. package/esm2015/lib/filter/shared/filterable-datasource.pipe.js +3 -2
  150. package/esm2015/lib/filter/shared/index.js +1 -1
  151. package/esm2015/lib/filter/shared/ogc-filter-time.service.js +1 -1
  152. package/esm2015/lib/filter/shared/ogc-filter.enum.js +1 -1
  153. package/esm2015/lib/filter/shared/ogc-filter.interface.js +1 -1
  154. package/esm2015/lib/filter/shared/ogc-filter.js +24 -6
  155. package/esm2015/lib/filter/shared/ogc-filter.service.js +1 -1
  156. package/esm2015/lib/filter/shared/spatial-filter.enum.js +1 -1
  157. package/esm2015/lib/filter/shared/spatial-filter.interface.js +1 -1
  158. package/esm2015/lib/filter/shared/spatial-filter.service.js +1 -1
  159. package/esm2015/lib/filter/shared/time-filter.enum.js +1 -1
  160. package/esm2015/lib/filter/shared/time-filter.interface.js +1 -1
  161. package/esm2015/lib/filter/shared/time-filter.service.js +1 -1
  162. package/esm2015/lib/filter/spatial-filter/spatial-filter-item/index.js +1 -1
  163. package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +1 -1
  164. package/esm2015/lib/filter/spatial-filter/spatial-filter-list/index.js +1 -1
  165. package/esm2015/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.js +1 -1
  166. package/esm2015/lib/filter/spatial-filter/spatial-filter-type/index.js +1 -1
  167. package/esm2015/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.js +1 -1
  168. package/esm2015/lib/filter/time-filter-button/index.js +1 -1
  169. package/esm2015/lib/filter/time-filter-button/time-filter-button.component.js +1 -1
  170. package/esm2015/lib/filter/time-filter-form/index.js +1 -1
  171. package/esm2015/lib/filter/time-filter-form/time-filter-form.component.js +1 -1
  172. package/esm2015/lib/filter/time-filter-item/index.js +1 -1
  173. package/esm2015/lib/filter/time-filter-item/time-filter-item.component.js +1 -1
  174. package/esm2015/lib/filter/time-filter-list/index.js +1 -1
  175. package/esm2015/lib/filter/time-filter-list/time-filter-list-binding.directive.js +1 -1
  176. package/esm2015/lib/filter/time-filter-list/time-filter-list.component.js +1 -1
  177. package/esm2015/lib/geo.module.js +1 -1
  178. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field-input.component.js +1 -1
  179. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.component.js +1 -1
  180. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.module.js +1 -1
  181. package/esm2015/lib/geometry/geometry.module.js +1 -1
  182. package/esm2015/lib/geometry/index.js +1 -1
  183. package/esm2015/lib/geometry/shared/controls/draw.js +7 -2
  184. package/esm2015/lib/geometry/shared/controls/index.js +1 -1
  185. package/esm2015/lib/geometry/shared/controls/modify.js +1 -1
  186. package/esm2015/lib/geometry/shared/controls/slice.js +1 -1
  187. package/esm2015/lib/geometry/shared/geometry.errors.js +1 -1
  188. package/esm2015/lib/geometry/shared/geometry.interfaces.js +1 -1
  189. package/esm2015/lib/geometry/shared/geometry.utils.js +1 -1
  190. package/esm2015/lib/geometry/shared/index.js +1 -1
  191. package/esm2015/lib/import-export/export-button/export-button.component.js +1 -1
  192. package/esm2015/lib/import-export/export-button/index.js +1 -1
  193. package/esm2015/lib/import-export/import-export/import-export.component.js +60 -11
  194. package/esm2015/lib/import-export/import-export/index.js +1 -1
  195. package/esm2015/lib/import-export/import-export.module.js +1 -1
  196. package/esm2015/lib/import-export/index.js +1 -1
  197. package/esm2015/lib/import-export/shared/drop-geo-file.directive.js +1 -1
  198. package/esm2015/lib/import-export/shared/export.errors.js +1 -1
  199. package/esm2015/lib/import-export/shared/export.interface.js +1 -1
  200. package/esm2015/lib/import-export/shared/export.service.js +10 -2
  201. package/esm2015/lib/import-export/shared/export.type.js +1 -1
  202. package/esm2015/lib/import-export/shared/export.utils.js +1 -1
  203. package/esm2015/lib/import-export/shared/import.errors.js +1 -1
  204. package/esm2015/lib/import-export/shared/import.interface.js +1 -1
  205. package/esm2015/lib/import-export/shared/import.service.js +1 -1
  206. package/esm2015/lib/import-export/shared/import.utils.js +65 -38
  207. package/esm2015/lib/import-export/shared/index.js +1 -1
  208. package/esm2015/lib/import-export/style-list/index.js +1 -1
  209. package/esm2015/lib/import-export/style-list/style-list.interface.js +1 -1
  210. package/esm2015/lib/import-export/style-list/style-list.module.js +1 -1
  211. package/esm2015/lib/import-export/style-list/style-list.provider.js +1 -1
  212. package/esm2015/lib/import-export/style-list/style-list.service.js +1 -1
  213. package/esm2015/lib/layer/index.js +1 -1
  214. package/esm2015/lib/layer/layer-item/index.js +1 -1
  215. package/esm2015/lib/layer/layer-item/layer-item.component.js +15 -8
  216. package/esm2015/lib/layer/layer-legend/index.js +1 -1
  217. package/esm2015/lib/layer/layer-legend/layer-legend.component.js +24 -24
  218. package/esm2015/lib/layer/layer-legend-item/index.js +1 -1
  219. package/esm2015/lib/layer/layer-legend-item/layer-legend-item.component.js +1 -1
  220. package/esm2015/lib/layer/layer-legend-list/index.js +1 -1
  221. package/esm2015/lib/layer/layer-legend-list/layer-legend-list-binding.directive.js +1 -1
  222. package/esm2015/lib/layer/layer-legend-list/layer-legend-list.component.js +1 -1
  223. package/esm2015/lib/layer/layer-list/index.js +1 -1
  224. package/esm2015/lib/layer/layer-list/layer-list-binding.directive.js +1 -1
  225. package/esm2015/lib/layer/layer-list/layer-list.component.js +2 -2
  226. package/esm2015/lib/layer/layer-list/layer-list.enum.js +1 -1
  227. package/esm2015/lib/layer/layer-list-tool/index.js +1 -1
  228. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.component.js +1 -1
  229. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.enum.js +1 -1
  230. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.interface.js +1 -1
  231. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.service.js +1 -1
  232. package/esm2015/lib/layer/layer.module.js +1 -1
  233. package/esm2015/lib/layer/shared/clusterParam.js +1 -1
  234. package/esm2015/lib/layer/shared/index.js +1 -1
  235. package/esm2015/lib/layer/shared/layer.enums.js +1 -1
  236. package/esm2015/lib/layer/shared/layer.service.js +44 -20
  237. package/esm2015/lib/layer/shared/layers/any-layer.interface.js +1 -1
  238. package/esm2015/lib/layer/shared/layers/any-layer.js +1 -1
  239. package/esm2015/lib/layer/shared/layers/image-layer.interface.js +1 -1
  240. package/esm2015/lib/layer/shared/layers/image-layer.js +1 -1
  241. package/esm2015/lib/layer/shared/layers/index.js +1 -1
  242. package/esm2015/lib/layer/shared/layers/layer.interface.js +1 -1
  243. package/esm2015/lib/layer/shared/layers/layer.js +9 -1
  244. package/esm2015/lib/layer/shared/layers/tile-layer.interface.js +1 -1
  245. package/esm2015/lib/layer/shared/layers/tile-layer.js +1 -1
  246. package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +1 -1
  247. package/esm2015/lib/layer/shared/layers/vector-layer.js +106 -47
  248. package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +1 -1
  249. package/esm2015/lib/layer/shared/layers/vectortile-layer.js +1 -1
  250. package/esm2015/lib/layer/shared/style.service.js +80 -11
  251. package/esm2015/lib/layer/shared/vector-style.interface.js +1 -1
  252. package/esm2015/lib/layer/track-feature-button/index.js +1 -1
  253. package/esm2015/lib/layer/track-feature-button/track-feature-button.component.js +1 -1
  254. package/esm2015/lib/layer/utils/image-watcher.js +1 -1
  255. package/esm2015/lib/layer/utils/index.js +1 -1
  256. package/esm2015/lib/layer/utils/layer.utils.js +1 -1
  257. package/esm2015/lib/layer/utils/layerSync-watcher.js +3 -3
  258. package/esm2015/lib/layer/utils/outputLegend.js +5 -3
  259. package/esm2015/lib/layer/utils/tile-watcher.js +1 -1
  260. package/esm2015/lib/layer/utils/vector-watcher.js +1 -1
  261. package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.animation.js +1 -1
  262. package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.component.js +1 -1
  263. package/esm2015/lib/map/baselayers-switcher/index.js +1 -1
  264. package/esm2015/lib/map/baselayers-switcher/mini-basemap.component.js +1 -1
  265. package/esm2015/lib/map/geolocate-button/geolocate-button.component.js +52 -17
  266. package/esm2015/lib/map/geolocate-button/index.js +1 -1
  267. package/esm2015/lib/map/home-extent-button/home-extent-button.component.js +69 -0
  268. package/esm2015/lib/map/home-extent-button/index.js +2 -0
  269. package/esm2015/lib/map/index.js +4 -1
  270. package/esm2015/lib/map/info-section/index.js +2 -0
  271. package/esm2015/lib/map/info-section/info-section.component.js +36 -0
  272. package/esm2015/lib/map/map-browser/index.js +1 -1
  273. package/esm2015/lib/map/map-browser/map-browser.component.js +2 -2
  274. package/esm2015/lib/map/map-center/index.js +1 -1
  275. package/esm2015/lib/map/map-center/map-center.component.js +2 -2
  276. package/esm2015/lib/map/map.module.js +16 -1
  277. package/esm2015/lib/map/menu-button/index.js +1 -1
  278. package/esm2015/lib/map/menu-button/menu-button.component.js +1 -1
  279. package/esm2015/lib/map/offline-button/index.js +1 -1
  280. package/esm2015/lib/map/offline-button/offline-button.component.js +1 -1
  281. package/esm2015/lib/map/rotation-button/index.js +1 -1
  282. package/esm2015/lib/map/rotation-button/rotation-button.component.js +1 -1
  283. package/esm2015/lib/map/shared/controllers/controller.js +1 -1
  284. package/esm2015/lib/map/shared/controllers/geolocation.js +295 -0
  285. package/esm2015/lib/map/shared/controllers/index.js +2 -1
  286. package/esm2015/lib/map/shared/controllers/view.js +17 -1
  287. package/esm2015/lib/map/shared/hover-feature.directive.js +9 -7
  288. package/esm2015/lib/map/shared/index.js +1 -1
  289. package/esm2015/lib/map/shared/map-pointer-position.directive.js +1 -1
  290. package/esm2015/lib/map/shared/map.enums.js +1 -1
  291. package/esm2015/lib/map/shared/map.interface.js +1 -1
  292. package/esm2015/lib/map/shared/map.js +14 -135
  293. package/esm2015/lib/map/shared/map.service.js +1 -1
  294. package/esm2015/lib/map/shared/map.utils.js +1 -1
  295. package/esm2015/lib/map/shared/mapOffline.directive.js +17 -6
  296. package/esm2015/lib/map/shared/projection.interfaces.js +1 -1
  297. package/esm2015/lib/map/shared/projection.service.js +1 -1
  298. package/esm2015/lib/map/shared/projection.utils.js +1 -1
  299. package/esm2015/lib/map/swipe-control/index.js +1 -1
  300. package/esm2015/lib/map/swipe-control/swipe-control.component.js +1 -1
  301. package/esm2015/lib/map/utils/layer-watcher.js +1 -1
  302. package/esm2015/lib/map/wake-lock-button/index.js +2 -0
  303. package/esm2015/lib/map/wake-lock-button/wake-lock-button.component.js +122 -0
  304. package/esm2015/lib/map/zoom-button/index.js +1 -1
  305. package/esm2015/lib/map/zoom-button/zoom-button.component.js +1 -1
  306. package/esm2015/lib/measure/index.js +1 -1
  307. package/esm2015/lib/measure/measure.module.js +1 -1
  308. package/esm2015/lib/measure/measurer/measure-format.pipe.js +1 -1
  309. package/esm2015/lib/measure/measurer/measurer-dialog.component.js +1 -1
  310. package/esm2015/lib/measure/measurer/measurer-item.component.js +1 -1
  311. package/esm2015/lib/measure/measurer/measurer.component.js +7 -1
  312. package/esm2015/lib/measure/measurer/measurer.module.js +1 -1
  313. package/esm2015/lib/measure/shared/index.js +1 -1
  314. package/esm2015/lib/measure/shared/measure.enum.js +1 -1
  315. package/esm2015/lib/measure/shared/measure.interfaces.js +1 -1
  316. package/esm2015/lib/measure/shared/measure.utils.js +1 -1
  317. package/esm2015/lib/metadata/index.js +1 -1
  318. package/esm2015/lib/metadata/metadata-button/index.js +1 -1
  319. package/esm2015/lib/metadata/metadata-button/metadata-button.component.js +1 -1
  320. package/esm2015/lib/metadata/metadata.module.js +1 -1
  321. package/esm2015/lib/metadata/shared/index.js +1 -1
  322. package/esm2015/lib/metadata/shared/metadata.interface.js +1 -1
  323. package/esm2015/lib/metadata/shared/metadata.service.js +1 -1
  324. package/esm2015/lib/offline/geoDB/geoDB.enums.js +6 -0
  325. package/esm2015/lib/offline/geoDB/geoDB.interface.js +2 -0
  326. package/esm2015/lib/offline/geoDB/geoDB.service.js +161 -0
  327. package/esm2015/lib/offline/geoDB/index.js +4 -0
  328. package/esm2015/lib/offline/index.js +3 -0
  329. package/esm2015/lib/offline/shared/geo-network.service.js +66 -0
  330. package/esm2015/lib/offline/shared/index.js +2 -0
  331. package/esm2015/lib/overlay/index.js +1 -1
  332. package/esm2015/lib/overlay/overlay.module.js +1 -1
  333. package/esm2015/lib/overlay/shared/index.js +1 -1
  334. package/esm2015/lib/overlay/shared/overlay-marker-style.utils.js +1 -1
  335. package/esm2015/lib/overlay/shared/overlay.directive.js +1 -1
  336. package/esm2015/lib/overlay/shared/overlay.enum.js +1 -1
  337. package/esm2015/lib/overlay/shared/overlay.js +1 -1
  338. package/esm2015/lib/overlay/shared/overlay.service.js +1 -1
  339. package/esm2015/lib/overlay/shared/overlay.utils.js +3 -3
  340. package/esm2015/lib/print/index.js +1 -1
  341. package/esm2015/lib/print/print/print.component.js +1 -1
  342. package/esm2015/lib/print/print-form/index.js +1 -1
  343. package/esm2015/lib/print/print-form/print-form.component.js +1 -1
  344. package/esm2015/lib/print/print.module.js +1 -1
  345. package/esm2015/lib/print/shared/index.js +1 -1
  346. package/esm2015/lib/print/shared/print.interface.js +1 -1
  347. package/esm2015/lib/print/shared/print.service.js +22 -16
  348. package/esm2015/lib/print/shared/print.type.js +1 -1
  349. package/esm2015/lib/query/index.js +1 -1
  350. package/esm2015/lib/query/query.module.js +5 -4
  351. package/esm2015/lib/query/shared/index.js +1 -1
  352. package/esm2015/lib/query/shared/query-search-source.js +1 -1
  353. package/esm2015/lib/query/shared/query-search-source.providers.js +1 -1
  354. package/esm2015/lib/query/shared/query.directive.js +4 -1
  355. package/esm2015/lib/query/shared/query.enums.js +1 -1
  356. package/esm2015/lib/query/shared/query.interfaces.js +1 -1
  357. package/esm2015/lib/query/shared/query.service.js +67 -18
  358. package/esm2015/lib/query/shared/query.utils.js +1 -1
  359. package/esm2015/lib/search/index.js +1 -1
  360. package/esm2015/lib/search/search-bar/search-bar.component.js +4 -2
  361. package/esm2015/lib/search/search-bar/search-bar.module.js +1 -1
  362. package/esm2015/lib/search/search-bar/search-url-param.directive.js +1 -1
  363. package/esm2015/lib/search/search-results/search-results-add-button.component.js +7 -7
  364. package/esm2015/lib/search/search-results/search-results-item.component.js +1 -1
  365. package/esm2015/lib/search/search-results/search-results.component.js +1 -1
  366. package/esm2015/lib/search/search-results/search-results.module.js +1 -1
  367. package/esm2015/lib/search/search-selector/search-selector.component.js +1 -1
  368. package/esm2015/lib/search/search-selector/search-selector.module.js +1 -1
  369. package/esm2015/lib/search/search-settings/search-settings.component.js +1 -1
  370. package/esm2015/lib/search/search-settings/search-settings.module.js +1 -1
  371. package/esm2015/lib/search/search.module.js +1 -1
  372. package/esm2015/lib/search/shared/index.js +1 -1
  373. package/esm2015/lib/search/shared/search-pointer-summary.directive.js +2 -1
  374. package/esm2015/lib/search/shared/search-source-service.providers.js +1 -1
  375. package/esm2015/lib/search/shared/search-source.service.js +1 -1
  376. package/esm2015/lib/search/shared/search.enums.js +1 -1
  377. package/esm2015/lib/search/shared/search.interfaces.js +1 -1
  378. package/esm2015/lib/search/shared/search.service.js +1 -1
  379. package/esm2015/lib/search/shared/search.utils.js +1 -1
  380. package/esm2015/lib/search/shared/sources/cadastre.js +1 -1
  381. package/esm2015/lib/search/shared/sources/cadastre.providers.js +1 -1
  382. package/esm2015/lib/search/shared/sources/coordinates.interfaces.js +1 -1
  383. package/esm2015/lib/search/shared/sources/coordinates.js +1 -1
  384. package/esm2015/lib/search/shared/sources/coordinates.providers.js +1 -1
  385. package/esm2015/lib/search/shared/sources/icherche.interfaces.js +1 -1
  386. package/esm2015/lib/search/shared/sources/icherche.js +1 -1
  387. package/esm2015/lib/search/shared/sources/icherche.providers.js +1 -1
  388. package/esm2015/lib/search/shared/sources/ilayer.interfaces.js +1 -1
  389. package/esm2015/lib/search/shared/sources/ilayer.js +1 -1
  390. package/esm2015/lib/search/shared/sources/ilayer.providers.js +1 -1
  391. package/esm2015/lib/search/shared/sources/index.js +1 -1
  392. package/esm2015/lib/search/shared/sources/nominatim.interfaces.js +1 -1
  393. package/esm2015/lib/search/shared/sources/nominatim.js +2 -2
  394. package/esm2015/lib/search/shared/sources/nominatim.providers.js +1 -1
  395. package/esm2015/lib/search/shared/sources/source.interfaces.js +1 -1
  396. package/esm2015/lib/search/shared/sources/source.js +3 -3
  397. package/esm2015/lib/search/shared/sources/storedqueries.interfaces.js +1 -1
  398. package/esm2015/lib/search/shared/sources/storedqueries.js +2 -2
  399. package/esm2015/lib/search/shared/sources/storedqueries.providers.js +1 -1
  400. package/esm2015/lib/toast/index.js +1 -1
  401. package/esm2015/lib/toast/toast.component.js +1 -1
  402. package/esm2015/lib/toast/toast.module.js +1 -1
  403. package/esm2015/lib/utils/commonVectorStyle.interface.js +1 -1
  404. package/esm2015/lib/utils/commonVectorStyle.js +1 -1
  405. package/esm2015/lib/utils/googleLinks.js +1 -1
  406. package/esm2015/lib/utils/id-generator.js +1 -1
  407. package/esm2015/lib/utils/index.js +1 -1
  408. package/esm2015/lib/utils/osmLinks.js +1 -1
  409. package/esm2015/lib/wkt/index.js +1 -1
  410. package/esm2015/lib/wkt/shared/index.js +1 -1
  411. package/esm2015/lib/wkt/shared/wkt.service.js +15 -15
  412. package/esm2015/lib/wkt/wkt.module.js +1 -1
  413. package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js +56 -0
  414. package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js +38 -0
  415. package/esm2015/lib/workspace/confirmation-popup/index.js +3 -0
  416. package/esm2015/lib/workspace/index.js +2 -1
  417. package/esm2015/lib/workspace/shared/edition-workspace.js +279 -0
  418. package/esm2015/lib/workspace/shared/edition-workspace.service.js +646 -0
  419. package/esm2015/lib/workspace/shared/feature-workspace.js +18 -1
  420. package/esm2015/lib/workspace/shared/feature-workspace.service.js +36 -10
  421. package/esm2015/lib/workspace/shared/index.js +3 -1
  422. package/esm2015/lib/workspace/shared/wfs-workspace.js +18 -1
  423. package/esm2015/lib/workspace/shared/wfs-workspace.service.js +36 -9
  424. package/esm2015/lib/workspace/shared/wms-workspace.service.js +87 -19
  425. package/esm2015/lib/workspace/shared/workspace.utils.js +1 -1
  426. package/esm2015/lib/workspace/widgets/index.js +1 -1
  427. package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.component.js +1 -1
  428. package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.module.js +1 -1
  429. package/esm2015/lib/workspace/widgets/widgets.js +1 -1
  430. package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +40 -10
  431. package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +1 -1
  432. package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +22 -8
  433. package/esm2015/lib/workspace/workspace-updator/workspace-updator.module.js +1 -1
  434. package/esm2015/lib/workspace/workspace.module.js +19 -7
  435. package/esm2015/public_api.js +2 -1
  436. package/fesm2015/igo2-geo.js +4487 -1380
  437. package/fesm2015/igo2-geo.js.map +1 -1
  438. package/lib/catalog/shared/catalog.interface.d.ts +9 -1
  439. package/lib/catalog/shared/catalog.service.d.ts +1 -0
  440. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -0
  441. package/lib/datasource/shared/datasources/datasource.interface.d.ts +50 -0
  442. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +1 -0
  443. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +1 -1
  444. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -1
  445. package/lib/directions/directions.component.d.ts +2 -1
  446. package/lib/draw/draw/draw-popup.component.d.ts +4 -2
  447. package/lib/draw/draw/draw.component.d.ts +19 -2
  448. package/lib/draw/shared/draw-style.service.d.ts +6 -0
  449. package/lib/draw/shared/draw.enum.d.ts +15 -0
  450. package/lib/feature/feature-details/feature-details.component.d.ts +12 -2
  451. package/lib/feature/feature-details/feature-details.directive.d.ts +2 -13
  452. package/lib/filter/filter.module.d.ts +1 -1
  453. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +31 -13
  454. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +6 -0
  455. package/lib/filter/shared/ogc-filter.interface.d.ts +20 -2
  456. package/lib/geometry/shared/controls/draw.d.ts +8 -4
  457. package/lib/geometry/shared/controls/modify.d.ts +3 -4
  458. package/lib/geometry/shared/controls/slice.d.ts +3 -4
  459. package/lib/import-export/shared/import.utils.d.ts +1 -1
  460. package/lib/layer/layer-item/layer-item.component.d.ts +1 -0
  461. package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -2
  462. package/lib/layer/shared/layer.service.d.ts +6 -3
  463. package/lib/layer/shared/layers/layer.d.ts +6 -0
  464. package/lib/layer/shared/layers/layer.interface.d.ts +9 -0
  465. package/lib/layer/shared/layers/vector-layer.d.ts +7 -2
  466. package/lib/layer/shared/style.service.d.ts +38 -3
  467. package/lib/layer/shared/vector-style.interface.d.ts +11 -0
  468. package/lib/map/geolocate-button/geolocate-button.component.d.ts +8 -1
  469. package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -0
  470. package/lib/map/home-extent-button/index.d.ts +1 -0
  471. package/lib/map/index.d.ts +3 -0
  472. package/lib/map/info-section/index.d.ts +1 -0
  473. package/lib/map/info-section/info-section.component.d.ts +7 -0
  474. package/lib/map/map.module.d.ts +20 -17
  475. package/lib/map/shared/controllers/geolocation.d.ts +111 -0
  476. package/lib/map/shared/controllers/index.d.ts +1 -0
  477. package/lib/map/shared/controllers/view.d.ts +7 -0
  478. package/lib/map/shared/hover-feature.directive.d.ts +1 -1
  479. package/lib/map/shared/map.d.ts +6 -19
  480. package/lib/map/shared/map.interface.d.ts +0 -1
  481. package/lib/map/shared/mapOffline.directive.d.ts +1 -0
  482. package/lib/map/wake-lock-button/index.d.ts +1 -0
  483. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +30 -0
  484. package/lib/offline/geoDB/geoDB.enums.d.ts +4 -0
  485. package/lib/offline/geoDB/geoDB.interface.d.ts +9 -0
  486. package/lib/offline/geoDB/geoDB.service.d.ts +35 -0
  487. package/lib/offline/geoDB/index.d.ts +3 -0
  488. package/lib/offline/index.d.ts +2 -0
  489. package/lib/offline/shared/geo-network.service.d.ts +28 -0
  490. package/lib/offline/shared/index.d.ts +1 -0
  491. package/lib/print/shared/print.service.d.ts +3 -2
  492. package/lib/query/query.module.d.ts +2 -1
  493. package/lib/query/shared/query.interfaces.d.ts +1 -0
  494. package/lib/query/shared/query.service.d.ts +7 -1
  495. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -0
  496. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -0
  497. package/lib/workspace/confirmation-popup/index.d.ts +2 -0
  498. package/lib/workspace/index.d.ts +1 -0
  499. package/lib/workspace/shared/edition-workspace.d.ts +82 -0
  500. package/lib/workspace/shared/edition-workspace.service.d.ts +48 -0
  501. package/lib/workspace/shared/feature-workspace.d.ts +3 -0
  502. package/lib/workspace/shared/feature-workspace.service.d.ts +5 -2
  503. package/lib/workspace/shared/index.d.ts +2 -0
  504. package/lib/workspace/shared/wfs-workspace.d.ts +3 -0
  505. package/lib/workspace/shared/wfs-workspace.service.d.ts +5 -2
  506. package/lib/workspace/shared/wms-workspace.service.d.ts +7 -2
  507. package/lib/workspace/shared/workspace.utils.d.ts +3 -2
  508. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +10 -3
  509. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -1
  510. package/lib/workspace/workspace.module.d.ts +8 -5
  511. package/ngcc.config.js +3 -3
  512. package/package.json +7 -5
  513. package/public_api.d.ts +1 -0
  514. package/style/geo.theming.scss +12 -11
@@ -330,7 +330,9 @@ export class SearchBarComponent {
330
330
  let terms;
331
331
  if (this.termSplitter && rawTerm.match(new RegExp(this.termSplitter, 'g'))) {
332
332
  terms = rawTerm.split(this.termSplitter).filter((t) => t.length >= this.minLength);
333
- this.store.clear();
333
+ if (this.store) {
334
+ this.store.clear();
335
+ }
334
336
  }
335
337
  else {
336
338
  terms = [rawTerm];
@@ -491,4 +493,4 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
491
493
  type: ViewChild,
492
494
  args: ['input', { static: true }]
493
495
  }] }); })();
494
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDbkJsRCxpQ0FBeUI7SUFBQSxZQUFTO0lBQUEsaUJBQVk7OztJQUFyQixlQUFTO0lBQVQsa0NBQVM7OztJQWNsQyxrQ0FHbUM7SUFDakMsK0JBQThDO0lBQ2hELGlCQUFTOzs7SUFIUCxvQ0FBZTtJQUVMLGVBQXdCO0lBQXhCLHNEQUF3Qjs7OztJQUdwQyxrQ0FJaUM7SUFBL0Isa01BQThCO0lBQzlCLCtCQUFxQztJQUN2QyxpQkFBUzs7O0lBSFAsb0NBQWU7Ozs7SUFLakIsK0NBSWtEO0lBQWhELDhQQUErQzs7SUFDakQsaUJBQXNCOzs7SUFIcEIsZ0RBQTJCLHdEQUFBOzs7O0lBSzdCLCtDQU1rRDtJQUhoRCxtT0FBd0IseUNBQWlDLElBQUMsb09BRTNCLGdEQUF3QyxJQUZiLGdQQUFBO0lBSTVELGlCQUFzQjs7O0lBTHBCLG9FQUErQyxxRUFBQTs7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QUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGbG9hdExhYmVsVHlwZSxcbiAgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZVxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBFTVBUWSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IFNFQVJDSF9UWVBFUyB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guZW51bXMnO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0LCBSZXNlYXJjaCB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcblxuLyoqXG4gKiBTZWFyY2hiYXIgdGhhdCB0cmlnZ2VycyBhIHJlc2VhcmNoIGluIGFsbCBzZWFyY2ggc291cmNlcyBlbmFibGVkLlxuICogSWYgdGhlIHN0b3JlIGlucHV0IGlzIGRlZmluZWQsIHRoZSBzZWFyY2ggcmVzdWx0cyB3aWxsIGJlIGxvYWRlZFxuICogaW50byB0aGF0IHN0b3JlLiBBbiBldmVudCBpcyBhbHdheXMgZW1pdHRlZCB3aGVuIGEgcmVzZWFyY2ggaXMgY29tcGxldGVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tc2VhcmNoLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBJbnZhbGlkIGtleXNcbiAgICovXG4gIHN0YXRpYyBpbnZhbGlkS2V5cyA9IFtcbiAgICAnQ29udHJvbCcsXG4gICAgJ1NoaWZ0JyxcbiAgICAnQWx0JyxcbiAgICAnQXJyb3dEb3duJyxcbiAgICAnQXJyb3dVcCcsXG4gICAgJ0Fycm93UmlnaHQnLFxuICAgICdBcnJvd0xlZnQnXG4gIF07XG5cbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXIkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgJ2lnby5nZW8uc2VhcmNoLnBsYWNlaG9sZGVyJ1xuICApO1xuXG4gIHJlYWRvbmx5IGVtcHR5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzc2VhcmNoIGJhciB0ZXJtXG4gICAqL1xuICBwcml2YXRlIHRlcm0kJDogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGVybSBzdHJlYW1cbiAgICovXG4gIHByaXZhdGUgc3RyZWFtJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzZWFyY2ggdGVybSBzdHJlYW1cbiAgICovXG4gIHByaXZhdGUgc3RyZWFtJCQ6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzZWFyY2ggdHlwZVxuICAgKi9cbiAgcHJpdmF0ZSBzZWFyY2hUeXBlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIHJlc2VhcmNoZXMkJDogU3Vic2NyaXB0aW9uW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgYXZhaWxhYmxlIHNlYXJjaCB0eXBlc1xuICAgKi9cbiAgQElucHV0KCkgc2VhcmNoVHlwZXM6IHN0cmluZ1tdID0gU0VBUkNIX1RZUEVTO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGVybVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHNlYXJjaFR5cGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2V0U2VhcmNoVHlwZSh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHNlYXJjaFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hUeXBlJC52YWx1ZTtcbiAgfVxuICByZWFkb25seSBzZWFyY2hUeXBlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIHVuZGVmaW5lZFxuICApO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHBvaW50ZXIgc3VtbWFyeSBpcyBhY3RpdmF0ZWQgYnkgdGhlIHNlYXJjaGJhciBzZXR0aW5nXG4gICAqL1xuICBAT3V0cHV0KCkgcG9pbnRlclN1bW1hcnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2hvdyBnZW9tZXRyeSBzZXR0aW5nIGlzIGNoYW5nZWRcbiAgICovXG4gICBAT3V0cHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGVybVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHRlcm0odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2V0VGVybSh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHRlcm0oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtJC52YWx1ZTtcbiAgfVxuICByZWFkb25seSB0ZXJtJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGNvbXBvbmVudCBpcyBkaXNhYmxlZFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkJC52YWx1ZTtcbiAgfVxuICByZWFkb25seSBkaXNhYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIEBJbnB1dCgpIHBvaW50ZXJTdW1tYXJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgZmxvYXQgbGFiZWwgc2hvdWxkIGJlIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgZmxvYXRMYWJlbDogRmxvYXRMYWJlbFR5cGUgPSAnbmV2ZXInO1xuXG4gIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgPSAnbGVnYWN5JztcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEljb25zIGNvbG9yIChzZWFyY2ggYW5kIGNsZWFyKVxuICAgKi9cbiAgQElucHV0KCkgY29sb3IgPSAncHJpbWFyeSc7XG5cbiAgQElucHV0KCkgdGVybVNwbGl0dGVyOiBzdHJpbmcgPSAnfCc7XG5cbiAgLyoqXG4gICAqIERlYm91bmNlIHRpbWUgYmV0d2VlbiBlYWNoIGtleXN0cm9rZVxuICAgKi9cbiAgQElucHV0KCkgZGVib3VuY2UgPSAyMDA7XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gdGVybSBsZW5ndGggcmVxdWlyZWQgdG8gdHJpZ2dlciBhIHJlc2VhcmNoXG4gICAqL1xuICBASW5wdXQoKSBtaW5MZW5ndGggPSAyO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggaWNvblxuICAgKi9cbiAgQElucHV0KCkgc2VhcmNoSWNvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggU2VsZWN0b3JcbiAgICovXG4gIEBJbnB1dCgpIHNlYXJjaFNlbGVjdG9yID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBTZXR0aW5nc1xuICAgKi9cbiAgQElucHV0KCkgc2VhcmNoU2V0dGluZ3MgPSBmYWxzZTtcblxuICAvKipcbiAgICogRm9yY2UgY29vcmRpbmF0ZXMgaW4gbm9ydGggYW1lcmljYVxuICAgKi9cbiAgQElucHV0KCkgZm9yY2VOQSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggcmVzdWx0cyBzdG9yZVxuICAgKi9cbiAgQElucHV0KCkgc3RvcmU6IEVudGl0eVN0b3JlPFNlYXJjaFJlc3VsdD47XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHRlcm0gY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIHNlYXJjaFRlcm1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcmVzZWFyY2ggaXMgY29tcGxldGVkXG4gICAqL1xuICBAT3V0cHV0KCkgc2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgcmVzZWFyY2g6IFJlc2VhcmNoO1xuICAgIHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdO1xuICB9PigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCB0eXBlIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hUeXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHR5cGUgY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIGNsZWFyRmVhdHVyZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggc2V0dGluZ3MgY2hhbmdlc1xuICAgKi9cbiAgQE91dHB1dCgpIHNlYXJjaFNldHRpbmdzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBlbGVtZW50XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dDogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIGJhciBpcyBlbXB0eVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZSB0byB0aGUgc2VhcmNoIHRlcm0gc3RyZWFtIGFuZCB0cmlnZ2VyIHJlc2VhcmNoZXNcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRlcm0kJCA9IHRoaXMudGVybSQuc3Vic2NyaWJlKCh0ZXJtOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMuZW1wdHkkLm5leHQodGVybSA9PT0gdW5kZWZpbmVkIHx8IHRlcm0ubGVuZ3RoID09PSAwKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc3RyZWFtJCQgPSB0aGlzLnN0cmVhbSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZSgodGVybTogc3RyaW5nKSA9PiAodGVybSA9PT0gJycgPyBFTVBUWSA6IHRpbWVyKHRoaXMuZGVib3VuY2UpKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHRlcm06IHN0cmluZykgPT4gdGhpcy5vblNldFRlcm0odGVybSkpO1xuXG4gICAgdGhpcy5oYW5kbGVQbGFjZWhvbGRlcigpO1xuXG4gICAgdGhpcy5zZWFyY2hUeXBlJCQgPSB0aGlzLnNlYXJjaFR5cGUkXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZSgoc2VhcmNoVHlwZTogc3RyaW5nKSA9PiB0aGlzLm9uU2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5zdWJzY3JpYmUgdG8gdGhlIHNlYXJjaCB0ZXJtIHN0cmVhbVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudGVybSQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdHJlYW0kJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2VhcmNoVHlwZSQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBhIHVzZXIgdHlwZXMsIHZhbGlkYXRlcyB0aGUga2V5IGFuZCBzZW5kIGl0IGludG8gdGhlXG4gICAqIHN0cmVhbSBpZiBpdCdzIHZhbGlkXG4gICAqIEBwYXJhbSBldmVudCBLZXlib2FyZCBldmVudFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBrZXkgPSBldmVudC5rZXk7XG4gICAgaWYgKCF0aGlzLmtleUlzVmFsaWQoa2V5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0ZXJtID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICB0aGlzLnNldFRlcm0odGVybSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIHN0cmVhbSBhbmQgdGhlIGlucHV0XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25DbGVhckJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xlYXIoKTtcbiAgICB0aGlzLmNsZWFyRmVhdHVyZS5lbWl0KCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHNlYXJjaCB0eXBlXG4gICAqIEBwYXJhbSBzZWFyY2hUeXBlIEVuYWJsZWQgc2VhcmNoIHR5cGVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblNlYXJjaFR5cGVDaGFuZ2Uoc2VhcmNoVHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgcGxhY2Vob2xkZXIgd2l0aCB0aGUgZW5hYmxlZCBzZWFyY2ggdHlwZS4gVGhlIHBsYWNlaG9sZGVyXG4gICAqIGZvciBhbGwgYXZhaWxhYmxlcyBzZWFyY2ggdHlwZXJzIG5lZWRzIHRvIGJlIGRlZmluZWQgaW4gdGhlIGxvY2FsZVxuICAgKiBmaWxlcyBvciBhbiBlcnJvciB3aWxsIGJlIHRocm93bi5cbiAgICogQHBhcmFtIHNlYXJjaFR5cGUgRW5hYmxlZCBzZWFyY2ggdHlwZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hUeXBlJC5uZXh0KHNlYXJjaFR5cGUpO1xuICB9XG5cbiAgb25TZWFyY2hTZXR0aW5nc0NoYW5nZSgpIHtcbiAgICB0aGlzLmRvU2VhcmNoKHRoaXMudGVybSk7XG4gICAgdGhpcy5zZWFyY2hTZXR0aW5nc0NoYW5nZS5lbWl0KCk7XG4gICAgdGhpcy5oYW5kbGVQbGFjZWhvbGRlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmQgdGhlIHRlcm0gaW50byB0aGUgc3RyZWFtIG9ubHkgaWYgdGhpcyBjb21wb25lbnQgaXMgbm90IGRpc2FibGVkXG4gICAqIEBwYXJhbSB0ZXJtIFNlYXJjaCB0ZXJtXG4gICAqL1xuICBzZXRUZXJtKHRlcm06IHN0cmluZykge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGVybSA9IHRlcm0gfHwgJyc7XG5cbiAgICBpZiAodGVybSAhPT0gdGhpcy50ZXJtKSB7XG4gICAgICB0aGlzLnRlcm0kLm5leHQodGVybSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2x1ZyA9IHRlcm0ucmVwbGFjZSgvKCNbXlxcc10qKS9nLCAnJykudHJpbSgpO1xuICAgIGlmIChzbHVnLmxlbmd0aCA+PSB0aGlzLm1pbkxlbmd0aCB8fCBzbHVnLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zdHJlYW0kLm5leHQodGVybSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHRoZSBzdHJlYW0gYW5kIHRoZSBpbnB1dFxuICAgKi9cbiAgcHJpdmF0ZSBjbGVhcigpIHtcbiAgICB0aGlzLnRlcm0kLm5leHQoJycpO1xuICAgIHRoaXMuc3RyZWFtJC5uZXh0KCcnKTtcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBpZiBhIGdpdmVuIGtleSBzdHJva2UgaXMgYSB2YWxpZCBpbnB1dFxuICAgKi9cbiAgcHJpdmF0ZSBrZXlJc1ZhbGlkKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFNlYXJjaEJhckNvbXBvbmVudC5pbnZhbGlkS2V5cy5pbmRleE9mKGtleSkgPT09IC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIHNlYXJjaCB0ZXJtIGNoYW5nZXMsIGVtaXQgYW4gZXZlbnQgYW5kIHRyaWdnZXIgYVxuICAgKiByZXNlYXJjaCBpbiBldmVyeSBlbmFibGVkIHNlYXJjaCBzb3VyY2VzLlxuICAgKiBAcGFyYW0gdGVybSBTZWFyY2ggdGVybVxuICAgKi9cbiAgcHJpdmF0ZSBvblNldFRlcm0odGVybTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5zZWFyY2hUZXJtQ2hhbmdlLmVtaXQodGVybSk7XG4gICAgdGhpcy5kb1NlYXJjaCh0ZXJtKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUGxhY2Vob2xkZXIoKSB7XG4gICAgY29uc3Qgc2VhcmNoVHlwZXMgPSBbXG4gICAgICAuLi5uZXcgU2V0KFxuICAgICAgICB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgICAgICAgICAuZ2V0RW5hYmxlZFNvdXJjZXMoKVxuICAgICAgICAgIC5maWx0ZXIoKHNzKSA9PiAhWydtYXAnLCAnY29vcmRpbmF0ZXNyZXZlcnNlJ10uaW5jbHVkZXMoc3MuZ2V0SWQoKSkpXG4gICAgICAgICAgLm1hcCgoc3MpID0+IHNzLmdldFR5cGUoKSlcbiAgICAgIClcbiAgICBdO1xuXG4gICAgbGV0IHBsYWNlaG9sZGVyID0gYGlnby5nZW8uc2VhcmNoLnBsYWNlaG9sZGVyYDtcbiAgICBpZiAoc2VhcmNoVHlwZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBwbGFjZWhvbGRlciA9IGBpZ28uZ2VvLnNlYXJjaC4ke3NlYXJjaFR5cGVzWzBdLnRvTG93ZXJDYXNlKCl9LnBsYWNlaG9sZGVyYDtcbiAgICB9IGVsc2UgaWYgKHNlYXJjaFR5cGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcGxhY2Vob2xkZXIgPSBgaWdvLmdlby5zZWFyY2guZW1wdHlUeXBlLnBsYWNlaG9sZGVyYDtcbiAgICB9XG4gICAgdGhpcy5wbGFjZWhvbGRlciQubmV4dChwbGFjZWhvbGRlcik7XG4gIH1cblxuICBwcml2YXRlIG9uU2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcbiAgICBpZiAoc2VhcmNoVHlwZSA9PT0gdW5kZWZpbmVkIHx8IHNlYXJjaFR5cGUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaFR5cGVDaGFuZ2UuZW1pdChzZWFyY2hUeXBlKTtcblxuICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gYGlnby5nZW8uc2VhcmNoLiR7c2VhcmNoVHlwZS50b0xvd2VyQ2FzZSgpfS5wbGFjZWhvbGRlcmA7XG4gICAgdGhpcy5wbGFjZWhvbGRlciQubmV4dChwbGFjZWhvbGRlcik7XG5cbiAgICB0aGlzLnNldFRlcm0odGhpcy50ZXJtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBzZWFyY2hcbiAgICogQHBhcmFtIHRlcm0gU2VhcmNoIHRlcm1cbiAgICovXG4gIHByaXZhdGUgZG9TZWFyY2gocmF3VGVybTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMucmVzZWFyY2hlcyQkKSB7XG4gICAgICB0aGlzLnJlc2VhcmNoZXMkJC5tYXAoKHJlc2VhcmNoKSA9PiByZXNlYXJjaC51bnN1YnNjcmliZSgpKTtcbiAgICAgIHRoaXMucmVzZWFyY2hlcyQkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxldCB0ZXJtcztcbiAgICBpZiAodGhpcy50ZXJtU3BsaXR0ZXIgJiYgcmF3VGVybS5tYXRjaChuZXcgUmVnRXhwKHRoaXMudGVybVNwbGl0dGVyLCAnZycpKSkge1xuICAgICAgdGVybXMgPSByYXdUZXJtLnNwbGl0KHRoaXMudGVybVNwbGl0dGVyKS5maWx0ZXIoKHQpID0+IHQubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoKTtcbiAgICAgIHRoaXMuc3RvcmUuY2xlYXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGVybXMgPSBbcmF3VGVybV07XG4gICAgfVxuXG4gICAgbGV0IHJlc2VhcmNoZXM6IFJlc2VhcmNoW10gPSBbXTtcbiAgICB0ZXJtcy5tYXAoKHRlcm06IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgc2x1ZyA9IHRlcm0gPyB0ZXJtLnJlcGxhY2UoLygjW15cXHNdKikvZywgJycpLnRyaW0oKSA6ICcnO1xuICAgICAgaWYgKHNsdWcgPT09ICcnKSB7XG4gICAgICAgIGlmICh0aGlzLnN0b3JlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByZXNlYXJjaGVzID0gcmVzZWFyY2hlcy5jb25jYXQodGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaCh0ZXJtLCB7XG4gICAgICAgIGZvcmNlTkE6IHRoaXMuZm9yY2VOQVxuICAgICAgfSkpO1xuICAgIH0pO1xuICAgIHRoaXMucmVzZWFyY2hlcyQkID0gcmVzZWFyY2hlcy5tYXAoKHJlc2VhcmNoKSA9PiB7XG4gICAgICByZXR1cm4gcmVzZWFyY2gucmVxdWVzdC5zdWJzY3JpYmUoKHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdKSA9PiB7XG4gICAgICAgIHRoaXMub25SZXNlYXJjaENvbXBsZXRlZChyZXNlYXJjaCwgcmVzdWx0cyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIGEgcmVzZWFyY2ggIGlzIGNvbXBsZXRlZCwgZW1pdCBhbiBldmVudCBhbmQgdXBkYXRlXG4gICAqIHRoZSBzdG9yZSdzIGl0ZW1zLlxuICAgKiBAcGFyYW0gcmVzZWFyY2ggUmVzZWFyY2hcbiAgICogQHBhcmFtIHJlc3VsdHMgUmVzZWFyY2ggcmVzdWx0c1xuICAgKi9cbiAgcHJpdmF0ZSBvblJlc2VhcmNoQ29tcGxldGVkKHJlc2VhcmNoOiBSZXNlYXJjaCwgcmVzdWx0czogU2VhcmNoUmVzdWx0W10pIHtcbiAgICB0aGlzLnNlYXJjaC5lbWl0KHsgcmVzZWFyY2gsIHJlc3VsdHMgfSk7XG5cbiAgICBpZiAodGhpcy5zdG9yZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBuZXdSZXN1bHRzID0gdGhpcy5zdG9yZVxuICAgICAgICAuYWxsKClcbiAgICAgICAgLmZpbHRlcigocmVzdWx0KSA9PiByZXN1bHQuc291cmNlICE9PSByZXNlYXJjaC5zb3VyY2UpXG4gICAgICAgIC5jb25jYXQocmVzdWx0cyk7XG4gICAgICB0aGlzLnN0b3JlLnVwZGF0ZU1hbnkobmV3UmVzdWx0cyk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXNlYXJjaC1iYXItY29udGFpbmVyXCIgW25nQ2xhc3NdPVwie2VtcHR5OiBlbXB0eSQgfCBhc3luY31cIj5cbiAgPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIiBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICAjaW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgW25nQ2xhc3NdPVwieydoYXNTZWFyY2hJY29uJzogc2VhcmNoSWNvbn1cIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkJCB8IGFzeW5jXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogKHBsYWNlaG9sZGVyJCB8IGFzeW5jKSA/IChwbGFjZWhvbGRlciQudmFsdWUgfCB0cmFuc2xhdGUpIDogdW5kZWZpbmVkXCJcbiAgICAgIFt2YWx1ZV09XCJ0ZXJtJCB8IGFzeW5jXCJcbiAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIlxuICAgICAgKHRvdWNoZW5kKT1cIm9uS2V5dXAoJGV2ZW50KVwiPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmFyLWJ1dHRvbnNcIj5cbiAgICA8YnV0dG9uXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAqbmdJZj1cInNlYXJjaEljb24gIT09IHVuZGVmaW5lZFwiPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJ7e3NlYXJjaEljb259fVwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cIihlbXB0eSQgfCBhc3luYyk9PT1mYWxzZVwiXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAoY2xpY2spPVwib25DbGVhckJ1dHRvbkNsaWNrKClcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY2xvc2VcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGlnby1zZWFyY2gtc2VsZWN0b3JcbiAgICAgICpuZ0lmPVwic2VhcmNoU2VsZWN0b3JcIlxuICAgICAgW3NlYXJjaFR5cGVzXT1cInNlYXJjaFR5cGVzXCJcbiAgICAgIFtzZWFyY2hUeXBlXT1cInNlYXJjaFR5cGUkIHwgYXN5bmNcIlxuICAgICAgKHNlYXJjaFR5cGVDaGFuZ2UpPVwib25TZWFyY2hUeXBlQ2hhbmdlKCRldmVudClcIj5cbiAgICA8L2lnby1zZWFyY2gtc2VsZWN0b3I+XG5cbiAgICA8aWdvLXNlYXJjaC1zZXR0aW5nc1xuICAgICAgKm5nSWY9XCJzZWFyY2hTZXR0aW5nc1wiXG4gICAgICBbcG9pbnRlclN1bW1hcnlFbmFibGVkXT1cInBvaW50ZXJTdW1tYXJ5RW5hYmxlZFwiXG4gICAgICAocG9pbnRlclN1bW1hcnlTdGF0dXMpPVwicG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCgkZXZlbnQpXCJcbiAgICAgIFtzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkXT1cInNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWRcIlxuICAgICAgKHNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cyk9XCJzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMuZW1pdCgkZXZlbnQpXCJcbiAgICAgIChzZWFyY2hTb3VyY2VDaGFuZ2UpPVwib25TZWFyY2hTZXR0aW5nc0NoYW5nZSgpXCI+XG4gICAgPC9pZ28tc2VhcmNoLXNldHRpbmdzPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
496
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtYmFyL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDbkJsRCxpQ0FBeUI7SUFBQSxZQUFTO0lBQUEsaUJBQVk7OztJQUFyQixlQUFTO0lBQVQsa0NBQVM7OztJQWNsQyxrQ0FHbUM7SUFDakMsK0JBQThDO0lBQ2hELGlCQUFTOzs7SUFIUCxvQ0FBZTtJQUVMLGVBQXdCO0lBQXhCLHNEQUF3Qjs7OztJQUdwQyxrQ0FJaUM7SUFBL0Isa01BQThCO0lBQzlCLCtCQUFxQztJQUN2QyxpQkFBUzs7O0lBSFAsb0NBQWU7Ozs7SUFLakIsK0NBSWtEO0lBQWhELDhQQUErQzs7SUFDakQsaUJBQXNCOzs7SUFIcEIsZ0RBQTJCLHdEQUFBOzs7O0lBSzdCLCtDQU1rRDtJQUhoRCxtT0FBd0IseUNBQWlDLElBQUMsb09BRTNCLGdEQUF3QyxJQUZiLGdQQUFBO0lBSTVELGlCQUFzQjs7O0lBTHBCLG9FQUErQyxxRUFBQTs7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QUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGbG9hdExhYmVsVHlwZSxcclxuICBNYXRGb3JtRmllbGRBcHBlYXJhbmNlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBFTVBUWSwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IFNFQVJDSF9UWVBFUyB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guZW51bXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQsIFJlc2VhcmNoIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBTZWFyY2hiYXIgdGhhdCB0cmlnZ2VycyBhIHJlc2VhcmNoIGluIGFsbCBzZWFyY2ggc291cmNlcyBlbmFibGVkLlxyXG4gKiBJZiB0aGUgc3RvcmUgaW5wdXQgaXMgZGVmaW5lZCwgdGhlIHNlYXJjaCByZXN1bHRzIHdpbGwgYmUgbG9hZGVkXHJcbiAqIGludG8gdGhhdCBzdG9yZS4gQW4gZXZlbnQgaXMgYWx3YXlzIGVtaXR0ZWQgd2hlbiBhIHJlc2VhcmNoIGlzIGNvbXBsZXRlZC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBJbnZhbGlkIGtleXNcclxuICAgKi9cclxuICBzdGF0aWMgaW52YWxpZEtleXMgPSBbXHJcbiAgICAnQ29udHJvbCcsXHJcbiAgICAnU2hpZnQnLFxyXG4gICAgJ0FsdCcsXHJcbiAgICAnQXJyb3dEb3duJyxcclxuICAgICdBcnJvd1VwJyxcclxuICAgICdBcnJvd1JpZ2h0JyxcclxuICAgICdBcnJvd0xlZnQnXHJcbiAgXTtcclxuXHJcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXIkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICAnaWdvLmdlby5zZWFyY2gucGxhY2Vob2xkZXInXHJcbiAgKTtcclxuXHJcbiAgcmVhZG9ubHkgZW1wdHkkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHNzZWFyY2ggYmFyIHRlcm1cclxuICAgKi9cclxuICBwcml2YXRlIHRlcm0kJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggdGVybSBzdHJlYW1cclxuICAgKi9cclxuICBwcml2YXRlIHN0cmVhbSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc2VhcmNoIHRlcm0gc3RyZWFtXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdHJlYW0kJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHNlYXJjaCB0eXBlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZWFyY2hUeXBlJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSByZXNlYXJjaGVzJCQ6IFN1YnNjcmlwdGlvbltdO1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0IG9mIGF2YWlsYWJsZSBzZWFyY2ggdHlwZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBzZWFyY2hUeXBlczogc3RyaW5nW10gPSBTRUFSQ0hfVFlQRVM7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCB0ZXJtXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VhcmNoVHlwZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNldFNlYXJjaFR5cGUodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgc2VhcmNoVHlwZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoVHlwZSQudmFsdWU7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IHNlYXJjaFR5cGUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICB1bmRlZmluZWRcclxuICApO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHBvaW50ZXIgc3VtbWFyeSBpcyBhY3RpdmF0ZWQgYnkgdGhlIHNlYXJjaGJhciBzZXR0aW5nXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHBvaW50ZXJTdW1tYXJ5U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNob3cgZ2VvbWV0cnkgc2V0dGluZyBpcyBjaGFuZ2VkXHJcbiAgICovXHJcbiAgIEBPdXRwdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCB0ZXJtXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgdGVybSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNldFRlcm0odmFsdWUpO1xyXG4gIH1cclxuICBnZXQgdGVybSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybSQudmFsdWU7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IHRlcm0kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoaXMgY29tcG9uZW50IGlzIGRpc2FibGVkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCQudmFsdWU7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IGRpc2FibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcblxyXG4gIEBJbnB1dCgpIHBvaW50ZXJTdW1tYXJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgZmxvYXQgbGFiZWwgc2hvdWxkIGJlIGRpc3BsYXllZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IEZsb2F0TGFiZWxUeXBlID0gJ25ldmVyJztcclxuXHJcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSA9ICdsZWdhY3knO1xyXG5cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBJY29ucyBjb2xvciAoc2VhcmNoIGFuZCBjbGVhcilcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2xvciA9ICdwcmltYXJ5JztcclxuXHJcbiAgQElucHV0KCkgdGVybVNwbGl0dGVyOiBzdHJpbmcgPSAnfCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlYm91bmNlIHRpbWUgYmV0d2VlbiBlYWNoIGtleXN0cm9rZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRlYm91bmNlID0gMjAwO1xyXG5cclxuICAvKipcclxuICAgKiBNaW5pbXVtIHRlcm0gbGVuZ3RoIHJlcXVpcmVkIHRvIHRyaWdnZXIgYSByZXNlYXJjaFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1pbkxlbmd0aCA9IDI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCBpY29uXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2VhcmNoSWNvbjogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggU2VsZWN0b3JcclxuICAgKi9cclxuICBASW5wdXQoKSBzZWFyY2hTZWxlY3RvciA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggU2V0dGluZ3NcclxuICAgKi9cclxuICBASW5wdXQoKSBzZWFyY2hTZXR0aW5ncyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBGb3JjZSBjb29yZGluYXRlcyBpbiBub3J0aCBhbWVyaWNhXHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9yY2VOQSA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcmVzdWx0cyBzdG9yZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHN0b3JlOiBFbnRpdHlTdG9yZTxTZWFyY2hSZXN1bHQ+O1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCB0ZXJtIGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoVGVybUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXNlYXJjaCBpcyBjb21wbGV0ZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICByZXNlYXJjaDogUmVzZWFyY2g7XHJcbiAgICByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXTtcclxuICB9PigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCB0eXBlIGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoVHlwZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCB0eXBlIGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2xlYXJGZWF0dXJlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlYXJjaCBzZXR0aW5ncyBjaGFuZ2VzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNlYXJjaFNldHRpbmdzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBlbGVtZW50XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dDogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIGJhciBpcyBlbXB0eVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm0ubGVuZ3RoID09PSAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpYmUgdG8gdGhlIHNlYXJjaCB0ZXJtIHN0cmVhbSBhbmQgdHJpZ2dlciByZXNlYXJjaGVzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlcm0kJCA9IHRoaXMudGVybSQuc3Vic2NyaWJlKCh0ZXJtOiBzdHJpbmcpID0+IHtcclxuICAgICAgdGhpcy5lbXB0eSQubmV4dCh0ZXJtID09PSB1bmRlZmluZWQgfHwgdGVybS5sZW5ndGggPT09IDApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zdHJlYW0kJCA9IHRoaXMuc3RyZWFtJFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBkZWJvdW5jZSgodGVybTogc3RyaW5nKSA9PiAodGVybSA9PT0gJycgPyBFTVBUWSA6IHRpbWVyKHRoaXMuZGVib3VuY2UpKSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh0ZXJtOiBzdHJpbmcpID0+IHRoaXMub25TZXRUZXJtKHRlcm0pKTtcclxuXHJcbiAgICB0aGlzLmhhbmRsZVBsYWNlaG9sZGVyKCk7XHJcblxyXG4gICAgdGhpcy5zZWFyY2hUeXBlJCQgPSB0aGlzLnNlYXJjaFR5cGUkXHJcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHNlYXJjaFR5cGU6IHN0cmluZykgPT4gdGhpcy5vblNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5zdWJzY3JpYmUgdG8gdGhlIHNlYXJjaCB0ZXJtIHN0cmVhbVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy50ZXJtJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3RyZWFtJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc2VhcmNoVHlwZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgdXNlciB0eXBlcywgdmFsaWRhdGVzIHRoZSBrZXkgYW5kIHNlbmQgaXQgaW50byB0aGVcclxuICAgKiBzdHJlYW0gaWYgaXQncyB2YWxpZFxyXG4gICAqIEBwYXJhbSBldmVudCBLZXlib2FyZCBldmVudFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleTtcclxuICAgIGlmICghdGhpcy5rZXlJc1ZhbGlkKGtleSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGVybSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XHJcbiAgICB0aGlzLnNldFRlcm0odGVybSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGUgc3RyZWFtIGFuZCB0aGUgaW5wdXRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvbkNsZWFyQnV0dG9uQ2xpY2soKSB7XHJcbiAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICB0aGlzLmNsZWFyRmVhdHVyZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgc2VhcmNoIHR5cGVcclxuICAgKiBAcGFyYW0gc2VhcmNoVHlwZSBFbmFibGVkIHNlYXJjaCB0eXBlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgb25TZWFyY2hUeXBlQ2hhbmdlKHNlYXJjaFR5cGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBwbGFjZWhvbGRlciB3aXRoIHRoZSBlbmFibGVkIHNlYXJjaCB0eXBlLiBUaGUgcGxhY2Vob2xkZXJcclxuICAgKiBmb3IgYWxsIGF2YWlsYWJsZXMgc2VhcmNoIHR5cGVycyBuZWVkcyB0byBiZSBkZWZpbmVkIGluIHRoZSBsb2NhbGVcclxuICAgKiBmaWxlcyBvciBhbiBlcnJvciB3aWxsIGJlIHRocm93bi5cclxuICAgKiBAcGFyYW0gc2VhcmNoVHlwZSBFbmFibGVkIHNlYXJjaCB0eXBlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VhcmNoVHlwZSQubmV4dChzZWFyY2hUeXBlKTtcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoU2V0dGluZ3NDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmRvU2VhcmNoKHRoaXMudGVybSk7XHJcbiAgICB0aGlzLnNlYXJjaFNldHRpbmdzQ2hhbmdlLmVtaXQoKTtcclxuICAgIHRoaXMuaGFuZGxlUGxhY2Vob2xkZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmQgdGhlIHRlcm0gaW50byB0aGUgc3RyZWFtIG9ubHkgaWYgdGhpcyBjb21wb25lbnQgaXMgbm90IGRpc2FibGVkXHJcbiAgICogQHBhcmFtIHRlcm0gU2VhcmNoIHRlcm1cclxuICAgKi9cclxuICBzZXRUZXJtKHRlcm06IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRlcm0gPSB0ZXJtIHx8ICcnO1xyXG5cclxuICAgIGlmICh0ZXJtICE9PSB0aGlzLnRlcm0pIHtcclxuICAgICAgdGhpcy50ZXJtJC5uZXh0KHRlcm0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNsdWcgPSB0ZXJtLnJlcGxhY2UoLygjW15cXHNdKikvZywgJycpLnRyaW0oKTtcclxuICAgIGlmIChzbHVnLmxlbmd0aCA+PSB0aGlzLm1pbkxlbmd0aCB8fCBzbHVnLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnN0cmVhbSQubmV4dCh0ZXJtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHRoZSBzdHJlYW0gYW5kIHRoZSBpbnB1dFxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnRlcm0kLm5leHQoJycpO1xyXG4gICAgdGhpcy5zdHJlYW0kLm5leHQoJycpO1xyXG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZSBpZiBhIGdpdmVuIGtleSBzdHJva2UgaXMgYSB2YWxpZCBpbnB1dFxyXG4gICAqL1xyXG4gIHByaXZhdGUga2V5SXNWYWxpZChrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIFNlYXJjaEJhckNvbXBvbmVudC5pbnZhbGlkS2V5cy5pbmRleE9mKGtleSkgPT09IC0xO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiB0aGUgc2VhcmNoIHRlcm0gY2hhbmdlcywgZW1pdCBhbiBldmVudCBhbmQgdHJpZ2dlciBhXHJcbiAgICogcmVzZWFyY2ggaW4gZXZlcnkgZW5hYmxlZCBzZWFyY2ggc291cmNlcy5cclxuICAgKiBAcGFyYW0gdGVybSBTZWFyY2ggdGVybVxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25TZXRUZXJtKHRlcm06IHN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5zZWFyY2hUZXJtQ2hhbmdlLmVtaXQodGVybSk7XHJcbiAgICB0aGlzLmRvU2VhcmNoKHRlcm0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVQbGFjZWhvbGRlcigpIHtcclxuICAgIGNvbnN0IHNlYXJjaFR5cGVzID0gW1xyXG4gICAgICAuLi5uZXcgU2V0KFxyXG4gICAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAgICAgLmdldEVuYWJsZWRTb3VyY2VzKClcclxuICAgICAgICAgIC5maWx0ZXIoKHNzKSA9PiAhWydtYXAnLCAnY29vcmRpbmF0ZXNyZXZlcnNlJ10uaW5jbHVkZXMoc3MuZ2V0SWQoKSkpXHJcbiAgICAgICAgICAubWFwKChzcykgPT4gc3MuZ2V0VHlwZSgpKVxyXG4gICAgICApXHJcbiAgICBdO1xyXG5cclxuICAgIGxldCBwbGFjZWhvbGRlciA9IGBpZ28uZ2VvLnNlYXJjaC5wbGFjZWhvbGRlcmA7XHJcbiAgICBpZiAoc2VhcmNoVHlwZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHBsYWNlaG9sZGVyID0gYGlnby5nZW8uc2VhcmNoLiR7c2VhcmNoVHlwZXNbMF0udG9Mb3dlckNhc2UoKX0ucGxhY2Vob2xkZXJgO1xyXG4gICAgfSBlbHNlIGlmIChzZWFyY2hUeXBlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcGxhY2Vob2xkZXIgPSBgaWdvLmdlby5zZWFyY2guZW1wdHlUeXBlLnBsYWNlaG9sZGVyYDtcclxuICAgIH1cclxuICAgIHRoaXMucGxhY2Vob2xkZXIkLm5leHQocGxhY2Vob2xkZXIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoc2VhcmNoVHlwZSA9PT0gdW5kZWZpbmVkIHx8IHNlYXJjaFR5cGUgPT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VhcmNoVHlwZUNoYW5nZS5lbWl0KHNlYXJjaFR5cGUpO1xyXG5cclxuICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gYGlnby5nZW8uc2VhcmNoLiR7c2VhcmNoVHlwZS50b0xvd2VyQ2FzZSgpfS5wbGFjZWhvbGRlcmA7XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyJC5uZXh0KHBsYWNlaG9sZGVyKTtcclxuXHJcbiAgICB0aGlzLnNldFRlcm0odGhpcy50ZXJtKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4ZWN1dGUgdGhlIHNlYXJjaFxyXG4gICAqIEBwYXJhbSB0ZXJtIFNlYXJjaCB0ZXJtXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkb1NlYXJjaChyYXdUZXJtOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIGlmICh0aGlzLnJlc2VhcmNoZXMkJCkge1xyXG4gICAgICB0aGlzLnJlc2VhcmNoZXMkJC5tYXAoKHJlc2VhcmNoKSA9PiByZXNlYXJjaC51bnN1YnNjcmliZSgpKTtcclxuICAgICAgdGhpcy5yZXNlYXJjaGVzJCQgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRlcm1zO1xyXG4gICAgaWYgKHRoaXMudGVybVNwbGl0dGVyICYmIHJhd1Rlcm0ubWF0Y2gobmV3IFJlZ0V4cCh0aGlzLnRlcm1TcGxpdHRlciwgJ2cnKSkpIHtcclxuICAgICAgdGVybXMgPSByYXdUZXJtLnNwbGl0KHRoaXMudGVybVNwbGl0dGVyKS5maWx0ZXIoKHQpID0+IHQubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoKTtcclxuICAgICAgaWYgKHRoaXMuc3RvcmUpIHtcclxuICAgICAgICB0aGlzLnN0b3JlLmNsZWFyKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRlcm1zID0gW3Jhd1Rlcm1dO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCByZXNlYXJjaGVzOiBSZXNlYXJjaFtdID0gW107XHJcbiAgICB0ZXJtcy5tYXAoKHRlcm06IHN0cmluZykgPT4ge1xyXG4gICAgICBjb25zdCBzbHVnID0gdGVybSA/IHRlcm0ucmVwbGFjZSgvKCNbXlxcc10qKS9nLCAnJykudHJpbSgpIDogJyc7XHJcbiAgICAgIGlmIChzbHVnID09PSAnJykge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b3JlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmUuY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXNlYXJjaGVzID0gcmVzZWFyY2hlcy5jb25jYXQodGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaCh0ZXJtLCB7XHJcbiAgICAgICAgZm9yY2VOQTogdGhpcy5mb3JjZU5BXHJcbiAgICAgIH0pKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZXNlYXJjaGVzJCQgPSByZXNlYXJjaGVzLm1hcCgocmVzZWFyY2gpID0+IHtcclxuICAgICAgcmV0dXJuIHJlc2VhcmNoLnJlcXVlc3Quc3Vic2NyaWJlKChyZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMub25SZXNlYXJjaENvbXBsZXRlZChyZXNlYXJjaCwgcmVzdWx0cyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgcmVzZWFyY2ggIGlzIGNvbXBsZXRlZCwgZW1pdCBhbiBldmVudCBhbmQgdXBkYXRlXHJcbiAgICogdGhlIHN0b3JlJ3MgaXRlbXMuXHJcbiAgICogQHBhcmFtIHJlc2VhcmNoIFJlc2VhcmNoXHJcbiAgICogQHBhcmFtIHJlc3VsdHMgUmVzZWFyY2ggcmVzdWx0c1xyXG4gICAqL1xyXG4gIHByaXZhdGUgb25SZXNlYXJjaENvbXBsZXRlZChyZXNlYXJjaDogUmVzZWFyY2gsIHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdKSB7XHJcbiAgICB0aGlzLnNlYXJjaC5lbWl0KHsgcmVzZWFyY2gsIHJlc3VsdHMgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc3RvcmUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBuZXdSZXN1bHRzID0gdGhpcy5zdG9yZVxyXG4gICAgICAgIC5hbGwoKVxyXG4gICAgICAgIC5maWx0ZXIoKHJlc3VsdCkgPT4gcmVzdWx0LnNvdXJjZSAhPT0gcmVzZWFyY2guc291cmNlKVxyXG4gICAgICAgIC5jb25jYXQocmVzdWx0cyk7XHJcbiAgICAgIHRoaXMuc3RvcmUudXBkYXRlTWFueShuZXdSZXN1bHRzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlnby1zZWFyY2gtYmFyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cIntlbXB0eTogZW1wdHkkIHwgYXN5bmN9XCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIiBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCI+XHJcbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsfX08L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dFxyXG4gICAgICAjaW5wdXRcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgW25nQ2xhc3NdPVwieydoYXNTZWFyY2hJY29uJzogc2VhcmNoSWNvbn1cIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IChwbGFjZWhvbGRlciQgfCBhc3luYykgPyAocGxhY2Vob2xkZXIkLnZhbHVlIHwgdHJhbnNsYXRlKSA6IHVuZGVmaW5lZFwiXHJcbiAgICAgIFt2YWx1ZV09XCJ0ZXJtJCB8IGFzeW5jXCJcclxuICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXHJcbiAgICAgICh0b3VjaGVuZCk9XCJvbktleXVwKCRldmVudClcIj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJhci1idXR0b25zXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBbY29sb3JdPVwiY29sb3JcIlxyXG4gICAgICAqbmdJZj1cInNlYXJjaEljb24gIT09IHVuZGVmaW5lZFwiPlxyXG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInt7c2VhcmNoSWNvbn19XCI+PC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIDxidXR0b25cclxuICAgICAgKm5nSWY9XCIoZW1wdHkkIHwgYXN5bmMpPT09ZmFsc2VcIlxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJCdXR0b25DbGljaygpXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY2xvc2VcIj48L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGlnby1zZWFyY2gtc2VsZWN0b3JcclxuICAgICAgKm5nSWY9XCJzZWFyY2hTZWxlY3RvclwiXHJcbiAgICAgIFtzZWFyY2hUeXBlc109XCJzZWFyY2hUeXBlc1wiXHJcbiAgICAgIFtzZWFyY2hUeXBlXT1cInNlYXJjaFR5cGUkIHwgYXN5bmNcIlxyXG4gICAgICAoc2VhcmNoVHlwZUNoYW5nZSk9XCJvblNlYXJjaFR5cGVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPC9pZ28tc2VhcmNoLXNlbGVjdG9yPlxyXG5cclxuICAgIDxpZ28tc2VhcmNoLXNldHRpbmdzXHJcbiAgICAgICpuZ0lmPVwic2VhcmNoU2V0dGluZ3NcIlxyXG4gICAgICBbcG9pbnRlclN1bW1hcnlFbmFibGVkXT1cInBvaW50ZXJTdW1tYXJ5RW5hYmxlZFwiXHJcbiAgICAgIChwb2ludGVyU3VtbWFyeVN0YXR1cyk9XCJwb2ludGVyU3VtbWFyeVN0YXR1cy5lbWl0KCRldmVudClcIlxyXG4gICAgICBbc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZF09XCJzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkXCJcclxuICAgICAgKHNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cyk9XCJzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgKHNlYXJjaFNvdXJjZUNoYW5nZSk9XCJvblNlYXJjaFNldHRpbmdzQ2hhbmdlKClcIj5cclxuICAgIDwvaWdvLXNlYXJjaC1zZXR0aW5ncz5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -74,4 +74,4 @@ IgoSearchBarModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
74
74
  IgoLanguageModule,
75
75
  IgoSearchSelectorModule,
76
76
  IgoSearchSettingsModule], exports: [SearchBarComponent] }); })();
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRXZFOztHQUVHO0FBd0JILE1BQU0sT0FBTyxrQkFBa0I7O29GQUFsQixrQkFBa0I7b0VBQWxCLGtCQUFrQjt3RUF0QnBCO1lBQ1AsWUFBWTtZQUNaLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYztZQUNkLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2Qix1QkFBdUI7U0FDeEI7dUZBU1Usa0JBQWtCO2NBdkI5QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixhQUFhO29CQUNiLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGlCQUFpQjtvQkFDakIsdUJBQXVCO29CQUN2Qix1QkFBdUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7aUJBQ25CO2dCQUNELFlBQVksRUFBRTtvQkFDWixrQkFBa0I7b0JBQ2xCLHVCQUF1QjtpQkFDeEI7YUFDRjs7d0ZBQ1ksa0JBQWtCLG1CQUozQixrQkFBa0I7UUFDbEIsdUJBQXVCLGFBbEJ2QixZQUFZO1FBQ1osV0FBVztRQUNYLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLHVCQUF1QixhQUd2QixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuXG5pbXBvcnQgeyBJZ29TZWFyY2hTZWxlY3Rvck1vZHVsZSB9IGZyb20gJy4uL3NlYXJjaC1zZWxlY3Rvci9zZWFyY2gtc2VsZWN0b3IubW9kdWxlJztcbmltcG9ydCB7IElnb1NlYXJjaFNldHRpbmdzTW9kdWxlIH0gZnJvbSAnLi4vc2VhcmNoLXNldHRpbmdzL3NlYXJjaC1zZXR0aW5ncy5tb2R1bGUnO1xuaW1wb3J0IHsgU2VhcmNoQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hVcmxQYXJhbURpcmVjdGl2ZSB9IGZyb20gJy4vc2VhcmNoLXVybC1wYXJhbS5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxuICAgIElnb1NlYXJjaFNlbGVjdG9yTW9kdWxlLFxuICAgIElnb1NlYXJjaFNldHRpbmdzTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTZWFyY2hCYXJDb21wb25lbnQsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNlYXJjaEJhckNvbXBvbmVudCxcbiAgICBTZWFyY2hVcmxQYXJhbURpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElnb1NlYXJjaEJhck1vZHVsZSB7fVxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRXZFOztHQUVHO0FBd0JILE1BQU0sT0FBTyxrQkFBa0I7O29GQUFsQixrQkFBa0I7b0VBQWxCLGtCQUFrQjt3RUF0QnBCO1lBQ1AsWUFBWTtZQUNaLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYztZQUNkLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2Qix1QkFBdUI7U0FDeEI7dUZBU1Usa0JBQWtCO2NBdkI5QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixhQUFhO29CQUNiLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGlCQUFpQjtvQkFDakIsdUJBQXVCO29CQUN2Qix1QkFBdUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7aUJBQ25CO2dCQUNELFlBQVksRUFBRTtvQkFDWixrQkFBa0I7b0JBQ2xCLHVCQUF1QjtpQkFDeEI7YUFDRjs7d0ZBQ1ksa0JBQWtCLG1CQUozQixrQkFBa0I7UUFDbEIsdUJBQXVCLGFBbEJ2QixZQUFZO1FBQ1osV0FBVztRQUNYLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLHVCQUF1QixhQUd2QixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSWdvU2VhcmNoU2VsZWN0b3JNb2R1bGUgfSBmcm9tICcuLi9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb1NlYXJjaFNldHRpbmdzTW9kdWxlIH0gZnJvbSAnLi4vc2VhcmNoLXNldHRpbmdzL3NlYXJjaC1zZXR0aW5ncy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTZWFyY2hCYXJDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoVXJsUGFyYW1EaXJlY3RpdmUgfSBmcm9tICcuL3NlYXJjaC11cmwtcGFyYW0uZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgSWdvU2VhcmNoU2VsZWN0b3JNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2VhcmNoQmFyQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZWFyY2hCYXJDb21wb25lbnQsXHJcbiAgICBTZWFyY2hVcmxQYXJhbURpcmVjdGl2ZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb1NlYXJjaEJhck1vZHVsZSB7fVxyXG4iXX0=
@@ -32,4 +32,4 @@ SearchUrlParamDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Sea
32
32
  }] }, { type: i0.ChangeDetectorRef }, { type: i2.RouteService, decorators: [{
33
33
  type: Optional
34
34
  }] }]; }, null); })();
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXVybC1wYXJhbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtdXJsLXBhcmFtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULElBQUksRUFFSixRQUFRLEVBRVQsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdkIsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNrQixTQUE2QixFQUNyQyxHQUFzQixFQUNWLEtBQW1CO1FBRnZCLGNBQVMsR0FBVCxTQUFTLENBQW9CO1FBQ3JDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ1YsVUFBSyxHQUFMLEtBQUssQ0FBYztJQUN0QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN4QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBbUIsQ0FBQyxDQUFDO2dCQUNwRSxJQUFJLFlBQVksRUFBRTtvQkFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7aUJBQzFCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7OzhGQWpCVSx1QkFBdUI7MEVBQXZCLHVCQUF1Qjt1RkFBdkIsdUJBQXVCO2NBSG5DLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2FBQ2hDOztzQkFHSSxJQUFJOztzQkFFSixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBTZWxmLFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUm91dGVTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbmltcG9ydCB7IFNlYXJjaEJhckNvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWJhci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaWdvU2VhcmNoVXJsUGFyYW1dJ1xufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hVcmxQYXJhbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTZWxmKCkgcHJpdmF0ZSBjb21wb25lbnQ6IFNlYXJjaEJhckNvbXBvbmVudCxcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByb3V0ZTogUm91dGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5yb3V0ZSAmJiB0aGlzLnJvdXRlLm9wdGlvbnMuc2VhcmNoS2V5KSB7XG4gICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBwYXJhbXNbdGhpcy5yb3V0ZS5vcHRpb25zLnNlYXJjaEtleSBhcyBzdHJpbmddO1xuICAgICAgICBpZiAoc2VhcmNoUGFyYW1zKSB7XG4gICAgICAgICAgdGhpcy5jb21wb25lbnQuc2V0VGVybShzZWFyY2hQYXJhbXMpO1xuICAgICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXVybC1wYXJhbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLWJhci9zZWFyY2gtdXJsLXBhcmFtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULElBQUksRUFFSixRQUFRLEVBRVQsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdkIsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNrQixTQUE2QixFQUNyQyxHQUFzQixFQUNWLEtBQW1CO1FBRnZCLGNBQVMsR0FBVCxTQUFTLENBQW9CO1FBQ3JDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ1YsVUFBSyxHQUFMLEtBQUssQ0FBYztJQUN0QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN4QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBbUIsQ0FBQyxDQUFDO2dCQUNwRSxJQUFJLFlBQVksRUFBRTtvQkFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7aUJBQzFCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7OzhGQWpCVSx1QkFBdUI7MEVBQXZCLHVCQUF1Qjt1RkFBdkIsdUJBQXVCO2NBSG5DLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2FBQ2hDOztzQkFHSSxJQUFJOztzQkFFSixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgU2VsZixcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFJvdXRlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtYmFyLmNvbXBvbmVudCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpZ29TZWFyY2hVcmxQYXJhbV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hVcmxQYXJhbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIHByaXZhdGUgY29tcG9uZW50OiBTZWFyY2hCYXJDb21wb25lbnQsXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlOiBSb3V0ZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucm91dGUgJiYgdGhpcy5yb3V0ZS5vcHRpb25zLnNlYXJjaEtleSkge1xyXG4gICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHBhcmFtc1t0aGlzLnJvdXRlLm9wdGlvbnMuc2VhcmNoS2V5IGFzIHN0cmluZ107XHJcbiAgICAgICAgaWYgKHNlYXJjaFBhcmFtcykge1xyXG4gICAgICAgICAgdGhpcy5jb21wb25lbnQuc2V0VGVybShzZWFyY2hQYXJhbXMpO1xyXG4gICAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../layer/shared/layer.service";
6
6
  import * as i2 from "@angular/common";
7
7
  import * as i3 from "@angular/material/button";
8
- import * as i4 from "@angular/material/tooltip";
9
- import * as i5 from "@angular/material/icon";
10
- import * as i6 from "@angular/material/badge";
11
- import * as i7 from "@igo2/common";
8
+ import * as i4 from "@igo2/common";
9
+ import * as i5 from "@angular/material/tooltip";
10
+ import * as i6 from "@angular/material/icon";
11
+ import * as i7 from "@angular/material/badge";
12
12
  import * as i8 from "@ngx-translate/core";
13
13
  function SearchResultAddButtonComponent_button_0_Template(rf, ctx) { if (rf & 1) {
14
14
  const _r2 = i0.ɵɵgetCurrentView();
@@ -173,11 +173,11 @@ export class SearchResultAddButtonComponent {
173
173
  }
174
174
  }
175
175
  SearchResultAddButtonComponent.ɵfac = function SearchResultAddButtonComponent_Factory(t) { return new (t || SearchResultAddButtonComponent)(i0.ɵɵdirectiveInject(i1.LayerService)); };
176
- SearchResultAddButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultAddButtonComponent, selectors: [["igo-search-add-button"]], inputs: { layer: "layer", added: "added", map: "map", color: "color" }, decls: 1, vars: 1, consts: [["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click", 4, "ngIf"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click"], ["matBadge", "icon", "igoMatBadgeIcon", "eye-off", "igoMatBadgeInverseColor", "true", "matBadgeDisabled", "true", "matBadgeSize", "small", "matBadgePosition", "after", 3, "matBadgeHidden", "svgIcon"]], template: function SearchResultAddButtonComponent_Template(rf, ctx) { if (rf & 1) {
176
+ SearchResultAddButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultAddButtonComponent, selectors: [["igo-search-add-button"]], inputs: { layer: "layer", added: "added", map: "map", color: "color" }, decls: 1, vars: 1, consts: [["igoStopPropagation", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click", 4, "ngIf"], ["igoStopPropagation", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click"], ["matBadge", "icon", "igoMatBadgeIcon", "eye-off", "igoMatBadgeInverseColor", "true", "matBadgeDisabled", "true", "matBadgeSize", "small", "matBadgePosition", "after", 3, "matBadgeHidden", "svgIcon"]], template: function SearchResultAddButtonComponent_Template(rf, ctx) { if (rf & 1) {
177
177
  i0.ɵɵtemplate(0, SearchResultAddButtonComponent_button_0_Template, 7, 14, "button", 0);
178
178
  } if (rf & 2) {
179
179
  i0.ɵɵproperty("ngIf", ctx.layer.meta.dataType === "Layer");
180
- } }, directives: [i2.NgIf, i3.MatButton, i4.MatTooltip, i5.MatIcon, i6.MatBadge, i7.IgoBadgeIconDirective], pipes: [i8.TranslatePipe, i2.AsyncPipe], styles: [""], changeDetection: 0 });
180
+ } }, directives: [i2.NgIf, i3.MatButton, i4.StopPropagationDirective, i5.MatTooltip, i6.MatIcon, i7.MatBadge, i4.IgoBadgeIconDirective], pipes: [i8.TranslatePipe, i2.AsyncPipe], styles: [""], changeDetection: 0 });
181
181
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultAddButtonComponent, [{
182
182
  type: Component,
183
183
  args: [{
@@ -195,4 +195,4 @@ SearchResultAddButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
195
195
  }], color: [{
196
196
  type: Input
197
197
  }] }); })();
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCx1QkFBdUIsRUFHeEIsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7SUNickQsaUNBUWdDO0lBUGhDLDZOQUFtQyxnTkFBQSx1TUFBQTs7OztJQVFuQyw4QkFTVzs7O0lBQ1gsaUJBQVM7OztJQWJULHdGQUE2QyxvRkFBQTtJQU8zQyxlQUFxQztJQUFyQyx1RUFBcUMsaUdBQUE7O0FEUXZDLE1BQU0sT0FBTyw4QkFBOEI7SUFzQ3pDLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBckN2QyxhQUFRLEdBQTRCLElBQUksZUFBZSxDQUM1RCxnQ0FBZ0MsQ0FDakMsQ0FBQztRQUlLLGFBQVEsR0FBNkIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0QsZUFBVSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRSx1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFJeEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFxQmhDLFdBQU0sR0FBRyxTQUFTLENBQUM7SUFFc0IsQ0FB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dUI7Z0JBQ2pDLFdBQVcsRUFBRSw0Q0FBNEM7Z0JBQ3pELFNBQVMsRUFBRSxDQUFDLDRDQUE0QyxDQUFDO2dCQUN6RCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDsrREFrQlUsS0FBSztrQkFBYixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBR0YsS0FBSztrQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTEFZRVIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuZW51bXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1hZGQtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHRzLWFkZC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0cy1hZGQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdEFkZEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHRvb2x0aXAkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcCdcbiAgKTtcblxuICBwcml2YXRlIHJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBpblJhbmdlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICBwdWJsaWMgaXNQcmV2aWV3JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBsYXllcnNTdWJjcmlwdGlvbnMgPSBbXTtcblxuICBwcml2YXRlIGxhc3RUaW1lb3V0UmVxdWVzdDtcblxuICBwcml2YXRlIG1vdXNlSW5zaWRlQWRkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbGF5ZXI6IFNlYXJjaFJlc3VsdDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbGF5ZXIgaXMgYWxyZWFkeSBhZGRlZCB0byB0aGUgbWFwXG4gICAqL1xuICBASW5wdXQoKSBhZGRlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG1hcCB0byBhZGQgdGhlIHNlYXJjaCByZXN1bHQgbGF5ZXIgdG9cbiAgICovXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XG4gIH1cbiAgc2V0IGNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX2NvbG9yID0gJ3ByaW1hcnknO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGF5ZXIubWV0YS5kYXRhVHlwZSA9PT0gJ0xheWVyJykge1xuICAgICAgdGhpcy5hZGRlZCA9XG4gICAgICAgIHRoaXMubWFwLmxheWVycy5maW5kSW5kZXgoXG4gICAgICAgICAgbGF5ID0+IGxheS5pZCA9PT0gdGhpcy5sYXllci5kYXRhLnNvdXJjZU9wdGlvbnMuaWRcbiAgICAgICAgKSAhPT0gLTE7XG4gICAgfVxuICAgIHRoaXMucmVzb2x1dGlvbiQkID0gdGhpcy5tYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiQuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy50b29sdGlwJC5uZXh0KHRoaXMuY29tcHV0ZVRvb2x0aXAoKSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnJlc29sdXRpb24kJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIG1vdXNlIGV2ZW50LCBtb3VzZWVudGVyIC9tb3VzZWxlYXZlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25Nb3VzZUV2ZW50KGV2ZW50KSB7XG4gICAgdGhpcy5vblRvZ2dsZUNsaWNrKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblRvZ2dsZUNsaWNrKGV2ZW50KSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWVudGVyJyAmJiB0aGlzLm1vdXNlSW5zaWRlQWRkICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgJ2NsaWNrJzpcbiAgICAgICAgaWYgKCF0aGlzLmlzUHJldmlldyQudmFsdWUpIHtcbiAgICAgICAgICBpZiAodGhpcy5hZGRlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hZGQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc1ByZXZpZXckLm5leHQoZmFsc2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21vdXNlZW50ZXInOlxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSAmJiAhdGhpcy5hZGRlZCkge1xuICAgICAgICAgIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFkZCgpO1xuICAgICAgICAgICAgdGhpcy5pc1ByZXZpZXckLm5leHQodHJ1ZSk7XG4gICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vdXNlSW5zaWRlQWRkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdtb3VzZWxlYXZlJzpcbiAgICAgICAgaWYgKHRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgICAgICAgdGhpcy5pc1ByZXZpZXckLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubW91c2VJbnNpZGVBZGQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZCgpIHtcbiAgICBpZiAoIXRoaXMuYWRkZWQpIHtcbiAgICAgIHRoaXMuYWRkZWQgPSB0cnVlO1xuICAgICAgdGhpcy5hZGRMYXllclRvTWFwKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmUoKSB7XG4gICAgaWYgKHRoaXMuYWRkZWQpIHtcbiAgICAgIHRoaXMuYWRkZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVtb3ZlTGF5ZXJGcm9tTWFwKCk7XG4gICAgICB0aGlzLmxheWVyc1N1YmNyaXB0aW9ucy5tYXAocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgICAgdGhpcy5sYXllcnNTdWJjcmlwdGlvbnMgPSBbXTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IHRydWVcbiAgICovXG4gIHByaXZhdGUgYWRkTGF5ZXJUb01hcCgpIHtcbiAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgIT09IExBWUVSKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGxheWVyT3B0aW9ucyA9ICh0aGlzLmxheWVyIGFzIFNlYXJjaFJlc3VsdDxMYXllck9wdGlvbnM+KS5kYXRhO1xuICAgIGlmIChsYXllck9wdGlvbnMuc291cmNlT3B0aW9ucy5vcHRpb25zRnJvbUFwaSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsYXllck9wdGlvbnMuc291cmNlT3B0aW9ucy5vcHRpb25zRnJvbUFwaSA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMubGF5ZXJzU3ViY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmxheWVyU2VydmljZVxuICAgICAgICAuY3JlYXRlQXN5bmNMYXllcihsYXllck9wdGlvbnMpXG4gICAgICAgIC5zdWJzY3JpYmUobGF5ZXIgPT4gdGhpcy5tYXAuYWRkTGF5ZXIobGF5ZXIpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IGZhbHNlXG4gICAqL1xuICBwcml2YXRlIHJlbW92ZUxheWVyRnJvbU1hcCgpIHtcbiAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgIT09IExBWUVSKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IG9MYXllciA9IHRoaXMubWFwLmdldExheWVyQnlJZCh0aGlzLmxheWVyLmRhdGEuc291cmNlT3B0aW9ucy5pZCk7XG4gICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIob0xheWVyKTtcbiAgfVxuXG4gIGlzSW5SZXNvbHV0aW9uc1JhbmdlKHJlc29sdXRpb246IG51bWJlcikge1xuICAgIGNvbnN0IG1pblJlc29sdXRpb24gPSB0aGlzLmxheWVyLmRhdGEubWluUmVzb2x1dGlvbiB8fCAwO1xuICAgIGNvbnN0IG1heFJlc29sdXRpb24gPSB0aGlzLmxheWVyLmRhdGEubWF4UmVzb2x1dGlvbiB8fCBJbmZpbml0eTtcbiAgICB0aGlzLmluUmFuZ2UkLm5leHQoXG4gICAgICByZXNvbHV0aW9uID49IG1pblJlc29sdXRpb24gJiYgcmVzb2x1dGlvbiA8PSBtYXhSZXNvbHV0aW9uXG4gICAgKTtcbiAgfVxuXG4gIGNvbXB1dGVUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuYWRkZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmluUmFuZ2UkLnZhbHVlXG4gICAgICAgID8gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwJ1xuICAgICAgICA6ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIucmVtb3ZlRnJvbU1hcE91dFJhbmdlJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaW5SYW5nZSQudmFsdWVcbiAgICAgICAgPyAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwJ1xuICAgICAgICA6ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXBPdXRSYW5nZSc7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4obW91c2VlbnRlcik9XCJvbk1vdXNlRXZlbnQoJGV2ZW50KVwiIChtb3VzZWxlYXZlKT1cIm9uTW91c2VFdmVudCgkZXZlbnQpXCJcbipuZ0lmPVwibGF5ZXIubWV0YS5kYXRhVHlwZSA9PT0gJ0xheWVyJ1wiXG5tYXQtaWNvbi1idXR0b25cbnRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG5tYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcblttYXRUb29sdGlwXT1cIih0b29sdGlwJCB8IGFzeW5jKSB8IHRyYW5zbGF0ZVwiXG5bY29sb3JdPVwiKGlzUHJldmlldyQgfCBhc3luYykgPyAnJyA6IGFkZGVkID8gJ3dhcm4nIDogJydcIlxuKGNsaWNrKT1cIm9uVG9nZ2xlQ2xpY2soJGV2ZW50KVwiPlxuPG1hdC1pY29uXG4gIG1hdEJhZGdlPVwiaWNvblwiXG4gIGlnb01hdEJhZGdlSWNvbj1cImV5ZS1vZmZcIlxuICBpZ29NYXRCYWRnZUludmVyc2VDb2xvcj1cInRydWVcIlxuICBbbWF0QmFkZ2VIaWRkZW5dPVwiKGluUmFuZ2UkIHwgYXN5bmMpXCJcbiAgbWF0QmFkZ2VEaXNhYmxlZD1cInRydWVcIlxuICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXG4gIG1hdEJhZGdlUG9zaXRpb249XCJhZnRlclwiXG4gIFtzdmdJY29uXT1cIihpc1ByZXZpZXckIHwgYXN5bmMpID8gJ3BsdXMnIDogYWRkZWQgPyAnZGVsZXRlJyA6ICdwbHVzJ1wiPlxuPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuIl19
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtYWRkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCx1QkFBdUIsRUFHeEIsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7SUNickQsaUNBU2dDO0lBUGhDLDZOQUFtQyxnTkFBQSx1TUFBQTs7OztJQVFuQyw4QkFTVzs7O0lBQ1gsaUJBQVM7OztJQWJULHdGQUE2QyxvRkFBQTtJQU8zQyxlQUFxQztJQUFyQyx1RUFBcUMsaUdBQUE7O0FET3ZDLE1BQU0sT0FBTyw4QkFBOEI7SUFzQ3pDLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBckN2QyxhQUFRLEdBQTRCLElBQUksZUFBZSxDQUM1RCxnQ0FBZ0MsQ0FDakMsQ0FBQztRQUlLLGFBQVEsR0FBNkIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0QsZUFBVSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRSx1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFJeEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFxQmhDLFdBQU0sR0FBRyxTQUFTLENBQUM7SUFFc0IsQ0FBQztJQVRsRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUtEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtZQUN4QyxJQUFJLENBQUMsS0FBSztnQkFDUixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQ3ZCLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUNuRCxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ1o7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMsS0FBSztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsS0FBSztRQUNqQixJQUFJLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixLQUFLLFdBQVcsRUFBRTtZQUNsRCxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUc7WUFDdkQsT0FBTztTQUNSO1FBQ0QsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xCLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7b0JBQzFCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTt3QkFDZCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7cUJBQ2Y7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO3FCQUNaO2lCQUNGO2dCQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ3pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO3dCQUN4QyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzdCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDVDtnQkFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztnQkFDM0IsTUFBTTtZQUNSLEtBQUssWUFBWTtnQkFDZixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFO29CQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzdCO2dCQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2dCQUM1QixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVPLEdBQUc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQ3RDLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsTUFBTSxZQUFZLEdBQUksSUFBSSxDQUFDLEtBQW9DLENBQUMsSUFBSSxDQUFDO1FBQ3JFLElBQUksWUFBWSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFO1lBQzNELFlBQVksQ0FBQyxhQUFhLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUNsRDtRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQzFCLElBQUksQ0FBQyxZQUFZO2FBQ2QsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxrQkFBa0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRTtZQUMxQixPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7WUFDdEMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELG9CQUFvQixDQUFDLFVBQWtCO1FBQ3JDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUM7UUFDekQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsVUFBVSxJQUFJLGFBQWEsSUFBSSxVQUFVLElBQUksYUFBYSxDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztnQkFDeEIsQ0FBQyxDQUFDLHFDQUFxQztnQkFDdkMsQ0FBQyxDQUFDLDZDQUE2QyxDQUFDO1NBQ25EO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztnQkFDeEIsQ0FBQyxDQUFDLGdDQUFnQztnQkFDbEMsQ0FBQyxDQUFDLHdDQUF3QyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7NEdBekxVLDhCQUE4QjtpRkFBOUIsOEJBQThCO1FDckIzQyxzRkFvQlM7O1FBakJSLDBEQUFxQzs7dUZEa0J6Qiw4QkFBOEI7Y0FOMUMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFdBQVcsRUFBRSw0Q0FBNEM7Z0JBQ3pELFNBQVMsRUFBRSxDQUFDLDRDQUE0QyxDQUFDO2dCQUN6RCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDsrREFrQlUsS0FBSztrQkFBYixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBR0YsS0FBSztrQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xyXG5pbXBvcnQgeyBMYXllck9wdGlvbnMgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTEFZRVIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXIuZW51bXMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc2VhcmNoLWFkZC1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtcmVzdWx0cy1hZGQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0cy1hZGQtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdEFkZEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgdG9vbHRpcCQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXAnXHJcbiAgKTtcclxuXHJcbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHVibGljIGluUmFuZ2UkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xyXG5cclxuICBwdWJsaWMgaXNQcmV2aWV3JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcblxyXG4gIHByaXZhdGUgbGF5ZXJzU3ViY3JpcHRpb25zID0gW107XHJcblxyXG4gIHByaXZhdGUgbGFzdFRpbWVvdXRSZXF1ZXN0O1xyXG5cclxuICBwcml2YXRlIG1vdXNlSW5zaWRlQWRkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGxheWVyOiBTZWFyY2hSZXN1bHQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGxheWVyIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIG1hcFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFkZGVkOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbWFwIHRvIGFkZCB0aGUgc2VhcmNoIHJlc3VsdCBsYXllciB0b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1hcDogSWdvTWFwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBjb2xvcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcclxuICB9XHJcbiAgc2V0IGNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbG9yID0gJ3ByaW1hcnknO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgPT09ICdMYXllcicpIHtcclxuICAgICAgdGhpcy5hZGRlZCA9XHJcbiAgICAgICAgdGhpcy5tYXAubGF5ZXJzLmZpbmRJbmRleChcclxuICAgICAgICAgIGxheSA9PiBsYXkuaWQgPT09IHRoaXMubGF5ZXIuZGF0YS5zb3VyY2VPcHRpb25zLmlkXHJcbiAgICAgICAgKSAhPT0gLTE7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UodmFsdWUpO1xyXG4gICAgICB0aGlzLnRvb2x0aXAkLm5leHQodGhpcy5jb21wdXRlVG9vbHRpcCgpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnJlc29sdXRpb24kJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT24gbW91c2UgZXZlbnQsIG1vdXNlZW50ZXIgL21vdXNlbGVhdmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvbk1vdXNlRXZlbnQoZXZlbnQpIHtcclxuICAgIHRoaXMub25Ub2dnbGVDbGljayhldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvblRvZ2dsZUNsaWNrKGV2ZW50KSB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5sYXN0VGltZW91dFJlcXVlc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChldmVudC50eXBlID09PSAnbW91c2VlbnRlcicgJiYgdGhpcy5tb3VzZUluc2lkZUFkZCApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2NsaWNrJzpcclxuICAgICAgICBpZiAoIXRoaXMuaXNQcmV2aWV3JC52YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYWRkZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbW91c2VlbnRlcic6XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzUHJldmlldyQudmFsdWUgJiYgIXRoaXMuYWRkZWQpIHtcclxuICAgICAgICAgIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOlxyXG4gICAgICAgIGlmICh0aGlzLmlzUHJldmlldyQudmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMucmVtb3ZlKCk7XHJcbiAgICAgICAgICB0aGlzLmlzUHJldmlldyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW91c2VJbnNpZGVBZGQgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkKCkge1xyXG4gICAgaWYgKCF0aGlzLmFkZGVkKSB7XHJcbiAgICAgIHRoaXMuYWRkZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmFkZExheWVyVG9NYXAoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlKCkge1xyXG4gICAgaWYgKHRoaXMuYWRkZWQpIHtcclxuICAgICAgdGhpcy5hZGRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnJlbW92ZUxheWVyRnJvbU1hcCgpO1xyXG4gICAgICB0aGlzLmxheWVyc1N1YmNyaXB0aW9ucy5tYXAocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICB0aGlzLmxheWVyc1N1YmNyaXB0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdCBhZGRlZCBjaGFuZ2UgZXZlbnQgd2l0aCBhZGRlZCA9IHRydWVcclxuICAgKi9cclxuICBwcml2YXRlIGFkZExheWVyVG9NYXAoKSB7XHJcbiAgICBpZiAodGhpcy5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubGF5ZXIubWV0YS5kYXRhVHlwZSAhPT0gTEFZRVIpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsYXllck9wdGlvbnMgPSAodGhpcy5sYXllciBhcyBTZWFyY2hSZXN1bHQ8TGF5ZXJPcHRpb25zPikuZGF0YTtcclxuICAgIGlmIChsYXllck9wdGlvbnMuc291cmNlT3B0aW9ucy5vcHRpb25zRnJvbUFwaSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGxheWVyT3B0aW9ucy5zb3VyY2VPcHRpb25zLm9wdGlvbnNGcm9tQXBpID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMubGF5ZXJzU3ViY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMubGF5ZXJTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZUFzeW5jTGF5ZXIobGF5ZXJPcHRpb25zKVxyXG4gICAgICAgIC5zdWJzY3JpYmUobGF5ZXIgPT4gdGhpcy5tYXAuYWRkTGF5ZXIobGF5ZXIpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSBmYWxzZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXJGcm9tTWFwKCkge1xyXG4gICAgaWYgKHRoaXMubWFwID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmxheWVyLm1ldGEuZGF0YVR5cGUgIT09IExBWUVSKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb0xheWVyID0gdGhpcy5tYXAuZ2V0TGF5ZXJCeUlkKHRoaXMubGF5ZXIuZGF0YS5zb3VyY2VPcHRpb25zLmlkKTtcclxuICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKG9MYXllcik7XHJcbiAgfVxyXG5cclxuICBpc0luUmVzb2x1dGlvbnNSYW5nZShyZXNvbHV0aW9uOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IG1pblJlc29sdXRpb24gPSB0aGlzLmxheWVyLmRhdGEubWluUmVzb2x1dGlvbiB8fCAwO1xyXG4gICAgY29uc3QgbWF4UmVzb2x1dGlvbiA9IHRoaXMubGF5ZXIuZGF0YS5tYXhSZXNvbHV0aW9uIHx8IEluZmluaXR5O1xyXG4gICAgdGhpcy5pblJhbmdlJC5uZXh0KFxyXG4gICAgICByZXNvbHV0aW9uID49IG1pblJlc29sdXRpb24gJiYgcmVzb2x1dGlvbiA8PSBtYXhSZXNvbHV0aW9uXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY29tcHV0ZVRvb2x0aXAoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmFkZGVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmluUmFuZ2UkLnZhbHVlXHJcbiAgICAgICAgPyAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXAnXHJcbiAgICAgICAgOiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLnJlbW92ZUZyb21NYXBPdXRSYW5nZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5pblJhbmdlJC52YWx1ZVxyXG4gICAgICAgID8gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5hZGRUb01hcCdcclxuICAgICAgICA6ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXBPdXRSYW5nZSc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuaWdvU3RvcFByb3BhZ2F0aW9uXHJcbihtb3VzZWVudGVyKT1cIm9uTW91c2VFdmVudCgkZXZlbnQpXCIgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUV2ZW50KCRldmVudClcIlxyXG4qbmdJZj1cImxheWVyLm1ldGEuZGF0YVR5cGUgPT09ICdMYXllcidcIlxyXG5tYXQtaWNvbi1idXR0b25cclxudG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxubWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcblttYXRUb29sdGlwXT1cIih0b29sdGlwJCB8IGFzeW5jKSB8IHRyYW5zbGF0ZVwiXHJcbltjb2xvcl09XCIoaXNQcmV2aWV3JCB8IGFzeW5jKSA/ICcnIDogYWRkZWQgPyAnd2FybicgOiAnJ1wiXHJcbihjbGljayk9XCJvblRvZ2dsZUNsaWNrKCRldmVudClcIj5cclxuPG1hdC1pY29uXHJcbiAgbWF0QmFkZ2U9XCJpY29uXCJcclxuICBpZ29NYXRCYWRnZUljb249XCJleWUtb2ZmXCJcclxuICBpZ29NYXRCYWRnZUludmVyc2VDb2xvcj1cInRydWVcIlxyXG4gIFttYXRCYWRnZUhpZGRlbl09XCIoaW5SYW5nZSQgfCBhc3luYylcIlxyXG4gIG1hdEJhZGdlRGlzYWJsZWQ9XCJ0cnVlXCJcclxuICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXHJcbiAgbWF0QmFkZ2VQb3NpdGlvbj1cImFmdGVyXCJcclxuICBbc3ZnSWNvbl09XCIoaXNQcmV2aWV3JCB8IGFzeW5jKSA/ICdwbHVzJyA6IGFkZGVkID8gJ2RlbGV0ZScgOiAncGx1cydcIj5cclxuPC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcbiJdfQ==
@@ -126,4 +126,4 @@ SearchResultsItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
126
126
  }], zoomEvent: [{
127
127
  type: Output
128
128
  }] }); })();
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDZCxNQUFNLGNBQWMsQ0FBQztBQUd0QixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0lDVDlELDhCQUEyRjs7O0lBQXBELDZFQUF3Qzs7O0lBRS9FLHdCQUF3Sjs7O0lBQTFILCtEQUF1QixrQ0FBQTs7O0lBQ3JELDZCQUE4RTtJQUFBLFlBQVM7SUFBQSxpQkFBSzs7O0lBQW5DLHlDQUFvQjtJQUFDLGVBQVM7SUFBVCxrQ0FBUzs7OztJQUV2RixpQ0FHNEI7SUFBMUIsb01BQXlCO0lBQ3pCLDhCQUF1QztJQUN6QyxpQkFBUzs7OztBREVYOztHQUVHO0FBT0gsTUFBTSxPQUFPLDBCQUEwQjtJQXlEckM7UUF2Q0E7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV0QixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUxQyxXQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQWdDeEIsQ0FBQztJQTlCaEIsSUFBSSxLQUFLO1FBQ1AsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFNBQVM7UUFDWCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUzthQUNsQixPQUFPLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDO2FBQ25DLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFJRCxhQUFhO1FBQ1gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDMUQsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDM0MsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVO1NBQ3ZDLENBQUMsQ0FBQztRQUNILGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQzs7b0dBakVVLDBCQUEwQjs2RUFBMUIsMEJBQTBCOztRQ3RCdkMscUNBQWU7UUFDYixxRkFBMkY7UUFFM0YseUVBQXdKO1FBQ3hKLHlFQUE0RjtRQUU1RixpRkFLUztRQUVULGtCQUVhO1FBRWYsaUJBQWdCOztRQWhCSCxlQUFVO1FBQVYsK0JBQVU7UUFFUixlQUFlO1FBQWYsb0NBQWU7UUFDZixlQUFnQjtRQUFoQixxQ0FBZ0I7UUFFcEIsZUFBb0I7UUFBcEIseUNBQW9COzt1RkRnQmxCLDBCQUEwQjtjQU50QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsV0FBVyxFQUFFLHNDQUFzQztnQkFDbkQsU0FBUyxFQUFFLENBQUMsc0NBQXNDLENBQUM7Z0JBQ25ELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO3NDQUtVLE1BQU07a0JBQWQsS0FBSztZQUVHLEdBQUc7a0JBQVgsS0FBSztZQVVHLFNBQVM7a0JBQWpCLEtBQUs7WUFLRyxjQUFjO2tCQUF0QixLQUFLO1lBRUksU0FBUztrQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG9sRm9ybWF0R2VvSlNPTiBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTic7XG5cbmltcG9ydCB7XG4gIGdldEVudGl0eVRpdGxlLFxuICBnZXRFbnRpdHlUaXRsZUh0bWwsXG4gIGdldEVudGl0eUljb25cbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcblxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZlYXR1cmVNb3Rpb24sIG1vdmVUb09sRmVhdHVyZXMgfSBmcm9tICcuLi8uLi9mZWF0dXJlJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcCc7XG5cbi8qKlxuICogU2VhcmNoIHJlc3VsdHMgbGlzdCBpdGVtXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtcmVzdWx0cy1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHRzLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0cy1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdHNJdGVtQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFNlYXJjaCByZXN1bHQgaXRlbVxuICAgKi9cbiAgQElucHV0KCkgcmVzdWx0OiBTZWFyY2hSZXN1bHQ7XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCByZXN1bHQgdGl0bGVcbiAgICogQGludGVybmFsXG4gICAqL1xuXG4gIC8qKlxuICAgKiB0byBzaG93IGhpZGUgcmVzdWx0cyBpY29uc1xuICAgKi9cbiAgQElucHV0KCkgc2hvd0ljb25zOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZXJlIHNob3VsZCBiZSBhIHpvb20gYnV0dG9uXG4gICAqL1xuICBASW5wdXQoKSB3aXRoWm9vbUJ1dHRvbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSB6b29tRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBmb3JtYXQgPSBuZXcgb2xGb3JtYXRHZW9KU09OKCk7XG5cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlKHRoaXMucmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggcmVzdWx0IEhUTUwgdGl0bGVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgdGl0bGVIdG1sKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldEVudGl0eVRpdGxlSHRtbCh0aGlzLnJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdCB0b29sdGlwXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IHRvb2x0aXBIdG1sKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGVIdG1sXG4gICAgICAucmVwbGFjZSgvPHNtYWxsP1tePl0rKD58JCkvZywgJ1xcbicpXG4gICAgICAucmVwbGFjZSgvPFxcLz9bXj5dKyg+fCQpL2csICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggcmVzdWx0IGljb25cbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRFbnRpdHlJY29uKHRoaXMucmVzdWx0KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBvblpvb21IYW5kbGVyKCkge1xuICAgIGNvbnN0IG9sRmVhdHVyZSA9IHRoaXMuZm9ybWF0LnJlYWRGZWF0dXJlKHRoaXMucmVzdWx0LmRhdGEsIHtcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLnJlc3VsdC5kYXRhLnByb2plY3Rpb24sXG4gICAgICBmZWF0dXJlUHJvamVjdGlvbjogdGhpcy5tYXAucHJvamVjdGlvblxuICAgIH0pO1xuICAgIG1vdmVUb09sRmVhdHVyZXModGhpcy5tYXAsIFtvbEZlYXR1cmVdLCBGZWF0dXJlTW90aW9uLkRlZmF1bHQpO1xuICB9XG59XG4iLCI8bWF0LWxpc3QtaXRlbT5cbiAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiIG1hdC1saXN0LWF2YXRhciBzdmdJY29uPVwie3tzaG93SWNvbnMgPyBpY29uIDogJ2JsYW5rJ319XCI+PC9tYXQtaWNvbj5cblxuICA8aDQgbWF0TGluZSAqbmdJZj1cInRpdGxlSHRtbFwiIFtpbm5lckh0bWxdPVwidGl0bGVIdG1sXCIgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXBIdG1sXCIgbWF0VG9vbHRpcENsYXNzPVwic2VhcmNoLXJlc3VsdC10b29sdGlwXCI+PC9oND5cbiAgPGg0IG1hdExpbmUgKm5nSWY9XCIhdGl0bGVIdG1sXCIgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiIFttYXRUb29sdGlwXT1cInRpdGxlXCI+e3t0aXRsZX19PC9oND5cblxuICA8YnV0dG9uICpuZ0lmPVwid2l0aFpvb21CdXR0b25cIlxuICAgIGlnb1N0b3BQcm9wYWdhdGlvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIChjbGljayk9XCJvblpvb21IYW5kbGVyKClcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hZ25pZnlcIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bmctY29udGVudFxuICAgIHNlbGVjdD1baWdvU2VhcmNoSXRlbVRvb2xiYXJdPlxuICA8L25nLWNvbnRlbnQ+XG5cbjwvbWF0LWxpc3QtaXRlbT5cbiJdfQ==
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDZCxNQUFNLGNBQWMsQ0FBQztBQUd0QixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0lDVDlELDhCQUEyRjs7O0lBQXBELDZFQUF3Qzs7O0lBRS9FLHdCQUF3Sjs7O0lBQTFILCtEQUF1QixrQ0FBQTs7O0lBQ3JELDZCQUE4RTtJQUFBLFlBQVM7SUFBQSxpQkFBSzs7O0lBQW5DLHlDQUFvQjtJQUFDLGVBQVM7SUFBVCxrQ0FBUzs7OztJQUV2RixpQ0FHNEI7SUFBMUIsb01BQXlCO0lBQ3pCLDhCQUF1QztJQUN6QyxpQkFBUzs7OztBREVYOztHQUVHO0FBT0gsTUFBTSxPQUFPLDBCQUEwQjtJQXlEckM7UUF2Q0E7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV0QixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUxQyxXQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQWdDeEIsQ0FBQztJQTlCaEIsSUFBSSxLQUFLO1FBQ1AsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFNBQVM7UUFDWCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUzthQUNsQixPQUFPLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDO2FBQ25DLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFJRCxhQUFhO1FBQ1gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDMUQsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDM0MsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVO1NBQ3ZDLENBQUMsQ0FBQztRQUNILGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQzs7b0dBakVVLDBCQUEwQjs2RUFBMUIsMEJBQTBCOztRQ3RCdkMscUNBQWU7UUFDYixxRkFBMkY7UUFFM0YseUVBQXdKO1FBQ3hKLHlFQUE0RjtRQUU1RixpRkFLUztRQUVULGtCQUVhO1FBRWYsaUJBQWdCOztRQWhCSCxlQUFVO1FBQVYsK0JBQVU7UUFFUixlQUFlO1FBQWYsb0NBQWU7UUFDZixlQUFnQjtRQUFoQixxQ0FBZ0I7UUFFcEIsZUFBb0I7UUFBcEIseUNBQW9COzt1RkRnQmxCLDBCQUEwQjtjQU50QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsV0FBVyxFQUFFLHNDQUFzQztnQkFDbkQsU0FBUyxFQUFFLENBQUMsc0NBQXNDLENBQUM7Z0JBQ25ELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO3NDQUtVLE1BQU07a0JBQWQsS0FBSztZQUVHLEdBQUc7a0JBQVgsS0FBSztZQVVHLFNBQVM7a0JBQWpCLEtBQUs7WUFLRyxjQUFjO2tCQUF0QixLQUFLO1lBRUksU0FBUztrQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgb2xGb3JtYXRHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcclxuXHJcbmltcG9ydCB7XHJcbiAgZ2V0RW50aXR5VGl0bGUsXHJcbiAgZ2V0RW50aXR5VGl0bGVIdG1sLFxyXG4gIGdldEVudGl0eUljb25cclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiwgbW92ZVRvT2xGZWF0dXJlcyB9IGZyb20gJy4uLy4uL2ZlYXR1cmUnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAnO1xyXG5cclxuLyoqXHJcbiAqIFNlYXJjaCByZXN1bHRzIGxpc3QgaXRlbVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc2VhcmNoLXJlc3VsdHMtaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHRzLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHRzLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0c0l0ZW1Db21wb25lbnQge1xyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCByZXN1bHQgaXRlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJlc3VsdDogU2VhcmNoUmVzdWx0O1xyXG5cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHJlc3VsdCB0aXRsZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG5cclxuICAvKipcclxuICAgKiB0byBzaG93IGhpZGUgcmVzdWx0cyBpY29uc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNob3dJY29uczogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGVyZSBzaG91bGQgYmUgYSB6b29tIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHdpdGhab29tQnV0dG9uID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSB6b29tRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0ID0gbmV3IG9sRm9ybWF0R2VvSlNPTigpO1xyXG5cclxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBnZXRFbnRpdHlUaXRsZSh0aGlzLnJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcmVzdWx0IEhUTUwgdGl0bGVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgdGl0bGVIdG1sKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGVIdG1sKHRoaXMucmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCByZXN1bHQgdG9vbHRpcFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0b29sdGlwSHRtbCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudGl0bGVIdG1sXHJcbiAgICAgIC5yZXBsYWNlKC88c21hbGw/W14+XSsoPnwkKS9nLCAnXFxuJylcclxuICAgICAgLnJlcGxhY2UoLzxcXC8/W14+XSsoPnwkKS9nLCAnJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggcmVzdWx0IGljb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgaWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdldEVudGl0eUljb24odGhpcy5yZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBvblpvb21IYW5kbGVyKCkge1xyXG4gICAgY29uc3Qgb2xGZWF0dXJlID0gdGhpcy5mb3JtYXQucmVhZEZlYXR1cmUodGhpcy5yZXN1bHQuZGF0YSwge1xyXG4gICAgICBkYXRhUHJvamVjdGlvbjogdGhpcy5yZXN1bHQuZGF0YS5wcm9qZWN0aW9uLFxyXG4gICAgICBmZWF0dXJlUHJvamVjdGlvbjogdGhpcy5tYXAucHJvamVjdGlvblxyXG4gICAgfSk7XHJcbiAgICBtb3ZlVG9PbEZlYXR1cmVzKHRoaXMubWFwLCBbb2xGZWF0dXJlXSwgRmVhdHVyZU1vdGlvbi5EZWZhdWx0KTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1saXN0LWl0ZW0+XHJcbiAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiIG1hdC1saXN0LWF2YXRhciBzdmdJY29uPVwie3tzaG93SWNvbnMgPyBpY29uIDogJ2JsYW5rJ319XCI+PC9tYXQtaWNvbj5cclxuXHJcbiAgPGg0IG1hdExpbmUgKm5nSWY9XCJ0aXRsZUh0bWxcIiBbaW5uZXJIdG1sXT1cInRpdGxlSHRtbFwiIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwSHRtbFwiIG1hdFRvb2x0aXBDbGFzcz1cInNlYXJjaC1yZXN1bHQtdG9vbHRpcFwiPjwvaDQ+XHJcbiAgPGg0IG1hdExpbmUgKm5nSWY9XCIhdGl0bGVIdG1sXCIgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiIFttYXRUb29sdGlwXT1cInRpdGxlXCI+e3t0aXRsZX19PC9oND5cclxuXHJcbiAgPGJ1dHRvbiAqbmdJZj1cIndpdGhab29tQnV0dG9uXCJcclxuICAgIGlnb1N0b3BQcm9wYWdhdGlvblxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAoY2xpY2spPVwib25ab29tSGFuZGxlcigpXCI+XHJcbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hZ25pZnlcIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG5cclxuICA8bmctY29udGVudFxyXG4gICAgc2VsZWN0PVtpZ29TZWFyY2hJdGVtVG9vbGJhcl0+XHJcbiAgPC9uZy1jb250ZW50PlxyXG5cclxuPC9tYXQtbGlzdC1pdGVtPlxyXG4iXX0=
@@ -334,4 +334,4 @@ SearchResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sear
334
334
  type: ContentChild,
335
335
  args: ['igoSearchItemToolbar', /* TODO: add static flag */ {}]
336
336
  }] }); })();
337
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFDWix1QkFBdUIsRUFJeEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFjLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBNEIsbUNBQW1DLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7OztJQ0wzRyx3QkFBc0c7Ozs7O0lBTHhHLDBDQUlvRDtJQUFsRCxvVEFBaUQ7SUFDakQseUhBQXNHO0lBQ3hHLGlCQUFrQjs7Ozs7SUFORCxzQ0FBOEI7SUFFN0MsMERBQWtDLHNEQUFBO0lBR25CLGVBQXFDO0lBQXJDLHNDQUFxQyx5RUFBQTs7O0lBSXBELHdCQUFzRzs7O0lBQXRHLHFIQUFzRzs7OztJQUF2RixzQ0FBcUMseUVBQUE7Ozs7O0lBS2xELGtEQWE0QztJQUoxQyx5UkFBUyxvQ0FBd0IsSUFBQyxnUkFDdkIsc0NBQTBCLElBREgsb1RBQUEsc1JBR3BCLG9DQUF3QixJQUhKLHNSQUlwQixzQ0FBMEIsSUFKTjtJQU1sQyw0QkFHZTtJQUVqQixpQkFBMEI7Ozs7SUFqQnhCLGlDQUFXLHNCQUFBLGdDQUFB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RUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO2dHQW1CVSxHQUFHO2tCQUFYLEtBQUs7WUFLRyxLQUFLO2tCQUFiLEtBQUs7WUFLRyxTQUFTO2tCQUFqQixLQUFLO1lBS0csSUFBSTtrQkFBWixLQUFLO1lBS0csY0FBYztrQkFBdEIsS0FBSztZQU1GLElBQUk7a0JBRFAsS0FBSztZQVVHLGVBQWU7a0JBQXZCLEtBQUs7WUFFRyxZQUFZO2tCQUFwQixLQUFLO1lBS0ksV0FBVztrQkFBcEIsTUFBTTtZQUtHLGFBQWE7a0JBQXRCLE1BQU07WUFLRyxZQUFZO2tCQUFyQixNQUFNO1lBS0csV0FBVztrQkFBcEIsTUFBTTtZQVFHLGdCQUFnQjtrQkFBekIsTUFBTTtZQUNHLGdCQUFnQjtrQkFBekIsTUFBTTtZQUUrRCxxQkFBcUI7a0JBQTFGLFlBQVk7bUJBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLENBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDb250ZW50Q2hpbGQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIEVNUFRZLCB0aW1lciwgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVudGl0eVN0YXRlLCBFbnRpdHlTdG9yZSwgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3ksIEVudGl0eVN0b3JlV2F0Y2hlciB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcCc7XG5cbmltcG9ydCB7IFRleHRTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guc2VydmljZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQsIFJlc2VhcmNoIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uL3NoYXJlZC9zb3VyY2VzL3NvdXJjZSc7XG5cbmV4cG9ydCBlbnVtIFNlYXJjaFJlc3VsdE1vZGUge1xuICBHcm91cGVkID0gJ2dyb3VwZWQnLFxuICBGbGF0ID0gJ2ZsYXQnXG59XG5cbi8qKlxuICogTGlzdCBvZiBzZWFyY2ggcmVzdWx0cyB3aXRoIGZvY3VzIGFuZCBzZWxlY3Rpb24gY2FwYWJpbGl0aWVzLlxuICogVGhpcyBjb21wb25lbnQgaXMgZHVtYiBhbmQgb25seSBlbWl0cyBldmVudHMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtcmVzdWx0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIFNlYXJjaFJlc3VsdE1vZGUgZW51bVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZWFyY2hSZXN1bHRNb2RlID0gU2VhcmNoUmVzdWx0TW9kZTtcblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdHMgc3RvcmUgd2F0Y2hlclxuICAgKi9cbiAgcHJpdmF0ZSB3YXRjaGVyOiBFbnRpdHlTdG9yZVdhdGNoZXI8U2VhcmNoUmVzdWx0PjtcblxuICBwcml2YXRlIHNldHRpbmdzQ2hhbmdlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgcGFnZUl0ZXJhdG9yOiB7c291cmNlSWQ6IHN0cmluZ31bXSA9IFtdO1xuXG4gIHB1YmxpYyBjb2xsYXBzZWQ6IHtzb3VyY2VJZDogc3RyaW5nfVtdID0gW107XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCByZXN1bHRzIHN0b3JlXG4gICAqL1xuICBASW5wdXQoKSBzdG9yZTogRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PjtcblxuICAvKipcbiAgICogdG8gc2hvdyBoaWRlIHJlc3VsdHMgaWNvbnNcbiAgICovXG4gIEBJbnB1dCgpIHNob3dJY29uczogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdHMgZGlzcGxheSBtb2RlXG4gICAqL1xuICBASW5wdXQoKSBtb2RlOiBTZWFyY2hSZXN1bHRNb2RlID0gU2VhcmNoUmVzdWx0TW9kZS5Hcm91cGVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZXJlIHNob3VsZCBiZSBhIHpvb20gYnV0dG9uXG4gICAqL1xuICBASW5wdXQoKSB3aXRoWm9vbUJ1dHRvbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggdGVybVxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHRlcm0oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGVybTtcbiAgfVxuICBzZXQgdGVybSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGVybSA9IHZhbHVlO1xuICAgIHRoaXMucGFnZUl0ZXJhdG9yID0gW107XG4gIH1cbiAgcHVibGljIF90ZXJtOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2V0dGluZ3NDaGFuZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuXG4gIEBJbnB1dCgpIHRlcm1TcGxpdHRlcjogc3RyaW5nID0gJ3wnO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXN1bHQgaXMgZm9jdXNlZFxuICAgKi9cbiAgQE91dHB1dCgpIHJlc3VsdEZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHQ+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJlc3VsdCBpcyB1bmZvY3VzZWRcbiAgICovXG4gIEBPdXRwdXQoKSByZXN1bHRVbmZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHQ+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJlc3VsdCBpcyBzZWxlY3RlZFxuICAgKi9cbiAgQE91dHB1dCgpIHJlc3VsdFNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoUmVzdWx0PigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSByZXNlYXJjaCBpcyBjb21wbGV0ZWQgYWZ0ZXIgZGlzcGxheWluZyBtb3JlIHJlc3VsdHMgaXMgY2xpY2tlZFxuICAgKi9cbiAgQE91dHB1dCgpIG1vcmVSZXN1bHRzID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgcmVzZWFyY2g6IFJlc2VhcmNoO1xuICAgIHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdO1xuICB9PigpO1xuXG4gIC8qKlxuICAgKiBFdmVudHMgZW1pdHRlZCB3aGVuIGEgcmVzdWx0IGlzIGZvY3VzIG9yIHVuZm9jdXMgYnkgbW91c2UgZXZlbnRcbiAgICovXG4gIEBPdXRwdXQoKSByZXN1bHRNb3VzZWVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHQ+KCk7XG4gIEBPdXRwdXQoKSByZXN1bHRNb3VzZWxlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZCgnaWdvU2VhcmNoSXRlbVRvb2xiYXInLCAvKiBUT0RPOiBhZGQgc3RhdGljIGZsYWcgKi8ge30pIHRlbXBsYXRlU2VhcmNoVG9vbGJhcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBnZXQgcmVzdWx0cyQoKTogT2JzZXJ2YWJsZTx7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfVtdPiB7XG4gICAgaWYgKHRoaXMuX3Jlc3VsdHMkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3Jlc3VsdHMkID0gdGhpcy5saWZ0UmVzdWx0cygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fcmVzdWx0cyQ7XG4gIH1cbiAgcHJpdmF0ZSBfcmVzdWx0cyQ6IE9ic2VydmFibGU8XG4gICAge3NvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXX1bXVxuICA+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIEJpbmQgdGhlIHNlYXJjaCByZXN1bHRzIHN0b3JlIHRvIHRoZSB3YXRjaGVyXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy53YXRjaGVyID0gbmV3IEVudGl0eVN0b3JlV2F0Y2hlcih0aGlzLnN0b3JlLCB0aGlzLmNkUmVmKTtcblxuICAgIHRoaXMuc2V0dGluZ3NDaGFuZ2UkJCA9IHRoaXMuc2V0dGluZ3NDaGFuZ2UkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnBhZ2VJdGVyYXRvciA9IFtdO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuYmluZCB0aGUgc2VhcmNoIHJlc3VsdHMgc3RvcmUgZnJvbSB0aGUgd2F0Y2hlclxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMud2F0Y2hlci5kZXN0cm95KCk7XG4gICAgdGhpcy5zZXR0aW5nc0NoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZSBhIGdyb3VwIHRpdGxlXG4gICAqIEBwYXJhbSBncm91cCBTZWFyY2ggcmVzdWx0cyBncm91cFxuICAgKiBAcmV0dXJucyBHcm91cCB0aXRsZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbXB1dGVHcm91cFRpdGxlKGdyb3VwOiB7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfSk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHMgPSBbZ3JvdXAuc291cmNlLnRpdGxlXTtcbiAgICBjb25zdCBjb3VudCA9IGdyb3VwLnJlc3VsdHMubGVuZ3RoO1xuICAgIGlmIChjb3VudCA+IDEpIHtcbiAgICAgIHBhcnRzLnB1c2goYCgke2NvdW50fSlgKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnRzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIGEgcmVzdWx0IGlzIHNlbGVjdGVkLCB1cGRhdGUgaXQncyBzdGF0ZSBpbiB0aGUgc3RvcmUgYW5kIGVtaXRcbiAgICogYW4gZXZlbnQuIEEgc2VsZWN0ZWQgcmVzdWx0IGlzIGFsc28gY29uc2lkZXJlZCBmb2N1c2VkXG4gICAqIEBwYXJhbSByZXN1bHQgU2VhcmNoIHJlc3VsdFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uUmVzdWx0U2VsZWN0KHJlc3VsdDogU2VhcmNoUmVzdWx0KSB7XG4gICAgaWYgKHRoaXMuc3RvcmUuc3RhdGUuZ2V0KHJlc3VsdCkpIHtcbiAgICAgIGlmICh0aGlzLnN0b3JlLnN0YXRlLmdldChyZXN1bHQpLnNlbGVjdGVkID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUocmVzdWx0LCB7Zm9jdXNlZDogdHJ1ZSwgc2VsZWN0ZWQ6IHRydWV9LCB0cnVlKTtcbiAgICB0aGlzLnJlc3VsdFNlbGVjdC5lbWl0KHJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFuIG9ic2VydmFibGUgb2YgdGhlIHNlYXJjaCByZXN1bHRzLCBncm91cGVkIGJ5IHNlYXJjaCBzb3VyY2VcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBncm91cGVkIHNlYXJjaCByZXN1bHRzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgIHByaXZhdGUgbGlmdFJlc3VsdHMoKTogT2JzZXJ2YWJsZTx7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3RhdGVWaWV3LmFsbCQoKS5waXBlKFxuICAgICAgZGVib3VuY2UoKHJlc3VsdHM6IHtlbnRpdHk6IFNlYXJjaFJlc3VsdCwgc3RhdGU6IEVudGl0eVN0YXRlfVtdKSA9PiB7XG4gICAgICAgIHJldHVybiByZXN1bHRzLmxlbmd0aCA9PT0gMCA/IEVNUFRZIDogdGltZXIoMjAwKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChyZXN1bHRzOiB7ZW50aXR5OiBTZWFyY2hSZXN1bHQsIHN0YXRlOiBFbnRpdHlTdGF0ZX1bXSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ncm91cFJlc3VsdHMocmVzdWx0cy5tYXAociA9PiByLmVudGl0eSkuc29ydCh0aGlzLnNvcnRCeU9yZGVyKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU29ydCB0aGUgcmVzdWx0cyBieSBkaXNwbGF5IG9yZGVyLlxuICAgKiBAcGFyYW0gcjEgRmlyc3QgcmVzdWx0XG4gICAqIEBwYXJhbSByMiBTZWNvbmQgcmVzdWx0XG4gICAqL1xuICBwcml2YXRlIHNvcnRCeU9yZGVyKHIxOiBTZWFyY2hSZXN1bHQsIHIyOiBTZWFyY2hSZXN1bHQpIHtcbiAgICByZXR1cm4gcjEuc291cmNlLmRpc3BsYXlPcmRlciAtIHIyLnNvdXJjZS5kaXNwbGF5T3JkZXI7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgcmVzdWx0cyBieSBzZWFyY2ggc291cmNlXG4gICAqIEBwYXJhbSByZXN1bHRzIFNlYXJjaCByZXN1bHRzIGZyb20gYWxsIHNvdXJjZXNcbiAgICogQHJldHVybnMgU2VhcmNoIHJlc3VsdHMgZ3JvdXBlZCBieSBzb3VyY2VcbiAgICovXG4gIHByaXZhdGUgZ3JvdXBSZXN1bHRzKHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdKToge3NvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXX1bXSB7XG4gICAgY29uc3QgZ3JvdXBlZCA9IG5ldyBNYXA8U2VhcmNoU291cmNlLCBTZWFyY2hSZXN1bHRbXT4oKTtcbiAgICByZXN1bHRzLmZvckVhY2goKHJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSByZXN1bHQuc291cmNlO1xuICAgICAgbGV0IHNvdXJjZVJlc3VsdHMgPSBncm91cGVkLmdldChzb3VyY2UpO1xuICAgICAgaWYgKHNvdXJjZVJlc3VsdHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzb3VyY2VSZXN1bHRzID0gW107XG4gICAgICAgIGdyb3VwZWQuc2V0KHNvdXJjZSwgc291cmNlUmVzdWx0cyk7XG4gICAgICB9XG4gICAgICBzb3VyY2VSZXN1bHRzLnB1c2gocmVzdWx0KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBBcnJheS5mcm9tKGdyb3VwZWQua2V5cygpKS5tYXAoKHNvdXJjZTogU2VhcmNoU291cmNlKSA9PiB7XG4gICAgICBpZiAodGhpcy5wYWdlSXRlcmF0b3Jbc291cmNlLmdldElkKCldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5wYWdlSXRlcmF0b3Jbc291cmNlLmdldElkKCldID0gMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7c291cmNlLCByZXN1bHRzOiBncm91cGVkLmdldChzb3VyY2UpfTtcbiAgICB9KTtcbiAgfVxuXG4gIGlzTW9yZVJlc3VsdHMoZ3JvdXA6IHsgc291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdIH0pIHtcbiAgICAvLyBnZXRTdHJhdGVneU9mVHlwZSBpcyB0byBhdm9pZCBkaXNwbGF5IG1vcmUgcmVzdWx0IGJhc2VkIG9uIGEgZmlsdGVyZWQgc3RhdGVcbiAgICBjb25zdCBzdGF0ZWd5ID0gdGhpcy5zdG9yZS5nZXRTdHJhdGVneU9mVHlwZShFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSk7XG4gICAgY29uc3QgYWN0aXZlID0gc3RhdGVneT8uYWN0aXZlIHx8IGZhbHNlO1xuICAgIHJldHVybiAhYWN0aXZlICYmIGdyb3VwLnJlc3VsdHMgJiZcbiAgICAgIGdyb3VwLnJlc3VsdHNbZ3JvdXAucmVzdWx0cy5sZW5ndGggLSAxXS5tZXRhLm5leHRQYWdlID09PSB0cnVlO1xuICB9XG5cbiAgZGlzcGxheU1vcmVSZXN1bHRzKGdyb3VwOiB7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfSkge1xuICAgIGNvbnN0IG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zID0ge1xuICAgICAgc291cmNlSWQ6IGdyb3VwLnNvdXJjZS5nZXRJZCgpLFxuICAgICAgcGFnZTogKyt0aGlzLnBhZ2VJdGVyYXRvcltncm91cC5zb3VyY2UuZ2V0SWQoKV1cbiAgICB9O1xuXG4gICAgbGV0IHRlcm1zO1xuICAgIGlmICh0aGlzLnRlcm1TcGxpdHRlciAmJiB0aGlzLnRlcm0ubWF0Y2gobmV3IFJlZ0V4cCh0aGlzLnRlcm1TcGxpdHRlciwgJ2cnKSkpIHtcbiAgICAgIHRlcm1zID0gdGhpcy50ZXJtLnNwbGl0KHRoaXMudGVybVNwbGl0dGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGVybXMgPSBbdGhpcy50ZXJtXTtcbiAgICB9XG5cbiAgICBsZXQgcmVzZWFyY2hlczogUmVzZWFyY2hbXSA9IFtdO1xuICAgIHRlcm1zLm1hcCgodGVybTogc3RyaW5nKSA9PiB7XG4gICAgICByZXNlYXJjaGVzID0gcmVzZWFyY2hlcy5jb25jYXQodGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaCh0ZXJtLCBvcHRpb25zKSk7XG4gICAgfSk7XG5cbiAgICByZXNlYXJjaGVzLm1hcChyZXNlYXJjaCA9PiB7XG4gICAgICByZXNlYXJjaC5yZXF1ZXN0LnN1YnNjcmliZSgocmVzdWx0czogU2VhcmNoUmVzdWx0W10pID0+IHtcbiAgICAgICAgY29uc3QgbmV3UmVzdWx0cyA9IGdyb3VwLnJlc3VsdHMuY29uY2F0KHJlc3VsdHMpO1xuICAgICAgICBpZiAoIXJlc3VsdHMubGVuZ3RoKSB7XG4gICAgICAgICAgbmV3UmVzdWx0c1tuZXdSZXN1bHRzLmxlbmd0aCAtIDFdLm1ldGEubmV4dFBhZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vcmVSZXN1bHRzLmVtaXQoe3Jlc2VhcmNoLCByZXN1bHRzOiBuZXdSZXN1bHRzfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbn1cbiIsIjxpZ28tbGlzdCBbbmF2aWdhdGlvbl09XCJ0cnVlXCI+XG4gIDxuZy10ZW1wbGF0ZVxuICAgICNncm91cFRlbXBsYXRlXG4gICAgbmdGb3IgbGV0LWdyb3VwXG4gICAgW25nRm9yT2ZdPVwicmVzdWx0cyQgfCBhc3luY1wiPlxuXG4gICAgPGlnby1jb2xsYXBzaWJsZSBbY2xhc3NdPVwiZ3JvdXAuc291cmNlLmdldElkKClcIlxuICAgICAgKm5nSWY9XCJtb2RlID09PSBzZWFyY2hSZXN1bHRNb2RlLkdyb3VwZWQ7IGVsc2UgZmxhdFRlbXBsYXRlXCJcbiAgICAgIFt0aXRsZV09XCJjb21wdXRlR3JvdXBUaXRsZShncm91cClcIlxuICAgICAgW2NvbGxhcHNlZF09XCJjb2xsYXBzZWRbZ3JvdXAuc291cmNlLnRpdGxlXVwiXG4gICAgICAodG9nZ2xlKT1cImNvbGxhcHNlZFtncm91cC5zb3VyY2UudGl0bGVdID0gJGV2ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RvcmVJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHtyZXN1bHRzOiBncm91cC5yZXN1bHRzfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaWdvLWNvbGxhcHNpYmxlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNmbGF0VGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RvcmVJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHtyZXN1bHRzOiBncm91cC5yZXN1bHRzfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI3N0b3JlSXRlbVRlbXBsYXRlIGxldC1yZXN1bHRzPVwicmVzdWx0c1wiPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1yZXN1bHQgW25nRm9yT2ZdPVwicmVzdWx0c1wiPlxuICAgICAgICA8aWdvLXNlYXJjaC1yZXN1bHRzLWl0ZW1cbiAgICAgICAgICBpZ29MaXN0SXRlbVxuICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICBbbWFwXT1cIm1hcFwiXG4gICAgICAgICAgW3Jlc3VsdF09XCJyZXN1bHRcIlxuICAgICAgICAgIFtzaG93SWNvbnNdPVwic2hvd0ljb25zXCJcbiAgICAgICAgICBbd2l0aFpvb21CdXR0b25dPVwid2l0aFpvb21CdXR0b25cIlxuICAgICAgICAgIFtmb2N1c2VkXT1cInN0b3JlLnN0YXRlLmdldChyZXN1bHQpLmZvY3VzZWRcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJzdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5zZWxlY3RlZFwiXG4gICAgICAgICAgKGZvY3VzKT1cInJlc3VsdEZvY3VzLmVtaXQocmVzdWx0KVwiXG4gICAgICAgICAgKHVuZm9jdXMpPVwicmVzdWx0VW5mb2N1cy5lbWl0KHJlc3VsdClcIlxuICAgICAgICAgIChzZWxlY3QpPVwib25SZXN1bHRTZWxlY3QocmVzdWx0KVwiXG4gICAgICAgICAgKG1vdXNlZW50ZXIpPVwicmVzdWx0Rm9jdXMuZW1pdChyZXN1bHQpXCJcbiAgICAgICAgICAobW91c2VsZWF2ZSk9XCJyZXN1bHRVbmZvY3VzLmVtaXQocmVzdWx0KVwiPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBpZ29TZWFyY2hJdGVtVG9vbGJhclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVTZWFyY2hUb29sYmFyXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7cmVzdWx0OiByZXN1bHR9XCI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPC9pZ28tc2VhcmNoLXJlc3VsdHMtaXRlbT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1vcmVSZXN1bHRzIG1hdC10eXBvZ3JhcGh5XCIgKm5nSWY9XCJpc01vcmVSZXN1bHRzKGdyb3VwKVwiIChjbGljayk9XCJkaXNwbGF5TW9yZVJlc3VsdHMoZ3JvdXApXCI+XG4gICAgICAgIDx1Pnt7ICdpZ28uZ2VvLnNlYXJjaC5kaXNwbGF5TW9yZVJlc3VsdHMnIHwgdHJhbnNsYXRlIH19PC91PlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuPC9pZ28tbGlzdD5cbiJdfQ==
337
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFDWix1QkFBdUIsRUFJeEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFjLEtBQUssRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBNEIsbUNBQW1DLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7OztJQ0wzRyx3QkFBc0c7Ozs7O0lBTHhHLDBDQUlvRDtJQUFsRCxvVEFBaUQ7SUFDakQseUhBQXNHO0lBQ3hHLGlCQUFrQjs7Ozs7SUFORCxzQ0FBOEI7SUFFN0MsMERBQWtDLHNEQUFBO0lBR25CLGVBQXFDO0lBQXJDLHNDQUFxQyx5RUFBQTs7O0lBSXBELHdCQUFzRzs7O0lBQXRHLHFIQUFzRzs7OztJQUF2RixzQ0FBcUMseUVBQUE7Ozs7O0lBS2xELGtEQWE0QztJQUoxQyx5UkFBUyxvQ0FBd0IsSUFBQyxnUkFDdkIsc0NBQTBCLElBREgsb1RBQUEsc1JBR3BCLG9DQUF3QixJQUhKLHNSQUlwQixzQ0FBMEIsSUFKTjtJQU1sQyw0QkFHZTtJQUVqQixpQkFBMEI7Ozs7SUFqQnhCLGlDQUFXLHNCQUFBLGdDQUFB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RUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO2dHQW1CVSxHQUFHO2tCQUFYLEtBQUs7WUFLRyxLQUFLO2tCQUFiLEtBQUs7WUFLRyxTQUFTO2tCQUFqQixLQUFLO1lBS0csSUFBSTtrQkFBWixLQUFLO1lBS0csY0FBYztrQkFBdEIsS0FBSztZQU1GLElBQUk7a0JBRFAsS0FBSztZQVVHLGVBQWU7a0JBQXZCLEtBQUs7WUFFRyxZQUFZO2tCQUFwQixLQUFLO1lBS0ksV0FBVztrQkFBcEIsTUFBTTtZQUtHLGFBQWE7a0JBQXRCLE1BQU07WUFLRyxZQUFZO2tCQUFyQixNQUFNO1lBS0csV0FBVztrQkFBcEIsTUFBTTtZQVFHLGdCQUFnQjtrQkFBekIsTUFBTTtZQUNHLGdCQUFnQjtrQkFBekIsTUFBTTtZQUUrRCxxQkFBcUI7a0JBQTFGLFlBQVk7bUJBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLENBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgRU1QVFksIHRpbWVyLCBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RhdGUsIEVudGl0eVN0b3JlLCBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSwgRW50aXR5U3RvcmVXYXRjaGVyIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcCc7XHJcblxyXG5pbXBvcnQgeyBUZXh0U2VhcmNoT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9zb3VyY2VzL3NvdXJjZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCwgUmVzZWFyY2ggfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuLi9zaGFyZWQvc291cmNlcy9zb3VyY2UnO1xyXG5cclxuZXhwb3J0IGVudW0gU2VhcmNoUmVzdWx0TW9kZSB7XHJcbiAgR3JvdXBlZCA9ICdncm91cGVkJyxcclxuICBGbGF0ID0gJ2ZsYXQnXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBMaXN0IG9mIHNlYXJjaCByZXN1bHRzIHdpdGggZm9jdXMgYW5kIHNlbGVjdGlvbiBjYXBhYmlsaXRpZXMuXHJcbiAqIFRoaXMgY29tcG9uZW50IGlzIGR1bWIgYW5kIG9ubHkgZW1pdHMgZXZlbnRzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tc2VhcmNoLXJlc3VsdHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIFNlYXJjaFJlc3VsdE1vZGUgZW51bVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZWFyY2hSZXN1bHRNb2RlID0gU2VhcmNoUmVzdWx0TW9kZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHJlc3VsdHMgc3RvcmUgd2F0Y2hlclxyXG4gICAqL1xyXG4gIHByaXZhdGUgd2F0Y2hlcjogRW50aXR5U3RvcmVXYXRjaGVyPFNlYXJjaFJlc3VsdD47XHJcblxyXG4gIHByaXZhdGUgc2V0dGluZ3NDaGFuZ2UkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwdWJsaWMgcGFnZUl0ZXJhdG9yOiB7c291cmNlSWQ6IHN0cmluZ31bXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgY29sbGFwc2VkOiB7c291cmNlSWQ6IHN0cmluZ31bXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBtYXA6IElnb01hcDtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoIHJlc3VsdHMgc3RvcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBzdG9yZTogRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PjtcclxuXHJcbiAgLyoqXHJcbiAgICogdG8gc2hvdyBoaWRlIHJlc3VsdHMgaWNvbnNcclxuICAgKi9cclxuICBASW5wdXQoKSBzaG93SWNvbnM6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCByZXN1bHRzIGRpc3BsYXkgbW9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1vZGU6IFNlYXJjaFJlc3VsdE1vZGUgPSBTZWFyY2hSZXN1bHRNb2RlLkdyb3VwZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlcmUgc2hvdWxkIGJlIGEgem9vbSBidXR0b25cclxuICAgKi9cclxuICBASW5wdXQoKSB3aXRoWm9vbUJ1dHRvbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggdGVybVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHRlcm0oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl90ZXJtO1xyXG4gIH1cclxuICBzZXQgdGVybSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl90ZXJtID0gdmFsdWU7XHJcbiAgICB0aGlzLnBhZ2VJdGVyYXRvciA9IFtdO1xyXG4gIH1cclxuICBwdWJsaWMgX3Rlcm06IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgc2V0dGluZ3NDaGFuZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xyXG5cclxuICBASW5wdXQoKSB0ZXJtU3BsaXR0ZXI6IHN0cmluZyA9ICd8JztcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcmVzdWx0IGlzIGZvY3VzZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmVzdWx0Rm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcmVzdWx0IGlzIHVuZm9jdXNlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZXN1bHRVbmZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJlc3VsdCBpcyBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZXN1bHRTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcmVzZWFyY2ggaXMgY29tcGxldGVkIGFmdGVyIGRpc3BsYXlpbmcgbW9yZSByZXN1bHRzIGlzIGNsaWNrZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbW9yZVJlc3VsdHMgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIHJlc2VhcmNoOiBSZXNlYXJjaDtcclxuICAgIHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdO1xyXG4gIH0+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50cyBlbWl0dGVkIHdoZW4gYSByZXN1bHQgaXMgZm9jdXMgb3IgdW5mb2N1cyBieSBtb3VzZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZXN1bHRNb3VzZWVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hSZXN1bHQ+KCk7XHJcbiAgQE91dHB1dCgpIHJlc3VsdE1vdXNlbGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdD4oKTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnaWdvU2VhcmNoSXRlbVRvb2xiYXInLCAvKiBUT0RPOiBhZGQgc3RhdGljIGZsYWcgKi8ge30pIHRlbXBsYXRlU2VhcmNoVG9vbGJhcjogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgZ2V0IHJlc3VsdHMkKCk6IE9ic2VydmFibGU8e3NvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXX1bXT4ge1xyXG4gICAgaWYgKHRoaXMuX3Jlc3VsdHMkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5fcmVzdWx0cyQgPSB0aGlzLmxpZnRSZXN1bHRzKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fcmVzdWx0cyQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Jlc3VsdHMkOiBPYnNlcnZhYmxlPFxyXG4gICAge3NvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXX1bXVxyXG4gID47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZCB0aGUgc2VhcmNoIHJlc3VsdHMgc3RvcmUgdG8gdGhlIHdhdGNoZXJcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMud2F0Y2hlciA9IG5ldyBFbnRpdHlTdG9yZVdhdGNoZXIodGhpcy5zdG9yZSwgdGhpcy5jZFJlZik7XHJcblxyXG4gICAgdGhpcy5zZXR0aW5nc0NoYW5nZSQkID0gdGhpcy5zZXR0aW5nc0NoYW5nZSQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5wYWdlSXRlcmF0b3IgPSBbXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5iaW5kIHRoZSBzZWFyY2ggcmVzdWx0cyBzdG9yZSBmcm9tIHRoZSB3YXRjaGVyXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLndhdGNoZXIuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5zZXR0aW5nc0NoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb21wdXRlIGEgZ3JvdXAgdGl0bGVcclxuICAgKiBAcGFyYW0gZ3JvdXAgU2VhcmNoIHJlc3VsdHMgZ3JvdXBcclxuICAgKiBAcmV0dXJucyBHcm91cCB0aXRsZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGNvbXB1dGVHcm91cFRpdGxlKGdyb3VwOiB7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJ0cyA9IFtncm91cC5zb3VyY2UudGl0bGVdO1xyXG4gICAgY29uc3QgY291bnQgPSBncm91cC5yZXN1bHRzLmxlbmd0aDtcclxuICAgIGlmIChjb3VudCA+IDEpIHtcclxuICAgICAgcGFydHMucHVzaChgKCR7Y291bnR9KWApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhcnRzLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSByZXN1bHQgaXMgc2VsZWN0ZWQsIHVwZGF0ZSBpdCdzIHN0YXRlIGluIHRoZSBzdG9yZSBhbmQgZW1pdFxyXG4gICAqIGFuIGV2ZW50LiBBIHNlbGVjdGVkIHJlc3VsdCBpcyBhbHNvIGNvbnNpZGVyZWQgZm9jdXNlZFxyXG4gICAqIEBwYXJhbSByZXN1bHQgU2VhcmNoIHJlc3VsdFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uUmVzdWx0U2VsZWN0KHJlc3VsdDogU2VhcmNoUmVzdWx0KSB7XHJcbiAgICBpZiAodGhpcy5zdG9yZS5zdGF0ZS5nZXQocmVzdWx0KSkge1xyXG4gICAgICBpZiAodGhpcy5zdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5zZWxlY3RlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zdG9yZS5zdGF0ZS51cGRhdGUocmVzdWx0LCB7Zm9jdXNlZDogdHJ1ZSwgc2VsZWN0ZWQ6IHRydWV9LCB0cnVlKTtcclxuICAgIHRoaXMucmVzdWx0U2VsZWN0LmVtaXQocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBhbiBvYnNlcnZhYmxlIG9mIHRoZSBzZWFyY2ggcmVzdWx0cywgZ3JvdXBlZCBieSBzZWFyY2ggc291cmNlXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBncm91cGVkIHNlYXJjaCByZXN1bHRzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgIHByaXZhdGUgbGlmdFJlc3VsdHMoKTogT2JzZXJ2YWJsZTx7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zdGF0ZVZpZXcuYWxsJCgpLnBpcGUoXHJcbiAgICAgIGRlYm91bmNlKChyZXN1bHRzOiB7ZW50aXR5OiBTZWFyY2hSZXN1bHQsIHN0YXRlOiBFbnRpdHlTdGF0ZX1bXSkgPT4ge1xyXG4gICAgICAgIHJldHVybiByZXN1bHRzLmxlbmd0aCA9PT0gMCA/IEVNUFRZIDogdGltZXIoMjAwKTtcclxuICAgICAgfSksXHJcbiAgICAgIG1hcCgocmVzdWx0czoge2VudGl0eTogU2VhcmNoUmVzdWx0LCBzdGF0ZTogRW50aXR5U3RhdGV9W10pID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ncm91cFJlc3VsdHMocmVzdWx0cy5tYXAociA9PiByLmVudGl0eSkuc29ydCh0aGlzLnNvcnRCeU9yZGVyKSk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29ydCB0aGUgcmVzdWx0cyBieSBkaXNwbGF5IG9yZGVyLlxyXG4gICAqIEBwYXJhbSByMSBGaXJzdCByZXN1bHRcclxuICAgKiBAcGFyYW0gcjIgU2Vjb25kIHJlc3VsdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc29ydEJ5T3JkZXIocjE6IFNlYXJjaFJlc3VsdCwgcjI6IFNlYXJjaFJlc3VsdCkge1xyXG4gICAgcmV0dXJuIHIxLnNvdXJjZS5kaXNwbGF5T3JkZXIgLSByMi5zb3VyY2UuZGlzcGxheU9yZGVyO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR3JvdXAgcmVzdWx0cyBieSBzZWFyY2ggc291cmNlXHJcbiAgICogQHBhcmFtIHJlc3VsdHMgU2VhcmNoIHJlc3VsdHMgZnJvbSBhbGwgc291cmNlc1xyXG4gICAqIEByZXR1cm5zIFNlYXJjaCByZXN1bHRzIGdyb3VwZWQgYnkgc291cmNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBncm91cFJlc3VsdHMocmVzdWx0czogU2VhcmNoUmVzdWx0W10pOiB7c291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdfVtdIHtcclxuICAgIGNvbnN0IGdyb3VwZWQgPSBuZXcgTWFwPFNlYXJjaFNvdXJjZSwgU2VhcmNoUmVzdWx0W10+KCk7XHJcbiAgICByZXN1bHRzLmZvckVhY2goKHJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHNvdXJjZSA9IHJlc3VsdC5zb3VyY2U7XHJcbiAgICAgIGxldCBzb3VyY2VSZXN1bHRzID0gZ3JvdXBlZC5nZXQoc291cmNlKTtcclxuICAgICAgaWYgKHNvdXJjZVJlc3VsdHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHNvdXJjZVJlc3VsdHMgPSBbXTtcclxuICAgICAgICBncm91cGVkLnNldChzb3VyY2UsIHNvdXJjZVJlc3VsdHMpO1xyXG4gICAgICB9XHJcbiAgICAgIHNvdXJjZVJlc3VsdHMucHVzaChyZXN1bHQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oZ3JvdXBlZC5rZXlzKCkpLm1hcCgoc291cmNlOiBTZWFyY2hTb3VyY2UpID0+IHtcclxuICAgICAgaWYgKHRoaXMucGFnZUl0ZXJhdG9yW3NvdXJjZS5nZXRJZCgpXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5wYWdlSXRlcmF0b3Jbc291cmNlLmdldElkKCldID0gMTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4ge3NvdXJjZSwgcmVzdWx0czogZ3JvdXBlZC5nZXQoc291cmNlKX07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzTW9yZVJlc3VsdHMoZ3JvdXA6IHsgc291cmNlOiBTZWFyY2hTb3VyY2U7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdIH0pIHtcclxuICAgIC8vIGdldFN0cmF0ZWd5T2ZUeXBlIGlzIHRvIGF2b2lkIGRpc3BsYXkgbW9yZSByZXN1bHQgYmFzZWQgb24gYSBmaWx0ZXJlZCBzdGF0ZVxyXG4gICAgY29uc3Qgc3RhdGVneSA9IHRoaXMuc3RvcmUuZ2V0U3RyYXRlZ3lPZlR5cGUoRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3kpO1xyXG4gICAgY29uc3QgYWN0aXZlID0gc3RhdGVneT8uYWN0aXZlIHx8IGZhbHNlO1xyXG4gICAgcmV0dXJuICFhY3RpdmUgJiYgZ3JvdXAucmVzdWx0cyAmJlxyXG4gICAgICBncm91cC5yZXN1bHRzW2dyb3VwLnJlc3VsdHMubGVuZ3RoIC0gMV0ubWV0YS5uZXh0UGFnZSA9PT0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlNb3JlUmVzdWx0cyhncm91cDoge3NvdXJjZTogU2VhcmNoU291cmNlOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXX0pIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zID0ge1xyXG4gICAgICBzb3VyY2VJZDogZ3JvdXAuc291cmNlLmdldElkKCksXHJcbiAgICAgIHBhZ2U6ICsrdGhpcy5wYWdlSXRlcmF0b3JbZ3JvdXAuc291cmNlLmdldElkKCldXHJcbiAgICB9O1xyXG5cclxuICAgIGxldCB0ZXJtcztcclxuICAgIGlmICh0aGlzLnRlcm1TcGxpdHRlciAmJiB0aGlzLnRlcm0ubWF0Y2gobmV3IFJlZ0V4cCh0aGlzLnRlcm1TcGxpdHRlciwgJ2cnKSkpIHtcclxuICAgICAgdGVybXMgPSB0aGlzLnRlcm0uc3BsaXQodGhpcy50ZXJtU3BsaXR0ZXIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGVybXMgPSBbdGhpcy50ZXJtXTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcmVzZWFyY2hlczogUmVzZWFyY2hbXSA9IFtdO1xyXG4gICAgdGVybXMubWFwKCh0ZXJtOiBzdHJpbmcpID0+IHtcclxuICAgICAgcmVzZWFyY2hlcyA9IHJlc2VhcmNoZXMuY29uY2F0KHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2godGVybSwgb3B0aW9ucykpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmVzZWFyY2hlcy5tYXAocmVzZWFyY2ggPT4ge1xyXG4gICAgICByZXNlYXJjaC5yZXF1ZXN0LnN1YnNjcmliZSgocmVzdWx0czogU2VhcmNoUmVzdWx0W10pID0+IHtcclxuICAgICAgICBjb25zdCBuZXdSZXN1bHRzID0gZ3JvdXAucmVzdWx0cy5jb25jYXQocmVzdWx0cyk7XHJcbiAgICAgICAgaWYgKCFyZXN1bHRzLmxlbmd0aCkge1xyXG4gICAgICAgICAgbmV3UmVzdWx0c1tuZXdSZXN1bHRzLmxlbmd0aCAtIDFdLm1ldGEubmV4dFBhZ2UgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb3JlUmVzdWx0cy5lbWl0KHtyZXNlYXJjaCwgcmVzdWx0czogbmV3UmVzdWx0c30pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxufVxyXG4iLCI8aWdvLWxpc3QgW25hdmlnYXRpb25dPVwidHJ1ZVwiPlxyXG4gIDxuZy10ZW1wbGF0ZVxyXG4gICAgI2dyb3VwVGVtcGxhdGVcclxuICAgIG5nRm9yIGxldC1ncm91cFxyXG4gICAgW25nRm9yT2ZdPVwicmVzdWx0cyQgfCBhc3luY1wiPlxyXG5cclxuICAgIDxpZ28tY29sbGFwc2libGUgW2NsYXNzXT1cImdyb3VwLnNvdXJjZS5nZXRJZCgpXCJcclxuICAgICAgKm5nSWY9XCJtb2RlID09PSBzZWFyY2hSZXN1bHRNb2RlLkdyb3VwZWQ7IGVsc2UgZmxhdFRlbXBsYXRlXCJcclxuICAgICAgW3RpdGxlXT1cImNvbXB1dGVHcm91cFRpdGxlKGdyb3VwKVwiXHJcbiAgICAgIFtjb2xsYXBzZWRdPVwiY29sbGFwc2VkW2dyb3VwLnNvdXJjZS50aXRsZV1cIlxyXG4gICAgICAodG9nZ2xlKT1cImNvbGxhcHNlZFtncm91cC5zb3VyY2UudGl0bGVdID0gJGV2ZW50XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdG9yZUl0ZW1UZW1wbGF0ZTsgY29udGV4dDoge3Jlc3VsdHM6IGdyb3VwLnJlc3VsdHN9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2lnby1jb2xsYXBzaWJsZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2ZsYXRUZW1wbGF0ZT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0b3JlSXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7cmVzdWx0czogZ3JvdXAucmVzdWx0c31cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNzdG9yZUl0ZW1UZW1wbGF0ZSBsZXQtcmVzdWx0cz1cInJlc3VsdHNcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1yZXN1bHQgW25nRm9yT2ZdPVwicmVzdWx0c1wiPlxyXG4gICAgICAgIDxpZ28tc2VhcmNoLXJlc3VsdHMtaXRlbVxyXG4gICAgICAgICAgaWdvTGlzdEl0ZW1cclxuICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgICAgIFttYXBdPVwibWFwXCJcclxuICAgICAgICAgIFtyZXN1bHRdPVwicmVzdWx0XCJcclxuICAgICAgICAgIFtzaG93SWNvbnNdPVwic2hvd0ljb25zXCJcclxuICAgICAgICAgIFt3aXRoWm9vbUJ1dHRvbl09XCJ3aXRoWm9vbUJ1dHRvblwiXHJcbiAgICAgICAgICBbZm9jdXNlZF09XCJzdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5mb2N1c2VkXCJcclxuICAgICAgICAgIFtzZWxlY3RlZF09XCJzdG9yZS5zdGF0ZS5nZXQocmVzdWx0KS5zZWxlY3RlZFwiXHJcbiAgICAgICAgICAoZm9jdXMpPVwicmVzdWx0Rm9jdXMuZW1pdChyZXN1bHQpXCJcclxuICAgICAgICAgICh1bmZvY3VzKT1cInJlc3VsdFVuZm9jdXMuZW1pdChyZXN1bHQpXCJcclxuICAgICAgICAgIChzZWxlY3QpPVwib25SZXN1bHRTZWxlY3QocmVzdWx0KVwiXHJcbiAgICAgICAgICAobW91c2VlbnRlcik9XCJyZXN1bHRGb2N1cy5lbWl0KHJlc3VsdClcIlxyXG4gICAgICAgICAgKG1vdXNlbGVhdmUpPVwicmVzdWx0VW5mb2N1cy5lbWl0KHJlc3VsdClcIj5cclxuXHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIGlnb1NlYXJjaEl0ZW1Ub29sYmFyXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlU2VhcmNoVG9vbGJhclwiXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7cmVzdWx0OiByZXN1bHR9XCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPC9pZ28tc2VhcmNoLXJlc3VsdHMtaXRlbT5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtb3JlUmVzdWx0cyBtYXQtdHlwb2dyYXBoeVwiICpuZ0lmPVwiaXNNb3JlUmVzdWx0cyhncm91cClcIiAoY2xpY2spPVwiZGlzcGxheU1vcmVSZXN1bHRzKGdyb3VwKVwiPlxyXG4gICAgICAgIDx1Pnt7ICdpZ28uZ2VvLnNlYXJjaC5kaXNwbGF5TW9yZVJlc3VsdHMnIHwgdHJhbnNsYXRlIH19PC91PlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuPC9pZ28tbGlzdD5cclxuIl19
@@ -76,4 +76,4 @@ IgoSearchResultsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
76
76
  IgoMatBadgeIconModule,
77
77
  IgoMetadataModule], exports: [SearchResultsComponent,
78
78
  SearchResultAddButtonComponent] }); })();
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN6QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRXZGOztHQUVHO0FBMEJILE1BQU0sT0FBTyxzQkFBc0I7OzRGQUF0QixzQkFBc0I7d0VBQXRCLHNCQUFzQjs0RUF4QnhCO1lBQ1AsWUFBWTtZQUNaLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2Ysb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYix3QkFBd0I7WUFDeEIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQixpQkFBaUI7U0FDbEI7dUZBV1Usc0JBQXNCO2NBekJsQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixlQUFlO29CQUNmLG9CQUFvQjtvQkFDcEIsYUFBYTtvQkFDYix3QkFBd0I7b0JBQ3hCLGlCQUFpQjtvQkFDakIscUJBQXFCO29CQUNyQixpQkFBaUI7aUJBQ2xCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxzQkFBc0I7b0JBQ3RCLDhCQUE4QjtpQkFDL0I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHNCQUFzQjtvQkFDdEIsMEJBQTBCO29CQUMxQiw4QkFBOEI7aUJBQy9CO2FBQ0Y7O3dGQUNZLHNCQUFzQixtQkFML0Isc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQiw4QkFBOEIsYUFwQjlCLFlBQVk7UUFDWixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2Isd0JBQXdCO1FBQ3hCLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsaUJBQWlCLGFBR2pCLHNCQUFzQjtRQUN0Qiw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQge1xuICBJZ29Db2xsYXBzaWJsZU1vZHVsZSxcbiAgSWdvTGlzdE1vZHVsZSxcbiAgSWdvTWF0QmFkZ2VJY29uTW9kdWxlLFxuICBJZ29TdG9wUHJvcGFnYXRpb25Nb2R1bGVcbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbmltcG9ydCB7IElnb01ldGFkYXRhTW9kdWxlIH0gZnJvbSAnLi8uLi8uLi9tZXRhZGF0YS9tZXRhZGF0YS5tb2R1bGUnO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0c0NvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdHNJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRBZGRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHRzLWFkZC1idXR0b24uY29tcG9uZW50JztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIElnb0NvbGxhcHNpYmxlTW9kdWxlLFxuICAgIElnb0xpc3RNb2R1bGUsXG4gICAgSWdvU3RvcFByb3BhZ2F0aW9uTW9kdWxlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxuICAgIElnb01hdEJhZGdlSWNvbk1vZHVsZSxcbiAgICBJZ29NZXRhZGF0YU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNlYXJjaFJlc3VsdHNDb21wb25lbnQsXG4gICAgU2VhcmNoUmVzdWx0QWRkQnV0dG9uQ29tcG9uZW50XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNlYXJjaFJlc3VsdHNDb21wb25lbnQsXG4gICAgU2VhcmNoUmVzdWx0c0l0ZW1Db21wb25lbnQsXG4gICAgU2VhcmNoUmVzdWx0QWRkQnV0dG9uQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvU2VhcmNoUmVzdWx0c01vZHVsZSB7fVxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN6QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRXZGOztHQUVHO0FBMEJILE1BQU0sT0FBTyxzQkFBc0I7OzRGQUF0QixzQkFBc0I7d0VBQXRCLHNCQUFzQjs0RUF4QnhCO1lBQ1AsWUFBWTtZQUNaLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2Ysb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYix3QkFBd0I7WUFDeEIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQixpQkFBaUI7U0FDbEI7dUZBV1Usc0JBQXNCO2NBekJsQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixlQUFlO29CQUNmLG9CQUFvQjtvQkFDcEIsYUFBYTtvQkFDYix3QkFBd0I7b0JBQ3hCLGlCQUFpQjtvQkFDakIscUJBQXFCO29CQUNyQixpQkFBaUI7aUJBQ2xCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxzQkFBc0I7b0JBQ3RCLDhCQUE4QjtpQkFDL0I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHNCQUFzQjtvQkFDdEIsMEJBQTBCO29CQUMxQiw4QkFBOEI7aUJBQy9CO2FBQ0Y7O3dGQUNZLHNCQUFzQixtQkFML0Isc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQiw4QkFBOEIsYUFwQjlCLFlBQVk7UUFDWixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixhQUFhO1FBQ2Isd0JBQXdCO1FBQ3hCLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsaUJBQWlCLGFBR2pCLHNCQUFzQjtRQUN0Qiw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIElnb0NvbGxhcHNpYmxlTW9kdWxlLFxyXG4gIElnb0xpc3RNb2R1bGUsXHJcbiAgSWdvTWF0QmFkZ2VJY29uTW9kdWxlLFxyXG4gIElnb1N0b3BQcm9wYWdhdGlvbk1vZHVsZVxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJZ29NZXRhZGF0YU1vZHVsZSB9IGZyb20gJy4vLi4vLi4vbWV0YWRhdGEvbWV0YWRhdGEubW9kdWxlJztcclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0c0NvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0c0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHRzLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0QWRkQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy1hZGQtYnV0dG9uLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRCYWRnZU1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIElnb0NvbGxhcHNpYmxlTW9kdWxlLFxyXG4gICAgSWdvTGlzdE1vZHVsZSxcclxuICAgIElnb1N0b3BQcm9wYWdhdGlvbk1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgSWdvTWF0QmFkZ2VJY29uTW9kdWxlLFxyXG4gICAgSWdvTWV0YWRhdGFNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZWFyY2hSZXN1bHRzQ29tcG9uZW50LFxyXG4gICAgU2VhcmNoUmVzdWx0QWRkQnV0dG9uQ29tcG9uZW50XHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNlYXJjaFJlc3VsdHNDb21wb25lbnQsXHJcbiAgICBTZWFyY2hSZXN1bHRzSXRlbUNvbXBvbmVudCxcclxuICAgIFNlYXJjaFJlc3VsdEFkZEJ1dHRvbkNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb1NlYXJjaFJlc3VsdHNNb2R1bGUge31cclxuIl19
@@ -129,4 +129,4 @@ SearchSelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
129
129
  }], searchTypeChange: [{
130
130
  type: Output
131
131
  }] }); })();
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7SUNRaEQsMkNBQThFO0lBQzVFLFlBQ0Y7O0lBQUEsaUJBQW1COzs7O0lBRnNDLHFDQUFvQjtJQUMzRSxlQUNGO0lBREUsK0ZBQ0Y7O0FEUE47Ozs7Ozs7R0FPRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7SUEwQmxDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBeEJuRCxnQkFBVyxHQUE0QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQU8vRTs7V0FFRztRQUNNLGdCQUFXLEdBQWEsWUFBWSxDQUFDO1FBUzlDOztXQUVHO1FBQ08scUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVPLENBQUM7SUFaaEU7O09BRUc7SUFDSCxJQUNJLFVBQVUsQ0FBQyxLQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsSUFBSSxVQUFVLEtBQWEsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFTM0QsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVc7YUFDakMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDNUIsU0FBUyxDQUFDLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLFVBQWtCO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGtCQUFrQixDQUFDLFVBQWtCO1FBQ25DLE9BQU8sa0JBQWtCLFVBQVUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFDSyxhQUFhLENBQUMsVUFBOEI7UUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxJQUFJLFVBQVUsS0FBSyxTQUFTLElBQUksVUFBVSxLQUFLLElBQUksRUFBRTtZQUNuRCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs4RkF6RVUsdUJBQXVCOzBFQUF2Qix1QkFBdUI7UUM5QnBDLDhCQUFpQztRQUMvQixpQ0FPMkM7O1FBQ3pDLDhCQUF5QztRQUMzQyxpQkFBUztRQUVULHNDQUlvQjtRQUNsQiwwQ0FHOEM7UUFBNUMscUhBQVUsb0NBQWdDLElBQUM7O1FBQzNDLGtHQUVtQjtRQUNyQixpQkFBa0I7UUFDcEIsaUJBQVc7UUFFYixpQkFBTTs7O1FBcEJGLGVBQXdEO1FBQXhELGdGQUF3RCwwQkFBQTtRQVl0RCxlQUE2QjtRQUE3Qiw2REFBNkI7UUFFWSxlQUFjO1FBQWQseUNBQWM7O3VGRFNoRCx1QkFBdUI7Y0FObkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSxrQ0FBa0M7Z0JBQy9DLFNBQVMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2dCQUMvQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtzRUFhVSxXQUFXO2tCQUFuQixLQUFLO1lBTUYsVUFBVTtrQkFEYixLQUFLO1lBT0ksZ0JBQWdCO2tCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPbkluaXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTRUFSQ0hfVFlQRVMgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLmVudW1zJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBhbGxvd3MgYSB1c2VyIHRvIHNlbGVjdCBhIHNlYXJjaCB0eXBlIHlvIGVuYWJsZS4gSW4gaXQnc1xuICogY3VycmVudCB2ZXJzaW9uLCBvbmx5IG9uZSBzZWFyY2ggdHlwZSBjYW4gYmUgc2VsZWN0ZWQgYXQgb25jZSAocmFkaW8pLiBJZlxuICogdGhpcyBjb21wb25lbnQgd2VyZSB0byBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgc2VhcmNoIHNvdXJjZSBlbmFibGVkIChjaGVja2JveCksXG4gKiB0aGUgc2VhcmNoYmFyIGNvbXBvbmVudCB3b3VsZCByZXF1aXJlIGEgc21hbGwgY2hhbmdlIHRvIGl0J3NcbiAqIHBsYWNlaG9sZGVyIGdldHRlci4gVGhlIHNlYXJjaCBzb3VyY2Ugc2VydmljZSBhbHJlYWR5IHN1cHBvcnRzIGhhdmluZ1xuICogbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHJlYWRvbmx5IHNlYXJjaFR5cGUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzZWFyY2ggdHlwZVxuICAgKi9cbiAgcHJpdmF0ZSBzZWFyY2hUeXBlJCQ6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogTGlzdCBvZiBhdmFpbGFibGUgc2VhcmNoIHR5cGVzXG4gICAqL1xuICBASW5wdXQoKSBzZWFyY2hUeXBlczogc3RyaW5nW10gPSBTRUFSQ0hfVFlQRVM7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWFyY2ggdHlwZSBlbmFibGVkXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgc2VhcmNoVHlwZSh2YWx1ZTogc3RyaW5nKSB7IHRoaXMuc2V0U2VhcmNoVHlwZSh2YWx1ZSk7IH1cbiAgZ2V0IHNlYXJjaFR5cGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuc2VhcmNoVHlwZSQudmFsdWU7IH1cblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBlbmFibGVkIHNlYXJjaCB0eXBlIGNoYW5nZXNcbiAgICovXG4gIEBPdXRwdXQoKSBzZWFyY2hUeXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VhcmNoVHlwZSQkID0gdGhpcy5zZWFyY2hUeXBlJFxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlYXJjaFR5cGU6IHN0cmluZykgPT4gdGhpcy5vblNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zZWFyY2hUeXBlJCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgdGhlIHNlbGVjdGVkIHNlYXJjaCB0eXBlXG4gICAqIEBwYXJhbSBzZWFyY2hUeXBlIFNlYXJjaCB0eXBlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25TZWFyY2hUeXBlQ2hhbmdlKHNlYXJjaFR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzZWFyY2ggdHlwZSdzIHRpdGxlLiBUaGUgdGl0bGVcbiAgICogZm9yIGFsbCBhdmFpbGFibGVzIHNlYXJjaCB0eXBlcnMgbmVlZHMgdG8gYmUgZGVmaW5lZCBpbiB0aGUgbG9jYWxlXG4gICAqIGZpbGVzIG9yIGFuIGVycm9yIHdpbGwgYmUgdGhyb3duLlxuICAgKiBAcGFyYW0gc2VhcmNoVHlwZSBTZWFyY2ggdHlwZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldFNlYXJjaFR5cGVUaXRsZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYGlnby5nZW8uc2VhcmNoLiR7c2VhcmNoVHlwZS50b0xvd2VyQ2FzZSgpfS50aXRsZWA7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhbiBldmVudCBhbmQgZW5hYmxlIHRoZSBzZWFyY2ggc291cmNlcyBvZiB0aGUgZ2l2ZW4gdHlwZS5cbiAgICogQHBhcmFtIHNlYXJjaFR5cGUgU2VhcmNoIHR5cGVcbiAgICovXG4gIHByaXZhdGUgc2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnNlYXJjaFR5cGUkLm5leHQoc2VhcmNoVHlwZSk7XG4gIH1cblxuICBwcml2YXRlIG9uU2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcbiAgICBpZiAoc2VhcmNoVHlwZSA9PT0gdW5kZWZpbmVkIHx8IHNlYXJjaFR5cGUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2UuZW5hYmxlU291cmNlc0J5VHlwZShzZWFyY2hUeXBlKTtcbiAgICB0aGlzLnNlYXJjaFR5cGVDaGFuZ2UuZW1pdChzZWFyY2hUeXBlKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXNlYXJjaC1zZWxlY3RvclwiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNlbGVjdG9yLWJ1dHRvblwiXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNlYXJjaC5tZW51LnRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2VhcmNoU2VsZWN0b3JNZW51XCI+XG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJtZW51LWRvd25cIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8bWF0LW1lbnVcbiAgICAjc2VhcmNoU2VsZWN0b3JNZW51PVwibWF0TWVudVwiXG4gICAgY2xhc3M9XCJuby1ib3JkZXItcmFkaXVzXCJcbiAgICB4UG9zaXRpb249XCJiZWZvcmVcIlxuICAgIHlQb3NpdGlvbj1cImFib3ZlXCI+XG4gICAgPG1hdC1yYWRpby1ncm91cFxuICAgICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNlbGVjdG9yLXJhZGlvLWdyb3VwXCJcbiAgICAgIFt2YWx1ZV09XCJzZWFyY2hUeXBlJCB8IGFzeW5jXCJcbiAgICAgIChjaGFuZ2UpPVwib25TZWFyY2hUeXBlQ2hhbmdlKCRldmVudC52YWx1ZSlcIj5cbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uICpuZ0Zvcj1cImxldCBzZWFyY2hUeXBlIG9mIHNlYXJjaFR5cGVzXCIgW3ZhbHVlXT1cInNlYXJjaFR5cGVcIj5cbiAgICAgICAge3tnZXRTZWFyY2hUeXBlVGl0bGUoc2VhcmNoVHlwZSkgfCB0cmFuc2xhdGV9fVxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICA8L21hdC1tZW51PlxuXG48L2Rpdj5cbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7SUNRaEQsMkNBQThFO0lBQzVFLFlBQ0Y7O0lBQUEsaUJBQW1COzs7O0lBRnNDLHFDQUFvQjtJQUMzRSxlQUNGO0lBREUsK0ZBQ0Y7O0FEUE47Ozs7Ozs7R0FPRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7SUEwQmxDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBeEJuRCxnQkFBVyxHQUE0QixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQU8vRTs7V0FFRztRQUNNLGdCQUFXLEdBQWEsWUFBWSxDQUFDO1FBUzlDOztXQUVHO1FBQ08scUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVPLENBQUM7SUFaaEU7O09BRUc7SUFDSCxJQUNJLFVBQVUsQ0FBQyxLQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsSUFBSSxVQUFVLEtBQWEsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFTM0QsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVc7YUFDakMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDNUIsU0FBUyxDQUFDLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFDLFVBQWtCO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGtCQUFrQixDQUFDLFVBQWtCO1FBQ25DLE9BQU8sa0JBQWtCLFVBQVUsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFDSyxhQUFhLENBQUMsVUFBOEI7UUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxJQUFJLFVBQVUsS0FBSyxTQUFTLElBQUksVUFBVSxLQUFLLElBQUksRUFBRTtZQUNuRCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs4RkF6RVUsdUJBQXVCOzBFQUF2Qix1QkFBdUI7UUM5QnBDLDhCQUFpQztRQUMvQixpQ0FPMkM7O1FBQ3pDLDhCQUF5QztRQUMzQyxpQkFBUztRQUVULHNDQUlvQjtRQUNsQiwwQ0FHOEM7UUFBNUMscUhBQVUsb0NBQWdDLElBQUM7O1FBQzNDLGtHQUVtQjtRQUNyQixpQkFBa0I7UUFDcEIsaUJBQVc7UUFFYixpQkFBTTs7O1FBcEJGLGVBQXdEO1FBQXhELGdGQUF3RCwwQkFBQTtRQVl0RCxlQUE2QjtRQUE3Qiw2REFBNkI7UUFFWSxlQUFjO1FBQWQseUNBQWM7O3VGRFNoRCx1QkFBdUI7Y0FObkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFdBQVcsRUFBRSxrQ0FBa0M7Z0JBQy9DLFNBQVMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2dCQUMvQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtzRUFhVSxXQUFXO2tCQUFuQixLQUFLO1lBTUYsVUFBVTtrQkFEYixLQUFLO1lBT0ksZ0JBQWdCO2tCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFNFQVJDSF9UWVBFUyB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2guZW51bXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC1zb3VyY2Uuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogVGhpcyBjb21wb25lbnQgYWxsb3dzIGEgdXNlciB0byBzZWxlY3QgYSBzZWFyY2ggdHlwZSB5byBlbmFibGUuIEluIGl0J3NcclxuICogY3VycmVudCB2ZXJzaW9uLCBvbmx5IG9uZSBzZWFyY2ggdHlwZSBjYW4gYmUgc2VsZWN0ZWQgYXQgb25jZSAocmFkaW8pLiBJZlxyXG4gKiB0aGlzIGNvbXBvbmVudCB3ZXJlIHRvIHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQgKGNoZWNrYm94KSxcclxuICogdGhlIHNlYXJjaGJhciBjb21wb25lbnQgd291bGQgcmVxdWlyZSBhIHNtYWxsIGNoYW5nZSB0byBpdCdzXHJcbiAqIHBsYWNlaG9sZGVyIGdldHRlci4gVGhlIHNlYXJjaCBzb3VyY2Ugc2VydmljZSBhbHJlYWR5IHN1cHBvcnRzIGhhdmluZ1xyXG4gKiBtb3JlIHRoYW4gb25lIHNlYXJjaCBzb3VyY2UgZW5hYmxlZC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1zZWxlY3RvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICByZWFkb25seSBzZWFyY2hUeXBlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgc2VhcmNoIHR5cGVcclxuICAgKi9cclxuICBwcml2YXRlIHNlYXJjaFR5cGUkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0IG9mIGF2YWlsYWJsZSBzZWFyY2ggdHlwZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBzZWFyY2hUeXBlczogc3RyaW5nW10gPSBTRUFSQ0hfVFlQRVM7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBzZWFyY2ggdHlwZSBlbmFibGVkXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2VhcmNoVHlwZSh2YWx1ZTogc3RyaW5nKSB7IHRoaXMuc2V0U2VhcmNoVHlwZSh2YWx1ZSk7IH1cclxuICBnZXQgc2VhcmNoVHlwZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5zZWFyY2hUeXBlJC52YWx1ZTsgfVxyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGVuYWJsZWQgc2VhcmNoIHR5cGUgY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hUeXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlYXJjaFR5cGUkJCA9IHRoaXMuc2VhcmNoVHlwZSRcclxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZSgoc2VhcmNoVHlwZTogc3RyaW5nKSA9PiB0aGlzLm9uU2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc2VhcmNoVHlwZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbmFibGUgdGhlIHNlbGVjdGVkIHNlYXJjaCB0eXBlXHJcbiAgICogQHBhcmFtIHNlYXJjaFR5cGUgU2VhcmNoIHR5cGVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvblNlYXJjaFR5cGVDaGFuZ2Uoc2VhcmNoVHlwZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYSBzZWFyY2ggdHlwZSdzIHRpdGxlLiBUaGUgdGl0bGVcclxuICAgKiBmb3IgYWxsIGF2YWlsYWJsZXMgc2VhcmNoIHR5cGVycyBuZWVkcyB0byBiZSBkZWZpbmVkIGluIHRoZSBsb2NhbGVcclxuICAgKiBmaWxlcyBvciBhbiBlcnJvciB3aWxsIGJlIHRocm93bi5cclxuICAgKiBAcGFyYW0gc2VhcmNoVHlwZSBTZWFyY2ggdHlwZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldFNlYXJjaFR5cGVUaXRsZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBgaWdvLmdlby5zZWFyY2guJHtzZWFyY2hUeXBlLnRvTG93ZXJDYXNlKCl9LnRpdGxlYDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgYW4gZXZlbnQgYW5kIGVuYWJsZSB0aGUgc2VhcmNoIHNvdXJjZXMgb2YgdGhlIGdpdmVuIHR5cGUuXHJcbiAgICogQHBhcmFtIHNlYXJjaFR5cGUgU2VhcmNoIHR5cGVcclxuICAgKi9cclxuICBwcml2YXRlIHNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLnNlYXJjaFR5cGUkLm5leHQoc2VhcmNoVHlwZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uU2V0U2VhcmNoVHlwZShzZWFyY2hUeXBlOiBzdHJpbmcpIHtcclxuICAgIGlmIChzZWFyY2hUeXBlID09PSB1bmRlZmluZWQgfHwgc2VhcmNoVHlwZSA9PT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlLmVuYWJsZVNvdXJjZXNCeVR5cGUoc2VhcmNoVHlwZSk7XHJcbiAgICB0aGlzLnNlYXJjaFR5cGVDaGFuZ2UuZW1pdChzZWFyY2hUeXBlKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpZ28tc2VhcmNoLXNlbGVjdG9yXCI+XHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICBjbGFzcz1cImlnby1zZWFyY2gtc2VsZWN0b3ItYnV0dG9uXCJcclxuICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5zZWFyY2gubWVudS50b29sdGlwJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2VhcmNoU2VsZWN0b3JNZW51XCI+XHJcbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1lbnUtZG93blwiPjwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDxtYXQtbWVudVxyXG4gICAgI3NlYXJjaFNlbGVjdG9yTWVudT1cIm1hdE1lbnVcIlxyXG4gICAgY2xhc3M9XCJuby1ib3JkZXItcmFkaXVzXCJcclxuICAgIHhQb3NpdGlvbj1cImJlZm9yZVwiXHJcbiAgICB5UG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgPG1hdC1yYWRpby1ncm91cFxyXG4gICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2VsZWN0b3ItcmFkaW8tZ3JvdXBcIlxyXG4gICAgICBbdmFsdWVdPVwic2VhcmNoVHlwZSQgfCBhc3luY1wiXHJcbiAgICAgIChjaGFuZ2UpPVwib25TZWFyY2hUeXBlQ2hhbmdlKCRldmVudC52YWx1ZSlcIj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gKm5nRm9yPVwibGV0IHNlYXJjaFR5cGUgb2Ygc2VhcmNoVHlwZXNcIiBbdmFsdWVdPVwic2VhcmNoVHlwZVwiPlxyXG4gICAgICAgIHt7Z2V0U2VhcmNoVHlwZVRpdGxlKHNlYXJjaFR5cGUpIHwgdHJhbnNsYXRlfX1cclxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiAgPC9tYXQtbWVudT5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
@@ -55,4 +55,4 @@ IgoSearchSelectorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [
55
55
  MatTabsModule,
56
56
  MatCheckboxModule,
57
57
  IgoLanguageModule], exports: [SearchSelectorComponent] }); })();
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdEU7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLHVCQUF1Qjs7OEZBQXZCLHVCQUF1Qjt5RUFBdkIsdUJBQXVCOzZFQWR6QjtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsaUJBQWlCO1NBQ2xCO3VGQUlVLHVCQUF1QjtjQWZuQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixjQUFjO29CQUNkLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQixpQkFBaUI7aUJBQ2xCO2dCQUNELE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO2dCQUNsQyxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzthQUN4Qzs7d0ZBQ1ksdUJBQXVCLG1CQUZuQix1QkFBdUIsYUFYcEMsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2QsYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixpQkFBaUIsYUFFVCx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbmltcG9ydCB7IFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtc2VsZWN0b3IuY29tcG9uZW50JztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1NlYXJjaFNlbGVjdG9yQ29tcG9uZW50XSxcbiAgZGVjbGFyYXRpb25zOiBbU2VhcmNoU2VsZWN0b3JDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIElnb1NlYXJjaFNlbGVjdG9yTW9kdWxlIHt9XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFdEU7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLHVCQUF1Qjs7OEZBQXZCLHVCQUF1Qjt5RUFBdkIsdUJBQXVCOzZFQWR6QjtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsaUJBQWlCO1NBQ2xCO3VGQUlVLHVCQUF1QjtjQWZuQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixjQUFjO29CQUNkLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQixpQkFBaUI7aUJBQ2xCO2dCQUNELE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO2dCQUNsQyxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQzthQUN4Qzs7d0ZBQ1ksdUJBQXVCLG1CQUZuQix1QkFBdUIsYUFYcEMsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2QsYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixpQkFBaUIsYUFFVCx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRUYWJzTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1NlYXJjaFNlbGVjdG9yQ29tcG9uZW50XSxcclxuICBkZWNsYXJhdGlvbnM6IFtTZWFyY2hTZWxlY3RvckNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb1NlYXJjaFNlbGVjdG9yTW9kdWxlIHt9XHJcbiJdfQ==