diff --git a/src/404.md b/src/404.md new file mode 100644 index 00000000..025b46cc --- /dev/null +++ b/src/404.md @@ -0,0 +1,34 @@ +--- +title: "Page Not Found" +permalink: /404.html +skip_chartjs: true +--- + +## 404: Page Not Found + +The page you requested could not be found. + +Possible reasons: + +- The URL has a typo. +- The page was moved or renamed. +- You followed an outdated external link. + +### Helpful links + +- [Go to the ReproDB homepage]({{ '/' | relative_url }}) +- [Browse methodology pages]({{ '/methodology.html' | relative_url }}) +- [Browse systems conferences]({{ '/systems/' | relative_url }}) +- [Browse security conferences]({{ '/security/' | relative_url }}) + +### Report a broken link + +If you expected this page to exist, please open an issue in the website repository: + +- [Create an issue on ReproDB/reprodb.github.io](https://github.com/ReproDB/reprodb.github.io/issues/new/choose) + +To help us fix it quickly, include: + +- The full URL that returned 404. +- The page where you clicked the link (referrer URL). +- A short note about what you expected to find. diff --git a/src/about.md b/src/about.md index 353250b7..38de5253 100644 --- a/src/about.md +++ b/src/about.md @@ -1,10 +1,25 @@ --- -title: "Contribute" +title: "About" permalink: /about.html skip_chartjs: true --- -ReproDB is fully open source. We welcome contributions of all kinds! +ReproDB and its underlying methodology are described in *ReproDB: An Open Platform for Discovering Research Artifacts and Analyzing their Evaluation in Security and Systems* by Vahldiek-Oberwagner, Bognar, and Signorello (ACM REP 2026). + +If you use ReproDB in your research, please cite: + +```bibtex +@inproceedings{vahldiek2026reprodb, + author = {Vahldiek-Oberwagner, Anjo and Bognar, Marton and Signorello, Salvatore}, + title = {ReproDB: An Open Platform for Discovering Research Artifacts and Analyzing their Evaluation in Security and Systems}, + booktitle = {Proceedings of the ACM Conference on Reproducibility and Replicability (ACM REP)}, + year = {2026} +} +``` + +### Acknowledgements + +This project celebrates the work of **artifact authors** who go the extra mile to make research reproducible, and **artifact evaluation committees** (AE chairs and members) who invest time reviewing and certifying artifacts. Their contributions strengthen our scientific record. We thank the communities maintaining [sysartifacts](https://sysartifacts.github.io/) and [secartifacts](https://secartifacts.github.io/) for publishing detailed evaluation results. Inspired by [Systems Circus](https://nebelwelt.net/pubstats/) and [csrankings.org](https://csrankings.org/). ### Report Issues or Fix Bugs diff --git a/src/assets/charts/badge_distribution.svg b/src/assets/charts/badge_distribution.svg index bfdd83ac..354b4483 100644 --- a/src/assets/charts/badge_distribution.svg +++ b/src/assets/charts/badge_distribution.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:34.794594 + 2026-07-05T14:19:29.884447 image/svg+xml @@ -42,16 +42,16 @@ z +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -139,11 +139,11 @@ z +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -201,11 +201,11 @@ z +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -254,11 +254,11 @@ z +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -275,11 +275,11 @@ L 327.497462 43.173184 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -296,11 +296,11 @@ L 408.249987 43.173184 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -317,11 +317,11 @@ L 489.002513 43.173184 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -372,11 +372,11 @@ z +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -414,11 +414,11 @@ z +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -462,11 +462,11 @@ z +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -615,16 +615,16 @@ z +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -638,11 +638,11 @@ L -3.5 0 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -658,11 +658,11 @@ L 848.35125 328.888608 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -678,11 +678,11 @@ L 848.35125 288.680977 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -698,11 +698,11 @@ L 848.35125 248.473346 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -718,11 +718,11 @@ L 848.35125 208.265716 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -738,11 +738,11 @@ L 848.35125 168.058085 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -758,11 +758,11 @@ L 848.35125 127.850454 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -778,11 +778,11 @@ L 848.35125 87.642824 +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -977,9 +977,9 @@ L 569.755038 260.133559 L 650.507563 225.152921 L 731.260088 58.693329 L 812.012614 180.924527 -" clip-path="url(#p727044b682)" style="fill: none; stroke: #06a77d; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #06a77d; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1015,26 +1015,26 @@ L 569.755038 265.360551 L 650.507563 246.462965 L 731.260088 161.222788 L 812.012614 240.43182 -" clip-path="url(#p727044b682)" style="fill: none; stroke: #2e86ab; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #2e86ab; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1048,25 +1048,25 @@ L 569.755038 288.278901 L 650.507563 268.175085 L 731.260088 210.678174 L 812.012614 278.226993 -" clip-path="url(#p727044b682)" style="fill: none; stroke: #a23b72; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #a23b72; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1080,26 +1080,26 @@ L 569.755038 359.848483 L 650.507563 369.096239 L 731.260088 369.096239 L 812.012614 366.281704 -" clip-path="url(#p727044b682)" style="fill: none; stroke: #f18f01; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p1031a67430)" style="fill: none; stroke: #f18f01; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1666,7 +1666,7 @@ L 268.849688 15.298437 L 278.849688 15.298437 " style="fill: none; stroke: #06a77d; stroke-width: 2; stroke-linecap: square"/> - + @@ -1721,7 +1721,7 @@ L 362.11375 15.298437 L 372.11375 15.298437 " style="fill: none; stroke: #2e86ab; stroke-width: 2; stroke-linecap: square"/> - + @@ -1842,7 +1842,7 @@ L 461.549688 15.298437 L 471.549688 15.298437 " style="fill: none; stroke: #a23b72; stroke-width: 2; stroke-linecap: square"/> - + @@ -1924,7 +1924,7 @@ L 574.796563 15.298437 L 584.796563 15.298437 " style="fill: none; stroke: #f18f01; stroke-width: 2; stroke-linecap: square"/> - + @@ -1977,7 +1977,7 @@ z - + diff --git a/src/assets/charts/committee_continent_timeline.svg b/src/assets/charts/committee_continent_timeline.svg index b2db4909..a99a0aeb 100644 --- a/src/assets/charts/committee_continent_timeline.svg +++ b/src/assets/charts/committee_continent_timeline.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:04.909656 + 2026-07-05T14:19:00.665506 image/svg+xml @@ -43,7 +43,7 @@ L 121.744187 314.53312 L 121.744187 311.772546 L 82.965852 311.772546 z -" clip-path="url(#pf3b80b56cb)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #e6194b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #4363d8"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #3cb44b"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f58231"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #42d4f4"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> +" clip-path="url(#pb068d8ffc8)" style="fill: #f032e6"/> - - + @@ -661,7 +661,7 @@ z - + @@ -718,7 +718,7 @@ z - + @@ -766,7 +766,7 @@ z - + @@ -782,7 +782,7 @@ z - + @@ -798,7 +798,7 @@ z - + @@ -814,7 +814,7 @@ z - + @@ -864,7 +864,7 @@ z - + @@ -901,7 +901,7 @@ z - + @@ -944,7 +944,7 @@ z - + @@ -992,7 +992,7 @@ z - + @@ -1109,16 +1109,16 @@ z +" clip-path="url(#pb068d8ffc8)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -1132,11 +1132,11 @@ L -3.5 0 +" clip-path="url(#pb068d8ffc8)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -1152,11 +1152,11 @@ L 705.358125 259.32164 +" clip-path="url(#pb068d8ffc8)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -1172,11 +1172,11 @@ L 705.358125 204.11016 +" clip-path="url(#pb068d8ffc8)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -1192,11 +1192,11 @@ L 705.358125 148.898679 +" clip-path="url(#pb068d8ffc8)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -1212,11 +1212,11 @@ L 705.358125 93.687199 +" clip-path="url(#pb068d8ffc8)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -2219,7 +2219,7 @@ z - + diff --git a/src/assets/charts/committee_continents.svg b/src/assets/charts/committee_continents.svg index 51c663a5..22b415b5 100644 --- a/src/assets/charts/committee_continents.svg +++ b/src/assets/charts/committee_continents.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:03.909214 + 2026-07-05T14:18:59.665259 image/svg+xml diff --git a/src/assets/charts/committee_continents_security.svg b/src/assets/charts/committee_continents_security.svg index 37c8e100..1b3a5147 100644 --- a/src/assets/charts/committee_continents_security.svg +++ b/src/assets/charts/committee_continents_security.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:04.025158 + 2026-07-05T14:18:59.779919 image/svg+xml diff --git a/src/assets/charts/committee_continents_systems.svg b/src/assets/charts/committee_continents_systems.svg index 6eb50d03..7fc60ae5 100644 --- a/src/assets/charts/committee_continents_systems.svg +++ b/src/assets/charts/committee_continents_systems.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:03.967580 + 2026-07-05T14:18:59.723188 image/svg+xml diff --git a/src/assets/charts/committee_countries.svg b/src/assets/charts/committee_countries.svg index 3963b1fd..669311a5 100644 --- a/src/assets/charts/committee_countries.svg +++ b/src/assets/charts/committee_countries.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:03.523548 + 2026-07-05T14:18:59.281053 image/svg+xml @@ -43,7 +43,7 @@ L 149.844611 368.970852 L 149.844611 351.125152 L 141.66875 351.125152 z -" clip-path="url(#pb609bcb307)" style="fill: #355f8d"/> +" clip-path="url(#p9503899ecd)" style="fill: #355f8d"/> +" clip-path="url(#p9503899ecd)" style="fill: #306a8e"/> +" clip-path="url(#p9503899ecd)" style="fill: #2b748e"/> +" clip-path="url(#p9503899ecd)" style="fill: #277f8e"/> +" clip-path="url(#p9503899ecd)" style="fill: #23898e"/> +" clip-path="url(#p9503899ecd)" style="fill: #20938c"/> +" clip-path="url(#p9503899ecd)" style="fill: #1f9e89"/> +" clip-path="url(#p9503899ecd)" style="fill: #22a884"/> +" clip-path="url(#p9503899ecd)" style="fill: #2db27d"/> +" clip-path="url(#p9503899ecd)" style="fill: #3dbc74"/> +" clip-path="url(#p9503899ecd)" style="fill: #52c569"/> +" clip-path="url(#p9503899ecd)" style="fill: #69cd5b"/> +" clip-path="url(#p9503899ecd)" style="fill: #84d44b"/> +" clip-path="url(#p9503899ecd)" style="fill: #a0da39"/> +" clip-path="url(#p9503899ecd)" style="fill: #bddf26"/> +" clip-path="url(#p9503899ecd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -208,11 +208,11 @@ z +" clip-path="url(#p9503899ecd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -255,11 +255,11 @@ z +" clip-path="url(#p9503899ecd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -292,11 +292,11 @@ z +" clip-path="url(#p9503899ecd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -313,11 +313,11 @@ L 408.272908 22.318125 +" clip-path="url(#p9503899ecd)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -607,12 +607,12 @@ z - - + @@ -718,7 +718,7 @@ z - + @@ -808,7 +808,7 @@ z - + @@ -917,7 +917,7 @@ z - + @@ -956,7 +956,7 @@ z - + @@ -999,7 +999,7 @@ z - + @@ -1057,7 +1057,7 @@ z - + @@ -1075,7 +1075,7 @@ z - + @@ -1129,7 +1129,7 @@ z - + @@ -1183,7 +1183,7 @@ z - + @@ -1294,7 +1294,7 @@ z - + @@ -1353,7 +1353,7 @@ z - + @@ -1391,7 +1391,7 @@ z - + @@ -1437,7 +1437,7 @@ z - + @@ -1454,7 +1454,7 @@ z - + @@ -2130,7 +2130,7 @@ z - + diff --git a/src/assets/charts/committee_countries_security.svg b/src/assets/charts/committee_countries_security.svg index 95173e0c..f46aff01 100644 --- a/src/assets/charts/committee_countries_security.svg +++ b/src/assets/charts/committee_countries_security.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:03.818377 + 2026-07-05T14:18:59.575421 image/svg+xml @@ -43,7 +43,7 @@ L 152.390444 368.970852 L 152.390444 351.125152 L 141.66875 351.125152 z -" clip-path="url(#p98e3c09ad8)" style="fill: #355f8d"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #355f8d"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #306a8e"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #2b748e"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #277f8e"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #23898e"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #20938c"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #1f9e89"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #22a884"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #2db27d"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #3dbc74"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #52c569"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #69cd5b"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #84d44b"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #a0da39"/> +" clip-path="url(#pa7222f1fb3)" style="fill: #bddf26"/> +" clip-path="url(#pa7222f1fb3)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -208,11 +208,11 @@ z +" clip-path="url(#pa7222f1fb3)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -254,11 +254,11 @@ z +" clip-path="url(#pa7222f1fb3)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -295,11 +295,11 @@ z +" clip-path="url(#pa7222f1fb3)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -347,11 +347,11 @@ z +" clip-path="url(#pa7222f1fb3)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -655,12 +655,12 @@ z - - + @@ -826,7 +826,7 @@ z - + @@ -880,7 +880,7 @@ z - + @@ -967,7 +967,7 @@ z - + @@ -1097,7 +1097,7 @@ z - + @@ -1115,7 +1115,7 @@ z - + @@ -1153,7 +1153,7 @@ z - + @@ -1185,7 +1185,7 @@ z - + @@ -1260,7 +1260,7 @@ z - + @@ -1299,7 +1299,7 @@ z - + @@ -1358,7 +1358,7 @@ z - + @@ -1401,7 +1401,7 @@ z - + @@ -1439,7 +1439,7 @@ z - + @@ -1456,7 +1456,7 @@ z - + @@ -1502,7 +1502,7 @@ z - + @@ -2114,7 +2114,7 @@ z - + diff --git a/src/assets/charts/committee_countries_systems.svg b/src/assets/charts/committee_countries_systems.svg index 78662496..26914d08 100644 --- a/src/assets/charts/committee_countries_systems.svg +++ b/src/assets/charts/committee_countries_systems.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:03.673369 + 2026-07-05T14:18:59.430207 image/svg+xml @@ -43,7 +43,7 @@ L 147.162194 368.970852 L 147.162194 351.125152 L 141.66875 351.125152 z -" clip-path="url(#p480a51acdd)" style="fill: #355f8d"/> +" clip-path="url(#p70888d12c9)" style="fill: #355f8d"/> +" clip-path="url(#p70888d12c9)" style="fill: #306a8e"/> +" clip-path="url(#p70888d12c9)" style="fill: #2b748e"/> +" clip-path="url(#p70888d12c9)" style="fill: #277f8e"/> +" clip-path="url(#p70888d12c9)" style="fill: #23898e"/> +" clip-path="url(#p70888d12c9)" style="fill: #20938c"/> +" clip-path="url(#p70888d12c9)" style="fill: #1f9e89"/> +" clip-path="url(#p70888d12c9)" style="fill: #22a884"/> +" clip-path="url(#p70888d12c9)" style="fill: #2db27d"/> +" clip-path="url(#p70888d12c9)" style="fill: #3dbc74"/> +" clip-path="url(#p70888d12c9)" style="fill: #52c569"/> +" clip-path="url(#p70888d12c9)" style="fill: #69cd5b"/> +" clip-path="url(#p70888d12c9)" style="fill: #84d44b"/> +" clip-path="url(#p70888d12c9)" style="fill: #a0da39"/> +" clip-path="url(#p70888d12c9)" style="fill: #bddf26"/> +" clip-path="url(#p70888d12c9)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -208,11 +208,11 @@ z +" clip-path="url(#p70888d12c9)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -254,11 +254,11 @@ z +" clip-path="url(#p70888d12c9)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -295,11 +295,11 @@ z +" clip-path="url(#p70888d12c9)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -347,11 +347,11 @@ z +" clip-path="url(#p70888d12c9)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -408,11 +408,11 @@ z +" clip-path="url(#p70888d12c9)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -445,11 +445,11 @@ z +" clip-path="url(#p70888d12c9)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -713,12 +713,12 @@ z - - + @@ -784,7 +784,7 @@ z - + @@ -869,7 +869,7 @@ z - + @@ -921,7 +921,7 @@ z - + @@ -1027,7 +1027,7 @@ z - + @@ -1085,7 +1085,7 @@ z - + @@ -1103,7 +1103,7 @@ z - + @@ -1153,7 +1153,7 @@ z - + @@ -1191,7 +1191,7 @@ z - + @@ -1212,7 +1212,7 @@ z - + @@ -1337,7 +1337,7 @@ z - + @@ -1375,7 +1375,7 @@ z - + @@ -1434,7 +1434,7 @@ z - + @@ -1472,7 +1472,7 @@ z - + @@ -1489,7 +1489,7 @@ z - + @@ -2098,7 +2098,7 @@ z - + diff --git a/src/assets/charts/committee_institutions.svg b/src/assets/charts/committee_institutions.svg index 4bae4ce6..333b124a 100644 --- a/src/assets/charts/committee_institutions.svg +++ b/src/assets/charts/committee_institutions.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:04.173146 + 2026-07-05T14:18:59.928620 image/svg+xml @@ -43,7 +43,7 @@ L 350.907007 437.698125 L 350.907007 421.714287 L 223.896875 421.714287 z -" clip-path="url(#p14149c7631)" style="fill: #6a00a8"/> +" clip-path="url(#p7fd629c286)" style="fill: #6a00a8"/> +" clip-path="url(#p7fd629c286)" style="fill: #7701a8"/> +" clip-path="url(#p7fd629c286)" style="fill: #8305a7"/> +" clip-path="url(#p7fd629c286)" style="fill: #8e0ca4"/> +" clip-path="url(#p7fd629c286)" style="fill: #99159f"/> +" clip-path="url(#p7fd629c286)" style="fill: #a31e9a"/> +" clip-path="url(#p7fd629c286)" style="fill: #ad2793"/> +" clip-path="url(#p7fd629c286)" style="fill: #b6308b"/> +" clip-path="url(#p7fd629c286)" style="fill: #bf3984"/> +" clip-path="url(#p7fd629c286)" style="fill: #c7427c"/> +" clip-path="url(#p7fd629c286)" style="fill: #cf4c74"/> +" clip-path="url(#p7fd629c286)" style="fill: #d6556d"/> +" clip-path="url(#p7fd629c286)" style="fill: #dd5e66"/> +" clip-path="url(#p7fd629c286)" style="fill: #e3685f"/> +" clip-path="url(#p7fd629c286)" style="fill: #e97158"/> +" clip-path="url(#p7fd629c286)" style="fill: #ee7b51"/> +" clip-path="url(#p7fd629c286)" style="fill: #f3854b"/> +" clip-path="url(#p7fd629c286)" style="fill: #f79044"/> +" clip-path="url(#p7fd629c286)" style="fill: #fa9b3d"/> +" clip-path="url(#p7fd629c286)" style="fill: #fca636"/> +" clip-path="url(#p7fd629c286)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -248,11 +248,11 @@ z +" clip-path="url(#p7fd629c286)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -293,11 +293,11 @@ z +" clip-path="url(#p7fd629c286)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -333,11 +333,11 @@ z +" clip-path="url(#p7fd629c286)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -384,11 +384,11 @@ z +" clip-path="url(#p7fd629c286)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -444,11 +444,11 @@ z +" clip-path="url(#p7fd629c286)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -480,11 +480,11 @@ z +" clip-path="url(#p7fd629c286)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -500,11 +500,11 @@ L 614.69728 22.318125 +" clip-path="url(#p7fd629c286)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -767,12 +767,12 @@ z - - + @@ -898,7 +898,7 @@ z - + @@ -1071,7 +1071,7 @@ z - + @@ -1174,7 +1174,7 @@ z - + @@ -1262,7 +1262,7 @@ z - + @@ -1361,7 +1361,7 @@ z - + @@ -1450,7 +1450,7 @@ z - + @@ -1471,7 +1471,7 @@ z - + @@ -1517,7 +1517,7 @@ z - + @@ -1597,7 +1597,7 @@ z - + @@ -1635,7 +1635,7 @@ z - + @@ -1687,7 +1687,7 @@ z - + @@ -1751,7 +1751,7 @@ z - + @@ -1803,7 +1803,7 @@ z - + @@ -1870,7 +1870,7 @@ z - + @@ -1925,7 +1925,7 @@ z - + @@ -1978,7 +1978,7 @@ z - + @@ -2041,7 +2041,7 @@ z - + @@ -2111,7 +2111,7 @@ z - + @@ -2163,7 +2163,7 @@ z - + @@ -2822,7 +2822,7 @@ z - + diff --git a/src/assets/charts/committee_institutions_security.svg b/src/assets/charts/committee_institutions_security.svg index f633de90..27621bba 100644 --- a/src/assets/charts/committee_institutions_security.svg +++ b/src/assets/charts/committee_institutions_security.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:04.587775 + 2026-07-05T14:19:00.343599 image/svg+xml @@ -43,7 +43,7 @@ L 355.094154 437.698125 L 355.094154 421.714287 L 223.896875 421.714287 z -" clip-path="url(#p0c23dd541a)" style="fill: #6a00a8"/> +" clip-path="url(#p335fab982c)" style="fill: #6a00a8"/> +" clip-path="url(#p335fab982c)" style="fill: #7701a8"/> +" clip-path="url(#p335fab982c)" style="fill: #8305a7"/> +" clip-path="url(#p335fab982c)" style="fill: #8e0ca4"/> +" clip-path="url(#p335fab982c)" style="fill: #99159f"/> +" clip-path="url(#p335fab982c)" style="fill: #a31e9a"/> +" clip-path="url(#p335fab982c)" style="fill: #ad2793"/> +" clip-path="url(#p335fab982c)" style="fill: #b6308b"/> +" clip-path="url(#p335fab982c)" style="fill: #bf3984"/> +" clip-path="url(#p335fab982c)" style="fill: #c7427c"/> +" clip-path="url(#p335fab982c)" style="fill: #cf4c74"/> +" clip-path="url(#p335fab982c)" style="fill: #d6556d"/> +" clip-path="url(#p335fab982c)" style="fill: #dd5e66"/> +" clip-path="url(#p335fab982c)" style="fill: #e3685f"/> +" clip-path="url(#p335fab982c)" style="fill: #e97158"/> +" clip-path="url(#p335fab982c)" style="fill: #ee7b51"/> +" clip-path="url(#p335fab982c)" style="fill: #f3854b"/> +" clip-path="url(#p335fab982c)" style="fill: #f79044"/> +" clip-path="url(#p335fab982c)" style="fill: #fa9b3d"/> +" clip-path="url(#p335fab982c)" style="fill: #fca636"/> +" clip-path="url(#p335fab982c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -248,11 +248,11 @@ z +" clip-path="url(#p335fab982c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -283,11 +283,11 @@ z +" clip-path="url(#p335fab982c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -328,11 +328,11 @@ z +" clip-path="url(#p335fab982c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -381,11 +381,11 @@ z +" clip-path="url(#p335fab982c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -421,11 +421,11 @@ z +" clip-path="url(#p335fab982c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -467,11 +467,11 @@ z +" clip-path="url(#p335fab982c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -518,11 +518,11 @@ z +" clip-path="url(#p335fab982c)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -796,12 +796,12 @@ z - - + @@ -977,7 +977,7 @@ z - + @@ -1191,7 +1191,7 @@ z - + @@ -1316,7 +1316,7 @@ z - + @@ -1334,7 +1334,7 @@ z - + @@ -1392,7 +1392,7 @@ z - + @@ -1465,7 +1465,7 @@ z - + @@ -1527,7 +1527,7 @@ z - + @@ -1580,7 +1580,7 @@ z - + @@ -1667,7 +1667,7 @@ z - + @@ -1731,7 +1731,7 @@ z - + @@ -1779,7 +1779,7 @@ z - + @@ -1808,7 +1808,7 @@ z - + @@ -1890,7 +1890,7 @@ z - + @@ -1935,7 +1935,7 @@ z - + @@ -1990,7 +1990,7 @@ z - + @@ -2033,7 +2033,7 @@ z - + @@ -2070,7 +2070,7 @@ z - + @@ -2114,7 +2114,7 @@ z - + @@ -2143,7 +2143,7 @@ z - + @@ -2740,7 +2740,7 @@ z - + diff --git a/src/assets/charts/committee_institutions_systems.svg b/src/assets/charts/committee_institutions_systems.svg index d2545ee2..a75428b2 100644 --- a/src/assets/charts/committee_institutions_systems.svg +++ b/src/assets/charts/committee_institutions_systems.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:04.381357 + 2026-07-05T14:19:00.136797 image/svg+xml @@ -43,7 +43,7 @@ L 318.10372 437.698125 L 318.10372 421.714287 L 226.865625 421.714287 z -" clip-path="url(#p0ef3e0b074)" style="fill: #6a00a8"/> +" clip-path="url(#pbe70450a88)" style="fill: #6a00a8"/> +" clip-path="url(#pbe70450a88)" style="fill: #7701a8"/> +" clip-path="url(#pbe70450a88)" style="fill: #8305a7"/> +" clip-path="url(#pbe70450a88)" style="fill: #8e0ca4"/> +" clip-path="url(#pbe70450a88)" style="fill: #99159f"/> +" clip-path="url(#pbe70450a88)" style="fill: #a31e9a"/> +" clip-path="url(#pbe70450a88)" style="fill: #ad2793"/> +" clip-path="url(#pbe70450a88)" style="fill: #b6308b"/> +" clip-path="url(#pbe70450a88)" style="fill: #bf3984"/> +" clip-path="url(#pbe70450a88)" style="fill: #c7427c"/> +" clip-path="url(#pbe70450a88)" style="fill: #cf4c74"/> +" clip-path="url(#pbe70450a88)" style="fill: #d6556d"/> +" clip-path="url(#pbe70450a88)" style="fill: #dd5e66"/> +" clip-path="url(#pbe70450a88)" style="fill: #e3685f"/> +" clip-path="url(#pbe70450a88)" style="fill: #e97158"/> +" clip-path="url(#pbe70450a88)" style="fill: #ee7b51"/> +" clip-path="url(#pbe70450a88)" style="fill: #f3854b"/> +" clip-path="url(#pbe70450a88)" style="fill: #f79044"/> +" clip-path="url(#pbe70450a88)" style="fill: #fa9b3d"/> +" clip-path="url(#pbe70450a88)" style="fill: #fca636"/> +" clip-path="url(#pbe70450a88)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -248,11 +248,11 @@ z +" clip-path="url(#pbe70450a88)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -293,11 +293,11 @@ z +" clip-path="url(#pbe70450a88)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -333,11 +333,11 @@ z +" clip-path="url(#pbe70450a88)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -384,11 +384,11 @@ z +" clip-path="url(#pbe70450a88)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -444,11 +444,11 @@ z +" clip-path="url(#pbe70450a88)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -480,11 +480,11 @@ z +" clip-path="url(#pbe70450a88)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -747,12 +747,12 @@ z - - + @@ -1115,7 +1115,7 @@ z - + @@ -1183,7 +1183,7 @@ z - + @@ -1222,7 +1222,7 @@ z - + @@ -1284,7 +1284,7 @@ z - + @@ -1328,7 +1328,7 @@ z - + @@ -1390,7 +1390,7 @@ z - + @@ -1423,7 +1423,7 @@ z - + @@ -1444,7 +1444,7 @@ z - + @@ -1507,7 +1507,7 @@ z - + @@ -1601,7 +1601,7 @@ z - + @@ -1656,7 +1656,7 @@ z - + @@ -1717,7 +1717,7 @@ z - + @@ -1769,7 +1769,7 @@ z - + @@ -1807,7 +1807,7 @@ z - + @@ -1859,7 +1859,7 @@ z - + @@ -1905,7 +1905,7 @@ z - + @@ -1957,7 +1957,7 @@ z - + @@ -2027,7 +2027,7 @@ z - + @@ -2090,7 +2090,7 @@ z - + @@ -2729,7 +2729,7 @@ z - + diff --git a/src/assets/charts/committee_sizes.svg b/src/assets/charts/committee_sizes.svg index 0a62490f..892f4b2f 100644 --- a/src/assets/charts/committee_sizes.svg +++ b/src/assets/charts/committee_sizes.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:04.746143 + 2026-07-05T14:19:00.500808 image/svg+xml @@ -42,16 +42,16 @@ z +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -139,11 +139,11 @@ z +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -201,11 +201,11 @@ z +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -254,11 +254,11 @@ z +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -275,11 +275,11 @@ L 260.792216 30.652 +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -296,11 +296,11 @@ L 320.06767 30.652 +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -317,11 +317,11 @@ L 379.343125 30.652 +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -372,11 +372,11 @@ z +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -414,11 +414,11 @@ z +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -462,11 +462,11 @@ z +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -515,11 +515,11 @@ z +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -636,16 +636,16 @@ z +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -659,11 +659,11 @@ L -3.5 0 +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -679,11 +679,11 @@ L 705.358125 252.20938 +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -699,11 +699,11 @@ L 705.358125 202.179487 +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -719,11 +719,11 @@ L 705.358125 152.149595 +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -739,11 +739,11 @@ L 705.358125 102.119702 +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -973,9 +973,9 @@ L 497.894034 124.383004 L 557.169489 43.584727 L 616.444943 61.09519 L 675.720398 301.738974 -" clip-path="url(#p98d784cb51)" style="fill: none; stroke: #333333; stroke-width: 2.5; stroke-linecap: square"/> +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #333333; stroke-width: 2.5; stroke-linecap: square"/> - - - - - - - - - - - - - + + + + + + + + + + + + @@ -1013,27 +1013,27 @@ L 497.894034 201.178889 L 557.169489 151.649296 L 616.444943 210.43442 L 675.720398 301.738974 -" clip-path="url(#p98d784cb51)" style="fill: none; stroke: #2e86ab; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #2e86ab; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - - + + + + + + + + + + + + @@ -1048,26 +1048,26 @@ L 497.894034 225.443387 L 557.169489 194.174704 L 616.444943 152.900043 L 675.720398 302.239273 -" clip-path="url(#p98d784cb51)" style="fill: none; stroke: #a23b72; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#pd33fbbdb80)" style="fill: none; stroke: #a23b72; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - - + + + + + + + + + + + + @@ -1444,7 +1444,7 @@ L 273.88375 15.298437 L 283.88375 15.298437 " style="fill: none; stroke: #333333; stroke-width: 2.5; stroke-linecap: square"/> - + @@ -1483,7 +1483,7 @@ L 345.236875 15.298437 L 355.236875 15.298437 " style="fill: none; stroke: #2e86ab; stroke-width: 2; stroke-linecap: square"/> - + @@ -1554,7 +1554,7 @@ L 435.736875 15.298437 L 445.736875 15.298437 " style="fill: none; stroke: #a23b72; stroke-width: 2; stroke-linecap: square"/> - + @@ -1619,7 +1619,7 @@ z - + diff --git a/src/assets/charts/coverage_table.svg b/src/assets/charts/coverage_table.svg index eb96bfea..ff597216 100644 --- a/src/assets/charts/coverage_table.svg +++ b/src/assets/charts/coverage_table.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:35.086617 + 2026-07-05T14:19:30.163560 image/svg+xml @@ -35,7 +35,7 @@ L 263.232 111.428281 L 263.232 68.493281 L 190.08 68.493281 z -" clip-path="url(#p340d9d1459)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #c6efce; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> +" clip-path="url(#p0f8bb16978)" style="fill: #f2f2f2; stroke: #cccccc; stroke-width: 0.5; stroke-linejoin: miter"/> @@ -3701,7 +3701,7 @@ z - + diff --git a/src/assets/charts/security_artifacts.svg b/src/assets/charts/security_artifacts.svg index c70e8207..f84f5491 100644 --- a/src/assets/charts/security_artifacts.svg +++ b/src/assets/charts/security_artifacts.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:34.520672 + 2026-07-05T14:19:29.615103 image/svg+xml @@ -42,16 +42,16 @@ z +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -139,11 +139,11 @@ z +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -201,11 +201,11 @@ z +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -254,11 +254,11 @@ z +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -275,11 +275,11 @@ L 277.315644 43.613184 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -296,11 +296,11 @@ L 343.522715 43.613184 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -317,11 +317,11 @@ L 409.729785 43.613184 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -372,11 +372,11 @@ z +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -414,11 +414,11 @@ z +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -462,11 +462,11 @@ z +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -615,16 +615,16 @@ z +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -638,11 +638,11 @@ L -3.5 0 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -657,11 +657,11 @@ L 704.35125 329.725417 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -677,11 +677,11 @@ L 704.35125 290.391868 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -697,11 +697,11 @@ L 704.35125 251.05832 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -717,11 +717,11 @@ L 704.35125 211.724771 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -737,11 +737,11 @@ L 704.35125 172.391222 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -757,11 +757,11 @@ L 704.35125 133.057674 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -777,11 +777,11 @@ L 704.35125 93.724125 +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -1035,9 +1035,9 @@ L 475.936856 339.165469 L 542.143927 327.365404 L 608.350997 325.792062 L 674.558068 369.058966 -" clip-path="url(#p6199121df0)" style="fill: none; stroke: #bfef45; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #bfef45; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1073,26 +1073,26 @@ L 475.936856 354.898888 L 542.143927 345.458837 L 608.350997 328.152075 L 674.558068 369.058966 -" clip-path="url(#p6199121df0)" style="fill: none; stroke: #469990; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #469990; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1106,25 +1106,25 @@ L 475.936856 369.058966 L 542.143927 339.165469 L 608.350997 319.498694 L 674.558068 279.378475 -" clip-path="url(#p6199121df0)" style="fill: none; stroke: #e6beff; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #e6beff; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1138,26 +1138,26 @@ L 475.936856 327.365404 L 542.143927 315.56534 L 608.350997 291.178539 L 674.558068 315.56534 -" clip-path="url(#p6199121df0)" style="fill: none; stroke: #9a6324; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #9a6324; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1171,25 +1171,25 @@ L 475.936856 369.058966 L 542.143927 369.058966 L 608.350997 369.058966 L 674.558068 325.005391 -" clip-path="url(#p6199121df0)" style="fill: none; stroke: #7fff00; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #7fff00; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1203,9 +1203,9 @@ L 475.936856 369.058966 L 542.143927 363.552269 L 608.350997 365.125611 L 674.558068 362.765598 -" clip-path="url(#p6199121df0)" style="fill: none; stroke-dasharray: 7.4,3.2; stroke-dashoffset: 0; stroke: #8b008b; stroke-width: 2"/> +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke-dasharray: 7.4,3.2; stroke-dashoffset: 0; stroke: #8b008b; stroke-width: 2"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1244,9 +1244,9 @@ L 475.936856 258.92503 L 542.143927 257.351688 L 608.350997 59.110602 L 674.558068 251.844991 -" clip-path="url(#p6199121df0)" style="fill: none; stroke: #ff4500; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke: #ff4500; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1285,9 +1285,9 @@ L 475.936856 361.978927 L 542.143927 361.192256 L 608.350997 355.685559 L 674.558068 369.058966 -" clip-path="url(#p6199121df0)" style="fill: none; stroke-dasharray: 7.4,3.2; stroke-dashoffset: 0; stroke: #aaffc3; stroke-width: 2"/> +" clip-path="url(#p21c9ce5277)" style="fill: none; stroke-dasharray: 7.4,3.2; stroke-dashoffset: 0; stroke: #aaffc3; stroke-width: 2"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1752,7 +1752,7 @@ L 228.316094 14.488594 L 237.316094 14.488594 " style="fill: none; stroke: #bfef45; stroke-width: 2; stroke-linecap: square"/> - + @@ -1825,7 +1825,7 @@ L 228.316094 27.698906 L 237.316094 27.698906 " style="fill: none; stroke: #469990; stroke-width: 2; stroke-linecap: square"/> - + @@ -1860,7 +1860,7 @@ L 301.965625 14.488594 L 310.965625 14.488594 " style="fill: none; stroke: #e6beff; stroke-width: 2; stroke-linecap: square"/> - + @@ -1912,7 +1912,7 @@ L 301.965625 27.698906 L 310.965625 27.698906 " style="fill: none; stroke: #9a6324; stroke-width: 2; stroke-linecap: square"/> - + @@ -1964,7 +1964,7 @@ L 370.255938 14.488594 L 379.255938 14.488594 " style="fill: none; stroke: #7fff00; stroke-width: 2; stroke-linecap: square"/> - + @@ -1980,7 +1980,7 @@ L 370.255938 27.698906 L 379.255938 27.698906 " style="fill: none; stroke-dasharray: 7.4,3.2; stroke-dashoffset: 0; stroke: #8b008b; stroke-width: 2"/> - + @@ -2063,7 +2063,7 @@ L 466.510938 14.488594 L 475.510938 14.488594 " style="fill: none; stroke: #ff4500; stroke-width: 2; stroke-linecap: square"/> - + @@ -2112,7 +2112,7 @@ L 466.510938 27.698906 L 475.510938 27.698906 " style="fill: none; stroke-dasharray: 7.4,3.2; stroke-dashoffset: 0; stroke: #aaffc3; stroke-width: 2"/> - + @@ -2155,7 +2155,7 @@ z - + diff --git a/src/assets/charts/systems_artifacts.svg b/src/assets/charts/systems_artifacts.svg index 85fb743c..83d1c790 100644 --- a/src/assets/charts/systems_artifacts.svg +++ b/src/assets/charts/systems_artifacts.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:34.364213 + 2026-07-05T14:19:29.460867 image/svg+xml @@ -42,16 +42,16 @@ z +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -159,11 +159,11 @@ z +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -180,11 +180,11 @@ L 158.559854 43.613184 +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -201,11 +201,11 @@ L 244.501412 43.613184 +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -222,11 +222,11 @@ L 330.442971 43.613184 +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -277,11 +277,11 @@ z +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -319,11 +319,11 @@ z +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -367,11 +367,11 @@ z +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -520,16 +520,16 @@ z +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -543,11 +543,11 @@ L -3.5 0 +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -562,11 +562,11 @@ L 704.28875 322.798016 +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -581,11 +581,11 @@ L 704.28875 276.537066 +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -600,11 +600,11 @@ L 704.28875 230.276116 +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -619,11 +619,11 @@ L 704.28875 184.015167 +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -638,11 +638,11 @@ L 704.28875 137.754217 +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -657,11 +657,11 @@ L 704.28875 91.493267 +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -924,9 +924,9 @@ L 416.384529 179.389072 L 502.326088 142.380312 L 588.267646 156.258597 L 674.209205 369.058966 -" clip-path="url(#p8575253bbe)" style="fill: none; stroke: #e6194b; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #e6194b; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - + + + + + + + + + @@ -958,24 +958,24 @@ L 416.384529 369.058966 L 502.326088 369.058966 L 588.267646 369.058966 L 674.209205 271.910971 -" clip-path="url(#p8575253bbe)" style="fill: none; stroke: #dc143c; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #dc143c; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - + + + + + + + + + @@ -987,23 +987,23 @@ L 416.384529 221.023926 L 502.326088 221.023926 L 588.267646 160.884692 L 674.209205 119.249837 -" clip-path="url(#p8575253bbe)" style="fill: none; stroke: #00ced1; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #00ced1; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - + + + + + + + + + @@ -1015,24 +1015,24 @@ L 416.384529 369.058966 L 502.326088 290.415351 L 588.267646 285.789256 L 674.209205 369.058966 -" clip-path="url(#p8575253bbe)" style="fill: none; stroke: #4363d8; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #4363d8; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - + + + + + + + + + @@ -1044,23 +1044,23 @@ L 416.384529 221.023926 L 502.326088 211.771737 L 588.267646 193.267357 L 674.209205 369.058966 -" clip-path="url(#p8575253bbe)" style="fill: none; stroke: #f58231; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #f58231; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - + + + + + + + + + @@ -1072,9 +1072,9 @@ L 416.384529 369.058966 L 502.326088 369.058966 L 588.267646 369.058966 L 674.209205 369.058966 -" clip-path="url(#p8575253bbe)" style="fill: none; stroke: #911eb4; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #911eb4; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - + + + + + + + + + @@ -1109,9 +1109,9 @@ L 416.384529 211.771737 L 502.326088 253.406591 L 588.267646 160.884692 L 674.209205 369.058966 -" clip-path="url(#p8575253bbe)" style="fill: none; stroke: #42d4f4; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#p067d5b8abf)" style="fill: none; stroke: #42d4f4; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - + + + + + + + + + @@ -1584,7 +1584,7 @@ L 250.179844 14.488594 L 259.179844 14.488594 " style="fill: none; stroke: #e6194b; stroke-width: 2; stroke-linecap: square"/> - + @@ -1635,7 +1635,7 @@ L 250.179844 27.698906 L 259.179844 27.698906 " style="fill: none; stroke: #dc143c; stroke-width: 2; stroke-linecap: square"/> - + @@ -1693,7 +1693,7 @@ L 314.189531 14.488594 L 323.189531 14.488594 " style="fill: none; stroke: #00ced1; stroke-width: 2; stroke-linecap: square"/> - + @@ -1782,7 +1782,7 @@ L 314.189531 27.698906 L 323.189531 27.698906 " style="fill: none; stroke: #4363d8; stroke-width: 2; stroke-linecap: square"/> - + @@ -1815,7 +1815,7 @@ L 399.925781 14.488594 L 408.925781 14.488594 " style="fill: none; stroke: #f58231; stroke-width: 2; stroke-linecap: square"/> - + @@ -1854,7 +1854,7 @@ L 399.925781 27.698906 L 408.925781 27.698906 " style="fill: none; stroke: #911eb4; stroke-width: 2; stroke-linecap: square"/> - + @@ -1870,7 +1870,7 @@ L 465.509062 14.488594 L 474.509062 14.488594 " style="fill: none; stroke: #42d4f4; stroke-width: 2; stroke-linecap: square"/> - + @@ -1909,7 +1909,7 @@ z - + diff --git a/src/assets/charts/total_artifacts.svg b/src/assets/charts/total_artifacts.svg index b75f9798..79bd978d 100644 --- a/src/assets/charts/total_artifacts.svg +++ b/src/assets/charts/total_artifacts.svg @@ -6,7 +6,7 @@ - 2026-07-08T09:25:34.658396 + 2026-07-05T14:19:29.751525 image/svg+xml @@ -42,16 +42,16 @@ z +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -139,11 +139,11 @@ z +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -201,11 +201,11 @@ z +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -254,11 +254,11 @@ z +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -275,11 +275,11 @@ L 277.315644 43.173184 +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -296,11 +296,11 @@ L 343.522715 43.173184 +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -317,11 +317,11 @@ L 409.729785 43.173184 +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -372,11 +372,11 @@ z +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -414,11 +414,11 @@ z +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -462,11 +462,11 @@ z +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -615,16 +615,16 @@ z +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - - + @@ -638,11 +638,11 @@ L -3.5 0 +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -658,11 +658,11 @@ L 704.35125 298.308802 +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -678,11 +678,11 @@ L 704.35125 227.521366 +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -698,11 +698,11 @@ L 704.35125 156.733929 +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square"/> - + @@ -988,9 +988,9 @@ L 475.936856 228.583177 L 542.143927 190.357961 L 608.350997 58.693329 L 674.558068 202.745763 -" clip-path="url(#p7e2c9c7aa4)" style="fill: none; stroke: #333333; stroke-width: 2.5; stroke-linecap: square"/> +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #333333; stroke-width: 2.5; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1026,26 +1026,26 @@ L 475.936856 319.89897 L 542.143927 313.528101 L 608.350997 301.140299 L 674.558068 342.55095 -" clip-path="url(#p7e2c9c7aa4)" style="fill: none; stroke: #2e86ab; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #2e86ab; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1059,25 +1059,25 @@ L 475.936856 277.780445 L 542.143927 245.926099 L 608.350997 126.649269 L 674.558068 229.291051 -" clip-path="url(#p7e2c9c7aa4)" style="fill: none; stroke: #a23b72; stroke-width: 2; stroke-linecap: square"/> +" clip-path="url(#pe5ea333c84)" style="fill: none; stroke: #a23b72; stroke-width: 2; stroke-linecap: square"/> - - - - - - - - - - - - + + + + + + + + + + + @@ -1524,7 +1524,7 @@ L 271.166875 15.298437 L 281.166875 15.298437 " style="fill: none; stroke: #333333; stroke-width: 2.5; stroke-linecap: square"/> - + @@ -1563,7 +1563,7 @@ L 342.52 15.298437 L 352.52 15.298437 " style="fill: none; stroke: #2e86ab; stroke-width: 2; stroke-linecap: square"/> - + @@ -1634,7 +1634,7 @@ L 433.02 15.298437 L 443.02 15.298437 " style="fill: none; stroke: #a23b72; stroke-width: 2; stroke-linecap: square"/> - + @@ -1654,7 +1654,7 @@ L 443.02 15.298437 - + diff --git a/src/authors.md b/src/authors.md index aace2b5f..d0630818 100644 --- a/src/authors.md +++ b/src/authors.md @@ -14,8 +14,8 @@ Authors ranked by number of evaluated artifacts, split by research area. Click a | **Total Authors** | {{ site.data.author_summary.total_authors }} | {% endif %} -- [Systems Authors]({{ '/systems_authors.html' | relative_url }}) — Authors at systems conferences -- [Security Authors]({{ '/security_authors.html' | relative_url }}) — Authors at security conferences +- [Systems Authors]({{ '/combined_rankings.html' | relative_url }}?area=systems&contrib=artifacts) — Authors at systems conferences +- [Security Authors]({{ '/combined_rankings.html' | relative_url }}?area=security&contrib=artifacts) — Authors at security conferences --- diff --git a/src/index.md b/src/index.md index 63b3b0fc..62ec5757 100644 --- a/src/index.md +++ b/src/index.md @@ -8,7 +8,7 @@ skip_chartjs: true

