diff --git a/package-lock.json b/package-lock.json
index 2829002d544c158ca823c193e3f74659ac683bbc..9beef9856f211deaa6676c86f6b8a75ca7bcde38 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -282,34 +282,34 @@
       }
     },
     "node_modules/@aws-sdk/client-s3": {
-      "version": "3.689.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.689.0.tgz",
-      "integrity": "sha512-qYD1GJEPeLM6H3x8BuAAMXZltvVce5vGiwtZc9uMkBBo3HyFnmPitIPTPfaD1q8LOn/7KFdkY4MJ4e8D3YpV9g==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.691.0.tgz",
+      "integrity": "sha512-GrcFakf5sZDSFtQGIPzT/5CTl9rLCsua0+yrmz/zidCvd7HFiwPrmyLQSv+MwgEUqHb4unnqUMSo2HKfkV3AIQ==",
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/sha1-browser": "5.2.0",
         "@aws-crypto/sha256-browser": "5.2.0",
         "@aws-crypto/sha256-js": "5.2.0",
-        "@aws-sdk/client-sso-oidc": "3.687.0",
-        "@aws-sdk/client-sts": "3.687.0",
-        "@aws-sdk/core": "3.686.0",
-        "@aws-sdk/credential-provider-node": "3.687.0",
+        "@aws-sdk/client-sso-oidc": "3.691.0",
+        "@aws-sdk/client-sts": "3.691.0",
+        "@aws-sdk/core": "3.691.0",
+        "@aws-sdk/credential-provider-node": "3.691.0",
         "@aws-sdk/middleware-bucket-endpoint": "3.686.0",
         "@aws-sdk/middleware-expect-continue": "3.686.0",
-        "@aws-sdk/middleware-flexible-checksums": "3.689.0",
+        "@aws-sdk/middleware-flexible-checksums": "3.691.0",
         "@aws-sdk/middleware-host-header": "3.686.0",
         "@aws-sdk/middleware-location-constraint": "3.686.0",
         "@aws-sdk/middleware-logger": "3.686.0",
         "@aws-sdk/middleware-recursion-detection": "3.686.0",
-        "@aws-sdk/middleware-sdk-s3": "3.687.0",
+        "@aws-sdk/middleware-sdk-s3": "3.691.0",
         "@aws-sdk/middleware-ssec": "3.686.0",
-        "@aws-sdk/middleware-user-agent": "3.687.0",
+        "@aws-sdk/middleware-user-agent": "3.691.0",
         "@aws-sdk/region-config-resolver": "3.686.0",
-        "@aws-sdk/signature-v4-multi-region": "3.687.0",
+        "@aws-sdk/signature-v4-multi-region": "3.691.0",
         "@aws-sdk/types": "3.686.0",
         "@aws-sdk/util-endpoints": "3.686.0",
         "@aws-sdk/util-user-agent-browser": "3.686.0",
-        "@aws-sdk/util-user-agent-node": "3.687.0",
+        "@aws-sdk/util-user-agent-node": "3.691.0",
         "@aws-sdk/xml-builder": "3.686.0",
         "@smithy/config-resolver": "^3.0.10",
         "@smithy/core": "^2.5.1",
@@ -351,23 +351,23 @@
       }
     },
     "node_modules/@aws-sdk/client-sso": {
-      "version": "3.687.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.687.0.tgz",
-      "integrity": "sha512-dfj0y9fQyX4kFill/ZG0BqBTLQILKlL7+O5M4F9xlsh2WNuV2St6WtcOg14Y1j5UODPJiJs//pO+mD1lihT5Kw==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.691.0.tgz",
+      "integrity": "sha512-bzp4ni6zGxwrlSWhG0MfOh57ORgzdUFlIc2JeQHLO9b6n0iNnG57ILHzo90sQxom6LfW1bXZrsKvYH3vAU8sdA==",
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/sha256-browser": "5.2.0",
         "@aws-crypto/sha256-js": "5.2.0",
-        "@aws-sdk/core": "3.686.0",
+        "@aws-sdk/core": "3.691.0",
         "@aws-sdk/middleware-host-header": "3.686.0",
         "@aws-sdk/middleware-logger": "3.686.0",
         "@aws-sdk/middleware-recursion-detection": "3.686.0",
-        "@aws-sdk/middleware-user-agent": "3.687.0",
+        "@aws-sdk/middleware-user-agent": "3.691.0",
         "@aws-sdk/region-config-resolver": "3.686.0",
         "@aws-sdk/types": "3.686.0",
         "@aws-sdk/util-endpoints": "3.686.0",
         "@aws-sdk/util-user-agent-browser": "3.686.0",
-        "@aws-sdk/util-user-agent-node": "3.687.0",
+        "@aws-sdk/util-user-agent-node": "3.691.0",
         "@smithy/config-resolver": "^3.0.10",
         "@smithy/core": "^2.5.1",
         "@smithy/fetch-http-handler": "^4.0.0",
@@ -400,24 +400,24 @@
       }
     },
     "node_modules/@aws-sdk/client-sso-oidc": {
-      "version": "3.687.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.687.0.tgz",
-      "integrity": "sha512-Rdd8kLeTeh+L5ZuG4WQnWgYgdv7NorytKdZsGjiag1D8Wv3PcJvPqqWdgnI0Og717BSXVoaTYaN34FyqFYSx6Q==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.691.0.tgz",
+      "integrity": "sha512-3njUhD4buM1RfigU6IXZ18/R9V5mbqNrAftgDabnNn4/V4Qly32nz+KQONXT5x0GqPszGhp+0mmwuLai9DxSrQ==",
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/sha256-browser": "5.2.0",
         "@aws-crypto/sha256-js": "5.2.0",
-        "@aws-sdk/core": "3.686.0",
-        "@aws-sdk/credential-provider-node": "3.687.0",
+        "@aws-sdk/core": "3.691.0",
+        "@aws-sdk/credential-provider-node": "3.691.0",
         "@aws-sdk/middleware-host-header": "3.686.0",
         "@aws-sdk/middleware-logger": "3.686.0",
         "@aws-sdk/middleware-recursion-detection": "3.686.0",
-        "@aws-sdk/middleware-user-agent": "3.687.0",
+        "@aws-sdk/middleware-user-agent": "3.691.0",
         "@aws-sdk/region-config-resolver": "3.686.0",
         "@aws-sdk/types": "3.686.0",
         "@aws-sdk/util-endpoints": "3.686.0",
         "@aws-sdk/util-user-agent-browser": "3.686.0",
-        "@aws-sdk/util-user-agent-node": "3.687.0",
+        "@aws-sdk/util-user-agent-node": "3.691.0",
         "@smithy/config-resolver": "^3.0.10",
         "@smithy/core": "^2.5.1",
         "@smithy/fetch-http-handler": "^4.0.0",
@@ -449,29 +449,29 @@
         "node": ">=16.0.0"
       },
       "peerDependencies": {
-        "@aws-sdk/client-sts": "^3.687.0"
+        "@aws-sdk/client-sts": "^3.691.0"
       }
     },
     "node_modules/@aws-sdk/client-sts": {
-      "version": "3.687.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.687.0.tgz",
-      "integrity": "sha512-SQjDH8O4XCTtouuCVYggB0cCCrIaTzUZIkgJUpOsIEJBLlTbNOb/BZqUShAQw2o9vxr2rCeOGjAQOYPysW/Pmg==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.691.0.tgz",
+      "integrity": "sha512-Qmj2euPnmIni/eFSrc9LUkg52/2D487fTcKMwZh0ldHv4fD4ossuXX7AaDur8SD9Lc9EOxn/hXCsI644YnGwew==",
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/sha256-browser": "5.2.0",
         "@aws-crypto/sha256-js": "5.2.0",
-        "@aws-sdk/client-sso-oidc": "3.687.0",
-        "@aws-sdk/core": "3.686.0",
-        "@aws-sdk/credential-provider-node": "3.687.0",
+        "@aws-sdk/client-sso-oidc": "3.691.0",
+        "@aws-sdk/core": "3.691.0",
+        "@aws-sdk/credential-provider-node": "3.691.0",
         "@aws-sdk/middleware-host-header": "3.686.0",
         "@aws-sdk/middleware-logger": "3.686.0",
         "@aws-sdk/middleware-recursion-detection": "3.686.0",
-        "@aws-sdk/middleware-user-agent": "3.687.0",
+        "@aws-sdk/middleware-user-agent": "3.691.0",
         "@aws-sdk/region-config-resolver": "3.686.0",
         "@aws-sdk/types": "3.686.0",
         "@aws-sdk/util-endpoints": "3.686.0",
         "@aws-sdk/util-user-agent-browser": "3.686.0",
-        "@aws-sdk/util-user-agent-node": "3.687.0",
+        "@aws-sdk/util-user-agent-node": "3.691.0",
         "@smithy/config-resolver": "^3.0.10",
         "@smithy/core": "^2.5.1",
         "@smithy/fetch-http-handler": "^4.0.0",
@@ -504,17 +504,17 @@
       }
     },
     "node_modules/@aws-sdk/core": {
-      "version": "3.686.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.686.0.tgz",
-      "integrity": "sha512-Xt3DV4DnAT3v2WURwzTxWQK34Ew+iiLzoUoguvLaZrVMFOqMMrwVjP+sizqIaHp1j7rGmFcN5I8saXnsDLuQLA==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.691.0.tgz",
+      "integrity": "sha512-5hyCj6gX92fXRf1kyfIpJetjVx0NxHbNmcLcrMy6oXuGNIBeJkMp+ZC6uJo3PsIjyPgGQSC++EhjLxpWiF/wHg==",
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "3.686.0",
         "@smithy/core": "^2.5.1",
         "@smithy/node-config-provider": "^3.1.9",
-        "@smithy/property-provider": "^3.1.7",
+        "@smithy/property-provider": "^3.1.8",
         "@smithy/protocol-http": "^4.1.5",
-        "@smithy/signature-v4": "^4.2.0",
+        "@smithy/signature-v4": "^4.2.1",
         "@smithy/smithy-client": "^3.4.2",
         "@smithy/types": "^3.6.0",
         "@smithy/util-middleware": "^3.0.8",
@@ -526,14 +526,14 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-env": {
-      "version": "3.686.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.686.0.tgz",
-      "integrity": "sha512-osD7lPO8OREkgxPiTWmA1i6XEmOth1uW9HWWj/+A2YGCj1G/t2sHu931w4Qj9NWHYZtbTTXQYVRg+TErALV7nQ==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.691.0.tgz",
+      "integrity": "sha512-c4Ip7tSNxt5VANVyryl6XjfEUCbm7f+iCUEfEWEezywll4DjNZ1N0l7nNmX4dDbwRAB42XH3rk5fbqBe0lXT8g==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.686.0",
+        "@aws-sdk/core": "3.691.0",
         "@aws-sdk/types": "3.686.0",
-        "@smithy/property-provider": "^3.1.7",
+        "@smithy/property-provider": "^3.1.8",
         "@smithy/types": "^3.6.0",
         "tslib": "^2.6.2"
       },
