simwrapper 4.3.8__tar.gz → 4.3.9__tar.gz
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.
- {simwrapper-4.3.8 → simwrapper-4.3.9}/PKG-INFO +1 -1
- {simwrapper-4.3.8 → simwrapper-4.3.9}/pyproject.toml +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/AggregateOd-4cK_E61X.js → simwrapper-4.3.9/simwrapper/static/assets/AggregateOd-Bqhr3HKF.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/BackgroundLayers-CnD_YY2y.js → simwrapper-4.3.9/simwrapper/static/assets/BackgroundLayers-DzNi37is.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/CalculationTable-Cy6wPNO7.js → simwrapper-4.3.9/simwrapper/static/assets/CalculationTable-DnFH1Oj1.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/CarrierViewer-DHaG1erp.js → simwrapper-4.3.9/simwrapper/static/assets/CarrierViewer-CywMFgkq.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/CollapsiblePanel-CPhYbPL1.js → simwrapper-4.3.9/simwrapper/static/assets/CollapsiblePanel-D2nvRwpD.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/ColorsAndWidths-Dh530C_N.js → simwrapper-4.3.9/simwrapper/static/assets/ColorsAndWidths-DWf86C_R.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/DashboardDataManager-DamP88-4.js → simwrapper-4.3.9/simwrapper/static/assets/DashboardDataManager-PczsUcKT.js +2 -2
- simwrapper-4.3.8/simwrapper/static/assets/DrawingTool-o8MSGvZv.js → simwrapper-4.3.9/simwrapper/static/assets/DrawingTool-Ch8F_0Nh.js +3 -3
- simwrapper-4.3.8/simwrapper/static/assets/EmbedView-k2eNXs2w.js → simwrapper-4.3.9/simwrapper/static/assets/EmbedView-BrMMm671.js +1 -1
- simwrapper-4.3.9/simwrapper/static/assets/ErrorPanel-BDY6RtzC.css +1 -0
- simwrapper-4.3.8/simwrapper/static/assets/ErrorPanel-NX3khls6.js → simwrapper-4.3.9/simwrapper/static/assets/ErrorPanel-DK3URpjY.js +4 -4
- simwrapper-4.3.8/simwrapper/static/assets/EventViewer-ogfbamDA.js → simwrapper-4.3.9/simwrapper/static/assets/EventViewer-b5a0_nbX.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/FileSelector-Bx-aRGV-.js → simwrapper-4.3.9/simwrapper/static/assets/FileSelector-MxGH7h90.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/Flowmap-BM_nzMhc.js → simwrapper-4.3.9/simwrapper/static/assets/Flowmap-Dojn5J5a.js +1 -1
- simwrapper-4.3.9/simwrapper/static/assets/GridMap-BA5dOpWQ.css +1 -0
- simwrapper-4.3.9/simwrapper/static/assets/GridMap-C8ahogSW.js +5 -0
- simwrapper-4.3.8/simwrapper/static/assets/HTTPFileSystem-D1GbYP-b.js → simwrapper-4.3.9/simwrapper/static/assets/HTTPFileSystem-BvMX73pb.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/ImageView-D31_2a-h.js → simwrapper-4.3.9/simwrapper/static/assets/ImageView-CkHUcrKw.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/LayerMap-DeC-f2lK.js → simwrapper-4.3.9/simwrapper/static/assets/LayerMap-D-ZlsjpZ.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/LayoutManager-C-2ntWoQ.css → simwrapper-4.3.9/simwrapper/static/assets/LayoutManager-CxOLWdTK.css +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/LayoutManager-B1h91Qqv.js → simwrapper-4.3.9/simwrapper/static/assets/LayoutManager-D9MOsEl6.js +3 -3
- simwrapper-4.3.8/simwrapper/static/assets/LegendBox-CaDcmiCd.js → simwrapper-4.3.9/simwrapper/static/assets/LegendBox-CloYjuqZ.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/LegendColors-DFEnv3QM.js → simwrapper-4.3.9/simwrapper/static/assets/LegendColors-DevphP7A.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/LogisticsViewer-ebQoUIzA.js → simwrapper-4.3.9/simwrapper/static/assets/LogisticsViewer-CfhvtU4n.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/MatrixViewer-C9c_h9WR.js → simwrapper-4.3.9/simwrapper/static/assets/MatrixViewer-BGcKldqJ.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/ModalIdColumnPicker-BkCAlKha.js → simwrapper-4.3.9/simwrapper/static/assets/ModalIdColumnPicker-ChEhs5fm.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/NetworkLinks-CHswtTV8.js → simwrapper-4.3.9/simwrapper/static/assets/NetworkLinks-B_U0TJnt.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/PathOffsetLayer-BAg9qqJp.js → simwrapper-4.3.9/simwrapper/static/assets/PathOffsetLayer-BAmBLnzb.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/PathTraceLayer-DoIkcXOJ.js → simwrapper-4.3.9/simwrapper/static/assets/PathTraceLayer-CY7FhoEv.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/PieChartDemo-RRF7w_w6.js → simwrapper-4.3.9/simwrapper/static/assets/PieChartDemo-Bwq3RPEc.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/PlotlyDiagram-CkH80TS4.css → simwrapper-4.3.9/simwrapper/static/assets/PlotlyDiagram-CPmUuBr3.css +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/PlotlyDiagram-irqSTiMa.js → simwrapper-4.3.9/simwrapper/static/assets/PlotlyDiagram-DQ30kYXO.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/RunConfigurator-BTxtdibj.js → simwrapper-4.3.9/simwrapper/static/assets/RunConfigurator-D7a4CfTC.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/SankeyDiagram-Gj-hxb_o.js → simwrapper-4.3.9/simwrapper/static/assets/SankeyDiagram-BccJVjqR.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/ShapeFile-CzjRtHuO.css → simwrapper-4.3.9/simwrapper/static/assets/ShapeFile-Byk_vH3K.css +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/ShapeFile-BRDcy5zR.js → simwrapper-4.3.9/simwrapper/static/assets/ShapeFile-D7BtvD_j.js +2 -2
- simwrapper-4.3.8/simwrapper/static/assets/TimeSlider-9msC3ldH.js → simwrapper-4.3.9/simwrapper/static/assets/TimeSlider-D6deQyrX.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/TopSheet-D8qApw6E.js → simwrapper-4.3.9/simwrapper/static/assets/TopSheet-Djk8QTMY.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/TransitDemand-ojm6129j.js → simwrapper-4.3.9/simwrapper/static/assets/TransitDemand-APab96Zp.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/VegaLite-CbTtej-U.js → simwrapper-4.3.9/simwrapper/static/assets/VegaLite-Dd1RIena.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/VehicleAnimation-DjRHyYtP.js → simwrapper-4.3.9/simwrapper/static/assets/VehicleAnimation-CH3sa2yR.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/VehicleAnimation-BBUou5ff.js → simwrapper-4.3.9/simwrapper/static/assets/VehicleAnimation-CeeRIMsq.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/VideoPlayer-C4TListw.js → simwrapper-4.3.9/simwrapper/static/assets/VideoPlayer-2ujX9LY8.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/VizConfigurator-D11dQfuS.js → simwrapper-4.3.9/simwrapper/static/assets/VizConfigurator-B0yuorlx.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/VuePlotly-Ck2X9WXM.js → simwrapper-4.3.9/simwrapper/static/assets/VuePlotly-Da-pV0j3.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/XmlViewer-DoHvXNkp.js → simwrapper-4.3.9/simwrapper/static/assets/XmlViewer-DmrJDYWd.js +1 -1
- simwrapper-4.3.9/simwrapper/static/assets/XyHexagons-D8AMswsD.css +1 -0
- simwrapper-4.3.8/simwrapper/static/assets/XyHexagons-BWH3jbwZ.js → simwrapper-4.3.9/simwrapper/static/assets/XyHexagons-DeumvmWM.js +3 -3
- simwrapper-4.3.8/simwrapper/static/assets/XyTime-CMFvMR35.js → simwrapper-4.3.9/simwrapper/static/assets/XyTime-CaduNgKL.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/ZoomButtons-LlPdGkjg.js → simwrapper-4.3.9/simwrapper/static/assets/ZoomButtons-DeAQxdVt.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/aggregate-od-Zv1DK1Le.js → simwrapper-4.3.9/simwrapper/static/assets/aggregate-od-CiqKNK5G.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/area-IkkEag-u.js → simwrapper-4.3.9/simwrapper/static/assets/area-CQjffYn_.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/area-map-8Lob8W0c.js → simwrapper-4.3.9/simwrapper/static/assets/area-map-cFnJZgyI.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/bar-WoWjFVwc.js → simwrapper-4.3.9/simwrapper/static/assets/bar-y4tFl9_P.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/bubble-B-Go4fyx.js → simwrapper-4.3.9/simwrapper/static/assets/bubble-MTfvYkmV.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/carriers--Sy6jlUq.js → simwrapper-4.3.9/simwrapper/static/assets/carriers-oPGO1H7H.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/column-layer-CYrJbsUI.js → simwrapper-4.3.9/simwrapper/static/assets/column-layer-CtUIQN5O.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/flowmap-D4SATvnu.js → simwrapper-4.3.9/simwrapper/static/assets/flowmap-DGRoLigh.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/geo-utils-BMWVdEjV.js → simwrapper-4.3.9/simwrapper/static/assets/geo-utils-DH8a3zzF.js +32 -34
- simwrapper-4.3.8/simwrapper/static/assets/geojson-layer-Xa-LEuhE.js → simwrapper-4.3.9/simwrapper/static/assets/geojson-layer-DrXQTe8F.js +13 -13
- simwrapper-4.3.9/simwrapper/static/assets/gridmap-BT8HZG7v.js +1 -0
- simwrapper-4.3.8/simwrapper/static/assets/groups-DbZu-7wj.js → simwrapper-4.3.9/simwrapper/static/assets/groups-BAWRolRt.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/heatmap-Be0cHyOa.js → simwrapper-4.3.9/simwrapper/static/assets/heatmap-BRizAdsw.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/hexagons-RcE8Uyrc.js → simwrapper-4.3.9/simwrapper/static/assets/hexagons-tlLCuDok.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/index-CWHgNK9I.css → simwrapper-4.3.9/simwrapper/static/assets/index-B4Ghay6C.css +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/index-CyoTAm-d.js → simwrapper-4.3.9/simwrapper/static/assets/index-BLQ70iGH.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/index-Bor4ZlUN.js → simwrapper-4.3.9/simwrapper/static/assets/index-B_0DEKIM.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/index-C29WLT62.js → simwrapper-4.3.9/simwrapper/static/assets/index-CTSmLLzf.js +3 -3
- simwrapper-4.3.8/simwrapper/static/assets/index-BymMHNPq.js → simwrapper-4.3.9/simwrapper/static/assets/index-Cm_d5Y3s.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/index-DaQ2kJcj.js → simwrapper-4.3.9/simwrapper/static/assets/index-DAe_N7NH.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/layermap-CM6vOXJd.js → simwrapper-4.3.9/simwrapper/static/assets/layermap-DlkSS_6g.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/line-D2JI3sLu.js → simwrapper-4.3.9/simwrapper/static/assets/line-B6oxuD-2.js +1 -1
- simwrapper-4.3.9/simwrapper/static/assets/links-CYfDc2eb.js +1 -0
- simwrapper-4.3.8/simwrapper/static/assets/lodash-CFvev29B.js → simwrapper-4.3.9/simwrapper/static/assets/lodash-DHWMVG1_.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/matrix-D2AzAiEq.js → simwrapper-4.3.9/simwrapper/static/assets/matrix-DwD05-4U.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/nprogress-ssWnivVa.js → simwrapper-4.3.9/simwrapper/static/assets/nprogress-guksINGZ.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/papaparse.min-6_yDj9VD.js → simwrapper-4.3.9/simwrapper/static/assets/papaparse.min-5gydOv5d.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/pie-BgxxZlsh.js → simwrapper-4.3.9/simwrapper/static/assets/pie-CzwFgbxW.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/plotly-DBhC6p2v.js → simwrapper-4.3.9/simwrapper/static/assets/plotly-JO5JCNRS.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/sankey-BcTXe4Gh.js → simwrapper-4.3.9/simwrapper/static/assets/sankey-ByS0n2fY.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/scatter-D0u6wTFq.js → simwrapper-4.3.9/simwrapper/static/assets/scatter-CBeC23NU.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/slideshow-D-_l_UVU.js → simwrapper-4.3.9/simwrapper/static/assets/slideshow-CBIrzVO3.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/table-C3NKEB5G.js → simwrapper-4.3.9/simwrapper/static/assets/table-BXxBroTg.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/text-Dwzjxci-.js → simwrapper-4.3.9/simwrapper/static/assets/text-BkOdWx0Q.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/tile-jl4pBVl8.js → simwrapper-4.3.9/simwrapper/static/assets/tile-DEcluP8S.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/transit-DOjWO9vF.js → simwrapper-4.3.9/simwrapper/static/assets/transit-CoR2npXr.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/vega-B6PPl0um.js → simwrapper-4.3.9/simwrapper/static/assets/vega-rOHim7b2.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/vehicles-CJi83b63.js → simwrapper-4.3.9/simwrapper/static/assets/vehicles-DL2Kk5Pv.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/video-CT4CPQEK.js → simwrapper-4.3.9/simwrapper/static/assets/video-CIlGjuhH.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/xml-CJwSLt1f.js → simwrapper-4.3.9/simwrapper/static/assets/xml-faC3pxkt.js +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/xytime-D12M3-42.js → simwrapper-4.3.9/simwrapper/static/assets/xytime-DsgA_Amn.js +1 -1
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/index.html +2 -2
- {simwrapper-4.3.8 → simwrapper-4.3.9}/uv.lock +1 -1
- simwrapper-4.3.8/simwrapper/static/assets/ErrorPanel-CDoRxe6r.css +0 -1
- simwrapper-4.3.8/simwrapper/static/assets/GridMap-BJsJXp1B.js +0 -5
- simwrapper-4.3.8/simwrapper/static/assets/GridMap-CiZKj_bV.css +0 -1
- simwrapper-4.3.8/simwrapper/static/assets/XyHexagons-B8s4dmQS.css +0 -1
- simwrapper-4.3.8/simwrapper/static/assets/gridmap-BkJo6LIX.js +0 -1
- simwrapper-4.3.8/simwrapper/static/assets/links-DKoufshA.js +0 -1
- {simwrapper-4.3.8 → simwrapper-4.3.9}/.gitignore +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/CONFIG-EXAMPLE.yaml +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/LICENSE.txt +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/MANIFEST.in +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/Makefile +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/README.md +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/patches/apply_pytables_patch.py +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/patches/pytables-3.10.2.patch +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/FlaskApp.py +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/GunicornServer.py +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/MiniFileServer.py +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/SimpleH5File.py +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/__init__.py +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/cli.py +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/config/gunicorn_config.py +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/config/nginx.conf +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/config/simwrapper-flask-app.service +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/config/simwrapper-rclone.service +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/config/supervisord.conf +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/sites.py +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/404.html +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/404.html.bak +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/README.md +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/AggregateDatasetStreamer.worker-7lKuFgVs.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/AggregateOd-DPEcdZ-0.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/CalculationTable-ie-f6C8y.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/CarrierViewer-1Vz9MjdV.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/CollapsiblePanel-zCvUtCGk.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/CoordinateConverter.worker-BUgBAv_F.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/Coords-C-Mhj230.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/CsvGzipParser.worker-BquDgqFv.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/DataFetcher.worker-BW8LhyvU.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/DrawingTool-BljL3iQ8.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/EmbedView-DvMEtm2T.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/EventViewer-C6Gjxv9z.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/FileSelector-IeBXTqNi.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/Flowmap-CYpHNn_e.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/GzipFetcher.worker-90esIsSh.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/GzipFetcher.worker-BWqKgGEO.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/H5ProviderWorker.worker-Ce-wo1GW.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/ImageView-_qbXLBoX.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/LayerMap-BKfqq5e9.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/LegendBox-BJxkonIO.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/LegendColors-DwNyh-6y.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/LegendStore-CGgeb9zL.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/LineOffsetLayer-BT_eFkEQ.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/LogisticsViewer-RZxW9XGD.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/MATSimEventStreamer.worker-BOE9mVsi.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/MatrixViewer-C0tVsWhm.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/ModalIdColumnPicker-BYwf6hzm.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/NetworkLinks-x1_K_L7l.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/NewXmlFetcher.worker-B5A_MP9-.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/NewXmlFetcher.worker-CqC_hGCV.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/PathTraceLayer-CrQfpvuS.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/PieChartDemo-BtuA3oXS.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/PolygonsLayer.worker-23wuGU9p.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/RoadNetworkLoader.worker-BgUG7gxu.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/RunConfigurator-Cka-r30l.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/SW_logo_icon_anim-Cyl7nwZq.gif +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/SW_logo_white-Db4Yi2rP.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/SW_logo_white-mbdplT21.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/SW_logo_yellow-Btlbhihn.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/SankeyDiagram-CACz4sdX.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/TimeSlider-Bvnp9Ymc.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/TopSheet-CMi5Zi0C.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/TopSheetWorker.worker-Xata_O_-.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/TransitDemand-BomSZv4o.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/TransitSupplyHelper.worker-D8crPrmD.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/VegaLite-DVfrWt8N.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/VehicleAnimation-B4xTr4qm.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/VehicleAnimation-Dc9Qe3Dk.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/VideoPlayer-CQUHGSke.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/VizConfigurator-C0UolP-t.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/WASMEventStreamer.worker-1VVPXCrE.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/WasmXmlNetworkParser.worker-GAFgOlIZ.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/XmlViewer-BGwZvg3-.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/XyTime-favCYcPc.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/XytDataParser.worker-Bec8MjMh.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/ZoomButtons-urPLxqJ5.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/aggregate-od-CxN1rXyi.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/arc-layer-utQsdbjp.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/arcs-B-65v31y.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/area-B207IVrs.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/area-map-CwgktcLJ.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/bar-BAcPDcUH.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/berlin-C-twquEa.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/bubble-BkeWQmPX.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/carriers-Bynfqluv.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/comlink-CPG-Ccvr.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/cubehelix-BzW-tINw.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/data-filter-extension-BJBYmUft.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/defaultLocale-Zq5WfVW0.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/draw-icon-dm-DbFh91q-.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/extent-Ccx1MofX.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/flowmap-CvjUZABP.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/fxp-DjoqftHf.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/gridmap-f31N4Owr.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/group-hI8ly2Wr.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/groups-DptOe2tm.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/hcl-DetDTYpa.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/heatmap-BxnzdKxM.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/hexagons-CPOSxcyG.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/icon-blue-ramp-D1d4h-6x.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/icon-pie-chart-BS7BHQ_l.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/icon-stop-triangle-BjEDyLtU.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/index-B9fw0f6a.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/index-CVL_6l40.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/index-DFKcNkqO.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/index-_doEQLKC.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/layer-T9N9JmIf.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/layer-extension-LbH36Bf-.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/layermap-CWKLShno.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/libH5Zblosc-DmbwZN5J.so +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/libH5Zblosc2-C2k_kvFi.so +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/libH5Zbshuf-CAWqoiJv.so +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/libH5Zbz2-YH5bcfd1.so +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/libH5Zlz4-DBxVEC8C.so +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/libH5Zlzf-B37RoVJN.so +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/libH5Zszf-vmQ-rYRm.so +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/libH5Zzfp-CxpSdQww.so +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/libH5Zzstd-BNHjSL5H.so +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/lil-gui.esm-D2cLj-mk.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/line-DkJk6MUL.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/line-layer-BJTc6V-8.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/links-BdpHH8jO.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/links-BjFLDFnX.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/mapbox-overlay-HS93bZkL.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/matrix-CwtPS1VI.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/matsim_event_streamer_bg-DwBjm0Hh.wasm +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/min-C6O82vcA.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/moving-icons-vehicles-layer-BE4Nsm9T.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/pie-CHkxdXB7.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/plotly-DIuHo25J.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/points-CNz3arAg.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/polygons-BCSoK5vV.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/pow-RbZoge3Z.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/precisionRound-CRsIqO1V.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/rainbow-DNS2KC2A.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/range-OtVwhkKS.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/sankey-ChmfM_XB.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/scatter-DxIgg1if.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/sequential-pySAYR1V.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/sidebar-BRi9n39r.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/slideshow-KikGqlRS.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/sw_minus-B3KtJjJs.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/sw_minus_dm-BB92PyXK.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/sw_north_arrow-BuDjRW21.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/sw_north_arrow_dm-b3Ne7pdA.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/sw_plus-_7XGt7Yq.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/sw_plus_dm-O9hpaAgy.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/table-DEhKzzbD.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/table-NNqWMujx.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/text-Cz75an8R.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/threshold-CrWFx_nu.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/thumbnail-B7gJwb8m.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/thumbnail-BWla1ZrP.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/thumbnail-B_QeHA-1.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/tile-BmkuwpJZ.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/timer-qV2ZeSM_.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/transit-J9voF7aH.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/turf.es-BzqbG201.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/vega-9UM1ksay.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/vehicles-BEXxPljt.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/video-Bc92MdQ0.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/vsp-2023-logo-kcRNuRsU.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/vue-good-table.esm-CI0urkCK.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/xml-DR8CGo6Q.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/xytime-BdF5XbHJ.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/assets/year-Cg8DRz0f.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/colors/scale-bluered.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/colors/scale-inferno.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/colors/scale-picnic.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/colors/scale-salinity.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/colors/scale-viridis.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/css/font-awesome-5.7.1.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/css/materialdesignicons.min.css +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/data/build-index.js +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/data/index.html +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/icon-atlas.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/SW_favicon.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/SW_logo_icon_white.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/SW_logo_icon_yellow.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/draw-icon.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/icon-atlas-2.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/icon-atlas-3.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/icon-atlas-3.xcf +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/icon-atlas-vehicles-leftside.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/icon-atlas-vehicles.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/icon-atlas.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/icon-atlas.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/arc.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/bmbf-logo.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/dfg.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/matsim-logo-blue.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/matsim-logo-white.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/metcouncil.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/mtc.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/mwcog.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/ohiodot.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/oregondot.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/psrc.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/sandag.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/semcog.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/sfcta-old.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/sfcta.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/tu-logo.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/logos/vsp-logo-300dpi.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/departure_board.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/directions_bike.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/directions_boat.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/directions_bus.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/directions_car.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/directions_subway.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/electric_car.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/electric_rickshaw.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/emoji_transportation.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/ev_station.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/group.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/groups.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/info.txt +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/local_gas_station.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/local_parking.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/local_shipping.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/local_taxi.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/motorcycle.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/person.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/route.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/subway.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/train.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/transportation.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/tile-icons/two_wheeler.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/veh-curvy.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/veh-curvy2.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/veh-curvy3.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/images/veh-curvy5.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/map-styles/dark.json +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/map-styles/positron.json +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/sax-wasm.wasm +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/sql-wasm.wasm +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/tu-logo-circle.jpg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/tu-logo-circle.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/tu-logo.png +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/Firava.ttf +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/fa-regular-400.eot +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/fa-regular-400.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/fa-regular-400.ttf +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/fa-regular-400.woff +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/fa-regular-400.woff2 +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/fa-solid-900.eot +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/fa-solid-900.svg +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/fa-solid-900.ttf +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/fa-solid-900.woff +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/fa-solid-900.woff2 +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/figtree-italic-var.ttf +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/webfonts/figtree-var.ttf +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/zones/sandag.geojson.gz +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/simwrapper/static/zones/zones.yaml +0 -0
- {simwrapper-4.3.8 → simwrapper-4.3.9}/tests/__init__.py +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as c,n as h,g as d,C as f,S as y,m as g}from"./index-C29WLT62.js";import{p as b,C as w,r as F}from"./Coords-C-Mhj230.js";import{l as L,c as x}from"./turf.es-BzqbG201.js";import{d as u}from"./index-BymMHNPq.js";import{n as v}from"./nprogress-ssWnivVa.js";import{r as _}from"./index-DaQ2kJcj.js";import{Y as k}from"./index-DFKcNkqO.js";import{C as M}from"./CollapsiblePanel-CPhYbPL1.js";import{Z as T}from"./ZoomButtons-LlPdGkjg.js";import{f as D,H as $}from"./HTTPFileSystem-D1GbYP-b.js";import"./fxp-DjoqftHf.js";const z={messages:{en:{linewidth:"Line widths:",legend:"Legend:"},de:{linewidth:"Linienbreite:",legend:"Legende:"}}},O=c({name:"LegendBoxOD",i18n:z,props:{rows:{type:Array,required:!0}}});var V=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("div",{attrs:{id:"legend-container"}},[i("p",{staticClass:"title"},[e._v(e._s(e.$t("legend")))]),e._l(e.rows,function(s){return i("div",{staticClass:"legend-item"},[typeof s=="string"&&s.includes("#")?i("div",{staticClass:"legend-col",style:{"background-color":s}}):e._e(),typeof s=="string"&&!s.includes("#")&&s=="↓"?i("div",{staticClass:"legend-element1"},[e._v(e._s(s))]):e._e(),typeof s=="string"&&!s.includes("#")&&s!="↓"?i("div",{staticClass:"legend-element2"},[e._v(e._s(s))]):e._e()])})],2)},j=[],A=h(O,V,j,!1,null,"3d3d9829");const E=A.exports,R=c({name:"LineFilterSlider",props:{initialValue:{required:!0},tooltip:{type:Boolean,default:!0}},data:t=>({sliderValue:0,options:{size:"is-small",indicator:!0,min:0,max:100,"tooltip-always":t.tooltip,tooltip:t.tooltip,data:[0,1,2,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,"Alle"]}}),mounted(){this.options["custom-formatter"]=t=>""+this.options.data[t],this.sliderValue=Number.isFinite(this.initialValue)?this.initialValue:0,this.sliderValue=this.options.data.includes(this.initialValue)?this.options.data.indexOf(this.initialValue):0,this.options.max=this.options.data.length-1},watch:{sliderValue(t){this.$emit("change",this.options.data[t])}}});var I=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("b-slider",e._b({staticClass:"time-slider",attrs:{"tooltip-always":""},model:{value:e.sliderValue,callback:function(s){e.sliderValue=s},expression:"sliderValue"}},"b-slider",e.options,!1),e._l(e.options.data,function(s,o){return i("b-slider-tick",{key:o,attrs:{value:o}})}),1)},W=[],Y=h(R,I,W,!1,null,"9c65b545");const P=Y.exports,B={messages:{en:{linewidth:"Line widths:",legend:"Legend:",trips:"trips"},de:{linewidth:"Linienbreite:",legend:"Legende:",trips:"Fahrten"}}},X=c({name:"LineFilterSlider",i18n:B,props:{rows:{type:Array,required:!0}}});var G=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("div",{attrs:{id:"scale-container"}},[i("p",{staticClass:"title"},[e._v(e._s(e.$t("linewidth")))]),i("div",{staticClass:"scale-element"},[e._v(e._s("|↔︎|"))]),i("div",{staticClass:"scale-scale"},[e._v(e._s(`~ ${this.rows[0]} `+e.$t("trips")))]),i("p")])},N=[],H=h(X,G,N,!1,null,"05aee5dc");const q=H.exports,Z=c({name:"TimeSliderX",components:{},props:{useRange:Boolean,all:String,stops:{type:Array,required:!0}},data:()=>({sliderValue:0}),computed:{allStops(){return[...this.all?[this.all]:[],...this.stops]},stopLabel(){return Array.isArray(this.sliderValue)?`${this.allStops[this.sliderValue[0]]} : ${this.allStops[this.sliderValue[1]]}`:this.allStops[this.sliderValue]}},watch:{useRange(t){t?this.sliderValue=[1,this.allStops.length-1]:this.sliderValue=this.sliderValue[0]},sliderValue(){const t=Array.isArray(this.sliderValue)?[this.allStops[this.sliderValue[0]],this.allStops[this.sliderValue[1]]]:this.allStops[this.sliderValue];this.$emit("change",t)}},mounted(){},methods:{}});var K=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("div",{staticClass:"time-slider"},[i("b-slider",{attrs:{min:0,max:e.stops.length,tooltip:!1},model:{value:e.sliderValue,callback:function(s){e.sliderValue=s},expression:"sliderValue"}},e._l(e.allStops,function(s,o){return i("b-slider-tick",{key:s,attrs:{value:o}})}),1),i("p",[i("b",[e._v(e._s(e.stopLabel))])])],1)},U=[],J=h(Z,K,U,!1,null,"e8e0a0de");const Q=J.exports,ee=c({name:"ScaleSlider",props:{stops:{type:Array,required:!0},initialValue:{type:Number,required:!0},tooltip:{type:Boolean,default:!0}},data:t=>({sliderValue:1,options:{tooltip:t.tooltip,"tooltip-always":t.tooltip,min:0,size:"is-small",max:100,indicator:!0,data:[],"custom-formatter":{}}}),mounted(){this.options["custom-formatter"]=t=>""+this.options.data[t],this.options.max=this.stops.length-1,this.options.data=this.stops,this.sliderValue=this.stops.includes(this.initialValue)?this.stops.indexOf(this.initialValue):0},watch:{sliderValue(){this.sliderChangedEvent()}},methods:{sliderChangedEvent(){this.$emit("change",this.options.data[this.sliderValue])}}});var te=function(){var e=this,i=e._self._c;return e._self._setupProxy,e.options.data.length?i("b-slider",e._b({staticClass:"time-slider",model:{value:e.sliderValue,callback:function(s){e.sliderValue=s},expression:"sliderValue"}},"b-slider",e.options,!1),e._l(e.options.data,function(s,o){return i("b-slider-tick",{key:o,attrs:{value:o}})}),1):e._e()},ie=[],se=h(ee,te,ie,!1,null,"c2cef25b");const oe=se.exports;function ae(t){return new Worker("/assets/AggregateDatasetStreamer.worker-7lKuFgVs.js",{name:t?.name})}const re={messages:{en:{legend:"Legend:",lineWidth:"Line width:",lineWidths:"Line widths",hide:"Hide smaller than",time:"Filter",duration:"Duration",circle:"Centroids",showCentroids:"Show centroids",showNumbers:"Show totals",total:"Totals for",origins:"Origins",dest:"Destinations"},de:{legend:"Legende:",lineWidth:"Line width",lineWidths:"Line widths",hide:"Hide smaller than",time:"Filter",duration:"Duration",circle:"Centroids",showCentroids:"Show centroids",showNumbers:"Show totals",total:"Totals for",origins:"Origins",dest:"Destinations"}}},C="/",l=d.state.locale.startsWith("de")?"Alle >>":"All >>",ne=0,S=[1,3,5,10,25,50,100,150,200,300,400,450,500,1e3,5e3],le=c({name:"AggregateOD",i18n:re,components:{CollapsiblePanel:M,LegendBox:E,LineFilterSlider:P,ScaleBox:q,ScaleSlider:oe,TimeSlider:Q,ZoomButtons:T},props:{root:{type:String,required:!0},subfolder:{type:String,required:!0},yamlConfig:String,config:Object,thumbnail:Boolean},data:()=>({globalState:d.state,isFinishedLoading:!1,myState:{subfolder:"",yamlConfig:"",thumbnail:!1},vizDetails:{csvFile:"",shpFile:"",dbfFile:"",projection:"",scaleFactor:1,title:"",description:"",mapIsIndependent:!1},standaloneYAMLconfig:{csvFile:"",shpFile:"",dbfFile:"",projection:"",scaleFactor:1,title:"",description:"",mapIsIndependent:!1},YAMLrequirementsOD:{shpFile:"",dbfFile:"",csvFile:"",projection:"",scaleFactor:1},containerId:`c${Math.floor(1e12*Math.random())}`,mapId:`map-c${Math.floor(1e12*Math.random())}`,centroids:{},centroidSource:{},linkData:{},spiderLinkFeatureCollection:{},zoneData:{},dailyData:{},marginals:{},hoveredStateId:0,rowName:"",colName:"",headers:[],geojson:{},idColumn:"",mapIsIndependent:!1,showTimeRange:!1,showCentroids:!0,showCentroidLabels:!0,isOrigin:!0,selectedCentroid:0,maxZonalTotal:0,loadingText:"Aggregierte Quell-Ziel Muster",mymap:{},project:{},scaleFactor:1,scaleValues:S,currentScale:S[0],currentTimeBin:l,allTimeBinsLabel:l,lineFilter:0,projection:"",hoverId:null,_mapExtentXYXY:null,_maximum:null,bounceTimeSlider:{},bounceScaleSlider:{},bounceLineFilter:{},resizer:null,isMapMoving:!1,isDarkMode:!1,csvWorker:null}),computed:{fileSystem(){const t=this.$store.state.svnProjects.filter(e=>e.slug===this.root);if(t.length===0)throw console.log("no such project"),Error;return t[0]},fileApi(){return new $(this.fileSystem,d)},isMobile(){const t=window,e=document,i=e.documentElement,s=e.getElementsByTagName("body")[0],o=t.innerWidth||i.clientWidth||s.clientWidth;return t.innerHeight||i.clientHeight||s.clientHeight,o<640},legendRows(){return["#00aa66","#880033","↓","↑"]},scaleRows(){return[Math.min(Math.round((1200*Math.pow(this.currentScale,-1)+20)*Math.sqrt(this.scaleFactor)),1e3*this.scaleFactor)]}},methods:{updateTestData(){window.__testdata__={centroids:this.centroidSource?.features,spiderLinks:this.spiderLinkFeatureCollection?.features,geojson:this.geojson?.features}},setupResizer(){this.resizer=new ResizeObserver(()=>{});const t=document.getElementById(this.containerId);this.resizer.observe(t)},configureSettings(){(this.vizDetails.lineWidths||this.vizDetails.lineWidth)&&(this.currentScale=this.vizDetails.lineWidth||this.vizDetails.lineWidths||1),this.vizDetails.hideSmallerThan&&(this.lineFilter=this.vizDetails.hideSmallerThan)},handleMapMotion(){const t={longitude:this.mymap.getCenter().lng,latitude:this.mymap.getCenter().lat,bearing:this.mymap.getBearing(),zoom:this.mymap.getZoom(),pitch:this.mymap.getPitch()};this.isMapMoving=!0,this.mapIsIndependent||d.commit("setMapCamera",t)},async getVizDetails(){if(this.config)this.validateYAML(),this.vizDetails=Object.assign({},this.config);else try{const t=this.myState.yamlConfig.indexOf("/")>-1?this.myState.yamlConfig:this.myState.subfolder+"/"+this.myState.yamlConfig,e=await this.fileApi.getFileText(t);this.standaloneYAMLconfig=Object.assign({},k.parse(e)),this.validateYAML(),this.setVizDetails()}catch(t){console.error(""+t),this.$emit("error",""+t)}this.$emit("title",this.vizDetails),this.scaleFactor=this.vizDetails.scaleFactor,this.projection=this.vizDetails.projection,this.mapIsIndependent=!!this.vizDetails.mapIsIndependent,this.idColumn=this.vizDetails.idColumn?this.vizDetails.idColumn:"id",v.done()},validateYAML(){const t=new RegExp(".*(yml|yaml)$").test(this.myState.yamlConfig);let e={};t?e=this.standaloneYAMLconfig:e=this.config;for(const i in this.YAMLrequirementsOD)i in e||this.$emit("error",{type:y.ERROR,msg:`${this.yamlConfig}: missing required key: ${i}`,desc:""})},setVizDetails(){this.vizDetails=Object.assign({},this.vizDetails,this.standaloneYAMLconfig);const t=this.vizDetails.title?this.vizDetails.title:"Aggregate OD";this.$emit("title",t)},async findFilenameFromWildcard(t){let e=t.indexOf("/")>-1?t.substring(0,t.lastIndexOf("/")):this.subfolder;const{files:i}=await this.fileApi.getDirectory(e);let s=t.indexOf("/")===-1?t:t.substring(t.lastIndexOf("/")+1);const o=D(i,s);if(o.length===1)return`${e}/${o[0]}`;throw Error("File not found: "+t)},async loadFiles(){try{this.loadingText="Loading...";const t=await this.findFilenameFromWildcard(`${this.myState.subfolder}/${this.vizDetails.shpFile}`),e=await this.findFilenameFromWildcard(`${this.myState.subfolder}/${this.vizDetails.dbfFile}`),i=await this.fileApi.getFileBlob(t),s=await _.arraybuffer(i),o=await this.fileApi.getFileBlob(e),a=await _.arraybuffer(o);return{shpFile:s,dbfFile:a}}catch(t){const e=t;let i=e.statusText||""+e;return e.url&&(i+=": "+e.url),console.error(i),this.loadingText=""+t,this.$emit("error",i),null}},async setupMap(){try{const t=`${C}map-styles/${this.globalState.isDarkMode?"dark":"positron"}.json`;this.mymap=new g.Map({container:this.mapId,style:t})}catch{console.error("HUH?");return}try{const t=localStorage.getItem(this.$route.fullPath+"-bounds");if(t){const e=JSON.parse(t);this.$store.commit("setMapCamera",{longitude:.5*(e[0]+e[2]),latitude:.5*(e[1]+e[3]),zoom:8,pitch:0,bearing:0,jump:!0})}}catch{}this.mymap.on("click",this.handleEmptyClick),this.mymap.on("load",this.mapIsReady),this.mymap.on("move",this.handleMapMotion)},handleEmptyClick(t){this.mymap.queryRenderedFeatures(t.point).filter(e=>e.source==="centroids"||e.source==="spider-source").length===0&&(this.fadeUnselectedLinks(-1),this.selectedCentroid=0,this.isMobile)},async mapIsReady(){const t=await this.loadFiles();t&&(this.geojson=await this.processShapefile(t),this.geojson&&this.loadCSVData()),v.done()},createSpiderLinks(){this.spiderLinkFeatureCollection={type:"FeatureCollection",features:[]};for(const t of Object.keys(this.linkData)){const e=this.linkData[t];if(!(e.daily<=this.lineFilter))try{const i=this.centroids[e.orig].geometry.coordinates,s=this.centroids[e.dest].geometry.coordinates,o=i[1]-s[1]>0?"#00aa66":"#880033",r={id:t,orig:e.orig||0,dest:e.dest||0,daily:e.daily||0,color:o,fade:.7};r[l]=e.daily,e.values.forEach((m,n)=>{r[this.headers[n]]=m??0});const p={type:"Feature",properties:r,geometry:{type:"LineString",coordinates:[i,s]}};this.spiderLinkFeatureCollection.features.push(p)}catch{}}},updateSpiderLinks(){this.createSpiderLinks(),this.selectedCentroid?this.fadeUnselectedLinks(this.selectedCentroid):this.mymap.getSource("spider-source").setData(this.spiderLinkFeatureCollection)},buildSpiderLinks(){this.mymap.getSource("spider-source")||(this.createSpiderLinks(),this.mymap.addSource("spider-source",{data:this.spiderLinkFeatureCollection,type:"geojson"})),this.mymap.getLayer("spider-layer")&&this.mymap.removeLayer("spider-layer"),this.mymap.addLayer({id:"spider-layer",source:"spider-source",type:"line",paint:{"line-color":["get","color"],"line-width":["*",1/500*this.scaleFactor,["get","daily"]],"line-offset":["*",.5,["get","daily"]],"line-opacity":["get","fade"]},filter:[">",["get",this.currentTimeBin],0]},"centroid-layer"),this.changedScale(this.currentScale);const t=this;this.mymap.on("click","spider-layer",function(e){t.clickedOnSpiderLink(e)}),this.mymap.on("mousemove","spider-layer",function(e){t.mymap.getCanvas().style.cursor=e?"pointer":"grab"}),this.mymap.on("mouseleave","spider-layer",function(){t.mymap.getCanvas().style.cursor="grab"})},clickedOrigins(){this.isOrigin=!0,this.updateCentroidLabels(),this.convertRegionColors(this.geojson),this.mymap.getSource("shpsource").setData(this.geojson)},clickedDestinations(){this.isOrigin=!1,this.updateCentroidLabels(),this.convertRegionColors(this.geojson),this.mymap.getSource("shpsource").setData(this.geojson)},updateCentroidLabels(){const t=this.isOrigin?"{dailyFrom}":"{dailyTo}",e=this.isOrigin?"widthFrom":"widthTo";this.mymap.getLayer("centroid-layer")&&this.mymap.removeLayer("centroid-layer"),this.mymap.getLayer("centroid-label-layer")&&this.mymap.removeLayer("centroid-label-layer"),this.showCentroids&&this.mymap.addLayer({layout:{visibility:this.thumbnail?"none":"visible"},id:"centroid-layer",source:"centroids",type:"circle",paint:{"circle-color":"#ec0","circle-radius":["get",e],"circle-stroke-width":2,"circle-stroke-color":"white"},filter:[">",["get",this.isOrigin?"dailyFrom":"dailyTo"],0]}),this.showCentroidLabels&&this.mymap.addLayer({id:"centroid-label-layer",source:"centroids",type:"symbol",layout:{"text-field":t,"text-font":["Noto Sans Regular"],"text-size":11},paint:this.showCentroids?{}:{"text-halo-color":"white","text-halo-width":2},filter:[">",["get",this.isOrigin?"dailyFrom":"dailyTo"],0]})},unselectAllCentroids(){this.fadeUnselectedLinks(-1),this.selectedCentroid=0},clickedOnCentroid(t){t.originalEvent.stopPropagating=!0;const i=t.features[0].properties.id;if(i===this.selectedCentroid){this.unselectAllCentroids();return}this.selectedCentroid=i,this.fadeUnselectedLinks(i)},fadeUnselectedLinks(t){const e=this.mymap;for(const i of this.spiderLinkFeatureCollection.features){const s=i.properties.id.split(":");let o=s[0]===String(t)||s[1]===String(t)?.7:ne;t===-1&&(o=.7),i.properties.fade=o}e.getSource("spider-source").setData(this.spiderLinkFeatureCollection)},clickedOnSpiderLink(t){if(t.originalEvent.stopPropagating)return;const e=t.features[0].properties,i=Math.round(1e4*e.daily*this.scaleFactor)/1e4;let s=0;const o=""+e.dest+":"+e.orig;this.linkData[o]&&(s=Math.round(1e4*this.linkData[o].daily*this.scaleFactor)/1e4);const a=i+s;let r=`<h1><b>${a} Bidirectional Trip${a!==1?"s":""}</b></h1>`;r+='<p style="width: max-content">_________________________</p>',r+=`<p style="width: max-content">${i} trip${i!==1?"s":""} // ${s} reverse trip${s!==1?"s":""}</p>`,new g.Popup({closeOnClick:!0}).setLngLat(t.lngLat).setHTML(r).addTo(this.mymap)},convertRegionColors(t){for(const e of t.features){if(!e.properties)continue;let o=128+127*(1-(this.isOrigin?e.properties.dailyFrom:e.properties.dailyTo)/this.maxZonalTotal);o||(o=255),e.properties.blue=o}},handleCentroidsForTimeOfDayChange(t){const e={type:"FeatureCollection",features:[]};for(const s of this.geojson.features){const o=this.buildSingleCentroid(s);o.properties.id=s.id;const a=this.calculateCentroidValuesForZone(t,s);o.properties.dailyFrom=Math.round(1e4*a.from*this.scaleFactor)/1e4,o.properties.dailyTo=Math.round(1e4*a.to*this.scaleFactor)/1e4;let r=Math.log10(o.properties.dailyFrom);o.properties.widthFrom=6+r*3.5,r=Math.log10(o.properties.dailyTo),o.properties.widthTo=6+r*3.5,s.properties||(s.properties={}),s.properties.dailyFrom=a.from,s.properties.dailyTo=a.to,o.properties.dailyFrom+o.properties.dailyTo>0&&(e.features.push(o),s.properties&&(this.centroids[s.properties[this.idColumn]]=o))}this.centroidSource=e,this.mymap.getSource("centroids").setData(this.centroidSource),this.updateCentroidLabels()},calculateCentroidValuesForZone(t,e){let i=0,s=0;if(t===l)return s=e.properties.dailyTo,i=e.properties.dailyFrom,{from:i,to:s};const o=this.marginals.from[e.id],a=this.marginals.to[e.id];if(Array.isArray(t)){let p=this.headers.indexOf(t[0])-1;p<0&&(p=0);const m=this.headers.indexOf(t[1])-1;for(let n=p;n<=m;n++)i+=o?Math.round(o[n]):0,s+=a?Math.round(a[n]):0;return{from:i,to:s}}const r=this.headers.indexOf(t)-1;return i=o?Math.round(o[r]):0,s=a?Math.round(a[r]):0,{from:i,to:s}},buildSingleCentroid(t){t.properties||(t.properties={});let e;if(this.vizDetails.centroidColumn){let i=t.properties[this.vizDetails.centroidColumn];Array.isArray(i)||(i=i.split(",").map(s=>parseFloat(s))),e={type:"Feature",geometry:{type:"Point",coordinates:i},properties:{id:t.id},id:t.id}}else e=x(t),e.properties.id=t.id,e.id=t.id;return e},buildCentroids(t){const e={type:"FeatureCollection",features:[]};try{for(const i of t.features){if(!i.id)continue;i.properties||(i.properties={});const s=this.buildSingleCentroid(i);let o=Math.round(this.marginals.rowTotal[i.id]),a=Math.round(this.marginals.colTotal[i.id]);o||(o=0),a||(a=0),s.properties.dailyFrom=o*this.scaleFactor,s.properties.dailyTo=a*this.scaleFactor;let r=Math.log10(s.properties.dailyFrom);s.properties.widthFrom=6+r*3.5,r=Math.log10(s.properties.dailyTo),s.properties.widthTo=6+r*3.5,o&&(this.maxZonalTotal=Math.max(this.maxZonalTotal,o)),a&&(this.maxZonalTotal=Math.max(this.maxZonalTotal,a)),i.properties||(i.properties={}),i.properties.dailyFrom=o,i.properties.dailyTo=a,s.properties.dailyFrom+s.properties.dailyTo>0&&(e.features.push(s),i.properties&&(this.centroids[i.id]=s),this.updateMapExtent(s.geometry.coordinates))}}catch{this.$emit("error","Error creating centroids, does centroid column exist?")}this.centroidSource=e,this.mymap.getSource("centroids")||this.mymap.addSource("centroids",{data:this.centroidSource,type:"geojson"}),this.updateCentroidLabels(),this.mymap.on("click","centroid-layer",i=>{this.clickedOnCentroid(i)}),this.mymap.on("mousemove","centroid-layer",i=>{this.mymap.getCanvas().style.cursor=i?"pointer":"grab"}),this.mymap.on("mouseleave","centroid-layer",()=>{this.mymap.getCanvas().style.cursor="grab"})},setMapExtent(){localStorage.setItem(this.$route.fullPath+"-bounds",JSON.stringify(this._mapExtentXYXY));const t=this.thumbnail?{animate:!1}:{padding:{top:25,bottom:25,right:100,left:100},animate:!1};this.mymap.fitBounds(this._mapExtentXYXY,t)},setupKeyListeners(){window.addEventListener("keyup",t=>{t.keyCode===27&&this.pressedEscape()}),window.addEventListener("keydown",t=>{t.keyCode===38&&this.pressedArrowKey(-1),t.keyCode===40&&this.pressedArrowKey(1)})},processGeojson(){for(const t of this.geojson.features){const e=t.properties;e.dailyFrom!==0||e.dailyTo!==0?t.properties.isVisible=!0:t.properties.isVisible=!1}},async processShapefile(t){this.loadingText="Verkehrsnetz bauarbeiten...";const e=await F(t.shpFile,t.dbfFile);e.features.length>150&&(this.lineFilter=10),this.loadingText="Koordinaten berechnen...";for(const i of e.features){const s=i.properties;if(!this.idColumn&&s&&(this.idColumn=Object.keys(s)[0]),!(this.idColumn in s)){this.$emit("error",`Shapefile does not contain ID column "${this.idColumn}"`);return}i.properties&&(i.id=i.properties[this.idColumn]);try{i.geometry.type==="MultiPolygon"?this.convertMultiPolygonCoordinatesToWGS84(i):this.convertPolygonCoordinatesToWGS84(i)}catch(o){console.error("ERR with feature: "+i),console.error(o)}}return e},convertPolygonCoordinatesToWGS84(t){for(const e of t.geometry.coordinates){const i=[];for(const s of e){const o=w.toLngLat(this.projection,s);i.push(o)}e.length=0,e.push(...i)}},origConvertMultiPolygonCoordinatesToWGS84(t){for(const e of t.geometry.coordinates){const i=e[0],s=[];for(const o of i){const a=b(this.projection,"WGS84",o);s.push(a)}e[0]=s}},convertMultiPolygonCoordinatesToWGS84(t){t.geometry.coordinates=this.recurseWGS84(t.geometry.coordinates)},recurseWGS84(t){const e=[];for(let i of t)Array.isArray(i[0])?e.push(this.recurseWGS84(i)):e.push(b(this.projection,"WGS84",i));return e},async getDailyDataSummary(){const t={},e={},i={},s={};for(const o of Object.keys(this.zoneData)){i[o]=Array(this.headers.length-1).fill(0);for(const a of Object.keys(this.zoneData[o])){t[o]||(t[o]=0),e[a]||(e[a]=0),this.dailyData[o][a]&&(t[o]+=this.dailyData[o][a],e[a]+=this.dailyData[o][a]),s[a]||(s[a]=Array(this.headers.length-1).fill(0));for(let r=0;r<this.headers.length-1;r++)this.zoneData[o][a][r]&&(i[o][r]+=this.zoneData[o][a][r],s[a][r]+=this.zoneData[o][a][r])}}return{rowTotal:t,colTotal:e,from:i,to:s}},async loadCSVData(){this.loadingText="Load CSV data...";let t="";try{t=await this.findFilenameFromWildcard(`${this.myState.subfolder}/${this.vizDetails.csvFile}`)}catch{this.$store.commit("error",`Error loading ${this.myState.subfolder}/${this.vizDetails.csvFile}`);return}const e=new ae;e.onmessage=i=>{const s=i.data;s.ready?e.postMessage({fileSystem:this.fileSystem,filePath:t}):s.status?this.loadingText=s.status:s.error?(this.csvWorker?.terminate(),this.loadingText=s.error,this.$emit("error",{type:y.ERROR,msg:`Aggr.OD: Error loading "${this.myState.subfolder}/${this.vizDetails.csvFile}"`,desc:"Check the path and filename"})):s.finished&&(this.csvWorker?.terminate(),this.finishedLoadingData(s))},this.csvWorker=e},async finishedLoadingData(t){this.loadingText="Building diagram...",this.isFinishedLoading=!0,await this.$nextTick(),this.rowName=t.rowName,this.colName=t.colName,this.headers=t.headers,this.dailyData=t.dailyZoneData,this.zoneData=t.zoneData,this.linkData=t.dailyLinkData,this.marginals=await this.getDailyDataSummary(),this.buildCentroids(this.geojson),this.convertRegionColors(this.geojson),this.addGeojsonToMap(this.geojson),this.setMapExtent(),this.buildSpiderLinks(),this.setupKeyListeners(),this.updateTestData(),this.loadingText=""},updateMapExtent(t){this._mapExtentXYXY[0]=Math.min(this._mapExtentXYXY[0],t[0]),this._mapExtentXYXY[1]=Math.min(this._mapExtentXYXY[1],t[1]),this._mapExtentXYXY[2]=Math.max(this._mapExtentXYXY[2],t[0]),this._mapExtentXYXY[3]=Math.max(this._mapExtentXYXY[3],t[1])},addGeojsonToMap(t){this.processGeojson(),this.addGeojsonLayers(t),this.addNeighborhoodHoverEffects()},addGeojsonLayers(t){this.mymap.getSource("shpsource")||this.mymap.addSource("shpsource",{data:t,type:"geojson"}),this.mymap.getLayer("shplayer-fill")&&this.mymap.removeLayer("shplayer-fill"),this.mymap.addLayer({id:"shplayer-fill",source:"shpsource",type:"fill",paint:{"fill-color":["rgb",["get","blue"],["get","blue"],255],"fill-opacity":.5}},"water"),this.mymap.getLayer("shplayer-border")&&this.mymap.removeLayer("shplayer-border"),this.mymap.addLayer({id:"shplayer-border",source:"shpsource",type:"line",paint:{"line-color":"#66f","line-opacity":.5,"line-width":["case",["boolean",["feature-state","hover"],!1],3,1]},filter:["==","isVisible",!0]},"centroid-layer")},addNeighborhoodHoverEffects(){const t=this;this.mymap.on("mousemove","shplayer-fill",function(e){const i=t.mymap;e.features.length>0&&(t.hoveredStateId&&i.setFeatureState({source:"shpsource",id:t.hoveredStateId},{hover:!1}),t.hoveredStateId=e.features[0].properties[t.idColumn],i.setFeatureState({source:"shpsource",id:t.hoveredStateId},{hover:!0}))}),this.mymap.on("mouseleave","shplayer-fill",function(){const e=t.mymap;t.hoveredStateId&&e.setFeatureState({source:"shpsource",id:t.hoveredStateId},{hover:!1}),t.hoveredStateId=null})},offsetLineByMeters(t,e){try{return L(t,e,{units:"meters"})}catch{}return t},pressedEscape(){this.unselectAllCentroids()},pressedArrowKey(t){},changedTimeSlider(t){this.currentTimeBin=t;const e=this.currentScale/500*this.scaleFactor;if(this.showTimeRange==!1)this.mymap.setPaintProperty("spider-layer","line-width",["*",e,["get",t]]),this.mymap.setPaintProperty("spider-layer","line-offset",["*",.5*e,["get",t]]);else{const i=["+"];let s=!1;for(const o of this.headers)o===t[0]&&(s=!0),o!==l&&(s&&i.push(["get",o]),o===t[1]&&(s=!1));this.mymap.setPaintProperty("spider-layer","line-width",["*",e,i]),this.mymap.setPaintProperty("spider-layer","line-offset",["*",.5*e,i])}this.handleCentroidsForTimeOfDayChange(t)},changedScale(t){this.isFinishedLoading&&(this.currentScale=t,this.changedTimeSlider(this.currentTimeBin))},changedLineFilter(t){t===l?this.lineFilter=1/0:this.lineFilter=t,this.updateSpiderLinks()}},watch:{"globalState.viewState"(t){if(this.mapIsIndependent)return;if(!this.mymap||this.isMapMoving||this.thumbnail){this.isMapMoving=!1;return}const{bearing:e,center:i,zoom:s,pitch:o}=t;if(s)try{this.mymap.off("move",this.handleMapMotion),this.mymap.jumpTo({center:i,zoom:s,bearing:e,pitch:o}),this.mymap.on("move",this.handleMapMotion)}catch{}},async"$store.state.colorScheme"(){if(this.isDarkMode=this.$store.state.colorScheme===f.DarkMode,!this.mymap)return;const t=`${C}map-styles/${this.globalState.isDarkMode?"dark":"positron"}.json`,e=i=>new Promise(s=>setTimeout(s,i));this.mymap.setStyle(t),await e(1200),this.buildCentroids(this.geojson),this.buildSpiderLinks(),this.addGeojsonToMap(this.geojson)},"$store.state.resizeEvents"(){},showTimeRange(){},showCentroids(){this.updateCentroidLabels()},showCentroidLabels(){this.updateCentroidLabels()}},async created(){this._mapExtentXYXY=[180,90,-180,-90],this._maximum=0},async mounted(){d.commit("setFullScreen",!this.thumbnail),this.isDarkMode=this.$store.state.colorScheme===f.DarkMode,this.bounceTimeSlider=u.debounce(this.changedTimeSlider,100),this.bounceScaleSlider=u.debounce(this.changedScale,50),this.bounceLineFilter=u.debounce(this.changedLineFilter,250),this.myState.thumbnail=this.thumbnail,this.myState.yamlConfig=this.yamlConfig||"",this.myState.subfolder=this.subfolder,await this.getVizDetails(),!this.thumbnail&&(this.setupMap(),this.configureSettings(),this.setupResizer())},beforeDestroy(){this.resizer?.disconnect(),this.csvWorker?.terminate(),delete window.__testdata__},destroyed(){d.commit("setFullScreen",!1)}});var de=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("div",{staticClass:"mycomponent",attrs:{id:e.containerId}},[e.thumbnail?e._e():i("zoom-buttons",{staticClass:"zoom-buttons",attrs:{corner:"top-left"}}),i("div",{staticClass:"map-container"},[i("div",{staticClass:"mymap",attrs:{id:e.mapId}}),i("div",{directives:[{name:"show",rawName:"v-show",value:!e.thumbnail&&e.loadingText,expression:"!thumbnail && loadingText"}],staticClass:"status-blob"},[i("p",[e._v(e._s(e.loadingText))])]),!e.thumbnail&&!e.loadingText?i("div",{staticClass:"lower-left"},[i("div",{staticClass:"subheading"},[e._v(e._s(e.$t("lineWidths")))]),i("scale-slider",{staticClass:"scale-slider",attrs:{stops:e.scaleValues,initialValue:e.currentScale,tooltip:!1},on:{change:e.bounceScaleSlider}}),i("div",{staticClass:"subheading"},[e._v(e._s(e.$t("hide")))]),i("line-filter-slider",{staticClass:"scale-slider",attrs:{initialValue:e.lineFilter,tooltip:!1},on:{change:e.bounceLineFilter}})],1):e._e(),!e.thumbnail&&!e.isMobile?i("div",{staticClass:"lower-right"},[i("legend-box",{staticClass:"complication",attrs:{rows:e.legendRows}}),i("scale-box",{staticClass:"complication",attrs:{rows:e.scaleRows}})],1):e._e()]),e.thumbnail?e._e():i("div",{staticClass:"widgets",style:{padding:e.yamlConfig?"0 0.5rem 0.5rem 0.5rem":"2px 4px"}},[this.headers.length>2?i("div",{staticClass:"widget-column",staticStyle:{"min-width":"8rem"}},[i("h4",{staticClass:"heading"},[e._v(e._s(e.$t("time")))]),i("b-checkbox",{staticClass:"checkbox",model:{value:e.showTimeRange,callback:function(s){e.showTimeRange=s},expression:"showTimeRange"}},[e._v(e._s(e.$t("duration")))]),i("time-slider",{staticClass:"xtime-slider",attrs:{useRange:e.showTimeRange,stops:e.headers,all:e.allTimeBinsLabel},on:{change:e.bounceTimeSlider}})],1):e._e(),i("div",{staticClass:"widget-column"},[i("h4",{staticClass:"heading"},[e._v(e._s(e.$t("circle")))]),i("b-checkbox",{staticClass:"checkbox",model:{value:e.showCentroids,callback:function(s){e.showCentroids=s},expression:"showCentroids"}},[e._v(" "+e._s(e.$t("showCentroids")))]),i("b-checkbox",{staticClass:"checkbox",model:{value:e.showCentroidLabels,callback:function(s){e.showCentroidLabels=s},expression:"showCentroidLabels"}},[e._v(" "+e._s(e.$t("showNumbers")))])],1),i("div",{staticClass:"widget-column",staticStyle:{margin:"0 0 0 auto"}},[i("h4",{staticClass:"heading"},[e._v(e._s(e.$t("total")))]),i("b-button",{staticClass:"is-small",class:{"is-link":e.isOrigin,"is-active":e.isOrigin},on:{click:e.clickedOrigins}},[e._v(e._s(e.$t("origins")))]),i("b-button",{staticClass:"is-small",class:{"is-link":!e.isOrigin,"is-active":!e.isOrigin},attrs:{hint:"Hide"},on:{click:e.clickedDestinations}},[e._v(e._s(e.$t("dest")))])],1)])],1)},ce=[],he=h(le,de,ce,!1,null,"0f050fd0");const we=he.exports;export{we as default};
|
|
1
|
+
import{d as c,n as h,g as d,C as f,S as y,m as g}from"./index-CTSmLLzf.js";import{p as b,C as w,r as F}from"./Coords-C-Mhj230.js";import{l as L,c as x}from"./turf.es-BzqbG201.js";import{d as u}from"./index-Cm_d5Y3s.js";import{n as v}from"./nprogress-guksINGZ.js";import{r as _}from"./index-DAe_N7NH.js";import{Y as k}from"./index-DFKcNkqO.js";import{C as M}from"./CollapsiblePanel-D2nvRwpD.js";import{Z as T}from"./ZoomButtons-DeAQxdVt.js";import{f as D,H as $}from"./HTTPFileSystem-BvMX73pb.js";import"./fxp-DjoqftHf.js";const z={messages:{en:{linewidth:"Line widths:",legend:"Legend:"},de:{linewidth:"Linienbreite:",legend:"Legende:"}}},O=c({name:"LegendBoxOD",i18n:z,props:{rows:{type:Array,required:!0}}});var V=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("div",{attrs:{id:"legend-container"}},[i("p",{staticClass:"title"},[e._v(e._s(e.$t("legend")))]),e._l(e.rows,function(s){return i("div",{staticClass:"legend-item"},[typeof s=="string"&&s.includes("#")?i("div",{staticClass:"legend-col",style:{"background-color":s}}):e._e(),typeof s=="string"&&!s.includes("#")&&s=="↓"?i("div",{staticClass:"legend-element1"},[e._v(e._s(s))]):e._e(),typeof s=="string"&&!s.includes("#")&&s!="↓"?i("div",{staticClass:"legend-element2"},[e._v(e._s(s))]):e._e()])})],2)},j=[],A=h(O,V,j,!1,null,"3d3d9829");const E=A.exports,R=c({name:"LineFilterSlider",props:{initialValue:{required:!0},tooltip:{type:Boolean,default:!0}},data:t=>({sliderValue:0,options:{size:"is-small",indicator:!0,min:0,max:100,"tooltip-always":t.tooltip,tooltip:t.tooltip,data:[0,1,2,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,"Alle"]}}),mounted(){this.options["custom-formatter"]=t=>""+this.options.data[t],this.sliderValue=Number.isFinite(this.initialValue)?this.initialValue:0,this.sliderValue=this.options.data.includes(this.initialValue)?this.options.data.indexOf(this.initialValue):0,this.options.max=this.options.data.length-1},watch:{sliderValue(t){this.$emit("change",this.options.data[t])}}});var I=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("b-slider",e._b({staticClass:"time-slider",attrs:{"tooltip-always":""},model:{value:e.sliderValue,callback:function(s){e.sliderValue=s},expression:"sliderValue"}},"b-slider",e.options,!1),e._l(e.options.data,function(s,o){return i("b-slider-tick",{key:o,attrs:{value:o}})}),1)},W=[],Y=h(R,I,W,!1,null,"9c65b545");const P=Y.exports,B={messages:{en:{linewidth:"Line widths:",legend:"Legend:",trips:"trips"},de:{linewidth:"Linienbreite:",legend:"Legende:",trips:"Fahrten"}}},X=c({name:"LineFilterSlider",i18n:B,props:{rows:{type:Array,required:!0}}});var G=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("div",{attrs:{id:"scale-container"}},[i("p",{staticClass:"title"},[e._v(e._s(e.$t("linewidth")))]),i("div",{staticClass:"scale-element"},[e._v(e._s("|↔︎|"))]),i("div",{staticClass:"scale-scale"},[e._v(e._s(`~ ${this.rows[0]} `+e.$t("trips")))]),i("p")])},N=[],H=h(X,G,N,!1,null,"05aee5dc");const q=H.exports,Z=c({name:"TimeSliderX",components:{},props:{useRange:Boolean,all:String,stops:{type:Array,required:!0}},data:()=>({sliderValue:0}),computed:{allStops(){return[...this.all?[this.all]:[],...this.stops]},stopLabel(){return Array.isArray(this.sliderValue)?`${this.allStops[this.sliderValue[0]]} : ${this.allStops[this.sliderValue[1]]}`:this.allStops[this.sliderValue]}},watch:{useRange(t){t?this.sliderValue=[1,this.allStops.length-1]:this.sliderValue=this.sliderValue[0]},sliderValue(){const t=Array.isArray(this.sliderValue)?[this.allStops[this.sliderValue[0]],this.allStops[this.sliderValue[1]]]:this.allStops[this.sliderValue];this.$emit("change",t)}},mounted(){},methods:{}});var K=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("div",{staticClass:"time-slider"},[i("b-slider",{attrs:{min:0,max:e.stops.length,tooltip:!1},model:{value:e.sliderValue,callback:function(s){e.sliderValue=s},expression:"sliderValue"}},e._l(e.allStops,function(s,o){return i("b-slider-tick",{key:s,attrs:{value:o}})}),1),i("p",[i("b",[e._v(e._s(e.stopLabel))])])],1)},U=[],J=h(Z,K,U,!1,null,"e8e0a0de");const Q=J.exports,ee=c({name:"ScaleSlider",props:{stops:{type:Array,required:!0},initialValue:{type:Number,required:!0},tooltip:{type:Boolean,default:!0}},data:t=>({sliderValue:1,options:{tooltip:t.tooltip,"tooltip-always":t.tooltip,min:0,size:"is-small",max:100,indicator:!0,data:[],"custom-formatter":{}}}),mounted(){this.options["custom-formatter"]=t=>""+this.options.data[t],this.options.max=this.stops.length-1,this.options.data=this.stops,this.sliderValue=this.stops.includes(this.initialValue)?this.stops.indexOf(this.initialValue):0},watch:{sliderValue(){this.sliderChangedEvent()}},methods:{sliderChangedEvent(){this.$emit("change",this.options.data[this.sliderValue])}}});var te=function(){var e=this,i=e._self._c;return e._self._setupProxy,e.options.data.length?i("b-slider",e._b({staticClass:"time-slider",model:{value:e.sliderValue,callback:function(s){e.sliderValue=s},expression:"sliderValue"}},"b-slider",e.options,!1),e._l(e.options.data,function(s,o){return i("b-slider-tick",{key:o,attrs:{value:o}})}),1):e._e()},ie=[],se=h(ee,te,ie,!1,null,"c2cef25b");const oe=se.exports;function ae(t){return new Worker("/assets/AggregateDatasetStreamer.worker-7lKuFgVs.js",{name:t?.name})}const re={messages:{en:{legend:"Legend:",lineWidth:"Line width:",lineWidths:"Line widths",hide:"Hide smaller than",time:"Filter",duration:"Duration",circle:"Centroids",showCentroids:"Show centroids",showNumbers:"Show totals",total:"Totals for",origins:"Origins",dest:"Destinations"},de:{legend:"Legende:",lineWidth:"Line width",lineWidths:"Line widths",hide:"Hide smaller than",time:"Filter",duration:"Duration",circle:"Centroids",showCentroids:"Show centroids",showNumbers:"Show totals",total:"Totals for",origins:"Origins",dest:"Destinations"}}},C="/",l=d.state.locale.startsWith("de")?"Alle >>":"All >>",ne=0,S=[1,3,5,10,25,50,100,150,200,300,400,450,500,1e3,5e3],le=c({name:"AggregateOD",i18n:re,components:{CollapsiblePanel:M,LegendBox:E,LineFilterSlider:P,ScaleBox:q,ScaleSlider:oe,TimeSlider:Q,ZoomButtons:T},props:{root:{type:String,required:!0},subfolder:{type:String,required:!0},yamlConfig:String,config:Object,thumbnail:Boolean},data:()=>({globalState:d.state,isFinishedLoading:!1,myState:{subfolder:"",yamlConfig:"",thumbnail:!1},vizDetails:{csvFile:"",shpFile:"",dbfFile:"",projection:"",scaleFactor:1,title:"",description:"",mapIsIndependent:!1},standaloneYAMLconfig:{csvFile:"",shpFile:"",dbfFile:"",projection:"",scaleFactor:1,title:"",description:"",mapIsIndependent:!1},YAMLrequirementsOD:{shpFile:"",dbfFile:"",csvFile:"",projection:"",scaleFactor:1},containerId:`c${Math.floor(1e12*Math.random())}`,mapId:`map-c${Math.floor(1e12*Math.random())}`,centroids:{},centroidSource:{},linkData:{},spiderLinkFeatureCollection:{},zoneData:{},dailyData:{},marginals:{},hoveredStateId:0,rowName:"",colName:"",headers:[],geojson:{},idColumn:"",mapIsIndependent:!1,showTimeRange:!1,showCentroids:!0,showCentroidLabels:!0,isOrigin:!0,selectedCentroid:0,maxZonalTotal:0,loadingText:"Aggregierte Quell-Ziel Muster",mymap:{},project:{},scaleFactor:1,scaleValues:S,currentScale:S[0],currentTimeBin:l,allTimeBinsLabel:l,lineFilter:0,projection:"",hoverId:null,_mapExtentXYXY:null,_maximum:null,bounceTimeSlider:{},bounceScaleSlider:{},bounceLineFilter:{},resizer:null,isMapMoving:!1,isDarkMode:!1,csvWorker:null}),computed:{fileSystem(){const t=this.$store.state.svnProjects.filter(e=>e.slug===this.root);if(t.length===0)throw console.log("no such project"),Error;return t[0]},fileApi(){return new $(this.fileSystem,d)},isMobile(){const t=window,e=document,i=e.documentElement,s=e.getElementsByTagName("body")[0],o=t.innerWidth||i.clientWidth||s.clientWidth;return t.innerHeight||i.clientHeight||s.clientHeight,o<640},legendRows(){return["#00aa66","#880033","↓","↑"]},scaleRows(){return[Math.min(Math.round((1200*Math.pow(this.currentScale,-1)+20)*Math.sqrt(this.scaleFactor)),1e3*this.scaleFactor)]}},methods:{updateTestData(){window.__testdata__={centroids:this.centroidSource?.features,spiderLinks:this.spiderLinkFeatureCollection?.features,geojson:this.geojson?.features}},setupResizer(){this.resizer=new ResizeObserver(()=>{});const t=document.getElementById(this.containerId);this.resizer.observe(t)},configureSettings(){(this.vizDetails.lineWidths||this.vizDetails.lineWidth)&&(this.currentScale=this.vizDetails.lineWidth||this.vizDetails.lineWidths||1),this.vizDetails.hideSmallerThan&&(this.lineFilter=this.vizDetails.hideSmallerThan)},handleMapMotion(){const t={longitude:this.mymap.getCenter().lng,latitude:this.mymap.getCenter().lat,bearing:this.mymap.getBearing(),zoom:this.mymap.getZoom(),pitch:this.mymap.getPitch()};this.isMapMoving=!0,this.mapIsIndependent||d.commit("setMapCamera",t)},async getVizDetails(){if(this.config)this.validateYAML(),this.vizDetails=Object.assign({},this.config);else try{const t=this.myState.yamlConfig.indexOf("/")>-1?this.myState.yamlConfig:this.myState.subfolder+"/"+this.myState.yamlConfig,e=await this.fileApi.getFileText(t);this.standaloneYAMLconfig=Object.assign({},k.parse(e)),this.validateYAML(),this.setVizDetails()}catch(t){console.error(""+t),this.$emit("error",""+t)}this.$emit("title",this.vizDetails),this.scaleFactor=this.vizDetails.scaleFactor,this.projection=this.vizDetails.projection,this.mapIsIndependent=!!this.vizDetails.mapIsIndependent,this.idColumn=this.vizDetails.idColumn?this.vizDetails.idColumn:"id",v.done()},validateYAML(){const t=new RegExp(".*(yml|yaml)$").test(this.myState.yamlConfig);let e={};t?e=this.standaloneYAMLconfig:e=this.config;for(const i in this.YAMLrequirementsOD)i in e||this.$emit("error",{type:y.ERROR,msg:`${this.yamlConfig}: missing required key: ${i}`,desc:""})},setVizDetails(){this.vizDetails=Object.assign({},this.vizDetails,this.standaloneYAMLconfig);const t=this.vizDetails.title?this.vizDetails.title:"Aggregate OD";this.$emit("title",t)},async findFilenameFromWildcard(t){let e=t.indexOf("/")>-1?t.substring(0,t.lastIndexOf("/")):this.subfolder;const{files:i}=await this.fileApi.getDirectory(e);let s=t.indexOf("/")===-1?t:t.substring(t.lastIndexOf("/")+1);const o=D(i,s);if(o.length===1)return`${e}/${o[0]}`;throw Error("File not found: "+t)},async loadFiles(){try{this.loadingText="Loading...";const t=await this.findFilenameFromWildcard(`${this.myState.subfolder}/${this.vizDetails.shpFile}`),e=await this.findFilenameFromWildcard(`${this.myState.subfolder}/${this.vizDetails.dbfFile}`),i=await this.fileApi.getFileBlob(t),s=await _.arraybuffer(i),o=await this.fileApi.getFileBlob(e),a=await _.arraybuffer(o);return{shpFile:s,dbfFile:a}}catch(t){const e=t;let i=e.statusText||""+e;return e.url&&(i+=": "+e.url),console.error(i),this.loadingText=""+t,this.$emit("error",i),null}},async setupMap(){try{const t=`${C}map-styles/${this.globalState.isDarkMode?"dark":"positron"}.json`;this.mymap=new g.Map({container:this.mapId,style:t})}catch{console.error("HUH?");return}try{const t=localStorage.getItem(this.$route.fullPath+"-bounds");if(t){const e=JSON.parse(t);this.$store.commit("setMapCamera",{longitude:.5*(e[0]+e[2]),latitude:.5*(e[1]+e[3]),zoom:8,pitch:0,bearing:0,jump:!0})}}catch{}this.mymap.on("click",this.handleEmptyClick),this.mymap.on("load",this.mapIsReady),this.mymap.on("move",this.handleMapMotion)},handleEmptyClick(t){this.mymap.queryRenderedFeatures(t.point).filter(e=>e.source==="centroids"||e.source==="spider-source").length===0&&(this.fadeUnselectedLinks(-1),this.selectedCentroid=0,this.isMobile)},async mapIsReady(){const t=await this.loadFiles();t&&(this.geojson=await this.processShapefile(t),this.geojson&&this.loadCSVData()),v.done()},createSpiderLinks(){this.spiderLinkFeatureCollection={type:"FeatureCollection",features:[]};for(const t of Object.keys(this.linkData)){const e=this.linkData[t];if(!(e.daily<=this.lineFilter))try{const i=this.centroids[e.orig].geometry.coordinates,s=this.centroids[e.dest].geometry.coordinates,o=i[1]-s[1]>0?"#00aa66":"#880033",r={id:t,orig:e.orig||0,dest:e.dest||0,daily:e.daily||0,color:o,fade:.7};r[l]=e.daily,e.values.forEach((m,n)=>{r[this.headers[n]]=m??0});const p={type:"Feature",properties:r,geometry:{type:"LineString",coordinates:[i,s]}};this.spiderLinkFeatureCollection.features.push(p)}catch{}}},updateSpiderLinks(){this.createSpiderLinks(),this.selectedCentroid?this.fadeUnselectedLinks(this.selectedCentroid):this.mymap.getSource("spider-source").setData(this.spiderLinkFeatureCollection)},buildSpiderLinks(){this.mymap.getSource("spider-source")||(this.createSpiderLinks(),this.mymap.addSource("spider-source",{data:this.spiderLinkFeatureCollection,type:"geojson"})),this.mymap.getLayer("spider-layer")&&this.mymap.removeLayer("spider-layer"),this.mymap.addLayer({id:"spider-layer",source:"spider-source",type:"line",paint:{"line-color":["get","color"],"line-width":["*",1/500*this.scaleFactor,["get","daily"]],"line-offset":["*",.5,["get","daily"]],"line-opacity":["get","fade"]},filter:[">",["get",this.currentTimeBin],0]},"centroid-layer"),this.changedScale(this.currentScale);const t=this;this.mymap.on("click","spider-layer",function(e){t.clickedOnSpiderLink(e)}),this.mymap.on("mousemove","spider-layer",function(e){t.mymap.getCanvas().style.cursor=e?"pointer":"grab"}),this.mymap.on("mouseleave","spider-layer",function(){t.mymap.getCanvas().style.cursor="grab"})},clickedOrigins(){this.isOrigin=!0,this.updateCentroidLabels(),this.convertRegionColors(this.geojson),this.mymap.getSource("shpsource").setData(this.geojson)},clickedDestinations(){this.isOrigin=!1,this.updateCentroidLabels(),this.convertRegionColors(this.geojson),this.mymap.getSource("shpsource").setData(this.geojson)},updateCentroidLabels(){const t=this.isOrigin?"{dailyFrom}":"{dailyTo}",e=this.isOrigin?"widthFrom":"widthTo";this.mymap.getLayer("centroid-layer")&&this.mymap.removeLayer("centroid-layer"),this.mymap.getLayer("centroid-label-layer")&&this.mymap.removeLayer("centroid-label-layer"),this.showCentroids&&this.mymap.addLayer({layout:{visibility:this.thumbnail?"none":"visible"},id:"centroid-layer",source:"centroids",type:"circle",paint:{"circle-color":"#ec0","circle-radius":["get",e],"circle-stroke-width":2,"circle-stroke-color":"white"},filter:[">",["get",this.isOrigin?"dailyFrom":"dailyTo"],0]}),this.showCentroidLabels&&this.mymap.addLayer({id:"centroid-label-layer",source:"centroids",type:"symbol",layout:{"text-field":t,"text-font":["Noto Sans Regular"],"text-size":11},paint:this.showCentroids?{}:{"text-halo-color":"white","text-halo-width":2},filter:[">",["get",this.isOrigin?"dailyFrom":"dailyTo"],0]})},unselectAllCentroids(){this.fadeUnselectedLinks(-1),this.selectedCentroid=0},clickedOnCentroid(t){t.originalEvent.stopPropagating=!0;const i=t.features[0].properties.id;if(i===this.selectedCentroid){this.unselectAllCentroids();return}this.selectedCentroid=i,this.fadeUnselectedLinks(i)},fadeUnselectedLinks(t){const e=this.mymap;for(const i of this.spiderLinkFeatureCollection.features){const s=i.properties.id.split(":");let o=s[0]===String(t)||s[1]===String(t)?.7:ne;t===-1&&(o=.7),i.properties.fade=o}e.getSource("spider-source").setData(this.spiderLinkFeatureCollection)},clickedOnSpiderLink(t){if(t.originalEvent.stopPropagating)return;const e=t.features[0].properties,i=Math.round(1e4*e.daily*this.scaleFactor)/1e4;let s=0;const o=""+e.dest+":"+e.orig;this.linkData[o]&&(s=Math.round(1e4*this.linkData[o].daily*this.scaleFactor)/1e4);const a=i+s;let r=`<h1><b>${a} Bidirectional Trip${a!==1?"s":""}</b></h1>`;r+='<p style="width: max-content">_________________________</p>',r+=`<p style="width: max-content">${i} trip${i!==1?"s":""} // ${s} reverse trip${s!==1?"s":""}</p>`,new g.Popup({closeOnClick:!0}).setLngLat(t.lngLat).setHTML(r).addTo(this.mymap)},convertRegionColors(t){for(const e of t.features){if(!e.properties)continue;let o=128+127*(1-(this.isOrigin?e.properties.dailyFrom:e.properties.dailyTo)/this.maxZonalTotal);o||(o=255),e.properties.blue=o}},handleCentroidsForTimeOfDayChange(t){const e={type:"FeatureCollection",features:[]};for(const s of this.geojson.features){const o=this.buildSingleCentroid(s);o.properties.id=s.id;const a=this.calculateCentroidValuesForZone(t,s);o.properties.dailyFrom=Math.round(1e4*a.from*this.scaleFactor)/1e4,o.properties.dailyTo=Math.round(1e4*a.to*this.scaleFactor)/1e4;let r=Math.log10(o.properties.dailyFrom);o.properties.widthFrom=6+r*3.5,r=Math.log10(o.properties.dailyTo),o.properties.widthTo=6+r*3.5,s.properties||(s.properties={}),s.properties.dailyFrom=a.from,s.properties.dailyTo=a.to,o.properties.dailyFrom+o.properties.dailyTo>0&&(e.features.push(o),s.properties&&(this.centroids[s.properties[this.idColumn]]=o))}this.centroidSource=e,this.mymap.getSource("centroids").setData(this.centroidSource),this.updateCentroidLabels()},calculateCentroidValuesForZone(t,e){let i=0,s=0;if(t===l)return s=e.properties.dailyTo,i=e.properties.dailyFrom,{from:i,to:s};const o=this.marginals.from[e.id],a=this.marginals.to[e.id];if(Array.isArray(t)){let p=this.headers.indexOf(t[0])-1;p<0&&(p=0);const m=this.headers.indexOf(t[1])-1;for(let n=p;n<=m;n++)i+=o?Math.round(o[n]):0,s+=a?Math.round(a[n]):0;return{from:i,to:s}}const r=this.headers.indexOf(t)-1;return i=o?Math.round(o[r]):0,s=a?Math.round(a[r]):0,{from:i,to:s}},buildSingleCentroid(t){t.properties||(t.properties={});let e;if(this.vizDetails.centroidColumn){let i=t.properties[this.vizDetails.centroidColumn];Array.isArray(i)||(i=i.split(",").map(s=>parseFloat(s))),e={type:"Feature",geometry:{type:"Point",coordinates:i},properties:{id:t.id},id:t.id}}else e=x(t),e.properties.id=t.id,e.id=t.id;return e},buildCentroids(t){const e={type:"FeatureCollection",features:[]};try{for(const i of t.features){if(!i.id)continue;i.properties||(i.properties={});const s=this.buildSingleCentroid(i);let o=Math.round(this.marginals.rowTotal[i.id]),a=Math.round(this.marginals.colTotal[i.id]);o||(o=0),a||(a=0),s.properties.dailyFrom=o*this.scaleFactor,s.properties.dailyTo=a*this.scaleFactor;let r=Math.log10(s.properties.dailyFrom);s.properties.widthFrom=6+r*3.5,r=Math.log10(s.properties.dailyTo),s.properties.widthTo=6+r*3.5,o&&(this.maxZonalTotal=Math.max(this.maxZonalTotal,o)),a&&(this.maxZonalTotal=Math.max(this.maxZonalTotal,a)),i.properties||(i.properties={}),i.properties.dailyFrom=o,i.properties.dailyTo=a,s.properties.dailyFrom+s.properties.dailyTo>0&&(e.features.push(s),i.properties&&(this.centroids[i.id]=s),this.updateMapExtent(s.geometry.coordinates))}}catch{this.$emit("error","Error creating centroids, does centroid column exist?")}this.centroidSource=e,this.mymap.getSource("centroids")||this.mymap.addSource("centroids",{data:this.centroidSource,type:"geojson"}),this.updateCentroidLabels(),this.mymap.on("click","centroid-layer",i=>{this.clickedOnCentroid(i)}),this.mymap.on("mousemove","centroid-layer",i=>{this.mymap.getCanvas().style.cursor=i?"pointer":"grab"}),this.mymap.on("mouseleave","centroid-layer",()=>{this.mymap.getCanvas().style.cursor="grab"})},setMapExtent(){localStorage.setItem(this.$route.fullPath+"-bounds",JSON.stringify(this._mapExtentXYXY));const t=this.thumbnail?{animate:!1}:{padding:{top:25,bottom:25,right:100,left:100},animate:!1};this.mymap.fitBounds(this._mapExtentXYXY,t)},setupKeyListeners(){window.addEventListener("keyup",t=>{t.keyCode===27&&this.pressedEscape()}),window.addEventListener("keydown",t=>{t.keyCode===38&&this.pressedArrowKey(-1),t.keyCode===40&&this.pressedArrowKey(1)})},processGeojson(){for(const t of this.geojson.features){const e=t.properties;e.dailyFrom!==0||e.dailyTo!==0?t.properties.isVisible=!0:t.properties.isVisible=!1}},async processShapefile(t){this.loadingText="Verkehrsnetz bauarbeiten...";const e=await F(t.shpFile,t.dbfFile);e.features.length>150&&(this.lineFilter=10),this.loadingText="Koordinaten berechnen...";for(const i of e.features){const s=i.properties;if(!this.idColumn&&s&&(this.idColumn=Object.keys(s)[0]),!(this.idColumn in s)){this.$emit("error",`Shapefile does not contain ID column "${this.idColumn}"`);return}i.properties&&(i.id=i.properties[this.idColumn]);try{i.geometry.type==="MultiPolygon"?this.convertMultiPolygonCoordinatesToWGS84(i):this.convertPolygonCoordinatesToWGS84(i)}catch(o){console.error("ERR with feature: "+i),console.error(o)}}return e},convertPolygonCoordinatesToWGS84(t){for(const e of t.geometry.coordinates){const i=[];for(const s of e){const o=w.toLngLat(this.projection,s);i.push(o)}e.length=0,e.push(...i)}},origConvertMultiPolygonCoordinatesToWGS84(t){for(const e of t.geometry.coordinates){const i=e[0],s=[];for(const o of i){const a=b(this.projection,"WGS84",o);s.push(a)}e[0]=s}},convertMultiPolygonCoordinatesToWGS84(t){t.geometry.coordinates=this.recurseWGS84(t.geometry.coordinates)},recurseWGS84(t){const e=[];for(let i of t)Array.isArray(i[0])?e.push(this.recurseWGS84(i)):e.push(b(this.projection,"WGS84",i));return e},async getDailyDataSummary(){const t={},e={},i={},s={};for(const o of Object.keys(this.zoneData)){i[o]=Array(this.headers.length-1).fill(0);for(const a of Object.keys(this.zoneData[o])){t[o]||(t[o]=0),e[a]||(e[a]=0),this.dailyData[o][a]&&(t[o]+=this.dailyData[o][a],e[a]+=this.dailyData[o][a]),s[a]||(s[a]=Array(this.headers.length-1).fill(0));for(let r=0;r<this.headers.length-1;r++)this.zoneData[o][a][r]&&(i[o][r]+=this.zoneData[o][a][r],s[a][r]+=this.zoneData[o][a][r])}}return{rowTotal:t,colTotal:e,from:i,to:s}},async loadCSVData(){this.loadingText="Load CSV data...";let t="";try{t=await this.findFilenameFromWildcard(`${this.myState.subfolder}/${this.vizDetails.csvFile}`)}catch{this.$store.commit("error",`Error loading ${this.myState.subfolder}/${this.vizDetails.csvFile}`);return}const e=new ae;e.onmessage=i=>{const s=i.data;s.ready?e.postMessage({fileSystem:this.fileSystem,filePath:t}):s.status?this.loadingText=s.status:s.error?(this.csvWorker?.terminate(),this.loadingText=s.error,this.$emit("error",{type:y.ERROR,msg:`Aggr.OD: Error loading "${this.myState.subfolder}/${this.vizDetails.csvFile}"`,desc:"Check the path and filename"})):s.finished&&(this.csvWorker?.terminate(),this.finishedLoadingData(s))},this.csvWorker=e},async finishedLoadingData(t){this.loadingText="Building diagram...",this.isFinishedLoading=!0,await this.$nextTick(),this.rowName=t.rowName,this.colName=t.colName,this.headers=t.headers,this.dailyData=t.dailyZoneData,this.zoneData=t.zoneData,this.linkData=t.dailyLinkData,this.marginals=await this.getDailyDataSummary(),this.buildCentroids(this.geojson),this.convertRegionColors(this.geojson),this.addGeojsonToMap(this.geojson),this.setMapExtent(),this.buildSpiderLinks(),this.setupKeyListeners(),this.updateTestData(),this.loadingText=""},updateMapExtent(t){this._mapExtentXYXY[0]=Math.min(this._mapExtentXYXY[0],t[0]),this._mapExtentXYXY[1]=Math.min(this._mapExtentXYXY[1],t[1]),this._mapExtentXYXY[2]=Math.max(this._mapExtentXYXY[2],t[0]),this._mapExtentXYXY[3]=Math.max(this._mapExtentXYXY[3],t[1])},addGeojsonToMap(t){this.processGeojson(),this.addGeojsonLayers(t),this.addNeighborhoodHoverEffects()},addGeojsonLayers(t){this.mymap.getSource("shpsource")||this.mymap.addSource("shpsource",{data:t,type:"geojson"}),this.mymap.getLayer("shplayer-fill")&&this.mymap.removeLayer("shplayer-fill"),this.mymap.addLayer({id:"shplayer-fill",source:"shpsource",type:"fill",paint:{"fill-color":["rgb",["get","blue"],["get","blue"],255],"fill-opacity":.5}},"water"),this.mymap.getLayer("shplayer-border")&&this.mymap.removeLayer("shplayer-border"),this.mymap.addLayer({id:"shplayer-border",source:"shpsource",type:"line",paint:{"line-color":"#66f","line-opacity":.5,"line-width":["case",["boolean",["feature-state","hover"],!1],3,1]},filter:["==","isVisible",!0]},"centroid-layer")},addNeighborhoodHoverEffects(){const t=this;this.mymap.on("mousemove","shplayer-fill",function(e){const i=t.mymap;e.features.length>0&&(t.hoveredStateId&&i.setFeatureState({source:"shpsource",id:t.hoveredStateId},{hover:!1}),t.hoveredStateId=e.features[0].properties[t.idColumn],i.setFeatureState({source:"shpsource",id:t.hoveredStateId},{hover:!0}))}),this.mymap.on("mouseleave","shplayer-fill",function(){const e=t.mymap;t.hoveredStateId&&e.setFeatureState({source:"shpsource",id:t.hoveredStateId},{hover:!1}),t.hoveredStateId=null})},offsetLineByMeters(t,e){try{return L(t,e,{units:"meters"})}catch{}return t},pressedEscape(){this.unselectAllCentroids()},pressedArrowKey(t){},changedTimeSlider(t){this.currentTimeBin=t;const e=this.currentScale/500*this.scaleFactor;if(this.showTimeRange==!1)this.mymap.setPaintProperty("spider-layer","line-width",["*",e,["get",t]]),this.mymap.setPaintProperty("spider-layer","line-offset",["*",.5*e,["get",t]]);else{const i=["+"];let s=!1;for(const o of this.headers)o===t[0]&&(s=!0),o!==l&&(s&&i.push(["get",o]),o===t[1]&&(s=!1));this.mymap.setPaintProperty("spider-layer","line-width",["*",e,i]),this.mymap.setPaintProperty("spider-layer","line-offset",["*",.5*e,i])}this.handleCentroidsForTimeOfDayChange(t)},changedScale(t){this.isFinishedLoading&&(this.currentScale=t,this.changedTimeSlider(this.currentTimeBin))},changedLineFilter(t){t===l?this.lineFilter=1/0:this.lineFilter=t,this.updateSpiderLinks()}},watch:{"globalState.viewState"(t){if(this.mapIsIndependent)return;if(!this.mymap||this.isMapMoving||this.thumbnail){this.isMapMoving=!1;return}const{bearing:e,center:i,zoom:s,pitch:o}=t;if(s)try{this.mymap.off("move",this.handleMapMotion),this.mymap.jumpTo({center:i,zoom:s,bearing:e,pitch:o}),this.mymap.on("move",this.handleMapMotion)}catch{}},async"$store.state.colorScheme"(){if(this.isDarkMode=this.$store.state.colorScheme===f.DarkMode,!this.mymap)return;const t=`${C}map-styles/${this.globalState.isDarkMode?"dark":"positron"}.json`,e=i=>new Promise(s=>setTimeout(s,i));this.mymap.setStyle(t),await e(1200),this.buildCentroids(this.geojson),this.buildSpiderLinks(),this.addGeojsonToMap(this.geojson)},"$store.state.resizeEvents"(){},showTimeRange(){},showCentroids(){this.updateCentroidLabels()},showCentroidLabels(){this.updateCentroidLabels()}},async created(){this._mapExtentXYXY=[180,90,-180,-90],this._maximum=0},async mounted(){d.commit("setFullScreen",!this.thumbnail),this.isDarkMode=this.$store.state.colorScheme===f.DarkMode,this.bounceTimeSlider=u.debounce(this.changedTimeSlider,100),this.bounceScaleSlider=u.debounce(this.changedScale,50),this.bounceLineFilter=u.debounce(this.changedLineFilter,250),this.myState.thumbnail=this.thumbnail,this.myState.yamlConfig=this.yamlConfig||"",this.myState.subfolder=this.subfolder,await this.getVizDetails(),!this.thumbnail&&(this.setupMap(),this.configureSettings(),this.setupResizer())},beforeDestroy(){this.resizer?.disconnect(),this.csvWorker?.terminate(),delete window.__testdata__},destroyed(){d.commit("setFullScreen",!1)}});var de=function(){var e=this,i=e._self._c;return e._self._setupProxy,i("div",{staticClass:"mycomponent",attrs:{id:e.containerId}},[e.thumbnail?e._e():i("zoom-buttons",{staticClass:"zoom-buttons",attrs:{corner:"top-left"}}),i("div",{staticClass:"map-container"},[i("div",{staticClass:"mymap",attrs:{id:e.mapId}}),i("div",{directives:[{name:"show",rawName:"v-show",value:!e.thumbnail&&e.loadingText,expression:"!thumbnail && loadingText"}],staticClass:"status-blob"},[i("p",[e._v(e._s(e.loadingText))])]),!e.thumbnail&&!e.loadingText?i("div",{staticClass:"lower-left"},[i("div",{staticClass:"subheading"},[e._v(e._s(e.$t("lineWidths")))]),i("scale-slider",{staticClass:"scale-slider",attrs:{stops:e.scaleValues,initialValue:e.currentScale,tooltip:!1},on:{change:e.bounceScaleSlider}}),i("div",{staticClass:"subheading"},[e._v(e._s(e.$t("hide")))]),i("line-filter-slider",{staticClass:"scale-slider",attrs:{initialValue:e.lineFilter,tooltip:!1},on:{change:e.bounceLineFilter}})],1):e._e(),!e.thumbnail&&!e.isMobile?i("div",{staticClass:"lower-right"},[i("legend-box",{staticClass:"complication",attrs:{rows:e.legendRows}}),i("scale-box",{staticClass:"complication",attrs:{rows:e.scaleRows}})],1):e._e()]),e.thumbnail?e._e():i("div",{staticClass:"widgets",style:{padding:e.yamlConfig?"0 0.5rem 0.5rem 0.5rem":"2px 4px"}},[this.headers.length>2?i("div",{staticClass:"widget-column",staticStyle:{"min-width":"8rem"}},[i("h4",{staticClass:"heading"},[e._v(e._s(e.$t("time")))]),i("b-checkbox",{staticClass:"checkbox",model:{value:e.showTimeRange,callback:function(s){e.showTimeRange=s},expression:"showTimeRange"}},[e._v(e._s(e.$t("duration")))]),i("time-slider",{staticClass:"xtime-slider",attrs:{useRange:e.showTimeRange,stops:e.headers,all:e.allTimeBinsLabel},on:{change:e.bounceTimeSlider}})],1):e._e(),i("div",{staticClass:"widget-column"},[i("h4",{staticClass:"heading"},[e._v(e._s(e.$t("circle")))]),i("b-checkbox",{staticClass:"checkbox",model:{value:e.showCentroids,callback:function(s){e.showCentroids=s},expression:"showCentroids"}},[e._v(" "+e._s(e.$t("showCentroids")))]),i("b-checkbox",{staticClass:"checkbox",model:{value:e.showCentroidLabels,callback:function(s){e.showCentroidLabels=s},expression:"showCentroidLabels"}},[e._v(" "+e._s(e.$t("showNumbers")))])],1),i("div",{staticClass:"widget-column",staticStyle:{margin:"0 0 0 auto"}},[i("h4",{staticClass:"heading"},[e._v(e._s(e.$t("total")))]),i("b-button",{staticClass:"is-small",class:{"is-link":e.isOrigin,"is-active":e.isOrigin},on:{click:e.clickedOrigins}},[e._v(e._s(e.$t("origins")))]),i("b-button",{staticClass:"is-small",class:{"is-link":!e.isOrigin,"is-active":!e.isOrigin},attrs:{hint:"Hide"},on:{click:e.clickedDestinations}},[e._v(e._s(e.$t("dest")))])],1)])],1)},ce=[],he=h(le,de,ce,!1,null,"0f050fd0");const we=he.exports;export{we as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as C,C as L}from"./Coords-C-Mhj230.js";import{c as D}from"./turf.es-BzqbG201.js";import{N as y,b as w}from"./ColorsAndWidths-
|
|
1
|
+
import{r as C,C as L}from"./Coords-C-Mhj230.js";import{c as D}from"./turf.es-BzqbG201.js";import{N as y,b as w}from"./ColorsAndWidths-DWf86C_R.js";import{r as v,G as A}from"./geo-utils-DH8a3zzF.js";import{D as B}from"./index-CTSmLLzf.js";import{G as F}from"./geojson-layer-DrXQTe8F.js";import{s as T}from"./sequential-pySAYR1V.js";import{o as k}from"./threshold-CrWFx_nu.js";import{r as W}from"./cubehelix-BzW-tINw.js";class R{bgLayers={};fileApi;subfolder;vizDetails;constructor(s){this.vizDetails=s.vizDetails,this.subfolder=s.subfolder,this.fileApi=s.fileApi}layers(){const s=[],e=[];for(const i of Object.keys(this.bgLayers).reverse()){const r=this.bgLayers[i],f=new F({id:`background-layer-${i}`,beforeId:r.onTop?void 0:"water",data:r.features,getFillColor:o=>o.properties.__fill__,getLineColor:r.borderColor,getLineWidth:r.borderWidth,getText:o=>o.properties.label,getTextSize:12,getTextColor:[255,255,255,255],getTextBackgroundColor:[0,0,0,255],pointType:"circle+text",textFontWeight:"bold",lineWidthUnits:"pixels",autohighlight:!1,opacity:r.opacity,pickable:!1,stroked:!!r.borderWidth,fp64:!1,parameters:{depthTest:!1},visible:r.visible});r.onTop?e.push(f):s.push(f)}return{layersBelow:s,layersOnTop:e}}async loadShapefileFeatures(s){console.log("loading",s);const e=`${this.subfolder}/${s}`;let i,r,f,o={};try{i=await this.fileApi.getFileBlob(e)}catch{throw Error("Error loading "+e)}try{let t=e;t.endsWith(".shp")&&(t=t.slice(0,-4)+".dbf"),t.endsWith(".SHP")&&(t=t.slice(0,-4)+".DBF"),t.endsWith(".Shp")&&(t=t.slice(0,-4)+".Dbf"),r=await this.fileApi.getFileBlob(t),f=await(await r)?.arrayBuffer()}catch{}try{const t=await(await i)?.arrayBuffer();if(!t)return[];o=await C(t,f),o.features=o.features.filter(g=>!!g.geometry)}catch(t){throw console.error(t),Error(`Error loading shapefile ${e}`)}let h=B,l=e;l.endsWith(".shp")&&(l=l.slice(0,-4)+".prj"),l.endsWith(".SHP")&&(l=l.slice(0,-4)+".PRJ"),l.endsWith(".Shp")&&(l=l.slice(0,-4)+".Prj");try{h=await this.fileApi.getFileText(l)}catch(t){console.error(""+t)}const d=this.vizDetails.projection||L.guessProjection(h);d&&(o=v.toWgs84(o,d,L.allEPSGs));function b(t){return Array.isArray(t[0])?b(t[0]):[t[0],t[1]]}const p=b(o.features[0].geometry.coordinates);if(Math.abs(p[0])>180||Math.abs(p[1])>90)throw Error("Coordinates not lon/lat. Try adding projection to YAML, or provide a .prj file");return o.features}async loadGeoPackage(s){console.log("loading",s);const e=`${this.subfolder}/${s}`,r=await(await this.fileApi.getFileBlob(e)).arrayBuffer();return A.loadGeoPackageFromBuffer(r)}async initialLoad(){if(this.bgLayers={},!this.vizDetails.backgroundLayers){this.vizDetails.backgroundLayers={};return}for(const s of Object.keys(this.vizDetails.backgroundLayers)){console.log("LOADING",s);const e=this.vizDetails.backgroundLayers[s];if(!e.shapes)continue;let i=[];const r=e.shapes;r.startsWith("http")?i=(await fetch(r).then(async a=>await a.json())).features:r.toLocaleLowerCase().endsWith(".gpkg")?i=await this.loadGeoPackage(r):r.toLocaleLowerCase().endsWith(".shp")?i=await this.loadShapefileFeatures(r):i=(await this.fileApi.getFileJson(`${this.subfolder}/${r}`)).features;let f=null,o;if(e.fill&&!e.fill.startsWith("#")){let a=!1;if(e.fill.startsWith("scheme")&&(a=!0),o=y[e.fill],o||(o=y[`interpolate${e.fill}`]),o||(o=y[`scheme${e.fill}`],o&&(a=!0)),o){let n=T(o);n||(n=k(o)),f=Array.from({length:i.length},(c,m)=>{const u=a?W(o[m%o.length]):W(n(m/(i.length-1)));return[u.r,u.g,u.b]})}}let h;o||(h=w([e.fill])[0]);for(let a=0;a<i.length;a++){const n=i[a];let c=[64,64,192,64];e.fill&&(c=h||f[a]),n.properties.__fill__=c}if(e.label){const a=[];for(const n of i){const c=D(n);c.properties||(c.properties={}),c.properties.label=n.properties[e.label],a.push(c)}i=i.concat(a)}const l=e.borderColor?w([e.borderColor])[0]:[255,255,255];let d="borderWidth"in e?parseFloat(e.borderWidth):0;const b=e.opacity||1;let p=!0;"visible"in e&&(p=e.visible);let t=!1;"onTop"in e&&(t=!!e.onTop),"ontop"in e&&(t=!!e.ontop);const g={features:i,opacity:b,borderWidth:d,borderColor:l,visible:p,onTop:t};this.bgLayers[s]=g,this.bgLayers={...this.bgLayers},console.log("LOADED BG LAYERS")}}}export{R as B};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as l,g as s,n as a}from"./index-
|
|
1
|
+
import{d as l,g as s,n as a}from"./index-CTSmLLzf.js";import{Y as o}from"./index-DFKcNkqO.js";import{H as r}from"./HTTPFileSystem-BvMX73pb.js";import{T as n}from"./TopSheet-Djk8QTMY.js";import"./fxp-DjoqftHf.js";const f="url('assets/thumbnail.jpg') no-repeat;",h=l({name:"CalculationTable",components:{TopSheet:n},props:{root:{type:String,required:!0},subfolder:{type:String,required:!0},yamlConfig:String,config:Object,thumbnail:Boolean},data:()=>({globalState:s.state,allConfigFiles:{dashboards:{},topsheets:{},vizes:{},configs:{}},files:[],isLoaded:!1,vizDetails:{title:"",description:"",thumbnail:""}}),computed:{fileApi(){return new r(this.fileSystem,s)},fileSystem(){const i=this.$store.state.svnProjects.filter(t=>t.slug===this.root);if(i.length===0)throw console.log("no such project"),Error;return i[0]},urlThumbnail(){return f}},methods:{async getVizDetails(){if(!this.fileApi)return;try{const t=await this.fileApi.getFileText(this.subfolder+"/"+this.yamlConfig);this.vizDetails=o.parse(t)}catch(t){console.error("failed "+t),this.$emit("error",""+t)}const i=this.vizDetails.title?this.vizDetails.title:"Table";this.$emit("title",i)}},async mounted(){await this.getVizDetails(),this.allConfigFiles=await this.fileApi.findAllYamlConfigs(this.subfolder);const{files:i}=await this.fileApi.getDirectory(this.subfolder);this.files=i,this.isLoaded=!0,this.thumbnail}}),m="/assets/table-NNqWMujx.png";var c=function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"my-component",class:{"hide-thumbnail":!t.thumbnail},attrs:{oncontextmenu:"return false"}},[t.thumbnail?e("img",{staticClass:"thumb",attrs:{src:m,width:128}}):t._e(),!t.thumbnail&&t.isLoaded?e("div",{staticClass:"topsheet"},[e("p",{staticClass:"header"},[t._v(t._s(t.subfolder))]),e("h2",[t._v(t._s(t.vizDetails.title))]),e("p",[t._v(t._s(t.vizDetails.description))]),e("hr"),e("TopSheet",{tag:"component",staticClass:"dash-card",attrs:{fileSystemConfig:t.fileSystem,subfolder:t.subfolder,config:t.vizDetails,yaml:t.yamlConfig,files:t.files,cardTitle:t.vizDetails.title,cardId:"table1",allConfigFiles:t.allConfigFiles}})],1):t._e()])},u=[],d=a(h,c,u,!1,null,"73ee6118");const C=d.exports;export{C as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as k,n as S,g as p,m as z,C as w,R as _}from"./index-C29WLT62.js";import{d as A}from"./index-CVL_6l40.js";import{r as M}from"./index-DaQ2kJcj.js";import{Y as P}from"./index-DFKcNkqO.js";import{f as O,g as j,p as E,n as u,a as F,H as B}from"./HTTPFileSystem-D1GbYP-b.js";import{c as R}from"./index-Bor4ZlUN.js";import{P as W,L as H}from"./LegendColors-DFEnv3QM.js";import{Z as N}from"./ZoomButtons-LlPdGkjg.js";import{W as U,D as X}from"./DashboardDataManager-DamP88-4.js";import{P as C}from"./PathOffsetLayer-BAg9qqJp.js";import{M as Y}from"./mapbox-overlay-HS93bZkL.js";import{A as D}from"./arc-layer-utQsdbjp.js";import{T as I,S as f}from"./geojson-layer-Xa-LEuhE.js";import{B as q}from"./BackgroundLayers-CnD_YY2y.js";import"./fxp-DjoqftHf.js";import"./layer-extension-LbH36Bf-.js";import"./layer-T9N9JmIf.js";import"./group-hI8ly2Wr.js";import"./index-_doEQLKC.js";import"./Coords-C-Mhj230.js";import"./turf.es-BzqbG201.js";import"./ColorsAndWidths-Dh530C_N.js";import"./cubehelix-BzW-tINw.js";import"./threshold-CrWFx_nu.js";import"./rainbow-DNS2KC2A.js";import"./geo-utils-BMWVdEjV.js";import"./sequential-pySAYR1V.js";import"./pow-RbZoge3Z.js";import"./precisionRound-CRsIqO1V.js";const G=k({name:"MapTooltip",components:{},props:{hoverInfo:{type:Object,required:!0}},data(){return{tooltipType:0,activity:"",stop:{}}},watch:{hoverInfo(){this.renderTooltip(this.hoverInfo)}},methods:{renderTooltip(s){console.log({hoverInfo:s}),this.tooltipType=0;const{object:t}=s;return t?t?.type=="pickup"?this.renderActivityTooltip(s,"pickup"):t?.type=="delivery"?this.renderActivityTooltip(s,"delivery"):t?.type=="service"?this.renderServicesTooltip(s,"service"):t?.color?this.renderLegTooltip(s):t?.type=="depot"?null:this.renderStopTooltip(s):null},renderActivityTooltip(s,t){this.tooltipType=1,this.activity=t},renderServicesTooltip(s,t){this.tooltipType=2},renderLegTooltip(s){this.tooltipType=3},renderStopTooltip(s){this.tooltipType=2;const{object:t,x:e,y:i}=s,o=t.visits.length,r=t.visits.reduce((h,a)=>h+a.pickup.length,0),n=t.visits.reduce((h,a)=>h+a.delivery.length,0);this.stop={numPickupsAndDeliveries:r+n,overview:{visits:o,pickups:r,deliveries:n}}}}});var V=function(){var t=this,e=t._self._c;return t._self._setupProxy,t.tooltipType?e("div",{staticClass:"flex-col"},[t.tooltipType==1?e("div",{staticClass:"tooltip"},[e("table",{staticStyle:{"max-width":"30rem","font-size":"0.8rem"}},[e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"right","padding-right":"0.5rem","padding-top":"0.2rem"}},[t._v(t._s(t.activity)+":")]),e("td",{staticStyle:{"padding-top":"0.2rem"}},[t._v(t._s(t.hoverInfo.object.shipmentIds.join(", ")))])])])])]):t._e(),t.tooltipType==2?e("div",{staticClass:"tooltip flex-col"},[e("b",[t._v(t._s(t.hoverInfo.object?.$id))]),e("h5",{staticStyle:{"padding-top":"0.2rem"}},[t._v("Capacity Demand: "+t._s(t.hoverInfo.object.$capacityDemand))])]):t._e(),t.tooltipType==3?e("div",{staticClass:"tooltip flex-col"},[e("b",[t._v(t._s(t.hoverInfo.object?.tour?.vehicleId))]),e("p",[t._v("Leg # "+t._s(1+t.hoverInfo.object?.count))]),e("p",[t._v("Shipments on board: "+t._s(t.hoverInfo.object?.shipmentsOnBoard?.length))]),e("p",[t._v("Total size: "+t._s(t.hoverInfo.object?.totalSize))])]):t._e(),t.tooltipType==4?e("div",{staticClass:"tooltip flex-col"},[e("table",{staticStyle:{"font-size":"0.8rem"}},[e("tbody",[t._l(Object.keys(t.stop.overview),function(i){return e("tr",{key:i},[e("td",{staticStyle:{"text-align":"right","padding-right":"0.5rem"}},[t._v(t._s(i)+":")]),e("td",[e("b",[t._v(t._s(t.stop.overview[i]))])])])}),t._l(Object.keys(t.stop.numPickupsAndDeliveries==1?t.hoverInfo.object.details:[]),function(i){return e("tr",{key:i},[e("td",{staticStyle:{"text-align":"right","padding-right":"0.5rem","padding-top":"0.2rem"}},[t._v(t._s(i.slice(1))+":")]),e("td",{staticStyle:{"padding-top":"0.2rem"}},[t._v(t._s(t.hoverInfo.object.details[t.a]))])])})],2)])]):t._e()]):t._e()},J=[],Z=S(G,V,J,!1,null,null);const K=Z.exports,x="/",y={pickup:[0,150,255],delivery:[240,0,60]},Q=k({name:"MyDeckComponent",components:{MapTooltip:K},props:{activeTab:{type:String,required:!0},bgLayers:{type:Object},dark:{type:Boolean,required:!0},depots:{type:Array},legs:{type:Array,required:!0},mapIsIndependent:{type:Boolean},numSelectedTours:{type:Number,required:!0},onClick:{type:Function},services:{type:Boolean,required:!0},settings:{type:Object,required:!0},shipments:{type:Array,required:!0},stopActivities:{type:Array,required:!0},viewId:{type:Number,required:!0}},data(){return{mymap:null,deckOverlay:null,globalState:p.state,tip:null,tooltipStyle:{position:"absolute",padding:"4px 8px",display:"block",top:0,left:0,color:this.dark?"#ccc":"#223",backgroundColor:this.dark?"#2a3c4f":"white",zIndex:2e4}}},watch:{layers(){this.deckOverlay?.setProps({layers:this.layers})},dark(){const s=`${x}map-styles/${this.globalState.isDarkMode?"dark":"positron"}.json`;this.mymap?.setStyle(s)},"globalState.viewState"(){if(this.mapIsIndependent)return;const s=this.globalState.viewState,t=this.mymap?.getCenter();(s.longitude!==t.lng||s.latitude!==t.lat||s.zoom!==this.mymap?.getZoom()||s.pitch!==this.mymap?.getPitch()||s.bearing!==this.mymap?.getBearing())&&this.mymap?.jumpTo(Object.assign({center:{lng:s.longitude,lat:s.latitude}},s))}},computed:{layers(){const s=[],t=this.bgLayers?.layers();if(t&&s.push(...t.layersBelow),this.activeTab=="tours"&&(s.push(new C({id:"shipmentLocationDashedLine",data:this.stopActivities,getPath:e=>[e.ptFrom,e.ptTo],getColor:[128,128,128],getOffset:2,opacity:1,getWidth:this.settings.scaleFactor/2,widthMinPixels:3,widthMaxPixels:200,jointRounded:!0,shadowEnabled:!1,pickable:!1,autoHighlight:!1,highlightColor:[255,255,255],parameters:{depthTest:!1},getDashArray:[3,2],dashJustified:!0,extensions:[new W({dash:!0})]})),this.settings.simplifyTours?s.push(new D({id:"leg-arcs",data:this.legs,getSourcePosition:e=>e.points[0],getTargetPosition:e=>e.points[e.points.length-1],getSourceColor:e=>e.color,getTargetColor:e=>e.color,getWidth:2+(this.settings.scaleFactor-0)*38/100,getHeight:.5,widthMinPixels:2,widthMaxPixels:40,widthUnits:"pixels",opacity:.9,parameters:{depthTest:!1},updateTriggers:{getWidth:[this.settings.scaleFactor]},transitions:{getWidth:150},pickable:!0,autoHighlight:!0,highlightColor:[255,255,255],onHover:this.getTooltip})):s.push(new C({id:"deliveryroutes",data:this.legs,getPath:e=>e.points,getColor:e=>e.color,getWidth:3+(this.settings.scaleFactor-0)*37/100,getOffset:2,opacity:1,widthMinPixels:3,widthMaxPixels:40,widthUnits:"pixels",jointRounded:!0,shadowEnabled:!1,pickable:!0,autoHighlight:!0,highlightColor:[255,255,255],parameters:{depthTest:!1},updateTriggers:{getWidth:[this.settings.scaleFactor]},transitions:{getWidth:150},onHover:this.getTooltip})),s.push(new I({id:"dest-labels",background:!0,data:this.stopActivities,backgroundPadding:this.numSelectedTours!==1?[2,1,2,1]:[3,2,3,1],getColor:[255,255,255],getBackgroundColor:e=>{const i=e.visits.reduce((r,n)=>r+n.pickup.length,0),o=e.visits.reduce((r,n)=>r+n.delivery.length,0);return i&&o?[0,0,255]:i?y.pickup:o?y.delivery:[240,130,0]},getPosition:e=>e.midpoint,getText:e=>e.label=="Depot"?e.label:this.numSelectedTours!==1?" ":`${e.label}`,getSize:e=>e.label=="Depot"?11:this.numSelectedTours!==1?4:11,getTextAnchor:"middle",getAlignmentBaseline:"center",opacity:1,noAlloc:!1,billboard:!0,sizeScale:1,pickable:!0,autoHighlight:!0,highlightColor:[255,255,255],visible:this.settings.shipmentDotsOnTourMap,onHover:this.getTooltip}))),this.activeTab=="shipments"){s.push(new f({id:"deliveries",data:this.pickupsAndDeliveries.deliveries,getPosition:i=>i.coord,getFillColor:y.delivery,getRadius:3,opacity:.9,parameters:{depthTest:!1},pickable:!0,radiusUnits:"pixels",onHover:this.getTooltip})),s.push(new f({id:"pickups",data:this.pickupsAndDeliveries.pickups,getPosition:i=>i.coord,getFillColor:y.pickup,getRadius:2,opacity:.9,parameters:{depthTest:!1},pickable:!0,radiusUnits:"pixels",onHover:this.getTooltip}));const e=this.shipments.length>1?32:255;this.services?s.push(new f({id:"services",data:this.shipments,getPosition:i=>[i.toX,i.toY],getColor:[240,0,60,224],getRadius:4,opacity:.9,parameters:{depthTest:!1},pickable:!0,radiusUnits:"pixels",onHover:this.getTooltip})):s.push(new D({id:"shipments",data:this.shipments,getSourcePosition:i=>[i.fromX,i.fromY],getTargetPosition:i=>[i.toX,i.toY],getSourceColor:[0,228,255,e],getTargetColor:[240,0,60,224],getWidth:1+(this.settings.scaleFactor-0)*49/100,widthUnits:"pixels",getHeight:.5,opacity:.9,parameters:{depthTest:!1},widthMinPixels:1,widthMaxPixels:50,updateTriggers:{getWidth:[this.settings.scaleFactor]},transitions:{getWidth:200},onHover:this.getTooltip}))}return this.activeTab=="services"&&this.services&&s.push(new f({id:"services",data:this.shipments,getPosition:e=>[e.toX,e.toY],getColor:[240,0,60,224],getRadius:4,opacity:.9,parameters:{depthTest:!1},pickable:!0,radiusUnits:"pixels",onHover:this.getTooltip})),s.push(new I({id:"depots",data:this.depots,background:!0,backgroundPadding:[3,2,3,1],getColor:[255,255,255],getBackgroundColor:[0,150,240],getPosition:e=>e.midpoint,getText:e=>"Depot",getTextAnchor:"middle",getAlignmentBaseline:"center",getSize:11,opacity:1,noAlloc:!1,billboard:!0,sizeScale:1,pickable:!0,autoHighlight:!0,highlightColor:[255,255,255],onHover:this.getTooltip})),t&&s.push(...t.layersOnTop),s},pickupsAndDeliveries(){const s={},t={};return this.shipments.forEach(e=>{let i=`${e.fromX}-${e.fromY}`;s[i]||(s[i]={type:"pickup",shipmentIds:[],coord:[e.fromX,e.fromY]}),s[i].shipmentIds.push(e.$id),i=`${e.toX}-${e.toY}`,t[i]||(t[i]={type:"delivery",shipmentIds:[],coord:[e.toX,e.toY]}),t[i].shipmentIds.push(e.$id)}),{type:"activity",pickups:Object.values(s),deliveries:Object.values(t)}},widthScale(){let s=this.settings.scaleFactor;return s==0?1e-6:1/Math.pow(2,(100-s)/5-6)}},async mounted(){const s=`${x}map-styles/${this.globalState.isDarkMode?"dark":"positron"}.json`,t=`map-${this.viewId}`,e=this.globalState.viewState.center,i=this.globalState.viewState.zoom||8;this.mymap=new z.Map({center:e,zoom:i,container:t,style:s}),this.mymap.on("style.load",()=>{this.deckOverlay=new Y({layers:this.layers,interleaved:!0,onClick:this.handleClick}),this.mymap?.addControl(this.deckOverlay)}),this.mymap.on("move",this.handleMove)},beforeDestroy(){this.deckOverlay&&this.mymap?.removeControl(this.deckOverlay),this.mymap?.remove()},methods:{handleMove(){if(this.mapIsIndependent)return;const s=this.mymap?.getCenter(),t={latitude:s.lat,longitude:s.lng,center:s,zoom:this.mymap?.getZoom(),bearing:this.mymap?.getBearing(),pitch:this.mymap?.getPitch(),jump:!0};p.commit("setMapCamera",t)},getTooltip(s){const{x:t,y:e,object:i}=s;if(!i){this.tooltipStyle.display="none",this.tip=null;return}this.tip={...s},this.tooltipStyle.display="block",this.tooltipStyle.top=`${e+12}px`,this.tooltipStyle.left=`${t+12}px`},handleClick(s){this.onClick&&(s.object?this.onClick(s.object):this.onClick(null))}}});var tt=function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"deck-map flex-col"},[e("div",{staticClass:"map-container",attrs:{id:`map-${t.viewId}`}}),t.tip?e("MapTooltip",{staticClass:"deck-tooltip",style:t.tooltipStyle,attrs:{hoverInfo:t.tip}}):t._e()],1)},et=[],st=S(Q,tt,et,!1,null,null);const it=st.exports,ot={messages:{en:{carriers:"Carriers",vehicles:"VEHICLES",services:"SERVICES",shipments:"JOBS",jobs:"JOBS",tours:"TOURS",pickup:"Pickup",delivery:"Delivery",flatten:"Simple tours",shipmentDots:"Show shipments",scaleSize:"Widths",scaleFactor:"Width",service:"Service"},de:{carriers:"Unternehmen",vehicles:"FAHRZEUGE",services:"BETRIEBE",shipments:"AUFTRÄGE",jobs:"JOBS",tours:"TOUREN",pickup:"Abholung",delivery:"Lieferung",flatten:"Simple tours",shipmentDots:"Show shipments",scaleSize:"Widths",scaleFactor:"Width",service:"Betrieb"}}};u.insensitive=!0;const rt=k({name:"CarrierPlugin",i18n:ot,components:{DeckMapComponent:it,LegendColors:H,ToggleButton:A.ToggleButton,ZoomButtons:N},props:{root:{type:String,required:!0},subfolder:{type:String,required:!0},yamlConfig:String,config:Object,thumbnail:Boolean,datamanager:{type:Object}},data(){return{linkLayerId:Math.floor(1e12*Math.random()),vizSettings:{simplifyTours:!1,scaleShipmentSizes:!0,shipmentDotsOnTourMap:!0,scaleFactor:0},vizDetails:{network:"",carriers:"",projection:"",title:"",description:"",thumbnail:"",services:!1,center:null},myState:{statusMessage:"",isRunning:!1,subfolder:"",yamlConfig:"",thumbnail:!0,data:[]},isDraggingDivider:0,dragStartWidth:250,legendSectionWidth:275,myDataManager:this.datamanager||new X(this.root,this.subfolder),searchTerm:"",searchEnabled:!1,backgroundLayers:null,globalState:p.state,isLoaded:!0,showHelp:!1,activeTab:"shipments",speedStops:[-10,-5,-2,-1,-.5,-.25,0,.25,.5,1,2,5,10],speed:1,legendBits:[],links:null,toggleTours:!0,toggleVehicles:!0,toggleShipments:!0,toggleServices:!0,detailContent:"",data:null,carriers:[],vehicles:[],shipments:[],shipmentLookup:{},services:[],stopActivities:[],tours:[],plans:[],shownShipments:[],shipmentIdsInTour:[],depots:[],shownDepots:[],shownLegs:[],selectedCarrier:"",selectedTours:[],selectedPlan:null,selectedPlanIndex:null,selectedShipment:null,thumbnailUrl:"url('assets/thumbnail.jpg') no-repeat;",vehicleLookup:[],vehicleLookupString:{},rgb:R({colormap:"phase",nshades:9,format:"rba"}).map(s=>s.slice(0,3)).reverse(),dropdownIsActive:!1}},computed:{fileApi(){return new B(this.fileSystem,p)},fileSystem(){const s=this.$store.state.svnProjects.filter(t=>t.slug===this.root);if(s.length===0)throw console.log("no such project"),Error;return s[0]},urlThumbnail(){return this.thumbnailUrl},textColor(){const s={text:"#3498db",bg:"#eeeef480"},t={text:"white",bg:"#181518aa"};return this.globalState.isDarkMode?t:s}},watch:{"$store.state.viewState"(){_[this.linkLayerId]&&_[this.linkLayerId]()},"globalState.isDarkMode"(){this.updateLegendColors()},async"globalState.authAttempts"(){console.log("AUTH CHANGED - Reload"),this.yamlConfig||this.buildRouteFromUrl(),await this.getVizDetails()}},methods:{dividerDragStart(s){this.isDraggingDivider=s.clientX,this.dragStartWidth=this.legendSectionWidth},dividerDragEnd(s){this.isDraggingDivider=0},dividerDragging(s){if(!this.isDraggingDivider)return;const t=this.isDraggingDivider-s.clientX;this.legendSectionWidth=Math.max(0,this.dragStartWidth+t)},handleSelectShipment(s){if(this.selectedShipment===s){if(this.selectedShipment=null,this.shownShipments=[],!this.selectedTours.length||this.selectedShipment==null){const t=this.carriers.filter(e=>e.$id==this.selectedCarrier);this.selectedCarrier="",this.handleSelectCarrier(t[0])}return}this.shownShipments=this.shipments.filter(t=>t.$id===s.$id),this.selectedShipment=s},processActivitiesInTour(s){const t=[];let e=0;const i={};let o=this.vehicles.filter(l=>l.$id===s.vehicleId)[0];const r=this.links[o.$depotLinkId];let n=[.5*(r[0]+r[2]),.5*(r[1]+r[3])],h=o.$depotLinkId;i[`L${o.$depotLinkId}`]={link:o.$depotLinkId,midpoint:n,visits:[{pickup:[],delivery:[],service:[]}],label:"",tour:s,details:{},ptFrom:[r[0],r[1]],ptTo:[r[2],r[3]]};for(const l of s.plan){if(!l.$shipmentId&&!l.$serviceId)continue;var a;if(l.$serviceId?(t.push(l.$serviceId),a=this.shipmentLookup[l.$serviceId]):(t.push(l.$shipmentId),a=this.shipmentLookup[l.$shipmentId]),!a)continue;const c=l.$type==="pickup"?a.$from:a.$to,m=[this.links[c][0],this.links[c][1]],v=[this.links[c][2],this.links[c][3]],$=[.5*(m[0]+v[0]),.5*(m[1]+v[1])],L=this.$t(l.$type),{from:ct,fromX:ht,fromY:pt,to:dt,toX:ut,toY:mt,id:gt,...T}=a,b={id:a.$id,type:L,count:e++,link:c,midpoint:$,label:"",tour:s,details:T,ptFrom:m,ptTo:v};if(c==h)i[`L${c}`].visits[i[`L${c}`].visits.length-1][l.$type].push(b);else if(`L${c}`in i){const g={pickup:[],delivery:[],service:[]};g[l.$type].push(b),i[`L${c}`].visits.push(g)}else{const g={pickup:[],delivery:[],service:[]};g[l.$type].push(b),i[`L${c}`]={link:c,midpoint:$,label:"",tour:s,details:T,ptFrom:m,ptTo:v,visits:[g]}}h=c}const d=Object.values(i);for(let l=0;l<d.length;l++)d[l].label=`${l}`;return d[0].label="Depot",{shipmentIdsInTour:t,stopActivities:d}},setupDepots(){const s={};this.vehicles.forEach(t=>{const e=t.$depotLinkId;let i=this.links[e];i&&(s[e]||(s[e]={type:"depot",link:t.$depotLinkId,midpoint:[.5*(i[0]+i[2]),.5*(i[1]+i[3])],coords:this.links[t.$depotLinkId],vehicles:{}}),s[e].vehicles[t.$id]=t)}),this.depots=Object.values(s),this.shownDepots=this.depots.slice(0)},selectAllTours(){this.selectedTours=[],this.shownLegs=[],this.stopActivities=[],this.shownDepots=[],this.shownShipments=this.shipments.slice(0);for(const s of this.tours){s.legs.forEach((e,i)=>this.addRouteToMap(s,e,i++));const t=this.processActivitiesInTour(s);this.stopActivities=this.stopActivities.concat(t.stopActivities),this.setupDepots()}},async handleSelectTour(s){if(!s.legs.length){console.log("No Route.");for(let o=0;o<s.plan.length;o++)if(s.plan[o].$shipmentId){const r=s.plan[o].$shipmentId,n=[this.shipmentLookup[r].$from,this.shipmentLookup[r].$to];s.legs.push({links:n})}this.vizSettings.simplifyTours=!0}if(this.selectedTours.includes(s)){this.selectedTours=this.selectedTours.filter(o=>o!==s),this.shownLegs=this.shownLegs.filter(o=>o.tour!==s),this.stopActivities=this.stopActivities.filter(o=>o.tour!==s),this.selectedTours.length||this.selectAllTours();return}this.selectedTours.length||(this.selectedTours=[],this.shownLegs=[],this.stopActivities=[],this.shownDepots=[]),this.selectedTours.push(s);const{shipmentIdsInTour:t,stopActivities:e}=this.processActivitiesInTour(s);this.shipmentIdsInTour=t;let i=0;for(const o of s.legs)this.addRouteToMap(s,o,i++);this.stopActivities=this.stopActivities.concat(e)},addRouteToMap(s,t,e){const i=[[this.links[t.links[0]][0],this.links[t.links[0]][1]]];for(const o of t.links){const r=i[i.length-1],n=[this.links[o][0],this.links[o][1]];(n[0]!==r[0]||n[1]!==r[1])&&i.push(n),i.push([this.links[o][2],this.links[o][3]])}this.shownLegs=this.shownLegs.concat([{tour:s,shipmentsOnBoard:t.shipmentsOnBoard,totalSize:t.totalSize,count:e,points:i,color:this.rgb[(3+s.tourNumber)%this.rgb.length],type:"leg"}])},handleSelectCarrier(s){if(this.dropdownIsActive=!1,!this.links)return;const t=s.$id;if(this.vehicles=[],this.shipments=[],this.services=[],this.tours=[],this.plans=[],this.shownShipments=[],this.shownDepots=[],this.selectedShipment=null,this.shipmentIdsInTour=[],this.stopActivities=[],this.shownLegs=[],this.selectedCarrier===t){this.selectedCarrier="";return}this.selectedCarrier=t;let e=s.capabilities.vehicles.vehicle||[];this.vehicles=e.sort((i,o)=>u(i,o)),this.setupDepots(),this.shipments=this.processShipments(s),s.services?.service?.length&&(this.services=s.services.service.sort((i,o)=>u(i.$id,o.$id))),this.tours=this.processTours(s),this.shownShipments=this.shipments,this.selectAllTours()},getAllPlans(s){if(s.plan!=null){this.plans.push(s.plan),this.selectedPlan=s.plan;return}if(s.plans!=null){if(s.plans.plan.length==null){this.plans.push(s.plans.plan),this.selectedPlan=s.plans.plan;return}this.plans=s.plans.plan;for(let t=0;t<s.plans.plan.length;t++){if(s.plans.plan[t].selected=="true"){this.selectedPlan=s.plans.plan[t];break}this.selectedPlan=s.plans.plan[t]}}},processTours(s){if(this.getAllPlans(s),!this.selectPlan||!this.plans.length)return[];Array.isArray(this.selectedPlan.tour)||(this.selectedPlan.tour=[this.selectedPlan.tour]);const t=this.selectedPlan.tour.map((e,i)=>{const o=[e.act[0]],r=new Set;for(let a=1;a<e.act.length;a++)e.leg[a-1].shipmentsOnBoard=[...r],o.push(e.leg[a-1]),o.push(e.act[a]),e.act[a].$type=="pickup"&&e.act[a].$shipmentId&&r.add(e.act[a].$shipmentId),e.act[a].$type=="delivery"&&e.act[a].$shipmentId&&r.delete(e.act[a].$shipmentId);const n=e.leg.filter(a=>a.route&&a.route.length).map(a=>{const d=a.shipmentsOnBoard.map(c=>this.shipmentLookup[c]),l=d.reduce((c,m)=>c+parseFloat(m?.$size||0),0);return{shipmentsOnBoard:d,totalSize:l,links:a.route?a.route.split(" "):[]}});return{vehicleId:e.$vehicleId,tourId:e.$tourId,plan:o,legs:n,tourNumber:0}});return t.sort((e,i)=>u(e.vehicleId,i.vehicleId)),t.forEach((e,i)=>e.tourNumber=i),t},processShipments(s){this.shipmentLookup={};var t=[];if(s.shipments?.shipment?.length)t=s.shipments.shipment.sort((e,i)=>u(e.$id,i.$id));else if(s.services?.service?.length)t=s.services.service.sort((e,i)=>u(e.$id,i.$id)),this.processServices(s,t);else return[];try{for(const e of t)e.fromX=.5*(this.links[e.$from][0]+this.links[e.$from][2]),e.fromY=.5*(this.links[e.$from][1]+this.links[e.$from][3]),e.toX=.5*(this.links[e.$to][0]+this.links[e.$to][2]),e.toY=.5*(this.links[e.$to][1]+this.links[e.$to][3]),this.shipmentLookup[e.$id]=e}catch{}return t},processServices(s,t){this.vizDetails.services=!0;try{for(const e of t)e.toX=.5*(this.links[e.$to][0]+this.links[e.$to][2]),e.toY=.5*(this.links[e.$to][1]+this.links[e.$to][3]),e.type="service",this.shipmentLookup[e.$id]=e}catch{}},buildRouteFromUrl(){const s=this.$route.params;if(!s.project||!s.pathMatch){console.log("I CANT EVEN: NO PROJECT/PARHMATCH");return}const t=1+s.pathMatch.lastIndexOf("/"),e=s.pathMatch.substring(0,t),i=s.pathMatch.substring(t);this.myState.subfolder=e,this.myState.yamlConfig=i},async getVizDetails(){if(this.config){this.vizDetails=Object.assign({},this.config);return}if(this.yamlConfig?.endsWith("yaml")||this.yamlConfig?.endsWith("yml"))try{const o=this.yamlConfig.indexOf("/")>-1?this.yamlConfig:this.subfolder+"/"+this.yamlConfig,r=await this.fileApi.getFileText(o);this.vizDetails=P.parse(r),this.vizDetails.title&&this.$emit("title",this.vizDetails.title);return}catch(o){console.log("failed"+o);const r=o;this.fileSystem.needPassword&&r.status===401?p.commit("requestLogin",this.fileSystem.slug):this.$emit("error",""+o);return}const s=this.myState.yamlConfig.substring(0,15+this.myState.yamlConfig.indexOf("carriers")),{files:t}=await this.fileApi.getDirectory(this.myState.subfolder);let e=this.myState.yamlConfig.replaceAll("carriers","network");if(t.indexOf(e)==-1){const o=t.filter(r=>r.indexOf("network")>-1);o.length?e=o[0]:(this.myState.statusMessage="No road network found.",e="")}this.vizDetails={network:e,carriers:this.yamlConfig,title:s,description:"",center:this.vizDetails.center,projection:"",thumbnail:"",services:!1},this.$emit("title","Carrier Explorer"),this.buildThumbnail()},async setMapCenter(){let s=0,t=0,e=0;if(this.vizDetails.center)typeof this.vizDetails.center=="string"&&(this.vizDetails.center=this.vizDetails.center.split(",").map(Number)),t=this.vizDetails.center[0],e=this.vizDetails.center[1];else if(!this.vizDetails.center){if(this.data=Object.entries(this.links),!this.data.length)return;const i=this.data.length/2,o=4096;for(let r=0;r<i;r+=o)t+=this.data[r*2][1][0],e+=this.data[r*2+1][1][1],s++;t=t/s,e=e/s}t&&e&&this.$store.commit("setMapCamera",{longitude:t,latitude:e,zoom:9,bearing:0,pitch:0,jump:!1})},async buildThumbnail(){if(this.thumbnail&&this.vizDetails.thumbnail)try{const s=await this.fileApi.getFileBlob(this.myState.subfolder+"/"+this.vizDetails.thumbnail),t=await M.arraybuffer(s),e=F(t);e&&(this.thumbnailUrl=`center / cover no-repeat url(data:image/png;base64,${e})`)}catch(s){console.error(s)}},handleClick(s){console.log("CLICK!",s),s||this.clickedEmptyMap(),s?.type=="depot"&&this.clickedDepot(s),s?.type=="leg"&&this.clickedLeg(s)},clickedDepot(s){const t=Object.values(s.vehicles).map(e=>e.$id);this.selectedTours=[],this.shownShipments=[];for(const e of this.tours)t.includes(e.vehicleId)&&(this.handleSelectTour(e),this.shipmentIdsInTour.forEach(i=>{this.shownShipments.push(this.shipmentLookup[i])}))},clickedLeg(s){s?.tour&&this.handleSelectTour(s?.tour)},clickedEmptyMap(){this.selectAllTours()},updateLegendColors(){},async loadCarriers(){const s=await this.loadFileOrGzippedFile(this.vizDetails.carriers);return s?(await E(s,{alwaysArray:["carriers.carrier","carriers.carrier.capabilities.vehicles.vehicle","carriers.carrier.plan.tour","carriers.carrier.shipments.shipment","carriers.carrier.services.service"]})).carriers.carrier.sort((i,o)=>u(i.$id,o.$id)):[]},async loadNetwork(){if(this.myState.statusMessage="Loading network...",this.vizDetails.network.indexOf(".xml.")>-1||this.vizDetails.network.endsWith(".avro")){const s=await this.myDataManager.getRoadNetwork(this.vizDetails.network,this.subfolder,this.vizDetails,null,!0);this.vizDetails.projection=""+s.projection,this.myState.statusMessage="Building network link table";const t={};return s.linkId.forEach((e,i)=>{t[e]=[s.source[i*2],s.source[i*2+1],s.dest[i*2],s.dest[i*2+1]]}),t}else{const s=await this.fileApi.getFileJson(this.myState.subfolder+"/"+this.vizDetails.network);return this.vizDetails.projection="EPSG:4326",s}},async fetchNetwork(s,t){return new Promise((e,i)=>{const o=new U;try{o.postMessage({filePath:s,fileSystem:this.fileSystem,vizDetails:t}),o.onmessage=r=>{if(r.data.promptUserForCRS){let n=prompt("Enter the coordinate reference system, e.g. EPSG:25832")||"EPSG:31468";Number.isFinite(parseInt(n))&&(n=`EPSG:${n}`),o.postMessage({crs:n});return}if(r.data.status){this.myState.statusMessage=""+r.data.status;return}o.terminate(),r.data.error&&(console.error(r.data.error),p.commit("error",r.data.error),this.myState.statusMessage=r.data.error,i(r.data.error)),e(r.data.links)}}catch(r){o.terminate(),console.error(r),i(r)}})},toggleLoaded(s){this.isLoaded=s},rotateColors(){localStorage.setItem("plugin/agent-animation/colorscheme",this.globalState.isDarkMode?w.DarkMode:w.LightMode)},async loadFileOrGzippedFile(s){let t=`${this.subfolder}/${s}`;try{if(t.indexOf("*")>-1||t.indexOf("?")>-1){const o=t.substring(1+t.lastIndexOf("/")),r=t.substring(0,t.lastIndexOf("/")),{files:n}=await this.fileApi.getDirectory(r),h=O(n,o);if(h.length==0)throw Error(`No files matched "${o}"`);if(h.length>1)throw Error(`More than one file matched "${o}": ${h}`);t=`${r}/${h[0]}`}let i="";if(t.endsWith("xml")||t.endsWith("gz")){const r=await(await this.fileApi.getFileBlob(t)).arrayBuffer(),n=await j(r);return new TextDecoder("utf-8").decode(n)}}catch{}const e=`Error loading ${t}`;return p.commit("error",e),this.myState.statusMessage=e,""},selectDropdown(){this.dropdownIsActive=!this.dropdownIsActive},selectPlan(s){for(let t=0;t<this.plans.length;t++)this.plans[t].$selected="false";s.$selected="true",this.selectedPlanIndex=this.plans.indexOf(s),this.selectedTours=[],this.selectDropdown(),this.selectedPlan=s}},async mounted(){if(p.commit("setFullScreen",!this.thumbnail),this.myState.thumbnail=this.thumbnail,this.myState.subfolder=this.subfolder,this.yamlConfig||this.buildRouteFromUrl(),await this.getVizDetails(),!this.thumbnail){this.showHelp=!1,this.updateLegendColors(),this.myState.statusMessage="Loading carriers...",this.carriers=await this.loadCarriers(),await this.$nextTick(),this.links=await this.loadNetwork(),this.setMapCenter(),this.myState.statusMessage="",this.carriers.length&&this.handleSelectCarrier(this.carriers[0]),this.tours.length&&this.handleSelectTour(this.tours[0]);try{this.backgroundLayers=new q({vizDetails:this.vizDetails,fileApi:this.fileApi,subfolder:this.subfolder}),await this.backgroundLayers.initialLoad()}catch{this.$emit("error","Error loading background layers")}}},beforeDestroy(){this.myState.isRunning=!1,p.commit("setFullScreen",!1),this.$store.commit("setFullScreen",!1)}});var at=function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"carrier-viewer",class:{"hide-thumbnail":!t.thumbnail},style:{background:t.urlThumbnail},attrs:{oncontextmenu:"return false"}},[e("div",{staticClass:"container-1",on:{mousemove:t.dividerDragging,mouseup:t.dividerDragEnd}},[e("div",{staticClass:"main-panel"},[t.thumbnail?t._e():e("DeckMapComponent",{staticClass:"anim",attrs:{activeTab:t.activeTab,bgLayers:t.backgroundLayers,shipments:t.shownShipments,depots:t.shownDepots,legs:t.shownLegs,stopActivities:t.stopActivities,dark:t.globalState.isDarkMode,center:t.vizDetails.center,viewId:t.linkLayerId,settings:t.vizSettings,numSelectedTours:t.selectedTours.length,onClick:t.handleClick,projection:t.vizDetails.projection,services:t.vizDetails.services||!1}}),t.thumbnail?t._e():e("ZoomButtons",{attrs:{corner:"top-left"}}),t.myState.statusMessage?e("div",{staticClass:"xmessage"},[t._v(t._s(t.myState.statusMessage))]):t._e()],1),e("div",{staticClass:"dragger",on:{mousedown:t.dividerDragStart,mouseup:t.dividerDragEnd,mousemove:function(i){return i.stopPropagation(),t.dividerDragging.apply(null,arguments)}}}),e("div",{staticClass:"right-panel",style:{width:`${t.legendSectionWidth}px`},attrs:{darkMode:!0}},[t.carriers.length?e("h3",{staticStyle:{"margin-left":"0.25rem"}},[t._v(t._s(t.$t("carriers")))]):t._e(),e("div",{staticClass:"carrier-list",attrs:{"data-testid":"carrier-list"}},t._l(t.carriers,function(i){return e("div",{key:i.$id,staticClass:"carrier",class:{selected:i.$id===t.selectedCarrier},on:{click:function(o){return t.handleSelectCarrier(i)}}},[e("div",{staticClass:"carrier-title"},[t._v(t._s(i.$id))])])}),0),e("h4",[t._v(t._s(t.selectedCarrier||"Details"))]),t.selectedCarrier?e("b-field",{staticClass:"detail-buttons",attrs:{size:"is-small"}},[e("b-radio-button",{attrs:{"native-value":"shipments",size:"is-small",type:"is-warning"},model:{value:t.activeTab,callback:function(i){t.activeTab=i},expression:"activeTab"}},[e("span",[t._v(t._s(t.$t("jobs")))])]),e("b-radio-button",{attrs:{"native-value":"tours",size:"is-small",type:"is-warning"},model:{value:t.activeTab,callback:function(i){t.activeTab=i},expression:"activeTab"}},[e("span",[t._v(t._s(t.$t("tours")))])]),e("b-radio-button",{attrs:{"native-value":"vehicles",size:"is-small",type:"is-warning"},model:{value:t.activeTab,callback:function(i){t.activeTab=i},expression:"activeTab"}},[e("span",[t._v(t._s(t.$t("vehicles")))])]),t.services.length?e("b-radio-button",{attrs:{"native-value":"services",size:"is-small",type:"is-warning"},model:{value:t.activeTab,callback:function(i){t.activeTab=i},expression:"activeTab"}},[e("span",[t._v(t._s(t.$t("services")))])]):t._e()],1):t._e(),e("div",{staticClass:"detail-area"},[t.activeTab=="shipments"&&!t.vizDetails.services?e("div",{staticClass:"shipments"},[e("span",[t._v(t._s(t.$t("jobs"))+": "+t._s(t.shipments.length))]),t._l(t.shipments,function(i,o){return e("div",{key:`${o}-${i.$id}`,staticClass:"leaf tour",class:{selected:i==t.selectedShipment,"shipment-in-tour":t.shipmentIdsInTour.includes(i.$id)},on:{click:function(r){return t.handleSelectShipment(i)}}},[t._v(t._s(`${i.$id}: ${i.$from}-${i.$to}`))])})],2):t._e(),t.activeTab=="shipments"&&t.vizDetails.services?e("div",{staticClass:"shipments"},[e("span",[t._v(t._s(t.$t("jobs"))+": "+t._s(t.shipments.length))]),t._l(t.shipments,function(i,o){return e("div",{key:`${o}-${i.$id}`,staticClass:"leaf tour",class:{selected:i==t.selectedShipment,"shipment-in-tour":t.shipmentIdsInTour.includes(i.$id)},on:{click:function(r){return t.handleSelectShipment(i)}}},[t._v(t._s(`${i.$id}`))])})],2):t._e(),t.activeTab=="tours"?e("div",{staticClass:"tours"},[this.plans.length>1?e("div",{staticClass:"dropdown",class:{"is-active":t.dropdownIsActive},staticStyle:{width:"100%"}},[e("div",{staticClass:"dropdown-trigger",on:{click:function(i){return t.selectDropdown()}}},[e("button",[e("span",[t._v("Plan "+t._s(t.selectedPlanIndex+1))]),t._m(0)])]),e("div",{staticClass:"dropdown-menu"},[e("div",{staticClass:"dropdown-content"},t._l(this.plans,function(i,o){return e("a",{staticClass:"dropdown-item",class:{"is-active":i.$selected=="true"},on:{click:function(r){return t.selectPlan(i)}}},[t._v("Plan "+t._s(o+1))])}),0)])]):t._e(),e("span",[t._v(t._s(t.$t("tours"))+": "+t._s(t.tours.length))]),t._l(t.tours,function(i,o){return e("div",{key:`${o}-${i.$id}`,staticClass:"leaf tour",class:{selected:t.selectedTours.includes(i)},on:{click:function(r){return t.handleSelectTour(i)}}},[i.tourId?e("div",[t._v(t._s(i.tourId)+": "+t._s(`${i.vehicleId}`))]):e("div",[t._v(t._s(`${i.vehicleId}`))])])})],2):t._e(),t.activeTab=="vehicles"?e("div",{staticClass:"vehicles"},[e("span",[t._v(t._s(t.$t("vehicles"))+": "+t._s(t.vehicles.length))]),t._l(t.vehicles,function(i,o){return e("div",{key:`${o}-${i.$id}`,staticClass:"leaf tour"},[t._v(t._s(i.$id))])})],2):t._e(),t.activeTab=="services"?e("div",{staticClass:"services"},[e("span",[t._v(t._s(t.$t("services"))+": "+t._s(t.services.length))]),t._l(t.services,function(i,o){return e("div",{key:`${o}-${i.$id}`,staticClass:"leaf tour"},[t._v(t._s(`${i.$id}`))])})],2):t._e()]),e("div",{staticClass:"switchbox"},[e("div",{staticClass:"switches"},[e("p",[t._v(t._s(t.$t("scaleSize")))]),e("b-slider",{staticClass:"slider",attrs:{tooltip:!1,type:"is-link",size:"is-small"},model:{value:t.vizSettings.scaleFactor,callback:function(i){t.$set(t.vizSettings,"scaleFactor",i)},expression:"vizSettings.scaleFactor"}})],1),e("div",{staticClass:"switches"},[e("b-switch",{model:{value:t.vizSettings.shipmentDotsOnTourMap,callback:function(i){t.$set(t.vizSettings,"shipmentDotsOnTourMap",i)},expression:"vizSettings.shipmentDotsOnTourMap"}},[e("span",{domProps:{innerHTML:t._s(t.$t("shipmentDots"))}})]),e("b-switch",{model:{value:t.vizSettings.simplifyTours,callback:function(i){t.$set(t.vizSettings,"simplifyTours",i)},expression:"vizSettings.simplifyTours"}},[e("span",{domProps:{innerHTML:t._s(t.$t("flatten"))}})])],1)])],1)])])},nt=[function(){var s=this,t=s._self._c;return s._self._setupProxy,t("span",{staticClass:"icon is-small"},[t("i",{staticClass:"fas fa-angle-down"})])}],lt=S(rt,at,nt,!1,null,"874b4f13");const Xt=lt.exports;export{Xt as default};
|
|
1
|
+
import{d as k,n as S,g as p,m as z,C as w,R as _}from"./index-CTSmLLzf.js";import{d as A}from"./index-CVL_6l40.js";import{r as M}from"./index-DAe_N7NH.js";import{Y as P}from"./index-DFKcNkqO.js";import{f as O,g as j,p as E,n as u,a as F,H as B}from"./HTTPFileSystem-BvMX73pb.js";import{c as R}from"./index-B_0DEKIM.js";import{P as W,L as H}from"./LegendColors-DevphP7A.js";import{Z as N}from"./ZoomButtons-DeAQxdVt.js";import{W as U,D as X}from"./DashboardDataManager-PczsUcKT.js";import{P as C}from"./PathOffsetLayer-BAmBLnzb.js";import{M as Y}from"./mapbox-overlay-HS93bZkL.js";import{A as D}from"./arc-layer-utQsdbjp.js";import{T as I,S as f}from"./geojson-layer-DrXQTe8F.js";import{B as q}from"./BackgroundLayers-DzNi37is.js";import"./fxp-DjoqftHf.js";import"./layer-extension-LbH36Bf-.js";import"./layer-T9N9JmIf.js";import"./group-hI8ly2Wr.js";import"./index-_doEQLKC.js";import"./Coords-C-Mhj230.js";import"./turf.es-BzqbG201.js";import"./ColorsAndWidths-DWf86C_R.js";import"./cubehelix-BzW-tINw.js";import"./threshold-CrWFx_nu.js";import"./rainbow-DNS2KC2A.js";import"./geo-utils-DH8a3zzF.js";import"./sequential-pySAYR1V.js";import"./pow-RbZoge3Z.js";import"./precisionRound-CRsIqO1V.js";const G=k({name:"MapTooltip",components:{},props:{hoverInfo:{type:Object,required:!0}},data(){return{tooltipType:0,activity:"",stop:{}}},watch:{hoverInfo(){this.renderTooltip(this.hoverInfo)}},methods:{renderTooltip(s){console.log({hoverInfo:s}),this.tooltipType=0;const{object:t}=s;return t?t?.type=="pickup"?this.renderActivityTooltip(s,"pickup"):t?.type=="delivery"?this.renderActivityTooltip(s,"delivery"):t?.type=="service"?this.renderServicesTooltip(s,"service"):t?.color?this.renderLegTooltip(s):t?.type=="depot"?null:this.renderStopTooltip(s):null},renderActivityTooltip(s,t){this.tooltipType=1,this.activity=t},renderServicesTooltip(s,t){this.tooltipType=2},renderLegTooltip(s){this.tooltipType=3},renderStopTooltip(s){this.tooltipType=2;const{object:t,x:e,y:i}=s,o=t.visits.length,r=t.visits.reduce((h,a)=>h+a.pickup.length,0),n=t.visits.reduce((h,a)=>h+a.delivery.length,0);this.stop={numPickupsAndDeliveries:r+n,overview:{visits:o,pickups:r,deliveries:n}}}}});var V=function(){var t=this,e=t._self._c;return t._self._setupProxy,t.tooltipType?e("div",{staticClass:"flex-col"},[t.tooltipType==1?e("div",{staticClass:"tooltip"},[e("table",{staticStyle:{"max-width":"30rem","font-size":"0.8rem"}},[e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"right","padding-right":"0.5rem","padding-top":"0.2rem"}},[t._v(t._s(t.activity)+":")]),e("td",{staticStyle:{"padding-top":"0.2rem"}},[t._v(t._s(t.hoverInfo.object.shipmentIds.join(", ")))])])])])]):t._e(),t.tooltipType==2?e("div",{staticClass:"tooltip flex-col"},[e("b",[t._v(t._s(t.hoverInfo.object?.$id))]),e("h5",{staticStyle:{"padding-top":"0.2rem"}},[t._v("Capacity Demand: "+t._s(t.hoverInfo.object.$capacityDemand))])]):t._e(),t.tooltipType==3?e("div",{staticClass:"tooltip flex-col"},[e("b",[t._v(t._s(t.hoverInfo.object?.tour?.vehicleId))]),e("p",[t._v("Leg # "+t._s(1+t.hoverInfo.object?.count))]),e("p",[t._v("Shipments on board: "+t._s(t.hoverInfo.object?.shipmentsOnBoard?.length))]),e("p",[t._v("Total size: "+t._s(t.hoverInfo.object?.totalSize))])]):t._e(),t.tooltipType==4?e("div",{staticClass:"tooltip flex-col"},[e("table",{staticStyle:{"font-size":"0.8rem"}},[e("tbody",[t._l(Object.keys(t.stop.overview),function(i){return e("tr",{key:i},[e("td",{staticStyle:{"text-align":"right","padding-right":"0.5rem"}},[t._v(t._s(i)+":")]),e("td",[e("b",[t._v(t._s(t.stop.overview[i]))])])])}),t._l(Object.keys(t.stop.numPickupsAndDeliveries==1?t.hoverInfo.object.details:[]),function(i){return e("tr",{key:i},[e("td",{staticStyle:{"text-align":"right","padding-right":"0.5rem","padding-top":"0.2rem"}},[t._v(t._s(i.slice(1))+":")]),e("td",{staticStyle:{"padding-top":"0.2rem"}},[t._v(t._s(t.hoverInfo.object.details[t.a]))])])})],2)])]):t._e()]):t._e()},J=[],Z=S(G,V,J,!1,null,null);const K=Z.exports,x="/",y={pickup:[0,150,255],delivery:[240,0,60]},Q=k({name:"MyDeckComponent",components:{MapTooltip:K},props:{activeTab:{type:String,required:!0},bgLayers:{type:Object},dark:{type:Boolean,required:!0},depots:{type:Array},legs:{type:Array,required:!0},mapIsIndependent:{type:Boolean},numSelectedTours:{type:Number,required:!0},onClick:{type:Function},services:{type:Boolean,required:!0},settings:{type:Object,required:!0},shipments:{type:Array,required:!0},stopActivities:{type:Array,required:!0},viewId:{type:Number,required:!0}},data(){return{mymap:null,deckOverlay:null,globalState:p.state,tip:null,tooltipStyle:{position:"absolute",padding:"4px 8px",display:"block",top:0,left:0,color:this.dark?"#ccc":"#223",backgroundColor:this.dark?"#2a3c4f":"white",zIndex:2e4}}},watch:{layers(){this.deckOverlay?.setProps({layers:this.layers})},dark(){const s=`${x}map-styles/${this.globalState.isDarkMode?"dark":"positron"}.json`;this.mymap?.setStyle(s)},"globalState.viewState"(){if(this.mapIsIndependent)return;const s=this.globalState.viewState,t=this.mymap?.getCenter();(s.longitude!==t.lng||s.latitude!==t.lat||s.zoom!==this.mymap?.getZoom()||s.pitch!==this.mymap?.getPitch()||s.bearing!==this.mymap?.getBearing())&&this.mymap?.jumpTo(Object.assign({center:{lng:s.longitude,lat:s.latitude}},s))}},computed:{layers(){const s=[],t=this.bgLayers?.layers();if(t&&s.push(...t.layersBelow),this.activeTab=="tours"&&(s.push(new C({id:"shipmentLocationDashedLine",data:this.stopActivities,getPath:e=>[e.ptFrom,e.ptTo],getColor:[128,128,128],getOffset:2,opacity:1,getWidth:this.settings.scaleFactor/2,widthMinPixels:3,widthMaxPixels:200,jointRounded:!0,shadowEnabled:!1,pickable:!1,autoHighlight:!1,highlightColor:[255,255,255],parameters:{depthTest:!1},getDashArray:[3,2],dashJustified:!0,extensions:[new W({dash:!0})]})),this.settings.simplifyTours?s.push(new D({id:"leg-arcs",data:this.legs,getSourcePosition:e=>e.points[0],getTargetPosition:e=>e.points[e.points.length-1],getSourceColor:e=>e.color,getTargetColor:e=>e.color,getWidth:2+(this.settings.scaleFactor-0)*38/100,getHeight:.5,widthMinPixels:2,widthMaxPixels:40,widthUnits:"pixels",opacity:.9,parameters:{depthTest:!1},updateTriggers:{getWidth:[this.settings.scaleFactor]},transitions:{getWidth:150},pickable:!0,autoHighlight:!0,highlightColor:[255,255,255],onHover:this.getTooltip})):s.push(new C({id:"deliveryroutes",data:this.legs,getPath:e=>e.points,getColor:e=>e.color,getWidth:3+(this.settings.scaleFactor-0)*37/100,getOffset:2,opacity:1,widthMinPixels:3,widthMaxPixels:40,widthUnits:"pixels",jointRounded:!0,shadowEnabled:!1,pickable:!0,autoHighlight:!0,highlightColor:[255,255,255],parameters:{depthTest:!1},updateTriggers:{getWidth:[this.settings.scaleFactor]},transitions:{getWidth:150},onHover:this.getTooltip})),s.push(new I({id:"dest-labels",background:!0,data:this.stopActivities,backgroundPadding:this.numSelectedTours!==1?[2,1,2,1]:[3,2,3,1],getColor:[255,255,255],getBackgroundColor:e=>{const i=e.visits.reduce((r,n)=>r+n.pickup.length,0),o=e.visits.reduce((r,n)=>r+n.delivery.length,0);return i&&o?[0,0,255]:i?y.pickup:o?y.delivery:[240,130,0]},getPosition:e=>e.midpoint,getText:e=>e.label=="Depot"?e.label:this.numSelectedTours!==1?" ":`${e.label}`,getSize:e=>e.label=="Depot"?11:this.numSelectedTours!==1?4:11,getTextAnchor:"middle",getAlignmentBaseline:"center",opacity:1,noAlloc:!1,billboard:!0,sizeScale:1,pickable:!0,autoHighlight:!0,highlightColor:[255,255,255],visible:this.settings.shipmentDotsOnTourMap,onHover:this.getTooltip}))),this.activeTab=="shipments"){s.push(new f({id:"deliveries",data:this.pickupsAndDeliveries.deliveries,getPosition:i=>i.coord,getFillColor:y.delivery,getRadius:3,opacity:.9,parameters:{depthTest:!1},pickable:!0,radiusUnits:"pixels",onHover:this.getTooltip})),s.push(new f({id:"pickups",data:this.pickupsAndDeliveries.pickups,getPosition:i=>i.coord,getFillColor:y.pickup,getRadius:2,opacity:.9,parameters:{depthTest:!1},pickable:!0,radiusUnits:"pixels",onHover:this.getTooltip}));const e=this.shipments.length>1?32:255;this.services?s.push(new f({id:"services",data:this.shipments,getPosition:i=>[i.toX,i.toY],getColor:[240,0,60,224],getRadius:4,opacity:.9,parameters:{depthTest:!1},pickable:!0,radiusUnits:"pixels",onHover:this.getTooltip})):s.push(new D({id:"shipments",data:this.shipments,getSourcePosition:i=>[i.fromX,i.fromY],getTargetPosition:i=>[i.toX,i.toY],getSourceColor:[0,228,255,e],getTargetColor:[240,0,60,224],getWidth:1+(this.settings.scaleFactor-0)*49/100,widthUnits:"pixels",getHeight:.5,opacity:.9,parameters:{depthTest:!1},widthMinPixels:1,widthMaxPixels:50,updateTriggers:{getWidth:[this.settings.scaleFactor]},transitions:{getWidth:200},onHover:this.getTooltip}))}return this.activeTab=="services"&&this.services&&s.push(new f({id:"services",data:this.shipments,getPosition:e=>[e.toX,e.toY],getColor:[240,0,60,224],getRadius:4,opacity:.9,parameters:{depthTest:!1},pickable:!0,radiusUnits:"pixels",onHover:this.getTooltip})),s.push(new I({id:"depots",data:this.depots,background:!0,backgroundPadding:[3,2,3,1],getColor:[255,255,255],getBackgroundColor:[0,150,240],getPosition:e=>e.midpoint,getText:e=>"Depot",getTextAnchor:"middle",getAlignmentBaseline:"center",getSize:11,opacity:1,noAlloc:!1,billboard:!0,sizeScale:1,pickable:!0,autoHighlight:!0,highlightColor:[255,255,255],onHover:this.getTooltip})),t&&s.push(...t.layersOnTop),s},pickupsAndDeliveries(){const s={},t={};return this.shipments.forEach(e=>{let i=`${e.fromX}-${e.fromY}`;s[i]||(s[i]={type:"pickup",shipmentIds:[],coord:[e.fromX,e.fromY]}),s[i].shipmentIds.push(e.$id),i=`${e.toX}-${e.toY}`,t[i]||(t[i]={type:"delivery",shipmentIds:[],coord:[e.toX,e.toY]}),t[i].shipmentIds.push(e.$id)}),{type:"activity",pickups:Object.values(s),deliveries:Object.values(t)}},widthScale(){let s=this.settings.scaleFactor;return s==0?1e-6:1/Math.pow(2,(100-s)/5-6)}},async mounted(){const s=`${x}map-styles/${this.globalState.isDarkMode?"dark":"positron"}.json`,t=`map-${this.viewId}`,e=this.globalState.viewState.center,i=this.globalState.viewState.zoom||8;this.mymap=new z.Map({center:e,zoom:i,container:t,style:s}),this.mymap.on("style.load",()=>{this.deckOverlay=new Y({layers:this.layers,interleaved:!0,onClick:this.handleClick}),this.mymap?.addControl(this.deckOverlay)}),this.mymap.on("move",this.handleMove)},beforeDestroy(){this.deckOverlay&&this.mymap?.removeControl(this.deckOverlay),this.mymap?.remove()},methods:{handleMove(){if(this.mapIsIndependent)return;const s=this.mymap?.getCenter(),t={latitude:s.lat,longitude:s.lng,center:s,zoom:this.mymap?.getZoom(),bearing:this.mymap?.getBearing(),pitch:this.mymap?.getPitch(),jump:!0};p.commit("setMapCamera",t)},getTooltip(s){const{x:t,y:e,object:i}=s;if(!i){this.tooltipStyle.display="none",this.tip=null;return}this.tip={...s},this.tooltipStyle.display="block",this.tooltipStyle.top=`${e+12}px`,this.tooltipStyle.left=`${t+12}px`},handleClick(s){this.onClick&&(s.object?this.onClick(s.object):this.onClick(null))}}});var tt=function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"deck-map flex-col"},[e("div",{staticClass:"map-container",attrs:{id:`map-${t.viewId}`}}),t.tip?e("MapTooltip",{staticClass:"deck-tooltip",style:t.tooltipStyle,attrs:{hoverInfo:t.tip}}):t._e()],1)},et=[],st=S(Q,tt,et,!1,null,null);const it=st.exports,ot={messages:{en:{carriers:"Carriers",vehicles:"VEHICLES",services:"SERVICES",shipments:"JOBS",jobs:"JOBS",tours:"TOURS",pickup:"Pickup",delivery:"Delivery",flatten:"Simple tours",shipmentDots:"Show shipments",scaleSize:"Widths",scaleFactor:"Width",service:"Service"},de:{carriers:"Unternehmen",vehicles:"FAHRZEUGE",services:"BETRIEBE",shipments:"AUFTRÄGE",jobs:"JOBS",tours:"TOUREN",pickup:"Abholung",delivery:"Lieferung",flatten:"Simple tours",shipmentDots:"Show shipments",scaleSize:"Widths",scaleFactor:"Width",service:"Betrieb"}}};u.insensitive=!0;const rt=k({name:"CarrierPlugin",i18n:ot,components:{DeckMapComponent:it,LegendColors:H,ToggleButton:A.ToggleButton,ZoomButtons:N},props:{root:{type:String,required:!0},subfolder:{type:String,required:!0},yamlConfig:String,config:Object,thumbnail:Boolean,datamanager:{type:Object}},data(){return{linkLayerId:Math.floor(1e12*Math.random()),vizSettings:{simplifyTours:!1,scaleShipmentSizes:!0,shipmentDotsOnTourMap:!0,scaleFactor:0},vizDetails:{network:"",carriers:"",projection:"",title:"",description:"",thumbnail:"",services:!1,center:null},myState:{statusMessage:"",isRunning:!1,subfolder:"",yamlConfig:"",thumbnail:!0,data:[]},isDraggingDivider:0,dragStartWidth:250,legendSectionWidth:275,myDataManager:this.datamanager||new X(this.root,this.subfolder),searchTerm:"",searchEnabled:!1,backgroundLayers:null,globalState:p.state,isLoaded:!0,showHelp:!1,activeTab:"shipments",speedStops:[-10,-5,-2,-1,-.5,-.25,0,.25,.5,1,2,5,10],speed:1,legendBits:[],links:null,toggleTours:!0,toggleVehicles:!0,toggleShipments:!0,toggleServices:!0,detailContent:"",data:null,carriers:[],vehicles:[],shipments:[],shipmentLookup:{},services:[],stopActivities:[],tours:[],plans:[],shownShipments:[],shipmentIdsInTour:[],depots:[],shownDepots:[],shownLegs:[],selectedCarrier:"",selectedTours:[],selectedPlan:null,selectedPlanIndex:null,selectedShipment:null,thumbnailUrl:"url('assets/thumbnail.jpg') no-repeat;",vehicleLookup:[],vehicleLookupString:{},rgb:R({colormap:"phase",nshades:9,format:"rba"}).map(s=>s.slice(0,3)).reverse(),dropdownIsActive:!1}},computed:{fileApi(){return new B(this.fileSystem,p)},fileSystem(){const s=this.$store.state.svnProjects.filter(t=>t.slug===this.root);if(s.length===0)throw console.log("no such project"),Error;return s[0]},urlThumbnail(){return this.thumbnailUrl},textColor(){const s={text:"#3498db",bg:"#eeeef480"},t={text:"white",bg:"#181518aa"};return this.globalState.isDarkMode?t:s}},watch:{"$store.state.viewState"(){_[this.linkLayerId]&&_[this.linkLayerId]()},"globalState.isDarkMode"(){this.updateLegendColors()},async"globalState.authAttempts"(){console.log("AUTH CHANGED - Reload"),this.yamlConfig||this.buildRouteFromUrl(),await this.getVizDetails()}},methods:{dividerDragStart(s){this.isDraggingDivider=s.clientX,this.dragStartWidth=this.legendSectionWidth},dividerDragEnd(s){this.isDraggingDivider=0},dividerDragging(s){if(!this.isDraggingDivider)return;const t=this.isDraggingDivider-s.clientX;this.legendSectionWidth=Math.max(0,this.dragStartWidth+t)},handleSelectShipment(s){if(this.selectedShipment===s){if(this.selectedShipment=null,this.shownShipments=[],!this.selectedTours.length||this.selectedShipment==null){const t=this.carriers.filter(e=>e.$id==this.selectedCarrier);this.selectedCarrier="",this.handleSelectCarrier(t[0])}return}this.shownShipments=this.shipments.filter(t=>t.$id===s.$id),this.selectedShipment=s},processActivitiesInTour(s){const t=[];let e=0;const i={};let o=this.vehicles.filter(l=>l.$id===s.vehicleId)[0];const r=this.links[o.$depotLinkId];let n=[.5*(r[0]+r[2]),.5*(r[1]+r[3])],h=o.$depotLinkId;i[`L${o.$depotLinkId}`]={link:o.$depotLinkId,midpoint:n,visits:[{pickup:[],delivery:[],service:[]}],label:"",tour:s,details:{},ptFrom:[r[0],r[1]],ptTo:[r[2],r[3]]};for(const l of s.plan){if(!l.$shipmentId&&!l.$serviceId)continue;var a;if(l.$serviceId?(t.push(l.$serviceId),a=this.shipmentLookup[l.$serviceId]):(t.push(l.$shipmentId),a=this.shipmentLookup[l.$shipmentId]),!a)continue;const c=l.$type==="pickup"?a.$from:a.$to,m=[this.links[c][0],this.links[c][1]],v=[this.links[c][2],this.links[c][3]],$=[.5*(m[0]+v[0]),.5*(m[1]+v[1])],L=this.$t(l.$type),{from:ct,fromX:ht,fromY:pt,to:dt,toX:ut,toY:mt,id:gt,...T}=a,b={id:a.$id,type:L,count:e++,link:c,midpoint:$,label:"",tour:s,details:T,ptFrom:m,ptTo:v};if(c==h)i[`L${c}`].visits[i[`L${c}`].visits.length-1][l.$type].push(b);else if(`L${c}`in i){const g={pickup:[],delivery:[],service:[]};g[l.$type].push(b),i[`L${c}`].visits.push(g)}else{const g={pickup:[],delivery:[],service:[]};g[l.$type].push(b),i[`L${c}`]={link:c,midpoint:$,label:"",tour:s,details:T,ptFrom:m,ptTo:v,visits:[g]}}h=c}const d=Object.values(i);for(let l=0;l<d.length;l++)d[l].label=`${l}`;return d[0].label="Depot",{shipmentIdsInTour:t,stopActivities:d}},setupDepots(){const s={};this.vehicles.forEach(t=>{const e=t.$depotLinkId;let i=this.links[e];i&&(s[e]||(s[e]={type:"depot",link:t.$depotLinkId,midpoint:[.5*(i[0]+i[2]),.5*(i[1]+i[3])],coords:this.links[t.$depotLinkId],vehicles:{}}),s[e].vehicles[t.$id]=t)}),this.depots=Object.values(s),this.shownDepots=this.depots.slice(0)},selectAllTours(){this.selectedTours=[],this.shownLegs=[],this.stopActivities=[],this.shownDepots=[],this.shownShipments=this.shipments.slice(0);for(const s of this.tours){s.legs.forEach((e,i)=>this.addRouteToMap(s,e,i++));const t=this.processActivitiesInTour(s);this.stopActivities=this.stopActivities.concat(t.stopActivities),this.setupDepots()}},async handleSelectTour(s){if(!s.legs.length){console.log("No Route.");for(let o=0;o<s.plan.length;o++)if(s.plan[o].$shipmentId){const r=s.plan[o].$shipmentId,n=[this.shipmentLookup[r].$from,this.shipmentLookup[r].$to];s.legs.push({links:n})}this.vizSettings.simplifyTours=!0}if(this.selectedTours.includes(s)){this.selectedTours=this.selectedTours.filter(o=>o!==s),this.shownLegs=this.shownLegs.filter(o=>o.tour!==s),this.stopActivities=this.stopActivities.filter(o=>o.tour!==s),this.selectedTours.length||this.selectAllTours();return}this.selectedTours.length||(this.selectedTours=[],this.shownLegs=[],this.stopActivities=[],this.shownDepots=[]),this.selectedTours.push(s);const{shipmentIdsInTour:t,stopActivities:e}=this.processActivitiesInTour(s);this.shipmentIdsInTour=t;let i=0;for(const o of s.legs)this.addRouteToMap(s,o,i++);this.stopActivities=this.stopActivities.concat(e)},addRouteToMap(s,t,e){const i=[[this.links[t.links[0]][0],this.links[t.links[0]][1]]];for(const o of t.links){const r=i[i.length-1],n=[this.links[o][0],this.links[o][1]];(n[0]!==r[0]||n[1]!==r[1])&&i.push(n),i.push([this.links[o][2],this.links[o][3]])}this.shownLegs=this.shownLegs.concat([{tour:s,shipmentsOnBoard:t.shipmentsOnBoard,totalSize:t.totalSize,count:e,points:i,color:this.rgb[(3+s.tourNumber)%this.rgb.length],type:"leg"}])},handleSelectCarrier(s){if(this.dropdownIsActive=!1,!this.links)return;const t=s.$id;if(this.vehicles=[],this.shipments=[],this.services=[],this.tours=[],this.plans=[],this.shownShipments=[],this.shownDepots=[],this.selectedShipment=null,this.shipmentIdsInTour=[],this.stopActivities=[],this.shownLegs=[],this.selectedCarrier===t){this.selectedCarrier="";return}this.selectedCarrier=t;let e=s.capabilities.vehicles.vehicle||[];this.vehicles=e.sort((i,o)=>u(i,o)),this.setupDepots(),this.shipments=this.processShipments(s),s.services?.service?.length&&(this.services=s.services.service.sort((i,o)=>u(i.$id,o.$id))),this.tours=this.processTours(s),this.shownShipments=this.shipments,this.selectAllTours()},getAllPlans(s){if(s.plan!=null){this.plans.push(s.plan),this.selectedPlan=s.plan;return}if(s.plans!=null){if(s.plans.plan.length==null){this.plans.push(s.plans.plan),this.selectedPlan=s.plans.plan;return}this.plans=s.plans.plan;for(let t=0;t<s.plans.plan.length;t++){if(s.plans.plan[t].selected=="true"){this.selectedPlan=s.plans.plan[t];break}this.selectedPlan=s.plans.plan[t]}}},processTours(s){if(this.getAllPlans(s),!this.selectPlan||!this.plans.length)return[];Array.isArray(this.selectedPlan.tour)||(this.selectedPlan.tour=[this.selectedPlan.tour]);const t=this.selectedPlan.tour.map((e,i)=>{const o=[e.act[0]],r=new Set;for(let a=1;a<e.act.length;a++)e.leg[a-1].shipmentsOnBoard=[...r],o.push(e.leg[a-1]),o.push(e.act[a]),e.act[a].$type=="pickup"&&e.act[a].$shipmentId&&r.add(e.act[a].$shipmentId),e.act[a].$type=="delivery"&&e.act[a].$shipmentId&&r.delete(e.act[a].$shipmentId);const n=e.leg.filter(a=>a.route&&a.route.length).map(a=>{const d=a.shipmentsOnBoard.map(c=>this.shipmentLookup[c]),l=d.reduce((c,m)=>c+parseFloat(m?.$size||0),0);return{shipmentsOnBoard:d,totalSize:l,links:a.route?a.route.split(" "):[]}});return{vehicleId:e.$vehicleId,tourId:e.$tourId,plan:o,legs:n,tourNumber:0}});return t.sort((e,i)=>u(e.vehicleId,i.vehicleId)),t.forEach((e,i)=>e.tourNumber=i),t},processShipments(s){this.shipmentLookup={};var t=[];if(s.shipments?.shipment?.length)t=s.shipments.shipment.sort((e,i)=>u(e.$id,i.$id));else if(s.services?.service?.length)t=s.services.service.sort((e,i)=>u(e.$id,i.$id)),this.processServices(s,t);else return[];try{for(const e of t)e.fromX=.5*(this.links[e.$from][0]+this.links[e.$from][2]),e.fromY=.5*(this.links[e.$from][1]+this.links[e.$from][3]),e.toX=.5*(this.links[e.$to][0]+this.links[e.$to][2]),e.toY=.5*(this.links[e.$to][1]+this.links[e.$to][3]),this.shipmentLookup[e.$id]=e}catch{}return t},processServices(s,t){this.vizDetails.services=!0;try{for(const e of t)e.toX=.5*(this.links[e.$to][0]+this.links[e.$to][2]),e.toY=.5*(this.links[e.$to][1]+this.links[e.$to][3]),e.type="service",this.shipmentLookup[e.$id]=e}catch{}},buildRouteFromUrl(){const s=this.$route.params;if(!s.project||!s.pathMatch){console.log("I CANT EVEN: NO PROJECT/PARHMATCH");return}const t=1+s.pathMatch.lastIndexOf("/"),e=s.pathMatch.substring(0,t),i=s.pathMatch.substring(t);this.myState.subfolder=e,this.myState.yamlConfig=i},async getVizDetails(){if(this.config){this.vizDetails=Object.assign({},this.config);return}if(this.yamlConfig?.endsWith("yaml")||this.yamlConfig?.endsWith("yml"))try{const o=this.yamlConfig.indexOf("/")>-1?this.yamlConfig:this.subfolder+"/"+this.yamlConfig,r=await this.fileApi.getFileText(o);this.vizDetails=P.parse(r),this.vizDetails.title&&this.$emit("title",this.vizDetails.title);return}catch(o){console.log("failed"+o);const r=o;this.fileSystem.needPassword&&r.status===401?p.commit("requestLogin",this.fileSystem.slug):this.$emit("error",""+o);return}const s=this.myState.yamlConfig.substring(0,15+this.myState.yamlConfig.indexOf("carriers")),{files:t}=await this.fileApi.getDirectory(this.myState.subfolder);let e=this.myState.yamlConfig.replaceAll("carriers","network");if(t.indexOf(e)==-1){const o=t.filter(r=>r.indexOf("network")>-1);o.length?e=o[0]:(this.myState.statusMessage="No road network found.",e="")}this.vizDetails={network:e,carriers:this.yamlConfig,title:s,description:"",center:this.vizDetails.center,projection:"",thumbnail:"",services:!1},this.$emit("title","Carrier Explorer"),this.buildThumbnail()},async setMapCenter(){let s=0,t=0,e=0;if(this.vizDetails.center)typeof this.vizDetails.center=="string"&&(this.vizDetails.center=this.vizDetails.center.split(",").map(Number)),t=this.vizDetails.center[0],e=this.vizDetails.center[1];else if(!this.vizDetails.center){if(this.data=Object.entries(this.links),!this.data.length)return;const i=this.data.length/2,o=4096;for(let r=0;r<i;r+=o)t+=this.data[r*2][1][0],e+=this.data[r*2+1][1][1],s++;t=t/s,e=e/s}t&&e&&this.$store.commit("setMapCamera",{longitude:t,latitude:e,zoom:9,bearing:0,pitch:0,jump:!1})},async buildThumbnail(){if(this.thumbnail&&this.vizDetails.thumbnail)try{const s=await this.fileApi.getFileBlob(this.myState.subfolder+"/"+this.vizDetails.thumbnail),t=await M.arraybuffer(s),e=F(t);e&&(this.thumbnailUrl=`center / cover no-repeat url(data:image/png;base64,${e})`)}catch(s){console.error(s)}},handleClick(s){console.log("CLICK!",s),s||this.clickedEmptyMap(),s?.type=="depot"&&this.clickedDepot(s),s?.type=="leg"&&this.clickedLeg(s)},clickedDepot(s){const t=Object.values(s.vehicles).map(e=>e.$id);this.selectedTours=[],this.shownShipments=[];for(const e of this.tours)t.includes(e.vehicleId)&&(this.handleSelectTour(e),this.shipmentIdsInTour.forEach(i=>{this.shownShipments.push(this.shipmentLookup[i])}))},clickedLeg(s){s?.tour&&this.handleSelectTour(s?.tour)},clickedEmptyMap(){this.selectAllTours()},updateLegendColors(){},async loadCarriers(){const s=await this.loadFileOrGzippedFile(this.vizDetails.carriers);return s?(await E(s,{alwaysArray:["carriers.carrier","carriers.carrier.capabilities.vehicles.vehicle","carriers.carrier.plan.tour","carriers.carrier.shipments.shipment","carriers.carrier.services.service"]})).carriers.carrier.sort((i,o)=>u(i.$id,o.$id)):[]},async loadNetwork(){if(this.myState.statusMessage="Loading network...",this.vizDetails.network.indexOf(".xml.")>-1||this.vizDetails.network.endsWith(".avro")){const s=await this.myDataManager.getRoadNetwork(this.vizDetails.network,this.subfolder,this.vizDetails,null,!0);this.vizDetails.projection=""+s.projection,this.myState.statusMessage="Building network link table";const t={};return s.linkId.forEach((e,i)=>{t[e]=[s.source[i*2],s.source[i*2+1],s.dest[i*2],s.dest[i*2+1]]}),t}else{const s=await this.fileApi.getFileJson(this.myState.subfolder+"/"+this.vizDetails.network);return this.vizDetails.projection="EPSG:4326",s}},async fetchNetwork(s,t){return new Promise((e,i)=>{const o=new U;try{o.postMessage({filePath:s,fileSystem:this.fileSystem,vizDetails:t}),o.onmessage=r=>{if(r.data.promptUserForCRS){let n=prompt("Enter the coordinate reference system, e.g. EPSG:25832")||"EPSG:31468";Number.isFinite(parseInt(n))&&(n=`EPSG:${n}`),o.postMessage({crs:n});return}if(r.data.status){this.myState.statusMessage=""+r.data.status;return}o.terminate(),r.data.error&&(console.error(r.data.error),p.commit("error",r.data.error),this.myState.statusMessage=r.data.error,i(r.data.error)),e(r.data.links)}}catch(r){o.terminate(),console.error(r),i(r)}})},toggleLoaded(s){this.isLoaded=s},rotateColors(){localStorage.setItem("plugin/agent-animation/colorscheme",this.globalState.isDarkMode?w.DarkMode:w.LightMode)},async loadFileOrGzippedFile(s){let t=`${this.subfolder}/${s}`;try{if(t.indexOf("*")>-1||t.indexOf("?")>-1){const o=t.substring(1+t.lastIndexOf("/")),r=t.substring(0,t.lastIndexOf("/")),{files:n}=await this.fileApi.getDirectory(r),h=O(n,o);if(h.length==0)throw Error(`No files matched "${o}"`);if(h.length>1)throw Error(`More than one file matched "${o}": ${h}`);t=`${r}/${h[0]}`}let i="";if(t.endsWith("xml")||t.endsWith("gz")){const r=await(await this.fileApi.getFileBlob(t)).arrayBuffer(),n=await j(r);return new TextDecoder("utf-8").decode(n)}}catch{}const e=`Error loading ${t}`;return p.commit("error",e),this.myState.statusMessage=e,""},selectDropdown(){this.dropdownIsActive=!this.dropdownIsActive},selectPlan(s){for(let t=0;t<this.plans.length;t++)this.plans[t].$selected="false";s.$selected="true",this.selectedPlanIndex=this.plans.indexOf(s),this.selectedTours=[],this.selectDropdown(),this.selectedPlan=s}},async mounted(){if(p.commit("setFullScreen",!this.thumbnail),this.myState.thumbnail=this.thumbnail,this.myState.subfolder=this.subfolder,this.yamlConfig||this.buildRouteFromUrl(),await this.getVizDetails(),!this.thumbnail){this.showHelp=!1,this.updateLegendColors(),this.myState.statusMessage="Loading carriers...",this.carriers=await this.loadCarriers(),await this.$nextTick(),this.links=await this.loadNetwork(),this.setMapCenter(),this.myState.statusMessage="",this.carriers.length&&this.handleSelectCarrier(this.carriers[0]),this.tours.length&&this.handleSelectTour(this.tours[0]);try{this.backgroundLayers=new q({vizDetails:this.vizDetails,fileApi:this.fileApi,subfolder:this.subfolder}),await this.backgroundLayers.initialLoad()}catch{this.$emit("error","Error loading background layers")}}},beforeDestroy(){this.myState.isRunning=!1,p.commit("setFullScreen",!1),this.$store.commit("setFullScreen",!1)}});var at=function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"carrier-viewer",class:{"hide-thumbnail":!t.thumbnail},style:{background:t.urlThumbnail},attrs:{oncontextmenu:"return false"}},[e("div",{staticClass:"container-1",on:{mousemove:t.dividerDragging,mouseup:t.dividerDragEnd}},[e("div",{staticClass:"main-panel"},[t.thumbnail?t._e():e("DeckMapComponent",{staticClass:"anim",attrs:{activeTab:t.activeTab,bgLayers:t.backgroundLayers,shipments:t.shownShipments,depots:t.shownDepots,legs:t.shownLegs,stopActivities:t.stopActivities,dark:t.globalState.isDarkMode,center:t.vizDetails.center,viewId:t.linkLayerId,settings:t.vizSettings,numSelectedTours:t.selectedTours.length,onClick:t.handleClick,projection:t.vizDetails.projection,services:t.vizDetails.services||!1}}),t.thumbnail?t._e():e("ZoomButtons",{attrs:{corner:"top-left"}}),t.myState.statusMessage?e("div",{staticClass:"xmessage"},[t._v(t._s(t.myState.statusMessage))]):t._e()],1),e("div",{staticClass:"dragger",on:{mousedown:t.dividerDragStart,mouseup:t.dividerDragEnd,mousemove:function(i){return i.stopPropagation(),t.dividerDragging.apply(null,arguments)}}}),e("div",{staticClass:"right-panel",style:{width:`${t.legendSectionWidth}px`},attrs:{darkMode:!0}},[t.carriers.length?e("h3",{staticStyle:{"margin-left":"0.25rem"}},[t._v(t._s(t.$t("carriers")))]):t._e(),e("div",{staticClass:"carrier-list",attrs:{"data-testid":"carrier-list"}},t._l(t.carriers,function(i){return e("div",{key:i.$id,staticClass:"carrier",class:{selected:i.$id===t.selectedCarrier},on:{click:function(o){return t.handleSelectCarrier(i)}}},[e("div",{staticClass:"carrier-title"},[t._v(t._s(i.$id))])])}),0),e("h4",[t._v(t._s(t.selectedCarrier||"Details"))]),t.selectedCarrier?e("b-field",{staticClass:"detail-buttons",attrs:{size:"is-small"}},[e("b-radio-button",{attrs:{"native-value":"shipments",size:"is-small",type:"is-warning"},model:{value:t.activeTab,callback:function(i){t.activeTab=i},expression:"activeTab"}},[e("span",[t._v(t._s(t.$t("jobs")))])]),e("b-radio-button",{attrs:{"native-value":"tours",size:"is-small",type:"is-warning"},model:{value:t.activeTab,callback:function(i){t.activeTab=i},expression:"activeTab"}},[e("span",[t._v(t._s(t.$t("tours")))])]),e("b-radio-button",{attrs:{"native-value":"vehicles",size:"is-small",type:"is-warning"},model:{value:t.activeTab,callback:function(i){t.activeTab=i},expression:"activeTab"}},[e("span",[t._v(t._s(t.$t("vehicles")))])]),t.services.length?e("b-radio-button",{attrs:{"native-value":"services",size:"is-small",type:"is-warning"},model:{value:t.activeTab,callback:function(i){t.activeTab=i},expression:"activeTab"}},[e("span",[t._v(t._s(t.$t("services")))])]):t._e()],1):t._e(),e("div",{staticClass:"detail-area"},[t.activeTab=="shipments"&&!t.vizDetails.services?e("div",{staticClass:"shipments"},[e("span",[t._v(t._s(t.$t("jobs"))+": "+t._s(t.shipments.length))]),t._l(t.shipments,function(i,o){return e("div",{key:`${o}-${i.$id}`,staticClass:"leaf tour",class:{selected:i==t.selectedShipment,"shipment-in-tour":t.shipmentIdsInTour.includes(i.$id)},on:{click:function(r){return t.handleSelectShipment(i)}}},[t._v(t._s(`${i.$id}: ${i.$from}-${i.$to}`))])})],2):t._e(),t.activeTab=="shipments"&&t.vizDetails.services?e("div",{staticClass:"shipments"},[e("span",[t._v(t._s(t.$t("jobs"))+": "+t._s(t.shipments.length))]),t._l(t.shipments,function(i,o){return e("div",{key:`${o}-${i.$id}`,staticClass:"leaf tour",class:{selected:i==t.selectedShipment,"shipment-in-tour":t.shipmentIdsInTour.includes(i.$id)},on:{click:function(r){return t.handleSelectShipment(i)}}},[t._v(t._s(`${i.$id}`))])})],2):t._e(),t.activeTab=="tours"?e("div",{staticClass:"tours"},[this.plans.length>1?e("div",{staticClass:"dropdown",class:{"is-active":t.dropdownIsActive},staticStyle:{width:"100%"}},[e("div",{staticClass:"dropdown-trigger",on:{click:function(i){return t.selectDropdown()}}},[e("button",[e("span",[t._v("Plan "+t._s(t.selectedPlanIndex+1))]),t._m(0)])]),e("div",{staticClass:"dropdown-menu"},[e("div",{staticClass:"dropdown-content"},t._l(this.plans,function(i,o){return e("a",{staticClass:"dropdown-item",class:{"is-active":i.$selected=="true"},on:{click:function(r){return t.selectPlan(i)}}},[t._v("Plan "+t._s(o+1))])}),0)])]):t._e(),e("span",[t._v(t._s(t.$t("tours"))+": "+t._s(t.tours.length))]),t._l(t.tours,function(i,o){return e("div",{key:`${o}-${i.$id}`,staticClass:"leaf tour",class:{selected:t.selectedTours.includes(i)},on:{click:function(r){return t.handleSelectTour(i)}}},[i.tourId?e("div",[t._v(t._s(i.tourId)+": "+t._s(`${i.vehicleId}`))]):e("div",[t._v(t._s(`${i.vehicleId}`))])])})],2):t._e(),t.activeTab=="vehicles"?e("div",{staticClass:"vehicles"},[e("span",[t._v(t._s(t.$t("vehicles"))+": "+t._s(t.vehicles.length))]),t._l(t.vehicles,function(i,o){return e("div",{key:`${o}-${i.$id}`,staticClass:"leaf tour"},[t._v(t._s(i.$id))])})],2):t._e(),t.activeTab=="services"?e("div",{staticClass:"services"},[e("span",[t._v(t._s(t.$t("services"))+": "+t._s(t.services.length))]),t._l(t.services,function(i,o){return e("div",{key:`${o}-${i.$id}`,staticClass:"leaf tour"},[t._v(t._s(`${i.$id}`))])})],2):t._e()]),e("div",{staticClass:"switchbox"},[e("div",{staticClass:"switches"},[e("p",[t._v(t._s(t.$t("scaleSize")))]),e("b-slider",{staticClass:"slider",attrs:{tooltip:!1,type:"is-link",size:"is-small"},model:{value:t.vizSettings.scaleFactor,callback:function(i){t.$set(t.vizSettings,"scaleFactor",i)},expression:"vizSettings.scaleFactor"}})],1),e("div",{staticClass:"switches"},[e("b-switch",{model:{value:t.vizSettings.shipmentDotsOnTourMap,callback:function(i){t.$set(t.vizSettings,"shipmentDotsOnTourMap",i)},expression:"vizSettings.shipmentDotsOnTourMap"}},[e("span",{domProps:{innerHTML:t._s(t.$t("shipmentDots"))}})]),e("b-switch",{model:{value:t.vizSettings.simplifyTours,callback:function(i){t.$set(t.vizSettings,"simplifyTours",i)},expression:"vizSettings.simplifyTours"}},[e("span",{domProps:{innerHTML:t._s(t.$t("flatten"))}})])],1)])],1)])])},nt=[function(){var s=this,t=s._self._c;return s._self._setupProxy,t("span",{staticClass:"icon is-small"},[t("i",{staticClass:"fas fa-angle-down"})])}],lt=S(rt,at,nt,!1,null,"874b4f13");const Xt=lt.exports;export{Xt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as l,n as s}from"./index-
|
|
1
|
+
import{d as l,n as s}from"./index-CTSmLLzf.js";const a=l({name:"CollapsiblePanel",props:{initialCollapsed:Boolean,direction:String,locked:Boolean},data:()=>({collapsed:!1}),mounted(){this.collapsed=!!this.initialCollapsed},methods:{handleClick(){this.collapsed=!this.collapsed}}});var o=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("div",{staticClass:"outer",class:{collapsed:e.collapsed}},[e.direction==="left"?t("div",{staticClass:"body left",style:{transform:e.collapsed?"translateX(-50%) scale(0,1)":"none"}},[e._t("default")],2):t("div",{staticClass:"body",style:{order:1,transform:e.collapsed?"translateX(50%) scale(0,1)":"none"}},[e._t("default")],2),e.locked?t("div",{staticClass:"xbutton",style:{order:e.direction==="left"?1:2}},[t("div",{staticClass:"rotate",staticStyle:{width:"0.8rem"}})]):t("div",{staticClass:"xbutton",class:{collapsed:e.collapsed},style:{order:e.direction==="left"?1:2},on:{click:e.handleClick}},[t("div",{staticClass:"rotate",style:{transform:`rotate(${e.collapsed?180:360}deg)`}},[e._v(e._s(e.direction==="left"?"<":">"))])])])},i=[],n=s(a,o,i,!1,null,"0ed973d5");const c=n.exports;export{c as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as Be,d as z,g as ke,e as Fe,h as Re,l as xe,f as Ce,r as Y,j as $e,c as Ge}from"./cubehelix-BzW-tINw.js";import{c as h,s as Ve,a as Oe,b as Ne,d as De,e as Pe,f as Ie,g as ze,h as Ee,i as Ye,j as je,o as L,t as W}from"./threshold-CrWFx_nu.js";import{c as Te,i as q,w as _e}from"./rainbow-DNS2KC2A.js";import{i as H,g as N}from"./index-C29WLT62.js";const Se=Object.freeze(Object.defineProperty({__proto__:null,color:Be,cubehelix:z,gray:ke,hcl:Fe,hsl:Re,lab:xe,lch:Ce,rgb:Y},Symbol.toStringTag,{value:"Module"})),Le=h("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),g=e=>$e(e[e.length-1]);var U=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(h);const We=g(U);var J=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(h);const qe=g(J);var K=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(h);const He=g(K);var Q=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(h);const Ue=g(Q);var X=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(h);const Je=g(X);var Z=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(h);const Ke=g(Z);var ee=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(h);const Qe=g(ee);var fe=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(h);const Xe=g(fe);var ae=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(h);const Ze=g(ae);var ce=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(h);const ef=g(ce);var de=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(h);const ff=g(de);var be=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(h);const af=g(be);var te=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(h);const cf=g(te);var ne=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(h);const df=g(ne);var oe=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(h);const bf=g(oe);var re=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(h);const tf=g(re);var se=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(h);const nf=g(se);var le=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(h);const of=g(le);var ie=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(h);const rf=g(ie);var ue=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(h);const sf=g(ue);var me=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(h);const lf=g(me);var he=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(h);const uf=g(he);var pe=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(h);const mf=g(pe);var ge=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(h);const hf=g(ge);var ye=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(h);const pf=g(ye);var ve=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(h);const gf=g(ve);var we=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(h);const yf=g(we);function vf(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}const wf=Ge(z(300,.5,0),z(-240,.5,1));var V=Y(),Af=Math.PI/3,Mf=Math.PI*2/3;function Bf(e){var f;return e=(.5-e)*Math.PI,V.r=255*(f=Math.sin(e))*f,V.g=255*(f=Math.sin(e+Af))*f,V.b=255*(f=Math.sin(e+Mf))*f,V+""}function kf(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function D(e){var f=e.length;return function(a){return e[Math.max(0,Math.min(f-1,Math.floor(a*f)))]}}const Ff=D(h("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var Rf=D(h("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),xf=D(h("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Cf=D(h("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));const Ae=Object.freeze(Object.defineProperty({__proto__:null,interpolateBlues:uf,interpolateBrBG:We,interpolateBuGn:ef,interpolateBuPu:ff,interpolateCividis:vf,interpolateCool:Te,interpolateCubehelixDefault:wf,interpolateGnBu:af,interpolateGreens:mf,interpolateGreys:hf,interpolateInferno:xf,interpolateMagma:Rf,interpolateOrRd:cf,interpolateOranges:yf,interpolatePRGn:qe,interpolatePiYG:He,interpolatePlasma:Cf,interpolatePuBu:bf,interpolatePuBuGn:df,interpolatePuOr:Ue,interpolatePuRd:tf,interpolatePurples:pf,interpolateRainbow:q,interpolateRdBu:Je,interpolateRdGy:Ke,interpolateRdPu:nf,interpolateRdYlBu:Qe,interpolateRdYlGn:Xe,interpolateReds:gf,interpolateSinebow:Bf,interpolateSpectral:Ze,interpolateTurbo:kf,interpolateViridis:Ff,interpolateWarm:_e,interpolateYlGn:rf,interpolateYlGnBu:of,interpolateYlOrBr:sf,interpolateYlOrRd:lf,schemeAccent:Ve,schemeBlues:he,schemeBrBG:U,schemeBuGn:ce,schemeBuPu:de,schemeCategory10:Oe,schemeDark2:Ne,schemeGnBu:be,schemeGreens:pe,schemeGreys:ge,schemeObservable10:De,schemeOrRd:te,schemeOranges:we,schemePRGn:J,schemePaired:Pe,schemePastel1:Ie,schemePastel2:ze,schemePiYG:K,schemePuBu:oe,schemePuBuGn:ne,schemePuOr:Q,schemePuRd:re,schemePurples:ye,schemeRdBu:X,schemeRdGy:Z,schemeRdPu:se,schemeRdYlBu:ee,schemeRdYlGn:fe,schemeReds:ve,schemeSet1:Ee,schemeSet2:Ye,schemeSet3:je,schemeSpectral:ae,schemeTableau10:Le,schemeYlGn:ie,schemeYlGnBu:le,schemeYlOrBr:ue,schemeYlOrRd:me},Symbol.toStringTag,{value:"Module"})),_={greenRed:["#a6d96a","#d9ef8b","#ffffbf","#fee08b","#fdae61","#f46d43","#d73027"]},C={...Ae,...Se};var $f=(e=>(e[e.categorical=0]="categorical",e[e.diverging=1]="diverging",e[e.sequential=2]="sequential",e))($f||{});function ea(e,f){let a=e;typeof e=="string"&&(a=e.split(",").map(s=>s.trim()));const c=`interpolate${f||"Rainbow"}`,n=Ae[c]||q,d=L().domain(a).range(a.map((s,u)=>n((u+1)/a.length))),r={};return a.forEach(s=>r[s]=d(s)),r}function Gf(e){return e.data?e.data.type===H.STRING||e.options.colorRamp.style==0?Sf(e):e.data2?Lf(e):Vf(e):{rgbArray:null,legend:[],calculatedValues:null}}function Vf(e){const{metric:f,max:a,min:c}=qf(e),n=Hf({options:e.options,max:a,min:c}),d=Of(e),{rgbArray:r,legend:s,isRGBA:u}=Jf({numFeatures:e.numFeatures,metric:f,breakpoints:n,max:a,min:c,transparencies:d,fixedColors:e.options.fixedColors||[]});return{rgbArray:r,legend:s,calculatedValues:f,isRGBA:u}}function Of(e){if(!e.transparency)return;const f=new Uint8Array(e.numFeatures);for(let a=0;a<e.transparency.values.length;a++){const c=e.lookup?e.lookup.values[a]:a;f[c]=Math.floor(255*e.data.values[a])}return f}function Nf(e,f){if(e.length<2)throw new Error("At least two colors are required for interpolation.");const a=[];for(let c=0;c<e.length-1;c++){const n=S(e[c]),d=S(e[c+1]);for(let r=0;r<f;r++){const s=Df(n,d,f,r);a.push(Pf(s))}}return a}function S(e){const f=parseInt(e.slice(1),16),a=f>>16&255,c=f>>8&255,n=f&255;return[a,c,n]}function Df(e,f,a,c){const[n,d,r]=e,[s,u,i]=f,m=Math.round(n+(s-n)*c/a),t=Math.round(d+(u-d)*c/a),b=Math.round(r+(i-r)*c/a);return[m,t,b]}function Pf(e){const[f,a,c]=e;return`#${(1<<24|f<<16|a<<8|c).toString(16).slice(1)}`}function If(e,f){let a;if(Object.keys(_).includes(e.ramp))return Nf(_[e.ramp],f);if(e.style===0)return C[`scheme${e.ramp}`].slice(0,f);const c=`scheme${e.ramp}`;if(f>3&&C[c]&&C[c][f])a=C[`scheme${e.ramp}`][f];else try{const n=C[`interpolate${e.ramp}`];a=[];for(let d=0;d<f;++d){const r=f<=3?.7*d/(f-1)+.15:d/(f-1),s=n(r),u=C.rgb(s).hex();a.push(u)}}catch{return If(e,f-1)}return e.style===1&&f%2===1&&(a[Math.floor(f/2)]=N.state.isDarkMode?"#282828":"#e4e4e4"),a}function zf(e){return e.data.type===H.STRING?Ef(e):e.data2?Yf(e):jf(e)}function Ef(e){const{columnName:f,dataset:a,scaleFactor:c}=e.options;return{array:new Float32Array,legend:[],calculatedValues:null}}function Yf(e){const{numFeatures:f,data:a,data2:c,lookup:n,lookup2:d,normalize:r,join:s,options:u}=e,{columnName:i,dataset:m,scaleFactor:t,relative:b}=u;if(isNaN(t))return{array:null,legend:[],calculatedValues:null};const v=new Float32Array(f),o=new Float32Array(f),y=new Float32Array(f);c&&d&&(a.values.forEach((l,w)=>{o[n.values[w]]+=l}),c.values.forEach((l,w)=>{y[d.values[w]]+=l}));const B=new Float32Array(f);let k=new Float32Array(0);b&&(k=new Float32Array(f));for(let l=0;l<f;l++)B[l]=o[l]-y[l],b&&(k[l]=100*(B[l]/y[l]));const F=b?k:B;if(t)for(let l=0;l<f;l++)v[l]=Math.abs(F[l]/t);const M=[];for(const l of[1,5,10,17,25,50])M.push({label:t*l,value:l});return M[0].label="<"+M[0].label,M[M.length-1].label=M[M.length-1].label+"+",{array:v,legend:M,calculatedValues:F}}function jf(e){const{numFeatures:f,data:a,lookup:c,normalize:n,options:d}=e,{columnName:r,dataset:s,scaleFactor:u}=d;if(Number.isNaN(u))return{array:null,legend:[],calculatedValues:null};const i=new Float32Array(f),m=new Float32Array(f);if(u)for(let b=0;b<a.values.length;b++){const v=c?c.values[b]:b;i[v]=a.values[b]/u,m[v]=a.values[b]}const t=[];for(const b of[1,5,10,17,25,50])t.push({label:u*b,value:b});return t[0].label="<"+t[0].label,t[t.length-1].label=t[t.length-1].label+"+",{array:i,legend:t,calculatedValues:m}}function Tf(e){const{length:f,data:a,lookup:c,normalize:n,join:d,options:r}=e,{columnName:s,dataset:u,scaleFactor:i}=r;if(typeof i!="number")return{heights:0,calculatedValues:null};const m=new Float32Array(f),t=new Float32Array(f);if(d==="@count")for(let o=0;o<a.values.length;o++){const y=c?c.values[o]:o;t[y]+=1}else for(let o=0;o<a.values.length;o++){const y=c?c.values[o]:o;t[y]+=a.values[o]}let b=a.values,v=a.max||-1/0;if(n){b=new Float32Array(a.values.length),v=-1/0;for(let o=0;o<a.values.length;o++)b[o]=n.values[o]?a.values[o]/n.values[o]:NaN,b[o]>v&&(v=b[o])}if(i)for(let o=0;o<a.values.length;o++){const y=c?c.values[o]:o;t[y]=b[o],m[y]=b[o]/i}return{heights:m,calculatedValues:t,normalizedValues:null}}function _f(e){const{length:f,data:a,lookup:c,normalize:n,join:d,options:r}=e,{columnName:s,dataset:u,scaleFactor:i}=r;if(typeof i!="number")return{radius:0,calculatedValues:null};const m=new Float32Array(f),t=new Float32Array(f);if(!i)return{radius:m,calculatedValues:t};if(d==="@count")for(let b=0;b<a.values.length;b++){const v=c?c.values[b]:b;t[v]+=1}else for(let b=0;b<a.values.length;b++){const v=c?c.values[b]:b;t[v]+=a.values[b]}for(let b=0;b<f;b++)m[b]=Math.sqrt(t[b]/i);return{radius:m,calculatedValues:t}}function Sf(e){const{numFeatures:f,data:a,lookup:c,normalize:n,join:d,options:r}=e,{colorRamp:s,columnName:u,dataset:i,fixedColors:m}=r,t=j(m),b=L().range(t),v=N.state.isDarkMode?48:228,o=new Uint8ClampedArray(f*3).fill(v),y=[];for(let l=0;l<a.values.length;l++){const w=c?c.values[l]:l;y[w]=a.values[l]}for(let l=0;l<f;l++){if(e.filter[l]===-1||y[l]==null)continue;const w=b(y[l]),R=l*3;o[R+0]=w[0],o[R+1]=w[1],o[R+2]=w[2]}const B=[],k=b.domain(),F=b.range();k.forEach((l,w)=>B.push({label:l,value:F[w%F.length]})),B.sort((l,w)=>l.label<w.label?-1:1);const M=y.map(l=>!!l);return{rgbArray:o,legend:B,calculatedValues:null,normalizedValues:null,hasCategory:M}}function Me(e){let{colorRamp:f,fixedColors:a,minDiff:c,maxDiff:n}=e;const d=f.steps??a?.length??5;if(f.breakpoints){const i=f.breakpoints.split(",").map(t=>parseFloat(t.trim()));if(f.steps!==i.length+1)throw Error('Color ramp "steps" must be one larger than number of breakpoints');let m=-1/0;for(const t of i){if(t<m)throw Error("Breakpoints must be in lowest to highest order");m=t}return i}if(d==2)return[0];if(d==3)return[-1,1];const r=n>Math.abs(c)?n:-1*c,s=Math.floor(d/2)-1,u=s+1;if(d%2==1){const i=[1];for(let t=1;t<=s;t++)i.push(t*r/u);const m=i.slice().reverse().map(t=>-1*t);return m.push(...i),m}else{const i=[0];for(let t=1;t<=s;t++)i.push(t*r/u);const m=i.slice().reverse().map(t=>-1*t);return m.pop(),m.push(...i),m}}function Lf(e){const{numFeatures:f,options:a,relative:c,data:n,data2:d,lookup:r,lookup2:s}=e,{colorRamp:u,fixedColors:i}=a;let m=new Float32Array(f),t=new Float32Array(f);d&&s&&(n.values.forEach((p,A)=>{m[r.values[A]]+=p}),d.values.forEach((p,A)=>{t[s.values[A]]+=p})),m=E(m,e),t=E(t,e);const b=new Float32Array(f);let v=new Float32Array(0);c&&(v=new Float32Array(f));for(let p=0;p<f;p++)b[p]=m[p]-t[p],c&&(v[p]=100*(b[p]/t[p]));const o=c?v:b,y=o.reduce((p,A)=>Number.isFinite(A)?Math.min(p,A):p,1/0),B=o.reduce((p,A)=>Number.isFinite(A)?Math.max(p,A):p,-1/0);let k;const F=!!a.colorRamp.breakpoints;y<0?k=Me({colorRamp:u,fixedColors:i,minDiff:y,maxDiff:B}):k=Wf({colorRamp:u,fixedColors:i||[],min:y,max:B}).map(p=>u.style===1?p:p*B);const M=j(i||[]),l=W().range(M).domain(k),w=N.state.isDarkMode?[48,48,48]:[232,232,232],R=new Uint8ClampedArray(f*3);o.forEach((p,A)=>{const G=Number.isFinite(p)?l(p):w,x=A*3;R[x+0]=G[0],R[x+1]=G[1],R[x+2]=G[2]});const P=[],I=l.domain(),T=l.range();let $;for(let p=0;p<I.length;p++){const A=I[p],G=F?$:Math.round($*1),x=F?A:Math.round(A*1);P.push({label:$!==void 0?`${G} — ${x}`:`< ${x}`,value:T[p]}),$=A}return P.push({label:`> ${Math.round($*1)}`,value:T[I.length]}),{rgbArray:R,legend:P,calculatedValues:o,normalizedValues:null}}function Wf(e){const{colorRamp:f,fixedColors:a,min:c,max:n}=e;if(f.style===1)return Me({colorRamp:f,fixedColors:a,minDiff:c,maxDiff:n});if(f.breakpoints){const u=f.breakpoints.split(",").map(m=>parseFloat(m));if(f.steps!==u.length+1)throw Error('Color ramp "steps" must be one larger than number of breakpoints');let i=-1/0;for(const m of u){if(m<i)throw Error("Breakpoints must be in lowest to highest order");i=m}return u}const d=a.length,r=3;return new Array(d-1).fill(0).map((u,i)=>Math.pow(1/d*(i+1),r))}function qf(e){const f=new Float32Array(e.numFeatures);if(e.join==="@count")for(let d=0;d<e.data.values.length;d++){const r=e.lookup?e.lookup.values[d]:d;f[r]+=1}else for(let d=0;d<e.data.values.length;d++){const r=e.lookup?e.lookup.values[d]:d;f[r]+=e.data.values[d]}const a=E(f,e);let c=1/0,n=-1/0;for(let d=0;d<e.numFeatures;d++){const r=a[d];Number.isFinite(r)&&(c=Math.min(c,r),n=Math.max(n,r))}return c=c??1/0,n=n??-1/0,{metric:a,max:n,min:c}}function Hf(e){if(e.options.colorRamp.breakpoints)return Uf(e);let f=9;f=e.options.colorRamp?.steps||f,f=e.options.fixedColors?.length||f;const a=3,c=new Array(f-1).fill(0).map((r,s)=>Math.pow(1/f*(s+1),a));let n=[],d=e.max-e.min||1;for(let r=0;r<f-1;r++)n.push(e.min+d*c[r]);return n}function Uf(e){if(!e.options.colorRamp.breakpoints)return[];const f=e.options.colorRamp.breakpoints.split(",").map(c=>parseFloat(c));if(e.options.colorRamp.steps!==f.length+1)throw Error('Color ramp "steps" must be one larger than number of breakpoints');let a=-1/0;for(const c of f){if(c<a)throw Error("Breakpoints must be in lowest to highest order");a=c}return f}function Jf(e){const f=j(e.fixedColors),a=W().range(f).domain(e.breakpoints),c=e.transparencies,n=c?4:3,d=new Uint8ClampedArray(e.numFeatures*n),r=N.state.isDarkMode?[48,48,48]:[212,212,212];for(let b=0;b<e.numFeatures;b++){let v=e.metric[b];const o=Number.isNaN(v)?r:a(v),y=b*n;d[y+0]=o[0],d[y+1]=o[1],d[y+2]=o[2],c&&(d[y+3]=c[b])}const s=[],u=a.domain(),i=a.range();let m=e.max>=1e3?0:3,t=e.min;for(let b=0;b<u.length;b++){let v=u[b];const o=O({value:t,precision:m}),y=O({value:v,precision:m});s.push({label:`${o} — ${y}`,value:i[b]}),t=v}return s.push({label:`${O({value:t,precision:m})} — ${O({value:e.max,precision:m})}`,value:i[u.length]}),{rgbArray:d,legend:s,isRGBA:!!e.transparencies}}function E(e,f){if(!f.normalColumn)return e;const a=new Float32Array(f.numFeatures);let c=-1/0;const n=new Float32Array(f.numFeatures);f.normalColumn.values.forEach((s,u)=>{const i=f.normalLookup?f.normalLookup.values[u]:u;n[i]=s});for(let s=0;s<f.numFeatures;s++)a[s]=e[s]/n[s],c=Math.max(a[s],c);const d=a.reduce((s,u)=>Number.isFinite(u)?Math.min(s,u):s,1/0);if(!(f.options.colorRamp?.style===1)&&d<0)throw Error(`Column "${f.data.name}" has negative values: use a diverging color scale`);return a}function j(e){return e.map(a=>{const c=Y(a);return[c.r,c.g,c.b]})}function O({value:e,precision:f}){let a=f??3;if(a==0&&(a=-1),typeof e!="number")return e;let c=""+e;if(c.includes(".")&&c.indexOf(".")===c.lastIndexOf(".")&&/\d$/.test(c)){const n=c.substring(0,1+a+c.lastIndexOf("."));try{if(parseInt(n.substring(1+n.indexOf(".")))===0)return n.substring(0,n.indexOf("."))}catch{}return n}return e}const fa={getHeightsBasedOnNumericValues:Tf,getColorsForDataColumn:Gf,getWidthsForDataColumn:zf,getRadiusForDataColumn:_f};export{te as $,Cf as A,Rf as B,xf as C,Ff as D,kf as E,gf as F,pf as G,yf as H,hf as I,mf as J,uf as K,If as L,fa as M,Ae as N,Se as O,S as P,me as Q,ue as R,$f as S,le as T,ie as U,ve as V,se as W,ye as X,re as Y,ne as Z,oe as _,ea as a,we as a0,ge as a1,pe as a2,be as a3,de as a4,ce as a5,he as a6,j as b,Xe as c,Qe as d,Ke as e,Je as f,Ue as g,He as h,Ze as i,qe as j,We as k,Bf as l,lf as m,sf as n,rf as o,of as p,nf as q,tf as r,bf as s,df as t,cf as u,af as v,ff as w,ef as x,wf as y,vf as z};
|
|
1
|
+
import{b as Be,d as z,g as ke,e as Fe,h as Re,l as xe,f as Ce,r as Y,j as $e,c as Ge}from"./cubehelix-BzW-tINw.js";import{c as h,s as Ve,a as Oe,b as Ne,d as De,e as Pe,f as Ie,g as ze,h as Ee,i as Ye,j as je,o as L,t as W}from"./threshold-CrWFx_nu.js";import{c as Te,i as q,w as _e}from"./rainbow-DNS2KC2A.js";import{i as H,g as N}from"./index-CTSmLLzf.js";const Se=Object.freeze(Object.defineProperty({__proto__:null,color:Be,cubehelix:z,gray:ke,hcl:Fe,hsl:Re,lab:xe,lch:Ce,rgb:Y},Symbol.toStringTag,{value:"Module"})),Le=h("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),g=e=>$e(e[e.length-1]);var U=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(h);const We=g(U);var J=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(h);const qe=g(J);var K=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(h);const He=g(K);var Q=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(h);const Ue=g(Q);var X=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(h);const Je=g(X);var Z=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(h);const Ke=g(Z);var ee=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(h);const Qe=g(ee);var fe=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(h);const Xe=g(fe);var ae=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(h);const Ze=g(ae);var ce=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(h);const ef=g(ce);var de=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(h);const ff=g(de);var be=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(h);const af=g(be);var te=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(h);const cf=g(te);var ne=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(h);const df=g(ne);var oe=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(h);const bf=g(oe);var re=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(h);const tf=g(re);var se=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(h);const nf=g(se);var le=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(h);const of=g(le);var ie=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(h);const rf=g(ie);var ue=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(h);const sf=g(ue);var me=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(h);const lf=g(me);var he=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(h);const uf=g(he);var pe=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(h);const mf=g(pe);var ge=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(h);const hf=g(ge);var ye=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(h);const pf=g(ye);var ve=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(h);const gf=g(ve);var we=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(h);const yf=g(we);function vf(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}const wf=Ge(z(300,.5,0),z(-240,.5,1));var V=Y(),Af=Math.PI/3,Mf=Math.PI*2/3;function Bf(e){var f;return e=(.5-e)*Math.PI,V.r=255*(f=Math.sin(e))*f,V.g=255*(f=Math.sin(e+Af))*f,V.b=255*(f=Math.sin(e+Mf))*f,V+""}function kf(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function D(e){var f=e.length;return function(a){return e[Math.max(0,Math.min(f-1,Math.floor(a*f)))]}}const Ff=D(h("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var Rf=D(h("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),xf=D(h("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Cf=D(h("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));const Ae=Object.freeze(Object.defineProperty({__proto__:null,interpolateBlues:uf,interpolateBrBG:We,interpolateBuGn:ef,interpolateBuPu:ff,interpolateCividis:vf,interpolateCool:Te,interpolateCubehelixDefault:wf,interpolateGnBu:af,interpolateGreens:mf,interpolateGreys:hf,interpolateInferno:xf,interpolateMagma:Rf,interpolateOrRd:cf,interpolateOranges:yf,interpolatePRGn:qe,interpolatePiYG:He,interpolatePlasma:Cf,interpolatePuBu:bf,interpolatePuBuGn:df,interpolatePuOr:Ue,interpolatePuRd:tf,interpolatePurples:pf,interpolateRainbow:q,interpolateRdBu:Je,interpolateRdGy:Ke,interpolateRdPu:nf,interpolateRdYlBu:Qe,interpolateRdYlGn:Xe,interpolateReds:gf,interpolateSinebow:Bf,interpolateSpectral:Ze,interpolateTurbo:kf,interpolateViridis:Ff,interpolateWarm:_e,interpolateYlGn:rf,interpolateYlGnBu:of,interpolateYlOrBr:sf,interpolateYlOrRd:lf,schemeAccent:Ve,schemeBlues:he,schemeBrBG:U,schemeBuGn:ce,schemeBuPu:de,schemeCategory10:Oe,schemeDark2:Ne,schemeGnBu:be,schemeGreens:pe,schemeGreys:ge,schemeObservable10:De,schemeOrRd:te,schemeOranges:we,schemePRGn:J,schemePaired:Pe,schemePastel1:Ie,schemePastel2:ze,schemePiYG:K,schemePuBu:oe,schemePuBuGn:ne,schemePuOr:Q,schemePuRd:re,schemePurples:ye,schemeRdBu:X,schemeRdGy:Z,schemeRdPu:se,schemeRdYlBu:ee,schemeRdYlGn:fe,schemeReds:ve,schemeSet1:Ee,schemeSet2:Ye,schemeSet3:je,schemeSpectral:ae,schemeTableau10:Le,schemeYlGn:ie,schemeYlGnBu:le,schemeYlOrBr:ue,schemeYlOrRd:me},Symbol.toStringTag,{value:"Module"})),_={greenRed:["#a6d96a","#d9ef8b","#ffffbf","#fee08b","#fdae61","#f46d43","#d73027"]},C={...Ae,...Se};var $f=(e=>(e[e.categorical=0]="categorical",e[e.diverging=1]="diverging",e[e.sequential=2]="sequential",e))($f||{});function ea(e,f){let a=e;typeof e=="string"&&(a=e.split(",").map(s=>s.trim()));const c=`interpolate${f||"Rainbow"}`,n=Ae[c]||q,d=L().domain(a).range(a.map((s,u)=>n((u+1)/a.length))),r={};return a.forEach(s=>r[s]=d(s)),r}function Gf(e){return e.data?e.data.type===H.STRING||e.options.colorRamp.style==0?Sf(e):e.data2?Lf(e):Vf(e):{rgbArray:null,legend:[],calculatedValues:null}}function Vf(e){const{metric:f,max:a,min:c}=qf(e),n=Hf({options:e.options,max:a,min:c}),d=Of(e),{rgbArray:r,legend:s,isRGBA:u}=Jf({numFeatures:e.numFeatures,metric:f,breakpoints:n,max:a,min:c,transparencies:d,fixedColors:e.options.fixedColors||[]});return{rgbArray:r,legend:s,calculatedValues:f,isRGBA:u}}function Of(e){if(!e.transparency)return;const f=new Uint8Array(e.numFeatures);for(let a=0;a<e.transparency.values.length;a++){const c=e.lookup?e.lookup.values[a]:a;f[c]=Math.floor(255*e.data.values[a])}return f}function Nf(e,f){if(e.length<2)throw new Error("At least two colors are required for interpolation.");const a=[];for(let c=0;c<e.length-1;c++){const n=S(e[c]),d=S(e[c+1]);for(let r=0;r<f;r++){const s=Df(n,d,f,r);a.push(Pf(s))}}return a}function S(e){const f=parseInt(e.slice(1),16),a=f>>16&255,c=f>>8&255,n=f&255;return[a,c,n]}function Df(e,f,a,c){const[n,d,r]=e,[s,u,i]=f,m=Math.round(n+(s-n)*c/a),t=Math.round(d+(u-d)*c/a),b=Math.round(r+(i-r)*c/a);return[m,t,b]}function Pf(e){const[f,a,c]=e;return`#${(1<<24|f<<16|a<<8|c).toString(16).slice(1)}`}function If(e,f){let a;if(Object.keys(_).includes(e.ramp))return Nf(_[e.ramp],f);if(e.style===0)return C[`scheme${e.ramp}`].slice(0,f);const c=`scheme${e.ramp}`;if(f>3&&C[c]&&C[c][f])a=C[`scheme${e.ramp}`][f];else try{const n=C[`interpolate${e.ramp}`];a=[];for(let d=0;d<f;++d){const r=f<=3?.7*d/(f-1)+.15:d/(f-1),s=n(r),u=C.rgb(s).hex();a.push(u)}}catch{return If(e,f-1)}return e.style===1&&f%2===1&&(a[Math.floor(f/2)]=N.state.isDarkMode?"#282828":"#e4e4e4"),a}function zf(e){return e.data.type===H.STRING?Ef(e):e.data2?Yf(e):jf(e)}function Ef(e){const{columnName:f,dataset:a,scaleFactor:c}=e.options;return{array:new Float32Array,legend:[],calculatedValues:null}}function Yf(e){const{numFeatures:f,data:a,data2:c,lookup:n,lookup2:d,normalize:r,join:s,options:u}=e,{columnName:i,dataset:m,scaleFactor:t,relative:b}=u;if(isNaN(t))return{array:null,legend:[],calculatedValues:null};const v=new Float32Array(f),o=new Float32Array(f),y=new Float32Array(f);c&&d&&(a.values.forEach((l,w)=>{o[n.values[w]]+=l}),c.values.forEach((l,w)=>{y[d.values[w]]+=l}));const B=new Float32Array(f);let k=new Float32Array(0);b&&(k=new Float32Array(f));for(let l=0;l<f;l++)B[l]=o[l]-y[l],b&&(k[l]=100*(B[l]/y[l]));const F=b?k:B;if(t)for(let l=0;l<f;l++)v[l]=Math.abs(F[l]/t);const M=[];for(const l of[1,5,10,17,25,50])M.push({label:t*l,value:l});return M[0].label="<"+M[0].label,M[M.length-1].label=M[M.length-1].label+"+",{array:v,legend:M,calculatedValues:F}}function jf(e){const{numFeatures:f,data:a,lookup:c,normalize:n,options:d}=e,{columnName:r,dataset:s,scaleFactor:u}=d;if(Number.isNaN(u))return{array:null,legend:[],calculatedValues:null};const i=new Float32Array(f),m=new Float32Array(f);if(u)for(let b=0;b<a.values.length;b++){const v=c?c.values[b]:b;i[v]=a.values[b]/u,m[v]=a.values[b]}const t=[];for(const b of[1,5,10,17,25,50])t.push({label:u*b,value:b});return t[0].label="<"+t[0].label,t[t.length-1].label=t[t.length-1].label+"+",{array:i,legend:t,calculatedValues:m}}function Tf(e){const{length:f,data:a,lookup:c,normalize:n,join:d,options:r}=e,{columnName:s,dataset:u,scaleFactor:i}=r;if(typeof i!="number")return{heights:0,calculatedValues:null};const m=new Float32Array(f),t=new Float32Array(f);if(d==="@count")for(let o=0;o<a.values.length;o++){const y=c?c.values[o]:o;t[y]+=1}else for(let o=0;o<a.values.length;o++){const y=c?c.values[o]:o;t[y]+=a.values[o]}let b=a.values,v=a.max||-1/0;if(n){b=new Float32Array(a.values.length),v=-1/0;for(let o=0;o<a.values.length;o++)b[o]=n.values[o]?a.values[o]/n.values[o]:NaN,b[o]>v&&(v=b[o])}if(i)for(let o=0;o<a.values.length;o++){const y=c?c.values[o]:o;t[y]=b[o],m[y]=b[o]/i}return{heights:m,calculatedValues:t,normalizedValues:null}}function _f(e){const{length:f,data:a,lookup:c,normalize:n,join:d,options:r}=e,{columnName:s,dataset:u,scaleFactor:i}=r;if(typeof i!="number")return{radius:0,calculatedValues:null};const m=new Float32Array(f),t=new Float32Array(f);if(!i)return{radius:m,calculatedValues:t};if(d==="@count")for(let b=0;b<a.values.length;b++){const v=c?c.values[b]:b;t[v]+=1}else for(let b=0;b<a.values.length;b++){const v=c?c.values[b]:b;t[v]+=a.values[b]}for(let b=0;b<f;b++)m[b]=Math.sqrt(t[b]/i);return{radius:m,calculatedValues:t}}function Sf(e){const{numFeatures:f,data:a,lookup:c,normalize:n,join:d,options:r}=e,{colorRamp:s,columnName:u,dataset:i,fixedColors:m}=r,t=j(m),b=L().range(t),v=N.state.isDarkMode?48:228,o=new Uint8ClampedArray(f*3).fill(v),y=[];for(let l=0;l<a.values.length;l++){const w=c?c.values[l]:l;y[w]=a.values[l]}for(let l=0;l<f;l++){if(e.filter[l]===-1||y[l]==null)continue;const w=b(y[l]),R=l*3;o[R+0]=w[0],o[R+1]=w[1],o[R+2]=w[2]}const B=[],k=b.domain(),F=b.range();k.forEach((l,w)=>B.push({label:l,value:F[w%F.length]})),B.sort((l,w)=>l.label<w.label?-1:1);const M=y.map(l=>!!l);return{rgbArray:o,legend:B,calculatedValues:null,normalizedValues:null,hasCategory:M}}function Me(e){let{colorRamp:f,fixedColors:a,minDiff:c,maxDiff:n}=e;const d=f.steps??a?.length??5;if(f.breakpoints){const i=f.breakpoints.split(",").map(t=>parseFloat(t.trim()));if(f.steps!==i.length+1)throw Error('Color ramp "steps" must be one larger than number of breakpoints');let m=-1/0;for(const t of i){if(t<m)throw Error("Breakpoints must be in lowest to highest order");m=t}return i}if(d==2)return[0];if(d==3)return[-1,1];const r=n>Math.abs(c)?n:-1*c,s=Math.floor(d/2)-1,u=s+1;if(d%2==1){const i=[1];for(let t=1;t<=s;t++)i.push(t*r/u);const m=i.slice().reverse().map(t=>-1*t);return m.push(...i),m}else{const i=[0];for(let t=1;t<=s;t++)i.push(t*r/u);const m=i.slice().reverse().map(t=>-1*t);return m.pop(),m.push(...i),m}}function Lf(e){const{numFeatures:f,options:a,relative:c,data:n,data2:d,lookup:r,lookup2:s}=e,{colorRamp:u,fixedColors:i}=a;let m=new Float32Array(f),t=new Float32Array(f);d&&s&&(n.values.forEach((p,A)=>{m[r.values[A]]+=p}),d.values.forEach((p,A)=>{t[s.values[A]]+=p})),m=E(m,e),t=E(t,e);const b=new Float32Array(f);let v=new Float32Array(0);c&&(v=new Float32Array(f));for(let p=0;p<f;p++)b[p]=m[p]-t[p],c&&(v[p]=100*(b[p]/t[p]));const o=c?v:b,y=o.reduce((p,A)=>Number.isFinite(A)?Math.min(p,A):p,1/0),B=o.reduce((p,A)=>Number.isFinite(A)?Math.max(p,A):p,-1/0);let k;const F=!!a.colorRamp.breakpoints;y<0?k=Me({colorRamp:u,fixedColors:i,minDiff:y,maxDiff:B}):k=Wf({colorRamp:u,fixedColors:i||[],min:y,max:B}).map(p=>u.style===1?p:p*B);const M=j(i||[]),l=W().range(M).domain(k),w=N.state.isDarkMode?[48,48,48]:[232,232,232],R=new Uint8ClampedArray(f*3);o.forEach((p,A)=>{const G=Number.isFinite(p)?l(p):w,x=A*3;R[x+0]=G[0],R[x+1]=G[1],R[x+2]=G[2]});const P=[],I=l.domain(),T=l.range();let $;for(let p=0;p<I.length;p++){const A=I[p],G=F?$:Math.round($*1),x=F?A:Math.round(A*1);P.push({label:$!==void 0?`${G} — ${x}`:`< ${x}`,value:T[p]}),$=A}return P.push({label:`> ${Math.round($*1)}`,value:T[I.length]}),{rgbArray:R,legend:P,calculatedValues:o,normalizedValues:null}}function Wf(e){const{colorRamp:f,fixedColors:a,min:c,max:n}=e;if(f.style===1)return Me({colorRamp:f,fixedColors:a,minDiff:c,maxDiff:n});if(f.breakpoints){const u=f.breakpoints.split(",").map(m=>parseFloat(m));if(f.steps!==u.length+1)throw Error('Color ramp "steps" must be one larger than number of breakpoints');let i=-1/0;for(const m of u){if(m<i)throw Error("Breakpoints must be in lowest to highest order");i=m}return u}const d=a.length,r=3;return new Array(d-1).fill(0).map((u,i)=>Math.pow(1/d*(i+1),r))}function qf(e){const f=new Float32Array(e.numFeatures);if(e.join==="@count")for(let d=0;d<e.data.values.length;d++){const r=e.lookup?e.lookup.values[d]:d;f[r]+=1}else for(let d=0;d<e.data.values.length;d++){const r=e.lookup?e.lookup.values[d]:d;f[r]+=e.data.values[d]}const a=E(f,e);let c=1/0,n=-1/0;for(let d=0;d<e.numFeatures;d++){const r=a[d];Number.isFinite(r)&&(c=Math.min(c,r),n=Math.max(n,r))}return c=c??1/0,n=n??-1/0,{metric:a,max:n,min:c}}function Hf(e){if(e.options.colorRamp.breakpoints)return Uf(e);let f=9;f=e.options.colorRamp?.steps||f,f=e.options.fixedColors?.length||f;const a=3,c=new Array(f-1).fill(0).map((r,s)=>Math.pow(1/f*(s+1),a));let n=[],d=e.max-e.min||1;for(let r=0;r<f-1;r++)n.push(e.min+d*c[r]);return n}function Uf(e){if(!e.options.colorRamp.breakpoints)return[];const f=e.options.colorRamp.breakpoints.split(",").map(c=>parseFloat(c));if(e.options.colorRamp.steps!==f.length+1)throw Error('Color ramp "steps" must be one larger than number of breakpoints');let a=-1/0;for(const c of f){if(c<a)throw Error("Breakpoints must be in lowest to highest order");a=c}return f}function Jf(e){const f=j(e.fixedColors),a=W().range(f).domain(e.breakpoints),c=e.transparencies,n=c?4:3,d=new Uint8ClampedArray(e.numFeatures*n),r=N.state.isDarkMode?[48,48,48]:[212,212,212];for(let b=0;b<e.numFeatures;b++){let v=e.metric[b];const o=Number.isNaN(v)?r:a(v),y=b*n;d[y+0]=o[0],d[y+1]=o[1],d[y+2]=o[2],c&&(d[y+3]=c[b])}const s=[],u=a.domain(),i=a.range();let m=e.max>=1e3?0:3,t=e.min;for(let b=0;b<u.length;b++){let v=u[b];const o=O({value:t,precision:m}),y=O({value:v,precision:m});s.push({label:`${o} — ${y}`,value:i[b]}),t=v}return s.push({label:`${O({value:t,precision:m})} — ${O({value:e.max,precision:m})}`,value:i[u.length]}),{rgbArray:d,legend:s,isRGBA:!!e.transparencies}}function E(e,f){if(!f.normalColumn)return e;const a=new Float32Array(f.numFeatures);let c=-1/0;const n=new Float32Array(f.numFeatures);f.normalColumn.values.forEach((s,u)=>{const i=f.normalLookup?f.normalLookup.values[u]:u;n[i]=s});for(let s=0;s<f.numFeatures;s++)a[s]=e[s]/n[s],c=Math.max(a[s],c);const d=a.reduce((s,u)=>Number.isFinite(u)?Math.min(s,u):s,1/0);if(!(f.options.colorRamp?.style===1)&&d<0)throw Error(`Column "${f.data.name}" has negative values: use a diverging color scale`);return a}function j(e){return e.map(a=>{const c=Y(a);return[c.r,c.g,c.b]})}function O({value:e,precision:f}){let a=f??3;if(a==0&&(a=-1),typeof e!="number")return e;let c=""+e;if(c.includes(".")&&c.indexOf(".")===c.lastIndexOf(".")&&/\d$/.test(c)){const n=c.substring(0,1+a+c.lastIndexOf("."));try{if(parseInt(n.substring(1+n.indexOf(".")))===0)return n.substring(0,n.indexOf("."))}catch{}return n}return e}const fa={getHeightsBasedOnNumericValues:Tf,getColorsForDataColumn:Gf,getWidthsForDataColumn:zf,getRadiusForDataColumn:_f};export{te as $,Cf as A,Rf as B,xf as C,Ff as D,kf as E,gf as F,pf as G,yf as H,hf as I,mf as J,uf as K,If as L,fa as M,Ae as N,Se as O,S as P,me as Q,ue as R,$f as S,le as T,ie as U,ve as V,se as W,ye as X,re as Y,ne as Z,oe as _,ea as a,we as a0,ge as a1,pe as a2,be as a3,de as a4,ce as a5,he as a6,j as b,Xe as c,Qe as d,Ke as e,Je as f,Ue as g,He as h,Ze as i,qe as j,We as k,Bf as l,lf as m,sf as n,rf as o,of as p,nf as q,tf as r,bf as s,df as t,cf as u,af as v,ff as w,ef as x,wf as y,vf as z};
|