mediawiki/extensions/CampaignEvents: REL1_39 (log #1464328)

sourcepatches

This run took 45 seconds.

From ee0238fa8ada834a63681a24cb5d1760b0bfedc2 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 22 Aug 2024 03:06:17 +0000
Subject: [PATCH] build: Updating braces to 3.0.3

* https://github.com/advisories/GHSA-grv7-fg5c-xmjg

Change-Id: I5df8edeccd75d33754fb52d2c0cf4ab7ca67cf23
---
 package-lock.json | 411 ++++++++++++++++++++++++----------------------
 1 file changed, 217 insertions(+), 194 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 37ea2aa..8bd3392 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -93,6 +93,23 @@
 				"node": ">=0.8.0"
 			}
 		},
+		"node_modules/@csstools/selector-specificity": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+			"integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+			"dev": true,
+			"peer": true,
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/csstools"
+			},
+			"peerDependencies": {
+				"postcss-selector-parser": "^6.0.10"
+			}
+		},
 		"node_modules/@es-joy/jsdoccomment": {
 			"version": "0.18.0",
 			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.18.0.tgz",
@@ -1485,12 +1502,12 @@
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
@@ -2166,9 +2183,9 @@
 			"dev": true
 		},
 		"node_modules/colord": {
-			"version": "2.9.2",
-			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
-			"integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
+			"version": "2.9.3",
+			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+			"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
 			"dev": true
 		},
 		"node_modules/colors": {
@@ -2254,9 +2271,9 @@
 			"dev": true
 		},
 		"node_modules/cosmiconfig": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
-			"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+			"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
 			"dev": true,
 			"dependencies": {
 				"@types/parse-json": "^4.0.0",
@@ -2318,12 +2335,12 @@
 			}
 		},
 		"node_modules/css-functions-list": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz",
-			"integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==",
+			"version": "3.2.2",
+			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz",
+			"integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==",
 			"dev": true,
 			"engines": {
-				"node": ">=12.22"
+				"node": ">=12 || >=16"
 			}
 		},
 		"node_modules/css-rule-stream": {
@@ -3579,9 +3596,9 @@
 			}
 		},
 		"node_modules/expect-webdriverio": {
-			"version": "3.4.0",
-			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-3.4.0.tgz",
-			"integrity": "sha512-7Ivy1IB35pmkbCcI36un2OMytGEYCy1PcdqrlDnWZBzTpewAO14r+gO2FSuO5kNpDWm3gZSD4NYLG1KXJOlI3w==",
+			"version": "3.6.0",
+			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-3.6.0.tgz",
+			"integrity": "sha512-8HuVToXDVzkKgUKIUzW/v3bP4ZoMDEwCjX9QmlRlMIvjt3HOSzSIBnRMv8lpeVTUKoR9DZNr/lSuKH4Amx4BBg==",
 			"dev": true,
 			"dependencies": {
 				"expect": "^28.1.0",
@@ -3644,9 +3661,9 @@
 			"dev": true
 		},
 		"node_modules/fast-glob": {
-			"version": "3.2.11",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-			"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+			"version": "3.3.2",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+			"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
 			"dev": true,
 			"dependencies": {
 				"@nodelib/fs.stat": "^2.0.2",
@@ -3678,10 +3695,13 @@
 			"dev": true
 		},
 		"node_modules/fastest-levenshtein": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
-			"integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
-			"dev": true
+			"version": "1.0.16",
+			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+			"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+			"dev": true,
+			"engines": {
+				"node": ">= 4.9.1"
+			}
 		},
 		"node_modules/fastq": {
 			"version": "1.13.0",
@@ -3768,9 +3788,9 @@
 			}
 		},
 		"node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
@@ -4301,6 +4321,38 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/grunt-cli": {
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
+			"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
+			"dev": true,
+			"dependencies": {
+				"grunt-known-options": "~2.0.0",
+				"interpret": "~1.1.0",
+				"liftup": "~3.0.1",
+				"nopt": "~4.0.1",
+				"v8flags": "~3.2.0"
+			},
+			"bin": {
+				"grunt": "bin/grunt"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/grunt-cli/node_modules/nopt": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+			"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+			"dev": true,
+			"dependencies": {
+				"abbrev": "1",
+				"osenv": "^0.1.4"
+			},
+			"bin": {
+				"nopt": "bin/nopt.js"
+			}
+		},
 		"node_modules/grunt-eslint": {
 			"version": "24.0.0",
 			"resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-24.0.0.tgz",
@@ -4407,38 +4459,6 @@
 				"node": "*"
 			}
 		},
-		"node_modules/grunt/node_modules/grunt-cli": {
-			"version": "1.4.3",
-			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
-			"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
-			"dev": true,
-			"dependencies": {
-				"grunt-known-options": "~2.0.0",
-				"interpret": "~1.1.0",
-				"liftup": "~3.0.1",
-				"nopt": "~4.0.1",
-				"v8flags": "~3.2.0"
-			},
-			"bin": {
-				"grunt": "bin/grunt"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
-		"node_modules/grunt/node_modules/grunt-cli/node_modules/nopt": {
-			"version": "4.0.3",
-			"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
-			"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
-			"dev": true,
-			"dependencies": {
-				"abbrev": "1",
-				"osenv": "^0.1.4"
-			},
-			"bin": {
-				"nopt": "bin/nopt.js"
-			}
-		},
 		"node_modules/har-schema": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
@@ -4671,9 +4691,9 @@
 			]
 		},
 		"node_modules/ignore": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-			"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true,
 			"engines": {
 				"node": ">= 4"
@@ -5237,9 +5257,9 @@
 			}
 		},
 		"node_modules/known-css-properties": {
-			"version": "0.25.0",
-			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz",
-			"integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==",
+			"version": "0.26.0",
+			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
+			"integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
 			"dev": true,
 			"peer": true
 		},
@@ -5719,12 +5739,12 @@
 			}
 		},
 		"node_modules/micromatch": {
-			"version": "4.0.5",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+			"version": "4.0.7",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+			"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
 			"dev": true,
 			"dependencies": {
-				"braces": "^3.0.2",
+				"braces": "^3.0.3",
 				"picomatch": "^2.3.1"
 			},
 			"engines": {
@@ -6240,7 +6260,7 @@
 		"node_modules/os-homedir": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-			"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+			"integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -6259,6 +6279,7 @@
 			"version": "0.1.5",
 			"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
 			"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+			"deprecated": "This package is no longer supported.",
 			"dev": true,
 			"dependencies": {
 				"os-homedir": "^1.0.0",
@@ -6655,9 +6676,9 @@
 			}
 		},
 		"node_modules/postcss-selector-parser": {
-			"version": "6.0.10",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
-			"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
+			"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
 			"dev": true,
 			"dependencies": {
 				"cssesc": "^3.0.0",
@@ -7865,53 +7886,50 @@
 			"dev": true
 		},
 		"node_modules/stylelint": {
-			"version": "14.8.2",
-			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.2.tgz",
-			"integrity": "sha512-tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==",
+			"version": "14.16.1",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
+			"integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
+				"@csstools/selector-specificity": "^2.0.2",
 				"balanced-match": "^2.0.0",
-				"colord": "^2.9.2",
-				"cosmiconfig": "^7.0.1",
-				"css-functions-list": "^3.0.1",
+				"colord": "^2.9.3",
+				"cosmiconfig": "^7.1.0",
+				"css-functions-list": "^3.1.0",
 				"debug": "^4.3.4",
-				"execall": "^2.0.0",
-				"fast-glob": "^3.2.11",
-				"fastest-levenshtein": "^1.0.12",
+				"fast-glob": "^3.2.12",
+				"fastest-levenshtein": "^1.0.16",
 				"file-entry-cache": "^6.0.1",
-				"get-stdin": "^8.0.0",
 				"global-modules": "^2.0.0",
 				"globby": "^11.1.0",
 				"globjoin": "^0.1.4",
 				"html-tags": "^3.2.0",
-				"ignore": "^5.2.0",
+				"ignore": "^5.2.1",
 				"import-lazy": "^4.0.0",
 				"imurmurhash": "^0.1.4",
 				"is-plain-object": "^5.0.0",
-				"known-css-properties": "^0.25.0",
+				"known-css-properties": "^0.26.0",
 				"mathml-tag-names": "^2.1.3",
 				"meow": "^9.0.0",
 				"micromatch": "^4.0.5",
 				"normalize-path": "^3.0.0",
-				"normalize-selector": "^0.2.0",
 				"picocolors": "^1.0.0",
-				"postcss": "^8.4.13",
+				"postcss": "^8.4.19",
 				"postcss-media-query-parser": "^0.2.3",
 				"postcss-resolve-nested-selector": "^0.1.1",
 				"postcss-safe-parser": "^6.0.0",
-				"postcss-selector-parser": "^6.0.10",
+				"postcss-selector-parser": "^6.0.11",
 				"postcss-value-parser": "^4.2.0",
 				"resolve-from": "^5.0.0",
-				"specificity": "^0.4.1",
 				"string-width": "^4.2.3",
 				"strip-ansi": "^6.0.1",
 				"style-search": "^0.1.0",
-				"supports-hyperlinks": "^2.2.0",
+				"supports-hyperlinks": "^2.3.0",
 				"svg-tags": "^1.0.0",
-				"table": "^6.8.0",
+				"table": "^6.8.1",
 				"v8-compile-cache": "^2.3.0",
-				"write-file-atomic": "^4.0.1"
+				"write-file-atomic": "^4.0.2"
 			},
 			"bin": {
 				"stylelint": "bin/stylelint.js"
@@ -8254,9 +8272,9 @@
 			}
 		},
 		"node_modules/supports-hyperlinks": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
-			"integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+			"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
 			"dev": true,
 			"dependencies": {
 				"has-flag": "^4.0.0",
@@ -8294,9 +8312,9 @@
 			"dev": true
 		},
 		"node_modules/table": {
-			"version": "6.8.0",
-			"resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
-			"integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+			"version": "6.8.2",
+			"resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
+			"integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
 			"dev": true,
 			"dependencies": {
 				"ajv": "^8.0.1",
@@ -8939,16 +8957,16 @@
 			"dev": true
 		},
 		"node_modules/write-file-atomic": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
-			"integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+			"integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
 			"dev": true,
 			"dependencies": {
 				"imurmurhash": "^0.1.4",
 				"signal-exit": "^3.0.7"
 			},
 			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16"
+				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
 			}
 		},
 		"node_modules/ws": {
@@ -9315,6 +9333,14 @@
 				}
 			}
 		},