@@ -542,16 +542,16 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-http": {
-      "version": "3.686.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.686.0.tgz",
-      "integrity": "sha512-xyGAD/f3vR/wssUiZrNFWQWXZvI4zRm2wpHhoHA1cC2fbRMNFYtFn365yw6dU7l00ZLcdFB1H119AYIUZS7xbw==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.691.0.tgz",
+      "integrity": "sha512-RL2/d4DbUGeX8xKhXcwQvhAqd+WM3P87znSS5nEQA5pSwqeJsC3l2DCj+09yUM6I9n7nOppe5XephiiBpq190w==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.686.0",
+        "@aws-sdk/core": "3.691.0",
         "@aws-sdk/types": "3.686.0",
         "@smithy/fetch-http-handler": "^4.0.0",
         "@smithy/node-http-handler": "^3.2.5",
-        "@smithy/property-provider": "^3.1.7",
+        "@smithy/property-provider": "^3.1.8",
         "@smithy/protocol-http": "^4.1.5",
         "@smithy/smithy-client": "^3.4.2",
         "@smithy/types": "^3.6.0",
@@ -563,21 +563,21 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-ini": {
-      "version": "3.687.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.687.0.tgz",
-      "integrity": "sha512-6d5ZJeZch+ZosJccksN0PuXv7OSnYEmanGCnbhUqmUSz9uaVX6knZZfHCZJRgNcfSqg9QC0zsFA/51W5HCUqSQ==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.691.0.tgz",
+      "integrity": "sha512-NB5jbiBLAWD/oz2CHksKRHo+Q8KI8ljyZUDW091j7IDYEYZZ/c2jDkYWX7eGnJqKNZLxGtcc1B+yYJrE9xXnbQ==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.686.0",
-        "@aws-sdk/credential-provider-env": "3.686.0",
-        "@aws-sdk/credential-provider-http": "3.686.0",
-        "@aws-sdk/credential-provider-process": "3.686.0",
-        "@aws-sdk/credential-provider-sso": "3.687.0",
-        "@aws-sdk/credential-provider-web-identity": "3.686.0",
+        "@aws-sdk/core": "3.691.0",
+        "@aws-sdk/credential-provider-env": "3.691.0",
+        "@aws-sdk/credential-provider-http": "3.691.0",
+        "@aws-sdk/credential-provider-process": "3.691.0",
+        "@aws-sdk/credential-provider-sso": "3.691.0",
+        "@aws-sdk/credential-provider-web-identity": "3.691.0",
         "@aws-sdk/types": "3.686.0",
