@igo2/geo 1.14.2 → 1.15.1
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.
- package/assets/icons/cross_black_18px.svg +88 -88
- package/assets/icons/place_blue_36px.svg +55 -55
- package/assets/icons/place_green_36px.svg +55 -55
- package/assets/icons/place_red_36px.svg +55 -55
- package/assets/icons/place_yellow_36px.svg +55 -55
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +13 -11
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +10 -10
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +20 -17
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +1 -1
- package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +7 -12
- package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +1 -1
- package/esm2020/lib/catalog/catalog.module.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.abstract.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.enum.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.service.mjs +3 -5
- package/esm2020/lib/datasource/datasource.module.mjs +1 -1
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +2 -2
- package/esm2020/lib/datasource/shared/datasource.service.mjs +27 -31
- package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/data.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options.service.mjs +1 -1
- package/esm2020/lib/datasource/utils/index.mjs +1 -2
- package/esm2020/lib/datasource/utils/tilegrid.mjs +1 -1
- package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -10
- package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
- package/esm2020/lib/directions/directions-results/directions-results.component.mjs +2 -2
- package/esm2020/lib/directions/directions-sources/directions-source.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
- package/esm2020/lib/directions/directions.component.mjs +2 -2
- package/esm2020/lib/directions/directions.module.mjs +1 -1
- package/esm2020/lib/directions/shared/directions-source.service.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.service.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.utils.mjs +2 -2
- package/esm2020/lib/directions/shared/store.mjs +1 -1
- package/esm2020/lib/download/download-button/download-button.component.mjs +2 -2
- package/esm2020/lib/download/download.module.mjs +1 -1
- package/esm2020/lib/download/shared/download.interface.mjs +1 -1
- package/esm2020/lib/download/shared/download.service.mjs +5 -8
- package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +3 -3
- package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
- package/esm2020/lib/draw/draw/draw.component.mjs +11 -10
- package/esm2020/lib/draw/draw/draw.module.mjs +1 -1
- package/esm2020/lib/draw/drawingTool.module.mjs +1 -1
- package/esm2020/lib/draw/shared/draw-icon.service.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.enum.mjs +1 -17
- package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.utils.mjs +1 -1
- package/esm2020/lib/draw/shared/index.mjs +1 -2
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +4 -5
- package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +1 -1
- package/esm2020/lib/feature/feature-details/feature-details.module.mjs +1 -1
- package/esm2020/lib/feature/feature-form/feature-form.component.mjs +2 -2
- package/esm2020/lib/feature/feature-form/feature-form.module.mjs +1 -1
- package/esm2020/lib/feature/feature.module.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.utils.mjs +7 -5
- package/esm2020/lib/feature/shared/store.mjs +10 -1
- package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/index.mjs +2 -1
- package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/loading.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/search.mjs +150 -0
- package/esm2020/lib/feature/shared/strategies/selection.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies.utils.mjs +1 -1
- package/esm2020/lib/filter/filter.module.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
- package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.service.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.service.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.enum.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.service.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +5 -5
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +6 -7
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
- package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
- package/esm2020/lib/geo.module.mjs +5 -1
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +13 -12
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
- package/esm2020/lib/geometry/geometry.module.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/draw.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/modify.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/slice.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.errors.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.utils.mjs +1 -1
- package/esm2020/lib/import-export/export-button/export-button.component.mjs +2 -2
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +53 -45
- package/esm2020/lib/import-export/import-export.module.mjs +5 -9
- package/esm2020/lib/import-export/index.mjs +1 -2
- package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +31 -14
- package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.service.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.type.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.utils.mjs +8 -17
- package/esm2020/lib/import-export/shared/import.errors.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.service.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.utils.mjs +58 -91
- package/esm2020/lib/layer/index.mjs +1 -2
- package/esm2020/lib/layer/layer-item/layer-item.component.mjs +2 -2
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +3 -3
- package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
- package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +2 -2
- package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
- package/esm2020/lib/layer/layer.module.mjs +6 -11
- package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
- package/esm2020/lib/layer/shared/index.mjs +1 -3
- package/esm2020/lib/layer/shared/layer.service.mjs +80 -29
- package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/image-layer.mjs +6 -7
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/layer.mjs +5 -3
- package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/tile-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +155 -6
- package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
- package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
- package/esm2020/lib/layer/utils/image-watcher.mjs +3 -6
- package/esm2020/lib/layer/utils/layer.utils.mjs +2 -2
- package/esm2020/lib/layer/utils/outputLegend.mjs +3 -2
- package/esm2020/lib/layer/utils/tile-watcher.mjs +1 -1
- package/esm2020/lib/layer/utils/vector-watcher.mjs +1 -1
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
- package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
- package/esm2020/lib/map/info-section/info-section.component.mjs +2 -2
- package/esm2020/lib/map/map-browser/map-browser.component.mjs +3 -3
- package/esm2020/lib/map/map-center/map-center.component.mjs +2 -2
- package/esm2020/lib/map/map.module.mjs +1 -1
- package/esm2020/lib/map/menu-button/menu-button.component.mjs +3 -3
- package/esm2020/lib/map/offline-button/offline-button.component.mjs +34 -57
- package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +2 -2
- package/esm2020/lib/map/shared/controllers/controller.mjs +1 -1
- package/esm2020/lib/map/shared/controllers/geolocation.mjs +151 -36
- package/esm2020/lib/map/shared/controllers/view.mjs +1 -1
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +24 -73
- package/esm2020/lib/map/shared/linkedLayers.utils.mjs +3 -3
- package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +1 -1
- package/esm2020/lib/map/shared/map.interface.mjs +1 -1
- package/esm2020/lib/map/shared/map.mjs +7 -5
- package/esm2020/lib/map/shared/map.service.mjs +1 -1
- package/esm2020/lib/map/shared/map.utils.mjs +1 -1
- package/esm2020/lib/map/shared/mapOffline.directive.mjs +50 -115
- package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
- package/esm2020/lib/map/shared/projection.service.mjs +1 -1
- package/esm2020/lib/map/shared/projection.utils.mjs +1 -1
- package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +3 -3
- package/esm2020/lib/map/utils/layer-watcher.mjs +1 -1
- package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +24 -35
- package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +2 -2
- package/esm2020/lib/measure/measure.module.mjs +1 -1
- package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +1 -1
- package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
- package/esm2020/lib/measure/measurer/measurer-item.component.mjs +2 -2
- package/esm2020/lib/measure/measurer/measurer.component.mjs +2 -2
- package/esm2020/lib/measure/measurer/measurer.module.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.enum.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.utils.mjs +1 -1
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
- package/esm2020/lib/metadata/metadata.module.mjs +1 -1
- package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
- package/esm2020/lib/metadata/shared/metadata.service.mjs +1 -1
- package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +4 -4
- package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.service.mjs +2 -2
- package/esm2020/lib/offline/index.mjs +2 -1
- package/esm2020/lib/offline/layerDB/index.mjs +3 -0
- package/esm2020/lib/offline/layerDB/layerDB.interface.mjs +2 -0
- package/esm2020/lib/offline/layerDB/layerDB.service.mjs +76 -0
- package/esm2020/lib/offline/shared/geo-network.service.mjs +1 -1
- package/esm2020/lib/overlay/overlay.module.mjs +1 -1
- package/esm2020/lib/overlay/shared/index.mjs +1 -2
- package/esm2020/lib/overlay/shared/overlay.directive.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.enum.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.service.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.utils.mjs +2 -88
- package/esm2020/lib/print/print/print.component.mjs +6 -20
- package/esm2020/lib/print/print-form/print-form.component.mjs +197 -111
- package/esm2020/lib/print/print.module.mjs +1 -1
- package/esm2020/lib/print/shared/geopdf.mjs +1 -1
- package/esm2020/lib/print/shared/index.mjs +1 -1
- package/esm2020/lib/print/shared/print.interface.mjs +1 -1
- package/esm2020/lib/print/shared/print.service.mjs +85 -35
- package/esm2020/lib/print/shared/print.type.mjs +1 -1
- package/esm2020/lib/query/query.module.mjs +1 -1
- package/esm2020/lib/query/shared/query-search-source.mjs +1 -1
- package/esm2020/lib/query/shared/query-search-source.providers.mjs +1 -1
- package/esm2020/lib/query/shared/query.directive.mjs +1 -1
- package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
- package/esm2020/lib/query/shared/query.service.mjs +3 -5
- package/esm2020/lib/query/shared/query.utils.mjs +1 -1
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +3 -3
- package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
- package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +1 -1
- package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +88 -31
- package/esm2020/lib/search/search-results/search-results-item.component.mjs +36 -13
- package/esm2020/lib/search/search-results/search-results.component.mjs +172 -58
- package/esm2020/lib/search/search-results/search-results.module.mjs +5 -1
- package/esm2020/lib/search/search-selector/search-selector.component.mjs +2 -2
- package/esm2020/lib/search/search-selector/search-selector.module.mjs +1 -1
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +54 -56
- package/esm2020/lib/search/search-settings/search-settings.module.mjs +1 -1
- package/esm2020/lib/search/search.module.mjs +1 -1
- package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +3 -30
- package/esm2020/lib/search/shared/search-source-service.providers.mjs +1 -1
- package/esm2020/lib/search/shared/search-source.service.mjs +9 -1
- package/esm2020/lib/search/shared/search.enums.mjs +1 -1
- package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/search.service.mjs +1 -1
- package/esm2020/lib/search/shared/search.utils.mjs +3 -3
- package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/coordinates.mjs +1 -1
- package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +4 -4
- package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/icherche.mjs +1 -1
- package/esm2020/lib/search/shared/sources/icherche.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/index.mjs +4 -1
- package/esm2020/lib/search/shared/sources/nominatim.mjs +2 -2
- package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/source.mjs +31 -1
- package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/workspace.mjs +186 -0
- package/esm2020/lib/search/shared/sources/workspace.providers.mjs +26 -0
- package/esm2020/lib/style/index.mjs +5 -0
- package/esm2020/lib/style/shared/datasource/esri-style-generator.mjs +357 -0
- package/esm2020/lib/style/shared/datasource/index.mjs +2 -0
- package/esm2020/lib/style/shared/feature/feature-style.mjs +141 -0
- package/esm2020/lib/style/shared/feature/index.mjs +2 -0
- package/esm2020/lib/style/shared/font.enum.mjs +17 -0
- package/esm2020/lib/style/shared/index.mjs +5 -0
- package/esm2020/lib/style/shared/overlay/index.mjs +3 -0
- package/esm2020/lib/style/shared/overlay/overlay-marker-style.utils.mjs +43 -0
- package/esm2020/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
- package/esm2020/lib/style/shared/vector/commonVectorStyle.mjs +75 -0
- package/esm2020/lib/style/shared/vector/conversion.utils.mjs +27 -0
- package/esm2020/lib/style/shared/vector/index.mjs +4 -0
- package/esm2020/lib/style/shared/vector/vector-style.interface.mjs +2 -0
- package/esm2020/lib/style/style-list/index.mjs +5 -0
- package/esm2020/lib/style/style-list/style-list.interface.mjs +2 -0
- package/esm2020/lib/style/style-list/style-list.module.mjs +23 -0
- package/esm2020/lib/style/style-list/style-list.provider.mjs +21 -0
- package/esm2020/lib/style/style-list/style-list.service.mjs +51 -0
- package/esm2020/lib/style/style-modal/drawing/index.mjs +2 -0
- package/esm2020/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +288 -0
- package/esm2020/lib/style/style-modal/index.mjs +5 -0
- package/esm2020/lib/style/style-modal/layer/index.mjs +2 -0
- package/esm2020/lib/style/style-modal/layer/style-modal-layer.component.mjs +187 -0
- package/esm2020/lib/style/style-modal/layer-button/index.mjs +2 -0
- package/esm2020/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +44 -0
- package/esm2020/lib/style/style-modal/shared/index.mjs +2 -0
- package/esm2020/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
- package/esm2020/lib/style/style-service/draw-style.service.mjs +187 -0
- package/esm2020/lib/style/style-service/index.mjs +3 -0
- package/esm2020/lib/style/style-service/style.service.mjs +356 -0
- package/esm2020/lib/style/style.module.mjs +74 -0
- package/esm2020/lib/toast/toast.component.mjs +3 -3
- package/esm2020/lib/toast/toast.module.mjs +1 -1
- package/esm2020/lib/utils/id-generator.mjs +1 -1
- package/esm2020/lib/utils/index.mjs +1 -3
- package/esm2020/lib/wkt/shared/wkt.service.mjs +15 -15
- package/esm2020/lib/wkt/wkt.module.mjs +1 -1
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
- package/esm2020/lib/workspace/confirmation-popup/index.mjs +1 -1
- package/esm2020/lib/workspace/shared/edition-workspace.mjs +1 -1
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +19 -34
- package/esm2020/lib/workspace/shared/feature-workspace.mjs +1 -1
- package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +10 -3
- package/esm2020/lib/workspace/shared/wfs-workspace.mjs +1 -1
- package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +2 -2
- package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +3 -3
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
- package/esm2020/lib/workspace/widgets/widgets.mjs +1 -1
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
- package/esm2020/lib/workspace/workspace.module.mjs +1 -1
- package/esm2020/public_api.mjs +3 -1
- package/fesm2015/igo2-geo.mjs +6707 -5364
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +7617 -6346
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +5 -14
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -5
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -9
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +2 -3
- package/lib/catalog/shared/catalog.interface.d.ts +10 -0
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +13 -0
- package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +5 -0
- package/lib/datasource/utils/index.d.ts +0 -1
- package/lib/download/shared/download.service.d.ts +2 -3
- package/lib/draw/draw/draw.component.d.ts +3 -2
- package/lib/draw/shared/draw.enum.d.ts +0 -15
- package/lib/draw/shared/index.d.ts +0 -1
- package/lib/feature/shared/feature.interfaces.d.ts +5 -0
- package/lib/feature/shared/feature.utils.d.ts +4 -2
- package/lib/feature/shared/store.d.ts +7 -0
- package/lib/feature/shared/strategies/index.d.ts +1 -0
- package/lib/feature/shared/strategies/search.d.ts +55 -0
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +2 -3
- package/lib/geo.module.d.ts +3 -2
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +5 -9
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +3 -3
- package/lib/import-export/import-export/import-export.component.d.ts +9 -4
- package/lib/import-export/import-export.module.d.ts +1 -2
- package/lib/import-export/index.d.ts +0 -1
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +10 -7
- package/lib/import-export/shared/export.utils.d.ts +4 -4
- package/lib/import-export/shared/import.interface.d.ts +2 -0
- package/lib/import-export/shared/import.utils.d.ts +14 -12
- package/lib/layer/index.d.ts +0 -1
- package/lib/layer/layer.module.d.ts +19 -20
- package/lib/layer/shared/index.d.ts +0 -2
- package/lib/layer/shared/layer.service.d.ts +8 -5
- package/lib/layer/shared/layers/image-layer.d.ts +2 -3
- package/lib/layer/shared/layers/layer.d.ts +5 -1
- package/lib/layer/shared/layers/layer.interface.d.ts +2 -0
- package/lib/layer/shared/layers/vector-layer.d.ts +18 -2
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +8 -7
- package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +2 -4
- package/lib/layer/utils/image-watcher.d.ts +2 -3
- package/lib/map/offline-button/offline-button.component.d.ts +10 -18
- package/lib/map/shared/controllers/geolocation.d.ts +17 -2
- package/lib/map/shared/hover-feature.directive.d.ts +2 -10
- package/lib/map/shared/map.d.ts +2 -2
- package/lib/map/shared/mapOffline.directive.d.ts +4 -7
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +3 -6
- package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
- package/lib/offline/index.d.ts +1 -0
- package/lib/offline/layerDB/index.d.ts +2 -0
- package/lib/offline/layerDB/layerDB.interface.d.ts +7 -0
- package/lib/offline/layerDB/layerDB.service.d.ts +36 -0
- package/lib/overlay/shared/index.d.ts +0 -1
- package/lib/overlay/shared/overlay.utils.d.ts +0 -11
- package/lib/print/print-form/print-form.component.d.ts +2 -0
- package/lib/print/shared/print.service.d.ts +6 -0
- package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
- package/lib/search/search-results/search-results-add-button.component.d.ts +10 -2
- package/lib/search/search-results/search-results-item.component.d.ts +5 -0
- package/lib/search/search-results/search-results.component.d.ts +5 -1
- package/lib/search/search-results/search-results.module.d.ts +11 -10
- package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -9
- package/lib/search/shared/search-source.service.d.ts +7 -0
- package/lib/search/shared/search.interfaces.d.ts +1 -1
- package/lib/search/shared/sources/coordinates.providers.d.ts +3 -3
- package/lib/search/shared/sources/index.d.ts +3 -0
- package/lib/search/shared/sources/source.d.ts +6 -0
- package/lib/search/shared/sources/workspace.d.ts +33 -0
- package/lib/search/shared/sources/workspace.interfaces.d.ts +9 -0
- package/lib/search/shared/sources/workspace.providers.d.ts +17 -0
- package/lib/style/index.d.ts +4 -0
- package/lib/style/shared/datasource/index.d.ts +1 -0
- package/lib/style/shared/feature/feature-style.d.ts +18 -0
- package/lib/style/shared/feature/index.d.ts +1 -0
- package/lib/style/shared/font.enum.d.ts +15 -0
- package/lib/style/shared/index.d.ts +4 -0
- package/lib/style/shared/overlay/index.d.ts +2 -0
- package/lib/style/shared/overlay/overlay-style.utils.d.ts +19 -0
- package/lib/{utils → style/shared/vector}/commonVectorStyle.d.ts +4 -4
- package/lib/style/shared/vector/conversion.utils.d.ts +22 -0
- package/lib/style/shared/vector/index.d.ts +3 -0
- package/lib/style/shared/vector/vector-style.interface.d.ts +69 -0
- package/lib/style/style-modal/drawing/index.d.ts +1 -0
- package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +31 -0
- package/lib/style/style-modal/index.d.ts +4 -0
- package/lib/style/style-modal/layer/index.d.ts +1 -0
- package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +30 -0
- package/lib/style/style-modal/layer-button/index.d.ts +1 -0
- package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +14 -0
- package/lib/style/style-modal/shared/index.d.ts +1 -0
- package/lib/style/style-modal/shared/style-modal.interface.d.ts +17 -0
- package/lib/{draw/shared → style/style-service}/draw-style.service.d.ts +3 -4
- package/lib/style/style-service/index.d.ts +2 -0
- package/lib/{layer/shared → style/style-service}/style.service.d.ts +5 -5
- package/lib/style/style.module.d.ts +22 -0
- package/lib/utils/index.d.ts +0 -2
- package/lib/workspace/shared/edition-workspace.service.d.ts +3 -4
- package/lib/workspace/shared/wms-workspace.service.d.ts +1 -1
- package/ngcc.config.js +3 -3
- package/package.json +17 -11
- package/public_api.d.ts +2 -0
- package/style/geo.theming.scss +12 -12
- package/esm2020/lib/datasource/utils/esri-style-generator.mjs +0 -357
- package/esm2020/lib/draw/shared/draw-style.service.mjs +0 -190
- package/esm2020/lib/import-export/style-list/index.mjs +0 -5
- package/esm2020/lib/import-export/style-list/style-list.interface.mjs +0 -2
- package/esm2020/lib/import-export/style-list/style-list.module.mjs +0 -23
- package/esm2020/lib/import-export/style-list/style-list.provider.mjs +0 -21
- package/esm2020/lib/import-export/style-list/style-list.service.mjs +0 -51
- package/esm2020/lib/layer/shared/style.service.mjs +0 -356
- package/esm2020/lib/layer/shared/vector-style.interface.mjs +0 -2
- package/esm2020/lib/layer/style-modal/index.mjs +0 -2
- package/esm2020/lib/layer/style-modal/style-modal.component.mjs +0 -288
- package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +0 -69
- package/esm2020/lib/utils/commonVectorStyle.interface.mjs +0 -2
- package/esm2020/lib/utils/commonVectorStyle.mjs +0 -75
- package/lib/layer/shared/vector-style.interface.d.ts +0 -38
- package/lib/layer/style-modal/index.d.ts +0 -1
- package/lib/layer/style-modal/style-modal.component.d.ts +0 -42
- package/lib/utils/commonVectorStyle.interface.d.ts +0 -16
- /package/lib/{datasource/utils → style/shared/datasource}/esri-style-generator.d.ts +0 -0
- /package/lib/{overlay/shared → style/shared/overlay}/overlay-marker-style.utils.d.ts +0 -0
- /package/lib/{import-export → style}/style-list/index.d.ts +0 -0
- /package/lib/{import-export → style}/style-list/style-list.interface.d.ts +0 -0
- /package/lib/{import-export → style}/style-list/style-list.module.d.ts +0 -0
- /package/lib/{import-export → style}/style-list/style-list.provider.d.ts +0 -0
- /package/lib/{import-export → style}/style-list/style-list.service.d.ts +0 -0
|
@@ -486,4 +486,4 @@ export function createOlTooltipAtPoint(olPoint, center = false, srcGeomType = ''
|
|
|
486
486
|
olPoint.set('_tooltip', olTooltip);
|
|
487
487
|
return olTooltip;
|
|
488
488
|
}
|
|
489
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21lYXN1cmUvc2hhcmVkL21lYXN1cmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxJQUFJLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsU0FBUyxJQUFJLFdBQVcsRUFDeEIsT0FBTyxJQUFJLFNBQVMsRUFDckIsTUFBTSxXQUFXLENBQUM7QUFHbkIsT0FBTyxFQUNMLGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM5QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBYTtJQUM5QyxPQUFPLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDdkIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWE7SUFDeEMsT0FBTyxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBQ3hCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFhO0lBQ3pDLE9BQU8sS0FBSyxHQUFHLFFBQVEsQ0FBQztBQUMxQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxLQUFhO0lBQzFELE9BQU8sS0FBSyxHQUFHLFFBQVEsQ0FBQztB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dmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0ICogYXMgb2xzdHlsZSBmcm9tICdvbC9zdHlsZSc7XG5pbXBvcnQgT2xQb2ludCBmcm9tICdvbC9nZW9tL1BvaW50JztcbmltcG9ydCBPbExpbmVTdHJpbmcgZnJvbSAnb2wvZ2VvbS9MaW5lU3RyaW5nJztcbmltcG9ydCBPbFBvbHlnb24gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcbmltcG9ydCBPbENpcmNsZSBmcm9tICdvbC9nZW9tL0NpcmNsZSc7XG5pbXBvcnQgT2xPdmVybGF5IGZyb20gJ29sL092ZXJsYXknO1xuaW1wb3J0IHsgZ2V0Q2VudGVyIGFzIG9sR2V0Q2VudGVyIH0gZnJvbSAnb2wvZXh0ZW50JztcbmltcG9ydCB7XG4gIGdldExlbmd0aCBhcyBvbEdldExlbmd0aCxcbiAgZ2V0QXJlYSBhcyBvbEdldEFyZWFcbn0gZnJvbSAnb2wvc3BoZXJlJztcblxuaW1wb3J0IHsgTWVhc3VyZSB9IGZyb20gJy4vbWVhc3VyZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIE1lYXN1cmVBcmVhVW5pdCxcbiAgTWVhc3VyZUFyZWFVbml0QWJicmV2aWF0aW9uLFxuICBNZWFzdXJlTGVuZ3RoVW5pdCxcbiAgTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25cbn0gZnJvbSAnLi9tZWFzdXJlLmVudW0nO1xuXG4vKipcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBtZXRlcnMgdG8ga2lsb21ldGVyc1xuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIG1ldGVyc1xuICogQHJldHVybnMgVmFsdWUgaW4ga2lsb21ldGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWV0ZXJzVG9LaWxvbWV0ZXJzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gdmFsdWUgKiAwLjAwMTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gbWV0ZXJzIHRvIGZlZXRcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcbiAqIEByZXR1cm5zIFZhbHVlIGluIGZlZXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ldGVyc1RvRmVldCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHZhbHVlICogMy4yODA4O1xufVxuXG4vKipcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBtZXRlcnMgdG8gbWlsZXNcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcbiAqIEByZXR1cm5zIFZhbHVlIGluIG1pbGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXRlcnNUb01pbGVzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gdmFsdWUgKiAwLjAwMDYyMTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gc3F1YXJlIG1ldGVycyB0byBzcXVhcmUga2lsb21ldGVyc1xuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIHNxdWFyZSBtZXRlcnNcbiAqIEByZXR1cm5zIFZhbHVlIGluIHNxdWFyZSBraWxvbWV0ZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcXVhcmVNZXRlcnNUb1NxdWFyZUtpbG9tZXRlcnModmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiB2YWx1ZSAqIDAuMDAwMDAxO1xufVxuXG4vKipcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBzcXVhcmUgbWV0ZXJzIHRvIHNxdWFyZSBtaWxlc1xuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIHNxdWFyZSBtZXRlcnNcbiAqIEByZXR1cm5zIFZhbHVlIGluIHNxdWFyZSBtaWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3F1YXJlTWV0ZXJzVG9TcXVhcmVNaWxlcyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHZhbHVlICogMC4wMDAwMDAzODYxO1xufVxuXG4vKipcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBzcXVhcmUgbWV0ZXJzIHRvIHNxdWFyZSBmZWV0XG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gc3F1YXJlIG1ldGVyc1xuICogQHJldHVybnMgVmFsdWUgaW4gc3F1YXJlIGZlZXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNxdWFyZU1ldGVyc1RvU3F1YXJlRmVldCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHZhbHVlICogMTAuNzY0O1xufVxuXG4vKipcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBzcXVhcmUgbWV0ZXJzIHRvIGhlY3RhcmVzXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gc3F1YXJlIG1ldGVyc1xuICogQHJldHVybnMgVmFsdWUgaW4gaGVjdGFyZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNxdWFyZU1ldGVyc1RvSGVjdGFyZXModmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiB2YWx1ZSAqIDAuMDAwMTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHZhbHVlIGZyb20gc3F1YXJlIG1ldGVycyB0byBhY3Jlc1xuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIHNxdWFyZSBtZXRlcnNcbiAqIEByZXR1cm5zIFZhbHVlIGluIGFjcmVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcXVhcmVNZXRlcnNUb0FjcmVzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gdmFsdWUgKiAwLjAwMDI0NzExO1xufVxuXG4vKipcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBtZXRlcnMgdG8gdGhlIHNwZWNpZmllZCBsZW5ndGggdW5pdFxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIG1ldGVyc1xuICogQHBhcmFtIHVuaXQgTGVuZ3RoIHVuaXRcbiAqIEByZXR1cm5zIFZhbHVlIGluIHVuaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ldGVyc1RvVW5pdCh2YWx1ZTogbnVtYmVyLCB1bml0OiBNZWFzdXJlTGVuZ3RoVW5pdCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGNvbnZlcnNpb25NYXBwZXIgPSBuZXcgTWFwKFtcbiAgICBbTWVhc3VyZUxlbmd0aFVuaXQuTWV0ZXJzLCAodmFsOiBudW1iZXIpID0+IHZhbF0sXG4gICAgW01lYXN1cmVMZW5ndGhVbml0LktpbG9tZXRlcnMsIG1ldGVyc1RvS2lsb21ldGVyc10sXG4gICAgW01lYXN1cmVMZW5ndGhVbml0Lk1pbGVzLCBtZXRlcnNUb01pbGVzXSxcbiAgICBbTWVhc3VyZUxlbmd0aFVuaXQuRmVldCwgbWV0ZXJzVG9GZWV0XSxcbiAgXSk7XG4gIGNvbnN0IGNvbnZlcnNpb24gPSBjb252ZXJzaW9uTWFwcGVyLmdldCh1bml0KTtcblxuICByZXR1cm4gY29udmVyc2lvbiA/IGNvbnZlcnNpb24odmFsdWUpIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBzcXVhcmUgbWV0ZXJzIHRvIHRoZSBzcGVjaWZpZWQgYXJlYSB1bml0XG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gbWV0ZXJzXG4gKiBAcGFyYW0gdW5pdCBBcmVhIHVuaXRcbiAqIEByZXR1cm5zIFZhbHVlIGluIHVuaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNxdWFyZU1ldGVyc1RvVW5pdCh2YWx1ZTogbnVtYmVyLCB1bml0OiBNZWFzdXJlQXJlYVVuaXQpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBjb25zdCBjb252ZXJzaW9uTWFwcGVyID0gbmV3IE1hcChbXG4gICAgW01lYXN1cmVBcmVhVW5pdC5TcXVhcmVNZXRlcnMsICh2YWw6IG51bWJlcikgPT4gdmFsXSxcbiAgICBbTWVhc3VyZUFyZWFVbml0LlNxdWFyZUtpbG9tZXRlcnMsIHNxdWFyZU1ldGVyc1RvU3F1YXJlS2lsb21ldGVyc10sXG4gICAgW01lYXN1cmVBcmVhVW5pdC5TcXVhcmVNaWxlcywgc3F1YXJlTWV0ZXJzVG9TcXVhcmVNaWxlc10sXG4gICAgW01lYXN1cmVBcmVhVW5pdC5TcXVhcmVGZWV0LCBzcXVhcmVNZXRlcnNUb1NxdWFyZUZlZXRdLFxuICAgIFtNZWFzdXJlQXJlYVVuaXQuSGVjdGFyZXMsIHNxdWFyZU1ldGVyc1RvSGVjdGFyZXNdLFxuICAgIFtNZWFzdXJlQXJlYVVuaXQuQWNyZXMsIHNxdWFyZU1ldGVyc1RvQWNyZXNdLFxuICBdKTtcbiAgY29uc3QgY29udmVyc2lvbiA9IGNvbnZlcnNpb25NYXBwZXIuZ2V0KHVuaXQpO1xuXG4gIHJldHVybiBjb252ZXJzaW9uID8gY29udmVyc2lvbih2YWx1ZSkgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogVGhpcyBtZXRob2QgZm9ybWF0IGEgbWVhc3VyZSB0byBhIHJlYWRhYmxlIGZvcm1hdFxuICogQHBhcmFtIG1lYXN1cmUgTWVhc3VyZVxuICogQHBhcmFtIG9wdGlvbnMgRm9ybWF0dGluZyBvcHRpb25zXG4gKiBAcmV0dXJucyBGb3JtYXR0ZWQgbWVhc3VyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TWVhc3VyZShcbiAgbWVhc3VyZTogbnVtYmVyLFxuICBvcHRpb25zPzoge1xuICAgIGRlY2ltYWw/OiBudW1iZXI7XG4gICAgdW5pdD86IE1lYXN1cmVBcmVhVW5pdCB8IE1lYXN1cmVMZW5ndGhVbml0O1xuICAgIHVuaXRBYmJyPzogYm9vbGVhbjtcbiAgICBsb2NhbGU/OiBzdHJpbmc7XG4gIH0sXG4gIGxhbmd1YWdlU2VydmljZT86IExhbmd1YWdlU2VydmljZSkge1xuICBsZXQgZGVjaW1hbCA9IG9wdGlvbnMuZGVjaW1hbDtcbiAgaWYgKGRlY2ltYWwgPT09IHVuZGVmaW5lZCB8fCBkZWNpbWFsIDwgMCkge1xuICAgIGRlY2ltYWwgPSAxO1xuICB9XG5cbiAgY29uc3QgcGFydHMgPSBbXTtcbiAgaWYgKG9wdGlvbnMubG9jYWxlICE9PSB1bmRlZmluZWQpIHtcbiAgICBwYXJ0cy5wdXNoKG1lYXN1cmUudG9Mb2NhbGVTdHJpbmcob3B0aW9ucy5sb2NhbGUsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogZGVjaW1hbCxcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogZGVjaW1hbFxuICAgIH0pKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJ0cy5wdXNoKG1lYXN1cmUudG9GaXhlZChkZWNpbWFsKS50b1N0cmluZygpKTtcbiAgfVxuXG4gIGlmIChvcHRpb25zLnVuaXQgIT09IHVuZGVmaW5lZCAmJiBvcHRpb25zLnVuaXRBYmJyID09PSB0cnVlKSB7XG4gICAgaWYgKGxhbmd1YWdlU2VydmljZSkge1xuICAgICAgcGFydHMucHVzaChcbiAgICAgICAgTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25bb3B0aW9ucy51bml0XSA/XG4gICAgICAgICAgbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLm1lYXN1cmUuJyArIE1lYXN1cmVMZW5ndGhVbml0QWJicmV2aWF0aW9uW29wdGlvbnMudW5pdF0pIDpcbiAgICAgICAgICBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8ubWVhc3VyZS4nICsgTWVhc3VyZUFyZWFVbml0QWJicmV2aWF0aW9uW29wdGlvbnMudW5pdF0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICBNZWFzdXJlTGVuZ3RoVW5pdEFiYnJldmlhdGlvbltvcHRpb25zLnVuaXRdIHx8IE1lYXN1cmVBcmVhVW5pdEFiYnJldmlhdGlvbltvcHRpb25zLnVuaXRdXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJ0cy5maWx0ZXIocCA9PiBwICE9PSB1bmRlZmluZWQpLmpvaW4oJyAnKTtcbn1cblxuLyoqXG4gKiBDb21wdXRlIGJlc3QgbGVuZ3RoIG1lYXN1cmUgdW5pdCBmb3IgYSBnaXZlbiBtZWFzdXJlIGluIG1ldGVyc1xuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIG1ldGVyc1xuICogQHJldHVybnMgTWVhc3VyZSB1bml0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlQmVzdExlbmd0aFVuaXQodmFsdWU6IG51bWJlcik6IE1lYXN1cmVMZW5ndGhVbml0IHtcbiAgbGV0IHVuaXQgPSBNZWFzdXJlTGVuZ3RoVW5pdC5NZXRlcnM7XG4gIGxldCBjb252ZXJ0ZWQgPSB2YWx1ZTtcbiAgY29uc3QgcG9zc2libGVVbml0cyA9IFtNZWFzdXJlTGVuZ3RoVW5pdC5LaWxvbWV0ZXJzXTtcbiAgd2hpbGUgKGNvbnZlcnRlZCA+IDEwMDAgJiYgcG9zc2libGVVbml0cy5sZW5ndGggPiAwKSB7XG4gICAgdW5pdCA9IHBvc3NpYmxlVW5pdHMucG9wKCk7XG4gICAgY29udmVydGVkID0gbWV0ZXJzVG9Vbml0KHZhbHVlLCB1bml0KTtcbiAgfVxuICByZXR1cm4gdW5pdDtcbn1cblxuLyoqXG4gKiBDb21wdXRlIGJlc3QgbGVuZ3RoIG1lYXN1cmUgdW5pdCBmb3IgYSBnaXZlbiBtZWFzdXJlIGluIHNxdWFyZSBtZXRlcnNcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcbiAqIEByZXR1cm5zIE1lYXN1cmUgdW5pdFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZUJlc3RBcmVhVW5pdCh2YWx1ZTogbnVtYmVyKTogTWVhc3VyZUFyZWFVbml0IHtcbiAgbGV0IHVuaXQgPSBNZWFzdXJlQXJlYVVuaXQuU3F1YXJlTWV0ZXJzO1xuICBsZXQgY29udmVydGVkID0gdmFsdWU7XG4gIGNvbnN0IHBvc3NpYmxlVW5pdHMgPSBbTWVhc3VyZUFyZWFVbml0LlNxdWFyZUtpbG9tZXRlcnNdO1xuICB3aGlsZSAoY29udmVydGVkID4gMTAwMDAwMCAmJiBwb3NzaWJsZVVuaXRzLmxlbmd0aCA+IDApIHtcbiAgICB1bml0ID0gcG9zc2libGVVbml0cy5wb3AoKTtcbiAgICBjb252ZXJ0ZWQgPSBzcXVhcmVNZXRlcnNUb1VuaXQodmFsdWUsIHVuaXQpO1xuICB9XG4gIHJldHVybiB1bml0O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgc3R5bGUgZm9yIGEgbWVhc3VyZSBpbnRlcmFjdGlvblxuICogQHJldHVybnMgT0wgc3R5bGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1lYXN1cmVJbnRlcmFjdGlvblN0eWxlKCk6IG9sc3R5bGUuU3R5bGUge1xuICByZXR1cm4gbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcbiAgICAgIGNvbG9yOiAnI2ZmY2MzMycsXG4gICAgICBsaW5lRGFzaDogWzEwLCAxMF0sXG4gICAgICB3aWR0aDogMlxuICAgIH0pLFxuICAgIGZpbGw6ICBuZXcgb2xzdHlsZS5GaWxsKHtcbiAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpJ1xuICAgIH0pLFxuICAgIGltYWdlOiBuZXcgb2xzdHlsZS5DaXJjbGUoe1xuICAgICAgcmFkaXVzOiA1LFxuICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2Uoe1xuICAgICAgICBjb2xvcjogJyNmZmNjMzMnLFxuICAgICAgfSksXG4gICAgICBmaWxsOiBuZXcgb2xzdHlsZS5GaWxsKHtcbiAgICAgICAgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiknXG4gICAgICB9KVxuICAgIH0pXG4gIH0pO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgc3R5bGUgZm9yIGEgbWVhc3VyZSBsYXllclxuICogQHJldHVybnMgT0wgc3R5bGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1lYXN1cmVMYXllclN0eWxlKCk6IG9sc3R5bGUuU3R5bGUge1xuICByZXR1cm4gbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcbiAgICAgIGNvbG9yOiAnI2ZmY2MzMycsXG4gICAgICB3aWR0aDogMlxuICAgIH0pLFxuICAgIGZpbGw6ICBuZXcgb2xzdHlsZS5GaWxsKHtcbiAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpJ1xuICAgIH0pXG4gIH0pO1xufVxuXG4vKipcbiAqIENvbXB1dGUgdGhlIGxlbmd0aCBpbiBtZXRlcnMgb2YgYW4gT0wgZ2VvbWV0cnkgd2l0aCBhIGdpdmVuIHByb2plY3Rpb25cbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9sIGdlb21ldHJ5XG4gKiBAcGFyYW0gcHJvamVjdGlvbiBvbEdlb21ldHJ5J3MgcHJvamVjdGlvblxuICogQHJldHVybnMgTGVuZ3RoIGluIG1ldGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZU9sR2VvbWV0cnlMZW5ndGgob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlLCBwcm9qZWN0aW9uOiBzdHJpbmcpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBpZiAob2xHZW9tZXRyeSBpbnN0YW5jZW9mIE9sUG9pbnQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmIChvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIG9sR2V0TGVuZ3RoKG9sR2VvbWV0cnksIHtwcm9qZWN0aW9ufSk7XG59XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgYXJlYSBpbiBzcXVhcmUgbWV0ZXJzIG9mIGFuIE9MIGdlb21ldHJ5IHdpdGggYSBnaXZlbiBwcm9qZWN0aW9uXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBnZW9tZXRyeVxuICogQHBhcmFtIHByb2plY3Rpb24gb2xHZW9tZXRyeSdzIHByb2plY3Rpb25cbiAqIEByZXR1cm5zIEFyZWEgaW4gc3F1YXJlIG1ldGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZU9sR2VvbWV0cnlBcmVhKG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZSwgcHJvamVjdGlvbjogc3RyaW5nKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvaW50IHx8IG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbExpbmVTdHJpbmcpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmIChvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIG9sR2V0QXJlYShvbEdlb21ldHJ5LCB7cHJvamVjdGlvbn0pO1xufVxuXG4vKipcbiAqIENvbXB1dGUgdGhlIGFyZWEgKHNxdWFyZSBtZXRlcnMpLCBsZW5ndGggKG1ldGVycykgYW5kIGxhc3QgbGVuZ3RoIChtZXRlcnMpXG4gKiBvZiBhbiBPTCBnZW9tZXRyeSB3aXRoIGEgZ2l2ZW4gcHJvamVjdGlvbi5cbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9sIGdlb21ldHJ5XG4gKiBAcGFyYW0gcHJvamVjdGlvbiBvbEdlb21ldHJ5J3MgcHJvamVjdGlvblxuICogQHJldHVybnMgQ29tcHV0ZWQgbWVhc3VyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZU9sR2VvbWV0cnkob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlLCBwcm9qZWN0aW9uOiBzdHJpbmcpOiBNZWFzdXJlIHtcbiAgY29uc3QgbGVuZ3RoID0gbWVhc3VyZU9sR2VvbWV0cnlMZW5ndGgob2xHZW9tZXRyeSwgcHJvamVjdGlvbik7XG4gIGNvbnN0IGFyZWEgPSBtZWFzdXJlT2xHZW9tZXRyeUFyZWEob2xHZW9tZXRyeSwgcHJvamVjdGlvbik7XG5cbiAgY29uc3QgbGVuZ3RocyA9IFtdO1xuICBjb25zdCBjb29yZGluYXRlcyA9IG9sR2VvbWV0cnkuZ2V0RmxhdENvb3JkaW5hdGVzKCk7XG4gIGNvbnN0IGNvb3JkaW5hdGVzTGVuZ3RoID0gY29vcmRpbmF0ZXMubGVuZ3RoO1xuICBmb3IgKGxldCBpID0gMDsgaSA8PSBjb29yZGluYXRlc0xlbmd0aCAtIDQ7IGkgKz0gMikge1xuICAgIGNvbnN0IG9sU2VnbWVudCA9IG5ldyBPbExpbmVTdHJpbmcoW1xuICAgICAgW2Nvb3JkaW5hdGVzW2ldLCBjb29yZGluYXRlc1tpICsgMV1dLFxuICAgICAgW2Nvb3JkaW5hdGVzW2kgKyAyXSwgY29vcmRpbmF0ZXNbaSArIDNdXVxuICAgIF0pO1xuXG4gICAgbGVuZ3Rocy5wdXNoKG1lYXN1cmVPbEdlb21ldHJ5TGVuZ3RoKG9sU2VnbWVudCwgcHJvamVjdGlvbikpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhcmVhLFxuICAgIGxlbmd0aCxcbiAgICBsZW5ndGhzXG4gIH07XG59XG5cbi8qKlxuICogVXBkYXRlIGFuIE9MIGdlb21ldHJ5IG1pZHBvaW50cyBhbmQgcmV0dXJuIGFuIGFycmF5IG9mIHRob3NlIHBvaW50c1xuICogQHBhcmFtIG9sR2VvbWV0cnkgT0wgR2VvbWV0cnlcbiAqIEByZXR1cm5zIE9MIHBvaW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlT2xHZW9tZXRyeU1pZHBvaW50cyhvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGUpOiBPbFBvaW50W10ge1xuICBsZXQgb2xNaWRwb2ludHM7XG4gIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xQb2ludCkge1xuICAgIGNvbnN0IG9sTWlkcG9pbnRQb2ludCA9IG5ldyBPbFBvaW50KG9sR2VvbWV0cnkuZ2V0RmxhdENvb3JkaW5hdGVzKCkpO1xuICAgIG9sTWlkcG9pbnRzID0gbmV3IEFycmF5KDEpO1xuICAgIG9sTWlkcG9pbnRzWzBdID0gb2xNaWRwb2ludFBvaW50O1xuICB9IGVsc2Uge1xuICAgIG9sTWlkcG9pbnRzID0gZ2V0T2xHZW9tZXRyeU1pZHBvaW50cyhvbEdlb21ldHJ5KTtcbiAgICAvLyBUT0RPOiBoYW5kbGUgbXVsdGkgZ2VvbWV0cmllc1xuICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gb2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKTtcbiAgICBjb25zdCBtaWRwb2ludHNMZW5ndGggPSBvbE1pZHBvaW50cy5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaWRwb2ludHNMZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaiA9IGkgKiAyO1xuICAgICAgY29uc3Qgb2xTZWdtZW50ID0gbmV3IE9sTGluZVN0cmluZyhbXG4gICAgICAgIFtjb29yZGluYXRlc1tqXSwgY29vcmRpbmF0ZXNbaiArIDFdXSxcbiAgICAgICAgW2Nvb3JkaW5hdGVzW2ogKyAyXSwgY29vcmRpbmF0ZXNbaiArIDNdXVxuICAgICAgXSk7XG5cbiAgICAgIGNvbnN0IG1pZHBvaW50Q29vcmRpbmF0ZSA9IG9sU2VnbWVudC5nZXRDb29yZGluYXRlQXQoMC41KTtcbiAgICAgIGNvbnN0IG9sTWlkcG9pbnQgPSBvbE1pZHBvaW50c1tpXTtcbiAgICAgIGlmIChvbE1pZHBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgb2xNaWRwb2ludC5zZXRDb29yZGluYXRlcyhtaWRwb2ludENvb3JkaW5hdGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2xNaWRwb2ludHNbaV0gPSBuZXcgT2xQb2ludChtaWRwb2ludENvb3JkaW5hdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gb2xNaWRwb2ludHM7XG59XG5cbi8qKlxuICogQ2xlYXIgYW4gT0wgZ2VvbWV0cnkgbWlkcG9pbnRzIGFuZCByZXR1cm4gYW4gYXJyYXkgb2YgdGhvc2UgcG9pbnRzXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJPbEdlb21ldHJ5TWlkcG9pbnRzKG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZSkge1xuICBjb25zdCBvbE1pZHBvaW50cyA9IG9sR2VvbWV0cnkuZ2V0KCdfbWlkcG9pbnRzJykgfHwgW107XG4gIGNvbnN0IG1pZHBvaW50c0xlbmd0aCA9IG9sTWlkcG9pbnRzLmxlbmd0aDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaWRwb2ludHNMZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IG9sTWlkcG9pbnQgPSBvbE1pZHBvaW50c1tpXTtcbiAgICBpZiAob2xNaWRwb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAob2xNaWRwb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFyT2xNaWRwb2ludFRvb2x0aXAob2xNaWRwb2ludCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb2xHZW9tZXRyeS5zZXQoJ19taWRwb2ludHMnLCB1bmRlZmluZWQsIHRydWUpO1xuXG4gIHJldHVybiBvbE1pZHBvaW50cztcbn1cblxuLyoqXG4gKiBSZXR1cm4gYW4gYXJyYXkgb2YgIE9MIGdlb21ldHJ5IG1pZHBvaW50cywgaWYgYW55XG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICogQHJldHVybnMgT0wgcG9pbnRzXG4gKi9cbmZ1bmN0aW9uIGdldE9sR2VvbWV0cnlNaWRwb2ludHMob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlKTogT2xQb2ludFtdIHtcbiAgbGV0IGV4cGVjdGVkTnVtYmVyO1xuICBpZiAob2xHZW9tZXRyeSBpbnN0YW5jZW9mIE9sQ2lyY2xlKSB7XG4gICAgZXhwZWN0ZWROdW1iZXIgPSAwO1xuICB9IGVsc2Uge1xuICAgIGV4cGVjdGVkTnVtYmVyID0gTWF0aC5tYXgoKG9sR2VvbWV0cnkuZ2V0RmxhdENvb3JkaW5hdGVzKCkubGVuZ3RoIC8gMikgLSAxLCAwKTtcbiAgfVxuICAvLyBUT0RPOiBUaGlzIHdvcmtzIGJ1dCBpdCdzIHF1aXRlIG1lc3N5LiBJZiB0aW1lIHBlcm1pdHMsXG4gIC8vIGNsZWFuIHRoaXMuIE1heWJlIGEgVG9vbHRpcCBjbGFzcyBjb3VsZCBoYW5kbGUgdGhhdFxuICBsZXQgb2xNaWRwb2ludHMgPSBvbEdlb21ldHJ5LmdldCgnX21pZHBvaW50cycpO1xuXG4gIGlmIChvbE1pZHBvaW50cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvaW50KSB7XG4gICAgICBvbE1pZHBvaW50cyA9IG5ldyBBcnJheSgxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb2xNaWRwb2ludHMgPSBuZXcgQXJyYXkoZXhwZWN0ZWROdW1iZXIpO1xuICAgIH1cbiAgICBvbEdlb21ldHJ5LnNldCgnX21pZHBvaW50cycsIG9sTWlkcG9pbnRzLCB0cnVlKTtcbiAgICByZXR1cm4gb2xNaWRwb2ludHM7XG4gIH1cblxuICBpZiAoZXhwZWN0ZWROdW1iZXIgPT09IDApIHtcbiAgICByZXR1cm4gb2xNaWRwb2ludHM7XG4gIH1cblxuICBpZiAoZXhwZWN0ZWROdW1iZXIgPT09IG9sTWlkcG9pbnRzLmxlbmd0aCkge1xuICAgIHJldHVybiBvbE1pZHBvaW50cztcbiAgfVxuXG4gIGlmIChleHBlY3RlZE51bWJlciA+IG9sTWlkcG9pbnRzLmxlbmd0aCkge1xuICAgIG9sTWlkcG9pbnRzLnB1c2goLi4ubmV3IEFycmF5KGV4cGVjdGVkTnVtYmVyIC0gb2xNaWRwb2ludHMubGVuZ3RoKSk7XG4gICAgcmV0dXJuIG9sTWlkcG9pbnRzO1xuICB9XG5cbiAgZm9yIChsZXQgaSA9IGV4cGVjdGVkTnVtYmVyOyBpIDwgb2xNaWRwb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBvbE1pZHBvaW50ID0gb2xNaWRwb2ludHNbZXhwZWN0ZWROdW1iZXJdO1xuICAgIGlmIChvbE1pZHBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFyT2xNaWRwb2ludFRvb2x0aXAob2xNaWRwb2ludCk7XG4gICAgfVxuICB9XG4gIG9sTWlkcG9pbnRzLnNwbGljZShleHBlY3RlZE51bWJlcik7XG5cbiAgcmV0dXJuIG9sTWlkcG9pbnRzO1xufVxuXG4vKipcbiAqIFJlbW92ZSBhbiBPTCBtaWRwb2ludCdzIHRvb2x0aXAgZnJvbSB0aGUgbWFwXG4gKiBAcGFyYW0gb2xNaWRwb2ludCBPTCBQb2ludFxuICovXG5mdW5jdGlvbiBjbGVhck9sTWlkcG9pbnRUb29sdGlwKG9sTWlkcG9pbnQ6IE9sUG9pbnQpIHtcbiAgY29uc3Qgb2xUb29sdGlwID0gb2xNaWRwb2ludC5nZXQoJ190b29sdGlwJyk7XG4gIGlmIChvbFRvb2x0aXAgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG9sTWFwID0gb2xUb29sdGlwLmdldE1hcCgpO1xuICAgIGlmIChvbE1hcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvbE1hcC5yZW1vdmVPdmVybGF5KG9sVG9vbHRpcCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQWRkIGFuIE9MIG92ZXJsYXkgYXQgZWFjaCBtaWRwb2ludCBhbmQgcmV0dXJuIGFuIGFycmF5IG9mIHRob3NlIG92ZXJsYXlzXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICogQHJldHVybnMgT0wgb3ZlcmxheXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU9sVG9vbHRpcHNBdE1pZHBvaW50cyhvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGUpOiBPbE92ZXJsYXlbXSB7XG4gIGNvbnN0IG9sTWlkcG9pbnRzID0gdXBkYXRlT2xHZW9tZXRyeU1pZHBvaW50cyhvbEdlb21ldHJ5KTtcbiAgbGV0IHR5cGVHZW9tID0gJyc7XG4gIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xMaW5lU3RyaW5nKSB7XG4gIHR5cGVHZW9tID0gJ2xpbmUtJztcbiAgfSBlbHNlIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xQb2x5Z29uKSB7XG4gICAgdHlwZUdlb20gPSAncG9seWdvbmUtJztcbiAgICB9XG4gIGNvbnN0IG9sVG9vbHRpcHMgPSBvbE1pZHBvaW50cy5tYXAoKG9sTWlkcG9pbnQ6IE9sUG9pbnQpID0+IHtcbiAgICBsZXQgb2xUb29sdGlwID0gb2xNaWRwb2ludC5nZXQoJ190b29sdGlwJyk7XG4gICAgaWYgKG9sVG9vbHRpcCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvbFRvb2x0aXAgPSBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KG9sTWlkcG9pbnQsIGZhbHNlLCB0eXBlR2VvbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9sVG9vbHRpcC5zZXRQb3NpdGlvbihvbE1pZHBvaW50LmdldEZsYXRDb29yZGluYXRlcygpKTtcbiAgICB9XG4gICAgcmV0dXJuIG9sVG9vbHRpcDtcbiAgfSk7XG4gIHJldHVybiBvbFRvb2x0aXBzO1xufVxuXG4vKipcbiAqIFJldHVybiBhbiBhcnJheSBvZiBPTCBvdmVybGF5IGF0IG1pZHNwb2ludHMsIGlmIGFueVxuICogQHBhcmFtIG9sR2VvbWV0cnkgT0wgR2VvbWV0cnlcbiAqIEByZXR1cm5zIE9MIG92ZXJsYXlzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPbFRvb2x0aXBzQXRNaWRwb2ludHMob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlKTogT2xPdmVybGF5W10ge1xuICBjb25zdCBvbE1pZHBvaW50cyA9IGdldE9sR2VvbWV0cnlNaWRwb2ludHMob2xHZW9tZXRyeSk7XG4gIHJldHVybiBvbE1pZHBvaW50cy5tYXAoKG9sTWlkcG9pbnQ6IE9sUG9pbnQpID0+IHtcbiAgICByZXR1cm4gb2xNaWRwb2ludCA/IG9sTWlkcG9pbnQuZ2V0KCdfdG9vbHRpcCcpIDogdW5kZWZpbmVkO1xuICB9KTtcbn1cblxuLyoqXG4gKiBVcGRhdGUgYW4gT0wgZ2VvbWV0cnkgY2VudGVyIGFuZCByZXR1cm4gaXRcbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9MIEdlb21ldHJ5XG4gKiBAcmV0dXJucyBPTCBwb2ludFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlT2xHZW9tZXRyeUNlbnRlcihvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGUpOiBPbFBvaW50IHtcbiAgbGV0IG9sQ2VudGVyID0gb2xHZW9tZXRyeS5nZXQoJ19jZW50ZXInKTtcbiAgY29uc3QgY2VudGVyQ29vcmRpbmF0ZSA9IG9sR2V0Q2VudGVyKG9sR2VvbWV0cnkuZ2V0RXh0ZW50KCkpO1xuICBpZiAob2xDZW50ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgIG9sQ2VudGVyLnNldENvb3JkaW5hdGVzKGNlbnRlckNvb3JkaW5hdGUpO1xuICB9IGVsc2Uge1xuICAgIG9sQ2VudGVyID0gbmV3IE9sUG9pbnQoY2VudGVyQ29vcmRpbmF0ZSk7XG4gICAgb2xHZW9tZXRyeS5zZXQoJ19jZW50ZXInLCBvbENlbnRlcik7XG4gIH1cblxuICByZXR1cm4gb2xDZW50ZXI7XG59XG5cbi8qKlxuICogQWRkIGFuIE9MIG92ZXJsYXkgYXQgdGhlIGNlbnRlciBvZiBhIGdlb21ldHJ5IGFuZCByZXR1cm4gdGhhdCBvdmVybGF5XG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICogQHJldHVybnMgT0wgb3ZlcmxheVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlT2xUb29sdGlwQXRDZW50ZXIob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlKTogT2xPdmVybGF5IHtcbiAgY29uc3Qgb2xDZW50ZXIgPSB1cGRhdGVPbEdlb21ldHJ5Q2VudGVyKG9sR2VvbWV0cnkpO1xuICBsZXQgb2xUb29sdGlwID0gb2xDZW50ZXIuZ2V0KCdfdG9vbHRpcCcpO1xuICBpZiAob2xUb29sdGlwID09PSB1bmRlZmluZWQpIHtcbiAgICBvbFRvb2x0aXAgPSBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KG9sQ2VudGVyLCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBvbFRvb2x0aXAuc2V0UG9zaXRpb24ob2xDZW50ZXIuZ2V0RmxhdENvb3JkaW5hdGVzKCkpO1xuICB9XG4gIHJldHVybiBvbFRvb2x0aXA7XG59XG5cbi8qKlxuICogUmV0dXJuIGFuIGFycmF5IG9mIE9MIG92ZXJsYXkgYXQgbWlkc3BvaW50cywgaWYgYW55XG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICogQHJldHVybnMgT0wgb3ZlcmxheXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9sVG9vbHRpcEF0Q2VudGVyKG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZSk6IE9sT3ZlcmxheSB7XG4gIGNvbnN0IG9sQ2VudGVyID0gb2xHZW9tZXRyeS5nZXQoJ19jZW50ZXInKTtcbiAgcmV0dXJuIG9sQ2VudGVyID8gb2xDZW50ZXIuZ2V0KCdfdG9vbHRpcCcpIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdldCBhbGwgdGhlIHRvb2x0aXBzIG9mIGFuIE9MIGdlb21ldHJ5XG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxuICogQHJldHVybnMgT0wgb3ZlcmxheXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRvb2x0aXBzT2ZPbEdlb21ldHJ5KG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZSk6IE9sT3ZlcmxheVtdIHtcbiAgY29uc3Qgb2xUb29sdGlwcyA9IFtdLmNvbmNhdChnZXRPbFRvb2x0aXBzQXRNaWRwb2ludHMob2xHZW9tZXRyeSkgfHwgW10pO1xuICBjb25zdCBvbENlbnRlclRvb2x0aXAgPSBnZXRPbFRvb2x0aXBBdENlbnRlcihvbEdlb21ldHJ5KTtcbiAgaWYgKG9sQ2VudGVyVG9vbHRpcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgb2xUb29sdGlwcy5wdXNoKG9sQ2VudGVyVG9vbHRpcCk7XG4gIH1cbiAgcmV0dXJuIG9sVG9vbHRpcHM7XG59XG5cbi8qKlxuICogQ3JlYXRlIGFuIE9MIG92ZXJsYXkgYXQgYSBwb2ludCBhbmQgYmluZCB0aGUgb3ZlcmxheSB0byB0aGUgcG9pbnRcbiAqIEBwYXJhbSBvbFBvaW50IE9MIFBvaW50XG4gKiBAcmV0dXJucyBPTCBvdmVybGF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KG9sUG9pbnQ6IE9sUG9pbnQsIGNlbnRlcjogYm9vbGVhbiA9IGZhbHNlLCBzcmNHZW9tVHlwZTogc3RyaW5nPSAnJyk6IE9sT3ZlcmxheSB7XG4gIGNvbnN0IG9sVG9vbHRpcCA9IG5ldyBPbE92ZXJsYXkoe1xuICAgIGVsZW1lbnQ6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLFxuICAgIG9mZnNldDogWy0zMCwgLTEwXSxcbiAgICBjbGFzc05hbWU6IChjZW50ZXIgP1xuICAgIFsgJ2lnby1tYXAtdG9vbHRpcCcsXG4gICAgICAnaWdvLW1hcC10b29sdGlwLW1lYXN1cmUnLCAnaWdvLW1hcC10b29sdGlwLW1lYXN1cmUtYXJlYSddIDogWydpZ28tbWFwLXRvb2x0aXAnLCAnaWdvLW1hcC10b29sdGlwLW1lYXN1cmUnLFxuICAgICAgYGlnby1tYXAtdG9vbHRpcC1tZWFzdXJlLSR7c3JjR2VvbVR5cGV9c2VnbWVudHNgXSkuam9pbignICcpLFxuICAgIHN0b3BFdmVudDogZmFsc2VcbiAgfSk7XG4gIG9sVG9vbHRpcC5zZXRQb3NpdGlvbihvbFBvaW50LmdldEZsYXRDb29yZGluYXRlcygpKTtcbiAgb2xQb2ludC5zZXQoJ190b29sdGlwJywgb2xUb29sdGlwKTtcblxuICByZXR1cm4gb2xUb29sdGlwO1xufVxuIl19
|
|
489
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21lYXN1cmUvc2hhcmVkL21lYXN1cmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxJQUFJLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsU0FBUyxJQUFJLFdBQVcsRUFDeEIsT0FBTyxJQUFJLFNBQVMsRUFDckIsTUFBTSxXQUFXLENBQUM7QUFHbkIsT0FBTyxFQUNMLGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM5QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBYTtJQUM5QyxPQUFPLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDdkIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWE7SUFDeEMsT0FBTyxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBQ3hCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFhO0lBQ3pDLE9BQU8sS0FBSyxHQUFHLFFBQVEsQ0FBQztBQUMxQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxLQUFhO0lBQzFELE9BQU8sS0FBSyxHQUFHLFFBQVEsQ0FBQztB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dmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBvbHN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuaW1wb3J0IE9sUG9pbnQgZnJvbSAnb2wvZ2VvbS9Qb2ludCc7XHJcbmltcG9ydCBPbExpbmVTdHJpbmcgZnJvbSAnb2wvZ2VvbS9MaW5lU3RyaW5nJztcclxuaW1wb3J0IE9sUG9seWdvbiBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xyXG5pbXBvcnQgT2xDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xyXG5pbXBvcnQgT2xPdmVybGF5IGZyb20gJ29sL092ZXJsYXknO1xyXG5pbXBvcnQgeyBnZXRDZW50ZXIgYXMgb2xHZXRDZW50ZXIgfSBmcm9tICdvbC9leHRlbnQnO1xyXG5pbXBvcnQge1xyXG4gIGdldExlbmd0aCBhcyBvbEdldExlbmd0aCxcclxuICBnZXRBcmVhIGFzIG9sR2V0QXJlYVxyXG59IGZyb20gJ29sL3NwaGVyZSc7XHJcblxyXG5pbXBvcnQgeyBNZWFzdXJlIH0gZnJvbSAnLi9tZWFzdXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQge1xyXG4gIE1lYXN1cmVBcmVhVW5pdCxcclxuICBNZWFzdXJlQXJlYVVuaXRBYmJyZXZpYXRpb24sXHJcbiAgTWVhc3VyZUxlbmd0aFVuaXQsXHJcbiAgTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25cclxufSBmcm9tICcuL21lYXN1cmUuZW51bSc7XHJcblxyXG4vKipcclxuICogQ29udmVydCB2YWx1ZSBmcm9tIG1ldGVycyB0byBraWxvbWV0ZXJzXHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcclxuICogQHJldHVybnMgVmFsdWUgaW4ga2lsb21ldGVyc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1ldGVyc1RvS2lsb21ldGVycyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICByZXR1cm4gdmFsdWUgKiAwLjAwMTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBtZXRlcnMgdG8gZmVldFxyXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gbWV0ZXJzXHJcbiAqIEByZXR1cm5zIFZhbHVlIGluIGZlZXRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBtZXRlcnNUb0ZlZXQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIHZhbHVlICogMy4yODA4O1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCB2YWx1ZSBmcm9tIG1ldGVycyB0byBtaWxlc1xyXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgaW4gbWV0ZXJzXHJcbiAqIEByZXR1cm5zIFZhbHVlIGluIG1pbGVzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWV0ZXJzVG9NaWxlcyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICByZXR1cm4gdmFsdWUgKiAwLjAwMDYyMTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBzcXVhcmUgbWV0ZXJzIHRvIHNxdWFyZSBraWxvbWV0ZXJzXHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBzcXVhcmUgbWV0ZXJzXHJcbiAqIEByZXR1cm5zIFZhbHVlIGluIHNxdWFyZSBraWxvbWV0ZXJzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc3F1YXJlTWV0ZXJzVG9TcXVhcmVLaWxvbWV0ZXJzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xyXG4gIHJldHVybiB2YWx1ZSAqIDAuMDAwMDAxO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCB2YWx1ZSBmcm9tIHNxdWFyZSBtZXRlcnMgdG8gc3F1YXJlIG1pbGVzXHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBzcXVhcmUgbWV0ZXJzXHJcbiAqIEByZXR1cm5zIFZhbHVlIGluIHNxdWFyZSBtaWxlc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNxdWFyZU1ldGVyc1RvU3F1YXJlTWlsZXModmFsdWU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIHZhbHVlICogMC4wMDAwMDAzODYxO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCB2YWx1ZSBmcm9tIHNxdWFyZSBtZXRlcnMgdG8gc3F1YXJlIGZlZXRcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIHNxdWFyZSBtZXRlcnNcclxuICogQHJldHVybnMgVmFsdWUgaW4gc3F1YXJlIGZlZXRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzcXVhcmVNZXRlcnNUb1NxdWFyZUZlZXQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIHZhbHVlICogMTAuNzY0O1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCB2YWx1ZSBmcm9tIHNxdWFyZSBtZXRlcnMgdG8gaGVjdGFyZXNcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIHNxdWFyZSBtZXRlcnNcclxuICogQHJldHVybnMgVmFsdWUgaW4gaGVjdGFyZXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzcXVhcmVNZXRlcnNUb0hlY3RhcmVzKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xyXG4gIHJldHVybiB2YWx1ZSAqIDAuMDAwMTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnZlcnQgdmFsdWUgZnJvbSBzcXVhcmUgbWV0ZXJzIHRvIGFjcmVzXHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBzcXVhcmUgbWV0ZXJzXHJcbiAqIEByZXR1cm5zIFZhbHVlIGluIGFjcmVzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc3F1YXJlTWV0ZXJzVG9BY3Jlcyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICByZXR1cm4gdmFsdWUgKiAwLjAwMDI0NzExO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCB2YWx1ZSBmcm9tIG1ldGVycyB0byB0aGUgc3BlY2lmaWVkIGxlbmd0aCB1bml0XHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBpbiBtZXRlcnNcclxuICogQHBhcmFtIHVuaXQgTGVuZ3RoIHVuaXRcclxuICogQHJldHVybnMgVmFsdWUgaW4gdW5pdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1ldGVyc1RvVW5pdCh2YWx1ZTogbnVtYmVyLCB1bml0OiBNZWFzdXJlTGVuZ3RoVW5pdCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XHJcbiAgY29uc3QgY29udmVyc2lvbk1hcHBlciA9IG5ldyBNYXAoW1xyXG4gICAgW01lYXN1cmVMZW5ndGhVbml0Lk1ldGVycywgKHZhbDogbnVtYmVyKSA9PiB2YWxdLFxyXG4gICAgW01lYXN1cmVMZW5ndGhVbml0LktpbG9tZXRlcnMsIG1ldGVyc1RvS2lsb21ldGVyc10sXHJcbiAgICBbTWVhc3VyZUxlbmd0aFVuaXQuTWlsZXMsIG1ldGVyc1RvTWlsZXNdLFxyXG4gICAgW01lYXN1cmVMZW5ndGhVbml0LkZlZXQsIG1ldGVyc1RvRmVldF0sXHJcbiAgXSk7XHJcbiAgY29uc3QgY29udmVyc2lvbiA9IGNvbnZlcnNpb25NYXBwZXIuZ2V0KHVuaXQpO1xyXG5cclxuICByZXR1cm4gY29udmVyc2lvbiA/IGNvbnZlcnNpb24odmFsdWUpIDogdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCB2YWx1ZSBmcm9tIHNxdWFyZSBtZXRlcnMgdG8gdGhlIHNwZWNpZmllZCBhcmVhIHVuaXRcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIG1ldGVyc1xyXG4gKiBAcGFyYW0gdW5pdCBBcmVhIHVuaXRcclxuICogQHJldHVybnMgVmFsdWUgaW4gdW5pdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNxdWFyZU1ldGVyc1RvVW5pdCh2YWx1ZTogbnVtYmVyLCB1bml0OiBNZWFzdXJlQXJlYVVuaXQpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IGNvbnZlcnNpb25NYXBwZXIgPSBuZXcgTWFwKFtcclxuICAgIFtNZWFzdXJlQXJlYVVuaXQuU3F1YXJlTWV0ZXJzLCAodmFsOiBudW1iZXIpID0+IHZhbF0sXHJcbiAgICBbTWVhc3VyZUFyZWFVbml0LlNxdWFyZUtpbG9tZXRlcnMsIHNxdWFyZU1ldGVyc1RvU3F1YXJlS2lsb21ldGVyc10sXHJcbiAgICBbTWVhc3VyZUFyZWFVbml0LlNxdWFyZU1pbGVzLCBzcXVhcmVNZXRlcnNUb1NxdWFyZU1pbGVzXSxcclxuICAgIFtNZWFzdXJlQXJlYVVuaXQuU3F1YXJlRmVldCwgc3F1YXJlTWV0ZXJzVG9TcXVhcmVGZWV0XSxcclxuICAgIFtNZWFzdXJlQXJlYVVuaXQuSGVjdGFyZXMsIHNxdWFyZU1ldGVyc1RvSGVjdGFyZXNdLFxyXG4gICAgW01lYXN1cmVBcmVhVW5pdC5BY3Jlcywgc3F1YXJlTWV0ZXJzVG9BY3Jlc10sXHJcbiAgXSk7XHJcbiAgY29uc3QgY29udmVyc2lvbiA9IGNvbnZlcnNpb25NYXBwZXIuZ2V0KHVuaXQpO1xyXG5cclxuICByZXR1cm4gY29udmVyc2lvbiA/IGNvbnZlcnNpb24odmFsdWUpIDogdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKipcclxuICogVGhpcyBtZXRob2QgZm9ybWF0IGEgbWVhc3VyZSB0byBhIHJlYWRhYmxlIGZvcm1hdFxyXG4gKiBAcGFyYW0gbWVhc3VyZSBNZWFzdXJlXHJcbiAqIEBwYXJhbSBvcHRpb25zIEZvcm1hdHRpbmcgb3B0aW9uc1xyXG4gKiBAcmV0dXJucyBGb3JtYXR0ZWQgbWVhc3VyZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdE1lYXN1cmUoXHJcbiAgbWVhc3VyZTogbnVtYmVyLFxyXG4gIG9wdGlvbnM/OiB7XHJcbiAgICBkZWNpbWFsPzogbnVtYmVyO1xyXG4gICAgdW5pdD86IE1lYXN1cmVBcmVhVW5pdCB8IE1lYXN1cmVMZW5ndGhVbml0O1xyXG4gICAgdW5pdEFiYnI/OiBib29sZWFuO1xyXG4gICAgbG9jYWxlPzogc3RyaW5nO1xyXG4gIH0sXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlPzogTGFuZ3VhZ2VTZXJ2aWNlKSB7XHJcbiAgbGV0IGRlY2ltYWwgPSBvcHRpb25zLmRlY2ltYWw7XHJcbiAgaWYgKGRlY2ltYWwgPT09IHVuZGVmaW5lZCB8fCBkZWNpbWFsIDwgMCkge1xyXG4gICAgZGVjaW1hbCA9IDE7XHJcbiAgfVxyXG5cclxuICBjb25zdCBwYXJ0cyA9IFtdO1xyXG4gIGlmIChvcHRpb25zLmxvY2FsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICBwYXJ0cy5wdXNoKG1lYXN1cmUudG9Mb2NhbGVTdHJpbmcob3B0aW9ucy5sb2NhbGUsIHtcclxuICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBkZWNpbWFsLFxyXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGRlY2ltYWxcclxuICAgIH0pKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcGFydHMucHVzaChtZWFzdXJlLnRvRml4ZWQoZGVjaW1hbCkudG9TdHJpbmcoKSk7XHJcbiAgfVxyXG5cclxuICBpZiAob3B0aW9ucy51bml0ICE9PSB1bmRlZmluZWQgJiYgb3B0aW9ucy51bml0QWJiciA9PT0gdHJ1ZSkge1xyXG4gICAgaWYgKGxhbmd1YWdlU2VydmljZSkge1xyXG4gICAgICBwYXJ0cy5wdXNoKFxyXG4gICAgICAgIE1lYXN1cmVMZW5ndGhVbml0QWJicmV2aWF0aW9uW29wdGlvbnMudW5pdF0gP1xyXG4gICAgICAgICAgbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLm1lYXN1cmUuJyArIE1lYXN1cmVMZW5ndGhVbml0QWJicmV2aWF0aW9uW29wdGlvbnMudW5pdF0pIDpcclxuICAgICAgICAgIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5tZWFzdXJlLicgKyBNZWFzdXJlQXJlYVVuaXRBYmJyZXZpYXRpb25bb3B0aW9ucy51bml0XSlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBhcnRzLnB1c2goXHJcbiAgICAgICAgTWVhc3VyZUxlbmd0aFVuaXRBYmJyZXZpYXRpb25bb3B0aW9ucy51bml0XSB8fCBNZWFzdXJlQXJlYVVuaXRBYmJyZXZpYXRpb25bb3B0aW9ucy51bml0XVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHBhcnRzLmZpbHRlcihwID0+IHAgIT09IHVuZGVmaW5lZCkuam9pbignICcpO1xyXG59XHJcblxyXG4vKipcclxuICogQ29tcHV0ZSBiZXN0IGxlbmd0aCBtZWFzdXJlIHVuaXQgZm9yIGEgZ2l2ZW4gbWVhc3VyZSBpbiBtZXRlcnNcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIG1ldGVyc1xyXG4gKiBAcmV0dXJucyBNZWFzdXJlIHVuaXRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlQmVzdExlbmd0aFVuaXQodmFsdWU6IG51bWJlcik6IE1lYXN1cmVMZW5ndGhVbml0IHtcclxuICBsZXQgdW5pdCA9IE1lYXN1cmVMZW5ndGhVbml0Lk1ldGVycztcclxuICBsZXQgY29udmVydGVkID0gdmFsdWU7XHJcbiAgY29uc3QgcG9zc2libGVVbml0cyA9IFtNZWFzdXJlTGVuZ3RoVW5pdC5LaWxvbWV0ZXJzXTtcclxuICB3aGlsZSAoY29udmVydGVkID4gMTAwMCAmJiBwb3NzaWJsZVVuaXRzLmxlbmd0aCA+IDApIHtcclxuICAgIHVuaXQgPSBwb3NzaWJsZVVuaXRzLnBvcCgpO1xyXG4gICAgY29udmVydGVkID0gbWV0ZXJzVG9Vbml0KHZhbHVlLCB1bml0KTtcclxuICB9XHJcbiAgcmV0dXJuIHVuaXQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb21wdXRlIGJlc3QgbGVuZ3RoIG1lYXN1cmUgdW5pdCBmb3IgYSBnaXZlbiBtZWFzdXJlIGluIHNxdWFyZSBtZXRlcnNcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIGluIG1ldGVyc1xyXG4gKiBAcmV0dXJucyBNZWFzdXJlIHVuaXRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlQmVzdEFyZWFVbml0KHZhbHVlOiBudW1iZXIpOiBNZWFzdXJlQXJlYVVuaXQge1xyXG4gIGxldCB1bml0ID0gTWVhc3VyZUFyZWFVbml0LlNxdWFyZU1ldGVycztcclxuICBsZXQgY29udmVydGVkID0gdmFsdWU7XHJcbiAgY29uc3QgcG9zc2libGVVbml0cyA9IFtNZWFzdXJlQXJlYVVuaXQuU3F1YXJlS2lsb21ldGVyc107XHJcbiAgd2hpbGUgKGNvbnZlcnRlZCA+IDEwMDAwMDAgJiYgcG9zc2libGVVbml0cy5sZW5ndGggPiAwKSB7XHJcbiAgICB1bml0ID0gcG9zc2libGVVbml0cy5wb3AoKTtcclxuICAgIGNvbnZlcnRlZCA9IHNxdWFyZU1ldGVyc1RvVW5pdCh2YWx1ZSwgdW5pdCk7XHJcbiAgfVxyXG4gIHJldHVybiB1bml0O1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlIGEgZGVmYXVsdCBzdHlsZSBmb3IgYSBtZWFzdXJlIGludGVyYWN0aW9uXHJcbiAqIEByZXR1cm5zIE9MIHN0eWxlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWVhc3VyZUludGVyYWN0aW9uU3R5bGUoKTogb2xzdHlsZS5TdHlsZSB7XHJcbiAgcmV0dXJuIG5ldyBvbHN0eWxlLlN0eWxlKHtcclxuICAgIHN0cm9rZTogbmV3IG9sc3R5bGUuU3Ryb2tlKHtcclxuICAgICAgY29sb3I6ICcjZmZjYzMzJyxcclxuICAgICAgbGluZURhc2g6IFsxMCwgMTBdLFxyXG4gICAgICB3aWR0aDogMlxyXG4gICAgfSksXHJcbiAgICBmaWxsOiAgbmV3IG9sc3R5bGUuRmlsbCh7XHJcbiAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpJ1xyXG4gICAgfSksXHJcbiAgICBpbWFnZTogbmV3IG9sc3R5bGUuQ2lyY2xlKHtcclxuICAgICAgcmFkaXVzOiA1LFxyXG4gICAgICBzdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgY29sb3I6ICcjZmZjYzMzJyxcclxuICAgICAgfSksXHJcbiAgICAgIGZpbGw6IG5ldyBvbHN0eWxlLkZpbGwoe1xyXG4gICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpJ1xyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZSBhIGRlZmF1bHQgc3R5bGUgZm9yIGEgbWVhc3VyZSBsYXllclxyXG4gKiBAcmV0dXJucyBPTCBzdHlsZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1lYXN1cmVMYXllclN0eWxlKCk6IG9sc3R5bGUuU3R5bGUge1xyXG4gIHJldHVybiBuZXcgb2xzdHlsZS5TdHlsZSh7XHJcbiAgICBzdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7XHJcbiAgICAgIGNvbG9yOiAnI2ZmY2MzMycsXHJcbiAgICAgIHdpZHRoOiAyXHJcbiAgICB9KSxcclxuICAgIGZpbGw6ICBuZXcgb2xzdHlsZS5GaWxsKHtcclxuICAgICAgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiknXHJcbiAgICB9KVxyXG4gIH0pO1xyXG59XHJcblxyXG4vKipcclxuICogQ29tcHV0ZSB0aGUgbGVuZ3RoIGluIG1ldGVycyBvZiBhbiBPTCBnZW9tZXRyeSB3aXRoIGEgZ2l2ZW4gcHJvamVjdGlvblxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBnZW9tZXRyeVxyXG4gKiBAcGFyYW0gcHJvamVjdGlvbiBvbEdlb21ldHJ5J3MgcHJvamVjdGlvblxyXG4gKiBAcmV0dXJucyBMZW5ndGggaW4gbWV0ZXJzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZU9sR2VvbWV0cnlMZW5ndGgob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlLCBwcm9qZWN0aW9uOiBzdHJpbmcpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xQb2ludCkge1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcbiAgaWYgKG9sR2VvbWV0cnkuZ2V0RmxhdENvb3JkaW5hdGVzKCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuICByZXR1cm4gb2xHZXRMZW5ndGgob2xHZW9tZXRyeSwge3Byb2plY3Rpb259KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbXB1dGUgdGhlIGFyZWEgaW4gc3F1YXJlIG1ldGVycyBvZiBhbiBPTCBnZW9tZXRyeSB3aXRoIGEgZ2l2ZW4gcHJvamVjdGlvblxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBnZW9tZXRyeVxyXG4gKiBAcGFyYW0gcHJvamVjdGlvbiBvbEdlb21ldHJ5J3MgcHJvamVjdGlvblxyXG4gKiBAcmV0dXJucyBBcmVhIGluIHNxdWFyZSBtZXRlcnNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBtZWFzdXJlT2xHZW9tZXRyeUFyZWEob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlLCBwcm9qZWN0aW9uOiBzdHJpbmcpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xQb2ludCB8fCBvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xMaW5lU3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuICBpZiAob2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKS5sZW5ndGggPT09IDApIHtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG4gIHJldHVybiBvbEdldEFyZWEob2xHZW9tZXRyeSwge3Byb2plY3Rpb259KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbXB1dGUgdGhlIGFyZWEgKHNxdWFyZSBtZXRlcnMpLCBsZW5ndGggKG1ldGVycykgYW5kIGxhc3QgbGVuZ3RoIChtZXRlcnMpXHJcbiAqIG9mIGFuIE9MIGdlb21ldHJ5IHdpdGggYSBnaXZlbiBwcm9qZWN0aW9uLlxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPbCBnZW9tZXRyeVxyXG4gKiBAcGFyYW0gcHJvamVjdGlvbiBvbEdlb21ldHJ5J3MgcHJvamVjdGlvblxyXG4gKiBAcmV0dXJucyBDb21wdXRlZCBtZWFzdXJlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZU9sR2VvbWV0cnkob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlLCBwcm9qZWN0aW9uOiBzdHJpbmcpOiBNZWFzdXJlIHtcclxuICBjb25zdCBsZW5ndGggPSBtZWFzdXJlT2xHZW9tZXRyeUxlbmd0aChvbEdlb21ldHJ5LCBwcm9qZWN0aW9uKTtcclxuICBjb25zdCBhcmVhID0gbWVhc3VyZU9sR2VvbWV0cnlBcmVhKG9sR2VvbWV0cnksIHByb2plY3Rpb24pO1xyXG5cclxuICBjb25zdCBsZW5ndGhzID0gW107XHJcbiAgY29uc3QgY29vcmRpbmF0ZXMgPSBvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpO1xyXG4gIGNvbnN0IGNvb3JkaW5hdGVzTGVuZ3RoID0gY29vcmRpbmF0ZXMubGVuZ3RoO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDw9IGNvb3JkaW5hdGVzTGVuZ3RoIC0gNDsgaSArPSAyKSB7XHJcbiAgICBjb25zdCBvbFNlZ21lbnQgPSBuZXcgT2xMaW5lU3RyaW5nKFtcclxuICAgICAgW2Nvb3JkaW5hdGVzW2ldLCBjb29yZGluYXRlc1tpICsgMV1dLFxyXG4gICAgICBbY29vcmRpbmF0ZXNbaSArIDJdLCBjb29yZGluYXRlc1tpICsgM11dXHJcbiAgICBdKTtcclxuXHJcbiAgICBsZW5ndGhzLnB1c2gobWVhc3VyZU9sR2VvbWV0cnlMZW5ndGgob2xTZWdtZW50LCBwcm9qZWN0aW9uKSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgYXJlYSxcclxuICAgIGxlbmd0aCxcclxuICAgIGxlbmd0aHNcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogVXBkYXRlIGFuIE9MIGdlb21ldHJ5IG1pZHBvaW50cyBhbmQgcmV0dXJuIGFuIGFycmF5IG9mIHRob3NlIHBvaW50c1xyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxyXG4gKiBAcmV0dXJucyBPTCBwb2ludHNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVPbEdlb21ldHJ5TWlkcG9pbnRzKG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZSk6IE9sUG9pbnRbXSB7XHJcbiAgbGV0IG9sTWlkcG9pbnRzO1xyXG4gIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xQb2ludCkge1xyXG4gICAgY29uc3Qgb2xNaWRwb2ludFBvaW50ID0gbmV3IE9sUG9pbnQob2xHZW9tZXRyeS5nZXRGbGF0Q29vcmRpbmF0ZXMoKSk7XHJcbiAgICBvbE1pZHBvaW50cyA9IG5ldyBBcnJheSgxKTtcclxuICAgIG9sTWlkcG9pbnRzWzBdID0gb2xNaWRwb2ludFBvaW50O1xyXG4gIH0gZWxzZSB7XHJcbiAgICBvbE1pZHBvaW50cyA9IGdldE9sR2VvbWV0cnlNaWRwb2ludHMob2xHZW9tZXRyeSk7XHJcbiAgICAvLyBUT0RPOiBoYW5kbGUgbXVsdGkgZ2VvbWV0cmllc1xyXG4gICAgY29uc3QgY29vcmRpbmF0ZXMgPSBvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpO1xyXG4gICAgY29uc3QgbWlkcG9pbnRzTGVuZ3RoID0gb2xNaWRwb2ludHMubGVuZ3RoO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaWRwb2ludHNMZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBqID0gaSAqIDI7XHJcbiAgICAgIGNvbnN0IG9sU2VnbWVudCA9IG5ldyBPbExpbmVTdHJpbmcoW1xyXG4gICAgICAgIFtjb29yZGluYXRlc1tqXSwgY29vcmRpbmF0ZXNbaiArIDFdXSxcclxuICAgICAgICBbY29vcmRpbmF0ZXNbaiArIDJdLCBjb29yZGluYXRlc1tqICsgM11dXHJcbiAgICAgIF0pO1xyXG5cclxuICAgICAgY29uc3QgbWlkcG9pbnRDb29yZGluYXRlID0gb2xTZWdtZW50LmdldENvb3JkaW5hdGVBdCgwLjUpO1xyXG4gICAgICBjb25zdCBvbE1pZHBvaW50ID0gb2xNaWRwb2ludHNbaV07XHJcbiAgICAgIGlmIChvbE1pZHBvaW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBvbE1pZHBvaW50LnNldENvb3JkaW5hdGVzKG1pZHBvaW50Q29vcmRpbmF0ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb2xNaWRwb2ludHNbaV0gPSBuZXcgT2xQb2ludChtaWRwb2ludENvb3JkaW5hdGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBvbE1pZHBvaW50cztcclxufVxyXG5cclxuLyoqXHJcbiAqIENsZWFyIGFuIE9MIGdlb21ldHJ5IG1pZHBvaW50cyBhbmQgcmV0dXJuIGFuIGFycmF5IG9mIHRob3NlIHBvaW50c1xyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyT2xHZW9tZXRyeU1pZHBvaW50cyhvbEdlb21ldHJ5OiBPbFBvaW50IHwgT2xMaW5lU3RyaW5nIHwgT2xQb2x5Z29uIHwgT2xDaXJjbGUpIHtcclxuICBjb25zdCBvbE1pZHBvaW50cyA9IG9sR2VvbWV0cnkuZ2V0KCdfbWlkcG9pbnRzJykgfHwgW107XHJcbiAgY29uc3QgbWlkcG9pbnRzTGVuZ3RoID0gb2xNaWRwb2ludHMubGVuZ3RoO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWlkcG9pbnRzTGVuZ3RoOyBpKyspIHtcclxuICAgIGNvbnN0IG9sTWlkcG9pbnQgPSBvbE1pZHBvaW50c1tpXTtcclxuICAgIGlmIChvbE1pZHBvaW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKG9sTWlkcG9pbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNsZWFyT2xNaWRwb2ludFRvb2x0aXAob2xNaWRwb2ludCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9sR2VvbWV0cnkuc2V0KCdfbWlkcG9pbnRzJywgdW5kZWZpbmVkLCB0cnVlKTtcclxuXHJcbiAgcmV0dXJuIG9sTWlkcG9pbnRzO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGFuIGFycmF5IG9mICBPTCBnZW9tZXRyeSBtaWRwb2ludHMsIGlmIGFueVxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxyXG4gKiBAcmV0dXJucyBPTCBwb2ludHNcclxuICovXHJcbmZ1bmN0aW9uIGdldE9sR2VvbWV0cnlNaWRwb2ludHMob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlKTogT2xQb2ludFtdIHtcclxuICBsZXQgZXhwZWN0ZWROdW1iZXI7XHJcbiAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbENpcmNsZSkge1xyXG4gICAgZXhwZWN0ZWROdW1iZXIgPSAwO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBleHBlY3RlZE51bWJlciA9IE1hdGgubWF4KChvbEdlb21ldHJ5LmdldEZsYXRDb29yZGluYXRlcygpLmxlbmd0aCAvIDIpIC0gMSwgMCk7XHJcbiAgfVxyXG4gIC8vIFRPRE86IFRoaXMgd29ya3MgYnV0IGl0J3MgcXVpdGUgbWVzc3kuIElmIHRpbWUgcGVybWl0cyxcclxuICAvLyBjbGVhbiB0aGlzLiBNYXliZSBhIFRvb2x0aXAgY2xhc3MgY291bGQgaGFuZGxlIHRoYXRcclxuICBsZXQgb2xNaWRwb2ludHMgPSBvbEdlb21ldHJ5LmdldCgnX21pZHBvaW50cycpO1xyXG5cclxuICBpZiAob2xNaWRwb2ludHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbFBvaW50KSB7XHJcbiAgICAgIG9sTWlkcG9pbnRzID0gbmV3IEFycmF5KDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb2xNaWRwb2ludHMgPSBuZXcgQXJyYXkoZXhwZWN0ZWROdW1iZXIpO1xyXG4gICAgfVxyXG4gICAgb2xHZW9tZXRyeS5zZXQoJ19taWRwb2ludHMnLCBvbE1pZHBvaW50cywgdHJ1ZSk7XHJcbiAgICByZXR1cm4gb2xNaWRwb2ludHM7XHJcbiAgfVxyXG5cclxuICBpZiAoZXhwZWN0ZWROdW1iZXIgPT09IDApIHtcclxuICAgIHJldHVybiBvbE1pZHBvaW50cztcclxuICB9XHJcblxyXG4gIGlmIChleHBlY3RlZE51bWJlciA9PT0gb2xNaWRwb2ludHMubGVuZ3RoKSB7XHJcbiAgICByZXR1cm4gb2xNaWRwb2ludHM7XHJcbiAgfVxyXG5cclxuICBpZiAoZXhwZWN0ZWROdW1iZXIgPiBvbE1pZHBvaW50cy5sZW5ndGgpIHtcclxuICAgIG9sTWlkcG9pbnRzLnB1c2goLi4ubmV3IEFycmF5KGV4cGVjdGVkTnVtYmVyIC0gb2xNaWRwb2ludHMubGVuZ3RoKSk7XHJcbiAgICByZXR1cm4gb2xNaWRwb2ludHM7XHJcbiAgfVxyXG5cclxuICBmb3IgKGxldCBpID0gZXhwZWN0ZWROdW1iZXI7IGkgPCBvbE1pZHBvaW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgY29uc3Qgb2xNaWRwb2ludCA9IG9sTWlkcG9pbnRzW2V4cGVjdGVkTnVtYmVyXTtcclxuICAgIGlmIChvbE1pZHBvaW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY2xlYXJPbE1pZHBvaW50VG9vbHRpcChvbE1pZHBvaW50KTtcclxuICAgIH1cclxuICB9XHJcbiAgb2xNaWRwb2ludHMuc3BsaWNlKGV4cGVjdGVkTnVtYmVyKTtcclxuXHJcbiAgcmV0dXJuIG9sTWlkcG9pbnRzO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGFuIE9MIG1pZHBvaW50J3MgdG9vbHRpcCBmcm9tIHRoZSBtYXBcclxuICogQHBhcmFtIG9sTWlkcG9pbnQgT0wgUG9pbnRcclxuICovXHJcbmZ1bmN0aW9uIGNsZWFyT2xNaWRwb2ludFRvb2x0aXAob2xNaWRwb2ludDogT2xQb2ludCkge1xyXG4gIGNvbnN0IG9sVG9vbHRpcCA9IG9sTWlkcG9pbnQuZ2V0KCdfdG9vbHRpcCcpO1xyXG4gIGlmIChvbFRvb2x0aXAgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgY29uc3Qgb2xNYXAgPSBvbFRvb2x0aXAuZ2V0TWFwKCk7XHJcbiAgICBpZiAob2xNYXAgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBvbE1hcC5yZW1vdmVPdmVybGF5KG9sVG9vbHRpcCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQWRkIGFuIE9MIG92ZXJsYXkgYXQgZWFjaCBtaWRwb2ludCBhbmQgcmV0dXJuIGFuIGFycmF5IG9mIHRob3NlIG92ZXJsYXlzXHJcbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9MIEdlb21ldHJ5XHJcbiAqIEByZXR1cm5zIE9MIG92ZXJsYXlzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlT2xUb29sdGlwc0F0TWlkcG9pbnRzKG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZSk6IE9sT3ZlcmxheVtdIHtcclxuICBjb25zdCBvbE1pZHBvaW50cyA9IHVwZGF0ZU9sR2VvbWV0cnlNaWRwb2ludHMob2xHZW9tZXRyeSk7XHJcbiAgbGV0IHR5cGVHZW9tID0gJyc7XHJcbiAgaWYgKG9sR2VvbWV0cnkgaW5zdGFuY2VvZiBPbExpbmVTdHJpbmcpIHtcclxuICB0eXBlR2VvbSA9ICdsaW5lLSc7XHJcbiAgfSBlbHNlIGlmIChvbEdlb21ldHJ5IGluc3RhbmNlb2YgT2xQb2x5Z29uKSB7XHJcbiAgICB0eXBlR2VvbSA9ICdwb2x5Z29uZS0nO1xyXG4gICAgfVxyXG4gIGNvbnN0IG9sVG9vbHRpcHMgPSBvbE1pZHBvaW50cy5tYXAoKG9sTWlkcG9pbnQ6IE9sUG9pbnQpID0+IHtcclxuICAgIGxldCBvbFRvb2x0aXAgPSBvbE1pZHBvaW50LmdldCgnX3Rvb2x0aXAnKTtcclxuICAgIGlmIChvbFRvb2x0aXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBvbFRvb2x0aXAgPSBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KG9sTWlkcG9pbnQsIGZhbHNlLCB0eXBlR2VvbSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBvbFRvb2x0aXAuc2V0UG9zaXRpb24ob2xNaWRwb2ludC5nZXRGbGF0Q29vcmRpbmF0ZXMoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2xUb29sdGlwO1xyXG4gIH0pO1xyXG4gIHJldHVybiBvbFRvb2x0aXBzO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGFuIGFycmF5IG9mIE9MIG92ZXJsYXkgYXQgbWlkc3BvaW50cywgaWYgYW55XHJcbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9MIEdlb21ldHJ5XHJcbiAqIEByZXR1cm5zIE9MIG92ZXJsYXlzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0T2xUb29sdGlwc0F0TWlkcG9pbnRzKG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZSk6IE9sT3ZlcmxheVtdIHtcclxuICBjb25zdCBvbE1pZHBvaW50cyA9IGdldE9sR2VvbWV0cnlNaWRwb2ludHMob2xHZW9tZXRyeSk7XHJcbiAgcmV0dXJuIG9sTWlkcG9pbnRzLm1hcCgob2xNaWRwb2ludDogT2xQb2ludCkgPT4ge1xyXG4gICAgcmV0dXJuIG9sTWlkcG9pbnQgPyBvbE1pZHBvaW50LmdldCgnX3Rvb2x0aXAnKSA6IHVuZGVmaW5lZDtcclxuICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFVwZGF0ZSBhbiBPTCBnZW9tZXRyeSBjZW50ZXIgYW5kIHJldHVybiBpdFxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxyXG4gKiBAcmV0dXJucyBPTCBwb2ludFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU9sR2VvbWV0cnlDZW50ZXIob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlKTogT2xQb2ludCB7XHJcbiAgbGV0IG9sQ2VudGVyID0gb2xHZW9tZXRyeS5nZXQoJ19jZW50ZXInKTtcclxuICBjb25zdCBjZW50ZXJDb29yZGluYXRlID0gb2xHZXRDZW50ZXIob2xHZW9tZXRyeS5nZXRFeHRlbnQoKSk7XHJcbiAgaWYgKG9sQ2VudGVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgIG9sQ2VudGVyLnNldENvb3JkaW5hdGVzKGNlbnRlckNvb3JkaW5hdGUpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBvbENlbnRlciA9IG5ldyBPbFBvaW50KGNlbnRlckNvb3JkaW5hdGUpO1xyXG4gICAgb2xHZW9tZXRyeS5zZXQoJ19jZW50ZXInLCBvbENlbnRlcik7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb2xDZW50ZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgYW4gT0wgb3ZlcmxheSBhdCB0aGUgY2VudGVyIG9mIGEgZ2VvbWV0cnkgYW5kIHJldHVybiB0aGF0IG92ZXJsYXlcclxuICogQHBhcmFtIG9sR2VvbWV0cnkgT0wgR2VvbWV0cnlcclxuICogQHJldHVybnMgT0wgb3ZlcmxheVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU9sVG9vbHRpcEF0Q2VudGVyKG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZSk6IE9sT3ZlcmxheSB7XHJcbiAgY29uc3Qgb2xDZW50ZXIgPSB1cGRhdGVPbEdlb21ldHJ5Q2VudGVyKG9sR2VvbWV0cnkpO1xyXG4gIGxldCBvbFRvb2x0aXAgPSBvbENlbnRlci5nZXQoJ190b29sdGlwJyk7XHJcbiAgaWYgKG9sVG9vbHRpcCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICBvbFRvb2x0aXAgPSBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KG9sQ2VudGVyLCB0cnVlKTtcclxuICB9IGVsc2Uge1xyXG4gICAgb2xUb29sdGlwLnNldFBvc2l0aW9uKG9sQ2VudGVyLmdldEZsYXRDb29yZGluYXRlcygpKTtcclxuICB9XHJcbiAgcmV0dXJuIG9sVG9vbHRpcDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBhbiBhcnJheSBvZiBPTCBvdmVybGF5IGF0IG1pZHNwb2ludHMsIGlmIGFueVxyXG4gKiBAcGFyYW0gb2xHZW9tZXRyeSBPTCBHZW9tZXRyeVxyXG4gKiBAcmV0dXJucyBPTCBvdmVybGF5c1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldE9sVG9vbHRpcEF0Q2VudGVyKG9sR2VvbWV0cnk6IE9sUG9pbnQgfCBPbExpbmVTdHJpbmcgfCBPbFBvbHlnb24gfCBPbENpcmNsZSk6IE9sT3ZlcmxheSB7XHJcbiAgY29uc3Qgb2xDZW50ZXIgPSBvbEdlb21ldHJ5LmdldCgnX2NlbnRlcicpO1xyXG4gIHJldHVybiBvbENlbnRlciA/IG9sQ2VudGVyLmdldCgnX3Rvb2x0aXAnKSA6IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCBhbGwgdGhlIHRvb2x0aXBzIG9mIGFuIE9MIGdlb21ldHJ5XHJcbiAqIEBwYXJhbSBvbEdlb21ldHJ5IE9MIEdlb21ldHJ5XHJcbiAqIEByZXR1cm5zIE9MIG92ZXJsYXlzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9vbHRpcHNPZk9sR2VvbWV0cnkob2xHZW9tZXRyeTogT2xQb2ludCB8IE9sTGluZVN0cmluZyB8IE9sUG9seWdvbiB8IE9sQ2lyY2xlKTogT2xPdmVybGF5W10ge1xyXG4gIGNvbnN0IG9sVG9vbHRpcHMgPSBbXS5jb25jYXQoZ2V0T2xUb29sdGlwc0F0TWlkcG9pbnRzKG9sR2VvbWV0cnkpIHx8IFtdKTtcclxuICBjb25zdCBvbENlbnRlclRvb2x0aXAgPSBnZXRPbFRvb2x0aXBBdENlbnRlcihvbEdlb21ldHJ5KTtcclxuICBpZiAob2xDZW50ZXJUb29sdGlwICE9PSB1bmRlZmluZWQpIHtcclxuICAgIG9sVG9vbHRpcHMucHVzaChvbENlbnRlclRvb2x0aXApO1xyXG4gIH1cclxuICByZXR1cm4gb2xUb29sdGlwcztcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZSBhbiBPTCBvdmVybGF5IGF0IGEgcG9pbnQgYW5kIGJpbmQgdGhlIG92ZXJsYXkgdG8gdGhlIHBvaW50XHJcbiAqIEBwYXJhbSBvbFBvaW50IE9MIFBvaW50XHJcbiAqIEByZXR1cm5zIE9MIG92ZXJsYXlcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPbFRvb2x0aXBBdFBvaW50KG9sUG9pbnQ6IE9sUG9pbnQsIGNlbnRlcjogYm9vbGVhbiA9IGZhbHNlLCBzcmNHZW9tVHlwZTogc3RyaW5nPSAnJyk6IE9sT3ZlcmxheSB7XHJcbiAgY29uc3Qgb2xUb29sdGlwID0gbmV3IE9sT3ZlcmxheSh7XHJcbiAgICBlbGVtZW50OiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSxcclxuICAgIG9mZnNldDogWy0zMCwgLTEwXSxcclxuICAgIGNsYXNzTmFtZTogKGNlbnRlciA/XHJcbiAgICBbICdpZ28tbWFwLXRvb2x0aXAnLFxyXG4gICAgICAnaWdvLW1hcC10b29sdGlwLW1lYXN1cmUnLCAnaWdvLW1hcC10b29sdGlwLW1lYXN1cmUtYXJlYSddIDogWydpZ28tbWFwLXRvb2x0aXAnLCAnaWdvLW1hcC10b29sdGlwLW1lYXN1cmUnLFxyXG4gICAgICBgaWdvLW1hcC10b29sdGlwLW1lYXN1cmUtJHtzcmNHZW9tVHlwZX1zZWdtZW50c2BdKS5qb2luKCcgJyksXHJcbiAgICBzdG9wRXZlbnQ6IGZhbHNlXHJcbiAgfSk7XHJcbiAgb2xUb29sdGlwLnNldFBvc2l0aW9uKG9sUG9pbnQuZ2V0RmxhdENvb3JkaW5hdGVzKCkpO1xyXG4gIG9sUG9pbnQuc2V0KCdfdG9vbHRpcCcsIG9sVG9vbHRpcCk7XHJcblxyXG4gIHJldHVybiBvbFRvb2x0aXA7XHJcbn1cclxuIl19
|
|
@@ -95,7 +95,7 @@ MetadataButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Met
|
|
|
95
95
|
} }, dependencies: [i3.NgIf, i4.MatIcon, i5.MatButton, i6.MatTooltip, i7.TranslatePipe], changeDetection: 0 });
|
|
96
96
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MetadataButtonComponent, [{
|
|
97
97
|
type: Component,
|
|
98
|
-
args: [{ selector: 'igo-metadata-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"(options && options.metadata && options.metadata.url) || (options && options.metadata && options.metadata.abstract)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.metadata.show' | translate\"\n [color]=\"color\"\n (click)=\"openMetadata(options.metadata)\">\n <mat-icon svgIcon=\"information-outline\"></mat-icon>\n</button>\n" }]
|
|
98
|
+
args: [{ selector: 'igo-metadata-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\r\n *ngIf=\"(options && options.metadata && options.metadata.url) || (options && options.metadata && options.metadata.abstract)\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.metadata.show' | translate\"\r\n [color]=\"color\"\r\n (click)=\"openMetadata(options.metadata)\">\r\n <mat-icon svgIcon=\"information-outline\"></mat-icon>\r\n</button>\r\n" }]
|
|
99
99
|
}], function () { return [{ type: i1.MetadataService }, { type: i2.MatDialog }]; }, { layer: [{
|
|
100
100
|
type: Input
|
|
101
101
|
}], color: [{
|
|
@@ -126,9 +126,9 @@ MetadataAbstractComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: M
|
|
|
126
126
|
} }, dependencies: [i3.NgIf, i5.MatButton, i2.MatDialogClose, i2.MatDialogTitle, i2.MatDialogContent], styles: [".close-button{top:5px;right:5px;padding:7px;line-height:10px;position:absolute!important;min-width:auto}mat-dialog-container{position:relative}\n"], encapsulation: 2 });
|
|
127
127
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MetadataAbstractComponent, [{
|
|
128
128
|
type: Component,
|
|
129
|
-
args: [{ selector: 'igo-metadata-abstract', encapsulation: ViewEncapsulation.None, template: "<h2 mat-dialog-title>{{ data.layerTitle }}</h2>\n<button class=\"close-button\" mat-button mat-dialog-close>X</button>\n<mat-dialog-content *ngIf=\"data.type !== 'arcgisrest'\" class=\"mat-typography\">\n <h3>{{ data.abstract }}</h3>\n</mat-dialog-content>\n<mat-dialog-content *ngIf=\"data.type === 'arcgisrest'\" class=\"mat-typography\">\n <h3 [innerHTML]=\"data.abstract\"></h3>\n</mat-dialog-content>\n", styles: [".close-button{top:5px;right:5px;padding:7px;line-height:10px;position:absolute!important;min-width:auto}mat-dialog-container{position:relative}\n"] }]
|
|
129
|
+
args: [{ selector: 'igo-metadata-abstract', encapsulation: ViewEncapsulation.None, template: "<h2 mat-dialog-title>{{ data.layerTitle }}</h2>\r\n<button class=\"close-button\" mat-button mat-dialog-close>X</button>\r\n<mat-dialog-content *ngIf=\"data.type !== 'arcgisrest'\" class=\"mat-typography\">\r\n <h3>{{ data.abstract }}</h3>\r\n</mat-dialog-content>\r\n<mat-dialog-content *ngIf=\"data.type === 'arcgisrest'\" class=\"mat-typography\">\r\n <h3 [innerHTML]=\"data.abstract\"></h3>\r\n</mat-dialog-content>\r\n", styles: [".close-button{top:5px;right:5px;padding:7px;line-height:10px;position:absolute!important;min-width:auto}mat-dialog-container{position:relative}\n"] }]
|
|
130
130
|
}], function () { return [{ type: undefined, decorators: [{
|
|
131
131
|
type: Inject,
|
|
132
132
|
args: [MAT_DIALOG_DATA]
|
|
133
133
|
}] }]; }, null); })();
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21ldGFkYXRhL21ldGFkYXRhLWJ1dHRvbi9tZXRhZGF0YS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWV0YWRhdGEvbWV0YWRhdGEtYnV0dG9uL21ldGFkYXRhLWJ1dHRvbi5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21ldGFkYXRhL21ldGFkYXRhLWJ1dHRvbi9tZXRhZGF0YS1hYnN0cmFjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7OztJQ0R0RSxpQ0FPMkM7SUFBekMsdUtBQVMsZUFBQSw0Q0FBOEIsQ0FBQSxJQUFDOztJQUN4Qyw4QkFBbUQ7SUFDckQsaUJBQVM7OztJQUpQLDBFQUFrRCx1QkFBQTs7O0lDSHBELDZDQUE4RSxTQUFBO0lBQ3hFLFlBQW1CO0lBQUEsaUJBQUssRUFBQTs7O0lBQXhCLGVBQW1CO0lBQW5CLDBDQUFtQjs7O0lBRXpCLDZDQUE4RTtJQUM1RSx3QkFBcUM7SUFDdkMsaUJBQXFCOzs7SUFEZixlQUEyQjtJQUEzQixtRUFBMkI7O0FGV2pDLE1BQU0sT0FBTyx1QkFBdUI7SUFtQmxDLFlBQ1UsZUFBZ0MsRUFDaEMsTUFBaUI7UUFEakIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFKbkIsV0FBTSxHQUFHLFNBQVMsQ0FBQztJQUlHLENBQUM7SUFwQi9CLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBWTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBR0QsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFPRCxZQUFZLENBQUMsUUFBeUI7UUFDcEMsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO29CQUMxQyxJQUFJLEVBQUU7d0JBQ0osVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSzt3QkFDNUIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO3dCQUMzQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7cUJBQ3BCO2lCQUNGLENBQUMsQ0FBQzthQUNKO2lCQUFNLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDckM7U0FDRjthQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUU7Z0JBQzFDLElBQUksRUFBRTtvQkFDSixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO29CQUM1QixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7b0JBQzNCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtpQkFDcEI7YUFDRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQzs7OEZBcERVLHVCQUF1QjswRUFBdkIsdUJBQXVCO1FDakJwQyw4RUFTUzs7UUFSTiw4SkFBeUg7O3VGRGdCL0csdUJBQXVCO2NBTm5DLFNBQVM7MkJBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07MEZBSTNDLEtBQUs7a0JBRFIsS0FBSztZQVVGLEtBQUs7a0JBRFIsS0FBSzs7QUFtRFIsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUE0QyxJQUFxQjtRQUFyQixTQUFJLEdBQUosSUFBSSxDQUFpQjtJQUFHLENBQUM7O2tHQUQxRCx5QkFBeUIsdUJBQ2hCLGVBQWU7NEVBRHhCLHlCQUF5QjtRRTlFdEMsNkJBQXFCO1FBQUEsWUFBcUI7UUFBQSxpQkFBSztRQUMvQyxpQ0FBeUQ7UUFBQSxpQkFBQztRQUFBLGlCQUFTO1FBQ25FLHdHQUVxQjtRQUNyQix3R0FFcUI7O1FBUEEsZUFBcUI7UUFBckIseUNBQXFCO1FBRXJCLGVBQWdDO1FBQWhDLHFEQUFnQztRQUdoQyxlQUFnQztRQUFoQyxxREFBZ0M7O3VGRnlFeEMseUJBQXlCO2NBTnJDLFNBQVM7MkJBQ0UsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJOztzQkFHeEIsTUFBTTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyJztcclxuXHJcbmltcG9ydCB7XHJcbiAgTWV0YWRhdGFPcHRpb25zLFxyXG4gIE1ldGFkYXRhTGF5ZXJPcHRpb25zXHJcbn0gZnJvbSAnLi4vc2hhcmVkL21ldGFkYXRhLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1ldGFkYXRhU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9tZXRhZGF0YS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW1ldGFkYXRhLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21ldGFkYXRhLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWV0YWRhdGEtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBsYXllcigpOiBMYXllciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGF5ZXI7XHJcbiAgfVxyXG4gIHNldCBsYXllcih2YWx1ZTogTGF5ZXIpIHtcclxuICAgIHRoaXMuX2xheWVyID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xheWVyOiBMYXllcjtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgY29sb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XHJcbiAgfVxyXG4gIHNldCBjb2xvcih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xvciA9ICdwcmltYXJ5JztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1ldGFkYXRhU2VydmljZTogTWV0YWRhdGFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykge31cclxuXHJcbiAgb3Blbk1ldGFkYXRhKG1ldGFkYXRhOiBNZXRhZGF0YU9wdGlvbnMpIHtcclxuICAgIGlmIChtZXRhZGF0YS5leHRlcm4pIHtcclxuICAgICAgaWYgKCFtZXRhZGF0YS51cmwgJiYgbWV0YWRhdGEuYWJzdHJhY3QpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKE1ldGFkYXRhQWJzdHJhY3RDb21wb25lbnQsIHtcclxuICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgbGF5ZXJUaXRsZTogdGhpcy5sYXllci50aXRsZSxcclxuICAgICAgICAgICAgYWJzdHJhY3Q6IG1ldGFkYXRhLmFic3RyYWN0LFxyXG4gICAgICAgICAgICB0eXBlOiBtZXRhZGF0YS50eXBlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAobWV0YWRhdGEudXJsKSB7XHJcbiAgICAgICAgdGhpcy5tZXRhZGF0YVNlcnZpY2Uub3BlbihtZXRhZGF0YSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoIW1ldGFkYXRhLmV4dGVybiAmJiBtZXRhZGF0YS5hYnN0cmFjdCkge1xyXG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKE1ldGFkYXRhQWJzdHJhY3RDb21wb25lbnQsIHtcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBsYXllclRpdGxlOiB0aGlzLmxheWVyLnRpdGxlLFxyXG4gICAgICAgICAgYWJzdHJhY3Q6IG1ldGFkYXRhLmFic3RyYWN0LFxyXG4gICAgICAgICAgdHlwZTogbWV0YWRhdGEudHlwZVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgb3B0aW9ucygpOiBNZXRhZGF0YUxheWVyT3B0aW9ucyB7XHJcbiAgICBpZiAoIXRoaXMubGF5ZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXIub3B0aW9ucztcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLW1ldGFkYXRhLWFic3RyYWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWV0YWRhdGEtYWJzdHJhY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21ldGFkYXRhLWFic3RyYWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFBYnN0cmFjdENvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBNZXRhZGF0YU9wdGlvbnMpIHt9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gICpuZ0lmPVwiKG9wdGlvbnMgJiYgb3B0aW9ucy5tZXRhZGF0YSAmJiBvcHRpb25zLm1ldGFkYXRhLnVybCkgfHwgKG9wdGlvbnMgJiYgb3B0aW9ucy5tZXRhZGF0YSAmJiBvcHRpb25zLm1ldGFkYXRhLmFic3RyYWN0KVwiXHJcbiAgbWF0LWljb24tYnV0dG9uXHJcbiAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5tZXRhZGF0YS5zaG93JyB8IHRyYW5zbGF0ZVwiXHJcbiAgW2NvbG9yXT1cImNvbG9yXCJcclxuICAoY2xpY2spPVwib3Blbk1ldGFkYXRhKG9wdGlvbnMubWV0YWRhdGEpXCI+XHJcbiAgPG1hdC1pY29uIHN2Z0ljb249XCJpbmZvcm1hdGlvbi1vdXRsaW5lXCI+PC9tYXQtaWNvbj5cclxuPC9idXR0b24+XHJcbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPnt7IGRhdGEubGF5ZXJUaXRsZSB9fTwvaDI+XHJcbjxidXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+WDwvYnV0dG9uPlxyXG48bWF0LWRpYWxvZy1jb250ZW50ICpuZ0lmPVwiZGF0YS50eXBlICE9PSAnYXJjZ2lzcmVzdCdcIiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgPGgzPnt7IGRhdGEuYWJzdHJhY3QgfX08L2gzPlxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuPG1hdC1kaWFsb2ctY29udGVudCAqbmdJZj1cImRhdGEudHlwZSA9PT0gJ2FyY2dpc3Jlc3QnXCIgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxyXG4gIDxoMyBbaW5uZXJIVE1MXT1cImRhdGEuYWJzdHJhY3RcIj48L2gzPlxyXG48L21hdC1kaWFsb2ctY29udGVudD5cclxuIl19
|
|
@@ -52,4 +52,4 @@ IgoMetadataModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [Common
|
|
|
52
52
|
IgoLanguageModule,
|
|
53
53
|
MatDialogModule], exports: [MetadataButtonComponent,
|
|
54
54
|
MetadataAbstractComponent] }); })();
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWV0YWRhdGEvbWV0YWRhdGEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBa0JqSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7a0ZBTlUsaUJBQWlCO21FQUFqQixpQkFBaUI7dUVBZDFCLFlBQVk7UUFDWixhQUFhO1FBQ2IsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsZUFBZTt1RkFTTixpQkFBaUI7Y0FoQjdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixpQkFBaUI7b0JBQ2pCLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCx1QkFBdUI7b0JBQ3ZCLHlCQUF5QjtpQkFBQztnQkFDNUIsWUFBWSxFQUFFO29CQUNaLHVCQUF1QjtvQkFDdkIseUJBQXlCO2lCQUFDO2FBQzdCOzt3RkFDWSxpQkFBaUIsbUJBSDFCLHVCQUF1QjtRQUN2Qix5QkFBeUIsYUFaekIsWUFBWTtRQUNaLGFBQWE7UUFDYixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixlQUFlLGFBR2YsdUJBQXVCO1FBQ3ZCLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNZXRhZGF0YUJ1dHRvbkNvbXBvbmVudCwgTWV0YWRhdGFBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4vbWV0YWRhdGEtYnV0dG9uL21ldGFkYXRhLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBNZXRhZGF0YUJ1dHRvbkNvbXBvbmVudCxcclxuICAgIE1ldGFkYXRhQWJzdHJhY3RDb21wb25lbnRdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTWV0YWRhdGFCdXR0b25Db21wb25lbnQsXHJcbiAgICBNZXRhZGF0YUFic3RyYWN0Q29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvTWV0YWRhdGFNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvTWV0YWRhdGFNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29NZXRhZGF0YU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWV0YWRhdGEvc2hhcmVkL21ldGFkYXRhLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZUNhdGFsb2dTdHJpbmdzIH0gZnJvbSAnLi4vLi4vY2F0YWxvZyc7XHJcbmltcG9ydCB7IExheWVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXIuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFPcHRpb25zIHtcclxuICB1cmw6IHN0cmluZztcclxuICBleHRlcm4/OiBib29sZWFuO1xyXG4gIGFic3RyYWN0Pzogc3RyaW5nO1xyXG4gIGtleXdvcmRMaXN0Pzogc3RyaW5nW107XHJcbiAgbGF5ZXJUaXRsZT86IHN0cmluZztcclxuICB0eXBlPzogVHlwZUNhdGFsb2dTdHJpbmdzO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhTGF5ZXJPcHRpb25zIGV4dGVuZHMgTGF5ZXJPcHRpb25zIHtcclxuICBtZXRhZGF0YT86IE1ldGFkYXRhT3B0aW9ucztcclxufVxyXG4iXX0=
|
|
@@ -16,4 +16,4 @@ MetadataService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Metadata
|
|
|
16
16
|
providedIn: 'root'
|
|
17
17
|
}]
|
|
18
18
|
}], function () { return []; }, null); })();
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21ldGFkYXRhL3NoYXJlZC9tZXRhZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLGdCQUFlLENBQUM7SUFFaEIsSUFBSSxDQUFDLFFBQXlCO1FBQzVCLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDOzs4RUFQVSxlQUFlO3FFQUFmLGVBQWUsV0FBZixlQUFlLG1CQUZkLE1BQU07dUZBRVAsZUFBZTtjQUgzQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNZXRhZGF0YU9wdGlvbnMgfSBmcm9tICcuL21ldGFkYXRhLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXRhZGF0YVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgb3BlbihtZXRhZGF0YTogTWV0YWRhdGFPcHRpb25zKSB7XHJcbiAgICBpZiAobWV0YWRhdGEuZXh0ZXJuKSB7XHJcbiAgICAgIHdpbmRvdy5vcGVuKG1ldGFkYXRhLnVybCwgJ19ibGFuaycpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -26,7 +26,7 @@ export class ConfigFileToGeoDBService {
|
|
|
26
26
|
const currentDate = new Date();
|
|
27
27
|
datasToIDB?.geoDatas.map((geoData) => {
|
|
28
28
|
if (typeof geoData.triggerDate === 'string') {
|
|
29
|
-
geoData.triggerDate = new Date(Date.parse(geoData.triggerDate
|
|
29
|
+
geoData.triggerDate = new Date(Date.parse(geoData.triggerDate));
|
|
30
30
|
}
|
|
31
31
|
if (currentDate >= geoData.triggerDate) {
|
|
32
32
|
if (geoData.action === 'update') {
|
|
@@ -51,8 +51,8 @@ export class ConfigFileToGeoDBService {
|
|
|
51
51
|
.then((zipped) => {
|
|
52
52
|
zipped.forEach((relativePath) => {
|
|
53
53
|
if (relativePath.toLocaleLowerCase().endsWith('.geojson')) {
|
|
54
|
-
zipped.file(relativePath).async("
|
|
55
|
-
const geojson = JSON.parse(
|
|
54
|
+
zipped.file(relativePath).async("text").then((r) => {
|
|
55
|
+
const geojson = JSON.parse(r);
|
|
56
56
|
const subUrl = geoData.zippedBaseUrl || '';
|
|
57
57
|
const zippedUrl = subUrl + (subUrl.endsWith('/') ? '' : '/') + relativePath;
|
|
58
58
|
observables$.push(this.geoDBService.update(zippedUrl, url, geojson, InsertSourceInsertDBEnum.System, insertEvent));
|
|
@@ -102,4 +102,4 @@ ConfigFileToGeoDBService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token:
|
|
|
102
102
|
providedIn: 'root'
|
|
103
103
|
}]
|
|
104
104
|
}], function () { return [{ type: i1.HttpClient }, { type: i2.GeoDBService }, { type: i3.MessageService }]; }, null); })();
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnRmlsZVRvR2VvREIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL29mZmxpbmUvZ2VvREIvY29uZmlnRmlsZVRvR2VvREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUt6RCxNQUFNLE9BQU8sd0JBQXdCO0lBR25DLFlBQ1UsSUFBZ0IsRUFDaEIsWUFBMEIsRUFDMUIsY0FBOEI7UUFGOUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDcEMsQ0FBQztJQUdMLElBQUksQ0FBQyxHQUFXO1FBQ2QsSUFBSSxlQUFlLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUVyQixVQUFVLENBQUMsQ0FBQyxLQUFVLEVBQU8sRUFBRTtZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDLENBQUM7WUFDckQsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsVUFBc0IsRUFBRSxFQUFFO1lBQ3JDLE1BQU0s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QUFTLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxlQUFlLEVBQUU7Z0JBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUUsZUFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDN0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsMkNBQTJDLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQzFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNWO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLEtBQUs7UUFDakIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7Z0dBbEdVLHdCQUF3Qjs4RUFBeEIsd0JBQXdCLFdBQXhCLHdCQUF3QixtQkFGdkIsTUFBTTt1RkFFUCx3QkFBd0I7Y0FIcEMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBjb25jYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZW9EQlNlcnZpY2UgfSBmcm9tICcuL2dlb0RCLnNlcnZpY2UnO1xuaW1wb3J0IHsgb2YsIHppcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0YXNUb0lEQiwgR2VvREJEYXRhIH0gZnJvbSAnLi9nZW9EQi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBKU1ppcCB9IGZyb20gJ2pzemlwJztcbmltcG9ydCB7IEluc2VydFNvdXJjZUluc2VydERCRW51bSB9IGZyb20gJy4vZ2VvREIuZW51bXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb25maWdGaWxlVG9HZW9EQlNlcnZpY2Uge1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZ2VvREJTZXJ2aWNlOiBHZW9EQlNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcbiAgKSB7IH1cblxuXG4gIGxvYWQodXJsOiBzdHJpbmcpIHtcbiAgICBsZXQgZG93bmxvYWRNZXNzYWdlO1xuICAgIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxuXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogYW55KTogYW55ID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coYEdlb0RhdGEgZmlsZSAke3VybH0gY291bGQgbm90IGJlIHJlYWRgKTtcbiAgICAgICAgZXJyb3IuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KSxcbiAgICAgIGNvbmNhdE1hcCgoZGF0YXNUb0lEQjogRGF0YXNUb0lEQikgPT4ge1xuICAgICAgY29uc3QgZGF0YXMkID0gW107XG4gICAgICBsZXQgZmlyc3REb3dubG9hZCA9IHRydWU7XG4gICAgICBpZiAoZGF0YXNUb0lEQj8uZ2VvRGF0YXMpIHtcbiAgICAgICAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBkYXRhc1RvSURCPy5nZW9EYXRhcy5tYXAoKGdlb0RhdGEpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIGdlb0RhdGEudHJpZ2dlckRhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBnZW9EYXRhLnRyaWdnZXJEYXRlID0gbmV3IERhdGUoRGF0ZS5wYXJzZShnZW9EYXRhLnRyaWdnZXJEYXRlLnJlcGxhY2UoLy0vZywgJyAnKSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY3VycmVudERhdGUgPj0gZ2VvRGF0YS50cmlnZ2VyRGF0ZSkge1xuICAgICAgICAgICAgaWYgKGdlb0RhdGEuYWN0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgICAgICAgICBjb25zdCBpbnNlcnRFdmVudCA9IGAke2dlb0RhdGEuc291cmNlIHx8IEluc2VydFNvdXJjZUluc2VydERCRW51bS5TeXN0ZW19ICgke2dlb0RhdGEudHJpZ2dlckRhdGV9KWA7XG4gICAgICAgICAgICAgIGdlb0RhdGEudXJscy5tYXAoKHVybCkgPT4ge1xuICAgICAgICAgICAgICAgIGRhdGFzJC5wdXNoKFxuICAgICAgICAgICAgICAgICAgdGhpcy5nZW9EQlNlcnZpY2UuZ2V0QnlJRCh1cmwpLnBpcGUoY29uY2F0TWFwKChyZXM6IEdlb0RCRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzPy5pbnNlcnRFdmVudCAhPT0gaW5zZXJ0RXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlyc3REb3dubG9hZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWRNZXNzYWdlID0gdGhpcy5tZXNzYWdlU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAgICAgLmluZm8oJ2lnby5nZW8uaW5kZXhlZERiLmRhdGEtZG93bmxvYWQtc3RhcnQnLCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGRpc2FibGVUaW1lT3V0OiB0cnVlLCBwcm9ncmVzc0JhcjogZmFsc2UsIGNsb3NlQnV0dG9uOiB0cnVlLCB0YXBUb0Rpc21pc3M6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3REb3dubG9hZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2VUeXBlOiBhbnkgPSAnanNvbic7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNaaXAgPSB0aGlzLmlzWmlwKHVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGlzWmlwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGUgPSAnYXJyYXlidWZmZXInO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlIH0pLnBpcGUoY29uY2F0TWFwKHIgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzWmlwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9ic2VydmFibGVzJCA9IFt0aGlzLmdlb0RCU2VydmljZS51cGRhdGUodXJsLCB1cmwsIHt9LCBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0uU3lzdGVtLCBpbnNlcnRFdmVudCldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBKU1ppcC5sb2FkQXN5bmMocilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoemlwcGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aXBwZWQuZm9yRWFjaCgocmVsYXRpdmVQYXRoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWxhdGl2ZVBhdGgudG9Mb2NhbGVMb3dlckNhc2UoKS5lbmRzV2l0aCgnLmdlb2pzb24nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppcHBlZC5maWxlKHJlbGF0aXZlUGF0aCkuYXN5bmMoXCJiYXNlNjRcIikudGhlbigocikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2VvanNvbiA9IEpTT04ucGFyc2UoYXRvYihyKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJVcmwgPSBnZW9EYXRhLnppcHBlZEJhc2VVcmwgfHwgJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB6aXBwZWRVcmwgPSBzdWJVcmwgKyAoc3ViVXJsLmVuZHNXaXRoKCcvJykgPyAnJyA6ICcvJykgKyByZWxhdGl2ZVBhdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhYmxlcyQucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZW9EQlNlcnZpY2UudXBkYXRlKHppcHBlZFVybCwgdXJsLCBnZW9qc29uLCBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0uU3lzdGVtLCBpbnNlcnRFdmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gemlwKG9ic2VydmFibGVzJCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZW9EQlNlcnZpY2UudXBkYXRlKHVybCwgdXJsLCByLCBJbnNlcnRTb3VyY2VJbnNlcnREQkVudW0uU3lzdGVtLCBpbnNlcnRFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChnZW9EYXRhLmFjdGlvbiA9PT0gJ2RlbGV0ZScpIHtcbiAgICAgICAgICAgICAgZ2VvRGF0YS51cmxzLm1hcCgodXJsKSA9PiB7XG4gICAgICAgICAgICAgICAgZGF0YXMkLnB1c2godGhpcy5nZW9EQlNlcnZpY2UuZGVsZXRlQnlLZXkodXJsKSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gemlwKC4uLmRhdGFzJCk7XG4gICAgfSlcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAoZG93bmxvYWRNZXNzYWdlKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UucmVtb3ZlKChkb3dubG9hZE1lc3NhZ2UgYXMgYW55KS50b2FzdElkKTtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MoJ2lnby5nZW8uaW5kZXhlZERiLmRhdGEtZG93bmxvYWQtY29tcGxldGVkJywgdW5kZWZpbmVkLCB7IHRpbWVPdXQ6IDQwMDAwIH0pO1xuICAgICAgICB9LCAyNTAwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNaaXAodmFsdWUpIHtcbiAgICBjb25zdCByZWdleCA9IC8oemlwKSQvO1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHJlZ2V4LnRlc3QodmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnRmlsZVRvR2VvREIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL29mZmxpbmUvZ2VvREIvY29uZmlnRmlsZVRvR2VvREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUt6RCxNQUFNLE9BQU8sd0JBQXdCO0lBR25DLFlBQ1UsSUFBZ0IsRUFDaEIsWUFBMEIsRUFDMUIsY0FBOEI7UUFGOUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDcEMsQ0FBQztJQUdMLElBQUksQ0FBQyxHQUFXO1FBQ2QsSUFBSSxlQUFlLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUVyQixVQUFVLENBQUMsQ0FBQyxLQUFVLEVBQU8sRUFBRTtZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDLENBQUM7WUFDckQsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsVUFBc0IsRUFBRSxFQUFFO1lBQ3JDLE1BQU0s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LENBQUMsR0FBRyxFQUFFO29CQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFFLGVBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzdELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLDJDQUEyQyxFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDVjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxLQUFLO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUN2QixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7O2dHQWxHVSx3QkFBd0I7OEVBQXhCLHdCQUF3QixXQUF4Qix3QkFBd0IsbUJBRnZCLE1BQU07dUZBRVAsd0JBQXdCO2NBSHBDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgY29uY2F0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBHZW9EQlNlcnZpY2UgfSBmcm9tICcuL2dlb0RCLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBvZiwgemlwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERhdGFzVG9JREIsIEdlb0RCRGF0YSB9IGZyb20gJy4vZ2VvREIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgZGVmYXVsdCBhcyBKU1ppcCB9IGZyb20gJ2pzemlwJztcclxuaW1wb3J0IHsgSW5zZXJ0U291cmNlSW5zZXJ0REJFbnVtIH0gZnJvbSAnLi9nZW9EQi5lbnVtcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maWdGaWxlVG9HZW9EQlNlcnZpY2Uge1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGdlb0RCU2VydmljZTogR2VvREJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuXHJcbiAgbG9hZCh1cmw6IHN0cmluZykge1xyXG4gICAgbGV0IGRvd25sb2FkTWVzc2FnZTtcclxuICAgIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxyXG5cclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IGFueSk6IGFueSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYEdlb0RhdGEgZmlsZSAke3VybH0gY291bGQgbm90IGJlIHJlYWRgKTtcclxuICAgICAgICBlcnJvci5lcnJvci5jYXVnaHQgPSB0cnVlO1xyXG4gICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICB9KSxcclxuICAgICAgY29uY2F0TWFwKChkYXRhc1RvSURCOiBEYXRhc1RvSURCKSA9PiB7XHJcbiAgICAgIGNvbnN0IGRhdGFzJCA9IFtdO1xyXG4gICAgICBsZXQgZmlyc3REb3dubG9hZCA9IHRydWU7XHJcbiAgICAgIGlmIChkYXRhc1RvSURCPy5nZW9EYXRhcykge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICBkYXRhc1RvSURCPy5nZW9EYXRhcy5tYXAoKGdlb0RhdGEpID0+IHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgZ2VvRGF0YS50cmlnZ2VyRGF0ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgZ2VvRGF0YS50cmlnZ2VyRGF0ZSA9IG5ldyBEYXRlKERhdGUucGFyc2UoZ2VvRGF0YS50cmlnZ2VyRGF0ZSkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGN1cnJlbnREYXRlID49IGdlb0RhdGEudHJpZ2dlckRhdGUpIHtcclxuICAgICAgICAgICAgaWYgKGdlb0RhdGEuYWN0aW9uID09PSAndXBkYXRlJykge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGluc2VydEV2ZW50ID0gYCR7Z2VvRGF0YS5zb3VyY2UgfHwgSW5zZXJ0U291cmNlSW5zZXJ0REJFbnVtLlN5c3RlbX0gKCR7Z2VvRGF0YS50cmlnZ2VyRGF0ZX0pYDtcclxuICAgICAgICAgICAgICBnZW9EYXRhLnVybHMubWFwKCh1cmwpID0+IHtcclxuICAgICAgICAgICAgICAgIGRhdGFzJC5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdlb0RCU2VydmljZS5nZXRCeUlEKHVybCkucGlwZShjb25jYXRNYXAoKHJlczogR2VvREJEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcz8uaW5zZXJ0RXZlbnQgIT09IGluc2VydEV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlyc3REb3dubG9hZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZE1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbmZvKCdpZ28uZ2VvLmluZGV4ZWREYi5kYXRhLWRvd25sb2FkLXN0YXJ0JywgdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGRpc2FibGVUaW1lT3V0OiB0cnVlLCBwcm9ncmVzc0JhcjogZmFsc2UsIGNsb3NlQnV0dG9uOiB0cnVlLCB0YXBUb0Rpc21pc3M6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdERvd25sb2FkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2VUeXBlOiBhbnkgPSAnanNvbic7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1ppcCA9IHRoaXMuaXNaaXAodXJsKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1ppcCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGUgPSAnYXJyYXlidWZmZXInO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHJlc3BvbnNlVHlwZSB9KS5waXBlKGNvbmNhdE1hcChyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzWmlwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXMkID0gW3RoaXMuZ2VvREJTZXJ2aWNlLnVwZGF0ZSh1cmwsIHVybCwge30sIEluc2VydFNvdXJjZUluc2VydERCRW51bS5TeXN0ZW0sIGluc2VydEV2ZW50KV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgSlNaaXAubG9hZEFzeW5jKHIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoemlwcGVkKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppcHBlZC5mb3JFYWNoKChyZWxhdGl2ZVBhdGgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVsYXRpdmVQYXRoLnRvTG9jYWxlTG93ZXJDYXNlKCkuZW5kc1dpdGgoJy5nZW9qc29uJykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppcHBlZC5maWxlKHJlbGF0aXZlUGF0aCkuYXN5bmMoXCJ0ZXh0XCIpLnRoZW4oKHIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2VvanNvbiA9IEpTT04ucGFyc2Uocik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YlVybCA9IGdlb0RhdGEuemlwcGVkQmFzZVVybCB8fCAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgemlwcGVkVXJsID0gc3ViVXJsICsgKHN1YlVybC5lbmRzV2l0aCgnLycpID8gJycgOiAnLycpICsgcmVsYXRpdmVQYXRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhYmxlcyQucHVzaChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdlb0RCU2VydmljZS51cGRhdGUoemlwcGVkVXJsLCB1cmwsIGdlb2pzb24sIEluc2VydFNvdXJjZUluc2VydERCRW51bS5TeXN0ZW0sIGluc2VydEV2ZW50KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHppcChvYnNlcnZhYmxlcyQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdlb0RCU2VydmljZS51cGRhdGUodXJsLCB1cmwsIHIsIEluc2VydFNvdXJjZUluc2VydERCRW51bS5TeXN0ZW0sIGluc2VydEV2ZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChnZW9EYXRhLmFjdGlvbiA9PT0gJ2RlbGV0ZScpIHtcclxuICAgICAgICAgICAgICBnZW9EYXRhLnVybHMubWFwKCh1cmwpID0+IHtcclxuICAgICAgICAgICAgICAgIGRhdGFzJC5wdXNoKHRoaXMuZ2VvREJTZXJ2aWNlLmRlbGV0ZUJ5S2V5KHVybCkpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHppcCguLi5kYXRhcyQpO1xyXG4gICAgfSlcclxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKGRvd25sb2FkTWVzc2FnZSkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5yZW1vdmUoKGRvd25sb2FkTWVzc2FnZSBhcyBhbnkpLnRvYXN0SWQpO1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5zdWNjZXNzKCdpZ28uZ2VvLmluZGV4ZWREYi5kYXRhLWRvd25sb2FkLWNvbXBsZXRlZCcsIHVuZGVmaW5lZCwgeyB0aW1lT3V0OiA0MDAwMCB9KTtcclxuICAgICAgICB9LCAyNTAwKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzWmlwKHZhbHVlKSB7XHJcbiAgICBjb25zdCByZWdleCA9IC8oemlwKSQvO1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgcmVnZXgudGVzdCh2YWx1ZS50b0xvd2VyQ2FzZSgpKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -3,4 +3,4 @@ export var InsertSourceInsertDBEnum;
|
|
|
3
3
|
InsertSourceInsertDBEnum["System"] = "system";
|
|
4
4
|
InsertSourceInsertDBEnum["User"] = "user";
|
|
5
5
|
})(InsertSourceInsertDBEnum || (InsertSourceInsertDBEnum = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvREIuZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vZmZsaW5lL2dlb0RCL2dlb0RCLmVudW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHdCQUdUO0FBSEgsV0FBWSx3QkFBd0I7SUFDaEMsNkNBQWlCLENBQUE7SUFDakIseUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIUyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBR2pDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSW5zZXJ0U291cmNlSW5zZXJ0REJFbnVtIHtcclxuICAgIFN5c3RlbSA9ICdzeXN0ZW0nLFxyXG4gICAgVXNlciA9ICd1c2VyJ1xyXG4gIH1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvREIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvb2ZmbGluZS9nZW9EQi9nZW9EQi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluc2VydFNvdXJjZUluc2VydERCRW51bSB9IGZyb20gXCIuL2dlb0RCLmVudW1zXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdlb0RCRGF0YSB7XHJcbiAgICB1cmw6IHN0cmluZztcclxuICAgIHJlZ2lvbklEOiBhbnk7XHJcbiAgICBvYmplY3Q6IGFueTtcclxuICAgIGNvbXByZXNzZWQ6IGJvb2xlYW47XHJcbiAgICBpbnNlcnRTb3VyY2U6IEluc2VydFNvdXJjZUluc2VydERCRW51bTtcclxuICAgIGluc2VydEV2ZW50OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2VvRGF0YVRvSURCIHtcclxuICB0cmlnZ2VyRGF0ZTogRGF0ZSB8IHN0cmluZztcclxuICBhY3Rpb246IFwiZGVsZXRlXCIgfCAndXBkYXRlJztcclxuICB1cmxzOiBzdHJpbmdbXTtcclxuICBzb3VyY2U/OiBzdHJpbmc7XHJcbiAgemlwcGVkQmFzZVVybD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRhc1RvSURCIHtcclxuICBnZW9EYXRhczogR2VvRGF0YVRvSURCW11cclxufVxyXG4iXX0=
|
|
@@ -14,7 +14,7 @@ export class GeoDBService {
|
|
|
14
14
|
this._newData = 0;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* Only blob can be
|
|
17
|
+
* Only blob can be compressed
|
|
18
18
|
* @param url
|
|
19
19
|
* @param regionID
|
|
20
20
|
* @param object object to handle
|
|
@@ -164,4 +164,4 @@ GeoDBService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GeoDBServic
|
|
|
164
164
|
providedIn: 'root'
|
|
165
165
|
}]
|
|
166
166
|
}], function () { return [{ type: i1.NgxIndexedDBService }, { type: i2.CompressionService }]; }, null); })();
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvREIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL29mZmxpbmUvZ2VvREIvZ2VvREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBUTdELE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQ1UsbUJBQXdDLEVBQ3hDLFdBQStCO1FBRC9CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBTmhDLFdBQU0sR0FBVyxTQUFTLENBQUM7UUFDN0Isa0JBQWEsR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqRCxhQUFRLEdBQVcsQ0FBQyxDQUFDO0lBS3hCLENBQUM7SUFFTDs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxHQUFXLEVBQUUsUUFBYSxFQUFFLE1BQVcsRUFBRSxZQUFzQyxFQUFFLFdBQW1CO1FBQ3pHLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFDRCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFckIsTUFBTSxPQUFPLEdBQXVCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDbEQsSUFBSSxPQUFPLEdBQW9CLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLE1BQU0sWUFBWSxJQUFJLEVBQUU7WUFDMUIsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFD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QUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2RCxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztxQkFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDYixTQUFTLENBQUMsQ0FBQyxRQUFtQixFQUFFLEVBQUU7b0JBQ2pDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztvQkFDL0IsYUFBYSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzlCLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7d0VBL0tVLFlBQVk7a0VBQVosWUFBWSxXQUFaLFlBQVksbUJBRlgsTUFBTTt1RkFFUCxZQUFZO2NBSHhCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERCTW9kZSwgTmd4SW5kZXhlZERCU2VydmljZSB9IGZyb20gJ25neC1pbmRleGVkLWRiJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRNYXAsIGZpcnN0LCBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb21wcmVzc2lvblNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEdlb0RCRGF0YSB9IGZyb20gJy4vZ2VvREIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEluc2VydFNvdXJjZUluc2VydERCRW51bSB9IGZyb20gJy4vZ2VvREIuZW51bXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHZW9EQlNlcnZpY2Uge1xuICByZWFkb25seSBkYk5hbWU6IHN0cmluZyA9ICdnZW9EYXRhJztcbiAgcHVibGljIGNvbGxpc2lvbnNNYXA6IE1hcDxudW1iZXIsIHN0cmluZ1tdPiA9IG5ldyBNYXAoKTtcbiAgcHVibGljIF9uZXdEYXRhOiBudW1iZXIgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmd4SW5kZXhlZERCU2VydmljZTogTmd4SW5kZXhlZERCU2VydmljZSxcbiAgICBwcml2YXRlIGNvbXByZXNzaW9uOiBDb21wcmVzc2lvblNlcnZpY2VcbiAgKSB7IH1cblxuICAvKipcbiAgICogT25seSBibG9iIGNhbiBiZSB3aWxsIGJlIGNvbXByZXNzZWRcbiAgICogQHBhcmFtIHVybFxuICAgKiBAcGFyYW0gcmVnaW9uSURcbiAgICogQHBhcmFtIG9iamVjdCBvYmplY3QgdG8gaGFuZGxlXG4gICAqIEBwYXJhbSBpbnNlcnRTb3VyY2UgdHlwZSBvZiBldmVudCB1c2VyIG9yIHN5c3RlbVxuICAgKiBAcGFyYW0gaW5zZXJ0RXZlbnQgTmFtZSBvZiB0aGUgZXZlbnQgd2hlcmUgdGhlIGluc2VydCBoYXMgYmVlbiB0cmlnZ2VyZWRcbiAgICogQHJldHVybnNcbiAgICovXG4gIHVwZGF0ZSh1cmw6IHN0cmluZywgcmVnaW9uSUQ6IGFueSwgb2JqZWN0OiBhbnksIGluc2VydFNvdXJjZTogSW5zZXJ0U291cmNlSW5zZXJ0REJFbnVtLCBpbnNlcnRFdmVudDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIW9iamVjdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgY29tcHJlc3MgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN1YmplY3Q6IFN1YmplY3Q8R2VvREJEYXRhPiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgbGV0IG9iamVjdCQ6IE9ic2VydmFibGU8YW55PiA9IG9mKG9iamVjdCk7XG4gICAgaWYgKG9iamVjdCBpbnN0YW5jZW9mIEJsb2IpIHtcbiAgICAgIG9iamVjdCQgPSB0aGlzLmNvbXByZXNzaW9uLmNvbXByZXNzQmxvYihvYmplY3QpO1xuICAgICAgY29tcHJlc3MgPSB0cnVlO1xuICAgIH1cbiAgICBsZXQgZ2VvREJEYXRhOiBHZW9EQkRhdGE7XG4gICAgb2JqZWN0JC5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIGNvbmNhdE1hcChvYmplY3QgPT4ge1xuICAgICAgICBnZW9EQkRhdGEgPSB7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIHJlZ2lvbklELFxuICAgICAgICAgIG9iamVjdDogb2JqZWN0LFxuICAgICAgICAgIGNvbXByZXNzZWQ6IGNvbXByZXNzLFxuICAgICAgICAgIGluc2VydFNvdXJjZSxcbiAgICAgICAgICBpbnNlcnRFdmVudFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEJ5SUQodGhpcy5kYk5hbWUsIHVybCk7XG4gICAgICB9KSxcbiAgICAgIGNvbmNhdE1hcCgoZGJPYmplY3Q6IEdlb0RCRGF0YSkgPT4ge1xuICAgICAgICBpZiAoIWRiT2JqZWN0KSB7XG4gICAgICAgICAgdGhpcy5fbmV3RGF0YSsrO1xuICAgICAgICAgIHJldHVybiB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuYWRkKHRoaXMuZGJOYW1lLCBnZW9EQkRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSZWdpb25JRCA9IGRiT2JqZWN0LnJlZ2lvbklEO1xuICAgICAgICAgIGlmIChjdXJyZW50UmVnaW9uSUQgIT09IHJlZ2lvbklEKSB7XG4gICAgICAgICAgICBjb25zdCBjb2xsaXNpb25zID0gdGhpcy5jb2xsaXNpb25zTWFwLmdldChjdXJyZW50UmVnaW9uSUQpO1xuICAgICAgICAgICAgaWYgKGNvbGxpc2lvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBjb2xsaXNpb25zLnB1c2goZGJPYmplY3QudXJsKTtcbiAgICAgICAgICAgICAgdGhpcy5jb2xsaXNpb25zTWFwLnNldChjdXJyZW50UmVnaW9uSUQsIGNvbGxpc2lvbnMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5jb2xsaXNpb25zTWFwLnNldChjdXJyZW50UmVnaW9uSUQsIFtkYk9iamVjdC51cmxdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tVXBkYXRlKGdlb0RCRGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICBzdWJqZWN0Lm5leHQocmVzcG9uc2UpO1xuICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIH0pO1xuICAgIHJldHVybiBzdWJqZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBjdXN0b21VcGRhdGUoZ2VvREJEYXRhOiBHZW9EQkRhdGEpOiBPYnNlcnZhYmxlPEdlb0RCRGF0YT4ge1xuICAgIGNvbnN0IHN1YmplY3Q6IFN1YmplY3Q8R2VvREJEYXRhPiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgY29uc3QgZGVsZXRlUmVxdWVzdCA9IHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5kZWxldGVCeUtleSh0aGlzLmRiTmFtZSwgZ2VvREJEYXRhLnVybCk7XG4gICAgZGVsZXRlUmVxdWVzdC5waXBlKFxuICAgICAgY29uY2F0TWFwKGlzRGVsZXRlZCA9PiBpc0RlbGV0ZWQgPyB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuYWRkKHRoaXMuZGJOYW1lLCBnZW9EQkRhdGEpIDogb2YodW5kZWZpbmVkKSlcbiAgICApXG4gICAgLnN1YnNjcmliZShvYmplY3QgPT4ge1xuICAgICAgaWYgKG9iamVjdCkge1xuICAgICAgICBzdWJqZWN0Lm5leHQob2JqZWN0KTtcbiAgICAgIH1cbiAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc3ViamVjdDtcbiAgfVxuXG4gIGdldCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5nZXRCeUlEKHRoaXMuZGJOYW1lLCB1cmwpLnBpcGUoXG4gICAgICBtYXAoKGRhdGE6IEdlb0RCRGF0YSkgPT4ge1xuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgIGNvbnN0IG9iamVjdCA9IGRhdGEub2JqZWN0O1xuICAgICAgICAgIGlmICghZGF0YS5jb21wcmVzc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcy5jb21wcmVzc2lvbi5kZWNvbXByZXNzQmxvYihvYmplY3QpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRCeUlEKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEJ5SUQodGhpcy5kYk5hbWUsIHVybCk7XG4gIH1cblxuICBkZWxldGVCeUtleSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5kZWxldGVCeUtleSh0aGlzLmRiTmFtZSwgdXJsKTtcbiAgfVxuXG4gIGdldFJlZ2lvbkNvdW50QnlJRChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICBjb25zdCBzdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdCgpO1xuICAgIGNvbnN0IGRiUmVxdWVzdCA9IHRoaXMuZ2V0UmVnaW9uQnlJRChpZClcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGFzKSA9PiB7XG4gICAgICAgIHN1YmplY3QubmV4dChkYXRhcy5sZW5ndGgpO1xuICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICB9KTtcbiAgICByZXR1cm4gc3ViamVjdDtcbiAgfVxuXG4gIGdldFJlZ2lvbkJ5SUQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICBpZiAoIWlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgSURCS2V5OiBJREJLZXlSYW5nZSA9IElEQktleVJhbmdlLm9ubHkoaWQpO1xuICAgIGNvbnN0IGRiUmVxdWVzdCA9IHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5nZXRBbGxCeUluZGV4KHRoaXMuZGJOYW1lLCAncmVnaW9uSUQnLCBJREJLZXkpO1xuICAgIHJldHVybiBkYlJlcXVlc3Q7XG4gIH1cblxuICBkZWxldGVCeVJlZ2lvbklEKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBJREJLZXk6IElEQktleVJhbmdlID0gSURCS2V5UmFuZ2Uub25seShpZCk7XG4gICAgY29uc3QgZGJSZXF1ZXN0ID0gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEFsbEJ5SW5kZXgodGhpcy5kYk5hbWUsICdyZWdpb25JRCcsIElEQktleSk7XG4gICAgZGJSZXF1ZXN0LnN1YnNjcmliZSgoZGF0YXM6IEdlb0RCRGF0YVtdKSA9PiB7XG4gICAgICBkYXRhcy5mb3JFYWNoKChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5kZWxldGVCeUtleSh0aGlzLmRiTmFtZSwgZGF0YS51cmwpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGRiUmVxdWVzdDtcbiAgfVxuXG4gIG9wZW5DdXJzb3IoXG4gICAga2V5UmFuZ2U6IElEQktleVJhbmdlID0gSURCS2V5UmFuZ2UubG93ZXJCb3VuZCgwKSxcbiAgICBtb2RlOiBEQk1vZGUgPSBEQk1vZGUucmVhZG9ubHlcbiAgKSB7XG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5vcGVuQ3Vyc29yQnlJbmRleCh0aGlzLmRiTmFtZSwgJ3JlZ2lvbklEJywga2V5UmFuZ2UsIG1vZGUpO1xuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcmVzZXRDb3VudGVycygpIHtcbiAgICB0aGlzLnJlc2V0Q29sbGlzaW9uc01hcCgpO1xuICAgIHRoaXMuX25ld0RhdGEgPSAwO1xuICB9XG5cbiAgcmVzZXRDb2xsaXNpb25zTWFwKCkge1xuICAgIHRoaXMuY29sbGlzaW9uc01hcCA9IG5ldyBNYXAoKTtcbiAgfVxuXG4gIHJldmVydENvbGxpc2lvbnMoKSB7XG4gICAgZm9yIChjb25zdCBbcmVnaW9uSUQsIGNvbGxpc2lvbnNdIG9mIHRoaXMuY29sbGlzaW9uc01hcCkge1xuICAgICAgZm9yIChjb25zdCB1cmwgb2YgY29sbGlzaW9ucykge1xuICAgICAgICB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuZ2V0QnlLZXkodGhpcy5kYk5hbWUsIHVybClcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKGRiT2JqZWN0OiBHZW9EQkRhdGEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRPYmplY3QgPSBkYk9iamVjdDtcbiAgICAgICAgICAgIHVwZGF0ZWRPYmplY3QucmVnaW9uSUQgPSByZWdpb25JRDtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVXBkYXRlKGRiT2JqZWN0KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgbmV3RGF0YSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9uZXdEYXRhO1xuICB9XG59XG4iXX0=
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvREIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL29mZmxpbmUvZ2VvREIvZ2VvREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBUTdELE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQ1UsbUJBQXdDLEVBQ3hDLFdBQStCO1FBRC9CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBTmhDLFdBQU0sR0FBVyxTQUFTLENBQUM7UUFDN0Isa0JBQWEsR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqRCxhQUFRLEdBQVcsQ0FBQyxDQUFDO0lBS3hCLENBQUM7SUFFTDs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxHQUFXLEVBQUUsUUFBYSxFQUFFLE1BQVcsRUFBRSxZQUFzQyxFQUFFLFdBQW1CO1FBQ3pHLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFDRCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFFckIsTUFBTSxPQUFPLEdBQXVCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDbEQsSUFBSSxPQUFPLEdBQW9CLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLE1BQU0sWUFBWSxJQUFJLEVBQUU7WUFDMUIsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hELFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDakI7UUFDRCxJQUFJLFNBQW9CLENBQUM7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FDVixLQUFLLEVBQUUsRUFDUCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakIsU0FBUyxHQUFHO2dCQUNWLEdBQUc7Z0JBQ0gsUUFBUTtnQkFDUixNQUFNLEVBQUUsTUFBTTtnQkFDZCxVQUFVLEVBQUUsUUFBUTtnQkFDcEIsWUFBWTtnQkFDWixXQUFXO2FBQ1osQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxDQUFDLFFBQW1CLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNiLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDN0Q7aUJBQU07Z0JBQ0wsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDMUMsSUFBSSxlQUFlLEtBQUssUUFBUSxFQUFFO29CQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDM0QsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFO3dCQUM1QixVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO3FCQUNyRDt5QkFBTTt3QkFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztxQkFDekQ7aUJBQ0Y7Z0JBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3JDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxZQUFZLENBQUMsU0FBb0I7UUFDdkMsTUFBTSxPQUFPLEdBQXVCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDbEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RixhQUFhLENBQUMsSUFBSSxDQUNoQixTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ3pHO2FBQ0EsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksTUFBTSxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDdEI7WUFDRCxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzVELEdBQUcsQ0FBQyxDQUFDLElBQWUsRUFBRSxFQUFFO1lBQ3RCLElBQUksSUFBSSxFQUFFO2dCQUNSLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNwQixPQUFPLE1BQU0sQ0FBQztpQkFDZjtnQkFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2hEO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQVU7UUFDM0IsTUFBTSxPQUFPLEdBQW9CLElBQUksT0FBTyxFQUFFLENBQUM7UUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7YUFDckMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0IsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFVO1FBQ3RCLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDUCxPQUFPO1NBQ1I7UUFFRCxNQUFNLE1BQU0sR0FBZ0IsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFVO1FBQ3pCLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDUCxPQUFPO1NBQ1I7UUFFRCxNQUFNLE1BQU0sR0FBZ0IsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFGLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUU7WUFDekMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsVUFBVSxDQUNSLFdBQXdCLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQ2pELE9BQWUsTUFBTSxDQUFDLFFBQVE7UUFFOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2RCxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztxQkFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDYixTQUFTLENBQUMsQ0FBQyxRQUFtQixFQUFFLEVBQUU7b0JBQ2pDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztvQkFDL0IsYUFBYSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzlCLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7d0VBL0tVLFlBQVk7a0VBQVosWUFBWSxXQUFaLFlBQVksbUJBRlgsTUFBTTt1RkFFUCxZQUFZO2NBSHhCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgREJNb2RlLCBOZ3hJbmRleGVkREJTZXJ2aWNlIH0gZnJvbSAnbmd4LWluZGV4ZWQtZGInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjb25jYXRNYXAsIGZpcnN0LCBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbXByZXNzaW9uU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBHZW9EQkRhdGEgfSBmcm9tICcuL2dlb0RCLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEluc2VydFNvdXJjZUluc2VydERCRW51bSB9IGZyb20gJy4vZ2VvREIuZW51bXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgR2VvREJTZXJ2aWNlIHtcclxuICByZWFkb25seSBkYk5hbWU6IHN0cmluZyA9ICdnZW9EYXRhJztcclxuICBwdWJsaWMgY29sbGlzaW9uc01hcDogTWFwPG51bWJlciwgc3RyaW5nW10+ID0gbmV3IE1hcCgpO1xyXG4gIHB1YmxpYyBfbmV3RGF0YTogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG5neEluZGV4ZWREQlNlcnZpY2U6IE5neEluZGV4ZWREQlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbXByZXNzaW9uOiBDb21wcmVzc2lvblNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBPbmx5IGJsb2IgY2FuIGJlIGNvbXByZXNzZWRcclxuICAgKiBAcGFyYW0gdXJsXHJcbiAgICogQHBhcmFtIHJlZ2lvbklEXHJcbiAgICogQHBhcmFtIG9iamVjdCBvYmplY3QgdG8gaGFuZGxlXHJcbiAgICogQHBhcmFtIGluc2VydFNvdXJjZSB0eXBlIG9mIGV2ZW50IHVzZXIgb3Igc3lzdGVtXHJcbiAgICogQHBhcmFtIGluc2VydEV2ZW50IE5hbWUgb2YgdGhlIGV2ZW50IHdoZXJlIHRoZSBpbnNlcnQgaGFzIGJlZW4gdHJpZ2dlcmVkXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICB1cGRhdGUodXJsOiBzdHJpbmcsIHJlZ2lvbklEOiBhbnksIG9iamVjdDogYW55LCBpbnNlcnRTb3VyY2U6IEluc2VydFNvdXJjZUluc2VydERCRW51bSwgaW5zZXJ0RXZlbnQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoIW9iamVjdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgY29tcHJlc3MgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBzdWJqZWN0OiBTdWJqZWN0PEdlb0RCRGF0YT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgbGV0IG9iamVjdCQ6IE9ic2VydmFibGU8YW55PiA9IG9mKG9iamVjdCk7XHJcbiAgICBpZiAob2JqZWN0IGluc3RhbmNlb2YgQmxvYikge1xyXG4gICAgICBvYmplY3QkID0gdGhpcy5jb21wcmVzc2lvbi5jb21wcmVzc0Jsb2Iob2JqZWN0KTtcclxuICAgICAgY29tcHJlc3MgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgbGV0IGdlb0RCRGF0YTogR2VvREJEYXRhO1xyXG4gICAgb2JqZWN0JC5waXBlKFxyXG4gICAgICBmaXJzdCgpLFxyXG4gICAgICBjb25jYXRNYXAob2JqZWN0ID0+IHtcclxuICAgICAgICBnZW9EQkRhdGEgPSB7XHJcbiAgICAgICAgICB1cmwsXHJcbiAgICAgICAgICByZWdpb25JRCxcclxuICAgICAgICAgIG9iamVjdDogb2JqZWN0LFxyXG4gICAgICAgICAgY29tcHJlc3NlZDogY29tcHJlc3MsXHJcbiAgICAgICAgICBpbnNlcnRTb3VyY2UsXHJcbiAgICAgICAgICBpbnNlcnRFdmVudFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5nZXRCeUlEKHRoaXMuZGJOYW1lLCB1cmwpO1xyXG4gICAgICB9KSxcclxuICAgICAgY29uY2F0TWFwKChkYk9iamVjdDogR2VvREJEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKCFkYk9iamVjdCkge1xyXG4gICAgICAgICAgdGhpcy5fbmV3RGF0YSsrO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5hZGQodGhpcy5kYk5hbWUsIGdlb0RCRGF0YSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSZWdpb25JRCA9IGRiT2JqZWN0LnJlZ2lvbklEO1xyXG4gICAgICAgICAgaWYgKGN1cnJlbnRSZWdpb25JRCAhPT0gcmVnaW9uSUQpIHtcclxuICAgICAgICAgICAgY29uc3QgY29sbGlzaW9ucyA9IHRoaXMuY29sbGlzaW9uc01hcC5nZXQoY3VycmVudFJlZ2lvbklEKTtcclxuICAgICAgICAgICAgaWYgKGNvbGxpc2lvbnMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgIGNvbGxpc2lvbnMucHVzaChkYk9iamVjdC51cmwpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY29sbGlzaW9uc01hcC5zZXQoY3VycmVudFJlZ2lvbklELCBjb2xsaXNpb25zKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmNvbGxpc2lvbnNNYXAuc2V0KGN1cnJlbnRSZWdpb25JRCwgW2RiT2JqZWN0LnVybF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21VcGRhdGUoZ2VvREJEYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgc3ViamVjdC5uZXh0KHJlc3BvbnNlKTtcclxuICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc3ViamVjdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3VzdG9tVXBkYXRlKGdlb0RCRGF0YTogR2VvREJEYXRhKTogT2JzZXJ2YWJsZTxHZW9EQkRhdGE+IHtcclxuICAgIGNvbnN0IHN1YmplY3Q6IFN1YmplY3Q8R2VvREJEYXRhPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICBjb25zdCBkZWxldGVSZXF1ZXN0ID0gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmRlbGV0ZUJ5S2V5KHRoaXMuZGJOYW1lLCBnZW9EQkRhdGEudXJsKTtcclxuICAgIGRlbGV0ZVJlcXVlc3QucGlwZShcclxuICAgICAgY29uY2F0TWFwKGlzRGVsZXRlZCA9PiBpc0RlbGV0ZWQgPyB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuYWRkKHRoaXMuZGJOYW1lLCBnZW9EQkRhdGEpIDogb2YodW5kZWZpbmVkKSlcclxuICAgIClcclxuICAgIC5zdWJzY3JpYmUob2JqZWN0ID0+IHtcclxuICAgICAgaWYgKG9iamVjdCkge1xyXG4gICAgICAgIHN1YmplY3QubmV4dChvYmplY3QpO1xyXG4gICAgICB9XHJcbiAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHN1YmplY3Q7XHJcbiAgfVxyXG5cclxuICBnZXQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5nZXRCeUlEKHRoaXMuZGJOYW1lLCB1cmwpLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YTogR2VvREJEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIGNvbnN0IG9iamVjdCA9IGRhdGEub2JqZWN0O1xyXG4gICAgICAgICAgaWYgKCFkYXRhLmNvbXByZXNzZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9iamVjdDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB0aGlzLmNvbXByZXNzaW9uLmRlY29tcHJlc3NCbG9iKG9iamVjdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEJ5SUQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5nZXRCeUlEKHRoaXMuZGJOYW1lLCB1cmwpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQnlLZXkodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5kZWxldGVCeUtleSh0aGlzLmRiTmFtZSwgdXJsKTtcclxuICB9XHJcblxyXG4gIGdldFJlZ2lvbkNvdW50QnlJRChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHN1YmplY3Q6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICBjb25zdCBkYlJlcXVlc3QgPSB0aGlzLmdldFJlZ2lvbkJ5SUQoaWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGFzKSA9PiB7XHJcbiAgICAgICAgc3ViamVjdC5uZXh0KGRhdGFzLmxlbmd0aCk7XHJcbiAgICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIHJldHVybiBzdWJqZWN0O1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVnaW9uQnlJRChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgaWYgKCFpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgSURCS2V5OiBJREJLZXlSYW5nZSA9IElEQktleVJhbmdlLm9ubHkoaWQpO1xyXG4gICAgY29uc3QgZGJSZXF1ZXN0ID0gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEFsbEJ5SW5kZXgodGhpcy5kYk5hbWUsICdyZWdpb25JRCcsIElEQktleSk7XHJcbiAgICByZXR1cm4gZGJSZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQnlSZWdpb25JRChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghaWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IElEQktleTogSURCS2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5vbmx5KGlkKTtcclxuICAgIGNvbnN0IGRiUmVxdWVzdCA9IHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5nZXRBbGxCeUluZGV4KHRoaXMuZGJOYW1lLCAncmVnaW9uSUQnLCBJREJLZXkpO1xyXG4gICAgZGJSZXF1ZXN0LnN1YnNjcmliZSgoZGF0YXM6IEdlb0RCRGF0YVtdKSA9PiB7XHJcbiAgICAgIGRhdGFzLmZvckVhY2goKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuZGVsZXRlQnlLZXkodGhpcy5kYk5hbWUsIGRhdGEudXJsKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkYlJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBvcGVuQ3Vyc29yKFxyXG4gICAga2V5UmFuZ2U6IElEQktleVJhbmdlID0gSURCS2V5UmFuZ2UubG93ZXJCb3VuZCgwKSxcclxuICAgIG1vZGU6IERCTW9kZSA9IERCTW9kZS5yZWFkb25seVxyXG4gICkge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5vcGVuQ3Vyc29yQnlJbmRleCh0aGlzLmRiTmFtZSwgJ3JlZ2lvbklEJywga2V5UmFuZ2UsIG1vZGUpO1xyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICByZXNldENvdW50ZXJzKCkge1xyXG4gICAgdGhpcy5yZXNldENvbGxpc2lvbnNNYXAoKTtcclxuICAgIHRoaXMuX25ld0RhdGEgPSAwO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRDb2xsaXNpb25zTWFwKCkge1xyXG4gICAgdGhpcy5jb2xsaXNpb25zTWFwID0gbmV3IE1hcCgpO1xyXG4gIH1cclxuXHJcbiAgcmV2ZXJ0Q29sbGlzaW9ucygpIHtcclxuICAgIGZvciAoY29uc3QgW3JlZ2lvbklELCBjb2xsaXNpb25zXSBvZiB0aGlzLmNvbGxpc2lvbnNNYXApIHtcclxuICAgICAgZm9yIChjb25zdCB1cmwgb2YgY29sbGlzaW9ucykge1xyXG4gICAgICAgIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5nZXRCeUtleSh0aGlzLmRiTmFtZSwgdXJsKVxyXG4gICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKGRiT2JqZWN0OiBHZW9EQkRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdXBkYXRlZE9iamVjdCA9IGRiT2JqZWN0O1xyXG4gICAgICAgICAgICB1cGRhdGVkT2JqZWN0LnJlZ2lvbklEID0gcmVnaW9uSUQ7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVXBkYXRlKGRiT2JqZWN0KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgbmV3RGF0YSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX25ld0RhdGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './geoDB';
|
|
2
|
+
export * from './layerDB';
|
|
2
3
|
export * from './shared';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vZmZsaW5lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW9EQic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXJEQic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcclxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './layerDB.interface';
|
|
2
|
+
export * from './layerDB.service';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vZmZsaW5lL2xheWVyREIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXllckRCLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXJEQi5zZXJ2aWNlJztcclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJEQi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9vZmZsaW5lL2xheWVyREIvbGF5ZXJEQi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMYXllckRCRGF0YSB7XHJcbiAgICBsYXllcklkOiBzdHJpbmc7XHJcbiAgICBsYXllck9wdGlvbnM6IGFueVxyXG4gICAgc291cmNlT3B0aW9uczogYW55O1xyXG4gICAgaW5zZXJ0RXZlbnQ6IHN0cmluZztcclxuICAgIGRldGFpbGVkQ29udGV4dFVyaTogc3RyaW5nXHJcbn1cclxuXHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { of, Subject } from 'rxjs';
|
|
3
|
+
import { concatMap, first } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "ngx-indexed-db";
|
|
6
|
+
export class LayerDBService {
|
|
7
|
+
constructor(ngxIndexedDBService) {
|
|
8
|
+
this.ngxIndexedDBService = ngxIndexedDBService;
|
|
9
|
+
this.dbName = 'layerData';
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* This method allow to update the stored layer into the indexeddb (layerData)
|
|
13
|
+
* @param layerDBData
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
update(layerDBData) {
|
|
17
|
+
const subject = new Subject();
|
|
18
|
+
this.ngxIndexedDBService.getByID(this.dbName, layerDBData.layerId).pipe(first(), concatMap((dbObject) => {
|
|
19
|
+
if (!dbObject) {
|
|
20
|
+
return this.ngxIndexedDBService.add(this.dbName, layerDBData);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return this.customUpdate(layerDBData);
|
|
24
|
+
}
|
|
25
|
+
})).subscribe((response) => {
|
|
26
|
+
subject.next(response);
|
|
27
|
+
subject.complete();
|
|
28
|
+
});
|
|
29
|
+
return subject;
|
|
30
|
+
}
|
|
31
|
+
customUpdate(layerDBData) {
|
|
32
|
+
const subject = new Subject();
|
|
33
|
+
const deleteRequest = this.ngxIndexedDBService.deleteByKey(this.dbName, layerDBData.layerId);
|
|
34
|
+
deleteRequest.pipe(concatMap(isDeleted => isDeleted ? this.ngxIndexedDBService.add(this.dbName, layerDBData) : of(undefined)))
|
|
35
|
+
.subscribe(object => {
|
|
36
|
+
if (object) {
|
|
37
|
+
subject.next(object);
|
|
38
|
+
}
|
|
39
|
+
subject.complete();
|
|
40
|
+
});
|
|
41
|
+
return subject;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* This method retrieve an idb layer definition
|
|
45
|
+
* @param layerId
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
getByID(layerId) {
|
|
49
|
+
return this.ngxIndexedDBService.getByID(this.dbName, layerId);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* This method delete an idb layer definition
|
|
53
|
+
* @param layerId
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
deleteByKey(layerId) {
|
|
57
|
+
return this.ngxIndexedDBService.deleteByKey(this.dbName, layerId);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* This method retrive all idb layer definition
|
|
61
|
+
* @param layerId
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
getAll() {
|
|
65
|
+
return this.ngxIndexedDBService.getAll(this.dbName);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
LayerDBService.ɵfac = function LayerDBService_Factory(t) { return new (t || LayerDBService)(i0.ɵɵinject(i1.NgxIndexedDBService)); };
|
|
69
|
+
LayerDBService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LayerDBService, factory: LayerDBService.ɵfac, providedIn: 'root' });
|
|
70
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerDBService, [{
|
|
71
|
+
type: Injectable,
|
|
72
|
+
args: [{
|
|
73
|
+
providedIn: 'root'
|
|
74
|
+
}]
|
|
75
|
+
}], function () { return [{ type: i1.NgxIndexedDBService }]; }, null); })();
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJEQi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvb2ZmbGluZS9sYXllckRCL2xheWVyREIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU1sRCxNQUFNLE9BQU8sY0FBYztJQUd6QixZQUNVLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBSHpDLFdBQU0sR0FBVyxXQUFXLENBQUM7SUFJbEMsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsV0FBd0I7UUFDN0IsTUFBTSxPQUFPLEdBQXlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3JFLEtBQUssRUFBRSxFQUNQLFNBQVMsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNiLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQy9EO2lCQUFNO2dCQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QixPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU8sWUFBWSxDQUFDLFdBQXdCO1FBQzNDLE1BQU0sT0FBTyxHQUF5QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3BELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0YsYUFBYSxDQUFDLElBQUksQ0FDaEIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUMzRzthQUNBLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLE1BQU0sRUFBRTtnQkFDVixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3RCO1lBQ0QsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUdEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxPQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7NEVBdkVVLGNBQWM7b0VBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTt1RkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmd4SW5kZXhlZERCU2VydmljZSB9IGZyb20gJ25neC1pbmRleGVkLWRiJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY29uY2F0TWFwLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTGF5ZXJEQkRhdGEgfSBmcm9tICcuL2xheWVyREIuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExheWVyREJTZXJ2aWNlIHtcclxuICByZWFkb25seSBkYk5hbWU6IHN0cmluZyA9ICdsYXllckRhdGEnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbmd4SW5kZXhlZERCU2VydmljZTogTmd4SW5kZXhlZERCU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgbWV0aG9kIGFsbG93IHRvIHVwZGF0ZSB0aGUgc3RvcmVkIGxheWVyIGludG8gdGhlIGluZGV4ZWRkYiAobGF5ZXJEYXRhKVxyXG4gICAqIEBwYXJhbSBsYXllckRCRGF0YVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgdXBkYXRlKGxheWVyREJEYXRhOiBMYXllckRCRGF0YSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBzdWJqZWN0OiBTdWJqZWN0PExheWVyREJEYXRhPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICB0aGlzLm5neEluZGV4ZWREQlNlcnZpY2UuZ2V0QnlJRCh0aGlzLmRiTmFtZSwgbGF5ZXJEQkRhdGEubGF5ZXJJZCkucGlwZShcclxuICAgICAgZmlyc3QoKSxcclxuICAgICAgY29uY2F0TWFwKChkYk9iamVjdDogTGF5ZXJEQkRhdGEpID0+IHtcclxuICAgICAgICBpZiAoIWRiT2JqZWN0KSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmFkZCh0aGlzLmRiTmFtZSwgbGF5ZXJEQkRhdGEpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21VcGRhdGUobGF5ZXJEQkRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICBzdWJqZWN0Lm5leHQocmVzcG9uc2UpO1xyXG4gICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBzdWJqZWN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjdXN0b21VcGRhdGUobGF5ZXJEQkRhdGE6IExheWVyREJEYXRhKTogT2JzZXJ2YWJsZTxMYXllckRCRGF0YT4ge1xyXG4gICAgY29uc3Qgc3ViamVjdDogU3ViamVjdDxMYXllckRCRGF0YT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgY29uc3QgZGVsZXRlUmVxdWVzdCA9IHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5kZWxldGVCeUtleSh0aGlzLmRiTmFtZSwgbGF5ZXJEQkRhdGEubGF5ZXJJZCk7XHJcbiAgICBkZWxldGVSZXF1ZXN0LnBpcGUoXHJcbiAgICAgIGNvbmNhdE1hcChpc0RlbGV0ZWQgPT4gaXNEZWxldGVkID8gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmFkZCh0aGlzLmRiTmFtZSwgbGF5ZXJEQkRhdGEpIDogb2YodW5kZWZpbmVkKSlcclxuICAgIClcclxuICAgIC5zdWJzY3JpYmUob2JqZWN0ID0+IHtcclxuICAgICAgaWYgKG9iamVjdCkge1xyXG4gICAgICAgIHN1YmplY3QubmV4dChvYmplY3QpO1xyXG4gICAgICB9XHJcbiAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHN1YmplY3Q7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2QgcmV0cmlldmUgYW4gaWRiIGxheWVyIGRlZmluaXRpb25cclxuICAgKiBAcGFyYW0gbGF5ZXJJZFxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0QnlJRChsYXllcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExheWVyREJEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEJ5SUQodGhpcy5kYk5hbWUsIGxheWVySWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2QgZGVsZXRlIGFuIGlkYiBsYXllciBkZWZpbml0aW9uXHJcbiAgICogQHBhcmFtIGxheWVySWRcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGRlbGV0ZUJ5S2V5KGxheWVySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMubmd4SW5kZXhlZERCU2VydmljZS5kZWxldGVCeUtleSh0aGlzLmRiTmFtZSwgbGF5ZXJJZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCByZXRyaXZlIGFsbCBpZGIgbGF5ZXIgZGVmaW5pdGlvblxyXG4gICAqIEBwYXJhbSBsYXllcklkXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXRBbGwoKTogT2JzZXJ2YWJsZTxMYXllckRCRGF0YVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5uZ3hJbmRleGVkREJTZXJ2aWNlLmdldEFsbCh0aGlzLmRiTmFtZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|