+		"@csstools/selector-specificity": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+			"integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+			"dev": true,
+			"peer": true,
+			"requires": {}
+		},
 		"@es-joy/jsdoccomment": {
 			"version": "0.18.0",
 			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.18.0.tgz",
@@ -10464,12 +10490,12 @@
 			}
 		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"browser-stdout": {
@@ -10957,9 +10983,9 @@
 			"dev": true
 		},
 		"colord": {
-			"version": "2.9.2",
-			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
-			"integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
+			"version": "2.9.3",
+			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+			"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
 			"dev": true
 		},
 		"colors": {
@@ -11030,9 +11056,9 @@
 			"dev": true
 		},
 		"cosmiconfig": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
-			"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+			"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
 			"dev": true,
 			"requires": {
 				"@types/parse-json": "^4.0.0",
@@ -11079,9 +11105,9 @@
 			}
 		},
 		"css-functions-list": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz",
-			"integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==",
+			"version": "3.2.2",
+			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz",
+			"integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==",
 			"dev": true
 		},
 		"css-rule-stream": {
@@ -12054,9 +12080,9 @@
 			}
 		},
 		"expect-webdriverio": {
-			"version": "3.4.0",
-			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-3.4.0.tgz",
-			"integrity": "sha512-7Ivy1IB35pmkbCcI36un2OMytGEYCy1PcdqrlDnWZBzTpewAO14r+gO2FSuO5kNpDWm3gZSD4NYLG1KXJOlI3w==",
+			"version": "3.6.0",
+			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-3.6.0.tgz",
+			"integrity": "sha512-8HuVToXDVzkKgUKIUzW/v3bP4ZoMDEwCjX9QmlRlMIvjt3HOSzSIBnRMv8lpeVTUKoR9DZNr/lSuKH4Amx4BBg==",
 			"dev": true,
 			"requires": {
 				"expect": "^28.1.0",
@@ -12105,9 +12131,9 @@
 			"dev": true
 		},
 		"fast-glob": {
-			"version": "3.2.11",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-			"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+			"version": "3.3.2",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+			"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
 			"dev": true,
 			"requires": {
 				"@nodelib/fs.stat": "^2.0.2",
@@ -12136,9 +12162,9 @@
 			"dev": true
 		},
 		"fastest-levenshtein": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
-			"integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
+			"version": "1.0.16",
+			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+			"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
 			"dev": true
 		},
 		"fastq": {
@@ -12215,9 +12241,9 @@
 			}
 		},
 		"fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"requires": {
 				"to-regex-range": "^5.0.1"
@@ -12627,31 +12653,6 @@
 						"once": "^1.3.0",
 						"path-is-absolute": "^1.0.0"
 					}
-				},
-				"grunt-cli": {
-					"version": "1.4.3",
-					"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
-					"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
-					"dev": true,
-					"requires": {
-						"grunt-known-options": "~2.0.0",
-						"interpret": "~1.1.0",
-						"liftup": "~3.0.1",
-						"nopt": "~4.0.1",
-						"v8flags": "~3.2.0"
-					},
-					"dependencies": {
-						"nopt": {
-							"version": "4.0.3",
-							"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
-							"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
-							"dev": true,
-							"requires": {
-								"abbrev": "1",
-								"osenv": "^0.1.4"
-							}
-						}
-					}
 				}
 			}
 		},
@@ -12661,6 +12662,31 @@
 			"integrity": "sha512-SqPiB6OazWqR8USL0NymtuT5Br3mD9WBBsM1rHC/3wIi2SrZNM6/+j9CIeuEM5oCn+AtO2Y0+rzzFyOdC9afAg==",
 			"dev": true
 		},
+		"grunt-cli": {
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
+			"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
+			"dev": true,
+			"requires": {
+				"grunt-known-options": "~2.0.0",
+				"interpret": "~1.1.0",
+				"liftup": "~3.0.1",
+				"nopt": "~4.0.1",
+				"v8flags": "~3.2.0"
+			},
+			"dependencies": {
+				"nopt": {
+					"version": "4.0.3",
+					"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+					"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+					"dev": true,
+					"requires": {
+						"abbrev": "1",
+						"osenv": "^0.1.4"
+					}
+				}
+			}
+		},
 		"grunt-eslint": {
 			"version": "24.0.0",
 			"resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-24.0.0.tgz",
@@ -12880,9 +12906,9 @@
 			"dev": true
 		},
 		"ignore": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-			"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true
 		},
 		"import-fresh": {
@@ -13330,9 +13356,9 @@
 			"dev": true
 		},
 		"known-css-properties": {
-			"version": "0.25.0",
-			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz",
-			"integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==",
+			"version": "0.26.0",
+			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
+			"integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
 			"dev": true,
 			"peer": true
 		},
@@ -13750,12 +13776,12 @@
 			"dev": true
 		},
 		"micromatch": {
-			"version": "4.0.5",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+			"version": "4.0.7",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+			"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
 			"dev": true,
 			"requires": {
-				"braces": "^3.0.2",
+				"braces": "^3.0.3",
 				"picomatch": "^2.3.1"
 			}
 		},