-        "@smithy/credential-provider-imds": "^3.2.4",
-        "@smithy/property-provider": "^3.1.7",
-        "@smithy/shared-ini-file-loader": "^3.1.8",
+        "@smithy/credential-provider-imds": "^3.2.5",
+        "@smithy/property-provider": "^3.1.8",
+        "@smithy/shared-ini-file-loader": "^3.1.9",
         "@smithy/types": "^3.6.0",
         "tslib": "^2.6.2"
       },
@@ -585,25 +585,25 @@
         "node": ">=16.0.0"
       },
       "peerDependencies": {
-        "@aws-sdk/client-sts": "^3.687.0"
+        "@aws-sdk/client-sts": "^3.691.0"
       }
     },
     "node_modules/@aws-sdk/credential-provider-node": {
-      "version": "3.687.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.687.0.tgz",
-      "integrity": "sha512-Pqld8Nx11NYaBUrVk3bYiGGpLCxkz8iTONlpQWoVWFhSOzlO7zloNOaYbD2XgFjjqhjlKzE91drs/f41uGeCTA==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.691.0.tgz",
+      "integrity": "sha512-GjQvajKDz6nKWS1Cxdzz2Ecu9R8aojOhRIPAgnG62MG5BvlqDddanF6szcDVSYtlWx+cv2SZ6lDYjoHnDnideQ==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/credential-provider-env": "3.686.0",
-        "@aws-sdk/credential-provider-http": "3.686.0",
-        "@aws-sdk/credential-provider-ini": "3.687.0",
-        "@aws-sdk/credential-provider-process": "3.686.0",
-        "@aws-sdk/credential-provider-sso": "3.687.0",
-        "@aws-sdk/credential-provider-web-identity": "3.686.0",
+        "@aws-sdk/credential-provider-env": "3.691.0",
+        "@aws-sdk/credential-provider-http": "3.691.0",
+        "@aws-sdk/credential-provider-ini": "3.691.0",
+        "@aws-sdk/credential-provider-process": "3.691.0",
+        "@aws-sdk/credential-provider-sso": "3.691.0",
+        "@aws-sdk/credential-provider-web-identity": "3.691.0",
         "@aws-sdk/types": "3.686.0",
-        "@smithy/credential-provider-imds": "^3.2.4",
-        "@smithy/property-provider": "^3.1.7",
-        "@smithy/shared-ini-file-loader": "^3.1.8",
+        "@smithy/credential-provider-imds": "^3.2.5",
+        "@smithy/property-provider": "^3.1.8",
+        "@smithy/shared-ini-file-loader": "^3.1.9",
         "@smithy/types": "^3.6.0",
         "tslib": "^2.6.2"
       },
@@ -612,15 +612,15 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-process": {
-      "version": "3.686.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.686.0.tgz",
-      "integrity": "sha512-sXqaAgyzMOc+dm4CnzAR5Q6S9OWVHyZjLfW6IQkmGjqeQXmZl24c4E82+w64C+CTkJrFLzH1VNOYp1Hy5gE6Qw==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.691.0.tgz",
+      "integrity": "sha512-tEoLkcxhF98aVHEyJ0n50rnNRewGUYYXszrNi8/sLh8enbDMWWByWReFPhNriE9oOdcrS5AKU7lCoY9i6zXQ3A==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.686.0",
+        "@aws-sdk/core": "3.691.0",
         "@aws-sdk/types": "3.686.0",
-        "@smithy/property-provider": "^3.1.7",
-        "@smithy/shared-ini-file-loader": "^3.1.8",
+        "@smithy/property-provider": "^3.1.8",
+        "@smithy/shared-ini-file-loader": "^3.1.9",
         "@smithy/types": "^3.6.0",
         "tslib": "^2.6.2"
       },
