prototyyppi 2026.7.26__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.
Files changed (932) hide show
  1. prototyyppi-2026.7.26/PKG-INFO +413 -0
  2. prototyyppi-2026.7.26/README.md +388 -0
  3. prototyyppi-2026.7.26/prototyyppi/__init__.py +180 -0
  4. prototyyppi-2026.7.26/prototyyppi/__main__.py +5 -0
  5. prototyyppi-2026.7.26/prototyyppi/_cli.py +532 -0
  6. prototyyppi-2026.7.26/prototyyppi/_env.py +298 -0
  7. prototyyppi-2026.7.26/prototyyppi/_result.py +295 -0
  8. prototyyppi-2026.7.26/prototyyppi/_url_cache.py +247 -0
  9. prototyyppi-2026.7.26/prototyyppi/csaf/__init__.py +1 -0
  10. prototyyppi-2026.7.26/prototyyppi/csaf/v21/__init__.py +125 -0
  11. prototyyppi-2026.7.26/prototyyppi/csaf/v21/_convert.py +269 -0
  12. prototyyppi-2026.7.26/prototyyppi/csaf/v21/_validator.py +224 -0
  13. prototyyppi-2026.7.26/prototyyppi/csaf/v21/build.py +1241 -0
  14. prototyyppi-2026.7.26/prototyyppi/csaf/v21/cwe/catalog.json +5891 -0
  15. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-01-01.json +58 -0
  16. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-01-02.json +96 -0
  17. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-01-03.json +118 -0
  18. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-01-04.json +121 -0
  19. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-01-11.json +64 -0
  20. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-01-12.json +108 -0
  21. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-01-13.json +136 -0
  22. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-01-14.json +121 -0
  23. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-02-01.json +59 -0
  24. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-02-02.json +93 -0
  25. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-02-11.json +59 -0
  26. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-02-12.json +93 -0
  27. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-03-01.json +37 -0
  28. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-03-02.json +44 -0
  29. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-03-11.json +38 -0
  30. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-03-12.json +46 -0
  31. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-04-01.json +38 -0
  32. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-04-02.json +53 -0
  33. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-04-11.json +45 -0
  34. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-04-12.json +67 -0
  35. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-05-01.json +53 -0
  36. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-06-01.json +38 -0
  37. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-06-02.json +40 -0
  38. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-06-11.json +38 -0
  39. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-07-01.json +39 -0
  40. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-07-11.json +39 -0
  41. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-08-01.json +39 -0
  42. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-08-02.json +68 -0
  43. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-08-11.json +39 -0
  44. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-08-12.json +68 -0
  45. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-01.json +56 -0
  46. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-02.json +64 -0
  47. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-03.json +64 -0
  48. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-04.json +64 -0
  49. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-05.json +106 -0
  50. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-06.json +76 -0
  51. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-11.json +56 -0
  52. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-12.json +70 -0
  53. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-13.json +76 -0
  54. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-14.json +70 -0
  55. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-09-15.json +118 -0
  56. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-10-01.json +56 -0
  57. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-10-11.json +72 -0
  58. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-11-01.json +56 -0
  59. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-11-11.json +56 -0
  60. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-01.json +59 -0
  61. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-02.json +59 -0
  62. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-03.json +58 -0
  63. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-04.json +114 -0
  64. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-05.json +124 -0
  65. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-11.json +65 -0
  66. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-12.json +65 -0
  67. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-13.json +64 -0
  68. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-14.json +126 -0
  69. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-15.json +59 -0
  70. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-12-16.json +146 -0
  71. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-13-01.json +71 -0
  72. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-13-11.json +72 -0
  73. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-14-01.json +71 -0
  74. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-14-11.json +71 -0
  75. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-15-01.json +71 -0
  76. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-15-02.json +71 -0
  77. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-15-11.json +71 -0
  78. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-16-01.json +39 -0
  79. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-16-11.json +39 -0
  80. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-17-01.json +41 -0
  81. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-17-11.json +34 -0
  82. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-18-01.json +55 -0
  83. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-18-11.json +72 -0
  84. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-01-01.json +76 -0
  85. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-01-11.json +76 -0
  86. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-02-01.json +76 -0
  87. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-02-11.json +76 -0
  88. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-03-01.json +76 -0
  89. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-03-02.json +76 -0
  90. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-03-11.json +76 -0
  91. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-03-12.json +76 -0
  92. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-04-01.json +92 -0
  93. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-04-02.json +92 -0
  94. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-04-11.json +92 -0
  95. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-04-12.json +92 -0
  96. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-05-01.json +92 -0
  97. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-05-02.json +92 -0
  98. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-05-11.json +92 -0
  99. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-19-05-12.json +92 -0
  100. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-20-01.json +42 -0
  101. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-20-11.json +42 -0
  102. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-01-01.json +42 -0
  103. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-01-02.json +77 -0
  104. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-01-11.json +42 -0
  105. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-01-12.json +92 -0
  106. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-02-01.json +42 -0
  107. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-02-11.json +32 -0
  108. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-03-01.json +42 -0
  109. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-03-11.json +42 -0
  110. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-04-01.json +66 -0
  111. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-04-11.json +42 -0
  112. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-05-01.json +50 -0
  113. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-05-11.json +42 -0
  114. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-06-01.json +69 -0
  115. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-06-11.json +42 -0
  116. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-07-01.json +42 -0
  117. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-07-11.json +42 -0
  118. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-08-01.json +53 -0
  119. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-08-11.json +42 -0
  120. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-09-01.json +42 -0
  121. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-21-09-11.json +42 -0
  122. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-22-01.json +76 -0
  123. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/informative/oasis_csaf_tc-csaf_2_1-2024-6-3-22-11.json +67 -0
  124. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-01-01.json +43 -0
  125. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-01-02.json +247 -0
  126. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-01-03.json +141 -0
  127. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-01-03.result.json +31 -0
  128. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-01-11.json +53 -0
  129. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-01-12.json +279 -0
  130. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-01-13.json +141 -0
  131. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-01-13.result.json +9 -0
  132. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-02-01.json +44 -0
  133. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-03-01.json +55 -0
  134. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-03-02.json +68 -0
  135. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-03-11.json +59 -0
  136. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-03-12.json +97 -0
  137. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-03-13.json +93 -0
  138. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-04-01.json +53 -0
  139. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-04-02.json +212 -0
  140. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-04-03.json +171 -0
  141. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-04-03.result.json +23 -0
  142. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-04-11.json +66 -0
  143. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-04-12.json +229 -0
  144. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-04-13.json +171 -0
  145. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-04-13.result.json +9 -0
  146. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-05-01.json +64 -0
  147. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-01.json +52 -0
  148. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-02.json +52 -0
  149. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-03.json +52 -0
  150. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-04.json +62 -0
  151. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-05.json +73 -0
  152. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-06.json +52 -0
  153. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-11.json +52 -0
  154. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-12.json +52 -0
  155. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-13.json +52 -0
  156. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-14.json +62 -0
  157. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-15.json +73 -0
  158. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-06-16.json +114 -0
  159. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-01.json +72 -0
  160. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-02.json +72 -0
  161. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-03.json +70 -0
  162. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-04.json +72 -0
  163. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-05.json +190 -0
  164. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-06.json +190 -0
  165. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-11.json +76 -0
  166. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-12.json +64 -0
  167. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-13.json +76 -0
  168. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-14.json +74 -0
  169. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-15.json +76 -0
  170. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-16.json +70 -0
  171. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-17.json +70 -0
  172. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-07-18.json +172 -0
  173. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-01.json +58 -0
  174. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-02.json +58 -0
  175. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-03.json +57 -0
  176. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-04.json +58 -0
  177. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-05.json +61 -0
  178. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-06.json +63 -0
  179. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-11.json +59 -0
  180. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-12.json +59 -0
  181. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-13.json +58 -0
  182. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-14.json +59 -0
  183. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-15.json +50 -0
  184. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-16.json +59 -0
  185. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-08-17.json +59 -0
  186. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-01.json +59 -0
  187. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-02.json +59 -0
  188. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-03.json +58 -0
  189. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-04.json +59 -0
  190. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-05.json +59 -0
  191. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-11.json +59 -0
  192. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-12.json +59 -0
  193. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-13.json +58 -0
  194. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-14.json +59 -0
  195. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-15.json +59 -0
  196. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-09-16.json +59 -0
  197. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-10-01.json +67 -0
  198. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-10-02.json +67 -0
  199. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-10-03.json +65 -0
  200. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-10-04.json +70 -0
  201. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-10-11.json +67 -0
  202. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-10-12.json +67 -0
  203. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-10-13.json +65 -0
  204. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-10-14.json +70 -0
  205. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-01.json +43 -0
  206. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-02.json +43 -0
  207. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-03.json +43 -0
  208. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-04.json +43 -0
  209. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-05.json +43 -0
  210. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-06.json +67 -0
  211. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-11.json +43 -0
  212. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-12.json +43 -0
  213. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-13.json +43 -0
  214. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-14.json +43 -0
  215. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-15.json +43 -0
  216. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-16.json +43 -0
  217. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-17.json +43 -0
  218. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-11-18.json +62 -0
  219. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-12-01.json +33 -0
  220. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-13-01.json +45 -0
  221. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-13-02.json +45 -0
  222. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-13-11.json +45 -0
  223. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-13-12.json +45 -0
  224. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-01.json +37 -0
  225. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-02.json +37 -0
  226. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-03.json +37 -0
  227. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-04.json +37 -0
  228. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-05.json +37 -0
  229. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-06.json +77 -0
  230. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-07.json +82 -0
  231. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-08.json +37 -0
  232. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-09.json +37 -0
  233. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-11.json +37 -0
  234. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-12.json +37 -0
  235. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-13.json +37 -0
  236. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-14.json +37 -0
  237. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-15.json +37 -0
  238. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-16.json +37 -0
  239. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-17.json +77 -0
  240. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-18.json +82 -0
  241. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-19.json +37 -0
  242. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-14-31.json +37 -0
  243. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-15-01.json +32 -0
  244. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-15-02.json +33 -0
  245. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-15-11.json +33 -0
  246. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-15-12.json +34 -0
  247. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-01.json +37 -0
  248. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-02.json +37 -0
  249. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-03.json +37 -0
  250. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-04.json +37 -0
  251. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-05.json +37 -0
  252. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-06.json +77 -0
  253. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-07.json +82 -0
  254. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-08.json +37 -0
  255. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-09.json +37 -0
  256. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-11.json +37 -0
  257. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-12.json +37 -0
  258. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-13.json +37 -0
  259. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-14.json +37 -0
  260. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-15.json +37 -0
  261. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-16.json +37 -0
  262. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-17.json +37 -0
  263. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-18.json +77 -0
  264. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-19.json +82 -0
  265. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-31.json +37 -0
  266. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-16-32.json +37 -0
  267. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-17-01.json +32 -0
  268. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-18-01.json +37 -0
  269. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-19-01.json +37 -0
  270. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-19-02.json +37 -0
  271. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-20-01.json +32 -0
  272. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-21-01.json +37 -0
  273. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-21-02.json +37 -0
  274. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-21-03.json +42 -0
  275. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-21-11.json +37 -0
  276. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-21-12.json +37 -0
  277. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-21-13.json +37 -0
  278. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-21-14.json +47 -0
  279. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-22-01.json +37 -0
  280. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-23-01.json +40 -0
  281. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-24-01.json +49 -0
  282. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-24-02.json +49 -0
  283. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-24-11.json +53 -0
  284. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-24-12.json +53 -0
  285. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-25-01.json +57 -0
  286. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-25-11.json +57 -0
  287. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-25-12.json +70 -0
  288. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-01.json +32 -0
  289. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-02.json +32 -0
  290. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-03.json +44 -0
  291. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-04.json +51 -0
  292. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-05.json +32 -0
  293. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-06.json +32 -0
  294. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-07.json +32 -0
  295. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-08.json +32 -0
  296. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-11.json +32 -0
  297. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-12.json +32 -0
  298. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-13.json +44 -0
  299. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-26-14.json +51 -0
  300. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-01-01.json +39 -0
  301. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-02-01.json +39 -0
  302. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-03-01.json +51 -0
  303. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-03-02.json +49 -0
  304. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-03-03.json +56 -0
  305. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-03-11.json +46 -0
  306. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-03-12.json +44 -0
  307. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-03-13.json +51 -0
  308. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-04-01.json +43 -0
  309. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-04-02.json +44 -0
  310. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-04-03.json +43 -0
  311. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-05-01.json +50 -0
  312. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-05-02.json +51 -0
  313. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-05-03.json +50 -0
  314. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-06-01.json +45 -0
  315. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-06-02.json +61 -0
  316. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-06-03.json +61 -0
  317. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-07-01.json +56 -0
  318. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-08-01.json +37 -0
  319. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-08-02.json +202 -0
  320. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-08-02.result.json +23 -0
  321. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-08-11.json +88 -0
  322. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-08-11.result.json +9 -0
  323. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-08-12.json +204 -0
  324. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-08-12.result.json +9 -0
  325. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-01.json +85 -0
  326. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-02.json +84 -0
  327. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-03.json +77 -0
  328. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-04.json +76 -0
  329. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-05.json +84 -0
  330. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-06.json +154 -0
  331. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-11.json +88 -0
  332. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-12.json +87 -0
  333. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-13.json +78 -0
  334. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-14.json +77 -0
  335. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-15.json +85 -0
  336. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-09-16.json +155 -0
  337. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-10-01.json +79 -0
  338. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-11-01.json +40 -0
  339. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-11-02.json +40 -0
  340. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-11-03.json +40 -0
  341. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-12-01.json +72 -0
  342. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-12-11.json +83 -0
  343. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-13-01.json +72 -0
  344. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-13-02.json +112 -0
  345. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-13-03.json +92 -0
  346. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-13-04.json +142 -0
  347. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-13-11.json +92 -0
  348. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-13-12.json +118 -0
  349. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-13-13.json +118 -0
  350. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-13-14.json +171 -0
  351. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-13-15.json +113 -0
  352. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-13-16.json +101 -0
  353. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-14-01.json +44 -0
  354. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-14-02.json +51 -0
  355. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-14-11.json +49 -0
  356. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-14-12.json +56 -0
  357. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-15-01.json +52 -0
  358. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-15-02.json +59 -0
  359. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-15-11.json +44 -0
  360. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-15-12.json +51 -0
  361. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-16-01.json +39 -0
  362. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-16-02.json +46 -0
  363. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-16-11.json +44 -0
  364. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-16-12.json +44 -0
  365. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-16-13.json +51 -0
  366. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-16-14.json +51 -0
  367. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-17-01.json +44 -0
  368. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-17-02.json +49 -0
  369. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-17-03.json +49 -0
  370. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-17-04.json +49 -0
  371. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-17-05.json +50 -0
  372. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-17-11.json +44 -0
  373. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-17-12.json +45 -0
  374. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-17-13.json +45 -0
  375. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-18-01.json +51 -0
  376. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-18-02.json +56 -0
  377. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-18-03.json +56 -0
  378. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-18-04.json +56 -0
  379. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-18-05.json +57 -0
  380. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-18-11.json +51 -0
  381. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-18-12.json +52 -0
  382. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-18-13.json +52 -0
  383. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-19-01.json +51 -0
  384. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-19-02.json +51 -0
  385. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-19-11.json +51 -0
  386. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-19-12.json +72 -0
  387. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-27-19-13.json +52 -0
  388. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-28-01.json +34 -0
  389. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-28-11.json +34 -0
  390. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-29-01.json +56 -0
  391. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-29-11.json +59 -0
  392. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-29-12.json +50 -0
  393. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-30-01.json +37 -0
  394. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-30-11.json +37 -0
  395. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-01.json +56 -0
  396. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-02.json +56 -0
  397. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-03.json +56 -0
  398. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-04.json +56 -0
  399. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-05.json +56 -0
  400. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-06.json +56 -0
  401. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-07.json +56 -0
  402. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-08.json +56 -0
  403. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-09.json +56 -0
  404. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-11.json +56 -0
  405. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-12.json +56 -0
  406. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-31-13.json +56 -0
  407. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-32-01.json +55 -0
  408. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-32-11.json +58 -0
  409. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-33-01.json +78 -0
  410. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-33-11.json +88 -0
  411. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-34-01.json +224 -0
  412. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-34-02.json +270 -0
  413. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-34-11.json +218 -0
  414. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-35-01.json +65 -0
  415. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-35-02.json +85 -0
  416. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-35-03.json +92 -0
  417. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-35-04.json +105 -0
  418. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-35-11.json +58 -0
  419. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-35-12.json +84 -0
  420. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-35-13.json +93 -0
  421. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-35-14.json +103 -0
  422. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-36-01.json +58 -0
  423. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-36-02.json +101 -0
  424. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-36-03.json +58 -0
  425. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-36-04.json +58 -0
  426. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-36-11.json +58 -0
  427. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-36-12.json +101 -0
  428. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-36-13.json +58 -0
  429. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-36-14.json +58 -0
  430. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-01.json +32 -0
  431. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-02.json +32 -0
  432. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-03.json +38 -0
  433. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-04.json +38 -0
  434. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-05.json +38 -0
  435. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-06.json +38 -0
  436. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-07.json +38 -0
  437. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-08.json +38 -0
  438. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-09.json +38 -0
  439. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-11.json +32 -0
  440. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-12.json +38 -0
  441. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-13.json +38 -0
  442. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-14.json +38 -0
  443. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-15.json +38 -0
  444. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-16.json +53 -0
  445. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-37-20.json +53 -0
  446. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-38-01.json +36 -0
  447. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-38-02.json +36 -0
  448. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-38-03.json +36 -0
  449. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-38-04.json +36 -0
  450. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-38-11.json +36 -0
  451. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-38-12.json +35 -0
  452. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-38-13.json +36 -0
  453. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-38-14.json +32 -0
  454. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-38-15.json +36 -0
  455. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-39-01.json +35 -0
  456. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-39-02.json +36 -0
  457. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-39-11.json +36 -0
  458. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-39-12.json +36 -0
  459. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-40-01.json +36 -0
  460. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-40-02.json +36 -0
  461. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-40-11.json +36 -0
  462. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-40-12.json +36 -0
  463. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-40-13.json +35 -0
  464. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-40-14.json +36 -0
  465. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-41-01.json +35 -0
  466. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-41-02.json +35 -0
  467. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-41-03.json +36 -0
  468. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-41-04.json +36 -0
  469. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-41-11.json +36 -0
  470. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-41-12.json +36 -0
  471. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-42-01.json +46 -0
  472. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-42-02.json +63 -0
  473. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-42-11.json +62 -0
  474. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-42-12.json +63 -0
  475. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-43-01.json +45 -0
  476. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-43-02.json +45 -0
  477. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-43-11.json +49 -0
  478. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-43-12.json +45 -0
  479. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-43-13.json +45 -0
  480. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-44-01.json +45 -0
  481. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-44-02.json +45 -0
  482. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-44-11.json +49 -0
  483. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-44-12.json +45 -0
  484. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-44-13.json +45 -0
  485. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-45-01.json +37 -0
  486. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-45-02.json +42 -0
  487. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-45-03.json +37 -0
  488. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-45-11.json +37 -0
  489. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-45-12.json +42 -0
  490. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-45-13.json +42 -0
  491. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-45-14.json +37 -0
  492. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-46-01.json +58 -0
  493. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-46-02.json +73 -0
  494. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-46-11.json +70 -0
  495. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-46-12.json +75 -0
  496. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-01.json +73 -0
  497. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-02.json +78 -0
  498. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-03.json +78 -0
  499. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-04.json +115 -0
  500. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-05.json +72 -0
  501. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-06.json +117 -0
  502. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-11.json +73 -0
  503. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-12.json +79 -0
  504. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-13.json +78 -0
  505. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-14.json +116 -0
  506. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-47-15.json +78 -0
  507. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-01.json +74 -0
  508. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-02.json +80 -0
  509. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-03.json +83 -0
  510. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-04.json +80 -0
  511. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-05.json +75 -0
  512. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-06.json +83 -0
  513. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-07.json +80 -0
  514. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-08.json +80 -0
  515. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-09.json +80 -0
  516. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-11.json +74 -0
  517. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-12.json +79 -0
  518. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-13.json +83 -0
  519. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-14.json +80 -0
  520. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-15.json +75 -0
  521. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-16.json +83 -0
  522. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-17.json +80 -0
  523. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-18.json +80 -0
  524. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-19.json +80 -0
  525. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-21.json +72 -0
  526. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-48-31.json +72 -0
  527. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-49-01.json +71 -0
  528. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-49-02.json +76 -0
  529. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-49-03.json +76 -0
  530. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-49-11.json +71 -0
  531. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-49-12.json +76 -0
  532. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-49-13.json +76 -0
  533. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-01.json +56 -0
  534. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-02.json +56 -0
  535. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-03.json +56 -0
  536. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-04.json +70 -0
  537. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-05.json +70 -0
  538. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-06.json +64 -0
  539. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-11.json +56 -0
  540. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-12.json +56 -0
  541. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-13.json +56 -0
  542. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-14.json +70 -0
  543. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-15.json +70 -0
  544. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-50-16.json +64 -0
  545. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-51-01.json +59 -0
  546. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-51-02.json +64 -0
  547. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-51-03.json +64 -0
  548. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-51-11.json +59 -0
  549. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-51-12.json +64 -0
  550. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-51-13.json +64 -0
  551. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-52-01.json +53 -0
  552. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-52-02.json +80 -0
  553. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-52-11.json +53 -0
  554. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-52-12.json +80 -0
  555. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-53-01.json +53 -0
  556. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-53-02.json +80 -0
  557. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-53-11.json +53 -0
  558. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-53-12.json +80 -0
  559. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-01.json +33 -0
  560. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-02.json +40 -0
  561. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-03.json +40 -0
  562. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-04.json +40 -0
  563. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-05.json +40 -0
  564. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-06.json +40 -0
  565. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-07.json +40 -0
  566. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-08.json +40 -0
  567. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-11.json +33 -0
  568. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-12.json +40 -0
  569. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-13.json +40 -0
  570. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-54-14.json +33 -0
  571. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-55-01.json +40 -0
  572. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-55-02.json +41 -0
  573. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-55-11.json +40 -0
  574. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-55-12.json +41 -0
  575. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-01.json +67 -0
  576. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-02.json +67 -0
  577. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-03.json +66 -0
  578. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-04.json +67 -0
  579. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-05.json +177 -0
  580. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-11.json +71 -0
  581. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-12.json +73 -0
  582. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-13.json +88 -0
  583. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-14.json +70 -0
  584. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-15.json +71 -0
  585. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-16.json +81 -0
  586. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-17.json +79 -0
  587. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-56-18.json +153 -0
  588. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-57-01.json +62 -0
  589. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-57-02.json +218 -0
  590. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-57-03.json +184 -0
  591. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-57-11.json +56 -0
  592. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-57-12.json +218 -0
  593. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-57-13.json +166 -0
  594. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-58-01.json +76 -0
  595. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-58-11.json +76 -0
  596. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-59-01.json +56 -0
  597. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-59-02.json +56 -0
  598. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-59-11.json +56 -0
  599. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-59-12.json +56 -0
  600. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-59-13.json +56 -0
  601. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-01-01.json +41 -0
  602. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-01-02.json +43 -0
  603. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-01-11.json +42 -0
  604. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-01-12.json +45 -0
  605. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-02-01.json +45 -0
  606. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-02-02.json +46 -0
  607. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-02-11.json +45 -0
  608. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-02-12.json +42 -0
  609. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-03-01.json +50 -0
  610. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-03-02.json +53 -0
  611. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-03-11.json +42 -0
  612. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-60-03-12.json +56 -0
  613. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-61-01.json +45 -0
  614. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-61-02.json +45 -0
  615. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-61-11.json +49 -0
  616. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-61-12.json +45 -0
  617. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/mandatory/oasis_csaf_tc-csaf_2_1-2024-6-1-61-13.json +45 -0
  618. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-01-01.json +40 -0
  619. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-01-11.json +53 -0
  620. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-02-01.json +49 -0
  621. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-03-01.json +49 -0
  622. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-04-01.json +32 -0
  623. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-05-01.json +37 -0
  624. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-05-02.json +37 -0
  625. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-05-11.json +37 -0
  626. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-05-12.json +37 -0
  627. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-06-01.json +37 -0
  628. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-06-02.json +37 -0
  629. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-06-03.json +37 -0
  630. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-06-11.json +37 -0
  631. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-06-12.json +37 -0
  632. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-06-13.json +37 -0
  633. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-07-01.json +42 -0
  634. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-08-01.json +53 -0
  635. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-08-02.json +57 -0
  636. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-09-01.json +53 -0
  637. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-09-02.json +57 -0
  638. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-11-01.json +39 -0
  639. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-11-02.json +39 -0
  640. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-11-03.json +39 -0
  641. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-11-11.json +39 -0
  642. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-11-12.json +39 -0
  643. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-11-13.json +39 -0
  644. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-12-01.json +32 -0
  645. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-13-01.json +32 -0
  646. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-14-01.json +33 -0
  647. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-14-02.json +34 -0
  648. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-14-03.json +34 -0
  649. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-14-04.json +33 -0
  650. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-14-05.json +33 -0
  651. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-14-06.json +33 -0
  652. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-14-07.json +33 -0
  653. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-14-08.json +33 -0
  654. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-14-11.json +33 -0
  655. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-14-12.json +34 -0
  656. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-15-01.json +33 -0
  657. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-15-02.json +34 -0
  658. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-15-11.json +33 -0
  659. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-16-01.json +49 -0
  660. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-16-02.json +65 -0
  661. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-16-11.json +54 -0
  662. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-17-01.json +42 -0
  663. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-17-11.json +42 -0
  664. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-18-01.json +56 -0
  665. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-18-11.json +56 -0
  666. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-01.json +64 -0
  667. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-02.json +66 -0
  668. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-03.json +64 -0
  669. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-04.json +63 -0
  670. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-05.json +64 -0
  671. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-06.json +66 -0
  672. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-07.json +64 -0
  673. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-08.json +69 -0
  674. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-11.json +64 -0
  675. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-12.json +67 -0
  676. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-13.json +64 -0
  677. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-14.json +63 -0
  678. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-15.json +64 -0
  679. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-16.json +67 -0
  680. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-17.json +64 -0
  681. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-18.json +64 -0
  682. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-19-19.json +70 -0
  683. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-20-01.json +60 -0
  684. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-20-02.json +60 -0
  685. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-20-11.json +59 -0
  686. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-20-12.json +59 -0
  687. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-21-01.json +37 -0
  688. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-21-02.json +62 -0
  689. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-21-03.json +67 -0
  690. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-21-04.json +37 -0
  691. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-21-05.json +37 -0
  692. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-21-11.json +37 -0
  693. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-21-12.json +62 -0
  694. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-21-13.json +67 -0
  695. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-22-01.json +32 -0
  696. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-22-02.json +32 -0
  697. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-22-03.json +32 -0
  698. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-22-04.json +32 -0
  699. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-22-11.json +32 -0
  700. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-22-12.json +32 -0
  701. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-23-01.json +43 -0
  702. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-23-02.json +58 -0
  703. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-23-03.json +61 -0
  704. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-23-11.json +43 -0
  705. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-23-12.json +53 -0
  706. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-23-13.json +61 -0
  707. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-24-01.json +43 -0
  708. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-24-02.json +43 -0
  709. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-24-03.json +53 -0
  710. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-24-04.json +66 -0
  711. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-24-11.json +43 -0
  712. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-24-12.json +43 -0
  713. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-24-13.json +53 -0
  714. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-24-14.json +66 -0
  715. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-25-01.json +43 -0
  716. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-25-02.json +43 -0
  717. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-25-03.json +48 -0
  718. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-25-04.json +66 -0
  719. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-25-11.json +43 -0
  720. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-25-12.json +43 -0
  721. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-25-13.json +43 -0
  722. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-25-14.json +66 -0
  723. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-26-01.json +43 -0
  724. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-26-02.json +48 -0
  725. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-26-03.json +70 -0
  726. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-26-11.json +43 -0
  727. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-26-12.json +48 -0
  728. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-26-13.json +70 -0
  729. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-27-01.json +58 -0
  730. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-27-02.json +100 -0
  731. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-27-03.json +58 -0
  732. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-27-11.json +58 -0
  733. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-27-12.json +100 -0
  734. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-27-13.json +58 -0
  735. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-28-01.json +36 -0
  736. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-28-11.json +32 -0
  737. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-28-12.json +36 -0
  738. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-29-01.json +36 -0
  739. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-29-11.json +36 -0
  740. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-29-12.json +32 -0
  741. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-30-01.json +36 -0
  742. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-30-11.json +32 -0
  743. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-30-12.json +36 -0
  744. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-31-01.json +61 -0
  745. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-31-11.json +92 -0
  746. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-31-12.json +176 -0
  747. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-31-13.json +56 -0
  748. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-32-01.json +74 -0
  749. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-32-02.json +80 -0
  750. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-32-03.json +119 -0
  751. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-32-11.json +74 -0
  752. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-32-12.json +80 -0
  753. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-33-01.json +37 -0
  754. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-33-02.json +37 -0
  755. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-33-03.json +42 -0
  756. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-33-11.json +42 -0
  757. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-33-12.json +42 -0
  758. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-33-13.json +42 -0
  759. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-34-01.json +71 -0
  760. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-34-02.json +71 -0
  761. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-34-03.json +71 -0
  762. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-34-11.json +71 -0
  763. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-34-12.json +71 -0
  764. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-34-13.json +71 -0
  765. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-35-01.json +71 -0
  766. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-35-11.json +71 -0
  767. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-35-12.json +71 -0
  768. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-36-01.json +71 -0
  769. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-36-02.json +71 -0
  770. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-36-11.json +71 -0
  771. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-36-12.json +71 -0
  772. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-36-13.json +71 -0
  773. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-37-01.json +77 -0
  774. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-37-02.json +101 -0
  775. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-37-03.json +71 -0
  776. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-37-11.json +77 -0
  777. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-37-12.json +105 -0
  778. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-37-13.json +71 -0
  779. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-38-01.json +92 -0
  780. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-38-02.json +32 -0
  781. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-38-11.json +92 -0
  782. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-38-12.json +92 -0
  783. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-38-13.json +92 -0
  784. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-38-13.result.json +21 -0
  785. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-01-01.json +81 -0
  786. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-01-02.json +81 -0
  787. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-01-11.json +92 -0
  788. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-01-12.json +92 -0
  789. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-01-13.json +81 -0
  790. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-02-01.json +45 -0
  791. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-02-11.json +45 -0
  792. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-03-01.json +52 -0
  793. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-03-11.json +52 -0
  794. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-04-01.json +52 -0
  795. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-04-11.json +52 -0
  796. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-04-12.json +62 -0
  797. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-05-01.json +61 -0
  798. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-05-02.json +54 -0
  799. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-05-11.json +51 -0
  800. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-39-05-12.json +44 -0
  801. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-40-01.json +47 -0
  802. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-40-02.json +56 -0
  803. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-40-03.json +48 -0
  804. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-40-11.json +50 -0
  805. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-40-12.json +59 -0
  806. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-40-13.json +51 -0
  807. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-41-01.json +59 -0
  808. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-41-02.json +64 -0
  809. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-41-11.json +59 -0
  810. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-41-12.json +76 -0
  811. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-42-01.json +70 -0
  812. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-42-02.json +78 -0
  813. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-42-11.json +70 -0
  814. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-42-12.json +78 -0
  815. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-43-01.json +33 -0
  816. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-43-11.json +34 -0
  817. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-44-01.json +33 -0
  818. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-44-02.json +33 -0
  819. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-44-11.json +33 -0
  820. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-44-12.json +33 -0
  821. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-45-01.json +33 -0
  822. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-45-02.json +33 -0
  823. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-45-11.json +33 -0
  824. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-45-12.json +33 -0
  825. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-46-01.json +41 -0
  826. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-46-11.json +41 -0
  827. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-47-01.json +54 -0
  828. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-47-02.json +62 -0
  829. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-47-11.json +59 -0
  830. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-47-12.json +67 -0
  831. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-48-01.json +56 -0
  832. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-48-02.json +56 -0
  833. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-48-03.json +56 -0
  834. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-48-11.json +56 -0
  835. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-48-12.json +56 -0
  836. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-48-13.json +56 -0
  837. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-49-01.json +56 -0
  838. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-49-02.json +56 -0
  839. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-49-03.json +56 -0
  840. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-49-04.json +56 -0
  841. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-49-05.json +56 -0
  842. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-49-11.json +56 -0
  843. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-49-12.json +56 -0
  844. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-49-13.json +56 -0
  845. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-49-14.json +56 -0
  846. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-50-01-01.json +76 -0
  847. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-50-01-11.json +76 -0
  848. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-50-02-01.json +76 -0
  849. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-50-02-11.json +76 -0
  850. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-50-03-01.json +76 -0
  851. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-50-03-02.json +76 -0
  852. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-50-03-11.json +76 -0
  853. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-50-03-12.json +76 -0
  854. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-51-01.json +56 -0
  855. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-51-11.json +56 -0
  856. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-51-12.json +56 -0
  857. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-52-01.json +53 -0
  858. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-52-11.json +53 -0
  859. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-53-01.json +42 -0
  860. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-53-11.json +42 -0
  861. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-54-01-01.json +42 -0
  862. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-54-01-11.json +32 -0
  863. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-54-02-01.json +42 -0
  864. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-54-02-11.json +32 -0
  865. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-54-03-01.json +77 -0
  866. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-54-03-11.json +42 -0
  867. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-54-04-01.json +42 -0
  868. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/recommended/oasis_csaf_tc-csaf_2_1-2024-6-2-54-04-11.json +42 -0
  869. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/v20_examples/bsi-2022-0001.json +214 -0
  870. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/v20_examples/cisco-sa-20180328-smi2.json +3315 -0
  871. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/v20_examples/rhsa-2019_1862.json +103 -0
  872. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/v20_examples/rhsa-2021_5186.json +319 -0
  873. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/v20_examples/rhsa-2021_5217.json +185 -0
  874. prototyyppi-2026.7.26/prototyyppi/csaf/v21/data/v20_examples/rhsa-2022_0011.json +427 -0
  875. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/__init__.py +1 -0
  876. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/_registry.py +29 -0
  877. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/_shared.py +454 -0
  878. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/catalog.yaml +1965 -0
  879. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/informative/__init__.py +10 -0
  880. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/informative/_document_meta.py +110 -0
  881. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/informative/_extensions.py +225 -0
  882. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/informative/_ids_and_tree.py +283 -0
  883. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/informative/_vuln_and_status.py +285 -0
  884. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/mandatory/__init__.py +6 -0
  885. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/mandatory/_document_meta.py +762 -0
  886. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/mandatory/_ids_and_tree.py +882 -0
  887. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/mandatory/_scores_and_metrics.py +850 -0
  888. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/mandatory/_vuln_and_status.py +557 -0
  889. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/recommended/__init__.py +6 -0
  890. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/recommended/_document_meta.py +706 -0
  891. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/recommended/_extensions.py +96 -0
  892. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/recommended/_ids_and_tree.py +685 -0
  893. prototyyppi-2026.7.26/prototyyppi/csaf/v21/rules/recommended/_vuln_and_status.py +929 -0
  894. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/csaf.json +1731 -0
  895. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/extension-content.json +44 -0
  896. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/extension-metaschema.json +320 -0
  897. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/extensions/documentation-01-content_1.0.0.json +46 -0
  898. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/extensions/documentation-11-content_1.0.0.json +54 -0
  899. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/extensions/documentation-12-content_1.0.0.json +69 -0
  900. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/meta.json +23 -0
  901. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/referenced/SelectionList_2_0_0.schema.json +259 -0
  902. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/referenced/cvss-meta.json +61 -0
  903. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/referenced/cvss-v2.0.json +104 -0
  904. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/referenced/cvss-v3.0.json +143 -0
  905. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/referenced/cvss-v3.1.json +143 -0
  906. prototyyppi-2026.7.26/prototyyppi/csaf/v21/schema/referenced/cvss-v4.0.json +457 -0
  907. prototyyppi-2026.7.26/prototyyppi/csaf/v21/spdx/__init__.py +0 -0
  908. prototyyppi-2026.7.26/prototyyppi/csaf/v21/spdx/catalog.json +3562 -0
  909. prototyyppi-2026.7.26/prototyyppi/csaf/v21/ssvc/catalog.json +2672 -0
  910. prototyyppi-2026.7.26/prototyyppi/csaf/v21/translations/translations.json +13 -0
  911. prototyyppi-2026.7.26/prototyyppi/csaf/v21csd02/__init__.py +128 -0
  912. prototyyppi-2026.7.26/prototyyppi.egg-info/PKG-INFO +413 -0
  913. prototyyppi-2026.7.26/prototyyppi.egg-info/SOURCES.txt +930 -0
  914. prototyyppi-2026.7.26/prototyyppi.egg-info/dependency_links.txt +1 -0
  915. prototyyppi-2026.7.26/prototyyppi.egg-info/entry_points.txt +2 -0
  916. prototyyppi-2026.7.26/prototyyppi.egg-info/requires.txt +9 -0
  917. prototyyppi-2026.7.26/prototyyppi.egg-info/top_level.txt +1 -0
  918. prototyyppi-2026.7.26/pyproject.toml +134 -0
  919. prototyyppi-2026.7.26/setup.cfg +4 -0
  920. prototyyppi-2026.7.26/test/test_build.py +872 -0
  921. prototyyppi-2026.7.26/test/test_cli.py +488 -0
  922. prototyyppi-2026.7.26/test/test_convert.py +493 -0
  923. prototyyppi-2026.7.26/test/test_examples.py +185 -0
  924. prototyyppi-2026.7.26/test/test_informative.py +447 -0
  925. prototyyppi-2026.7.26/test/test_mandatory.py +1109 -0
  926. prototyyppi-2026.7.26/test/test_public_api.py +250 -0
  927. prototyyppi-2026.7.26/test/test_recommended.py +934 -0
  928. prototyyppi-2026.7.26/test/test_sarif.py +146 -0
  929. prototyyppi-2026.7.26/test/test_tutorial_consumer.py +389 -0
  930. prototyyppi-2026.7.26/test/test_tutorial_converter.py +215 -0
  931. prototyyppi-2026.7.26/test/test_tutorial_producer.py +1248 -0
  932. prototyyppi-2026.7.26/test/test_url_rules.py +327 -0