@@ -14135,7 +14161,7 @@
 		"os-homedir": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-			"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+			"integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
 			"dev": true
 		},
 		"os-tmpdir": {
@@ -14430,9 +14456,9 @@
 			"requires": {}
 		},
 		"postcss-selector-parser": {
-			"version": "6.0.10",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
-			"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
+			"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
 			"dev": true,
 			"requires": {
 				"cssesc": "^3.0.0",
@@ -15378,53 +15404,50 @@
 			"dev": true
 		},
 		"stylelint": {
-			"version": "14.8.2",
-			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.2.tgz",
-			"integrity": "sha512-tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==",
+			"version": "14.16.1",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
+			"integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
 			"dev": true,
 			"peer": true,
 			"requires": {
+				"@csstools/selector-specificity": "^2.0.2",
 				"balanced-match": "^2.0.0",
-				"colord": "^2.9.2",
-				"cosmiconfig": "^7.0.1",
-				"css-functions-list": "^3.0.1",
+				"colord": "^2.9.3",
+				"cosmiconfig": "^7.1.0",
+				"css-functions-list": "^3.1.0",
 				"debug": "^4.3.4",
-				"execall": "^2.0.0",
-				"fast-glob": "^3.2.11",
-				"fastest-levenshtein": "^1.0.12",
+				"fast-glob": "^3.2.12",
+				"fastest-levenshtein": "^1.0.16",
 				"file-entry-cache": "^6.0.1",
-				"get-stdin": "^8.0.0",
 				"global-modules": "^2.0.0",
 				"globby": "^11.1.0",
 				"globjoin": "^0.1.4",
 				"html-tags": "^3.2.0",
-				"ignore": "^5.2.0",
+				"ignore": "^5.2.1",
 				"import-lazy": "^4.0.0",
 				"imurmurhash": "^0.1.4",
 				"is-plain-object": "^5.0.0",
-				"known-css-properties": "^0.25.0",
+				"known-css-properties": "^0.26.0",
 				"mathml-tag-names": "^2.1.3",
 				"meow": "^9.0.0",
 				"micromatch": "^4.0.5",
 				"normalize-path": "^3.0.0",
-				"normalize-selector": "^0.2.0",
 				"picocolors": "^1.0.0",
-				"postcss": "^8.4.13",
+				"postcss": "^8.4.19",
 				"postcss-media-query-parser": "^0.2.3",
 				"postcss-resolve-nested-selector": "^0.1.1",
 				"postcss-safe-parser": "^6.0.0",
-				"postcss-selector-parser": "^6.0.10",
+				"postcss-selector-parser": "^6.0.11",
 				"postcss-value-parser": "^4.2.0",
 				"resolve-from": "^5.0.0",
-				"specificity": "^0.4.1",
 				"string-width": "^4.2.3",
 				"strip-ansi": "^6.0.1",
 				"style-search": "^0.1.0",
-				"supports-hyperlinks": "^2.2.0",
+				"supports-hyperlinks": "^2.3.0",
 				"svg-tags": "^1.0.0",
-				"table": "^6.8.0",
+				"table": "^6.8.1",
 				"v8-compile-cache": "^2.3.0",
-				"write-file-atomic": "^4.0.1"
+				"write-file-atomic": "^4.0.2"
 			},
 			"dependencies": {
 				"balanced-match": {
@@ -15681,9 +15704,9 @@
 			}
 		},
 		"supports-hyperlinks": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
-			"integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+			"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
 			"dev": true,
 			"requires": {
 				"has-flag": "^4.0.0",
@@ -15714,9 +15737,9 @@
 			"dev": true
 		},
 		"table": {
-			"version": "6.8.0",
-			"resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
-			"integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+			"version": "6.8.2",
+			"resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
+			"integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
 			"dev": true,
 			"requires": {
 				"ajv": "^8.0.1",
@@ -16216,9 +16239,9 @@
 			"dev": true
 		},
 		"write-file-atomic": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
-			"integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+			"integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
 			"dev": true,
 			"requires": {
 				"imurmurhash": "^0.1.4",
-- 
2.39.2

$ date
--- stdout ---
Thu Aug 22 03:05:37 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-CampaignEvents.git repo --depth=1 -b REL1_39
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/REL1_39
--- stdout ---
8c46fa48b527a51f736a9786426fa0435c2703ed refs/heads/REL1_39

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "webdriverio"
      ],
      "effects": [],
      "range": "7.16.5 - 8.40.3",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/runner"
      ],
      "effects": [],
      "range": "7.16.5 - 8.40.3",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    },
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "expect-webdriverio"
      ],
      "effects": [],
      "range": "6.1.6 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "9.0.6",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "7.16.5 - 8.40.3",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    },
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098094,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/braces"
      ],
      "fixAvailable": true
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "expect": {
      "name": "expect",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "jest-message-util"
      ],
      "effects": [
        "expect-webdriverio"
      ],
      "range": ">=21.0.0-beta.1",
      "nodes": [
        "node_modules/expect"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "9.0.6",
        "isSemVerMajor": true
      }
    },
    "expect-webdriverio": {
      "name": "expect-webdriverio",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "expect"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": "1.0.0 - 4.6.1 || >=4.7.2",
      "nodes": [
        "node_modules/expect-webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "9.0.6",
        "isSemVerMajor": true
      }
    },
    "fast-glob": {
      "name": "fast-glob",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "globby",
        "stylelint"
      ],
      "range": "*",
      "nodes": [
        "node_modules/fast-glob"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.6.0",
        "isSemVerMajor": true
      }
    },
    "findup-sync": {
      "name": "findup-sync",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "liftup"
      ],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/liftup/node_modules/findup-sync"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.3.0",
        "isSemVerMajor": true
      }
    },
    "globby": {
      "name": "globby",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "fast-glob"
      ],
      "effects": [
        "stylelint"
      ],
      "range": ">=8.0.0",
      "nodes": [
        "node_modules/globby"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.6.0",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "grunt-cli"
      ],
      "effects": [],
      "range": ">=1.4.0",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.3.0",
        "isSemVerMajor": true
      }
    },
    "grunt-cli": {
      "name": "grunt-cli",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "liftup"
      ],
      "effects": [
        "grunt"
      ],
      "range": ">=1.4.0",
      "nodes": [
        "node_modules/grunt/node_modules/grunt-cli"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.3.0",
        "isSemVerMajor": true
      }
    },
    "grunt-stylelint": {
      "name": "grunt-stylelint",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "stylelint"
      ],
      "effects": [],
      "range": ">=0.7.0",
      "nodes": [
        "node_modules/grunt-stylelint"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.6.0",
        "isSemVerMajor": true
      }
    },
    "jest-message-util": {
      "name": "jest-message-util",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "expect"
      ],
      "range": ">=18.5.0-alpha.7da3df39",
      "nodes": [
        "node_modules/jest-message-util"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "9.0.6",
        "isSemVerMajor": true
      }
    },
    "liftup": {
      "name": "liftup",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "findup-sync"
      ],
      "effects": [
        "grunt-cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/liftup"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.3.0",
        "isSemVerMajor": true
      }
    },
    "micromatch": {
      "name": "micromatch",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1098615,
          "name": "micromatch",
          "dependency": "micromatch",
          "title": "Regular Expression Denial of Service (ReDoS) in micromatch",
          "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<=4.0.7"
        }
      ],
      "effects": [
        "fast-glob",
        "findup-sync",
        "jest-message-util",
        "stylelint"
      ],
      "range": "*",
      "nodes": [
        "node_modules/micromatch"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.6.0",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "11.0.0 - 22.11.1",
      "nodes": [
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "stylelint": {
      "name": "stylelint",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "fast-glob",
        "globby",
        "micromatch"
      ],
      "effects": [
        "grunt-stylelint",
        "stylelint-config-recommended",
        "stylelint-config-wikimedia",
        "stylelint-no-unsupported-browser-features"
      ],
      "range": ">=7.7.1",
      "nodes": [
        "node_modules/stylelint",
        "node_modules/stylelint-config-wikimedia/node_modules/stylelint"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.6.0",
        "isSemVerMajor": true
      }
    },
    "stylelint-config-recommended": {
      "name": "stylelint-config-recommended",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "stylelint"
      ],
      "effects": [
        "stylelint-config-wikimedia"
      ],
      "range": "*",
      "nodes": [
        "node_modules/stylelint-config-recommended"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.3.0",
        "isSemVerMajor": true
      }
    },
    "stylelint-config-wikimedia": {
      "name": "stylelint-config-wikimedia",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "stylelint",
        "stylelint-config-recommended",
        "stylelint-no-unsupported-browser-features"
      ],
      "effects": [],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/stylelint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.3.0",
        "isSemVerMajor": true
      }
    },
    "stylelint-no-unsupported-browser-features": {
      "name": "stylelint-no-unsupported-browser-features",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "stylelint"
      ],
      "effects": [
        "stylelint-config-wikimedia"
      ],
      "range": ">=4.0.0",
      "nodes": [
        "node_modules/stylelint-no-unsupported-browser-features"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.3.0",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/tough-cookie"
      ],
      "fixAvailable": false
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": false
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": true,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.40.3",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/ws"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 20,
      "high": 8,
      "critical": 0,
      "total": 28
    },
    "dependencies": {
      "prod": 1,
      "dev": 819,
      "optional": 2,
      "peer": 10,
      "peerOptional": 0,
      "total": 819
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 36 installs, 0 updates, 0 removals
  - Locking composer/pcre (1.0.1)
  - Locking composer/semver (3.3.2)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (2.0.5)
  - Locking doctrine/deprecations (1.1.3)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v39.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.11.1)
  - Locking mediawiki/minus-x (1.1.1)
  - Locking mediawiki/phan-taint-check-plugin (3.3.2)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.4.1)
  - Locking phan/phan (5.2.0)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.3.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.4.1)
  - Locking phpdocumentor/type-resolver (1.8.2)
  - Locking phpstan/phpdoc-parser (1.29.1)
  - Locking psr/container (2.0.2)
  - Locking psr/log (2.0.0)
  - Locking sabre/event (5.1.6)
  - Locking squizlabs/php_codesniffer (3.6.2)
  - Locking symfony/console (v5.4.42)
  - Locking symfony/deprecation-contracts (v3.5.0)
  - Locking symfony/polyfill-ctype (v1.30.0)
  - Locking symfony/polyfill-intl-grapheme (v1.30.0)
  - Locking symfony/polyfill-intl-normalizer (v1.30.0)
  - Locking symfony/polyfill-mbstring (v1.30.0)
  - Locking symfony/polyfill-php73 (v1.30.0)
  - Locking symfony/polyfill-php80 (v1.30.0)
  - Locking symfony/service-contracts (v3.5.0)
  - Locking symfony/string (v6.4.10)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 36 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing composer/pcre (1.0.1): Extracting archive
  - Installing squizlabs/php_codesniffer (3.6.2): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.30.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.3.2): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v39.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-php80 (v1.30.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.30.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.30.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.30.0): Extracting archive
  - Installing symfony/string (v6.4.10): Extracting archive
  - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.5.0): Extracting archive
  - Installing symfony/polyfill-php73 (v1.30.0): Extracting archive
  - Installing symfony/console (v5.4.42): Extracting archive
  - Installing sabre/event (5.1.6): Extracting archive
  - Installing netresearch/jsonmapper (v4.4.1): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (1.29.1): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.3): Extracting archive
  - Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.4.1): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (2.0.0): Extracting archive
  - Installing composer/xdebug-handler (2.0.5): Extracting archive
  - Installing phan/phan (5.2.0): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (3.3.2): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.11.1): Extracting archive
  - Installing mediawiki/minus-x (1.1.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.3.2): Extracting archive
  0/36 [>---------------------------]   0%
 18/36 [==============>-------------]  50%
 34/36 [==========================>-]  94%
 36/36 [============================] 100%