@@ -629,17 +629,17 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-sso": {
-      "version": "3.687.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.687.0.tgz",
-      "integrity": "sha512-N1YCoE7DovIRF2ReyRrA4PZzF0WNi4ObPwdQQkVxhvSm7PwjbWxrfq7rpYB+6YB1Uq3QPzgVwUFONE36rdpxUQ==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.691.0.tgz",
+      "integrity": "sha512-CxEiF2LMesk93dG+fCglLyVS9m7rjkWAZFUSSbjW7YbJC0VDks83hQG8EsFv+Grl/kvFITEvU0NoiavI6hbDlw==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/client-sso": "3.687.0",
-        "@aws-sdk/core": "3.686.0",
-        "@aws-sdk/token-providers": "3.686.0",
+        "@aws-sdk/client-sso": "3.691.0",
+        "@aws-sdk/core": "3.691.0",
+        "@aws-sdk/token-providers": "3.691.0",
         "@aws-sdk/types": "3.686.0",
-        "@smithy/property-provider": "^3.1.7",
-        "@smithy/shared-ini-file-loader": "^3.1.8",
+        "@smithy/property-provider": "^3.1.8",
+        "@smithy/shared-ini-file-loader": "^3.1.9",
         "@smithy/types": "^3.6.0",
         "tslib": "^2.6.2"
       },
@@ -648,14 +648,14 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-web-identity": {
-      "version": "3.686.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.686.0.tgz",
-      "integrity": "sha512-40UqCpPxyHCXDP7CGd9JIOZDgDZf+u1OyLaGBpjQJlz1HYuEsIWnnbTe29Yg3Ah/Zc3g4NBWcUdlGVotlnpnDg==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.691.0.tgz",
+      "integrity": "sha512-54FgLnyWpSTlQ8/plZRFSXkI83wgPhJ4zqcX+n+K3BcGil4/Vsn/8+JQSY+6CA6JtDSqhpKAe54o+2DbDexsVg==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.686.0",
+        "@aws-sdk/core": "3.691.0",
         "@aws-sdk/types": "3.686.0",
-        "@smithy/property-provider": "^3.1.7",
+        "@smithy/property-provider": "^3.1.8",
         "@smithy/types": "^3.6.0",
         "tslib": "^2.6.2"
       },
@@ -663,16 +663,16 @@
         "node": ">=16.0.0"
       },
       "peerDependencies": {
-        "@aws-sdk/client-sts": "^3.686.0"
+        "@aws-sdk/client-sts": "^3.691.0"
       }
     },
     "node_modules/@aws-sdk/lib-storage": {
-      "version": "3.689.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.689.0.tgz",
-      "integrity": "sha512-5onxtoSunbrTIt5bttlEAF92A7OJfYDL1+qTEMxdyvLXzOENp3WElXVpKKPeqowuOffABT9ZcoTo/0aHOdZ81w==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.691.0.tgz",
+      "integrity": "sha512-sX1005ICZhXlWOI/H/EXU/LU6a57zlt7cLPjk+T/JlCldDVGccDTcZh3MFS3DB1FioTlXqf9oSSVoBvJQCNg6g==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@smithy/abort-controller": "^3.1.5",
+        "@smithy/abort-controller": "^3.1.6",
         "@smithy/middleware-endpoint": "^3.2.1",
         "@smithy/smithy-client": "^3.4.2",
         "buffer": "5.6.0",
@@ -684,7 +684,7 @@
         "node": ">=16.0.0"
       },
       "peerDependencies": {
-        "@aws-sdk/client-s3": "^3.689.0"
+        "@aws-sdk/client-s3": "^3.691.0"
       }
     },
     "node_modules/@aws-sdk/middleware-bucket-endpoint": {
@@ -721,15 +721,15 @@
       }
     },
     "node_modules/@aws-sdk/middleware-flexible-checksums": {
-      "version": "3.689.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.689.0.tgz",
-      "integrity": "sha512-6VxMOf3mgmAgg6SMagwKj5pAe+putcx2F2odOAWviLcobFpdM/xK9vNry7p6kY+RDNmSlBvcji9wnU59fjV74Q==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.691.0.tgz",
+      "integrity": "sha512-jBKW3hZ8YpxlAecwuvMDWvs5tqu2I3BubptKeVJiwrEhNR1Yy3gtsZ1RnxCfGEEdVLS4fxc5JRF/jxPFnTT00Q==",
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/crc32": "5.2.0",
         "@aws-crypto/crc32c": "5.2.0",
         "@aws-crypto/util": "5.2.0",
-        "@aws-sdk/core": "3.686.0",
+        "@aws-sdk/core": "3.691.0",
         "@aws-sdk/types": "3.686.0",
         "@smithy/is-array-buffer": "^3.0.0",
         "@smithy/node-config-provider": "^3.1.9",
@@ -803,18 +803,18 @@
       }
     },
     "node_modules/@aws-sdk/middleware-sdk-s3": {
-      "version": "3.687.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.687.0.tgz",
-      "integrity": "sha512-YGHYqiyRiNNucmvLrfx3QxIkjSDWR/+cc72bn0lPvqFUQBRHZgmYQLxVYrVZSmRzzkH2FQ1HsZcXhOafLbq4vQ==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.691.0.tgz",
+      "integrity": "sha512-JYtpQNy9/M0qgihu7RY9vdrtuF+71H3U/BK7EqtskM/ioNL7twAAonCmXA2NXxYjS9bG+/3hw3xZkWSWfYvYFA==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.686.0",
+        "@aws-sdk/core": "3.691.0",
         "@aws-sdk/types": "3.686.0",
         "@aws-sdk/util-arn-parser": "3.679.0",
         "@smithy/core": "^2.5.1",
         "@smithy/node-config-provider": "^3.1.9",
         "@smithy/protocol-http": "^4.1.5",
-        "@smithy/signature-v4": "^4.2.0",
+        "@smithy/signature-v4": "^4.2.1",
         "@smithy/smithy-client": "^3.4.2",
         "@smithy/types": "^3.6.0",
         "@smithy/util-config-provider": "^3.0.0",
@@ -842,12 +842,12 @@
       }
     },
     "node_modules/@aws-sdk/middleware-user-agent": {
-      "version": "3.687.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.687.0.tgz",
-      "integrity": "sha512-nUgsKiEinyA50CaDXojAkOasAU3Apdg7Qox6IjNUC4ZjgOu7QWsCDB5N28AYMUt06cNYeYQdfMX1aEzG85a1Mg==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.691.0.tgz",
+      "integrity": "sha512-d1ieFuOw7Lh4PQguSWceOgX0B4YkZOuYPRZhlAbwx/LQayoZ7LDh//0bbdDdgDgKyNxCTN5EjdoCh/MAPaKIjQ==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.686.0",
+        "@aws-sdk/core": "3.691.0",
         "@aws-sdk/types": "3.686.0",
         "@aws-sdk/util-endpoints": "3.686.0",
         "@smithy/core": "^2.5.1",
@@ -877,12 +877,12 @@
       }
     },
     "node_modules/@aws-sdk/s3-request-presigner": {
-      "version": "3.689.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.689.0.tgz",
-      "integrity": "sha512-E9P59HEsPeFuO10yKyYE180J3V1DRVFTa0H0XzrBTP+s2g9g8xvfyGqoDYJw5YHUckqls39jT5nlbrf+kBSrfg==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.691.0.tgz",
+      "integrity": "sha512-aDGp+7uL9p+HXeG28pVS8z1VSqNOscbK9QcemRCHiIZCXUi+IzUTP0G7tzTQN4WjxYkjRC9dC9QEKE3KTh7z2Q==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/signature-v4-multi-region": "3.687.0",
+        "@aws-sdk/signature-v4-multi-region": "3.691.0",
         "@aws-sdk/types": "3.686.0",
         "@aws-sdk/util-format-url": "3.686.0",
         "@smithy/middleware-endpoint": "^3.2.1",
@@ -896,15 +896,15 @@
       }
     },
     "node_modules/@aws-sdk/signature-v4-multi-region": {
-      "version": "3.687.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.687.0.tgz",
-      "integrity": "sha512-vdOQHCRHJPX9mT8BM6xOseazHD6NodvHl9cyF5UjNtLn+gERRJEItIA9hf0hlt62odGD8Fqp+rFRuqdmbNkcNw==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.691.0.tgz",
+      "integrity": "sha512-xCKaOoKJMTHxDWA82KTFOqAQUyGEKUqH+Est9aruR9alawbRx+qiLNt/+AhLrGT8IaFNycuD7P73V8yScJKE2g==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/middleware-sdk-s3": "3.687.0",
+        "@aws-sdk/middleware-sdk-s3": "3.691.0",
         "@aws-sdk/types": "3.686.0",
         "@smithy/protocol-http": "^4.1.5",
-        "@smithy/signature-v4": "^4.2.0",
+        "@smithy/signature-v4": "^4.2.1",
         "@smithy/types": "^3.6.0",
         "tslib": "^2.6.2"
       },