@@ -0,0 +1,413 @@
1
+ Metadata-Version: 2.4
2
+ Name: prototyyppi
3
+ Version: 2026.7.26
4
+ Summary: Experimental CSAF Implementation.
5
+ Author-email: Stefan Hagen <stefan@hagen.link>
6
+ Maintainer-email: Stefan Hagen <stefan@hagen.link>
7
+ License-Expression: MIT
8
+ Project-URL: Documentation, https://codes.dilettant.life/docs/prototyyppi
9
+ Keywords: developer-tools,security-advisory,vex
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Requires-Python: >=3.11
17
+ Description-Content-Type: text/markdown
18
+ Requires-Dist: jsonschema>=4.26.0
19
+ Requires-Dist: msgspec>=0.21.1
20
+ Requires-Dist: python-jsonpath>=2.2.1
21
+ Requires-Dist: PyYAML>=6.0.3
22
+ Provides-Extra: dev
23
+ Requires-Dist: pytest; extra == "dev"
24
+ Provides-Extra: manifest
25
+
26
+ # prototyyppi
27
+
28
+ Experimental Python reference implementation of [CSAF 2.1](https://docs.oasis-open.org/csaf/csaf/v2.1/csaf-v2.1.html).
29
+ Validates CSAF advisory documents against the full three-tier test suite
30
+ (mandatory, recommended, informative) specified in the CSAF 2.1 standard.
31
+
32
+ Requires Python 3.11 or later.
33
+
34
+ ## Install
35
+
36
+ ```sh
37
+ pip install prototyyppi
38
+ ```
39
+
40
+ The package name on PyPI is `prototyyppi` (Finnish: "prototype").
41
+ The final stable release will be published as `csaf`.
42
+
43
+ ## Manual
44
+
45
+ The [man page](docs/man/prototyyppi.1) provides the full CLI reference.
46
+ After installation, place it on your `MANPATH`:
47
+
48
+ ```sh
49
+ mkdir -p ~/.local/share/man/man1
50
+ cp docs/man/prototyyppi.1 ~/.local/share/man/man1/
51
+ man prototyyppi
52
+ ```
53
+
54
+ ## Quickstart
55
+
56
+ ### CLI
57
+
58
+ Validate a CSAF 2.1 advisory and get a human-readable report:
59
+
60
+ ```sh
61
+ prototyyppi validate advisory.json
62
+ ```
63
+
64
+ ```
65
+ File: advisory.json
66
+ Overall: FAIL
67
+
68
+ [PASS] schema — JSON Schema (CSAF 2.1)
69
+ [FAIL] 6.1.1 — Missing Definition of Product ID
70
+ /product_tree/product_groups/0/product_ids/0: product id `CSAFPID-9080700` is not defined in product_tree
71
+ [PASS] 6.1.2 — Multiple Definition of Product ID
72
+
73
+ ```
74
+
75
+ Exit code is `0` for a valid document, `1` for invalid, `2` for usage errors.
76
+
77
+ **Validation levels** — run additional test tiers:
78
+
79
+ ```sh
80
+ # Basic: schema + mandatory (6.1.x) — default
81
+ prototyyppi validate advisory.json
82
+
83
+ # Extended: + recommended (6.2.x)
84
+ prototyyppi validate --level extended advisory.json
85
+
86
+ # Full: + informative (6.3.x)
87
+ prototyyppi validate --level full advisory.json
88
+ ```
89
+
90
+ **Output formats:**
91
+
92
+ ```sh
93
+ # TC-compatible JSON (matches the OASIS test-result schema)
94
+ prototyyppi validate --format json advisory.json
95
+
96
+ # SARIF 2.2 (GitHub code scanning, VS Code SARIF viewer)
97
+ prototyyppi validate --format sarif advisory.json > results.sarif
98
+
99
+ # GitHub-flavored markdown — paste directly into a GitHub issue or PR comment
100
+ prototyyppi validate --format markdown advisory.json
101
+ ```
102
+
103
+ **Batch validation:**
104
+
105
+ ```sh
106
+ # All files in a directory
107
+ prototyyppi validate advisories/*.json
108
+
109
+ # Recursive glob (quote to let Python expand it — avoids shell ARG_MAX limits)
110
+ prototyyppi validate 'advisories/**/*.json'
111
+
112
+ # Batch markdown for a GitHub issue
113
+ prototyyppi validate --format markdown 'advisories/*.json'
114
+ ```
115
+
116
+ **Skip rules** — suppress specific tests by ID or from a YAML file:
117
+
118
+ ```sh
119
+ prototyyppi validate --skip-rules 6.1.9 advisory.json
120
+ prototyyppi validate --skip-rules skip.yaml advisory.json
121
+ ```
122
+
123
+ **Suppress output:**
124
+
125
+ ```sh
126
+ prototyyppi validate --quiet advisory.json # hide passing rules
127
+ prototyyppi validate --silent advisory.json # exit code only
128
+ ```
129
+
130
+ **Rule catalog:**
131
+
132
+ ```sh
133
+ prototyyppi info rules # full list
134
+ prototyyppi info rules --only-groups mandatory # filter by tier
135
+ prototyyppi info rules --format json # machine-readable
136
+ ```
137
+
138
+ ```
139
+ Spec ID Group Status Title
140
+ --------------------------------------------------------------------------------
141
+ 2.1 6.1.1 mandatory implemented Missing Definition of Product ID
142
+ 2.1 6.1.2 mandatory implemented Multiple Definition of Product ID
143
+
144
+ 61 rule(s) in catalog (CSAF 2.1).
145
+ ```
146
+
147
+ **Environment info:**
148
+
149
+ ```sh
150
+ prototyyppi info env # CSAF support, catalogs, interpreter, platform
151
+ prototyyppi info env --level extended # + runtime config, paths, host OS identity
152
+ prototyyppi info env --level full # + interpreter detail, flags, CPU, resource usage
153
+ prototyyppi info env --format json # machine-readable
154
+ ```
155
+
156
+ For a condensed single-page reference see the [Quickstart guide](docs/quickstart/README.md).
157
+ For tutorials covering validation and document production see the [Tutorial index](docs/tutorial/README.md).
158
+
159
+ ### Python API — consumer (validate)
160
+
161
+ ```python
162
+ from prototyyppi import validate, validate_file
163
+
164
+ # From a file path
165
+ report = validate_file("advisory.json")
166
+
167
+ # From an already-parsed dict
168
+ import msgspec
169
+ doc = msgspec.json.decode(open("advisory.json", "rb").read())
170
+ report = validate(doc, path="advisory.json")
171
+
172
+ print("valid:", report.overall_valid)
173
+ for result in report.results:
174
+ if not result.passed:
175
+ print(f"[FAIL] {result.id} — {result.title}")
176
+ for err in result.errors:
177
+ print(f" {err.instance_path}: {err.message}")
178
+ ```
179
+
180
+ The `ValidationReport` is a frozen `msgspec.Struct`.
181
+ Pass it to the formatters to render as text, JSON, SARIF, or markdown:
182
+
183
+ ```python
184
+ from prototyyppi import to_text, to_tc_json, to_sarif, to_markdown
185
+
186
+ print(to_text(report))
187
+ print(to_tc_json(report))
188
+ print(to_sarif(report, version='0.0.0'))
189
+ print(to_markdown(report))
190
+ ```
191
+
192
+ ### Python API — producer (build)
193
+
194
+ Construct a typed document and call `build()` to get validated JSON:
195
+
196
+ ```python
197
+ from prototyyppi import (
198
+ Document, Distribution, FullProductName, Note, Publisher, ProductStatus,
199
+ ProductTree, Revision, Tlp, Tracking, Vulnerability,
200
+ Metric, MetricContent, cvss31_from_vector, cwe_entry,
201
+ )
202
+
203
+ doc = Document(
204
+ category='csaf_security_advisory',
205
+ title='Acme Corp — Advisory 2026-001',
206
+ publisher=Publisher(category='vendor', name='Acme Corp',
207
+ namespace='https://acme.example.com'),
208
+ tracking=Tracking(
209
+ id='ACME-2026-SA-001', status='final', version='1',
210
+ initial_release_date='2026-01-15T10:00:00Z',
211
+ current_release_date='2026-01-15T10:00:00Z',
212
+ revision_history=[Revision(date='2026-01-15T10:00:00Z', number='1',
213
+ summary='Initial release.')],
214
+ ),
215
+ distribution=Distribution(tlp=Tlp(label='CLEAR')),
216
+ product_tree=ProductTree(full_product_names=[
217
+ FullProductName(name='Widget 1.0', product_id='CSAFPID-W100'),
218
+ ]),
219
+ vulnerabilities=[
220
+ Vulnerability(
221
+ cve='CVE-2026-10001',
222
+ cwes=[cwe_entry('CWE-122')],
223
+ notes=[Note(category='description', text='Heap overflow in widget parser.')],
224
+ product_status=ProductStatus(known_affected=['CSAFPID-W100']),
225
+ metrics=[Metric(
226
+ content=MetricContent(
227
+ cvss_v3=cvss31_from_vector(
228
+ 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'
229
+ ),
230
+ ),
231
+ products=['CSAFPID-W100'],
232
+ )],
233
+ ),
234
+ ],
235
+ )
236
+
237
+ json_str, report = doc.build() # raises BuildError on structural violations
238
+ assert report.overall_valid
239
+ import pathlib
240
+ pathlib.Path('advisory.json').write_text(json_str, encoding='utf-8')
241
+ ```
242
+
243
+ `build()` validates the document and returns `(json_str, ValidationReport)`.
244
+ The JSON output has sorted keys, two-space indentation, and an auto-injected generator block.
245
+ See the [producer tutorial](docs/tutorial/producer/README.md) for step-by-step coverage of all five profiles, CVSS helpers, and build modes.
246
+
247
+ ## URL reachability cache
248
+
249
+ Rules 6.3.06 and 6.3.07 check that URLs in advisory documents resolve to live endpoints.
250
+ Because HTTP requests are slow and advisory corpora can be large,
251
+ the validator provides a four-mode URL cache:
252
+
253
+ | Mode | Behaviour | When to use |
254
+ |:----------|:-------------------------------------------------|:-----------------------------|
255
+ | `run` | In-memory dedup within the current invocation | Default; interactive use |
256
+ | `disk` | Persist results to disk with a configurable TTL | CI pipelines |
257
+ | `disk-ro` | Read disk cache; skip on cache miss (no network) | Air-gapped or offline builds |
258
+ | `none` | No caching; each URL is checked fresh every run | Debugging |
259
+
260
+ ```sh
261
+ # Default: in-memory dedup (no flags needed)
262
+ prototyyppi validate --level full advisory.json
263
+
264
+ # Disk cache with default TTL (24h) and default directory (~/.cache/prototyyppi)
265
+ prototyyppi validate --level full --url-cache disk advisory.json
266
+
267
+ # Custom TTL and cache directory
268
+ prototyyppi validate --level full \
269
+ --url-cache disk \
270
+ --url-cache-ttl 7d \
271
+ --url-cache-dir /var/cache/prototyyppi \
272
+ advisory.json
273
+
274
+ # Read-only: use cache, skip URL rules on miss (no network calls)
275
+ prototyyppi validate --level full --url-cache disk-ro advisory.json
276
+
277
+ # Disable URL rules entirely (shown as [SKIP]; implies --skip-rules 6.3.06,6.3.07)
278
+ prototyyppi validate --level full --no-network advisory.json
279
+ ```
280
+
281
+ TTL accepts: `30m`, `6h`, `7d` (minutes, hours, days).
282
+ The disk cache is stored as a JSON file; entries expire individually based on their write time.
283
+
284
+ **Recommended CI pattern:**
285
+
286
+ ```sh
287
+ prototyyppi validate \
288
+ --level full \
289
+ --url-cache disk \
290
+ --url-cache-dir .cache/prototyyppi \
291
+ --url-cache-ttl 24h \
292
+ 'advisories/**/*.json'
293
+ ```
294
+
295
+ > **Note:** Rules 6.3.06 and 6.3.07 (URL resolution) are pending implementation.
296
+ > The URL cache infrastructure is in place and will be activated automatically
297
+ > when these rules are implemented.
298
+ > The `--no-network` flag and all `--url-cache` options are wired up and ready.
299
+
300
+ ## Skip rules
301
+
302
+ Rules can be suppressed individually or via a YAML skip file.
303
+ Suppressed rules appear as `[SKIP]` in the output and do not affect the exit code.
304
+
305
+ **CSV on the command line:**
306
+
307
+ ```sh
308
+ prototyyppi validate --skip-rules 6.1.9,6.2.39.02 advisory.json
309
+
310
+ # May be specified multiple times (processed left to right)
311
+ prototyyppi validate --skip-rules 6.1.9 --skip-rules 6.2.39.02 advisory.json
312
+ ```
313
+
314
+ **Re-enable a rule** skipped by a previous argument or file (prefix with `+`):
315
+
316
+ ```sh
317
+ prototyyppi validate --skip-rules base.yaml --skip-rules +6.1.9 advisory.json
318
+ ```
319
+
320
+ **YAML skip file** — supports structured entries with reason and expiry:
321
+
322
+ ```yaml
323
+ # skip.yaml
324
+ - "schema"
325
+ - id: "6.1.9"
326
+ reason: "CVSS v3 scorer deviation — under review"
327
+ expires: "2026-12-31"
328
+ ```
329
+
330
+ ```sh
331
+ prototyyppi validate --skip-rules skip.yaml advisory.json
332
+ ```
333
+
334
+ Expired entries still take effect; the validator prints a warning to stderr.
335
+
336
+ ## Official examples
337
+
338
+ The `example/` directory contains the official OASIS CSAF 2.1 advisory examples
339
+ from the [CSAF TC repository](https://github.com/oasis-tcs/csaf/tree/master/csaf_2.1/examples/csaf):
340
+ six general advisories and thirteen VEX use-case documents.
341
+
342
+ See [example/README.md](example/README.md) for per-example validation reports and notes on findings.
343
+
344
+ To refresh the examples from upstream:
345
+
346
+ ```sh
347
+ python bin/sync_examples.py # download/update all files
348
+ python bin/sync_examples.py --show # list bundled files and sizes
349
+ python bin/sync_examples.py --dry-run # compare with upstream without writing
350
+ ```
351
+
352
+ ## Bundled catalogs
353
+
354
+ All external reference data is bundled and kept up to date within the package.
355
+ No network access is required for validation.
356
+
357
+ | Catalog | Bundled version | Sync script |
358
+ |:------------------|:----------------------------|:----------------------------------|
359
+ | CWE | v4.9–v4.13 (969 weaknesses) | `python bin/sync_cwe.py` |
360
+ | SPDX | 3.28.0 + ScanCode licensedb | `python bin/sync_spdx.py` |
361
+ | SSVC | format_version 3 | `python bin/sync_ssvc.py` |
362
+ | CSAF translations | v2.1 (de) | `python bin/sync_translations.py` |
363
+
364
+ ## Design and requirements
365
+
366
+ | Document | Identifier | File |
367
+ |:------------------------------------|:------------|:----------------------------------------------------------|
368
+ | Software Requirements Specification | PRO-SRS-001 | [docs/requirements/srs/](docs/requirements/srs/README.md) |
369
+ | Software Design Description | PRO-SDD-001 | [docs/design/sdd/](docs/design/sdd/README.md) |
370
+
371
+ Both documents follow the MIL-STD-498 DID structure
372
+ and are rendered into the documentation site alongside the
373
+ [quickstart](docs/quickstart/README.md), [tutorial](docs/tutorial/README.md),
374
+ and [example gallery](example/README.md).
375
+
376
+ ## Bug Tracker
377
+
378
+ Feature requests and bug reports go to the [todos of prototyyppi](https://todo.sr.ht/~sthagen/prototyyppi).
379
+
380
+ ## Primary Source repository
381
+
382
+ The main source of `prototyyppi` is on a mountain in Central Switzerland under
383
+ configuration control ([fossil](https://fossil-scm.org/)).
384
+
385
+ ## Contributions
386
+
387
+ To share small changes under the repository's license,
388
+ kindly send a patchset per email using [git send-email](https://git-send-email.io).
389
+
390
+ ## Support
391
+
392
+ Submit issues at https://todo.sr.ht/~sthagen/prototyyppi
393
+ or write plain text email to ~sthagen/prototyyppi@lists.sr.ht.
394
+
395
+ ## Security Policy
396
+
397
+ See `SECURITY.md` for the security policy.
398
+
399
+ ## Changes
400
+
401
+ See [docs/releases/](docs/releases/README.md) for release summaries
402
+ and [docs/releases/changes/](docs/releases/changes/README.md) for the detailed change log.
403
+
404
+ ## Coverage
405
+
406
+ The test suite maintains high branch coverage (≥99%).
407
+ The HTML report (if generated) is in `site/coverage/`.
408
+
409
+ ## SBOM
410
+
411
+ Runtime dependency information is published in `docs/sbom/` in SPDX 3.0 (JSON-LD)
412
+ and CycloneDX 1.6 (JSON) formats.
413
+ See `docs/sbom/README.md` for the component inventory and validation guide.