3 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
15 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "webdriverio"
      ],
      "effects": [],
      "range": "7.16.5 - 8.40.3",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/runner"
      ],
      "effects": [],
      "range": "7.16.5 - 8.40.3",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    },
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "expect-webdriverio"
      ],
      "effects": [],
      "range": "6.1.6 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "9.0.6",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "7.16.5 - 8.40.3",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    },
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098094,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/braces"
      ],
      "fixAvailable": true
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "expect": {
      "name": "expect",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "jest-message-util"
      ],
      "effects": [
        "expect-webdriverio"
      ],
      "range": ">=21.0.0-beta.1",
      "nodes": [
        "node_modules/expect"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "9.0.6",
        "isSemVerMajor": true
      }
    },
    "expect-webdriverio": {
      "name": "expect-webdriverio",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "expect"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": "1.0.0 - 4.6.1 || >=4.7.2",
      "nodes": [
        "node_modules/expect-webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "9.0.6",
        "isSemVerMajor": true
      }
    },
    "fast-glob": {
      "name": "fast-glob",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "globby",
        "stylelint"
      ],
      "range": "*",
      "nodes": [
        "node_modules/fast-glob"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.3.0",
        "isSemVerMajor": true
      }
    },
    "findup-sync": {
      "name": "findup-sync",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "liftup"
      ],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/liftup/node_modules/findup-sync"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.3.0",
        "isSemVerMajor": true
      }
    },
    "globby": {
      "name": "globby",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "fast-glob"
      ],
      "effects": [
        "stylelint"
      ],
      "range": ">=8.0.0",
      "nodes": [
        "node_modules/globby"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.3.0",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "grunt-cli"
      ],
      "effects": [],
      "range": ">=1.4.0",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.3.0",
        "isSemVerMajor": true
      }
    },
    "grunt-cli": {
      "name": "grunt-cli",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "liftup"
      ],
      "effects": [
        "grunt"
      ],
      "range": ">=1.4.0",
      "nodes": [
        "node_modules/grunt/node_modules/grunt-cli"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.3.0",
        "isSemVerMajor": true
      }
    },
    "grunt-stylelint": {
      "name": "grunt-stylelint",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "stylelint"
      ],
      "effects": [],
      "range": ">=0.7.0",
      "nodes": [
        "node_modules/grunt-stylelint"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.6.0",
        "isSemVerMajor": true
      }
    },
    "jest-message-util": {
      "name": "jest-message-util",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "expect"
      ],
      "range": ">=18.5.0-alpha.7da3df39",
      "nodes": [
        "node_modules/jest-message-util"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "9.0.6",
        "isSemVerMajor": true
      }
    },
    "liftup": {
      "name": "liftup",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "findup-sync"
      ],
      "effects": [
        "grunt-cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/liftup"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.3.0",
        "isSemVerMajor": true
      }
    },
    "micromatch": {
      "name": "micromatch",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1098615,
          "name": "micromatch",
          "dependency": "micromatch",
          "title": "Regular Expression Denial of Service (ReDoS) in micromatch",
          "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<=4.0.7"
        }
      ],
      "effects": [
        "fast-glob",
        "findup-sync",
        "jest-message-util",
        "stylelint"
      ],
      "range": "*",
      "nodes": [
        "node_modules/micromatch"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.3.0",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "11.0.0 - 22.11.1",
      "nodes": [
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "stylelint": {
      "name": "stylelint",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "fast-glob",
        "globby",
        "micromatch"
      ],
      "effects": [
        "grunt-stylelint",
        "stylelint-config-recommended",
        "stylelint-config-wikimedia",
        "stylelint-no-unsupported-browser-features"
      ],
      "range": ">=7.7.1",
      "nodes": [
        "node_modules/stylelint",
        "node_modules/stylelint-config-wikimedia/node_modules/stylelint"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.3.0",
        "isSemVerMajor": true
      }
    },
    "stylelint-config-recommended": {
      "name": "stylelint-config-recommended",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "stylelint"
      ],
      "effects": [
        "stylelint-config-wikimedia"
      ],
      "range": "*",
      "nodes": [
        "node_modules/stylelint-config-recommended"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.3.0",
        "isSemVerMajor": true
      }
    },
    "stylelint-config-wikimedia": {
      "name": "stylelint-config-wikimedia",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "stylelint",
        "stylelint-config-recommended",
        "stylelint-no-unsupported-browser-features"
      ],
      "effects": [],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/stylelint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.3.0",
        "isSemVerMajor": true
      }
    },
    "stylelint-no-unsupported-browser-features": {
      "name": "stylelint-no-unsupported-browser-features",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "stylelint"
      ],
      "effects": [
        "stylelint-config-wikimedia"
      ],
      "range": ">=4.0.0",
      "nodes": [
        "node_modules/stylelint-no-unsupported-browser-features"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.3.0",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/tough-cookie"
      ],
      "fixAvailable": false
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": false
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": true,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.40.3",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/ws"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.0.7",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 20,
      "high": 8,
      "critical": 0,
      "total": 28
    },
    "dependencies": {
      "prod": 1,
      "dev": 819,
      "optional": 2,
      "peer": 10,
      "peerOptional": 0,
      "total": 819
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@es-joy/jsdoccomment@0.18.0',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'eslint-plugin-jsdoc@37.7.1',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
  "added": 820,
  "removed": 0,
  "changed": 0,
  "audited": 821,
  "funding": 71,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@wdio/cli": {
        "name": "@wdio/cli",
        "severity": "high",
        "isDirect": true,
        "via": [
          "webdriverio"
        ],
        "effects": [],
        "range": "7.16.5 - 8.40.3",
        "nodes": [
          "node_modules/@wdio/cli"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.0.7",
          "isSemVerMajor": true
        }
      },
      "@wdio/local-runner": {
        "name": "@wdio/local-runner",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/runner"
        ],
        "effects": [],
        "range": "7.16.5 - 8.40.3",
        "nodes": [
          "node_modules/@wdio/local-runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.0.7",
          "isSemVerMajor": true
        }
      },
      "@wdio/mocha-framework": {
        "name": "@wdio/mocha-framework",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "expect-webdriverio"
        ],
        "effects": [],
        "range": "6.1.6 - 8.0.0-alpha.631",
        "nodes": [
          "node_modules/@wdio/mocha-framework"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "9.0.6",
          "isSemVerMajor": true
        }
      },
      "@wdio/runner": {
        "name": "@wdio/runner",
        "severity": "high",
        "isDirect": false,
        "via": [
          "webdriverio"
        ],
        "effects": [
          "@wdio/local-runner"
        ],
        "range": "7.16.5 - 8.40.3",
        "nodes": [
          "node_modules/@wdio/runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.0.7",
          "isSemVerMajor": true
        }
      },
      "braces": {
        "name": "braces",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098094,
            "name": "braces",
            "dependency": "braces",
            "title": "Uncontrolled resource consumption in braces",
            "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
            "severity": "high",
            "cwe": [
              "CWE-400",
              "CWE-1050"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.0.3"
          }
        ],
        "effects": [],
        "range": "<3.0.3",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "devtools": {
        "name": "devtools",
        "severity": "high",
        "isDirect": false,
        "via": [
          "puppeteer-core"
        ],
        "effects": [],
        "range": ">=7.16.5",
        "nodes": [
          "node_modules/devtools"
        ],
        "fixAvailable": true
      },
      "expect": {
        "name": "expect",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "jest-message-util"
        ],
        "effects": [
          "expect-webdriverio"
        ],
        "range": ">=21.0.0-beta.1",
        "nodes": [
          "node_modules/expect"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "9.0.6",
          "isSemVerMajor": true
        }
      },
      "expect-webdriverio": {
        "name": "expect-webdriverio",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "expect"
        ],
        "effects": [
          "@wdio/mocha-framework"
        ],
        "range": "1.0.0 - 4.6.1 || >=4.7.2",
        "nodes": [
          ""
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "9.0.6",
          "isSemVerMajor": true
        }
      },
      "fast-glob": {
        "name": "fast-glob",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "micromatch"
        ],
        "effects": [
          "globby",
          "stylelint"
        ],
        "range": "*",
        "nodes": [
          "",
          "node_modules/fast-glob"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.3.0",
          "isSemVerMajor": true
        }
      },
      "findup-sync": {
        "name": "findup-sync",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "micromatch"
        ],
        "effects": [
          "liftup"
        ],
        "range": ">=0.4.0",
        "nodes": [
          "node_modules/liftup/node_modules/findup-sync"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "1.3.0",
          "isSemVerMajor": true
        }
      },
      "globby": {
        "name": "globby",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "fast-glob"
        ],
        "effects": [
          "stylelint"
        ],
        "range": ">=8.0.0",
        "nodes": [
          "node_modules/globby"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.3.0",
          "isSemVerMajor": true
        }
      },
      "grunt": {
        "name": "grunt",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "grunt-cli"
        ],
        "effects": [],
        "range": ">=1.4.0",
        "nodes": [
          "node_modules/grunt"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "1.3.0",
          "isSemVerMajor": true
        }
      },
      "grunt-cli": {
        "name": "grunt-cli",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "liftup"
        ],
        "effects": [
          "grunt"
        ],
        "range": ">=1.4.0",
        "nodes": [
          ""
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "1.3.0",
          "isSemVerMajor": true
        }
      },
      "grunt-stylelint": {
        "name": "grunt-stylelint",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "stylelint"
        ],
        "effects": [],
        "range": ">=0.7.0",
        "nodes": [
          "node_modules/grunt-stylelint"
        ],
        "fixAvailable": {
          "name": "grunt-stylelint",
          "version": "0.6.0",
          "isSemVerMajor": true
        }
      },
      "jest-message-util": {
        "name": "jest-message-util",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "micromatch"
        ],
        "effects": [
          "expect"
        ],
        "range": ">=18.5.0-alpha.7da3df39",
        "nodes": [
          "node_modules/jest-message-util"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "9.0.6",
          "isSemVerMajor": true
        }
      },
      "liftup": {
        "name": "liftup",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "findup-sync"
        ],
        "effects": [
          "grunt-cli"
        ],
        "range": "*",
        "nodes": [
          "node_modules/liftup"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "1.3.0",
          "isSemVerMajor": true
        }
      },
      "micromatch": {
        "name": "micromatch",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1098615,
            "name": "micromatch",
            "dependency": "micromatch",
            "title": "Regular Expression Denial of Service (ReDoS) in micromatch",
            "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv",
            "severity": "moderate",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<=4.0.7"
          }
        ],
        "effects": [
          "fast-glob",
          "findup-sync",
          "jest-message-util",
          "stylelint"
        ],
        "range": "*",
        "nodes": [
          "",
          "node_modules/micromatch"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.3.0",
          "isSemVerMajor": true
        }
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request"
        ],
        "effects": [
          "wdio-mediawiki"
        ],
        "range": ">=0.1.6",
        "nodes": [
          "node_modules/mwbot"
        ],
        "fixAvailable": false
      },
      "puppeteer-core": {
        "name": "puppeteer-core",
        "severity": "high",
        "isDirect": false,
        "via": [
          "ws"
        ],
        "effects": [
          "devtools",
          "webdriverio"
        ],
        "range": "11.0.0 - 22.11.1",
        "nodes": [
          "node_modules/puppeteer-core"
        ],
        "fixAvailable": {
          "name": "webdriverio",
          "version": "9.0.7",
          "isSemVerMajor": true
        }
      },
      "request": {
        "name": "request",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1096727,
            "name": "request",
            "dependency": "request",
            "title": "Server-Side Request Forgery in Request",
            "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
            "severity": "moderate",
            "cwe": [
              "CWE-918"
            ],
            "cvss": {
              "score": 6.1,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
            },
            "range": "<=2.88.2"
          },
          "tough-cookie"
        ],
        "effects": [
          "mwbot"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": false
      },
      "stylelint": {
        "name": "stylelint",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "fast-glob",
          "globby",
          "micromatch"
        ],
        "effects": [
          "grunt-stylelint",
          "stylelint-config-recommended",
          "stylelint-config-wikimedia",
          "stylelint-no-unsupported-browser-features"
        ],
        "range": ">=7.7.1",
        "nodes": [
          "",
          "node_modules/stylelint",
          "node_modules/stylelint-config-wikimedia/node_modules/stylelint"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.3.0",
          "isSemVerMajor": true
        }
      },
      "stylelint-config-recommended": {
        "name": "stylelint-config-recommended",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "stylelint"
        ],
        "effects": [
          "stylelint-config-wikimedia"
        ],
        "range": "*",
        "nodes": [
          "node_modules/stylelint-config-recommended"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.3.0",
          "isSemVerMajor": true
        }
      },
      "stylelint-config-wikimedia": {
        "name": "stylelint-config-wikimedia",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "stylelint",
          "stylelint-config-recommended",
          "stylelint-no-unsupported-browser-features"
        ],
        "effects": [],
        "range": ">=0.4.0",
        "nodes": [
          "node_modules/stylelint-config-wikimedia"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.3.0",
          "isSemVerMajor": true
        }
      },
      "stylelint-no-unsupported-browser-features": {
        "name": "stylelint-no-unsupported-browser-features",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "stylelint"
        ],
        "effects": [
          "stylelint-config-wikimedia"
        ],
        "range": ">=4.0.0",
        "nodes": [
          "node_modules/stylelint-no-unsupported-browser-features"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.3.0",
          "isSemVerMajor": true
        }
      },
      "tough-cookie": {
        "name": "tough-cookie",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1097682,
            "name": "tough-cookie",
            "dependency": "tough-cookie",
            "title": "tough-cookie Prototype Pollution vulnerability",
            "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
            },
            "range": "<4.1.3"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<4.1.3",
        "nodes": [
          "node_modules/tough-cookie"
        ],
        "fixAvailable": false
      },
      "wdio-mediawiki": {
        "name": "wdio-mediawiki",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "mwbot"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/wdio-mediawiki"
        ],
        "fixAvailable": false
      },
      "webdriverio": {
        "name": "webdriverio",
        "severity": "high",
        "isDirect": true,
        "via": [
          "devtools",
          "puppeteer-core"
        ],
        "effects": [
          "@wdio/cli",
          "@wdio/runner"
        ],
        "range": "7.16.5 - 8.40.3",
        "nodes": [
          "node_modules/webdriverio"
        ],
        "fixAvailable": {
          "name": "webdriverio",
          "version": "9.0.7",
          "isSemVerMajor": true
        }
      },
      "ws": {
        "name": "ws",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098392,
            "name": "ws",
            "dependency": "ws",
            "title": "ws affected by a DoS when handling a request with many HTTP headers",
            "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
            "severity": "high",
            "cwe": [
              "CWE-476"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": ">=8.0.0 <8.17.1"
          }
        ],
        "effects": [
          "puppeteer-core"
        ],
        "range": "8.0.0 - 8.17.0",
        "nodes": [
          "node_modules/ws"
        ],
        "fixAvailable": {
          "name": "webdriverio",
          "version": "9.0.7",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 20,
        "high": 8,
        "critical": 0,
        "total": 28
      },
      "dependencies": {
        "prod": 1,
        "dev": 820,
        "optional": 2,
        "peer": 11,
        "peerOptional": 0,
        "total": 820
      }
    }
  }
}