@@ -913,14 +913,14 @@
       }
     },
     "node_modules/@aws-sdk/token-providers": {
-      "version": "3.686.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.686.0.tgz",
-      "integrity": "sha512-9oL4kTCSePFmyKPskibeiOXV6qavPZ63/kXM9Wh9V6dTSvBtLeNnMxqGvENGKJcTdIgtoqyqA6ET9u0PJ5IRIg==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.691.0.tgz",
+      "integrity": "sha512-XtBnNUOzdezdC/7bFYAenrUQCZI5raHZ1F+7qWEbEDbshz4nR6v0MczVXkaPsSJ6mel0sQMhYs7b3Y/0yUkB6w==",
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "3.686.0",
-        "@smithy/property-provider": "^3.1.7",
-        "@smithy/shared-ini-file-loader": "^3.1.8",
+        "@smithy/property-provider": "^3.1.8",
+        "@smithy/shared-ini-file-loader": "^3.1.9",
         "@smithy/types": "^3.6.0",
         "tslib": "^2.6.2"
       },
@@ -928,7 +928,7 @@
         "node": ">=16.0.0"
       },
       "peerDependencies": {
-        "@aws-sdk/client-sso-oidc": "^3.686.0"
+        "@aws-sdk/client-sso-oidc": "^3.691.0"
       }
     },
     "node_modules/@aws-sdk/types": {
@@ -1011,12 +1011,12 @@
       }
     },
     "node_modules/@aws-sdk/util-user-agent-node": {
-      "version": "3.687.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.687.0.tgz",
-      "integrity": "sha512-idkP6ojSTZ4ek1pJ8wIN7r9U3KR5dn0IkJn3KQBXQ58LWjkRqLtft2vxzdsktWwhPKjjmIKl1S0kbvqLawf8XQ==",
+      "version": "3.691.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.691.0.tgz",
+      "integrity": "sha512-n+g337W2W/S3Ju47vBNs970477WsLidmdQp1jaxFaBYjSV8l7Tm4dZNMtrq4AEvS+2ErkLpm9BmTiREoWR38Ag==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/middleware-user-agent": "3.687.0",
+        "@aws-sdk/middleware-user-agent": "3.691.0",
         "@aws-sdk/types": "3.686.0",
         "@smithy/node-config-provider": "^3.1.9",
         "@smithy/types": "^3.6.0",
@@ -1707,9 +1707,9 @@
       }
     },
     "node_modules/@hey-api/openapi-ts": {
-      "version": "0.55.2",
-      "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.55.2.tgz",
-      "integrity": "sha512-EdVslFxtV27prj8oLWCm4ZOFAx+zGOqRVbDkKOcaYzg6wQQdvQ0j14LMapvhM0PtP2hkffh6PGeh6dt9aJORZQ==",
+      "version": "0.55.3",
+      "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.55.3.tgz",
+      "integrity": "sha512-eboeFHqMimdTwhO5VrBl2HoPzby0wlbO8900N3ukvGu8dG9PgXGzHBcLF2ukwt4TReNcsIm3daj/9cqcJ5LWUQ==",
       "dev": true,
       "license": "FSL-1.1-MIT",
       "dependencies": {
@@ -3742,9 +3742,9 @@
       }
     },
     "node_modules/alien-signals": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-0.2.1.tgz",