- Research artifacts and artifact evaluation drive reproducibility and scientific impact. ReproDB aggregates and surfaces artifact evaluation outcomes across major security and systems conferences, and also includes automatically discovered artifact links from ArtiFinder. The site recognizes the contributions of both artifact authors and artifact evaluation service. + Research artifacts and artifact evaluation drive reproducibility and scientific impact. ReproDB aggregates and surfaces artifact evaluation outcomes across major security and systems conferences, and also includes automatically discovered artifact links from ArtiFinder. The site recognizes the contributions of both artifact authors and artifact evaluation service.

diff --git a/src/methodology/author-metrics.md b/src/methodology/author-metrics.md index 26aca6d4..095d004c 100644 --- a/src/methodology/author-metrics.md +++ b/src/methodology/author-metrics.md @@ -4,10 +4,12 @@ permalink: /methodology/author-metrics.html skip_chartjs: true --- -## Author Metrics - Individual author statistics are computed by matching artifact papers to DBLP records. Each metric is calculated as follows: +## Badge Definitions + +We rely on each conference's official badge definitions. We treat the same badge name as comparable across venues (e.g., Available in one venue is assumed to mean the same or similar level of availability in another). We make the same assumption for Functional. For the highest tier, Reproduced (security) and Reusable (systems) are treated as equivalent. + ### Artifacts The total number of evaluated artifacts (papers with at least one badge) authored by this person across all tracked conferences. diff --git a/src/methodology/data-collection.md b/src/methodology/data-collection.md index 96d4fc21..0ffbdcd6 100644 --- a/src/methodology/data-collection.md +++ b/src/methodology/data-collection.md @@ -4,8 +4,6 @@ permalink: /methodology/data-collection.html skip_chartjs: true --- -## Data Collection - We scrape artifact evaluation results from sysartifacts/secartifacts websites, extract paper titles, authors, badges (Available, Functional, Reproducible, Reusable) and repository URLs. For USENIX conferences (ATC, FAST) we also scrape badge data from technical session pages. AE committee data is gathered from sysartifacts/secartifacts plus direct scraping (USENIX, CHES, PETS websites). In addition to AE results, we ingest **automatically-discovered** artifact links from [ArtiFinder](https://github.com/DistriNet/ArtiFinder) (via the [ArtiFinder-Data](https://github.com/DistriNet/ArtiFinder-Data) dataset) and match them to papers by normalized title and author list. These links are **unverified**, carry no badges, and are **excluded from every score**; see [ArtiFinder-Discovered Artifacts](#artifinder-discovered-artifacts) below. diff --git a/src/methodology/institution-metrics.md b/src/methodology/institution-metrics.md index 2544220a..36a96bcd 100644 --- a/src/methodology/institution-metrics.md +++ b/src/methodology/institution-metrics.md @@ -4,8 +4,6 @@ permalink: /methodology/institution-metrics.html skip_chartjs: true --- -## Institution Metrics - Institution-level statistics aggregate contributions from all authors affiliated with that institution. Affiliations are determined from DBLP person pages and CSRankings faculty data. ### How Institution Data is Aggregated diff --git a/src/methodology/pipeline.md b/src/methodology/pipeline.md index bcf75143..39277dcd 100644 --- a/src/methodology/pipeline.md +++ b/src/methodology/pipeline.md @@ -4,22 +4,26 @@ permalink: /methodology/pipeline.html skip_chartjs: true --- -## Pipeline - -The pipeline is orchestrated by a [stage dependency graph](https://github.com/ReproDB/reprodb-pipeline/blob/main/src/stages.py) and runs monthly (1st of each month) via [GitHub Actions](https://github.com/ReproDB/reprodb-pipeline/actions): +The pipeline is orchestrated by a [stage dependency graph](https://github.com/ReproDB/reprodb-pipeline/blob/main/src/stages.py) and runs monthly (on the 1st of each month) via [GitHub Actions](https://github.com/ReproDB/reprodb-pipeline/actions). The graph currently includes 17 stages, with several optional stages that only run when their inputs or caches are available: 1. **Extract DBLP data** — download and parse the DBLP XML database (~3 GB compressed) for author-paper mappings and affiliations -2. **Scrape artifact results** from sysartifacts/secartifacts websites and USENIX technical session pages -3. **Collect repository statistics** (GitHub stars/forks, Zenodo/Figshare downloads) and check artifact URL availability -4. **Compute author statistics** — match papers to DBLP authors, filter by AE-active years, compute per-author metrics -5. **Generate area-specific author data** — separate systems, security, and combined stats -6. **Aggregate committee statistics** — compile AE membership and chair roles from scraped data -7. **Compute combined rankings** — apply weighted scoring formula, enforce minimum threshold, assign ranks with dense tie-breaking -8. **Aggregate institution rankings** — sum across affiliated authors, classify institution roles -9. **Build author profiles and search index** — generate per-author detail records -10. **Record ranking history** — snapshot current rankings for trend tracking -11. **Export data** (JSON/YAML) to this website +2. **Generate statistics** — scrape artifact evaluation results from sysartifacts/secartifacts websites and USENIX technical session pages +3. **Collect repository statistics** — gather GitHub stars/forks and archive download counts for artifact repositories +4. **Check artifact URL availability** — run monthly liveness checks over artifact URLs +5. **Generate AE participation statistics** — compare AE participation with DBLP publication counts +6. **Compute author statistics** — match papers to DBLP authors, filter by AE-active years, and compute per-author metrics +7. **Integrate ArtiFinder-discovered links** — ingest automatically discovered artifact links from the [ArtiFinder-Data](https://github.com/DistriNet/ArtiFinder-Data) dataset +8. **Generate area-specific author data** — separate systems, security, and combined stats +9. **Aggregate committee statistics** — compile AE membership and chair roles from scraped data +10. **Compute combined rankings** — apply weighted scoring formula, enforce minimum threshold, assign ranks with dense tie-breaking; ArtiFinder-discovered links are reported separately and do not affect scores +11. **Aggregate institution rankings** — sum across affiliated authors and classify institution roles +12. **Build author profiles** — generate per-author detail records +13. **Build search index** — generate the searchable data set and mark automatically discovered ArtiFinder links in search/profile views +14. **Record ranking history** — snapshot current rankings for trend tracking +15. **Generate visualizations** — build SVG charts for the methodology pages and summaries +16. **Collect paper citations via DOI** — fetch citation counts from OpenAlex/Semantic Scholar +17. **Collect baseline citations** — fetch citation counts for non-AE papers for comparison -Independent stages run in parallel where the dependency graph allows. All output data structures are formally defined in the [Data Schemas](https://reprodb.github.io/data-schemas/) documentation. +Independent stages run in parallel where the dependency graph allows. ArtiFinder links are unverified and excluded from all AE-based rankings; they are surfaced separately in search and the dedicated ArtiFinder page. Optional stages may be skipped when their prerequisites are unavailable or their caches are still valid. All output data structures are formally defined in the [Data Schemas](https://reprodb.github.io/data-schemas/) documentation. The complete pipeline takes ~30 minutes and processes {{ site.data.summary.total_artifacts }}+ artifact papers. diff --git a/src/methodology/repository-statistics.md b/src/methodology/repository-statistics.md index a1b381e2..3851d3cb 100644 --- a/src/methodology/repository-statistics.md +++ b/src/methodology/repository-statistics.md @@ -4,8 +4,6 @@ permalink: /methodology/repository-statistics.html skip_chartjs: true --- -## Repository Statistics - For artifacts with GitHub/GitLab repositories or Zenodo/Figshare archives, we collect engagement metrics as supplementary signals of community uptake: ### GitHub/GitLab Metrics diff --git a/src/methodology/search-keywords.md b/src/methodology/search-keywords.md index 8cfafbf3..019f2b3c 100644 --- a/src/methodology/search-keywords.md +++ b/src/methodology/search-keywords.md @@ -4,8 +4,6 @@ permalink: /methodology/search-keywords.html skip_chartjs: true --- -## Search Keywords - The [search bar]({{ '/' | relative_url }}) supports special `#` keywords that filter results by specific criteria. Keywords can be combined with each other and with free text. | Keyword | Description | diff --git a/src/profile.md b/src/profile.md index e60477dc..1ef3f4d1 100644 --- a/src/profile.md +++ b/src/profile.md @@ -1,7 +1,7 @@ --- title: "Profile" permalink: /profile.html -layout: default +layout: single --- {% include profile_common.html %}