--- end ---
{"added": 820, "removed": 0, "changed": 0, "audited": 821, "funding": 71, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@wdio/cli": {"name": "@wdio/cli", "severity": "high", "isDirect": true, "via": ["webdriverio"], "effects": [], "range": "7.16.5 - 8.40.3", "nodes": ["node_modules/@wdio/cli"], "fixAvailable": {"name": "@wdio/cli", "version": "9.0.7", "isSemVerMajor": true}}, "@wdio/local-runner": {"name": "@wdio/local-runner", "severity": "high", "isDirect": true, "via": ["@wdio/runner"], "effects": [], "range": "7.16.5 - 8.40.3", "nodes": ["node_modules/@wdio/local-runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.0.7", "isSemVerMajor": true}}, "@wdio/mocha-framework": {"name": "@wdio/mocha-framework", "severity": "moderate", "isDirect": true, "via": ["expect-webdriverio"], "effects": [], "range": "6.1.6 - 8.0.0-alpha.631", "nodes": ["node_modules/@wdio/mocha-framework"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "9.0.6", "isSemVerMajor": true}}, "@wdio/runner": {"name": "@wdio/runner", "severity": "high", "isDirect": false, "via": ["webdriverio"], "effects": ["@wdio/local-runner"], "range": "7.16.5 - 8.40.3", "nodes": ["node_modules/@wdio/runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.0.7", "isSemVerMajor": true}}, "braces": {"name": "braces", "severity": "high", "isDirect": false, "via": [{"source": 1098094, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-400", "CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}], "effects": [], "range": "<3.0.3", "nodes": [""], "fixAvailable": true}, "devtools": {"name": "devtools", "severity": "high", "isDirect": false, "via": ["puppeteer-core"], "effects": [], "range": ">=7.16.5", "nodes": ["node_modules/devtools"], "fixAvailable": true}, "expect": {"name": "expect", "severity": "moderate", "isDirect": false, "via": ["jest-message-util"], "effects": ["expect-webdriverio"], "range": ">=21.0.0-beta.1", "nodes": ["node_modules/expect"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "9.0.6", "isSemVerMajor": true}}, "expect-webdriverio": {"name": "expect-webdriverio", "severity": "moderate", "isDirect": false, "via": ["expect"], "effects": ["@wdio/mocha-framework"], "range": "1.0.0 - 4.6.1 || >=4.7.2", "nodes": [""], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "9.0.6", "isSemVerMajor": true}}, "fast-glob": {"name": "fast-glob", "severity": "moderate", "isDirect": false, "via": ["micromatch"], "effects": ["globby", "stylelint"], "range": "*", "nodes": ["", "node_modules/fast-glob"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.3.0", "isSemVerMajor": true}}, "findup-sync": {"name": "findup-sync", "severity": "moderate", "isDirect": false, "via": ["micromatch"], "effects": ["liftup"], "range": ">=0.4.0", "nodes": ["node_modules/liftup/node_modules/findup-sync"], "fixAvailable": {"name": "grunt", "version": "1.3.0", "isSemVerMajor": true}}, "globby": {"name": "globby", "severity": "moderate", "isDirect": false, "via": ["fast-glob"], "effects": ["stylelint"], "range": ">=8.0.0", "nodes": ["node_modules/globby"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.3.0", "isSemVerMajor": true}}, "grunt": {"name": "grunt", "severity": "moderate", "isDirect": true, "via": ["grunt-cli"], "effects": [], "range": ">=1.4.0", "nodes": ["node_modules/grunt"], "fixAvailable": {"name": "grunt", "version": "1.3.0", "isSemVerMajor": true}}, "grunt-cli": {"name": "grunt-cli", "severity": "moderate", "isDirect": false, "via": ["liftup"], "effects": ["grunt"], "range": ">=1.4.0", "nodes": [""], "fixAvailable": {"name": "grunt", "version": "1.3.0", "isSemVerMajor": true}}, "grunt-stylelint": {"name": "grunt-stylelint", "severity": "moderate", "isDirect": true, "via": ["stylelint"], "effects": [], "range": ">=0.7.0", "nodes": ["node_modules/grunt-stylelint"], "fixAvailable": {"name": "grunt-stylelint", "version": "0.6.0", "isSemVerMajor": true}}, "jest-message-util": {"name": "jest-message-util", "severity": "moderate", "isDirect": false, "via": ["micromatch"], "effects": ["expect"], "range": ">=18.5.0-alpha.7da3df39", "nodes": ["node_modules/jest-message-util"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "9.0.6", "isSemVerMajor": true}}, "liftup": {"name": "liftup", "severity": "moderate", "isDirect": false, "via": ["findup-sync"], "effects": ["grunt-cli"], "range": "*", "nodes": ["node_modules/liftup"], "fixAvailable": {"name": "grunt", "version": "1.3.0", "isSemVerMajor": true}}, "micromatch": {"name": "micromatch", "severity": "moderate", "isDirect": false, "via": [{"source": 1098615, "name": "micromatch", "dependency": "micromatch", "title": "Regular Expression Denial of Service (ReDoS) in micromatch", "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": "<=4.0.7"}], "effects": ["fast-glob", "findup-sync", "jest-message-util", "stylelint"], "range": "*", "nodes": ["", "node_modules/micromatch"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.3.0", "isSemVerMajor": true}}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["wdio-mediawiki"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": false}, "puppeteer-core": {"name": "puppeteer-core", "severity": "high", "isDirect": false, "via": ["ws"], "effects": ["devtools", "webdriverio"], "range": "11.0.0 - 22.11.1", "nodes": ["node_modules/puppeteer-core"], "fixAvailable": {"name": "webdriverio", "version": "9.0.7", "isSemVerMajor": true}}, "request": {"name": "request", "severity": "moderate", "isDirect": false, "via": [{"source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": ["CWE-918"], "cvss": {"score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}, "range": "<=2.88.2"}, "tough-cookie"], "effects": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": false}, "stylelint": {"name": "stylelint", "severity": "moderate", "isDirect": false, "via": ["fast-glob", "globby", "micromatch"], "effects": ["grunt-stylelint", "stylelint-config-recommended", "stylelint-config-wikimedia", "stylelint-no-unsupported-browser-features"], "range": ">=7.7.1", "nodes": ["", "node_modules/stylelint", "node_modules/stylelint-config-wikimedia/node_modules/stylelint"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.3.0", "isSemVerMajor": true}}, "stylelint-config-recommended": {"name": "stylelint-config-recommended", "severity": "moderate", "isDirect": false, "via": ["stylelint"], "effects": ["stylelint-config-wikimedia"], "range": "*", "nodes": ["node_modules/stylelint-config-recommended"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.3.0", "isSemVerMajor": true}}, "stylelint-config-wikimedia": {"name": "stylelint-config-wikimedia", "severity": "moderate", "isDirect": true, "via": ["stylelint", "stylelint-config-recommended", "stylelint-no-unsupported-browser-features"], "effects": [], "range": ">=0.4.0", "nodes": ["node_modules/stylelint-config-wikimedia"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.3.0", "isSemVerMajor": true}}, "stylelint-no-unsupported-browser-features": {"name": "stylelint-no-unsupported-browser-features", "severity": "moderate", "isDirect": false, "via": ["stylelint"], "effects": ["stylelint-config-wikimedia"], "range": ">=4.0.0", "nodes": ["node_modules/stylelint-no-unsupported-browser-features"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.3.0", "isSemVerMajor": true}}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["node_modules/tough-cookie"], "fixAvailable": false}, "wdio-mediawiki": {"name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": ["mwbot"], "effects": [], "range": "*", "nodes": ["node_modules/wdio-mediawiki"], "fixAvailable": false}, "webdriverio": {"name": "webdriverio", "severity": "high", "isDirect": true, "via": ["devtools", "puppeteer-core"], "effects": ["@wdio/cli", "@wdio/runner"], "range": "7.16.5 - 8.40.3", "nodes": ["node_modules/webdriverio"], "fixAvailable": {"name": "webdriverio", "version": "9.0.7", "isSemVerMajor": true}}, "ws": {"name": "ws", "severity": "high", "isDirect": false, "via": [{"source": 1098392, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": ["CWE-476"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=8.0.0 <8.17.1"}], "effects": ["puppeteer-core"], "range": "8.0.0 - 8.17.0", "nodes": ["node_modules/ws"], "fixAvailable": {"name": "webdriverio", "version": "9.0.7", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 20, "high": 8, "critical": 0, "total": 28}, "dependencies": {"prod": 1, "dev": 820, "optional": 2, "peer": 11, "peerOptional": 0, "total": 820}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@es-joy/jsdoccomment@0.18.0',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'eslint-plugin-jsdoc@37.7.1',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated superagent@6.1.0: Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at <https://github.com/visionmedia/superagent/releases>.
--- stdout ---

added 819 packages, and audited 820 packages in 9s

71 packages are looking for funding
  run `npm fund` for details

# npm audit report

micromatch  *
Severity: moderate
Regular Expression Denial of Service (ReDoS) in micromatch - https://github.com/advisories/GHSA-952p-6rrq-rcjv
fix available via `npm audit fix --force`
Will install stylelint-config-wikimedia@0.3.0, which is a breaking change
node_modules/micromatch
  fast-glob  *
  Depends on vulnerable versions of micromatch
  node_modules/fast-glob
    globby  >=8.0.0
    Depends on vulnerable versions of fast-glob
    node_modules/globby
      stylelint  >=7.7.1
      Depends on vulnerable versions of fast-glob
      Depends on vulnerable versions of globby
      Depends on vulnerable versions of micromatch
      node_modules/stylelint
      node_modules/stylelint-config-wikimedia/node_modules/stylelint
        grunt-stylelint  >=0.7.0
        Depends on vulnerable versions of stylelint
        node_modules/grunt-stylelint
        stylelint-config-recommended  *
        Depends on vulnerable versions of stylelint
        node_modules/stylelint-config-recommended
          stylelint-config-wikimedia  >=0.4.0
          Depends on vulnerable versions of stylelint
          Depends on vulnerable versions of stylelint-config-recommended
          Depends on vulnerable versions of stylelint-no-unsupported-browser-features
          node_modules/stylelint-config-wikimedia
        stylelint-no-unsupported-browser-features  >=4.0.0
        Depends on vulnerable versions of stylelint
        node_modules/stylelint-no-unsupported-browser-features
  findup-sync  >=0.4.0
  Depends on vulnerable versions of micromatch
  node_modules/liftup/node_modules/findup-sync
    liftup  *
    Depends on vulnerable versions of findup-sync
    node_modules/liftup
      grunt-cli  >=1.4.0
      Depends on vulnerable versions of liftup
      node_modules/grunt-cli
        grunt  >=1.4.0
        Depends on vulnerable versions of grunt-cli
        node_modules/grunt
  jest-message-util  >=18.5.0-alpha.7da3df39
  Depends on vulnerable versions of micromatch
  node_modules/jest-message-util
    expect  >=21.0.0-beta.1
    Depends on vulnerable versions of jest-message-util
    node_modules/expect
      expect-webdriverio  1.0.0 - 4.6.1 || >=4.7.2
      Depends on vulnerable versions of expect
      node_modules/expect-webdriverio
        @wdio/mocha-framework  6.1.6 - 8.0.0-alpha.631
        Depends on vulnerable versions of expect-webdriverio
        node_modules/@wdio/mocha-framework

request  *
Severity: moderate
Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6
Depends on vulnerable versions of tough-cookie
No fix available
node_modules/request
  mwbot  >=0.1.6
  Depends on vulnerable versions of request
  node_modules/mwbot
    wdio-mediawiki  *
    Depends on vulnerable versions of mwbot
    node_modules/wdio-mediawiki

tough-cookie  <4.1.3
Severity: moderate
tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
No fix available
node_modules/tough-cookie

ws  8.0.0 - 8.17.0
Severity: high
ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q
fix available via `npm audit fix --force`
Will install webdriverio@9.0.7, which is a breaking change
node_modules/ws
  puppeteer-core  11.0.0 - 22.11.1
  Depends on vulnerable versions of ws
  node_modules/puppeteer-core
    devtools  >=7.16.5
    Depends on vulnerable versions of puppeteer-core
    node_modules/devtools
    webdriverio  7.16.5 - 8.40.3
    Depends on vulnerable versions of devtools
    Depends on vulnerable versions of puppeteer-core
    node_modules/webdriverio
      @wdio/cli  7.16.5 - 8.40.3
      Depends on vulnerable versions of webdriverio
      node_modules/@wdio/cli
      @wdio/runner  7.16.5 - 8.40.3
      Depends on vulnerable versions of webdriverio
      node_modules/@wdio/runner
        @wdio/local-runner  7.16.5 - 8.40.3
        Depends on vulnerable versions of @wdio/runner
        node_modules/@wdio/local-runner

27 vulnerabilities (20 moderate, 7 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@es-joy/jsdoccomment@0.18.0',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'eslint-plugin-jsdoc@37.7.1',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated superagent@6.1.0: Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at <https://github.com/visionmedia/superagent/releases>.
--- stdout ---

added 819 packages, and audited 820 packages in 9s

71 packages are looking for funding
  run `npm fund` for details

27 vulnerabilities (20 moderate, 7 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/resources/ext.campaignEvents.specialeventdetails/ScrollDownObserver.js
  6:1  warning  This line has a length of 101. Maximum allowed is 100  max-len

✖ 1 problem (0 errors, 1 warning)


Running "stylelint:all" (stylelint) task
>> Linted 6 files without errors

Running "banana:CampaignEvents" (banana) task
>> 1 message directory checked.

Done.

--- end ---
{"1098094": {"source": 1098094, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-400", "CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}}
Upgrading n:braces from 3.0.2 -> 3.0.3
{}
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating braces to 3.0.3

* https://github.com/advisories/GHSA-grv7-fg5c-xmjg

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpuu_d7wu3
--- stdout ---
[REL1_39 ee0238f] build: Updating braces to 3.0.3
 1 file changed, 217 insertions(+), 194 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From ee0238fa8ada834a63681a24cb5d1760b0bfedc2 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 22 Aug 2024 03:06:17 +0000
Subject: [PATCH] build: Updating braces to 3.0.3

* https://github.com/advisories/GHSA-grv7-fg5c-xmjg

Change-Id: I5df8edeccd75d33754fb52d2c0cf4ab7ca67cf23
---
 package-lock.json | 411 ++++++++++++++++++++++++----------------------
 1 file changed, 217 insertions(+), 194 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 37ea2aa..8bd3392 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -93,6 +93,23 @@
 				"node": ">=0.8.0"
 			}
 		},
+		"node_modules/@csstools/selector-specificity": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+			"integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+			"dev": true,
+			"peer": true,
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/csstools"
+			},
+			"peerDependencies": {
+				"postcss-selector-parser": "^6.0.10"
+			}
+		},
 		"node_modules/@es-joy/jsdoccomment": {
 			"version": "0.18.0",
 			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.18.0.tgz",
@@ -1485,12 +1502,12 @@
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
@@ -2166,9 +2183,9 @@
 			"dev": true
 		},
 		"node_modules/colord": {
-			"version": "2.9.2",
-			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
-			"integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
+			"version": "2.9.3",
+			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+			"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
 			"dev": true
 		},
 		"node_modules/colors": {
@@ -2254,9 +2271,9 @@
 			"dev": true
 		},
 		"node_modules/cosmiconfig": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
-			"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+			"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
 			"dev": true,
 			"dependencies": {
 				"@types/parse-json": "^4.0.0",
@@ -2318,12 +2335,12 @@
 			}
 		},
 		"node_modules/css-functions-list": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz",