-      "integrity": "sha512-FlEQrDJe9r2RI4cDlnK2zYqJezvx1uJaWEuwxsnlFqnPwvJbgitNBRumWrLDv8lA+7cCikpMxfJD2TTHiaTklA==",
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-0.2.2.tgz",
+      "integrity": "sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A==",
       "dev": true,
       "license": "MIT"
     },
diff --git a/src/components/MarkdownRenderer.vue b/src/components/MarkdownRenderer.vue
index 906e7d5ba849cfedb744a53d043ae44eb295d540..936b9bc66d5ce768029d15662e324e98d6141d46 100644
--- a/src/components/MarkdownRenderer.vue
+++ b/src/components/MarkdownRenderer.vue
@@ -5,7 +5,7 @@ import DOMPurify from "dompurify";
 import { computed } from "vue";
 
 const props = defineProps<{
-  markdown: string;
+  markdown?: string;
 }>();
 
 const converter = new showdown.Converter({
@@ -14,7 +14,7 @@ const converter = new showdown.Converter({
 });
 converter.setFlavor("github");
 const outputHtml = computed<string>(() => {
-  const dirtyHTML = converter.makeHtml(props.markdown);
+  const dirtyHTML = converter.makeHtml(props.markdown ?? "");
   return DOMPurify.sanitize(dirtyHTML);
 });
 </script>
diff --git a/src/components/parameter-schema/ParameterSchemaDescriptionComponent.vue b/src/components/parameter-schema/ParameterSchemaDescriptionComponent.vue
index c1517193021a794f021b68df27680975374a3ca4..9e401bef0ed515301edc01ba9cdbc981ac29cdba 100644
--- a/src/components/parameter-schema/ParameterSchemaDescriptionComponent.vue
+++ b/src/components/parameter-schema/ParameterSchemaDescriptionComponent.vue
@@ -44,10 +44,16 @@ const navParameterGroups = computed<ParameterGroup[]>(() => {
   return groups;
 });
 
+const schemaDefinitions = computed<Record<string, never>>(
+  () => props.schema?.["definitions"] ?? props.schema?.["$defs"],
+);
+
+/* eslint-disable @typescript-eslint/ban-ts-comment */
+// @ts-ignore
 const parameterGroups = computed<Record<string, never>>(() => {
   if (Object.keys(props.schema?.["properties"] ?? {}).length > 0) {
     return {
-      ...props.schema?.["definitions"],
+      ...schemaDefinitions.value,
       ungrouped_parameters: {
         title: "Ungrouped Parameters",
         properties: props.schema?.["properties"],
@@ -55,7 +61,7 @@ const parameterGroups = computed<Record<string, never>>(() => {
       },
     };
   }
-  return props.schema?.["definitions"];
+  return schemaDefinitions.value;
 });
 </script>
 
@@ -64,7 +70,7 @@ const parameterGroups = computed<Record<string, never>>(() => {
     <div class="col-9">
       <div v-for="(group, groupName) in parameterGroups" :key="groupName">
         <parameter-group-description
-          :parameter-group="group"
+          :schema-properties="parameterGroups"
           class="schema-group-description"
           :parameter-group-name="groupName"
           :show-hidden="showHidden"
diff --git a/src/components/parameter-schema/ParameterSchemaFormComponent.vue b/src/components/parameter-schema/ParameterSchemaFormComponent.vue
index 1b5086caf859d35d537a84d29881dce0325ce083..a0c2069bef6e9a11ab17355e129a463981a602e8 100644
--- a/src/components/parameter-schema/ParameterSchemaFormComponent.vue
+++ b/src/components/parameter-schema/ParameterSchemaFormComponent.vue
@@ -115,10 +115,16 @@ const formState = reactive<{
 
 // Computed Properties
 // =============================================================================
+const schemaDefinitions = computed<Record<string, never>>(
+  () => props.schema?.["definitions"] ?? props.schema?.["$defs"],
+);
+
+/* eslint-disable @typescript-eslint/ban-ts-comment */
+// @ts-ignore
 const parameterGroups = computed<Record<string, never>>(() => {
   if (Object.keys(props.schema?.["properties"] ?? {}).length > 0) {
     return {
-      ...props.schema?.["definitions"],
+      ...schemaDefinitions.value,
       ungrouped_parameters: {
         title: "Ungrouped Parameters",
         properties: props.schema?.["properties"],
@@ -126,7 +132,7 @@ const parameterGroups = computed<Record<string, never>>(() => {
       },
     };
   }
-  return props.schema?.["definitions"];
+  return schemaDefinitions.value;
 });
 
 // Create a list with the names of all parameter groups
diff --git a/src/components/parameter-schema/description-mode/ParameterDescription.vue b/src/components/parameter-schema/description-mode/ParameterDescription.vue
index 33f35f1a8efd775ef256b8a2c1d4749017571530..016f8ec15f8e2a0a7ed9fca78f85ff9713263c3d 100644
--- a/src/components/parameter-schema/description-mode/ParameterDescription.vue
+++ b/src/components/parameter-schema/description-mode/ParameterDescription.vue
@@ -1,14 +1,18 @@
 <script setup lang="ts">
-import { computed } from "vue";
+import { computed, onMounted, type PropType } from "vue";
 import FontAwesomeIcon from "@/components/FontAwesomeIcon.vue";
 import MarkdownRenderer from "@/components/MarkdownRenderer.vue";
+import type { ParameterAnyOfDependencies } from "@/types/WorkflowParameters.ts";
+import { Tooltip } from "bootstrap";
 
 const props = defineProps({
   parameter: {
     type: Object,
     required: true,
     validator(value: Record<string, never>) {
-      return ["boolean", "array", "number", "string"].includes(value["type"]);
+      return ["boolean", "array", "number", "string", "integer"].includes(
+        value["type"],
+      );
     },
   },
   required: Boolean,
@@ -24,6 +28,11 @@ const props = defineProps({
     type: Boolean,
     default: false,
   },
+  dependencies: {
+    type: Array as PropType<string[]>,
+    required: false,
+  },
+  anyOfDependencies: Object as PropType<ParameterAnyOfDependencies>,
 });
 
 const randomIDSuffix = Math.random().toString(16).substring(2, 8);
@@ -51,10 +60,56 @@ const showRightColum = computed<boolean>(
     props.required ||
     defaultValue.value != undefined,
 );
+
+const anyOfTooltip = computed<string | undefined>(() => {
+  let labelText: string | undefined = undefined;
+  if (props.anyOfDependencies != undefined) {
+    labelText = "<ul class='ps-3 ms-0 mb-0 text-start'>";
+    if (props.anyOfDependencies.group.length > 0) {
+      labelText +=
+        "<li>When this is set, these are also required:<ul >" +
+        props.anyOfDependencies.group
+          .map((a) => "<li>--" + a + "</li>")
+          .join("") +
+        "</ul></li>";
+    }
+    labelText +=
+      "<li>Set this or any of these parameters:<ul>" +
+      props.anyOfDependencies.dependencies
+        .map((a) => "<li>--" + a + "</li>")
+        .join("") +
+      "</ul></li></ul>";
+  }
+  return labelText;
+});
+
+// object with parameter name as key and tooltip string for dependentRequired label as value
+const dependentTooltip = computed<string | undefined>(() => {
+  if (props.dependencies != undefined) {
+    return (
+      "Required when these are set: <ul class='ps-4 mb-0 text-start'>" +
+      props.dependencies.map((a) => "<li>--" + a + "</li>").join("") +
+      "</ul></li>"
+    );
+  }
+  return undefined;
+});
+onMounted(() => {
+  document
+    ?.querySelector(`#parameter-${randomIDSuffix}`)
+    ?.querySelectorAll("[data-bs-toggle=tooltip]")
+    .forEach((tooltipTriggerEl) => {
+      Tooltip.getOrCreateInstance(tooltipTriggerEl);
+    });
+});
 </script>
 
 <template>
-  <div v-if="showHidden || !hidden" class="border-top">
+  <div
+    :id="`parameter-${randomIDSuffix}`"
+    :hidden="!showHidden && hidden"
+    class="border-top"
+  >
     <div class="d-flex pt-2 justify-content-between">
       <div class="flex-fill ps-2">
         <div class="row">
@@ -64,6 +119,26 @@ const showRightColum = computed<boolean>(
               >--{{ props.parameterName }}</code
             >
           </div>
+          <span
+            v-if="anyOfTooltip != undefined"
+            class="rounded p-1 bg-secondary ms-2 label w-fit"
+            data-bs-toggle="tooltip"
+            data-bs-placement="bottom"
+            :data-bs-title="anyOfTooltip"
+            data-bs-custom-class="parameter-form-tooltip"
+            data-bs-html="true"
+            >anyOf</span
+          >
+          <span
+            v-if="dependentTooltip != undefined"
+            class="rounded p-1 bg-secondary ms-2 label w-fit"
+            data-bs-toggle="tooltip"
+            data-bs-placement="bottom"
+            :data-bs-title="dependentTooltip"
+            data-bs-custom-class="parameter-form-tooltip"
+            data-bs-html="true"
+            >dependent</span
+          >
         </div>
         <div class="row align-items-start mt-2">
           <div class="col-auto">
@@ -155,4 +230,8 @@ a:hover {
 code.border {
   backdrop-filter: brightness(0.95);
 }
+
+.label {
+  cursor: help;
+}
 </style>
diff --git a/src/components/parameter-schema/description-mode/ParameterGroupDescription.vue b/src/components/parameter-schema/description-mode/ParameterGroupDescription.vue
index acd145139016082edfbba47cc5f3df6780e2d26d..dd00f5b2cb6f3c4159033ef24baebad3e96c58c3 100644
--- a/src/components/parameter-schema/description-mode/ParameterGroupDescription.vue
+++ b/src/components/parameter-schema/description-mode/ParameterGroupDescription.vue
@@ -2,19 +2,17 @@
 import { computed, type PropType } from "vue";
 import FontAwesomeIcon from "@/components/FontAwesomeIcon.vue";
 import ParameterDescription from "@/components/parameter-schema/description-mode/ParameterDescription.vue";
+import type { ParameterAnyOfDependencies } from "@/types/WorkflowParameters.ts";
 
 const props = defineProps({
-  parameterGroup: {
-    type: Object,
-    required: true,
-    validator(value: Record<string, never>) {
-      return "object" === value["type"];
-    },
-  },
   parameterGroupName: {
     type: String,
     required: true,
   },
+  schemaProperties: {
+    type: Object,
+    required: true,
+  },
   showHidden: {
     type: Boolean,
     default: false,
@@ -25,9 +23,12 @@ const props = defineProps({
   },
 });
 
-const title = computed<string>(() => props.parameterGroup["title"]);
-const icon = computed<string>(() => props.parameterGroup["fa_icon"]);
-const description = computed<string>(() => props.parameterGroup["description"]);
+const title = computed<string>(() => parameterGroup.value["title"]);
+const icon = computed<string>(() => parameterGroup.value["fa_icon"]);
+const description = computed<string>(() => parameterGroup.value["description"]);
+const parameters = computed<Record<string, never>>(
+  () => parameterGroup.value["properties"],
+);
 
 const groupHidden = computed<boolean>(() =>
   Object.keys(parameters.value).reduce(
@@ -36,16 +37,65 @@ const groupHidden = computed<boolean>(() =>
   ),
 );
 
-const parameters = computed<Record<string, never>>(
-  () => props.parameterGroup["properties"],
+const parameterGroup = computed(
+  () => props.schemaProperties[props.parameterGroupName],
+);
+
+/*
+Object with parameter name as key and list of parameters that make the parameter required if they are set as value
+JSONSchema DependentRequired
+ */
+const parameterDependenciesPerParameter = computed<Record<string, string[]>>(
+  () => {
+    const r: Record<string, string[]> = {};
+    for (const groupName of Object.keys(props.schemaProperties)) {
+      const dep =
+        props.schemaProperties[groupName]["dependentRequired"] ??
+        props.schemaProperties[groupName]["dependencies"] ??
+        {};
+      for (const paramName of Object.keys(dep)) {
+        for (const depParam of dep[paramName]) {
+          if (parameters.value[depParam] != undefined) {
+            if (r[depParam] == undefined) {
+              r[depParam] = [paramName];
+            } else {
+              r[depParam].push(depParam);
+            }
+          }
+        }
+      }
+    }
+    return r;
+  },
 );
+
+// object with parameter name as key and anyOf dependencies as value
+const parameterAnyOfDependenciesPerParameter = computed<
+  Record<string, ParameterAnyOfDependencies>
+>(() => {
+  const b: string[][] =
+    parameterGroup.value["anyOf"]
+      ?.map((b: Record<string, string[]>) => b["required"] ?? [])
+      ?.filter((b: string[]) => b.length > 0) ?? [];
+  const r: Record<string, ParameterAnyOfDependencies> = {};
+  for (const paramName of b.flat()) {
+    r[paramName] = {
+      group:
+        b.find((a) => a.includes(paramName))?.filter((a) => a != paramName) ??
+        [],
+      dependencies: b.filter((a) => !a.includes(paramName)).flat(),
+    };
+  }
+  return r;
+});
 </script>
 
 <template>
-  <div v-if="props.showHidden || !groupHidden" class="mb-5">
+  <div :hidden="!props.showHidden && groupHidden" class="mb-5">
     <div class="row">
       <h2 :id="props.parameterGroupName">
-        <font-awesome-icon v-if="icon" :icon="icon" class="me-3" />{{ title }}
+        <font-awesome-icon v-if="icon" :icon="icon" class="me-3" />
+        {{ title }}
       </h2>
       <h4>{{ description }}</h4>
     </div>
@@ -57,11 +107,13 @@ const parameters = computed<Record<string, never>>(
         v-if="parameter['type'] !== 'object'"
         :parameter-name="parameterName"
         :parameter="parameter"
-        :required="
-          props.parameterGroup['required']?.includes(parameterName) ?? false
-        "
+        :required="parameterGroup['required']?.includes(parameterName) ?? false"
         :show-hidden="showHidden"
         :clowm-resource="resourceParameters?.includes(parameterName)"
+        :dependencies="parameterDependenciesPerParameter[parameterName]"
+        :any-of-dependencies="
+          parameterAnyOfDependenciesPerParameter[parameterName]
+        "
       />
     </template>
   </div>
diff --git a/src/components/parameter-schema/form-mode/ParameterGroupForm.vue b/src/components/parameter-schema/form-mode/ParameterGroupForm.vue
index caeeb6d5571625585054da667a35c09959f52ba7..ba8b1b583ecab4353fb2b53de8d819c678a0157d 100644
--- a/src/components/parameter-schema/form-mode/ParameterGroupForm.vue
+++ b/src/components/parameter-schema/form-mode/ParameterGroupForm.vue
@@ -2,7 +2,10 @@
 import FontAwesomeIcon from "@/components/FontAwesomeIcon.vue";
 import { computed, onMounted, type PropType } from "vue";
 import MarkdownRenderer from "@/components/MarkdownRenderer.vue";
-import type { FlatWorkflowParameters } from "@/types/WorkflowParameters";
+import type {
+  FlatWorkflowParameters,
+  ParameterAnyOfDependencies,
+} from "@/types/WorkflowParameters";
 import ParameterInput from "@/components/parameter-schema/form-mode/ParameterInput.vue";
 import { Tooltip } from "bootstrap";
 import { md5 } from "@/utils/md5";
@@ -128,11 +131,6 @@ function parameterAnyOfRequired(parameterName: string): boolean {
   );
 }
 
-interface ParameterAnyOfDependencies {
-  group: string[]; // AND group in OR combination
-  dependencies: string[]; // OR combination to fulfill
-}
-
 // object with parameter name as key and anyOf dependencies as value
 const parameterAnyOfDependenciesPerParameter = computed<
   Record<string, ParameterAnyOfDependencies>
diff --git a/src/types/WorkflowParameters.ts b/src/types/WorkflowParameters.ts
index 51b702e09f5ad66d5c6cd783e9a7b8afe8760acc..b13fbe918c3571684dd38a3c81841ed94fdb6f85 100644
--- a/src/types/WorkflowParameters.ts
+++ b/src/types/WorkflowParameters.ts
@@ -17,3 +17,8 @@ export type TemporaryParams = {
   params?: NestedWorkflowParameters;
   metaParams?: WorkflowMetaParameters;
 };
+
+export interface ParameterAnyOfDependencies {
+  group: string[]; // AND group in OR combination
+  dependencies: string[]; // OR combination to fulfill
+}