From 8444457f2bcde4568d4df444cd9a07fd407f6a6b Mon Sep 17 00:00:00 2001
From: mlec <42201667+mlec1@users.noreply.github.com>
Date: Mon, 24 Jun 2024 09:04:50 +0200
Subject: [PATCH] refactor: Make all scriptSrc fields an array

---
 .../workflows/scripts/technology_validator.py |   2 +-
 schema.json                                   |  15 +-
 src/technologies/_.json                       |  28 +-
 src/technologies/a.json                       | 620 +++++++++---
 src/technologies/b.json                       | 348 +++++--
 src/technologies/c.json                       | 576 +++++++++---
 src/technologies/d.json                       | 240 +++--
 src/technologies/e.json                       | 308 ++++--
 src/technologies/f.json                       | 292 ++++--
 src/technologies/g.json                       | 276 ++++--
 src/technologies/h.json                       | 228 +++--
 src/technologies/i.json                       | 180 +++-
 src/technologies/j.json                       | 132 ++-
 src/technologies/k.json                       | 132 ++-
 src/technologies/l.json                       | 216 +++--
 src/technologies/m.json                       | 404 ++++++--
 src/technologies/n.json                       | 112 ++-
 src/technologies/o.json                       | 204 +++-
 src/technologies/p.json                       | 516 +++++++---
 src/technologies/q.json                       |  72 +-
 src/technologies/r.json                       | 280 ++++--
 src/technologies/s.json                       | 884 +++++++++++++-----
 src/technologies/t.json                       | 532 ++++++++---
 src/technologies/u.json                       | 124 ++-
 src/technologies/v.json                       | 108 ++-
 src/technologies/w.json                       | 264 ++++--
 src/technologies/x.json                       |  32 +-
 src/technologies/y.json                       |  84 +-
 src/technologies/z.json                       |  84 +-
 29 files changed, 5462 insertions(+), 1831 deletions(-)

diff --git a/.github/workflows/scripts/technology_validator.py b/.github/workflows/scripts/technology_validator.py
index 5565b52c..0011784c 100644
--- a/.github/workflows/scripts/technology_validator.py
+++ b/.github/workflows/scripts/technology_validator.py
@@ -252,7 +252,7 @@ def __init__(self, file_name: str):
             "url": StringOrArrayValidator(contains_regex=True),
             "xhr": StringOrArrayValidator(contains_regex=True),
             "meta": DictValidator(contains_regex=True),
-            "scriptSrc": StringOrArrayValidator(contains_regex=True),
+            "scriptSrc": ArrayValidator(contains_regex=True),
             "scripts": StringOrArrayValidator(contains_regex=True),
             "html": ArrayValidator(contains_regex=True),
             "certIssuer": StringValidator()
diff --git a/schema.json b/schema.json
index 143bd1fe..f4dd4307 100644
--- a/schema.json
+++ b/schema.json
@@ -178,17 +178,10 @@
         }
       },
       "scriptSrc": {
-        "oneOf": [
-          {
-            "type": "array",
-            "items": {
-              "$ref": "#/definitions/non-empty-non-blank-string"
-            }
-          },
-          {
-            "$ref": "#/definitions/non-empty-non-blank-string"
-          }
-        ]
+        "type": "array",
+        "items": {
+          "$ref": "#/definitions/non-empty-non-blank-string"
+        }
       },
       "scripts": {
         "oneOf": [
diff --git a/src/technologies/_.json b/src/technologies/_.json
index 1b9b83ed..ff738a73 100644
--- a/src/technologies/_.json
+++ b/src/technologies/_.json
@@ -24,7 +24,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "bitrix(?:\\.info/|/js/main/core)",
+    "scriptSrc": [
+      "bitrix(?:\\.info/|/js/main/core)"
+    ],
     "website": "https://www.1c-bitrix.ru"
   },
   "2B Advice": {
@@ -37,7 +39,9 @@
       "BBCookieControler": ""
     },
     "saas": true,
-    "scriptSrc": "2badvice-cdn\\.azureedge\\.net",
+    "scriptSrc": [
+      "2badvice-cdn\\.azureedge\\.net"
+    ],
     "website": "https://www.2b-advice.com/en/data-privacy-software/cookie-consent-plugin/"
   },
   "30namaPlayer": {
@@ -100,7 +104,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "4tellcdn\\.azureedge\\.net",
+    "scriptSrc": [
+      "4tellcdn\\.azureedge\\.net"
+    ],
     "website": "https://4-tell.com"
   },
   "42stores": {
@@ -150,7 +156,9 @@
       "recurring",
       "low"
     ],
-    "scriptSrc": "\\.5centscdn\\.com/",
+    "scriptSrc": [
+      "\\.5centscdn\\.com/"
+    ],
     "website": "https://www.5centscdn.net"
   },
   "6sense": {
@@ -169,7 +177,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.6sc\\.co/",
+    "scriptSrc": [
+      "\\.6sc\\.co/"
+    ],
     "website": "https://6sense.com"
   },
   "8base": {
@@ -196,7 +206,9 @@
     "dom": "model-viewer",
     "icon": "model-viewer.svg",
     "oss": true,
-    "scriptSrc": "/model-viewer/dist/model-viewer\\.min\\.js",
+    "scriptSrc": [
+      "/model-viewer/dist/model-viewer\\.min\\.js"
+    ],
     "website": "https://modelviewer.dev"
   },
   "@sulu/web": {
@@ -219,7 +231,9 @@
       "_hyperscript": ""
     },
     "oss": true,
-    "scriptSrc": "//unpkg\\.com/hyperscript\\.org@([\\d\\.]+)\\;version:\\1",
+    "scriptSrc": [
+      "//unpkg\\.com/hyperscript\\.org@([\\d\\.]+)\\;version:\\1"
+    ],
     "website": "https://hyperscript.org"
   }
 }
\ No newline at end of file
diff --git a/src/technologies/a.json b/src/technologies/a.json
index e17868a8..dde03300 100644
--- a/src/technologies/a.json
+++ b/src/technologies/a.json
@@ -13,7 +13,9 @@
     "js": {
       "AFRAME.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "/?([\\d.]+)?/aframe(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "/?([\\d.]+)?/aframe(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://aframe.io"
   },
   "A8.net": {
@@ -28,7 +30,9 @@
       "a8sales": "",
       "map_A8": ""
     },
-    "scriptSrc": "statics\\.a8\\.net",
+    "scriptSrc": [
+      "statics\\.a8\\.net"
+    ],
     "website": "https://www.a8.net"
   },
   "AB Tasty": {
@@ -46,7 +50,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "try\\.abtasty\\.com",
+    "scriptSrc": [
+      "try\\.abtasty\\.com"
+    ],
     "website": "https://www.abtasty.com"
   },
   "ABOUT YOU Commerce Suite": {
@@ -94,7 +100,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.ebis\\.ne\\.jp/",
+    "scriptSrc": [
+      "\\.ebis\\.ne\\.jp/"
+    ],
     "website": "https://www.ebis.ne.jp"
   },
   "ADAPT": {
@@ -149,7 +157,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/covernews(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/covernews(?:-pro)?/"
+    ],
     "website": "https://afthemes.com/products/covernews"
   },
   "ALL-INKL": {
@@ -252,7 +262,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.ari-secure\\.com/",
+    "scriptSrc": [
+      "\\.ari-secure\\.com/"
+    ],
     "website": "https://arinet.com"
   },
   "ASP.NET Boilerplate": {
@@ -290,7 +302,9 @@
     "js": {
       "xt_click": ""
     },
-    "scriptSrc": "xiti\\.com/hit\\.xiti",
+    "scriptSrc": [
+      "xiti\\.com/hit\\.xiti"
+    ],
     "website": "https://atinternet.com/en"
   },
   "ATSHOP": {
@@ -305,7 +319,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.atshop\\.io",
+    "scriptSrc": [
+      "\\.atshop\\.io"
+    ],
     "website": "https://atshop.io"
   },
   "AWIN": {
@@ -325,7 +341,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "dwin1\\.com",
+    "scriptSrc": [
+      "dwin1\\.com"
+    ],
     "website": "https://www.awin.com"
   },
   "AWS Certificate Manager": {
@@ -359,7 +377,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "captcha\\.awswaf\\.com/",
+    "scriptSrc": [
+      "captcha\\.awswaf\\.com/"
+    ],
     "website": "https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha.html"
   },
   "AWStats": {
@@ -477,7 +497,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "acsbapp?\\.com/.*/acsb\\.js",
+    "scriptSrc": [
+      "acsbapp?\\.com/.*/acsb\\.js"
+    ],
     "website": "https://accessibe.com"
   },
   "Accessibility Toolbar Plugin": {
@@ -523,7 +545,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "accessibly\\.onthemapmarketing\\.com",
+    "scriptSrc": [
+      "accessibly\\.onthemapmarketing\\.com"
+    ],
     "website": "https://www.onthemapmarketing.com/accessibly/"
   },
   "Accesso": {
@@ -536,7 +560,9 @@
     "js": {
       "accesso": ""
     },
-    "scriptSrc": "/embed/accesso\\.js",
+    "scriptSrc": [
+      "/embed/accesso\\.js"
+    ],
     "website": "https://accesso.com/"
   },
   "Acconsento.click": {
@@ -799,7 +825,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.acquire\\.io/cobrowse/",
+    "scriptSrc": [
+      "\\.acquire\\.io/cobrowse/"
+    ],
     "website": "https://acquire.io/co-browsing"
   },
   "Acquire Live Chat": {
@@ -816,7 +844,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.acquire\\.io/(?!cobrowse)",
+    "scriptSrc": [
+      "\\.acquire\\.io/(?!cobrowse)"
+    ],
     "website": "https://acquire.io"
   },
   "Act-On": {
@@ -833,7 +863,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/cdnr/\\d+/acton/bn/tracker/\\d+",
+    "scriptSrc": [
+      "/cdnr/\\d+/acton/bn/tracker/\\d+"
+    ],
     "website": "https://act-on.com"
   },
   "ActBlue": {
@@ -920,7 +952,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.acuityscheduling\\.com",
+    "scriptSrc": [
+      "\\.acuityscheduling\\.com"
+    ],
     "website": "https://acuityscheduling.com"
   },
   "AcuityAds": {
@@ -952,7 +986,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.adlightning\\.com",
+    "scriptSrc": [
+      "\\.adlightning\\.com"
+    ],
     "website": "https://www.adlightning.com"
   },
   "AdBridg": {
@@ -976,7 +1012,9 @@
       36
     ],
     "icon": "AdInfinity.png",
-    "scriptSrc": "adinfinity\\.com\\.au",
+    "scriptSrc": [
+      "adinfinity\\.com\\.au"
+    ],
     "website": "https://adinfinity.com.au"
   },
   "AdOcean": {
@@ -1017,7 +1055,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "tag\\.goadopt\\.io/",
+    "scriptSrc": [
+      "tag\\.goadopt\\.io/"
+    ],
     "website": "https://goadopt.io"
   },
   "AdRecover": {
@@ -1048,7 +1088,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.adriver\\.ru/",
+    "scriptSrc": [
+      "\\.adriver\\.ru/"
+    ],
     "website": "https://adriver.ru"
   },
   "AdRoll": {
@@ -1069,7 +1111,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:a|s)\\.adroll\\.com",
+    "scriptSrc": [
+      "(?:a|s)\\.adroll\\.com"
+    ],
     "website": "https://adroll.com"
   },
   "AdRoll CMP System": {
@@ -1106,7 +1150,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.adscale\\.com/",
+    "scriptSrc": [
+      "\\.adscale\\.com/"
+    ],
     "website": "https://www.adscale.com"
   },
   "AdThrive": {
@@ -1120,7 +1166,9 @@
       "adthriveVideosInjected": ""
     },
     "saas": true,
-    "scriptSrc": "ads\\.adthrive\\.com",
+    "scriptSrc": [
+      "ads\\.adthrive\\.com"
+    ],
     "website": "https://www.adthrive.com"
   },
   "Ada": {
@@ -1137,7 +1185,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.ada\\.support",
+    "scriptSrc": [
+      "\\.ada\\.support"
+    ],
     "website": "https://www.ada.cx"
   },
   "AdaSiteCompliance": {
@@ -1172,7 +1222,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "track\\.adabra\\.com",
+    "scriptSrc": [
+      "track\\.adabra\\.com"
+    ],
     "website": "https://www.adabra.com",
     "xhr": "my\\.adabra\\.com"
   },
@@ -1181,7 +1233,9 @@
       68
     ],
     "icon": "Adally.png",
-    "scriptSrc": "cloudfront\\.net/.*/adally\\.js",
+    "scriptSrc": [
+      "cloudfront\\.net/.*/adally\\.js"
+    ],
     "website": "https://adally.com/"
   },
   "Adalyser": {
@@ -1193,7 +1247,9 @@
     "js": {
       "adalyserModules": ""
     },
-    "scriptSrc": "c5\\.adalyser\\.com",
+    "scriptSrc": [
+      "c5\\.adalyser\\.com"
+    ],
     "website": "https://adalyser.com/"
   },
   "Adcash": {
@@ -1210,7 +1266,9 @@
       "ct_siteunder": "",
       "ct_tag": ""
     },
-    "scriptSrc": "^[^\\/]*//(?:[^\\/]+\\.)?adcash\\.com/(?:script|ad)/",
+    "scriptSrc": [
+      "^[^\\/]*//(?:[^\\/]+\\.)?adcash\\.com/(?:script|ad)/"
+    ],
     "url": "^https?://(?:[^\\/]+\\.)?adcash\\.com/script/pop_",
     "website": "https://adcash.com"
   },
@@ -1225,7 +1283,9 @@
       "recurring",
       "poa"
     ],
-    "scriptSrc": "//addevent\\.com/",
+    "scriptSrc": [
+      "//addevent\\.com/"
+    ],
     "website": "https://www.addevent.com"
   },
   "AddShoppers": {
@@ -1239,7 +1299,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "(?:cdn\\.)?shop\\.pe/widget/",
+    "scriptSrc": [
+      "(?:cdn\\.)?shop\\.pe/widget/"
+    ],
     "website": "https://www.addshoppers.com"
   },
   "AddThis": {
@@ -1251,7 +1313,9 @@
     "js": {
       "addthis": ""
     },
-    "scriptSrc": "addthis\\.com/js/",
+    "scriptSrc": [
+      "addthis\\.com/js/"
+    ],
     "website": "https://www.addthis.com"
   },
   "AddToAny": {
@@ -1263,7 +1327,9 @@
     "js": {
       "a2apage_init": ""
     },
-    "scriptSrc": "addtoany\\.com/menu/page\\.js",
+    "scriptSrc": [
+      "addtoany\\.com/menu/page\\.js"
+    ],
     "website": "https://www.addtoany.com"
   },
   "AddToAny Share Buttons": {
@@ -1279,7 +1345,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/add-to-any/addtoany\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/add-to-any/addtoany\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://github.com/projectestac/wordpress-add-to-any"
   },
   "Addi": {
@@ -1288,7 +1356,9 @@
     ],
     "description": "Addi is a service that allows users to make purchases and pay for them in installments over time",
     "icon": "addi.png",
-    "scriptSrc": "s3\\.amazonaws\\.com/widgets\\.addi\\.com/bundle\\.min\\.js",
+    "scriptSrc": [
+      "s3\\.amazonaws\\.com/widgets\\.addi\\.com/bundle\\.min\\.js"
+    ],
     "website": "https://co.addi.com/"
   },
   "Addsearch": {
@@ -1306,7 +1376,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//addsearch\\.com/js/",
+    "scriptSrc": [
+      "//addsearch\\.com/js/"
+    ],
     "website": "https://www.addsearch.com/"
   },
   "Adform": {
@@ -1320,7 +1392,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.adform\\.net/",
+    "scriptSrc": [
+      "\\.adform\\.net/"
+    ],
     "website": "https://site.adform.com"
   },
   "Adjust": {
@@ -1350,7 +1424,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.adlooxtracking\\.com/",
+    "scriptSrc": [
+      "\\.adlooxtracking\\.com/"
+    ],
     "website": "https://www.adloox.com"
   },
   "Adminer": {
@@ -1422,7 +1498,9 @@
       "onetime"
     ],
     "saas": true,
-    "scriptSrc": "\\.admixer\\.net/",
+    "scriptSrc": [
+      "\\.admixer\\.net/"
+    ],
     "website": "https://admixer.com"
   },
   "Admo.tv": {
@@ -1453,7 +1531,9 @@
       "X-Advertising-By": "adnegah\\.net"
     },
     "icon": "Adnegah.png",
-    "scriptSrc": "\\.adnegah\\.net/",
+    "scriptSrc": [
+      "\\.adnegah\\.net/"
+    ],
     "website": "https://adnegah.net"
   },
   "Adobe Analytics": {
@@ -1525,7 +1605,9 @@
     "js": {
       "_cfEmails": ""
     },
-    "scriptSrc": "/cfajax/",
+    "scriptSrc": [
+      "/cfajax/"
+    ],
     "url": "\\.cfm(?:$|\\?)",
     "website": "https://adobe.com/products/coldfusion-family.html"
   },
@@ -1591,7 +1673,9 @@
     "excludes": [
       "Adobe Experience Manager"
     ],
-    "scriptSrc": "^.+/scripts/lib-franklin\\.js$",
+    "scriptSrc": [
+      "^.+/scripts/lib-franklin\\.js$"
+    ],
     "website": "https://www.hlx.live"
   },
   "Adobe Experience Platform Identity Service": {
@@ -1679,7 +1763,9 @@
     "meta": {
       "generator": "^Adobe RoboHelp(?: ([\\d]+))?\\;version:\\1"
     },
-    "scriptSrc": "(?:wh(?:utils|ver|proxy|lang|topic|msg)|ehlpdhtm)\\.js",
+    "scriptSrc": [
+      "(?:wh(?:utils|ver|proxy|lang|topic|msg)|ehlpdhtm)\\.js"
+    ],
     "website": "https://adobe.com/products/robohelp.html"
   },
   "Adobe Target": {
@@ -1728,7 +1814,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.adligature\\.com/.+/advally-([\\d.]+)\\.js\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.adligature\\.com/.+/advally-([\\d.]+)\\.js\\;version:\\1"
+    ],
     "website": "https://www.advally.com"
   },
   "Advanced Custom Fields": {
@@ -1749,7 +1837,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/advanced-custom-fields(?:-pro)?/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/advanced-custom-fields(?:-pro)?/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.advancedcustomfields.com"
   },
   "Advert Stream": {
@@ -1760,7 +1850,9 @@
     "js": {
       "advst_is_above_the_fold": ""
     },
-    "scriptSrc": "(?:ad\\.advertstream\\.com|adxcore\\.com)",
+    "scriptSrc": [
+      "(?:ad\\.advertstream\\.com|adxcore\\.com)"
+    ],
     "website": "https://www.advertstream.com"
   },
   "Adverticum": {
@@ -1774,7 +1866,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.adverticum\\.net/",
+    "scriptSrc": [
+      "\\.adverticum\\.net/"
+    ],
     "website": "https://adverticum.net"
   },
   "Adyen": {
@@ -1834,7 +1928,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "static\\.affilae\\.com/(?:.+v([\\d\\.]+)|.+)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "static\\.affilae\\.com/(?:.+v([\\d\\.]+)|.+)?\\.js\\;version:\\1"
+    ],
     "website": "https://affilae.com"
   },
   "Affiliate B": {
@@ -1845,7 +1941,9 @@
     "description": "Affiliate B is an advertising system that allows site operators (HP, blogs, e-mail newsletters, etc.) to place advertiser advertisements on their own sites.",
     "dom": "img[src*='www.afi-b.com']",
     "icon": "Affiliate B.svg",
-    "scriptSrc": "t\\.afi-b\\.com",
+    "scriptSrc": [
+      "t\\.afi-b\\.com"
+    ],
     "website": "https://affiliate-b.com"
   },
   "Affiliate Future": {
@@ -1855,7 +1953,9 @@
     "description": "Affiliate Future is a provider of advertisers with marketing solution through its affiliate network and tools.",
     "dom": "img[src*='banners.affiliatefuture.com']",
     "icon": "Affiliate Future.png",
-    "scriptSrc": "tags\\.affiliatefuture\\.com",
+    "scriptSrc": [
+      "tags\\.affiliatefuture\\.com"
+    ],
     "website": "https://affiliatefuture.com"
   },
   "Affiliatly": {
@@ -1869,7 +1969,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "static\\.affiliatly\\.com/",
+    "scriptSrc": [
+      "static\\.affiliatly\\.com/"
+    ],
     "website": "https://www.affiliatly.com"
   },
   "Affilio": {
@@ -1898,7 +2000,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "//affilo\\.io/",
+    "scriptSrc": [
+      "//affilo\\.io/"
+    ],
     "website": "https://affilo.io"
   },
   "Affirm": {
@@ -1914,7 +2018,9 @@
       "affirm.Rollbar": ""
     },
     "saas": true,
-    "scriptSrc": "\\.affirm\\.com/js/v([\\d\\.]+)/affirm\\.js\\;version:\\1",
+    "scriptSrc": [
+      "\\.affirm\\.com/js/v([\\d\\.]+)/affirm\\.js\\;version:\\1"
+    ],
     "website": "https://www.affirm.com"
   },
   "Afosto": {
@@ -1943,7 +2049,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.afterbuy\\.de/",
+    "scriptSrc": [
+      "\\.afterbuy\\.de/"
+    ],
     "website": "https://www.afterbuy.de"
   },
   "AfterShip": {
@@ -2020,7 +2128,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "age-gate(?:\\/dist)?(?:\\/all)?(?:\\/focus)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "age-gate(?:\\/dist)?(?:\\/all)?(?:\\/focus)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/age-gate"
   },
   "Ahoy": {
@@ -2071,7 +2181,9 @@
     "js": {
       "aispeed_init": ""
     },
-    "scriptSrc": "aispeed\\.js",
+    "scriptSrc": [
+      "aispeed\\.js"
+    ],
     "website": "https://apps.shopify.com/aispeed"
   },
   "Aimtell": {
@@ -2090,7 +2202,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.aimtell\\.\\w+/",
+    "scriptSrc": [
+      "cdn\\.aimtell\\.\\w+/"
+    ],
     "website": "https://aimtell.com"
   },
   "Air360": {
@@ -2131,7 +2245,9 @@
     "description": "Aircall is a cloud-based phone system for customer support and sales teams.",
     "icon": "aircall.png",
     "saas": true,
-    "scriptSrc": "^https?://cdn\\.aircall\\.io/",
+    "scriptSrc": [
+      "^https?://cdn\\.aircall\\.io/"
+    ],
     "website": "https://aircall.io"
   },
   "Airee": {
@@ -2165,7 +2281,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "urbanairship\\.\\w+/notify/v([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "urbanairship\\.\\w+/notify/v([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://www.airship.com"
   },
   "Airtable": {
@@ -2302,7 +2420,9 @@
       "Microsoft ASP.NET"
     ],
     "saas": true,
-    "scriptSrc": "\\.akilliticaret\\.com/",
+    "scriptSrc": [
+      "\\.akilliticaret\\.com/"
+    ],
     "website": "https://akilliticaret.com"
   },
   "Akinon": {
@@ -2314,7 +2434,9 @@
     "pricing": [
       "poa"
     ],
-    "scriptSrc": "cdn-mgsm\\.akinon\\.net/",
+    "scriptSrc": [
+      "cdn-mgsm\\.akinon\\.net/"
+    ],
     "website": "https://www.akinon.com/"
   },
   "Akismet": {
@@ -2335,7 +2457,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/akismet/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/akismet/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://akismet.com"
   },
   "Akka HTTP": {
@@ -2365,7 +2489,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.aklamio\\.com/",
+    "scriptSrc": [
+      "\\.aklamio\\.com/"
+    ],
     "website": "https://www.aklamio.com"
   },
   "Aksara CMS": {
@@ -2402,7 +2528,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.albacross\\.com",
+    "scriptSrc": [
+      "\\.albacross\\.com"
+    ],
     "website": "https://albacross.com"
   },
   "AlertifyJS": {
@@ -2415,7 +2543,9 @@
       "alertify.defaults.autoReset": ""
     },
     "oss": true,
-    "scriptSrc": "/alertify/alertify\\.min\\.js",
+    "scriptSrc": [
+      "/alertify/alertify\\.min\\.js"
+    ],
     "website": "https://alertifyjs.com"
   },
   "Alexa Certified Site Metrics": {
@@ -2433,7 +2563,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.cloudfront\\.net/atrk\\.js",
+    "scriptSrc": [
+      "\\.cloudfront\\.net/atrk\\.js"
+    ],
     "website": "https://support.alexa.com/hc/en-us/sections/200063374"
   },
   "Algolia": {
@@ -2504,7 +2636,9 @@
     "description": "Alibaba Cloud CDN is a global network of servers designed to deliver high-performance, low-latency content to users around the world. It is a cloud-based service provided by Alibaba Cloud, a subsidiary of the Alibaba Group, that enables businesses to accelerate the delivery of their web content, including images, videos, and static files, to end-users.",
     "dom": "img[src*='.alicdn.com/']",
     "icon": "Alibaba Cloud.svg",
-    "scriptSrc": "\\.alicdn\\.com/",
+    "scriptSrc": [
+      "\\.alicdn\\.com/"
+    ],
     "website": "https://www.alibabacloud.com/product/content-delivery-network"
   },
   "Alibaba Cloud Object Storage Service": {
@@ -2530,7 +2664,9 @@
     ],
     "description": "Alibaba Cloud Verification Code is a security feature provided by Alibaba Cloud to help protect user accounts from unauthorised access.",
     "icon": "Alibaba Cloud.svg",
-    "scriptSrc": "cf\\.aliyun\\.com/",
+    "scriptSrc": [
+      "cf\\.aliyun\\.com/"
+    ],
     "website": "https://help.aliyun.com/document_detail/193141.html"
   },
   "All in One SEO Pack": {
@@ -2565,7 +2701,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.alliai\\.com/",
+    "scriptSrc": [
+      "\\.alliai\\.com/"
+    ],
     "website": "https://www.alliai.com"
   },
   "Alliance Auth": {
@@ -2597,7 +2735,9 @@
     "js": {
       "AUI": ""
     },
-    "scriptSrc": "^https?://cdn\\.alloyui\\.com/",
+    "scriptSrc": [
+      "^https?://cdn\\.alloyui\\.com/"
+    ],
     "website": "https://www.alloyui.com"
   },
   "Allyable": {
@@ -2612,7 +2752,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "portal\\.allyable\\.com/",
+    "scriptSrc": [
+      "portal\\.allyable\\.com/"
+    ],
     "website": "https://allyable.com"
   },
   "AlmaLinux": {
@@ -2667,7 +2809,9 @@
       "Debian"
     ],
     "saas": false,
-    "scriptSrc": "js/alternc\\.js",
+    "scriptSrc": [
+      "js/alternc\\.js"
+    ],
     "website": "https://alternc.com"
   },
   "AlumnIQ": {
@@ -2722,7 +2866,9 @@
     "description": "Amaze UI is a mobile-first JavaScript library designed to simplify front-end development.",
     "icon": "Amaze UI.png",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/(?:js\\/)?)?amazeui(?:\\/js\\/jquery)?(?:\\.widgets)?(?:\\.helper)?(?:\\.legacy)?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/(?:js\\/)?)?amazeui(?:\\/js\\/jquery)?(?:\\.widgets)?(?:\\.helper)?(?:\\.legacy)?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://amazeui.shopxo.net/"
   },
   "Amazon ALB": {
@@ -2751,7 +2897,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.amazon-adsystem\\.com",
+    "scriptSrc": [
+      "\\.amazon-adsystem\\.com"
+    ],
     "website": "https://advertising.amazon.com",
     "xhr": "\\.amazon-adsystem\\.com"
   },
@@ -2774,7 +2922,9 @@
     },
     "icon": "Amazon.svg",
     "saas": true,
-    "scriptSrc": "\\.associates-amazon\\.com",
+    "scriptSrc": [
+      "\\.associates-amazon\\.com"
+    ],
     "website": "https://affiliate-program.amazon.com"
   },
   "Amazon Aurora": {
@@ -2942,7 +3092,9 @@
       "Amazon Web Services"
     ],
     "saas": true,
-    "scriptSrc": "s3[^ ]*\\.amazonaws\\.com/",
+    "scriptSrc": [
+      "s3[^ ]*\\.amazonaws\\.com/"
+    ],
     "website": "https://aws.amazon.com/s3/"
   },
   "Amazon SES": {
@@ -3010,7 +3162,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.getambassador\\.com/",
+    "scriptSrc": [
+      "cdn\\.getambassador\\.com/"
+    ],
     "website": "https://www.getambassador.com"
   },
   "Amber": {
@@ -3044,7 +3198,9 @@
     "meta": {
       "generator": "(?:Ametys|Anyware Technologies)"
     },
-    "scriptSrc": "ametys\\.js",
+    "scriptSrc": [
+      "ametys\\.js"
+    ],
     "website": "https://ametys.org"
   },
   "Amex Express Checkout": {
@@ -3053,7 +3209,9 @@
     ],
     "description": "Amex Express Checkout is a service that simplifies the checkout experience by auto-filling necessary cardholder payment data into merchant checkout fields.",
     "icon": "amex.png",
-    "scriptSrc": "aexp-static\\.com",
+    "scriptSrc": [
+      "aexp-static\\.com"
+    ],
     "website": "https://www.americanexpress.com/us/express-checkout/"
   },
   "Amiro.CMS": {
@@ -3109,7 +3267,9 @@
     "description": "AmplifyJS is a set of components designed to solve common web application problems with a simplistic API. Amplify's goal is to simplify all forms of data handling by providing a unified API for various data sources.",
     "icon": "Amplify JS.png",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?amplify(?:-production)?(?:\\.core)?(?:\\.store)?(?:\\.min)?(?:[-\\.][\\d\\w]{0,40})?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?amplify(?:-production)?(?:\\.core)?(?:\\.store)?(?:\\.min)?(?:[-\\.][\\d\\w]{0,40})?\\.js\\;version:\\1"
+    ],
     "website": "https://amplifyjs.com/"
   },
   "Amplitude": {
@@ -3129,7 +3289,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.(?:segment.+)?amplitude(?:\\.com|-plugins)",
+    "scriptSrc": [
+      "cdn\\.(?:segment.+)?amplitude(?:\\.com|-plugins)"
+    ],
     "website": "https://amplitude.com",
     "xhr": "\\.amplitude\\.com"
   },
@@ -3144,7 +3306,9 @@
     "js": {
       "AnalysysAgent": ""
     },
-    "scriptSrc": "AnalysysFangzhou_JS_SDK\\.min\\.js\\?v=([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "AnalysysFangzhou_JS_SDK\\.min\\.js\\?v=([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://ark.analysys.cn"
   },
   "Analyzee": {
@@ -3162,7 +3326,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.analyzee\\.io/sdk/(.*)\\.js",
+    "scriptSrc": [
+      "cdn\\.analyzee\\.io/sdk/(.*)\\.js"
+    ],
     "website": "https://analyzee.io"
   },
   "AndersNoren Baskerville": {
@@ -3177,7 +3343,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/baskerville(?:-2)?/",
+    "scriptSrc": [
+      "/wp-content/themes/baskerville(?:-2)?/"
+    ],
     "website": "https://andersnoren.se/teman/baskerville-wordpress-theme"
   },
   "AndersNoren Fukasawa": {
@@ -3192,7 +3360,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/fukasawa/",
+    "scriptSrc": [
+      "/wp-content/themes/fukasawa/"
+    ],
     "website": "https://andersnoren.se/teman/fukasawa-wordpress-theme"
   },
   "AndersNoren Hemingway": {
@@ -3207,7 +3377,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/hemingway/",
+    "scriptSrc": [
+      "/wp-content/themes/hemingway/"
+    ],
     "website": "https://andersnoren.se/teman/hemingway-wordpress-theme"
   },
   "AndersNoren Hitchcock": {
@@ -3222,7 +3394,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/hitchcock/",
+    "scriptSrc": [
+      "/wp-content/themes/hitchcock/"
+    ],
     "website": "https://andersnoren.se/teman/hitchcock-wordpress-theme"
   },
   "AndersNoren Lovecraft": {
@@ -3237,7 +3411,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/lovecraft/",
+    "scriptSrc": [
+      "/wp-content/themes/lovecraft/"
+    ],
     "website": "https://andersnoren.se/teman/lovecraft-wordpress-theme"
   },
   "Anetwork": {
@@ -3245,7 +3421,9 @@
       36
     ],
     "icon": "Anetwork.png",
-    "scriptSrc": "static-cdn\\.anetwork\\.ir/",
+    "scriptSrc": [
+      "static-cdn\\.anetwork\\.ir/"
+    ],
     "website": "https://www.anetwork.ir"
   },
   "Angie": {
@@ -3300,7 +3478,9 @@
     "description": "Gridster is a JavaScript library, with a simple drag-and-drop interface, for creating intuitive, dynamic and customizable layouts in web applications.",
     "icon": "Angular.svg",
     "oss": true,
-    "scriptSrc": "angular-gridster(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "angular-gridster(?:\\.min)?\\.js"
+    ],
     "website": "https://tiberiuzuld.github.io/angular-gridster2/"
   },
   "Angular Material": {
@@ -3318,7 +3498,9 @@
     "js": {
       "ngMaterial": ""
     },
-    "scriptSrc": "/([\\d.rc-]+)?/angular-material(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "/([\\d.rc-]+)?/angular-material(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://material.angularjs.org"
   },
   "AngularDart": {
@@ -3375,7 +3557,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "animate-it(?:\\/assets)?(?:\\/js)?(?:\\/animo)?(?:\\/edsanimate)?(?:\\/jquery)?(?:\\/viewportchecker)?(?:\\.ba-throttle-debounce)?(?:\\.min)?(?:\\.site)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "animate-it(?:\\/assets)?(?:\\/js)?(?:\\/animo)?(?:\\/edsanimate)?(?:\\/jquery)?(?:\\/viewportchecker)?(?:\\.ba-throttle-debounce)?(?:\\.min)?(?:\\.site)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/animate-it/"
   },
   "Animate.css": {
@@ -3416,7 +3600,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "^(?!.*player).*aniview\\.com/",
+    "scriptSrc": [
+      "^(?!.*player).*aniview\\.com/"
+    ],
     "website": "https://aniview.com/video-ad-servers/"
   },
   "Aniview Video Ad Player": {
@@ -3433,7 +3619,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "player\\.aniview\\.com/script/([\\d\\.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "player\\.aniview\\.com/script/([\\d\\.]+)/\\;version:\\1"
+    ],
     "website": "https://aniview.com/video-ad-player/"
   },
   "AnswerDash": {
@@ -3450,7 +3638,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.answerdash\\.com/",
+    "scriptSrc": [
+      "\\.answerdash\\.com/"
+    ],
     "website": "https://www.answerdash.com"
   },
   "Ant Design": {
@@ -3553,7 +3743,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/antibot8/static/peel\\.js",
+    "scriptSrc": [
+      "/antibot8/static/peel\\.js"
+    ],
     "website": "https://antibot.cloud"
   },
   "Antsomi CDP 365": {
@@ -3566,7 +3758,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.cdp\\.asia/",
+    "scriptSrc": [
+      "\\.cdp\\.asia/"
+    ],
     "website": "https://www.antsomi.com"
   },
   "AnyClip": {
@@ -3583,7 +3777,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.anyclip\\.com",
+    "scriptSrc": [
+      "\\.anyclip\\.com"
+    ],
     "website": "https://www.anyclip.com"
   },
   "AnythingSlider": {
@@ -3593,7 +3789,9 @@
     "description": "A robust jQuery-based slider plugin.",
     "icon": "AnythingSlider.svg",
     "oss": true,
-    "scriptSrc": "anythingslider(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "anythingslider(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://css-tricks.com/anythingslider-jquery-plugin/"
   },
   "Apache APISIX": {
@@ -3637,7 +3835,9 @@
       "Apache Tomcat"
     ],
     "oss": true,
-    "scriptSrc": "jspwiki",
+    "scriptSrc": [
+      "jspwiki"
+    ],
     "url": "wiki\\.jsp",
     "website": "https://jspwiki.org"
   },
@@ -3758,7 +3958,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/profiles/apigee",
+    "scriptSrc": [
+      "/profiles/apigee"
+    ],
     "website": "https://cloud.google.com/apigee/"
   },
   "Apisearch": {
@@ -3772,7 +3974,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "static\\.apisearch\\.cloud",
+    "scriptSrc": [
+      "static\\.apisearch\\.cloud"
+    ],
     "website": "https://apisearch.io"
   },
   "Aplazame": {
@@ -3827,7 +4031,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/rife(?:-free)?/(?:.+script\\.min\\.js(?:\\?ver=([\\d\\.]+)))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/rife(?:-free)?/(?:.+script\\.min\\.js(?:\\?ver=([\\d\\.]+)))?\\;version:\\1"
+    ],
     "website": "https://apollo13themes.com/rife"
   },
   "ApostropheCMS": {
@@ -3865,7 +4071,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "adrum",
+    "scriptSrc": [
+      "adrum"
+    ],
     "website": "https://appdynamics.com"
   },
   "AppNexus": {
@@ -3883,7 +4091,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "adnxs\\.(?:net|com)",
+    "scriptSrc": [
+      "adnxs\\.(?:net|com)"
+    ],
     "website": "https://appnexus.com",
     "xhr": "prebid\\.adnxs\\.com"
   },
@@ -3897,7 +4107,9 @@
       "Appcues": ""
     },
     "saas": true,
-    "scriptSrc": "fast\\.appcues\\.com",
+    "scriptSrc": [
+      "fast\\.appcues\\.com"
+    ],
     "website": "https://www.appcues.com/"
   },
   "Appian": {
@@ -3913,7 +4125,9 @@
       "webpackJsonpAppian": ""
     },
     "saas": true,
-    "scriptSrc": "tempo/ui/sail-client/embeddedBootstrap\\.nocache\\.js",
+    "scriptSrc": [
+      "tempo/ui/sail-client/embeddedBootstrap\\.nocache\\.js"
+    ],
     "website": "https://www.appian.com"
   },
   "Apple Business Chat": {
@@ -3931,7 +4145,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "/apple_business_chat_commerce/.+/apple_message_button_v([\\d\\.]+)\\.js\\;version:\\1",
+    "scriptSrc": [
+      "/apple_business_chat_commerce/.+/apple_message_button_v([\\d\\.]+)\\.js\\;version:\\1"
+    ],
     "website": "https://developer.apple.com/documentation/businesschat"
   },
   "Apple MapKit JS": {
@@ -3950,7 +4166,9 @@
       "freemium",
       "payg"
     ],
-    "scriptSrc": "//cdn\\.apple-mapkit\\.com/mk/([\\d\\.\\w]+)\\;version:\\1",
+    "scriptSrc": [
+      "//cdn\\.apple-mapkit\\.com/mk/([\\d\\.\\w]+)\\;version:\\1"
+    ],
     "website": "https://developer.apple.com/maps/web/"
   },
   "Apple Pay": {
@@ -3995,7 +4213,9 @@
     "meta": {
       "appleid-signin-client-id": ""
     },
-    "scriptSrc": "appleid\\.auth\\.js",
+    "scriptSrc": [
+      "appleid\\.auth\\.js"
+    ],
     "website": "https://developer.apple.com/sign-in-with-apple/"
   },
   "Apple iCloud Mail": {
@@ -4027,7 +4247,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.applicantstack\\.com/",
+    "scriptSrc": [
+      "\\.applicantstack\\.com/"
+    ],
     "website": "https://www.applicantstack.com"
   },
   "Application Request Routing": {
@@ -4068,7 +4290,9 @@
     "js": {
       "AppsFlyerSdkObject": ""
     },
-    "scriptSrc": "websdk\\.appsflyer\\.com",
+    "scriptSrc": [
+      "websdk\\.appsflyer\\.com"
+    ],
     "website": "https://www.appsflyer.com/"
   },
   "Apptus": {
@@ -4090,7 +4314,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.esales\\.apptus\\.com.+(?:apptus-esales-api-([\\d.]+))\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.esales\\.apptus\\.com.+(?:apptus-esales-api-([\\d.]+))\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://www.apptus.com"
   },
   "Aprimo": {
@@ -4158,7 +4384,9 @@
       "PHP"
     ],
     "oss": true,
-    "scriptSrc": "arastta\\.js",
+    "scriptSrc": [
+      "arastta\\.js"
+    ],
     "website": "https://arastta.org"
   },
   "Arc": {
@@ -4177,7 +4405,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "arc\\.io/widget\\.js",
+    "scriptSrc": [
+      "arc\\.io/widget\\.js"
+    ],
     "website": "https://arc.io",
     "xhr": "\\.arc\\.io"
   },
@@ -4244,7 +4474,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/Arreva-OnlineDonations-Portlet/",
+    "scriptSrc": [
+      "/Arreva-OnlineDonations-Portlet/"
+    ],
     "website": "https://www.arreva.com"
   },
   "Arsys Domain Parking": {
@@ -4393,7 +4625,9 @@
       "AsciinemaPlayer": "",
       "asciinema": ""
     },
-    "scriptSrc": "asciinema\\.org/",
+    "scriptSrc": [
+      "asciinema\\.org/"
+    ],
     "website": "https://asciinema.org/"
   },
   "Asendia": {
@@ -4420,7 +4654,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/asgaros-forum/",
+    "scriptSrc": [
+      "/wp-content/plugins/asgaros-forum/"
+    ],
     "website": "https://www.asgaros.de"
   },
   "Assertive Yield": {
@@ -4462,7 +4698,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "themes/astra\\S*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "themes/astra\\S*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1"
+    ],
     "website": "https://wpastra.com/"
   },
   "Astra Widgets": {
@@ -4532,7 +4770,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.iperceptions\\.com",
+    "scriptSrc": [
+      "\\.iperceptions\\.com"
+    ],
     "website": "https://astutesolutions.com"
   },
   "Atatus": {
@@ -4549,7 +4789,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "/atatus\\.js",
+    "scriptSrc": [
+      "/atatus\\.js"
+    ],
     "website": "https://www.atatus.com"
   },
   "Athena Search": {
@@ -4563,7 +4805,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "wp-content/plugins/athena-search",
+    "scriptSrc": [
+      "wp-content/plugins/athena-search"
+    ],
     "website": "https://www.athenasearch.io"
   },
   "Atlassian Bitbucket": {
@@ -4684,7 +4928,9 @@
     "js": {
       "atomeWidget": ""
     },
-    "scriptSrc": "gateway\\.apaylater\\.com/",
+    "scriptSrc": [
+      "gateway\\.apaylater\\.com/"
+    ],
     "website": "https://www.atome.sg/"
   },
   "Attentive": {
@@ -4702,7 +4948,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.attn\\.tv",
+    "scriptSrc": [
+      "cdn\\.attn\\.tv"
+    ],
     "website": "https://www.attentivemobile.com"
   },
   "Attraqt": {
@@ -4715,7 +4963,9 @@
     "js": {
       "_attraqt": ""
     },
-    "scriptSrc": "cdn\\.attraqt\\.io",
+    "scriptSrc": [
+      "cdn\\.attraqt\\.io"
+    ],
     "website": "https://www.attraqt.com/"
   },
   "AudioEye": {
@@ -4734,7 +4984,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:\\.)?audioeye\\.com/(?:ae\\.js)?",
+    "scriptSrc": [
+      "(?:\\.)?audioeye\\.com/(?:ae\\.js)?"
+    ],
     "website": "https://www.audioeye.com"
   },
   "Audiohook": {
@@ -4786,7 +5038,9 @@
       "localAurelia": ""
     },
     "oss": true,
-    "scriptSrc": "/aurelia[\\d\\w\\-\\.]+\\.js",
+    "scriptSrc": [
+      "/aurelia[\\d\\w\\-\\.]+\\.js"
+    ],
     "website": "https://aurelia.io"
   },
   "Auryc": {
@@ -4802,7 +5056,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.auryc\\.com/",
+    "scriptSrc": [
+      "cdn\\.auryc\\.com/"
+    ],
     "website": "https://www.auryc.com"
   },
   "Australia Post": {
@@ -4850,7 +5106,9 @@
     "implies": [
       "Auth0"
     ],
-    "scriptSrc": "/lock/([\\d.]+)/lock(?:.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "/lock/([\\d.]+)/lock(?:.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://auth0.com/docs/libraries/lock"
   },
   "Autoketing": {
@@ -4894,7 +5152,9 @@
     ],
     "description": "Automatad is a digital media products company that provides a suite of programmatic monetisation solutions.",
     "icon": "automatad.png",
-    "scriptSrc": "//go\\.automatad\\.com/",
+    "scriptSrc": [
+      "//go\\.automatad\\.com/"
+    ],
     "website": "https://automatad.com/"
   },
   "Automatic.css": {
@@ -4929,7 +5189,9 @@
       "freemium",
       "payg"
     ],
-    "scriptSrc": "\\.automizely\\.com/",
+    "scriptSrc": [
+      "\\.automizely\\.com/"
+    ],
     "website": "https://www.automizely.com/marketing"
   },
   "Autopilot": {
@@ -4966,7 +5228,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/autoptimize/.+\\.js(?:\\?ao_version=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/autoptimize/.+\\.js(?:\\?ao_version=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://autoptimize.com"
   },
   "Avada AVASHIP": {
@@ -4985,7 +5249,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "freeshippingbar\\.apps\\.avada\\.io/",
+    "scriptSrc": [
+      "freeshippingbar\\.apps\\.avada\\.io/"
+    ],
     "website": "https://apps.shopify.com/avaship"
   },
   "Avada Boost Sales": {
@@ -5005,7 +5271,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "boostsales\\.apps\\.avada\\.io/",
+    "scriptSrc": [
+      "boostsales\\.apps\\.avada\\.io/"
+    ],
     "website": "https://apps.shopify.com/avada-boost-sales"
   },
   "Avada SEO": {
@@ -5024,7 +5292,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "seo\\.apps\\.avada\\.io/",
+    "scriptSrc": [
+      "seo\\.apps\\.avada\\.io/"
+    ],
     "website": "https://apps.shopify.com/avada-seo-suite"
   },
   "Avada Size Chart": {
@@ -5040,7 +5310,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "sizechart\\.apps\\.avada\\.io/",
+    "scriptSrc": [
+      "sizechart\\.apps\\.avada\\.io/"
+    ],
     "website": "https://apps.shopify.com/avada-size-chart"
   },
   "Avangate": {
@@ -5057,7 +5329,9 @@
       "__avng8_callbacks": "",
       "avaSlugify": ""
     },
-    "scriptSrc": "^https?://edge\\.avangate\\.net/",
+    "scriptSrc": [
+      "^https?://edge\\.avangate\\.net/"
+    ],
     "website": "https://www.2checkout.com"
   },
   "Avanser": {
@@ -5083,7 +5357,9 @@
       5
     ],
     "icon": "Avasize.png",
-    "scriptSrc": "^https?://cdn\\.avasize\\.com/",
+    "scriptSrc": [
+      "^https?://cdn\\.avasize\\.com/"
+    ],
     "website": "https://www.avasize.com"
   },
   "Avis Verifies": {
@@ -5101,7 +5377,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.avis-verifies\\.com/",
+    "scriptSrc": [
+      "\\.avis-verifies\\.com/"
+    ],
     "website": "https://www.netreviews.com"
   },
   "Aweber": {
@@ -5121,7 +5399,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.aweber\\.com/",
+    "scriptSrc": [
+      "\\.aweber\\.com/"
+    ],
     "website": "https://www.aweber.com"
   },
   "Awesomplete": {
@@ -5135,7 +5415,9 @@
     "js": {
       "awesomplete": ""
     },
-    "scriptSrc": "/awesomplete\\.js(?:$|\\?)",
+    "scriptSrc": [
+      "/awesomplete\\.js(?:$|\\?)"
+    ],
     "website": "https://leaverou.github.io/awesomplete/"
   },
   "Axeptio": {
@@ -5204,7 +5486,9 @@
       "Slick"
     ],
     "saas": true,
-    "scriptSrc": "//js\\.fw\\.azko\\.fr/",
+    "scriptSrc": [
+      "//js\\.fw\\.azko\\.fr/"
+    ],
     "website": "https://www.azko.fr"
   },
   "Azoya": {
@@ -5299,7 +5583,9 @@
       "content-security-policy": "\\.azureedge\\.net"
     },
     "icon": "Azure.svg",
-    "scriptSrc": "\\.azureedge\\.net/",
+    "scriptSrc": [
+      "\\.azureedge\\.net/"
+    ],
     "website": "https://learn.microsoft.com/en-us/azure/cdn/cdn-overview"
   },
   "Azure Front Door": {
@@ -5338,7 +5624,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "js\\.monitor\\.azure\\.com/",
+    "scriptSrc": [
+      "js\\.monitor\\.azure\\.com/"
+    ],
     "website": "https://azure.microsoft.com/en-us/services/monitor"
   },
   "a-blog cms": {
@@ -5373,7 +5661,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/a3-lazy-load/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/a3-lazy-load/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://a3rev.com/shop/a3-lazy-load/"
   },
   "aThemes Airi": {
@@ -5391,7 +5681,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/airi/",
+    "scriptSrc": [
+      "/wp-content/themes/airi/"
+    ],
     "website": "https://athemes.com/theme/airi"
   },
   "aThemes Astrid": {
@@ -5410,7 +5702,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/astrid/",
+    "scriptSrc": [
+      "/wp-content/themes/astrid/"
+    ],
     "website": "https://athemes.com/theme/astrid"
   },
   "aThemes Hiero": {
@@ -5425,7 +5719,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/hiero/",
+    "scriptSrc": [
+      "/wp-content/themes/hiero/"
+    ],
     "website": "https://athemes.com/theme/hiero"
   },
   "aThemes Moesia": {
@@ -5444,7 +5740,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/moesia(?:-pro-ii)?/",
+    "scriptSrc": [
+      "/wp-content/themes/moesia(?:-pro-ii)?/"
+    ],
     "website": "https://athemes.com/theme/moesia"
   },
   "aThemes Sydney": {
@@ -5463,7 +5761,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/sydney(?:-pro-ii)?/",
+    "scriptSrc": [
+      "/wp-content/themes/sydney(?:-pro-ii)?/"
+    ],
     "website": "https://athemes.com/theme/sydney"
   },
   "actionhero.js": {
@@ -5481,7 +5781,9 @@
     "js": {
       "actionheroClient": ""
     },
-    "scriptSrc": "actionheroClient\\.js",
+    "scriptSrc": [
+      "actionheroClient\\.js"
+    ],
     "website": "https://www.actionherojs.com"
   },
   "amCharts": {
@@ -5496,7 +5798,9 @@
     "js": {
       "AmCharts": ""
     },
-    "scriptSrc": "amcharts.*\\.js",
+    "scriptSrc": [
+      "amcharts.*\\.js"
+    ],
     "website": "https://amcharts.com"
   },
   "amoCRM": {
@@ -5517,7 +5821,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.amocrm\\.(?:ru|com)",
+    "scriptSrc": [
+      "\\.amocrm\\.(?:ru|com)"
+    ],
     "website": "https://www.amocrm.com"
   },
   "anime.js": {
@@ -5559,7 +5865,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.authorize\\.net/",
+    "scriptSrc": [
+      "\\.authorize\\.net/"
+    ],
     "website": "https://www.authorize.net"
   },
   "autoComplete.js": {
@@ -5569,7 +5877,9 @@
     "description": "autoComplete.js is a simple, pure vanilla Javascript library.",
     "icon": "autoComplete.js.svg",
     "oss": true,
-    "scriptSrc": "@tarekraafat/autocomplete\\.js@([\\d\\.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "@tarekraafat/autocomplete\\.js@([\\d\\.]+)/\\;version:\\1"
+    ],
     "website": "https://tarekraafat.github.io/autoComplete.js"
   }
 }
\ No newline at end of file
diff --git a/src/technologies/b.json b/src/technologies/b.json
index cfee8751..35ec7f6b 100644
--- a/src/technologies/b.json
+++ b/src/technologies/b.json
@@ -55,7 +55,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "app\\.bonloyalty\\.com/",
+    "scriptSrc": [
+      "app\\.bonloyalty\\.com/"
+    ],
     "website": "https://bonloyalty.com"
   },
   "BOOM": {
@@ -134,7 +136,9 @@
     ],
     "description": "Babylist is a universal wish list.",
     "icon": "Babylist.svg",
-    "scriptSrc": "babylist\\.com/",
+    "scriptSrc": [
+      "babylist\\.com/"
+    ],
     "website": "https://www.babylist.com"
   },
   "Babylon.js": {
@@ -165,7 +169,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "app\\.backinstock\\.org/",
+    "scriptSrc": [
+      "app\\.backinstock\\.org/"
+    ],
     "website": "https://backinstock.org"
   },
   "Backbone.js": {
@@ -182,7 +188,9 @@
       "Backbone": "",
       "Backbone.VERSION": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "backbone.*\\.js",
+    "scriptSrc": [
+      "backbone.*\\.js"
+    ],
     "website": "https://backbonejs.org"
   },
   "Backdrop": {
@@ -219,7 +227,9 @@
     ],
     "description": "A simple jQuery plugin that allows you to add a dynamically-resized, slideshow-capable background image to any page or element.",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?(?:jquery\\.)?backstretch(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?(?:jquery\\.)?backstretch(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://www.jquery-backstretch.com/"
   },
   "Baidu Analytics (百度统计)": {
@@ -228,7 +238,9 @@
     ],
     "description": "Baidu Analytics (百度统计) is a free tool for tracking and reporting traffic data of users visiting your site.",
     "icon": "Baidu Tongji.png",
-    "scriptSrc": "hm\\.baidu\\.com/hm?\\.js",
+    "scriptSrc": [
+      "hm\\.baidu\\.com/hm?\\.js"
+    ],
     "website": "https://tongji.baidu.com/"
   },
   "Baidu Maps": {
@@ -261,7 +273,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.bamboohr\\.com/",
+    "scriptSrc": [
+      "\\.bamboohr\\.com/"
+    ],
     "website": "https://www.bamboohr.com"
   },
   "Bambuser": {
@@ -278,7 +292,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.bambuser\\.com/",
+    "scriptSrc": [
+      "\\.bambuser\\.com/"
+    ],
     "website": "https://bambuser.com"
   },
   "BandsInTown Events Widget": {
@@ -287,7 +303,9 @@
     ],
     "description": "Bandsintown Events Widget is a free widget which makes it simple to embed your event listings and allow fans to buy tickets, RSVP, follow you and join your Email & SMS lists.",
     "icon": "BandsInTown.png",
-    "scriptSrc": "widget\\.bandsintown\\.com/",
+    "scriptSrc": [
+      "widget\\.bandsintown\\.com/"
+    ],
     "website": "https://artists.bandsintown.com/support/events-widget"
   },
   "Banshee": {
@@ -331,7 +349,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.barilliance\\.net/",
+    "scriptSrc": [
+      "\\.barilliance\\.net/"
+    ],
     "website": "https://www.barilliance.com"
   },
   "Base": {
@@ -348,7 +368,9 @@
       "base-theme-name": "\\;confidence:50",
       "base-theme-version": "\\d+\\;confidence:50"
     },
-    "scriptSrc": "thebase\\.in/js",
+    "scriptSrc": [
+      "thebase\\.in/js"
+    ],
     "website": "https://thebase.in"
   },
   "Basic": {
@@ -376,7 +398,9 @@
     ],
     "description": "Basis Technologies, formerly ‘Centro,’ provides cloud-based workflow automation and business intelligence software for marketing.",
     "icon": "Basis.png",
-    "scriptSrc": "cdn01\\.basis\\.net",
+    "scriptSrc": [
+      "cdn01\\.basis\\.net"
+    ],
     "website": "https://basis.net/"
   },
   "Batflat": {
@@ -449,7 +473,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "\\.aftersell\\.app/",
+    "scriptSrc": [
+      "\\.aftersell\\.app/"
+    ],
     "website": "https://www.aftersell.com"
   },
   "Beam OutSell": {
@@ -469,7 +495,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "//outsellapp\\.com/",
+    "scriptSrc": [
+      "//outsellapp\\.com/"
+    ],
     "website": "https://apps.shopify.com/outsell"
   },
   "Beamer": {
@@ -503,7 +531,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.trybeans\\.com",
+    "scriptSrc": [
+      "cdn\\.trybeans\\.com"
+    ],
     "website": "https://www.trybeans.com/"
   },
   "Beehiiv": {
@@ -552,7 +582,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "sdk\\.beeketing\\.com/",
+    "scriptSrc": [
+      "sdk\\.beeketing\\.com/"
+    ],
     "website": "https://beeketing.com"
   },
   "Beeswax": {
@@ -561,7 +593,9 @@
     ],
     "description": "Beeswax offers Bidder-as-a-Service solution.",
     "icon": "Beeswax.png",
-    "scriptSrc": "segment\\.prod\\.bidr\\.io",
+    "scriptSrc": [
+      "segment\\.prod\\.bidr\\.io"
+    ],
     "website": "https://www.beeswax.com/"
   },
   "Bentobox": {
@@ -578,7 +612,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.getbento\\.com/",
+    "scriptSrc": [
+      "\\.getbento\\.com/"
+    ],
     "website": "https://getbento.com"
   },
   "Better Click To Tweet": {
@@ -615,7 +651,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/shopify-apps//js/betterprice/betterprice\\.js",
+    "scriptSrc": [
+      "/shopify-apps//js/betterprice/betterprice\\.js"
+    ],
     "website": "https://apps.shopify.com/better-price"
   },
   "Better Stack": {
@@ -630,7 +668,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//(?:uptime\\.)?(?:betteruptime|betterstack)\\.com/",
+    "scriptSrc": [
+      "//(?:uptime\\.)?(?:betteruptime|betterstack)\\.com/"
+    ],
     "website": "https://betterstack.com/uptime"
   },
   "BetterDocs": {
@@ -664,7 +704,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/betterdocs(?:-pro)?/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/betterdocs(?:-pro)?/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://betterdocs.co/docs/wordpress"
   },
   "Betty Blocks": {
@@ -705,7 +747,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "msecnd\\.net/api/beYableJSv(\\d+)\\;version:\\1",
+    "scriptSrc": [
+      "msecnd\\.net/api/beYableJSv(\\d+)\\;version:\\1"
+    ],
     "website": "https://beyable.com"
   },
   "BeyondMenu": {
@@ -719,7 +763,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "static\\.beyondmenu\\.com/",
+    "scriptSrc": [
+      "static\\.beyondmenu\\.com/"
+    ],
     "website": "https://www.beyondmenu.com/contactus.aspx"
   },
   "Big Cartel": {
@@ -749,7 +795,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:\\.|plugins/)?bigcommerce(?:\\.com)?/(?:assets)?",
+    "scriptSrc": [
+      "(?:\\.|plugins/)?bigcommerce(?:\\.com)?/(?:assets)?"
+    ],
     "scripts": "bigcommerceProductId",
     "url": "mybigcommerce\\.com",
     "website": "https://www.bigcommerce.com"
@@ -775,7 +823,9 @@
       "BigCommerce"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.bundleb2b\\.net/",
+    "scriptSrc": [
+      "cdn\\.bundleb2b\\.net/"
+    ],
     "website": "https://www.bundleb2b.com"
   },
   "BigDataCloud IP Geolocation": {
@@ -790,7 +840,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "bigdatacloud\\.net",
+    "scriptSrc": [
+      "bigdatacloud\\.net"
+    ],
     "website": "https://www.bigdatacloud.com/packages/ip-geolocation",
     "xhr": "api\\.bigdatacloud\\.net"
   },
@@ -831,7 +883,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "sdk\\.bigin\\.io/",
+    "scriptSrc": [
+      "sdk\\.bigin\\.io/"
+    ],
     "website": "https://en.bigin.io"
   },
   "Bigware": {
@@ -865,7 +919,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.bikayi\\.com/",
+    "scriptSrc": [
+      "assets\\.bikayi\\.com/"
+    ],
     "website": "https://bikayi.com"
   },
   "Billbee": {
@@ -939,7 +995,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.bitespeed\\.co/",
+    "scriptSrc": [
+      "cdn\\.bitespeed\\.co/"
+    ],
     "scripts": "app\\.bitespeed\\.co/",
     "website": "https://www.bitespeed.co"
   },
@@ -974,7 +1032,9 @@
     "js": {
       "bitt": ""
     },
-    "scriptSrc": "bittads\\.com/js/bitt\\.js$",
+    "scriptSrc": [
+      "bittads\\.com/js/bitt\\.js$"
+    ],
     "website": "https://bittads.com"
   },
   "Bizweb": {
@@ -1002,7 +1062,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "js/convio/modules\\.js",
+    "scriptSrc": [
+      "js/convio/modules\\.js"
+    ],
     "url": "/site/Donation2?.*df_id=",
     "website": "https://www.blackbaud.com"
   },
@@ -1123,7 +1185,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/blocksy/(?:.+main\\.js(?:\\?ver=([\\d\\.]+)))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/blocksy/(?:.+main\\.js(?:\\?ver=([\\d\\.]+)))?\\;version:\\1"
+    ],
     "website": "https://creativethemes.com/blocksy"
   },
   "Blocksy Companion": {
@@ -1150,7 +1214,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/blocksy-companion(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/plugins/blocksy-companion(?:-pro)?/"
+    ],
     "website": "https://creativethemes.com/blocksy/companion/"
   },
   "Blogger": {
@@ -1217,7 +1283,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/blossom-travel(?:-pro)?/.+custom\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/blossom-travel(?:-pro)?/.+custom\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://blossomthemes.com/wordpress-themes/blossom-travel"
   },
   "Blotout EdgeTag": {
@@ -1251,7 +1319,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.getblue\\.io",
+    "scriptSrc": [
+      "\\.getblue\\.io"
+    ],
     "website": "https://web.getblue.io/en/"
   },
   "Blue Triangle": {
@@ -1270,7 +1340,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.btttag\\.com/btt\\.js",
+    "scriptSrc": [
+      "\\.btttag\\.com/btt\\.js"
+    ],
     "website": "https://bluetriangle.com",
     "xhr": "\\.btttag\\.com"
   },
@@ -1309,7 +1381,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.bluecore\\.com",
+    "scriptSrc": [
+      "\\.bluecore\\.com"
+    ],
     "website": "https://www.bluecore.com"
   },
   "Bluefish": {
@@ -1356,7 +1430,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.blueknow\\.com",
+    "scriptSrc": [
+      "\\.blueknow\\.com"
+    ],
     "website": "https://www.blueknow.com"
   },
   "Blueshift": {
@@ -1365,7 +1441,9 @@
     ],
     "description": "Blueshift offers the SmartHub CDP, which helps brands deliver relevant and connected experiences across every customer interaction.",
     "icon": "Blueshift.png",
-    "scriptSrc": "cdn.getblueshift.com/",
+    "scriptSrc": [
+      "cdn.getblueshift.com/"
+    ],
     "website": "https://blueshift.com/"
   },
   "Bluestone PIM": {
@@ -1404,7 +1482,9 @@
     "implies": [
       "Google Analytics"
     ],
-    "scriptSrc": "boba(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "boba(?:\\.min)?\\.js"
+    ],
     "website": "https://boba.space150.com"
   },
   "BoidCMS": {
@@ -1434,7 +1514,9 @@
       "Bokeh": "",
       "Bokeh.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "bokeh.*\\.js",
+    "scriptSrc": [
+      "bokeh.*\\.js"
+    ],
     "website": "https://bokeh.org"
   },
   "Bokun": {
@@ -1476,7 +1558,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "brain-assets\\.boldapps\\.net/",
+    "scriptSrc": [
+      "brain-assets\\.boldapps\\.net/"
+    ],
     "website": "https://boldcommerce.com/bold-brain"
   },
   "Bold Bundles": {
@@ -1497,7 +1581,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "bundles\\.boldapps\\.net/",
+    "scriptSrc": [
+      "bundles\\.boldapps\\.net/"
+    ],
     "website": "https://boldcommerce.com/bundles"
   },
   "Bold Chat": {
@@ -1510,7 +1596,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "^https?://vmss\\.boldchat\\.com/aid/\\d{18}/bc\\.vms4/vms\\.js",
+    "scriptSrc": [
+      "^https?://vmss\\.boldchat\\.com/aid/\\d{18}/bc\\.vms4/vms\\.js"
+    ],
     "website": "https://www.boldchat.com/"
   },
   "Bold Commerce": {
@@ -1550,7 +1638,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cp.\\.boldapps\\.net/",
+    "scriptSrc": [
+      "cp.\\.boldapps\\.net/"
+    ],
     "website": "https://boldcommerce.com/custom-pricing"
   },
   "Bold Motivator": {
@@ -1568,7 +1658,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "motivate\\.boldapps\\.net/",
+    "scriptSrc": [
+      "motivate\\.boldapps\\.net/"
+    ],
     "website": "https://boldcommerce.com/motivator"
   },
   "Bold Page Builder": {
@@ -1581,7 +1673,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/bold-page-builder/",
+    "scriptSrc": [
+      "/wp-content/plugins/bold-page-builder/"
+    ],
     "website": "https://wordpress.org/plugins/bold-page-builder"
   },
   "Bold Product Options": {
@@ -1602,7 +1696,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "option\\.boldapps\\.net/",
+    "scriptSrc": [
+      "option\\.boldapps\\.net/"
+    ],
     "website": "https://boldcommerce.com/product-options"
   },
   "Bold Subscriptions": {
@@ -1625,7 +1721,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "sub\\.boldapps\\.net/",
+    "scriptSrc": [
+      "sub\\.boldapps\\.net/"
+    ],
     "website": "https://boldcommerce.com/shopify-subscription-app"
   },
   "Bold Themes": {
@@ -1665,7 +1763,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "upsells\\.boldapps\\.net/",
+    "scriptSrc": [
+      "upsells\\.boldapps\\.net/"
+    ],
     "website": "https://boldcommerce.com/upsell"
   },
   "BoldGrid": {
@@ -1683,7 +1783,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/post-and-page-builder",
+    "scriptSrc": [
+      "/wp-content/plugins/post-and-page-builder"
+    ],
     "website": "https://boldgrid.com"
   },
   "Bolt CMS": {
@@ -1746,7 +1848,9 @@
     ],
     "description": "BookDinners is a restaurant table booking widget.",
     "icon": "BookDinners.svg",
-    "scriptSrc": "bookdinners\\.nl/widget\\.js",
+    "scriptSrc": [
+      "bookdinners\\.nl/widget\\.js"
+    ],
     "website": "https://www.bookdinners.nl"
   },
   "BookStack": {
@@ -1784,7 +1888,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "\\.bookthatapp\\.com/",
+    "scriptSrc": [
+      "\\.bookthatapp\\.com/"
+    ],
     "website": "https://www.bookthatapp.com"
   },
   "BookVisit": {
@@ -1797,7 +1903,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "online\\.bookvisit\\.com/",
+    "scriptSrc": [
+      "online\\.bookvisit\\.com/"
+    ],
     "website": "https://bookvisit.com"
   },
   "Bookatable": {
@@ -1806,7 +1914,9 @@
     ],
     "description": "Bookatable is a restaurant table booking widget.",
     "icon": "Bookatable.svg",
-    "scriptSrc": "bda\\.bookatable\\.com/deploy/lbui\\.direct\\.min\\.js",
+    "scriptSrc": [
+      "bda\\.bookatable\\.com/deploy/lbui\\.direct\\.min\\.js"
+    ],
     "website": "https://www.bookatable.co.uk"
   },
   "Bookeo": {
@@ -1840,7 +1950,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "cdn\\.bookero\\.pl",
+    "scriptSrc": [
+      "cdn\\.bookero\\.pl"
+    ],
     "url": "\\.bookero\\.(?:org|pl)",
     "website": "https://www.bookero.org"
   },
@@ -1850,7 +1962,9 @@
     ],
     "description": "Booking.com is one of the largest ecommerce travel companies in the world. As an affiliate member, you can make up to 40% commission.",
     "icon": "Booking.com.svg",
-    "scriptSrc": "aff\\.bstatic\\.com/",
+    "scriptSrc": [
+      "aff\\.bstatic\\.com/"
+    ],
     "website": "https://www.booking.com/affiliate-program/v2/selfmanaged.html"
   },
   "Booking.com widget": {
@@ -1863,7 +1977,9 @@
     "implies": [
       "Booking.com"
     ],
-    "scriptSrc": "q\\.bstatic\\.com/",
+    "scriptSrc": [
+      "q\\.bstatic\\.com/"
+    ],
     "website": "https://www.booking.com/affiliate-program/v2/selfmanaged.html"
   },
   "Bookingkit": {
@@ -1902,7 +2018,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/bookly-responsive-appointment-booking-tool/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/bookly-responsive-appointment-booking-tool/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.booking-wp-plugin.com"
   },
   "Booksy": {
@@ -1919,7 +2037,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "booksy\\.com/widget/code\\.js",
+    "scriptSrc": [
+      "booksy\\.com/widget/code\\.js"
+    ],
     "website": "https://booksy.com/"
   },
   "Boomerang": {
@@ -1971,7 +2091,9 @@
     "requires": [
       "Shopify"
     ],
-    "scriptSrc": "/assets/booster-page-speed-optimizer\\.js",
+    "scriptSrc": [
+      "/assets/booster-page-speed-optimizer\\.js"
+    ],
     "website": "https://apps.shopify.com/page-speed-optimizer"
   },
   "Bootbox.js": {
@@ -1981,7 +2103,9 @@
     "description": "Bootbox.js is a small JavaScript library which allows you to create custom modal dialogs using Bootstrap modals, without having to worry about creating, managing, or removing any of the required DOM elements or JavaScript event handlers.",
     "icon": "Bootbox.js.png",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?bootbox(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?bootbox(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://bootboxjs.com/"
   },
   "Bootic": {
@@ -2051,7 +2175,9 @@
       "Bootstrap",
       "jQuery"
     ],
-    "scriptSrc": "bootstrap-table(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "bootstrap-table(?:\\.min)?\\.js"
+    ],
     "website": "https://bootstrap-table.wenzhixin.net.cn/"
   },
   "BootstrapCDN": {
@@ -2061,7 +2187,9 @@
     "description": "BootstrapCDN is a powerful and reliable Content Delivery Network (CDN) that delivers static resources, including CSS, JavaScript, and font files, for the widely-used Bootstrap framework. By leveraging multiple server locations worldwide, BootstrapCDN accelerates website loading times, ensuring a smooth and visually appealing user experience. Additionally, it ensures website compatibility with various devices and browsers. The service reduces bandwidth usage and server load, improving web performance for developers and end-users alike.",
     "icon": "BootstrapCDN.png",
     "oss": true,
-    "scriptSrc": "bootstrapcdn\\.com\\/bootstrap\\/((?:\\d+\\.)+\\d+)?(?:\\/js\\/)?bootstrap(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "bootstrapcdn\\.com\\/bootstrap\\/((?:\\d+\\.)+\\d+)?(?:\\/js\\/)?bootstrap(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://www.bootstrapcdn.com/"
   },
   "Booxi": {
@@ -2080,7 +2208,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/bxe_core\\.js",
+    "scriptSrc": [
+      "/bxe_core\\.js"
+    ],
     "website": "https://www.booxi.com"
   },
   "Borderfree": {
@@ -2246,7 +2376,9 @@
       "Braintree": "",
       "Braintree.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "js\\.braintreegateway\\.com",
+    "scriptSrc": [
+      "js\\.braintreegateway\\.com"
+    ],
     "website": "https://www.braintreepayments.com"
   },
   "Branch": {
@@ -2284,7 +2416,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.brandfolder\\.com/",
+    "scriptSrc": [
+      "cdn\\.brandfolder\\.com/"
+    ],
     "website": "https://brandfolder.com"
   },
   "Braze": {
@@ -2302,7 +2436,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "js\\.appboycdn\\.com/web-sdk/([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "js\\.appboycdn\\.com/web-sdk/([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://www.braze.com"
   },
   "Bread": {
@@ -2324,7 +2460,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.getbread\\.com",
+    "scriptSrc": [
+      "\\.getbread\\.com"
+    ],
     "website": "https://www.breadpayments.com"
   },
   "Breadcrumb NavXT": {
@@ -2390,7 +2528,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/bricks/assets/",
+    "scriptSrc": [
+      "/wp-content/themes/bricks/assets/"
+    ],
     "website": "https://bricksbuilder.io"
   },
   "Bricksite": {
@@ -2428,7 +2568,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.brightedge\\.com/",
+    "scriptSrc": [
+      "\\.brightedge\\.com/"
+    ],
     "website": "https://www.brightedge.com"
   },
   "BrightInfo": {
@@ -2448,7 +2590,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.brightinfo\\.com",
+    "scriptSrc": [
+      "app\\.brightinfo\\.com"
+    ],
     "website": "https://www.brightinfo.com"
   },
   "Brightcove": {
@@ -2491,7 +2635,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/salesforce-wordpress-to-lead/",
+    "scriptSrc": [
+      "/wp-content/plugins/salesforce-wordpress-to-lead/"
+    ],
     "website": "https://brilliantplugins.com/downloads/salesforce/"
   },
   "Brimble": {
@@ -2525,7 +2671,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.broadstreetads\\.com",
+    "scriptSrc": [
+      "cdn\\.broadstreetads\\.com"
+    ],
     "website": "https://broadstreetads.com"
   },
   "Bronto": {
@@ -2544,7 +2692,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "(?:snip|cdn)\\.bronto\\.com",
+    "scriptSrc": [
+      "(?:snip|cdn)\\.bronto\\.com"
+    ],
     "website": "https://bronto.com"
   },
   "Brownie": {
@@ -2572,7 +2722,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.youthsrl\\.com/brownie",
+    "scriptSrc": [
+      "assets\\.youthsrl\\.com/brownie"
+    ],
     "website": "https://www.browniesuite.com"
   },
   "Browser-Update.org": {
@@ -2677,7 +2829,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/buddypress/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/buddypress/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://buddypress.org"
   },
   "BugHerd": {
@@ -2694,7 +2848,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "\\.bugherd\\.com/",
+    "scriptSrc": [
+      "\\.bugherd\\.com/"
+    ],
     "website": "https://bugherd.com"
   },
   "BugSnag": {
@@ -2715,7 +2871,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/bugsnag.*\\.js",
+    "scriptSrc": [
+      "/bugsnag.*\\.js"
+    ],
     "website": "https://bugsnag.com"
   },
   "Bugcrowd": {
@@ -2856,7 +3014,9 @@
       "<!-- BC_OBNW -->"
     ],
     "icon": "Business Catalyst.svg",
-    "scriptSrc": "CatalystScripts",
+    "scriptSrc": [
+      "CatalystScripts"
+    ],
     "website": "https://businesscatalyst.com"
   },
   "Business Website Builder": {
@@ -2913,7 +3073,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdnjs\\.buymeacoffee\\.com/([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "cdnjs\\.buymeacoffee\\.com/([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://www.buymeacoffee.com"
   },
   "Buy with Prime": {
@@ -2931,7 +3093,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "code\\.buywithprime\\.amazon\\.com/",
+    "scriptSrc": [
+      "code\\.buywithprime\\.amazon\\.com/"
+    ],
     "website": "https://buywithprime.amazon.com"
   },
   "BuySellAds": {
@@ -2965,7 +3129,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.co-buying\\.com/",
+    "scriptSrc": [
+      "cdn\\.co-buying\\.com/"
+    ],
     "website": "https://www.buyapowa.com"
   },
   "BySide": {
@@ -2984,7 +3150,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "webcare\\.byside\\.com/",
+    "scriptSrc": [
+      "webcare\\.byside\\.com/"
+    ],
     "website": "https://byside.com"
   },
   "Bynder": {
@@ -3046,7 +3214,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.ibdok\\.ir/",
+    "scriptSrc": [
+      "cdn\\.ibdok\\.ir/"
+    ],
     "website": "https://bdok.ir"
   },
   "bowser": {
@@ -3055,7 +3225,9 @@
     ],
     "description": "A small, fast and rich-API browser/platform/engine detector for both browser and node.",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?bowser(?:\\.min)?(?:[-\\.][\\d\\w]{0,64})?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?bowser(?:\\.min)?(?:[-\\.][\\d\\w]{0,64})?\\.js\\;version:\\1"
+    ],
     "website": "https://opencollective.com/bowser"
   },
   "bxSlider": {
@@ -3070,7 +3242,9 @@
       "low",
       "onetime"
     ],
-    "scriptSrc": "bxslider(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "bxslider(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://bxslider.com/"
   }
 }
\ No newline at end of file
diff --git a/src/technologies/c.json b/src/technologies/c.json
index 39d4c245..a17c1d6b 100644
--- a/src/technologies/c.json
+++ b/src/technologies/c.json
@@ -16,7 +16,9 @@
     "requires": [
       "D3"
     ],
-    "scriptSrc": "c3(?:\\.min)?(?:-[a-zA-Z0-9]{8})?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "c3(?:\\.min)?(?:-[a-zA-Z0-9]{8})?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://c3js.org/"
   },
   "CCV Shop": {
@@ -24,7 +26,9 @@
       6
     ],
     "icon": "ccvshop.png",
-    "scriptSrc": "/website/JavaScript/Vertoshop\\.js",
+    "scriptSrc": [
+      "/website/JavaScript/Vertoshop\\.js"
+    ],
     "website": "https://ccvshop.be"
   },
   "CDN77": {
@@ -65,7 +69,9 @@
     ],
     "description": "Civic provides cookie control for user consent and the use of cookies.",
     "icon": "civic.png",
-    "scriptSrc": "cc\\.cdn\\.civiccomputing\\.com",
+    "scriptSrc": [
+      "cc\\.cdn\\.civiccomputing\\.com"
+    ],
     "website": "https://www.civicuk.com/cookie-control"
   },
   "CJDropshipping app": {
@@ -81,7 +87,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "app\\.cjdropshipping\\.com/",
+    "scriptSrc": [
+      "app\\.cjdropshipping\\.com/"
+    ],
     "website": "https://apps.shopify.com/cucheng"
   },
   "CKEditor": {
@@ -138,7 +146,9 @@
     "js": {
       "cnzz_protocol": ""
     },
-    "scriptSrc": "//[^./]+\\.cnzz\\.com/(?:z_stat.php|core)\\?",
+    "scriptSrc": [
+      "//[^./]+\\.cnzz\\.com/(?:z_stat.php|core)\\?"
+    ],
     "website": "https://web.umeng.com/"
   },
   "CPABuild": {
@@ -216,7 +226,9 @@
       "mid",
       "onetime"
     ],
-    "scriptSrc": "var/cache/misc/assets/js/tygh/scripts-(?:[\\d\\w]+)\\.js",
+    "scriptSrc": [
+      "var/cache/misc/assets/js/tygh/scripts-(?:[\\d\\w]+)\\.js"
+    ],
     "website": "https://www.cs-cart.com"
   },
   "CSSIgniter Olsen Light": {
@@ -234,7 +246,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/olsen-light/.+scripts(?:\\.min)?\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/olsen-light/.+scripts(?:\\.min)?\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.cssigniter.com/themes/olsen-light"
   },
   "CTT": {
@@ -264,7 +278,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.caast\\.tv/",
+    "scriptSrc": [
+      "cdn\\.caast\\.tv/"
+    ],
     "website": "https://en.caast.tv"
   },
   "CacheFly": {
@@ -397,7 +413,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/caldera-forms/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/caldera-forms/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://calderaforms.com"
   },
   "CalendarHero": {
@@ -432,7 +450,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.calendly\\.com/",
+    "scriptSrc": [
+      "assets\\.calendly\\.com/"
+    ],
     "website": "https://calendly.com/"
   },
   "CallRail": {
@@ -486,7 +506,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.callbell\\.eu/",
+    "scriptSrc": [
+      "\\.callbell\\.eu/"
+    ],
     "website": "https://www.callbell.eu"
   },
   "Campaign Monitor": {
@@ -502,7 +524,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.createsend1\\.com/",
+    "scriptSrc": [
+      "\\.createsend1\\.com/"
+    ],
     "website": "https://www.campaignmonitor.com"
   },
   "Candid Themes Fairy": {
@@ -518,7 +542,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/fairy(?:-premium)?/.+custom\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/fairy(?:-premium)?/.+custom\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.candidthemes.com/themes/fairy"
   },
   "Canny": {
@@ -616,7 +642,9 @@
     "js": {
       "Captchme": ""
     },
-    "scriptSrc": "^https?://api\\.captchme\\.net/",
+    "scriptSrc": [
+      "^https?://api\\.captchme\\.net/"
+    ],
     "website": "https://captchme.com"
   },
   "Captivate.fm": {
@@ -651,7 +679,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.carbonads\\.com/",
+    "scriptSrc": [
+      "\\.carbonads\\.com/"
+    ],
     "website": "https://carbonads.net"
   },
   "CareCart": {
@@ -669,7 +699,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.carecart\\.io/api/abandoned-cart/",
+    "scriptSrc": [
+      "app\\.carecart\\.io/api/abandoned-cart/"
+    ],
     "website": "https://carecart.io/abandoned-cart-recovery-app"
   },
   "CareCart Sales Pop Up": {
@@ -686,7 +718,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "sales-pop\\.carecart\\.io/",
+    "scriptSrc": [
+      "sales-pop\\.carecart\\.io/"
+    ],
     "website": "https://carecart.io/sales-pop-up-app"
   },
   "Cargo": {
@@ -705,7 +739,9 @@
     "meta": {
       "cargo_title": ""
     },
-    "scriptSrc": "(?<!elo\\.io)/cargo\\.",
+    "scriptSrc": [
+      "(?<!elo\\.io)/cargo\\."
+    ],
     "website": "https://cargo.site"
   },
   "Carrd": {
@@ -813,7 +849,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.americommerce\\.com/",
+    "scriptSrc": [
+      "\\.americommerce\\.com/"
+    ],
     "website": "https://www.americommerce.com"
   },
   "Cart.js": {
@@ -826,7 +864,9 @@
       "Shopify"
     ],
     "oss": true,
-    "scriptSrc": "(?:shopify-cartjs/([\\d\\.]+)|assets)/rivets-cart\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:shopify-cartjs/([\\d\\.]+)|assets)/rivets-cart\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://cartjs.org"
   },
   "CartKit": {
@@ -840,7 +880,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.cartkitcdn\\.com/",
+    "scriptSrc": [
+      "\\.cartkitcdn\\.com/"
+    ],
     "website": "https://www.cartkit.com"
   },
   "CartStack": {
@@ -857,7 +899,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "api\\.cartstack\\.\\w+",
+    "scriptSrc": [
+      "api\\.cartstack\\.\\w+"
+    ],
     "website": "https://www.cartstack.com"
   },
   "Carts Guru": {
@@ -872,7 +916,9 @@
       "mid"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.cartsguru\\.io/",
+    "scriptSrc": [
+      "cdn\\.cartsguru\\.io/"
+    ],
     "website": "https://www.carts.guru"
   },
   "Catberry.js": {
@@ -918,7 +964,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/catch-box(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/catch-box(?:-pro)?/"
+    ],
     "website": "https://catchthemes.com/themes/catch-box"
   },
   "Catch Themes Fotografie": {
@@ -935,7 +983,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/fotografie(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/fotografie(?:-pro)?/"
+    ],
     "website": "https://catchthemes.com/themes/fotografie"
   },
   "Cecil": {
@@ -1080,7 +1130,9 @@
       "React"
     ],
     "oss": true,
-    "scriptSrc": "\\.chakra-ui\\.",
+    "scriptSrc": [
+      "\\.chakra-ui\\."
+    ],
     "website": "https://chakra-ui.com"
   },
   "Chameleon": {
@@ -1098,7 +1150,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.trychameleon\\.com/",
+    "scriptSrc": [
+      "\\.trychameleon\\.com/"
+    ],
     "website": "https://www.trychameleon.com"
   },
   "Chameleon system": {
@@ -1166,7 +1220,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.channeladvisor\\.com/",
+    "scriptSrc": [
+      "\\.channeladvisor\\.com/"
+    ],
     "website": "https://www.channeladvisor.com"
   },
   "ChannelApe": {
@@ -1200,7 +1256,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.chaport\\.com",
+    "scriptSrc": [
+      "\\.chaport\\.com"
+    ],
     "website": "https://www.chaport.com"
   },
   "ChargeAfter": {
@@ -1214,7 +1272,9 @@
       "ChargeAfter": ""
     },
     "saas": true,
-    "scriptSrc": "cdn\\.chargeafter\\.com",
+    "scriptSrc": [
+      "cdn\\.chargeafter\\.com"
+    ],
     "website": "https://chargeafter.com/"
   },
   "Chargebee": {
@@ -1232,7 +1292,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "js\\.chargebee\\.com/v([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "js\\.chargebee\\.com/v([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://www.chargebee.com"
   },
   "Chart.js": {
@@ -1263,7 +1325,9 @@
       "_sf_async_config": "",
       "_sf_endpt": ""
     },
-    "scriptSrc": "chartbeat\\.js",
+    "scriptSrc": [
+      "chartbeat\\.js"
+    ],
     "website": "https://chartbeat.com"
   },
   "ChatStack": {
@@ -1293,7 +1357,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "st\\.chatango\\.com",
+    "scriptSrc": [
+      "st\\.chatango\\.com"
+    ],
     "website": "https://chatango.com"
   },
   "Chatra": {
@@ -1312,7 +1378,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "call\\.chatra\\.io/chatra\\.js",
+    "scriptSrc": [
+      "call\\.chatra\\.io/chatra\\.js"
+    ],
     "website": "https://chatra.com",
     "xhr": "chat\\.chatra\\.io/"
   },
@@ -1347,7 +1415,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.checkfront\\.com/",
+    "scriptSrc": [
+      "\\.checkfront\\.com/"
+    ],
     "website": "https://www.checkfront.com"
   },
   "Checkly": {
@@ -1381,7 +1451,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.checkout\\.com/js/.+js(?:\\?ver=)?([\\d\\.]+)?\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.checkout\\.com/js/.+js(?:\\?ver=)?([\\d\\.]+)?\\;version:\\1"
+    ],
     "website": "https://www.checkout.com"
   },
   "Chekkit": {
@@ -1443,7 +1515,9 @@
       "onetime"
     ],
     "saas": true,
-    "scriptSrc": "/chevereto\\.js",
+    "scriptSrc": [
+      "/chevereto\\.js"
+    ],
     "website": "https://chevereto.com"
   },
   "Chicago Boss": {
@@ -1475,7 +1549,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "js\\.chilipiper\\.com/marketing\\.js",
+    "scriptSrc": [
+      "js\\.chilipiper\\.com/marketing\\.js"
+    ],
     "website": "https://www.chilipiper.com/"
   },
   "Chimpmatic": {
@@ -1528,7 +1604,9 @@
       "ch_client": "",
       "ch_color_site_link": ""
     },
-    "scriptSrc": "scripts\\.chitika\\.net/",
+    "scriptSrc": [
+      "scripts\\.chitika\\.net/"
+    ],
     "website": "https://chitika.com"
   },
   "Choices": {
@@ -1565,7 +1643,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "chord\\.us/embeddable/client-([\\d\\.]+)\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "chord\\.us/embeddable/client-([\\d\\.]+)\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://m.chord.us"
   },
   "Chorus": {
@@ -1595,7 +1675,9 @@
       18
     ],
     "description": "Chosen is a jQuery plugin that makes long, unwieldy select boxes much more user-friendly.",
-    "scriptSrc": "chosen(?:\\.jquery)?(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "chosen(?:\\.jquery)?(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://harvesthq.github.io/chosen/"
   },
   "Chronofresh": {
@@ -1670,7 +1752,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "/static/vendor/dlb-admin-ui/",
+    "scriptSrc": [
+      "/static/vendor/dlb-admin-ui/"
+    ],
     "website": "https://www.delib.net/citizen_space"
   },
   "CitrusPay": {
@@ -1683,7 +1767,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "checkout-static\\.citruspay\\.com/",
+    "scriptSrc": [
+      "checkout-static\\.citruspay\\.com/"
+    ],
     "website": "https://consumers.citruspay.com/"
   },
   "City Hive": {
@@ -1737,7 +1823,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "wp-content/plugins/(?:[\\w\\-]+)?civicrm(?:[\\w\\-]+)?/",
+    "scriptSrc": [
+      "wp-content/plugins/(?:[\\w\\-]+)?civicrm(?:[\\w\\-]+)?/"
+    ],
     "website": "https://wordpress.org/plugins/search/civicrm/"
   },
   "CivicTheme": {
@@ -1790,7 +1878,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "//cdn\\.clarip\\.com/",
+    "scriptSrc": [
+      "//cdn\\.clarip\\.com/"
+    ],
     "website": "https://www.clarip.com"
   },
   "Claris FileMaker": {
@@ -1825,7 +1915,9 @@
       "ClarityIcons": ""
     },
     "oss": true,
-    "scriptSrc": "clr-angular(?:\\.umd)?(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "clr-angular(?:\\.umd)?(?:\\.min)?\\.js"
+    ],
     "website": "https://clarity.design"
   },
   "Classeh": {
@@ -1855,7 +1947,9 @@
     ],
     "description": "Javascript utility for conditionally joining classNames together.",
     "oss": true,
-    "scriptSrc": "classnames\\.?\\w{0,20}(?:\\.chunk)?\\.js",
+    "scriptSrc": [
+      "classnames\\.?\\w{0,20}(?:\\.chunk)?\\.js"
+    ],
     "website": "https://jedwatson.github.io/classnames/"
   },
   "Classy": {
@@ -1901,7 +1995,9 @@
     ],
     "description": "JavaScript library for formatting input text content when you are typing.",
     "oss": true,
-    "scriptSrc": "cleave(?:\\.min)?(?:\\.\\w{0,32})?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "cleave(?:\\.min)?(?:\\.\\w{0,32})?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://nosir.github.io/cleave.js/"
   },
   "Clerk": {
@@ -1984,7 +2080,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.clickandpledge\\.com/",
+    "scriptSrc": [
+      "\\.clickandpledge\\.com/"
+    ],
     "website": "https://clickandpledge.com"
   },
   "ClickCease": {
@@ -1998,7 +2096,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.clickcease\\.com/monitor/",
+    "scriptSrc": [
+      "\\.clickcease\\.com/monitor/"
+    ],
     "website": "https://www.clickcease.com"
   },
   "ClickDimensions": {
@@ -2015,7 +2115,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "analytics\\.clickdimensions\\.com/",
+    "scriptSrc": [
+      "analytics\\.clickdimensions\\.com/"
+    ],
     "website": "https://clickdimensions.com"
   },
   "ClickFunnels": {
@@ -2052,7 +2154,9 @@
     "js": {
       "clickHeatServer": ""
     },
-    "scriptSrc": "clickheat.*\\.js",
+    "scriptSrc": [
+      "clickheat.*\\.js"
+    ],
     "website": "https://www.labsmedia.com/clickheat/index.html"
   },
   "ClickOnce": {
@@ -2088,7 +2192,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.clicktale\\.net",
+    "scriptSrc": [
+      "\\.clicktale\\.net"
+    ],
     "website": "https://www.clicktale.com"
   },
   "Clickbank": {
@@ -2100,7 +2206,9 @@
     "js": {
       "cbtb": ""
     },
-    "scriptSrc": "r\\.wdfl\\.co",
+    "scriptSrc": [
+      "r\\.wdfl\\.co"
+    ],
     "website": "https://www.clickbank.com/"
   },
   "Clicky": {
@@ -2118,7 +2226,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "static\\.getclicky\\.com",
+    "scriptSrc": [
+      "static\\.getclicky\\.com"
+    ],
     "website": "https://getclicky.com"
   },
   "ClientJS": {
@@ -2160,7 +2270,9 @@
     ],
     "description": "Clinch delivers hyper-personalized creative experiences and consumer intelligence across all channels.",
     "icon": "Clinch.png",
-    "scriptSrc": "cdn\\.clinch\\.co",
+    "scriptSrc": [
+      "cdn\\.clinch\\.co"
+    ],
     "website": "https://clinch.co/"
   },
   "Clipboard.js": {
@@ -2168,7 +2280,9 @@
       59
     ],
     "icon": "Clipboard.js.svg",
-    "scriptSrc": "clipboard(?:-([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "clipboard(?:-([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://clipboardjs.com/"
   },
   "Clockwork": {
@@ -2208,7 +2322,9 @@
     "meta": {
       "author": "^CloudCart LLC$"
     },
-    "scriptSrc": "/cloudcart-(?:assets|storage)/",
+    "scriptSrc": [
+      "/cloudcart-(?:assets|storage)/"
+    ],
     "website": "https://cloudcart.com"
   },
   "CloudSuite": {
@@ -2236,7 +2352,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.cloudbeds\\.com/",
+    "scriptSrc": [
+      "\\.cloudbeds\\.com/"
+    ],
     "website": "https://www.cloudbeds.com"
   },
   "Cloudera": {
@@ -2303,7 +2421,9 @@
     "js": {
       "__cfBeaconCustomTag": ""
     },
-    "scriptSrc": "static\\.cloudflareinsights\\.com/beacon(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "static\\.cloudflareinsights\\.com/beacon(?:\\.min)?\\.js"
+    ],
     "website": "https://www.cloudflare.com"
   },
   "Cloudflare Rocket Loader": {
@@ -2491,7 +2611,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "apps\\.cloverly\\.com/",
+    "scriptSrc": [
+      "apps\\.cloverly\\.com/"
+    ],
     "website": "https://www.cloverly.com"
   },
   "Cluep": {
@@ -2500,7 +2622,9 @@
     ],
     "description": "Cluep's artificially intelligent mobile ad platform targets people based on what they are sharing, how they are feeling and where they go in the physical world.",
     "icon": "Cluep.png",
-    "scriptSrc": "cas\\.cluep\\.com",
+    "scriptSrc": [
+      "cas\\.cluep\\.com"
+    ],
     "website": "https://cluep.com/"
   },
   "ClustrMaps Widget": {
@@ -2510,7 +2634,9 @@
     "description": "ClustrMaps widget is a visitor tracker, designed for general web and blog use.",
     "dom": "img[src*='clustrmaps.com']",
     "icon": "ClustrMaps.svg",
-    "scriptSrc": "clustrmaps\\.com",
+    "scriptSrc": [
+      "clustrmaps\\.com"
+    ],
     "website": "https://clustrmaps.com/"
   },
   "Clutch": {
@@ -2520,7 +2646,9 @@
     ],
     "description": "Clutch review widgets are stand-alone applications that you can embed on your website to show your dynamic ratings and reviews.",
     "icon": "clutch.svg",
-    "scriptSrc": "//widget\\.clutch\\.co/",
+    "scriptSrc": [
+      "//widget\\.clutch\\.co/"
+    ],
     "website": "https://clutch.co/content/add-review-widget-your-website"
   },
   "CoConstruct": {
@@ -2549,7 +2677,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.corover\\.mobi/",
+    "scriptSrc": [
+      "\\.corover\\.mobi/"
+    ],
     "website": "https://corover.ai"
   },
   "Coaster CMS": {
@@ -2664,7 +2794,9 @@
     "description": "CoffeeScript is a language that compiles into JavaScript.",
     "icon": "Coffee Script.png",
     "oss": true,
-    "scriptSrc": "coffee-?script(?:-lint)?(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "coffee-?script(?:-lint)?(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://coffeescript.org/"
   },
   "Coin Currency Converter": {
@@ -2681,7 +2813,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/apps/coin/coin\\.js.+\\.myshopify\\.com",
+    "scriptSrc": [
+      "/apps/coin/coin\\.js.+\\.myshopify\\.com"
+    ],
     "website": "https://apps.shopify.com/coin"
   },
   "CoinHive": {
@@ -2708,7 +2842,9 @@
     "description": "Coinhive Captcha provides captcha service that is simple to integrate, where your users’ devices need to solve a number of hashes, adjustable by you, in order to login or post a comment to your site.",
     "dom": "div.coinhive-captcha",
     "icon": "CoinHive.svg",
-    "scriptSrc": "https?://authedmine\\.com/(?:lib/captcha|captcha)",
+    "scriptSrc": [
+      "https?://authedmine\\.com/(?:lib/captcha|captcha)"
+    ],
     "website": "https://coinhive.com"
   },
   "Coinbase Commerce": {
@@ -2726,7 +2862,9 @@
     ],
     "description": "CoinHave is a cryptocurrency mining service.",
     "icon": "coinhave.png",
-    "scriptSrc": "https?://coin-have\\.com/c/[0-9a-zA-Z]{4}\\.js",
+    "scriptSrc": [
+      "https?://coin-have\\.com/c/[0-9a-zA-Z]{4}\\.js"
+    ],
     "website": "https://coin-have.com/"
   },
   "Coinimp": {
@@ -2738,7 +2876,9 @@
     "js": {
       "Client.Anonymous": "\\;confidence:50"
     },
-    "scriptSrc": "https?://www\\.hashing\\.win/scripts/min\\.js",
+    "scriptSrc": [
+      "https?://www\\.hashing\\.win/scripts/min\\.js"
+    ],
     "website": "https://www.coinimp.com"
   },
   "Colbass": {
@@ -2779,7 +2919,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/colibri-page-builder.+\\.js(?:.+ver=([\\d\\.\\-\\w]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/colibri-page-builder.+\\.js(?:.+ver=([\\d\\.\\-\\w]+))?\\;version:\\1"
+    ],
     "website": "https://colibriwp.com"
   },
   "Colis Privé": {
@@ -2825,7 +2967,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "themes/colormag.*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "themes/colormag.*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1"
+    ],
     "website": "https://themegrill.com/themes/colormag/"
   },
   "ColorMeShop": {
@@ -2855,7 +2999,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/activello/",
+    "scriptSrc": [
+      "/wp-content/themes/activello/"
+    ],
     "website": "https://colorlib.com/wp/themes/activello"
   },
   "Colorlib Illdy": {
@@ -2871,7 +3017,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/illdy/",
+    "scriptSrc": [
+      "/wp-content/themes/illdy/"
+    ],
     "website": "https://colorlib.com/wp/themes/illdy"
   },
   "Colorlib Shapely": {
@@ -2890,7 +3038,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/shapely/",
+    "scriptSrc": [
+      "/wp-content/themes/shapely/"
+    ],
     "website": "https://colorlib.com/wp/themes/shapely"
   },
   "Colorlib Sparkling": {
@@ -2906,7 +3056,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/sparkling/",
+    "scriptSrc": [
+      "/wp-content/themes/sparkling/"
+    ],
     "website": "https://colorlib.com/wp/themes/sparkling"
   },
   "Colorlib Travelify": {
@@ -2925,7 +3077,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/travelify/",
+    "scriptSrc": [
+      "/wp-content/themes/travelify/"
+    ],
     "website": "https://colorlib.com/wp/themes/travelify"
   },
   "Combahton FlowShield": {
@@ -3029,7 +3183,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.tagcommander\\.com",
+    "scriptSrc": [
+      "\\.tagcommander\\.com"
+    ],
     "website": "https://www.commandersact.com/en/solutions/tagcommander/"
   },
   "Commanders Act TrustCommander": {
@@ -3042,7 +3198,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.trustcommander\\.net/privacy/.+_v([\\d]+)_([\\d]+)\\.js\\;version:\\1.\\2",
+    "scriptSrc": [
+      "\\.trustcommander\\.net/privacy/.+_v([\\d]+)_([\\d]+)\\.js\\;version:\\1.\\2"
+    ],
     "website": "https://www.commandersact.com/en/solutions/trustcommander/"
   },
   "Commerce Server": {
@@ -3091,7 +3249,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.commerce7\\.com",
+    "scriptSrc": [
+      "cdn\\.commerce7\\.com"
+    ],
     "website": "https://commerce7.com",
     "xhr": "api\\.commerce7\\.com"
   },
@@ -3120,7 +3280,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "//give\\.communityfunded\\.com/",
+    "scriptSrc": [
+      "//give\\.communityfunded\\.com/"
+    ],
     "website": "https://www.communityfunded.com"
   },
   "Complianz": {
@@ -3141,7 +3303,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "wp-content/plugins/complianz-gdpr-premium",
+    "scriptSrc": [
+      "wp-content/plugins/complianz-gdpr-premium"
+    ],
     "website": "https://complianz.io"
   },
   "Concrete CMS": {
@@ -3164,7 +3328,9 @@
       "generator": "^concrete5(?: - ([\\d.]+)$)?\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "/concrete/js/",
+    "scriptSrc": [
+      "/concrete/js/"
+    ],
     "website": "https://www.concretecms.com/"
   },
   "Conditional Fields for Contact Form 7": {
@@ -3182,7 +3348,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "cf7-conditional-fields(?:\\/js)?(?:\\/scripts)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "cf7-conditional-fields(?:\\/js)?(?:\\/scripts)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/cf7-conditional-fields"
   },
   "Conekta": {
@@ -3212,7 +3380,9 @@
     ],
     "requiresCategory": 6,
     "saas": true,
-    "scriptSrc": "\\.conferwith\\.io/",
+    "scriptSrc": [
+      "\\.conferwith\\.io/"
+    ],
     "website": "https://conferwith.io"
   },
   "Confiant": {
@@ -3261,7 +3431,9 @@
       "mid"
     ],
     "saas": true,
-    "scriptSrc": "app\\.conjured\\.co/",
+    "scriptSrc": [
+      "app\\.conjured\\.co/"
+    ],
     "website": "https://conjured.co"
   },
   "Connectif": {
@@ -3280,7 +3452,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.connectif\\.cloud/",
+    "scriptSrc": [
+      "cdn\\.connectif\\.cloud/"
+    ],
     "website": "https://connectif.ai"
   },
   "Constant Contact": {
@@ -3300,7 +3474,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.ctctcdn\\.com/",
+    "scriptSrc": [
+      "\\.ctctcdn\\.com/"
+    ],
     "website": "https://www.constantcontact.com"
   },
   "Contabo": {
@@ -3335,7 +3511,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/contact-form-7/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/contact-form-7/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://contactform7.com"
   },
   "Container Media Group": {
@@ -3348,7 +3526,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.containermedia\\.net/",
+    "scriptSrc": [
+      "\\.containermedia\\.net/"
+    ],
     "website": "https://containermedia.net"
   },
   "Contao": {
@@ -3440,7 +3620,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "content-views(?:-pro)?(?:-query-and-display-post-page)?(?:\\/public)?(?:\\/assets)?(?:\\/js)?(?:\\/cv(?:pro)?)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "content-views(?:-pro)?(?:-query-and-display-post-page)?(?:\\/public)?(?:\\/assets)?(?:\\/js)?(?:\\/cv(?:pro)?)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/content-views-query-and-display-post-page/"
   },
   "Contentful": {
@@ -3493,7 +3675,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.contentsquare\\.net/",
+    "scriptSrc": [
+      "\\.contentsquare\\.net/"
+    ],
     "website": "https://contentsquare.com"
   },
   "Contentstack": {
@@ -3546,7 +3730,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.contlo\\.com/",
+    "scriptSrc": [
+      "\\.contlo\\.com/"
+    ],
     "website": "https://www.contlo.com"
   },
   "Conversant Consent Tool": {
@@ -3562,7 +3748,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.conversant\\.mgr\\.consensu\\.org/",
+    "scriptSrc": [
+      "cdn\\.conversant\\.mgr\\.consensu\\.org/"
+    ],
     "website": "https://www.conversantmedia.eu/consent-tool"
   },
   "Conversio": {
@@ -3578,7 +3766,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.conversio\\.com/",
+    "scriptSrc": [
+      "\\.conversio\\.com/"
+    ],
     "website": "https://conversio.com"
   },
   "Conversio App": {
@@ -3597,7 +3787,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "\\.conversio\\.com/.+\\.myshopify\\.com",
+    "scriptSrc": [
+      "\\.conversio\\.com/.+\\.myshopify\\.com"
+    ],
     "website": "https://apps.shopify.com/conversio"
   },
   "Convert": {
@@ -3616,7 +3808,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.convertexperiments\\.com/js",
+    "scriptSrc": [
+      "\\.convertexperiments\\.com/js"
+    ],
     "website": "https://www.convert.com"
   },
   "ConvertFlow": {
@@ -3635,7 +3829,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:app|js)\\.convertflow\\.co",
+    "scriptSrc": [
+      "(?:app|js)\\.convertflow\\.co"
+    ],
     "website": "https://www.convertflow.com"
   },
   "ConvertKit": {
@@ -3652,7 +3848,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.convertkit\\.com",
+    "scriptSrc": [
+      "\\.convertkit\\.com"
+    ],
     "website": "https://convertkit.com"
   },
   "Convertcart": {
@@ -3662,7 +3860,9 @@
     "description": "ConvertCart helps online businesses deliver outstanding experiences to customers throughout their journey.",
     "icon": "Convertcart.svg",
     "saas": true,
-    "scriptSrc": "cdn\\.convertcart\\.com",
+    "scriptSrc": [
+      "cdn\\.convertcart\\.com"
+    ],
     "website": "https://www.convertcart.com/"
   },
   "Convertr": {
@@ -3706,7 +3906,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.convertri\\.com/",
+    "scriptSrc": [
+      "cdn\\.convertri\\.com/"
+    ],
     "website": "https://www.convertri.com"
   },
   "ConveyThis": {
@@ -3720,7 +3922,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.conveythis\\.com",
+    "scriptSrc": [
+      "cdn\\.conveythis\\.com"
+    ],
     "website": "https://www.conveythis.com/"
   },
   "Conviva": {
@@ -3771,7 +3975,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/wp-gdpr-compliance/",
+    "scriptSrc": [
+      "/wp-content/plugins/wp-gdpr-compliance/"
+    ],
     "website": "https://wordpress.org/plugins/wp-gdpr-compliance"
   },
   "Cookie Notice": {
@@ -3781,7 +3987,9 @@
     ],
     "description": "Cookie Notice provides a simple, customizable website banner that can be used to help your website comply with certain cookie consent requirements under the EU GDPR cookie law and CCPA regulations and includes seamless integration with Cookie Compliance to help your site comply with the latest updates to existing consent laws.",
     "icon": "Cookie Notice.png",
-    "scriptSrc": "/wp-content/plugins/cookie-notice/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/cookie-notice/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/cookie-notice"
   },
   "Cookie Script": {
@@ -3796,7 +4004,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.cookie-script\\.com/",
+    "scriptSrc": [
+      "\\.cookie-script\\.com/"
+    ],
     "website": "https://cookie-script.com"
   },
   "Cookie Seal": {
@@ -3814,7 +4024,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cookie-seal\\.js",
+    "scriptSrc": [
+      "cookie-seal\\.js"
+    ],
     "website": "https://cookieseal.com"
   },
   "CookieFirst": {
@@ -3832,7 +4044,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "consent\\.cookiefirst\\.com/",
+    "scriptSrc": [
+      "consent\\.cookiefirst\\.com/"
+    ],
     "website": "https://cookiefirst.com"
   },
   "CookieHub": {
@@ -3877,7 +4091,9 @@
     "js": {
       "Cookiebot.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "consent\\.cookiebot\\.com",
+    "scriptSrc": [
+      "consent\\.cookiebot\\.com"
+    ],
     "website": "https://www.cookiebot.com"
   },
   "Cool Tag Cloud": {
@@ -3919,7 +4135,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.cooladata\\.com/",
+    "scriptSrc": [
+      "cdn\\.cooladata\\.com/"
+    ],
     "website": "https://www.cooladata.com"
   },
   "Coppermine": {
@@ -3943,7 +4161,9 @@
     ],
     "description": "Copypoison is a plagarism protection tool that protects content by replacing text with symbols that are visually similar.",
     "icon": "Copypoison.png",
-    "scriptSrc": "copypoison\\.com/cp\\.js",
+    "scriptSrc": [
+      "copypoison\\.com/cp\\.js"
+    ],
     "website": "https://copypoison.com/"
   },
   "CoreMedia Content Cloud": {
@@ -4006,7 +4226,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "cornerstone(?:\\/assets)?(?:\\/js)?(?:\\/site)?(?:\\/cs-classic)?\\.?((?:\\d+\\.)+\\d+)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "cornerstone(?:\\/assets)?(?:\\/js)?(?:\\/site)?(?:\\/cs-classic)?\\.?((?:\\d+\\.)+\\d+)?\\.js\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/cornerstone"
   },
   "Correos": {
@@ -4034,7 +4256,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.mycorreosecommerce\\.com/",
+    "scriptSrc": [
+      "\\.mycorreosecommerce\\.com/"
+    ],
     "website": "https://www.correosecommerce.com"
   },
   "Cosmic": {
@@ -4053,7 +4277,9 @@
     ],
     "cpe": "cpe:2.3:a:cosmoshop:cosmoshop:*:*:*:*:*:*:*:*",
     "icon": "Cosmoshop.png",
-    "scriptSrc": "cosmoshop_functions\\.js",
+    "scriptSrc": [
+      "cosmoshop_functions\\.js"
+    ],
     "website": "https://cosmoshop.de"
   },
   "Cotonti": {
@@ -4142,7 +4368,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.covermanager\\.com/",
+    "scriptSrc": [
+      "\\.covermanager\\.com/"
+    ],
     "website": "https://www.covermanager.com"
   },
   "Covet.pics": {
@@ -4157,7 +4385,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.covet\\.pics/",
+    "scriptSrc": [
+      "\\.covet\\.pics/"
+    ],
     "website": "https://covet.pics"
   },
   "Cowboy": {
@@ -4191,7 +4421,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "cdncozyantitheft\\.addons\\.business/",
+    "scriptSrc": [
+      "cdncozyantitheft\\.addons\\.business/"
+    ],
     "website": "https://apps.shopify.com/cozy-antitheft-for-images-and-more"
   },
   "CppCMS": {
@@ -4296,7 +4528,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "crayon-syntax-highlighter(?:\\/js)?(?:\\/min)?(?:\\/crayon)?(?:\\.te)?(?:\\.min)?\\.js(?:\\?v(?:er)?=_((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "crayon-syntax-highlighter(?:\\/js)?(?:\\/min)?(?:\\/crayon)?(?:\\.te)?(?:\\.min)?\\.js(?:\\?v(?:er)?=_((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/crayon-syntax-highlighter/"
   },
   "Crazy Egg": {
@@ -4307,7 +4541,9 @@
     "js": {
       "CE2": ""
     },
-    "scriptSrc": "script\\.crazyegg\\.com/pages/scripts/\\d+/\\d+\\.js",
+    "scriptSrc": [
+      "script\\.crazyegg\\.com/pages/scripts/\\d+/\\d+\\.js"
+    ],
     "website": "https://crazyegg.com"
   },
   "CreateJS": {
@@ -4317,7 +4553,9 @@
     "description": "CreateJS is a suite of modular libraries and tools which work together or independently to enable interactive content on open web technologies via HTML5.",
     "icon": "CreateJS.svg",
     "saas": true,
-    "scriptSrc": "code\\.createjs\\.com/",
+    "scriptSrc": [
+      "code\\.createjs\\.com/"
+    ],
     "website": "https://code.createjs.com"
   },
   "Creatium": {
@@ -4351,7 +4589,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/creative-mail-by-constant-contact/",
+    "scriptSrc": [
+      "/wp-content/plugins/creative-mail-by-constant-contact/"
+    ],
     "website": "https://www.creativemail.com"
   },
   "Crikle": {
@@ -4387,7 +4627,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "client\\.crisp\\.chat/",
+    "scriptSrc": [
+      "client\\.crisp\\.chat/"
+    ],
     "website": "https://crisp.chat/"
   },
   "Criteo": {
@@ -4421,7 +4663,9 @@
     "js": {
       "crobox": ""
     },
-    "scriptSrc": "cdn\\.crobox\\.com",
+    "scriptSrc": [
+      "cdn\\.crobox\\.com"
+    ],
     "website": "https://crobox.com/"
   },
   "Crocoblock JetElements": {
@@ -4451,7 +4695,9 @@
     "js": {
       "cp_C4w1ldN2d9PmVrkN": ""
     },
-    "scriptSrc": "tag\\.crsspxl\\.com",
+    "scriptSrc": [
+      "tag\\.crsspxl\\.com"
+    ],
     "website": "https://crosspixel.net"
   },
   "Cross Sell": {
@@ -4501,7 +4747,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "js/crownpeak\\.",
+    "scriptSrc": [
+      "js/crownpeak\\."
+    ],
     "scripts": "crownpeak\\.net",
     "website": "https://www.crownpeak.com"
   },
@@ -4520,7 +4768,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/bravada(?:-plus)?/.+frontend\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/bravada(?:-plus)?/.+frontend\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.cryoutcreations.eu/wordpress-themes/bravada"
   },
   "Cryout Creations Fluida": {
@@ -4538,7 +4788,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/fluida(?:-plus)?/.+frontend\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/fluida(?:-plus)?/.+frontend\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.cryoutcreations.eu/wordpress-themes/fluida"
   },
   "Cryout Creations Mantra": {
@@ -4561,7 +4813,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/mantra(?:-plus)?/.+frontend\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/mantra(?:-plus)?/.+frontend\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.cryoutcreations.eu/wordpress-themes/mantra"
   },
   "Cryout Creations Parabola": {
@@ -4581,7 +4835,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/parabola/.+frontend\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/parabola/.+frontend\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.cryoutcreations.eu/wordpress-themes/parabola"
   },
   "Crypto-Loot": {
@@ -4658,7 +4914,9 @@
     "js": {
       "Cufon": ""
     },
-    "scriptSrc": "cufon-yui\\.js",
+    "scriptSrc": [
+      "cufon-yui\\.js"
+    ],
     "website": "https://cufon.shoqolate.com"
   },
   "Custom Fonts": {
@@ -4672,7 +4930,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/custom-fonts/",
+    "scriptSrc": [
+      "/wp-content/plugins/custom-fonts/"
+    ],
     "website": "https://github.com/brainstormforce/custom-fonts"
   },
   "Custom Twitter Feeds": {
@@ -4685,7 +4945,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "custom-twitter-feeds(?:\\/js)?(?:\\/ctf-scripts)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "custom-twitter-feeds(?:\\/js)?(?:\\/ctf-scripts)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/custom-twitter-feeds"
   },
   "Customer.io": {
@@ -4699,7 +4961,9 @@
       "mid"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.customer\\.io",
+    "scriptSrc": [
+      "assets\\.customer\\.io"
+    ],
     "website": "https://customer.io/"
   },
   "Customily": {
@@ -4716,7 +4980,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:cdn|app)\\.customily\\.com/",
+    "scriptSrc": [
+      "(?:cdn|app)\\.customily\\.com/"
+    ],
     "website": "https://www.customily.com"
   },
   "Cwicly": {
@@ -4736,7 +5002,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/cwicly/",
+    "scriptSrc": [
+      "/wp-content/plugins/cwicly/"
+    ],
     "website": "https://cwicly.com"
   },
   "Cxense": {
@@ -4757,7 +5025,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.cxense\\.com/",
+    "scriptSrc": [
+      "\\.cxense\\.com/"
+    ],
     "website": "https://www.cxense.com"
   },
   "CyberChimps Responsive": {
@@ -4775,7 +5045,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/responsive(?:pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/responsive(?:pro)?/"
+    ],
     "website": "https://cyberchimps.com/responsive"
   },
   "Cybersource": {
@@ -4784,7 +5056,9 @@
     ],
     "description": "Cybersource is an ecommerce credit card payment system solution.",
     "icon": "cybersource.png",
-    "scriptSrc": "cybersource\\..+\\.js",
+    "scriptSrc": [
+      "cybersource\\..+\\.js"
+    ],
     "website": "https://www.cybersource.com/"
   },
   "Czater": {
@@ -4802,7 +5076,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.czater\\.pl",
+    "scriptSrc": [
+      "\\.czater\\.pl"
+    ],
     "website": "https://www.czater.pl"
   },
   "cPanel": {
@@ -4850,7 +5126,9 @@
     ],
     "requiresCategory": 6,
     "saas": true,
-    "scriptSrc": "\\.cashewpayments\\.com/",
+    "scriptSrc": [
+      "\\.cashewpayments\\.com/"
+    ],
     "website": "https://www.cashewpayments.com"
   },
   "cdnjs": {
@@ -4864,7 +5142,9 @@
       "Cloudflare"
     ],
     "oss": true,
-    "scriptSrc": "cdnjs\\.cloudflare\\.com",
+    "scriptSrc": [
+      "cdnjs\\.cloudflare\\.com"
+    ],
     "website": "https://cdnjs.com"
   },
   "cgit": {
@@ -4889,7 +5169,9 @@
     ],
     "description": "chroma.js is a small-ish zero-dependency JavaScript library for all kinds of color conversions and color scales.",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?chroma(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?chroma(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://www.vis4.net/chromajs/"
   },
   "clickio": {
@@ -4898,7 +5180,9 @@
     ],
     "description": "Clickio Consent Tool collects and communicates consent both to IAB Framework vendors and to Google Ads products.",
     "icon": "clickio.png",
-    "scriptSrc": "clickio\\.mgr\\.consensu\\.org/t/consent_[0-9]+\\.js",
+    "scriptSrc": [
+      "clickio\\.mgr\\.consensu\\.org/t/consent_[0-9]+\\.js"
+    ],
     "website": "https://www.gdpr.clickio.com/"
   },
   "comScore": {
@@ -4918,7 +5202,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.scorecardresearch\\.com/beacon\\.js|COMSCORE\\.beacon",
+    "scriptSrc": [
+      "\\.scorecardresearch\\.com/beacon\\.js|COMSCORE\\.beacon"
+    ],
     "website": "https://comscore.com"
   },
   "commercetools": {
@@ -4971,7 +5257,9 @@
       "CryptoJS.algo": ""
     },
     "oss": true,
-    "scriptSrc": "(?:/([\\d\\.-]+))?/crypto-js(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:/([\\d\\.-]+))?/crypto-js(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://github.com/brix/crypto-js"
   }
 }
\ No newline at end of file
diff --git a/src/technologies/d.json b/src/technologies/d.json
index 90c67fe6..523bab99 100644
--- a/src/technologies/d.json
+++ b/src/technologies/d.json
@@ -9,7 +9,9 @@
     "js": {
       "d3.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "/d3(?:\\.v\\d+)?(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "/d3(?:\\.v\\d+)?(?:\\.min)?\\.js"
+    ],
     "website": "https://d3js.org"
   },
   "DDoS-Guard": {
@@ -78,7 +80,9 @@
     "pricing": [
       "onetime"
     ],
-    "scriptSrc": "/dhtmlxcommon\\.js",
+    "scriptSrc": [
+      "/dhtmlxcommon\\.js"
+    ],
     "website": "https://dhtmlx.com"
   },
   "DM Polopoly": {
@@ -151,7 +155,9 @@
       "DPlayer.version": "([\\d\\.]+)\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "/dplayer\\.js",
+    "scriptSrc": [
+      "/dplayer\\.js"
+    ],
     "website": "https://dplayer.js.org"
   },
   "DTScout": {
@@ -164,7 +170,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.dtscout\\.com/",
+    "scriptSrc": [
+      "\\.dtscout\\.com/"
+    ],
     "website": "https://www.dtscout.com"
   },
   "DX": {
@@ -196,7 +204,9 @@
       "DNN"
     ],
     "saas": true,
-    "scriptSrc": "\\.dx1app\\.com/",
+    "scriptSrc": [
+      "\\.dx1app\\.com/"
+    ],
     "website": "https://www.dx1app.com"
   },
   "Dachser": {
@@ -225,7 +235,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.dailydeals\\.ai/",
+    "scriptSrc": [
+      "assets\\.dailydeals\\.ai/"
+    ],
     "website": "https://dailydeals.ai"
   },
   "DailyKarma": {
@@ -244,7 +256,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.dailykarma\\.io/",
+    "scriptSrc": [
+      "assets\\.dailykarma\\.io/"
+    ],
     "website": "https://www.dailykarma.com"
   },
   "Dailymotion": {
@@ -321,7 +335,9 @@
       "Darkmode": ""
     },
     "oss": true,
-    "scriptSrc": "darkmode-js@([\\d\\.]+)/lib/darkmode-js\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "darkmode-js@([\\d\\.]+)/lib/darkmode-js\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://github.com/sandoche/Darkmode.js"
   },
   "Dart": {
@@ -336,7 +352,9 @@
       "___dart_dispatch_record_ZxYxX_0_": ""
     },
     "oss": true,
-    "scriptSrc": "/(?:\\.)?(?:dart)(?:\\.js)?/",
+    "scriptSrc": [
+      "/(?:\\.)?(?:dart)(?:\\.js)?/"
+    ],
     "website": "https://dart.dev"
   },
   "Darwin": {
@@ -371,7 +389,9 @@
       "high",
       "recurring"
     ],
-    "scriptSrc": "^https://ct\\.datadome\\.co/[a-z]\\.js$",
+    "scriptSrc": [
+      "^https://ct\\.datadome\\.co/[a-z]\\.js$"
+    ],
     "website": "https://datadome.co"
   },
   "DataLife Engine": {
@@ -436,7 +456,9 @@
       "jQuery.fn.dataTable.version": "^(.+)$\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "dataTables.*\\.js",
+    "scriptSrc": [
+      "dataTables.*\\.js"
+    ],
     "website": "https://datatables.net"
   },
   "Datadog": {
@@ -457,7 +479,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "www\\.datadoghq-browser-agent\\.com",
+    "scriptSrc": [
+      "www\\.datadoghq-browser-agent\\.com"
+    ],
     "website": "https://www.datadoghq.com"
   },
   "Datatrics": {
@@ -518,7 +542,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.dealerspike\\.com",
+    "scriptSrc": [
+      "cdn\\.dealerspike\\.com"
+    ],
     "website": "https://www.dealerspike.com",
     "xhr": "\\.dealerspike\\.com"
   },
@@ -550,7 +576,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.decibelinsight\\.net",
+    "scriptSrc": [
+      "cdn\\.decibelinsight\\.net"
+    ],
     "website": "https://decibel.com"
   },
   "DedeCMS": {
@@ -565,7 +593,9 @@
     "js": {
       "DedeContainer": ""
     },
-    "scriptSrc": "dedeajax",
+    "scriptSrc": [
+      "dedeajax"
+    ],
     "website": "https://dedecms.com"
   },
   "Delacon": {
@@ -613,7 +643,9 @@
       "payg",
       "recurring"
     ],
-    "scriptSrc": "fast-tags\\.deliverr\\.com",
+    "scriptSrc": [
+      "fast-tags\\.deliverr\\.com"
+    ],
     "website": "https://deliverr.com"
   },
   "Demandbase": {
@@ -632,7 +664,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "tag.demandbase.com",
+    "scriptSrc": [
+      "tag.demandbase.com"
+    ],
     "website": "https://www.demandbase.com"
   },
   "Deno": {
@@ -755,7 +789,9 @@
     "description": "A Minimalistic Wrapper for IndexedDB.",
     "icon": "Dexie.js.png",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?dexie(?:\\.bitrix)?(?:\\.bundle)?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?dexie(?:\\.bitrix)?(?:\\.bundle)?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://dexie.org"
   },
   "DiamondCDN": {
@@ -782,7 +818,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.dianomi\\.com/",
+    "scriptSrc": [
+      "\\.dianomi\\.com/"
+    ],
     "website": "https://www.dianomi.com"
   },
   "Didomi": {
@@ -791,7 +829,9 @@
     ],
     "description": "Didomi is a consent management platform helping brands and businesses collect, store and leverage their customer consents.",
     "icon": "didomi.png",
-    "scriptSrc": "sdk\\.privacy-center\\.org/.*/loader\\.js",
+    "scriptSrc": [
+      "sdk\\.privacy-center\\.org/.*/loader\\.js"
+    ],
     "website": "https://www.didomi.io/en/consent-preference-management"
   },
   "Digest": {
@@ -900,7 +940,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.digitalriver\\.com/",
+    "scriptSrc": [
+      "\\.digitalriver\\.com/"
+    ],
     "website": "https://www.digitalriver.com"
   },
   "Digizuite": {
@@ -926,7 +968,9 @@
     "requires": [
       "D3"
     ],
-    "scriptSrc": "dimple(?:\\/lib\\/[\\w\\.]+)?(?:\\/theme\\/js\\/[\\w\\.-]+)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "dimple(?:\\/lib\\/[\\w\\.]+)?(?:\\/theme\\/js\\/[\\w\\.-]+)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "http://dimplejs.org/"
   },
   "DirectAdmin": {
@@ -1024,7 +1068,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "disqus_url",
+    "scriptSrc": [
+      "disqus_url"
+    ],
     "website": "https://disqus.com"
   },
   "Distributor": {
@@ -1040,7 +1086,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/distributor",
+    "scriptSrc": [
+      "/wp-content/plugins/distributor"
+    ],
     "website": "https://distributorplugin.com"
   },
   "District M": {
@@ -1067,7 +1115,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "storage\\.googleapis\\.com/dito/sdk\\.js",
+    "scriptSrc": [
+      "storage\\.googleapis\\.com/dito/sdk\\.js"
+    ],
     "website": "https://www.dito.com.br"
   },
   "Divi": {
@@ -1098,7 +1148,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "Divi/js/custom\\.(?:min|unified)\\.js\\?ver=([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "Divi/js/custom\\.(?:min|unified)\\.js\\?ver=([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://www.elegantthemes.com/gallery/divi"
   },
   "DivideBuy": {
@@ -1123,7 +1175,9 @@
     "description": "Divio is a Buy now pay later solution. Divido provided whitelabel platform connects lenders, retailers and channel partners at the point of sale",
     "icon": "Divido.png",
     "saas": true,
-    "scriptSrc": "cdn\\.divido\\.com",
+    "scriptSrc": [
+      "cdn\\.divido\\.com"
+    ],
     "website": "https://www.divido.com/"
   },
   "Django": {
@@ -1161,7 +1215,9 @@
       "PostgreSQL"
     ],
     "oss": true,
-    "scriptSrc": "/djangocms_",
+    "scriptSrc": [
+      "/djangocms_"
+    ],
     "website": "https://www.django-cms.org"
   },
   "DocFX": {
@@ -1255,7 +1311,9 @@
       "dojo": "",
       "dojo.version.major": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "((?:\\d+\\.)+\\d+)/dojo/dojo(?:\\.xd)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "((?:\\d+\\.)+\\d+)/dojo/dojo(?:\\.xd)?\\.js\\;version:\\1"
+    ],
     "website": "https://dojotoolkit.org"
   },
   "Dokan": {
@@ -1344,7 +1402,9 @@
       "WooCommerce"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/iwd-checkout-connector/",
+    "scriptSrc": [
+      "/wp-content/plugins/iwd-checkout-connector/"
+    ],
     "website": "https://www.dominate.co/woocommerce"
   },
   "DonorPerfect": {
@@ -1365,7 +1425,9 @@
       "mid"
     ],
     "saas": true,
-    "scriptSrc": "\\.donorperfect\\.net/",
+    "scriptSrc": [
+      "\\.donorperfect\\.net/"
+    ],
     "website": "https://www.donorperfect.com"
   },
   "Donorbox": {
@@ -1401,7 +1463,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.doofinder\\.com/",
+    "scriptSrc": [
+      "cdn\\.doofinder\\.com/"
+    ],
     "website": "https://www.doofinder.com"
   },
   "Doppler": {
@@ -1415,7 +1479,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "//(?:hub|cdn)\\.fromdoppler\\.com/",
+    "scriptSrc": [
+      "//(?:hub|cdn)\\.fromdoppler\\.com/"
+    ],
     "website": "https://www.fromdoppler.com"
   },
   "Doppler Forms": {
@@ -1430,7 +1496,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/doppler-form/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/doppler-form/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/doppler-form/"
   },
   "Doppler for WooCommerce": {
@@ -1446,7 +1514,9 @@
       "WordPress",
       "WooCommerce"
     ],
-    "scriptSrc": "/wp-content/plugins/doppler-for-woocommerce/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/doppler-for-woocommerce/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/doppler-for-woocommerce/"
   },
   "Dotclear": {
@@ -1479,7 +1549,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "js/_dmptv([\\d.]+)\\.js\\;version:\\1",
+    "scriptSrc": [
+      "js/_dmptv([\\d.]+)\\.js\\;version:\\1"
+    ],
     "website": "https://dotdigital.com"
   },
   "Dotdigital Chat": {
@@ -1569,7 +1641,9 @@
       36
     ],
     "icon": "DoubleClick.svg",
-    "scriptSrc": "2mdn\\.net",
+    "scriptSrc": [
+      "2mdn\\.net"
+    ],
     "website": "https://www.doubleclickbygoogle.com/solutions/digital-marketing/campaign-manager/"
   },
   "DoubleClick Floodlight": {
@@ -1577,7 +1651,9 @@
       36
     ],
     "icon": "DoubleClick.svg",
-    "scriptSrc": "https?://fls\\.doubleclick\\.net",
+    "scriptSrc": [
+      "https?://fls\\.doubleclick\\.net"
+    ],
     "website": "https://support.google.com/ds/answer/6029713?hl=en"
   },
   "DoubleClick for Publishers (DFP)": {
@@ -1590,7 +1666,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "googletagservices\\.com/tag/js/gpt(?:_mobile)?\\.js",
+    "scriptSrc": [
+      "googletagservices\\.com/tag/js/gpt(?:_mobile)?\\.js"
+    ],
     "website": "https://www.google.com/dfp"
   },
   "DoubleVerify": {
@@ -1616,7 +1694,9 @@
     "js": {
       "Dovetale": ""
     },
-    "scriptSrc": "dttrk\\.com",
+    "scriptSrc": [
+      "dttrk\\.com"
+    ],
     "website": "https://dovetale.com/"
   },
   "Download Monitor": {
@@ -1663,7 +1743,9 @@
     ],
     "description": "Draft.js is a JavaScript rich text editor framework, built for React.",
     "icon": "draftjs.png",
-    "scriptSrc": "draft-js(@|/)([\\d.]+)\\;version:\\2",
+    "scriptSrc": [
+      "draft-js(@|/)([\\d.]+)\\;version:\\2"
+    ],
     "website": "https://draftjs.org/"
   },
   "Draftpress HFCM": {
@@ -1711,7 +1793,9 @@
       "drapr_deferLoading": ""
     },
     "requiresCategory": 6,
-    "scriptSrc": "draprpubsubtest\\.firebaseapp\\.com/",
+    "scriptSrc": [
+      "draprpubsubtest\\.firebaseapp\\.com/"
+    ],
     "website": "https://www.drapr.com"
   },
   "DreamApply": {
@@ -1730,7 +1814,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "app\\.cdn\\.dreamapply\\.com/",
+    "scriptSrc": [
+      "app\\.cdn\\.dreamapply\\.com/"
+    ],
     "website": "https://dreamapply.com"
   },
   "DreamHost": {
@@ -1785,7 +1871,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.bizible\\.com/",
+    "scriptSrc": [
+      "\\.bizible\\.com/"
+    ],
     "website": "https://dreamdata.io"
   },
   "Drift": {
@@ -1816,7 +1904,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.getdrip\\.com/",
+    "scriptSrc": [
+      "\\.getdrip\\.com/"
+    ],
     "website": "https://www.drip.com"
   },
   "Drop A Hint": {
@@ -1852,7 +1942,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.dropinblog\\.com/",
+    "scriptSrc": [
+      "\\.dropinblog\\.com/"
+    ],
     "website": "https://dropinblog.com"
   },
   "Dropbox": {
@@ -1894,7 +1986,9 @@
     },
     "description": "Droxit is an automated web accessibility solution.",
     "icon": "Droxit.png",
-    "scriptSrc": "/droxit-a11y/js/activator\\.js",
+    "scriptSrc": [
+      "/droxit-a11y/js/activator\\.js"
+    ],
     "website": "https://www.droxit.com"
   },
   "Droz Bot": {
@@ -1907,7 +2001,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "chat-app\\.meudroz\\.com/",
+    "scriptSrc": [
+      "chat-app\\.meudroz\\.com/"
+    ],
     "website": "https://meudroz.com/droz-bot/"
   },
   "Drubbit": {
@@ -1955,7 +2051,9 @@
       "generator": "^Drupal(?:\\s([\\d.]+))?\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "drupal\\.js",
+    "scriptSrc": [
+      "drupal\\.js"
+    ],
     "scripts": "drupal_internal__nid",
     "website": "https://www.drupal.org/"
   },
@@ -2028,7 +2126,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "dd-cdn\\.multiscreensite\\.com/",
+    "scriptSrc": [
+      "dd-cdn\\.multiscreensite\\.com/"
+    ],
     "website": "https://www.duda.co"
   },
   "Duel": {
@@ -2055,7 +2155,9 @@
       "onetime"
     ],
     "saas": true,
-    "scriptSrc": "\\.duel\\.me/",
+    "scriptSrc": [
+      "\\.duel\\.me/"
+    ],
     "website": "https://www.duel.tech"
   },
   "Dukaan": {
@@ -2071,7 +2173,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "apps\\.mydukaan\\.io/",
+    "scriptSrc": [
+      "apps\\.mydukaan\\.io/"
+    ],
     "website": "https://mydukaan.io"
   },
   "Duopana": {
@@ -2087,7 +2191,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.beracode\\.com/",
+    "scriptSrc": [
+      "\\.beracode\\.com/"
+    ],
     "website": "https://duopana.com"
   },
   "Dynamic Conditions": {
@@ -2100,7 +2206,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "dynamic-conditions-public\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "dynamic-conditions-public\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/dynamicconditions"
   },
   "Dynamic Yield": {
@@ -2123,7 +2231,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn(?:-eu)?\\.dynamicyield\\.\\w+/",
+    "scriptSrc": [
+      "cdn(?:-eu)?\\.dynamicyield\\.\\w+/"
+    ],
     "website": "https://www.dynamicyield.com"
   },
   "Dynamics.js": {
@@ -2133,7 +2243,9 @@
     "description": "Javascript library to create physics-related animations",
     "icon": "Dynamics.js.png",
     "oss": true,
-    "scriptSrc": "dynamics(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "dynamics(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://dynamicsjs.com"
   },
   "Dynamicweb": {
@@ -2187,7 +2299,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "/ruxitagentjs_(?:.+)_(?:.+)\\.js",
+    "scriptSrc": [
+      "/ruxitagentjs_(?:.+)_(?:.+)\\.js"
+    ],
     "website": "https://www.dynatrace.com/platform/real-user-monitoring"
   },
   "Dyte": {
@@ -2245,7 +2359,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.db-ip\\.com",
+    "scriptSrc": [
+      "cdn\\.db-ip\\.com"
+    ],
     "website": "https://db-ip.com/",
     "xhr": "api\\.db-ip\\.com"
   },
@@ -2259,7 +2375,9 @@
     "js": {
       "dcAPIKey": ""
     },
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/(?:dc\\/)?)?dc(?:\\.leaflet)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/(?:dc\\/)?)?dc(?:\\.leaflet)?\\.js\\;version:\\1"
+    ],
     "website": "https://dc-js.github.io/dc.js/"
   },
   "decimal.js": {
@@ -2285,7 +2403,9 @@
     "js": {
       "deepMiner": ""
     },
-    "scriptSrc": "deepMiner\\.js",
+    "scriptSrc": [
+      "deepMiner\\.js"
+    ],
     "website": "https://github.com/deepwn/deepMiner"
   }
 }
\ No newline at end of file
diff --git a/src/technologies/e.json b/src/technologies/e.json
index 2e0055d1..adb57e73 100644
--- a/src/technologies/e.json
+++ b/src/technologies/e.json
@@ -166,7 +166,9 @@
       "eshopworld": "",
       "eswRetailerDisplayConfiguration": ""
     },
-    "scriptSrc": "Eswhooks\\.js",
+    "scriptSrc": [
+      "Eswhooks\\.js"
+    ],
     "website": "https://esw.com"
   },
   "EWWW Image Optimizer": {
@@ -183,7 +185,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/ewww-image-optimizer/",
+    "scriptSrc": [
+      "/wp-content/plugins/ewww-image-optimizer/"
+    ],
     "website": "https://github.com/nosilver4u/ewww-image-optimizer"
   },
   "EX.CO": {
@@ -243,7 +247,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "easyhide\\.herculesapps\\.com/",
+    "scriptSrc": [
+      "easyhide\\.herculesapps\\.com/"
+    ],
     "website": "https://apps.shopify.com/easyhide"
   },
   "Easy Orders": {
@@ -274,7 +280,9 @@
     ],
     "description": "Lightweight jQuery plugin to render and animate nice pie charts with the HTML5 canvas element.",
     "oss": true,
-    "scriptSrc": "[Ee]asy-?[Pp]ie-?[Cc]hart(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "[Ee]asy-?[Pp]ie-?[Cc]hart(?:\\.min)?\\.js"
+    ],
     "website": "https://rendro.github.io/easy-pie-chart/"
   },
   "Easy Redirects": {
@@ -292,7 +300,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "easy-redirects\\..+/redirect-app\\.js",
+    "scriptSrc": [
+      "easy-redirects\\..+/redirect-app\\.js"
+    ],
     "website": "https://apps.shopify.com/easyredirects"
   },
   "EasyDigitalDownloads": {
@@ -365,7 +375,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.easystore\\.co/",
+    "scriptSrc": [
+      "\\.easystore\\.co/"
+    ],
     "website": "https://www.easystore.co"
   },
   "Easylog": {
@@ -398,7 +410,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdnebasnet\\.com/",
+    "scriptSrc": [
+      "cdnebasnet\\.com/"
+    ],
     "website": "https://ebasnet.com"
   },
   "EcForce": {
@@ -495,7 +509,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/__layer0__/cache-manifest\\.js",
+    "scriptSrc": [
+      "/__layer0__/cache-manifest\\.js"
+    ],
     "website": "https://edg.io"
   },
   "Editor.js": {
@@ -542,7 +558,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.eggplant\\.cloud/",
+    "scriptSrc": [
+      "\\.eggplant\\.cloud/"
+    ],
     "website": "https://www.eggplantsoftware.com"
   },
   "Ektron CMS": {
@@ -558,7 +576,9 @@
     "js": {
       "Ektron": ""
     },
-    "scriptSrc": "/ektron\\.javascript\\.ashx",
+    "scriptSrc": [
+      "/ektron\\.javascript\\.ashx"
+    ],
     "website": "https://www.optimizely.com/ektron-cms"
   },
   "Elastic APM": {
@@ -622,7 +642,9 @@
       "OroCommerce",
       "Magento"
     ],
-    "scriptSrc": "/Smile_ElasticsuiteTracker/",
+    "scriptSrc": [
+      "/Smile_ElasticsuiteTracker/"
+    ],
     "website": "https://elasticsuite.io"
   },
   "Elasticsearch": {
@@ -746,7 +768,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/elementor(?:-pro)?/.+frontend-modules\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/elementor(?:-pro)?/.+frontend-modules\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://elementor.com"
   },
   "Elementor Addon Elements": {
@@ -761,7 +785,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "addon-elements-for-elementor-page-builder(?:\\/assets)?(?:\\/js)?(?:\\/lib)?(?:\\/animated-main)?(?:\\/build)?(?:\\/eae)?(?:\\/iconHelper)?(?:\\/index)?(?:\\/magnific)?(?:\\/particles)?(?:\\/vegas){0,2}(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "addon-elements-for-elementor-page-builder(?:\\/assets)?(?:\\/js)?(?:\\/lib)?(?:\\/animated-main)?(?:\\/build)?(?:\\/eae)?(?:\\/iconHelper)?(?:\\/index)?(?:\\/magnific)?(?:\\/particles)?(?:\\/vegas){0,2}(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/addon-elements-for-elementor-page-builder"
   },
   "Elementor Cloud": {
@@ -865,7 +891,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.elfsight\\.com/",
+    "scriptSrc": [
+      "\\.elfsight\\.com/"
+    ],
     "website": "https://elfsight.com"
   },
   "Elgg": {
@@ -878,7 +906,9 @@
       "elgg": ""
     },
     "oss": true,
-    "scriptSrc": "elgg(?:_dataTables)?(?:\\/Ajax)?(?:\\/Plugin)?(?:\\/require_config)?(?:\\/spinner)?(?:\\/dev)?(?:\\.\\w{0,10})?\\.js",
+    "scriptSrc": [
+      "elgg(?:_dataTables)?(?:\\/Ajax)?(?:\\/Plugin)?(?:\\/require_config)?(?:\\/spinner)?(?:\\/dev)?(?:\\.\\w{0,10})?\\.js"
+    ],
     "website": "https://elgg.org/"
   },
   "Elixir": {
@@ -918,7 +948,9 @@
     ],
     "description": "Fast Elliptic Curve Cryptography in plain javascript.",
     "oss": true,
-    "scriptSrc": "elliptic(?:[\\w\\.-]{0,27})?(?:\\.bundle)?(?:\\.chunk)?(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "elliptic(?:[\\w\\.-]{0,27})?(?:\\.bundle)?(?:\\.chunk)?(?:\\.min)?\\.js"
+    ],
     "website": "https://github.com/indutny/elliptic"
   },
   "Ellucian CRM Recruit": {
@@ -976,7 +1008,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "//cdn\\.eloomi\\.com/",
+    "scriptSrc": [
+      "//cdn\\.eloomi\\.com/"
+    ],
     "website": "https://eloomi.com"
   },
   "Eloqua": {
@@ -999,7 +1033,9 @@
       "elqSiteID": "",
       "elq_global": ""
     },
-    "scriptSrc": "elqCfg\\.js",
+    "scriptSrc": [
+      "elqCfg\\.js"
+    ],
     "website": "https://eloqua.com"
   },
   "Email Encoder for Wordpress": {
@@ -1014,7 +1050,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "email-encoder-bundle(?:\\/core)?(?:\\/includes)?(?:\\/assets)?(?:\\/js)?(?:\\/custom)?(?:\\/encoder-form)?\\.js",
+    "scriptSrc": [
+      "email-encoder-bundle(?:\\/core)?(?:\\/includes)?(?:\\/assets)?(?:\\/js)?(?:\\/custom)?(?:\\/encoder-form)?\\.js"
+    ],
     "website": "https://wordpress.org/plugins/email-encoder-bundle"
   },
   "EmailJS": {
@@ -1032,7 +1070,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "([\\d\\.]+)?(?:/dist)?/email\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "([\\d\\.]+)?(?:/dist)?/email\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://www.emailjs.com"
   },
   "Emarsys": {
@@ -1046,7 +1086,9 @@
       "Scarab": "",
       "ScarabQueue": ""
     },
-    "scriptSrc": "(?:static|cdn)\\.scarabresearch\\.com",
+    "scriptSrc": [
+      "(?:static|cdn)\\.scarabresearch\\.com"
+    ],
     "website": "https://emarsys.com/"
   },
   "Ematic Solutions": {
@@ -1091,7 +1133,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "embed-any-document(?:\\/js)?(?:\\/embed-public)?(?:\\/pdfobject)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "embed-any-document(?:\\/js)?(?:\\/embed-public)?(?:\\/pdfobject)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/embed-any-document"
   },
   "EmbedPlus": {
@@ -1107,7 +1151,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/youtube-embed-plus(?:-pro)?/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/youtube-embed-plus(?:-pro)?/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.embedplus.com"
   },
   "EmbedPress": {
@@ -1122,7 +1168,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "embedpress(?:\\/assets)?(?:\\/js)?(?:\\/ads)?(?:\\/pdfobject)?(?:\\/front)?(?:\\/documents-viewer-script)?(?:\\/vimeo-player)?(?:\\/initplyr)?(?:\\/plyr)?(?:\\.polyfilled)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "embedpress(?:\\/assets)?(?:\\/js)?(?:\\/ads)?(?:\\/pdfobject)?(?:\\/front)?(?:\\/documents-viewer-script)?(?:\\/vimeo-player)?(?:\\/initplyr)?(?:\\/plyr)?(?:\\.polyfilled)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/embedpress"
   },
   "EmbedSocial": {
@@ -1140,7 +1188,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "embedsocial\\.com/",
+    "scriptSrc": [
+      "embedsocial\\.com/"
+    ],
     "website": "https://embedsocial.com"
   },
   "EmbedThis Appweb": {
@@ -1168,7 +1218,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.embedly\\.com/",
+    "scriptSrc": [
+      "cdn\\.embedly\\.com/"
+    ],
     "website": "https://embed.ly"
   },
   "Ember.js": {
@@ -1210,7 +1262,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "emotivecdn\\.io/",
+    "scriptSrc": [
+      "emotivecdn\\.io/"
+    ],
     "website": "https://emotive.io"
   },
   "Empretienda": {
@@ -1242,7 +1296,9 @@
       "freemium",
       "poa"
     ],
-    "scriptSrc": "cdn\\.enable\\.co\\.il/",
+    "scriptSrc": [
+      "cdn\\.enable\\.co\\.il/"
+    ],
     "website": "https://www.enable.co.il"
   },
   "Endurance Page Cache": {
@@ -1307,7 +1363,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/enigma/",
+    "scriptSrc": [
+      "/wp-content/themes/enigma/"
+    ],
     "website": "https://wordpress.org/themes/enigma"
   },
   "Enjin CMS": {
@@ -1326,7 +1384,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.enjin\\.com/",
+    "scriptSrc": [
+      "\\.enjin\\.com/"
+    ],
     "website": "https://www.enjin.com"
   },
   "Enlistly": {
@@ -1343,7 +1403,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "cdn\\.enlistly\\.com/",
+    "scriptSrc": [
+      "cdn\\.enlistly\\.com/"
+    ],
     "website": "https://enlistly.com"
   },
   "Enquire.js": {
@@ -1352,7 +1414,9 @@
     ],
     "description": "enquire.js is a lightweight, pure JavaScript library for responding to CSS media queries.",
     "oss": true,
-    "scriptSrc": "enquire(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "enquire(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wicky.nillia.ms/enquire.js/"
   },
   "Ensi": {
@@ -1376,7 +1440,9 @@
     ],
     "description": "Ensighten is a solution that enables secure management, implementation and control of website technologies.",
     "icon": "ensighten.png",
-    "scriptSrc": "//nexus\\.ensighten\\.com/",
+    "scriptSrc": [
+      "//nexus\\.ensighten\\.com/"
+    ],
     "website": "https://success.ensighten.com/hc/en-us"
   },
   "Envialia": {
@@ -1406,7 +1472,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/envo-shop/.+customscript\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/envo-shop/.+customscript\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://envothemes.com/free-envo-shop"
   },
   "Envo Storefront": {
@@ -1424,7 +1492,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/envo-storefront/.+customscript\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/envo-storefront/.+customscript\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://envothemes.com/free-envo-storefront"
   },
   "Envo eCommerce": {
@@ -1442,7 +1512,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/envo-ecommerce/.+customscript\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/envo-ecommerce/.+customscript\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://envothemes.com/free-envo-ecommerce/"
   },
   "Envoy": {
@@ -1473,7 +1545,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "static\\.saas-support\\.com/",
+    "scriptSrc": [
+      "static\\.saas-support\\.com/"
+    ],
     "website": "https://envybox.io"
   },
   "Enyo": {
@@ -1486,7 +1560,9 @@
     "js": {
       "enyo": ""
     },
-    "scriptSrc": "enyo\\.js",
+    "scriptSrc": [
+      "enyo\\.js"
+    ],
     "website": "https://enyojs.com"
   },
   "Epoch": {
@@ -1499,7 +1575,9 @@
     "implies": [
       "D3"
     ],
-    "scriptSrc": "epoch(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "epoch(?:\\.min)?\\.js"
+    ],
     "website": "https://fastly.github.io/epoch"
   },
   "Epom": {
@@ -1519,7 +1597,9 @@
     ],
     "description": "EqualWeb provides a web accessibility overlay, and helps some people with disabilities access digital information.",
     "icon": "EqualWeb.png",
-    "scriptSrc": "cdn\\.equalweb\\.com.*\\.js",
+    "scriptSrc": [
+      "cdn\\.equalweb\\.com.*\\.js"
+    ],
     "website": "https://www.equalweb.com/"
   },
   "EraofEcom Cartroids": {
@@ -1553,7 +1633,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "mtl\\.eraofecom\\.org",
+    "scriptSrc": [
+      "mtl\\.eraofecom\\.org"
+    ],
     "website": "https://eraofecom.org/collections/tech/products/milk-the-leads"
   },
   "EraofEcom WinAds": {
@@ -1619,7 +1701,9 @@
       "freemium",
       "recurring"
     ],
-    "scriptSrc": "espo(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "espo(?:\\.min)?\\.js"
+    ],
     "website": "https://www.espocrm.com/"
   },
   "Essent SiteBuilder Pro": {
@@ -1655,7 +1739,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/uploads/essential-addons-elementor/",
+    "scriptSrc": [
+      "/wp-content/uploads/essential-addons-elementor/"
+    ],
     "website": "https://essential-addons.com/elementor/"
   },
   "Essential JS 2": {
@@ -1675,7 +1761,9 @@
     ],
     "description": "Estore Compare is a website optimisation software that offers A/B testing, CVR and LTV measuring tools.",
     "icon": "EstoreCompare.svg",
-    "scriptSrc": "cdn\\d+\\.estore\\.jp/",
+    "scriptSrc": [
+      "cdn\\d+\\.estore\\.jp/"
+    ],
     "website": "https://estore.co.jp/estorecompare/"
   },
   "Estore Shopserve": {
@@ -1689,7 +1777,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cart\\d+\\.shopserve\\.jp/",
+    "scriptSrc": [
+      "cart\\d+\\.shopserve\\.jp/"
+    ],
     "website": "https://estore.co.jp/shopserve"
   },
   "Etherpad": {
@@ -1754,7 +1844,9 @@
       "mid"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.eticex\\.com/",
+    "scriptSrc": [
+      "cdn\\.eticex\\.com/"
+    ],
     "website": "https://www.eticex.com"
   },
   "Etix": {
@@ -1788,7 +1880,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.etracker\\.com",
+    "scriptSrc": [
+      "\\.etracker\\.com"
+    ],
     "website": "https://www.etracker.com"
   },
   "EventOn": {
@@ -1812,7 +1906,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "everflow\\.js",
+    "scriptSrc": [
+      "everflow\\.js"
+    ],
     "website": "https://www.everflow.io"
   },
   "EveryAction": {
@@ -1827,7 +1923,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.everyaction\\.com/",
+    "scriptSrc": [
+      "\\.everyaction\\.com/"
+    ],
     "website": "https://www.everyaction.com"
   },
   "Eveve": {
@@ -1865,7 +1963,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.evidon\\.com/",
+    "scriptSrc": [
+      "\\.evidon\\.com/"
+    ],
     "website": "https://www.evidon.com"
   },
   "ExactMetrics": {
@@ -1887,7 +1987,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/google-analytics-dashboard-for-wp/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/google-analytics-dashboard-for-wp/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.exactmetrics.com"
   },
   "Exemptify": {
@@ -1909,7 +2011,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.modules4u\\.biz/shopify/exemptify",
+    "scriptSrc": [
+      "\\.modules4u\\.biz/shopify/exemptify"
+    ],
     "website": "https://modules4u.biz/exemptify"
   },
   "Exhibit": {
@@ -1921,7 +2025,9 @@
       "Exhibit": "",
       "Exhibit.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "exhibit.*\\.js",
+    "scriptSrc": [
+      "exhibit.*\\.js"
+    ],
     "website": "https://simile-widgets.org/exhibit/"
   },
   "ExitIntel": {
@@ -1941,7 +2047,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "(?:get.)?exitintel\\.com",
+    "scriptSrc": [
+      "(?:get.)?exitintel\\.com"
+    ],
     "website": "https://exitintelligence.com"
   },
   "ExoClick": {
@@ -1957,7 +2065,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.exoclick\\.com/",
+    "scriptSrc": [
+      "\\.exoclick\\.com/"
+    ],
     "website": "https://www.exoclick.com"
   },
   "ExpertRec": {
@@ -1974,7 +2084,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "expertrec\\.com/api/js/ci_common\\.js\\?id=.*",
+    "scriptSrc": [
+      "expertrec\\.com/api/js/ci_common\\.js\\?id=.*"
+    ],
     "website": "https://www.expertrec.com/"
   },
   "Expivi": {
@@ -1993,7 +2105,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.expivi\\.(?:com|net)/",
+    "scriptSrc": [
+      "\\.expivi\\.(?:com|net)/"
+    ],
     "website": "https://www.expivi.com"
   },
   "Exponea": {
@@ -2009,7 +2123,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "(?:\\.exponea\\.com)?/js/exponea\\.min\\.js",
+    "scriptSrc": [
+      "(?:\\.exponea\\.com)?/js/exponea\\.min\\.js"
+    ],
     "website": "https://go.exponea.com"
   },
   "Express": {
@@ -2057,7 +2173,9 @@
       "Ext.version": "^(.+)$\\;version:\\1",
       "Ext.versions.extjs.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "ext-base\\.js",
+    "scriptSrc": [
+      "ext-base\\.js"
+    ],
     "website": "https://www.sencha.com"
   },
   "Extendify": {
@@ -2083,7 +2201,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/calliope/",
+    "scriptSrc": [
+      "/wp-content/themes/calliope/"
+    ],
     "website": "https://wordpress.org/themes/calliope"
   },
   "ExtendThemes EmpowerWP": {
@@ -2105,7 +2225,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/empowerwp(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/empowerwp(?:-pro)?/"
+    ],
     "website": "https://extendthemes.com/empowerwp"
   },
   "ExtendThemes Highlight": {
@@ -2127,7 +2249,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/highlight(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/highlight(?:-pro)?/"
+    ],
     "website": "https://extendthemes.com/highlight"
   },
   "ExtendThemes Materialis": {
@@ -2151,7 +2275,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/materialis(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/materialis(?:-pro)?/"
+    ],
     "website": "https://extendthemes.com/materialis"
   },
   "ExtendThemes Mesmerize": {
@@ -2176,7 +2302,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/mesmerize(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/mesmerize(?:-pro)?/"
+    ],
     "website": "https://extendthemes.com/mesmerize"
   },
   "Extole": {
@@ -2194,7 +2322,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.(?:extole|xtlo)\\.(?:com|net)/",
+    "scriptSrc": [
+      "\\.(?:extole|xtlo)\\.(?:com|net)/"
+    ],
     "website": "https://www.extole.com"
   },
   "Ezoic": {
@@ -2216,7 +2346,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.ezo(?:js|ic|dn)\\.(?:com|net)",
+    "scriptSrc": [
+      "\\.ezo(?:js|ic|dn)\\.(?:com|net)"
+    ],
     "website": "https://www.ezoic.com"
   },
   "e-Shop Commerce": {
@@ -2230,7 +2362,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/template_inc/eshopstoresframework",
+    "scriptSrc": [
+      "/template_inc/eshopstoresframework"
+    ],
     "website": "https://www.e-shop.co.il"
   },
   "e-goi": {
@@ -2250,7 +2384,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.e-goi\\.com/egoimmerce\\.js",
+    "scriptSrc": [
+      "\\.e-goi\\.com/egoimmerce\\.js"
+    ],
     "website": "https://www.e-goi.com"
   },
   "e107": {
@@ -2268,7 +2404,9 @@
     "implies": [
       "PHP"
     ],
-    "scriptSrc": "[^a-z\\d]e107\\.js",
+    "scriptSrc": [
+      "[^a-z\\d]e107\\.js"
+    ],
     "website": "https://e107.org"
   },
   "eBay Partner Network": {
@@ -2278,7 +2416,9 @@
     ],
     "description": "eBay Partner Network is an online referral program where eBay pays commissions to referrers on sales generated by customers they’ve referred.",
     "icon": "eBay.svg",
-    "scriptSrc": "epnt\\.ebay\\.com/",
+    "scriptSrc": [
+      "epnt\\.ebay\\.com/"
+    ],
     "website": "https://partnernetwork.ebay.com"
   },
   "eCaupo": {
@@ -2292,7 +2432,9 @@
       "recurring",
       "payg"
     ],
-    "scriptSrc": "\\.ecaupo\\.(?:at|com)/",
+    "scriptSrc": [
+      "\\.ecaupo\\.(?:at|com)/"
+    ],
     "website": "https://www.ecaupo.com"
   },
   "eClass": {
@@ -2399,7 +2541,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "eshopcrm\\.com/",
+    "scriptSrc": [
+      "eshopcrm\\.com/"
+    ],
     "website": "https://eshopcrm.com"
   },
   "eSputnik": {
@@ -2417,7 +2561,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?://|\\.)esputnik\\.com/",
+    "scriptSrc": [
+      "(?://|\\.)esputnik\\.com/"
+    ],
     "website": "https://esputnik.com"
   },
   "eSyndiCat": {
@@ -2448,7 +2594,9 @@
       "<img [^>]*src=\"[^/]*//[^/]*eway\\.com"
     ],
     "icon": "eway.png",
-    "scriptSrc": "secure\\.ewaypayments\\.com",
+    "scriptSrc": [
+      "secure\\.ewaypayments\\.com"
+    ],
     "website": "https://www.eway.com.au/"
   },
   "eZ Publish": {
@@ -2500,7 +2648,9 @@
       "ef.version": "^(.+)$\\;version:\\1",
       "efCore": ""
     },
-    "scriptSrc": "/ef(?:-core)?(?:\\.min|\\.dev)?\\.js",
+    "scriptSrc": [
+      "/ef(?:-core)?(?:\\.min|\\.dev)?\\.js"
+    ],
     "website": "https://ef.js.org"
   },
   "emBlue": {
@@ -2519,7 +2669,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.embluemail\\.com/(?:library/([\\d.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "\\.embluemail\\.com/(?:library/([\\d.]+))?\\;version:\\1"
+    ],
     "website": "https://www.embluemail.com/en"
   },
   "enduro.js": {
@@ -2557,7 +2709,9 @@
       67
     ],
     "icon": "eucookie.png",
-    "scriptSrc": "eucookie\\.eu/public/gdpr-cookie-consent\\.js",
+    "scriptSrc": [
+      "eucookie\\.eu/public/gdpr-cookie-consent\\.js"
+    ],
     "website": "https://www.eucookie.eu/"
   },
   "experiencedCMS": {
diff --git a/src/technologies/f.json b/src/technologies/f.json
index fd2a2248..004f6262 100644
--- a/src/technologies/f.json
+++ b/src/technologies/f.json
@@ -125,7 +125,9 @@
     "js": {
       "facebookChatSettings": ""
     },
-    "scriptSrc": "connect\\.facebook\\.net/.+\\.customerchat\\.js",
+    "scriptSrc": [
+      "connect\\.facebook\\.net/.+\\.customerchat\\.js"
+    ],
     "website": "https://developers.facebook.com/docs/messenger-platform/discovery/facebook-chat-plugin/"
   },
   "Facebook Login": {
@@ -172,7 +174,9 @@
     ],
     "description": "Facil-iti is a web accessibility overlay which provides support for some people with disabilities and seniors.",
     "icon": "Facil-iti.svg",
-    "scriptSrc": "ws\\.facil-iti\\.com/tag/faciliti-tag\\.min\\.js",
+    "scriptSrc": [
+      "ws\\.facil-iti\\.com/tag/faciliti-tag\\.min\\.js"
+    ],
     "website": "https://www.facil-iti.com/"
   },
   "Fact Finder": {
@@ -184,7 +188,9 @@
       "<!-- Factfinder"
     ],
     "icon": "Fact Finder.png",
-    "scriptSrc": "Suggest\\.ff",
+    "scriptSrc": [
+      "Suggest\\.ff"
+    ],
     "url": "(?:/ViewParametricSearch|ffsuggest\\.[a-z]htm)",
     "website": "https://fact-finder.com"
   },
@@ -204,7 +210,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/nisarg(?:pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/nisarg(?:pro)?/"
+    ],
     "website": "https://www.falgunithemes.com/downloads/nisarg"
   },
   "FameThemes OnePress": {
@@ -255,7 +263,9 @@
       "Fancybox.version": "^(.+)$\\;version:\\1",
       "jQuery.fancybox.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "jquery\\.fancybox(?:\\.pack|\\.min)?\\.js(?:\\?v=([\\d.]+))?$\\;version:\\1",
+    "scriptSrc": [
+      "jquery\\.fancybox(?:\\.pack|\\.min)?\\.js(?:\\?v=([\\d.]+))?$\\;version:\\1"
+    ],
     "website": "https://fancyapps.com/fancybox"
   },
   "Fanplayr": {
@@ -273,7 +283,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.fanplayr\\.com/.+/([\\d\\.]+)\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.fanplayr\\.com/.+/([\\d\\.]+)\\;version:\\1"
+    ],
     "website": "https://fanplayr.com"
   },
   "FaraPy": {
@@ -303,7 +315,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "fareharbor\\.com/embeds/api/",
+    "scriptSrc": [
+      "fareharbor\\.com/embeds/api/"
+    ],
     "website": "https://fareharbor.com"
   },
   "Fast Bundle": {
@@ -325,7 +339,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "api\\.fastbundle\\.co/",
+    "scriptSrc": [
+      "api\\.fastbundle\\.co/"
+    ],
     "website": "https://fastbundle.co"
   },
   "Fast Checkout": {
@@ -342,7 +358,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "js\\.fast\\.co/",
+    "scriptSrc": [
+      "js\\.fast\\.co/"
+    ],
     "website": "https://www.fast.co"
   },
   "FastComet": {
@@ -424,7 +442,9 @@
       "<(?:iframe)[^>]+FatZebraFrame"
     ],
     "icon": "fatzebra.png",
-    "scriptSrc": "paynow\\.pmnts\\.io",
+    "scriptSrc": [
+      "paynow\\.pmnts\\.io"
+    ],
     "website": "https://www.fatzebra.com/"
   },
   "Fat-Free Framework": {
@@ -453,7 +473,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "fathershop/view/theme/fs/",
+    "scriptSrc": [
+      "fathershop/view/theme/fs/"
+    ],
     "website": "https://fathershops.com"
   },
   "Fathom": {
@@ -470,7 +492,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.usefathom\\.com/",
+    "scriptSrc": [
+      "cdn\\.usefathom\\.com/"
+    ],
     "website": "https://usefathom.com"
   },
   "Faveo": {
@@ -482,7 +506,9 @@
     "dom": "link[href*='/lb-faveo/']",
     "icon": "Faveo.png",
     "oss": true,
-    "scriptSrc": "faveo(?:\\/js)?(?:\\/jquery)?(?:\\/know)?(?:\\/mobilemenu)?(?:\\/plugins)?(?:\\/bootstrap)?(?:\\/superfish)?(?:\\/iCheck\\/icheck)?(?:-wysihtml5\\/bootstrap3-wysihtml5)?(?:\\.all)?(?:\\.rating)?(?:\\.pack)?((?:\\d+\\.)+\\d+)?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "faveo(?:\\/js)?(?:\\/jquery)?(?:\\/know)?(?:\\/mobilemenu)?(?:\\/plugins)?(?:\\/bootstrap)?(?:\\/superfish)?(?:\\/iCheck\\/icheck)?(?:-wysihtml5\\/bootstrap3-wysihtml5)?(?:\\.all)?(?:\\.rating)?(?:\\.pack)?((?:\\d+\\.)+\\d+)?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://faveohelpdesk.com"
   },
   "Fbits": {
@@ -540,7 +566,9 @@
     ],
     "description": "Feedback Fish is a widget for collecting website feedback from users.",
     "icon": "feedback-fish.svg",
-    "scriptSrc": "^https://feedback\\.fish/ff\\.js",
+    "scriptSrc": [
+      "^https://feedback\\.fish/ff\\.js"
+    ],
     "website": "https://feedback.fish"
   },
   "Feefo": {
@@ -559,7 +587,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.feefo\\.com/",
+    "scriptSrc": [
+      "\\.feefo\\.com/"
+    ],
     "website": "https://www.feefo.com"
   },
   "Fenicio": {
@@ -595,7 +625,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.fera\\.ai",
+    "scriptSrc": [
+      "cdn\\.fera\\.ai"
+    ],
     "website": "https://fera.ai/"
   },
   "Fera Product Reviews App": {
@@ -630,7 +662,9 @@
       "FilePond.create": "",
       "FilePond.setOptions": ""
     },
-    "scriptSrc": "filepond.js",
+    "scriptSrc": [
+      "filepond.js"
+    ],
     "website": "https://pqina.nl/filepond/"
   },
   "FinanceAds": {
@@ -662,7 +696,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "@findify/bundle@([\\d.]+)/dist/.+\\.js\\;version:\\1",
+    "scriptSrc": [
+      "@findify/bundle@([\\d.]+)/dist/.+\\.js\\;version:\\1"
+    ],
     "website": "https://www.findify.io"
   },
   "Findmeashoe": {
@@ -753,7 +789,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "//alireviews\\.fireapps\\.io/",
+    "scriptSrc": [
+      "//alireviews\\.fireapps\\.io/"
+    ],
     "website": "https://apps.shopify.com/ali-reviews"
   },
   "Firebase": {
@@ -829,7 +867,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "firsthive\\.com/engage/",
+    "scriptSrc": [
+      "firsthive\\.com/engage/"
+    ],
     "website": "https://firsthive.com"
   },
   "FirstImpression.io": {
@@ -842,7 +882,9 @@
       "FI.options": "",
       "fiPrebidAnalyticsHandler": ""
     },
-    "scriptSrc": "\\.firstimpression\\.io",
+    "scriptSrc": [
+      "\\.firstimpression\\.io"
+    ],
     "website": "https://www.firstimpression.io",
     "xhr": "\\.firstimpression\\.io"
   },
@@ -862,7 +904,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.firstpromoter\\.com/",
+    "scriptSrc": [
+      "cdn\\.firstpromoter\\.com/"
+    ],
     "website": "https://firstpromoter.com"
   },
   "Fit Analytics": {
@@ -879,7 +923,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.fitanalytics\\.com",
+    "scriptSrc": [
+      "\\.fitanalytics\\.com"
+    ],
     "website": "https://www.fitanalytics.com"
   },
   "FitVids.JS": {
@@ -911,7 +957,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.flagsmith\\.com/",
+    "scriptSrc": [
+      "cdn\\.flagsmith\\.com/"
+    ],
     "website": "https://flagsmith.com"
   },
   "Flarum": {
@@ -981,7 +1029,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//flazio\\.org/",
+    "scriptSrc": [
+      "//flazio\\.org/"
+    ],
     "website": "https://flazio.com"
   },
   "Fleksa": {
@@ -1044,7 +1094,9 @@
       "Flickity": ""
     },
     "oss": true,
-    "scriptSrc": "flickity(?:/|@)([\\d\\.]+).+flickity(?:\\.pkgd)?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "flickity(?:/|@)([\\d\\.]+).+flickity(?:\\.pkgd)?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://flickity.metafizzy.co"
   },
   "FlipClock.js": {
@@ -1054,7 +1106,9 @@
     ],
     "description": "FlipClock.js is a JavaScript library, offering a modern twist to displaying time and countdowns on web applications.",
     "oss": true,
-    "scriptSrc": "flipclock(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "flipclock(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://flipclock.readthedocs.io/en/dev-1.0.0/CHANGE%20LOG/"
   },
   "FlippingBook": {
@@ -1073,7 +1127,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "online\\.flippingbook\\.com/",
+    "scriptSrc": [
+      "online\\.flippingbook\\.com/"
+    ],
     "website": "https://flippingbook.com"
   },
   "Flits": {
@@ -1102,7 +1158,9 @@
     "description": "A JavaScript library to position floating elements and create interactions for them.",
     "icon": "Floating UI.svg",
     "oss": true,
-    "scriptSrc": "floating-ui(?:\\/core)?(?:\\/dom)?(?:\\.js)?(?:@?(?:\\?v(?:er)?=)?((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "floating-ui(?:\\/core)?(?:\\/dom)?(?:\\.js)?(?:@?(?:\\?v(?:er)?=)?((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://floating-ui.com/"
   },
   "Flocktory": {
@@ -1121,7 +1179,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.flocktory\\.com/",
+    "scriptSrc": [
+      "\\.flocktory\\.com/"
+    ],
     "website": "https://www.flocktory.com"
   },
   "Flot": {
@@ -1131,7 +1191,9 @@
     "description": "Attractive Javascript plotting for jQuery.",
     "icon": "Flot.png",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/(?:jquery\\.)?)?flot(?:\\/curvedLines)?(?:\\/excanvas)?(?:\\/jquery)?(?:\\.categories)?(?:\\.pack)?(?:\\.pie)?(?:\\.resize)?(?:\\.selection)?(?:\\.spline)?(?:\\.symbol)?(?:\\.time)?(?:\\.tooltip)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/(?:jquery\\.)?)?flot(?:\\/curvedLines)?(?:\\/excanvas)?(?:\\/jquery)?(?:\\.categories)?(?:\\.pack)?(?:\\.pie)?(?:\\.resize)?(?:\\.selection)?(?:\\.spline)?(?:\\.symbol)?(?:\\.time)?(?:\\.tooltip)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://flotcharts.org/"
   },
   "Flow": {
@@ -1149,7 +1211,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "(?:shopify-)?cdn\\.flow\\.io/",
+    "scriptSrc": [
+      "(?:shopify-)?cdn\\.flow\\.io/"
+    ],
     "website": "https://www.flow.io/"
   },
   "Flowbite": {
@@ -1162,7 +1226,9 @@
       "Tailwind CSS"
     ],
     "oss": true,
-    "scriptSrc": "/flowbite(?:@([\\d\\.]+)/|\\.bundle\\.js)\\;version:\\1",
+    "scriptSrc": [
+      "/flowbite(?:@([\\d\\.]+)/|\\.bundle\\.js)\\;version:\\1"
+    ],
     "website": "https://github.com/themesberg/flowbite"
   },
   "Flowplayer": {
@@ -1247,7 +1313,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/flying-analytics/",
+    "scriptSrc": [
+      "/wp-content/plugins/flying-analytics/"
+    ],
     "website": "https://wordpress.org/plugins/flying-analytics/"
   },
   "Flying Images": {
@@ -1278,7 +1346,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/flying-pages/.+\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/flying-pages/.+\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/flying-pages/"
   },
   "FlyingPress": {
@@ -1296,7 +1366,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/flying-press/",
+    "scriptSrc": [
+      "/wp-content/plugins/flying-press/"
+    ],
     "website": "https://flying-press.com"
   },
   "Flyspray": {
@@ -1347,7 +1419,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "fomo\\.com/api/v",
+    "scriptSrc": [
+      "fomo\\.com/api/v"
+    ],
     "website": "https://fomo.com"
   },
   "Font Awesome": {
@@ -1422,7 +1496,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "fontify\\.nitroapps\\.co/",
+    "scriptSrc": [
+      "fontify\\.nitroapps\\.co/"
+    ],
     "website": "https://apps.shopify.com/fontify-change-customize-font-for-your-store"
   },
   "FooPlugins FooGallery": {
@@ -1495,7 +1571,9 @@
       "onetime"
     ],
     "saas": true,
-    "scriptSrc": "\\.(?:fbgcdn|foodbooking)\\.com/",
+    "scriptSrc": [
+      "\\.(?:fbgcdn|foodbooking)\\.com/"
+    ],
     "website": "https://www.foodbooking.com"
   },
   "Foodomaa": {
@@ -1525,7 +1603,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "solve-widget\\.forethought\\.ai/",
+    "scriptSrc": [
+      "solve-widget\\.forethought\\.ai/"
+    ],
     "website": "https://forethought.ai/platform/solve/"
   },
   "Fork Awesome": {
@@ -1609,7 +1689,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//formaloo\\.net/",
+    "scriptSrc": [
+      "//formaloo\\.net/"
+    ],
     "website": "https://www.formaloo.com"
   },
   "Formidable Form": {
@@ -1660,7 +1742,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:app|cdn)\\.(?:formli|humanagency)\\.(?:com|org)/",
+    "scriptSrc": [
+      "(?:app|cdn)\\.(?:formli|humanagency)\\.(?:com|org)/"
+    ],
     "website": "https://formli.com"
   },
   "ForoshGostar": {
@@ -1689,7 +1773,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "checkout\\.forte\\.net",
+    "scriptSrc": [
+      "checkout\\.forte\\.net"
+    ],
     "website": "https://www.forte.net"
   },
   "Forter": {
@@ -1708,7 +1794,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "forter\\.com",
+    "scriptSrc": [
+      "forter\\.com"
+    ],
     "website": "https://www.forter.com"
   },
   "Fortinet FortiGate": {
@@ -1733,7 +1821,9 @@
       "(?:<link [^>]*href=\"[^\\/]*\\/\\/www\\.fortune3\\.com\\/[^\"]*siterate\\/rate\\.css|Powered by <a [^>]*href=\"[^\"]+fortune3\\.com)"
     ],
     "icon": "Fortune3.png",
-    "scriptSrc": "cartjs\\.php\\?(?:.*&)?s=[^&]*myfortune3cart\\.com",
+    "scriptSrc": [
+      "cartjs\\.php\\?(?:.*&)?s=[^&]*myfortune3cart\\.com"
+    ],
     "website": "https://fortune3.com"
   },
   "Foswiki": {
@@ -1777,7 +1867,9 @@
       "Four": ""
     },
     "saas": true,
-    "scriptSrc": "scripts\\.paywithfour\\.com",
+    "scriptSrc": [
+      "scripts\\.paywithfour\\.com"
+    ],
     "website": "https://paywithfour.com/"
   },
   "Foursixty": {
@@ -1794,7 +1886,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "foursixty\\.com",
+    "scriptSrc": [
+      "foursixty\\.com"
+    ],
     "website": "https://foursixty.com/"
   },
   "Fourthwall": {
@@ -1814,7 +1908,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.fourthwall\\.com",
+    "scriptSrc": [
+      "\\.fourthwall\\.com"
+    ],
     "website": "https://fourthwall.com/"
   },
   "Foxy.io": {
@@ -1828,7 +1924,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.foxycart\\.com",
+    "scriptSrc": [
+      "cdn\\.foxycart\\.com"
+    ],
     "website": "https://www.foxy.io"
   },
   "Framer Sites": {
@@ -1853,7 +1951,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "framerusercontent\\.com",
+    "scriptSrc": [
+      "framerusercontent\\.com"
+    ],
     "website": "https://framer.com/sites"
   },
   "Frames": {
@@ -1916,7 +2016,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "monitor\\.fraudblocker\\.com/",
+    "scriptSrc": [
+      "monitor\\.fraudblocker\\.com/"
+    ],
     "website": "https://fraudblocker.com"
   },
   "FraudLabs Pro": {
@@ -1934,7 +2036,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.fraudlabspro\\.com/",
+    "scriptSrc": [
+      "\\.fraudlabspro\\.com/"
+    ],
     "website": "https://www.fraudlabspro.com"
   },
   "FreakOut": {
@@ -1953,7 +2057,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.fout\\.jp/",
+    "scriptSrc": [
+      "\\.fout\\.jp/"
+    ],
     "website": "https://www.fout.co.jp"
   },
   "FreeBSD": {
@@ -1991,7 +2097,9 @@
       10
     ],
     "icon": "Freespee.svg",
-    "scriptSrc": "analytics\\.freespee\\.com/js/external/fs\\.(?:min\\.)?js",
+    "scriptSrc": [
+      "analytics\\.freespee\\.com/js/external/fs\\.(?:min\\.)?js"
+    ],
     "website": "https://www.freespee.com"
   },
   "Frequenceo": {
@@ -2021,7 +2129,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "\\.codeblackbelt\\.com/js/modules/frequently-bought-together/",
+    "scriptSrc": [
+      "\\.codeblackbelt\\.com/js/modules/frequently-bought-together/"
+    ],
     "website": "https://www.codeblackbelt.com"
   },
   "Fresco": {
@@ -2072,7 +2182,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "wchat\\.freshchat\\.com/js/widget\\.js",
+    "scriptSrc": [
+      "wchat\\.freshchat\\.com/js/widget\\.js"
+    ],
     "website": "https://www.freshworks.com/live-chat-software/"
   },
   "Freshop": {
@@ -2092,7 +2204,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "asset(?:cdn)?\\.freshop\\.com/",
+    "scriptSrc": [
+      "asset(?:cdn)?\\.freshop\\.com/"
+    ],
     "website": "https://www.freshop.com"
   },
   "Freshteam": {
@@ -2108,7 +2222,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.freshteam\\.com/",
+    "scriptSrc": [
+      "assets\\.freshteam\\.com/"
+    ],
     "website": "https://www.freshworks.com/hrms/"
   },
   "Freshworks CRM": {
@@ -2191,7 +2307,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.frizbit\\.com/",
+    "scriptSrc": [
+      "cdn\\.frizbit\\.com/"
+    ],
     "website": "https://frizbit.com"
   },
   "Froala Editor": {
@@ -2231,7 +2349,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//chat-assets\\.frontapp\\.com/",
+    "scriptSrc": [
+      "//chat-assets\\.frontapp\\.com/"
+    ],
     "website": "https://front.com"
   },
   "Front-Commerce": {
@@ -2320,7 +2440,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "frosmo\\.easy\\.js",
+    "scriptSrc": [
+      "frosmo\\.easy\\.js"
+    ],
     "website": "https://frosmo.com"
   },
   "FullCalendar": {
@@ -2341,7 +2463,9 @@
       "mid",
       "poa"
     ],
-    "scriptSrc": "/fullcalendar\\.min\\.js",
+    "scriptSrc": [
+      "/fullcalendar\\.min\\.js"
+    ],
     "website": "https://fullcalendar.io"
   },
   "FullContact": {
@@ -2358,7 +2482,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "tags\\.fullcontact\\.com/",
+    "scriptSrc": [
+      "tags\\.fullcontact\\.com/"
+    ],
     "website": "https://www.fullcontact.com"
   },
   "FullStory": {
@@ -2376,7 +2502,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.fullstory\\.com/",
+    "scriptSrc": [
+      "\\.fullstory\\.com/"
+    ],
     "website": "https://www.fullstory.com"
   },
   "FunCaptcha": {
@@ -2414,7 +2542,9 @@
     "js": {
       "__googlefc": ""
     },
-    "scriptSrc": "fundingchoicesmessages\\.google\\.com",
+    "scriptSrc": [
+      "fundingchoicesmessages\\.google\\.com"
+    ],
     "website": "https://developers.google.com/funding-choices"
   },
   "Fundraise Up": {
@@ -2430,7 +2560,9 @@
       "payg",
       "recurring"
     ],
-    "scriptSrc": "\\.fundraiseup\\.com/",
+    "scriptSrc": [
+      "\\.fundraiseup\\.com/"
+    ],
     "website": "https://fundraiseup.com"
   },
   "FunnelCockpit": {
@@ -2445,7 +2577,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.funnelcockpit\\.com/",
+    "scriptSrc": [
+      "\\.funnelcockpit\\.com/"
+    ],
     "website": "https://funnelcockpit.com"
   },
   "Funnelish": {
@@ -2491,7 +2625,9 @@
     "pricing": [
       "poa"
     ],
-    "scriptSrc": "\\.furnituredealer\\.net/",
+    "scriptSrc": [
+      "\\.furnituredealer\\.net/"
+    ],
     "website": "https://www.furnituredealer.net"
   },
   "Fusion Ads": {
@@ -2502,7 +2638,9 @@
     "js": {
       "_fusion": ""
     },
-    "scriptSrc": "^[^\\/]*//[ac]dn\\.fusionads\\.net/(?:api/([\\d.]+)/)?\\;version:\\1",
+    "scriptSrc": [
+      "^[^\\/]*//[ac]dn\\.fusionads\\.net/(?:api/([\\d.]+)/)?\\;version:\\1"
+    ],
     "website": "https://fusionads.net"
   },
   "FusionCharts": {
@@ -2528,7 +2666,9 @@
       6
     ],
     "icon": "futureshop.png",
-    "scriptSrc": "future-shop.*\\.js",
+    "scriptSrc": [
+      "future-shop.*\\.js"
+    ],
     "website": "https://www.future-shop.jp"
   },
   "Futurio": {
@@ -2547,7 +2687,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/futurio/.+customscript\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/futurio/.+customscript\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://futuriowp.com"
   },
   "Fynd Platform": {
@@ -2579,7 +2721,9 @@
     "dom": "link[href*='framework7'], .framework7-root, .framework7-modals",
     "icon": "framework7.png",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/(?:js\\/)?)?framework7(?:-((?:\\d+\\.)+\\d+))?(?:\\.custom)?(?:\\.min)?(?:-vue)?_?[\\w\\.]{0,29}\\.js\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/(?:js\\/)?)?framework7(?:-((?:\\d+\\.)+\\d+))?(?:\\.custom)?(?:\\.min)?(?:-vue)?_?[\\w\\.]{0,29}\\.js\\;version:\\1\\2"
+    ],
     "website": "https://framework7.io/"
   },
   "fullPage.js": {
@@ -2595,7 +2739,9 @@
       "fullpage_api.version": "([\\d\\.]+)\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "/fullPage\\.js(?:/([\\d\\.]+)/)?\\;version:\\1",
+    "scriptSrc": [
+      "/fullPage\\.js(?:/([\\d\\.]+)/)?\\;version:\\1"
+    ],
     "website": "https://github.com/alvarotrigo/fullpage.js"
   }
 }
\ No newline at end of file
diff --git a/src/technologies/g.json b/src/technologies/g.json
index 5448c33b..9ae6b233 100644
--- a/src/technologies/g.json
+++ b/src/technologies/g.json
@@ -55,7 +55,9 @@
       "mid",
       "recurring"
     ],
-    "scriptSrc": "//.*glpi.+common\\.min\\.js\\?v=(\\d+\\.\\d+\\.\\d+)\\;version:\\1",
+    "scriptSrc": [
+      "//.*glpi.+common\\.min\\.js\\?v=(\\d+\\.\\d+\\.\\d+)\\;version:\\1"
+    ],
     "website": "https://glpi-project.org"
   },
   "GLS": {
@@ -150,7 +152,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/gpt3-ai-content-generator/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/gpt3-ai-content-generator/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://gptaipower.com"
   },
   "GSAP": {
@@ -165,7 +169,9 @@
       "gsap.version": "([\\d.]+)\\;version:\\1",
       "gsapVersions": ""
     },
-    "scriptSrc": "TweenMax(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "TweenMax(?:\\.min)?\\.js"
+    ],
     "website": "https://greensock.com/gsap"
   },
   "GTranslate": {
@@ -202,7 +208,9 @@
     "requires": [
       "Shopify"
     ],
-    "scriptSrc": "gtranslate\\.io/shopify/",
+    "scriptSrc": [
+      "gtranslate\\.io/shopify/"
+    ],
     "website": "https://apps.shopify.com/multilingual-shop-by-gtranslate"
   },
   "GX WebManager": {
@@ -249,7 +257,9 @@
     "js": {
       "gambio": ""
     },
-    "scriptSrc": "gm_javascript\\.js\\.php",
+    "scriptSrc": [
+      "gm_javascript\\.js\\.php"
+    ],
     "website": "https://gambio.de"
   },
   "Gameball": {
@@ -270,7 +280,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.gameball\\.co/",
+    "scriptSrc": [
+      "assets\\.gameball\\.co/"
+    ],
     "website": "https://www.gameball.co"
   },
   "Gatsby": {
@@ -331,7 +343,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.geetest\\.com/",
+    "scriptSrc": [
+      "\\.geetest\\.com/"
+    ],
     "website": "https://www.geetest.com"
   },
   "GemPages": {
@@ -353,7 +367,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/files/gempagev\\d+\\.js",
+    "scriptSrc": [
+      "/files/gempagev\\d+\\.js"
+    ],
     "website": "https://gempages.net"
   },
   "Gemius": {
@@ -445,7 +461,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "themes\\/generatepress(?:(?:%20)?_?child)?(?:\\/assets)?(?:\\/inc)?(?:\\/js)?(?:\\/accordion){0,2}(?:\\/lity)?(?:\\/menu)?(?:\\/owl)?(?:\\/slick){0,2}(?:\\/vs(?:loadmore)?(?:postviews)?)?(?:\\/back-to-top)?(?:\\/keen-slider)?(?:\\/tab-img)?(?:-init)?(?:\\.carousel)?(?:\\/jquery)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "themes\\/generatepress(?:(?:%20)?_?child)?(?:\\/assets)?(?:\\/inc)?(?:\\/js)?(?:\\/accordion){0,2}(?:\\/lity)?(?:\\/menu)?(?:\\/owl)?(?:\\/slick){0,2}(?:\\/vs(?:loadmore)?(?:postviews)?)?(?:\\/back-to-top)?(?:\\/keen-slider)?(?:\\/tab-img)?(?:-init)?(?:\\.carousel)?(?:\\/jquery)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://generatepress.com"
   },
   "GeneratePress GP Premium": {
@@ -465,7 +483,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "wp-content\\/plugins\\/gp-premium(?:\\/menu-plus)?(?:\\/sections)?\\/functions\\/js(?:\\/offside)?(?:\\/parallax)?(?:\\/sticky)?(?:\\.min)?(?:-((?:\\d+\\.)+\\d+))?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "wp-content\\/plugins\\/gp-premium(?:\\/menu-plus)?(?:\\/sections)?\\/functions\\/js(?:\\/offside)?(?:\\/parallax)?(?:\\/sticky)?(?:\\.min)?(?:-((?:\\d+\\.)+\\d+))?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://docs.generatepress.com/article/installing-gp-premium/"
   },
   "Genesis theme": {
@@ -481,7 +501,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/genesis/lib/js/",
+    "scriptSrc": [
+      "/wp-content/themes/genesis/lib/js/"
+    ],
     "website": "https://www.studiopress.com/themes/genesis"
   },
   "Genesys Cloud": {
@@ -517,7 +539,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.gsspcln\\.jp/",
+    "scriptSrc": [
+      "\\.gsspcln\\.jp/"
+    ],
     "website": "https://geniee.co.jp"
   },
   "Gentoo": {
@@ -542,7 +566,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "geotargetly\\.co/",
+    "scriptSrc": [
+      "geotargetly\\.co/"
+    ],
     "website": "https://geotargetly.com"
   },
   "Gerrit": {
@@ -565,7 +591,9 @@
     "meta": {
       "title": "^Gerrit Code Review$"
     },
-    "scriptSrc": "^gerrit_ui/gerrit_ui",
+    "scriptSrc": [
+      "^gerrit_ui/gerrit_ui"
+    ],
     "website": "https://www.gerritcodereview.com"
   },
   "Get Satisfaction": {
@@ -591,7 +619,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.getbutton\\.io/",
+    "scriptSrc": [
+      "\\.getbutton\\.io/"
+    ],
     "website": "https://getbutton.io"
   },
   "GetFeedback": {
@@ -641,7 +671,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.getresponse\\.com/",
+    "scriptSrc": [
+      "\\.getresponse\\.com/"
+    ],
     "website": "https://www.getresponse.com"
   },
   "GetSimple CMS": {
@@ -673,7 +705,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "api\\.at\\.getsocial\\.io",
+    "scriptSrc": [
+      "api\\.at\\.getsocial\\.io"
+    ],
     "website": "https://getsocial.io"
   },
   "GetYourGuide": {
@@ -699,7 +733,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.getyourguide\\.com/",
+    "scriptSrc": [
+      "\\.getyourguide\\.com/"
+    ],
     "website": "https://partner.getyourguide.com"
   },
   "Getintent": {
@@ -727,7 +763,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.getsitecontrol\\.com/",
+    "scriptSrc": [
+      "\\.getsitecontrol\\.com/"
+    ],
     "website": "https://getsitecontrol.com"
   },
   "Ghost": {
@@ -793,7 +831,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "assets/js/giftship\\.([\\d\\.]+)\\.js\\;version:\\1",
+    "scriptSrc": [
+      "assets/js/giftship\\.([\\d\\.]+)\\.js\\;version:\\1"
+    ],
     "website": "https://gist-apps.com/giftship"
   },
   "GitBook": {
@@ -936,7 +976,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.givesmart\\.com/",
+    "scriptSrc": [
+      "\\.givesmart\\.com/"
+    ],
     "website": "https://www.givesmart.com"
   },
   "GiveWP": {
@@ -957,7 +999,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/give/.+give\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/give/.+give\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://givewp.com"
   },
   "GivingFuel": {
@@ -972,7 +1016,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "\\.givingfuel\\.com/",
+    "scriptSrc": [
+      "\\.givingfuel\\.com/"
+    ],
     "website": "https://www.givingfuel.com"
   },
   "Gladly": {
@@ -986,7 +1032,9 @@
       "Gladly": ""
     },
     "saas": true,
-    "scriptSrc": "cdn\\.gladly\\.com",
+    "scriptSrc": [
+      "cdn\\.gladly\\.com"
+    ],
     "website": "https://www.gladly.com"
   },
   "GlassFish": {
@@ -1017,7 +1065,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.glassboxcdn\\.com/",
+    "scriptSrc": [
+      "cdn\\.glassboxcdn\\.com/"
+    ],
     "website": "https://www.glassbox.com"
   },
   "Glassix": {
@@ -1045,7 +1095,9 @@
       "Glide": ""
     },
     "oss": true,
-    "scriptSrc": "/@glidejs/glide(?:@([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/@glidejs/glide(?:@([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://glidejs.com"
   },
   "Glider.js": {
@@ -1055,7 +1107,9 @@
     "description": "Glider.js is a fast, lightweight, responsive, dependency-free scrollable list with customisable paging controls.",
     "icon": "Glider.js.svg",
     "oss": true,
-    "scriptSrc": "(?:/|@)?([\\d\\.]{2,})?/glider\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:/|@)?([\\d\\.]{2,})?/glider\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://nickpiscitelli.github.io/Glider.js"
   },
   "Glitch": {
@@ -1091,7 +1145,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.global-e\\.com",
+    "scriptSrc": [
+      "\\.global-e\\.com"
+    ],
     "website": "https://www.global-e.com"
   },
   "GlobalShopex": {
@@ -1108,7 +1164,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "//globalshopex\\.com/",
+    "scriptSrc": [
+      "//globalshopex\\.com/"
+    ],
     "website": "https://www.globalshopex.com"
   },
   "Globo Also Bought": {
@@ -1126,7 +1184,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "assets/globo\\.alsobought\\.js",
+    "scriptSrc": [
+      "assets/globo\\.alsobought\\.js"
+    ],
     "website": "https://apps.shopify.com/globo-related-products"
   },
   "Globo Color Swatch": {
@@ -1142,7 +1202,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "assets/globo\\.swatch\\.data\\.js",
+    "scriptSrc": [
+      "assets/globo\\.swatch\\.data\\.js"
+    ],
     "website": "https://apps.shopify.com/globo-related-products"
   },
   "Globo Form Builder": {
@@ -1161,7 +1223,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/assets/globo\\.formbuilder\\.init\\.js",
+    "scriptSrc": [
+      "/assets/globo\\.formbuilder\\.init\\.js"
+    ],
     "website": "https://apps.shopify.com/form-builder-contact-form"
   },
   "Globo Pre-Order": {
@@ -1197,7 +1261,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.glopal\\.com/",
+    "scriptSrc": [
+      "\\.glopal\\.com/"
+    ],
     "website": "https://www.glopal.com"
   },
   "GloriaFood": {
@@ -1282,7 +1348,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "//gis\\.goinstore\\.com/",
+    "scriptSrc": [
+      "//gis\\.goinstore\\.com/"
+    ],
     "website": "https://goinstore.com"
   },
   "GoAffPro": {
@@ -1299,7 +1367,9 @@
       "mid",
       "recurring"
     ],
-    "scriptSrc": "api\\.goaffpro\\.com/loader\\.js",
+    "scriptSrc": [
+      "api\\.goaffpro\\.com/loader\\.js"
+    ],
     "website": "https://goaffpro.com/"
   },
   "GoAhead": {
@@ -1354,7 +1424,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.gocertify\\.me/",
+    "scriptSrc": [
+      "assets\\.gocertify\\.me/"
+    ],
     "website": "https://www.gocertify.me"
   },
   "GoDaddy": {
@@ -1385,7 +1457,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/coblocks/",
+    "scriptSrc": [
+      "/wp-content/plugins/coblocks/"
+    ],
     "website": "https://github.com/godaddy-wordpress/coblocks"
   },
   "GoDaddy Domain Parking": {
@@ -1426,7 +1500,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/go/.+frontend\\.min\\.js(?:.+ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/go/.+frontend\\.min\\.js(?:.+ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://github.com/godaddy-wordpress/go"
   },
   "GoDaddy Lyrical": {
@@ -1465,7 +1541,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/primer/.+navigation\\.min\\.js(?:.+ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/primer/.+navigation\\.min\\.js(?:.+ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://github.com/godaddy-wordpress/primer"
   },
   "GoDaddy Uptown Style": {
@@ -1567,7 +1645,9 @@
     "description": "GoatCounter is an open source web analytics platform available as a hosted service (free for non-commercial use) or self-hosted app. It aims to offer easy to use and meaningful privacy-friendly web analytics as an alternative to Google Analytics or Matomo.",
     "icon": "goatcounter.svg",
     "oss": true,
-    "scriptSrc": "gc\\.zgo\\.at/count\\.js",
+    "scriptSrc": [
+      "gc\\.zgo\\.at/count\\.js"
+    ],
     "website": "https://www.goatcounter.com/"
   },
   "Goftino": {
@@ -1588,7 +1668,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.goftino\\.com/",
+    "scriptSrc": [
+      "\\.goftino\\.com/"
+    ],
     "website": "https://www.goftino.com"
   },
   "Gogs": {
@@ -1613,7 +1695,9 @@
       "keywords": "go, git, self-hosted, gogs"
     },
     "oss": true,
-    "scriptSrc": "js/gogs\\.js",
+    "scriptSrc": [
+      "js/gogs\\.js"
+    ],
     "website": "https://gogs.io"
   },
   "Gomag": {
@@ -1688,7 +1772,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "\\.googleadservices\\.com/pagead/conversion_async\\.js",
+    "scriptSrc": [
+      "\\.googleadservices\\.com/pagead/conversion_async\\.js"
+    ],
     "scripts": "gtag\\([^)]+'(AW-)",
     "website": "https://support.google.com/google-ads/answer/1722022"
   },
@@ -1732,7 +1818,9 @@
     "js": {
       "gaplugins.EC": ""
     },
-    "scriptSrc": "google-analytics\\.com\\/plugins\\/ua\\/(?:ec|ecommerce)\\.js",
+    "scriptSrc": [
+      "google-analytics\\.com\\/plugins\\/ua\\/(?:ec|ecommerce)\\.js"
+    ],
     "website": "https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce"
   },
   "Google App Engine": {
@@ -1756,7 +1844,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "gstatic\\.com/call-tracking/.+\\.js",
+    "scriptSrc": [
+      "gstatic\\.com/call-tracking/.+\\.js"
+    ],
     "website": "https://support.google.com/google-ads/answer/6100664"
   },
   "Google Charts": {
@@ -1865,7 +1955,9 @@
     "js": {
       "WebFonts": ""
     },
-    "scriptSrc": "googleapis\\.com/.+webfont",
+    "scriptSrc": [
+      "googleapis\\.com/.+webfont"
+    ],
     "website": "https://google.com/fonts"
   },
   "Google Forms": {
@@ -1884,7 +1976,9 @@
     "description": "Google Hosted Libraries is a stable, reliable, high-speed, globally available content distribution network for the most popular, open-source JavaScript libraries.",
     "dom": "link[href*='ajax.googleapis.com/ajax/libs']",
     "icon": "Google Developers.svg",
-    "scriptSrc": "ajax\\.googleapis\\.com/ajax/libs/",
+    "scriptSrc": [
+      "ajax\\.googleapis\\.com/ajax/libs/"
+    ],
     "website": "https://developers.google.com/speed/libraries"
   },
   "Google Maps": {
@@ -1921,7 +2015,9 @@
     "js": {
       "google_optimize": ""
     },
-    "scriptSrc": "googleoptimize\\.com/optimize\\.js",
+    "scriptSrc": [
+      "googleoptimize\\.com/optimize\\.js"
+    ],
     "website": "https://optimize.google.com"
   },
   "Google PageSpeed": {
@@ -1974,7 +2070,9 @@
       "google-signin-client_id": "",
       "google-signin-scope": ""
     },
-    "scriptSrc": "accounts\\.google\\.com/gsi/client",
+    "scriptSrc": [
+      "accounts\\.google\\.com/gsi/client"
+    ],
     "website": "https://developers.google.com/identity/sign-in/web"
   },
   "Google Sites": {
@@ -2000,7 +2098,9 @@
       "googletag": ""
     },
     "saas": true,
-    "scriptSrc": "googletagmanager\\.com/gtm\\.js",
+    "scriptSrc": [
+      "googletagmanager\\.com/gtm\\.js"
+    ],
     "website": "https://www.google.com/tagmanager"
   },
   "Google Tag Manager for WordPress": {
@@ -2017,7 +2117,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/duracelltomi-google-tag-manager/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/duracelltomi-google-tag-manager/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://gtm4wp.com"
   },
   "Google Wallet": {
@@ -2133,7 +2235,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.shopify\\.com/extensions/.+/([\\d\\.]+)/assets/govalo\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.shopify\\.com/extensions/.+/([\\d\\.]+)/assets/govalo\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://govalo.com"
   },
   "Grab Pay Later": {
@@ -2148,7 +2252,9 @@
       "grab_widget_money_format": ""
     },
     "saas": true,
-    "scriptSrc": "grab-paylater\\.js",
+    "scriptSrc": [
+      "grab-paylater\\.js"
+    ],
     "website": "https://www.grab.com/sg/finance/pay-later/"
   },
   "Grafana": {
@@ -2166,7 +2272,9 @@
       "__grafana_public_path__": ""
     },
     "oss": true,
-    "scriptSrc": "grafana\\..+\\.com/public/build/",
+    "scriptSrc": [
+      "grafana\\..+\\.com/public/build/"
+    ],
     "scripts": ".+latestVersion\":\"[\\d\\.\\w\\-]+\"\\,\"version\":\"([\\d\\.]+)\\;version:\\1\\;confidence:75",
     "website": "https://grafana.com"
   },
@@ -2184,7 +2292,9 @@
     "meta": {
       "generator": "Graffiti CMS ([^\"]+)\\;version:\\1"
     },
-    "scriptSrc": "/graffiti\\.js",
+    "scriptSrc": [
+      "/graffiti\\.js"
+    ],
     "website": "https://graffiticms.codeplex.com"
   },
   "GrandNode": {
@@ -2291,7 +2401,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/graphene(?:-plus)?/.+graphene\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/graphene(?:-plus)?/.+graphene\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.graphene-theme.com/graphene-theme"
   },
   "Grasp": {
@@ -2355,7 +2467,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:cdn|id)\\.gravitec\\.(?:media|net)",
+    "scriptSrc": [
+      "(?:cdn|id)\\.gravitec\\.(?:media|net)"
+    ],
     "website": "https://gravitec.net"
   },
   "Gravity Forms": {
@@ -2373,7 +2487,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/gravityforms/js/[^/]+\\.js\\?ver=([\\d.]+)$\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/gravityforms/js/[^/]+\\.js\\?ver=([\\d.]+)$\\;version:\\1"
+    ],
     "website": "https://gravityforms.com"
   },
   "GreatPages": {
@@ -2387,7 +2503,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.greatpages\\.com\\.br/",
+    "scriptSrc": [
+      "\\.greatpages\\.com\\.br/"
+    ],
     "website": "https://www.greatpages.com.br"
   },
   "Green Valley CMS": {
@@ -2420,7 +2538,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.greenhouse\\.io/",
+    "scriptSrc": [
+      "\\.greenhouse\\.io/"
+    ],
     "website": "https://www.greenhouse.io"
   },
   "Griddo": {
@@ -2467,7 +2587,9 @@
       "Grin": ""
     },
     "saas": true,
-    "scriptSrc": "grin-sdk\\.js",
+    "scriptSrc": [
+      "grin-sdk\\.js"
+    ],
     "website": "https://grin.co/"
   },
   "GrocerKey": {
@@ -2493,7 +2615,9 @@
     "description": "GroupBy is a search enging for eCommerce sites.",
     "icon": "Groupby.svg",
     "saas": true,
-    "scriptSrc": "cdn\\.groupbycloud\\.com",
+    "scriptSrc": [
+      "cdn\\.groupbycloud\\.com"
+    ],
     "website": "https://groupbyinc.com/"
   },
   "Growave": {
@@ -2511,7 +2635,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "\\.socialshopwave\\.com/",
+    "scriptSrc": [
+      "\\.socialshopwave\\.com/"
+    ],
     "website": "https://growave.io"
   },
   "GrowingIO": {
@@ -2523,7 +2649,9 @@
       "grwng_uid": ""
     },
     "icon": "GrowingIO.png",
-    "scriptSrc": "assets\\.growingio\\.com/([\\d.]+)/gio\\.js\\;version:\\1",
+    "scriptSrc": [
+      "assets\\.growingio\\.com/([\\d.]+)/gio\\.js\\;version:\\1"
+    ],
     "website": "https://www.growingio.com/"
   },
   "Guestonline": {
@@ -2538,7 +2666,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "ib\\.guestonline\\.\\w+",
+    "scriptSrc": [
+      "ib\\.guestonline\\.\\w+"
+    ],
     "website": "https://www.guestonline.io"
   },
   "GuideIT": {
@@ -2581,7 +2711,9 @@
       "gumlet": ""
     },
     "saas": true,
-    "scriptSrc": "cdn\\.gumlet\\.com",
+    "scriptSrc": [
+      "cdn\\.gumlet\\.com"
+    ],
     "website": "https://www.gumlet.com/"
   },
   "Gumroad": {
@@ -2625,7 +2757,9 @@
       "Gumstack": ""
     },
     "saas": true,
-    "scriptSrc": "w\\.gumstack\\.com",
+    "scriptSrc": [
+      "w\\.gumstack\\.com"
+    ],
     "website": "https://gumstack.com/"
   },
   "Gutenberg": {
@@ -2646,7 +2780,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/gutenberg/",
+    "scriptSrc": [
+      "/wp-content/plugins/gutenberg/"
+    ],
     "website": "https://github.com/WordPress/gutenberg"
   },
   "genezio": {
@@ -2705,7 +2841,9 @@
     "meta": {
       "generator": "gitweb(?:/([\\d.]+\\d))?\\;version:\\1"
     },
-    "scriptSrc": "static/gitweb\\.js$",
+    "scriptSrc": [
+      "static/gitweb\\.js$"
+    ],
     "website": "https://git-scm.com"
   },
   "govCMS": {
diff --git a/src/technologies/h.json b/src/technologies/h.json
index 24f84a71..9e9e1af1 100644
--- a/src/technologies/h.json
+++ b/src/technologies/h.json
@@ -133,7 +133,9 @@
     ],
     "description": "HTML5 Media enables video and audio tags in all major browsers.",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?html5media(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?html5media(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://html5media.info/"
   },
   "HTTP/2": {
@@ -178,7 +180,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "ht-mega-for-elementor(?:\\/admin)?\\/assets\\/js(?:\\/admin)?(?:\\/(?:htb)?bootstrap)?(?:\\/jquery)?(?:\\/popper)?(?:\\/slick)?(?:\\/waypoints)?(?:\\.counterup)?(?:\\/htmega-widgets-active)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "ht-mega-for-elementor(?:\\/admin)?\\/assets\\/js(?:\\/admin)?(?:\\/(?:htb)?bootstrap)?(?:\\/jquery)?(?:\\/popper)?(?:\\/slick)?(?:\\/waypoints)?(?:\\.counterup)?(?:\\/htmega-widgets-active)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/ht-mega-for-elementor/"
   },
   "Haddock": {
@@ -189,7 +193,9 @@
     "html": [
       "<p>Produced by <a href=\"http://www\\.haskell\\.org/haddock/\">Haddock</a> version ([0-9.]+)</p>\\;version:\\1"
     ],
-    "scriptSrc": "haddock-util\\.js",
+    "scriptSrc": [
+      "haddock-util\\.js"
+    ],
     "website": "https://www.haskell.org/haddock/"
   },
   "Halo": {
@@ -231,7 +237,9 @@
       "Hammer": "",
       "Hammer.VERSION": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "hammer(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "hammer(?:\\.min)?\\.js"
+    ],
     "website": "https://hammerjs.github.io"
   },
   "Handlebars": {
@@ -247,7 +255,9 @@
       "Handlebars.VERSION": "^(.+)$\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "handlebars(?:\\.runtime)?(?:-v([\\d.]+?))?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "handlebars(?:\\.runtime)?(?:-v([\\d.]+?))?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://handlebarsjs.com"
   },
   "Handsontable": {
@@ -257,7 +267,9 @@
     "description": "A front-end component that combines data grid features with spreadsheet UX/UI. Professional support included.",
     "icon": "Handsontable.png",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?(?:jquery\\.)?handsontable(?:\\.full)?(?:\\.min)?(?:\\.[\\w]+)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?(?:jquery\\.)?handsontable(?:\\.full)?(?:\\.min)?(?:\\.[\\w]+)?\\.js\\;version:\\1"
+    ],
     "website": "https://handsontable.com/"
   },
   "Handtalk": {
@@ -269,7 +281,9 @@
     "js": {
       "HandTalk": ""
     },
-    "scriptSrc": "api\\.handtalk\\.me",
+    "scriptSrc": [
+      "api\\.handtalk\\.me"
+    ],
     "website": "https://www.handtalk.me/"
   },
   "Hansel": {
@@ -287,7 +301,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.hansel\\.io/web/([\\d\\.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "\\.hansel\\.io/web/([\\d\\.]+)/\\;version:\\1"
+    ],
     "website": "https://hansel.io"
   },
   "Happy Returns": {
@@ -314,7 +330,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.happyfox\\.com/media/",
+    "scriptSrc": [
+      "\\.happyfox\\.com/media/"
+    ],
     "website": "https://www.happyfox.com/customer-service-software/"
   },
   "HappyFox Live Chat": {
@@ -331,7 +349,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "\\.happyfoxchat\\.com/",
+    "scriptSrc": [
+      "\\.happyfoxchat\\.com/"
+    ],
     "website": "https://www.happyfox.com/live-chat"
   },
   "Haptik": {
@@ -350,7 +370,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.haptikapi\\.com/",
+    "scriptSrc": [
+      "\\.haptikapi\\.com/"
+    ],
     "website": "https://www.haptik.ai"
   },
   "Haravan": {
@@ -362,7 +384,9 @@
     "js": {
       "Haravan": ""
     },
-    "scriptSrc": "haravan.*\\.js",
+    "scriptSrc": [
+      "haravan.*\\.js"
+    ],
     "website": "https://www.haravan.com"
   },
   "Harbor": {
@@ -392,7 +416,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/(?:t|T)otal(?:-plus)?/",
+    "scriptSrc": [
+      "/wp-content/themes/(?:t|T)otal(?:-plus)?/"
+    ],
     "website": "https://hashthemes.com/wordpress-theme/total"
   },
   "Hashnode": {
@@ -402,7 +428,9 @@
     "description": "Hashnode is a free developer blogging platform that allows you to publish articles on your own domain and helps you stay connected with a global developer community.",
     "dom": "div.css-zigog8",
     "icon": "hashnode.png",
-    "scriptSrc": "hashnode\\.com",
+    "scriptSrc": [
+      "hashnode\\.com"
+    ],
     "url": "^https?://[^/]+\\.(?:hashnode)\\.dev",
     "website": "https://hashnode.com/"
   },
@@ -442,7 +470,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "cdn\\.blog\\.st-hatena\\.com/",
+    "scriptSrc": [
+      "cdn\\.blog\\.st-hatena\\.com/"
+    ],
     "website": "https://hatenablog.com"
   },
   "HeadJS": {
@@ -456,7 +486,9 @@
     "js": {
       "head.browser.name": ""
     },
-    "scriptSrc": "head\\.(?:core|load)(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "head\\.(?:core|load)(?:\\.min)?\\.js"
+    ],
     "website": "https://headjs.com"
   },
   "Header Bidding Ai": {
@@ -470,7 +502,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.headerbidding\\.ai/",
+    "scriptSrc": [
+      "\\.headerbidding\\.ai/"
+    ],
     "website": "https://headerbidding.ai"
   },
   "Headless UI": {
@@ -501,7 +535,9 @@
     ],
     "description": "Headroom.js is a JS widget that allows you to react to the user's scroll. The header slides out of view when scrolling down and slides back in when scrolling up.",
     "oss": true,
-    "scriptSrc": "headroom(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "headroom(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wicky.nillia.ms/headroom.js/"
   },
   "Heap": {
@@ -536,7 +572,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.heartlandportico\\.com",
+    "scriptSrc": [
+      "\\.heartlandportico\\.com"
+    ],
     "website": "https://www.heartlandpaymentsystems.com"
   },
   "Helhost": {
@@ -635,7 +673,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.?hellobar\\.(?:com|js)",
+    "scriptSrc": [
+      "\\.?hellobar\\.(?:com|js)"
+    ],
     "website": "https://hellobar.com"
   },
   "Hello Elementor": {
@@ -687,7 +727,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.helpscout\\.net/",
+    "scriptSrc": [
+      "\\.helpscout\\.net/"
+    ],
     "website": "https://www.helpscout.com"
   },
   "HelpDocs": {
@@ -706,7 +748,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.helpdocs\\.io",
+    "scriptSrc": [
+      "cdn\\.helpdocs\\.io"
+    ],
     "website": "https://www.helpdocs.io"
   },
   "Here": {
@@ -752,7 +796,9 @@
     "js": {
       "HeroWebPluginSettings": ""
     },
-    "scriptSrc": "cdn\\.usehero\\.com",
+    "scriptSrc": [
+      "cdn\\.usehero\\.com"
+    ],
     "website": "https://www.usehero.com/"
   },
   "Heroku": {
@@ -791,7 +837,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "themes/hestia.*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "themes/hestia.*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1"
+    ],
     "website": "https://themeisle.com/themes/hestia/"
   },
   "HetrixTools": {
@@ -812,7 +860,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.hetrixtools\\.com/",
+    "scriptSrc": [
+      "\\.hetrixtools\\.com/"
+    ],
     "website": "https://hetrixtools.com"
   },
   "Hetzner": {
@@ -869,7 +919,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.hextom\\.com/js/freeshippingbar\\.js",
+    "scriptSrc": [
+      "\\.hextom\\.com/js/freeshippingbar\\.js"
+    ],
     "website": "https://hextom.com/case_study/free-shipping-bar"
   },
   "Hextom Ultimate Sales Boost": {
@@ -891,7 +943,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.hextom\\.com/js/ultimatesalesboost\\.js",
+    "scriptSrc": [
+      "\\.hextom\\.com/js/ultimatesalesboost\\.js"
+    ],
     "website": "https://hextom.com/case_study/ultimate-sales-boost"
   },
   "Hi Platform": {
@@ -907,7 +961,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.hiplatform\\.com/",
+    "scriptSrc": [
+      "\\.hiplatform\\.com/"
+    ],
     "website": "https://www.hiplatform.com"
   },
   "Hiawatha": {
@@ -935,7 +991,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.leadconnectorhq\\.com/",
+    "scriptSrc": [
+      "\\.leadconnectorhq\\.com/"
+    ],
     "website": "https://www.gohighlevel.com"
   },
   "HighStore": {
@@ -969,7 +1027,9 @@
       "Highcharts": "",
       "Highcharts.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "highcharts.*\\.js",
+    "scriptSrc": [
+      "highcharts.*\\.js"
+    ],
     "website": "https://www.highcharts.com"
   },
   "Highlight.js": {
@@ -981,7 +1041,9 @@
       "hljs.highlightBlock": "",
       "hljs.listLanguages": ""
     },
-    "scriptSrc": "/(?:([\\d.])+/)?highlight(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "/(?:([\\d.])+/)?highlight(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://highlightjs.org/"
   },
   "Highstock": {
@@ -992,7 +1054,9 @@
       "<svg[^>]*><desc>Created with Highstock ([\\d.]*)\\;version:\\1"
     ],
     "icon": "Highcharts.svg",
-    "scriptSrc": "highstock[.-]?([\\d\\.]*\\d).*\\.js\\;version:\\1",
+    "scriptSrc": [
+      "highstock[.-]?([\\d\\.]*\\d).*\\.js\\;version:\\1"
+    ],
     "website": "https://highcharts.com/products/highstock"
   },
   "HikeOrders": {
@@ -1001,7 +1065,9 @@
     ],
     "description": "HikeOrders is a web accessibility overlay that claims to make your site disability friendly.",
     "icon": "HikeOrders.png",
-    "scriptSrc": "hikeorders\\.com/main/assets/js/hko-accessibility\\.min\\.js",
+    "scriptSrc": [
+      "hikeorders\\.com/main/assets/js/hko-accessibility\\.min\\.js"
+    ],
     "website": "https://hikeorders.com/"
   },
   "Hinza Advanced CMS": {
@@ -1291,7 +1357,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "userapp\\.zyrosite\\.com/",
+    "scriptSrc": [
+      "userapp\\.zyrosite\\.com/"
+    ],
     "website": "https://www.hostinger.com"
   },
   "Hostiq": {
@@ -1321,7 +1389,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "tables\\.hostmeapp\\.com",
+    "scriptSrc": [
+      "tables\\.hostmeapp\\.com"
+    ],
     "website": "https://www.hostmeapp.com"
   },
   "Hostpoint": {
@@ -1372,7 +1442,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//static\\.hotjar\\.com/",
+    "scriptSrc": [
+      "//static\\.hotjar\\.com/"
+    ],
     "website": "https://www.hotjar.com"
   },
   "Hotjar Incoming Feedback": {
@@ -1382,7 +1454,9 @@
     "description": "Hotjar Incoming Feedback is a widget that sits at the edge of a page.",
     "dom": "a[href*='hotjar.com/incoming-feedback'][target='_blank']",
     "icon": "Hotjar.svg",
-    "scriptSrc": "\\.hotjar\\.com/preact-incoming-feedback",
+    "scriptSrc": [
+      "\\.hotjar\\.com/preact-incoming-feedback"
+    ],
     "website": "https://www.hotjar.com"
   },
   "Howler.js": {
@@ -1413,7 +1487,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.hrflow\\.ai",
+    "scriptSrc": [
+      "\\.hrflow\\.ai"
+    ],
     "website": "https://hrflow.ai"
   },
   "Htmx": {
@@ -1427,7 +1503,9 @@
       "htmx": ""
     },
     "oss": true,
-    "scriptSrc": "/htmx\\.org@([\\d\\.]+)\\;version:\\1",
+    "scriptSrc": [
+      "/htmx\\.org@([\\d\\.]+)\\;version:\\1"
+    ],
     "website": "https://htmx.org"
   },
   "HubSpot": {
@@ -1463,7 +1541,9 @@
     ],
     "description": "HubSpot is a marketing and sales software that helps companies attract visitors, convert leads, and close customers.",
     "icon": "HubSpot.svg",
-    "scriptSrc": "js\\.hs-analytics\\.net/analytics",
+    "scriptSrc": [
+      "js\\.hs-analytics\\.net/analytics"
+    ],
     "website": "https://www.hubspot.com/products/marketing/analytics"
   },
   "HubSpot CMS Hub": {
@@ -1502,7 +1582,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "js\\.usemessages\\.com",
+    "scriptSrc": [
+      "js\\.usemessages\\.com"
+    ],
     "website": "https://www.hubspot.com/products/crm/live-chat"
   },
   "HubSpot Cookie Policy Banner": {
@@ -1579,7 +1661,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "analytics\\.huberway\\.com/pixel/",
+    "scriptSrc": [
+      "analytics\\.huberway\\.com/pixel/"
+    ],
     "website": "https://www.huberway.com/analytics-software"
   },
   "Huddle": {
@@ -1634,7 +1718,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "age-verification\\.hulkapps\\.com/",
+    "scriptSrc": [
+      "age-verification\\.hulkapps\\.com/"
+    ],
     "website": "https://www.hulkapps.com/products/age-verification-shopify"
   },
   "HulkApps Form Builder": {
@@ -1654,7 +1740,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "formbuilder\\.hulkapps\\.com/",
+    "scriptSrc": [
+      "formbuilder\\.hulkapps\\.com/"
+    ],
     "website": "https://www.hulkapps.com/products/form-builder-shopify"
   },
   "HulkApps GDPR/CCPA Compliance Manager": {
@@ -1675,7 +1763,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cookiebar\\.hulkapps\\.com/hulk_cookie_bar\\.js",
+    "scriptSrc": [
+      "cookiebar\\.hulkapps\\.com/hulk_cookie_bar\\.js"
+    ],
     "website": "https://www.hulkapps.com/products/gdpr-ccpa-cookie-manager-shopify-app"
   },
   "HulkApps Infinite Product Options": {
@@ -1733,7 +1823,9 @@
       "mid",
       "recurring"
     ],
-    "scriptSrc": "/.*\\.humanpresence\\.(?:io|app)/",
+    "scriptSrc": [
+      "/.*\\.humanpresence\\.(?:io|app)/"
+    ],
     "website": "https://www.humanpresence.io"
   },
   "Humm": {
@@ -1767,7 +1859,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.hund\\.io/",
+    "scriptSrc": [
+      "\\.hund\\.io/"
+    ],
     "website": "https://hund.io"
   },
   "HurryTimer": {
@@ -1789,7 +1883,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "hurrytimer(?:\\/assets)?(?:\\/js)?(?:\\/cookie)?(?:\\/jquery)?(?:\\.countdown)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "hurrytimer(?:\\/assets)?(?:\\/js)?(?:\\/cookie)?(?:\\/jquery)?(?:\\.countdown)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/hurrytimer"
   },
   "Hushly": {
@@ -1806,7 +1902,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.hushly\\.com/",
+    "scriptSrc": [
+      "\\.hushly\\.com/"
+    ],
     "website": "https://www.hushly.com"
   },
   "Hydra-Shield": {
@@ -1875,7 +1973,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.shopify\\.com/.+/assets/hs-(?:instantload|lazysizes)\\.min\\.js",
+    "scriptSrc": [
+      "cdn\\.shopify\\.com/.+/assets/hs-(?:instantload|lazysizes)\\.min\\.js"
+    ],
     "website": "https://www.hyperspeed.me"
   },
   "Hypervisual Page Builder": {
@@ -1896,7 +1996,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.gethypervisual\\.com/",
+    "scriptSrc": [
+      "cdn\\.gethypervisual\\.com/"
+    ],
     "website": "https://gethypervisual.com"
   },
   "Hypestyle CSS": {
@@ -1929,7 +2031,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "/v1/lst/universal-script\\?ph\\=",
+    "scriptSrc": [
+      "/v1/lst/universal-script\\?ph\\="
+    ],
     "website": "https://hyros.com"
   },
   "Hyva Themes": {
@@ -1961,7 +2065,9 @@
       "PHP"
     ],
     "oss": true,
-    "scriptSrc": "/_h5ai/(?:public|client)/js/scripts\\.js",
+    "scriptSrc": [
+      "/_h5ai/(?:public|client)/js/scripts\\.js"
+    ],
     "website": "https://github.com/lrsjng/h5ai"
   },
   "hCaptcha": {
@@ -1987,7 +2093,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "hcaptcha\\.com/([\\d]+?)/api\\.js\\;version:\\1",
+    "scriptSrc": [
+      "hcaptcha\\.com/([\\d]+?)/api\\.js\\;version:\\1"
+    ],
     "website": "https://www.hcaptcha.com"
   },
   "hantana": {
@@ -1998,7 +2106,9 @@
     "js": {
       "Hantana": ""
     },
-    "scriptSrc": "//hantana\\.org/widget",
+    "scriptSrc": [
+      "//hantana\\.org/widget"
+    ],
     "website": "https://hantana.org/"
   },
   "hoolah": {
@@ -2014,7 +2124,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "merchant\\.cdn\\.hoolah\\.co/",
+    "scriptSrc": [
+      "merchant\\.cdn\\.hoolah\\.co/"
+    ],
     "website": "https://www.hoolah.co"
   },
   "html2canvas": {
@@ -2023,7 +2135,9 @@
     ],
     "description": "Screenshots with JavaScript.",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?html2canvas(?:\\.min)?(?:[_\\w]{0,8})?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?html2canvas(?:\\.min)?(?:[_\\w]{0,8})?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://html2canvas.hertzen.com/"
   }
 }
\ No newline at end of file
diff --git a/src/technologies/i.json b/src/technologies/i.json
index 77e89357..e277adf0 100644
--- a/src/technologies/i.json
+++ b/src/technologies/i.json
@@ -4,7 +4,9 @@
       10
     ],
     "icon": "IBM.svg",
-    "scriptSrc": "cmdatatagutils\\.js",
+    "scriptSrc": [
+      "cmdatatagutils\\.js"
+    ],
     "website": "https://ibm.com/software/marketing-solutions/coremetrics"
   },
   "IBM DataPower": {
@@ -75,7 +77,9 @@
       "iam_data": "",
       "szmvars": ""
     },
-    "scriptSrc": "^https?://(?:[^/]+\\.)?i(?:oam|v)wbox\\.de/",
+    "scriptSrc": [
+      "^https?://(?:[^/]+\\.)?i(?:oam|v)wbox\\.de/"
+    ],
     "website": "https://www.infonline.de"
   },
   "IONOS": {
@@ -130,7 +134,9 @@
       "ipb_var": "",
       "ipsSettings": ""
     },
-    "scriptSrc": "jscripts/ips_",
+    "scriptSrc": [
+      "jscripts/ips_"
+    ],
     "website": "https://invisioncommunity.com/"
   },
   "IPFS": {
@@ -173,7 +179,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "ipinfo\\.io/",
+    "scriptSrc": [
+      "ipinfo\\.io/"
+    ],
     "website": "https://ipinfo.io",
     "xhr": "ipinfo\\.io/"
   },
@@ -202,7 +210,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.iamport\\.kr/js/iamport\\.payment-([\\d\\.]+)\\.js\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.iamport\\.kr/js/iamport\\.payment-([\\d\\.]+)\\.js\\;version:\\1"
+    ],
     "website": "https://www.iamport.kr"
   },
   "Ibexa DXP ": {
@@ -304,7 +314,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "template-assets\\.iluria\\.com/commons/",
+    "scriptSrc": [
+      "template-assets\\.iluria\\.com/commons/"
+    ],
     "website": "https://www.iluria.com.br"
   },
   "Image Relay": {
@@ -321,7 +333,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "static\\.imagerelay\\.com/",
+    "scriptSrc": [
+      "static\\.imagerelay\\.com/"
+    ],
     "website": "https://www.imagerelay.com"
   },
   "ImageEngine": {
@@ -356,7 +370,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/nextgen-gallery(?:-pro|-plus)?/",
+    "scriptSrc": [
+      "/wp-content/plugins/nextgen-gallery(?:-pro|-plus)?/"
+    ],
     "website": "https://www.imagely.com/wordpress-gallery-plugin"
   },
   "Imber": {
@@ -405,7 +421,9 @@
       "Immutable": "",
       "Immutable.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "^immutable\\.(?:min\\.)?js$",
+    "scriptSrc": [
+      "^immutable\\.(?:min\\.)?js$"
+    ],
     "website": "https://facebook.github.io/immutable-js/"
   },
   "Impact": {
@@ -418,7 +436,9 @@
       "ImpactRadiusEvent": "",
       "irEvent": ""
     },
-    "scriptSrc": "d\\.impactradius-event\\.com",
+    "scriptSrc": [
+      "d\\.impactradius-event\\.com"
+    ],
     "website": "https://impact.com/"
   },
   "Imperva": {
@@ -453,7 +473,9 @@
     "meta": {
       "generator": "ImpressCMS"
     },
-    "scriptSrc": "include/linkexternal\\.js",
+    "scriptSrc": [
+      "include/linkexternal\\.js"
+    ],
     "website": "https://www.impresscms.org"
   },
   "ImpressPages": {
@@ -502,7 +524,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "vendor-cdn\\.imweb\\.me/",
+    "scriptSrc": [
+      "vendor-cdn\\.imweb\\.me/"
+    ],
     "website": "https://imweb.me"
   },
   "In Cart Upsell & Cross-Sell": {
@@ -519,7 +543,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "\\.incartupsell\\.com/",
+    "scriptSrc": [
+      "\\.incartupsell\\.com/"
+    ],
     "website": "https://incartupsell.com"
   },
   "InMoment": {
@@ -537,7 +563,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.inmoment\\.com(?:\\.\\w+)?/",
+    "scriptSrc": [
+      "\\.inmoment\\.com(?:\\.\\w+)?/"
+    ],
     "website": "https://inmoment.com"
   },
   "InSyncai": {
@@ -695,7 +723,9 @@
     "pricing": [
       "onetime"
     ],
-    "scriptSrc": "infinite-?scroll(?:\\.pkgd)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "infinite-?scroll(?:\\.pkgd)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://infinite-scroll.com/"
   },
   "Infogram": {
@@ -791,7 +821,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "api\\.useinsider\\.\\w+/",
+    "scriptSrc": [
+      "api\\.useinsider\\.\\w+/"
+    ],
     "website": "https://useinsider.com"
   },
   "Insightly CRM": {
@@ -807,7 +839,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.insightly\\.services/",
+    "scriptSrc": [
+      "\\.insightly\\.services/"
+    ],
     "website": "https://www.insightly.com/crm/"
   },
   "Inspectlet": {
@@ -840,7 +874,9 @@
     "js": {
       "Instabot": ""
     },
-    "scriptSrc": "/rokoInstabot\\.js",
+    "scriptSrc": [
+      "/rokoInstabot\\.js"
+    ],
     "website": "https://instabot.io/"
   },
   "Instafeed": {
@@ -858,7 +894,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "instafeed\\.nfcube\\.com/",
+    "scriptSrc": [
+      "instafeed\\.nfcube\\.com/"
+    ],
     "website": "https://apps.shopify.com/instafeed"
   },
   "Instafeed.js": {
@@ -867,7 +905,9 @@
     ],
     "description": "A way to add Instagram photos to your website.",
     "oss": true,
-    "scriptSrc": "instafeed(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "instafeed(?:\\.min)?\\.js"
+    ],
     "website": "https://instafeedjs.com/"
   },
   "Instagram Feed for WordPress": {
@@ -884,7 +924,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "instagram-feed(?:\\/js)?(?:\\/sbi-scripts)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "instagram-feed(?:\\/js)?(?:\\/sbi-scripts)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/instagram-feed/"
   },
   "Instamojo": {
@@ -915,7 +957,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "eum\\.instana\\.io",
+    "scriptSrc": [
+      "eum\\.instana\\.io"
+    ],
     "website": "https://www.instana.com"
   },
   "Instant.Page": {
@@ -926,7 +970,9 @@
     "description": "Instant.Page is a JavaScript library which uses just-in-time preloading technique to make websites faster.",
     "icon": "Instant.page.svg",
     "oss": true,
-    "scriptSrc": "instant\\.page",
+    "scriptSrc": [
+      "instant\\.page"
+    ],
     "website": "https://instant.page/"
   },
   "InstantCMS": {
@@ -957,7 +1003,9 @@
       "InstantClick": ""
     },
     "oss": true,
-    "scriptSrc": "instantclick\\.min\\.js",
+    "scriptSrc": [
+      "instantclick\\.min\\.js"
+    ],
     "website": "https://instantclick.io/"
   },
   "InstantGeo": {
@@ -1039,7 +1087,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.adsafeprotected\\.com/",
+    "scriptSrc": [
+      "\\.adsafeprotected\\.com/"
+    ],
     "website": "https://integralads.com"
   },
   "Intel Active Management Technology": {
@@ -1061,7 +1111,9 @@
     ],
     "description": "IntenseDebate is a blog commenting system that supports Typepad, Blogger and Wordpress blogs. The system allows blog owners to track and moderate comments from one place with features like threading, comment analytics, user reputation, and comment aggregation.",
     "icon": "IntenseDebate.png",
-    "scriptSrc": "intensedebate\\.com",
+    "scriptSrc": [
+      "intensedebate\\.com"
+    ],
     "website": "https://intensedebate.com"
   },
   "Interact": {
@@ -1080,7 +1132,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.tryinteract\\.com/",
+    "scriptSrc": [
+      "\\.tryinteract\\.com/"
+    ],
     "website": "https://www.tryinteract.com"
   },
   "Intercom": {
@@ -1103,7 +1157,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:api\\.intercom\\.io/api|static\\.intercomcdn\\.com/intercom\\.v1)",
+    "scriptSrc": [
+      "(?:api\\.intercom\\.io/api|static\\.intercomcdn\\.com/intercom\\.v1)"
+    ],
     "website": "https://www.intercom.com"
   },
   "Intercom Articles": {
@@ -1162,7 +1218,9 @@
       "high"
     ],
     "saas": true,
-    "scriptSrc": "(?:is-bin|INTERSHOP)",
+    "scriptSrc": [
+      "(?:is-bin|INTERSHOP)"
+    ],
     "website": "https://intershop.com"
   },
   "Invenio": {
@@ -1210,7 +1268,9 @@
       "InvApp": "\\;confidence:50",
       "invTagManagerParams": ""
     },
-    "scriptSrc": "Scripts/_app/Inv(?:\\w+)\\.js\\?v=(.+)$\\;version:\\1",
+    "scriptSrc": [
+      "Scripts/_app/Inv(?:\\w+)\\.js\\?v=(.+)$\\;version:\\1"
+    ],
     "website": "https://www.inveon.com"
   },
   "Invoca": {
@@ -1228,7 +1288,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.dialogtech\\.com/",
+    "scriptSrc": [
+      "\\.dialogtech\\.com/"
+    ],
     "website": "https://www.invoca.com"
   },
   "Ionic": {
@@ -1264,7 +1326,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.irislms\\.ir/",
+    "scriptSrc": [
+      "\\.irislms\\.ir/"
+    ],
     "website": "https://irislms.ir"
   },
   "Irroba": {
@@ -1313,7 +1377,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.issuu\\.com/",
+    "scriptSrc": [
+      "\\.issuu\\.com/"
+    ],
     "website": "https://issuu.com"
   },
   "Isso": {
@@ -1363,7 +1429,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/add-search-to-menu/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/add-search-to-menu/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://ivorysearch.com"
   },
   "Izooto": {
@@ -1382,7 +1450,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.izooto\\.\\w+",
+    "scriptSrc": [
+      "cdn\\.izooto\\.\\w+"
+    ],
     "website": "https://www.izooto.com"
   },
   "i-MSCP": {
@@ -1408,7 +1478,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.i-mobile\\.co\\.jp/",
+    "scriptSrc": [
+      "\\.i-mobile\\.co\\.jp/"
+    ],
     "website": "https://www2.i-mobile.co.jp"
   },
   "i30con": {
@@ -1431,7 +1503,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.iadvize\\.com/",
+    "scriptSrc": [
+      "\\.iadvize\\.com/"
+    ],
     "website": "https://www.iadvize.com"
   },
   "iEXExchanger": {
@@ -1458,7 +1532,9 @@
     ],
     "description": "iGoDigital provides web-based commerce tools, personalisation, and product recommendations designed to increase customer interaction.",
     "icon": "default.svg",
-    "scriptSrc": "\\.igodigital\\.com/",
+    "scriptSrc": [
+      "\\.igodigital\\.com/"
+    ],
     "website": "https://www.igodigital.com"
   },
   "iHomefinder IDX": {
@@ -1475,7 +1551,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.idxhome\\.com/",
+    "scriptSrc": [
+      "\\.idxhome\\.com/"
+    ],
     "website": "https://www.ihomefinder.com"
   },
   "iPresta": {
@@ -1502,7 +1580,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "chat\\.isina\\.agency/",
+    "scriptSrc": [
+      "chat\\.isina\\.agency/"
+    ],
     "website": "https://isina.agency"
   },
   "iThemes Security": {
@@ -1521,7 +1601,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/better-wp-security/",
+    "scriptSrc": [
+      "/wp-content/plugins/better-wp-security/"
+    ],
     "website": "https://ithemes.com/security"
   },
   "iWeb": {
@@ -1566,7 +1648,9 @@
     ],
     "description": "jQuery plugin for seeing if the images are loaded.",
     "oss": true,
-    "scriptSrc": "imagesloaded(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "imagesloaded(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://imagesloaded.desandro.com/"
   },
   "imperia CMS": {
@@ -1648,7 +1732,9 @@
     "js": {
       "clobs": ""
     },
-    "scriptSrc": "clobs\\.js",
+    "scriptSrc": [
+      "clobs\\.js"
+    ],
     "website": "https://www.ip-label.com"
   },
   "ipapi": {
@@ -1739,7 +1825,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.ipify\\.org",
+    "scriptSrc": [
+      "\\.ipify\\.org"
+    ],
     "website": "https://ipify.org",
     "xhr": "(?:api|api64|geo)\\.ipify\\.org"
   },
@@ -1776,7 +1864,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "iubenda\\.com/",
+    "scriptSrc": [
+      "iubenda\\.com/"
+    ],
     "website": "https://www.iubenda.com"
   },
   "iyzico": {
diff --git a/src/technologies/j.json b/src/technologies/j.json
index 3e56b7de..f7a41be1 100644
--- a/src/technologies/j.json
+++ b/src/technologies/j.json
@@ -104,7 +104,9 @@
     "js": {
       "JSChart": ""
     },
-    "scriptSrc": "jscharts.{0,32}\\.js",
+    "scriptSrc": [
+      "jscharts.{0,32}\\.js"
+    ],
     "website": "https://www.jscharts.com"
   },
   "JSEcoin": {
@@ -116,7 +118,9 @@
     "js": {
       "jseMine": ""
     },
-    "scriptSrc": "^(?:https):?//load\\.jsecoin\\.com/load/",
+    "scriptSrc": [
+      "^(?:https):?//load\\.jsecoin\\.com/load/"
+    ],
     "website": "https://jsecoin.com/"
   },
   "JSS": {
@@ -166,7 +170,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "checkout-button-.+/just-pay-button\\.js",
+    "scriptSrc": [
+      "checkout-button-.+/just-pay-button\\.js"
+    ],
     "website": "https://www.getjusto.com"
   },
   "JW Player": {
@@ -251,7 +257,9 @@
       "$jit": "",
       "$jit.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "jit(?:-yc)?\\.js",
+    "scriptSrc": [
+      "jit(?:-yc)?\\.js"
+    ],
     "website": "https://philogb.github.io/jit/"
   },
   "JavaServer Faces": {
@@ -352,7 +360,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/jetpack/",
+    "scriptSrc": [
+      "/wp-content/plugins/jetpack/"
+    ],
     "website": "https://jetpack.com"
   },
   "Jetpack Boost": {
@@ -365,7 +375,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/jetpack-boost/",
+    "scriptSrc": [
+      "/wp-content/plugins/jetpack-boost/"
+    ],
     "website": "https://jetpack.com"
   },
   "Jetshop": {
@@ -413,7 +425,9 @@
     "meta": {
       "generator": "Jibres"
     },
-    "scriptSrc": "/jibres\\.js",
+    "scriptSrc": [
+      "/jibres\\.js"
+    ],
     "website": "https://jibres.com"
   },
   "Jilt App": {
@@ -441,7 +455,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "\\.jilt\\.com/.+/jilt\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "\\.jilt\\.com/.+/jilt\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/jilt-for-woocommerce"
   },
   "Jimdo": {
@@ -475,7 +491,9 @@
     "js": {
       "jirafe": ""
     },
-    "scriptSrc": "/jirafe\\.js",
+    "scriptSrc": [
+      "/jirafe\\.js"
+    ],
     "website": "https://docs.jirafe.com"
   },
   "Jitsi": {
@@ -485,7 +503,9 @@
     "cpe": "cpe:2.3:a:jitsi:jitsi:*:*:*:*:*:*:*:*",
     "description": "Jitsi is a free and open-source multiplatform voice (VoIP), videoconferencing and instant messaging applications for the web platform.",
     "icon": "Jitsi.png",
-    "scriptSrc": "lib-jitsi-meet.*\\.js",
+    "scriptSrc": [
+      "lib-jitsi-meet.*\\.js"
+    ],
     "website": "https://jitsi.org"
   },
   "Jive": {
@@ -519,7 +539,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.jivosite\\.com",
+    "scriptSrc": [
+      "\\.jivosite\\.com"
+    ],
     "website": "https://www.jivosite.com"
   },
   "Jivox": {
@@ -533,7 +555,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.jivox\\.com/",
+    "scriptSrc": [
+      "\\.jivox\\.com/"
+    ],
     "website": "https://jivox.com"
   },
   "JobAdder": {
@@ -548,7 +572,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.jobadder\\.com/",
+    "scriptSrc": [
+      "\\.jobadder\\.com/"
+    ],
     "website": "https://jobadder.com"
   },
   "JobberBase": {
@@ -604,7 +630,9 @@
     "pricing": [
       "onetime"
     ],
-    "scriptSrc": "/components/com_jshopping/",
+    "scriptSrc": [
+      "/components/com_jshopping/"
+    ],
     "website": "https://www.webdesigner-profi.de/joomla-webdesign/joomla-shop"
   },
   "Joomla": {
@@ -650,7 +678,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:cdn)?\\.(?:jwwb|jouwweb)\\.nl/",
+    "scriptSrc": [
+      "(?:cdn)?\\.(?:jwwb|jouwweb)\\.nl/"
+    ],
     "website": "https://www.jouwweb.nl"
   },
   "JsObservable": {
@@ -672,7 +702,9 @@
       "JsViews"
     ],
     "oss": true,
-    "scriptSrc": "([\\d\\.]+)?/jsrender(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "([\\d\\.]+)?/jsrender(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://www.jsviews.com/#jsrender"
   },
   "JsViews": {
@@ -686,7 +718,9 @@
       "JsRender"
     ],
     "oss": true,
-    "scriptSrc": "([\\d\\.]+)?/jsviews(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "([\\d\\.]+)?/jsviews(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://www.jsviews.com/#jsviews"
   },
   "Judge.me": {
@@ -704,7 +738,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.judge\\.me",
+    "scriptSrc": [
+      "cdn\\.judge\\.me"
+    ],
     "website": "https://judge.me"
   },
   "JuicyAds": {
@@ -734,7 +770,9 @@
     "implies": [
       "Shopify"
     ],
-    "scriptSrc": "mt\\.tryjumbo\\.com",
+    "scriptSrc": [
+      "mt\\.tryjumbo\\.com"
+    ],
     "website": "https://www.tryjumbo.com/"
   },
   "Jumio": {
@@ -811,7 +849,9 @@
     ],
     "requiresCategory": 6,
     "saas": true,
-    "scriptSrc": "\\.juniphq\\.com/",
+    "scriptSrc": [
+      "\\.juniphq\\.com/"
+    ],
     "website": "https://junip.co"
   },
   "Juo": {
@@ -824,7 +864,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.juo\\.io/",
+    "scriptSrc": [
+      "cdn\\.juo\\.io/"
+    ],
     "website": "https://get.juo.io"
   },
   "Juspay": {
@@ -849,7 +891,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.getjusto\\.com/",
+    "scriptSrc": [
+      "\\.getjusto\\.com/"
+    ],
     "website": "https://www.getjusto.com"
   },
   "Justuno": {
@@ -891,7 +935,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "//scripttags\\.justuno\\.com/shopify_justuno",
+    "scriptSrc": [
+      "//scripttags\\.justuno\\.com/shopify_justuno"
+    ],
     "website": "https://apps.shopify.com/justuno-pop-ups-email-conversion"
   },
   "jComponent": {
@@ -922,7 +968,9 @@
       "jPlayerPlaylist": ""
     },
     "oss": true,
-    "scriptSrc": "/jquery\\.jplayer\\.min\\.js",
+    "scriptSrc": [
+      "/jquery\\.jplayer\\.min\\.js"
+    ],
     "scripts": "jquery\\.jplayer\\.min\\.js",
     "website": "https://jplayer.org"
   },
@@ -935,7 +983,9 @@
     "js": {
       "jQT": ""
     },
-    "scriptSrc": "jqtouch.*\\.js",
+    "scriptSrc": [
+      "jqtouch.*\\.js"
+    ],
     "website": "https://jqtouch.com"
   },
   "jQuery": {
@@ -965,7 +1015,9 @@
     "implies": [
       "jQuery"
     ],
-    "scriptSrc": "code\\.jquery\\.com/",
+    "scriptSrc": [
+      "code\\.jquery\\.com/"
+    ],
     "website": "https://code.jquery.com/"
   },
   "jQuery DevBridge Autocomplete": {
@@ -1001,7 +1053,9 @@
       "jQuery.migrateWarnings": "",
       "jqueryMigrate": ""
     },
-    "scriptSrc": "jquery-migrate(?:\\.min)?(?:-?((?:\\d+\\.)+\\d+))?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "jquery-migrate(?:\\.min)?(?:-?((?:\\d+\\.)+\\d+))?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://github.com/jquery/jquery-migrate"
   },
   "jQuery Mobile": {
@@ -1016,7 +1070,9 @@
     "js": {
       "jQuery.mobile.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "jquery[.-]mobile(?:-([\\d.]))?(?:\\.min)?\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1?\\1:\\2",
+    "scriptSrc": [
+      "jquery[.-]mobile(?:-([\\d.]))?(?:\\.min)?\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1?\\1:\\2"
+    ],
     "website": "https://jquerymobile.com"
   },
   "jQuery Modal": {
@@ -1030,7 +1086,9 @@
       "jQuery"
     ],
     "oss": true,
-    "scriptSrc": "jquery-modal/([\\d\\.]+)/jquery\\.modal\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "jquery-modal/([\\d\\.]+)/jquery\\.modal\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://jquerymodal.com"
   },
   "jQuery Sparklines": {
@@ -1041,7 +1099,9 @@
     "implies": [
       "jQuery"
     ],
-    "scriptSrc": "jquery\\.sparkline.*\\.js",
+    "scriptSrc": [
+      "jquery\\.sparkline.*\\.js"
+    ],
     "website": "https://omnipotent.net/jquery.sparkline/"
   },
   "jQuery UI": {
@@ -1083,7 +1143,9 @@
       "pjax-replace": "",
       "pjax-timeout": ""
     },
-    "scriptSrc": "jquery[.-]pjax(?:-([\\d.]))?(?:\\.min)?\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1?\\1:\\2",
+    "scriptSrc": [
+      "jquery[.-]pjax(?:-([\\d.]))?(?:\\.min)?\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1?\\1:\\2"
+    ],
     "website": "https://github.com/defunkt/jquery-pjax"
   },
   "jqPlot": {
@@ -1094,7 +1156,9 @@
     "implies": [
       "jQuery"
     ],
-    "scriptSrc": "jqplot.*\\.js",
+    "scriptSrc": [
+      "jqplot.*\\.js"
+    ],
     "website": "https://www.jqplot.com"
   },
   "jsDelivr": {
@@ -1104,7 +1168,9 @@
     "description": "JSDelivr is a free public CDN for open-source projects. It can serve web files directly from the npm registry and GitHub repositories without any configuration.",
     "dom": "link[href*='cdn.jsdelivr.net']",
     "icon": "jsdelivr-icon.svg",
-    "scriptSrc": "cdn\\.jsdelivr\\.net",
+    "scriptSrc": [
+      "cdn\\.jsdelivr\\.net"
+    ],
     "website": "https://www.jsdelivr.com/",
     "xhr": "cdn\\.jsdelivr\\.net"
   }
diff --git a/src/technologies/k.json b/src/technologies/k.json
index d5f5b163..6b59720d 100644
--- a/src/technologies/k.json
+++ b/src/technologies/k.json
@@ -127,7 +127,9 @@
       "katex.version": "^(.+)$\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "katex(@|/)[0-9.]+(?:/dist)?/katex(?:\\.min)?\\.(mjs|js|css)\\;version:\\1",
+    "scriptSrc": [
+      "katex(@|/)[0-9.]+(?:/dist)?/katex(?:\\.min)?\\.(mjs|js|css)\\;version:\\1"
+    ],
     "website": "https://katex.org/"
   },
   "Kadence WP Blocks": {
@@ -148,7 +150,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/kadence-blocks/dist/.+/kb-form-block\\.min\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/kadence-blocks/dist/.+/kb-form-block\\.min\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://www.kadencewp.com/kadence-blocks/"
   },
   "Kadence WP Kadence": {
@@ -171,7 +175,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/kadence/.+navigation\\.min\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/kadence/.+navigation\\.min\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://www.kadencewp.com/kadence-theme"
   },
   "Kadence WP Virtue": {
@@ -189,7 +195,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/virtue/.+main-min\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/virtue/.+main-min\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://www.kadencewp.com/product/virtue-free-theme"
   },
   "Kaira Vogue": {
@@ -206,7 +214,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/vogue(?:-child)?/",
+    "scriptSrc": [
+      "/wp-content/themes/vogue(?:-child)?/"
+    ],
     "website": "https://kairaweb.com/wordpress-theme/vogue"
   },
   "Kajabi": {
@@ -236,7 +246,9 @@
     "js": {
       "Kakao.VERSION": "^([\\d\\.]+)$\\;version:\\1"
     },
-    "scriptSrc": "\\.kakao\\.com/",
+    "scriptSrc": [
+      "\\.kakao\\.com/"
+    ],
     "website": "https://developers.kakao.com/product"
   },
   "Kaltura": {
@@ -260,7 +272,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "api\\.kaltura\\.(?:nordu\\.net|com)/",
+    "scriptSrc": [
+      "api\\.kaltura\\.(?:nordu\\.net|com)/"
+    ],
     "scripts": "kalturaPlayer",
     "website": "https://corp.kaltura.com"
   },
@@ -283,7 +297,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.kameleoon\\.\\w+/kameleoon\\.js",
+    "scriptSrc": [
+      "\\.kameleoon\\.\\w+/kameleoon\\.js"
+    ],
     "website": "https://kameleoon.com/"
   },
   "Kamva": {
@@ -297,7 +313,9 @@
     "meta": {
       "generator": "[CK]amva"
     },
-    "scriptSrc": "cdn\\.mykamva\\.ir",
+    "scriptSrc": [
+      "cdn\\.mykamva\\.ir"
+    ],
     "website": "https://kamva.ir"
   },
   "Kapix Studio": {
@@ -338,7 +356,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.kapturecrm\\.com/.+\\?ver=([\\d\\.]+)\\;version:\\1",
+    "scriptSrc": [
+      "\\.kapturecrm\\.com/.+\\?ver=([\\d\\.]+)\\;version:\\1"
+    ],
     "website": "https://www.kapturecrm.com"
   },
   "Karma": {
@@ -354,7 +374,9 @@
       "karma.vars.version": "(.+)\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "karma\\.mdpcdn\\.com",
+    "scriptSrc": [
+      "karma\\.mdpcdn\\.com"
+    ],
     "website": "https://karma-runner.github.io"
   },
   "Karte": {
@@ -393,7 +415,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.kartra\\.com",
+    "scriptSrc": [
+      "app\\.kartra\\.com"
+    ],
     "website": "https://home.kartra.com"
   },
   "Kasada": {
@@ -426,7 +450,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.infusionsoft\\.com/",
+    "scriptSrc": [
+      "\\.infusionsoft\\.com/"
+    ],
     "website": "https://keap.com",
     "xhr": "property\\.infusionsoft\\.com"
   },
@@ -525,7 +551,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "app\\.keptify\\.com/",
+    "scriptSrc": [
+      "app\\.keptify\\.com/"
+    ],
     "website": "https://keptify.com"
   },
   "Kerberos": {
@@ -561,7 +589,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.ketchcdn\\.com/",
+    "scriptSrc": [
+      "\\.ketchcdn\\.com/"
+    ],
     "website": "https://www.ketch.com"
   },
   "Kevel": {
@@ -579,7 +609,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "adzerk\\.net/",
+    "scriptSrc": [
+      "adzerk\\.net/"
+    ],
     "website": "https://www.kevel.com"
   },
   "KeyCDN": {
@@ -643,7 +675,9 @@
     "pricing": [
       "poa"
     ],
-    "scriptSrc": "cdn-tp\\d+\\.mozu\\.com",
+    "scriptSrc": [
+      "cdn-tp\\d+\\.mozu\\.com"
+    ],
     "website": "https://kibocommerce.com"
   },
   "Kibo Personalization": {
@@ -729,7 +763,9 @@
       "Kinetic": "",
       "Kinetic.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "kinetic(?:-v?([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "kinetic(?:-v?([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://github.com/ericdrowell/KineticJS/"
   },
   "Kinsta": {
@@ -760,7 +796,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/kirki/",
+    "scriptSrc": [
+      "/wp-content/plugins/kirki/"
+    ],
     "website": "https://kirki.org"
   },
   "Kitcart": {
@@ -796,7 +834,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.static\\.kiwisizing\\.com/",
+    "scriptSrc": [
+      "cdn\\.static\\.kiwisizing\\.com/"
+    ],
     "website": "https://www.kiwisizing.com"
   },
   "Klarna Checkout": {
@@ -824,7 +864,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.klarnaservices\\.com/lib\\.js",
+    "scriptSrc": [
+      "\\.klarnaservices\\.com/lib\\.js"
+    ],
     "website": "https://www.klarna.com/international/"
   },
   "Klaro": {
@@ -855,7 +897,9 @@
     "js": {
       "KlashaClient": ""
     },
-    "scriptSrc": "klasha-integration\\.js",
+    "scriptSrc": [
+      "klasha-integration\\.js"
+    ],
     "website": "https://www.klasha.com/"
   },
   "Klaviyo": {
@@ -868,7 +912,9 @@
       "KlaviyoSubscribe": "",
       "klaviyo": ""
     },
-    "scriptSrc": "klaviyo\\.com",
+    "scriptSrc": [
+      "klaviyo\\.com"
+    ],
     "website": "https://www.klaviyo.com/"
   },
   "Klevu": {
@@ -888,7 +934,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "js\\.klevu\\.\\w+/klevu-js-v([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "js\\.klevu\\.\\w+/klevu-js-v([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://www.klevu.com"
   },
   "KlickPages": {
@@ -909,7 +957,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.klickpages\\.com\\.br/",
+    "scriptSrc": [
+      "\\.klickpages\\.com\\.br/"
+    ],
     "website": "https://klickpages.com.br"
   },
   "Klickly": {
@@ -922,7 +972,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "analytics\\.klickly\\.com/pixel\\.js\\?v=([\\d\\.]+)\\;version:\\1",
+    "scriptSrc": [
+      "analytics\\.klickly\\.com/pixel\\.js\\?v=([\\d\\.]+)\\;version:\\1"
+    ],
     "website": "https://www.klickly.com"
   },
   "Knak": {
@@ -968,7 +1020,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "ko-fi\\.com/widgets",
+    "scriptSrc": [
+      "ko-fi\\.com/widgets"
+    ],
     "website": "https://ko-fi.com"
   },
   "Koa": {
@@ -1001,7 +1055,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.getkoala\\.com/",
+    "scriptSrc": [
+      "cdn\\.getkoala\\.com/"
+    ],
     "website": "https://getkoala.com/",
     "xhr": "api\\.getkoala\\.com"
   },
@@ -1094,7 +1150,9 @@
     "meta": {
       "generator": "Koken ([\\d.]+)\\;version:\\1"
     },
-    "scriptSrc": "koken(?:\\.js\\?([\\d.]+)|/storage)\\;version:\\1",
+    "scriptSrc": [
+      "koken(?:\\.js\\?([\\d.]+)|/storage)\\;version:\\1"
+    ],
     "website": "https://koken.me"
   },
   "Komodo CMS": {
@@ -1125,7 +1183,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.k-analytix\\.com",
+    "scriptSrc": [
+      "\\.k-analytix\\.com"
+    ],
     "website": "https://www.konduto.com"
   },
   "Kong": {
@@ -1186,7 +1246,9 @@
     "implies": [
       "Microsoft ASP.NET"
     ],
-    "scriptSrc": "/Kooboo",
+    "scriptSrc": [
+      "/Kooboo"
+    ],
     "website": "https://kooboo.com"
   },
   "Kooomo": {
@@ -1216,7 +1278,9 @@
       1
     ],
     "icon": "Kotisivukone.png",
-    "scriptSrc": "kotisivukone(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "kotisivukone(?:\\.min)?\\.js"
+    ],
     "website": "https://www.kotisivukone.fi"
   },
   "Kotlin": {
@@ -1305,7 +1369,9 @@
     "pricing": [
       "payg"
     ],
-    "scriptSrc": "cdn\\.kueskipay\\.com",
+    "scriptSrc": [
+      "cdn\\.kueskipay\\.com"
+    ],
     "website": "https://kueskipay.com/"
   },
   "Kustomer": {
diff --git a/src/technologies/l.json b/src/technologies/l.json
index a26d7ccc..564eb4c2 100644
--- a/src/technologies/l.json
+++ b/src/technologies/l.json
@@ -52,7 +52,9 @@
       "lkqdSettings": "",
       "lkqd_http_response": ""
     },
-    "scriptSrc": "\\.lkqd\\.net",
+    "scriptSrc": [
+      "\\.lkqd\\.net"
+    ],
     "website": "https://wiki.lkqd.com",
     "xhr": "\\.lkqd\\.net"
   },
@@ -62,7 +64,9 @@
     ],
     "description": "LOU is a Digital Adoption Platform that streamlines user onboarding and training.",
     "icon": "LOU.png",
-    "scriptSrc": "cdn\\.louassist\\.com*",
+    "scriptSrc": [
+      "cdn\\.louassist\\.com*"
+    ],
     "website": "https://www.louassist.com"
   },
   "Lagoon": {
@@ -93,7 +97,9 @@
       "freemium",
       "mid"
     ],
-    "scriptSrc": "\\.landbot\\.io/.*-([\\d\\.]+)\\.js",
+    "scriptSrc": [
+      "\\.landbot\\.io/.*-([\\d\\.]+)\\.js"
+    ],
     "website": "https://landbot.io"
   },
   "LandingPress": {
@@ -110,7 +116,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/landingpress-wp/.+script\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/landingpress-wp/.+script\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://landingpress.net"
   },
   "LangShop": {
@@ -134,7 +142,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "\\.langshop\\.app/",
+    "scriptSrc": [
+      "\\.langshop\\.app/"
+    ],
     "website": "https://langshop.io"
   },
   "Laravel": {
@@ -181,7 +191,9 @@
     "meta": {
       "laterpay:connector:callbacks:on_user_has_access": "deobfuscateText"
     },
-    "scriptSrc": "https?://connectormwi\\.laterpay\\.net/([0-9.]+)[a-zA-z-]*/live/[\\w-]+\\.js\\;version:\\1",
+    "scriptSrc": [
+      "https?://connectormwi\\.laterpay\\.net/([0-9.]+)[a-zA-z-]*/live/[\\w-]+\\.js\\;version:\\1"
+    ],
     "website": "https://www.laterpay.net/"
   },
   "LatitudePay": {
@@ -199,7 +211,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "\\.latitudepayapps\\.com/",
+    "scriptSrc": [
+      "\\.latitudepayapps\\.com/"
+    ],
     "website": "https://www.latitudepay.com"
   },
   "LaunchDarkly": {
@@ -218,7 +232,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:\\.|\\-)launchdarkly(?:\\.com/|\\-sdk\\.)",
+    "scriptSrc": [
+      "(?:\\.|\\-)launchdarkly(?:\\.com/|\\-sdk\\.)"
+    ],
     "website": "https://launchdarkly.com",
     "xhr": [
       "app\\.launchdarkly\\.com",
@@ -244,7 +260,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "builder\\.launchrock\\.com",
+    "scriptSrc": [
+      "builder\\.launchrock\\.com"
+    ],
     "website": "https://www.launchrock.com"
   },
   "LayBuy": {
@@ -288,7 +306,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.layouthub\\.com/shopify/layouthub\\.js",
+    "scriptSrc": [
+      "app\\.layouthub\\.com/shopify/layouthub\\.js"
+    ],
     "website": "https://layouthub.com"
   },
   "Layui": {
@@ -340,7 +360,9 @@
     "description": "LazySizes unveilhooks plugin extends lazySizes to lazyload scripts/widgets, background images, styles and video/audio elements.",
     "icon": "default.svg",
     "oss": true,
-    "scriptSrc": "ls\\.unveilhooks(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "ls\\.unveilhooks(?:\\.min)?\\.js"
+    ],
     "website": "https://github.com/aFarkas/lazysizes/tree/gh-pages/plugins/unveilhooks"
   },
   "LeadChat": {
@@ -357,7 +379,9 @@
     "requires": [
       "LiveChat"
     ],
-    "scriptSrc": "(?://|\\.)chatsystem\\.io/",
+    "scriptSrc": [
+      "(?://|\\.)chatsystem\\.io/"
+    ],
     "website": "https://www.leadchat.com"
   },
   "Leadfeeder": {
@@ -378,7 +402,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.leadfeeder\\.com/",
+    "scriptSrc": [
+      "\\.leadfeeder\\.com/"
+    ],
     "website": "https://www.leadfeeder.com"
   },
   "Leadinfo": {
@@ -396,7 +422,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.leadinfo\\.net",
+    "scriptSrc": [
+      "cdn\\.leadinfo\\.net"
+    ],
     "website": "https://www.leadinfo.com"
   },
   "Leadster": {
@@ -430,7 +458,9 @@
       "L.PosAnimation": "",
       "L.version": "^(.+)$\\;version:\\1\\;confidence:0"
     },
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/(?:dist\\/)?)?leaflet[\\w\\-\\.]{0,32}\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?(?!.+shopify)\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/(?:dist\\/)?)?leaflet[\\w\\-\\.]{0,32}\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?(?!.+shopify)\\;version:\\1\\2"
+    ],
     "website": "https://leafletjs.com"
   },
   "Leaflet platform": {
@@ -447,7 +477,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "scripts\\.leaflet\\.co/",
+    "scriptSrc": [
+      "scripts\\.leaflet\\.co/"
+    ],
     "website": "https://join.leaflet.co"
   },
   "Leanplum": {
@@ -464,7 +496,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "npm/leanplum-sdk\\@([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "npm/leanplum-sdk\\@([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://www.leanplum.com"
   },
   "LearnDash": {
@@ -506,7 +540,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.mycourse\\.app/v([\\d\\.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.mycourse\\.app/v([\\d\\.]+)/\\;version:\\1"
+    ],
     "website": "https://www.learnworlds.com"
   },
   "Leaseweb": {
@@ -563,7 +599,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.legalmonster\\.com/",
+    "scriptSrc": [
+      "\\.legalmonster\\.com/"
+    ],
     "website": "https://www.legalmonster.com"
   },
   "Lemon Squeezy": {
@@ -593,7 +631,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.lengow\\.com/",
+    "scriptSrc": [
+      "\\.lengow\\.com/"
+    ],
     "website": "https://www.lengow.com"
   },
   "Lenis": {
@@ -663,7 +703,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "letro\\.jp/tags",
+    "scriptSrc": [
+      "letro\\.jp/tags"
+    ],
     "website": "https://service.aainc.co.jp/product/letro/"
   },
   "Levar": {
@@ -725,7 +767,9 @@
     ],
     "description": "Lexity is the one-stop-shop of ecommerce services for SMBs.",
     "icon": "Lexity.png",
-    "scriptSrc": "\\.lexity\\.com/",
+    "scriptSrc": [
+      "\\.lexity\\.com/"
+    ],
     "website": "https://lexity.com"
   },
   "Liberapay": {
@@ -735,7 +779,9 @@
     "description": "Liberapay is a non-profit organisation subscription payment platform.",
     "dom": "a[href*='//liberapay.com/'][target='_blank']",
     "icon": "Liberapay.svg",
-    "scriptSrc": "//liberapay\\.com/",
+    "scriptSrc": [
+      "//liberapay\\.com/"
+    ],
     "website": "https://liberapay.com/"
   },
   "Libravatar": {
@@ -837,7 +883,9 @@
       "lightbox.$lightbox": ""
     },
     "oss": true,
-    "scriptSrc": "lightbox(?:-plus-jquery)?.{0,32}\\.js",
+    "scriptSrc": [
+      "lightbox(?:-plus-jquery)?.{0,32}\\.js"
+    ],
     "website": "https://lokeshdhakar.com/projects/lightbox2/"
   },
   "Lightning": {
@@ -858,7 +906,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/lightning(?:-pro)?/.+lightning\\.min\\.js(?:.+ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/lightning(?:-pro)?/.+lightning\\.min\\.js(?:.+ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://lightning.vektor-inc.co.jp/en/"
   },
   "Lightspeed eCom": {
@@ -873,7 +923,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "http://assets\\.webshopapp\\.com",
+    "scriptSrc": [
+      "http://assets\\.webshopapp\\.com"
+    ],
     "url": "seoshop.webshopapp.com",
     "website": "https://www.lightspeedhq.com/products/ecommerce/"
   },
@@ -887,7 +939,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.limechat\\.ai/",
+    "scriptSrc": [
+      "\\.limechat\\.ai/"
+    ],
     "website": "https://www.limechat.ai"
   },
   "LimeSpot": {
@@ -905,7 +959,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.personalizer\\.io/",
+    "scriptSrc": [
+      "\\.personalizer\\.io/"
+    ],
     "website": "https://www.limespot.com"
   },
   "Limepay": {
@@ -974,7 +1030,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.linkmink\\.com/lm-js/([\\d\\.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.linkmink\\.com/lm-js/([\\d\\.]+)/\\;version:\\1"
+    ],
     "website": "https://linkmink.com"
   },
   "Linkedin Ads": {
@@ -1031,7 +1089,9 @@
       "OnLinkedInAuth": "",
       "onLinkedInLoad": ""
     },
-    "scriptSrc": "platform\\.linkedin\\.com/(?:.*)?in\\.js(?:\\?version)?([\\d.]+)?\\;version:\\1",
+    "scriptSrc": [
+      "platform\\.linkedin\\.com/(?:.*)?in\\.js(?:\\?version)?([\\d.]+)?\\;version:\\1"
+    ],
     "website": "https://www.linkedin.com/developers"
   },
   "Linx Commerce": {
@@ -1236,7 +1296,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/livecanvas/",
+    "scriptSrc": [
+      "/wp-content/plugins/livecanvas/"
+    ],
     "website": "https://livecanvas.com"
   },
   "LiveChat": {
@@ -1252,7 +1314,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.livechatinc\\.com/.*tracking\\.js",
+    "scriptSrc": [
+      "cdn\\.livechatinc\\.com/.*tracking\\.js"
+    ],
     "website": "https://www.livechat.com/"
   },
   "LiveHelp": {
@@ -1285,7 +1349,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.liadm\\.com",
+    "scriptSrc": [
+      "\\.liadm\\.com"
+    ],
     "website": "https://www.liveintent.com",
     "xhr": "\\.liadm\\.com"
   },
@@ -1313,7 +1379,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.(?:liveperson|contactatonce)?\\.(?:com|net|co\\.uk)/",
+    "scriptSrc": [
+      "\\.(?:liveperson|contactatonce)?\\.(?:com|net|co\\.uk)/"
+    ],
     "website": "https://www.liveperson.com"
   },
   "LiveRamp DPM": {
@@ -1325,7 +1393,9 @@
     "js": {
       "dpmComscoreVars": ""
     },
-    "scriptSrc": "c\\.tvpixel\\.com/js/current/dpm_pixel_min\\.js",
+    "scriptSrc": [
+      "c\\.tvpixel\\.com/js/current/dpm_pixel_min\\.js"
+    ],
     "website": "https://liveramp.com/data-plus-math"
   },
   "LiveRamp PCM": {
@@ -1338,7 +1408,9 @@
     "js": {
       "wpJsonpLiverampGdprCmp": ""
     },
-    "scriptSrc": "gdpr\\.privacymanager\\.io",
+    "scriptSrc": [
+      "gdpr\\.privacymanager\\.io"
+    ],
     "website": "https://liveramp.com/our-platform/preference-consent-management"
   },
   "LiveSession": {
@@ -1409,7 +1481,9 @@
       "LF.CommentCount": "",
       "fyre": ""
     },
-    "scriptSrc": "livefyre_init\\.js",
+    "scriptSrc": [
+      "livefyre_init\\.js"
+    ],
     "website": "https://livefyre.com"
   },
   "Liveinternet": {
@@ -1440,7 +1514,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.livescale\\.tv/",
+    "scriptSrc": [
+      "\\.livescale\\.tv/"
+    ],
     "website": "https://www.livescale.tv"
   },
   "Livewire": {
@@ -1460,7 +1536,9 @@
       "livewire": ""
     },
     "oss": true,
-    "scriptSrc": "livewire(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "livewire(?:\\.min)?\\.js"
+    ],
     "website": "https://laravel-livewire.com"
   },
   "LlamaLink Cloud Server": {
@@ -1504,7 +1582,9 @@
     "implies": [
       "Shopify"
     ],
-    "scriptSrc": "\\.loadifyapp\\.ninety9\\.dev",
+    "scriptSrc": [
+      "\\.loadifyapp\\.ninety9\\.dev"
+    ],
     "website": "https://apps.shopify.com/loadify"
   },
   "LocalFocus": {
@@ -1579,7 +1659,9 @@
       "LocomotiveScroll": ""
     },
     "oss": true,
-    "scriptSrc": "locomotive-scroll(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "locomotive-scroll(?:\\.min)?\\.js"
+    ],
     "website": "https://scroll.locomotive.ca/docs/#/"
   },
   "LocomotiveCMS": {
@@ -1611,7 +1693,9 @@
       "_.differenceBy": "",
       "_.templateSettings.imports._.templateSettings.imports._.VERSION": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "lodash.*\\.js",
+    "scriptSrc": [
+      "lodash.*\\.js"
+    ],
     "website": "https://www.lodash.com"
   },
   "Loglib": {
@@ -1646,7 +1730,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.(?:lr-ingest|logrocket)\\.(?:com|io)",
+    "scriptSrc": [
+      "cdn\\.(?:lr-ingest|logrocket)\\.(?:com|io)"
+    ],
     "website": "https://logrocket.com"
   },
   "Loggly": {
@@ -1664,7 +1750,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.loggly\\.com/",
+    "scriptSrc": [
+      "\\.loggly\\.com/"
+    ],
     "website": "https://www.loggly.com"
   },
   "LogiCommerce": {
@@ -1761,7 +1849,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "lojamestre\\.\\w+\\.br",
+    "scriptSrc": [
+      "lojamestre\\.\\w+\\.br"
+    ],
     "website": "https://www.lojamestre.com.br/"
   },
   "Loja Virtual": {
@@ -1798,7 +1888,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "loja2\\.com\\.br",
+    "scriptSrc": [
+      "loja2\\.com\\.br"
+    ],
     "website": "https://www.loja2.com.br"
   },
   "Loom": {
@@ -1877,7 +1969,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "lootly\\.io/",
+    "scriptSrc": [
+      "lootly\\.io/"
+    ],
     "website": "https://lootly.io"
   },
   "Loox": {
@@ -1894,7 +1988,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "loox\\.io/widget",
+    "scriptSrc": [
+      "loox\\.io/widget"
+    ],
     "website": "https://loox.app"
   },
   "Loqate": {
@@ -1944,7 +2040,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "sdk\\.loyaltylion\\.net/",
+    "scriptSrc": [
+      "sdk\\.loyaltylion\\.net/"
+    ],
     "website": "https://loyaltylion.com"
   },
   "Lozad.js": {
@@ -2019,7 +2117,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.luckyorange\\.com/",
+    "scriptSrc": [
+      "\\.luckyorange\\.com/"
+    ],
     "website": "https://www.luckyorange.com"
   },
   "Luigi’s Box": {
@@ -2080,7 +2180,9 @@
       "lunr": ""
     },
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?lunr(?:-store)?(?:-en)?(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?lunr(?:-store)?(?:-en)?(?:\\.min)?\\.js"
+    ],
     "website": "https://lunrjs.com/"
   },
   "LyraThemes Kale": {
@@ -2100,7 +2202,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/kale(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/kale(?:-pro)?/"
+    ],
     "website": "https://www.lyrathemes.com/kale"
   },
   "Lytics": {
@@ -2117,7 +2221,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.lytics\\.io/",
+    "scriptSrc": [
+      "\\.lytics\\.io/"
+    ],
     "website": "https://www.lytics.com"
   },
   "langify": {
@@ -2150,7 +2256,9 @@
       "libphonenumber.DIGITS": ""
     },
     "oss": true,
-    "scriptSrc": "(?:/([\\d\\.]+))?/libphonenumber(?:-js\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:/([\\d\\.]+))?/libphonenumber(?:-js\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://github.com/google/libphonenumber"
   },
   "libwww-perl-daemon": {
diff --git a/src/technologies/m.json b/src/technologies/m.json
index 69ef448f..3b9dd437 100644
--- a/src/technologies/m.json
+++ b/src/technologies/m.json
@@ -56,7 +56,9 @@
       "mdb.ScrollSpy": ""
     },
     "oss": true,
-    "scriptSrc": "(?:/mdbootstrap/([\\d\\.]+)/)?js/mdb\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:/mdbootstrap/([\\d\\.]+)/)?js/mdb\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://mdbootstrap.com"
   },
   "MDBootstrap WP theme": {
@@ -122,7 +124,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.mgid\\.com/",
+    "scriptSrc": [
+      "\\.mgid\\.com/"
+    ],
     "website": "https://www.mgid.com"
   },
   "MGPanel": {
@@ -141,7 +145,9 @@
       "PHP"
     ],
     "saas": true,
-    "scriptSrc": "\\.mgpanel\\.org/",
+    "scriptSrc": [
+      "\\.mgpanel\\.org/"
+    ],
     "website": "https://mgpanel.org"
   },
   "MIYN Online Appointment": {
@@ -192,7 +198,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "/assets/components/templates/\\;confidence:50",
+    "scriptSrc": [
+      "/assets/components/templates/\\;confidence:50"
+    ],
     "website": "https://modx.com/content-management-framework"
   },
   "Morphext": {
@@ -203,7 +211,9 @@
     "description": "A simple, high-performance and cross-browser jQuery rotating / carousel plugin for text phrases powered by Animate.css.",
     "icon": "Morphext.svg",
     "oss": true,
-    "scriptSrc": "morphext(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "morphext(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://morphext.fyianlai.com/"
   },
   "Morris.js": {
@@ -216,7 +226,9 @@
       "jQuery",
       "Raphael"
     ],
-    "scriptSrc": "morris(?:\\/(?:area|bar|donut|grid|hover|line))?(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "morris(?:\\/(?:area|bar|donut|grid|hover|line))?(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://morrisjs.github.io/morris.js/"
   },
   "Moxie": {
@@ -254,7 +266,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "static\\.hotishop\\.com/",
+    "scriptSrc": [
+      "static\\.hotishop\\.com/"
+    ],
     "website": "https://hotishop.com"
   },
   "MTCaptcha": {
@@ -273,7 +287,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "service(?:2)?\\.mtcaptcha\\.com/",
+    "scriptSrc": [
+      "service(?:2)?\\.mtcaptcha\\.com/"
+    ],
     "website": "https://www.mtcaptcha.com"
   },
   "MUI": {
@@ -322,7 +338,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/Newsmag(?:-child)?/",
+    "scriptSrc": [
+      "/wp-content/themes/Newsmag(?:-child)?/"
+    ],
     "website": "https://www.machothemes.com/item/newsmag-lite"
   },
   "MadAdsMedia": {
@@ -334,7 +352,9 @@
       "setMIframe": "",
       "setMRefURL": ""
     },
-    "scriptSrc": "^https?://(?:ads-by|pixel)\\.madadsmedia\\.com/",
+    "scriptSrc": [
+      "^https?://(?:ads-by|pixel)\\.madadsmedia\\.com/"
+    ],
     "website": "https://madadsmedia.com"
   },
   "MadCap Software": {
@@ -381,7 +401,9 @@
     "requires": [
       "Magento"
     ],
-    "scriptSrc": "MageWorx_SearchSuiteAutocomplete",
+    "scriptSrc": [
+      "MageWorx_SearchSuiteAutocomplete"
+    ],
     "website": "https://github.com/mageworx/search-suite-autocomplete"
   },
   "Magento": {
@@ -457,7 +479,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "\\.magisto\\.com/",
+    "scriptSrc": [
+      "\\.magisto\\.com/"
+    ],
     "website": "https://www.magisto.com"
   },
   "Magixite": {
@@ -472,7 +496,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "acc\\.magixite\\.com/",
+    "scriptSrc": [
+      "acc\\.magixite\\.com/"
+    ],
     "website": "https://acc.magixite.com"
   },
   "Magnific Popup": {
@@ -482,7 +508,9 @@
     "description": "Magnific Popup is a responsive lightbox & dialog script with focus on performance and providing best experience for user with any device.",
     "icon": "Magnific Popup.png",
     "oss": true,
-    "scriptSrc": "magnific-popup(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "magnific-popup(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://dimsemenov.com/plugins/magnific-popup/"
   },
   "MailChimp": {
@@ -532,7 +560,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/mailchimp-for-woocommerce/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/mailchimp-for-woocommerce/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://mailchimp.com/integrations/woocommerce"
   },
   "MailChimp for WordPress": {
@@ -557,7 +587,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/mailchimp-for-wp/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/mailchimp-for-wp/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.mc4wp.com"
   },
   "MailOptin": {
@@ -578,7 +610,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "mailoptin(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "mailoptin(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://mailoptin.io/"
   },
   "Mailcheck": {
@@ -588,7 +622,9 @@
     "description": "Mailcheck is a JavaScript library designed to address the issue of misspelled email addresses during user input.",
     "icon": "Mailcheck.png",
     "oss": true,
-    "scriptSrc": "mailcheck(?:\\.min)?\\.js(?:\\?v(?:er)?=(\\d+\\.\\d+\\.\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "mailcheck(?:\\.min)?\\.js(?:\\?v(?:er)?=(\\d+\\.\\d+\\.\\d+))?\\;version:\\1"
+    ],
     "website": "https://github.com/mailcheck/mailcheck"
   },
   "MailerLite": {
@@ -607,7 +643,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.mailerlite\\.com/",
+    "scriptSrc": [
+      "\\.mailerlite\\.com/"
+    ],
     "website": "https://www.mailerlite.com"
   },
   "MailerLite Website Builder": {
@@ -625,7 +663,9 @@
       "Caddy"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.mailerlite\\.com/moment/moment\\.min\\.js",
+    "scriptSrc": [
+      "cdn\\.mailerlite\\.com/moment/moment\\.min\\.js"
+    ],
     "website": "https://www.mailerlite.com/features/website-builder"
   },
   "MailerLite plugin": {
@@ -640,7 +680,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/woo-mailerlite/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/woo-mailerlite/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://ru.wordpress.org/plugins/official-mailerlite-sign-up-forms/"
   },
   "Mailgun": {
@@ -713,7 +755,9 @@
     "dom": "iframe[src*='.mainadv.com/']",
     "icon": "MainAd.svg",
     "saas": true,
-    "scriptSrc": "\\.mainadv\\.com/",
+    "scriptSrc": [
+      "\\.mainadv\\.com/"
+    ],
     "website": "https://www.mainad.com"
   },
   "Make-Sense": {
@@ -721,7 +765,9 @@
       68
     ],
     "icon": "Make-Sense.png",
-    "scriptSrc": "mk-sense\\.com/aweb\\?license",
+    "scriptSrc": [
+      "mk-sense\\.com/aweb\\?license"
+    ],
     "website": "https://mk-sense.com/"
   },
   "MakeShop": {
@@ -769,7 +815,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.gomalomo\\.com/",
+    "scriptSrc": [
+      "\\.gomalomo\\.com/"
+    ],
     "website": "https://gomalomo.com"
   },
   "Mambo": {
@@ -841,7 +889,9 @@
     "js": {
       "mcwidget": ""
     },
-    "scriptSrc": "widget\\.manychat\\.com",
+    "scriptSrc": [
+      "widget\\.manychat\\.com"
+    ],
     "website": "https://manychat.com/"
   },
   "ManyContacts": {
@@ -855,7 +905,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.manycontacts\\.com",
+    "scriptSrc": [
+      "\\.manycontacts\\.com"
+    ],
     "website": "https://www.manycontacts.com"
   },
   "MapLibre GL JS": {
@@ -870,7 +922,9 @@
       "rmap2.maplibreglCompare": ""
     },
     "oss": true,
-    "scriptSrc": "maplibre-gl@([\\d\\.]+)/dist/maplibre-gl\\.js\\;version:\\1",
+    "scriptSrc": [
+      "maplibre-gl@([\\d\\.]+)/dist/maplibre-gl\\.js\\;version:\\1"
+    ],
     "website": "https://github.com/maplibre/maplibre-gl-js"
   },
   "MapPress": {
@@ -902,7 +956,9 @@
       "mapboxgl.version": "^(.+)$\\;version:\\1\\;confidence:0"
     },
     "oss": true,
-    "scriptSrc": "mapbox-gl\\.js",
+    "scriptSrc": [
+      "mapbox-gl\\.js"
+    ],
     "website": "https://github.com/mapbox/mapbox-gl-js"
   },
   "Mapbox.js": {
@@ -916,7 +972,9 @@
       "Leaflet"
     ],
     "oss": true,
-    "scriptSrc": "api\\.mapbox\\.com/mapbox\\.js/v([\\d\\.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "api\\.mapbox\\.com/mapbox\\.js/v([\\d\\.]+)/\\;version:\\1"
+    ],
     "scripts": "api\\.mapbox\\.com/mapbox\\.js/v([\\d\\.]+)/\\;version:\\1",
     "website": "https://github.com/mapbox/mapbox.js"
   },
@@ -989,7 +1047,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.marchex\\.io/",
+    "scriptSrc": [
+      "\\.marchex\\.io/"
+    ],
     "website": "https://www.marchex.com"
   },
   "Marfeel": {
@@ -1036,7 +1096,9 @@
       "Marionette": "",
       "Marionette.VERSION": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "backbone\\.marionette.*\\.js",
+    "scriptSrc": [
+      "backbone\\.marionette.*\\.js"
+    ],
     "website": "https://marionettejs.com"
   },
   "Marked": {
@@ -1048,7 +1110,9 @@
     "js": {
       "marked": ""
     },
-    "scriptSrc": "/marked(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "/marked(?:\\.min)?\\.js"
+    ],
     "website": "https://marked.js.org"
   },
   "Marker": {
@@ -1065,7 +1129,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "edge\\.marker\\.io",
+    "scriptSrc": [
+      "edge\\.marker\\.io"
+    ],
     "website": "https://marker.io"
   },
   "Marketo": {
@@ -1081,7 +1147,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "munchkin\\.marketo\\.\\w+/(?:([\\d.]+)/)?munchkin\\.js\\;version:\\1",
+    "scriptSrc": [
+      "munchkin\\.marketo\\.\\w+/(?:([\\d.]+)/)?munchkin\\.js\\;version:\\1"
+    ],
     "website": "https://www.marketo.com"
   },
   "Marketo Forms": {
@@ -1226,7 +1294,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.mapp\\.sa/",
+    "scriptSrc": [
+      "cdn\\.mapp\\.sa/"
+    ],
     "website": "https://mapp.sa"
   },
   "Material Design Lite": {
@@ -1241,7 +1311,9 @@
     "js": {
       "MaterialIconToggle": ""
     },
-    "scriptSrc": "(?:/([\\d.]+))?/material(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:/([\\d.]+))?/material(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://getmdl.io"
   },
   "Materialize CSS": {
@@ -1252,7 +1324,9 @@
     "dom": "link[href*='/materialize.min.css']",
     "icon": "Materialize CSS.svg",
     "oss": true,
-    "scriptSrc": "([\\d\\.]+)/.*/materialize\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "([\\d\\.]+)/.*/materialize\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://materializecss.com"
   },
   "MathJax": {
@@ -1265,7 +1339,9 @@
       "MathJax": "",
       "MathJax.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "([\\d.]+)?/mathjax\\.js\\;version:\\1",
+    "scriptSrc": [
+      "([\\d.]+)?/mathjax\\.js\\;version:\\1"
+    ],
     "website": "https://www.mathjax.org"
   },
   "Matomo Analytics": {
@@ -1293,7 +1369,9 @@
       "freemium",
       "payg"
     ],
-    "scriptSrc": "piwik\\.js|piwik\\.php",
+    "scriptSrc": [
+      "piwik\\.js|piwik\\.php"
+    ],
     "website": "https://matomo.org"
   },
   "Matomo Tag Manager": {
@@ -1314,7 +1392,9 @@
     "description": "Matter.js is a 2D physics engine for the web. It provides JavaScript-based tools for simulating rigid body physics in 2D environments.",
     "icon": "Matter.js.png",
     "oss": true,
-    "scriptSrc": "matter(?:-wrap)?(?:\\/demo\\/js\\/lib(?:\\/matter-tools\\/jquery)?(?:\\/decomp)?)?(?:\\/?-?((?:\\d+\\.)+\\d+))?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "matter(?:-wrap)?(?:\\/demo\\/js\\/lib(?:\\/matter-tools\\/jquery)?(?:\\/decomp)?)?(?:\\/?-?((?:\\d+\\.)+\\d+))?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://brm.io/matter-js/"
   },
   "Mattermost": {
@@ -1350,7 +1430,9 @@
       "MauticSDK": "",
       "MauticTrackingObject": ""
     },
-    "scriptSrc": "[^a-z]mtc.*\\.js",
+    "scriptSrc": [
+      "[^a-z]mtc.*\\.js"
+    ],
     "website": "https://www.mautic.org/"
   },
   "Mavo": {
@@ -1385,7 +1467,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "(?:max)?megamenu(?:-pro)?(?:\\/assets)?(?:\\/public)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "(?:max)?megamenu(?:-pro)?(?:\\/assets)?(?:\\/public)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://www.megamenu.com/"
   },
   "MaxCDN": {
@@ -1471,7 +1555,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "tag\\.measured\\.com",
+    "scriptSrc": [
+      "tag\\.measured\\.com"
+    ],
     "website": "https://www.measured.com"
   },
   "Medallia": {
@@ -1490,7 +1576,9 @@
       "k_track": "",
       "kampyle": ""
     },
-    "scriptSrc": "cf\\.kampyle\\.com/k_button\\.js",
+    "scriptSrc": [
+      "cf\\.kampyle\\.com/k_button\\.js"
+    ],
     "website": "https://www.medallia.com"
   },
   "Media.net": {
@@ -1501,7 +1589,9 @@
     "dom": "link[href*='.media.net']",
     "icon": "Media.net.svg",
     "saas": true,
-    "scriptSrc": "\\.media\\.net/",
+    "scriptSrc": [
+      "\\.media\\.net/"
+    ],
     "website": "https://www.media.net"
   },
   "MediaElement.js": {
@@ -1553,7 +1643,9 @@
     "js": {
       "$mediavine.web": ""
     },
-    "scriptSrc": "\\.mediavine\\.com/",
+    "scriptSrc": [
+      "\\.mediavine\\.com/"
+    ],
     "website": "https://www.mediavine.com"
   },
   "Medium": {
@@ -1568,7 +1660,9 @@
     "implies": [
       "Node.js"
     ],
-    "scriptSrc": "medium\\.com",
+    "scriptSrc": [
+      "medium\\.com"
+    ],
     "url": "^https?://(?:www\\.)?medium\\.com",
     "website": "https://medium.com"
   },
@@ -1590,7 +1684,9 @@
     "description": "Meeting Scheduler is a schedule appointments widget.",
     "dom": "a[href*='bookmenow.info/book']",
     "icon": "Meeting Scheduler.png",
-    "scriptSrc": "bookmenow\\.info/(?:runtime|main).+\\.js",
+    "scriptSrc": [
+      "bookmenow\\.info/(?:runtime|main).+\\.js"
+    ],
     "website": "https://bookmenow.info"
   },
   "Megagroup CMS.S3": {
@@ -1688,7 +1784,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "memberspace\\.com(?:\\/widget)?(?:\\/\\w{0,25})?(?:\\/scripts)?(?:\\/widgets)?(?:\\/main)?\\.js",
+    "scriptSrc": [
+      "memberspace\\.com(?:\\/widget)?(?:\\/\\w{0,25})?(?:\\/scripts)?(?:\\/widgets)?(?:\\/main)?\\.js"
+    ],
     "website": "https://www.memberspace.com"
   },
   "MemberStack": {
@@ -1709,7 +1807,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "memberstack\\.js",
+    "scriptSrc": [
+      "memberstack\\.js"
+    ],
     "url": "^https?//.+\\.memberstack\\.io",
     "website": "https://www.memberstack.io"
   },
@@ -1726,7 +1826,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.mention-me\\.com/",
+    "scriptSrc": [
+      "\\.mention-me\\.com/"
+    ],
     "website": "https://www.mention-me.com"
   },
   "Menufy Online Ordering": {
@@ -1755,7 +1857,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "sitecontent-menufycom\\.netdna-ssl\\.com/",
+    "scriptSrc": [
+      "sitecontent-menufycom\\.netdna-ssl\\.com/"
+    ],
     "website": "https://restaurant.menufy.com"
   },
   "Mercado Shops": {
@@ -1771,7 +1875,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "frontend-assets/mshops-web-home/vendor",
+    "scriptSrc": [
+      "frontend-assets/mshops-web-home/vendor"
+    ],
     "website": "https://www.mercadoshops.com"
   },
   "Mermaid": {
@@ -1784,7 +1890,9 @@
     "js": {
       "mermaid": ""
     },
-    "scriptSrc": "/mermaid(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "/mermaid(?:\\.min)?\\.js"
+    ],
     "website": "https://mermaidjs.github.io/"
   },
   "Mesmerize Companion": {
@@ -1798,7 +1906,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "mesmerize-companion\\/theme-data\\/mesmerize\\/assets\\/js\\/companion(?:\\.bundle)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "mesmerize-companion\\/theme-data\\/mesmerize\\/assets\\/js\\/companion(?:\\.bundle)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/mesmerize-companion"
   },
   "MetaSlider": {
@@ -1816,7 +1926,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/ml-slider(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/plugins/ml-slider(?:-pro)?/"
+    ],
     "website": "https://www.metaslider.com"
   },
   "Meteor": {
@@ -1882,7 +1994,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.metrilo\\.com/",
+    "scriptSrc": [
+      "\\.metrilo\\.com/"
+    ],
     "website": "https://www.metrilo.com"
   },
   "MetroUI": {
@@ -1921,7 +2035,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "metronet-profile-picture(?:\\/js)?(?:\\/mpp-frontend)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "metronet-profile-picture(?:\\/js)?(?:\\/mpp-frontend)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/metronet-profile-picture/"
   },
   "Mews": {
@@ -1939,7 +2055,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.mews\\.li/",
+    "scriptSrc": [
+      "\\.mews\\.li/"
+    ],
     "website": "https://www.mews.com"
   },
   "Microsoft 365": {
@@ -1997,7 +2115,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "bat\\.bing\\.com/bat\\.js",
+    "scriptSrc": [
+      "bat\\.bing\\.com/bat\\.js"
+    ],
     "website": "https://ads.microsoft.com"
   },
   "Microsoft Ajax Content Delivery Network": {
@@ -2006,7 +2126,9 @@
     ],
     "description": "Microsoft Ajax Content Delivery Network hosts popular third party JavaScript libraries such as jQuery and enables you to easily add them to your web applications.",
     "icon": "Microsoft.svg",
-    "scriptSrc": "ajax\\.aspnetcdn\\.com/ajax/",
+    "scriptSrc": [
+      "ajax\\.aspnetcdn\\.com/ajax/"
+    ],
     "website": "https://docs.microsoft.com/en-us/aspnet/ajax/cdn/overview"
   },
   "Microsoft Application Insights": {
@@ -2073,7 +2195,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "www\\.clarity\\.ms/.+/([\\d.]+)/clarity\\.js\\;version:\\1",
+    "scriptSrc": [
+      "www\\.clarity\\.ms/.+/([\\d.]+)/clarity\\.js\\;version:\\1"
+    ],
     "website": "https://clarity.microsoft.com"
   },
   "Microsoft Dynamics 365 Commerce": {
@@ -2091,7 +2215,9 @@
       "Azure"
     ],
     "saas": true,
-    "scriptSrc": "\\.dynamics365commerce\\.ms/",
+    "scriptSrc": [
+      "\\.dynamics365commerce\\.ms/"
+    ],
     "website": "https://dynamics.microsoft.com/commerce/overview"
   },
   "Microsoft Excel": {
@@ -2225,7 +2351,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "[Mm]icroweber(?:\\/includes)?(?:\\/api)?(?:\\/libs)?[\\w\\.\\/-]{0,45}(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "[Mm]icroweber(?:\\/includes)?(?:\\/api)?(?:\\/libs)?[\\w\\.\\/-]{0,45}(?:\\.min)?\\.js"
+    ],
     "website": "https://microweber.com"
   },
   "Miestro": {
@@ -2242,7 +2370,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.miestro\\.com",
+    "scriptSrc": [
+      "\\.miestro\\.com"
+    ],
     "website": "https://miestro.com"
   },
   "Mighty Network": {
@@ -2330,7 +2460,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\w+\\.healcode\\.com",
+    "scriptSrc": [
+      "\\w+\\.healcode\\.com"
+    ],
     "website": "https://www.mindbodyonline.com"
   },
   "Mindbox": {
@@ -2373,7 +2505,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "miniorange-login-openid\\/includes\\/js(?:\\/mo_openid_jquery)?(?:\\/mo-openid-social_login)?(?:\\/social_login)?(?:\\/jquery)?(?:\\.cookie)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "miniorange-login-openid\\/includes\\/js(?:\\/mo_openid_jquery)?(?:\\/mo-openid-social_login)?(?:\\/social_login)?(?:\\/jquery)?(?:\\.cookie)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/miniorange-login-openid"
   },
   "MiniServ": {
@@ -2398,7 +2532,9 @@
     "js": {
       "Mint": ""
     },
-    "scriptSrc": "mint/\\?js",
+    "scriptSrc": [
+      "mint/\\?js"
+    ],
     "website": "https://haveamint.com"
   },
   "Mintlify": {
@@ -2457,7 +2593,9 @@
     "description": "A Javascript Framework for building applications.",
     "icon": "Mithril.svg",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?mithril(?:[\\.-]min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?mithril(?:[\\.-]min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://mithril.js.org/"
   },
   "Mittwald": {
@@ -2494,7 +2632,9 @@
       "mivaJS.Screen": "",
       "mivaJS.Store_Code": ""
     },
-    "scriptSrc": "mvga\\.js",
+    "scriptSrc": [
+      "mvga\\.js"
+    ],
     "website": "https://www.miva.com"
   },
   "Mixin": {
@@ -2519,7 +2659,9 @@
     ],
     "description": "A CSS3 and jQuery Filter & Sort Plugin.",
     "icon": "kunkalabs.svg",
-    "scriptSrc": "mixitup(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "mixitup(?:\\.min)?\\.js"
+    ],
     "website": "https://www.kunkalabs.com/mixitup/"
   },
   "Mixpanel": {
@@ -2587,7 +2729,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.moengage\\.\\w+",
+    "scriptSrc": [
+      "cdn\\.moengage\\.\\w+"
+    ],
     "website": "https://www.moengage.com"
   },
   "MobX": {
@@ -2600,7 +2744,9 @@
       "__mobxGlobals": "",
       "__mobxInstanceCount": ""
     },
-    "scriptSrc": "(?:/([\\d\\.]+))?/mobx(?:\\.[a-z]+){0,2}\\.js(?:$|\\?)\\;version:\\1",
+    "scriptSrc": [
+      "(?:/([\\d\\.]+))?/mobx(?:\\.[a-z]+){0,2}\\.js(?:$|\\?)\\;version:\\1"
+    ],
     "website": "https://mobx.js.org"
   },
   "Mobify": {
@@ -2645,7 +2791,9 @@
       "MochiKit": "",
       "MochiKit.MochiKit.VERSION": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "MochiKit(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "MochiKit(?:\\.min)?\\.js"
+    ],
     "website": "https://mochi.github.io/mochikit/"
   },
   "MochiWeb": {
@@ -2690,7 +2838,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.modiface\\.com/",
+    "scriptSrc": [
+      "\\.modiface\\.com/"
+    ],
     "website": "https://modiface.com"
   },
   "Modified": {
@@ -2730,7 +2880,9 @@
     "implies": [
       "PHP"
     ],
-    "scriptSrc": "mg-(?:core|plugins|templates)/",
+    "scriptSrc": [
+      "mg-(?:core|plugins|templates)/"
+    ],
     "website": "https://moguta.ru"
   },
   "MoinMoin": {
@@ -2749,7 +2901,9 @@
     "js": {
       "show_switch2gui": ""
     },
-    "scriptSrc": "moin(?:_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\1.\\2.\\3",
+    "scriptSrc": [
+      "moin(?:_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\1.\\2.\\3"
+    ],
     "website": "https://moinmo.in"
   },
   "Mojolicious": {
@@ -2774,7 +2928,9 @@
     "description": "Mokka is a Buy Now Pay Later solution that connects target customer acquisition and settlement costs through marketing and promotion.",
     "icon": "Mokka.svg",
     "saas": true,
-    "scriptSrc": "revoiframe\\.js",
+    "scriptSrc": [
+      "revoiframe\\.js"
+    ],
     "website": "https://mokka.ro"
   },
   "Mollie": {
@@ -2787,7 +2943,9 @@
       "Mollie": ""
     },
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/mollie-payments-for-woocommerce/",
+    "scriptSrc": [
+      "/wp-content/plugins/mollie-payments-for-woocommerce/"
+    ],
     "website": "https://www.mollie.com"
   },
   "Mollom": {
@@ -2799,7 +2957,9 @@
       "<img[^>]+\\.mollom\\.com"
     ],
     "icon": "Mollom.png",
-    "scriptSrc": "mollom(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "mollom(?:\\.min)?\\.js"
+    ],
     "website": "https://mollom.com"
   },
   "Moment Timezone": {
@@ -2810,7 +2970,9 @@
     "implies": [
       "Moment.js"
     ],
-    "scriptSrc": "moment-timezone(?:-data)?(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "moment-timezone(?:-data)?(?:\\.min)?\\.js"
+    ],
     "website": "https://momentjs.com/timezone/"
   },
   "Moment.js": {
@@ -2824,7 +2986,9 @@
       "moment": "",
       "moment.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "moment(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "moment(?:\\.min)?\\.js"
+    ],
     "website": "https://momentjs.com"
   },
   "Monaco Editor": {
@@ -2900,7 +3064,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/woocommerce-gateway-moneris/",
+    "scriptSrc": [
+      "/wp-content/plugins/woocommerce-gateway-moneris/"
+    ],
     "website": "https://wordpress.org/plugins/wc-moneris-payment-gateway"
   },
   "Monetate": {
@@ -2919,7 +3085,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.monetate\\.net",
+    "scriptSrc": [
+      "\\.monetate\\.net"
+    ],
     "website": "https://monetate.com"
   },
   "MongoDB": {
@@ -2977,7 +3145,9 @@
     "js": {
       "_monoTracker": ""
     },
-    "scriptSrc": "monotracker(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "monotracker(?:\\.min)?\\.js"
+    ],
     "website": "https://www.mono.net/en"
   },
   "Monsido": {
@@ -3018,7 +3188,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/google-analytics-for-wordpress/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/google-analytics-for-wordpress/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.monsterinsights.com"
   },
   "MooTools": {
@@ -3031,7 +3203,9 @@
       "MooTools": "",
       "MooTools.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "mootools.*\\.js",
+    "scriptSrc": [
+      "mootools.*\\.js"
+    ],
     "website": "https://mootools.net"
   },
   "Moodle": {
@@ -3065,7 +3239,9 @@
       12
     ],
     "icon": "moon.svg",
-    "scriptSrc": "/moon(?:\\.min)?\\.js$",
+    "scriptSrc": [
+      "/moon(?:\\.min)?\\.js$"
+    ],
     "website": "https://kbrsh.github.io/moon/"
   },
   "Moove GDPR Consent": {
@@ -3102,7 +3278,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "deploy\\.mopinion\\.com/",
+    "scriptSrc": [
+      "deploy\\.mopinion\\.com/"
+    ],
     "website": "https://mopinion.com"
   },
   "Moshimo": {
@@ -3112,7 +3290,9 @@
     "description": "Moshimo is a free affiliate service for individuals.",
     "dom": "link[href*='i.moshimo.com'], img[src*='i.moshimo.com']",
     "icon": "Moshimo.png",
-    "scriptSrc": "\\.moshimo\\.com/af/",
+    "scriptSrc": [
+      "\\.moshimo\\.com/af/"
+    ],
     "website": "https://af.moshimo.com"
   },
   "Motherhost": {
@@ -3143,7 +3323,9 @@
       "AngularJS",
       "jQuery"
     ],
-    "scriptSrc": "/mt-includes/js/website(?:assets)?\\.(?:min)?\\.js",
+    "scriptSrc": [
+      "/mt-includes/js/website(?:assets)?\\.(?:min)?\\.js"
+    ],
     "website": "https://motocms.com"
   },
   "Mountain": {
@@ -3225,7 +3407,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.getmulberry\\.com/",
+    "scriptSrc": [
+      "\\.getmulberry\\.com/"
+    ],
     "website": "https://www.getmulberry.com"
   },
   "Mura CMS": {
@@ -3257,7 +3441,9 @@
     "js": {
       "Mustache.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "mustache(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "mustache(?:\\.min)?\\.js"
+    ],
     "website": "https://mustache.github.io"
   },
   "Muuri": {
@@ -3326,7 +3512,9 @@
       5
     ],
     "icon": "MyBlogLog.png",
-    "scriptSrc": "pub\\.mybloglog\\.com",
+    "scriptSrc": [
+      "pub\\.mybloglog\\.com"
+    ],
     "website": "https://www.mybloglog.com"
   },
   "MyCashFlow": {
@@ -3370,7 +3558,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "mylivechat\\.com/",
+    "scriptSrc": [
+      "mylivechat\\.com/"
+    ],
     "website": "https://mylivechat.com"
   },
   "MyOnlineStore": {
@@ -3522,7 +3712,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/news-portal(?:-pro)?/.+np-custom-scripts\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/news-portal(?:-pro)?/.+np-custom-scripts\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://mysterythemes.com/wp-themes/news-portal"
   },
   "MysteryThemes News Portal Lite": {
@@ -3576,7 +3768,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.mparticle\\.com/",
+    "scriptSrc": [
+      "\\.mparticle\\.com/"
+    ],
     "website": "https://www.mparticle.com"
   },
   "math.js": {
@@ -3589,7 +3783,9 @@
       "mathjs": ""
     },
     "oss": true,
-    "scriptSrc": "math(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "math(?:\\.min)?\\.js"
+    ],
     "website": "https://mathjs.org"
   },
   "mdBook": {
@@ -3615,7 +3811,9 @@
       "metisMenu": ""
     },
     "oss": true,
-    "scriptSrc": "(?:/|\\.)metisMenu(?:js)?(?:\\.min)?\\.js(?:\\?([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "(?:/|\\.)metisMenu(?:js)?(?:\\.min)?\\.js(?:\\?([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://github.com/onokumus/metismenu"
   },
   "microCMS": {
@@ -3668,7 +3866,9 @@
     ],
     "description": "Mobicred is a credit facility that allows you to safely shop online with our participating retailers.",
     "icon": "Mobicred.png",
-    "scriptSrc": "app\\.mobicredwidget\\.co\\.za",
+    "scriptSrc": [
+      "app\\.mobicredwidget\\.co\\.za"
+    ],
     "website": "https://mobicred.co.za/"
   },
   "mobile-detect.js": {
@@ -3677,7 +3877,9 @@
     ],
     "description": "Mobile-detect.js is a compact JavaScript library designed to detect devices by comparing patterns against a given User-Agent string.",
     "oss": true,
-    "scriptSrc": "mobile-detect(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "mobile-detect(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://hgoebl.github.io/mobile-detect.js/doc/MobileDetect.html"
   },
   "mod_auth_pam": {
diff --git a/src/technologies/n.json b/src/technologies/n.json
index d5fbe531..c20acd65 100644
--- a/src/technologies/n.json
+++ b/src/technologies/n.json
@@ -61,7 +61,9 @@
       "nv.addGraph": "",
       "nv.version": "^(.+)$\\;confidence:0\\;version:\\1"
     },
-    "scriptSrc": "nv\\.d3(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "nv\\.d3(?:\\.min)?\\.js"
+    ],
     "website": "https://nvd3.org"
   },
   "Nacelle": {
@@ -119,7 +121,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.nagich\\.co(?:m|\\.il)/core/([\\d.]+)/accessibility\\.js\\;version:\\1",
+    "scriptSrc": [
+      "\\.nagich\\.co(?:m|\\.il)/core/([\\d.]+)/accessibility\\.js\\;version:\\1"
+    ],
     "website": "https://www.nagich.co.il"
   },
   "NagishLi": {
@@ -173,7 +177,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "app\\.najva\\.com/",
+    "scriptSrc": [
+      "app\\.najva\\.com/"
+    ],
     "website": "https://www.najva.com"
   },
   "Narrativ": {
@@ -182,7 +188,9 @@
     ],
     "description": "Narrativ is a subscription technology platform for brands to acquire new customers through trusted creators.",
     "icon": "Narrativ.png",
-    "scriptSrc": "static\\.narrativ\\.com/",
+    "scriptSrc": [
+      "static\\.narrativ\\.com/"
+    ],
     "website": "https://narrativ.com/"
   },
   "Narvar": {
@@ -249,7 +257,9 @@
       10
     ],
     "icon": "Navegg.png",
-    "scriptSrc": "tag\\.navdmp\\.com",
+    "scriptSrc": [
+      "tag\\.navdmp\\.com"
+    ],
     "website": "https://www.navegg.com/"
   },
   "Naver Analytics": {
@@ -266,7 +276,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "wcs\\.naver\\.net/wcslog\\.js",
+    "scriptSrc": [
+      "wcs\\.naver\\.net/wcslog\\.js"
+    ],
     "website": "https://analytics.naver.com"
   },
   "Naver Maps": {
@@ -283,7 +295,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "openapi\\.map\\.naver\\.com/openapi/v([\\d\\.]+)\\;version:\\1",
+    "scriptSrc": [
+      "openapi\\.map\\.naver\\.com/openapi/v([\\d\\.]+)\\;version:\\1"
+    ],
     "website": "https://www.ncloud.com/product/applicationService/maps"
   },
   "Naver RUA": {
@@ -297,7 +311,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "rua-api\\.ncloud\\.com/",
+    "scriptSrc": [
+      "rua-api\\.ncloud\\.com/"
+    ],
     "website": "https://analytics.naver.com"
   },
   "Navidium Shipping Protection": {
@@ -314,7 +330,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "^.*/navidium-extension-checker\\.js$",
+    "scriptSrc": [
+      "^.*/navidium-extension-checker\\.js$"
+    ],
     "website": "https://navidiumapp.com"
   },
   "Neat A/B testing": {
@@ -332,7 +350,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.neatab\\.com/",
+    "scriptSrc": [
+      "cdn\\.neatab\\.com/"
+    ],
     "website": "https://neatab.com"
   },
   "Neon CRM": {
@@ -435,7 +455,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.netcoresmartech\\.com/",
+    "scriptSrc": [
+      "\\.netcoresmartech\\.com/"
+    ],
     "website": "https://netcorecloud.com"
   },
   "Netdeal": {
@@ -497,7 +519,9 @@
     "js": {
       "NETO": ""
     },
-    "scriptSrc": "jquery\\.neto.*\\.js",
+    "scriptSrc": [
+      "jquery\\.neto.*\\.js"
+    ],
     "website": "https://www.neto.com.au"
   },
   "Nette Framework": {
@@ -536,7 +560,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.networkforgood\\.com/",
+    "scriptSrc": [
+      "\\.networkforgood\\.com/"
+    ],
     "website": "https://www.networkforgood.com"
   },
   "Neve": {
@@ -558,7 +584,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "themes/neve\\S*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "themes/neve\\S*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1"
+    ],
     "website": "https://themeisle.com/themes/neve/"
   },
   "New Relic": {
@@ -595,7 +623,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.api\\.highstreetapp\\.com/",
+    "scriptSrc": [
+      "\\.api\\.highstreetapp\\.com/"
+    ],
     "website": "https://www.newstore.com"
   },
   "Newspack": {
@@ -664,7 +694,9 @@
     "pricing": [
       "poa"
     ],
-    "scriptSrc": "\\.nextdirect\\.com/",
+    "scriptSrc": [
+      "\\.nextdirect\\.com/"
+    ],
     "website": "https://www.next.co.uk"
   },
   "Next.js": {
@@ -724,7 +756,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/nextgen-gallery/js/",
+    "scriptSrc": [
+      "/nextgen-gallery/js/"
+    ],
     "website": "https://www.imagely.com/wordpress-gallery-plugin"
   },
   "NextUI": {
@@ -774,7 +808,9 @@
     ],
     "description": "Nextdoor Ads is an easy-to-use expansion of Nextdoor’s proprietary self-serve campaign management platform, designed to help small and medium-sized businesses (SMBs) advertise on Nextdoor.",
     "icon": "Nextdoor Ads.png",
-    "scriptSrc": "ads\\.nextdoor\\.com/",
+    "scriptSrc": [
+      "ads\\.nextdoor\\.com/"
+    ],
     "website": "https://help.nextdoor.com/s/article/About-Neighborhood-Ad-Center-NAC-Conversion-Pixel"
   },
   "Nextra": {
@@ -814,7 +850,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:api|sdk)\\.nextsale\\.io/",
+    "scriptSrc": [
+      "(?:api|sdk)\\.nextsale\\.io/"
+    ],
     "website": "https://nextsale.io"
   },
   "NexusPHP": {
@@ -934,7 +972,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/ninja-forms/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/ninja-forms/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://ninjaforms.com"
   },
   "NitroPack": {
@@ -960,7 +1000,9 @@
     ],
     "requiresCategory": 6,
     "saas": true,
-    "scriptSrc": "services\\.nofraud\\.com/",
+    "scriptSrc": [
+      "services\\.nofraud\\.com/"
+    ],
     "website": "https://www.nofraud.com"
   },
   "Noddus": {
@@ -974,7 +1016,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "noddus\\.com/",
+    "scriptSrc": [
+      "noddus\\.com/"
+    ],
     "website": "https://www.enterprise.noddus.com"
   },
   "Node.js": {
@@ -1004,7 +1048,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/nodebb\\.min\\.js\\?",
+    "scriptSrc": [
+      "/nodebb\\.min\\.js\\?"
+    ],
     "website": "https://nodebb.org"
   },
   "NodePing": {
@@ -1037,7 +1083,9 @@
       "poa"
     ],
     "requiresCategory": 6,
-    "scriptSrc": "\\.nogin\\.com/",
+    "scriptSrc": [
+      "\\.nogin\\.com/"
+    ],
     "website": "https://www.nogin.com"
   },
   "Noibu": {
@@ -1073,7 +1121,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "nsg\\.symantec\\.com/",
+    "scriptSrc": [
+      "nsg\\.symantec\\.com/"
+    ],
     "website": "https://norton.buysafe.com"
   },
   "Nosto": {
@@ -1094,7 +1144,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "connect\\.nosto\\.\\w+/",
+    "scriptSrc": [
+      "connect\\.nosto\\.\\w+/"
+    ],
     "website": "https://www.nosto.com"
   },
   "Nosto Visual UGC": {
@@ -1112,7 +1164,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.stackla\\.com/",
+    "scriptSrc": [
+      "\\.stackla\\.com/"
+    ],
     "website": "https://www.nosto.com/products/visual-ugc/"
   },
   "Notion": {
@@ -1184,7 +1238,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.nuqlium\\.com/api",
+    "scriptSrc": [
+      "\\.nuqlium\\.com/api"
+    ],
     "website": "https://www.nuqlium.com"
   },
   "Nuvemshop": {
diff --git a/src/technologies/o.json b/src/technologies/o.json
index e186606a..6dbdf1c7 100644
--- a/src/technologies/o.json
+++ b/src/technologies/o.json
@@ -42,7 +42,9 @@
     "implies": [
       "jQuery"
     ],
-    "scriptSrc": "owl\\.carousel.*\\.js",
+    "scriptSrc": [
+      "owl\\.carousel.*\\.js"
+    ],
     "website": "https://owlcarousel2.github.io/OwlCarousel2/"
   },
   "OXID eShop": {
@@ -141,7 +143,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.shopify\\.com/extensions/.+/([\\.\\d]{3,})/assets/upsell\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.shopify\\.com/extensions/.+/([\\.\\d]{3,})/assets/upsell\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://obsidianapps.co"
   },
   "Obsidian Publish": {
@@ -183,7 +187,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "deploy\\.hiconversion\\.com",
+    "scriptSrc": [
+      "deploy\\.hiconversion\\.com"
+    ],
     "website": "https://www.obviyo.com"
   },
   "Occasion": {
@@ -206,7 +212,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.getoccasion\\.com",
+    "scriptSrc": [
+      "app\\.getoccasion\\.com"
+    ],
     "website": "https://www.getoccasion.com"
   },
   "OceanWP": {
@@ -232,7 +240,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "themes/oceanwp\\S*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "themes/oceanwp\\S*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1"
+    ],
     "website": "https://oceanwp.org"
   },
   "Ochanoko": {
@@ -249,7 +259,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "ocnk-min\\.js",
+    "scriptSrc": [
+      "ocnk-min\\.js"
+    ],
     "website": "https://www.ocnk.com"
   },
   "Oct8ne": {
@@ -267,7 +279,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.oct8ne\\.com/",
+    "scriptSrc": [
+      "\\.oct8ne\\.com/"
+    ],
     "website": "https://oct8ne.com"
   },
   "Octane AI": {
@@ -285,7 +299,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.octaneai\\.com/",
+    "scriptSrc": [
+      "\\.octaneai\\.com/"
+    ],
     "website": "https://www.octaneai.com"
   },
   "October CMS": {
@@ -324,7 +340,9 @@
     "meta": {
       "generator": "Octopress"
     },
-    "scriptSrc": "/octopress\\.js",
+    "scriptSrc": [
+      "/octopress\\.js"
+    ],
     "website": "https://octopress.org"
   },
   "Ocuco FitMix": {
@@ -364,7 +382,9 @@
       "generator": "Odoo"
     },
     "oss": true,
-    "scriptSrc": "/web/js/(?:web\\.assets_common/|website\\.assets_frontend/)\\;confidence:25",
+    "scriptSrc": [
+      "/web/js/(?:web\\.assets_common/|website\\.assets_frontend/)\\;confidence:25"
+    ],
     "website": "https://odoo.com"
   },
   "Oh Dear": {
@@ -381,7 +401,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.ohdear\\.app/",
+    "scriptSrc": [
+      "\\.ohdear\\.app/"
+    ],
     "website": "https://ohdear.app"
   },
   "Okendo": {
@@ -432,7 +454,9 @@
       "freemium",
       "recurring"
     ],
-    "scriptSrc": "oktacdn\\.com/.+/([\\d.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "oktacdn\\.com/.+/([\\d.]+)/\\;version:\\1"
+    ],
     "website": "https://developer.okta.com"
   },
   "Olapic": {
@@ -466,7 +490,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.olark\\.com/",
+    "scriptSrc": [
+      "\\.olark\\.com/"
+    ],
     "website": "https://www.olark.com/"
   },
   "Omeka": {
@@ -503,7 +529,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.ometria\\.com",
+    "scriptSrc": [
+      "cdn\\.ometria\\.com"
+    ],
     "website": "https://ometria.com"
   },
   "Omise": {
@@ -519,7 +547,9 @@
     "pricing": [
       "payg"
     ],
-    "scriptSrc": "cdn\\.omise\\.co",
+    "scriptSrc": [
+      "cdn\\.omise\\.co"
+    ],
     "website": "https://www.omise.co"
   },
   "Omni CMS": {
@@ -549,7 +579,9 @@
       "mid",
       "recurring"
     ],
-    "scriptSrc": "cdn\\.omniconvert\\.com",
+    "scriptSrc": [
+      "cdn\\.omniconvert\\.com"
+    ],
     "website": "https://www.omniconvert.com"
   },
   "Omnisend": {
@@ -574,7 +606,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "omnisrc\\.com",
+    "scriptSrc": [
+      "omnisrc\\.com"
+    ],
     "website": "https://www.omnisend.com"
   },
   "Omnisend Email Marketing & SMS": {
@@ -595,7 +629,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "omnis(?:nippet1|rc)\\.com/inShop/Embed/shopify\\.js",
+    "scriptSrc": [
+      "omnis(?:nippet1|rc)\\.com/inShop/Embed/shopify\\.js"
+    ],
     "website": "https://apps.shopify.com/omnisend"
   },
   "Omny Studio": {
@@ -706,7 +742,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "api\\.oneall\\.com/socialize",
+    "scriptSrc": [
+      "api\\.oneall\\.com/socialize"
+    ],
     "website": "https://www.oneall.com"
   },
   "OneCause": {
@@ -720,7 +758,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.onecause\\.com/",
+    "scriptSrc": [
+      "\\.onecause\\.com/"
+    ],
     "website": "https://www.onecause.com"
   },
   "OnePage Express": {
@@ -742,7 +782,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/one-page-express(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/one-page-express(?:-pro)?/"
+    ],
     "website": "https://onepageexpress.com"
   },
   "OnePress Social Locker": {
@@ -762,7 +804,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/social-?locker(?:-next-premium)?/bizpanda/assets/",
+    "scriptSrc": [
+      "/wp-content/plugins/social-?locker(?:-next-premium)?/bizpanda/assets/"
+    ],
     "website": "https://wordpress.org/plugins/social-locker"
   },
   "OneSignal": {
@@ -782,7 +826,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.onesignal\\.com",
+    "scriptSrc": [
+      "cdn\\.onesignal\\.com"
+    ],
     "website": "https://onesignal.com"
   },
   "OneStat": {
@@ -831,7 +877,9 @@
       "payg"
     ],
     "requiresCategory": 6,
-    "scriptSrc": "/modules/oney(?:/)?/views/js/front\\.js",
+    "scriptSrc": [
+      "/modules/oney(?:/)?/views/js/front\\.js"
+    ],
     "website": "https://www.oney.com"
   },
   "Onfido": {
@@ -869,7 +917,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.speedtestcustom\\.com/",
+    "scriptSrc": [
+      "\\.speedtestcustom\\.com/"
+    ],
     "website": "https://www.ookla.com/speedtest-custom"
   },
   "Oopy": {
@@ -1081,7 +1131,9 @@
       "Java"
     ],
     "oss": true,
-    "scriptSrc": "opencms",
+    "scriptSrc": [
+      "opencms"
+    ],
     "website": "https://www.opencms.org"
   },
   "OpenElement": {
@@ -1144,7 +1196,9 @@
       "ol.CanvasMap": ""
     },
     "oss": true,
-    "scriptSrc": "openlayers",
+    "scriptSrc": [
+      "openlayers"
+    ],
     "website": "https://openlayers.org"
   },
   "OpenNemas": {
@@ -1167,7 +1221,9 @@
     ],
     "description": "Openpay is an innovative online and in-store payment solution enabling you to purchase now and pay later, with no interest.",
     "icon": "openpay.png",
-    "scriptSrc": "openpay\\.com.\\au",
+    "scriptSrc": [
+      "openpay\\.com.\\au"
+    ],
     "website": "https://www.openpay.com.au/"
   },
   "OpenResty": {
@@ -1258,7 +1314,9 @@
     "js": {
       "sap.ui.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "sap-ui-core\\.js",
+    "scriptSrc": [
+      "sap-ui-core\\.js"
+    ],
     "website": "https://openui5.org/"
   },
   "OpenWeb": {
@@ -1306,7 +1364,9 @@
     "pricing": [
       "poa"
     ],
-    "scriptSrc": "//dealer-cdn\\.com/",
+    "scriptSrc": [
+      "//dealer-cdn\\.com/"
+    ],
     "website": "https://operatebeyond.com/dealer-websites-marketing"
   },
   "Opigno LMS": {
@@ -1336,7 +1396,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.foresee\\.com/code/([\\d.]+)-oo/oo_engine\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "\\.foresee\\.com/code/([\\d.]+)-oo/oo_engine\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://www.opinionlab.com"
   },
   "OptiMonk": {
@@ -1353,7 +1415,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "\\.optimonk\\.com/",
+    "scriptSrc": [
+      "\\.optimonk\\.com/"
+    ],
     "website": "https://www.optimonk.com"
   },
   "Optimise": {
@@ -1366,7 +1430,9 @@
     "js": {
       "OMID": "^[0-9]+$"
     },
-    "scriptSrc": "track\\.omguk\\.com",
+    "scriptSrc": [
+      "track\\.omguk\\.com"
+    ],
     "website": "https://www.optimisemedia.com"
   },
   "Optimizely": {
@@ -1389,7 +1455,9 @@
       "high"
     ],
     "saas": true,
-    "scriptSrc": "optimizely\\.com.*\\.js",
+    "scriptSrc": [
+      "optimizely\\.com.*\\.js"
+    ],
     "website": "https://www.optimizely.com"
   },
   "Optimizely Commerce": {
@@ -1439,7 +1507,9 @@
     "pricing": [
       "poa"
     ],
-    "scriptSrc": "\\.episerver.net/",
+    "scriptSrc": [
+      "\\.episerver.net/"
+    ],
     "website": "https://www.optimizely.com/products/content/"
   },
   "Optimove": {
@@ -1457,7 +1527,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.optimove\\.net/.+v([\\d\\.]+)\\.js\\;version:\\1",
+    "scriptSrc": [
+      "\\.optimove\\.net/.+v([\\d\\.]+)\\.js\\;version:\\1"
+    ],
     "website": "https://www.optimove.com"
   },
   "OptinMonster": {
@@ -1491,7 +1563,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/optinmonster/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/optinmonster/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://optinmonster.com"
   },
   "Oracle Application Express": {
@@ -1535,7 +1609,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "tags\\.(?:bluekai|bkrtx)\\.com/",
+    "scriptSrc": [
+      "tags\\.(?:bluekai|bkrtx)\\.com/"
+    ],
     "website": "https://www.oracle.com/cx/marketing/data-management-platform"
   },
   "Oracle Commerce": {
@@ -1599,7 +1675,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "c\\.oracleinfinity\\.io",
+    "scriptSrc": [
+      "c\\.oracleinfinity\\.io"
+    ],
     "website": "https://www.oracle.com/cx/marketing/digital-intelligence/"
   },
   "Oracle Maxymiser": {
@@ -1617,7 +1695,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "service\\.maxymiser\\.net",
+    "scriptSrc": [
+      "service\\.maxymiser\\.net"
+    ],
     "website": "https://www.oracle.com/uk/cx/marketing/personalization-testing"
   },
   "Oracle Moat Measurement": {
@@ -1636,7 +1716,9 @@
       10
     ],
     "icon": "Oracle.svg",
-    "scriptSrc": "atgsvcs.+atgsvcs\\.js",
+    "scriptSrc": [
+      "atgsvcs.+atgsvcs\\.js"
+    ],
     "website": "https://www.oracle.com/us/products/applications/commerce/recommendations-on-demand/index.html"
   },
   "Oracle Web Cache": {
@@ -1682,7 +1764,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "www\\.orankl\\.com/",
+    "scriptSrc": [
+      "www\\.orankl\\.com/"
+    ],
     "website": "https://www.orankl.com"
   },
   "Orbit Slider": {
@@ -1727,7 +1811,9 @@
       "generator": "Orchard"
     },
     "oss": true,
-    "scriptSrc": "/OrchardCore\\.",
+    "scriptSrc": [
+      "/OrchardCore\\."
+    ],
     "website": "https://orchardcore.net"
   },
   "Orckestra": {
@@ -1843,7 +1929,9 @@
       "recurring",
       "mid"
     ],
-    "scriptSrc": "\\.ordergroove\\.com/",
+    "scriptSrc": [
+      "\\.ordergroove\\.com/"
+    ],
     "website": "https://www.ordergroove.com/"
   },
   "Ordersify Product Alerts": {
@@ -1864,7 +1952,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.ordersify\\.com/sdk/productalerts-shopify\\.js",
+    "scriptSrc": [
+      "cdn\\.ordersify\\.com/sdk/productalerts-shopify\\.js"
+    ],
     "website": "https://ordersify.com/products/product-alerts"
   },
   "OroCommerce": {
@@ -1900,7 +1990,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cmp\\.osano\\.com/",
+    "scriptSrc": [
+      "cmp\\.osano\\.com/"
+    ],
     "website": "https://www.osano.com"
   },
   "Osterreichische Post": {
@@ -1936,7 +2028,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "scripts/OutSystems(?:[\\w]+)?\\.js",
+    "scriptSrc": [
+      "scripts/OutSystems(?:[\\w]+)?\\.js"
+    ],
     "website": "https://www.outsystems.com"
   },
   "OutTheBoxThemes Panoramic": {
@@ -1953,7 +2047,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/panoramic/.+custom\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/panoramic/.+custom\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.outtheboxthemes.com/wordpress-themes/panoramic"
   },
   "Outbrain": {
@@ -1973,7 +2069,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.outbrain\\.com/",
+    "scriptSrc": [
+      "\\.outbrain\\.com/"
+    ],
     "website": "https://www.outbrain.com"
   },
   "Outlook Web App": {
@@ -2021,7 +2119,9 @@
     "description": "Oxi Social Login provides one click login with services like Facebook, Google and many more.",
     "icon": "OxiSocialLogin.png",
     "saas": true,
-    "scriptSrc": "social-login\\.oxiapps\\.com",
+    "scriptSrc": [
+      "social-login\\.oxiapps\\.com"
+    ],
     "website": "https://www.oxiapps.com/"
   },
   "Oxygen": {
@@ -2126,7 +2226,9 @@
     "implies": [
       "Perl"
     ],
-    "scriptSrc": "^/otrs-web/js/",
+    "scriptSrc": [
+      "^/otrs-web/js/"
+    ],
     "website": "https://www.otrs.com"
   },
   "ownCloud": {
diff --git a/src/technologies/p.json b/src/technologies/p.json
index 156c8ae1..335249d4 100644
--- a/src/technologies/p.json
+++ b/src/technologies/p.json
@@ -115,7 +115,9 @@
       "PIXI_WEBWORKER_URL": ""
     },
     "oss": true,
-    "scriptSrc": "pixi(?:\\.min|-legacy)?\\.js$",
+    "scriptSrc": [
+      "pixi(?:\\.min|-legacy)?\\.js$"
+    ],
     "url": ".+\\.pixijs\\.com",
     "website": "https://www.pixijs.com"
   },
@@ -150,7 +152,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "www\\.powr\\.io/powr\\.js",
+    "scriptSrc": [
+      "www\\.powr\\.io/powr\\.js"
+    ],
     "website": "https://www.powr.io"
   },
   "PRONOTE": {
@@ -209,7 +213,9 @@
       "rely_shop_money_format": ""
     },
     "saas": true,
-    "scriptSrc": "pay\\.pacenow\\.co",
+    "scriptSrc": [
+      "pay\\.pacenow\\.co"
+    ],
     "website": "https://pacenow.co/"
   },
   "Packery": {
@@ -222,7 +228,9 @@
     "pricing": [
       "onetime"
     ],
-    "scriptSrc": "packery(?:\\.pkgd)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "packery(?:\\.pkgd)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://packery.metafizzy.co/"
   },
   "Packlink PRO": {
@@ -239,7 +247,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "packlink-spf-pro\\.appspot\\.com/.+myshopify\\.com",
+    "scriptSrc": [
+      "packlink-spf-pro\\.appspot\\.com/.+myshopify\\.com"
+    ],
     "website": "https://apps.shopify.com/packlink-pro"
   },
   "Paddle": {
@@ -257,7 +267,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.paddle\\.com/paddle/paddle\\.js",
+    "scriptSrc": [
+      "cdn\\.paddle\\.com/paddle/paddle\\.js"
+    ],
     "website": "https://paddle.com/"
   },
   "PagSeguro": {
@@ -275,7 +287,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.pagseguro\\.uol\\.com\\.br/",
+    "scriptSrc": [
+      "\\.pagseguro\\.uol\\.com\\.br/"
+    ],
     "website": "https://pagseguro.uol.com.br"
   },
   "Pagar.me": {
@@ -292,7 +306,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.pagar\\.me/",
+    "scriptSrc": [
+      "assets\\.pagar\\.me/"
+    ],
     "website": "https://pagar.me"
   },
   "Page Builder Framework": {
@@ -309,7 +325,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/page-builder-framework/.+site-min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/page-builder-framework/.+site-min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wp-pagebuilderframework.com"
   },
   "PageFly": {
@@ -325,7 +343,9 @@
       "__pagefly_setting__": ""
     },
     "saas": true,
-    "scriptSrc": "cdn\\.pagefly\\.io",
+    "scriptSrc": [
+      "cdn\\.pagefly\\.io"
+    ],
     "website": "https://pagefly.io"
   },
   "PageLayer": {
@@ -340,7 +360,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "pagelayer(?:-frontend)?(?:\\/js)?(?:\\/combined)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "pagelayer(?:-frontend)?(?:\\/js)?(?:\\/combined)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/pagelayer"
   },
   "Pagefai CMS": {
@@ -411,7 +433,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "apps\\.paidy\\.com",
+    "scriptSrc": [
+      "apps\\.paidy\\.com"
+    ],
     "website": "https://paidy.com"
   },
   "Paloma": {
@@ -430,7 +454,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "\\.getpaloma\\.com/",
+    "scriptSrc": [
+      "\\.getpaloma\\.com/"
+    ],
     "website": "https://www.getpaloma.com"
   },
   "Panda CSS": {
@@ -469,7 +495,9 @@
     ],
     "description": "Pannellum is a lightweight, free, and open source panorama viewer for the web.",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/(?:build\\/)?)?pannellum(?:-plugin)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/(?:build\\/)?)?pannellum(?:-plugin)?\\.js\\;version:\\1"
+    ],
     "website": "https://pannellum.org/"
   },
   "Pantheon": {
@@ -499,7 +527,9 @@
     "description": "Paper.js is an open-source, vector graphics scripting framework, which offers a powerful Scene Graph and extensive functionality to create and manipulate graphic items using layers, gradients, blending, and other advanced features",
     "icon": "Paper.js.png",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?paper(?:-full)?(?:-core)?(?:\\.min)?(?:-[\\d\\w]{0,64})?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?paper(?:-full)?(?:-core)?(?:\\.min)?(?:-[\\d\\w]{0,64})?\\.js\\;version:\\1"
+    ],
     "website": "http://paperjs.org/"
   },
   "Paradox": {
@@ -594,7 +624,9 @@
       "parsley": ""
     },
     "oss": true,
-    "scriptSrc": "parsley(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "parsley(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://parsleyjs.org"
   },
   "Partial.ly": {
@@ -608,7 +640,9 @@
       "PartiallyButton": ""
     },
     "saas": true,
-    "scriptSrc": "partial\\.ly",
+    "scriptSrc": [
+      "partial\\.ly"
+    ],
     "website": "https://partial.ly/"
   },
   "Partnerize": {
@@ -673,14 +707,18 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.1password\\.com/",
+    "scriptSrc": [
+      "\\.1password\\.com/"
+    ],
     "website": "https://passage.1password.com"
   },
   "Paths.js": {
     "cats": [
       25
     ],
-    "scriptSrc": "paths(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "paths(?:\\.min)?\\.js"
+    ],
     "website": "https://github.com/andreaferretti/paths-js"
   },
   "Patreon": {
@@ -701,7 +739,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "patreon-connect/assets/.+ver=([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "patreon-connect/assets/.+ver=([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://www.patreon.com"
   },
   "Pattern by Etsy": {
@@ -734,7 +774,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/payitlater-gateway-for-woocommerce/(?:.+\\?ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/payitlater-gateway-for-woocommerce/(?:.+\\?ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://www.payitlater.com.au"
   },
   "PayBright": {
@@ -748,7 +790,9 @@
     "js": {
       "_paybright_config": ""
     },
-    "scriptSrc": "app\\.paybright\\.com",
+    "scriptSrc": [
+      "app\\.paybright\\.com"
+    ],
     "website": "https://paybright.com"
   },
   "PayFast": {
@@ -786,7 +830,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.payjustnow\\.com/",
+    "scriptSrc": [
+      "\\.payjustnow\\.com/"
+    ],
     "website": "https://payjustnow.com"
   },
   "PayKickStart": {
@@ -801,7 +847,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.paykickstart\\.com",
+    "scriptSrc": [
+      "app\\.paykickstart\\.com"
+    ],
     "website": "https://paykickstart.com"
   },
   "PayPal": {
@@ -839,7 +887,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "paypalobjects\\.com",
+    "scriptSrc": [
+      "paypalobjects\\.com"
+    ],
     "website": "https://paypal.com",
     "xhr": "\\.paypal\\.com"
   },
@@ -858,7 +908,9 @@
       "payPalCreditPopover": ""
     },
     "requiresCategory": 6,
-    "scriptSrc": "\\.paypalobjects\\.com/.+/smart-credit-message@([\\d\\.]+)\\.js\\;version:\\1",
+    "scriptSrc": [
+      "\\.paypalobjects\\.com/.+/smart-credit-message@([\\d\\.]+)\\.js\\;version:\\1"
+    ],
     "website": "https://www.paypal.com/uk/webapps/mpp/paypal-virtual-credit"
   },
   "PayPal Marketing Solutions": {
@@ -905,7 +957,9 @@
     "dom": "[aria-labelledby='pi-payflex']",
     "icon": "Payflex.png",
     "saas": true,
-    "scriptSrc": "partpayassets\\.blob\\.core\\.windows\\.net",
+    "scriptSrc": [
+      "partpayassets\\.blob\\.core\\.windows\\.net"
+    ],
     "website": "https://payflex.co.za/"
   },
   "Payl8r": {
@@ -916,7 +970,9 @@
     "description": "PayL8r.com offers repayment plans and online finance which allow you to purchase products online.",
     "icon": "Payl8r.svg",
     "saas": true,
-    "scriptSrc": "payl8r\\.com",
+    "scriptSrc": [
+      "payl8r\\.com"
+    ],
     "website": "https://payl8r.com/"
   },
   "Paylocity": {
@@ -980,7 +1036,9 @@
       "paysafe.fields": "",
       "paysafe.threedsecure": ""
     },
-    "scriptSrc": "/hosted\\.paysafe\\.com/",
+    "scriptSrc": [
+      "/hosted\\.paysafe\\.com/"
+    ],
     "website": "https://www.paysafe.com/en"
   },
   "PebblePost": {
@@ -993,7 +1051,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.pbbl\\.co/",
+    "scriptSrc": [
+      "cdn\\.pbbl\\.co/"
+    ],
     "website": "https://www.pebblepost.com"
   },
   "Peek": {
@@ -1008,7 +1068,9 @@
       "PeekJsApi": "",
       "_peekConfig": ""
     },
-    "scriptSrc": "js\\.peek\\.\\w+",
+    "scriptSrc": [
+      "js\\.peek\\.\\w+"
+    ],
     "website": "https://www.peek.com/"
   },
   "PeerBoard": {
@@ -1023,7 +1085,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.peerboard\\.com/",
+    "scriptSrc": [
+      "\\.peerboard\\.com/"
+    ],
     "website": "https://peerboard.com"
   },
   "PeerTube": {
@@ -1051,7 +1115,9 @@
       "peity": ""
     },
     "oss": true,
-    "scriptSrc": "peity(?:-demo)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "peity(?:-demo)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://github.com/benpickles/peity"
   },
   "Pelican": {
@@ -1098,7 +1164,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.pendo\\.io/",
+    "scriptSrc": [
+      "\\.pendo\\.io/"
+    ],
     "website": "https://www.pendo.io"
   },
   "Pepperjam": {
@@ -1115,7 +1183,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.pepperjam\\.com/",
+    "scriptSrc": [
+      "\\.pepperjam\\.com/"
+    ],
     "website": "https://www.pepperjam.com"
   },
   "Percona": {
@@ -1158,7 +1228,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "swift\\.perfectapps\\.io/",
+    "scriptSrc": [
+      "swift\\.perfectapps\\.io/"
+    ],
     "website": "https://apps.shopify.com/swift"
   },
   "Perfex CRM": {
@@ -1172,7 +1244,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "/assets/themes/perfex/js/global\\.min\\.js(?:\\?v=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/assets/themes/perfex/js/global\\.min\\.js(?:\\?v=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.perfexcrm.com"
   },
   "Perfmatters": {
@@ -1191,7 +1265,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/(?:plugins|cache|uploads)/perfmatters/",
+    "scriptSrc": [
+      "/wp-content/(?:plugins|cache|uploads)/perfmatters/"
+    ],
     "website": "https://perfmatters.io"
   },
   "Performance Lab": {
@@ -1230,7 +1306,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "client\\.a\\.pxi\\.pub/",
+    "scriptSrc": [
+      "client\\.a\\.pxi\\.pub/"
+    ],
     "website": "https://www.perimeterx.com"
   },
   "Periodic": {
@@ -1245,7 +1323,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/integrations/embed/periodic-embed-resize\\.js",
+    "scriptSrc": [
+      "/integrations/embed/periodic-embed-resize\\.js"
+    ],
     "website": "https://periodic.is"
   },
   "Peripl": {
@@ -1287,7 +1367,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.permutive\\.com",
+    "scriptSrc": [
+      "cdn\\.permutive\\.com"
+    ],
     "website": "https://permutive.com",
     "xhr": "api\\.permutive\\.com"
   },
@@ -1305,7 +1387,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.personaclick\\.com/v([\\d.]+)\\.js\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.personaclick\\.com/v([\\d.]+)\\.js\\;version:\\1"
+    ],
     "website": "https://www.personaclick.com"
   },
   "Personio": {
@@ -1320,7 +1404,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.cdn\\.personio\\.",
+    "scriptSrc": [
+      "\\.cdn\\.personio\\."
+    ],
     "website": "https://www.personio.com"
   },
   "Personizely": {
@@ -1337,7 +1423,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "static\\.personizely\\.net/",
+    "scriptSrc": [
+      "static\\.personizely\\.net/"
+    ],
     "website": "https://www.personizely.net"
   },
   "Perzonalization": {
@@ -1347,7 +1435,9 @@
     "description": "Perzonalization is a AI powered personalization engine for eCommerce",
     "icon": "Perzonalization.png",
     "saas": true,
-    "scriptSrc": "cdn\\.perzonalization\\.com",
+    "scriptSrc": [
+      "cdn\\.perzonalization\\.com"
+    ],
     "website": "https://www.perzonalization.com/"
   },
   "Phabricator": {
@@ -1366,7 +1456,9 @@
     "implies": [
       "PHP"
     ],
-    "scriptSrc": "/phabricator/[a-f0-9]{8}/rsrc/js/phui/[a-z-]+\\.js$",
+    "scriptSrc": [
+      "/phabricator/[a-f0-9]{8}/rsrc/js/phui/[a-z-]+\\.js$"
+    ],
     "website": "https://phacility.com"
   },
   "Phaser": {
@@ -1392,7 +1484,9 @@
     "implies": [
       "React"
     ],
-    "scriptSrc": "/phenomic\\.browser\\.[a-f0-9]+\\.js",
+    "scriptSrc": [
+      "/phenomic\\.browser\\.[a-f0-9]+\\.js"
+    ],
     "website": "https://phenomic.io/"
   },
   "Philomena": {
@@ -1426,7 +1520,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/phlox(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/phlox(?:-pro)?/"
+    ],
     "website": "https://www.phlox.pro"
   },
   "Phoenix": {
@@ -1509,7 +1605,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/photo-gallery/.+scripts\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/photo-gallery/.+scripts\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://10web.io/plugins/wordpress-photo-gallery"
   },
   "PhotoShelter": {
@@ -1530,7 +1628,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.psecn\\.photoshelter\\.com/",
+    "scriptSrc": [
+      "\\.psecn\\.photoshelter\\.com/"
+    ],
     "url": "photoshelter\\.com",
     "website": "https://www.photoshelter.com"
   },
@@ -1574,7 +1674,9 @@
       "photoswipeParseHash": ""
     },
     "oss": true,
-    "scriptSrc": "photoswipe/([\\d\\.]+)/photoswipe\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "photoswipe/([\\d\\.]+)/photoswipe\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://photoswipe.com"
   },
   "Photoslurp": {
@@ -1646,7 +1748,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.pickystory\\.com/",
+    "scriptSrc": [
+      "cdn\\.pickystory\\.com/"
+    ],
     "website": "https://pickystory.com"
   },
   "Pico": {
@@ -1693,7 +1797,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.picreel\\.com",
+    "scriptSrc": [
+      "\\.picreel\\.com"
+    ],
     "website": "https://www.picreel.com"
   },
   "Picturepark": {
@@ -1718,7 +1824,9 @@
     ],
     "description": "A refreshing JavaScript Datepicker.",
     "oss": true,
-    "scriptSrc": "pikaday(?:-jquery)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "pikaday(?:-jquery)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://github.com/dbushell/Pikaday"
   },
   "Piman": {
@@ -1750,7 +1858,9 @@
     "pricing": [
       "poa"
     ],
-    "scriptSrc": "/pimcorecore/js/targeting\\.js",
+    "scriptSrc": [
+      "/pimcorecore/js/targeting\\.js"
+    ],
     "website": "https://pimcore.com/en/digital-experience-platform"
   },
   "Pin Payments": {
@@ -1759,7 +1869,9 @@
     ],
     "description": "Pin Payments is an all-in-one online payment system. It offers merchants a simple JSON API, secure credit card storage, multi-currency capabilities, bank account compatibility, onsite payment processing and automatic fund transfer to specified bank accounts.",
     "icon": "pinpayments.png",
-    "scriptSrc": "api\\.pinpayments\\.com",
+    "scriptSrc": [
+      "api\\.pinpayments\\.com"
+    ],
     "website": "https://www.pinpayments.com/"
   },
   "Pingdom RUM": {
@@ -1776,7 +1888,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "rum-static\\.pingdom\\.net",
+    "scriptSrc": [
+      "rum-static\\.pingdom\\.net"
+    ],
     "website": "https://www.pingdom.com/real-user-monitoring/"
   },
   "Pingdom Uptime Monitoring": {
@@ -1832,7 +1946,9 @@
     ],
     "description": "Pinterest is an image sharing and social media service designed to enable saving and discovery of information.",
     "icon": "Pinterest.svg",
-    "scriptSrc": "//assets\\.pinterest\\.com/js/pinit\\.js",
+    "scriptSrc": [
+      "//assets\\.pinterest\\.com/js/pinit\\.js"
+    ],
     "website": "https://pinterest.com"
   },
   "Pinterest Ads": {
@@ -1907,7 +2023,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.piwik\\.pro/",
+    "scriptSrc": [
+      "\\.piwik\\.pro/"
+    ],
     "website": "https://piwik.pro"
   },
   "Pixc": {
@@ -1921,7 +2039,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//pixc\\.com/",
+    "scriptSrc": [
+      "//pixc\\.com/"
+    ],
     "website": "https://pixc.com"
   },
   "PixelFed": {
@@ -1963,7 +2083,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/pixelyoursite/",
+    "scriptSrc": [
+      "/wp-content/plugins/pixelyoursite/"
+    ],
     "website": "https://www.pixelyoursite.com"
   },
   "Pixieset Store": {
@@ -2016,7 +2138,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.pixlee\\.com",
+    "scriptSrc": [
+      "assets\\.pixlee\\.com"
+    ],
     "website": "https://pixlee.com"
   },
   "Pixnet": {
@@ -2061,7 +2185,9 @@
       "payg",
       "recurring"
     ],
-    "scriptSrc": "\\.plaid\\.com/",
+    "scriptSrc": [
+      "\\.plaid\\.com/"
+    ],
     "website": "https://plaid.com"
   },
   "Planet": {
@@ -2128,7 +2254,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.lpcdn\\.site/",
+    "scriptSrc": [
+      "\\.lpcdn\\.site/"
+    ],
     "website": "https://platformalp.ru"
   },
   "PlatinMarket": {
@@ -2148,7 +2276,9 @@
       "Microsoft ASP.NET"
     ],
     "saas": true,
-    "scriptSrc": "//platincdn\\.com/",
+    "scriptSrc": [
+      "//platincdn\\.com/"
+    ],
     "website": "https://www.platinmarket.com"
   },
   "Plausible": {
@@ -2160,7 +2290,9 @@
     "js": {
       "plausible": ""
     },
-    "scriptSrc": "plausible\\.io/js/plausible\\.js",
+    "scriptSrc": [
+      "plausible\\.io/js/plausible\\.js"
+    ],
     "website": "https://plausible.io/"
   },
   "Play": {
@@ -2229,7 +2361,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "common\\.js\\?plesk",
+    "scriptSrc": [
+      "common\\.js\\?plesk"
+    ],
     "website": "https://www.plesk.com"
   },
   "Pligg": {
@@ -2264,7 +2398,9 @@
       "generator": "Plone"
     },
     "oss": true,
-    "scriptSrc": "^/\\+\\+resource\\+\\+",
+    "scriptSrc": [
+      "^/\\+\\+resource\\+\\+"
+    ],
     "website": "https://plone.org/"
   },
   "Plotly": {
@@ -2278,7 +2414,9 @@
     "js": {
       "Plotly.version": "([\\d.])\\;version:\\1"
     },
-    "scriptSrc": "https?://cdn\\.plot\\.ly/plotly",
+    "scriptSrc": [
+      "https?://cdn\\.plot\\.ly/plotly"
+    ],
     "website": "https://plot.ly/javascript/"
   },
   "Plug&Pay": {
@@ -2328,7 +2466,9 @@
       "Plyr": ""
     },
     "oss": true,
-    "scriptSrc": "cdn\\.plyr\\.io/([0-9.]+)/.+\\.js\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.plyr\\.io/([0-9.]+)/.+\\.js\\;version:\\1"
+    ],
     "website": "https://plyr.io"
   },
   "Po.st": {
@@ -2356,7 +2496,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "widgets\\.getpocket\\.com/",
+    "scriptSrc": [
+      "widgets\\.getpocket\\.com/"
+    ],
     "website": "https://getpocket.com"
   },
   "Podia": {
@@ -2377,7 +2519,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.podia\\.com",
+    "scriptSrc": [
+      "cdn\\.podia\\.com"
+    ],
     "website": "https://www.podia.com"
   },
   "Podigee": {
@@ -2412,7 +2556,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.podium\\.com/",
+    "scriptSrc": [
+      "\\.podium\\.com/"
+    ],
     "website": "https://www.podium.com"
   },
   "Podsights": {
@@ -2421,7 +2567,9 @@
     ],
     "description": "Podsights is attribution technology platform that brands and agencies use to measure and scale their podcast advertising",
     "icon": "Podsights.png",
-    "scriptSrc": "cdn\\.pdst\\.fm",
+    "scriptSrc": [
+      "cdn\\.pdst\\.fm"
+    ],
     "website": "https://podsights.com/"
   },
   "Pojo.me": {
@@ -2447,7 +2595,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "widget\\.poloriz\\.com/",
+    "scriptSrc": [
+      "widget\\.poloriz\\.com/"
+    ],
     "website": "https://www.poloriz.com"
   },
   "Polyfill": {
@@ -2457,7 +2607,9 @@
     "description": "Polyfill is a service which accepts a request for a set of browser features and returns only the polyfills that are needed by the requesting browser.",
     "icon": "polyfill.svg",
     "oss": true,
-    "scriptSrc": "polyfill\\.io/v([\\d\\.]+)\\;version:\\1",
+    "scriptSrc": [
+      "polyfill\\.io/v([\\d\\.]+)\\;version:\\1"
+    ],
     "website": "https://polyfill.io"
   },
   "Polylang": {
@@ -2494,7 +2646,9 @@
     "js": {
       "Polymer.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "polymer\\.js",
+    "scriptSrc": [
+      "polymer\\.js"
+    ],
     "website": "https://polymer-project.org"
   },
   "Popmenu": {
@@ -2555,7 +2709,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/popularfx/.+\\?ver=([\\d\\.]+)\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/popularfx/.+\\?ver=([\\d\\.]+)\\;version:\\1"
+    ],
     "website": "https://popularfx.com"
   },
   "Popup Maker": {
@@ -2575,7 +2731,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/popup-maker/(?:.+site(?:\\.min)?\\.js\\?.+ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/popup-maker/(?:.+site(?:\\.min)?\\.js\\?.+ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wppopupmaker.com"
   },
   "Post Affiliate Pro": {
@@ -2617,7 +2775,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "app\\.posthog\\.com/",
+    "scriptSrc": [
+      "app\\.posthog\\.com/"
+    ],
     "website": "https://posthog.com"
   },
   "PostNL": {
@@ -2683,7 +2843,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.postpay\\.io/(?:.+\\?ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.postpay\\.io/(?:.+\\?ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://postpay.io"
   },
   "Postscript": {
@@ -2700,7 +2862,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "sdk\\.postscript\\.io/",
+    "scriptSrc": [
+      "sdk\\.postscript\\.io/"
+    ],
     "website": "https://www.postscript.io"
   },
   "Potions": {
@@ -2717,7 +2881,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.get-potions\\.com/",
+    "scriptSrc": [
+      "\\.get-potions\\.com/"
+    ],
     "website": "https://get-potions.com"
   },
   "PowerReviews": {
@@ -2730,7 +2896,9 @@
       "POWERREVIEWS": ""
     },
     "saas": true,
-    "scriptSrc": "ui\\.powerreviews\\.com",
+    "scriptSrc": [
+      "ui\\.powerreviews\\.com"
+    ],
     "website": "https://www.powerreviews.com/"
   },
   "PowerSchool": {
@@ -2757,7 +2925,9 @@
       6
     ],
     "icon": "powerboutique.png",
-    "scriptSrc": "powerboutique",
+    "scriptSrc": [
+      "powerboutique"
+    ],
     "website": "https://www.powerboutique.com/"
   },
   "Powergap": {
@@ -2821,7 +2991,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "js/prediggo/(?:[\\w]+)\\.js",
+    "scriptSrc": [
+      "js/prediggo/(?:[\\w]+)\\.js"
+    ],
     "website": "https://prediggo.com"
   },
   "Prefix-Free": {
@@ -2832,7 +3004,9 @@
     "js": {
       "PrefixFree": ""
     },
-    "scriptSrc": "prefixfree\\.js",
+    "scriptSrc": [
+      "prefixfree\\.js"
+    ],
     "website": "https://leaverou.github.io/prefixfree/"
   },
   "Preline UI": {
@@ -2845,7 +3019,9 @@
       "Tailwind CSS"
     ],
     "oss": true,
-    "scriptSrc": "/preline\\.js",
+    "scriptSrc": [
+      "/preline\\.js"
+    ],
     "website": "https://preline.co"
   },
   "Premio Chaty": {
@@ -2866,7 +3042,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/chaty/",
+    "scriptSrc": [
+      "/wp-content/plugins/chaty/"
+    ],
     "website": "https://premio.io/downloads/chaty"
   },
   "Prepr": {
@@ -2889,7 +3067,9 @@
     ],
     "requiresCategory": 12,
     "saas": true,
-    "scriptSrc": "\\.prepr\\.io/",
+    "scriptSrc": [
+      "\\.prepr\\.io/"
+    ],
     "website": "https://prepr.io"
   },
   "Press Customizr": {
@@ -2905,7 +3085,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/customizr/.+js(?:\\?ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/customizr/.+js(?:\\?ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://presscustomizr.com/customizr"
   },
   "Press Hueman": {
@@ -2924,7 +3106,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/hueman/.+scripts\\.min\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/hueman/.+scripts\\.min\\.js(?:\\?ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://presscustomizr.com/hueman"
   },
   "PressMaximum Customify": {
@@ -2946,7 +3130,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/customify/.+theme\\.min\\.js(?:.+ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/customify/.+theme\\.min\\.js(?:.+ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://pressmaximum.com/customify"
   },
   "Pressable": {
@@ -3030,7 +3216,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.pricespider\\.com/",
+    "scriptSrc": [
+      "cdn\\.pricespider\\.com/"
+    ],
     "website": "https://www.pricespider.com"
   },
   "PrimeNG": {
@@ -3111,7 +3299,9 @@
       "sekindoFlowingPlayerOn": ""
     },
     "saas": true,
-    "scriptSrc": "\\.sekindo\\.com",
+    "scriptSrc": [
+      "\\.sekindo\\.com"
+    ],
     "website": "https://www.primis.tech",
     "xhr": "\\.sekindo\\.com"
   },
@@ -3124,7 +3314,9 @@
     "implies": [
       "Cart Functionality"
     ],
-    "scriptSrc": "static\\.cdn\\.printful\\.com",
+    "scriptSrc": [
+      "static\\.cdn\\.printful\\.com"
+    ],
     "website": "https://www.printful.com/"
   },
   "Priority Hints": {
@@ -3149,7 +3341,9 @@
       "apex.libVersions.prismJs": "^([\\d\\.]+)$\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "prism(?:\\.min)?(?:-\\w{0,64})?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "prism(?:\\.min)?(?:-\\w{0,64})?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://prismjs.com"
   },
   "Prismic": {
@@ -3165,7 +3359,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.prismic\\.io/",
+    "scriptSrc": [
+      "\\.prismic\\.io/"
+    ],
     "website": "https://prismic.io",
     "xhr": "\\.cdn\\.prismic\\.io"
   },
@@ -3187,7 +3383,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.privy\\.com/",
+    "scriptSrc": [
+      "\\.privy\\.com/"
+    ],
     "website": "https://www.privy.com"
   },
   "Privy App": {
@@ -3208,7 +3406,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "//shopify\\.privy\\.com/",
+    "scriptSrc": [
+      "//shopify\\.privy\\.com/"
+    ],
     "website": "https://apps.shopify.com/privy"
   },
   "ProcessWire": {
@@ -3264,7 +3464,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/product-personalizer/pplr_common\\.js",
+    "scriptSrc": [
+      "/product-personalizer/pplr_common\\.js"
+    ],
     "website": "https://productpersonalizer.com"
   },
   "ProfilePress": {
@@ -3285,7 +3487,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/wp-user-avatar(?:-pro)?/.+frontend\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/wp-user-avatar(?:-pro)?/.+frontend\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://profilepress.net"
   },
   "Profitwell": {
@@ -3349,7 +3553,9 @@
     "requires": [
       "Microsoft ASP.NET"
     ],
-    "scriptSrc": "/ThinClient/(?:WTM|WebResource)(?:\\.axd|/public)\\;confidence:60",
+    "scriptSrc": [
+      "/ThinClient/(?:WTM|WebResource)(?:\\.axd|/public)\\;confidence:60"
+    ],
     "website": "https://www.progress.com/ws_ftp"
   },
   "ProgressBar.js": {
@@ -3359,7 +3565,9 @@
     "description": "Responsive progress bars with animated SVG paths.",
     "icon": "ProgressBar.js.png",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?progressbar(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?progressbar(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://kimmobrunfeldt.github.io/progressbar.js/"
   },
   "Project Wonderful": {
@@ -3373,7 +3581,9 @@
     "js": {
       "pw_adloader": ""
     },
-    "scriptSrc": "^https?://(?:www\\.)?projectwonderful\\.com/(?:pwa\\.js|gen\\.php)",
+    "scriptSrc": [
+      "^https?://(?:www\\.)?projectwonderful\\.com/(?:pwa\\.js|gen\\.php)"
+    ],
     "website": "https://projectwonderful.com"
   },
   "Projesoft": {
@@ -3438,7 +3648,9 @@
     "js": {
       "Prototype.Version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "(?:prototype|protoaculous)(?:-([\\d.]*[\\d]))?.*\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:prototype|protoaculous)(?:-([\\d.]*[\\d]))?.*\\.js\\;version:\\1"
+    ],
     "website": "https://www.prototypejs.org"
   },
   "Protovis": {
@@ -3448,7 +3660,9 @@
     "js": {
       "protovis": ""
     },
-    "scriptSrc": "protovis.*\\.js",
+    "scriptSrc": [
+      "protovis.*\\.js"
+    ],
     "website": "https://mbostock.github.io/protovis"
   },
   "ProvenExpert": {
@@ -3464,7 +3678,9 @@
       }
     },
     "icon": "ProvenExpert.svg",
-    "scriptSrc": "provenexpert\\.\\w+/widget",
+    "scriptSrc": [
+      "provenexpert\\.\\w+/widget"
+    ],
     "website": "https://www.provenexpert.com"
   },
   "Provide Support": {
@@ -3479,7 +3695,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.providesupport\\.com",
+    "scriptSrc": [
+      "\\.providesupport\\.com"
+    ],
     "website": "https://www.providesupport.com"
   },
   "Proximis": {
@@ -3488,7 +3706,9 @@
       6
     ],
     "icon": "Proximis Omnichannel.png",
-    "scriptSrc": "widget-commerce(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "widget-commerce(?:\\.min)?\\.js"
+    ],
     "website": "https://www.proximis.com"
   },
   "Proximis Unified Commerce": {
@@ -3576,7 +3796,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.pubguru\\.com/",
+    "scriptSrc": [
+      "cdn\\.pubguru\\.com/"
+    ],
     "website": "https://pubguru.com"
   },
   "PubLive": {
@@ -3603,7 +3825,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "https?://[^/]*\\.pubmatic\\.com",
+    "scriptSrc": [
+      "https?://[^/]*\\.pubmatic\\.com"
+    ],
     "website": "https://www.pubmatic.com/",
     "xhr": "\\.pubmatic\\.com"
   },
@@ -3689,7 +3913,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.purechat\\.com",
+    "scriptSrc": [
+      "app\\.purechat\\.com"
+    ],
     "website": "https://www.purechat.com"
   },
   "PureCars": {
@@ -3721,7 +3947,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.purpleads\\.io/",
+    "scriptSrc": [
+      "\\.purpleads\\.io/"
+    ],
     "website": "https://purpleads.io"
   },
   "PushDaddy Whatsapp Chat": {
@@ -3741,7 +3969,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.shopify\\.com/.+/pushdaddy_v([\\d\\.]+).*\\.js\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.shopify\\.com/.+/pushdaddy_v([\\d\\.]+).*\\.js\\;version:\\1"
+    ],
     "website": "https://apps.shopify.com/whatsapp-chat-for-support"
   },
   "PushEngage": {
@@ -3756,7 +3986,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "clientcdn\\.pushengage\\.\\w+/core",
+    "scriptSrc": [
+      "clientcdn\\.pushengage\\.\\w+/core"
+    ],
     "website": "https://www.pushengage.com"
   },
   "PushOwl": {
@@ -3774,7 +4006,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.pushowl\\.com",
+    "scriptSrc": [
+      "cdn\\.pushowl\\.com"
+    ],
     "website": "https://pushowl.com"
   },
   "PushOwl Web Push Notifications": {
@@ -3796,7 +4030,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "/sdks/pushowl-shopify\\.js",
+    "scriptSrc": [
+      "/sdks/pushowl-shopify\\.js"
+    ],
     "website": "https://apps.shopify.com/pushowl"
   },
   "PushPushGo": {
@@ -3811,7 +4047,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.pushpushgo\\.com/",
+    "scriptSrc": [
+      "\\.pushpushgo\\.com/"
+    ],
     "website": "https://pushpushgo.com"
   },
   "Pushnami": {
@@ -3820,7 +4058,9 @@
     ],
     "description": "Pushnami is an AI-powered messaging platform that uses intelligent analytics to deliver superior push, social, and email performance.",
     "icon": "Pushnami.svg",
-    "scriptSrc": "api\\.pushnami\\.com",
+    "scriptSrc": [
+      "api\\.pushnami\\.com"
+    ],
     "website": "https://pushnami.com"
   },
   "Pushpay": {
@@ -3834,7 +4074,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "//pushpay\\.com/",
+    "scriptSrc": [
+      "//pushpay\\.com/"
+    ],
     "website": "https://pushpay.com"
   },
   "PyScript": {
@@ -3919,7 +4161,9 @@
       "p5.ColorConversion": ""
     },
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/(?:addons\\/)?)?p5(?:\\.sound)?(?:\\.dom)?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/(?:addons\\/)?)?p5(?:\\.sound)?(?:\\.dom)?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://p5js.org"
   },
   "papaya CMS": {
@@ -3945,7 +4189,9 @@
       "parallaxInstance": ""
     },
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?parallax(?:\\/assets\\/js)?(?:\\/jquery)?(?:\\/scripts)?(?:\\/wow)?(?:[_\\.]move)?(?:\\.inview)?(?:\\.pkgd)?(?:\\.scrolling)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?parallax(?:\\/assets\\/js)?(?:\\/jquery)?(?:\\/scripts)?(?:\\/wow)?(?:[_\\.]move)?(?:\\.inview)?(?:\\.pkgd)?(?:\\.scrolling)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://github.com/pixelcog/parallax.js"
   },
   "parcel": {
@@ -3971,7 +4217,9 @@
       "particlesJS": ""
     },
     "oss": true,
-    "scriptSrc": "/particles(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "/particles(?:\\.min)?\\.js"
+    ],
     "website": "https://github.com/VincentGarreau/particles.js"
   },
   "pdfmake": {
@@ -3980,7 +4228,9 @@
     ],
     "description": "Client/server side PDF printing in pure JavaScript.",
     "oss": true,
-    "scriptSrc": "pdfmake(?:[\\/-]((?:\\d+\\.)+\\d+)\\/(?:build\\/)?)?(?:pdfmake)?(?:vfs_fonts)?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "pdfmake(?:[\\/-]((?:\\d+\\.)+\\d+)\\/(?:build\\/)?)?(?:pdfmake)?(?:vfs_fonts)?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://bpampuch.github.io/pdfmake"
   },
   "petite-vue": {
@@ -3990,7 +4240,9 @@
     "description": "petite-vue is an alternative distribution of Vue optimised for progressive enhancement.",
     "icon": "vue.svg",
     "oss": true,
-    "scriptSrc": "/petite-vue",
+    "scriptSrc": [
+      "/petite-vue"
+    ],
     "scripts": "/petite-vue@([\\d\\.]+)/\\;version:\\1",
     "website": "https://github.com/vuejs/petite-vue"
   },
@@ -4168,7 +4420,9 @@
       "pickadate": ""
     },
     "oss": true,
-    "scriptSrc": "pickadate(?:\\/translations)?(?:\\/de_DE)?(?:\\/picker)?(?:\\.date)?(?:\\.time)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "pickadate(?:\\/translations)?(?:\\/de_DE)?(?:\\/picker)?(?:\\.date)?(?:\\.time)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://amsul.ca/pickadate.js/"
   },
   "pinoox": {
@@ -4247,7 +4501,9 @@
       "pp_images": "",
       "pp_titles": ""
     },
-    "scriptSrc": "jquery\\.prettyPhoto\\.js",
+    "scriptSrc": [
+      "jquery\\.prettyPhoto\\.js"
+    ],
     "website": "https://no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/"
   },
   "punBB": {
@@ -4272,7 +4528,9 @@
     ],
     "description": "A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.",
     "oss": true,
-    "scriptSrc": "punycode(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.){1,2}\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "punycode(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.){1,2}\\d+))?\\;version:\\1"
+    ],
     "website": "https://github.com/mathiasbynens/punycode.js"
   }
 }
\ No newline at end of file
diff --git a/src/technologies/q.json b/src/technologies/q.json
index c0216285..d6fbddfd 100644
--- a/src/technologies/q.json
+++ b/src/technologies/q.json
@@ -22,7 +22,9 @@
     ],
     "description": "Q4 Cookie Monster is an cookie compliance widget built by Q4.",
     "icon": "Q4.png",
-    "scriptSrc": "widgets\\.q4app\\.com/widgets/q4\\.cookiemonster\\.([\\d\\.]+)\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "widgets\\.q4app\\.com/widgets/q4\\.cookiemonster\\.([\\d\\.]+)\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://q4mobile.github.io/q4widgets-jquery-ui/doc_html/q4.cookieMonster.html"
   },
   "QUIC.cloud": {
@@ -54,7 +56,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//secure\\.qgiv\\.com/",
+    "scriptSrc": [
+      "//secure\\.qgiv\\.com/"
+    ],
     "website": "https://www.qgiv.com"
   },
   "Qikify": {
@@ -72,7 +76,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "sdk\\.qikify\\.com/",
+    "scriptSrc": [
+      "sdk\\.qikify\\.com/"
+    ],
     "website": "https://qikify.com"
   },
   "Qstomizer": {
@@ -91,7 +97,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "/qsmz-scripttag/qstomizer_st(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "/qsmz-scripttag/qstomizer_st(?:\\.min)?\\.js"
+    ],
     "website": "https://www.qstomizer.com"
   },
   "Qualaroo": {
@@ -110,7 +118,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.qualaroo\\.com",
+    "scriptSrc": [
+      "\\.qualaroo\\.com"
+    ],
     "website": "https://qualaroo.com"
   },
   "Qualified": {
@@ -128,7 +138,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.qualified\\.com/",
+    "scriptSrc": [
+      "\\.qualified\\.com/"
+    ],
     "website": "https://www.qualified.com"
   },
   "Qualtrics": {
@@ -145,7 +157,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.qualtrics\\.com/",
+    "scriptSrc": [
+      "\\.qualtrics\\.com/"
+    ],
     "website": "https://www.qualtrics.com"
   },
   "Quanta": {
@@ -166,7 +180,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.quanta\\.io/(?:.+/quanta-rum-v([\\d\\.]+)\\.min\\.js)?\\;version:\\1",
+    "scriptSrc": [
+      "\\.quanta\\.io/(?:.+/quanta-rum-v([\\d\\.]+)\\.min\\.js)?\\;version:\\1"
+    ],
     "website": "https://www.quanta.io"
   },
   "Quantcast Choice": {
@@ -180,7 +196,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "quantcast\\.mgr\\.consensu\\.org",
+    "scriptSrc": [
+      "quantcast\\.mgr\\.consensu\\.org"
+    ],
     "website": "https://www.quantcast.com/products/choice-consent-management-platform"
   },
   "Quantcast Measure": {
@@ -198,7 +216,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.quantserve\\.com/quant\\.js",
+    "scriptSrc": [
+      "\\.quantserve\\.com/quant\\.js"
+    ],
     "website": "https://www.quantcast.com/products/measure-audience-insights"
   },
   "Quantum Metric": {
@@ -208,7 +228,9 @@
     "description": "Quantum Metric is a continuous product design platform that helps organizations build better products faster.",
     "icon": "Quantummetric.png",
     "saas": true,
-    "scriptSrc": "cdn\\.quantummetric\\.com",
+    "scriptSrc": [
+      "cdn\\.quantummetric\\.com"
+    ],
     "website": "https://www.quantummetric.com/"
   },
   "Quasar": {
@@ -250,7 +272,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "static\\.goqubit\\.com",
+    "scriptSrc": [
+      "static\\.goqubit\\.com"
+    ],
     "website": "https://www.qubit.com"
   },
   "Question2Answer": {
@@ -266,7 +290,9 @@
     "implies": [
       "PHP"
     ],
-    "scriptSrc": "\\./qa-content/qa-page\\.js\\?([0-9.]+)\\;version:\\1",
+    "scriptSrc": [
+      "\\./qa-content/qa-page\\.js\\?([0-9.]+)\\;version:\\1"
+    ],
     "website": "https://www.question2answer.org"
   },
   "Queue-it": {
@@ -283,7 +309,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.queue-it\\.net/",
+    "scriptSrc": [
+      "\\.queue-it\\.net/"
+    ],
     "website": "https://queue-it.com"
   },
   "Quick.CMS": {
@@ -324,7 +352,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.quicksell\\.co/",
+    "scriptSrc": [
+      "\\.quicksell\\.co/"
+    ],
     "website": "https://quicksell.co"
   },
   "Quickbutik": {
@@ -341,7 +371,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.quickbutik\\.com/",
+    "scriptSrc": [
+      "\\.quickbutik\\.com/"
+    ],
     "website": "https://quickbutik.com"
   },
   "Quicklink": {
@@ -355,7 +387,9 @@
       "drupalSettings.quicklink": "",
       "quicklink": ""
     },
-    "scriptSrc": "quicklink@([\\d.]+)/dist/quicklink.*\\.js\\;version:\\1",
+    "scriptSrc": [
+      "quicklink@([\\d.]+)/dist/quicklink.*\\.js\\;version:\\1"
+    ],
     "website": "https://getquick.link/"
   },
   "Quicq": {
@@ -420,7 +454,9 @@
     "js": {
       "qp.qp": ""
     },
-    "scriptSrc": "\\.quora\\.com/",
+    "scriptSrc": [
+      "\\.quora\\.com/"
+    ],
     "website": "https://quoraadsupport.zendesk.com/hc/en-us/categories/115001573928-Pixels-Tracking"
   },
   "Qwik": {
diff --git a/src/technologies/r.json b/src/technologies/r.json
index a3989956..a64fd21d 100644
--- a/src/technologies/r.json
+++ b/src/technologies/r.json
@@ -35,7 +35,9 @@
     "js": {
       "RDStation": ""
     },
-    "scriptSrc": "d335luupugsy2\\.cloudfront\\.net/js/loader-scripts/.*-loader\\.js",
+    "scriptSrc": [
+      "d335luupugsy2\\.cloudfront\\.net/js/loader-scripts/.*-loader\\.js"
+    ],
     "website": "https://rdstation.com.br"
   },
   "RDoc": {
@@ -105,7 +107,9 @@
       "New Relic"
     ],
     "saas": true,
-    "scriptSrc": "/Scripts/plugins/rnd-mobilemenu/",
+    "scriptSrc": [
+      "/Scripts/plugins/rnd-mobilemenu/"
+    ],
     "website": "https://www.rnd.com.tr/en/"
   },
   "RSS": {
@@ -203,7 +207,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.rainpos\\.com/",
+    "scriptSrc": [
+      "\\.rainpos\\.com/"
+    ],
     "website": "https://www.rainpos.com"
   },
   "RainLoop": {
@@ -228,7 +234,9 @@
     "meta": {
       "rlAppVersion": "^([0-9.]+)$\\;version:\\1"
     },
-    "scriptSrc": "^rainloop/v/([0-9.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "^rainloop/v/([0-9.]+)/\\;version:\\1"
+    ],
     "website": "https://www.rainloop.net/"
   },
   "RaiseDonors": {
@@ -290,7 +298,9 @@
       36
     ],
     "icon": "Rakuten Advertising.svg",
-    "scriptSrc": "tag\\.rmp\\.rakuten\\.com",
+    "scriptSrc": [
+      "tag\\.rmp\\.rakuten\\.com"
+    ],
     "website": "https://rakutenadvertising.com/"
   },
   "Rakuten Digital Commerce": {
@@ -308,7 +318,9 @@
       59
     ],
     "icon": "Ramda.png",
-    "scriptSrc": "ramda.*\\.js",
+    "scriptSrc": [
+      "ramda.*\\.js"
+    ],
     "website": "https://ramdajs.com"
   },
   "RankMath SEO": {
@@ -327,7 +339,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/seo-by-rank-math(?:-pro)?/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/seo-by-rank-math(?:-pro)?/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://rankmath.com"
   },
   "Raphael": {
@@ -339,7 +353,9 @@
     "js": {
       "Raphael.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "raphael(?:-([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "raphael(?:-([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://dmitrybaranovskiy.github.io/raphael/"
   },
   "RapidSec": {
@@ -376,7 +392,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.rapidspike\\.com/",
+    "scriptSrc": [
+      "\\.rapidspike\\.com/"
+    ],
     "website": "https://www.rapidspike.com"
   },
   "Raptor": {
@@ -423,7 +441,9 @@
       "mid"
     ],
     "saas": true,
-    "scriptSrc": "code\\.rateparity\\.com/",
+    "scriptSrc": [
+      "code\\.rateparity\\.com/"
+    ],
     "website": "https://www.rateparity.com"
   },
   "Rawabit": {
@@ -455,7 +475,9 @@
     "js": {
       "Raychat": ""
     },
-    "scriptSrc": "app\\.raychat\\.io/scripts/js",
+    "scriptSrc": [
+      "app\\.raychat\\.io/scripts/js"
+    ],
     "website": "https://raychat.io"
   },
   "Raygun": {
@@ -475,7 +497,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.raygun\\.io",
+    "scriptSrc": [
+      "\\.raygun\\.io"
+    ],
     "website": "https://raygun.com"
   },
   "Rayo": {
@@ -507,7 +531,9 @@
     "pricing": [
       "payg"
     ],
-    "scriptSrc": "checkout\\.razorpay\\.com",
+    "scriptSrc": [
+      "checkout\\.razorpay\\.com"
+    ],
     "website": "https://razorpay.com/"
   },
   "Re:amaze": {
@@ -524,7 +550,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.reamaze\\.com/",
+    "scriptSrc": [
+      "\\.reamaze\\.com/"
+    ],
     "website": "https://www.reamaze.com"
   },
   "ReCaptcha v2 for Contact Form 7": {
@@ -542,7 +570,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/wpcf7-recaptcha/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/wpcf7-recaptcha/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/wpcf7-recaptcha/"
   },
   "ReConvert": {
@@ -561,7 +591,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.stilyoapps\\.com/reconvert/assets/js/store_reconvert_node\\.js",
+    "scriptSrc": [
+      "\\.stilyoapps\\.com/reconvert/assets/js/store_reconvert_node\\.js"
+    ],
     "website": "https://www.reconvert.io"
   },
   "ReDoc": {
@@ -579,7 +611,9 @@
     "js": {
       "Redoc.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "/redoc\\.(?:min\\.)?js",
+    "scriptSrc": [
+      "/redoc\\.(?:min\\.)?js"
+    ],
     "website": "https://github.com/Rebilly/ReDoc"
   },
   "React": {
@@ -720,7 +754,9 @@
       "mid",
       "recurring"
     ],
-    "scriptSrc": "/cdn\\.readme\\.io/js/",
+    "scriptSrc": [
+      "/cdn\\.readme\\.io/js/"
+    ],
     "website": "https://readme.com"
   },
   "ReadSpeaker": {
@@ -739,7 +775,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.readspeaker\\.com/",
+    "scriptSrc": [
+      "\\.readspeaker\\.com/"
+    ],
     "website": "https://www.readspeaker.com"
   },
   "Readymag": {
@@ -804,7 +842,9 @@
       "payg",
       "low"
     ],
-    "scriptSrc": "rebuyengine\\.com",
+    "scriptSrc": [
+      "rebuyengine\\.com"
+    ],
     "website": "https://rebuyengine.com/"
   },
   "Recapture": {
@@ -817,7 +857,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.recapture\\.io/.+\\?v=\\d+(?:&ver=([\\d\\.]+)?)?\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.recapture\\.io/.+\\?v=\\d+(?:&ver=([\\d\\.]+)?)?\\;version:\\1"
+    ],
     "website": "https://recapture.io"
   },
   "Recart": {
@@ -830,7 +872,9 @@
       "__recart": "",
       "recart": ""
     },
-    "scriptSrc": "api\\.recart\\.com",
+    "scriptSrc": [
+      "api\\.recart\\.com"
+    ],
     "website": "https://recart.com/"
   },
   "Recent Posts Widget With Thumbnails": {
@@ -903,7 +947,9 @@
     ],
     "description": "Recite Me is a web accessibility overlay that claims to allow website visitors to customize a site in a way that works for them.",
     "icon": "Recite Me.png",
-    "scriptSrc": "api\\.reciteme\\.com/asset/js",
+    "scriptSrc": [
+      "api\\.reciteme\\.com/asset/js"
+    ],
     "website": "https://reciteme.com/"
   },
   "Recomify": {
@@ -920,7 +966,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.recomify\\.com/",
+    "scriptSrc": [
+      "app\\.recomify\\.com/"
+    ],
     "website": "https://www.recomify.com"
   },
   "RecoverMyCart": {
@@ -939,7 +987,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.recovermycart\\.com",
+    "scriptSrc": [
+      "cdn\\.recovermycart\\.com"
+    ],
     "website": "https://app.recovermycart.com/"
   },
   "Recruitee": {
@@ -995,7 +1045,9 @@
     "js": {
       "recurly.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "js\\.recurly\\.com",
+    "scriptSrc": [
+      "js\\.recurly\\.com"
+    ],
     "website": "https://recurly.com"
   },
   "Red Hat": {
@@ -1095,7 +1147,9 @@
     ],
     "description": "Reddit Ads is an online advertising offering from Reddit.",
     "icon": "Reddit.svg",
-    "scriptSrc": "www\\.redditstatic\\.com",
+    "scriptSrc": [
+      "www\\.redditstatic\\.com"
+    ],
     "website": "https://advertising.reddithelp.com/"
   },
   "Redis": {
@@ -1148,7 +1202,9 @@
     ],
     "description": "This company promotes the collection and recycling of textiles by rewarding each donation of clothing made on its website with 'Re' points, allowing you to benefit from advantages and discounts at more than 70 partner brands.",
     "icon": "Redonner.svg",
-    "scriptSrc": "\\.redonner\\.fr/",
+    "scriptSrc": [
+      "\\.redonner\\.fr/"
+    ],
     "website": "https://www.redonner.fr"
   },
   "Redux": {
@@ -1228,7 +1284,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.reevoo\\.com/",
+    "scriptSrc": [
+      "\\.reevoo\\.com/"
+    ],
     "website": "https://www.reevoo.com"
   },
   "ReferralCandy": {
@@ -1244,7 +1302,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.referralcandy\\.com/",
+    "scriptSrc": [
+      "\\.referralcandy\\.com/"
+    ],
     "website": "https://www.referralcandy.com"
   },
   "Refersion": {
@@ -1271,7 +1331,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.refersion\\.com",
+    "scriptSrc": [
+      "\\.refersion\\.com"
+    ],
     "website": "https://refersion.com"
   },
   "Reflektion": {
@@ -1288,7 +1350,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.cloudfront\\.net/js/reflektion\\.js",
+    "scriptSrc": [
+      "\\.cloudfront\\.net/js/reflektion\\.js"
+    ],
     "website": "https://reflektion.com"
   },
   "Refundid": {
@@ -1320,7 +1384,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.regiondo\\.net",
+    "scriptSrc": [
+      "cdn\\.regiondo\\.net"
+    ],
     "website": "https://www.regiondo.com"
   },
   "Reinvigorate": {
@@ -1399,7 +1465,9 @@
     ],
     "description": "Remixd is a platform that enables podcast creators to efficiently produce and share their podcasts with a worldwide audience. The platform provides various tools and features to support podcast creation, hosting, and distribution, such as podcast hosting, analytics, monetisation, and social media integration.",
     "icon": "remixd.svg",
-    "scriptSrc": "tags\\.remixd\\.com/player",
+    "scriptSrc": [
+      "tags\\.remixd\\.com/player"
+    ],
     "website": "https://www.remixd.com"
   },
   "Render": {
@@ -1488,7 +1556,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "\\.reputon\\.com/",
+    "scriptSrc": [
+      "\\.reputon\\.com/"
+    ],
     "website": "https://reputon.com"
   },
   "RequireJS": {
@@ -1500,7 +1570,9 @@
     "js": {
       "requirejs.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "require.*\\.js",
+    "scriptSrc": [
+      "require.*\\.js"
+    ],
     "website": "https://requirejs.org"
   },
   "ResDiary": {
@@ -1521,7 +1593,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.resdiary\\.\\w+/",
+    "scriptSrc": [
+      "\\.resdiary\\.\\w+/"
+    ],
     "website": "https://www.resdiary.com"
   },
   "Resengo": {
@@ -1540,7 +1614,9 @@
     "js": {
       "wpJsonpResengoReservationWidget": ""
     },
-    "scriptSrc": "www\\.resengo\\.\\w+",
+    "scriptSrc": [
+      "www\\.resengo\\.\\w+"
+    ],
     "website": "https://wwc.resengo.com"
   },
   "Reserve In-Store": {
@@ -1582,7 +1658,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "static\\.reservio\\.com",
+    "scriptSrc": [
+      "static\\.reservio\\.com"
+    ],
     "website": "https://www.reservio.com"
   },
   "Resin": {
@@ -1615,7 +1693,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "static\\.resmio\\.\\w+/static/",
+    "scriptSrc": [
+      "static\\.resmio\\.\\w+/static/"
+    ],
     "website": "https://www.resmio.com"
   },
   "Resova": {
@@ -1661,7 +1741,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/responsive-lightbox/.+front\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/responsive-lightbox/.+front\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://dfactory.eu/products/responsive-lightbox-gallery-extensions/"
   },
   "Responsive Nav": {
@@ -1671,7 +1753,9 @@
     "description": "Responsive navigation plugin without library dependencies and with fast touch screen support.",
     "icon": "Responsive Nav.png",
     "oss": true,
-    "scriptSrc": "responsive-nav(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "responsive-nav(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "http://responsive-nav.com/"
   },
   "ResponsiveVoice": {
@@ -1705,7 +1789,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "widgets\\.resy\\.\\w+",
+    "scriptSrc": [
+      "widgets\\.resy\\.\\w+"
+    ],
     "website": "https://resy.com"
   },
   "Retail Rocket": {
@@ -1729,7 +1815,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.retailrocket\\.net",
+    "scriptSrc": [
+      "cdn\\.retailrocket\\.net"
+    ],
     "website": "https://retailrocket.net"
   },
   "Retool": {
@@ -1746,7 +1834,9 @@
       "freemium",
       "recurring"
     ],
-    "scriptSrc": "retool(?:-edge)?(?:\\.com)?(?:\\/embed)?\\/?(?:runtime)?~?(?:app)?(?:custom-components)?(?:\\.\\w{0,20})?\\.js",
+    "scriptSrc": [
+      "retool(?:-edge)?(?:\\.com)?(?:\\/embed)?\\/?(?:runtime)?~?(?:app)?(?:custom-components)?(?:\\.\\w{0,20})?\\.js"
+    ],
     "url": "^https://retool\\.[\\d\\w\\-]+\\.(?:com|io)/",
     "website": "https://retool.com"
   },
@@ -1765,7 +1855,9 @@
     "requires": [
       "Shopify"
     ],
-    "scriptSrc": "//return-prime-proxy-prod\\.s3[^ ]*\\.amazonaws\\.com/",
+    "scriptSrc": [
+      "//return-prime-proxy-prod\\.s3[^ ]*\\.amazonaws\\.com/"
+    ],
     "website": "https://www.returnprime.com/"
   },
   "ReturnGO": {
@@ -1783,7 +1875,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.returngo\\.ai/",
+    "scriptSrc": [
+      "\\.returngo\\.ai/"
+    ],
     "website": "https://returngo.ai"
   },
   "Returnly": {
@@ -1868,7 +1962,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.revlifter\\.io",
+    "scriptSrc": [
+      "assets\\.revlifter\\.io"
+    ],
     "website": "https://www.revlifter.com"
   },
   "Reveal.js": {
@@ -1882,7 +1978,9 @@
     "js": {
       "Reveal.VERSION": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "(?:^|/)reveal(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "(?:^|/)reveal(?:\\.min)?\\.js"
+    ],
     "website": "https://lab.hakim.se/reveal-js"
   },
   "Revel": {
@@ -1905,7 +2003,9 @@
     ],
     "description": "RevenueHunt is an affiliate marketing and advertising company specializing in paid surveys and cost per lead campaigns.",
     "icon": "RevenueHunt.png",
-    "scriptSrc": "admin\\.revenuehunt\\.com/",
+    "scriptSrc": [
+      "admin\\.revenuehunt\\.com/"
+    ],
     "website": "https://revenuehunt.com"
   },
   "Revieve": {
@@ -1937,7 +2037,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "\\.reviewsolicitors\\.co\\.uk/",
+    "scriptSrc": [
+      "\\.reviewsolicitors\\.co\\.uk/"
+    ],
     "website": "https://www.reviewsolicitors.co.uk"
   },
   "Reviews.io": {
@@ -1964,7 +2066,9 @@
     ],
     "description": "RevolverMaps is a collection of real-time visitor statistics widgets for website or blog. Interactive visitor mappings to a globe rendered by the Revolver Engine.",
     "icon": "RevolverMaps.svg",
-    "scriptSrc": "\\.revolvermaps\\.com",
+    "scriptSrc": [
+      "\\.revolvermaps\\.com"
+    ],
     "website": "https://www.revolvermaps.com"
   },
   "Revv": {
@@ -2004,7 +2108,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "api\\.revy\\.io/",
+    "scriptSrc": [
+      "api\\.revy\\.io/"
+    ],
     "website": "https://revy.io"
   },
   "Rewardful": {
@@ -2016,7 +2122,9 @@
     "js": {
       "Rewardful": ""
     },
-    "scriptSrc": "r\\.wdfl\\.co",
+    "scriptSrc": [
+      "r\\.wdfl\\.co"
+    ],
     "website": "https://www.getrewardful.com/"
   },
   "Rezdy": {
@@ -2031,7 +2139,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "rezdy\\.\\w+/pluginJs",
+    "scriptSrc": [
+      "rezdy\\.\\w+/pluginJs"
+    ],
     "website": "https://www.rezdy.com"
   },
   "Rezgo": {
@@ -2076,7 +2186,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/widget-google-reviews/",
+    "scriptSrc": [
+      "/wp-content/plugins/widget-google-reviews/"
+    ],
     "website": "https://richplugins.com/business-reviews-bundle-wordpress-plugin"
   },
   "RichRelevance": {
@@ -2093,7 +2205,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.richrelevance\\.com/",
+    "scriptSrc": [
+      "\\.richrelevance\\.com/"
+    ],
     "website": "https://richrelevance.com"
   },
   "Richpanel": {
@@ -2113,7 +2227,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.richpanel\\.com/",
+    "scriptSrc": [
+      "\\.richpanel\\.com/"
+    ],
     "website": "https://www.richpanel.com"
   },
   "Rickshaw": {
@@ -2126,7 +2242,9 @@
     "js": {
       "Rickshaw": ""
     },
-    "scriptSrc": "rickshaw(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "rickshaw(?:\\.min)?\\.js"
+    ],
     "website": "https://code.shutterstock.com/rickshaw/"
   },
   "RightJS": {
@@ -2149,7 +2267,9 @@
     "js": {
       "riot": ""
     },
-    "scriptSrc": "riot(?:\\+compiler)?(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "riot(?:\\+compiler)?(?:\\.min)?\\.js"
+    ],
     "website": "https://riot.js.org/"
   },
   "Ripple": {
@@ -2188,7 +2308,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "strn\\.rise-ai\\.com/",
+    "scriptSrc": [
+      "strn\\.rise-ai\\.com/"
+    ],
     "website": "https://rise.ai"
   },
   "Riskified": {
@@ -2322,7 +2444,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "wxyz\\.rb\\.js",
+    "scriptSrc": [
+      "wxyz\\.rb\\.js"
+    ],
     "website": "https://www.rockerbox.com"
   },
   "Rocket.Chat": {
@@ -2361,7 +2485,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.rocketfy\\.mx/",
+    "scriptSrc": [
+      "\\.rocketfy\\.mx/"
+    ],
     "website": "https://rocketfy.mx"
   },
   "Roistat": {
@@ -2395,7 +2521,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.rokt\\.com/",
+    "scriptSrc": [
+      "\\.rokt\\.com/"
+    ],
     "website": "https://www.rokt.com"
   },
   "Rollbar": {
@@ -2467,7 +2595,9 @@
     "js": {
       "Routeapp": ""
     },
-    "scriptSrc": "//cdn.routeapp.io/",
+    "scriptSrc": [
+      "//cdn.routeapp.io/"
+    ],
     "website": "https://route.com/"
   },
   "Royal Mail": {
@@ -2517,7 +2647,9 @@
     },
     "icon": "Rubicon Project.svg",
     "saas": true,
-    "scriptSrc": "https?://[^/]*\\.rubiconproject\\.com",
+    "scriptSrc": [
+      "https?://[^/]*\\.rubiconproject\\.com"
+    ],
     "website": "https://rubiconproject.com/",
     "xhr": "\\.rubiconproject\\.com"
   },
@@ -2547,7 +2679,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "chatwidget\\.ruby\\.com",
+    "scriptSrc": [
+      "chatwidget\\.ruby\\.com"
+    ],
     "website": "https://www.ruby.com"
   },
   "Ruby on Rails": {
@@ -2575,7 +2709,9 @@
     "meta": {
       "csrf-param": "^authenticity_token$\\;confidence:50"
     },
-    "scriptSrc": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50",
+    "scriptSrc": [
+      "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50"
+    ],
     "website": "https://rubyonrails.org"
   },
   "Rudderstack": {
@@ -2626,7 +2762,9 @@
       "Rx.Symbol": ""
     },
     "oss": true,
-    "scriptSrc": "rx(?:\\.\\w+)?(?:\\.compat|\\.global)?(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "rx(?:\\.\\w+)?(?:\\.compat|\\.global)?(?:\\.min)?\\.js"
+    ],
     "website": "https://reactivex.io"
   },
   "Ryviu": {
@@ -2644,7 +2782,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.ryviu\\.com",
+    "scriptSrc": [
+      "cdn\\.ryviu\\.com"
+    ],
     "website": "https://www.ryviu.com/"
   },
   "reCAPTCHA": {
diff --git a/src/technologies/s.json b/src/technologies/s.json
index 9754480f..46d3299d 100644
--- a/src/technologies/s.json
+++ b/src/technologies/s.json
@@ -13,7 +13,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.salesmanago\\.com/",
+    "scriptSrc": [
+      "\\.salesmanago\\.com/"
+    ],
     "website": "https://www.salesmanago.com"
   },
   "SAP": {
@@ -65,7 +67,9 @@
       69
     ],
     "icon": "SAP.svg",
-    "scriptSrc": "\\.gigya\\.com/JS/gigya\\.js",
+    "scriptSrc": [
+      "\\.gigya\\.com/JS/gigya\\.js"
+    ],
     "website": "https://www.sap.com/uk/acquired-brands/what-is-gigya.html"
   },
   "SAP Upscale Commerce": {
@@ -108,7 +112,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "www\\.semrush\\.com",
+    "scriptSrc": [
+      "www\\.semrush\\.com"
+    ],
     "website": "https://www.semrush.com"
   },
   "SEOmatic": {
@@ -183,7 +189,9 @@
     "meta": {
       "SIM.medium": ""
     },
-    "scriptSrc": "/sim(?:site|core)/js",
+    "scriptSrc": [
+      "/sim(?:site|core)/js"
+    ],
     "website": "https://simgroep.nl/internet/portfolio-contentbeheer_41623/"
   },
   "SNO Flex": {
@@ -295,7 +303,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "embed\\.sendtonews\\.com/",
+    "scriptSrc": [
+      "embed\\.sendtonews\\.com/"
+    ],
     "scripts": "embed\\.sendtonews\\.com/",
     "website": "https://www.stnvideo.com"
   },
@@ -347,7 +357,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/svg-support/",
+    "scriptSrc": [
+      "/wp-content/plugins/svg-support/"
+    ],
     "website": "https://github.com/wp-plugins/svg-support"
   },
   "SWC": {
@@ -369,7 +381,9 @@
       "SWFObject": ""
     },
     "oss": true,
-    "scriptSrc": "swfobject.*\\.js",
+    "scriptSrc": [
+      "swfobject.*\\.js"
+    ],
     "website": "https://github.com/swfobject/swfobject"
   },
   "SaaSquatch": {
@@ -389,7 +403,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:\\.cloudfront\\.net/assets/javascripts/(?:v2/)?|/sas)squatch\\.min\\.js",
+    "scriptSrc": [
+      "(?:\\.cloudfront\\.net/assets/javascripts/(?:v2/)?|/sas)squatch\\.min\\.js"
+    ],
     "website": "https://www.saasquatch.com"
   },
   "Saba.Host": {
@@ -488,7 +504,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "ak\\.sail-horizon\\.com",
+    "scriptSrc": [
+      "ak\\.sail-horizon\\.com"
+    ],
     "website": "https://www.sailthru.com"
   },
   "Sakai": {
@@ -584,7 +602,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.salesfire\\.co\\.uk/",
+    "scriptSrc": [
+      "cdn\\.salesfire\\.co\\.uk/"
+    ],
     "website": "https://www.salesfire.co.uk"
   },
   "SalesReps.io": {
@@ -598,7 +618,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "api\\.salesreps\\.io/",
+    "scriptSrc": [
+      "api\\.salesreps\\.io/"
+    ],
     "website": "https://salesreps.io"
   },
   "Salesfloor": {
@@ -617,7 +639,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.salesfloor\\.net/",
+    "scriptSrc": [
+      "\\.salesfloor\\.net/"
+    ],
     "website": "https://salesfloor.net"
   },
   "Salesforce": {
@@ -667,7 +691,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.krxd\\.net/",
+    "scriptSrc": [
+      "\\.krxd\\.net/"
+    ],
     "website": "https://www.salesforce.com/products/marketing-cloud/data-management"
   },
   "Salesforce Commerce Cloud": {
@@ -693,7 +719,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "/demandware\\.static/",
+    "scriptSrc": [
+      "/demandware\\.static/"
+    ],
     "website": "https://demandware.com"
   },
   "Salesforce Desk": {
@@ -708,7 +736,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "^/s/sfsites/auraFW/",
+    "scriptSrc": [
+      "^/s/sfsites/auraFW/"
+    ],
     "website": "https://www.salesforce.com/solutions/small-business-solutions/help-desk-software/"
   },
   "Salesforce Interaction Studio": {
@@ -726,7 +756,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.evgnet\\.com",
+    "scriptSrc": [
+      "cdn\\.evgnet\\.com"
+    ],
     "website": "https://www.salesforce.com/products/marketing-cloud/customer-interaction"
   },
   "Salesforce Marketing Cloud Account Engagement": {
@@ -794,7 +826,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "service\\.force\\.com",
+    "scriptSrc": [
+      "service\\.force\\.com"
+    ],
     "website": "https://www.salesforce.com/au/products/service-cloud/"
   },
   "Salesloft": {
@@ -1009,7 +1043,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "sassy-social-share(?:-public)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "sassy-social-share(?:-public)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/sassy-social-share"
   },
   "Satori": {
@@ -1026,7 +1062,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "satori\\.segs\\.jp/",
+    "scriptSrc": [
+      "satori\\.segs\\.jp/"
+    ],
     "website": "https://satori.marketing"
   },
   "Satori Studio Bento": {
@@ -1041,7 +1079,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/bento/",
+    "scriptSrc": [
+      "/wp-content/themes/bento/"
+    ],
     "website": "https://satoristudio.net/bento-free-wordpress-theme"
   },
   "Sazito": {
@@ -1073,7 +1113,9 @@
     "description": "Scalapay is a payment method for e-commerce merchants in Europe that allows customers to buy now and pay later (BNPL).",
     "icon": "Scalapay.svg",
     "saas": true,
-    "scriptSrc": "cdn\\.scalapay\\.com",
+    "scriptSrc": [
+      "cdn\\.scalapay\\.com"
+    ],
     "website": "https://www.scalapay.com/"
   },
   "Scalefast": {
@@ -1086,7 +1128,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn-prod\\.scalefast\\.com/(?:.+\\.js\\?version=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "cdn-prod\\.scalefast\\.com/(?:.+\\.js\\?version=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://www.scalefast.com"
   },
   "ScandiPWA": {
@@ -1111,7 +1155,9 @@
     ],
     "description": "Schedule Engine is a customer support solution built for contractors.",
     "icon": "Schedule Engine.svg",
-    "scriptSrc": "webchat.scheduleengine.net",
+    "scriptSrc": [
+      "webchat.scheduleengine.net"
+    ],
     "website": "https://www.scheduleengine.com/"
   },
   "Scientific Linux": {
@@ -1140,7 +1186,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/writee(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/writee(?:-pro)?/"
+    ],
     "website": "https://www.scissorthemes.com/themes/writee-free"
   },
   "Scoop.it": {
@@ -1170,7 +1218,9 @@
     "js": {
       "Process.UserData": ""
     },
-    "scriptSrc": "cdn.cxc.scorpion.direct",
+    "scriptSrc": [
+      "cdn.cxc.scorpion.direct"
+    ],
     "website": "https://www.scorpion.co/"
   },
   "Screenfull.js": {
@@ -1179,7 +1229,9 @@
     ],
     "description": "Simple wrapper for cross-browser usage of the JavaScript Fullscreen API.",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?screenfull(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?screenfull(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://sindresorhus.com/screenfull/"
   },
   "Scrivito": {
@@ -1253,7 +1305,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "live\\.sequracdn\\.com/",
+    "scriptSrc": [
+      "live\\.sequracdn\\.com/"
+    ],
     "website": "https://www.sequra.es"
   },
   "Seal Subscriptions": {
@@ -1276,7 +1330,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.sealsubscriptions\\.com/",
+    "scriptSrc": [
+      "\\.sealsubscriptions\\.com/"
+    ],
     "website": "https://www.sealsubscriptions.com"
   },
   "SeamlessCMS": {
@@ -1322,7 +1378,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "searchanise(?:-.+\\.kxcdn)?\\.com/",
+    "scriptSrc": [
+      "searchanise(?:-.+\\.kxcdn)?\\.com/"
+    ],
     "website": "https://start.searchanise.com"
   },
   "SearchiQ": {
@@ -1359,7 +1417,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.searchspring\\.net",
+    "scriptSrc": [
+      "cdn\\.searchspring\\.net"
+    ],
     "website": "https://searchspring.com"
   },
   "Secomapp": {
@@ -1380,7 +1440,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.secomapp\\.com/",
+    "scriptSrc": [
+      "cdn\\.secomapp\\.com/"
+    ],
     "website": "https://www.secomapp.com"
   },
   "Sectigo": {
@@ -1435,7 +1497,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/coming-soon/",
+    "scriptSrc": [
+      "/wp-content/plugins/coming-soon/"
+    ],
     "website": "https://www.seedprod.com/features/coming-soon-page-templates-for-wordpress"
   },
   "Seers": {
@@ -1463,7 +1527,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "pge\\.segmanta\\.com/widget_embed_js(?:/widgetEmbed-v([\\d.]+)\\.min\\.js)?\\;version:\\1",
+    "scriptSrc": [
+      "pge\\.segmanta\\.com/widget_embed_js(?:/widgetEmbed-v([\\d.]+)\\.min\\.js)?\\;version:\\1"
+    ],
     "website": "https://segmanta.com"
   },
   "Segment": {
@@ -1504,7 +1570,9 @@
       "consentManager.version": "([\\d.]+)\\;version:\\1"
     },
     "saas": true,
-    "scriptSrc": "@segment/consent-manager@([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "@segment/consent-manager@([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://segment.com/blog/how-to-build-consent-management-into-your-site-in-less-than-a-week"
   },
   "SegmentStream": {
@@ -1521,7 +1589,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.segmentstream\\.com",
+    "scriptSrc": [
+      "cdn\\.segmentstream\\.com"
+    ],
     "website": "https://segmentstream.com"
   },
   "Seko OmniReturns": {
@@ -1540,7 +1610,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "//cdn\\.omniparcelreturns\\.com/",
+    "scriptSrc": [
+      "//cdn\\.omniparcelreturns\\.com/"
+    ],
     "website": "https://www.sekologistics.com/us/global-cross-border-returns"
   },
   "Select2": {
@@ -1555,7 +1627,9 @@
     "js": {
       "jQuery.fn.select2": ""
     },
-    "scriptSrc": "select2(?:\\.min|\\.full)?\\.js",
+    "scriptSrc": [
+      "select2(?:\\.min|\\.full)?\\.js"
+    ],
     "website": "https://select2.org/"
   },
   "Selectize": {
@@ -1638,7 +1712,9 @@
       "Microsoft ASP.NET"
     ],
     "saas": true,
-    "scriptSrc": "\\.sellerscommerce\\.com/",
+    "scriptSrc": [
+      "\\.sellerscommerce\\.com/"
+    ],
     "website": "https://www.sellerscommerce.com"
   },
   "Selless": {
@@ -1672,7 +1748,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "sellfy\\.com/js/",
+    "scriptSrc": [
+      "sellfy\\.com/js/"
+    ],
     "website": "https://sellfy.com"
   },
   "Sellingo": {
@@ -1710,7 +1788,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.sellix\\.io/static/js/embed\\.js",
+    "scriptSrc": [
+      "cdn\\.sellix\\.io/static/js/embed\\.js"
+    ],
     "website": "https://sellix.io/"
   },
   "Sellsy": {
@@ -1727,7 +1807,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.sellsy\\.com/",
+    "scriptSrc": [
+      "\\.sellsy\\.com/"
+    ],
     "website": "https://go.sellsy.com"
   },
   "Selly": {
@@ -1742,7 +1824,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "embed\\.selly\\.(?:gg|io)",
+    "scriptSrc": [
+      "embed\\.selly\\.(?:gg|io)"
+    ],
     "website": "https://selly.io/"
   },
   "Semantic UI": {
@@ -1754,7 +1838,9 @@
       "<link[^>]+semantic(?:\\.min)\\.css\""
     ],
     "icon": "Semantic-ui.png",
-    "scriptSrc": "/semantic(?:-([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "/semantic(?:-([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://semantic-ui.com/"
   },
   "Sematext Experience": {
@@ -1768,7 +1854,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.sematext\\.com/experience\\.js",
+    "scriptSrc": [
+      "\\.sematext\\.com/experience\\.js"
+    ],
     "website": "https://sematext.com/experience"
   },
   "Semplice": {
@@ -1787,7 +1875,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/semplice(?:\\d+)?(?:-child)?(?:-theme)?/",
+    "scriptSrc": [
+      "/wp-content/themes/semplice(?:\\d+)?(?:-child)?(?:-theme)?/"
+    ],
     "website": "https://www.semplice.com"
   },
   "Sencha Touch": {
@@ -1797,7 +1887,9 @@
     ],
     "description": "Sencha Touch is a user interface (UI) JavaScript library, or web framework, specifically built for the Mobile Web.",
     "icon": "Sencha Touch.png",
-    "scriptSrc": "sencha-touch.*\\.js",
+    "scriptSrc": [
+      "sencha-touch.*\\.js"
+    ],
     "website": "https://www.sencha.com/products/touch"
   },
   "SendPulse": {
@@ -1814,7 +1906,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.sendpulse\\.com/",
+    "scriptSrc": [
+      "\\.sendpulse\\.com/"
+    ],
     "website": "https://sendpulse.com"
   },
   "Sendgrid": {
@@ -1852,7 +1946,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "sib(?:automation|forms)\\.com/",
+    "scriptSrc": [
+      "sib(?:automation|forms)\\.com/"
+    ],
     "website": "https://www.sendinblue.com"
   },
   "Sensors Data": {
@@ -1868,7 +1964,9 @@
       "sa.lib_version": "([\\d.]+)\\;version:\\1",
       "sensorsdata_app_js_bridge_call_js": ""
     },
-    "scriptSrc": "sensorsdata",
+    "scriptSrc": [
+      "sensorsdata"
+    ],
     "website": "https://www.sensorsdata.cn"
   },
   "Sentry": {
@@ -1936,7 +2034,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.smg\\.com/",
+    "scriptSrc": [
+      "\\.smg\\.com/"
+    ],
     "website": "https://www.smg.com"
   },
   "Service Provider Pro": {
@@ -2026,7 +2126,9 @@
     "js": {
       "SevenroomsWidget": ""
     },
-    "scriptSrc": "sevenrooms\\.\\w+/widget/embed\\.js",
+    "scriptSrc": [
+      "sevenrooms\\.\\w+/widget/embed\\.js"
+    ],
     "website": "https://sevenrooms.com"
   },
   "Sezzle": {
@@ -2045,7 +2147,9 @@
       "sezzle_cid": ""
     },
     "saas": true,
-    "scriptSrc": "widget\\.sezzle\\.(?:in|com)",
+    "scriptSrc": [
+      "widget\\.sezzle\\.(?:in|com)"
+    ],
     "website": "https://sezzle.com/"
   },
   "Shaka Player": {
@@ -2071,7 +2175,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.shanon-services\\.com",
+    "scriptSrc": [
+      "\\.shanon-services\\.com"
+    ],
     "website": "https://www.shanon.co.jp"
   },
   "Shapecss": {
@@ -2105,7 +2211,9 @@
     "pricing": [
       "freemium"
     ],
-    "scriptSrc": "\\.sharethis\\.com/",
+    "scriptSrc": [
+      "\\.sharethis\\.com/"
+    ],
     "website": "https://sharethis.com"
   },
   "Shareaholic": {
@@ -2134,7 +2242,9 @@
     "pricing": [
       "poa"
     ],
-    "scriptSrc": "\\.sharethrough\\.com/",
+    "scriptSrc": [
+      "\\.sharethrough\\.com/"
+    ],
     "website": "https://www.sharethrough.com"
   },
   "Sharetribe": {
@@ -2149,7 +2259,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.sharetribe\\.com/",
+    "scriptSrc": [
+      "\\.sharetribe\\.com/"
+    ],
     "website": "https://www.sharetribe.com"
   },
   "SharpSpring": {
@@ -2166,7 +2278,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.marketingautomation\\.services.+(?:ver=)([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "\\.marketingautomation\\.services.+(?:ver=)([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://sharpspring.com"
   },
   "SharpSpring Ads": {
@@ -2182,7 +2296,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.perfectaudience\\.com",
+    "scriptSrc": [
+      "\\.perfectaudience\\.com"
+    ],
     "website": "https://sharpspring.com/ads"
   },
   "SheerID": {
@@ -2245,7 +2361,9 @@
     "pricing": [
       "poa"
     ],
-    "scriptSrc": "shepherd(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "shepherd(?:\\.min)?\\.js"
+    ],
     "website": "https://shepherdjs.dev/"
   },
   "Shift4Shop": {
@@ -2268,7 +2386,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "(?:twlh(?:track)?\\.asp|3d_upsell\\.js)",
+    "scriptSrc": [
+      "(?:twlh(?:track)?\\.asp|3d_upsell\\.js)"
+    ],
     "website": "https://www.shift4shop.com"
   },
   "Shiny": {
@@ -2292,7 +2412,9 @@
     "js": {
       "SSsdk": ""
     },
-    "scriptSrc": "^https?://codice(?:business|ssl|pro|isp)?\\.shinystat\\.com/cgi-bin/getcod\\.cgi",
+    "scriptSrc": [
+      "^https?://codice(?:business|ssl|pro|isp)?\\.shinystat\\.com/cgi-bin/getcod\\.cgi"
+    ],
     "website": "https://shinystat.com"
   },
   "ShipStation": {
@@ -2324,7 +2446,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.shiptection\\.com/",
+    "scriptSrc": [
+      "app\\.shiptection\\.com/"
+    ],
     "website": "https://wamapps.io/pages/shiptection-protection"
   },
   "ShippyPro": {
@@ -2390,7 +2514,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "\\.getshogun\\.com/.+\\.myshopify\\.com",
+    "scriptSrc": [
+      "\\.getshogun\\.com/.+\\.myshopify\\.com"
+    ],
     "website": "https://apps.shopify.com/shogun"
   },
   "Shogun Page Builder": {
@@ -2513,7 +2639,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.amazonaws\\.com/shopwired-theme-assets/",
+    "scriptSrc": [
+      "\\.amazonaws\\.com/shopwired-theme-assets/"
+    ],
     "website": "https://www.shopwired.co.uk"
   },
   "Shopaholic": {
@@ -2553,7 +2681,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.myshopapps\\.com/",
+    "scriptSrc": [
+      "cdn\\.myshopapps\\.com/"
+    ],
     "website": "https://www.shopapps.in"
   },
   "Shopatron": {
@@ -2571,7 +2701,9 @@
     "meta": {
       "keywords": "Shopatron"
     },
-    "scriptSrc": "mediacdn\\.shopatron\\.com",
+    "scriptSrc": [
+      "mediacdn\\.shopatron\\.com"
+    ],
     "website": "https://ecommerce.shopatron.com"
   },
   "Shopcada": {
@@ -2748,7 +2880,9 @@
     "implies": [
       "Shopify"
     ],
-    "scriptSrc": "geolocation-recommendations\\.shopifycloud\\.com/",
+    "scriptSrc": [
+      "geolocation-recommendations\\.shopifycloud\\.com/"
+    ],
     "website": "https://apps.shopify.com/geolocation"
   },
   "Shopify Product Reviews": {
@@ -2837,7 +2971,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.shoplo\\.\\w+/",
+    "scriptSrc": [
+      "cdn\\.shoplo\\.\\w+/"
+    ],
     "website": "https://www.shoplo.com"
   },
   "Shopmatic": {
@@ -2928,7 +3064,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.shoppinggives\\.com/",
+    "scriptSrc": [
+      "cdn\\.shoppinggives\\.com/"
+    ],
     "website": "https://shoppinggives.com"
   },
   "Shoppub": {
@@ -2965,7 +3103,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.shoppy\\.gg",
+    "scriptSrc": [
+      "\\.shoppy\\.gg"
+    ],
     "website": "https://shoppy.gg"
   },
   "Shoprenter": {
@@ -2982,7 +3122,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.cdn\\.shoprenter\\.hu/",
+    "scriptSrc": [
+      "\\.cdn\\.shoprenter\\.hu/"
+    ],
     "website": "https://www.shoprenter.hu"
   },
   "Shoprunner": {
@@ -3003,7 +3145,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/shoprunner/shoprunner_init\\.js",
+    "scriptSrc": [
+      "/shoprunner/shoprunner_init\\.js"
+    ],
     "website": "https://www.shoprunner.com"
   },
   "Shoptet": {
@@ -3105,7 +3249,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/shortcodes-ultimate/.+index\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/shortcodes-ultimate/.+index\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://getshortcodes.com"
   },
   "Shortly": {
@@ -3117,7 +3263,9 @@
     "implies": [
       "Shopify"
     ],
-    "scriptSrc": "//shortly\\.shop/",
+    "scriptSrc": [
+      "//shortly\\.shop/"
+    ],
     "website": "https://apps.shopify.com/shortly"
   },
   "ShoutOut": {
@@ -3132,7 +3280,9 @@
       "recurring"
     ],
     "requiresCategory": 6,
-    "scriptSrc": "\\.shoutout\\.global/",
+    "scriptSrc": [
+      "\\.shoutout\\.global/"
+    ],
     "website": "https://www.shoutout.global"
   },
   "Showdown": {
@@ -3145,7 +3295,9 @@
       "showdown": ""
     },
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/(?:dist\\/)?)?showdown(?:\\.min)?(?:-?((?:\\d+\\.)+\\d+))?\\.js\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/(?:dist\\/)?)?showdown(?:\\.min)?(?:-?((?:\\d+\\.)+\\d+))?\\.js\\;version:\\1\\2"
+    ],
     "website": "https://showdownjs.com/"
   },
   "Showit": {
@@ -3161,7 +3313,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "lib\\.showit\\.co/engine/([\\d\\.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "lib\\.showit\\.co/engine/([\\d\\.]+)/\\;version:\\1"
+    ],
     "website": "https://showit.co"
   },
   "Shuttle": {
@@ -3183,7 +3337,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "shuttle(?:-assets-new|-storage)\\.s3\\.amazonaws\\.com",
+    "scriptSrc": [
+      "shuttle(?:-assets-new|-storage)\\.s3\\.amazonaws\\.com"
+    ],
     "website": "https://www.devisto.com"
   },
   "Sift": {
@@ -3202,7 +3358,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.sift(?:science)?\\.com/s\\.js",
+    "scriptSrc": [
+      "cdn\\.sift(?:science)?\\.com/s\\.js"
+    ],
     "website": "https://sift.com/"
   },
   "Signal": {
@@ -3226,7 +3384,9 @@
       59
     ],
     "description": "Realtime web communication framework from Microsoft for ASP.NET.",
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/jquery\\.)?signal[rR](?:-((?:\\d+\\.)+\\d+))?(?:\\.min)?\\.js\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/jquery\\.)?signal[rR](?:-((?:\\d+\\.)+\\d+))?(?:\\.min)?\\.js\\;version:\\1\\2"
+    ],
     "website": "https://dotnet.microsoft.com/es-es/apps/aspnet/signalr"
   },
   "Signifyd": {
@@ -3244,7 +3404,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.signifyd\\.com",
+    "scriptSrc": [
+      "\\.signifyd\\.com"
+    ],
     "website": "https://www.signifyd.com"
   },
   "Silverstripe": {
@@ -3383,7 +3545,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.simplero\\.com/",
+    "scriptSrc": [
+      "\\.simplero\\.com/"
+    ],
     "website": "https://simplero.com"
   },
   "Simplero Websites": {
@@ -3411,7 +3575,9 @@
     ],
     "description": "Simpli.fi is a programmatic advertising and agency management software.",
     "icon": "Simplifi.png",
-    "scriptSrc": "\\.simpli\\.fi",
+    "scriptSrc": [
+      "\\.simpli\\.fi"
+    ],
     "website": "https://simpli.fi/"
   },
   "Simplio Upsells": {
@@ -3428,7 +3594,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//upsell\\.simplio\\.app/",
+    "scriptSrc": [
+      "//upsell\\.simplio\\.app/"
+    ],
     "website": "https://apps.shopify.com/simple-promotions-and-upsells"
   },
   "Simplo7": {
@@ -3442,7 +3610,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.simplo7\\.\\w+/",
+    "scriptSrc": [
+      "cdn\\.simplo7\\.\\w+/"
+    ],
     "website": "https://www.simplo7.com.br"
   },
   "Simplébo": {
@@ -3487,7 +3657,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/sinatra/.+sinatra\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/sinatra/.+sinatra\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://try.sinatrawp.com"
   },
   "Sirclo": {
@@ -3505,7 +3677,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "template\\.sirclocdn\\.com/",
+    "scriptSrc": [
+      "template\\.sirclocdn\\.com/"
+    ],
     "url": "^https?//.+\\.sirclo\\.me",
     "website": "https://sirclo.com/"
   },
@@ -3546,7 +3720,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.app\\.sirge\\.com/",
+    "scriptSrc": [
+      "cdn\\.app\\.sirge\\.com/"
+    ],
     "website": "https://www.sirge.com"
   },
   "Sirvoy": {
@@ -3585,7 +3761,9 @@
       10
     ],
     "icon": "Site Meter.png",
-    "scriptSrc": "sitemeter\\.com/js/counter\\.js\\?site=",
+    "scriptSrc": [
+      "sitemeter\\.com/js/counter\\.js\\?site="
+    ],
     "website": "https://www.sitemeter.com"
   },
   "Site Search 360": {
@@ -3621,7 +3799,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.site24x7rum\\.com",
+    "scriptSrc": [
+      "\\.site24x7rum\\.com"
+    ],
     "website": "https://www.site24x7.com"
   },
   "SiteEdit": {
@@ -3670,7 +3850,9 @@
     "description": "Sitejabber is the leading destination for customer ratings and reviews of businesses. Consumers find ratings and read reviews to ensure they buy from the best companies.",
     "icon": "SiteJabber.svg",
     "saas": true,
-    "scriptSrc": "biz\\.sitejabber\\.com",
+    "scriptSrc": [
+      "biz\\.sitejabber\\.com"
+    ],
     "website": "https://www.sitejabber.com/"
   },
   "SiteManager": {
@@ -3692,7 +3874,9 @@
       "PHP"
     ],
     "saas": true,
-    "scriptSrc": "s\\d+\\.sitemn\\.gr/",
+    "scriptSrc": [
+      "s\\d+\\.sitemn\\.gr/"
+    ],
     "website": "https://www.sitemanager.io"
   },
   "SiteMinder": {
@@ -3707,7 +3891,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "widget\\.siteminder\\.com",
+    "scriptSrc": [
+      "widget\\.siteminder\\.com"
+    ],
     "website": "https://www.siteminder.com"
   },
   "SiteOrigin Page Builder": {
@@ -3724,7 +3910,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/siteorigin-panels/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/siteorigin-panels/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://siteorigin.com/page-builder"
   },
   "SiteOrigin Vantage": {
@@ -3740,7 +3928,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/vantage/",
+    "scriptSrc": [
+      "/wp-content/themes/vantage/"
+    ],
     "website": "https://siteorigin.com/theme/vantage"
   },
   "SiteOrigin Widgets Bundle": {
@@ -3756,7 +3946,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/so-widgets-bundle/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/so-widgets-bundle/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://siteorigin.com/widgets-bundle"
   },
   "SitePad": {
@@ -3791,7 +3983,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "/__ssobj/core\\.js",
+    "scriptSrc": [
+      "/__ssobj/core\\.js"
+    ],
     "website": "https://www.sitespect.com"
   },
   "SiteVibes": {
@@ -3808,7 +4002,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.sitevibes\\.com/",
+    "scriptSrc": [
+      "app\\.sitevibes\\.com/"
+    ],
     "website": "https://sitevibes.com"
   },
   "SiteW": {
@@ -3876,7 +4072,9 @@
       "high"
     ],
     "saas": true,
-    "scriptSrc": "/sitecore-engage-v\\.([\\d\\.]+)\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "/sitecore-engage-v\\.([\\d\\.]+)\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://www.sitecore.com/products/engagement-cloud"
   },
   "Sitecore Experience Edge": {
@@ -3927,7 +4125,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "siteglide\\.js",
+    "scriptSrc": [
+      "siteglide\\.js"
+    ],
     "website": "https://www.siteglide.com"
   },
   "Siteimprove": {
@@ -3944,7 +4144,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:\\.|//)siteimprove(?:analytics)?\\.com/js/siteanalyze",
+    "scriptSrc": [
+      "(?:\\.|//)siteimprove(?:analytics)?\\.com/js/siteanalyze"
+    ],
     "website": "https://www.siteimprove.com"
   },
   "Sitepark IES": {
@@ -4039,7 +4241,9 @@
       "(?:<a [^>]*href=\"[^/]*//[^/]*serving-sys\\.com/|<img [^>]*src=\"[^/]*//[^/]*serving-sys\\.com/)"
     ],
     "icon": "Sizmek.png",
-    "scriptSrc": "serving-sys\\.com/",
+    "scriptSrc": [
+      "serving-sys\\.com/"
+    ],
     "website": "https://sizmek.com"
   },
   "Skai": {
@@ -4063,7 +4267,9 @@
     "js": {
       "Skedify.Plugin.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "plugin\\.skedify\\.io",
+    "scriptSrc": [
+      "plugin\\.skedify\\.io"
+    ],
     "website": "https://calendly.com/"
   },
   "Skilldo": {
@@ -4118,7 +4324,9 @@
     "pricing": [
       "payg"
     ],
-    "scriptSrc": "\\.skimresources\\.com",
+    "scriptSrc": [
+      "\\.skimresources\\.com"
+    ],
     "website": "https://skimlinks.com",
     "xhr": "\\.skimresources\\.com"
   },
@@ -4136,7 +4344,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.skio\\.com/",
+    "scriptSrc": [
+      "cdn\\.skio\\.com/"
+    ],
     "website": "https://skio.com"
   },
   "Skolengo": {
@@ -4205,7 +4415,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "sv-wc-payment-gateway-payment-form\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "sv-wc-payment-gateway-payment-form\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1"
+    ],
     "website": "https://www.skyverge.com"
   },
   "Skyflow": {
@@ -4236,7 +4448,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "slate-technolutions-net\\.cdn\\.technolutions\\.net/",
+    "scriptSrc": [
+      "slate-technolutions-net\\.cdn\\.technolutions\\.net/"
+    ],
     "website": "https://technolutions.com"
   },
   "Sleeknote": {
@@ -4273,7 +4487,9 @@
       "Vue.js"
     ],
     "saas": true,
-    "scriptSrc": "\\.sleekplan\\.com/",
+    "scriptSrc": [
+      "\\.sleekplan\\.com/"
+    ],
     "website": "https://sleekplan.com"
   },
   "Slice": {
@@ -4300,7 +4516,9 @@
     "implies": [
       "jQuery"
     ],
-    "scriptSrc": "(?:/([\\d.]+))?/slick(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:/([\\d.]+))?/slick(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://kenwheeler.github.io/slick"
   },
   "SlickStack": {
@@ -4362,7 +4580,9 @@
       "onetime"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/revslider/",
+    "scriptSrc": [
+      "/wp-content/plugins/revslider/"
+    ],
     "website": "https://www.sliderrevolution.com"
   },
   "Slimbox": {
@@ -4376,7 +4596,9 @@
     "implies": [
       "MooTools"
     ],
-    "scriptSrc": "slimbox\\.js",
+    "scriptSrc": [
+      "slimbox\\.js"
+    ],
     "website": "https://www.digitalia.be/software/slimbox"
   },
   "Slimbox 2": {
@@ -4390,7 +4612,9 @@
     "implies": [
       "jQuery"
     ],
-    "scriptSrc": "slimbox2\\.js",
+    "scriptSrc": [
+      "slimbox2\\.js"
+    ],
     "website": "https://www.digitalia.be/software/slimbox2"
   },
   "Smart Ad Server": {
@@ -4407,7 +4631,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.sascdn\\.com/",
+    "scriptSrc": [
+      "\\.sascdn\\.com/"
+    ],
     "website": "https://smartadserver.com"
   },
   "Smart Slider 3": {
@@ -4423,7 +4649,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/smart-slider-3(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/plugins/smart-slider-3(?:-pro)?/"
+    ],
     "website": "https://smartslider3.com"
   },
   "SmartRecruiters": {
@@ -4438,7 +4666,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.smartrecruiters\\.com/",
+    "scriptSrc": [
+      "\\.smartrecruiters\\.com/"
+    ],
     "website": "https://www.smartrecruiters.com"
   },
   "SmartSite": {
@@ -4486,7 +4716,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.?smct\\.(?:io|co)/",
+    "scriptSrc": [
+      "\\.?smct\\.(?:io|co)/"
+    ],
     "website": "https://smarterclick.com"
   },
   "Smartling": {
@@ -4502,7 +4734,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.smartling\\.com/",
+    "scriptSrc": [
+      "\\.smartling\\.com/"
+    ],
     "website": "https://www.smartling.com"
   },
   "Smartlook": {
@@ -4521,7 +4755,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.smartlook\\.com/",
+    "scriptSrc": [
+      "\\.smartlook\\.com/"
+    ],
     "website": "https://www.smartlook.com"
   },
   "Smartstore": {
@@ -4568,7 +4804,9 @@
       6
     ],
     "icon": "Smartstore.biz.png",
-    "scriptSrc": "smjslib\\.js",
+    "scriptSrc": [
+      "smjslib\\.js"
+    ],
     "website": "https://smartstore.com"
   },
   "Smartsupp": {
@@ -4586,7 +4824,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.smartsuppchat\\.com",
+    "scriptSrc": [
+      "\\.smartsuppchat\\.com"
+    ],
     "website": "https://www.smartsupp.com"
   },
   "Smash Balloon Instagram Feed": {
@@ -4604,7 +4844,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/instagram-feed/",
+    "scriptSrc": [
+      "/wp-content/plugins/instagram-feed/"
+    ],
     "website": "https://smashballoon.com/instagram-feed"
   },
   "Smile": {
@@ -4622,7 +4864,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.(?:smile|sweettooth)\\.io/",
+    "scriptSrc": [
+      "\\.(?:smile|sweettooth)\\.io/"
+    ],
     "website": "https://smile.io"
   },
   "Smile App": {
@@ -4643,7 +4887,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "js\\.smile\\.io/.+smile-shopify\\.js",
+    "scriptSrc": [
+      "js\\.smile\\.io/.+smile-shopify\\.js"
+    ],
     "website": "https://apps.shopify.com/smile-io"
   },
   "SmtpJS": {
@@ -4653,7 +4899,9 @@
     "description": "SmtpJS is a free library you can use for sending emails from JavaScript.",
     "icon": "default.svg",
     "oss": true,
-    "scriptSrc": "/smtpjs\\.com/(?:v([\\d\\.]+)/)?smtp\\.js\\;version:\\1",
+    "scriptSrc": [
+      "/smtpjs\\.com/(?:v([\\d\\.]+)/)?smtp\\.js\\;version:\\1"
+    ],
     "website": "https://smtpjs.com"
   },
   "SmugMug": {
@@ -4686,7 +4934,9 @@
     ],
     "description": "Minimalistic animation library in javascript Snabbt.js.",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?snabbt(?:[\\.-]min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?snabbt(?:[\\.-]min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://daniel-lundin.github.io/snabbt.js/"
   },
   "Snap": {
@@ -4714,7 +4964,9 @@
       "snaptr.pixelIdList": ""
     },
     "saas": true,
-    "scriptSrc": "intg\\.snapchat\\.com/",
+    "scriptSrc": [
+      "intg\\.snapchat\\.com/"
+    ],
     "website": "https://businesshelp.snapchat.com/s/article/snap-pixel-about"
   },
   "Snap.svg": {
@@ -4725,7 +4977,9 @@
     "js": {
       "Snap.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "snap\\.svg(?:-min)?\\.js",
+    "scriptSrc": [
+      "snap\\.svg(?:-min)?\\.js"
+    ],
     "website": "https://snapsvg.io"
   },
   "SnapEngage": {
@@ -4761,7 +5015,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "snapwidget\\.com/",
+    "scriptSrc": [
+      "snapwidget\\.com/"
+    ],
     "website": "https://snapwidget.com"
   },
   "Snipcart": {
@@ -4787,7 +5043,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "https://cdn\\.snipcart\\.com/themes/v([\\w.]+)/default/snipcart\\.js\\;version:\\1",
+    "scriptSrc": [
+      "https://cdn\\.snipcart\\.com/themes/v([\\w.]+)/default/snipcart\\.js\\;version:\\1"
+    ],
     "website": "https://snipcart.com"
   },
   "SniperFast": {
@@ -4808,7 +5066,9 @@
     ],
     "requiresCategory": 6,
     "saas": true,
-    "scriptSrc": "\\.sniperfast\\.com",
+    "scriptSrc": [
+      "\\.sniperfast\\.com"
+    ],
     "website": "https://www.sniperfast.com"
   },
   "Sniply": {
@@ -4825,7 +5085,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "gosniply\\.com/",
+    "scriptSrc": [
+      "gosniply\\.com/"
+    ],
     "website": "https://sniply.io"
   },
   "Snoobi": {
@@ -4836,7 +5098,9 @@
     "js": {
       "snoobi": ""
     },
-    "scriptSrc": "snoobi\\.com/snoop\\.php",
+    "scriptSrc": [
+      "snoobi\\.com/snoop\\.php"
+    ],
     "website": "https://www.snoobi.com"
   },
   "Snowplow Analytics": {
@@ -4893,7 +5157,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "social9\\.com/.+\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "social9\\.com/.+\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1"
+    ],
     "website": "https://social9.com"
   },
   "SocialJuice": {
@@ -4922,7 +5188,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "socialladder\\.rkiapps\\.com/",
+    "scriptSrc": [
+      "socialladder\\.rkiapps\\.com/"
+    ],
     "website": "https://socialladderapp.com"
   },
   "Social Pinpoint": {
@@ -4953,7 +5221,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/ag-core/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/ag-core/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.societe-des-avis-garantis.fr"
   },
   "SockJS": {
@@ -4964,7 +5234,9 @@
     "description": "SockJS is a browser JavaScript library that provides a WebSocket-like object.",
     "icon": "SockJS.png",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?sockjs(?:-((?:\\d+\\.)+\\d+))?(?:\\.min)?\\.js\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?sockjs(?:-((?:\\d+\\.)+\\d+))?(?:\\.min)?\\.js\\;version:\\1\\2"
+    ],
     "website": "https://sockjs.org"
   },
   "Socket.io": {
@@ -4979,7 +5251,9 @@
       "io.Socket": "",
       "io.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "socket\\.io.*\\.js",
+    "scriptSrc": [
+      "socket\\.io.*\\.js"
+    ],
     "website": "https://socket.io"
   },
   "SoftTr": {
@@ -5023,7 +5297,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.soisy\\.it/",
+    "scriptSrc": [
+      "cdn\\.soisy\\.it/"
+    ],
     "website": "https://www.soisy.it"
   },
   "SolidJS": {
@@ -5129,7 +5405,9 @@
       "_adcopy-puzzle-image-image": "",
       "adcopy-puzzle-image-image": ""
     },
-    "scriptSrc": "^https?://api\\.solvemedia\\.com/",
+    "scriptSrc": [
+      "^https?://api\\.solvemedia\\.com/"
+    ],
     "website": "https://solvemedia.com"
   },
   "Solvemate": {
@@ -5165,7 +5443,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.solvvy\\.com/",
+    "scriptSrc": [
+      "cdn\\.solvvy\\.com/"
+    ],
     "website": "https://solvvy.com/"
   },
   "SonarQubes": {
@@ -5188,7 +5468,9 @@
     "meta": {
       "application-name": "^SonarQubes$"
     },
-    "scriptSrc": "^/js/bundles/sonar\\.js?v=([\\d.]+)$\\;version:\\1",
+    "scriptSrc": [
+      "^/js/bundles/sonar\\.js?v=([\\d.]+)$\\;version:\\1"
+    ],
     "website": "https://www.sonarqube.org/"
   },
   "Sonobi": {
@@ -5214,7 +5496,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.deployads\\.com/",
+    "scriptSrc": [
+      "\\.deployads\\.com/"
+    ],
     "website": "https://sortable.com"
   },
   "Sorted Return": {
@@ -5231,7 +5515,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "return\\.clicksit\\.com/",
+    "scriptSrc": [
+      "return\\.clicksit\\.com/"
+    ],
     "website": "https://sorted.com/give-your-customers-a-5-returns-experience/"
   },
   "SoteShop": {
@@ -5292,7 +5578,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.sndcdn\\.com/",
+    "scriptSrc": [
+      "\\.sndcdn\\.com/"
+    ],
     "website": "https://developers.soundcloud.com/docs/api/html5-widget"
   },
   "SoundManager": {
@@ -5338,7 +5626,9 @@
       "sovrn_render": ""
     },
     "saas": true,
-    "scriptSrc": "\\.(?:linksmart|lijit)\\.com/",
+    "scriptSrc": [
+      "\\.(?:linksmart|lijit)\\.com/"
+    ],
     "website": "https://www.sovrn.com",
     "xhr": "\\.lijit\\.com"
   },
@@ -5357,7 +5647,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "(?:^[^/]*//[^/]*viglink\\.com/api/|vglnk\\.js)",
+    "scriptSrc": [
+      "(?:^[^/]*//[^/]*viglink\\.com/api/|vglnk\\.js)"
+    ],
     "website": "https://www.sovrn.com/publishers/commerce/"
   },
   "Spark CMS": {
@@ -5371,7 +5663,9 @@
     "dom": "link[href*='sparkcms.com.au']",
     "icon": "Spark.png",
     "oss": false,
-    "scriptSrc": "/spark-scripts/",
+    "scriptSrc": [
+      "/spark-scripts/"
+    ],
     "website": "https://www.councilconnect.com.au/our-websites/about-spark-cms.aspx"
   },
   "SparkPost": {
@@ -5450,7 +5744,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/ultimate-addons-for-gutenberg/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/ultimate-addons-for-gutenberg/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wpspectra.com"
   },
   "Speed Kit": {
@@ -5484,7 +5780,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.speedcurve\\.com",
+    "scriptSrc": [
+      "\\.speedcurve\\.com"
+    ],
     "website": "https://www.speedcurve.com"
   },
   "SpeedSize": {
@@ -5515,7 +5813,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.shopify\\.com/.+/assets/speedimize\\.js",
+    "scriptSrc": [
+      "cdn\\.shopify\\.com/.+/assets/speedimize\\.js"
+    ],
     "website": "https://speedimize.io"
   },
   "Spektrix": {
@@ -5528,7 +5828,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "spektrix(?:\\.com)?(?:_nb)?\\/(?:stable)?(?:libraries)?\\/(?:before-after)?(?:script)?(?:spektrix)?-?(?:web)?(?:component)?s?-?(?:basket-summary)?(?:donate)?(?:gift-vouchers)?(?:loader)?(?:login-status)?(?:memberships)?(?:merchandise)?(?:-es2015)?\\.js(?:\\?ver?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "spektrix(?:\\.com)?(?:_nb)?\\/(?:stable)?(?:libraries)?\\/(?:before-after)?(?:script)?(?:spektrix)?-?(?:web)?(?:component)?s?-?(?:basket-summary)?(?:donate)?(?:gift-vouchers)?(?:loader)?(?:login-status)?(?:memberships)?(?:merchandise)?(?:-es2015)?\\.js(?:\\?ver?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://www.spektrix.com"
   },
   "Sphinx": {
@@ -5558,7 +5860,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/spicepress(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/spicepress(?:-pro)?/"
+    ],
     "website": "https://spicethemes.com/spicepress-wordpress-theme"
   },
   "spin.js": {
@@ -5588,7 +5892,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "client\\.spinasale\\.com/",
+    "scriptSrc": [
+      "client\\.spinasale\\.com/"
+    ],
     "website": "https://spinasale.com"
   },
   "Spinnakr": {
@@ -5657,7 +5963,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.split\\.io/(?:sdk/split-([\\d\\.]+)\\.min\\.js)?\\;version:\\1",
+    "scriptSrc": [
+      "\\.split\\.io/(?:sdk/split-([\\d\\.]+)\\.min\\.js)?\\;version:\\1"
+    ],
     "website": "https://www.split.io"
   },
   "SplitIt": {
@@ -5675,7 +5983,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.production\\.splitit\\.com/",
+    "scriptSrc": [
+      "\\.production\\.splitit\\.com/"
+    ],
     "website": "https://www.splitit.com"
   },
   "Splitbee": {
@@ -5686,7 +5996,9 @@
     "js": {
       "splitbee": ""
     },
-    "scriptSrc": "^https://cdn\\.splitbee\\.io/sb\\.js",
+    "scriptSrc": [
+      "^https://cdn\\.splitbee\\.io/sb\\.js"
+    ],
     "website": "https://splitbee.io"
   },
   "SplittyPay": {
@@ -5715,7 +6027,9 @@
     "pricing": [
       "payg"
     ],
-    "scriptSrc": "browser\\.plumbr\\.io/pa(?:-early)?\\.js",
+    "scriptSrc": [
+      "browser\\.plumbr\\.io/pa(?:-early)?\\.js"
+    ],
     "website": "https://www.splunk.com/en_us/observability/real-user-monitoring.html"
   },
   "Splunkd": {
@@ -5748,7 +6062,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "static\\.spotapps\\.co/",
+    "scriptSrc": [
+      "static\\.spotapps\\.co/"
+    ],
     "website": "https://www.spothopperapp.com"
   },
   "SpotX": {
@@ -5768,7 +6084,9 @@
       "SpotX.VERSION": "([\\d.]+)\\;version:\\1"
     },
     "saas": true,
-    "scriptSrc": "js\\.spotx\\.tv",
+    "scriptSrc": [
+      "js\\.spotx\\.tv"
+    ],
     "website": "https://www.spotx.tv",
     "xhr": "\\.spotx(?:change|cdn)\\.com"
   },
@@ -5812,7 +6130,9 @@
       "spotiiConfig": ""
     },
     "saas": true,
-    "scriptSrc": "widget\\.spotii\\.me",
+    "scriptSrc": [
+      "widget\\.spotii\\.me"
+    ],
     "website": "https://www.spotii.com/"
   },
   "Spree": {
@@ -5844,7 +6164,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.userleap\\.com/",
+    "scriptSrc": [
+      "cdn\\.userleap\\.com/"
+    ],
     "website": "https://sprig.com"
   },
   "Sprig plugin": {
@@ -5885,7 +6207,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "\\.creator-spring\\.com/",
+    "scriptSrc": [
+      "\\.creator-spring\\.com/"
+    ],
     "website": "https://www.spri.ng"
   },
   "SprintHub": {
@@ -5903,7 +6227,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.sprinthub\\.io/",
+    "scriptSrc": [
+      "\\.sprinthub\\.io/"
+    ],
     "website": "https://lp.sprinthub.com"
   },
   "SpriteSpin": {
@@ -5956,7 +6282,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn-spurit\\.com/shopify-apps/",
+    "scriptSrc": [
+      "cdn-spurit\\.com/shopify-apps/"
+    ],
     "website": "https://spur-i-t.com"
   },
   "SpurIT Abandoned Cart Reminder": {
@@ -5977,7 +6305,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn-spurit\\.com/shopify-apps/abandoned-cart-reminder/",
+    "scriptSrc": [
+      "cdn-spurit\\.com/shopify-apps/abandoned-cart-reminder/"
+    ],
     "website": "https://spur-i-t.com/shopify-apps/abandoned-cart-reminder/"
   },
   "SpurIT Loyalty App": {
@@ -5999,7 +6329,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn-spurit\\.com/shopify-apps/loyaltypoints/",
+    "scriptSrc": [
+      "cdn-spurit\\.com/shopify-apps/loyaltypoints/"
+    ],
     "website": "https://spur-i-t.com/shopify-apps/loyalty-points-manager"
   },
   "SpurIT Partial Payments App": {
@@ -6017,7 +6349,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn-spurit\\.com/shopify-apps/split-payments/",
+    "scriptSrc": [
+      "cdn-spurit\\.com/shopify-apps/split-payments/"
+    ],
     "website": "https://spur-i-t.com/shopify-apps/split-partial-payments/"
   },
   "SpurIT Recurring Payments App": {
@@ -6038,7 +6372,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn-spurit\\.com/shopify-apps/recurring-invoices/",
+    "scriptSrc": [
+      "cdn-spurit\\.com/shopify-apps/recurring-invoices/"
+    ],
     "website": "https://spur-i-t.com/shopify-apps/recurring-order-subscription"
   },
   "Sqreen": {
@@ -6068,7 +6404,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "//asset\\.easydmp\\.net/",
+    "scriptSrc": [
+      "//asset\\.easydmp\\.net/"
+    ],
     "website": "https://www.squadata.net"
   },
   "Squadded": {
@@ -6083,7 +6421,9 @@
     "pricing": [
       "poa"
     ],
-    "scriptSrc": "static\\.squadded\\.co",
+    "scriptSrc": [
+      "static\\.squadded\\.co"
+    ],
     "website": "https://www.squadded.co"
   },
   "Square": {
@@ -6101,7 +6441,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "js\\.squareup\\.com",
+    "scriptSrc": [
+      "js\\.squareup\\.com"
+    ],
     "website": "https://squareup.com/",
     "xhr": "\\.squareup\\.com"
   },
@@ -6170,7 +6512,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "assets\\.squarespace\\.\\w+/universal/scripts-compressed/commerce-\\w+-min\\.[\\w+\\-]+\\.js",
+    "scriptSrc": [
+      "assets\\.squarespace\\.\\w+/universal/scripts-compressed/commerce-\\w+-min\\.[\\w+\\-]+\\.js"
+    ],
     "website": "https://www.squarespace.com/ecommerce-website"
   },
   "Squeezely": {
@@ -6188,7 +6532,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//squeezely\\.tech/",
+    "scriptSrc": [
+      "//squeezely\\.tech/"
+    ],
     "website": "https://www.squeezely.tech"
   },
   "SquirrelMail": {
@@ -6253,7 +6599,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "api\\.stackanalytix\\.com",
+    "scriptSrc": [
+      "api\\.stackanalytix\\.com"
+    ],
     "website": "https://www.stackanalytix.com"
   },
   "StackCommerce": {
@@ -6373,7 +6721,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.stackify\\.com/",
+    "scriptSrc": [
+      "\\.stackify\\.com/"
+    ],
     "website": "https://stackify.com"
   },
   "Stage Try": {
@@ -6391,7 +6741,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.stagetry\\.io/",
+    "scriptSrc": [
+      "\\.stagetry\\.io/"
+    ],
     "website": "https://stagetry.com"
   },
   "Stamped": {
@@ -6408,7 +6760,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.stamped\\.io/",
+    "scriptSrc": [
+      "\\.stamped\\.io/"
+    ],
     "website": "https://stamped.io/"
   },
   "Starhost": {
@@ -6478,7 +6832,9 @@
       "sc_project": "\\;confidence:50",
       "sc_security": "\\;confidence:50"
     },
-    "scriptSrc": "statcounter\\.com/counter/counter",
+    "scriptSrc": [
+      "statcounter\\.com/counter/counter"
+    ],
     "website": "https://www.statcounter.com"
   },
   "Statically": {
@@ -6492,7 +6848,9 @@
     },
     "icon": "Statically.svg",
     "oss": true,
-    "scriptSrc": "cdn\\.statically\\.io/",
+    "scriptSrc": [
+      "cdn\\.statically\\.io/"
+    ],
     "website": "https://statically.io"
   },
   "Statping": {
@@ -6543,7 +6901,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "static\\.status\\.io/",
+    "scriptSrc": [
+      "static\\.status\\.io/"
+    ],
     "website": "https://status.io"
   },
   "StatusCast": {
@@ -6574,7 +6934,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//statuspal\\.io/",
+    "scriptSrc": [
+      "//statuspal\\.io/"
+    ],
     "website": "https://statuspal.io"
   },
   "Staytus": {
@@ -6599,7 +6961,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.steelhousemedia\\.com/(?:spx\\?dxver=([\\d.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "\\.steelhousemedia\\.com/(?:spx\\?dxver=([\\d.]+))?\\;version:\\1"
+    ],
     "website": "https://steelhouse.com"
   },
   "Stellar.js": {
@@ -6607,7 +6971,9 @@
       59
     ],
     "description": "Stellar.js is a JavaScript library and jQuery plugin specifically designed to deliver parallax scrolling effects for web pages.",
-    "scriptSrc": "stellar(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "stellar(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "oss": true,
     "website": "https://markdalgleish.com/projects/stellar.js/"
   },
@@ -6756,7 +7122,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.storifyme\\.com/",
+    "scriptSrc": [
+      "cdn\\.storifyme\\.com/"
+    ],
     "website": "https://www.storifyme.com"
   },
   "StoryStream": {
@@ -6770,7 +7138,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "apps\\.storystream\\.ai/",
+    "scriptSrc": [
+      "apps\\.storystream\\.ai/"
+    ],
     "website": "https://storystream.ai"
   },
   "Storyblok": {
@@ -6817,7 +7187,9 @@
       "Bootstrap",
       "Google Code Prettify"
     ],
-    "scriptSrc": "strapdown\\.js",
+    "scriptSrc": [
+      "strapdown\\.js"
+    ],
     "website": "https://strapdownjs.com"
   },
   "Strapi": {
@@ -6861,7 +7233,9 @@
       "low",
       "recurring"
     ],
-    "scriptSrc": "strato-editor\\.com/",
+    "scriptSrc": [
+      "strato-editor\\.com/"
+    ],
     "website": "https://www.strato.de/homepage-baukasten"
   },
   "Strattic": {
@@ -6920,7 +7294,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "js\\.stripe\\.com",
+    "scriptSrc": [
+      "js\\.stripe\\.com"
+    ],
     "website": "https://stripe.com"
   },
   "StrutFit": {
@@ -6973,7 +7349,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.sub2tech\\.com/",
+    "scriptSrc": [
+      "cdn\\.sub2tech\\.com/"
+    ],
     "website": "https://www.sub2tech.com"
   },
   "Subbly": {
@@ -6993,7 +7371,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "static\\.subbly\\.me/assets/",
+    "scriptSrc": [
+      "static\\.subbly\\.me/assets/"
+    ],
     "website": "https://www.subbly.co"
   },
   "Sublime": {
@@ -7009,7 +7389,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.ayads\\.co/",
+    "scriptSrc": [
+      "\\.ayads\\.co/"
+    ],
     "website": "https://www.sublime.xyz"
   },
   "SublimeVideo": {
@@ -7021,7 +7403,9 @@
     "js": {
       "sublimevideo": ""
     },
-    "scriptSrc": "cdn\\.sublimevideo\\.net/js/[a-z\\d]+\\.js",
+    "scriptSrc": [
+      "cdn\\.sublimevideo\\.net/js/[a-z\\d]+\\.js"
+    ],
     "website": "https://sublimevideo.net"
   },
   "Subrion": {
@@ -7075,7 +7459,9 @@
     "description": "SugarJS is a JavaScript library that simplifies working with native JavaScript objects, enhancing productivity and code readability.",
     "icon": "SugarJS.svg",
     "oss": true,
-    "scriptSrc": "sugar\\/?((?:\\d+\\.)+\\d+)?(?:\\/sugar(?:-full)?)?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "sugar\\/?((?:\\d+\\.)+\\d+)?(?:\\/sugar(?:-full)?)?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://sugarjs.com/"
   },
   "Suiteshare": {
@@ -7085,7 +7471,9 @@
     "description": "Suiteshare powers conversational shopping experiences.",
     "icon": "Suiteshare.png",
     "saas": true,
-    "scriptSrc": "static\\.suiteshare\\.com",
+    "scriptSrc": [
+      "static\\.suiteshare\\.com"
+    ],
     "website": "https://suiteshare.com/"
   },
   "Sulu": {
@@ -7162,7 +7550,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.sumo(?:me)?\\.com/",
+    "scriptSrc": [
+      "\\.sumo(?:me)?\\.com/"
+    ],
     "website": "https://sumo.com"
   },
   "SunOS": {
@@ -7251,7 +7641,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "plugins/super-socializer/.+?ver=([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "plugins/super-socializer/.+?ver=([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://super-socializer-wordpress.heateor.com"
   },
   "SuperLemon app": {
@@ -7272,7 +7664,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "/files/superlemon_.+\\.js",
+    "scriptSrc": [
+      "/files/superlemon_.+\\.js"
+    ],
     "website": "https://apps.shopify.com/whatsapp-chat-button"
   },
   "SuperPWA": {
@@ -7299,7 +7693,9 @@
       25
     ],
     "icon": "Supersized.png",
-    "scriptSrc": "supersized(?:\\.([\\d.]*[\\d]))?.*\\.js\\;version:\\1",
+    "scriptSrc": [
+      "supersized(?:\\.([\\d.]*[\\d]))?.*\\.js\\;version:\\1"
+    ],
     "website": "https://buildinternet.com/project/supersized"
   },
   "Superspeed": {
@@ -7311,7 +7707,9 @@
     "implies": [
       "Shopify"
     ],
-    "scriptSrc": "superspeed\\.gadget-edge\\.com",
+    "scriptSrc": [
+      "superspeed\\.gadget-edge\\.com"
+    ],
     "website": "https://apps.shopify.com/superspeed-free-speed-boost"
   },
   "Support Hero": {
@@ -7341,7 +7739,9 @@
     "dom": "link[href*='surge.sh']",
     "icon": "Surge.svg",
     "oss": true,
-    "scriptSrc": "surge\\.sh(?:\\/[-\\w]{0,40})?\\.js",
+    "scriptSrc": [
+      "surge\\.sh(?:\\/[-\\w]{0,40})?\\.js"
+    ],
     "url": "surge\\.sh",
     "website": "https://surge.sh"
   },
@@ -7364,7 +7764,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.survicate\\.com/",
+    "scriptSrc": [
+      "\\.survicate\\.com/"
+    ],
     "website": "https://survicate.com"
   },
   "Svbtle": {
@@ -7427,7 +7829,9 @@
       "SwaggerUIStandalonePreset": ""
     },
     "oss": true,
-    "scriptSrc": "(?:/([\\d.]+))?/swagger-ui-bundle\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:/([\\d.]+))?/swagger-ui-bundle\\.js\\;version:\\1"
+    ],
     "website": "https://swagger.io/tools/swagger-ui"
   },
   "Swagify": {
@@ -7447,7 +7851,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "api\\.swagifyapp\\.com/",
+    "scriptSrc": [
+      "api\\.swagifyapp\\.com/"
+    ],
     "website": "https://swagifyapp.com"
   },
   "SweetAlert": {
@@ -7464,7 +7870,9 @@
     },
     "icon": "SweetAlert.png",
     "oss": true,
-    "scriptSrc": "sweet(?:-)?alert(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "sweet(?:-)?alert(?:\\.min)?\\.js"
+    ],
     "website": "https://sweetalert.js.org"
   },
   "SweetAlert2": {
@@ -7522,7 +7930,9 @@
     "dom": "link[href*='/swiffy-slider.min.css']",
     "icon": "Swiffy Slider.svg",
     "oss": true,
-    "scriptSrc": "/npm/swiffy-slider@([\\d\\.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "/npm/swiffy-slider@([\\d\\.]+)/\\;version:\\1"
+    ],
     "website": "https://swiffyslider.com"
   },
   "Swiftype": {
@@ -7534,7 +7944,9 @@
     "js": {
       "Swiftype": ""
     },
-    "scriptSrc": "swiftype\\.com/embed\\.js$",
+    "scriptSrc": [
+      "swiftype\\.com/embed\\.js$"
+    ],
     "website": "https://swiftype.com"
   },
   "Swiper": {
@@ -7555,7 +7967,9 @@
       "Swiper": ""
     },
     "oss": true,
-    "scriptSrc": "swiper(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "swiper(?:\\.min)?\\.js"
+    ],
     "website": "https://swiperjs.com"
   },
   "Swup": {
@@ -7569,7 +7983,9 @@
       "Swup": ""
     },
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/(?:dist\\/)?)?swup(?:-preload)?(?:-plugin)?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/(?:dist\\/)?)?swup(?:-preload)?(?:-plugin)?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://swup.js.org"
   },
   "Swym Wishlist Plus": {
@@ -7679,7 +8095,9 @@
       "recurring",
       "poa"
     ],
-    "scriptSrc": "syncfusion(?:\\.com)?(?:\\/ej\\d)?(?:-[base|input|buttons|lists|calendars]+)?(?:\\/dist)?(?:\\/global)?(?:\\/ej\\d)?(?:-[base|input|buttons|lists|calendars]+)?(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "syncfusion(?:\\.com)?(?:\\/ej\\d)?(?:-[base|input|buttons|lists|calendars]+)?(?:\\/dist)?(?:\\/global)?(?:\\/ej\\d)?(?:-[base|input|buttons|lists|calendars]+)?(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://www.syncfusion.com/"
   },
   "Syndeca": {
@@ -7696,7 +8114,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.syndeca\\.com/",
+    "scriptSrc": [
+      "\\.syndeca\\.com/"
+    ],
     "website": "https://www.syndeca.com"
   },
   "Synerise": {
@@ -7704,7 +8124,9 @@
       10
     ],
     "icon": "Synerise.svg",
-    "scriptSrc": "snrcdn\\.net/sdk/(3\\.0)/synerise-javascript-sdk\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "snrcdn\\.net/sdk/(3\\.0)/synerise-javascript-sdk\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://synerise.com/"
   },
   "Synology DiskStation": {
@@ -7720,7 +8142,9 @@
       "application-name": "Synology DiskStation",
       "description": "^DiskStation provides a full-featured network attached storage"
     },
-    "scriptSrc": "webapi/entry\\.cgi\\?api=SYNO\\.(?:Core|Filestation)\\.Desktop\\.",
+    "scriptSrc": [
+      "webapi/entry\\.cgi\\?api=SYNO\\.(?:Core|Filestation)\\.Desktop\\."
+    ],
     "website": "https://synology.com"
   },
   "SyntaxHighlighter": {
@@ -7749,7 +8173,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//systeme\\.io/",
+    "scriptSrc": [
+      "//systeme\\.io/"
+    ],
     "website": "https://systeme.io"
   },
   "Syte": {
@@ -7769,7 +8195,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.syteapi\\.com/",
+    "scriptSrc": [
+      "cdn\\.syteapi\\.com/"
+    ],
     "website": "https://www.syte.ai"
   },
   "sIFR": {
@@ -7778,7 +8206,9 @@
     ],
     "description": "sIFR is a JavaScript and Adobe Flash dynamic web fonts implementation.",
     "icon": "sIFR.png",
-    "scriptSrc": "sifr\\.js",
+    "scriptSrc": [
+      "sifr\\.js"
+    ],
     "website": "https://www.mikeindustries.com/blog/sifr"
   },
   "sNews": {
@@ -7800,7 +8230,9 @@
     "js": {
       "Scriptaculous.Version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "/(?:scriptaculous|protoaculous)(?:\\.js|/)",
+    "scriptSrc": [
+      "/(?:scriptaculous|protoaculous)(?:\\.js|/)"
+    ],
     "website": "https://script.aculo.us"
   },
   "scrollreveal": {
@@ -7815,7 +8247,9 @@
     "pricing": [
       "onetime"
     ],
-    "scriptSrc": "scrollreveal(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "scrollreveal(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://scrollrevealjs.org"
   },
   "shadcn/ui": {
@@ -7841,7 +8275,9 @@
     "js": {
       "Shine": ""
     },
-    "scriptSrc": "shine(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "shine(?:\\.min)?\\.js"
+    ],
     "website": "https://bigspaceship.github.io/shine.js/"
   },
   "sidr": {
@@ -7850,7 +8286,9 @@
     ],
     "description": "Sidr is a jQuery plugin for creating side menus.",
     "oss": true,
-    "scriptSrc": "sidr(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "sidr(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://www.albertovarela.net/sidr/"
   },
   "siimple": {
@@ -7879,7 +8317,9 @@
       "slideout": ""
     },
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?slideout(?:-init)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?slideout(?:-init)?(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1\\2"
+    ],
     "website": "https://slideout.js.org/"
   },
   "snigel AdConsent": {
@@ -7897,7 +8337,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "(?:staging-)?cdn\\.snigelweb\\.com/(?:snhb|adconsent)/",
+    "scriptSrc": [
+      "(?:staging-)?cdn\\.snigelweb\\.com/(?:snhb|adconsent)/"
+    ],
     "website": "https://www.snigel.com/adconsent/"
   },
   "snigel AdEngine": {
diff --git a/src/technologies/t.json b/src/technologies/t.json
index 76187fb7..79af577d 100644
--- a/src/technologies/t.json
+++ b/src/technologies/t.json
@@ -98,7 +98,9 @@
     "description": "TDesign launched by Tencent contains rich and reusable design component resources, such as color system, text system, motion design, etc.",
     "dom": ".t-button__text, .t-layout",
     "icon": "TDesign.svg",
-    "scriptSrc": "tdesign\\.gtimg\\.com/",
+    "scriptSrc": [
+      "tdesign\\.gtimg\\.com/"
+    ],
     "website": "https://tdesign.tencent.com"
   },
   "THG Ingenuity": {
@@ -153,7 +155,9 @@
     ],
     "description": "TNS Payments, is designed to deliver payment transaction information to banks, merchants, processors and other payment institutions.",
     "icon": "tnsi.png",
-    "scriptSrc": "secure\\.ap\\.tnspayments\\.com",
+    "scriptSrc": [
+      "secure\\.ap\\.tnspayments\\.com"
+    ],
     "website": "https://tnsi.com/products/payments/"
   },
   "TRISOshop": {
@@ -223,7 +227,9 @@
     "implies": [
       "Perl"
     ],
-    "scriptSrc": "(?:TWikiJavascripts|twikilib(?:\\.min)?\\.js)",
+    "scriptSrc": [
+      "(?:TWikiJavascripts|twikilib(?:\\.min)?\\.js)"
+    ],
     "website": "https://twiki.org"
   },
   "TYPO3 CMS": {
@@ -244,7 +250,9 @@
     "probe": {
       "/typo3/sysext/core/Resources/Public/Images/typo3_orange.svg": ""
     },
-    "scriptSrc": "^/?typo3(?:conf|temp)/",
+    "scriptSrc": [
+      "^/?typo3(?:conf|temp)/"
+    ],
     "url": "/typo3/",
     "website": "https://typo3.org/"
   },
@@ -265,7 +273,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.tabarn\\.app/",
+    "scriptSrc": [
+      "cdn\\.tabarn\\.app/"
+    ],
     "website": "https://tabarnapp.com"
   },
   "Tabby": {
@@ -280,7 +290,9 @@
       "TabbyPromo": ""
     },
     "saas": true,
-    "scriptSrc": "checkout\\.tabby\\.ai",
+    "scriptSrc": [
+      "checkout\\.tabby\\.ai"
+    ],
     "website": "https://tabby.ai/"
   },
   "TableBooker": {
@@ -301,7 +313,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "reservations\\.tablebooker\\.\\w+/",
+    "scriptSrc": [
+      "reservations\\.tablebooker\\.\\w+/"
+    ],
     "website": "https://www.tablebooker.com"
   },
   "TableCheck": {
@@ -317,7 +331,9 @@
       }
     },
     "icon": "TableCheck.svg",
-    "scriptSrc": "tc_widget\\.js",
+    "scriptSrc": [
+      "tc_widget\\.js"
+    ],
     "website": "https://www.tablecheck.com"
   },
   "TablePress": {
@@ -338,7 +354,9 @@
       59
     ],
     "description": "Flexible client-side table sorting.",
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)[-\\/](?:dist\\/js\\/)?)?(?:jquery\\.)?tablesorter(?:[\\.\\/]pager)?(?:-custom-controls)?(?:\\.widgets)?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)[-\\/](?:dist\\/js\\/)?)?(?:jquery\\.)?tablesorter(?:[\\.\\/]pager)?(?:-custom-controls)?(?:\\.widgets)?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://mottie.github.io/tablesorter/"
   },
   "Taboola": {
@@ -366,7 +384,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.taboola\\.com",
+    "scriptSrc": [
+      "\\.taboola\\.com"
+    ],
     "website": "https://www.taboola.com",
     "xhr": "\\.taboola\\.com"
   },
@@ -404,7 +424,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.trytada\\.com/",
+    "scriptSrc": [
+      "cdn\\.trytada\\.com/"
+    ],
     "website": "https://trytada.com"
   },
   "TagPro": {
@@ -420,7 +442,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "tagpro\\.adpromedia\\.net/",
+    "scriptSrc": [
+      "tagpro\\.adpromedia\\.net/"
+    ],
     "website": "https://tagpro.adpromedia.net"
   },
   "Tagboard": {
@@ -435,7 +459,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.tagboard\\.com/",
+    "scriptSrc": [
+      "\\.tagboard\\.com/"
+    ],
     "website": "https://tagboard.com"
   },
   "Tagembed": {
@@ -455,7 +481,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//widget\\.tagembed\\.com/",
+    "scriptSrc": [
+      "//widget\\.tagembed\\.com/"
+    ],
     "website": "https://tagembed.com"
   },
   "Taggbox": {
@@ -504,7 +532,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.tailtarget\\.com/",
+    "scriptSrc": [
+      "\\.tailtarget\\.com/"
+    ],
     "website": "https://www.tail.digital"
   },
   "Tailwind CSS": {
@@ -526,7 +556,9 @@
     "js": {
       "tailwind": ""
     },
-    "scriptSrc": "\\.tailwindcss(?:tailwind-config-cdn)?\\.(?:com|js)",
+    "scriptSrc": [
+      "\\.tailwindcss(?:tailwind-config-cdn)?\\.(?:com|js)"
+    ],
     "website": "https://tailwindcss.com/"
   },
   "TakeDrop": {
@@ -574,7 +606,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "tallentor\\.com/js/script_tracker\\.js",
+    "scriptSrc": [
+      "tallentor\\.com/js/script_tracker\\.js"
+    ],
     "website": "https://tallentor.com"
   },
   "Tallentor Widget": {
@@ -612,7 +646,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//tally\\.so/",
+    "scriptSrc": [
+      "//tally\\.so/"
+    ],
     "website": "https://tally.so/"
   },
   "Tamago": {
@@ -636,7 +672,9 @@
       "TamaraProductWidget": ""
     },
     "saas": true,
-    "scriptSrc": "cdn\\.tamara\\.co",
+    "scriptSrc": [
+      "cdn\\.tamara\\.co"
+    ],
     "website": "https://tamara.co/"
   },
   "Tangled Network": {
@@ -689,7 +727,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.tapcart\\.com/",
+    "scriptSrc": [
+      "cdn\\.tapcart\\.com/"
+    ],
     "website": "https://tapcart.com"
   },
   "Tapfiliate": {
@@ -706,7 +746,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.tapfiliate\\.com/",
+    "scriptSrc": [
+      "\\.tapfiliate\\.com/"
+    ],
     "website": "https://tapfiliate.com"
   },
   "Target2Sell": {
@@ -715,7 +757,9 @@
     ],
     "description": "Target2Sell is a personalisation solution for ecommerce sites.",
     "icon": "Target2Sell.png",
-    "scriptSrc": "static\\.target2sell\\.com",
+    "scriptSrc": [
+      "static\\.target2sell\\.com"
+    ],
     "website": "https://www.target2sell.com/"
   },
   "Tatari": {
@@ -743,7 +787,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "//embed\\.tawk\\.to",
+    "scriptSrc": [
+      "//embed\\.tawk\\.to"
+    ],
     "website": "https://tawk.to"
   },
   "Teachable": {
@@ -768,7 +814,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.teachablecdn\\.com",
+    "scriptSrc": [
+      "\\.teachablecdn\\.com"
+    ],
     "website": "https://teachable.com"
   },
   "Teads": {
@@ -777,7 +825,9 @@
     ],
     "description": "Teads is a technology provider that sells ads on publisher websites.",
     "icon": "Teads.svg",
-    "scriptSrc": "teads\\.tv",
+    "scriptSrc": [
+      "teads\\.tv"
+    ],
     "website": "https://www.teads.com",
     "xhr": "\\.teads\\.tv"
   },
@@ -813,7 +863,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.tealiumiq\\.com",
+    "scriptSrc": [
+      "\\.tealiumiq\\.com"
+    ],
     "website": "https://tealium.com/products/audiencestream"
   },
   "Tealium Consent Management": {
@@ -929,7 +981,9 @@
       10
     ],
     "icon": "tajs.png",
-    "scriptSrc": "tajs\\.qq\\.com/stats",
+    "scriptSrc": [
+      "tajs\\.qq\\.com/stats"
+    ],
     "website": "https://ta.qq.com/"
   },
   "Tencent Cloud": {
@@ -945,7 +999,9 @@
     "pricing": [
       "payg"
     ],
-    "scriptSrc": "\\.tencent-cloud\\.(?:cn|com)/",
+    "scriptSrc": [
+      "\\.tencent-cloud\\.(?:cn|com)/"
+    ],
     "website": "https://intl.cloud.tencent.com"
   },
   "Tencent QQ": {
@@ -986,7 +1042,9 @@
     ],
     "description": "Termly provides free website policy resources and web-based policy creation software.",
     "icon": "termly.svg",
-    "scriptSrc": "app\\.termly\\.io/embed\\.min\\.js",
+    "scriptSrc": [
+      "app\\.termly\\.io/embed\\.min\\.js"
+    ],
     "website": "https://termly.io/"
   },
   "Tern": {
@@ -1001,7 +1059,9 @@
     "requires": [
       "Shopify"
     ],
-    "scriptSrc": "live\\.tern-returns\\.eastsideapps\\.io/",
+    "scriptSrc": [
+      "live\\.tern-returns\\.eastsideapps\\.io/"
+    ],
     "website": "https://www.tern.eco"
   },
   "TerriaJS": {
@@ -1043,7 +1103,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.testfreaks\\.com/",
+    "scriptSrc": [
+      "\\.testfreaks\\.com/"
+    ],
     "website": "https://www.testfreaks.com"
   },
   "Texthelp": {
@@ -1052,7 +1114,9 @@
     ],
     "description": "TextHelp is a literacy, accessibility and dyslexia software developer for people with reading and writing difficulties.",
     "icon": "Texthelp.svg",
-    "scriptSrc": "browsealoud\\.com/.*/browsealoud\\.js",
+    "scriptSrc": [
+      "browsealoud\\.com/.*/browsealoud\\.js"
+    ],
     "website": "https://www.texthelp.com/en-gb/products/browsealoud/"
   },
   "Textpattern CMS": {
@@ -1116,7 +1180,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/the-events-calendar(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/plugins/the-events-calendar(?:-pro)?/"
+    ],
     "website": "https://theeventscalendar.com"
   },
   "The Hotels Network": {
@@ -1138,7 +1204,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.thehotelsnetwork\\.com/",
+    "scriptSrc": [
+      "\\.thehotelsnetwork\\.com/"
+    ],
     "website": "https://thehotelsnetwork.com"
   },
   "The SEO Framework": {
@@ -1181,7 +1249,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/make(?:-child)?/.+frontend\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/make(?:-child)?/.+frontend\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://thethemefoundry.com/wordpress-themes/make"
   },
   "The.com": {
@@ -1201,7 +1271,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "the-dotcom-public-cdn\\.s3\\.amazonaws\\.com/",
+    "scriptSrc": [
+      "the-dotcom-public-cdn\\.s3\\.amazonaws\\.com/"
+    ],
     "website": "https://www.the.com"
   },
   "Theatre.js": {
@@ -1275,7 +1347,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/edge(?:-plus)?/",
+    "scriptSrc": [
+      "/wp-content/themes/edge(?:-plus)?/"
+    ],
     "website": "https://themefreesia.com/themes/edge"
   },
   "Theme Freesia Photograph": {
@@ -1291,7 +1365,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/photograph(?:-plus)?/",
+    "scriptSrc": [
+      "/wp-content/themes/photograph(?:-plus)?/"
+    ],
     "website": "https://themefreesia.com/themes/Photograph"
   },
   "Theme Freesia ShoppingCart": {
@@ -1310,7 +1386,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/shoppingcart(?:-plus)?/",
+    "scriptSrc": [
+      "/wp-content/themes/shoppingcart(?:-plus)?/"
+    ],
     "website": "https://themefreesia.com/themes/shoppingcart"
   },
   "Theme Horse Attitude": {
@@ -1327,7 +1405,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/attitude(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/attitude(?:-pro)?/"
+    ],
     "website": "https://www.themehorse.com/themes/attitude"
   },
   "Theme Horse NewsCard": {
@@ -1344,7 +1424,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/newscard(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/newscard(?:-pro)?/"
+    ],
     "website": "https://www.themehorse.com/themes/newscard"
   },
   "Theme Vision Agama": {
@@ -1364,7 +1446,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/agama(?:-pro)?/.+functions\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/agama(?:-pro)?/.+functions\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://theme-vision.com/agama"
   },
   "Theme4Press Evolve": {
@@ -1383,7 +1467,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/evolve(?:-plus)?/",
+    "scriptSrc": [
+      "/wp-content/themes/evolve(?:-plus)?/"
+    ],
     "website": "https://theme4press.com/evolve-multipurpose-wordpress-theme"
   },
   "ThemeGrill Accelerate": {
@@ -1402,7 +1488,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/accelerate(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/accelerate(?:-pro)?/"
+    ],
     "website": "https://themegrill.com/themes/accelerate"
   },
   "ThemeGrill Cenote": {
@@ -1421,7 +1509,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/cenote(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/cenote(?:-pro)?/"
+    ],
     "website": "https://themegrill.com/themes/cenote"
   },
   "ThemeGrill ColorMag": {
@@ -1440,7 +1530,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/colormag(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/colormag(?:-pro)?/"
+    ],
     "website": "https://themegrill.com/themes/colormag"
   },
   "ThemeGrill Flash": {
@@ -1459,7 +1551,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/flash(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/flash(?:-pro)?/"
+    ],
     "website": "https://themegrill.com/themes/flash"
   },
   "ThemeGrill Radiate": {
@@ -1481,7 +1575,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/radiate(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/radiate(?:-pro)?/"
+    ],
     "website": "https://themegrill.com/themes/radiate"
   },
   "ThemeGrill Spacious": {
@@ -1503,7 +1599,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/spacious(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/spacious(?:-pro)?/"
+    ],
     "website": "https://themegrill.com/themes/spacious"
   },
   "ThemeGrill eStore": {
@@ -1527,7 +1625,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/e(?:s|S)tore(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/e(?:s|S)tore(?:-pro)?/"
+    ],
     "website": "https://themegrill.com/themes/estore"
   },
   "ThemeIsle Menu Icons": {
@@ -1561,7 +1661,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/donovan/",
+    "scriptSrc": [
+      "/wp-content/themes/donovan/"
+    ],
     "website": "https://themezee.com/themes/donovan"
   },
   "ThemeZee Poseidon": {
@@ -1582,7 +1684,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/poseidon/",
+    "scriptSrc": [
+      "/wp-content/themes/poseidon/"
+    ],
     "website": "https://themezee.com/themes/poseidon"
   },
   "ThemeZee Wellington": {
@@ -1603,7 +1707,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/wellington/",
+    "scriptSrc": [
+      "/wp-content/themes/wellington/"
+    ],
     "website": "https://themezee.com/themes/wellington"
   },
   "Themeansar Newsberg": {
@@ -1638,7 +1744,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/newsup(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/newsup(?:-pro)?/"
+    ],
     "website": "https://themeansar.com/free-themes/newsup"
   },
   "Themebeez Cream Magazine": {
@@ -1675,7 +1783,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/orchid-store(?:-child)?/.+bundle\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/orchid-store(?:-child)?/.+bundle\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://themebeez.com/themes/orchid-store"
   },
   "Themegraphy Graphy": {
@@ -1691,7 +1801,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/graphy(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/graphy(?:-pro)?/"
+    ],
     "website": "https://themegraphy.com/wordpress-themes/graphy"
   },
   "Themes4Wp Bulk": {
@@ -1707,7 +1819,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/bulk(?:-pro)?/.+customscript\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/bulk(?:-pro)?/.+customscript\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://themes4wp.com/theme/bulk"
   },
   "ThemezHut Bam": {
@@ -1723,7 +1837,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/bam(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/bam(?:-pro)?/"
+    ],
     "website": "https://themezhut.com/themes/bam"
   },
   "ThemezHut HitMag": {
@@ -1739,7 +1855,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/hitmag(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/hitmag(?:-pro)?/"
+    ],
     "website": "https://themezhut.com/themes/hitmag"
   },
   "Themonic Iconic One": {
@@ -1756,7 +1874,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/iconic-one(?:-[\\w]+)?/",
+    "scriptSrc": [
+      "/wp-content/themes/iconic-one(?:-[\\w]+)?/"
+    ],
     "website": "https://themonic.com/iconic-one"
   },
   "Thesis": {
@@ -1773,7 +1893,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "thix\\.ttsep\\.com/",
+    "scriptSrc": [
+      "thix\\.ttsep\\.com/"
+    ],
     "website": "https://www.thesistesting.com"
   },
   "ThimPress Course Review": {
@@ -1838,7 +1960,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/learnpress/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/learnpress/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/learnpress"
   },
   "Thimatic": {
@@ -1853,7 +1977,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "thimatic-apps\\.com/product_review/.*?v=([\\d.]+)\\;version:\\1",
+    "scriptSrc": [
+      "thimatic-apps\\.com/product_review/.*?v=([\\d.]+)\\;version:\\1"
+    ],
     "website": "https://thimatic-apps.com/"
   },
   "Think Up Themes Consulting": {
@@ -1870,7 +1996,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/consulting(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/consulting(?:-pro)?/"
+    ],
     "website": "https://www.thinkupthemes.com/themes/consulting"
   },
   "Think Up Themes Minamaze": {
@@ -1887,7 +2015,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/minamaze(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/minamaze(?:-pro)?/"
+    ],
     "website": "https://www.thinkupthemes.com/themes/minamaze"
   },
   "ThinkPHP": {
@@ -1927,7 +2057,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn(?:-themes)?\\.thinkific\\.com",
+    "scriptSrc": [
+      "cdn(?:-themes)?\\.thinkific\\.com"
+    ],
     "website": "https://www.thinkific.com"
   },
   "ThreatMetrix": {
@@ -1941,7 +2073,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.online-metrix\\.net",
+    "scriptSrc": [
+      "\\.online-metrix\\.net"
+    ],
     "website": "https://risk.lexisnexis.com/products/threatmetrix"
   },
   "Three.js": {
@@ -1956,7 +2090,9 @@
       "__THREE__": "^(.+)$\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "three(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "three(?:\\.min)?\\.js"
+    ],
     "website": "https://threejs.org"
   },
   "Threekit": {
@@ -1993,7 +2129,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/thrive-apprentice/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/thrive-apprentice/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://thrivethemes.com/apprentice/"
   },
   "Thrive Architect": {
@@ -2012,7 +2150,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/thrive-visual-editor/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/thrive-visual-editor/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://thrivethemes.com/architect/"
   },
   "Thrive Comments": {
@@ -2030,7 +2170,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/thrive-comments/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/thrive-comments/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://thrivethemes.com/comments/"
   },
   "Thrive Leads": {
@@ -2048,7 +2190,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/thrive-leads/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/thrive-leads/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://thrivethemes.com/leads/"
   },
   "Thrive Quiz Builder": {
@@ -2066,7 +2210,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/thrive-quiz-builder/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/thrive-quiz-builder/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://thrivethemes.com/quizbuilder"
   },
   "Thrive Ultimatum": {
@@ -2084,7 +2230,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/thrive-ultimatum/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/thrive-ultimatum/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://thrivethemes.com/ultimatum/"
   },
   "ThriveCart": {
@@ -2101,7 +2249,9 @@
       "onetime"
     ],
     "saas": true,
-    "scriptSrc": "thrivecart\\.js",
+    "scriptSrc": [
+      "thrivecart\\.js"
+    ],
     "website": "https://thrivecart.com"
   },
   "Ticimax": {
@@ -2162,7 +2312,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "code\\.tidio\\.co",
+    "scriptSrc": [
+      "code\\.tidio\\.co"
+    ],
     "website": "https://www.tidio.com"
   },
   "Tiendanube": {
@@ -2192,7 +2344,9 @@
       "recurring",
       "freemium"
     ],
-    "scriptSrc": "(?://|\\.)tiiny\\.(?:host|site)/",
+    "scriptSrc": [
+      "(?://|\\.)tiiny\\.(?:host|site)/"
+    ],
     "website": "https://tiiny.host"
   },
   "TikTok Pixel": {
@@ -2226,7 +2380,9 @@
     "meta": {
       "generator": "^Tiki"
     },
-    "scriptSrc": "(?:/|_)tiki",
+    "scriptSrc": [
+      "(?:/|_)tiki"
+    ],
     "website": "https://tiki.org"
   },
   "Tiktak Pro": {
@@ -2259,7 +2415,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "tilda(?:cdn|\\.ws|-blocks)",
+    "scriptSrc": [
+      "tilda(?:cdn|\\.ws|-blocks)"
+    ],
     "website": "https://tilda.cc"
   },
   "Tiledesk": {
@@ -2292,7 +2450,9 @@
     "js": {
       "Timeplot": ""
     },
-    "scriptSrc": "timeplot.*\\.js",
+    "scriptSrc": [
+      "timeplot.*\\.js"
+    ],
     "website": "https://www.simile-widgets.org/timeplot/"
   },
   "Timify": {
@@ -2309,7 +2469,9 @@
       "freemium",
       "recurring"
     ],
-    "scriptSrc": "\\.timify\\.com/",
+    "scriptSrc": [
+      "\\.timify\\.com/"
+    ],
     "website": "https://www.timify.com"
   },
   "Tiny Slider": {
@@ -2319,7 +2481,9 @@
     "description": "Tiny Slider is a vanilla javascript slider for all purposes.",
     "icon": "default.svg",
     "oss": true,
-    "scriptSrc": "(?:/([\\d\\.]+)/min/)?tiny-slider(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:/([\\d\\.]+)/min/)?tiny-slider(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://github.com/ganlanyuan/tiny-slider"
   },
   "TinyMCE": {
@@ -2333,7 +2497,9 @@
       "tinyMCE.majorVersion": "([\\d.]+)\\;version:\\1",
       "tinymce": ""
     },
-    "scriptSrc": "/tiny_?mce(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "/tiny_?mce(?:\\.min)?\\.js"
+    ],
     "website": "https://www.tiny.cloud/tinymce/"
   },
   "Tinybird": {
@@ -2362,7 +2528,9 @@
     ],
     "description": "A library for manipulating a websites favicon.",
     "oss": true,
-    "scriptSrc": "tinycon(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "tinycon(?:\\.min)?\\.js"
+    ],
     "website": "https://github.com/tommoor/tinycon"
   },
   "Tippy.js": {
@@ -2376,7 +2544,9 @@
       "tippy.defaultProps": ""
     },
     "oss": true,
-    "scriptSrc": "/tippy\\.js(?:@|/)?([\\d\\.]+)?\\;version:\\1",
+    "scriptSrc": [
+      "/tippy\\.js(?:@|/)?([\\d\\.]+)?\\;version:\\1"
+    ],
     "website": "https://atomiks.github.io/tippyjs"
   },
   "Tipsa": {
@@ -2447,7 +2617,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.tolt\\.io/",
+    "scriptSrc": [
+      "\\.tolt\\.io/"
+    ],
     "website": "https://tolt.io"
   },
   "TomTom Maps": {
@@ -2460,7 +2632,9 @@
       "tomtom.Map": ""
     },
     "saas": true,
-    "scriptSrc": "api\\.tomtom\\.com",
+    "scriptSrc": [
+      "api\\.tomtom\\.com"
+    ],
     "website": "https://www.tomtom.com",
     "xhr": "api\\.tomtom\\.com"
   },
@@ -2594,7 +2768,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "track123\\.com\\/common\\/checkout-script-loader\\.js",
+    "scriptSrc": [
+      "track123\\.com\\/common\\/checkout-script-loader\\.js"
+    ],
     "website": "https://www.track123.com"
   },
   "TrackJs": {
@@ -2607,7 +2783,9 @@
       "TrackJs": "",
       "trackJs": ""
     },
-    "scriptSrc": "cdn\\.trackjs\\.com",
+    "scriptSrc": [
+      "cdn\\.trackjs\\.com"
+    ],
     "website": "https://trackjs.com"
   },
   "Trackify X": {
@@ -2625,7 +2803,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "trackifyx\\.redretarget\\.com/",
+    "scriptSrc": [
+      "trackifyx\\.redretarget\\.com/"
+    ],
     "website": "https://trackifyapp.com"
   },
   "Tradedoubler": {
@@ -2642,7 +2822,9 @@
       }
     },
     "icon": "Tradedoubler.svg",
-    "scriptSrc": "swrap\\.tradedoubler\\.com",
+    "scriptSrc": [
+      "swrap\\.tradedoubler\\.com"
+    ],
     "website": "https://www.tradedoubler.com/"
   },
   "TradingView": {
@@ -2686,7 +2868,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.tsyndicate\\.com/",
+    "scriptSrc": [
+      "\\.tsyndicate\\.com/"
+    ],
     "website": "https://trafficstars.com"
   },
   "Transcend": {
@@ -2761,7 +2945,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/google-language-translator/.+scripts\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/google-language-translator/.+scripts\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://gtranslate.io"
   },
   "Transmart": {
@@ -2786,7 +2972,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "tcdn\\.com\\.br",
+    "scriptSrc": [
+      "tcdn\\.com\\.br"
+    ],
     "website": "https://www.tray.com.br"
   },
   "Trbo": {
@@ -2809,7 +2997,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.trbo\\.com",
+    "scriptSrc": [
+      "\\.trbo\\.com"
+    ],
     "website": "https://www.trbo.com"
   },
   "Treasure Data": {
@@ -2826,7 +3016,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.treasuredata\\.com/",
+    "scriptSrc": [
+      "cdn\\.treasuredata\\.com/"
+    ],
     "website": "https://www.treasuredata.com"
   },
   "Trengo": {
@@ -2843,7 +3035,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.widget\\.trengo\\.eu/",
+    "scriptSrc": [
+      "\\.widget\\.trengo\\.eu/"
+    ],
     "website": "https://trengo.com"
   },
   "Triggerbee": {
@@ -2861,7 +3055,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "t\\.myvisitors\\.se",
+    "scriptSrc": [
+      "t\\.myvisitors\\.se"
+    ],
     "website": "https://triggerbee.com"
   },
   "Trinity Audio": {
@@ -2880,7 +3076,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//trinitymedia\\.ai/",
+    "scriptSrc": [
+      "//trinitymedia\\.ai/"
+    ],
     "website": "https://www.trinityaudio.ai"
   },
   "Tripadviser.Widget": {
@@ -2889,7 +3087,9 @@
     ],
     "description": "Tripadvisor embed reviews widget.",
     "icon": "Tripadviser.Widget.svg",
-    "scriptSrc": "tripadvisor\\.[\\w]+/WidgetEmbed",
+    "scriptSrc": [
+      "tripadvisor\\.[\\w]+/WidgetEmbed"
+    ],
     "website": "https://www.tripadvisor.com/Widgets"
   },
   "Triple Whale": {
@@ -2999,7 +3199,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.truefitcorp\\.com/(?:.+/([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "cdn\\.truefitcorp\\.com/(?:.+/([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://www.truefit.com"
   },
   "TrueCommerce": {
@@ -3008,7 +3210,9 @@
     ],
     "description": "TrueCommerce is an eCommerce platform.",
     "icon": "Truecommerce.svg",
-    "scriptSrc": "cdn\\.nexternal\\.com/",
+    "scriptSrc": [
+      "cdn\\.nexternal\\.com/"
+    ],
     "website": "https://www.truecommerce.com"
   },
   "Truepush": {
@@ -3060,7 +3264,9 @@
     ],
     "description": "TrustArc provides software and services to help corporations update their privacy management processes so they comply with government laws and best practices.",
     "icon": "TrustArc.svg",
-    "scriptSrc": "consent\\.trustarc\\.com",
+    "scriptSrc": [
+      "consent\\.trustarc\\.com"
+    ],
     "website": "https://trustarc.com"
   },
   "TrustYou": {
@@ -3090,7 +3296,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "widgets\\.trustedshops\\.com/",
+    "scriptSrc": [
+      "widgets\\.trustedshops\\.com/"
+    ],
     "website": "https://www.trustedshops.co.uk"
   },
   "Trustindex": {
@@ -3125,7 +3333,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.trustpilot\\.com",
+    "scriptSrc": [
+      "\\.trustpilot\\.com"
+    ],
     "website": "https://business.trustpilot.com"
   },
   "Trustspot": {
@@ -3138,7 +3348,9 @@
       "trustspot_key": ""
     },
     "saas": true,
-    "scriptSrc": "trustspot\\.io",
+    "scriptSrc": [
+      "trustspot\\.io"
+    ],
     "website": "https://trustspot.io/"
   },
   "Trustvox": {
@@ -3175,7 +3387,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.trynow\\.net/shopify/([\\d\\.]+)/\\;version:\\1",
+    "scriptSrc": [
+      "\\.trynow\\.net/shopify/([\\d\\.]+)/\\;version:\\1"
+    ],
     "website": "https://www.trynow.io"
   },
   "Tumblr": {
@@ -3214,7 +3428,9 @@
       "Turbolinks": ""
     },
     "oss": true,
-    "scriptSrc": "turolinks\\.js",
+    "scriptSrc": [
+      "turolinks\\.js"
+    ],
     "website": "https://github.com/turbolinks/turbolinks"
   },
   "TurfJS": {
@@ -3228,7 +3444,9 @@
       "turf.point": "",
       "turf.random": ""
     },
-    "scriptSrc": "(turf@[\\d.]+)?/?turf\\.min\\.js",
+    "scriptSrc": [
+      "(turf@[\\d.]+)?/?turf\\.min\\.js"
+    ],
     "website": "https://turfjs.org/"
   },
   "Twenty Eleven": {
@@ -3259,7 +3477,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/twentyfifteen/",
+    "scriptSrc": [
+      "/wp-content/themes/twentyfifteen/"
+    ],
     "website": "https://wordpress.org/themes/twentyfifteen"
   },
   "Twenty Fourteen": {
@@ -3275,7 +3495,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/twentyfourteen/",
+    "scriptSrc": [
+      "/wp-content/themes/twentyfourteen/"
+    ],
     "website": "https://wordpress.org/themes/twentyfourteen"
   },
   "Twenty Nineteen": {
@@ -3291,7 +3513,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/twentynineteen/",
+    "scriptSrc": [
+      "/wp-content/themes/twentynineteen/"
+    ],
     "website": "https://wordpress.org/themes/twentynineteen"
   },
   "Twenty Seventeen": {
@@ -3310,7 +3534,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/twentyseventeen/",
+    "scriptSrc": [
+      "/wp-content/themes/twentyseventeen/"
+    ],
     "website": "https://wordpress.org/themes/twentyseventeen"
   },
   "Twenty Sixteen": {
@@ -3326,7 +3552,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/twentysixteen/",
+    "scriptSrc": [
+      "/wp-content/themes/twentysixteen/"
+    ],
     "website": "https://wordpress.org/themes/twentysixteen"
   },
   "Twenty Ten": {
@@ -3342,7 +3570,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/twentyten/",
+    "scriptSrc": [
+      "/wp-content/themes/twentyten/"
+    ],
     "website": "https://wordpress.org/themes/twentyten"
   },
   "Twenty Thirteen": {
@@ -3358,7 +3588,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/twentythirteen/",
+    "scriptSrc": [
+      "/wp-content/themes/twentythirteen/"
+    ],
     "website": "https://wordpress.org/themes/twentythirteen"
   },
   "Twenty Twelve": {
@@ -3374,7 +3606,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/twentytwelve/",
+    "scriptSrc": [
+      "/wp-content/themes/twentytwelve/"
+    ],
     "website": "https://wordpress.org/themes/twentytwelve"
   },
   "Twenty Twenty": {
@@ -3393,7 +3627,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/twentytwenty/",
+    "scriptSrc": [
+      "/wp-content/themes/twentytwenty/"
+    ],
     "website": "https://wordpress.org/themes/twentytwenty"
   },
   "Twenty Twenty-One": {
@@ -3413,7 +3649,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/twentytwentyone/",
+    "scriptSrc": [
+      "/wp-content/themes/twentytwentyone/"
+    ],
     "website": "https://wordpress.org/themes/twentytwentyone"
   },
   "Twenty Twenty-Three": {
@@ -3494,7 +3732,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": ".+\\.twic\\.pics",
+    "scriptSrc": [
+      ".+\\.twic\\.pics"
+    ],
     "website": "https://www.twicpics.com"
   },
   "Twik": {
@@ -3513,7 +3753,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.twik\\.io",
+    "scriptSrc": [
+      "cdn\\.twik\\.io"
+    ],
     "website": "https://www.twik.io/"
   },
   "Twikoo": {
@@ -3526,7 +3768,9 @@
       "twikoo.version": "^([\\d\\.]+)$\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "/twikoo/dist/twikoo\\.all\\.min\\.js",
+    "scriptSrc": [
+      "/twikoo/dist/twikoo\\.all\\.min\\.js"
+    ],
     "website": "https://twikoo.js.org"
   },
   "Twilight CMS": {
@@ -3592,7 +3836,9 @@
     ],
     "description": "Twitter is a 'microblogging' system that allows you to send and receive short posts called tweets.",
     "icon": "Twitter.svg",
-    "scriptSrc": "//platform\\.twitter\\.com/widgets\\.js",
+    "scriptSrc": [
+      "//platform\\.twitter\\.com/widgets\\.js"
+    ],
     "website": "https://twitter.com"
   },
   "Twitter Ads": {
@@ -3608,7 +3854,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "static\\.ads-twitter\\.com/uwt\\.js",
+    "scriptSrc": [
+      "static\\.ads-twitter\\.com/uwt\\.js"
+    ],
     "website": "https://ads.twitter.com"
   },
   "Twitter Analytics": {
@@ -3621,7 +3869,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "analytics\\.twitter\\.com",
+    "scriptSrc": [
+      "analytics\\.twitter\\.com"
+    ],
     "website": "https://analytics.twitter.com"
   },
   "Twitter Emoji (Twemoji)": {
@@ -3634,7 +3884,9 @@
       "twemoji.base": "twemoji\\.maxcdn\\.com/v/([\\d\\.]+)/\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "twemoji(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "twemoji(?:\\.min)?\\.js"
+    ],
     "website": "https://twitter.github.io/twemoji/"
   },
   "Twitter Flight": {
@@ -3661,7 +3913,9 @@
     "js": {
       "typeahead": ""
     },
-    "scriptSrc": "(?:typeahead|bloodhound)\\.(?:jquery|bundle)?(?:\\.min)?\\.js",
+    "scriptSrc": [
+      "(?:typeahead|bloodhound)\\.(?:jquery|bundle)?(?:\\.min)?\\.js"
+    ],
     "website": "https://twitter.github.io/typeahead.js"
   },
   "TypeDoc": {
@@ -3721,7 +3975,9 @@
     ],
     "description": "Typed.js is a library that types. It is designed to create typewriter-style animations with ease.",
     "oss": true,
-    "scriptSrc": "typed(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "typed(?:\\.min)?\\.js(?:\\?v(?:er)?=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://mattboldt.com/demos/typed-js/"
   },
   "Typeform": {
@@ -3740,7 +3996,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "embed\\.typeform\\.com/",
+    "scriptSrc": [
+      "embed\\.typeform\\.com/"
+    ],
     "website": "https://www.typeform.com"
   },
   "Typekit": {
@@ -3760,7 +4018,9 @@
       "freemium",
       "recurring"
     ],
-    "scriptSrc": "use\\.typekit\\.com",
+    "scriptSrc": [
+      "use\\.typekit\\.com"
+    ],
     "website": "https://typekit.com"
   },
   "Typof": {
@@ -3778,7 +4038,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "portal/js/typof\\.js\\;confidence:50",
+    "scriptSrc": [
+      "portal/js/typof\\.js\\;confidence:50"
+    ],
     "website": "https://typof.com"
   },
   "Tyslo EasySell": {
@@ -3825,7 +4087,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.adsrvr\\.org/",
+    "scriptSrc": [
+      "\\.adsrvr\\.org/"
+    ],
     "website": "https://www.thetradedesk.com",
     "xhr": "adsvr\\.org"
   },
@@ -3849,7 +4113,9 @@
       "timeago": ""
     },
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?(?:jquery\\.)?[Tt]imeago(?:_mkdocs_material)?(?:\\.full)?(?:\\.locales)?(?:\\.native)?(?:\\.min)?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?(?:jquery\\.)?[Tt]imeago(?:_mkdocs_material)?(?:\\.full)?(?:\\.locales)?(?:\\.native)?(?:\\.min)?\\.js\\;version:\\1"
+    ],
     "website": "https://timeago.yarp.com/"
   },
   "toastr": {
diff --git a/src/technologies/u.json b/src/technologies/u.json
index 754c19d0..7d1a3a0b 100644
--- a/src/technologies/u.json
+++ b/src/technologies/u.json
@@ -25,7 +25,9 @@
       "<[^>]+class=\"[^\"]*(?:uk-container|uk-section)"
     ],
     "icon": "UIKit.svg",
-    "scriptSrc": "uikit.*\\.js",
+    "scriptSrc": [
+      "uikit.*\\.js"
+    ],
     "website": "https://getuikit.com"
   },
   "UK Mail": {
@@ -116,7 +118,9 @@
       "uswdsPresent": ""
     },
     "oss": true,
-    "scriptSrc": "\\buswds\\b",
+    "scriptSrc": [
+      "\\buswds\\b"
+    ],
     "website": "https://designsystem.digital.gov"
   },
   "Ubercart": {
@@ -127,7 +131,9 @@
     "implies": [
       "Drupal"
     ],
-    "scriptSrc": "uc_cart/uc_cart_block\\.js",
+    "scriptSrc": [
+      "uc_cart/uc_cart_block\\.js"
+    ],
     "website": "https://www.ubercart.org"
   },
   "Ubiliz": {
@@ -253,7 +259,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/ultimate-social-media-icons/",
+    "scriptSrc": [
+      "/wp-content/plugins/ultimate-social-media-icons/"
+    ],
     "website": "https://www.ultimatelysocial.com"
   },
   "UltraCart": {
@@ -267,7 +275,9 @@
     "js": {
       "ucCatalog": ""
     },
-    "scriptSrc": "cgi-bin\\/UCJavaScript\\?",
+    "scriptSrc": [
+      "cgi-bin\\/UCJavaScript\\?"
+    ],
     "url": "/cgi-bin/UCEditor\\?",
     "website": "https://ultracart.com"
   },
@@ -281,7 +291,9 @@
       "umami": ""
     },
     "oss": true,
-    "scriptSrc": "umami\\.js",
+    "scriptSrc": [
+      "umami\\.js"
+    ],
     "website": "https://umami.is/"
   },
   "Umbraco": {
@@ -339,7 +351,9 @@
       "g_umi.version": "([\\d\\.]+)\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "/umi(\\.[\\w\\d]{8})?\\.js",
+    "scriptSrc": [
+      "/umi(\\.[\\w\\d]{8})?\\.js"
+    ],
     "website": "https://umijs.org"
   },
   "Umso": {
@@ -388,7 +402,9 @@
       "X-Unbounce-PageId": ""
     },
     "icon": "Unbounce.png",
-    "scriptSrc": "ubembed\\.com",
+    "scriptSrc": [
+      "ubembed\\.com"
+    ],
     "website": "https://unbounce.com"
   },
   "Unbxd": {
@@ -425,7 +441,9 @@
       "_.VERSION": "^(.+)$\\;confidence:0\\;version:\\1",
       "_.restArguments": ""
     },
-    "scriptSrc": "underscore.*\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "underscore.*\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1"
+    ],
     "website": "https://underscorejs.org"
   },
   "Understrap": {
@@ -444,7 +462,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "wp-content/themes/understrap(?:[masterchild-]+)?(?:[masterchild-]+)?/",
+    "scriptSrc": [
+      "wp-content/themes/understrap(?:[masterchild-]+)?(?:[masterchild-]+)?/"
+    ],
     "website": "https://understrap.com"
   },
   "UniFi OS": {
@@ -466,7 +486,9 @@
       67
     ],
     "icon": "Uniconsent.png",
-    "scriptSrc": "cmp\\.uniconsent\\.mgr\\.consensu\\.org/dfp\\.js",
+    "scriptSrc": [
+      "cmp\\.uniconsent\\.mgr\\.consensu\\.org/dfp\\.js"
+    ],
     "website": "https://www.uniconsent.com/"
   },
   "Unicorn Platform": {
@@ -514,7 +536,9 @@
     "dom": "link[href*='unpkg.com']",
     "icon": "Unpkg.png",
     "oss": true,
-    "scriptSrc": "unpkg\\.com/",
+    "scriptSrc": [
+      "unpkg\\.com/"
+    ],
     "website": "https://unpkg.com"
   },
   "Unruly": {
@@ -550,7 +574,9 @@
       "mid"
     ],
     "saas": true,
-    "scriptSrc": "www\\.upsellit\\.com/",
+    "scriptSrc": [
+      "www\\.upsellit\\.com/"
+    ],
     "website": "https://us.upsellit.com"
   },
   "UpSolution Zephyr": {
@@ -565,7 +591,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/Zephyr/.+us\\.theme\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/Zephyr/.+us\\.theme\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://zephyr.us-themes.com"
   },
   "Upfluence": {
@@ -578,7 +606,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.upfluence\\.co/",
+    "scriptSrc": [
+      "\\.upfluence\\.co/"
+    ],
     "website": "https://www.upfluence.com"
   },
   "Uploadcare": {
@@ -622,7 +652,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "app\\.upserve\\.com/",
+    "scriptSrc": [
+      "app\\.upserve\\.com/"
+    ],
     "website": "https://onlineordering.upserve.com"
   },
   "UptimeRobot": {
@@ -647,7 +679,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.uptimerobot\\.com/",
+    "scriptSrc": [
+      "\\.uptimerobot\\.com/"
+    ],
     "website": "https://uptimerobot.com"
   },
   "Uptrends": {
@@ -664,7 +698,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.uptrendsdata\\.com/",
+    "scriptSrc": [
+      "\\.uptrendsdata\\.com/"
+    ],
     "website": "https://www.uptrends.com"
   },
   "Upvoty": {
@@ -705,7 +741,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.usablenet\\.com/pt/",
+    "scriptSrc": [
+      "\\.usablenet\\.com/pt/"
+    ],
     "website": "https://usablenet.com"
   },
   "Uscreen": {
@@ -739,7 +777,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//system\\.user-a\\.co\\.il/",
+    "scriptSrc": [
+      "//system\\.user-a\\.co\\.il/"
+    ],
     "website": "https://user-a.co.il"
   },
   "UserLike": {
@@ -779,7 +819,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.userreport\\.com/",
+    "scriptSrc": [
+      "\\.userreport\\.com/"
+    ],
     "website": "https://www.userreport.com"
   },
   "UserRules": {
@@ -807,7 +849,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.uservoice\\.com/",
+    "scriptSrc": [
+      "\\.uservoice\\.com/"
+    ],
     "website": "https://uservoice.com"
   },
   "UserWay": {
@@ -816,7 +860,9 @@
     ],
     "description": "UserWay is a web accessibility overlay for websites that claims to improve compliance with accessibility standards.",
     "icon": "UserWay.svg",
-    "scriptSrc": "cdn\\.userway\\.org/widget.*\\.js",
+    "scriptSrc": [
+      "cdn\\.userway\\.org/widget.*\\.js"
+    ],
     "website": "https://userway.org/"
   },
   "UserZoom": {
@@ -832,7 +878,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.userzoom\\.com/",
+    "scriptSrc": [
+      "\\.userzoom\\.com/"
+    ],
     "website": "https://www.userzoom.com"
   },
   "Usercentrics": {
@@ -851,7 +899,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.usercentrics\\.eu/.+\\.js",
+    "scriptSrc": [
+      "\\.usercentrics\\.eu/.+\\.js"
+    ],
     "website": "https://usercentrics.com"
   },
   "Userflow": {
@@ -870,7 +920,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.userflow\\.com/",
+    "scriptSrc": [
+      "\\.userflow\\.com/"
+    ],
     "website": "https://userflow.com"
   },
   "Userpilot": {
@@ -910,7 +962,9 @@
     "js": {
       "Ushahidi": ""
     },
-    "scriptSrc": "/js/ushahidi\\.js$",
+    "scriptSrc": [
+      "/js/ushahidi\\.js$"
+    ],
     "website": "https://www.ushahidi.com"
   },
   "Usizy": {
@@ -926,7 +980,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "static\\.usizy\\.es/",
+    "scriptSrc": [
+      "static\\.usizy\\.es/"
+    ],
     "website": "https://usizy.com"
   },
   "Uvicorn": {
@@ -960,7 +1016,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.uvo\\.do/",
+    "scriptSrc": [
+      "cdn\\.uvo\\.do/"
+    ],
     "website": "https://uvodo.com"
   },
   "uKnowva": {
@@ -982,7 +1040,9 @@
     "meta": {
       "generator": "uKnowva (?: ([\\d.]+))?\\;version:\\1"
     },
-    "scriptSrc": "/media/conv/js/jquery\\.js",
+    "scriptSrc": [
+      "/media/conv/js/jquery\\.js"
+    ],
     "website": "https://uknowva.com"
   },
   "uLogin": {
@@ -1054,7 +1114,9 @@
     ],
     "description": "uRemediate provides web accessibility testing tools and accessibility overlays.",
     "icon": "User1st.png",
-    "scriptSrc": "fecdn\\.user1st\\.info/Loader/head",
+    "scriptSrc": [
+      "fecdn\\.user1st\\.info/Loader/head"
+    ],
     "website": "https://www.user1st.com/uremediate/"
   },
   "user.com": {
diff --git a/src/technologies/v.json b/src/technologies/v.json
index dc616f70..ff1b3fa6 100644
--- a/src/technologies/v.json
+++ b/src/technologies/v.json
@@ -13,7 +13,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "\\.vaptcha\\.com/v([\\d\\.]+)\\.js\\;version:\\1",
+    "scriptSrc": [
+      "\\.vaptcha\\.com/v([\\d\\.]+)\\.js\\;version:\\1"
+    ],
     "website": "https://en.vaptcha.com"
   },
   "VDX.tv": {
@@ -53,7 +55,9 @@
     "description": "VK is a Russian online social media and social networking service.",
     "dom": "img[src*='vk.com/rtrg?p=VK-RTRG-']",
     "icon": "vk.svg",
-    "scriptSrc": "vk\\.com/js/api/openapi\\.js",
+    "scriptSrc": [
+      "vk\\.com/js/api/openapi\\.js"
+    ],
     "website": "https://vk.com/"
   },
   "VKUI": {
@@ -77,7 +81,9 @@
     "implies": [
       "Microsoft ASP.NET"
     ],
-    "scriptSrc": "vs350\\.js",
+    "scriptSrc": [
+      "vs350\\.js"
+    ],
     "website": "https://www.vpasp.com"
   },
   "VTEX": {
@@ -144,7 +150,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.pushcrew\\.\\w+",
+    "scriptSrc": [
+      "cdn\\.pushcrew\\.\\w+"
+    ],
     "website": "https://vwo.com/engage"
   },
   "Vaadin": {
@@ -159,7 +167,9 @@
     "js": {
       "vaadin": ""
     },
-    "scriptSrc": "vaadinBootstrap\\.js(?:\\?v=([\\d.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "vaadinBootstrap\\.js(?:\\?v=([\\d.]+))?\\;version:\\1"
+    ],
     "website": "https://vaadin.com"
   },
   "ValueCommerce": {
@@ -180,7 +190,9 @@
       }
     },
     "icon": "ValueCommerce.png",
-    "scriptSrc": "\\.valuecommerce\\.com",
+    "scriptSrc": [
+      "\\.valuecommerce\\.com"
+    ],
     "website": "https://www.valuecommerce.co.jp"
   },
   "Vanco Payment Solutions": {
@@ -197,7 +209,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "\\.eservicepayments\\.com/",
+    "scriptSrc": [
+      "\\.eservicepayments\\.com/"
+    ],
     "website": "https://www.vancopayments.com"
   },
   "Vanilla": {
@@ -382,7 +396,9 @@
     "js": {
       "VuVeoxaContent": ""
     },
-    "scriptSrc": "tracking\\.veoxa\\.com",
+    "scriptSrc": [
+      "tracking\\.veoxa\\.com"
+    ],
     "website": "https://veoxa.com"
   },
   "Vercel": {
@@ -533,7 +549,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "js\\.verygoodvault\\.com/",
+    "scriptSrc": [
+      "js\\.verygoodvault\\.com/"
+    ],
     "website": "https://www.verygoodsecurity.com"
   },
   "Vev": {
@@ -552,7 +570,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.vev\\.design/",
+    "scriptSrc": [
+      "\\.vev\\.design/"
+    ],
     "website": "https://www.vev.design"
   },
   "ViaBill": {
@@ -569,7 +589,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.viabill\\.com/",
+    "scriptSrc": [
+      "\\.viabill\\.com/"
+    ],
     "website": "https://viabill.com"
   },
   "Viafoura": {
@@ -604,7 +626,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.vidazoo\\.com",
+    "scriptSrc": [
+      "\\.vidazoo\\.com"
+    ],
     "website": "https://www.vidazoo.com"
   },
   "Video Greet": {
@@ -657,7 +681,9 @@
       "<link[^>]* href=[^>]+(?:\\.vigbo\\.com|\\.gophotoweb\\.com)"
     ],
     "icon": "vigbo.png",
-    "scriptSrc": "(?:\\.vigbo\\.com|\\.gophotoweb\\.com)",
+    "scriptSrc": [
+      "(?:\\.vigbo\\.com|\\.gophotoweb\\.com)"
+    ],
     "website": "https://vigbo.com"
   },
   "Vigil": {
@@ -752,7 +778,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "app\\.viral-loops\\.com/",
+    "scriptSrc": [
+      "app\\.viral-loops\\.com/"
+    ],
     "website": "https://viral-loops.com"
   },
   "Virgool": {
@@ -779,7 +807,9 @@
     ],
     "requiresCategory": 6,
     "saas": true,
-    "scriptSrc": "\\.virtooal\\.com/",
+    "scriptSrc": [
+      "\\.virtooal\\.com/"
+    ],
     "website": "https://try.virtooal.com"
   },
   "Virtuagym": {
@@ -807,7 +837,9 @@
     "description": "Virtual Chat is a live-chat service for web sites.",
     "icon": "Virtual Chat.png",
     "saas": true,
-    "scriptSrc": "virtual-chat\\.co\\.il/",
+    "scriptSrc": [
+      "virtual-chat\\.co\\.il/"
+    ],
     "website": "https://www.virtual-chat.co.il"
   },
   "VirtualSpirits": {
@@ -866,7 +898,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.virtuoussoftware\\.com/",
+    "scriptSrc": [
+      "\\.virtuoussoftware\\.com/"
+    ],
     "website": "https://virtuous.org"
   },
   "Virtusize": {
@@ -879,7 +913,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.virtusize\\.jp/",
+    "scriptSrc": [
+      "\\.virtusize\\.jp/"
+    ],
     "website": "https://www.virtusize.com"
   },
   "Visa": {
@@ -901,7 +937,9 @@
     ],
     "description": "Visa facilitates electronic funds transfers throughout the world, most commonly through Visa-branded credit cards, debit cards and prepaid cards.",
     "icon": "Visa.svg",
-    "scriptSrc": "secure\\.checkout\\.visa\\.com",
+    "scriptSrc": [
+      "secure\\.checkout\\.visa\\.com"
+    ],
     "website": "https://checkout.visa.com"
   },
   "Visely": {
@@ -977,7 +1015,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "//whai-cdn\\.nyc\\d\\.cdn\\.digitaloceanspaces\\.com/",
+    "scriptSrc": [
+      "//whai-cdn\\.nyc\\d\\.cdn\\.digitaloceanspaces\\.com/"
+    ],
     "website": "https://apps.shopify.com/product-recommendation-quiz"
   },
   "Visualsoft": {
@@ -1040,7 +1080,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "//appsolve\\.io/",
+    "scriptSrc": [
+      "//appsolve\\.io/"
+    ],
     "website": "https://vitals.co"
   },
   "Vite": {
@@ -1089,7 +1131,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.vitrin\\.me/",
+    "scriptSrc": [
+      "\\.vitrin\\.me/"
+    ],
     "website": "https://vitrin.me"
   },
   "Vizury": {
@@ -1106,7 +1150,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.vizury\\.com",
+    "scriptSrc": [
+      "\\.vizury\\.com"
+    ],
     "website": "https://www.vizury.com"
   },
   "Vnda": {
@@ -1165,7 +1211,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/volusion\\.js(?:\\?([\\d.]*))?\\;version:\\1",
+    "scriptSrc": [
+      "/volusion\\.js(?:\\?([\\d.]*))?\\;version:\\1"
+    ],
     "website": "https://www.volusion.com"
   },
   "Vonage Video API": {
@@ -1179,7 +1227,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.opentok\\.com/",
+    "scriptSrc": [
+      "\\.opentok\\.com/"
+    ],
     "website": "https://www.vonage.com/communications-apis/video/"
   },
   "Voog.com Website Builder": {
@@ -1191,7 +1241,9 @@
       "<script [^>]*src=\"[^\"]*voog\\.com/tracker\\.js"
     ],
     "icon": "Voog.png",
-    "scriptSrc": "voog\\.com/tracker\\.js",
+    "scriptSrc": [
+      "voog\\.com/tracker\\.js"
+    ],
     "website": "https://www.voog.com/"
   },
   "Voracio": {
@@ -1405,7 +1457,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.v4guard\\.io/checkpoint",
+    "scriptSrc": [
+      "\\.v4guard\\.io/checkpoint"
+    ],
     "website": "https://v4guard.io"
   },
   "vBulletin": {
diff --git a/src/technologies/w.json b/src/technologies/w.json
index 23ec6b86..415590d5 100644
--- a/src/technologies/w.json
+++ b/src/technologies/w.json
@@ -32,7 +32,9 @@
       10
     ],
     "icon": "W3Counter.png",
-    "scriptSrc": "w3counter\\.com/tracker\\.js",
+    "scriptSrc": [
+      "w3counter\\.com/tracker\\.js"
+    ],
     "website": "https://www.w3counter.com"
   },
   "WEBDEV": {
@@ -97,7 +99,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/education-hub(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/education-hub(?:-pro)?/"
+    ],
     "website": "https://wenthemes.com/item/wordpress-themes/education-hub"
   },
   "WEN Themes Signify Dark": {
@@ -146,7 +150,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/wp-automatic/",
+    "scriptSrc": [
+      "/wp-content/plugins/wp-automatic/"
+    ],
     "website": "https://wpautomatic.com"
   },
   "WP Engine": {
@@ -185,7 +191,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/cache/wpfc-minified/",
+    "scriptSrc": [
+      "/wp-content/cache/wpfc-minified/"
+    ],
     "website": "https://www.wpfastestcache.com"
   },
   "WP Featherlight": {
@@ -197,7 +205,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wpFeatherlight\\.pkgd\\.min\\.js",
+    "scriptSrc": [
+      "/wpFeatherlight\\.pkgd\\.min\\.js"
+    ],
     "website": "https://wordpress.org/plugins/wp-featherlight"
   },
   "WP Google Map Plugin": {
@@ -217,7 +227,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/wp-google-map-plugin/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/wp-google-map-plugin/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.wpmapspro.com"
   },
   "WP Job Openings": {
@@ -240,7 +252,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/wp-job-openings/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/wp-job-openings/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wpjobopenings.com"
   },
   "WP Live Visitor Counter": {
@@ -269,7 +283,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/wp-maintenance-mode/.+wpmm\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/wp-maintenance-mode/.+wpmm\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://github.com/andrianvaleanu/WP-Maintenance-Mode"
   },
   "WP Portfolio": {
@@ -286,7 +302,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/astra-portfolio/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/astra-portfolio/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wpportfolio.net"
   },
   "WP Puzzle Basic": {
@@ -302,7 +320,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/basic/",
+    "scriptSrc": [
+      "/wp-content/themes/basic/"
+    ],
     "website": "https://wp-puzzle.com/basic"
   },
   "WP Rocket": {
@@ -333,7 +353,9 @@
       "WordPress"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/wp-rocket/",
+    "scriptSrc": [
+      "/wp-content/plugins/wp-rocket/"
+    ],
     "website": "https://wp-rocket.me"
   },
   "WP-Optimize": {
@@ -387,7 +409,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/ashe(?:-pro-premium)?/",
+    "scriptSrc": [
+      "/wp-content/themes/ashe(?:-pro-premium)?/"
+    ],
     "website": "https://wp-royal.com/themes/item-ashe-free"
   },
   "WP-Royal Bard": {
@@ -404,7 +428,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/bard(?:-pro-premium)?/",
+    "scriptSrc": [
+      "/wp-content/themes/bard(?:-pro-premium)?/"
+    ],
     "website": "https://wp-royal.com/themes/item-bard-free"
   },
   "WP-Statistics": {
@@ -466,7 +492,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/wpforms(?:-lite)?/.+(?:frontend\\.min|wpforms)\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/wpforms(?:-lite)?/.+(?:frontend\\.min|wpforms)\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wpforms.com"
   },
   "WPML": {
@@ -491,7 +519,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/sitepress-multilingual-cms/",
+    "scriptSrc": [
+      "/wp-content/plugins/sitepress-multilingual-cms/"
+    ],
     "website": "https://wpml.org/"
   },
   "WPMU DEV Smush": {
@@ -508,7 +538,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/wp-smushit(?:-pro)?/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/wp-smushit(?:-pro)?/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wpmudev.com/project/wp-smush-pro"
   },
   "WPS Visitor Counter": {
@@ -589,7 +621,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "getwair\\.com",
+    "scriptSrc": [
+      "getwair\\.com"
+    ],
     "website": "https://getwair.com"
   },
   "Waitlist": {
@@ -620,7 +654,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "rum\\.wakav\\.ir/",
+    "scriptSrc": [
+      "rum\\.wakav\\.ir/"
+    ],
     "website": "https://www.wakav.ir"
   },
   "WalkMe": {
@@ -722,7 +758,9 @@
     "description": "WayForPay is a payment processing service provider based in Europe.",
     "dom": "form[action*='secure.wayforpay.com']",
     "icon": "WayForPay.svg",
-    "scriptSrc": "secure\\.wayforpay\\.com",
+    "scriptSrc": [
+      "secure\\.wayforpay\\.com"
+    ],
     "website": "https://wayforpay.com"
   },
   "Wazimo": {
@@ -772,7 +810,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/weaver-xtreme/.+weaverxjslib-end\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/weaver-xtreme/.+weaverxjslib-end\\.min\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://weavertheme.com"
   },
   "Web Shop Manager": {
@@ -855,7 +895,9 @@
     "meta": {
       "generator": "^Web2py"
     },
-    "scriptSrc": "web2py\\.js",
+    "scriptSrc": [
+      "web2py\\.js"
+    ],
     "website": "https://web2py.com"
   },
   "WebAssembly": {
@@ -873,7 +915,9 @@
       "wasmBinaryFile": ""
     },
     "oss": true,
-    "scriptSrc": "/wasm_exec\\.js",
+    "scriptSrc": [
+      "/wasm_exec\\.js"
+    ],
     "website": "https://webassembly.org/"
   },
   "WebEngage": {
@@ -891,7 +935,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.webengage\\.co(?:m)?/",
+    "scriptSrc": [
+      "\\.webengage\\.co(?:m)?/"
+    ],
     "website": "https://webengage.com"
   },
   "WebFactory Maintenance": {
@@ -966,7 +1012,9 @@
     "js": {
       "_wmid": ""
     },
-    "scriptSrc": "cdn\\.webmetric\\.ir",
+    "scriptSrc": [
+      "cdn\\.webmetric\\.ir"
+    ],
     "website": "https://webmetric.ir/"
   },
   "WebNode": {
@@ -1069,7 +1117,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//webzi\\.ir/",
+    "scriptSrc": [
+      "//webzi\\.ir/"
+    ],
     "website": "https://webzi.ir"
   },
   "Webasyst Shop-Script": {
@@ -1158,7 +1208,9 @@
     ],
     "description": "WebFont Loader is a versatile JavaScript library that provides enhanced control and flexibility in managing web fonts.",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/)?webfontloader(?:\\.min)?(?:[-\\.][\\d\\w]{0,32})?\\.js\\;version:\\1",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/)?webfontloader(?:\\.min)?(?:[-\\.][\\d\\w]{0,32})?\\.js\\;version:\\1"
+    ],
     "website": "https://github.com/typekit/webfontloader"
   },
   "Webgains": {
@@ -1170,7 +1222,9 @@
     "js": {
       "ITCLKQ": ""
     },
-    "scriptSrc": "analytics\\.webgains\\.io",
+    "scriptSrc": [
+      "analytics\\.webgains\\.io"
+    ],
     "website": "https://www.webgains.com/"
   },
   "Webix": {
@@ -1181,7 +1235,9 @@
     "js": {
       "webix": ""
     },
-    "scriptSrc": "\\bwebix\\.js",
+    "scriptSrc": [
+      "\\bwebix\\.js"
+    ],
     "website": "https://webix.com"
   },
   "Weblication": {
@@ -1224,7 +1280,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "res2\\.weblium\\.site/common/core\\.min\\.js",
+    "scriptSrc": [
+      "res2\\.weblium\\.site/common/core\\.min\\.js"
+    ],
     "url": "\\.weblium\\.site",
     "website": "https://weblium.com"
   },
@@ -1315,7 +1373,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/busiprof(?:-pro)?/",
+    "scriptSrc": [
+      "/wp-content/themes/busiprof(?:-pro)?/"
+    ],
     "website": "https://webriti.com/busiprof-premium-wordpress-theme-1"
   },
   "WebsPlanet": {
@@ -1460,7 +1520,9 @@
       "freemium"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\d+\\.editmysite\\.com",
+    "scriptSrc": [
+      "cdn\\d+\\.editmysite\\.com"
+    ],
     "website": "https://www.weebly.com"
   },
   "Weglot": {
@@ -1495,7 +1557,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "uscesL10n",
+    "scriptSrc": [
+      "uscesL10n"
+    ],
     "website": "https://www.welcart.com"
   },
   "WeltPixel Pearl Theme": {
@@ -1532,7 +1596,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.whatfix\\.com/",
+    "scriptSrc": [
+      "\\.whatfix\\.com/"
+    ],
     "website": "https://whatfix.com"
   },
   "WhatsApp Business Chat": {
@@ -1555,7 +1621,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "wheelioapp\\.azureedge\\.net",
+    "scriptSrc": [
+      "wheelioapp\\.azureedge\\.net"
+    ],
     "website": "https://wheelio-app.com/"
   },
   "Whistl": {
@@ -1594,7 +1662,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "//widebundle\\.com/",
+    "scriptSrc": [
+      "//widebundle\\.com/"
+    ],
     "website": "https://en.widebundle.com"
   },
   "Widen": {
@@ -1612,7 +1682,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "assets/\\d+-\\d+/stack/en/widenjs\\.js",
+    "scriptSrc": [
+      "assets/\\d+-\\d+/stack/en/widenjs\\.js"
+    ],
     "website": "https://www.widen.com"
   },
   "WidgetWhats": {
@@ -1630,7 +1702,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.widgetwhats\\.com/",
+    "scriptSrc": [
+      "\\.widgetwhats\\.com/"
+    ],
     "website": "https://widgetwhats.com"
   },
   "Wigzo": {
@@ -1643,7 +1717,9 @@
       "wigzo": ""
     },
     "saas": true,
-    "scriptSrc": "app\\.wigzo\\.com",
+    "scriptSrc": [
+      "app\\.wigzo\\.com"
+    ],
     "website": "https://www.wigzo.com/"
   },
   "Wiki.js": {
@@ -1699,7 +1775,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "trkcall\\.com/scripts",
+    "scriptSrc": [
+      "trkcall\\.com/scripts"
+    ],
     "website": "https://www.wildjar.com"
   },
   "Windows CE": {
@@ -1754,7 +1832,9 @@
     "js": {
       "wink.version": "^(.+)$\\;version:\\1"
     },
-    "scriptSrc": "(?:_base/js/base|wink).*\\.js",
+    "scriptSrc": [
+      "(?:_base/js/base|wink).*\\.js"
+    ],
     "website": "https://winktoolkit.org"
   },
   "Winstone Servlet Container": {
@@ -1781,7 +1861,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.wirecard\\.com/",
+    "scriptSrc": [
+      "\\.wirecard\\.com/"
+    ],
     "website": "https://www.wirecard.com"
   },
   "Wisepops": {
@@ -1800,7 +1882,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "loader\\.wisepops\\.com/get-loader\\.js",
+    "scriptSrc": [
+      "loader\\.wisepops\\.com/get-loader\\.js"
+    ],
     "website": "https://wisepops.com"
   },
   "Wishlist King": {
@@ -1841,7 +1925,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.wistia\\.com",
+    "scriptSrc": [
+      "\\.wistia\\.com"
+    ],
     "website": "https://wistia.com"
   },
   "With Reach": {
@@ -1890,7 +1976,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "static\\.parastorage\\.com",
+    "scriptSrc": [
+      "static\\.parastorage\\.com"
+    ],
     "website": "https://www.wix.com"
   },
   "Wix Answers": {
@@ -1905,7 +1993,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.wixanswers\\.com/",
+    "scriptSrc": [
+      "\\.wixanswers\\.com/"
+    ],
     "website": "https://www.wixanswers.com"
   },
   "Wix eCommerce": {
@@ -1959,7 +2049,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "wp-content/plugins/creditcorp-wizardpay/.+\\?ver=([\\d\\.]+)\\;version:\\1",
+    "scriptSrc": [
+      "wp-content/plugins/creditcorp-wizardpay/.+\\?ver=([\\d\\.]+)\\;version:\\1"
+    ],
     "website": "https://www.wizpay.com.au"
   },
   "Wolf CMS": {
@@ -1983,7 +2075,9 @@
     "implies": [
       "PHP"
     ],
-    "scriptSrc": "WCF\\..*\\.js",
+    "scriptSrc": [
+      "WCF\\..*\\.js"
+    ],
     "website": "https://www.woltlab.com"
   },
   "WooCommerce": {
@@ -2042,7 +2136,9 @@
       "WordPress",
       "WooCommerce"
     ],
-    "scriptSrc": "/wp-content/plugins/woocommerce-multilingual/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/woocommerce-multilingual/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://wordpress.org/plugins/woocommerce-multilingual"
   },
   "WooCommerce PayPal Checkout Payment Gateway": {
@@ -2062,7 +2158,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/woocommerce-gateway-paypal-express-checkout/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/woocommerce-gateway-paypal-express-checkout/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://github.com/woocommerce/woocommerce-gateway-paypal-express-checkout"
   },
   "WooCommerce PayPal Payments": {
@@ -2079,7 +2177,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/woocommerce-paypal-payments/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/woocommerce-paypal-payments/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://github.com/woocommerce/woocommerce-paypal-payments"
   },
   "WooCommerce Stripe Payment Gateway": {
@@ -2098,7 +2198,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/woocommerce-gateway-stripe/",
+    "scriptSrc": [
+      "/wp-content/plugins/woocommerce-gateway-stripe/"
+    ],
     "website": "https://woocommerce.com/products/stripe"
   },
   "WooCommerce Subscriptions": {
@@ -2125,7 +2227,9 @@
       10
     ],
     "icon": "Woopra.png",
-    "scriptSrc": "static\\.woopra\\.com",
+    "scriptSrc": [
+      "static\\.woopra\\.com"
+    ],
     "website": "https://www.woopra.com"
   },
   "Woostify": {
@@ -2149,7 +2253,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/woostify/",
+    "scriptSrc": [
+      "/wp-content/themes/woostify/"
+    ],
     "website": "https://woostify.com"
   },
   "WoowUp": {
@@ -2165,7 +2271,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "assets-cdn\\.woowup\\.com/",
+    "scriptSrc": [
+      "assets-cdn\\.woowup\\.com/"
+    ],
     "website": "https://www.woowup.com"
   },
   "WordAds": {
@@ -2180,7 +2288,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.pubmine\\.com/",
+    "scriptSrc": [
+      "\\.pubmine\\.com/"
+    ],
     "website": "https://wordads.co"
   },
   "WordPress": {
@@ -2237,7 +2347,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/default/",
+    "scriptSrc": [
+      "/wp-content/themes/default/"
+    ],
     "website": "https://wordpress.org/themes/default"
   },
   "WordPress Multisite": {
@@ -2333,7 +2445,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/wordfence/.+admin\\.ajaxWatcher\\.\\d+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/wordfence/.+admin\\.ajaxWatcher\\.\\d+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.wordfence.com"
   },
   "Wordfence Login Security": {
@@ -2351,7 +2465,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/plugins/wordfence/.+login\\.\\d+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/wordfence/.+login\\.\\d+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.wordfence.com"
   },
   "Workable": {
@@ -2427,7 +2543,9 @@
     ],
     "description": "WorldShopping makes online purchases in Japan easier for international visitors.",
     "icon": "worldshopping.png",
-    "scriptSrc": "checkout-api\\.worldshopping\\.jp/(v\\d+)?\\;version:\\1",
+    "scriptSrc": [
+      "checkout-api\\.worldshopping\\.jp/(v\\d+)?\\;version:\\1"
+    ],
     "website": "https://www.worldshopping.global/"
   },
   "Worldz": {
@@ -2442,7 +2560,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.worldztool\\.com/",
+    "scriptSrc": [
+      "\\.worldztool\\.com/"
+    ],
     "website": "https://www.worldz-business.net"
   },
   "WOW": {
@@ -2457,7 +2577,9 @@
       "onetime"
     ],
     "oss": true,
-    "scriptSrc": "wow(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1",
+    "scriptSrc": [
+      "wow(?:\\.min)?\\.js(?:\\?ver=((?:\\d+\\.)+\\d+))?\\;version:\\1"
+    ],
     "website": "https://www.delac.io/WOW"
   },
   "Wowza Video Player": {
@@ -2549,7 +2671,9 @@
     "js": {
       "WURFL": ""
     },
-    "scriptSrc": "\\.wurfl\\.io",
+    "scriptSrc": [
+      "\\.wurfl\\.io"
+    ],
     "website": "https://web.wurfl.io/"
   },
   "WysiBB": {
@@ -2562,7 +2686,9 @@
       "jQuery"
     ],
     "oss": true,
-    "scriptSrc": "/jquery\\.wysibb\\.min\\.js",
+    "scriptSrc": [
+      "/jquery\\.wysibb\\.min\\.js"
+    ],
     "website": "https://wysibb.com"
   },
   "wBuy": {
@@ -2576,7 +2702,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.sistemawbuy\\.com\\.br/",
+    "scriptSrc": [
+      "\\.sistemawbuy\\.com\\.br/"
+    ],
     "website": "https://www.wbuy.com.br"
   },
   "waitForImages": {
@@ -2585,7 +2713,9 @@
     ],
     "description": "waitForImages is a lightweight, high-performance JavaScript library that simplifies the handling of image preloading events.",
     "oss": true,
-    "scriptSrc": "(?:((?:\\d+\\.)+\\d+)\\/(?:jquery\\.)?)?waitforimages(?:-((?:\\d+\\.)+\\d+)-modded)?(?:\\.min)?\\.js\\;version:\\1\\2",
+    "scriptSrc": [
+      "(?:((?:\\d+\\.)+\\d+)\\/(?:jquery\\.)?)?waitforimages(?:-((?:\\d+\\.)+\\d+)-modded)?(?:\\.min)?\\.js\\;version:\\1\\2"
+    ],
     "website": "https://github.com/alexanderdickson/waitForImages"
   },
   "wap.store": {
@@ -2617,7 +2747,9 @@
       "webVitals": ""
     },
     "oss": true,
-    "scriptSrc": "web-vitals@([\\d.]+)/dist/web-vitals.*\\.js\\;version:\\1",
+    "scriptSrc": [
+      "web-vitals@([\\d.]+)/dist/web-vitals.*\\.js\\;version:\\1"
+    ],
     "scripts": "(8999999999999[\\s\\S]+1e12[\\s\\S]+(largest-contentful-paint|first-input|layout-shift)|(largest-contentful-paint|first-input|layout-shift)[\\s\\S]+8999999999999[\\s\\S]+1e12)",
     "website": "https://github.com/GoogleChrome/web-vitals"
   },
diff --git a/src/technologies/x.json b/src/technologies/x.json
index 772333d3..f52d818c 100644
--- a/src/technologies/x.json
+++ b/src/technologies/x.json
@@ -33,7 +33,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?:cdn)?x\\.ai/.*/xdotai-embed\\.js",
+    "scriptSrc": [
+      "(?:cdn)?x\\.ai/.*/xdotai-embed\\.js"
+    ],
     "website": "https://x.ai"
   },
   "XAMPP": {
@@ -65,7 +67,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "//assets\\.xgen\\.dev/",
+    "scriptSrc": [
+      "//assets\\.xgen\\.dev/"
+    ],
     "website": "https://xgen.ai"
   },
   "XMB": {
@@ -148,7 +152,9 @@
     ],
     "cpe": "cpe:2.3:a:xajax:xajax:*:*:*:*:*:*:*:*",
     "icon": "Xajax.png",
-    "scriptSrc": "xajax_core.*\\.js",
+    "scriptSrc": [
+      "xajax_core.*\\.js"
+    ],
     "website": "https://xajax-project.org"
   },
   "Xanario": {
@@ -200,7 +206,9 @@
     "implies": [
       "Microsoft ASP.NET"
     ],
-    "scriptSrc": "/_bi_sps_v.+\\.js",
+    "scriptSrc": [
+      "/_bi_sps_v.+\\.js"
+    ],
     "website": "https://www.xeora.org"
   },
   "Xitami": {
@@ -225,7 +233,9 @@
     "meta": {
       "keywords": "xonic-solutions"
     },
-    "scriptSrc": "core/jslib/jquery\\.xonic\\.js\\.php",
+    "scriptSrc": [
+      "core/jslib/jquery\\.xonic\\.js\\.php"
+    ],
     "website": "https://www.xonic-solutions.de"
   },
   "XpressEngine": {
@@ -256,7 +266,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "apps\\.xpresslane\\.in/",
+    "scriptSrc": [
+      "apps\\.xpresslane\\.in/"
+    ],
     "website": "https://www.xpresslane.in"
   },
   "Xretail": {
@@ -309,7 +321,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/xtra/.+custom\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/themes/xtra/.+custom\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://xtratheme.com"
   },
   "Xtremepush": {
@@ -336,7 +350,9 @@
     "js": {
       "xChart": ""
     },
-    "scriptSrc": "xcharts\\.js",
+    "scriptSrc": [
+      "xcharts\\.js"
+    ],
     "website": "https://tenxer.github.io/xcharts/"
   },
   "xtCommerce": {
diff --git a/src/technologies/y.json b/src/technologies/y.json
index a3d58dbc..ee2ec32c 100644
--- a/src/technologies/y.json
+++ b/src/technologies/y.json
@@ -46,7 +46,9 @@
       "YUI.version": "^(.+)$\\;version:\\1"
     },
     "oss": true,
-    "scriptSrc": "(?:/yui/|yui\\.yahooapis\\.com)",
+    "scriptSrc": [
+      "(?:/yui/|yui\\.yahooapis\\.com)"
+    ],
     "website": "https://clarle.github.io/yui3"
   },
   "YUI Doc": {
@@ -86,7 +88,9 @@
       "yahoo_ydn_conv_label": "",
       "yahoo_ydn_conv_transaction_id": ""
     },
-    "scriptSrc": "(?:adinterax|adserver\\.yahoo)\\.com",
+    "scriptSrc": [
+      "(?:adinterax|adserver\\.yahoo)\\.com"
+    ],
     "website": "https://www.adtech.yahooinc.com"
   },
   "Yahoo! Ecommerce": {
@@ -113,7 +117,9 @@
       "<!-- (?:End )?Yahoo! Tag Manager -->"
     ],
     "icon": "Yahoo.svg",
-    "scriptSrc": "b\\.yjtag\\.jp/iframe",
+    "scriptSrc": [
+      "b\\.yjtag\\.jp/iframe"
+    ],
     "website": "https://tagmanager.yahoo.co.jp/"
   },
   "Yahoo! Web Analytics": {
@@ -124,7 +130,9 @@
     "js": {
       "YWA": ""
     },
-    "scriptSrc": "d\\.yimg\\.com/mi/ywa\\.js",
+    "scriptSrc": [
+      "d\\.yimg\\.com/mi/ywa\\.js"
+    ],
     "website": "https://web.analytics.yahoo.com"
   },
   "YalinHost": {
@@ -172,7 +180,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.yampi\\.io/",
+    "scriptSrc": [
+      "cdn\\.yampi\\.io/"
+    ],
     "website": "https://www.yampi.com.br/loja-virtual"
   },
   "Yandex SmartCaptcha": {
@@ -229,7 +239,9 @@
       "yandex_ad_format": "",
       "yandex_partner_id": ""
     },
-    "scriptSrc": "https?://an\\.yandex\\.ru/",
+    "scriptSrc": [
+      "https?://an\\.yandex\\.ru/"
+    ],
     "website": "https://partner.yandex.com"
   },
   "Yandex.Messenger": {
@@ -245,7 +257,9 @@
     "pricing": [
       "payg"
     ],
-    "scriptSrc": "chat\\.s3\\.yandex\\.net/widget\\.js",
+    "scriptSrc": [
+      "chat\\.s3\\.yandex\\.net/widget\\.js"
+    ],
     "website": "https://dialogs.yandex.ru"
   },
   "Yandex.Metrika": {
@@ -354,7 +368,9 @@
       }
     },
     "icon": "Yelp.svg",
-    "scriptSrc": "yelp\\.com/biz_badge_js",
+    "scriptSrc": [
+      "yelp\\.com/biz_badge_js"
+    ],
     "website": "https://yelp.com"
   },
   "Yepcomm": {
@@ -378,7 +394,9 @@
       "YETT_BLACKLIST": ""
     },
     "oss": true,
-    "scriptSrc": "/yett@([\\d\\.]+)/dist/yett\\.min\\.js\\;version:\\1",
+    "scriptSrc": [
+      "/yett@([\\d\\.]+)/dist/yett\\.min\\.js\\;version:\\1"
+    ],
     "website": "https://github.com/elbywan/yett"
   },
   "Yext": {
@@ -418,7 +436,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.yieldify\\.com",
+    "scriptSrc": [
+      "\\.yieldify\\.com"
+    ],
     "website": "https://www.yieldify.com"
   },
   "Yieldlab": {
@@ -426,7 +446,9 @@
       36
     ],
     "icon": "Yieldlab.png",
-    "scriptSrc": "^https?://(?:[^/]+\\.)?yieldlab\\.net/",
+    "scriptSrc": [
+      "^https?://(?:[^/]+\\.)?yieldlab\\.net/"
+    ],
     "website": "https://yieldlab.de"
   },
   "Yii": {
@@ -556,7 +578,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "\\.yola(?:cdn)?\\.(?:net|com)/",
+    "scriptSrc": [
+      "\\.yola(?:cdn)?\\.(?:net|com)/"
+    ],
     "website": "https://www.yola.com"
   },
   "YooMoney": {
@@ -573,7 +597,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.yoomoney\\.ru/",
+    "scriptSrc": [
+      "\\.yoomoney\\.ru/"
+    ],
     "website": "https://yoomoney.ru"
   },
   "Yoori": {
@@ -613,7 +639,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn(?:-loyalty)?\\.(?:swellrewards|yotpo)\\.com/",
+    "scriptSrc": [
+      "cdn(?:-loyalty)?\\.(?:swellrewards|yotpo)\\.com/"
+    ],
     "website": "https://www.yotpo.com/platform/loyalty/"
   },
   "Yotpo Reviews": {
@@ -631,7 +659,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "(?!cdn-loyalty)\\.yotpo\\.com/",
+    "scriptSrc": [
+      "(?!cdn-loyalty)\\.yotpo\\.com/"
+    ],
     "website": "https://www.yotpo.com/platform/reviews/"
   },
   "Yotpo SMSBump": {
@@ -657,7 +687,9 @@
       "X-Yottaa-Metrics": "",
       "X-Yottaa-Optimizations": ""
     },
-    "scriptSrc": "cdn\\.yottaa\\.\\w+/",
+    "scriptSrc": [
+      "cdn\\.yottaa\\.\\w+/"
+    ],
     "website": "https://www.yottaa.com"
   },
   "YouCam Makeup": {
@@ -675,7 +707,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "plugins-media\\.(?:perfectcorp|makeupar)\\.com/",
+    "scriptSrc": [
+      "plugins-media\\.(?:perfectcorp|makeupar)\\.com/"
+    ],
     "website": "https://www.perfectcorp.com/business/products/virtual-makeup"
   },
   "YouCan": {
@@ -720,7 +754,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "app\\.youpay\\.ai/",
+    "scriptSrc": [
+      "app\\.youpay\\.ai/"
+    ],
     "website": "https://youpay.co"
   },
   "YouTrack": {
@@ -745,7 +781,9 @@
       "<(?:param|embed|iframe)[^>]+youtube(?:-nocookie)?\\.com/(?:v|embed)"
     ],
     "icon": "YouTube.png",
-    "scriptSrc": "\\.youtube\\.com/",
+    "scriptSrc": [
+      "\\.youtube\\.com/"
+    ],
     "website": "https://www.youtube.com"
   },
   "YunoHost": {
@@ -759,7 +797,9 @@
       "Debian"
     ],
     "oss": true,
-    "scriptSrc": "/ynh_portal\\.js",
+    "scriptSrc": [
+      "/ynh_portal\\.js"
+    ],
     "website": "https://yunohost.org"
   },
   "yellow.ai": {
@@ -775,7 +815,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.yellowmessenger\\.com",
+    "scriptSrc": [
+      "cdn\\.yellowmessenger\\.com"
+    ],
     "website": "https://yellow.ai/"
   }
 }
\ No newline at end of file
diff --git a/src/technologies/z.json b/src/technologies/z.json
index 4c21c9a8..cb7be643 100644
--- a/src/technologies/z.json
+++ b/src/technologies/z.json
@@ -10,7 +10,9 @@
     "implies": [
       "Java"
     ],
-    "scriptSrc": "zkau/",
+    "scriptSrc": [
+      "zkau/"
+    ],
     "website": "https://zkoss.org"
   },
   "ZURB Foundation": {
@@ -86,7 +88,9 @@
       "WooCommerce"
     ],
     "saas": true,
-    "scriptSrc": "/wp-content/plugins/zakeke-interactive-product-designer/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+    "scriptSrc": [
+      "/wp-content/plugins/zakeke-interactive-product-designer/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1"
+    ],
     "website": "https://www.zakeke.com"
   },
   "Zakeke Visual Customizer": {
@@ -107,7 +111,9 @@
       "Shopify"
     ],
     "saas": true,
-    "scriptSrc": "\\.zakeke\\.com/Scripts/integration/shopify/",
+    "scriptSrc": [
+      "\\.zakeke\\.com/Scripts/integration/shopify/"
+    ],
     "website": "https://www.zakeke.com"
   },
   "Zakra": {
@@ -130,7 +136,9 @@
     "requires": [
       "WordPress"
     ],
-    "scriptSrc": "/wp-content/themes/zakra/",
+    "scriptSrc": [
+      "/wp-content/themes/zakra/"
+    ],
     "website": "https://zakratheme.com"
   },
   "Zanox": {
@@ -144,7 +152,9 @@
     "js": {
       "zanox": ""
     },
-    "scriptSrc": "zanox\\.com/scripts/zanox\\.js$",
+    "scriptSrc": [
+      "zanox\\.com/scripts/zanox\\.js$"
+    ],
     "website": "https://zanox.com"
   },
   "Zeabur": {
@@ -242,7 +252,9 @@
       "low"
     ],
     "saas": true,
-    "scriptSrc": "static\\.zdassets\\.com",
+    "scriptSrc": [
+      "static\\.zdassets\\.com"
+    ],
     "website": "https://zendesk.com"
   },
   "Zendesk Chat": {
@@ -256,7 +268,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "v2\\.zopim\\.com",
+    "scriptSrc": [
+      "v2\\.zopim\\.com"
+    ],
     "website": "https://zopim.com"
   },
   "Zendesk Sunshine Conversations": {
@@ -273,7 +287,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "cdn\\.smooch\\.io/",
+    "scriptSrc": [
+      "cdn\\.smooch\\.io/"
+    ],
     "website": "https://www.zendesk.com/platform/conversations"
   },
   "Zenfolio": {
@@ -298,7 +314,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.zeotap\\.com",
+    "scriptSrc": [
+      "\\.zeotap\\.com"
+    ],
     "website": "https://zeotap.com"
   },
   "Zepto": {
@@ -309,7 +327,9 @@
     "js": {
       "Zepto": ""
     },
-    "scriptSrc": "zepto.*\\.js",
+    "scriptSrc": [
+      "zepto.*\\.js"
+    ],
     "website": "https://zeptojs.com"
   },
   "ZestMoney": {
@@ -475,7 +495,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "/zipify-oneclickupsell-vendor\\.js",
+    "scriptSrc": [
+      "/zipify-oneclickupsell-vendor\\.js"
+    ],
     "website": "https://zipify.com/apps/ocu/"
   },
   "Zipify Pages": {
@@ -526,7 +548,9 @@
       "recurring"
     ],
     "saas": true,
-    "scriptSrc": "c(?:reator)?\\.zmags\\.com/",
+    "scriptSrc": [
+      "c(?:reator)?\\.zmags\\.com/"
+    ],
     "website": "https://www.creatorbyzmags.com"
   },
   "Zocdoc": {
@@ -540,7 +564,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "offsiteschedule\\.zocdoc\\.com",
+    "scriptSrc": [
+      "offsiteschedule\\.zocdoc\\.com"
+    ],
     "website": "https://www.zocdoc.com"
   },
   "Zoey": {
@@ -561,7 +587,9 @@
       "zoey.developer": "",
       "zoeyDev": ""
     },
-    "scriptSrc": "cdna4\\.zoeysite\\.com",
+    "scriptSrc": [
+      "cdna4\\.zoeysite\\.com"
+    ],
     "website": "https://www.zoey.com/"
   },
   "Zoho": {
@@ -617,7 +645,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "\\.pagesense\\.(?:cn|io)?",
+    "scriptSrc": [
+      "\\.pagesense\\.(?:cn|io)?"
+    ],
     "website": "https://www.zoho.com/pagesense/"
   },
   "Zoko": {
@@ -638,7 +668,9 @@
       "mid"
     ],
     "saas": true,
-    "scriptSrc": "zoko-shopify-prod\\.web\\.app",
+    "scriptSrc": [
+      "zoko-shopify-prod\\.web\\.app"
+    ],
     "website": "https://www.zoko.io/"
   },
   "Zone.js": {
@@ -669,7 +701,9 @@
       "poa"
     ],
     "saas": true,
-    "scriptSrc": "\\.zonos\\.com/",
+    "scriptSrc": [
+      "\\.zonos\\.com/"
+    ],
     "website": "https://zonos.com"
   },
   "ZoodPay": {
@@ -682,7 +716,9 @@
       "payg"
     ],
     "saas": true,
-    "scriptSrc": "wp-content/plugins/zoodpay/(?:.+\\?ver=([\\d\\.]+))?\\;version:\\1",
+    "scriptSrc": [
+      "wp-content/plugins/zoodpay/(?:.+\\?ver=([\\d\\.]+))?\\;version:\\1"
+    ],
     "website": "https://www.zoodpay.com"
   },
   "Zoominfo": {
@@ -692,7 +728,9 @@
     "description": "ZoomInfo provides actionable B2B contact and company information for sales and marketing teams.",
     "icon": "Zoominfo.svg",
     "saas": true,
-    "scriptSrc": "ws\\.zoominfo\\.com",
+    "scriptSrc": [
+      "ws\\.zoominfo\\.com"
+    ],
     "website": "https://www.zoominfo.com/"
   },
   "Zoominfo Chat": {
@@ -702,7 +740,9 @@
     "description": "ZoomInfo chat is a live chat solution.",
     "icon": "Zoominfo.svg",
     "saas": true,
-    "scriptSrc": "madstreetden\\.widget\\.insent\\.ai",
+    "scriptSrc": [
+      "madstreetden\\.widget\\.insent\\.ai"
+    ],
     "website": "https://www.zoominfo.com/chat"
   },
   "Zope": {
@@ -753,7 +793,9 @@
     "meta": {
       "generator": "Zozo Ecommerce"
     },
-    "scriptSrc": "zozo-main\\.min\\.js",
+    "scriptSrc": [
+      "zozo-main\\.min\\.js"
+    ],
     "website": "https://zozo.vn"
   },
   "Zuppler": {