-			"integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==",
+			"version": "3.2.2",
+			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz",
+			"integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==",
 			"dev": true,
 			"engines": {
-				"node": ">=12.22"
+				"node": ">=12 || >=16"
 			}
 		},
 		"node_modules/css-rule-stream": {
@@ -3579,9 +3596,9 @@
 			}
 		},
 		"node_modules/expect-webdriverio": {
-			"version": "3.4.0",
-			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-3.4.0.tgz",
-			"integrity": "sha512-7Ivy1IB35pmkbCcI36un2OMytGEYCy1PcdqrlDnWZBzTpewAO14r+gO2FSuO5kNpDWm3gZSD4NYLG1KXJOlI3w==",
+			"version": "3.6.0",
+			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-3.6.0.tgz",
+			"integrity": "sha512-8HuVToXDVzkKgUKIUzW/v3bP4ZoMDEwCjX9QmlRlMIvjt3HOSzSIBnRMv8lpeVTUKoR9DZNr/lSuKH4Amx4BBg==",
 			"dev": true,
 			"dependencies": {
 				"expect": "^28.1.0",
@@ -3644,9 +3661,9 @@
 			"dev": true
 		},
 		"node_modules/fast-glob": {
-			"version": "3.2.11",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-			"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+			"version": "3.3.2",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+			"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
 			"dev": true,
 			"dependencies": {
 				"@nodelib/fs.stat": "^2.0.2",
@@ -3678,10 +3695,13 @@
 			"dev": true
 		},
 		"node_modules/fastest-levenshtein": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
-			"integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
-			"dev": true
+			"version": "1.0.16",
+			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+			"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+			"dev": true,
+			"engines": {
+				"node": ">= 4.9.1"
+			}
 		},
 		"node_modules/fastq": {
 			"version": "1.13.0",
@@ -3768,9 +3788,9 @@
 			}
 		},
 		"node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
