Index: frontend/node_modules/@babel/helper-plugin-utils/LICENSE
===================================================================
--- frontend/node_modules/@babel/helper-plugin-utils/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/@babel/helper-plugin-utils/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Index: frontend/node_modules/@babel/helper-plugin-utils/README.md
===================================================================
--- frontend/node_modules/@babel/helper-plugin-utils/README.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/@babel/helper-plugin-utils/README.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,19 @@
+# @babel/helper-plugin-utils
+
+> General utilities for plugins to use
+
+See our website [@babel/helper-plugin-utils](https://babeljs.io/docs/babel-helper-plugin-utils) for more information.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save @babel/helper-plugin-utils
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/helper-plugin-utils
+```
Index: frontend/node_modules/@babel/helper-plugin-utils/lib/index.js
===================================================================
--- frontend/node_modules/@babel/helper-plugin-utils/lib/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/@babel/helper-plugin-utils/lib/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,74 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.declare = declare;
+exports.declarePreset = void 0;
+const apiPolyfills = {
+  assertVersion: api => range => {
+    throwVersionError(range, api.version);
+  }
+};
+Object.assign(apiPolyfills, {
+  targets: () => () => {
+    return {};
+  },
+  assumption: () => () => {
+    return undefined;
+  },
+  addExternalDependency: () => () => {}
+});
+function declare(builder) {
+  return (api, options, dirname) => {
+    let clonedApi;
+    for (const name of Object.keys(apiPolyfills)) {
+      if (api[name]) continue;
+      clonedApi != null ? clonedApi : clonedApi = copyApiObject(api);
+      clonedApi[name] = apiPolyfills[name](clonedApi);
+    }
+    return builder(clonedApi != null ? clonedApi : api, options || {}, dirname);
+  };
+}
+const declarePreset = exports.declarePreset = declare;
+function copyApiObject(api) {
+  let proto = null;
+  if (typeof api.version === "string" && api.version.startsWith("7.")) {
+    proto = Object.getPrototypeOf(api);
+    if (proto && (!hasOwnProperty.call(proto, "version") || !hasOwnProperty.call(proto, "transform") || !hasOwnProperty.call(proto, "template") || !hasOwnProperty.call(proto, "types"))) {
+      proto = null;
+    }
+  }
+  return Object.assign({}, proto, api);
+}
+function throwVersionError(range, version) {
+  if (typeof range === "number") {
+    if (!Number.isInteger(range)) {
+      throw new Error("Expected string or integer value.");
+    }
+    range = `^${range}.0.0-0`;
+  }
+  if (typeof range !== "string") {
+    throw new Error("Expected string or integer value.");
+  }
+  const limit = Error.stackTraceLimit;
+  if (typeof limit === "number" && limit < 25) {
+    Error.stackTraceLimit = 25;
+  }
+  let err;
+  if (version.startsWith("7.")) {
+    err = new Error(`Requires Babel "^7.0.0-beta.41", but was loaded with "${version}". ` + `You'll need to update your @babel/core version.`);
+  } else {
+    err = new Error(`Requires Babel "${range}", but was loaded with "${version}". ` + `If you are sure you have a compatible version of @babel/core, ` + `it is likely that something in your build process is loading the ` + `wrong version. Inspect the stack trace of this error to look for ` + `the first entry that doesn't mention "@babel/core" or "babel-core" ` + `to see what is calling Babel.`);
+  }
+  if (typeof limit === "number") {
+    Error.stackTraceLimit = limit;
+  }
+  throw Object.assign(err, {
+    code: "BABEL_VERSION_UNSUPPORTED",
+    version,
+    range
+  });
+}
+
+//# sourceMappingURL=index.js.map
Index: frontend/node_modules/@babel/helper-plugin-utils/lib/index.js.map
===================================================================
--- frontend/node_modules/@babel/helper-plugin-utils/lib/index.js.map	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/@babel/helper-plugin-utils/lib/index.js.map	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,1 @@
+{"version":3,"names":["apiPolyfills","assertVersion","api","range","throwVersionError","version","Object","assign","targets","assumption","undefined","addExternalDependency","declare","builder","options","dirname","clonedApi","name","keys","copyApiObject","declarePreset","exports","proto","startsWith","getPrototypeOf","hasOwnProperty","call","Number","isInteger","Error","limit","stackTraceLimit","err","code"],"sources":["../src/index.ts"],"sourcesContent":["import type {\n  PluginAPI,\n  PluginObject,\n  PluginPass,\n  PresetAPI,\n  PresetObject,\n} from \"@babel/core\";\n\ntype APIPolyfillFactory<T extends keyof PluginAPI> = (\n  api: PluginAPI,\n) => PluginAPI[T];\n\ntype APIPolyfills = {\n  assertVersion: APIPolyfillFactory<\"assertVersion\">;\n};\n\nconst apiPolyfills: APIPolyfills = {\n  // Not supported by Babel 7 and early versions of Babel 7 beta.\n  // It's important that this is polyfilled for older Babel versions\n  // since it's needed to report the version mismatch.\n  assertVersion: (api: PluginAPI) => (range: number | string) => {\n    throwVersionError(range, api.version);\n  },\n};\nif (!process.env.BABEL_8_BREAKING) {\n  Object.assign(apiPolyfills, {\n    // This is supported starting from Babel 7.13\n    targets: () => (): any => {\n      return {};\n    },\n    // This is supported starting from Babel 7.13\n    assumption: () => (): any => {\n      return undefined;\n    },\n    // This is supported starting from Babel 7.17\n    addExternalDependency: () => () => {},\n  });\n}\n\nexport function declare<State = object, Option = object>(\n  builder: (\n    api: PluginAPI,\n    options: Option,\n    dirname: string,\n  ) => PluginObject<State & PluginPass>,\n): (\n  api: PluginAPI,\n  options: Option,\n  dirname: string,\n) => PluginObject<State & PluginPass> {\n  return (api, options: Option, dirname: string) => {\n    let clonedApi: PluginAPI;\n\n    for (const name of Object.keys(\n      apiPolyfills,\n    ) as (keyof typeof apiPolyfills)[]) {\n      if (api[name]) continue;\n\n      clonedApi ??= copyApiObject(api);\n      clonedApi[name] = apiPolyfills[name](clonedApi);\n    }\n\n    // @ts-expect-error options || {} may not be assigned to Options\n    return builder(clonedApi ?? api, options || {}, dirname);\n  };\n}\n\nexport const declarePreset = declare as <Option = object>(\n  builder: (api: PresetAPI, options: Option, dirname: string) => PresetObject,\n) => (api: PresetAPI, options: Option, dirname: string) => PresetObject;\n\nfunction copyApiObject(api: PluginAPI): PluginAPI {\n  // Babel >= 7 <= beta.41 passed the API as a new object that had\n  // babel/core as the prototype. While slightly faster, it also\n  // means that the Object.assign copy below fails. Rather than\n  // keep complexity, the Babel 6 behavior has been reverted and this\n  // normalizes all that for Babel 7.\n  let proto = null;\n  if (typeof api.version === \"string\" && api.version.startsWith(\"7.\")) {\n    proto = Object.getPrototypeOf(api);\n    if (\n      proto &&\n      (!Object.hasOwn(proto, \"version\") ||\n        !Object.hasOwn(proto, \"transform\") ||\n        !Object.hasOwn(proto, \"template\") ||\n        !Object.hasOwn(proto, \"types\"))\n    ) {\n      proto = null;\n    }\n  }\n\n  return {\n    ...proto,\n    ...api,\n  };\n}\n\nfunction throwVersionError(range: string | number, version: string) {\n  if (typeof range === \"number\") {\n    if (!Number.isInteger(range)) {\n      throw new Error(\"Expected string or integer value.\");\n    }\n    range = `^${range}.0.0-0`;\n  }\n  if (typeof range !== \"string\") {\n    throw new Error(\"Expected string or integer value.\");\n  }\n\n  const limit = Error.stackTraceLimit;\n\n  if (typeof limit === \"number\" && limit < 25) {\n    // Bump up the limit if needed so that users are more likely\n    // to be able to see what is calling Babel.\n    Error.stackTraceLimit = 25;\n  }\n\n  let err;\n  if (version.startsWith(\"7.\")) {\n    err = new Error(\n      `Requires Babel \"^7.0.0-beta.41\", but was loaded with \"${version}\". ` +\n        `You'll need to update your @babel/core version.`,\n    );\n  } else {\n    err = new Error(\n      `Requires Babel \"${range}\", but was loaded with \"${version}\". ` +\n        `If you are sure you have a compatible version of @babel/core, ` +\n        `it is likely that something in your build process is loading the ` +\n        `wrong version. Inspect the stack trace of this error to look for ` +\n        `the first entry that doesn't mention \"@babel/core\" or \"babel-core\" ` +\n        `to see what is calling Babel.`,\n    );\n  }\n\n  if (typeof limit === \"number\") {\n    Error.stackTraceLimit = limit;\n  }\n\n  throw Object.assign(err, {\n    code: \"BABEL_VERSION_UNSUPPORTED\",\n    version,\n    range,\n  } as any);\n}\n"],"mappings":"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","ignoreList":[]}
Index: frontend/node_modules/@babel/helper-plugin-utils/package.json
===================================================================
--- frontend/node_modules/@babel/helper-plugin-utils/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/@babel/helper-plugin-utils/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,24 @@
+{
+  "name": "@babel/helper-plugin-utils",
+  "version": "7.28.6",
+  "description": "General utilities for plugins to use",
+  "author": "The Babel Team (https://babel.dev/team)",
+  "homepage": "https://babel.dev/docs/en/next/babel-helper-plugin-utils",
+  "license": "MIT",
+  "publishConfig": {
+    "access": "public"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/babel/babel.git",
+    "directory": "packages/babel-helper-plugin-utils"
+  },
+  "main": "./lib/index.js",
+  "engines": {
+    "node": ">=6.9.0"
+  },
+  "devDependencies": {
+    "@babel/core": "^7.28.6"
+  },
+  "type": "commonjs"
+}