@@ -4301,6 +4321,38 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/grunt-cli": {
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
+			"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
+			"dev": true,
+			"dependencies": {
+				"grunt-known-options": "~2.0.0",
+				"interpret": "~1.1.0",
+				"liftup": "~3.0.1",
+				"nopt": "~4.0.1",
+				"v8flags": "~3.2.0"
+			},
+			"bin": {
+				"grunt": "bin/grunt"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/grunt-cli/node_modules/nopt": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+			"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+			"dev": true,
+			"dependencies": {
+				"abbrev": "1",
+				"osenv": "^0.1.4"
+			},
+			"bin": {
+				"nopt": "bin/nopt.js"
+			}
+		},
 		"node_modules/grunt-eslint": {
 			"version": "24.0.0",
 			"resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-24.0.0.tgz",
@@ -4407,38 +4459,6 @@
 				"node": "*"
 			}
 		},
-		"node_modules/grunt/node_modules/grunt-cli": {
-			"version": "1.4.3",
-			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
-			"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
-			"dev": true,
-			"dependencies": {
-				"grunt-known-options": "~2.0.0",
-				"interpret": "~1.1.0",
-				"liftup": "~3.0.1",
-				"nopt": "~4.0.1",
-				"v8flags": "~3.2.0"
-			},
-			"bin": {
-				"grunt": "bin/grunt"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
-		"node_modules/grunt/node_modules/grunt-cli/node_modules/nopt": {
-			"version": "4.0.3",
-			"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
-			"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
-			"dev": true,
-			"dependencies": {
-				"abbrev": "1",
-				"osenv": "^0.1.4"
-			},
-			"bin": {
-				"nopt": "bin/nopt.js"
-			}
-		},
 		"node_modules/har-schema": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
@@ -4671,9 +4691,9 @@
 			]
 		},
 		"node_modules/ignore": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-			"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true,
 			"engines": {
 				"node": ">= 4"
@@ -5237,9 +5257,9 @@
 			}
 		},
 		"node_modules/known-css-properties": {
-			"version": "0.25.0",
-			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz",
-			"integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==",
+			"version": "0.26.0",
+			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
+			"integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
 			"dev": true,
 			"peer": true
 		},
@@ -5719,12 +5739,12 @@
 			}
 		},
 		"node_modules/micromatch": {
-			"version": "4.0.5",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+			"version": "4.0.7",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+			"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
 			"dev": true,
 			"dependencies": {
-				"braces": "^3.0.2",
+				"braces": "^3.0.3",
 				"picomatch": "^2.3.1"
 			},
 			"engines": {
@@ -6240,7 +6260,7 @@
 		"node_modules/os-homedir": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-			"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+			"integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -6259,6 +6279,7 @@
 			"version": "0.1.5",
 			"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
 			"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+			"deprecated": "This package is no longer supported.",
 			"dev": true,
 			"dependencies": {
 				"os-homedir": "^1.0.0",
@@ -6655,9 +6676,9 @@
 			}
 		},
 		"node_modules/postcss-selector-parser": {
-			"version": "6.0.10",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
-			"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
+			"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
 			"dev": true,
 			"dependencies": {
 				"cssesc": "^3.0.0",
@@ -7865,53 +7886,50 @@
 			"dev": true
 		},
 		"node_modules/stylelint": {
-			"version": "14.8.2",
-			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.2.tgz",
-			"integrity": "sha512-tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==",
+			"version": "14.16.1",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
+			"integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
+				"@csstools/selector-specificity": "^2.0.2",
 				"balanced-match": "^2.0.0",
-				"colord": "^2.9.2",
-				"cosmiconfig": "^7.0.1",
-				"css-functions-list": "^3.0.1",
+				"colord": "^2.9.3",
+				"cosmiconfig": "^7.1.0",
+				"css-functions-list": "^3.1.0",
 				"debug": "^4.3.4",
-				"execall": "^2.0.0",
-				"fast-glob": "^3.2.11",
-				"fastest-levenshtein": "^1.0.12",
+				"fast-glob": "^3.2.12",
+				"fastest-levenshtein": "^1.0.16",
 				"file-entry-cache": "^6.0.1",
-				"get-stdin": "^8.0.0",
 				"global-modules": "^2.0.0",
 				"globby": "^11.1.0",
 				"globjoin": "^0.1.4",
 				"html-tags": "^3.2.0",
-				"ignore": "^5.2.0",
+				"ignore": "^5.2.1",
 				"import-lazy": "^4.0.0",
 				"imurmurhash": "^0.1.4",
 				"is-plain-object": "^5.0.0",
-				"known-css-properties": "^0.25.0",
+				"known-css-properties": "^0.26.0",
 				"mathml-tag-names": "^2.1.3",
 				"meow": "^9.0.0",
 				"micromatch": "^4.0.5",
 				"normalize-path": "^3.0.0",
-				"normalize-selector": "^0.2.0",
 				"picocolors": "^1.0.0",
-				"postcss": "^8.4.13",
+				"postcss": "^8.4.19",
 				"postcss-media-query-parser": "^0.2.3",
 				"postcss-resolve-nested-selector": "^0.1.1",
 				"postcss-safe-parser": "^6.0.0",
-				"postcss-selector-parser": "^6.0.10",
+				"postcss-selector-parser": "^6.0.11",
 				"postcss-value-parser": "^4.2.0",
 				"resolve-from": "^5.0.0",
-				"specificity": "^0.4.1",
 				"string-width": "^4.2.3",
 				"strip-ansi": "^6.0.1",
 				"style-search": "^0.1.0",
-				"supports-hyperlinks": "^2.2.0",
+				"supports-hyperlinks": "^2.3.0",
 				"svg-tags": "^1.0.0",
-				"table": "^6.8.0",
+				"table": "^6.8.1",
 				"v8-compile-cache": "^2.3.0",
-				"write-file-atomic": "^4.0.1"
+				"write-file-atomic": "^4.0.2"
 			},
 			"bin": {
 				"stylelint": "bin/stylelint.js"
@@ -8254,9 +8272,9 @@
 			}
 		},
 		"node_modules/supports-hyperlinks": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
-			"integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+			"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
 			"dev": true,
 			"dependencies": {
 				"has-flag": "^4.0.0",
@@ -8294,9 +8312,9 @@
 			"dev": true
 		},
 		"node_modules/table": {
-			"version": "6.8.0",
-			"resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
-			"integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+			"version": "6.8.2",
+			"resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
+			"integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
 			"dev": true,
 			"dependencies": {
 				"ajv": "^8.0.1",
@@ -8939,16 +8957,16 @@
 			"dev": true
 		},
 		"node_modules/write-file-atomic": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
-			"integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+			"integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
 			"dev": true,
 			"dependencies": {
 				"imurmurhash": "^0.1.4",
 				"signal-exit": "^3.0.7"
 			},
 			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16"
+				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
 			}
 		},
 		"node_modules/ws": {
@@ -9315,6 +9333,14 @@
 				}
 			}
 		},
+		"@csstools/selector-specificity": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+			"integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+			"dev": true,
+			"peer": true,
+			"requires": {}
+		},
 		"@es-joy/jsdoccomment": {
 			"version": "0.18.0",
 			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.18.0.tgz",
@@ -10464,12 +10490,12 @@
 			}
 		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"browser-stdout": {
@@ -10957,9 +10983,9 @@
 			"dev": true
 		},
 		"colord": {
-			"version": "2.9.2",
-			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
-			"integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
+			"version": "2.9.3",
+			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+			"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
 			"dev": true
 		},
 		"colors": {
@@ -11030,9 +11056,9 @@
 			"dev": true
 		},
 		"cosmiconfig": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
-			"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+			"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
 			"dev": true,
 			"requires": {
 				"@types/parse-json": "^4.0.0",
@@ -11079,9 +11105,9 @@
 			}
 		},
 		"css-functions-list": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz",
-			"integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==",
+			"version": "3.2.2",
+			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz",
+			"integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==",
 			"dev": true
 		},
 		"css-rule-stream": {
@@ -12054,9 +12080,9 @@
 			}
 		},
 		"expect-webdriverio": {
-			"version": "3.4.0",
-			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-3.4.0.tgz",
-			"integrity": "sha512-7Ivy1IB35pmkbCcI36un2OMytGEYCy1PcdqrlDnWZBzTpewAO14r+gO2FSuO5kNpDWm3gZSD4NYLG1KXJOlI3w==",
+			"version": "3.6.0",
+			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-3.6.0.tgz",
+			"integrity": "sha512-8HuVToXDVzkKgUKIUzW/v3bP4ZoMDEwCjX9QmlRlMIvjt3HOSzSIBnRMv8lpeVTUKoR9DZNr/lSuKH4Amx4BBg==",
 			"dev": true,
 			"requires": {
 				"expect": "^28.1.0",
@@ -12105,9 +12131,9 @@
 			"dev": true
 		},
 		"fast-glob": {
-			"version": "3.2.11",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-			"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+			"version": "3.3.2",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+			"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
 			"dev": true,
 			"requires": {
 				"@nodelib/fs.stat": "^2.0.2",
@@ -12136,9 +12162,9 @@
 			"dev": true
 		},
 		"fastest-levenshtein": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
-			"integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
+			"version": "1.0.16",
+			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+			"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
 			"dev": true
 		},
 		"fastq": {
@@ -12215,9 +12241,9 @@
 			}
 		},
 		"fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"requires": {
 				"to-regex-range": "^5.0.1"
@@ -12627,31 +12653,6 @@
 						"once": "^1.3.0",
 						"path-is-absolute": "^1.0.0"
 					}
-				},
-				"grunt-cli": {
-					"version": "1.4.3",
-					"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
-					"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
-					"dev": true,
-					"requires": {
-						"grunt-known-options": "~2.0.0",
-						"interpret": "~1.1.0",
-						"liftup": "~3.0.1",
-						"nopt": "~4.0.1",
-						"v8flags": "~3.2.0"
-					},
-					"dependencies": {
-						"nopt": {
-							"version": "4.0.3",
-							"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
-							"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
-							"dev": true,
-							"requires": {
-								"abbrev": "1",
-								"osenv": "^0.1.4"
-							}
-						}
-					}
 				}
 			}
 		},
@@ -12661,6 +12662,31 @@
 			"integrity": "sha512-SqPiB6OazWqR8USL0NymtuT5Br3mD9WBBsM1rHC/3wIi2SrZNM6/+j9CIeuEM5oCn+AtO2Y0+rzzFyOdC9afAg==",
 			"dev": true
 		},
+		"grunt-cli": {
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
+			"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
+			"dev": true,
+			"requires": {
+				"grunt-known-options": "~2.0.0",
+				"interpret": "~1.1.0",
+				"liftup": "~3.0.1",
+				"nopt": "~4.0.1",
+				"v8flags": "~3.2.0"
+			},
+			"dependencies": {
+				"nopt": {
+					"version": "4.0.3",
+					"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+					"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+					"dev": true,
+					"requires": {
+						"abbrev": "1",
+						"osenv": "^0.1.4"
+					}
+				}
+			}
+		},
 		"grunt-eslint": {
 			"version": "24.0.0",
 			"resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-24.0.0.tgz",
@@ -12880,9 +12906,9 @@
 			"dev": true
 		},
 		"ignore": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-			"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true
 		},
 		"import-fresh": {
@@ -13330,9 +13356,9 @@
 			"dev": true
 		},
 		"known-css-properties": {
-			"version": "0.25.0",
-			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz",
-			"integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==",
+			"version": "0.26.0",
+			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
+			"integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
 			"dev": true,
 			"peer": true
 		},
@@ -13750,12 +13776,12 @@
 			"dev": true
 		},
 		"micromatch": {
-			"version": "4.0.5",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+			"version": "4.0.7",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+			"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
 			"dev": true,
 			"requires": {
-				"braces": "^3.0.2",
+				"braces": "^3.0.3",
 				"picomatch": "^2.3.1"
 			}
 		},
@@ -14135,7 +14161,7 @@
 		"os-homedir": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-			"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+			"integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
 			"dev": true
 		},
 		"os-tmpdir": {
@@ -14430,9 +14456,9 @@
 			"requires": {}
 		},
 		"postcss-selector-parser": {
-			"version": "6.0.10",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
-			"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
+			"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
 			"dev": true,
 			"requires": {
 				"cssesc": "^3.0.0",
@@ -15378,53 +15404,50 @@
 			"dev": true
 		},
 		"stylelint": {
-			"version": "14.8.2",
-			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.2.tgz",
-			"integrity": "sha512-tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==",
+			"version": "14.16.1",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
+			"integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
 			"dev": true,
 			"peer": true,
 			"requires": {
+				"@csstools/selector-specificity": "^2.0.2",
 				"balanced-match": "^2.0.0",
-				"colord": "^2.9.2",
-				"cosmiconfig": "^7.0.1",
-				"css-functions-list": "^3.0.1",
+				"colord": "^2.9.3",
+				"cosmiconfig": "^7.1.0",
+				"css-functions-list": "^3.1.0",
 				"debug": "^4.3.4",
-				"execall": "^2.0.0",
-				"fast-glob": "^3.2.11",
-				"fastest-levenshtein": "^1.0.12",
+				"fast-glob": "^3.2.12",
+				"fastest-levenshtein": "^1.0.16",
 				"file-entry-cache": "^6.0.1",
-				"get-stdin": "^8.0.0",
 				"global-modules": "^2.0.0",
 				"globby": "^11.1.0",
 				"globjoin": "^0.1.4",
 				"html-tags": "^3.2.0",
-				"ignore": "^5.2.0",
+				"ignore": "^5.2.1",
 				"import-lazy": "^4.0.0",
 				"imurmurhash": "^0.1.4",
 				"is-plain-object": "^5.0.0",
-				"known-css-properties": "^0.25.0",
+				"known-css-properties": "^0.26.0",
 				"mathml-tag-names": "^2.1.3",
 				"meow": "^9.0.0",
 				"micromatch": "^4.0.5",
 				"normalize-path": "^3.0.0",
-				"normalize-selector": "^0.2.0",
 				"picocolors": "^1.0.0",
-				"postcss": "^8.4.13",
+				"postcss": "^8.4.19",
 				"postcss-media-query-parser": "^0.2.3",
 				"postcss-resolve-nested-selector": "^0.1.1",
 				"postcss-safe-parser": "^6.0.0",
-				"postcss-selector-parser": "^6.0.10",
+				"postcss-selector-parser": "^6.0.11",
 				"postcss-value-parser": "^4.2.0",
 				"resolve-from": "^5.0.0",
-				"specificity": "^0.4.1",
 				"string-width": "^4.2.3",
 				"strip-ansi": "^6.0.1",
 				"style-search": "^0.1.0",
-				"supports-hyperlinks": "^2.2.0",
+				"supports-hyperlinks": "^2.3.0",
 				"svg-tags": "^1.0.0",
-				"table": "^6.8.0",
+				"table": "^6.8.1",
 				"v8-compile-cache": "^2.3.0",
-				"write-file-atomic": "^4.0.1"
+				"write-file-atomic": "^4.0.2"
 			},
 			"dependencies": {
 				"balanced-match": {
@@ -15681,9 +15704,9 @@
 			}
 		},
 		"supports-hyperlinks": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
-			"integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+			"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
 			"dev": true,
 			"requires": {
 				"has-flag": "^4.0.0",
@@ -15714,9 +15737,9 @@
 			"dev": true
 		},
 		"table": {
-			"version": "6.8.0",
-			"resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
-			"integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+			"version": "6.8.2",
+			"resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
+			"integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
 			"dev": true,
 			"requires": {
 				"ajv": "^8.0.1",
@@ -16216,9 +16239,9 @@
 			"dev": true
 		},
 		"write-file-atomic": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
-			"integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+			"integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
 			"dev": true,
 			"requires": {
 				"imurmurhash": "^0.1.4",
-- 
2.39.2


--- end ---
Source code is licensed under the AGPL.