diff --git a/.github/workflows/build-terre.yml b/.github/workflows/build-terre.yml index 1e83e9b14..58190379d 100644 --- a/.github/workflows/build-terre.yml +++ b/.github/workflows/build-terre.yml @@ -15,7 +15,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build env: @@ -35,7 +35,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build Stage 1 run: | @@ -117,14 +117,14 @@ jobs: path: release build-mac: name: Build MacOS Binary - runs-on: macos-latest + runs-on: macos-14 steps: - name: Checkout uses: actions/checkout@v4 - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build env: @@ -144,7 +144,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build shell: bash @@ -163,7 +163,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build shell: bash diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 9383ce0b0..db7004332 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -17,7 +17,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build env: @@ -37,7 +37,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build Stage 1 run: | @@ -119,14 +119,14 @@ jobs: path: release build-mac: name: Build MacOS Binary - runs-on: macos-latest + runs-on: macos-14 steps: - name: Checkout uses: actions/checkout@v4 - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build env: @@ -146,7 +146,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build shell: bash @@ -165,7 +165,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build shell: bash diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a7f282045..6ae1e9647 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build env: @@ -39,7 +39,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build Stage 1 run: | @@ -124,14 +124,14 @@ jobs: path: WebGAL_Terre_Linux_Arm64.zip build-mac: name: Build MacOS Binary - runs-on: macos-latest + runs-on: macos-14 steps: - name: Checkout uses: actions/checkout@v4 - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build env: @@ -153,7 +153,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build shell: bash @@ -174,7 +174,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 18 cache: 'yarn' - name: Build shell: bash diff --git a/.gitignore b/.gitignore index 645dc81fa..4839e10a8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,10 @@ bundle yarn.lock package-lock.json .DS_Store -terre-electron \ No newline at end of file +terre-electron +packages/origine2/src/locales/en.js +packages/origine2/src/locales/ja.js +packages/origine2/src/locales/zhCn.js +packages/origine2/src/locales/en.ts +packages/origine2/src/locales/ja.ts +packages/origine2/src/locales/zhCn.ts diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 44fbadec9..000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "editor.formatOnSave": false, -} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 060d3079f..47c832518 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "webgal-terre", - "version": "4.4.7", + "version": "4.4.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "webgal-terre", - "version": "4.4.7", + "version": "4.4.9", "devDependencies": { "concurrently": "^7.2.2", "iconv-lite": "^0.6.3" @@ -898,6 +898,11 @@ "node": ">=0.1.90" } }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, "node_modules/@esbuild/android-arm": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", @@ -1325,174 +1330,2149 @@ "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.40.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@exodus/schemasafe": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", + "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==", + "dev": true + }, + "node_modules/@floating-ui/core": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.3.tgz", + "integrity": "sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q==", + "dependencies": { + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/devtools": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@floating-ui/devtools/-/devtools-0.0.4.tgz", + "integrity": "sha512-lSlvB45PgGS+YmGtOPseYBLwa+u+wPsZ+g/bT5kgzK2zLAKR5m9L5hS3b/OFZhrFWwehRf73RRSZ/WXg4r5WMw==", + "peerDependencies": { + "@floating-ui/dom": ">=1.5.4" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.4.tgz", + "integrity": "sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ==", + "dependencies": { + "@floating-ui/core": "^1.5.3", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + }, + "node_modules/@fluentui/date-time-utilities": { + "version": "8.5.10", + "license": "MIT", + "dependencies": { + "@fluentui/set-version": "^8.2.9", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/dom-utilities": { + "version": "2.2.9", + "license": "MIT", + "dependencies": { + "@fluentui/set-version": "^8.2.9", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/font-icons-mdl2": { + "version": "8.5.17", + "license": "MIT", + "dependencies": { + "@fluentui/set-version": "^8.2.9", + "@fluentui/style-utilities": "^8.9.10", + "@fluentui/utilities": "^8.13.13", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/foundation-legacy": { + "version": "8.2.37", + "license": "MIT", + "dependencies": { + "@fluentui/merge-styles": "^8.5.10", + "@fluentui/set-version": "^8.2.9", + "@fluentui/style-utilities": "^8.9.10", + "@fluentui/utilities": "^8.13.13", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <19.0.0", + "react": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@fluentui/keyboard-key": { + "version": "0.4.9", + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/keyboard-keys": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-keys/-/keyboard-keys-9.0.7.tgz", + "integrity": "sha512-vaQ+lOveQTdoXJYqDQXWb30udSfTVcIuKk1rV0X0eGAgcHeSDeP1HxMy+OgHOQZH3OiBH4ZYeWxb+tmfiDiygQ==", + "dependencies": { + "@swc/helpers": "^0.5.1" + } + }, + "node_modules/@fluentui/keyboard-keys/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/merge-styles": { + "version": "8.5.10", + "license": "MIT", + "dependencies": { + "@fluentui/set-version": "^8.2.9", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/priority-overflow": { + "version": "9.1.11", + "resolved": "https://registry.npmjs.org/@fluentui/priority-overflow/-/priority-overflow-9.1.11.tgz", + "integrity": "sha512-sdrpavvKX2kepQ1d6IaI3ObLq5SAQBPRHPGx2+wiMWL7cEx9vGGM0fmeicl3soqqmM5uwCmWnZk9QZv9XOY98w==", + "dependencies": { + "@swc/helpers": "^0.5.1" + } + }, + "node_modules/@fluentui/priority-overflow/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react": { + "version": "8.109.3", + "license": "MIT", + "dependencies": { + "@fluentui/date-time-utilities": "^8.5.10", + "@fluentui/font-icons-mdl2": "^8.5.17", + "@fluentui/foundation-legacy": "^8.2.37", + "@fluentui/merge-styles": "^8.5.10", + "@fluentui/react-focus": "^8.8.23", + "@fluentui/react-hooks": "^8.6.24", + "@fluentui/react-portal-compat-context": "^9.0.5", + "@fluentui/react-window-provider": "^2.2.13", + "@fluentui/set-version": "^8.2.9", + "@fluentui/style-utilities": "^8.9.10", + "@fluentui/theme": "^2.6.29", + "@fluentui/utilities": "^8.13.13", + "@microsoft/load-themed-styles": "^1.10.26", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <19.0.0", + "@types/react-dom": ">=16.8.0 <19.0.0", + "react": ">=16.8.0 <19.0.0", + "react-dom": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-alert": { + "version": "9.0.0-beta.100", + "resolved": "https://registry.npmjs.org/@fluentui/react-alert/-/react-alert-9.0.0-beta.100.tgz", + "integrity": "sha512-IPzC2ub+V7nSoBXGsCiEcGYIp9bcz/DpyAcyXKGo+Ql/+etx+r7TkXbWWl8+rRSGXs5zS6u6oGSIDfXNRto1Sg==", + "dependencies": { + "@fluentui/react-avatar": "^9.6.5", + "@fluentui/react-button": "^9.3.61", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-alert/node_modules/@fluentui/react-avatar": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.6.5.tgz", + "integrity": "sha512-1ncFDXrAhvFD/AB7hSbjvq3HCjEo5AvTVy+wKD1g/FFuFV60AcJiM8acXzTJMBPxQi7DTdcIG31Hm0I63AeFVg==", + "dependencies": { + "@fluentui/react-badge": "^9.2.19", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-popover": "^9.8.29", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-tooltip": "^9.4.7", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-alert/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", + "dependencies": { + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-alert/node_modules/@fluentui/react-popover": { + "version": "9.8.29", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.29.tgz", + "integrity": "sha512-75s049Rwyx4nItD7qq8tg1Rh5euRcTwq4kyHyZ7M1lelvEwH4JeS73qsoLWSqz4K3MXQP5RVcOK0mSQM9e3O3w==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-alert/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-alert/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@fluentui/react-aria": { + "version": "9.6.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-aria/-/react-aria-9.6.2.tgz", + "integrity": "sha512-DMM4l5fMfg7yltqM33TFlEJlua7eAqIdLnKtnQ4szezbG2QZOy+a+qmJOGNcScteuO1/kRfYC+WOXhxtnMeA7g==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-aria/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-badge": { + "version": "9.2.19", + "resolved": "https://registry.npmjs.org/@fluentui/react-badge/-/react-badge-9.2.19.tgz", + "integrity": "sha512-6HjUNeNV1KkSTuft+8YtPd5tfbJKJA5g0HO/8+M7h803cr0zhyyokPOZuKM/tH5r9VCWa+gPoyaHRZUiWyHqIA==", + "dependencies": { + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-badge/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-breadcrumb": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-breadcrumb/-/react-breadcrumb-9.0.7.tgz", + "integrity": "sha512-/Kmp8CJxpW7ymTHAhSi9e09btPRhZG//oaSP6AGtTR5/0A8N1Kd+rDfmlvTleRWDn8+MMth+azt+amRaenNouQ==", + "dependencies": { + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-button": "^9.3.61", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-link": "^9.2.4", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-breadcrumb/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-button": { + "version": "9.3.61", + "resolved": "https://registry.npmjs.org/@fluentui/react-button/-/react-button-9.3.61.tgz", + "integrity": "sha512-QYNZj6CxCbOJ0wKwhDx2QaAW4udS+vw4hlLcUUHZGnksYXrJt9vhKcflokShLpOKQikD9cPn+T8b5QzFGy2Skw==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-button/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-card": { + "version": "9.0.60", + "resolved": "https://registry.npmjs.org/@fluentui/react-card/-/react-card-9.0.60.tgz", + "integrity": "sha512-ykohMAPtGor2RXZJeQFjwitVhhu03cq6I79WTgHnQIQvwyZ9RiHHYJ8QKsQzDpdyleSqOcUA6O6yk3oiVKVjNw==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-card/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-checkbox": { + "version": "9.2.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-checkbox/-/react-checkbox-9.2.5.tgz", + "integrity": "sha512-lfodSwu83BeDPaZRHNftqWmIrv8m9SeHdOODuAp1VPDWUCNtZkajZZaHXv77RQRKsF/O4Q60bOy0QtTsRkTqzg==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-checkbox/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-dialog": { + "version": "9.9.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-dialog/-/react-dialog-9.9.3.tgz", + "integrity": "sha512-WAQgrbt/I1X0XcLDnMt+qmAx30E3Ol/auJhACLhilkht/uQ6xoeWOjRGBY2k6yMA32QpLqdGbV4UA4EcLLBuSg==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1", + "react-transition-group": "^4.4.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-dialog/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", + "dependencies": { + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-dialog/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-dialog/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@fluentui/react-divider": { + "version": "9.2.55", + "resolved": "https://registry.npmjs.org/@fluentui/react-divider/-/react-divider-9.2.55.tgz", + "integrity": "sha512-WbV5nDhqe+2JXq4Igv7eZHrAB4v+CbICGhJ+sY86uHd9872hjBr9cHUSpBnY8yeffXc/PSmjF+i1NcmCOyHUyg==", + "dependencies": { + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-divider/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-drawer": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-drawer/-/react-drawer-9.0.7.tgz", + "integrity": "sha512-XKG5m+vFQvBl92R9O6LQOUMPSOqzh1KsR3iZQehfhcticEuShi0uIK9ys0/atYJ890ErWjuXPF7cJHvNU5IYXg==", + "dependencies": { + "@fluentui/react-dialog": "^9.9.3", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-motion-preview": "^0.5.7", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-drawer/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-field": { + "version": "9.1.47", + "resolved": "https://registry.npmjs.org/@fluentui/react-field/-/react-field-9.1.47.tgz", + "integrity": "sha512-FXVjdHkhEVr8bRKoKoZRFvrW5ZAU3ZRq4EUxMvZDOxfeVx0cxo8qIG2BOp2xe4GrVXyfVtq0Fguqx58ttlG5sg==", + "dependencies": { + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-field/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", + "dependencies": { + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-field/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-field/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@fluentui/react-focus": { + "version": "8.8.23", + "license": "MIT", + "dependencies": { + "@fluentui/keyboard-key": "^0.4.9", + "@fluentui/merge-styles": "^8.5.10", + "@fluentui/set-version": "^8.2.9", + "@fluentui/style-utilities": "^8.9.10", + "@fluentui/utilities": "^8.13.13", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <19.0.0", + "react": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-hooks": { + "version": "8.6.24", + "license": "MIT", + "dependencies": { + "@fluentui/react-window-provider": "^2.2.13", + "@fluentui/set-version": "^8.2.9", + "@fluentui/utilities": "^8.13.13", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <19.0.0", + "react": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-icon-provider": { + "version": "1.3.38", + "license": "MIT", + "dependencies": { + "@fluentui/set-version": "^8.2.9", + "@fluentui/style-utilities": "^8.9.10", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <19.0.0", + "@types/react-dom": ">=16.8.0 <19.0.0", + "react": ">=16.8.0 <19.0.0", + "react-dom": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-icons": { + "version": "2.0.224", + "resolved": "https://registry.npmjs.org/@fluentui/react-icons/-/react-icons-2.0.224.tgz", + "integrity": "sha512-ld03dlc1pG7xeTQsK1y5in19jkMtWHNaoktFv+e7NV2xmrgV/SgPyyjEXbMrQHb8Naea/XCoCpNHnUNCy68akw==", + "dependencies": { + "@griffel/react": "^1.0.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "react": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-icons-mdl2": { + "version": "1.3.41", + "license": "MIT", + "dependencies": { + "@fluentui/react-icon-provider": "^1.3.38", + "@fluentui/set-version": "^8.2.9", + "@fluentui/utilities": "^8.13.13", + "@microsoft/load-themed-styles": "^1.10.26", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "react": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-image": { + "version": "9.1.52", + "resolved": "https://registry.npmjs.org/@fluentui/react-image/-/react-image-9.1.52.tgz", + "integrity": "sha512-gKlf1LJXAgvyUrYlskxk58ZHMF05v0tk21G9HMWczEiivThgigsrwIRtGC2jJI66Op8c5VLdZ8/wrNK5s43k2Q==", + "dependencies": { + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-image/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-infobutton": { + "version": "9.0.0-beta.84", + "resolved": "https://registry.npmjs.org/@fluentui/react-infobutton/-/react-infobutton-9.0.0-beta.84.tgz", + "integrity": "sha512-CFOrgLp5cKMKNjtUss8hxcyYP0KLvKrp2l9BbDeK9nTL/leNjyYL0gt+5tWiVgfwZ4eQ4iqowwUTH1UWZYnUHQ==", + "dependencies": { + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-popover": "^9.8.29", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-infobutton/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", + "dependencies": { + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-infobutton/node_modules/@fluentui/react-popover": { + "version": "9.8.29", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.29.tgz", + "integrity": "sha512-75s049Rwyx4nItD7qq8tg1Rh5euRcTwq4kyHyZ7M1lelvEwH4JeS73qsoLWSqz4K3MXQP5RVcOK0mSQM9e3O3w==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-infobutton/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-infobutton/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@fluentui/react-infolabel": { + "version": "9.0.12", + "resolved": "https://registry.npmjs.org/@fluentui/react-infolabel/-/react-infolabel-9.0.12.tgz", + "integrity": "sha512-BFZVK0DizCy4t/8WLDxaF5xwf6WGb1uR9mkUmfjhtHtu4mzI1fk1EVLC5r3uBOA/nGQM0P4hMNW8EH7XOiz+lQ==", + "dependencies": { + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-popover": "^9.8.29", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <19.0.0", + "@types/react-dom": ">=16.8.0 <19.0.0", + "react": ">=16.8.0 <19.0.0", + "react-dom": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-infolabel/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", + "dependencies": { + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-infolabel/node_modules/@fluentui/react-popover": { + "version": "9.8.29", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.29.tgz", + "integrity": "sha512-75s049Rwyx4nItD7qq8tg1Rh5euRcTwq4kyHyZ7M1lelvEwH4JeS73qsoLWSqz4K3MXQP5RVcOK0mSQM9e3O3w==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-infolabel/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-infolabel/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@fluentui/react-input": { + "version": "9.4.57", + "resolved": "https://registry.npmjs.org/@fluentui/react-input/-/react-input-9.4.57.tgz", + "integrity": "sha512-zWcUzHQitMR6etKn2b0BvqjSiZxyX3LQ5XEdG2VW2QyXyF/sa+NTEOxiyqSo9Gk4wS3TO0WQb/3cPyMiubSWYQ==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-input/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-jsx-runtime": { + "version": "9.0.24", + "resolved": "https://registry.npmjs.org/@fluentui/react-jsx-runtime/-/react-jsx-runtime-9.0.24.tgz", + "integrity": "sha512-aWnu04Cfz7RmRYuL/ra2V5vfH0KVjP6dBAy6I+MntxY4m9QwyJ3cS0Z/CzqmexW57w2VjR8+J5uNGATSlwcuuw==", + "dependencies": { + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1", + "react-is": "^17.0.2" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-jsx-runtime/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-label": { + "version": "9.1.55", + "resolved": "https://registry.npmjs.org/@fluentui/react-label/-/react-label-9.1.55.tgz", + "integrity": "sha512-lgWsw0F0g8qa5lHITvWbJpEinvhr5iMlX8/O73ynn2N4tt1Ltqx9HPld/J5E40s3KUZQCgYgTwCu3bw3/AbT5w==", + "dependencies": { + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-label/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-link": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@fluentui/react-link/-/react-link-9.2.4.tgz", + "integrity": "sha512-zO/DONs1ay5B2VfYH6pfZVsjSanKmMI1S0HqSk7pdGtkp8XhwRFl+G3Xm+v9J4aKfvakJEMemTCRNcHiuCwwsA==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-link/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-message-bar": { + "version": "9.0.12", + "resolved": "https://registry.npmjs.org/@fluentui/react-message-bar/-/react-message-bar-9.0.12.tgz", + "integrity": "sha512-/ysREhZ0CckNukrRr5S6SNdXJBJWxNlJoYuzYLFxiRV9xj05+EXpuoKxsQwaG5LMkl5I+x+tf3WuPBKJs9FcXA==", + "dependencies": { + "@fluentui/react-button": "^9.3.61", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1", + "react-transition-group": "^4.4.1" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <19.0.0", + "@types/react-dom": ">=16.8.0 <19.0.0", + "react": ">=16.8.0 <19.0.0", + "react-dom": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-message-bar/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-motion-preview": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-motion-preview/-/react-motion-preview-0.5.7.tgz", + "integrity": "sha512-RODcicznqfrMzHTwrs62JCOi9S+vS/W1VOJ/KQFS7SLh7DgyZuNRz6mqZwbZMy3xHibli4qITMnLrwOzBg7Lhg==", + "dependencies": { + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-motion-preview/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-persona": { + "version": "9.2.64", + "resolved": "https://registry.npmjs.org/@fluentui/react-persona/-/react-persona-9.2.64.tgz", + "integrity": "sha512-6ENXr555XzNyP1SeYwAKIAAicLupw44Dxq8IZpR9A8Bk0VT9ShwVKu9d6pD7YLf3GmZDaxJd5JLAmRsBs1q/Gw==", + "dependencies": { + "@fluentui/react-avatar": "^9.6.5", + "@fluentui/react-badge": "^9.2.19", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-persona/node_modules/@fluentui/react-avatar": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.6.5.tgz", + "integrity": "sha512-1ncFDXrAhvFD/AB7hSbjvq3HCjEo5AvTVy+wKD1g/FFuFV60AcJiM8acXzTJMBPxQi7DTdcIG31Hm0I63AeFVg==", + "dependencies": { + "@fluentui/react-badge": "^9.2.19", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-popover": "^9.8.29", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-tooltip": "^9.4.7", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-persona/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", + "dependencies": { + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-persona/node_modules/@fluentui/react-popover": { + "version": "9.8.29", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.29.tgz", + "integrity": "sha512-75s049Rwyx4nItD7qq8tg1Rh5euRcTwq4kyHyZ7M1lelvEwH4JeS73qsoLWSqz4K3MXQP5RVcOK0mSQM9e3O3w==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-persona/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-persona/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@fluentui/react-portal": { + "version": "9.4.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-portal/-/react-portal-9.4.7.tgz", + "integrity": "sha512-4g0vvs+YKmBri24MBi+C3hkgKAEGhbNUi4+u1Oa0olrcGmbtugM0G910raDLJXLV2ssgSO8znzVRmA/4Lg7XYw==", + "dependencies": { + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1", + "use-disposable": "^1.0.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-portal-compat-context": { + "version": "9.0.5", + "license": "MIT", + "dependencies": { + "@swc/helpers": "^0.4.14" + }, + "peerDependencies": { + "@types/react": ">=16.8.0 <19.0.0", + "react": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-portal/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-positioning": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-positioning/-/react-positioning-9.12.0.tgz", + "integrity": "sha512-Unf9oMqE9QCf/+RTCs5Xk7z8XpxupYtIXVplUWUM3qyeHmtlEy4BsBAUQE0bXl6B52sl92JvevgrYI0IMuoADg==", + "dependencies": { + "@floating-ui/devtools": "0.0.4", + "@floating-ui/dom": "^1.2.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-positioning/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-progress": { + "version": "9.1.57", + "resolved": "https://registry.npmjs.org/@fluentui/react-progress/-/react-progress-9.1.57.tgz", + "integrity": "sha512-QFBz9A9N4lyshev1b/r7OE5ea7/Q60Tav3zVGbfqVGmfA24qemmoDIYU1qWscuScRBmblR6//fvAroHhiK/FrQ==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-progress/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-provider": { + "version": "9.13.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-provider/-/react-provider-9.13.5.tgz", + "integrity": "sha512-oxpGS8r5YEKHZy2csH9/kCJBgBMVms+HC0hiIA+J3M2iCdN+y1SuP0Y2zAYg/X/jRb1mXJzXtoWchsYvxVLnOQ==", + "dependencies": { + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/core": "^1.14.1", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-provider/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-select": { + "version": "9.1.57", + "resolved": "https://registry.npmjs.org/@fluentui/react-select/-/react-select-9.1.57.tgz", + "integrity": "sha512-QGlK+QYDiAzA6f3imGQBQOq9MQVVa88XyaSKWG82mjZfFWbs6vxaIZMXuCOTAsjcXKB4XDYVYOpman3apdLHjQ==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-select/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-shared-contexts": { + "version": "9.13.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-shared-contexts/-/react-shared-contexts-9.13.2.tgz", + "integrity": "sha512-78aEZdff7vaUOmeRyMDPc/Ml+kbwn02BiRLPQhqgYtCyjy0V3YBpmYfqxO8N5hUIZcFTedyOaHWpzVeEYxpNmA==", + "dependencies": { + "@fluentui/react-theme": "^9.1.16", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-shared-contexts/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-skeleton": { + "version": "9.0.45", + "resolved": "https://registry.npmjs.org/@fluentui/react-skeleton/-/react-skeleton-9.0.45.tgz", + "integrity": "sha512-toOWQNoqONupLImvbkE4vf+ECq1lAyCUBf4hI6AOtYppDaXOOOWWsgSImsj25yLtS4dPYkzyWoMMdmjSOwXu6g==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-skeleton/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-slider": { + "version": "9.1.62", + "resolved": "https://registry.npmjs.org/@fluentui/react-slider/-/react-slider-9.1.62.tgz", + "integrity": "sha512-GHY1J3qpoYY3c1rwQsBRTHISExO1vBSJCH4lDgCJI/E9KOa8saJYFvuv3aYmnOq8CGSb2UCSb0eha5G9UB/4yQ==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-slider/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-spinbutton": { + "version": "9.2.57", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinbutton/-/react-spinbutton-9.2.57.tgz", + "integrity": "sha512-FoYe0iUcEYjlhJtqjciBdQ/4wuQ7iPwpqE/VuGknvWrydXawJ7qI3fx7yP/58R5utbGAz4Rdkkjzc2xhtW/EVg==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-spinbutton/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-spinner": { + "version": "9.3.35", + "resolved": "https://registry.npmjs.org/@fluentui/react-spinner/-/react-spinner-9.3.35.tgz", + "integrity": "sha512-0JXgkVrB4+atN1P44XtuNup6xthg4gyJYPXGS+3x/EB2B0pi55c8IWE/mVjG9F/TBt2PFRb9nCzdrfvkhV/CsA==", + "dependencies": { + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-spinner/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-switch": { + "version": "9.1.62", + "resolved": "https://registry.npmjs.org/@fluentui/react-switch/-/react-switch-9.1.62.tgz", + "integrity": "sha512-L+MzTP3B5eWxw7az62Sf7FGzPhPQoD0CtyR78IHTrgPXQswnoSq9oJRkpVr5LBfND2SE4Y7UvPuUulBJXTlW5g==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-switch/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-table": { + "version": "9.11.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-table/-/react-table-9.11.1.tgz", + "integrity": "sha512-zdmE2U3x/zy8QEAwtAIvLfPtTAg0mCBp7wWBQxuNq9UsPvA+GyMjvrJRiidB/q47ZQn/2Ji4fP1iVXW1B+KGWw==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-avatar": "^9.6.5", + "@fluentui/react-checkbox": "^9.2.5", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-radio": "^9.2.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-table/node_modules/@fluentui/react-avatar": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.6.5.tgz", + "integrity": "sha512-1ncFDXrAhvFD/AB7hSbjvq3HCjEo5AvTVy+wKD1g/FFuFV60AcJiM8acXzTJMBPxQi7DTdcIG31Hm0I63AeFVg==", + "dependencies": { + "@fluentui/react-badge": "^9.2.19", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-popover": "^9.8.29", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-tooltip": "^9.4.7", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-table/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", + "dependencies": { + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-table/node_modules/@fluentui/react-popover": { + "version": "9.8.29", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.29.tgz", + "integrity": "sha512-75s049Rwyx4nItD7qq8tg1Rh5euRcTwq4kyHyZ7M1lelvEwH4JeS73qsoLWSqz4K3MXQP5RVcOK0mSQM9e3O3w==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-table/node_modules/@fluentui/react-radio": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.2.0.tgz", + "integrity": "sha512-TowAnE7aMDq3fxCiouetjs8CN4KogfaarXYep3pXQMW7xRKBfXdOOFElYtQx/WzmikMJpDhhkZcyrqEpM5KGDQ==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-table/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-table/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@fluentui/react-tabster": { + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabster/-/react-tabster-9.17.0.tgz", + "integrity": "sha512-+tFYkjH5QiF2YDCmJAz1FVzzs/09hiRT0xPe1yLlAkMYJV/s+iIungwKgSUF1RziP9iQh9NZZ2A5GMrzRw8SGg==", + "dependencies": { + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1", + "keyborg": "^2.3.0", + "tabster": "^5.0.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-tabster/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-tags": { + "version": "9.0.18", + "resolved": "https://registry.npmjs.org/@fluentui/react-tags/-/react-tags-9.0.18.tgz", + "integrity": "sha512-L46Hx8QM9H37VD5JmzGPBB8RxWfV1uVn+IapFEBVOEUd/Khtb0d5lyBMEyDZmLm3Yph14tOIJv7FeW4lv0fr7Q==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-avatar": "^9.6.5", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-tags/node_modules/@fluentui/react-avatar": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.6.5.tgz", + "integrity": "sha512-1ncFDXrAhvFD/AB7hSbjvq3HCjEo5AvTVy+wKD1g/FFuFV60AcJiM8acXzTJMBPxQi7DTdcIG31Hm0I63AeFVg==", + "dependencies": { + "@fluentui/react-badge": "^9.2.19", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-popover": "^9.8.29", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-tooltip": "^9.4.7", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-tags/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", + "dependencies": { + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-tags/node_modules/@fluentui/react-popover": { + "version": "9.8.29", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.29.tgz", + "integrity": "sha512-75s049Rwyx4nItD7qq8tg1Rh5euRcTwq4kyHyZ7M1lelvEwH4JeS73qsoLWSqz4K3MXQP5RVcOK0mSQM9e3O3w==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-tags/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-tags/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@fluentui/react-text": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@fluentui/react-text/-/react-text-9.4.4.tgz", + "integrity": "sha512-FH/zua+u+T8QK1cDeg4w1Ahdfj+2A3Wd61g9lxU26ZfUzhWxV7F9enwGgiqTF0Swv7WsD1ahwI+FIZA5+WgEsw==", + "dependencies": { + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-text/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-textarea": { + "version": "9.3.57", + "resolved": "https://registry.npmjs.org/@fluentui/react-textarea/-/react-textarea-9.3.57.tgz", + "integrity": "sha512-E26jQ1s7/QLkJjTw72BQHfKtXP8PyNsfPSfWbwhmm5doe0HLa1V5+Gq1ZkdQiV78Q5Rl0bGKXrdR2Ccy/fBL/g==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" } }, - "node_modules/@eslint/js": { - "version": "8.40.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node_modules/@fluentui/react-textarea/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/@exodus/schemasafe": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", - "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==", - "dev": true + "node_modules/@fluentui/react-theme": { + "version": "9.1.16", + "resolved": "https://registry.npmjs.org/@fluentui/react-theme/-/react-theme-9.1.16.tgz", + "integrity": "sha512-QK2dGE5aQXN1UGdiEmGKpYGP3tHXIchLvFf8DEEOWnF4XBc9SiEPNFYkvLMJjHxZmDz4D670rsOPe0r5jFDEKQ==", + "dependencies": { + "@fluentui/tokens": "1.0.0-alpha.13", + "@swc/helpers": "^0.5.1" + } }, - "node_modules/@fluentui/date-time-utilities": { - "version": "8.5.10", - "license": "MIT", + "node_modules/@fluentui/react-theme/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", "dependencies": { - "@fluentui/set-version": "^8.2.9", - "tslib": "^2.1.0" + "tslib": "^2.4.0" } }, - "node_modules/@fluentui/dom-utilities": { - "version": "2.2.9", - "license": "MIT", + "node_modules/@fluentui/react-toast": { + "version": "9.3.23", + "resolved": "https://registry.npmjs.org/@fluentui/react-toast/-/react-toast-9.3.23.tgz", + "integrity": "sha512-PJClzPYWmq303SoaNuPwgF0Drbn0pGrzqA6x8J3NgCx7F4c8n5SB34jxKtKlFAB5EiAk1y+v1om7Z6/v+3Zehg==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1", + "react-transition-group": "^4.4.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-toast/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", "dependencies": { - "@fluentui/set-version": "^8.2.9", - "tslib": "^2.1.0" + "tslib": "^2.4.0" } }, - "node_modules/@fluentui/font-icons-mdl2": { - "version": "8.5.17", - "license": "MIT", + "node_modules/@fluentui/react-toolbar": { + "version": "9.1.62", + "resolved": "https://registry.npmjs.org/@fluentui/react-toolbar/-/react-toolbar-9.1.62.tgz", + "integrity": "sha512-97mlwQsAXn5jYhvyUUU7FrMIwddN5CTQEpoTDOaibcZ1hvZTNyVDyLpvWy7CLjX8CPvde/jgjf4z+I74zYP0OA==", "dependencies": { - "@fluentui/set-version": "^8.2.9", - "@fluentui/style-utilities": "^8.9.10", - "@fluentui/utilities": "^8.13.13", - "tslib": "^2.1.0" + "@fluentui/react-button": "^9.3.61", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-divider": "^9.2.55", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-radio": "^9.2.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" } }, - "node_modules/@fluentui/foundation-legacy": { - "version": "8.2.37", - "license": "MIT", + "node_modules/@fluentui/react-toolbar/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", "dependencies": { - "@fluentui/merge-styles": "^8.5.10", - "@fluentui/set-version": "^8.2.9", - "@fluentui/style-utilities": "^8.9.10", - "@fluentui/utilities": "^8.13.13", - "tslib": "^2.1.0" + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" }, "peerDependencies": { - "@types/react": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0" + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-toolbar/node_modules/@fluentui/react-radio": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.2.0.tgz", + "integrity": "sha512-TowAnE7aMDq3fxCiouetjs8CN4KogfaarXYep3pXQMW7xRKBfXdOOFElYtQx/WzmikMJpDhhkZcyrqEpM5KGDQ==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" } }, - "node_modules/@fluentui/keyboard-key": { - "version": "0.4.9", - "license": "MIT", + "node_modules/@fluentui/react-toolbar/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", "dependencies": { - "tslib": "^2.1.0" + "tslib": "^2.4.0" } }, - "node_modules/@fluentui/merge-styles": { - "version": "8.5.10", - "license": "MIT", + "node_modules/@fluentui/react-toolbar/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, "dependencies": { - "@fluentui/set-version": "^8.2.9", - "tslib": "^2.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, - "node_modules/@fluentui/react": { - "version": "8.109.3", - "license": "MIT", + "node_modules/@fluentui/react-tooltip": { + "version": "9.4.7", + "resolved": "https://registry.npmjs.org/@fluentui/react-tooltip/-/react-tooltip-9.4.7.tgz", + "integrity": "sha512-lpDID7AnlkDv7ujqQrRfMhPv5LqGVyVuHwAPyEfQMhcHF+9J50uwuVFsmW40398DhU85+jB9e/TkSJMOKq+BNw==", "dependencies": { - "@fluentui/date-time-utilities": "^8.5.10", - "@fluentui/font-icons-mdl2": "^8.5.17", - "@fluentui/foundation-legacy": "^8.2.37", - "@fluentui/merge-styles": "^8.5.10", - "@fluentui/react-focus": "^8.8.23", - "@fluentui/react-hooks": "^8.6.24", - "@fluentui/react-portal-compat-context": "^9.0.5", - "@fluentui/react-window-provider": "^2.2.13", - "@fluentui/set-version": "^8.2.9", - "@fluentui/style-utilities": "^8.9.10", - "@fluentui/theme": "^2.6.29", - "@fluentui/utilities": "^8.13.13", - "@microsoft/load-themed-styles": "^1.10.26", - "tslib": "^2.1.0" + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" }, "peerDependencies": { - "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" } }, - "node_modules/@fluentui/react-focus": { - "version": "8.8.23", - "license": "MIT", + "node_modules/@fluentui/react-tooltip/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", "dependencies": { - "@fluentui/keyboard-key": "^0.4.9", - "@fluentui/merge-styles": "^8.5.10", - "@fluentui/set-version": "^8.2.9", - "@fluentui/style-utilities": "^8.9.10", - "@fluentui/utilities": "^8.13.13", - "tslib": "^2.1.0" + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-tree": { + "version": "9.4.21", + "resolved": "https://registry.npmjs.org/@fluentui/react-tree/-/react-tree-9.4.21.tgz", + "integrity": "sha512-6o9aVfdkpr5nV7DdqJ1etfcSX6pUHnQDhI7gba4c4cvHOeD3AkMb4fv06w3HUaNPi4G+yOteX+RWiAZAe6R0eQ==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-avatar": "^9.6.5", + "@fluentui/react-button": "^9.3.61", + "@fluentui/react-checkbox": "^9.2.5", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-radio": "^9.2.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" }, "peerDependencies": { - "@types/react": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0" + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-tree/node_modules/@fluentui/react-avatar": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.6.5.tgz", + "integrity": "sha512-1ncFDXrAhvFD/AB7hSbjvq3HCjEo5AvTVy+wKD1g/FFuFV60AcJiM8acXzTJMBPxQi7DTdcIG31Hm0I63AeFVg==", + "dependencies": { + "@fluentui/react-badge": "^9.2.19", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-popover": "^9.8.29", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-tooltip": "^9.4.7", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" } }, - "node_modules/@fluentui/react-hooks": { - "version": "8.6.24", - "license": "MIT", + "node_modules/@fluentui/react-tree/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", "dependencies": { - "@fluentui/react-window-provider": "^2.2.13", - "@fluentui/set-version": "^8.2.9", - "@fluentui/utilities": "^8.13.13", - "tslib": "^2.1.0" + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" }, "peerDependencies": { - "@types/react": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0" + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-tree/node_modules/@fluentui/react-popover": { + "version": "9.8.29", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.29.tgz", + "integrity": "sha512-75s049Rwyx4nItD7qq8tg1Rh5euRcTwq4kyHyZ7M1lelvEwH4JeS73qsoLWSqz4K3MXQP5RVcOK0mSQM9e3O3w==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "node_modules/@fluentui/react-tree/node_modules/@fluentui/react-radio": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.2.0.tgz", + "integrity": "sha512-TowAnE7aMDq3fxCiouetjs8CN4KogfaarXYep3pXQMW7xRKBfXdOOFElYtQx/WzmikMJpDhhkZcyrqEpM5KGDQ==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" } }, - "node_modules/@fluentui/react-icon-provider": { - "version": "1.3.38", - "license": "MIT", + "node_modules/@fluentui/react-tree/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", "dependencies": { - "@fluentui/set-version": "^8.2.9", - "@fluentui/style-utilities": "^8.9.10", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@types/react": ">=16.8.0 <19.0.0", - "@types/react-dom": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0", - "react-dom": ">=16.8.0 <19.0.0" + "tslib": "^2.4.0" } }, - "node_modules/@fluentui/react-icons-mdl2": { - "version": "1.3.41", - "license": "MIT", + "node_modules/@fluentui/react-tree/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, "dependencies": { - "@fluentui/react-icon-provider": "^1.3.38", - "@fluentui/set-version": "^8.2.9", - "@fluentui/utilities": "^8.13.13", - "@microsoft/load-themed-styles": "^1.10.26", - "tslib": "^2.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@fluentui/react-utilities": { + "version": "9.15.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-utilities/-/react-utilities-9.15.6.tgz", + "integrity": "sha512-Hli0iiA/gaWwADMe7NRD6TSy7KvL3bgek8j1sYkE9BiUI89GqyfJwU2Tm0it04iiCYvQ5WWrXPcRYyZ3/MHtpA==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-shared-contexts": "^9.13.2", + "@swc/helpers": "^0.5.1" }, "peerDependencies": { - "react": ">=16.8.0 <19.0.0" + "@types/react": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0" } }, - "node_modules/@fluentui/react-portal-compat-context": { - "version": "9.0.5", - "license": "MIT", + "node_modules/@fluentui/react-utilities/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", "dependencies": { - "@swc/helpers": "^0.4.14" + "tslib": "^2.4.0" + } + }, + "node_modules/@fluentui/react-virtualizer": { + "version": "9.0.0-alpha.63", + "resolved": "https://registry.npmjs.org/@fluentui/react-virtualizer/-/react-virtualizer-9.0.0-alpha.63.tgz", + "integrity": "sha512-Uddb1bIayzXwSEJg90ybNUa1NE84aOCFRKAf1E2by7mSQupyOk3NjrVSpm3O78vUdPyjJN+COZlTsEFE3EBbIg==", + "dependencies": { + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" }, "peerDependencies": { - "@types/react": ">=16.8.0 <19.0.0", - "react": ">=16.8.0 <19.0.0" + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0" + } + }, + "node_modules/@fluentui/react-virtualizer/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" } }, "node_modules/@fluentui/react-window-provider": { @@ -1540,6 +3520,22 @@ "react": ">=16.8.0 <19.0.0" } }, + "node_modules/@fluentui/tokens": { + "version": "1.0.0-alpha.13", + "resolved": "https://registry.npmjs.org/@fluentui/tokens/-/tokens-1.0.0-alpha.13.tgz", + "integrity": "sha512-IzYysTTBkAH7tQZxYKpzhxYnTJkvwXhjhTOpmERgnqTFifHTP8/vaQjJAAm7dI/9zlDx1oN+y/I+KzL9bDLHZQ==", + "dependencies": { + "@swc/helpers": "^0.5.1" + } + }, + "node_modules/@fluentui/tokens/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@fluentui/utilities": { "version": "8.13.13", "license": "MIT", @@ -1554,6 +3550,39 @@ "react": ">=16.8.0 <19.0.0" } }, + "node_modules/@griffel/core": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@griffel/core/-/core-1.15.1.tgz", + "integrity": "sha512-09w5axbOJuBzjTVFN5EycbAOIpCoxZeoJMZgT2fTrIl2GIxnTWpK3F2d63UzGBmQf1O+EgR6nK4FgMXFt1UFig==", + "dependencies": { + "@emotion/hash": "^0.9.0", + "@griffel/style-types": "^1.0.2", + "csstype": "^3.1.2", + "rtl-css-js": "^1.16.1", + "stylis": "^4.2.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@griffel/react": { + "version": "1.5.19", + "resolved": "https://registry.npmjs.org/@griffel/react/-/react-1.5.19.tgz", + "integrity": "sha512-qefnZseAwcwCpFVzN33mG20t/hofpWci7VNtOwzSco/IxFLuJaB2ffki+uAdUgWCpV2A67bWQjXNlymBoMUysg==", + "dependencies": { + "@griffel/core": "^1.15.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "react": ">=16.8.0 <19.0.0" + } + }, + "node_modules/@griffel/style-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@griffel/style-types/-/style-types-1.0.2.tgz", + "integrity": "sha512-ka/Tpl1WU8js88LObwB/4EvpgXzx/EEJfbHhAr4ZNt29hrQKgL93X1zSY6M/FRhMhWrGIawauWkZP6/y6w/WiQ==", + "dependencies": { + "csstype": "^3.1.2" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "dev": true, @@ -6407,16 +8436,15 @@ "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], - "license": "MIT", "engines": { "node": ">=4.0" }, @@ -8885,6 +10913,11 @@ "node": ">=4.0" } }, + "node_modules/keyborg": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/keyborg/-/keyborg-2.4.0.tgz", + "integrity": "sha512-EixFnyCc6m27NkFwyT5GNNQl+9wiTMePtAvVuKXZpc0CZLLJfJFB3zXGFBGnwtvEXymbJoPWoErzwTpiEQ+Msg==" + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -11362,6 +13395,14 @@ "fsevents": "~2.3.2" } }, + "node_modules/rtl-css-js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.16.1.tgz", + "integrity": "sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + } + }, "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -12144,6 +14185,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/stylis": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz", + "integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==" + }, "node_modules/superagent": { "version": "8.0.9", "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz", @@ -12441,6 +14487,15 @@ "node": ">=0.10" } }, + "node_modules/tabster": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/tabster/-/tabster-5.2.0.tgz", + "integrity": "sha512-cSi3a0gGeM9Co/gTKHlhTFfiitwVjcA+kP9lJux0U7QaRrZox1yYrfbwZhJXM7N0fux7BgvCYaOxME5k0EQ0tA==", + "dependencies": { + "keyborg": "^2.2.0", + "tslib": "^2.3.1" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -13051,6 +15106,17 @@ "punycode": "^2.1.0" } }, + "node_modules/use-disposable": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/use-disposable/-/use-disposable-1.0.2.tgz", + "integrity": "sha512-UMaXVlV77dWOu4GqAFNjRzHzowYKUKbJBQfCexvahrYeIz4OkUYUjna4Tjjdf92NH8Nm8J7wEfFRgTIwYjO5jg==", + "peerDependencies": { + "@types/react": ">=16.8.0 <19.0.0", + "@types/react-dom": ">=16.8.0 <19.0.0", + "react": ">=16.8.0 <19.0.0", + "react-dom": ">=16.8.0 <19.0.0" + } + }, "node_modules/use-memo-one": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/use-memo-one/-/use-memo-one-1.1.3.tgz", @@ -13641,10 +15707,12 @@ }, "packages/origine2": { "name": "webgal-origine-2", - "version": "4.4.8", + "version": "4.4.9", "license": "MPL-2.0", "dependencies": { "@fluentui/react": "^8.77.3", + "@fluentui/react-components": "^9.44.1", + "@fluentui/react-icons": "^2.0.224", "@fluentui/react-icons-mdl2": "^1.3.41", "@icon-park/react": "^1.4.2", "@monaco-editor/react": "^4.4.5", @@ -13690,9 +15758,302 @@ "vite": "^4.4.9" } }, + "packages/origine2/node_modules/@fluentui/react-accordion": { + "version": "9.3.34", + "resolved": "https://registry.npmjs.org/@fluentui/react-accordion/-/react-accordion-9.3.34.tgz", + "integrity": "sha512-kg6qUmDKFi2hY/HAcRIPpeXafOySHJcU5TguOoX1NCDfd0k9hj6facCD+b3uPt6HXBEALETAg0udcu+qNuSyPQ==", + "dependencies": { + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "packages/origine2/node_modules/@fluentui/react-avatar": { + "version": "9.6.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-avatar/-/react-avatar-9.6.5.tgz", + "integrity": "sha512-1ncFDXrAhvFD/AB7hSbjvq3HCjEo5AvTVy+wKD1g/FFuFV60AcJiM8acXzTJMBPxQi7DTdcIG31Hm0I63AeFVg==", + "dependencies": { + "@fluentui/react-badge": "^9.2.19", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-popover": "^9.8.29", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-tooltip": "^9.4.7", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "packages/origine2/node_modules/@fluentui/react-combobox": { + "version": "9.5.39", + "resolved": "https://registry.npmjs.org/@fluentui/react-combobox/-/react-combobox-9.5.39.tgz", + "integrity": "sha512-opNvz8mXC23oloBoaw6uYlm/qWyV1uvfe1l8wtKS9DDXK/2Yp1tC2HWAng+4PX+W4vT8SzRlkQIsqqtFd6hp0w==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "packages/origine2/node_modules/@fluentui/react-components": { + "version": "9.44.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-components/-/react-components-9.44.2.tgz", + "integrity": "sha512-CqcVHn1KZsQjw28QszfcTWiuLgE0mj8RZADTQrsah7UMUVMVgzlyDnrvMO2rzuqChAzNUqTBC8xIiBBrwDAKiw==", + "dependencies": { + "@fluentui/react-accordion": "^9.3.34", + "@fluentui/react-alert": "9.0.0-beta.100", + "@fluentui/react-avatar": "^9.6.5", + "@fluentui/react-badge": "^9.2.19", + "@fluentui/react-breadcrumb": "^9.0.7", + "@fluentui/react-button": "^9.3.61", + "@fluentui/react-card": "^9.0.60", + "@fluentui/react-checkbox": "^9.2.5", + "@fluentui/react-combobox": "^9.5.39", + "@fluentui/react-dialog": "^9.9.3", + "@fluentui/react-divider": "^9.2.55", + "@fluentui/react-drawer": "^9.0.7", + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-image": "^9.1.52", + "@fluentui/react-infobutton": "9.0.0-beta.84", + "@fluentui/react-infolabel": "^9.0.12", + "@fluentui/react-input": "^9.4.57", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-link": "^9.2.4", + "@fluentui/react-menu": "^9.12.41", + "@fluentui/react-message-bar": "^9.0.12", + "@fluentui/react-overflow": "^9.1.5", + "@fluentui/react-persona": "^9.2.64", + "@fluentui/react-popover": "^9.8.29", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-progress": "^9.1.57", + "@fluentui/react-provider": "^9.13.5", + "@fluentui/react-radio": "^9.2.0", + "@fluentui/react-select": "^9.1.57", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-skeleton": "^9.0.45", + "@fluentui/react-slider": "^9.1.62", + "@fluentui/react-spinbutton": "^9.2.57", + "@fluentui/react-spinner": "^9.3.35", + "@fluentui/react-switch": "^9.1.62", + "@fluentui/react-table": "^9.11.1", + "@fluentui/react-tabs": "^9.4.3", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-tags": "^9.0.18", + "@fluentui/react-text": "^9.4.4", + "@fluentui/react-textarea": "^9.3.57", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-toast": "^9.3.23", + "@fluentui/react-toolbar": "^9.1.62", + "@fluentui/react-tooltip": "^9.4.7", + "@fluentui/react-tree": "^9.4.21", + "@fluentui/react-utilities": "^9.15.6", + "@fluentui/react-virtualizer": "9.0.0-alpha.63", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "packages/origine2/node_modules/@fluentui/react-context-selector": { + "version": "9.1.46", + "resolved": "https://registry.npmjs.org/@fluentui/react-context-selector/-/react-context-selector-9.1.46.tgz", + "integrity": "sha512-CDoGob3p9ZRL7AwzrxAjTPHJIjGvdMOfa+oIFL7O6EHATvU/7BQUPcCRPvhfZK4N4jD1w7AJgYwPPgkOqYbHpw==", + "dependencies": { + "@fluentui/react-utilities": "^9.15.6", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "packages/origine2/node_modules/@fluentui/react-menu": { + "version": "9.12.41", + "resolved": "https://registry.npmjs.org/@fluentui/react-menu/-/react-menu-9.12.41.tgz", + "integrity": "sha512-XB4ZWOC1l7pZVgn2xVYohf6Utiz6NCENKfAfvEW7zrVU1kSGgQwkEu/4540fT8q9WMeOGBzi2b7i2QjFf7j0vw==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-icons": "^2.0.224", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "packages/origine2/node_modules/@fluentui/react-overflow": { + "version": "9.1.5", + "resolved": "https://registry.npmjs.org/@fluentui/react-overflow/-/react-overflow-9.1.5.tgz", + "integrity": "sha512-8qdOL8MSnT0UeXRY9gVnzKgMx/LqmStTqGsY+luKDgmXxkzlc2hqx9SLnByry1ljDPVpI1LtOku9U6YZhGeg4g==", + "dependencies": { + "@fluentui/priority-overflow": "^9.1.11", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "packages/origine2/node_modules/@fluentui/react-popover": { + "version": "9.8.29", + "resolved": "https://registry.npmjs.org/@fluentui/react-popover/-/react-popover-9.8.29.tgz", + "integrity": "sha512-75s049Rwyx4nItD7qq8tg1Rh5euRcTwq4kyHyZ7M1lelvEwH4JeS73qsoLWSqz4K3MXQP5RVcOK0mSQM9e3O3w==", + "dependencies": { + "@fluentui/keyboard-keys": "^9.0.7", + "@fluentui/react-aria": "^9.6.2", + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-portal": "^9.4.7", + "@fluentui/react-positioning": "^9.12.0", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "packages/origine2/node_modules/@fluentui/react-radio": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-radio/-/react-radio-9.2.0.tgz", + "integrity": "sha512-TowAnE7aMDq3fxCiouetjs8CN4KogfaarXYep3pXQMW7xRKBfXdOOFElYtQx/WzmikMJpDhhkZcyrqEpM5KGDQ==", + "dependencies": { + "@fluentui/react-field": "^9.1.47", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-label": "^9.1.55", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "packages/origine2/node_modules/@fluentui/react-tabs": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-tabs/-/react-tabs-9.4.3.tgz", + "integrity": "sha512-H/bM6NfA3y81NdOMmCWMhpv4SDAWkxMq8ywx8Pr98pKvkearlIo9EuxFK84YEK0haibgn6OpWSPciVaBLx8dPw==", + "dependencies": { + "@fluentui/react-context-selector": "^9.1.46", + "@fluentui/react-jsx-runtime": "^9.0.24", + "@fluentui/react-shared-contexts": "^9.13.2", + "@fluentui/react-tabster": "^9.17.0", + "@fluentui/react-theme": "^9.1.16", + "@fluentui/react-utilities": "^9.15.6", + "@griffel/react": "^1.5.14", + "@swc/helpers": "^0.5.1" + }, + "peerDependencies": { + "@types/react": ">=16.14.0 <19.0.0", + "@types/react-dom": ">=16.14.0 <19.0.0", + "react": ">=16.14.0 <19.0.0", + "react-dom": ">=16.14.0 <19.0.0", + "scheduler": "^0.19.0 || ^0.20.0" + } + }, + "packages/origine2/node_modules/@swc/helpers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz", + "integrity": "sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "packages/origine2/node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "packages/terre2": { "name": "webgal-terre-2", - "version": "4.4.8", + "version": "4.4.9", "license": "MPL-2.0", "dependencies": { "@nestjs/common": "^9.0.5", diff --git a/package.json b/package.json index c09ab90af..60ba6ad68 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "webgal-terre", - "version": "4.4.13", + "version": "4.5.0", "private": true, "scripts": { "dev": "concurrently \"yarn dev:terre\" \"yarn dev:origine\" \"yarn dev:start-dev-server\"", diff --git a/packages/WebGAL-electron/package.json b/packages/WebGAL-electron/package.json index 57629912c..28bfb2b5e 100644 --- a/packages/WebGAL-electron/package.json +++ b/packages/WebGAL-electron/package.json @@ -13,8 +13,8 @@ "build:arm64": "electron-builder --arm64" }, "devDependencies": { - "electron": "^18.3.7", - "electron-builder": "^23.0.3" + "electron": "^29.0.0", + "electron-builder": "^24.12.0" }, "build": { "productName": "WebGAL", diff --git a/packages/WebGAL-electron/yarn.lock b/packages/WebGAL-electron/yarn.lock index 2d2688d5e..027e108ed 100644 --- a/packages/WebGAL-electron/yarn.lock +++ b/packages/WebGAL-electron/yarn.lock @@ -2,1607 +2,1719 @@ # yarn lockfile v1 +"7zip-bin@~5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.2.0.tgz#7a03314684dd6572b7dfa89e68ce31d60286854d" + integrity sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A== + "@develar/schema-utils@~2.6.5": - "integrity" "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==" - "resolved" "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz" - "version" "2.6.5" - dependencies: - "ajv" "^6.12.0" - "ajv-keywords" "^3.4.1" - -"@electron/get@^1.13.0": - "integrity" "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==" - "resolved" "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz" - "version" "1.14.1" - dependencies: - "debug" "^4.1.1" - "env-paths" "^2.2.0" - "fs-extra" "^8.1.0" - "got" "^9.6.0" - "progress" "^2.0.3" - "semver" "^6.2.0" - "sumchecker" "^3.0.1" + version "2.6.5" + resolved "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz" + integrity sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig== + dependencies: + ajv "^6.12.0" + ajv-keywords "^3.4.1" + +"@electron/asar@^3.2.1": + version "3.2.8" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.8.tgz#2ea722f3452583dbd4ffdcc4b4f5dc903f1d8178" + integrity sha512-cmskk5M06ewHMZAplSiF4AlME3IrnnZhKnWbtwKVLRkdJkKyUVjMLhDIiPIx/+6zQWVlKX/LtmK9xDme7540Sg== + dependencies: + commander "^5.0.0" + glob "^7.1.6" + minimatch "^3.0.4" + +"@electron/get@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-2.0.3.tgz#fba552683d387aebd9f3fcadbcafc8e12ee4f960" + integrity sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ== + dependencies: + debug "^4.1.1" + env-paths "^2.2.0" + fs-extra "^8.1.0" + got "^11.8.5" + progress "^2.0.3" + semver "^6.2.0" + sumchecker "^3.0.1" optionalDependencies: - "global-agent" "^3.0.0" - "global-tunnel-ng" "^2.7.1" - -"@electron/universal@1.2.1": - "integrity" "sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==" - "resolved" "https://registry.npmjs.org/@electron/universal/-/universal-1.2.1.tgz" - "version" "1.2.1" - dependencies: + global-agent "^3.0.0" + +"@electron/notarize@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.1.0.tgz#76aaec10c8687225e8d0a427cc9df67611c46ff3" + integrity sha512-Q02xem1D0sg4v437xHgmBLxI2iz/fc0D4K7fiVWHa/AnW8o7D751xyKNXgziA6HrTOme9ul1JfWN5ark8WH1xA== + dependencies: + debug "^4.1.1" + fs-extra "^9.0.1" + promise-retry "^2.0.1" + +"@electron/osx-sign@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-1.0.5.tgz#0af7149f2fce44d1a8215660fd25a9fb610454d8" + integrity sha512-k9ZzUQtamSoweGQDV2jILiRIHUu7lYlJ3c6IEmjv1hC17rclE+eb9U+f6UFlOOETo0JzY1HNlXy4YOlCvl+Lww== + dependencies: + compare-version "^0.1.2" + debug "^4.3.4" + fs-extra "^10.0.0" + isbinaryfile "^4.0.8" + minimist "^1.2.6" + plist "^3.0.5" + +"@electron/universal@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.4.1.tgz#3fbda2a5ed9ff9f3304c8e8316b94c1e3a7b3785" + integrity sha512-lE/U3UNw1YHuowNbTmKNs9UlS3En3cPgwM5MI+agIgr/B1hSze9NdOP0qn7boZaI9Lph8IDv3/24g9IxnJP7aQ== + dependencies: + "@electron/asar" "^3.2.1" "@malept/cross-spawn-promise" "^1.1.0" - "asar" "^3.1.0" - "debug" "^4.3.1" - "dir-compare" "^2.4.0" - "fs-extra" "^9.0.1" - "minimatch" "^3.0.4" - "plist" "^3.0.4" + debug "^4.3.1" + dir-compare "^3.0.0" + fs-extra "^9.0.1" + minimatch "^3.0.4" + plist "^3.0.4" + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" "@malept/cross-spawn-promise@^1.1.0": - "integrity" "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==" - "resolved" "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz" - "version" "1.1.1" + version "1.1.1" + resolved "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz" + integrity sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ== dependencies: - "cross-spawn" "^7.0.1" + cross-spawn "^7.0.1" "@malept/flatpak-bundler@^0.4.0": - "integrity" "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==" - "resolved" "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz" - "version" "0.4.0" + version "0.4.0" + resolved "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz" + integrity sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q== dependencies: - "debug" "^4.1.1" - "fs-extra" "^9.0.0" - "lodash" "^4.17.15" - "tmp-promise" "^3.0.2" + debug "^4.1.1" + fs-extra "^9.0.0" + lodash "^4.17.15" + tmp-promise "^3.0.2" -"@sindresorhus/is@^0.14.0": - "integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" - "version" "0.14.0" +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@szmarczak/http-timer@^1.1.2": - "integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==" - "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" - "version" "1.1.2" +"@sindresorhus/is@^4.0.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== dependencies: - "defer-to-connect" "^1.0.1" + defer-to-connect "^2.0.0" "@tootallnate/once@2": - "integrity" "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" - "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" - "version" "2.0.0" + version "2.0.0" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@types/cacheable-request@^6.0.1": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" "@types/debug@^4.1.6": - "integrity" "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==" - "resolved" "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz" - "version" "4.1.8" + version "4.1.8" + resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz" + integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== dependencies: "@types/ms" "*" -"@types/fs-extra@^9.0.11": - "integrity" "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==" - "resolved" "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz" - "version" "9.0.13" +"@types/fs-extra@9.0.13", "@types/fs-extra@^9.0.11": + version "9.0.13" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" + integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== dependencies: "@types/node" "*" -"@types/glob@^7.1.1": - "integrity" "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==" - "resolved" "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" - "version" "7.2.0" +"@types/http-cache-semantics@*": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== dependencies: - "@types/minimatch" "*" "@types/node" "*" -"@types/minimatch@*": - "integrity" "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" - "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" - "version" "5.1.2" - "@types/ms@*": - "integrity" "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" - "resolved" "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" - "version" "0.7.31" + version "0.7.31" + resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" + integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node@*": - "integrity" "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz" - "version" "18.16.14" - -"@types/node@^16.11.26": - "integrity" "sha512-VmVm7gXwhkUimRfBwVI1CHhwp86jDWR04B5FGebMMyxV90SlCmFujwUHrxTD4oO+SOYU86SoxvhgeRQJY7iXFg==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-16.18.34.tgz" - "version" "16.18.34" - -"@types/yargs-parser@*": - "integrity" "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - "resolved" "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - "version" "21.0.0" - -"@types/yargs@^17.0.1": - "integrity" "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==" - "resolved" "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.10.tgz" - "version" "17.0.10" - dependencies: - "@types/yargs-parser" "*" - -"7zip-bin@~5.1.1": - "integrity" "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==" - "resolved" "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz" - "version" "5.1.1" - -"agent-base@6": - "integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==" - "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "debug" "4" - -"ajv-keywords@^3.4.1": - "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - "version" "3.5.2" - -"ajv@^6.12.0", "ajv@^6.9.1": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - dependencies: - "fast-deep-equal" "^3.1.1" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.4.1" - "uri-js" "^4.2.2" - -"ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"app-builder-bin@4.0.0": - "integrity" "sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==" - "resolved" "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz" - "version" "4.0.0" - -"app-builder-lib@23.6.0": - "integrity" "sha512-dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==" - "resolved" "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-23.6.0.tgz" - "version" "23.6.0" + version "18.16.14" + resolved "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz" + integrity sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg== + +"@types/node@^20.9.0": + version "20.11.19" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.19.tgz#b466de054e9cb5b3831bee38938de64ac7f81195" + integrity sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ== + dependencies: + undici-types "~5.26.4" + +"@types/plist@^3.0.1": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.5.tgz#9a0c49c0f9886c8c8696a7904dd703f6284036e0" + integrity sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA== + dependencies: + "@types/node" "*" + xmlbuilder ">=11.0.1" + +"@types/responselike@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" + integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== + dependencies: + "@types/node" "*" + +"@types/verror@^1.10.3": + version "1.10.9" + resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.9.tgz#420c32adb9a2dd50b3db4c8f96501e05a0e72941" + integrity sha512-MLx9Z+9lGzwEuW16ubGeNkpBDE84RpB/NyGgg6z2BTpWzKkGU451cAY3UkUzZEp72RHF585oJ3V8JVNqIplcAQ== + +"@types/yauzl@^2.9.1": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" + +"@xmldom/xmldom@^0.8.8": + version "0.8.10" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99" + integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== + +agent-base@6: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +ajv-keywords@^3.4.1: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.10.0, ajv@^6.12.0: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +app-builder-bin@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz" + integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA== + +app-builder-lib@24.12.0: + version "24.12.0" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-24.12.0.tgz#2e985968c341d28fc887be3ecee658e6a240e147" + integrity sha512-t/xinVrMbsEhwljLDoFOtGkiZlaxY1aceZbHERGAS02EkUHJp9lgs/+L8okXLlYCaDSqYdB05Yb8Co+krvguXA== dependencies: "@develar/schema-utils" "~2.6.5" - "@electron/universal" "1.2.1" + "@electron/notarize" "2.1.0" + "@electron/osx-sign" "1.0.5" + "@electron/universal" "1.4.1" "@malept/flatpak-bundler" "^0.4.0" - "7zip-bin" "~5.1.1" - "async-exit-hook" "^2.0.1" - "bluebird-lst" "^1.0.9" - "builder-util" "23.6.0" - "builder-util-runtime" "9.1.1" - "chromium-pickle-js" "^0.2.0" - "debug" "^4.3.4" - "ejs" "^3.1.7" - "electron-osx-sign" "^0.6.0" - "electron-publish" "23.6.0" - "form-data" "^4.0.0" - "fs-extra" "^10.1.0" - "hosted-git-info" "^4.1.0" - "is-ci" "^3.0.0" - "isbinaryfile" "^4.0.10" - "js-yaml" "^4.1.0" - "lazy-val" "^1.0.5" - "minimatch" "^3.1.2" - "read-config-file" "6.2.0" - "sanitize-filename" "^1.6.3" - "semver" "^7.3.7" - "tar" "^6.1.11" - "temp-file" "^3.4.0" - -"argparse@^2.0.1": - "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - "version" "2.0.1" - -"asar@^3.1.0": - "integrity" "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==" - "resolved" "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "chromium-pickle-js" "^0.2.0" - "commander" "^5.0.0" - "glob" "^7.1.6" - "minimatch" "^3.0.4" - optionalDependencies: - "@types/glob" "^7.1.1" - -"async-exit-hook@^2.0.1": - "integrity" "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==" - "resolved" "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz" - "version" "2.0.1" - -"async@^3.2.3": - "integrity" "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - "resolved" "https://registry.npmjs.org/async/-/async-3.2.4.tgz" - "version" "3.2.4" - -"asynckit@^0.4.0": - "integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - "version" "0.4.0" - -"at-least-node@^1.0.0": - "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - "version" "1.0.0" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base64-js@^1.5.1": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" - -"bluebird-lst@^1.0.9": - "integrity" "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==" - "resolved" "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz" - "version" "1.0.9" - dependencies: - "bluebird" "^3.5.5" - -"bluebird@^3.5.0", "bluebird@^3.5.5": - "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - "version" "3.7.2" - -"boolean@^3.0.1": - "integrity" "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" - "resolved" "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz" - "version" "3.2.0" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"brace-expansion@^2.0.1": - "integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "balanced-match" "^1.0.0" - -"buffer-alloc-unsafe@^1.1.0": - "integrity" "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - "resolved" "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" - "version" "1.1.0" - -"buffer-alloc@^1.2.0": - "integrity" "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==" - "resolved" "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "buffer-alloc-unsafe" "^1.1.0" - "buffer-fill" "^1.0.0" - -"buffer-crc32@~0.2.3": - "integrity" "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" - "resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" - "version" "0.2.13" - -"buffer-equal@1.0.0": - "integrity" "sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==" - "resolved" "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz" - "version" "1.0.0" - -"buffer-fill@^1.0.0": - "integrity" "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - "resolved" "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" - "version" "1.0.0" - -"buffer-from@^1.0.0": - "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - "version" "1.1.2" - -"builder-util-runtime@9.1.1": - "integrity" "sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==" - "resolved" "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz" - "version" "9.1.1" - dependencies: - "debug" "^4.3.4" - "sax" "^1.2.4" - -"builder-util@23.6.0": - "integrity" "sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==" - "resolved" "https://registry.npmjs.org/builder-util/-/builder-util-23.6.0.tgz" - "version" "23.6.0" - dependencies: + "@types/fs-extra" "9.0.13" + async-exit-hook "^2.0.1" + bluebird-lst "^1.0.9" + builder-util "24.9.4" + builder-util-runtime "9.2.3" + chromium-pickle-js "^0.2.0" + debug "^4.3.4" + ejs "^3.1.8" + electron-publish "24.9.4" + form-data "^4.0.0" + fs-extra "^10.1.0" + hosted-git-info "^4.1.0" + is-ci "^3.0.0" + isbinaryfile "^5.0.0" + js-yaml "^4.1.0" + lazy-val "^1.0.5" + minimatch "^5.1.1" + read-config-file "6.3.2" + sanitize-filename "^1.6.3" + semver "^7.3.8" + tar "^6.1.12" + temp-file "^3.4.0" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-exit-hook@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz" + integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== + +async@^3.2.3: + version "3.2.4" + resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1, base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bluebird-lst@^1.0.9: + version "1.0.9" + resolved "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz" + integrity sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw== + dependencies: + bluebird "^3.5.5" + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +boolean@^3.0.1: + version "3.2.0" + resolved "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz" + integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-equal@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.1.tgz#2f7651be5b1b3f057fcd6e7ee16cf34767077d90" + integrity sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.1.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builder-util-runtime@9.2.3: + version "9.2.3" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.3.tgz#0a82c7aca8eadef46d67b353c638f052c206b83c" + integrity sha512-FGhkqXdFFZ5dNC4C+yuQB9ak311rpGAw+/ASz8ZdxwODCv1GGMWgLDeofRkdi0F3VCHQEWy/aXcJQozx2nOPiw== + dependencies: + debug "^4.3.4" + sax "^1.2.4" + +builder-util@24.9.4: + version "24.9.4" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-24.9.4.tgz#8cde880e7c719285e9cb30e6850ddd5bf475ac04" + integrity sha512-YNon3rYjPSm4XDDho9wD6jq7vLRJZUy9FR+yFZnHoWvvdVCnZakL4BctTlPABP41MvIH5yk2cTZ2YfkOhGistQ== + dependencies: + "7zip-bin" "~5.2.0" "@types/debug" "^4.1.6" - "@types/fs-extra" "^9.0.11" - "7zip-bin" "~5.1.1" - "app-builder-bin" "4.0.0" - "bluebird-lst" "^1.0.9" - "builder-util-runtime" "9.1.1" - "chalk" "^4.1.1" - "cross-spawn" "^7.0.3" - "debug" "^4.3.4" - "fs-extra" "^10.0.0" - "http-proxy-agent" "^5.0.0" - "https-proxy-agent" "^5.0.0" - "is-ci" "^3.0.0" - "js-yaml" "^4.1.0" - "source-map-support" "^0.5.19" - "stat-mode" "^1.0.0" - "temp-file" "^3.4.0" - -"cacheable-request@^6.0.0": - "integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==" - "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "clone-response" "^1.0.2" - "get-stream" "^5.1.0" - "http-cache-semantics" "^4.0.0" - "keyv" "^3.0.0" - "lowercase-keys" "^2.0.0" - "normalize-url" "^4.1.0" - "responselike" "^1.0.2" - -"chalk@^4.0.2", "chalk@^4.1.1": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chownr@^2.0.0": - "integrity" "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - "resolved" "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" - "version" "2.0.0" - -"chromium-pickle-js@^0.2.0": - "integrity" "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==" - "resolved" "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz" - "version" "0.2.0" - -"ci-info@^3.2.0": - "integrity" "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz" - "version" "3.8.0" - -"cliui@^8.0.1": - "integrity" "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - "version" "8.0.1" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.1" - "wrap-ansi" "^7.0.0" - -"clone-response@^1.0.2": - "integrity" "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==" - "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "mimic-response" "^1.0.0" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"colors@1.0.3": - "integrity" "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==" - "resolved" "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" - "version" "1.0.3" - -"combined-stream@^1.0.8": - "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - "version" "1.0.8" - dependencies: - "delayed-stream" "~1.0.0" - -"commander@^5.0.0": - "integrity" "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - "resolved" "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" - "version" "5.1.0" - -"commander@2.9.0": - "integrity" "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" - "version" "2.9.0" - dependencies: - "graceful-readlink" ">= 1.0.0" - -"compare-version@^0.1.2": - "integrity" "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==" - "resolved" "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz" - "version" "0.1.2" - -"concat-map@0.0.1": - "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"concat-stream@^1.6.2": - "integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==" - "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" - "version" "1.6.2" - dependencies: - "buffer-from" "^1.0.0" - "inherits" "^2.0.3" - "readable-stream" "^2.2.2" - "typedarray" "^0.0.6" - -"config-chain@^1.1.11": - "integrity" "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==" - "resolved" "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" - "version" "1.1.13" - dependencies: - "ini" "^1.3.4" - "proto-list" "~1.2.1" - -"core-util-is@~1.0.0": - "integrity" "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - "version" "1.0.2" - -"cross-spawn@^7.0.1", "cross-spawn@^7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"debug@^2.6.8": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.6.9": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.1", "debug@^4.3.4", "debug@4": - "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - "version" "4.3.4" - dependencies: - "ms" "2.1.2" - -"decompress-response@^3.3.0": - "integrity" "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==" - "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "mimic-response" "^1.0.0" - -"defer-to-connect@^1.0.1": - "integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" - "version" "1.1.3" - -"define-properties@^1.1.3": - "integrity" "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "has-property-descriptors" "^1.0.0" - "object-keys" "^1.1.1" - -"delayed-stream@~1.0.0": - "integrity" "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - "version" "1.0.0" - -"detect-node@^2.0.4": - "integrity" "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - "resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" - "version" "2.1.0" - -"dir-compare@^2.4.0": - "integrity" "sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==" - "resolved" "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz" - "version" "2.4.0" - dependencies: - "buffer-equal" "1.0.0" - "colors" "1.0.3" - "commander" "2.9.0" - "minimatch" "3.0.4" - -"dmg-builder@23.6.0": - "integrity" "sha512-jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==" - "resolved" "https://registry.npmjs.org/dmg-builder/-/dmg-builder-23.6.0.tgz" - "version" "23.6.0" - dependencies: - "app-builder-lib" "23.6.0" - "builder-util" "23.6.0" - "builder-util-runtime" "9.1.1" - "fs-extra" "^10.0.0" - "iconv-lite" "^0.6.2" - "js-yaml" "^4.1.0" + app-builder-bin "4.0.0" + bluebird-lst "^1.0.9" + builder-util-runtime "9.2.3" + chalk "^4.1.2" + cross-spawn "^7.0.3" + debug "^4.3.4" + fs-extra "^10.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" + is-ci "^3.0.0" + js-yaml "^4.1.0" + source-map-support "^0.5.19" + stat-mode "^1.0.0" + temp-file "^3.4.0" + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" + integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +chalk@^4.0.2, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chromium-pickle-js@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz" + integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw== + +ci-info@^3.2.0: + version "3.8.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz" + integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +compare-version@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz" + integrity sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +config-file-ts@^0.2.4: + version "0.2.6" + resolved "https://registry.yarnpkg.com/config-file-ts/-/config-file-ts-0.2.6.tgz#b424ff74612fb37f626d6528f08f92ddf5d22027" + integrity sha512-6boGVaglwblBgJqGyxm4+xCmEGcWgnWHSWHY5jad58awQhB6gftq0G8HbzU39YqCIYHMLAiL1yjwiZ36m/CL8w== + dependencies: + glob "^10.3.10" + typescript "^5.3.3" + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +crc@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" + integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== + dependencies: + buffer "^5.1.0" + +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-properties@^1.1.3: + version "1.2.0" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +dir-compare@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-3.3.0.tgz#2c749f973b5c4b5d087f11edaae730db31788416" + integrity sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg== + dependencies: + buffer-equal "^1.0.0" + minimatch "^3.0.4" + +dmg-builder@24.12.0: + version "24.12.0" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-24.12.0.tgz#62a08162f2b3160a286d03ebb6db65c36a3711c7" + integrity sha512-nS22OyHUIYcK40UnILOtqC5Qffd1SN1Ljqy/6e+QR2H1wM3iNBrKJoEbDRfEmYYaALKNFRkKPqSbZKRsGUBdPw== + dependencies: + app-builder-lib "24.12.0" + builder-util "24.9.4" + builder-util-runtime "9.2.3" + fs-extra "^10.1.0" + iconv-lite "^0.6.2" + js-yaml "^4.1.0" optionalDependencies: - "dmg-license" "^1.0.11" - -"dotenv-expand@^5.1.0": - "integrity" "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - "resolved" "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" - "version" "5.1.0" - -"dotenv@^9.0.2": - "integrity" "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==" - "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz" - "version" "9.0.2" - -"duplexer3@^0.1.4": - "integrity" "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" - "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" - "version" "0.1.5" - -"ejs@^3.1.7": - "integrity" "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==" - "resolved" "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz" - "version" "3.1.9" - dependencies: - "jake" "^10.8.5" - -"electron-builder@^23.0.3": - "integrity" "sha512-y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==" - "resolved" "https://registry.npmjs.org/electron-builder/-/electron-builder-23.6.0.tgz" - "version" "23.6.0" - dependencies: - "@types/yargs" "^17.0.1" - "app-builder-lib" "23.6.0" - "builder-util" "23.6.0" - "builder-util-runtime" "9.1.1" - "chalk" "^4.1.1" - "dmg-builder" "23.6.0" - "fs-extra" "^10.0.0" - "is-ci" "^3.0.0" - "lazy-val" "^1.0.5" - "read-config-file" "6.2.0" - "simple-update-notifier" "^1.0.7" - "yargs" "^17.5.1" - -"electron-osx-sign@^0.6.0": - "integrity" "sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==" - "resolved" "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "bluebird" "^3.5.0" - "compare-version" "^0.1.2" - "debug" "^2.6.8" - "isbinaryfile" "^3.0.2" - "minimist" "^1.2.0" - "plist" "^3.0.1" - -"electron-publish@23.6.0": - "integrity" "sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==" - "resolved" "https://registry.npmjs.org/electron-publish/-/electron-publish-23.6.0.tgz" - "version" "23.6.0" + dmg-license "^1.0.11" + +dmg-license@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz#7b3bc3745d1b52be7506b4ee80cb61df6e4cd79a" + integrity sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q== + dependencies: + "@types/plist" "^3.0.1" + "@types/verror" "^1.10.3" + ajv "^6.10.0" + crc "^3.8.0" + iconv-corefoundation "^1.1.7" + plist "^3.0.4" + smart-buffer "^4.0.2" + verror "^1.10.0" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^9.0.2: + version "9.0.2" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz" + integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ejs@^3.1.8: + version "3.1.9" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" + integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== + dependencies: + jake "^10.8.5" + +electron-builder@^24.12.0: + version "24.12.0" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-24.12.0.tgz#95c41d14b3b1cc177db62715e42ef9fd27344491" + integrity sha512-dH4O9zkxFxFbBVFobIR5FA71yJ1TZSCvjZ2maCskpg7CWjBF+SNRSQAThlDyUfRuB+jBTMwEMzwARywmap0CSw== + dependencies: + app-builder-lib "24.12.0" + builder-util "24.9.4" + builder-util-runtime "9.2.3" + chalk "^4.1.2" + dmg-builder "24.12.0" + fs-extra "^10.1.0" + is-ci "^3.0.0" + lazy-val "^1.0.5" + read-config-file "6.3.2" + simple-update-notifier "2.0.0" + yargs "^17.6.2" + +electron-publish@24.9.4: + version "24.9.4" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-24.9.4.tgz#70db542763a78e4980e4e6409c203aef320d0d05" + integrity sha512-FghbeVMfxHneHjsG2xUSC0NMZYWOOWhBxfZKPTbibcJ0CjPH0Ph8yb5CUO62nqywXfA5u1Otq6K8eOdOixxmNg== dependencies: "@types/fs-extra" "^9.0.11" - "builder-util" "23.6.0" - "builder-util-runtime" "9.1.1" - "chalk" "^4.1.1" - "fs-extra" "^10.0.0" - "lazy-val" "^1.0.5" - "mime" "^2.5.2" - -"electron@^18.3.7": - "integrity" "sha512-frkBt8skyo8SmlG4TbByDxZw6/tqttRYYIBaeTBfkoG18OyD59IVwVaXXHO8UYKB5/1C2Rce0Gj6uoxlAHQHzQ==" - "resolved" "https://registry.npmjs.org/electron/-/electron-18.3.15.tgz" - "version" "18.3.15" - dependencies: - "@electron/get" "^1.13.0" - "@types/node" "^16.11.26" - "extract-zip" "^1.0.3" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"encodeurl@^1.0.2": - "integrity" "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - "version" "1.0.2" - -"end-of-stream@^1.1.0": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"env-paths@^2.2.0": - "integrity" "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - "resolved" "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" - "version" "2.2.1" - -"es6-error@^4.1.1": - "integrity" "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - "resolved" "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" - "version" "4.1.1" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-string-regexp@^4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"extract-zip@^1.0.3": - "integrity" "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==" - "resolved" "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" - "version" "1.7.0" - dependencies: - "concat-stream" "^1.6.2" - "debug" "^2.6.9" - "mkdirp" "^0.5.4" - "yauzl" "^2.10.0" - -"fast-deep-equal@^3.1.1": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-json-stable-stringify@^2.0.0": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" - -"fd-slicer@~1.1.0": - "integrity" "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==" - "resolved" "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "pend" "~1.2.0" - -"filelist@^1.0.4": - "integrity" "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==" - "resolved" "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "minimatch" "^5.0.1" - -"form-data@^4.0.0": - "integrity" "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.8" - "mime-types" "^2.1.12" - -"fs-extra@^10.0.0": - "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@^10.1.0": - "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@^8.1.0": - "integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - "version" "8.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^4.0.0" - "universalify" "^0.1.0" - -"fs-extra@^9.0.0": - "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - "version" "9.1.0" - dependencies: - "at-least-node" "^1.0.0" - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@^9.0.1": - "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - "version" "9.1.0" - dependencies: - "at-least-node" "^1.0.0" - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-minipass@^2.0.0": - "integrity" "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==" - "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "minipass" "^3.0.0" - -"fs.realpath@^1.0.0": - "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"get-caller-file@^2.0.5": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-intrinsic@^1.1.1": - "integrity" "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-proto" "^1.0.1" - "has-symbols" "^1.0.3" - -"get-stream@^4.1.0": - "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "pump" "^3.0.0" - -"get-stream@^5.1.0": - "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "pump" "^3.0.0" - -"glob@^7.1.3", "glob@^7.1.6": - "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - "version" "7.2.3" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.1.1" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"global-agent@^3.0.0": - "integrity" "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==" - "resolved" "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "boolean" "^3.0.1" - "es6-error" "^4.1.1" - "matcher" "^3.0.0" - "roarr" "^2.15.3" - "semver" "^7.3.2" - "serialize-error" "^7.0.1" - -"global-tunnel-ng@^2.7.1": - "integrity" "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==" - "resolved" "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz" - "version" "2.7.1" - dependencies: - "encodeurl" "^1.0.2" - "lodash" "^4.17.10" - "npm-conf" "^1.1.3" - "tunnel" "^0.0.6" - -"globalthis@^1.0.1": - "integrity" "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==" - "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "define-properties" "^1.1.3" - -"got@^9.6.0": - "integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==" - "resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz" - "version" "9.6.0" - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - "cacheable-request" "^6.0.0" - "decompress-response" "^3.3.0" - "duplexer3" "^0.1.4" - "get-stream" "^4.1.0" - "lowercase-keys" "^1.0.1" - "mimic-response" "^1.0.1" - "p-cancelable" "^1.0.0" - "to-readable-stream" "^1.0.0" - "url-parse-lax" "^3.0.0" - -"graceful-fs@^4.1.6", "graceful-fs@^4.2.0": - "integrity" "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - "resolved" "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz" - "version" "4.2.10" - -"graceful-readlink@>= 1.0.0": - "integrity" "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==" - "resolved" "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" - "version" "1.0.1" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-property-descriptors@^1.0.0": - "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" - "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-intrinsic" "^1.1.1" - -"has-proto@^1.0.1": - "integrity" "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - "resolved" "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - "version" "1.0.1" - -"has-symbols@^1.0.3": - "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - "version" "1.0.3" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"hosted-git-info@^4.1.0": - "integrity" "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==" - "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "lru-cache" "^6.0.0" - -"http-cache-semantics@^4.0.0": - "integrity" "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" - "version" "4.1.1" - -"http-proxy-agent@^5.0.0": - "integrity" "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==" - "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" - "version" "5.0.0" + builder-util "24.9.4" + builder-util-runtime "9.2.3" + chalk "^4.1.2" + fs-extra "^10.1.0" + lazy-val "^1.0.5" + mime "^2.5.2" + +electron@^29.0.0: + version "29.0.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-29.0.0.tgz#2c1d34a95fc23a5b3530aa53de6eacca89a410b1" + integrity sha512-HhrRC5vWb6fAbWXP3A6ABwKUO9JvYSC4E141RzWFgnDBqNiNtabfmgC8hsVeCR65RQA2MLSDgC8uP52I9zFllQ== + dependencies: + "@electron/get" "^2.0.0" + "@types/node" "^20.9.0" + extract-zip "^2.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +es6-error@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fs-extra@^10.0.0, fs-extra@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.0, fs-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.1: + version "1.2.1" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +glob@^10.3.10: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + +glob@^7.1.3, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz" + integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== + dependencies: + boolean "^3.0.1" + es6-error "^4.1.1" + matcher "^3.0.0" + roarr "^2.15.3" + semver "^7.3.2" + serialize-error "^7.0.1" + +globalthis@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +got@^11.8.5: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.10" + resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hosted-git-info@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +http-cache-semantics@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== dependencies: "@tootallnate/once" "2" - "agent-base" "6" - "debug" "4" - -"https-proxy-agent@^5.0.0": - "integrity" "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==" - "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "agent-base" "6" - "debug" "4" - -"iconv-lite@^0.6.2": - "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - "version" "0.6.3" - dependencies: - "safer-buffer" ">= 2.1.2 < 3.0.0" - -"inflight@^1.0.4": - "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@^2.0.3", "inherits@~2.0.3", "inherits@2": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"ini@^1.3.4": - "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - "version" "1.3.8" - -"is-ci@^3.0.0": - "integrity" "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==" - "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "ci-info" "^3.2.0" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" - -"isarray@~1.0.0": - "integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - "version" "1.0.0" - -"isbinaryfile@^3.0.2": - "integrity" "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==" - "resolved" "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "buffer-alloc" "^1.2.0" - -"isbinaryfile@^4.0.10": - "integrity" "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==" - "resolved" "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz" - "version" "4.0.10" - -"isexe@^2.0.0": - "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"jake@^10.8.5": - "integrity" "sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA==" - "resolved" "https://registry.npmjs.org/jake/-/jake-10.8.6.tgz" - "version" "10.8.6" - dependencies: - "async" "^3.2.3" - "chalk" "^4.0.2" - "filelist" "^1.0.4" - "minimatch" "^3.1.2" - -"js-yaml@^4.1.0": - "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "argparse" "^2.0.1" - -"json-buffer@3.0.0": - "integrity" "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" - "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" - "version" "3.0.0" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-stringify-safe@^5.0.1": - "integrity" "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - "version" "5.0.1" - -"json5@^2.2.0": - "integrity" "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - "version" "2.2.3" - -"jsonfile@^4.0.0": - "integrity" "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - "version" "4.0.0" + agent-base "6" + debug "4" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +iconv-corefoundation@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a" + integrity sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ== + dependencies: + cli-truncate "^2.1.0" + node-addon-api "^1.6.3" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-ci@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +isbinaryfile@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== + +isbinaryfile@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-5.0.2.tgz#fe6e4dfe2e34e947ffa240c113444876ba393ae0" + integrity sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jake@^10.8.5: + version "10.8.6" + resolved "https://registry.npmjs.org/jake/-/jake-10.8.6.tgz" + integrity sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^2.2.0: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: - "graceful-fs" "^4.1.6" + graceful-fs "^4.1.6" -"jsonfile@^6.0.1": - "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - "version" "6.1.0" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: - "universalify" "^2.0.0" + universalify "^2.0.0" optionalDependencies: - "graceful-fs" "^4.1.6" + graceful-fs "^4.1.6" -"keyv@^3.0.0": - "integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==" - "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" - "version" "3.1.0" +keyv@^4.0.0: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: - "json-buffer" "3.0.0" + json-buffer "3.0.1" -"lazy-val@^1.0.4", "lazy-val@^1.0.5": - "integrity" "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==" - "resolved" "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz" - "version" "1.0.5" +lazy-val@^1.0.4, lazy-val@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz" + integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q== -"lodash@^4.17.10", "lodash@^4.17.15": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" +lodash@^4.17.15: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1": - "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" - "version" "1.0.1" +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" -"lowercase-keys@^2.0.0": - "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" - "version" "2.0.0" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"matcher@^3.0.0": - "integrity" "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==" - "resolved" "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "escape-string-regexp" "^4.0.0" - -"mime-db@1.52.0": - "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - "version" "1.52.0" - -"mime-types@^2.1.12": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mime@^2.5.2": - "integrity" "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" - "version" "2.6.0" - -"mimic-response@^1.0.0", "mimic-response@^1.0.1": - "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - "version" "1.0.1" - -"minimatch@^3.0.4", "minimatch@^3.1.1", "minimatch@^3.1.2": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@^5.0.1": - "integrity" "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" - "version" "5.1.6" - dependencies: - "brace-expansion" "^2.0.1" - -"minimatch@3.0.4": - "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "brace-expansion" "^1.1.7" - -"minimist@^1.2.0", "minimist@^1.2.6": - "integrity" "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - "version" "1.2.8" - -"minipass@^3.0.0": - "integrity" "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==" - "resolved" "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" - "version" "3.3.6" - dependencies: - "yallist" "^4.0.0" - -"minipass@^5.0.0": - "integrity" "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" - "resolved" "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" - "version" "5.0.0" - -"minizlib@^2.1.1": - "integrity" "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==" - "resolved" "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" - "version" "2.1.2" - dependencies: - "minipass" "^3.0.0" - "yallist" "^4.0.0" - -"mkdirp@^0.5.4": - "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - "version" "0.5.6" - dependencies: - "minimist" "^1.2.6" - -"mkdirp@^1.0.3": - "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - "version" "1.0.4" - -"ms@2.0.0": - "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - "version" "2.0.0" - -"ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"normalize-url@^4.1.0": - "integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" - "version" "4.5.1" - -"npm-conf@^1.1.3": - "integrity" "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==" - "resolved" "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "config-chain" "^1.1.11" - "pify" "^3.0.0" - -"object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": - "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"p-cancelable@^1.0.0": - "integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" - "version" "1.1.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"pend@~1.2.0": - "integrity" "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - "resolved" "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" - "version" "1.2.0" - -"pify@^3.0.0": - "integrity" "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - "version" "3.0.0" - -"plist@^3.0.1", "plist@^3.0.4": - "integrity" "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==" - "resolved" "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz" - "version" "3.0.6" - dependencies: - "base64-js" "^1.5.1" - "xmlbuilder" "^15.1.1" - -"prepend-http@^2.0.0": - "integrity" "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" - "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" - "version" "2.0.0" - -"process-nextick-args@~2.0.0": - "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - "version" "2.0.1" - -"progress@^2.0.3": - "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - "version" "2.0.3" - -"proto-list@~1.2.1": - "integrity" "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" - "resolved" "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" - "version" "1.2.4" - -"pump@^3.0.0": - "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" - "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"punycode@^2.1.0": - "integrity" "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - "version" "2.3.0" - -"read-config-file@6.2.0": - "integrity" "sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==" - "resolved" "https://registry.npmjs.org/read-config-file/-/read-config-file-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "dotenv" "^9.0.2" - "dotenv-expand" "^5.1.0" - "js-yaml" "^4.1.0" - "json5" "^2.2.0" - "lazy-val" "^1.0.4" - -"readable-stream@^2.2.2": - "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - "version" "2.3.8" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"require-directory@^2.1.1": - "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"responselike@^1.0.2": - "integrity" "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==" - "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "lowercase-keys" "^1.0.0" - -"rimraf@^3.0.0": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "glob" "^7.1.3" - -"roarr@^2.15.3": - "integrity" "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==" - "resolved" "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz" - "version" "2.15.4" - dependencies: - "boolean" "^3.0.1" - "detect-node" "^2.0.4" - "globalthis" "^1.0.1" - "json-stringify-safe" "^5.0.1" - "semver-compare" "^1.0.0" - "sprintf-js" "^1.1.2" - -"safe-buffer@~5.1.0", "safe-buffer@~5.1.1": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" +"lru-cache@^9.1.1 || ^10.0.0": + version "10.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +matcher@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz" + integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== + dependencies: + escape-string-regexp "^4.0.0" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@^2.5.2: + version "2.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1, minimatch@^5.1.1: + version "5.1.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +node-addon-api@^1.6.3: + version "1.7.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" + integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-scurry@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +plist@^3.0.4: + version "3.0.6" + resolved "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz" + integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA== + dependencies: + base64-js "^1.5.1" + xmlbuilder "^15.1.1" + +plist@^3.0.5: + version "3.1.0" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.0.tgz#797a516a93e62f5bde55e0b9cc9c967f860893c9" + integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ== + dependencies: + "@xmldom/xmldom" "^0.8.8" + base64-js "^1.5.1" + xmlbuilder "^15.1.1" + +progress@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +read-config-file@6.3.2: + version "6.3.2" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.3.2.tgz#556891aa6ffabced916ed57457cb192e61880411" + integrity sha512-M80lpCjnE6Wt6zb98DoW8WHR09nzMSpu8XHtPkiTHrJ5Az9CybfeQhTJ8D7saeBHpGhLPIVyA8lcL6ZmdKwY6Q== + dependencies: + config-file-ts "^0.2.4" + dotenv "^9.0.2" + dotenv-expand "^5.1.0" + js-yaml "^4.1.0" + json5 "^2.2.0" + lazy-val "^1.0.4" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +roarr@^2.15.3: + version "2.15.4" + resolved "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz" + integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== + dependencies: + boolean "^3.0.1" + detect-node "^2.0.4" + globalthis "^1.0.1" + json-stringify-safe "^5.0.1" + semver-compare "^1.0.0" + sprintf-js "^1.1.2" "safer-buffer@>= 2.1.2 < 3.0.0": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" - -"sanitize-filename@^1.6.3": - "integrity" "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==" - "resolved" "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz" - "version" "1.6.3" - dependencies: - "truncate-utf8-bytes" "^1.0.0" + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanitize-filename@^1.6.3: + version "1.6.3" + resolved "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz" + integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== + dependencies: + truncate-utf8-bytes "^1.0.0" + +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" + integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== + +semver@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.2: + version "7.5.1" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz" + integrity sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.8, semver@^7.5.3: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +serialize-error@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz" + integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== + dependencies: + type-fest "^0.13.1" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +simple-update-notifier@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb" + integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w== + dependencies: + semver "^7.5.3" -"sax@^1.2.4": - "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - "version" "1.2.4" - -"semver-compare@^1.0.0": - "integrity" "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" - "resolved" "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" - "version" "1.0.0" - -"semver@^6.2.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^7.3.2": - "integrity" "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz" - "version" "7.5.1" - dependencies: - "lru-cache" "^6.0.0" +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +smart-buffer@^4.0.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +source-map-support@^0.5.19: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sprintf-js@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + +stat-mode@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz" + integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" -"semver@^7.3.7": - "integrity" "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz" - "version" "7.5.1" +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: - "lru-cache" "^6.0.0" - -"semver@~7.0.0": - "integrity" "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" - "version" "7.0.0" - -"serialize-error@^7.0.1": - "integrity" "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==" - "resolved" "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "type-fest" "^0.13.1" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"simple-update-notifier@^1.0.7": - "integrity" "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==" - "resolved" "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "semver" "~7.0.0" - -"source-map-support@^0.5.19": - "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - "version" "0.5.21" - dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" - -"source-map@^0.6.0": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"sprintf-js@^1.1.2": - "integrity" "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" - "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz" - "version" "1.1.2" - -"stat-mode@^1.0.0": - "integrity" "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==" - "resolved" "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz" - "version" "1.0.0" - -"string_decoder@~1.1.1": - "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "safe-buffer" "~5.1.0" - -"string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.3": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" - -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "ansi-regex" "^5.0.1" - -"sumchecker@^3.0.1": - "integrity" "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==" - "resolved" "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "debug" "^4.1.0" - -"supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"tar@^6.1.11": - "integrity" "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==" - "resolved" "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz" - "version" "6.1.15" - dependencies: - "chownr" "^2.0.0" - "fs-minipass" "^2.0.0" - "minipass" "^5.0.0" - "minizlib" "^2.1.1" - "mkdirp" "^1.0.3" - "yallist" "^4.0.0" - -"temp-file@^3.4.0": - "integrity" "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==" - "resolved" "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz" - "version" "3.4.0" - dependencies: - "async-exit-hook" "^2.0.1" - "fs-extra" "^10.0.0" - -"tmp-promise@^3.0.2": - "integrity" "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==" - "resolved" "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "tmp" "^0.2.0" - -"tmp@^0.2.0": - "integrity" "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==" - "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "rimraf" "^3.0.0" - -"to-readable-stream@^1.0.0": - "integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - "resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" - "version" "1.0.0" - -"truncate-utf8-bytes@^1.0.0": - "integrity" "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==" - "resolved" "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "utf8-byte-length" "^1.0.1" - -"tunnel@^0.0.6": - "integrity" "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" - "resolved" "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz" - "version" "0.0.6" - -"type-fest@^0.13.1": - "integrity" "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz" - "version" "0.13.1" - -"typedarray@^0.0.6": - "integrity" "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - "version" "0.0.6" - -"universalify@^0.1.0": - "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - "version" "0.1.2" - -"universalify@^2.0.0": - "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - "version" "2.0.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"url-parse-lax@^3.0.0": - "integrity" "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==" - "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "prepend-http" "^2.0.0" - -"utf8-byte-length@^1.0.1": - "integrity" "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" - "resolved" "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz" - "version" "1.0.4" - -"util-deprecate@~1.0.1": - "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"xmlbuilder@^15.1.1": - "integrity" "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==" - "resolved" "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz" - "version" "15.1.1" - -"y18n@^5.0.5": - "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - "version" "5.0.8" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yargs-parser@^21.1.1": - "integrity" "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - "version" "21.1.1" - -"yargs@^17.5.1": - "integrity" "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - "version" "17.7.2" - dependencies: - "cliui" "^8.0.1" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.3" - "y18n" "^5.0.5" - "yargs-parser" "^21.1.1" - -"yauzl@^2.10.0": - "integrity" "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==" - "resolved" "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" - "version" "2.10.0" - dependencies: - "buffer-crc32" "~0.2.3" - "fd-slicer" "~1.1.0" + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +sumchecker@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz" + integrity sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== + dependencies: + debug "^4.1.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +tar@^6.1.12: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp-file@^3.4.0: + version "3.4.0" + resolved "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz" + integrity sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg== + dependencies: + async-exit-hook "^2.0.1" + fs-extra "^10.0.0" + +tmp-promise@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz" + integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== + dependencies: + tmp "^0.2.0" + +tmp@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +truncate-utf8-bytes@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz" + integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== + dependencies: + utf8-byte-length "^1.0.1" + +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + +typescript@^5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +utf8-byte-length@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz" + integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== + +verror@^1.10.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz#4bf09eeccf4563b109ed4b3d458380c972b0cdeb" + integrity sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +xmlbuilder@>=11.0.1, xmlbuilder@^15.1.1: + version "15.1.1" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz" + integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.6.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" diff --git a/packages/dev-server/index.js b/packages/dev-server/index.js index 200248dee..e7be82183 100644 --- a/packages/dev-server/index.js +++ b/packages/dev-server/index.js @@ -29,9 +29,17 @@ app.use( createProxyMiddleware("/api", { target: `http://localhost:${WEBGAL_PORT + 1}`, // http代理跨域目标接口 changeOrigin: true, + ws:true }) ); +app.use( + createProxyMiddleware("/template-preview", { + target: `http://localhost:${WEBGAL_PORT + 1}`, // http代理跨域目标接口 + changeOrigin: true, + }) +); + app.use( createProxyMiddleware("/games", { target: `http://localhost:${WEBGAL_PORT + 1}`, // http代理跨域目标接口 @@ -39,6 +47,13 @@ app.use( }) ); +app.use( + createProxyMiddleware("/templates", { + target: `http://localhost:${WEBGAL_PORT + 1}`, // http代理跨域目标接口 + changeOrigin: true, + }) +); + app.use( createProxyMiddleware("/", { target: `http://localhost:${WEBGAL_PORT}`, // http代理跨域目标接口 diff --git a/packages/origine2/lingui.config.js b/packages/origine2/lingui.config.js new file mode 100644 index 000000000..e4444d13c --- /dev/null +++ b/packages/origine2/lingui.config.js @@ -0,0 +1,14 @@ +/** @type {import('@lingui/conf').LinguiConfig} */ +module.exports = { + locales: ["en", "zhCn","ja"], + sourceLocale:"zhCn", + fallbackLocales:{ + default:'zhCn', + }, + catalogs: [ + { + path: "/src/locales/{locale}", + include: ["src"], + }, + ], +}; diff --git a/packages/origine2/package.json b/packages/origine2/package.json index 664b3758a..0ad856f2c 100644 --- a/packages/origine2/package.json +++ b/packages/origine2/package.json @@ -1,15 +1,17 @@ { "name": "webgal-origine-2", "private": true, - "version": "4.4.13", + "version": "4.5.0", "license": "MPL-2.0", "scripts": { - "dev": "vite --host", - "build": "node version-sync.js && tsc && vite build --base=./", - "build-lowram": "node version-sync.js && tsc && node --max_old_space_size=512000 ./node_modules/bin/vite build --base=./", + "dev": "lingui extract && lingui compile --typescript && vite --host", + "build": "lingui extract && lingui compile --typescript && node version-sync.js && tsc && vite build --base=./", + "build-lowram": "lingui extract && lingui compile --typescript && node version-sync.js && tsc && node --max_old_space_size=512000 ./node_modules/bin/vite build --base=./", "preview": "vite preview", "lint": "eslint src/** --fix", - "openapi": "tsx openapi.ts" + "openapi": "tsx openapi.ts", + "exact-i18n": "lingui extract", + "compile-i18n": "lingui compile --typescript" }, "dependencies": { "@fluentui/react": "^8.77.3", @@ -17,12 +19,13 @@ "@fluentui/react-icons": "^2.0.224", "@fluentui/react-icons-mdl2": "^1.3.41", "@icon-park/react": "^1.4.2", + "@lingui/macro": "^4.8.0", + "@lingui/react": "^4.8.0", "@monaco-editor/react": "^4.4.5", - "@reduxjs/toolkit": "^1.8.1", "@uiw/react-json-view": "^2.0.0-alpha.12", "axios": "^1.6.0", + "classnames": "^2.5.1", "cloudlogjs": "^1.0.11", - "i18next": "^22.4.15", "lodash": "^4.17.21", "material-icon-theme": "^4.27.0", "mitt": "^3.0.1", @@ -34,14 +37,14 @@ "react": "^18.0.0", "react-beautiful-dnd": "^13.1.0", "react-dom": "^18.0.0", - "react-i18next": "^12.2.2", - "react-redux": "^8.0.1", - "redux-persist": "^6.0.0", "sass": "^1.51.0", "swr": "^2.2.4", - "webgal-parser": "latest" + "webgal-parser": "latest", + "zustand": "^4.5.2" }, "devDependencies": { + "@lingui/cli": "^4.8.0", + "@lingui/vite-plugin": "^4.8.0", "@types/lodash": "^4.14.182", "@types/react": "^18.0.0", "@types/react-beautiful-dnd": "^13.1.2", @@ -49,6 +52,7 @@ "@typescript-eslint/eslint-plugin": "^5.18.0", "@typescript-eslint/parser": "^5.18.0", "@vitejs/plugin-react": "^4.0.4", + "babel-plugin-macros": "^3.1.0", "esbuild": "^0.18.11", "eslint": "^8.13.0", "eslint-config-alloy": "^4.5.1", diff --git a/packages/origine2/src/App.tsx b/packages/origine2/src/App.tsx index db31f8285..43d880baa 100644 --- a/packages/origine2/src/App.tsx +++ b/packages/origine2/src/App.tsx @@ -1,26 +1,44 @@ import "./App.css"; -import {logger} from "./utils/logger"; +import { logger } from "./utils/logger"; import DashBoard from "./pages/dashboard/DashBoard"; -import {Provider} from "react-redux"; -import {origineStore, persistor} from "./store/origineStore"; import Editor from "./pages/editor/Editor"; -import {useEffect} from "react"; +import {ReactNode, useEffect, useMemo, useState} from "react"; import "@icon-park/react/styles/index.css"; import axios from "axios"; -import {mapLspKindToMonacoKind} from "./pages/editor/TextEditor/convert"; +import { mapLspKindToMonacoKind } from "./pages/editor/TextEditor/convert"; import * as monaco from "monaco-editor"; -import Translation from "./components/translation/Translation"; -import {lspSceneName} from "@/runtime/WG_ORIGINE_RUNTIME"; +import { lspSceneName } from "@/runtime/WG_ORIGINE_RUNTIME"; import './config/themes/theme.css'; -import {PersistGate} from 'redux-persist/integration/react'; import './assets/font-family.css'; +import useEditorStore from "./store/useEditorStore"; +import useHashRoute, { IPage } from "./hooks/useHashRoute"; +import useLanguage from "./hooks/useLanguage"; +import TemplateEditor from "./pages/templateEditor/TemplateEditor"; +import GameEditorProvider from "./components/Provider/GameEditorProvider"; +import TemplateEditorProvider from "./components/Provider/TemplateEditorProvider"; +import {eventBus} from "@/utils/eventBus"; + +export const routers: { [key in IPage]: { url: string, element: ReactNode } } = { + dashboard: { + url: '#/dashboard', + element: , + }, + game: { + url: '#/game', + element: , + }, + template: { + url: '#/template', + element: , + }, +}; function App() { useEffect(() => { logger.info("Welcome to WebGAL live editor!"); // 防止多次注册,语言在初次进入的时候注册 - monaco.languages.register({id: "webgal"}); + monaco.languages.register({ id: "webgal" }); /** * LSP */ @@ -31,7 +49,7 @@ function App() { textDocument: { uri: lspSceneName.value }, - position: {line: position.lineNumber - 1, character: position.column - 1} + position: { line: position.lineNumber - 1, character: position.column - 1 } }; const data = { @@ -43,7 +61,7 @@ function App() { // 处理 LSP 的响应 const result = { suggestions: response.data.items.map((suggestion: any) => { - return {...suggestion, kind: mapLspKindToMonacoKind(suggestion.kind)}; + return { ...suggestion, kind: mapLspKindToMonacoKind(suggestion.kind) }; }) }; resolve(result); @@ -53,16 +71,62 @@ function App() { }); }); + // 建立 WS 连接 + useEffect(()=>{ + try { + const loc: string = window.location.hostname; + const protocol: string = window.location.protocol; + const port: string = window.location.port; // 获取端口号 + + // 默认情况下,不需要在URL中明确指定标准HTTP(80)和HTTPS(443)端口 + let defaultPort = ''; + if (port && port !== '80' && port !== '443') { + // 如果存在非标准端口号,将其包含在URL中 + defaultPort = `:${port}`; + } + + if (protocol !== 'http:' && protocol !== 'https:') { + return; + } + + // 根据当前协议构建WebSocket URL,并包括端口号(如果有) + let wsUrl = `ws://${loc}${defaultPort}/api/webgalsync`; + if (protocol === 'https:') { + wsUrl = `wss://${loc}${defaultPort}/api/webgalsync`; + } + + console.log('正在启动socket连接位于:' + wsUrl); + const socket = new WebSocket(wsUrl); + socket.onopen = () => { + console.log('socket已连接'); + socket.send('WebGAL Origine 已和 Terre 建立连接'); + }; + socket.onmessage = e => { + eventBus.emit('get-ws-message',e.data); + }; + // @ts-ignore + window['currentWs'] = socket; + } catch (e) { + console.warn('ws连接失败'); + } + },[]); + + useHashRoute(); + useLanguage(); + + const page = useEditorStore.use.page(); + const subPage = useEditorStore.use.subPage(); + document.title = useMemo(() => `${(page !== 'dashboard') ? `${subPage} - ` : ''}WebGAL Terre`, [page, subPage]); + const language = useEditorStore.use.language(); + const [appKeyLang,setAppKeyLang] = useState(language); + + useEffect(() => { + setAppKeyLang(language); + }, [language]); + return ( - // 将编辑器的根元素占满整个视口 -
- - - - - - - +
+ {routers[page].element || routers.dashboard.element}
); } diff --git a/packages/origine2/src/api/Api.ts b/packages/origine2/src/api/Api.ts index 4e41833b6..db5a01d6b 100644 --- a/packages/origine2/src/api/Api.ts +++ b/packages/origine2/src/api/Api.ts @@ -16,9 +16,51 @@ export interface CompletionDto { params: object; } +export interface CreateNewFileDto { + /** The source path where the directory will be created */ + source: string; + /** Name for the new file */ + name: string; +} + +export interface CreateNewFolderDto { + /** The source path where the directory will be created */ + source: string; + /** Name for the new directory */ + name: string; +} + +export interface UploadFilesDto { + /** Target directory for the uploaded files */ + targetDirectory: string; +} + +export interface DeleteFileOrDirDto { + /** The source path of the file or directory to be deleted */ + source: string; +} + +export interface RenameFileDto { + /** The source path of the file or directory to be renamed */ + source: string; + /** New name for renaming the file or directory */ + newName: string; +} + +export interface EditTextFileDto { + /** The path of textfile */ + path: string; + /** Text data content */ + textFile: string; +} + export interface CreateGameDto { /** The name of the game to be created */ gameName: string; + /** The name of the derivative to be used */ + derivative: string; + /** The name of the template to be applied */ + templateName: string; } export interface EditFileNameDto { @@ -52,13 +94,6 @@ export interface EditSceneDto { sceneData: string; } -export interface EditTextFileDto { - /** The path of textfile */ - path: string; - /** Text data content */ - textFile: string; -} - export interface GameConfigDto { /** The name of the game */ gameName: string; @@ -66,11 +101,6 @@ export interface GameConfigDto { newConfig: string; } -export interface UploadFilesDto { - /** Target directory for the uploaded files */ - targetDirectory: string; -} - export interface MkDirDto { /** The source path where the directory will be created */ source: string; @@ -78,18 +108,37 @@ export interface MkDirDto { name: string; } -export interface DeleteFileOrDirDto { +export interface DeleteDto { /** The source path of the file or directory to be deleted */ - source: string; + gameName: string; } export interface RenameDto { - /** The source path of the file or directory to be renamed */ - source: string; - /** New name for renaming the file or directory */ + /** Old name for renaming the game */ + gameName: string; + /** New name for renaming the game */ newName: string; } +export interface CreateTemplateDto { + /** The name of the template to be created */ + templateName: string; +} + +export interface ApplyTemplateToGameDto { + /** The template name to apply */ + templateName: string; + /** The game name to be applied. */ + gameName: string; +} + +export interface GetStyleByClassNameDto { + /** The name of class to be fetched */ + className: string; + /** The path of stylesheet file to be fetched */ + filePath: string; +} + import type { AxiosInstance, AxiosRequestConfig, AxiosResponse, HeadersDefaults, ResponseType } from 'axios'; import axios from 'axios'; @@ -261,6 +310,138 @@ export class Api extends HttpClient + this.request({ + path: `/api/assets/readAssets/${readDirPath}`, + method: 'GET', + ...params, + }), + + /** + * No description + * + * @tags Assets + * @name AssetsControllerOpenDict + * @summary Open Assets Dictionary + * @request POST:/api/assets/openDict/{dirPath} + */ + assetsControllerOpenDict: (dirPath: string, params: RequestParams = {}) => + this.request({ + path: `/api/assets/openDict/${dirPath}`, + method: 'POST', + ...params, + }), + + /** + * No description + * + * @tags Assets + * @name AssetsControllerCreateNewFile + * @summary Create a New FIle + * @request POST:/api/assets/createNewFile + */ + assetsControllerCreateNewFile: (data: CreateNewFileDto, params: RequestParams = {}) => + this.request({ + path: `/api/assets/createNewFile`, + method: 'POST', + body: data, + type: ContentType.Json, + ...params, + }), + + /** + * No description + * + * @tags Assets + * @name AssetsControllerCreateNewFolder + * @summary Create Folder + * @request POST:/api/assets/createNewFolder + */ + assetsControllerCreateNewFolder: (data: CreateNewFolderDto, params: RequestParams = {}) => + this.request({ + path: `/api/assets/createNewFolder`, + method: 'POST', + body: data, + type: ContentType.Json, + ...params, + }), + + /** + * No description + * + * @tags Assets + * @name AssetsControllerUpload + * @summary Upload Files + * @request POST:/api/assets/upload + */ + assetsControllerUpload: (data: UploadFilesDto, params: RequestParams = {}) => + this.request({ + path: `/api/assets/upload`, + method: 'POST', + body: data, + type: ContentType.Json, + ...params, + }), + + /** + * No description + * + * @tags Assets + * @name AssetsControllerDeleteFileOrDir + * @summary Delete File or Directory + * @request POST:/api/assets/delete + */ + assetsControllerDeleteFileOrDir: (data: DeleteFileOrDirDto, params: RequestParams = {}) => + this.request({ + path: `/api/assets/delete`, + method: 'POST', + body: data, + type: ContentType.Json, + ...params, + }), + + /** + * No description + * + * @tags Assets + * @name AssetsControllerRename + * @summary Rename File or Directory + * @request POST:/api/assets/rename + */ + assetsControllerRename: (data: RenameFileDto, params: RequestParams = {}) => + this.request({ + path: `/api/assets/rename`, + method: 'POST', + body: data, + type: ContentType.Json, + ...params, + }), + + /** + * No description + * + * @tags Assets + * @name AssetsControllerEditTextFile + * @summary Edit Text File + * @request POST:/api/assets/editTextFile + */ + assetsControllerEditTextFile: (data: EditTextFileDto, params: RequestParams = {}) => + this.request({ + path: `/api/assets/editTextFile`, + method: 'POST', + body: data, + type: ContentType.Json, + ...params, + }), + /** * No description * @@ -308,6 +489,21 @@ export class Api extends HttpClient + this.request({ + path: `/api/manageGame/derivativeEngines`, + method: 'GET', + ...params, + }), + /** * No description * @@ -545,11 +741,11 @@ export class Api extends HttpClient + manageGameControllerDelete: (data: DeleteDto, params: RequestParams = {}) => this.request({ path: `/api/manageGame/delete`, method: 'POST', @@ -574,5 +770,115 @@ export class Api extends HttpClient + this.request({ + path: `/api/manageTemplate/templateList`, + method: 'GET', + ...params, + }), + + /** + * No description + * + * @tags Manage Template + * @name ManageTemplateControllerCreateTemplate + * @summary Create a new template + * @request POST:/api/manageTemplate/createTemplate + */ + manageTemplateControllerCreateTemplate: (data: CreateTemplateDto, params: RequestParams = {}) => + this.request({ + path: `/api/manageTemplate/createTemplate`, + method: 'POST', + body: data, + type: ContentType.Json, + ...params, + }), + + /** + * No description + * + * @tags Manage Template + * @name ManageTemplateControllerGetTemplateConfig + * @summary Get Template Configuration + * @request GET:/api/manageTemplate/getTemplateConfig/{templateName} + */ + manageTemplateControllerGetTemplateConfig: (templateName: string, params: RequestParams = {}) => + this.request({ + path: `/api/manageTemplate/getTemplateConfig/${templateName}`, + method: 'GET', + ...params, + }), + + /** + * No description + * + * @tags Manage Template + * @name ManageTemplateControllerDeleteTemplate + * @summary Delete Template + * @request DELETE:/api/manageTemplate/delete/{templateName} + */ + manageTemplateControllerDeleteTemplate: (templateName: string, params: RequestParams = {}) => + this.request({ + path: `/api/manageTemplate/delete/${templateName}`, + method: 'DELETE', + ...params, + }), + + /** + * No description + * + * @tags Manage Template + * @name ManageTemplateControllerApplyTemplateToGame + * @summary Apply template to a game + * @request POST:/api/manageTemplate/applyTemplateToGame + */ + manageTemplateControllerApplyTemplateToGame: (data: ApplyTemplateToGameDto, params: RequestParams = {}) => + this.request({ + path: `/api/manageTemplate/applyTemplateToGame`, + method: 'POST', + body: data, + type: ContentType.Json, + ...params, + }), + + /** + * No description + * + * @tags Manage Template + * @name ManageTemplateControllerGetStyleByClassName + * @summary Apply template to a game + * @request POST:/api/manageTemplate/getStyleByClassName + */ + manageTemplateControllerGetStyleByClassName: (data: GetStyleByClassNameDto, params: RequestParams = {}) => + this.request({ + path: `/api/manageTemplate/getStyleByClassName`, + method: 'POST', + body: data, + type: ContentType.Json, + ...params, + }), + }; + templatePreview = { + /** + * No description + * + * @name TemplatePreviewControllerGetTemplateAsset + * @request GET:/template-preview/{templateName}/game/template/{path} + */ + templatePreviewControllerGetTemplateAsset: (path: string, templateName: string, params: RequestParams = {}) => + this.request({ + path: `/template-preview/${templateName}/game/template/${path}`, + method: 'GET', + ...params, + }), }; } diff --git a/packages/origine2/public/fonts/JetBrainsMono-Regular.ttf b/packages/origine2/src/assets/fonts/JetBrainsMono-Regular.ttf similarity index 100% rename from packages/origine2/public/fonts/JetBrainsMono-Regular.ttf rename to packages/origine2/src/assets/fonts/JetBrainsMono-Regular.ttf diff --git a/packages/origine2/src/components/Assets/Assets.module.scss b/packages/origine2/src/components/Assets/Assets.module.scss new file mode 100644 index 000000000..86e893885 --- /dev/null +++ b/packages/origine2/src/components/Assets/Assets.module.scss @@ -0,0 +1,30 @@ +.controll { + display: flex; + padding: 8px; + gap: 4px; + align-items: center; + border-bottom: var(--border-sm); +} + +.fileUploadContainer { + display: flex; + align-items: center; + justify-content: center; + flex-flow: column; + gap: 1rem; +} + +.fileSelectInput { + width: 300px; + border: var(--border-md); + border-radius: var(--radius-md); + padding: 15px; + font-size: 16px; + outline: none; + cursor: pointer; +} + +.fileSelectInput:focus { + border: var(--border-primary-sm); + box-shadow: var(--shadow-primary-md); +} \ No newline at end of file diff --git a/packages/origine2/src/components/Assets/Assets.tsx b/packages/origine2/src/components/Assets/Assets.tsx new file mode 100644 index 000000000..127749bc7 --- /dev/null +++ b/packages/origine2/src/components/Assets/Assets.tsx @@ -0,0 +1,279 @@ +import { api } from "@/api"; +import { useValue } from "@/hooks/useValue"; +import { ChangeEvent, useEffect, useMemo, useState } from "react"; +import styles from "./Assets.module.scss"; +import { Badge, Button, Field, Input, Menu, MenuItem, MenuList, MenuPopover, MenuTrigger, Popover, PopoverSurface, PopoverTrigger, Radio, RadioGroup, Subtitle1, Text } from "@fluentui/react-components"; +import { ArrowExportUpFilled, ArrowExportUpRegular, ArrowLeftFilled, ArrowLeftRegular, ArrowSyncFilled, ArrowSyncRegular, DocumentAddFilled, DocumentAddRegular, FolderAddFilled, FolderAddRegular, FolderOpenFilled, FolderOpenRegular, MoreVerticalFilled, MoreVerticalRegular, bundleIcon } from "@fluentui/react-icons"; +import FileElement from "./FileElement"; +import axios from "axios"; +import { dirNameToExtNameMap } from "@/pages/editor/ChooseFile/chooseFileConfig"; +import useSWR, { useSWRConfig } from "swr"; +import {t} from '@lingui/macro'; + +export interface IFile { + extName: string; + isDir: boolean; + name: string; + path: string; +} + +export type IFolderType = 'animation' | 'background' | 'bgm' | 'figure' | 'scene' | 'template' | 'tex' | 'video' | 'vocal' + +export type IFileConfig = Map< +string, +{ + desc?: string, + folderType?: IFolderType, + isProtected?: boolean, +} +> + +export interface IFileFunction { + open?: (file: IFile, type: 'scene' | 'asset') => Promise, + create?: (source: string, name: string, type: 'file' | 'dir') => Promise, + rename?: (source: string, newName: string) => Promise, + delete?: (source: string) => Promise, +}; + +const ArrowLeftIcon = bundleIcon(ArrowLeftFilled, ArrowLeftRegular); +const DocumentAddIcon = bundleIcon(DocumentAddFilled, DocumentAddRegular); +const FolderAddIcon = bundleIcon(FolderAddFilled, FolderAddRegular); +const FolderOpenIcon = bundleIcon(FolderOpenFilled, FolderOpenRegular); +const MoreVerticalIcon = bundleIcon(MoreVerticalFilled, MoreVerticalRegular); +const ArrowExportUpIcon = bundleIcon(ArrowExportUpFilled, ArrowExportUpRegular); +const ArrowSyncIcon = bundleIcon(ArrowSyncFilled, ArrowSyncRegular); + +export default function Assets({basePath, isProtected = false, fileConfig, fileFunction}: + {basePath: string[], isProtected?: boolean, fileConfig?: IFileConfig, fileFunction?: IFileFunction}) { + const {mutate} = useSWRConfig(); + + const currentPath = useValue(basePath); + const currentPathString = useMemo(() => currentPath.value.join("/"), [currentPath]); + const isBasePath = (currentPathString === basePath.join('/')); + const folderType = fileConfig ? Array.from(fileConfig.entries()).find(([key]) => currentPathString.startsWith(key))?.[1].folderType : undefined; + const extName = folderType ? dirNameToExtNameMap.get(folderType) : []; + + const assetsFetcher = async () => { + const res = await api.assetsControllerReadAssets(currentPathString); + const data = res.data as unknown as object; + if ('dirInfo' in data && data.dirInfo) { + const dirInfo = (data.dirInfo as IFile[]).map((item) => ({ ...item, path: currentPathString + '/' + item.name })); + const dirs = dirInfo.filter((item) => item.isDir); + const files = dirInfo.filter((item) => !item.isDir).filter(e=>e.name!=='.gitkeep'); + dirs.sort((a, b) => a.name.localeCompare(b.name)); + files.sort((a, b) => a.name.localeCompare(b.name)); + return [...dirs, ...files]; + } else return []; + }; + + const {data: fileList} = useSWR(currentPathString, assetsFetcher); + + const handleRefresh = () => mutate(currentPathString); + const handleOpenFolder = () => api.assetsControllerOpenDict(currentPathString); + const handleBack = () => !isBasePath && currentPath.set(currentPath.value.slice(0, currentPath.value.length - 1)); + + const handleOpenFile = async (file: IFile) => { + if (file.isDir) { + currentPath.set([...currentPath.value, file.name]); + } else { + const isScene = (folderType === 'scene') && file.name.endsWith('.txt'); + fileFunction?.open && fileFunction.open(file, isScene ? 'scene' : 'asset'); + } + }; + + const handleCreateNewFile = async (source: string, name: string) => { + await api.assetsControllerCreateNewFile({ source, name }); + fileFunction?.create && await fileFunction.create(source, name, 'file'); + handleRefresh(); + }; + + const handleCreateNewFolder = async (source: string, name: string) => { + await api.assetsControllerCreateNewFolder({ source, name }); + fileFunction?.create && await fileFunction.create(source, name, 'dir'); + handleRefresh(); + }; + + const handleRenameFile = async (source: string, newName: string) => { + await api.assetsControllerRename({ source, newName }); + fileFunction?.rename && await fileFunction.rename(source, newName); + handleRefresh(); + }; + + const handleDeleteFile = async (source: string) =>{ + await api.assetsControllerDeleteFileOrDir({ source }); + fileFunction?.delete && await fileFunction.delete(source); + handleRefresh(); + }; + + const createNewFilePopoverOpen = useValue(false); + const createNewFolderPopoverOpen = useValue(false); + const newFileName = useValue(''); + const newFileExtensionName = useValue(folderType === 'scene' ? '.txt' : ''); + const uploadAssetPopoverOpen = useValue(false); + + return ( +
+
+ {!isBasePath && +
+ + createNewFolderPopoverOpen.set(!createNewFolderPopoverOpen.value)} + > + + +
+ + uploadAssetPopoverOpen.set(!uploadAssetPopoverOpen.value)} + > + +
+ { + extName && extName.length > 0 && +
+ {extName.map(item => {item})} +
+ } +
+ { + fileList?.map(file => + + ) + } +
+ + ); +} + +interface IFileUploaderProps { + targetDirectory: string; + uploadUrl: string; + onUpload: () => void; +} + +function FileUploader({ targetDirectory, uploadUrl, onUpload }: IFileUploaderProps) { + + const [files, setFiles] = useState([]); + + const handleFileChange = (event: ChangeEvent) => { + setFiles(Array.from(event.target.files!)); + }; + + const handleUpload = () => { + const formData = new FormData(); + formData.append("targetDirectory", targetDirectory); + files.forEach((file) => { + formData.append("files", file); + }); + + axios.post(uploadUrl, formData).then((response) => { + if (response.data) { + onUpload(); + } + }); + }; + + return ( +
+
+ +
+ +
+ ); +} diff --git a/packages/origine2/src/components/Assets/FileElement.module.scss b/packages/origine2/src/components/Assets/FileElement.module.scss new file mode 100644 index 000000000..fb539404c --- /dev/null +++ b/packages/origine2/src/components/Assets/FileElement.module.scss @@ -0,0 +1,22 @@ +.file { + display: flex; + flex-direction: row; + align-items: center; + gap: 2px; + padding: 0 8px; + cursor: pointer; + height: 28px; + border-radius: var(--radius-md); +} + +.file > button { + visibility: hidden; +} + +.file:hover { + background: var(--bg-button-hover); +} + +.file:hover > button { + visibility: visible; +} \ No newline at end of file diff --git a/packages/origine2/src/components/Assets/FileElement.tsx b/packages/origine2/src/components/Assets/FileElement.tsx new file mode 100644 index 000000000..4a0b7a245 --- /dev/null +++ b/packages/origine2/src/components/Assets/FileElement.tsx @@ -0,0 +1,97 @@ +import { getFileIcon, getDirIcon } from "@/utils/getFileIcon"; +import { Popover, PopoverTrigger, Button, PopoverSurface, Input, Text, Subtitle1 } from "@fluentui/react-components"; +import IconWrapper from "../iconWrapper/IconWrapper"; +import { IFile } from "./Assets"; +import styles from "./FileElement.module.scss"; +import { useValue } from '../../hooks/useValue'; +import { bundleIcon, RenameFilled, RenameRegular, DeleteFilled, DeleteRegular } from "@fluentui/react-icons"; +import {t} from "@lingui/macro"; + +const RenameIcon = bundleIcon(RenameFilled, RenameRegular); +const DeleteIcon = bundleIcon(DeleteFilled, DeleteRegular); + +export default function FileElement( + { file, desc, currentPath, isProtected, handleOpenFile, handleRenameFile, handleDeleteFile } + : { + file: IFile, + desc?: string, + currentPath: any, + isProtected?: boolean, + handleOpenFile: (file: IFile) => Promise, + handleRenameFile: (source: string, newName: string) => Promise, + handleDeleteFile: (source: string) => Promise, + }) { + const newFileName = useValue(file.name); + + return ( +
handleOpenFile(file)} + className={styles.file} + > + {!file.isDir && } + {file.isDir && } +
+ {file.name} {desc && {desc}} +
+ + { + !isProtected && + <> + (newFileName.value === '') && newFileName.set(file.name)}> + + +
+ + + + + + + + + + + } + + ); +} diff --git a/packages/origine2/src/components/Provider/GameEditorProvider.tsx b/packages/origine2/src/components/Provider/GameEditorProvider.tsx new file mode 100644 index 000000000..4c5d97cfe --- /dev/null +++ b/packages/origine2/src/components/Provider/GameEditorProvider.tsx @@ -0,0 +1,48 @@ +import { redirect } from "@/hooks/useHashRoute"; +import { gameListFetcher } from "@/pages/dashboard/DashBoard"; +import useEditorStore from "@/store/useEditorStore"; +import { GameEditorContext, createGameEditorStore } from "@/store/useGameEditorStore"; +import { Spinner } from "@fluentui/react-components"; +import { ReactNode, useRef } from "react"; +import useSWR from "swr"; + +const GameEditorProvider = ({ children }: { children: ReactNode }) => { + const page = useEditorStore.use.page(); + const gameName = useEditorStore.use.subPage(); + + if (page !== 'game' || !gameName) { + redirect('dashboard', 'game'); + }; + + const { data: gameList, isLoading: gameListLoading } = useSWR("game-list", gameListFetcher); + const fristLoading = gameListLoading && !gameList; + const inGameList = gameList && gameList.length > 0 && gameList.some((game) => game.dir === gameName); + + if (!fristLoading && !inGameList) { + redirect('dashboard', 'game'); + } + + return ( + <> + { + fristLoading && +
+ +
+ } + {inGameList && !fristLoading && {children}} + + ); +}; + +const GameEditorContextProvider = ({ children }: { children: ReactNode }) => { + const gameName = useEditorStore.use.subPage(); + const gameEditorStore = useRef(createGameEditorStore(gameName)).current; + return ( + + {children} + + ); +}; + +export default GameEditorProvider; \ No newline at end of file diff --git a/packages/origine2/src/components/Provider/TemplateEditorProvider.tsx b/packages/origine2/src/components/Provider/TemplateEditorProvider.tsx new file mode 100644 index 000000000..bfff3c2bb --- /dev/null +++ b/packages/origine2/src/components/Provider/TemplateEditorProvider.tsx @@ -0,0 +1,50 @@ +import { redirect } from "@/hooks/useHashRoute"; +import { templateListFetcher } from "@/pages/dashboard/DashBoard"; +import useEditorStore from "@/store/useEditorStore"; +import { TemplateEditorContext, createTemplateEditorStore } from "@/store/useTemplateEditorStore"; +import { Spinner } from "@fluentui/react-components"; +import { ReactNode, useRef } from "react"; +import useSWR from "swr"; + +const TemplateEditorProvider = ({ children }: { children: ReactNode }) => { + const page = useEditorStore.use.page(); + const templateName = useEditorStore.use.subPage(); + + if (page !== 'template' || !templateName) { + redirect('dashboard', 'template'); + } + + const {data: templateList, isLoading: templateListLoading} = useSWR("template-list", templateListFetcher); + const fristLoading = templateListLoading && !templateList; + const inTemplateList = templateList && templateList.length > 0 && templateList.some((template) => template.dir === templateName); + + if (!fristLoading && !inTemplateList) { + redirect('dashboard', 'template'); + } + + return ( + <> + { + fristLoading && +
+ +
+ } + {inTemplateList && !fristLoading && {children}} + + ); +}; + +const TemplateEditorContextProvider = ({ children }: { children: ReactNode}) => { + const page = useEditorStore.use.page(); + const subPage = useEditorStore.use.subPage(); + if (page !== 'template' || !subPage) redirect('dashboard'); + const templateEditorStore = useRef(createTemplateEditorStore(subPage)).current; + return( + + {children} + + ); +}; + +export default TemplateEditorProvider; \ No newline at end of file diff --git a/packages/origine2/src/components/translation/Translation.tsx b/packages/origine2/src/components/translation/Translation.tsx deleted file mode 100644 index 89da9771d..000000000 --- a/packages/origine2/src/components/translation/Translation.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import useLanguage from '@/hooks/useLanguage'; -import { useEffect } from 'react'; - -export default function Translation() { - const setLanguage = useLanguage(); - - useEffect(() => setLanguage(Number(window?.localStorage?.getItem('editor-lang'))) , []); - - return null; -} diff --git a/packages/origine2/src/config/info.ts b/packages/origine2/src/config/info.ts index 8bed71ac1..3fa178870 100644 --- a/packages/origine2/src/config/info.ts +++ b/packages/origine2/src/config/info.ts @@ -4,6 +4,6 @@ export interface Info { } export const __INFO: Info = { - version: '4.4.13', - buildTime: '2023-12-30T03:22:49.651Z', // 编译时会通过 version-sync.js 自动更新 + version: '4.5.0', + buildTime: '2024-04-04T06:24:48.463Z', // 编译时会通过 version-sync.js 自动更新 }; diff --git a/packages/origine2/src/config/swagger.json b/packages/origine2/src/config/swagger.json index f789fed37..73ea94d06 100644 --- a/packages/origine2/src/config/swagger.json +++ b/packages/origine2/src/config/swagger.json @@ -43,6 +43,224 @@ ] } }, + "/api/assets/readAssets/{readDirPath}": { + "get": { + "operationId": "AssetsController_readAssets", + "summary": "Read Assets", + "parameters": [ + { + "name": "readDirPath", + "required": true, + "in": "path", + "description": "Path of the directory to read assets from, including subdirectories.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Retrieve the assets of the directory." + } + }, + "tags": [ + "Assets" + ] + } + }, + "/api/assets/openDict/{dirPath}": { + "post": { + "operationId": "AssetsController_openDict", + "summary": "Open Assets Dictionary", + "parameters": [ + { + "name": "dirPath", + "required": true, + "in": "path", + "description": "Directory path to open.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Opens the assets dictionary for a specified game." + } + }, + "tags": [ + "Assets" + ] + } + }, + "/api/assets/createNewFile": { + "post": { + "operationId": "AssetsController_createNewFile", + "summary": "Create a New FIle", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateNewFileDto" + } + } + } + }, + "responses": { + "200": { + "description": "Successfully created the File." + }, + "400": { + "description": "Failed to create the File or file already exists." + } + }, + "tags": [ + "Assets" + ] + } + }, + "/api/assets/createNewFolder": { + "post": { + "operationId": "AssetsController_createNewFolder", + "summary": "Create Folder", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateNewFolderDto" + } + } + } + }, + "responses": { + "200": { + "description": "Folder created successfully." + }, + "400": { + "description": "Failed to create Folder." + } + }, + "tags": [ + "Assets" + ] + } + }, + "/api/assets/upload": { + "post": { + "operationId": "AssetsController_upload", + "summary": "Upload Files", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadFilesDto" + } + } + } + }, + "responses": { + "200": { + "description": "Files uploaded successfully." + }, + "400": { + "description": "Failed to upload files." + } + }, + "tags": [ + "Assets" + ] + } + }, + "/api/assets/delete": { + "post": { + "operationId": "AssetsController_deleteFileOrDir", + "summary": "Delete File or Directory", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteFileOrDirDto" + } + } + } + }, + "responses": { + "200": { + "description": "Successfully deleted the file or directory." + }, + "400": { + "description": "Failed to delete the file or directory." + } + }, + "tags": [ + "Assets" + ] + } + }, + "/api/assets/rename": { + "post": { + "operationId": "AssetsController_rename", + "summary": "Rename File or Directory", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RenameFileDto" + } + } + } + }, + "responses": { + "200": { + "description": "Successfully renamed the file or directory." + }, + "400": { + "description": "Failed to rename the file or directory." + } + }, + "tags": [ + "Assets" + ] + } + }, + "/api/assets/editTextFile": { + "post": { + "operationId": "AssetsController_editTextFile", + "summary": "Edit Text File", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EditTextFileDto" + } + } + } + }, + "responses": { + "200": { + "description": "File edited successfully." + }, + "400": { + "description": "Failed to edit the text." + } + }, + "tags": [ + "Assets" + ] + } + }, "/api/manageGame/gameList": { "get": { "operationId": "ManageGameController_getGameList", @@ -109,6 +327,21 @@ ] } }, + "/api/manageGame/derivativeEngines": { + "get": { + "operationId": "ManageGameController_getDerivativeEngines", + "summary": "Retrieve Derivative Engines", + "parameters": [], + "responses": { + "200": { + "description": "Returns a list of directories representing available derivative engines." + } + }, + "tags": [ + "Manage Game" + ] + } + }, "/api/manageGame/openGameAssetsDict/{gameName}": { "get": { "operationId": "ManageGameController_openGameAssetsDict", @@ -498,7 +731,7 @@ }, "/api/manageGame/delete": { "post": { - "operationId": "ManageGameController_deleteFileOrDir", + "operationId": "ManageGameController_delete", "summary": "Delete File or Directory", "parameters": [], "requestBody": { @@ -506,7 +739,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeleteFileOrDirDto" + "$ref": "#/components/schemas/DeleteDto" } } } @@ -551,6 +784,185 @@ "Manage Game" ] } + }, + "/api/manageTemplate/templateList": { + "get": { + "operationId": "ManageTemplateController_getTemplateList", + "summary": "Retrieve template list", + "parameters": [], + "responses": { + "200": { + "description": "Returned template list." + } + }, + "tags": [ + "Manage Template" + ] + } + }, + "/api/manageTemplate/createTemplate": { + "post": { + "operationId": "ManageTemplateController_createTemplate", + "summary": "Create a new template", + "parameters": [], + "requestBody": { + "required": true, + "description": "Template creation data", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateTemplateDto" + } + } + } + }, + "responses": { + "200": { + "description": "Template creation result." + } + }, + "tags": [ + "Manage Template" + ] + } + }, + "/api/manageTemplate/getTemplateConfig/{templateName}": { + "get": { + "operationId": "ManageTemplateController_getTemplateConfig", + "summary": "Get Template Configuration", + "parameters": [ + { + "name": "templateName", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Returned template configuration." + }, + "400": { + "description": "Failed to get the template configuration." + } + }, + "tags": [ + "Manage Template" + ] + } + }, + "/api/manageTemplate/delete/{templateName}": { + "delete": { + "operationId": "ManageTemplateController_deleteTemplate", + "summary": "Delete Template", + "parameters": [ + { + "name": "templateName", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Returned delete result." + }, + "400": { + "description": "Failed to delete." + } + }, + "tags": [ + "Manage Template" + ] + } + }, + "/api/manageTemplate/applyTemplateToGame": { + "post": { + "operationId": "ManageTemplateController_applyTemplateToGame", + "summary": "Apply template to a game", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplyTemplateToGameDto" + } + } + } + }, + "responses": { + "200": { + "description": "Returned apply result." + }, + "400": { + "description": "Failed to delete." + } + }, + "tags": [ + "Manage Template" + ] + } + }, + "/api/manageTemplate/getStyleByClassName": { + "post": { + "operationId": "ManageTemplateController_getStyleByClassName", + "summary": "Apply template to a game", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetStyleByClassNameDto" + } + } + } + }, + "responses": { + "200": { + "description": "Returned apply result." + }, + "400": { + "description": "Failed to delete." + } + }, + "tags": [ + "Manage Template" + ] + } + }, + "/template-preview/{templateName}/game/template/{path}": { + "get": { + "operationId": "TemplatePreviewController_getTemplateAsset", + "parameters": [ + { + "name": "path", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + }, + { + "name": "templateName", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + } + } + } } }, "info": { @@ -580,16 +992,118 @@ "params" ] }, + "CreateNewFileDto": { + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "The source path where the directory will be created" + }, + "name": { + "type": "string", + "description": "Name for the new file" + } + }, + "required": [ + "source", + "name" + ] + }, + "CreateNewFolderDto": { + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "The source path where the directory will be created" + }, + "name": { + "type": "string", + "description": "Name for the new directory" + } + }, + "required": [ + "source", + "name" + ] + }, + "UploadFilesDto": { + "type": "object", + "properties": { + "targetDirectory": { + "type": "string", + "description": "Target directory for the uploaded files" + } + }, + "required": [ + "targetDirectory" + ] + }, + "DeleteFileOrDirDto": { + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "The source path of the file or directory to be deleted" + } + }, + "required": [ + "source" + ] + }, + "RenameFileDto": { + "type": "object", + "properties": { + "source": { + "type": "string", + "description": "The source path of the file or directory to be renamed" + }, + "newName": { + "type": "string", + "description": "New name for renaming the file or directory" + } + }, + "required": [ + "source", + "newName" + ] + }, + "EditTextFileDto": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path of textfile" + }, + "textFile": { + "type": "string", + "description": "Text data content" + } + }, + "required": [ + "path", + "textFile" + ] + }, "CreateGameDto": { "type": "object", "properties": { "gameName": { "type": "string", "description": "The name of the game to be created" + }, + "derivative": { + "type": "string", + "description": "The name of the derivative to be used" + }, + "templateName": { + "type": "string", + "description": "The name of the template to be applied" } }, "required": [ - "gameName" + "gameName", + "derivative", + "templateName" ] }, "EditFileNameDto": { @@ -661,23 +1175,6 @@ "sceneData" ] }, - "EditTextFileDto": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "The path of textfile" - }, - "textFile": { - "type": "string", - "description": "Text data content" - } - }, - "required": [ - "path", - "textFile" - ] - }, "GameConfigDto": { "type": "object", "properties": { @@ -695,18 +1192,6 @@ "newConfig" ] }, - "UploadFilesDto": { - "type": "object", - "properties": { - "targetDirectory": { - "type": "string", - "description": "Target directory for the uploaded files" - } - }, - "required": [ - "targetDirectory" - ] - }, "MkDirDto": { "type": "object", "properties": { @@ -724,34 +1209,80 @@ "name" ] }, - "DeleteFileOrDirDto": { + "DeleteDto": { "type": "object", "properties": { - "source": { + "gameName": { "type": "string", "description": "The source path of the file or directory to be deleted" } }, "required": [ - "source" + "gameName" ] }, "RenameDto": { "type": "object", "properties": { - "source": { + "gameName": { "type": "string", - "description": "The source path of the file or directory to be renamed" + "description": "Old name for renaming the game" }, "newName": { "type": "string", - "description": "New name for renaming the file or directory" + "description": "New name for renaming the game" } }, "required": [ - "source", + "gameName", "newName" ] + }, + "CreateTemplateDto": { + "type": "object", + "properties": { + "templateName": { + "type": "string", + "description": "The name of the template to be created" + } + }, + "required": [ + "templateName" + ] + }, + "ApplyTemplateToGameDto": { + "type": "object", + "properties": { + "templateName": { + "type": "string", + "description": "The template name to apply" + }, + "gameName": { + "type": "string", + "description": "The game name to be applied." + } + }, + "required": [ + "templateName", + "gameName" + ] + }, + "GetStyleByClassNameDto": { + "type": "object", + "properties": { + "className": { + "type": "string", + "description": "The name of class to be fetched" + }, + "filePath": { + "type": "string", + "description": "The path of stylesheet file to be fetched" + } + }, + "required": [ + "className", + "filePath" + ] } } } diff --git a/packages/origine2/src/config/themes/theme.css b/packages/origine2/src/config/themes/theme.css index 2d8bddc29..e87e8fa3f 100644 --- a/packages/origine2/src/config/themes/theme.css +++ b/packages/origine2/src/config/themes/theme.css @@ -34,6 +34,7 @@ --text-sub: rgb(102, 102, 102); --text-weak: rgb(123, 123, 123); --bg-base: rgb(255, 255, 255); + --bg-primary: var(--primary); --bg-root: rgb(250, 250, 250); --bg-card: rgb(255, 255, 255); --bg-card-hover: var(--black-5pct); diff --git a/packages/origine2/src/hooks/useExpand.ts b/packages/origine2/src/hooks/useExpand.ts deleted file mode 100644 index ffe38666b..000000000 --- a/packages/origine2/src/hooks/useExpand.ts +++ /dev/null @@ -1,10 +0,0 @@ -import {useDispatch, useSelector} from "react-redux"; -import {RootState} from "@/store/origineStore"; -import {updateGraphicalEditorCurrentExpandSentence} from "@/store/statusReducer"; - -export function useExpand() { - const currentExpandSentence = useSelector((state: RootState) => state.status.editor.graphicalEditorState.currentExpandSentence); - const dispatch = useDispatch(); - const updateIndex = (index:number)=>dispatch(updateGraphicalEditorCurrentExpandSentence(index)); - return {expandIndex:currentExpandSentence,updateExpandIndex:updateIndex}; -} diff --git a/packages/origine2/src/hooks/useHashRoute.ts b/packages/origine2/src/hooks/useHashRoute.ts index c67dfb8e8..30b766dbe 100644 --- a/packages/origine2/src/hooks/useHashRoute.ts +++ b/packages/origine2/src/hooks/useHashRoute.ts @@ -1,82 +1,44 @@ -import {useDispatch, useSelector} from "react-redux"; -import {RootState} from "@/store/origineStore"; -import {useEffect} from "react"; -import {setDashboardShow, setEditingGame, statusActions} from "@/store/statusReducer"; -import {ITag} from "@/store/statusReducer"; - -export function useHashRoute() { - const state = useSelector((state: RootState) => state.status); - const isShowDashboard = state.dashboard.showDashBoard; - const editingGameName = state.editor.currentEditingGame; - const currentTag = state.editor.selectedTagTarget; - const dispatch = useDispatch(); - useEffect(() => { - setTimeout(() => { - // 写入 Hash - // 如果显示 dashboard 或者两个状态都为空,则清空哈希 - if (isShowDashboard || (!editingGameName && !currentTag)) { - window.location.hash = ''; - return; - } - console.log(currentTag); - const tagInfoObj = state.editor.tags.find(e => e.tagTarget === currentTag); - let tagStr = ''; - if (tagInfoObj) { - tagStr = JSON.stringify(tagInfoObj); - } - tagStr = encodeURIComponent(tagStr); - // 基于当前的状态构造哈希字符串,过滤掉空字符串并用 '/' 连接 - const hashParts = [editingGameName, tagStr].filter(part => part !== ''); - // 更新浏览器的哈希部分 - window.location.hash = `#/${hashParts.join('/')}`; - }, 50); - - }, [isShowDashboard, editingGameName, currentTag]); - - useEffect(() => { - const result = decodeHash(); - if (result.editingGameName !== '') { - dispatch(setDashboardShow(false)); - dispatch(setEditingGame(decodeURIComponent(result.editingGameName))); - if (result.currentTag !== '') { - const currentTagJsonStr = decodeURIComponent(result.currentTag); - let tagObj: null | ITag = null; - try { - tagObj = JSON.parse(currentTagJsonStr); - } catch (e) { +import { routers } from "@/App"; +import useEditorStore from "@/store/useEditorStore"; +import { useEffect } from "react"; + +export type IPage = 'dashboard' | 'game' | 'template'; + +export const redirect = (page: IPage, subPage?: string) => { + window.location.hash = `${routers[page].url}${subPage ? `/${subPage}` : ''}`; +}; + +export default function useHashRoute() { + const updatePage = useEditorStore.use.updatePage(); + const updateSubPage = useEditorStore.use.updateSubPage(); + + useEffect( + () => { + const handleHashChange = () => { + const [, _page, _subPage] = window.location.hash.split('/'); + if (['game', 'template'].includes(_page) && _subPage && _subPage.length > 0) { + updatePage(_page as IPage); + try { + updateSubPage(decodeURIComponent(_subPage)); + } catch (error) { + updateSubPage(_page); + redirect('dashboard', _page); + } + } else if (_page === 'dashboard' && ['game', 'template'].includes(_subPage)) { + updatePage('dashboard'); + updateSubPage(_subPage); + } else { + updateSubPage('game'); + redirect('dashboard', 'game'); } - if (tagObj) { - dispatch(statusActions.addEditAreaTag(tagObj)); - dispatch(statusActions.setCurrentTagTarget(tagObj.tagTarget)); - } - - } - } - }, []); - -} - -function decodeHash() { - // 获取当前 URL 的哈希部分 - const hash = window.location.hash; - - // 如果没有哈希,返回空 - if (!hash) { - return {editingGameName: '', currentTag: ''}; - } - - // 移除哈希开头的 #/ ,然后分割字符串 - const parts = hash.slice(2).split('/'); - - // 根据 parts 的长度返回相应的值 - if (parts.length === 0) { - // 哈希存在但没有内容 - return {editingGameName: '', currentTag: ''}; - } else if (parts.length === 1) { - // 只有 editingGameName - return {editingGameName: parts[0], currentTag: ''}; - } else { - // 有 editingGameName 和 currentTag - return {editingGameName: parts[0], currentTag: parts[1]}; - } -} + }; + handleHashChange(); + window.addEventListener('hashchange', handleHashChange); + return () => { + window.removeEventListener('hashchange', handleHashChange); + }; + }, + [] + ); + +} \ No newline at end of file diff --git a/packages/origine2/src/hooks/useLanguage.ts b/packages/origine2/src/hooks/useLanguage.ts index ebce467bc..664cf1462 100644 --- a/packages/origine2/src/hooks/useLanguage.ts +++ b/packages/origine2/src/hooks/useLanguage.ts @@ -1,34 +1,16 @@ -import { useTranslation } from 'react-i18next'; -import { useDispatch } from 'react-redux'; -import { useGenSyncRef } from './useGenSyncRef'; -import { language } from '@/store/statusReducer'; -import { RootState } from '@/store/origineStore'; import { logger } from '@/utils/logger'; -import { setLanguage } from '@/store/statusReducer'; +import useEditorStore from '@/store/useEditorStore'; +import {useEffect} from 'react'; +import {i18nActivate} from "@/main"; -export function getLanguageName(lang: language): string { - switch (lang) { - case language.zhCn: - return 'zhCn'; - case language.en: - return 'en'; - case language.jp: - return 'jp'; - } -} - -export default function useLanguage(): (lang?: language) => void { - const { i18n } = useTranslation(); - const GlobalStatesRef = useGenSyncRef((state: RootState) => state.status); - const dispatch = useDispatch(); - - return (_lang?: language) => { - const lang = (Number.isNaN(_lang) ? null : _lang) ?? GlobalStatesRef.current?.editor.language ?? language.zhCn; - - const languageName = getLanguageName(lang); - i18n.changeLanguage(languageName); +export default function useLanguage() { + const language = useEditorStore.use.language(); - dispatch(setLanguage(lang)); - logger.info('设置语言: ' + languageName); - }; + useEffect( + () => { + logger.info('设置语言: ' + language); + i18nActivate(language); + }, + [language] + ); } diff --git a/packages/origine2/src/hooks/useTrans.ts b/packages/origine2/src/hooks/useTrans.ts deleted file mode 100644 index 016f84425..000000000 --- a/packages/origine2/src/hooks/useTrans.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { useTranslation } from 'react-i18next'; -import { IFormat } from './useVarTrans'; - -interface IFormatKey { - key: string; - format: IFormat; -} - -type IKey = string | IFormatKey; - -/** - * @param prefix 翻译时自动添加的前缀 - * @returns 翻译函数, 输入key时会自动添加前缀, "$" 开头则不填加. 输入多个 key 则会返回翻译数组. - */ -export default function useTrans(prefix?: string) { - const { t } = useTranslation(); - const trans = (transKey: IKey) => { - const isString = typeof transKey === 'string'; - const key = isString ? transKey : transKey.key; - const format = isString ? undefined : transKey.format; - - return t(key[0] === '$' ? key.slice(1) : prefix + key, format as any) as unknown as string; - }; - - function translation(key: IKey): string; - function translation(key: IKey, ...keys: IKey[]): string[]; - function translation(key: IKey, ...keys: IKey[]) { - if (keys.length) return [trans(key), ...keys.map((v) => trans(v))]; - return trans(key); - } - - return translation; -} diff --git a/packages/origine2/src/hooks/useVarTrans.ts b/packages/origine2/src/hooks/useVarTrans.ts deleted file mode 100644 index 90ad9f2d4..000000000 --- a/packages/origine2/src/hooks/useVarTrans.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { useTranslation } from 'react-i18next'; - -export type IFormat = Record; - -/** - * @param prefix 翻译时自动添加的前缀 - * @returns 翻译函数, 输入key时会自动添加前缀, "$" 开头则不填加. 输入多个 key 则会返回翻译数组. - */ -export default function useVarTrans(prefix?: string) { - const { t } = useTranslation(); - const trans = (key: string, format?: IFormat) => t(key[0] === '$' ? key.slice(1) : prefix + key, format as any); - - function translation(key: T, format?: IFormat): T { - if (typeof key === 'string') return trans(key, format) as unknown as T; - return key.map(k => trans(k, format)) as unknown as T; - } - - return translation; -} \ No newline at end of file diff --git a/packages/origine2/src/locales/en.po b/packages/origine2/src/locales/en.po new file mode 100644 index 000000000..9de4e98a2 --- /dev/null +++ b/packages/origine2/src/locales/en.po @@ -0,0 +1,1617 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2024-04-03 21:59+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: en\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Plural-Forms: \n" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:221 +msgid ";注释" +msgstr "Comment" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:32 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:90 +msgid "%" +msgstr "%" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:16 +msgid "BGM" +msgstr "BGM" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:48 +msgid "BGM 音量" +msgstr "BGM volume" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:109 +msgid "bgm:选择背景音乐;" +msgstr "bgm: Choose a BGM;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:149 +msgid "callScene:选择场景文件;" +msgstr "callScene: Choose a scene file;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:15 +msgid "CG" +msgstr "CG" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:85 +msgid "changeBg: 选择背景图片;" +msgstr "changeBg: Choose a background;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:93 +msgid "changeFigure:选择立绘文件;" +msgstr "changeFigure: Choose a file of figure;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:157 +msgid "changeScene:选择场景文件;" +msgstr "changeScene: Choose a file of scene;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:165 +msgid "choose:选项:选择场景文件;" +msgstr "choose: Choose a scene file;" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:42 +msgid "CSS 属性值" +msgstr "CSS Property Value" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:36 +msgid "CSS 属性名:" +msgstr "CSS Property Name" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:213 +msgid "end;" +msgstr "end;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:245 +msgid "getUserInput:;" +msgstr "getUserInput:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:205 +msgid "Intro 文本" +msgstr "Intro texts" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:141 +msgid "intro:;" +msgstr "intro:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:173 +msgid "miniAvatar:选择小头像;" +msgstr "miniAvatar: Choose a file of avatar;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:133 +msgid "pixiInit;" +msgstr "pixiInit;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:125 +msgid "pixiPerform:snow;" +msgstr "pixiPerform:snow;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:181 +msgid "playEffect:选择效果音文件;" +msgstr "playEffect: Choose a sound effect file;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:117 +msgid "playVideo:选择视频文件;" +msgstr "playVideo: Choose a video file;" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:121 +msgid "RGB电影滤镜" +msgstr "RGB film" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:101 +msgid "setAnimation:选择动画文件;" +msgstr "setAnimation: Choose a file of animation;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:205 +msgid "setTextbox:hide;" +msgstr "setTextbox:hide;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:237 +msgid "setTransform: -duration=0;" +msgstr "setTransform: -duration=0;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:229 +msgid "setTransition:;" +msgstr "setTransition:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:197 +msgid "unlockBgm:;" +msgstr "unlockBgm:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:189 +msgid "unlockCg:;" +msgstr "unlockCg:;" + +#: src/pages/dashboard/Sidebar.tsx:60 +#: src/pages/dashboard/Sidebar.tsx:65 +msgid "WebGAL Classic" +msgstr "WebGAL Classic" + +#: src/pages/dashboard/Sidebar.tsx:50 +#: src/pages/dashboard/Sidebar.tsx:54 +msgid "WebGAL Standard" +msgstr "WebGAL Standard" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:86 +msgid "X轴位移:" +msgstr " X:" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:95 +msgid "X轴缩放:" +msgstr " Scale x:" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:90 +msgid "Y轴位移:" +msgstr " Y:" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:99 +msgid "Y轴缩放:" +msgstr " Scale y:" + +#: src/pages/editor/Topbar/Topbar.tsx:101 +msgid "一直显示功能区" +msgstr "Always Show Toolbar" + +#: src/components/Assets/Assets.tsx:274 +#: src/components/Assets/Assets.tsx:276 +msgid "上传" +msgstr "Upload" + +#: src/components/Assets/Assets.tsx:198 +msgid "上传资源" +msgstr "Upload asset" + +#: src/pages/dashboard/About.tsx:88 +msgid "下载最新版本" +msgstr "Download Latest Version" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:14 +msgid "下雨" +msgstr "Rain" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:13 +msgid "下雪" +msgstr "Snow" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:130 +msgid "不显示角色名" +msgstr "Hide the role name" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:56 +msgid "个字" +msgstr " Words" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:55 +msgid "中" +msgstr "Medium" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:47 +msgid "中间" +msgstr "Center" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:29 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:19 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:27 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:20 +msgid "中间立绘" +msgstr "Figure at center" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:128 +msgid "为当前的舞台添加特殊效果" +msgstr "Apply the special effect for stage" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:104 +msgid "为立绘或背景图片设置动画效果" +msgstr "Set the animation effect for the figure or background" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:240 +msgid "为立绘或背景图片设置效果" +msgstr "Set effect for figure or background" + +#: src/pages/templateEditor/TemplateGraphicalEditor/TemplateGraphicalEditor.tsx:60 +msgid "主要样式" +msgstr "Main Style" + +#: src/pages/editor/Topbar/Topbar.tsx:111 +msgid "主页" +msgstr "WebGAL Home" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:76 +msgid "代码编辑器" +msgstr "Code Editor" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:46 +msgid "使用引擎内置的特效" +msgstr "Use the special effects prepared in engine" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:124 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:40 +msgid "使用特效" +msgstr "Apply special effect" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:31 +msgid "使用立绘ID" +msgstr "Figure ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:46 +msgid "使用自定义特效" +msgstr "Use the special effects defined by user" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:42 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:48 +msgid "使用预制特效" +msgstr "Use prepared special effects" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:47 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:73 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:52 +msgid "使用预设的作用目标,如果设置了id则不生效" +msgstr "Use prepared apply target, if target set the ID, it won't apply" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:44 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:70 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:49 +msgid "使用预设目标" +msgstr "Use prepared target" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:34 +msgid "侧边栏" +msgstr "Sidebar" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:43 +msgid "侧边栏游戏预览" +msgstr "Sidebar Game Preview" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGColor.tsx:32 +msgid "修改颜色" +msgstr "Edit Color" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:44 +msgid "值" +msgstr "Value" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:45 +msgid "偏移右侧距离(定位用)" +msgstr "Offset right (for positioning)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:44 +msgid "偏移左侧距离(定位用)" +msgstr "Offset left (for positioning)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:47 +msgid "偏移底部距离(定位用)" +msgstr "Offset bottom (for positioning)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:46 +msgid "偏移顶部距离(定位用)" +msgstr "Offset top (for positioning)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:29 +msgid "停止 BGM" +msgstr "Stop the BGM" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:30 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:88 +msgid "像素" +msgstr "pixel" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:122 +msgid "光辉电影滤镜" +msgstr "Godray film" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:140 +msgid "全屏文字" +msgstr "Full-screen text" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:144 +msgid "全屏显示一段文字,用于独白或引出场景" +msgstr "Show some texts on Full-screen" + +#: src/pages/dashboard/About.tsx:65 +#: src/pages/dashboard/About.tsx:66 +msgid "关于" +msgstr "About" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:143 +msgid "关联立绘" +msgstr "Associated figure" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:18 +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:25 +msgid "关闭小头像" +msgstr "Hide the avatar" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:23 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:30 +msgid "关闭效果音" +msgstr "Stop the sound effect" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:140 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:147 +msgid "关闭立绘" +msgstr "Hide the figure" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:37 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:44 +msgid "关闭背景" +msgstr "Hide the background" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:39 +msgid "最大宽度" +msgstr "Max Width" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:42 +msgid "最大高度" +msgstr "Max Height" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:38 +msgid "最小宽度" +msgstr "Min Width" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:41 +msgid "最小高度" +msgstr "Min Height" + +#: src/pages/dashboard/About.tsx:81 +msgid "最新版本" +msgstr "Latest Version" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/GetUserInput.tsx:21 +msgid "写入变量" +msgstr "Write Variable" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:164 +msgid "分支选择" +msgstr "Choose branch" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:160 +msgid "切换到另一个场景文件,并清除当前场景" +msgstr "Turn to new scene, and clear this scene" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:156 +msgid "切换场景" +msgstr "Change scene" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:33 +msgid "切换场景,新场景直接替换父场景" +msgstr "Change scene, new scene will replace old scene" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:92 +msgid "切换立绘" +msgstr "Change figure" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:84 +msgid "切换背景" +msgstr "Change background" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:88 +msgid "切换背景图片" +msgstr "Change background image" + +#: src/components/Assets/Assets.tsx:157 +#: src/components/Assets/Assets.tsx:185 +#: src/pages/dashboard/Sidebar.tsx:106 +#: src/pages/dashboard/TemplateSidebar.tsx:56 +msgid "创建" +msgstr "Create" + +#: src/pages/dashboard/TemplateSidebar.tsx:48 +msgid "创建新模板" +msgstr "Create new template" + +#: src/pages/dashboard/Sidebar.tsx:94 +msgid "创建新游戏" +msgstr "Create new game" + +#: src/components/Assets/FileElement.tsx:82 +#: src/components/Assets/FileElement.tsx:89 +#: src/pages/dashboard/GameElement.tsx:152 +#: src/pages/dashboard/TemplateElement.tsx:131 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:193 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:114 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:103 +msgid "删除" +msgstr "Delete" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:89 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:90 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:96 +msgid "删除属性" +msgstr "Delete Property" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:205 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:28 +msgid "删除本句" +msgstr "Delete this sentence" + +#: src/pages/dashboard/TemplateElement.tsx:91 +#: src/pages/dashboard/TemplateElement.tsx:128 +msgid "删除模板" +msgstr "Delete template" + +#: src/pages/dashboard/GameElement.tsx:97 +#: src/pages/dashboard/GameElement.tsx:137 +msgid "删除游戏" +msgstr "Delete game" + +#: src/components/Assets/Assets.tsx:211 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:155 +msgid "刷新" +msgstr "Refresh" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:49 +msgid "刷新游戏" +msgstr "Refresh game" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGFontWeight.tsx:16 +msgid "加粗" +msgstr "Bold" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:103 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:240 +msgid "动画" +msgstr "Animation" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:283 +msgid "半张嘴" +msgstr "Half open mouth" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:68 +msgid "单位毫秒。 0~ 有效" +msgstr "Unit milliseconds. 0~ valid" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:220 +msgid "单行注释" +msgstr "Single line comment" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:119 +msgid "反射电影滤镜" +msgstr "Reflection film filter" + +#: src/pages/editor/ChooseFile/ChooseFile.tsx:99 +msgid "取消" +msgstr "Cancel" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:85 +msgid "变换" +msgstr "Transform" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:49 +msgid "右侧" +msgstr "Right" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:30 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:20 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:28 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:21 +msgid "右侧立绘" +msgstr "Right side figure" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:112 +msgid "启动、切换或停止背景音乐的播放" +msgstr "Start, switch or stop the playback of background music" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:123 +msgid "启动图" +msgstr "Startup image" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:37 +msgid "启用视频跳过" +msgstr "Enable video skipping" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:258 +msgid "唇形同步与眨眼" +msgstr "Lip sync and blinking" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:65 +msgid "图形编辑器" +msgstr "Graphical editor" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:51 +msgid "圆角" +msgstr "Rounded corners" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:176 +msgid "在对话框的左下角显示一个小头像" +msgstr "Display a small avatar in the lower left corner of the dialog box" + +#: src/pages/dashboard/GameElement.tsx:94 +#: src/pages/dashboard/TemplateElement.tsx:88 +msgid "在文件管理器中打开" +msgstr "Open in file explorer" + +#: src/pages/dashboard/GameElement.tsx:95 +#: src/pages/dashboard/TemplateElement.tsx:89 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:161 +msgid "在新标签页中预览" +msgstr "Preview in new tab" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Template.tsx:12 +msgid "在这里放置编辑组件" +msgstr "Place editing components here" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:108 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:192 +msgid "场景" +msgstr "Scene" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:58 +msgid "场景与分支" +msgstr "Scenes and branches" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:19 +msgid "场景文件" +msgstr "Scene file" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:56 +msgid "大" +msgstr "Large" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:50 +msgid "字体" +msgstr "Font" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:33 +msgid "字体大小" +msgstr "Font size" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:35 +msgid "字母间距" +msgstr "Letter spacing" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:34 +msgid "字重" +msgstr "Font Weight" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:43 +msgid "定位方式" +msgstr "Positioning" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:57 +msgid "实时预览" +msgstr "Live preview" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:167 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:71 +msgid "实时预览关闭" +msgstr "Live preview off" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:59 +msgid "实时预览将游戏快进至编辑语句,但有限制。先前场景的语句效果,如变量,不会反映在预览中。" +msgstr "Live preview fast-forwards the game to the edited statement, but with limitations. The effects of statements from previous scenes, such as variables, won't be reflected in the preview." + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:167 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:71 +msgid "实时预览打开" +msgstr "Live preview on" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:37 +msgid "宽度" +msgstr "Width" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:106 +msgid "对话" +msgstr "Dialogue" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/GetUserInput.tsx:32 +msgid "对话框标题" +msgstr "Dialog title" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:18 +#: src/pages/editor/Topbar/Topbar.tsx:86 +msgid "导出" +msgstr "Export" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:24 +msgid "导出为可执行文件" +msgstr "Export as executable file" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:27 +msgid "导出为安卓项目文件" +msgstr "Export as Android project file" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:21 +msgid "导出为网页" +msgstr "Export as webpage" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:54 +msgid "小" +msgstr "Small" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:27 +msgid "小头像文件" +msgstr "Avatar file" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:49 +msgid "层级顺序" +msgstr "Z Index" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:25 +msgid "展示小头像" +msgstr "Show avatar" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:43 +msgid "属性" +msgstr "Property" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:48 +msgid "左侧" +msgstr "Left" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:28 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:18 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:26 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:19 +msgid "左侧立绘" +msgstr "Left side figure" + +#: src/pages/dashboard/DashBoard.tsx:126 +msgid "已创建" +msgstr "Created" + +#: src/pages/editor/Topbar/tabs/Help/HelpTab.tsx:12 +#: src/pages/editor/Topbar/tabs/Help/HelpTab.tsx:15 +#: src/pages/editor/Topbar/Topbar.tsx:84 +msgid "帮助" +msgstr "Help" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:114 +msgid "帮助文档" +msgstr "Documents" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:37 +msgid "常规演出" +msgstr "Regular performance" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:294 +msgid "应用颜色变化" +msgstr "Apply color changes" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:253 +msgid "延迟时间(秒)" +msgstr "Delay time (seconds)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:272 +msgid "张开嘴" +msgstr "Open mouth" + +#: src/pages/dashboard/About.tsx:77 +msgid "当前版本" +msgstr "Current version" + +#: src/pages/dashboard/GameElement.tsx:146 +msgid "我确定要删除游戏" +msgstr "I'm sure to delete the game" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:47 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:73 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:52 +msgid "手动输入 ID" +msgstr "Manually enter ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:78 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:227 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:43 +msgid "打开效果编辑器" +msgstr "Open effect editor" + +#: src/components/Assets/Assets.tsx:212 +msgid "打开文件夹" +msgstr "Open folder" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:213 +msgid "执行到此句" +msgstr "Execute to this sentence" + +#: src/components/Assets/Assets.tsx:142 +msgid "扩展名" +msgstr "Extension name" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:88 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:91 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:240 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:242 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:52 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:55 +msgid "持续时间(单位为毫秒)" +msgstr "Duration (unit milliseconds)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCursor.tsx:17 +msgid "指针" +msgstr "Pointer" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:208 +msgid "控制是否要显示文本框" +msgstr "Control whether to display the text box" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGColor.tsx:36 +msgid "提交" +msgstr "Submit" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonEditor.tsx:22 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:35 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:93 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonNumberEditor.tsx:23 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCustomProperty.tsx:20 +msgid "提交修改" +msgstr "Submit changes" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:32 +msgid "提示:先设置立绘/背景,再应用动画,否则找不到目标。" +msgstr "Tip: Set the figure/background first, then apply the animation, otherwise the target cannot be found." + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:31 +msgid "提示:在编辑结束后,如果发现有失效的鉴赏 CG/BGM ,在 WebGAL 游戏界面的选项中选择清除全部数据以清空。" +msgstr "Tip: After editing, if you find any invalid CG/BGM in the appreciation gallery, select Clear All Data in the options of the WebGAL game interface to clear them." + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:82 +msgid "提示:换行符最多可达三行" +msgstr "Tip: Line breaks can be up to three lines" + +#: src/pages/editor/ChooseFile/ChooseFile.tsx:108 +#: src/pages/editor/ChooseFile/ChooseFile.tsx:109 +msgid "搜索文件" +msgstr "Search file" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:120 +msgid "播放一小段视频" +msgstr "Play a short video" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:184 +msgid "播放一段效果音" +msgstr "Play a sound effect" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:30 +msgid "播放效果音" +msgstr "Play sound effect" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:116 +msgid "播放视频" +msgstr "Play video" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:120 +msgid "故障电影滤镜" +msgstr "Glitch film filter" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:103 +msgid "效果" +msgstr "Effect" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:180 +msgid "效果声音" +msgstr "Sound effect" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:83 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:235 +msgid "效果提示" +msgstr "Effect tip" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:41 +msgid "效果编辑" +msgstr "Effect editing" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:80 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:230 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:45 +msgid "效果编辑器" +msgstr "Effect editor" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:222 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:224 +msgid "效果选项" +msgstr "Effect options" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:62 +msgid "效果音 ID" +msgstr "Sound effect ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:54 +msgid "效果音 ID(输入以使效果音循环,后面再用这个 id 来关闭)" +msgstr "Sound effect ID (Input ID makes this effect loop, you can't stop it by this ID after)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:42 +msgid "效果音 音量" +msgstr "Sound effect volume" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:32 +msgid "效果音文件" +msgstr "Sound effect file" + +#: src/pages/editor/Topbar/Topbar.tsx:77 +msgid "文件" +msgstr "File" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:227 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:168 +msgid "文字大小" +msgstr "Font size" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:283 +msgid "文字颜色" +msgstr "Font color" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:204 +msgid "文本显示" +msgstr "Text display" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:31 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:89 +msgid "文本长度 (em)" +msgstr "Text length (em)" + +#: src/pages/dashboard/About.tsx:106 +msgid "文档" +msgstr "Document" + +#: src/components/Assets/Assets.tsx:135 +msgid "新建文件" +msgstr "Create new file" + +#: src/components/Assets/Assets.tsx:170 +msgid "新建文件夹" +msgstr "Create new folder" + +#: src/pages/dashboard/TemplateSidebar.tsx:44 +#: src/pages/dashboard/TemplateSidebar.tsx:54 +msgid "新建模板" +msgstr "Create new template" + +#: src/pages/dashboard/Sidebar.tsx:90 +msgid "新建游戏" +msgstr "Create new game" + +#: src/components/Assets/Assets.tsx:138 +msgid "新文件名" +msgstr "New file name" + +#: src/components/Assets/Assets.tsx:173 +msgid "新文件夹名" +msgstr "New folder name" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:56 +msgid "新标签页预览" +msgstr "Preview in new tab" + +#: src/pages/dashboard/TemplateSidebar.tsx:53 +msgid "新模板名" +msgstr "New template name" + +#: src/pages/dashboard/Sidebar.tsx:100 +msgid "新游戏名" +msgstr "New game name" + +#: src/pages/dashboard/TemplateSidebar.tsx:23 +msgid "新的模板" +msgstr "New template" + +#: src/pages/dashboard/Sidebar.tsx:34 +#: src/pages/dashboard/Sidebar.tsx:75 +#: src/pages/dashboard/Sidebar.tsx:99 +#: src/pages/dashboard/TemplateSidebar.tsx:29 +msgid "新的游戏" +msgstr "New game" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:126 +msgid "旁白模式" +msgstr "Voiceover mode" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:91 +msgid "旁白模式,无角色名" +msgstr "Voiceover mode, no role name" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:108 +msgid "旋转角度:" +msgstr "Rotation angle:" + +#: src/components/Assets/Assets.tsx:144 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCursor.tsx:16 +msgid "无" +msgstr "None" + +#: src/pages/dashboard/GameElement.tsx:141 +msgid "是否要删除 \"{gameName}\" ?" +msgstr "Are you sure you want to delete \"{gameName}\"?" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:40 +msgid "显示侧边栏" +msgstr "Show sidebar" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:75 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:224 +msgid "显示效果" +msgstr "Display effect" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTextbox.tsx:20 +msgid "显示文本框" +msgstr "Show text box" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:147 +msgid "显示立绘" +msgstr "Show figure" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:44 +msgid "显示背景" +msgstr "Show background" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:130 +msgid "显示角色名" +msgstr "Show role name" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:76 +msgid "普通对话" +msgstr "General dialogue" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:27 +msgid "未指定" +msgstr "Unspecified" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:66 +msgid "未识别" +msgstr "Unrecognized" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Unrecognized.tsx:10 +msgid "未识别的指令" +msgstr "Unrecognized command" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:176 +msgid "本句前插入句子" +msgstr "Insert sentence before this" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:60 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:164 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:79 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:105 +msgid "本句执行后执行下一句" +msgstr "Execute next sentence after this" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:61 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:165 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:79 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:105 +msgid "本句执行后等待" +msgstr "Wait after this sentence" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:107 +msgid "标题背景图片" +msgstr "Title background image" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:115 +msgid "标题背景音乐" +msgstr "Title background music" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:33 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:91 +msgid "根文本长度 (rem)" +msgstr "Root Font Size (rem)" + +#: src/pages/dashboard/About.tsx:66 +msgid "检测到新版本" +msgstr "New version detected" + +#: src/pages/dashboard/DashBoard.tsx:176 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:110 +msgid "模板" +msgstr "Template" + +#: src/pages/dashboard/TemplateSidebar.tsx:35 +msgid "模板列表" +msgstr "Template list" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:15 +msgid "櫻花" +msgstr "Cherry blossoms" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGFontWeight.tsx:15 +msgid "正常" +msgstr "Normal" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:36 +msgid "正常播放 BGM" +msgstr "Play BGM normally" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/End.tsx:9 +msgid "此指令将结束游戏" +msgstr "This command will end the game" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:82 +msgid "永不换行" +msgstr "Never wrap" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Comment.tsx:21 +msgid "注释" +msgstr "Comment" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Comment.tsx:22 +msgid "注释仅在编辑时可见,游戏中不会执行" +msgstr "Comments are only visible when editing and will not be executed in the game" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:60 +msgid "淡入淡出" +msgstr "Fade in and out" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:80 +msgid "添加一句对话,可以附带语音" +msgstr "Add a dialogue, can be accompanied by voice" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:192 +msgid "添加一张图片到 CG 鉴赏界面" +msgstr "Add a picture to CG appreciation gallery" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:224 +msgid "添加一行注释" +msgstr "Add a line comment" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:200 +msgid "添加一首音乐到音乐鉴赏界面" +msgstr "Add a music to music appreciation gallery" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:62 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:129 +msgid "添加属性" +msgstr "Add Property" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:96 +msgid "添加或切换指定位置的立绘" +msgstr "Add or switch the figure at the specified position" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:220 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:124 +msgid "添加新行" +msgstr "Add new line" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:67 +msgid "添加自定义属性" +msgstr "Add Custom Property" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:229 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:63 +#: src/pages/editor/Topbar/Topbar.tsx:89 +msgid "添加语句" +msgstr "Add statement" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:136 +msgid "清除当前舞台的特殊效果" +msgstr "Clear special effects of current stage" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:132 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:33 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:40 +msgid "清除特效" +msgstr "Clear effects" + +#: src/pages/dashboard/DashBoard.tsx:174 +msgid "游戏" +msgstr "Games" + +#: src/pages/dashboard/Sidebar.tsx:81 +msgid "游戏列表" +msgstr "Game list" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:98 +msgid "游戏包名" +msgstr "Game package name" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:86 +msgid "游戏名称" +msgstr "Game name" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:68 +msgid "游戏控制" +msgstr "Game control" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:94 +msgid "游戏简介" +msgstr "Game description" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:90 +msgid "游戏识别码" +msgstr "Game ID" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:114 +msgid "游戏配置" +msgstr "Game configuration" + +#: src/pages/editor/Topbar/Topbar.tsx:118 +msgid "源代码" +msgstr "Source code" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:116 +msgid "滤镜" +msgstr "Filter" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:118 +msgid "点状电影滤镜" +msgstr "Dot film filter" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:50 +msgid "特殊演出" +msgstr "Special performance" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:56 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:50 +msgid "百分比。 0-100 有效" +msgstr "Percentage. 0-100 valid" + +#: src/pages/editor/MainArea/EditArea.tsx:45 +msgid "目前没有打开任何文件" +msgstr "No file currently open" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGPosition.tsx:16 +msgid "相对" +msgstr "Relative" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:304 +msgid "睁开眼睛" +msgstr "Open eyes" + +#: src/pages/dashboard/TemplateElement.tsx:129 +msgid "确定要删除 \"{templateName}\" 模板吗?" +msgstr "Are you sure you want to delete the \"{templateName}\" template?" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/GetUserInput.tsx:43 +msgid "确认按钮文本" +msgstr "Confirm button text" + +#: src/pages/editor/Topbar/Topbar.tsx:80 +msgid "视图" +msgstr "View" + +#: src/pages/dashboard/About.tsx:75 +msgid "视觉小说编辑,再进化" +msgstr "Visual novel editing, evolved" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:112 +msgid "视频" +msgstr "Video" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:23 +msgid "视频文件" +msgstr "Video file" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:33 +msgid "视频选项" +msgstr "Video options" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:37 +msgid "禁止跳过视频" +msgstr "Disable skipping video" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:107 +msgid "立绘" +msgstr "Figure" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:220 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:164 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:71 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:97 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:76 +msgid "立绘 ID" +msgstr "Figure ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:212 +msgid "立绘ID(可选)" +msgstr "Figure ID (optional)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:199 +msgid "立绘位置" +msgstr "Figure position" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:156 +msgid "立绘插图的ID" +msgstr "ID of figure illustration" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:150 +msgid "立绘文件" +msgstr "Figure file" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:111 +msgid "纹理" +msgstr "Texture" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:266 +msgid "结束后保持" +msgstr "Hold after end" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:36 +msgid "结束当前 BGM 的播放" +msgstr "Stop playing current BGM" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:216 +msgid "结束当前游戏并回到标题画面" +msgstr "End current game and return to title screen" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:212 +msgid "结束游戏" +msgstr "End game" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGPosition.tsx:17 +msgid "绝对" +msgstr "Absolutely" + +#: src/pages/dashboard/TemplateElement.tsx:81 +msgid "编辑模板" +msgstr "Edit template" + +#: src/pages/dashboard/GameElement.tsx:87 +msgid "编辑游戏" +msgstr "Edit game" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Template.tsx:11 +msgid "编辑组件" +msgstr "Edit component" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:94 +msgid "缩放" +msgstr "Scale" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:117 +msgid "老电影滤镜" +msgstr "Old film filter" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:105 +msgid "背景" +msgstr "Background" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:21 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:29 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:22 +msgid "背景图片" +msgstr "Background image" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:46 +msgid "背景文件" +msgstr "Background file" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:108 +msgid "背景音乐" +msgstr "Background music" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:38 +msgid "背景音乐文件" +msgstr "Background music file" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:277 +msgid "背景颜色" +msgstr "Background color" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:61 +msgid "脚本编辑器" +msgstr "Script editor" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCursor.tsx:15 +msgid "自动" +msgstr "Auto" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:82 +msgid "自动换行" +msgstr "Auto wrap" + +#: src/pages/editor/Topbar/Topbar.tsx:102 +msgid "自动隐藏功能区" +msgstr "Auto-hide toolbar" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:61 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:69 +msgid "自定义特效名称" +msgstr "Custom effect name" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:45 +msgid "舞台对象控制" +msgstr "Stage object control" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:248 +msgid "获取来自用户的字符输入" +msgstr "Get character input from user" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:244 +msgid "获取输入" +msgstr "Get input" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:56 +msgid "行脚本" +msgstr "Line of script" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:98 +msgid "要删除属性{0}吗?" +msgstr "Delete the property {0}?" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:91 +msgid "角色名,留空以继承上句" +msgstr "Role name, leave blank to inherit from previous sentence" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:77 +msgid "角色名,留空以继承上句:对话;" +msgstr "Role name, leave blank to inherit from previous sentence: Dialogue;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:172 +msgid "角落头像" +msgstr "Corner avatar" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:72 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:63 +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:59 +msgid "解锁名称" +msgstr "Unlock name" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:81 +msgid "解锁的 BGM 名称" +msgstr "Name of unlocked BGM" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:72 +msgid "解锁的 CG 名称" +msgstr "Name of unlocked CG" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:68 +msgid "解锁的 CG 或 BGM 名称" +msgstr "Name of unlocked CG or BGM" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:33 +msgid "解锁鉴赏类型" +msgstr "Unlock appreciation type" + +#: src/pages/editor/Topbar/Topbar.tsx:82 +msgid "设置" +msgstr "Settings" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:100 +msgid "设置动画" +msgstr "Set animation" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:236 +msgid "设置效果" +msgstr "Set effect" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:228 +msgid "设置转场" +msgstr "Set transition" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:232 +msgid "设置转场效果" +msgstr "Set transition effect" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Unrecognized.tsx:12 +msgid "该指令没有被识别,请打开脚本编辑模式以手动编辑" +msgstr "This command is not recognized, please open script editing mode to edit manually" + +#: src/pages/editor/MainArea/EditArea.tsx:31 +msgid "该文件类型不支持预览" +msgstr "This file type does not support preview" + +#: src/pages/dashboard/DashBoard.tsx:157 +#: src/pages/dashboard/DashBoard.tsx:158 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:38 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:44 +msgid "语言" +msgstr "Language" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:113 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:132 +msgid "语音" +msgstr "Voice" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:28 +msgid "调用/切换场景" +msgstr "Call/Change Scene" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:152 +msgid "调用一段场景文件,在结束后返回父场景" +msgstr "Call a scene file, return to parent scene after it ends" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:148 +msgid "调用场景" +msgstr "Call Scene" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:32 +msgid "调用场景,新场景结束后返回父场景" +msgstr "Call scene, return to parent scene after new scene ends" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:182 +msgid "资源" +msgstr "Assets" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:63 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:89 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:68 +msgid "输入目标 ID" +msgstr "Enter Target ID" + +#: src/pages/dashboard/GameElement.tsx:121 +#: src/pages/dashboard/GameElement.tsx:153 +#: src/pages/dashboard/TemplateElement.tsx:115 +#: src/pages/dashboard/TemplateElement.tsx:132 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:106 +msgid "返回" +msgstr "Return" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:56 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:160 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:75 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:101 +msgid "连续执行" +msgstr "Execute Continuously" + +#: src/pages/editor/ChooseFile/ChooseFile.tsx:99 +#: src/pages/editor/ChooseFile/ChooseFile.tsx:104 +msgid "选择" +msgstr "Choose" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:35 +msgid "选择动画" +msgstr "Choose Animation" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:59 +msgid "选择场景文件" +msgstr "Choose Scene File" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:21 +msgid "选择小头像" +msgstr "Choose Avatar" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:26 +msgid "选择效果音文件" +msgstr "Choose Sound Effect File" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:143 +msgid "选择立绘文件" +msgstr "Choose Figure File" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:40 +msgid "选择背景图片" +msgstr "Choose Background Image" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:32 +msgid "选择背景音乐" +msgstr "Choose Background Music" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:31 +msgid "选择进入动画" +msgstr "Choose Enter Animation" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:40 +msgid "选择退出动画" +msgstr "Choose Exit Animation" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:50 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:76 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:55 +msgid "选择预设目标" +msgstr "Choose Preset Target" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:59 +msgid "选项" +msgstr "Option" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:39 +msgid "选项名称" +msgstr "Option Name" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:104 +msgid "透明度(0-1):" +msgstr "Opacity (0-1):" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:168 +msgid "通过选项进入不同的场景" +msgstr "Enter different scenes through options" + +#: src/pages/editor/Topbar/Topbar.tsx:78 +msgid "配置" +msgstr "Configuration" + +#: src/components/Assets/FileElement.tsx:54 +#: src/components/Assets/FileElement.tsx:70 +#: src/pages/dashboard/GameElement.tsx:122 +#: src/pages/dashboard/TemplateElement.tsx:116 +msgid "重命名" +msgstr "Rename" + +#: src/pages/dashboard/GameElement.tsx:96 +#: src/pages/dashboard/GameElement.tsx:111 +msgid "重命名文件夹" +msgstr "Rename Folder" + +#: src/pages/dashboard/TemplateElement.tsx:90 +#: src/pages/dashboard/TemplateElement.tsx:105 +msgid "重命名模板" +msgstr "Rename Template" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:63 +msgid "鉴赏" +msgstr "Appreciation" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:188 +msgid "鉴赏图片" +msgstr "Appreciation Image" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:49 +msgid "鉴赏资源文件" +msgstr "Appreciation Asset File" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:196 +msgid "鉴赏音乐" +msgstr "Appreciation Music" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:294 +msgid "闭上嘴" +msgstr "Close Mouth" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:314 +msgid "闭上眼睛" +msgstr "Close Eyes" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:40 +msgid "隐藏侧边栏" +msgstr "Hide Sidebar" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTextbox.tsx:16 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTextbox.tsx:20 +msgid "隐藏文本框" +msgstr "Hide Text Box" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGPosition.tsx:15 +msgid "静态" +msgstr "Static" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:106 +msgid "音乐" +msgstr "Music" + +#: src/pages/dashboard/About.tsx:103 +msgid "项目主页" +msgstr "Project Homepage" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:36 +msgid "颜色" +msgstr "Color" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:40 +msgid "高度" +msgstr "Height" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:112 +msgid "高斯模糊:" +msgstr "Gaussian Blur:" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:53 +msgid "默认" +msgstr "Default" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:86 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:90 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:108 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:112 +msgid "默认值0" +msgstr "Default Value is 0" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:95 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:99 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:104 +msgid "默认值1" +msgstr "Default Value is 1" + +#: src/pages/templateEditor/TemplateGraphicalEditor/withStateEditor/SingleStateEditor.tsx:9 +#~ msgid "鼠标悬浮效果" +#~ msgstr "Mouse over Style" + +#: src/pages/templateEditor/TemplateGraphicalEditor/withStateEditor/SingleStateEditor.tsx:8 +msgid "鼠标悬浮样式" +msgstr "Mouse hover style" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:48 +msgid "鼠标指针" +msgstr "Mouse cursor" + +#: src/pages/templateEditor/TemplateGraphicalEditor/withStateEditor/SingleStateEditor.tsx:10 +#~ msgid "鼠标按下效果" +#~ msgstr "Mouse pressed Style" + +#: src/pages/templateEditor/TemplateGraphicalEditor/withStateEditor/SingleStateEditor.tsx:9 +msgid "鼠标按下样式" +msgstr "Mouse down style" diff --git a/packages/origine2/src/locales/ja.po b/packages/origine2/src/locales/ja.po new file mode 100644 index 000000000..19afa4ac9 --- /dev/null +++ b/packages/origine2/src/locales/ja.po @@ -0,0 +1,1609 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2024-04-03 21:59+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: ja\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Plural-Forms: \n" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:221 +msgid ";注释" +msgstr ";コメント" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:32 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:90 +msgid "%" +msgstr "%" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:16 +msgid "BGM" +msgstr "BGM" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:48 +msgid "BGM 音量" +msgstr "BGM 音量" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:109 +msgid "bgm:选择背景音乐;" +msgstr "bgm: BGMを選択;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:149 +msgid "callScene:选择场景文件;" +msgstr "callScene: シーンファイルを選択;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:15 +msgid "CG" +msgstr "CG" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:85 +msgid "changeBg: 选择背景图片;" +msgstr "changeBg: 背景画像を選択;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:93 +msgid "changeFigure:选择立绘文件;" +msgstr "changeFigure: 立ち絵ファイルを選択;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:157 +msgid "changeScene:选择场景文件;" +msgstr "changeScene: シーンファイルを選択;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:165 +msgid "choose:选项:选择场景文件;" +msgstr "choose: 選択肢を設定: シーンファイルを選択;" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:42 +msgid "CSS 属性值" +msgstr "CSS プロパティ値" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:36 +msgid "CSS 属性名:" +msgstr "CSS プロパティ名:" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:213 +msgid "end;" +msgstr "end;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:245 +msgid "getUserInput:;" +msgstr "getUserInput:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:205 +msgid "Intro 文本" +msgstr "Intro テキスト" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:141 +msgid "intro:;" +msgstr "intro:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:173 +msgid "miniAvatar:选择小头像;" +msgstr "miniAvatar: アバターファイルを選択;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:133 +msgid "pixiInit;" +msgstr "pixiInit;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:125 +msgid "pixiPerform:snow;" +msgstr "pixiPerform:snow;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:181 +msgid "playEffect:选择效果音文件;" +msgstr "playEffect: 効果音を選択;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:117 +msgid "playVideo:选择视频文件;" +msgstr "playVideo: 動画を選択;" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:121 +msgid "RGB电影滤镜" +msgstr "RGB映画" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:101 +msgid "setAnimation:选择动画文件;" +msgstr "setAnimation: アニメーションを選択;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:205 +msgid "setTextbox:hide;" +msgstr "setTextbox:hide;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:237 +msgid "setTransform: -duration=0;" +msgstr "setTransform: -duration=0;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:229 +msgid "setTransition:;" +msgstr "setTransition:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:197 +msgid "unlockBgm:;" +msgstr "unlockBgm:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:189 +msgid "unlockCg:;" +msgstr "unlockCg:;" + +#: src/pages/dashboard/Sidebar.tsx:60 +#: src/pages/dashboard/Sidebar.tsx:65 +msgid "WebGAL Classic" +msgstr "WebGAL Classic" + +#: src/pages/dashboard/Sidebar.tsx:50 +#: src/pages/dashboard/Sidebar.tsx:54 +msgid "WebGAL Standard" +msgstr "WebGAL Standard" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:86 +msgid "X轴位移:" +msgstr " X軸位移:" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:95 +msgid "X轴缩放:" +msgstr " X軸スケール:" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:90 +msgid "Y轴位移:" +msgstr " Y軸位移:" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:99 +msgid "Y轴缩放:" +msgstr " Y軸スケール:" + +#: src/pages/editor/Topbar/Topbar.tsx:101 +msgid "一直显示功能区" +msgstr "常にツールバーを表示" + +#: src/components/Assets/Assets.tsx:274 +#: src/components/Assets/Assets.tsx:276 +msgid "上传" +msgstr "アップロード" + +#: src/components/Assets/Assets.tsx:198 +msgid "上传资源" +msgstr "アセットのアップロード" + +#: src/pages/dashboard/About.tsx:88 +msgid "下载最新版本" +msgstr "最新バージョンをダウンロード" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:14 +msgid "下雨" +msgstr "雨" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:13 +msgid "下雪" +msgstr "雪" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:130 +msgid "不显示角色名" +msgstr "キャラクター名は設定不可" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:56 +msgid "个字" +msgstr " ワード" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:55 +msgid "中" +msgstr "中央" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:47 +msgid "中间" +msgstr "中央" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:29 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:19 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:27 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:20 +msgid "中间立绘" +msgstr "中央の立ち絵" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:128 +msgid "为当前的舞台添加特殊效果" +msgstr "現在のステージに特殊効果を追加する" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:104 +msgid "为立绘或背景图片设置动画效果" +msgstr "立ち絵や背景画像にアニメーションを指定する" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:240 +msgid "为立绘或背景图片设置效果" +msgstr "立ち絵や背景画像のエフェクトを使う" + +#: src/pages/templateEditor/TemplateGraphicalEditor/TemplateGraphicalEditor.tsx:60 +msgid "主要样式" +msgstr "メインスタイル" + +#: src/pages/editor/Topbar/Topbar.tsx:111 +msgid "主页" +msgstr "WebGALホーム" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:76 +msgid "代码编辑器" +msgstr "コードエディタ" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:46 +msgid "使用引擎内置的特效" +msgstr "デフォルトの特殊効果を使用" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:124 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:40 +msgid "使用特效" +msgstr "特殊効果を使う" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:31 +msgid "使用立绘ID" +msgstr "立ち絵のIDを使用" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:46 +msgid "使用自定义特效" +msgstr "カスタムの特殊効果を使用" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:42 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:48 +msgid "使用预制特效" +msgstr "プレハブ効果を使用" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:47 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:73 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:52 +msgid "使用预设的作用目标,如果设置了id则不生效" +msgstr "以前に設定されたアクションターゲットを使用。IDを設定した場合は無効" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:44 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:70 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:49 +msgid "使用预设目标" +msgstr "事前設定されたターゲットを使用" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:34 +msgid "侧边栏" +msgstr "サイドバー" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:43 +msgid "侧边栏游戏预览" +msgstr "サイドバーゲームプレビュー" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGColor.tsx:32 +msgid "修改颜色" +msgstr "色を変更する" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:44 +msgid "值" +msgstr "値" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:45 +msgid "偏移右侧距离(定位用)" +msgstr "右側のオフセット(位置決め用)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:44 +msgid "偏移左侧距离(定位用)" +msgstr "左側のオフセット(位置決め用)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:47 +msgid "偏移底部距离(定位用)" +msgstr "下部のオフセット(位置決め用)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:46 +msgid "偏移顶部距离(定位用)" +msgstr "上部のオフセット(位置決め用)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:29 +msgid "停止 BGM" +msgstr "BGMを停止" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:30 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:88 +msgid "像素" +msgstr "ピクセル" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:122 +msgid "光辉电影滤镜" +msgstr "ゴッドレイ映画" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:140 +msgid "全屏文字" +msgstr "全画面テキスト" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:144 +msgid "全屏显示一段文字,用于独白或引出场景" +msgstr "全画面画面でテキストを表示する。独白やシーンの導入に使用" + +#: src/pages/dashboard/About.tsx:65 +#: src/pages/dashboard/About.tsx:66 +msgid "关于" +msgstr "About" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:143 +msgid "关联立绘" +msgstr "関連する立ち絵" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:18 +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:25 +msgid "关闭小头像" +msgstr "アバターを非表示" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:23 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:30 +msgid "关闭效果音" +msgstr "効果音を停止" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:140 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:147 +msgid "关闭立绘" +msgstr "立ち絵を非表示" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:37 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:44 +msgid "关闭背景" +msgstr "背景画像を非表示" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:39 +msgid "最大宽度" +msgstr "最大幅" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:42 +msgid "最大高度" +msgstr "最大高さ" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:38 +msgid "最小宽度" +msgstr "最小幅" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:41 +msgid "最小高度" +msgstr "最小高さ" + +#: src/pages/dashboard/About.tsx:81 +msgid "最新版本" +msgstr "最新バージョン" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/GetUserInput.tsx:21 +msgid "写入变量" +msgstr "変数を書く" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:164 +msgid "分支选择" +msgstr "選択肢" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:160 +msgid "切换到另一个场景文件,并清除当前场景" +msgstr "別のシーンファイルに切り替えて現在のシーンをクリアする" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:156 +msgid "切换场景" +msgstr "シーンの切り替え" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:33 +msgid "切换场景,新场景直接替换父场景" +msgstr "シーン切り替え後、新しいシーンを親シーンとして置き換え" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:92 +msgid "切换立绘" +msgstr "立ち絵の切り替え" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:84 +msgid "切换背景" +msgstr "背景の切り替え" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:88 +msgid "切换背景图片" +msgstr "背景画像の切り替え" + +#: src/components/Assets/Assets.tsx:157 +#: src/components/Assets/Assets.tsx:185 +#: src/pages/dashboard/Sidebar.tsx:106 +#: src/pages/dashboard/TemplateSidebar.tsx:56 +msgid "创建" +msgstr "作成" + +#: src/pages/dashboard/TemplateSidebar.tsx:48 +msgid "创建新模板" +msgstr "新しいテンプレートを作成" + +#: src/pages/dashboard/Sidebar.tsx:94 +msgid "创建新游戏" +msgstr "新しいゲームを作成" + +#: src/components/Assets/FileElement.tsx:82 +#: src/components/Assets/FileElement.tsx:89 +#: src/pages/dashboard/GameElement.tsx:152 +#: src/pages/dashboard/TemplateElement.tsx:131 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:193 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:114 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:103 +msgid "删除" +msgstr "削除" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:89 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:90 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:96 +msgid "删除属性" +msgstr "属性を削除" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:205 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:28 +msgid "删除本句" +msgstr "この文を削除" + +#: src/pages/dashboard/TemplateElement.tsx:91 +#: src/pages/dashboard/TemplateElement.tsx:128 +msgid "删除模板" +msgstr "テンプレートを削除" + +#: src/pages/dashboard/GameElement.tsx:97 +#: src/pages/dashboard/GameElement.tsx:137 +msgid "删除游戏" +msgstr "ゲームを削除" + +#: src/components/Assets/Assets.tsx:211 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:155 +msgid "刷新" +msgstr "更新" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:49 +msgid "刷新游戏" +msgstr "ゲームをリフレッシュ" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGFontWeight.tsx:16 +msgid "加粗" +msgstr "太字" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:103 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:240 +msgid "动画" +msgstr "アニメーション" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:283 +msgid "半张嘴" +msgstr "半分開いた口" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:68 +msgid "单位毫秒。 0~ 有效" +msgstr "ミリ秒単位。 0~ 有効" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:220 +msgid "单行注释" +msgstr "一行コメント" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:119 +msgid "反射电影滤镜" +msgstr "反射映画" + +#: src/pages/editor/ChooseFile/ChooseFile.tsx:99 +msgid "取消" +msgstr "キャンセル" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:85 +msgid "变换" +msgstr "トランスフォーム" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:49 +msgid "右侧" +msgstr "右" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:30 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:20 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:28 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:21 +msgid "右侧立绘" +msgstr "右の立ち絵" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:112 +msgid "启动、切换或停止背景音乐的播放" +msgstr "BGMの再生を開始、切り替え、または停止する" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:123 +msgid "启动图" +msgstr "ロゴ" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:37 +msgid "启用视频跳过" +msgstr "動画のスキップを有効にする" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:258 +msgid "唇形同步与眨眼" +msgstr "口パクとまばたき" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:65 +msgid "图形编辑器" +msgstr "グラフィックエディタ" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:51 +msgid "圆角" +msgstr "角丸" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:176 +msgid "在对话框的左下角显示一个小头像" +msgstr "ダイアログの左下に小さなアバターを表示します" + +#: src/pages/dashboard/GameElement.tsx:94 +#: src/pages/dashboard/TemplateElement.tsx:88 +msgid "在文件管理器中打开" +msgstr "ファイルエクスプローラーで開く" + +#: src/pages/dashboard/GameElement.tsx:95 +#: src/pages/dashboard/TemplateElement.tsx:89 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:161 +msgid "在新标签页中预览" +msgstr "新しいタブでプレビュー" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Template.tsx:12 +msgid "在这里放置编辑组件" +msgstr "ここにコンポーネントを配置" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:108 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:192 +msgid "场景" +msgstr "シーン" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:58 +msgid "场景与分支" +msgstr "シーンとブランチ" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:19 +msgid "场景文件" +msgstr "シーンファイル" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:56 +msgid "大" +msgstr "大きい" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:50 +msgid "字体" +msgstr "フォント" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:33 +msgid "字体大小" +msgstr "フォントサイズ" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:35 +msgid "字母间距" +msgstr "文字間隔" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:34 +msgid "字重" +msgstr "フォントの太さ" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:43 +msgid "定位方式" +msgstr "位置決め方法" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:57 +msgid "实时预览" +msgstr "リアルタイムプレビュー" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:167 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:71 +msgid "实时预览关闭" +msgstr "リアルタイムプレビューオフ" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:59 +msgid "实时预览将游戏快进至编辑语句,但有限制。先前场景的语句效果,如变量,不会反映在预览中。" +msgstr "リアルタイムプレビューはゲームを制限付きで早送りし、以前のシーンの効果はマッピングされません。" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:167 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:71 +msgid "实时预览打开" +msgstr "リアルタイムプレビューオン" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:37 +msgid "宽度" +msgstr "幅" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:106 +msgid "对话" +msgstr "ダイアログ" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/GetUserInput.tsx:32 +msgid "对话框标题" +msgstr "ダイアログタイトル" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:18 +#: src/pages/editor/Topbar/Topbar.tsx:86 +msgid "导出" +msgstr "エクスポート" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:24 +msgid "导出为可执行文件" +msgstr "実行可能ファイルとしてエクスポート" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:27 +msgid "导出为安卓项目文件" +msgstr "Andoroidアプリとしてエクスポート" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:21 +msgid "导出为网页" +msgstr "ウェブとしてエクスポート" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:54 +msgid "小" +msgstr "小さい" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:27 +msgid "小头像文件" +msgstr "アバターファイル" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:49 +msgid "层级顺序" +msgstr "階層順序" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:25 +msgid "展示小头像" +msgstr "アバターを表示" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:43 +msgid "属性" +msgstr "プロパティ" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:48 +msgid "左侧" +msgstr "左" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:28 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:18 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:26 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:19 +msgid "左侧立绘" +msgstr "左の立ち絵" + +#: src/pages/dashboard/DashBoard.tsx:126 +msgid "已创建" +msgstr "作成済み" + +#: src/pages/editor/Topbar/tabs/Help/HelpTab.tsx:12 +#: src/pages/editor/Topbar/tabs/Help/HelpTab.tsx:15 +#: src/pages/editor/Topbar/Topbar.tsx:84 +msgid "帮助" +msgstr "ヘルプ" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:114 +msgid "帮助文档" +msgstr "ヘルプドキュメント" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:37 +msgid "常规演出" +msgstr "通常演出" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:294 +msgid "应用颜色变化" +msgstr "色の変更を適用" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:253 +msgid "延迟时间(秒)" +msgstr "遅延時間(秒)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:272 +msgid "张开嘴" +msgstr "開いた口" + +#: src/pages/dashboard/About.tsx:77 +msgid "当前版本" +msgstr "現在のバージョン" + +#: src/pages/dashboard/GameElement.tsx:146 +msgid "我确定要删除游戏" +msgstr "ゲームを削除することを確認しました" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:47 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:73 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:52 +msgid "手动输入 ID" +msgstr "IDを手動で設定" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:78 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:227 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:43 +msgid "打开效果编辑器" +msgstr "エフェクトエディタを開く" + +#: src/components/Assets/Assets.tsx:212 +msgid "打开文件夹" +msgstr "フォルダーを開く" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:213 +msgid "执行到此句" +msgstr "この文まで実行" + +#: src/components/Assets/Assets.tsx:142 +msgid "扩展名" +msgstr "拡張子" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:88 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:91 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:240 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:242 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:52 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:55 +msgid "持续时间(单位为毫秒)" +msgstr "持続時間(ミリ秒)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCursor.tsx:17 +msgid "指针" +msgstr "ポインター" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:208 +msgid "控制是否要显示文本框" +msgstr "テキストボックスの表示を制御する" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGColor.tsx:36 +msgid "提交" +msgstr "提出" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonEditor.tsx:22 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:35 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:93 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonNumberEditor.tsx:23 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCustomProperty.tsx:20 +msgid "提交修改" +msgstr "変更を送信" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:32 +msgid "提示:先设置立绘/背景,再应用动画,否则找不到目标。" +msgstr "ヒント: 最初に立ち絵の描画/背景を設定してから、アニメーションを適用します。そうしないと、ターゲットが見つかりません。" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:31 +msgid "提示:在编辑结束后,如果发现有失效的鉴赏 CG/BGM ,在 WebGAL 游戏界面的选项中选择清除全部数据以清空。" +msgstr "ヒント: 編集後に無効なCG/BGMが見つかった場合は、WebGALゲームインターフェイスのオプションで[すべてのデータを消去]を選択して消去" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:82 +msgid "提示:换行符最多可达三行" +msgstr "ヒント:改行は三行まで可能" + +#: src/pages/editor/ChooseFile/ChooseFile.tsx:108 +#: src/pages/editor/ChooseFile/ChooseFile.tsx:109 +msgid "搜索文件" +msgstr "ファイル検索" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:120 +msgid "播放一小段视频" +msgstr "動画ファイルを再生する" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:184 +msgid "播放一段效果音" +msgstr "効果音を再生します" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:30 +msgid "播放效果音" +msgstr "効果音を再生" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:116 +msgid "播放视频" +msgstr "動画の再生" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:120 +msgid "故障电影滤镜" +msgstr "グリッチ映画" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:103 +msgid "效果" +msgstr "エフェクト" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:180 +msgid "效果声音" +msgstr "効果音" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:83 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:235 +msgid "效果提示" +msgstr "効果のヒント" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:41 +msgid "效果编辑" +msgstr "エフェクトエディタ" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:80 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:230 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:45 +msgid "效果编辑器" +msgstr "エフェクトエディタ" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:222 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:224 +msgid "效果选项" +msgstr "エフェクトオプション" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:62 +msgid "效果音 ID" +msgstr "効果音ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:54 +msgid "效果音 ID(输入以使效果音循环,后面再用这个 id 来关闭)" +msgstr "効果音ID(効果音をループし、このIDを使用して後ほど停止可能)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:42 +msgid "效果音 音量" +msgstr "効果音 音量" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:32 +msgid "效果音文件" +msgstr "効果音ファイル" + +#: src/pages/editor/Topbar/Topbar.tsx:77 +msgid "文件" +msgstr "ファイル" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:227 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:168 +msgid "文字大小" +msgstr "文字サイズ" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:283 +msgid "文字颜色" +msgstr "文字色" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:204 +msgid "文本显示" +msgstr "テキストボックス" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:31 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:89 +msgid "文本长度 (em)" +msgstr "テキストの長さ (em)" + +#: src/pages/dashboard/About.tsx:106 +msgid "文档" +msgstr "ドキュメント" + +#: src/components/Assets/Assets.tsx:135 +msgid "新建文件" +msgstr "新しいファイルを作成" + +#: src/components/Assets/Assets.tsx:170 +msgid "新建文件夹" +msgstr "新しいフォルダーを作成" + +#: src/pages/dashboard/TemplateSidebar.tsx:44 +#: src/pages/dashboard/TemplateSidebar.tsx:54 +msgid "新建模板" +msgstr "新しいテンプレートを作成" + +#: src/pages/dashboard/Sidebar.tsx:90 +msgid "新建游戏" +msgstr "新しいゲームを作成" + +#: src/components/Assets/Assets.tsx:138 +msgid "新文件名" +msgstr "新しいファイル名" + +#: src/components/Assets/Assets.tsx:173 +msgid "新文件夹名" +msgstr "新しいフォルダー名" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:56 +msgid "新标签页预览" +msgstr "新しいタブでプレビュー" + +#: src/pages/dashboard/TemplateSidebar.tsx:53 +msgid "新模板名" +msgstr "新しいテンプレート名" + +#: src/pages/dashboard/Sidebar.tsx:100 +msgid "新游戏名" +msgstr "新しいゲーム名" + +#: src/pages/dashboard/TemplateSidebar.tsx:23 +msgid "新的模板" +msgstr "新しいテンプレート" + +#: src/pages/dashboard/Sidebar.tsx:34 +#: src/pages/dashboard/Sidebar.tsx:75 +#: src/pages/dashboard/Sidebar.tsx:99 +#: src/pages/dashboard/TemplateSidebar.tsx:29 +msgid "新的游戏" +msgstr "新しいゲーム" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:126 +msgid "旁白模式" +msgstr "ナレーションモード" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:91 +msgid "旁白模式,无角色名" +msgstr "キャラクター名は設定不可" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:108 +msgid "旋转角度:" +msgstr "回転:" + +#: src/components/Assets/Assets.tsx:144 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCursor.tsx:16 +msgid "无" +msgstr "Null" + +#: src/pages/dashboard/GameElement.tsx:141 +msgid "是否要删除 \"{gameName}\" ?" +msgstr "\"{gameName}\"を削除してもよろしいですか?" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:40 +msgid "显示侧边栏" +msgstr "サイドバーを表示" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:75 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:224 +msgid "显示效果" +msgstr "エフェクト" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTextbox.tsx:20 +msgid "显示文本框" +msgstr "テキストボックスを表示" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:147 +msgid "显示立绘" +msgstr "立ち絵を表示" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:44 +msgid "显示背景" +msgstr "背景画像を表示" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:130 +msgid "显示角色名" +msgstr "キャラクター名を設定" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:76 +msgid "普通对话" +msgstr "ダイアログ" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:27 +msgid "未指定" +msgstr "指定なし" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:66 +msgid "未识别" +msgstr "認識されないコマンド" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Unrecognized.tsx:10 +msgid "未识别的指令" +msgstr "認識されないコマンド" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:176 +msgid "本句前插入句子" +msgstr "選択した文の前に追加" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:60 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:164 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:79 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:105 +msgid "本句执行后执行下一句" +msgstr "この文が実行された後、次の文を実行" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:61 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:165 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:79 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:105 +msgid "本句执行后等待" +msgstr "この文が実行されるのを待つ" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:107 +msgid "标题背景图片" +msgstr "タイトルの背景画像" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:115 +msgid "标题背景音乐" +msgstr "タイトルのBGM" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:33 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:91 +msgid "根文本长度 (rem)" +msgstr "ルートテキストの長さ (rem)" + +#: src/pages/dashboard/About.tsx:66 +msgid "检测到新版本" +msgstr "新しいバージョンが見つかりました" + +#: src/pages/dashboard/DashBoard.tsx:176 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:110 +msgid "模板" +msgstr "テンプレート" + +#: src/pages/dashboard/TemplateSidebar.tsx:35 +msgid "模板列表" +msgstr "テンプレートリスト" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:15 +msgid "櫻花" +msgstr "桜" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGFontWeight.tsx:15 +msgid "正常" +msgstr "通常" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:36 +msgid "正常播放 BGM" +msgstr "BGMを再生" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/End.tsx:9 +msgid "此指令将结束游戏" +msgstr "このコマンドはすべてのゲームが終わるときに使用" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:82 +msgid "永不换行" +msgstr "折り返しなし" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Comment.tsx:21 +msgid "注释" +msgstr "コメント" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Comment.tsx:22 +msgid "注释仅在编辑时可见,游戏中不会执行" +msgstr "コメントは編集時のみ表示され、ゲームプレイ時には非表示" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:60 +msgid "淡入淡出" +msgstr "フェードインとアウト" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:80 +msgid "添加一句对话,可以附带语音" +msgstr "セリフと同時にボイスの設定が可能です" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:192 +msgid "添加一张图片到 CG 鉴赏界面" +msgstr "CG鑑賞に任意の画像を追加する" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:224 +msgid "添加一行注释" +msgstr "コメントを追加します" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:200 +msgid "添加一首音乐到音乐鉴赏界面" +msgstr "BGM鑑賞に任意のBGMを追加する" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:62 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:129 +msgid "添加属性" +msgstr "属性を追加" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:96 +msgid "添加或切换指定位置的立绘" +msgstr "指定位置の立ち絵を追加または切り替える" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:220 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:124 +msgid "添加新行" +msgstr "新しい行を追加" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:67 +msgid "添加自定义属性" +msgstr "カスタム属性を追加" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:229 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:63 +#: src/pages/editor/Topbar/Topbar.tsx:89 +msgid "添加语句" +msgstr "ステートメントを追加" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:136 +msgid "清除当前舞台的特殊效果" +msgstr "現在のステージの特殊効果をクリア" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:132 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:33 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:40 +msgid "清除特效" +msgstr "特殊効果をクリア" + +#: src/pages/dashboard/DashBoard.tsx:174 +msgid "游戏" +msgstr "ゲーム" + +#: src/pages/dashboard/Sidebar.tsx:81 +msgid "游戏列表" +msgstr "ゲームリスト" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:98 +msgid "游戏包名" +msgstr "パッケージ名" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:86 +msgid "游戏名称" +msgstr "ゲーム名" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:68 +msgid "游戏控制" +msgstr "ゲームコントロール" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:94 +msgid "游戏简介" +msgstr "ゲーム概要" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:90 +msgid "游戏识别码" +msgstr "ゲームID" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:114 +msgid "游戏配置" +msgstr "ゲーム構成" + +#: src/pages/editor/Topbar/Topbar.tsx:118 +msgid "源代码" +msgstr "ソースコード" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:116 +msgid "滤镜" +msgstr "フィルター" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:118 +msgid "点状电影滤镜" +msgstr "ドット映画" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:50 +msgid "特殊演出" +msgstr "特別演出" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:56 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:50 +msgid "百分比。 0-100 有效" +msgstr "百分率。 0-100 有効" + +#: src/pages/editor/MainArea/EditArea.tsx:45 +msgid "目前没有打开任何文件" +msgstr "現在開いているファイルはありません" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGPosition.tsx:16 +msgid "相对" +msgstr "相対" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:304 +msgid "睁开眼睛" +msgstr "開いた目" + +#: src/pages/dashboard/TemplateElement.tsx:129 +msgid "确定要删除 \"{templateName}\" 模板吗?" +msgstr "テンプレート\"{templateName}\"を削除してもよろしいですか?" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/GetUserInput.tsx:43 +msgid "确认按钮文本" +msgstr "確認ボタンのテキスト" + +#: src/pages/editor/Topbar/Topbar.tsx:80 +msgid "视图" +msgstr "ビュー" + +#: src/pages/dashboard/About.tsx:75 +msgid "视觉小说编辑,再进化" +msgstr "Galgame Editing. Redefined" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:112 +msgid "视频" +msgstr "Video" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:23 +msgid "视频文件" +msgstr "動画ファイル" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:33 +msgid "视频选项" +msgstr "動画のオプション" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:37 +msgid "禁止跳过视频" +msgstr "動画のスキップを無効にする" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:107 +msgid "立绘" +msgstr "Figure" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:220 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:164 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:71 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:97 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:76 +msgid "立绘 ID" +msgstr "立ち絵ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:212 +msgid "立绘ID(可选)" +msgstr "立ち絵ID(オプション)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:199 +msgid "立绘位置" +msgstr "描画位置" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:156 +msgid "立绘插图的ID" +msgstr "関連する立ち絵のID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:150 +msgid "立绘文件" +msgstr "立ち絵ファイル" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:111 +msgid "纹理" +msgstr "Tex" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:266 +msgid "结束后保持" +msgstr "終了後保持" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:36 +msgid "结束当前 BGM 的播放" +msgstr "BGMを停止" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:216 +msgid "结束当前游戏并回到标题画面" +msgstr "ゲームが終了され、タイトル画面に戻ります" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:212 +msgid "结束游戏" +msgstr "ゲーム終了" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGPosition.tsx:17 +msgid "绝对" +msgstr "絶対" + +#: src/pages/dashboard/TemplateElement.tsx:81 +msgid "编辑模板" +msgstr "テンプレートを編集" + +#: src/pages/dashboard/GameElement.tsx:87 +msgid "编辑游戏" +msgstr "ゲームの編集" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Template.tsx:11 +msgid "编辑组件" +msgstr "コンポーネントの編集" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:94 +msgid "缩放" +msgstr "スケール" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:117 +msgid "老电影滤镜" +msgstr "古い映画" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:105 +msgid "背景" +msgstr "Background" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:21 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:29 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:22 +msgid "背景图片" +msgstr "背景画像" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:46 +msgid "背景文件" +msgstr "背景画像ファイル" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:108 +msgid "背景音乐" +msgstr "BGM" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:38 +msgid "背景音乐文件" +msgstr "BGMファイル" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:277 +msgid "背景颜色" +msgstr "背景色" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:61 +msgid "脚本编辑器" +msgstr "スクリプトエディタ" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCursor.tsx:15 +msgid "自动" +msgstr "自動" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:82 +msgid "自动换行" +msgstr "自動折り返し" + +#: src/pages/editor/Topbar/Topbar.tsx:102 +msgid "自动隐藏功能区" +msgstr "ツールバーを自動的に隠す" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:61 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:69 +msgid "自定义特效名称" +msgstr "カスタムの特殊効果名" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:45 +msgid "舞台对象控制" +msgstr "ステージオブジェクトコントロール" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:248 +msgid "获取来自用户的字符输入" +msgstr "ユーザーからの文字入力を取得" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:244 +msgid "获取输入" +msgstr "入力を取得" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:56 +msgid "行脚本" +msgstr " スクリプトの行、" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:98 +msgid "要删除属性{0}吗?" +msgstr "プロパティ{0}を削除しますか?" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:91 +msgid "角色名,留空以继承上句" +msgstr "キャラクター名を空白のままにすると前の文から継承" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:77 +msgid "角色名,留空以继承上句:对话;" +msgstr "キャラクター名を空白のままにすると前の文から継承;ダイアログ;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:172 +msgid "角落头像" +msgstr "コーナーアバター" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:72 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:63 +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:59 +msgid "解锁名称" +msgstr "CG/BGMの名前" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:81 +msgid "解锁的 BGM 名称" +msgstr "BGMの名前" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:72 +msgid "解锁的 CG 名称" +msgstr "CGの名前" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:68 +msgid "解锁的 CG 或 BGM 名称" +msgstr "CG/BGMの名前" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:33 +msgid "解锁鉴赏类型" +msgstr "タイプ" + +#: src/pages/editor/Topbar/Topbar.tsx:82 +msgid "设置" +msgstr "設定" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:100 +msgid "设置动画" +msgstr "アニメーション" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:236 +msgid "设置效果" +msgstr "エフェクトを使う" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:228 +msgid "设置转场" +msgstr "トランジションを使う" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:232 +msgid "设置转场效果" +msgstr "トランジション効果を使う" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Unrecognized.tsx:12 +msgid "该指令没有被识别,请打开脚本编辑模式以手动编辑" +msgstr "このコマンドは認識されません、スクリプト編集モードで編集してくださいHere are the translations for the remaining strings:" + +#: src/pages/editor/MainArea/EditArea.tsx:31 +msgid "该文件类型不支持预览" +msgstr "このファイルタイプはプレビューをサポートしていません" + +#: src/pages/dashboard/DashBoard.tsx:157 +#: src/pages/dashboard/DashBoard.tsx:158 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:38 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:44 +msgid "语言" +msgstr "言語" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:113 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:132 +msgid "语音" +msgstr "ボイス" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:28 +msgid "调用/切换场景" +msgstr "シーンの呼び出し/切り替え" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:152 +msgid "调用一段场景文件,在结束后返回父场景" +msgstr "シーンファイルを呼び出し、終了後に親シーンに戻る" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:148 +msgid "调用场景" +msgstr "シーンを呼び出す" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:32 +msgid "调用场景,新场景结束后返回父场景" +msgstr "シーンを呼び出し、新しいシーン終了後に親シーンに戻る" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:182 +msgid "资源" +msgstr "アセット" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:63 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:89 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:68 +msgid "输入目标 ID" +msgstr "ターゲットIDを入力" + +#: src/pages/dashboard/GameElement.tsx:121 +#: src/pages/dashboard/GameElement.tsx:153 +#: src/pages/dashboard/TemplateElement.tsx:115 +#: src/pages/dashboard/TemplateElement.tsx:132 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:106 +msgid "返回" +msgstr "戻る" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:56 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:160 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:75 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:101 +msgid "连续执行" +msgstr "連続実行" + +#: src/pages/editor/ChooseFile/ChooseFile.tsx:99 +#: src/pages/editor/ChooseFile/ChooseFile.tsx:104 +msgid "选择" +msgstr "選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:35 +msgid "选择动画" +msgstr "アニメーションを選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:59 +msgid "选择场景文件" +msgstr "シーンファイルを選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:21 +msgid "选择小头像" +msgstr "アバターを選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:26 +msgid "选择效果音文件" +msgstr "効果音ファイルを選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:143 +msgid "选择立绘文件" +msgstr "立ち絵ファイルを選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:40 +msgid "选择背景图片" +msgstr "背景画像を選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:32 +msgid "选择背景音乐" +msgstr "BGMを選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:31 +msgid "选择进入动画" +msgstr "入るアニメーションを選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:40 +msgid "选择退出动画" +msgstr "出るアニメーションを選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:50 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:76 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:55 +msgid "选择预设目标" +msgstr "事前設定されたターゲットを選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:59 +msgid "选项" +msgstr "選択肢を設定" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:39 +msgid "选项名称" +msgstr "選択肢を設定" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:104 +msgid "透明度(0-1):" +msgstr "透明度(0-1):" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:168 +msgid "通过选项进入不同的场景" +msgstr "選択肢からシーンに切り替えることが可能です" + +#: src/pages/editor/Topbar/Topbar.tsx:78 +msgid "配置" +msgstr "設定" + +#: src/components/Assets/FileElement.tsx:54 +#: src/components/Assets/FileElement.tsx:70 +#: src/pages/dashboard/GameElement.tsx:122 +#: src/pages/dashboard/TemplateElement.tsx:116 +msgid "重命名" +msgstr "名前を変更" + +#: src/pages/dashboard/GameElement.tsx:96 +#: src/pages/dashboard/GameElement.tsx:111 +msgid "重命名文件夹" +msgstr "ディレクトリ名の変更" + +#: src/pages/dashboard/TemplateElement.tsx:90 +#: src/pages/dashboard/TemplateElement.tsx:105 +msgid "重命名模板" +msgstr "テンプレート名の変更" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:63 +msgid "鉴赏" +msgstr "鑑賞" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:188 +msgid "鉴赏图片" +msgstr "CG鑑賞" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:49 +msgid "鉴赏资源文件" +msgstr "CG/BGMファイルを選択" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:196 +msgid "鉴赏音乐" +msgstr "BGM鑑賞" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:294 +msgid "闭上嘴" +msgstr "閉じた口" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:314 +msgid "闭上眼睛" +msgstr "閉じた目" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:40 +msgid "隐藏侧边栏" +msgstr "サイドバーを隠す" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTextbox.tsx:16 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTextbox.tsx:20 +msgid "隐藏文本框" +msgstr "テキストボックスを非表示" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGPosition.tsx:15 +msgid "静态" +msgstr "静的" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:106 +msgid "音乐" +msgstr "BGM" + +#: src/pages/dashboard/About.tsx:103 +msgid "项目主页" +msgstr "プロジェクトホームページ" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:36 +msgid "颜色" +msgstr "色" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:40 +msgid "高度" +msgstr "高さ" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:112 +msgid "高斯模糊:" +msgstr "ぼかし:" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:53 +msgid "默认" +msgstr "デフォルト" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:86 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:90 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:108 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:112 +msgid "默认值0" +msgstr "デフォルト値は0" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:95 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:99 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:104 +msgid "默认值1" +msgstr "デフォルト値は1" + +#: src/pages/templateEditor/TemplateGraphicalEditor/withStateEditor/SingleStateEditor.tsx:8 +msgid "鼠标悬浮样式" +msgstr "マウスホバースタイル" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:48 +msgid "鼠标指针" +msgstr "マウスポインター" + +#: src/pages/templateEditor/TemplateGraphicalEditor/withStateEditor/SingleStateEditor.tsx:9 +msgid "鼠标按下样式" +msgstr "マウスクリックスタイル" diff --git a/packages/origine2/src/locales/zhCn.po b/packages/origine2/src/locales/zhCn.po new file mode 100644 index 000000000..0ab20328e --- /dev/null +++ b/packages/origine2/src/locales/zhCn.po @@ -0,0 +1,1633 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2024-04-03 22:03+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: zhCn\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Plural-Forms: \n" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:221 +msgid ";注释" +msgstr ";注释" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:39 +#~ msgid "(定位用)偏移右侧距离" +#~ msgstr "(定位用)偏移右侧距离" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:38 +#~ msgid "(定位用)偏移左侧距离" +#~ msgstr "(定位用)偏移左侧距离" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:41 +#~ msgid "(定位用)偏移底部距离" +#~ msgstr "(定位用)偏移底部距离" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:40 +#~ msgid "(定位用)偏移顶部距离" +#~ msgstr "(定位用)偏移顶部距离" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:32 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:90 +msgid "%" +msgstr "%" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:16 +msgid "BGM" +msgstr "BGM" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:48 +msgid "BGM 音量" +msgstr "BGM 音量" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:109 +msgid "bgm:选择背景音乐;" +msgstr "bgm:选择背景音乐;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:149 +msgid "callScene:选择场景文件;" +msgstr "callScene:选择场景文件;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:15 +msgid "CG" +msgstr "CG" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:85 +msgid "changeBg: 选择背景图片;" +msgstr "changeBg: 选择背景图片;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:93 +msgid "changeFigure:选择立绘文件;" +msgstr "changeFigure:选择立绘文件;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:157 +msgid "changeScene:选择场景文件;" +msgstr "changeScene:选择场景文件;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:165 +msgid "choose:选项:选择场景文件;" +msgstr "choose:选项:选择场景文件;" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:42 +msgid "CSS 属性值" +msgstr "CSS 属性值" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:36 +msgid "CSS 属性名:" +msgstr "CSS 属性名:" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:213 +msgid "end;" +msgstr "end;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:245 +msgid "getUserInput:;" +msgstr "getUserInput:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:205 +msgid "Intro 文本" +msgstr "Intro 文本" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:141 +msgid "intro:;" +msgstr "intro:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:173 +msgid "miniAvatar:选择小头像;" +msgstr "miniAvatar:选择小头像;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:133 +msgid "pixiInit;" +msgstr "pixiInit;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:125 +msgid "pixiPerform:snow;" +msgstr "pixiPerform:snow;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:181 +msgid "playEffect:选择效果音文件;" +msgstr "playEffect:选择效果音文件;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:117 +msgid "playVideo:选择视频文件;" +msgstr "playVideo:选择视频文件;" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:121 +msgid "RGB电影滤镜" +msgstr "RGB电影滤镜" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:101 +msgid "setAnimation:选择动画文件;" +msgstr "setAnimation:选择动画文件;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:205 +msgid "setTextbox:hide;" +msgstr "setTextbox:hide;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:237 +msgid "setTransform: -duration=0;" +msgstr "setTransform: -duration=0;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:229 +msgid "setTransition:;" +msgstr "setTransition:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:197 +msgid "unlockBgm:;" +msgstr "unlockBgm:;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:189 +msgid "unlockCg:;" +msgstr "unlockCg:;" + +#: src/pages/dashboard/Sidebar.tsx:60 +#: src/pages/dashboard/Sidebar.tsx:65 +msgid "WebGAL Classic" +msgstr "WebGAL Classic" + +#: src/pages/dashboard/Sidebar.tsx:50 +#: src/pages/dashboard/Sidebar.tsx:54 +msgid "WebGAL Standard" +msgstr "WebGAL Standard" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:86 +msgid "X轴位移:" +msgstr "X轴位移:" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:95 +msgid "X轴缩放:" +msgstr "X轴缩放:" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:90 +msgid "Y轴位移:" +msgstr "Y轴位移:" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:99 +msgid "Y轴缩放:" +msgstr "Y轴缩放:" + +#: src/pages/editor/Topbar/Topbar.tsx:101 +msgid "一直显示功能区" +msgstr "一直显示功能区" + +#: src/components/Assets/Assets.tsx:274 +#: src/components/Assets/Assets.tsx:276 +msgid "上传" +msgstr "上传" + +#: src/components/Assets/Assets.tsx:198 +msgid "上传资源" +msgstr "上传资源" + +#: src/pages/dashboard/About.tsx:88 +msgid "下载最新版本" +msgstr "下载最新版本" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:14 +msgid "下雨" +msgstr "下雨" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:13 +msgid "下雪" +msgstr "下雪" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:130 +msgid "不显示角色名" +msgstr "不显示角色名" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:56 +msgid "个字" +msgstr "个字" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:55 +msgid "中" +msgstr "中" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:47 +msgid "中间" +msgstr "中间" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:29 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:19 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:27 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:20 +msgid "中间立绘" +msgstr "中间立绘" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:128 +msgid "为当前的舞台添加特殊效果" +msgstr "为当前的舞台添加特殊效果" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:104 +msgid "为立绘或背景图片设置动画效果" +msgstr "为立绘或背景图片设置动画效果" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:240 +msgid "为立绘或背景图片设置效果" +msgstr "为立绘或背景图片设置效果" + +#: src/pages/templateEditor/TemplateGraphicalEditor/TemplateGraphicalEditor.tsx:60 +msgid "主要样式" +msgstr "主要样式" + +#: src/pages/editor/Topbar/Topbar.tsx:111 +msgid "主页" +msgstr "主页" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:76 +msgid "代码编辑器" +msgstr "代码编辑器" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:46 +msgid "使用引擎内置的特效" +msgstr "使用引擎内置的特效" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:124 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:40 +msgid "使用特效" +msgstr "使用特效" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:31 +msgid "使用立绘ID" +msgstr "使用立绘ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:46 +msgid "使用自定义特效" +msgstr "使用自定义特效" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:42 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:48 +msgid "使用预制特效" +msgstr "使用预制特效" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:47 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:73 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:52 +msgid "使用预设的作用目标,如果设置了id则不生效" +msgstr "使用预设的作用目标,如果设置了id则不生效" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:44 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:70 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:49 +msgid "使用预设目标" +msgstr "使用预设目标" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:34 +msgid "侧边栏" +msgstr "侧边栏" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:43 +msgid "侧边栏游戏预览" +msgstr "侧边栏游戏预览" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGColor.tsx:32 +msgid "修改颜色" +msgstr "修改颜色" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:44 +msgid "值" +msgstr "值" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:45 +msgid "偏移右侧距离(定位用)" +msgstr "偏移右侧距离(定位用)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:44 +msgid "偏移左侧距离(定位用)" +msgstr "偏移左侧距离(定位用)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:47 +msgid "偏移底部距离(定位用)" +msgstr "偏移底部距离(定位用)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:46 +msgid "偏移顶部距离(定位用)" +msgstr "偏移顶部距离(定位用)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:29 +msgid "停止 BGM" +msgstr "停止 BGM" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:30 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:88 +msgid "像素" +msgstr "像素" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:122 +msgid "光辉电影滤镜" +msgstr "光辉电影滤镜" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:140 +msgid "全屏文字" +msgstr "全屏文字" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:144 +msgid "全屏显示一段文字,用于独白或引出场景" +msgstr "全屏显示一段文字,用于独白或引出场景" + +#: src/pages/dashboard/About.tsx:65 +#: src/pages/dashboard/About.tsx:66 +msgid "关于" +msgstr "关于" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:143 +msgid "关联立绘" +msgstr "关联立绘" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:18 +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:25 +msgid "关闭小头像" +msgstr "关闭小头像" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:23 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:30 +msgid "关闭效果音" +msgstr "关闭效果音" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:140 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:147 +msgid "关闭立绘" +msgstr "关闭立绘" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:37 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:44 +msgid "关闭背景" +msgstr "关闭背景" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:39 +msgid "最大宽度" +msgstr "最大宽度" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:42 +msgid "最大高度" +msgstr "最大高度" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:38 +msgid "最小宽度" +msgstr "最小宽度" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:41 +msgid "最小高度" +msgstr "最小高度" + +#: src/pages/dashboard/About.tsx:81 +msgid "最新版本" +msgstr "最新版本" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/GetUserInput.tsx:21 +msgid "写入变量" +msgstr "写入变量" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:164 +msgid "分支选择" +msgstr "分支选择" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:160 +msgid "切换到另一个场景文件,并清除当前场景" +msgstr "切换到另一个场景文件,并清除当前场景" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:156 +msgid "切换场景" +msgstr "切换场景" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:33 +msgid "切换场景,新场景直接替换父场景" +msgstr "切换场景,新场景直接替换父场景" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:92 +msgid "切换立绘" +msgstr "切换立绘" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:84 +msgid "切换背景" +msgstr "切换背景" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:88 +msgid "切换背景图片" +msgstr "切换背景图片" + +#: src/components/Assets/Assets.tsx:157 +#: src/components/Assets/Assets.tsx:185 +#: src/pages/dashboard/Sidebar.tsx:106 +#: src/pages/dashboard/TemplateSidebar.tsx:56 +msgid "创建" +msgstr "创建" + +#: src/pages/dashboard/TemplateSidebar.tsx:48 +msgid "创建新模板" +msgstr "创建新模板" + +#: src/pages/dashboard/Sidebar.tsx:94 +msgid "创建新游戏" +msgstr "创建新游戏" + +#: src/components/Assets/FileElement.tsx:82 +#: src/components/Assets/FileElement.tsx:89 +#: src/pages/dashboard/GameElement.tsx:152 +#: src/pages/dashboard/TemplateElement.tsx:131 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:193 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:114 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:103 +msgid "删除" +msgstr "删除" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:89 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:90 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:96 +msgid "删除属性" +msgstr "删除属性" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:205 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:28 +msgid "删除本句" +msgstr "删除本句" + +#: src/pages/dashboard/TemplateElement.tsx:91 +#: src/pages/dashboard/TemplateElement.tsx:128 +msgid "删除模板" +msgstr "删除模板" + +#: src/pages/dashboard/GameElement.tsx:97 +#: src/pages/dashboard/GameElement.tsx:137 +msgid "删除游戏" +msgstr "删除游戏" + +#: src/components/Assets/Assets.tsx:211 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:155 +msgid "刷新" +msgstr "刷新" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:49 +msgid "刷新游戏" +msgstr "刷新游戏" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGFontWeight.tsx:16 +msgid "加粗" +msgstr "加粗" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:103 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:240 +msgid "动画" +msgstr "动画" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:283 +msgid "半张嘴" +msgstr "半张嘴" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:68 +msgid "单位毫秒。 0~ 有效" +msgstr "单位毫秒。 0~ 有效" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:220 +msgid "单行注释" +msgstr "单行注释" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:119 +msgid "反射电影滤镜" +msgstr "反射电影滤镜" + +#: src/pages/editor/ChooseFile/ChooseFile.tsx:99 +msgid "取消" +msgstr "取消" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:85 +msgid "变换" +msgstr "变换" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:49 +msgid "右侧" +msgstr "右侧" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:30 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:20 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:28 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:21 +msgid "右侧立绘" +msgstr "右侧立绘" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:112 +msgid "启动、切换或停止背景音乐的播放" +msgstr "启动、切换或停止背景音乐的播放" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:123 +msgid "启动图" +msgstr "启动图" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:37 +msgid "启用视频跳过" +msgstr "启用视频跳过" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:258 +msgid "唇形同步与眨眼" +msgstr "唇形同步与眨眼" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:65 +msgid "图形编辑器" +msgstr "图形编辑器" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:51 +msgid "圆角" +msgstr "圆角" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:176 +msgid "在对话框的左下角显示一个小头像" +msgstr "在对话框的左下角显示一个小头像" + +#: src/pages/dashboard/GameElement.tsx:94 +#: src/pages/dashboard/TemplateElement.tsx:88 +msgid "在文件管理器中打开" +msgstr "在文件管理器中打开" + +#: src/pages/dashboard/GameElement.tsx:95 +#: src/pages/dashboard/TemplateElement.tsx:89 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:161 +msgid "在新标签页中预览" +msgstr "在新标签页中预览" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Template.tsx:12 +msgid "在这里放置编辑组件" +msgstr "在这里放置编辑组件" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:108 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:192 +msgid "场景" +msgstr "场景" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:58 +msgid "场景与分支" +msgstr "场景与分支" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:19 +msgid "场景文件" +msgstr "场景文件" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:56 +msgid "大" +msgstr "大" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:50 +msgid "字体" +msgstr "字体" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:33 +msgid "字体大小" +msgstr "字体大小" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:35 +msgid "字母间距" +msgstr "字母间距" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:34 +msgid "字重" +msgstr "字重" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:43 +msgid "定位方式" +msgstr "定位方式" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:57 +msgid "实时预览" +msgstr "实时预览" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:167 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:71 +msgid "实时预览关闭" +msgstr "实时预览关闭" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:59 +msgid "实时预览将游戏快进至编辑语句,但有限制。先前场景的语句效果,如变量,不会反映在预览中。" +msgstr "实时预览将游戏快进至编辑语句,但有限制。先前场景的语句效果,如变量,不会反映在预览中。" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:167 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:71 +msgid "实时预览打开" +msgstr "实时预览打开" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:37 +msgid "宽度" +msgstr "宽度" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:106 +msgid "对话" +msgstr "对话" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/GetUserInput.tsx:32 +msgid "对话框标题" +msgstr "对话框标题" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:18 +#: src/pages/editor/Topbar/Topbar.tsx:86 +msgid "导出" +msgstr "导出" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:24 +msgid "导出为可执行文件" +msgstr "导出为可执行文件" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:27 +msgid "导出为安卓项目文件" +msgstr "导出为安卓项目文件" + +#: src/pages/editor/Topbar/tabs/Export/ExportTab.tsx:21 +msgid "导出为网页" +msgstr "导出为网页" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:54 +msgid "小" +msgstr "小" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:27 +msgid "小头像文件" +msgstr "小头像文件" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:49 +msgid "层级顺序" +msgstr "层级顺序" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:25 +msgid "展示小头像" +msgstr "展示小头像" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:43 +msgid "属性" +msgstr "属性" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:48 +msgid "左侧" +msgstr "左侧" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:28 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:18 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:26 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:19 +msgid "左侧立绘" +msgstr "左侧立绘" + +#: src/pages/dashboard/DashBoard.tsx:126 +msgid "已创建" +msgstr "已创建" + +#: src/pages/editor/Topbar/tabs/Help/HelpTab.tsx:12 +#: src/pages/editor/Topbar/tabs/Help/HelpTab.tsx:15 +#: src/pages/editor/Topbar/Topbar.tsx:84 +msgid "帮助" +msgstr "帮助" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:114 +msgid "帮助文档" +msgstr "帮助文档" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:37 +msgid "常规演出" +msgstr "常规演出" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:294 +msgid "应用颜色变化" +msgstr "应用颜色变化" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:253 +msgid "延迟时间(秒)" +msgstr "延迟时间(秒)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:272 +msgid "张开嘴" +msgstr "张开嘴" + +#: src/pages/dashboard/About.tsx:77 +msgid "当前版本" +msgstr "当前版本" + +#: src/pages/dashboard/GameElement.tsx:146 +msgid "我确定要删除游戏" +msgstr "我确定要删除游戏" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:47 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:73 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:52 +msgid "手动输入 ID" +msgstr "手动输入 ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:78 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:227 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:43 +msgid "打开效果编辑器" +msgstr "打开效果编辑器" + +#: src/components/Assets/Assets.tsx:212 +msgid "打开文件夹" +msgstr "打开文件夹" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:213 +msgid "执行到此句" +msgstr "执行到此句" + +#: src/components/Assets/Assets.tsx:142 +msgid "扩展名" +msgstr "扩展名" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:88 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:91 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:240 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:242 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:52 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:55 +msgid "持续时间(单位为毫秒)" +msgstr "持续时间(单位为毫秒)" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCursor.tsx:17 +msgid "指针" +msgstr "指针" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:208 +msgid "控制是否要显示文本框" +msgstr "控制是否要显示文本框" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGColor.tsx:36 +msgid "提交" +msgstr "提交" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonEditor.tsx:22 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:35 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:93 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonNumberEditor.tsx:23 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCustomProperty.tsx:20 +msgid "提交修改" +msgstr "提交修改" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:32 +msgid "提示:先设置立绘/背景,再应用动画,否则找不到目标。" +msgstr "提示:先设置立绘/背景,再应用动画,否则找不到目标。" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:31 +msgid "提示:在编辑结束后,如果发现有失效的鉴赏 CG/BGM ,在 WebGAL 游戏界面的选项中选择清除全部数据以清空。" +msgstr "提示:在编辑结束后,如果发现有失效的鉴赏 CG/BGM ,在 WebGAL 游戏界面的选项中选择清除全部数据以清空。" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:82 +msgid "提示:换行符最多可达三行" +msgstr "提示:换行符最多可达三行" + +#: src/pages/editor/ChooseFile/ChooseFile.tsx:108 +#: src/pages/editor/ChooseFile/ChooseFile.tsx:109 +msgid "搜索文件" +msgstr "搜索文件" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:120 +msgid "播放一小段视频" +msgstr "播放一小段视频" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:184 +msgid "播放一段效果音" +msgstr "播放一段效果音" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:30 +msgid "播放效果音" +msgstr "播放效果音" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:116 +msgid "播放视频" +msgstr "播放视频" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:120 +msgid "故障电影滤镜" +msgstr "故障电影滤镜" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:103 +msgid "效果" +msgstr "效果" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:180 +msgid "效果声音" +msgstr "效果声音" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:83 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:235 +msgid "效果提示" +msgstr "效果提示" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:41 +msgid "效果编辑" +msgstr "效果编辑" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:80 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:230 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:45 +msgid "效果编辑器" +msgstr "效果编辑器" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:222 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:224 +msgid "效果选项" +msgstr "效果选项" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:62 +msgid "效果音 ID" +msgstr "效果音 ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:54 +msgid "效果音 ID(输入以使效果音循环,后面再用这个 id 来关闭)" +msgstr "效果音 ID(输入以使效果音循环,后面再用这个 id 来关闭)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:42 +msgid "效果音 音量" +msgstr "效果音 音量" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:32 +msgid "效果音文件" +msgstr "效果音文件" + +#: src/pages/editor/Topbar/Topbar.tsx:77 +msgid "文件" +msgstr "文件" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:227 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:168 +msgid "文字大小" +msgstr "文字大小" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:283 +msgid "文字颜色" +msgstr "文字颜色" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:204 +msgid "文本显示" +msgstr "文本显示" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:31 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:89 +msgid "文本长度 (em)" +msgstr "文本长度 (em)" + +#: src/pages/dashboard/About.tsx:106 +msgid "文档" +msgstr "文档" + +#: src/components/Assets/Assets.tsx:135 +msgid "新建文件" +msgstr "新建文件" + +#: src/components/Assets/Assets.tsx:170 +msgid "新建文件夹" +msgstr "新建文件夹" + +#: src/pages/dashboard/TemplateSidebar.tsx:44 +#: src/pages/dashboard/TemplateSidebar.tsx:54 +msgid "新建模板" +msgstr "新建模板" + +#: src/pages/dashboard/Sidebar.tsx:90 +msgid "新建游戏" +msgstr "新建游戏" + +#: src/components/Assets/Assets.tsx:138 +msgid "新文件名" +msgstr "新文件名" + +#: src/components/Assets/Assets.tsx:173 +msgid "新文件夹名" +msgstr "新文件夹名" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:56 +msgid "新标签页预览" +msgstr "新标签页预览" + +#: src/pages/dashboard/TemplateSidebar.tsx:53 +msgid "新模板名" +msgstr "新模板名" + +#: src/pages/dashboard/Sidebar.tsx:100 +msgid "新游戏名" +msgstr "新游戏名" + +#: src/pages/dashboard/TemplateSidebar.tsx:23 +msgid "新的模板" +msgstr "新的模板" + +#: src/pages/dashboard/Sidebar.tsx:34 +#: src/pages/dashboard/Sidebar.tsx:75 +#: src/pages/dashboard/Sidebar.tsx:99 +#: src/pages/dashboard/TemplateSidebar.tsx:29 +msgid "新的游戏" +msgstr "新的游戏" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:126 +msgid "旁白模式" +msgstr "旁白模式" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:91 +msgid "旁白模式,无角色名" +msgstr "旁白模式,无角色名" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:108 +msgid "旋转角度:" +msgstr "旋转角度:" + +#: src/components/Assets/Assets.tsx:144 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCursor.tsx:16 +msgid "无" +msgstr "无" + +#: src/pages/dashboard/GameElement.tsx:141 +msgid "是否要删除 \"{gameName}\" ?" +msgstr "是否要删除 \"{gameName}\" ?" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:40 +msgid "显示侧边栏" +msgstr "显示侧边栏" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:75 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:224 +msgid "显示效果" +msgstr "显示效果" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTextbox.tsx:20 +msgid "显示文本框" +msgstr "显示文本框" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:147 +msgid "显示立绘" +msgstr "显示立绘" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:44 +msgid "显示背景" +msgstr "显示背景" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:130 +msgid "显示角色名" +msgstr "显示角色名" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:76 +msgid "普通对话" +msgstr "普通对话" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:27 +msgid "未指定" +msgstr "未指定" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:66 +msgid "未识别" +msgstr "未识别" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Unrecognized.tsx:10 +msgid "未识别的指令" +msgstr "未识别的指令" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:176 +msgid "本句前插入句子" +msgstr "本句前插入句子" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:60 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:164 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:79 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:105 +msgid "本句执行后执行下一句" +msgstr "本句执行后执行下一句" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:61 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:165 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:79 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:105 +msgid "本句执行后等待" +msgstr "本句执行后等待" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:107 +msgid "标题背景图片" +msgstr "标题背景图片" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:115 +msgid "标题背景音乐" +msgstr "标题背景音乐" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor.tsx:33 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCommonLengthEditor4Values.tsx:91 +msgid "根文本长度 (rem)" +msgstr "根文本长度 (rem)" + +#: src/pages/dashboard/About.tsx:66 +msgid "检测到新版本" +msgstr "检测到新版本" + +#: src/pages/dashboard/DashBoard.tsx:176 +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:110 +msgid "模板" +msgstr "模板" + +#: src/pages/dashboard/TemplateSidebar.tsx:35 +msgid "模板列表" +msgstr "模板列表" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:15 +msgid "櫻花" +msgstr "櫻花" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGFontWeight.tsx:15 +msgid "正常" +msgstr "正常" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:36 +msgid "正常播放 BGM" +msgstr "正常播放 BGM" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/End.tsx:9 +msgid "此指令将结束游戏" +msgstr "此指令将结束游戏" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:82 +msgid "永不换行" +msgstr "永不换行" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Comment.tsx:21 +msgid "注释" +msgstr "注释" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Comment.tsx:22 +msgid "注释仅在编辑时可见,游戏中不会执行" +msgstr "注释仅在编辑时可见,游戏中不会执行" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:60 +msgid "淡入淡出" +msgstr "淡入淡出" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:80 +msgid "添加一句对话,可以附带语音" +msgstr "添加一句对话,可以附带语音" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:192 +msgid "添加一张图片到 CG 鉴赏界面" +msgstr "添加一张图片到 CG 鉴赏界面" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:224 +msgid "添加一行注释" +msgstr "添加一行注释" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:200 +msgid "添加一首音乐到音乐鉴赏界面" +msgstr "添加一首音乐到音乐鉴赏界面" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:62 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:129 +msgid "添加属性" +msgstr "添加属性" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:96 +msgid "添加或切换指定位置的立绘" +msgstr "添加或切换指定位置的立绘" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:220 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:124 +msgid "添加新行" +msgstr "添加新行" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/AddProperty.tsx:67 +msgid "添加自定义属性" +msgstr "添加自定义属性" + +#: src/pages/editor/GraphicalEditor/GraphicalEditor.tsx:229 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:63 +#: src/pages/editor/Topbar/Topbar.tsx:89 +msgid "添加语句" +msgstr "添加语句" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:136 +msgid "清除当前舞台的特殊效果" +msgstr "清除当前舞台的特殊效果" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:132 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:33 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:40 +msgid "清除特效" +msgstr "清除特效" + +#: src/pages/dashboard/DashBoard.tsx:174 +msgid "游戏" +msgstr "游戏" + +#: src/pages/dashboard/Sidebar.tsx:81 +msgid "游戏列表" +msgstr "游戏列表" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:98 +msgid "游戏包名" +msgstr "游戏包名" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:86 +msgid "游戏名称" +msgstr "游戏名称" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:68 +msgid "游戏控制" +msgstr "游戏控制" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:94 +msgid "游戏简介" +msgstr "游戏简介" + +#: src/pages/editor/Topbar/tabs/GameConfig/GameConfig.tsx:90 +msgid "游戏识别码" +msgstr "游戏识别码" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:114 +msgid "游戏配置" +msgstr "游戏配置" + +#: src/pages/editor/Topbar/Topbar.tsx:118 +msgid "源代码" +msgstr "源代码" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:116 +msgid "滤镜" +msgstr "滤镜" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:118 +msgid "点状电影滤镜" +msgstr "点状电影滤镜" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:50 +msgid "特殊演出" +msgstr "特殊演出" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:56 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:50 +msgid "百分比。 0-100 有效" +msgstr "百分比。 0-100 有效" + +#: src/pages/editor/MainArea/EditArea.tsx:45 +msgid "目前没有打开任何文件" +msgstr "目前没有打开任何文件" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGPosition.tsx:16 +msgid "相对" +msgstr "相对" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:304 +msgid "睁开眼睛" +msgstr "睁开眼睛" + +#: src/pages/dashboard/TemplateElement.tsx:129 +msgid "确定要删除 \"{templateName}\" 模板吗?" +msgstr "确定要删除 \"{templateName}\" 模板吗?" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/GetUserInput.tsx:43 +msgid "确认按钮文本" +msgstr "确认按钮文本" + +#: src/pages/editor/Topbar/Topbar.tsx:80 +msgid "视图" +msgstr "视图" + +#: src/pages/dashboard/About.tsx:75 +msgid "视觉小说编辑,再进化" +msgstr "视觉小说编辑,再进化" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:112 +msgid "视频" +msgstr "视频" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:23 +msgid "视频文件" +msgstr "视频文件" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:33 +msgid "视频选项" +msgstr "视频选项" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayVideo.tsx:37 +msgid "禁止跳过视频" +msgstr "禁止跳过视频" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:107 +msgid "立绘" +msgstr "立绘" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:220 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:164 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:71 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:97 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:76 +msgid "立绘 ID" +msgstr "立绘 ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:212 +msgid "立绘ID(可选)" +msgstr "立绘ID(可选)" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:199 +msgid "立绘位置" +msgstr "立绘位置" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:156 +msgid "立绘插图的ID" +msgstr "立绘插图的ID" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:150 +msgid "立绘文件" +msgstr "立绘文件" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:111 +msgid "纹理" +msgstr "纹理" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:266 +msgid "结束后保持" +msgstr "结束后保持" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:36 +msgid "结束当前 BGM 的播放" +msgstr "结束当前 BGM 的播放" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:216 +msgid "结束当前游戏并回到标题画面" +msgstr "结束当前游戏并回到标题画面" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:212 +msgid "结束游戏" +msgstr "结束游戏" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGPosition.tsx:17 +msgid "绝对" +msgstr "绝对" + +#: src/pages/dashboard/TemplateElement.tsx:81 +msgid "编辑模板" +msgstr "编辑模板" + +#: src/pages/dashboard/GameElement.tsx:87 +msgid "编辑游戏" +msgstr "编辑游戏" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Template.tsx:11 +msgid "编辑组件" +msgstr "编辑组件" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:94 +msgid "缩放" +msgstr "缩放" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:117 +msgid "老电影滤镜" +msgstr "老电影滤镜" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:105 +msgid "背景" +msgstr "背景" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:21 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:29 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:22 +msgid "背景图片" +msgstr "背景图片" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:46 +msgid "背景文件" +msgstr "背景文件" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:108 +msgid "背景音乐" +msgstr "背景音乐" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:38 +msgid "背景音乐文件" +msgstr "背景音乐文件" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Intro.tsx:277 +msgid "背景颜色" +msgstr "背景颜色" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:61 +msgid "脚本编辑器" +msgstr "脚本编辑器" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGCursor.tsx:15 +msgid "自动" +msgstr "自动" + +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:82 +msgid "自动换行" +msgstr "自动换行" + +#: src/pages/editor/Topbar/Topbar.tsx:102 +msgid "自动隐藏功能区" +msgstr "自动隐藏功能区" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:61 +#: src/pages/editor/GraphicalEditor/SentenceEditor/PixiPerform.tsx:69 +msgid "自定义特效名称" +msgstr "自定义特效名称" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:45 +msgid "舞台对象控制" +msgstr "舞台对象控制" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:248 +msgid "获取来自用户的字符输入" +msgstr "获取来自用户的字符输入" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:244 +msgid "获取输入" +msgstr "获取输入" + +#: src/pages/editor/MainArea/EditorToolbar.tsx:56 +msgid "行脚本" +msgstr "行脚本" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:98 +msgid "要删除属性{0}吗?" +msgstr "要删除属性{0}吗?" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:91 +msgid "角色名,留空以继承上句" +msgstr "角色名,留空以继承上句" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:77 +msgid "角色名,留空以继承上句:对话;" +msgstr "角色名,留空以继承上句:对话;" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:172 +msgid "角落头像" +msgstr "角落头像" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:72 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:63 +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:59 +msgid "解锁名称" +msgstr "解锁名称" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:81 +msgid "解锁的 BGM 名称" +msgstr "解锁的 BGM 名称" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:72 +msgid "解锁的 CG 名称" +msgstr "解锁的 CG 名称" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:68 +msgid "解锁的 CG 或 BGM 名称" +msgstr "解锁的 CG 或 BGM 名称" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:33 +msgid "解锁鉴赏类型" +msgstr "解锁鉴赏类型" + +#: src/pages/editor/Topbar/Topbar.tsx:82 +msgid "设置" +msgstr "设置" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:100 +msgid "设置动画" +msgstr "设置动画" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:236 +msgid "设置效果" +msgstr "设置效果" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:228 +msgid "设置转场" +msgstr "设置转场" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:232 +msgid "设置转场效果" +msgstr "设置转场效果" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Unrecognized.tsx:12 +msgid "该指令没有被识别,请打开脚本编辑模式以手动编辑" +msgstr "该指令没有被识别,请打开脚本编辑模式以手动编辑" + +#: src/pages/editor/MainArea/EditArea.tsx:31 +msgid "该文件类型不支持预览" +msgstr "该文件类型不支持预览" + +#: src/pages/dashboard/DashBoard.tsx:157 +#: src/pages/dashboard/DashBoard.tsx:158 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:38 +#: src/pages/editor/Topbar/tabs/Settings/SettingsTab.tsx:44 +msgid "语言" +msgstr "语言" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:113 +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:132 +msgid "语音" +msgstr "语音" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:28 +msgid "调用/切换场景" +msgstr "调用/切换场景" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:152 +msgid "调用一段场景文件,在结束后返回父场景" +msgstr "调用一段场景文件,在结束后返回父场景" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:148 +msgid "调用场景" +msgstr "调用场景" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeCallScene.tsx:32 +msgid "调用场景,新场景结束后返回父场景" +msgstr "调用场景,新场景结束后返回父场景" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:182 +msgid "资源" +msgstr "资源" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:63 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:89 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:68 +msgid "输入目标 ID" +msgstr "输入目标 ID" + +#: src/pages/dashboard/GameElement.tsx:121 +#: src/pages/dashboard/GameElement.tsx:153 +#: src/pages/dashboard/TemplateElement.tsx:115 +#: src/pages/dashboard/TemplateElement.tsx:132 +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/index.tsx:106 +msgid "返回" +msgstr "返回" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:56 +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:160 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:75 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:101 +msgid "连续执行" +msgstr "连续执行" + +#: src/pages/editor/ChooseFile/ChooseFile.tsx:99 +#: src/pages/editor/ChooseFile/ChooseFile.tsx:104 +msgid "选择" +msgstr "选择" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:35 +msgid "选择动画" +msgstr "选择动画" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:59 +msgid "选择场景文件" +msgstr "选择场景文件" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/MiniAvatar.tsx:21 +msgid "选择小头像" +msgstr "选择小头像" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/PlayEffect.tsx:26 +msgid "选择效果音文件" +msgstr "选择效果音文件" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:143 +msgid "选择立绘文件" +msgstr "选择立绘文件" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeBg.tsx:40 +msgid "选择背景图片" +msgstr "选择背景图片" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Bgm.tsx:32 +msgid "选择背景音乐" +msgstr "选择背景音乐" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:31 +msgid "选择进入动画" +msgstr "选择进入动画" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:40 +msgid "选择退出动画" +msgstr "选择退出动画" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetAnimation.tsx:50 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransform.tsx:76 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTransition.tsx:55 +msgid "选择预设目标" +msgstr "选择预设目标" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:59 +msgid "选项" +msgstr "选项" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Choose.tsx:39 +msgid "选项名称" +msgstr "选项名称" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:104 +msgid "透明度(0-1):" +msgstr "透明度(0-1):" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:168 +msgid "通过选项进入不同的场景" +msgstr "通过选项进入不同的场景" + +#: src/pages/editor/Topbar/Topbar.tsx:78 +msgid "配置" +msgstr "配置" + +#: src/components/Assets/FileElement.tsx:54 +#: src/components/Assets/FileElement.tsx:70 +#: src/pages/dashboard/GameElement.tsx:122 +#: src/pages/dashboard/TemplateElement.tsx:116 +msgid "重命名" +msgstr "重命名" + +#: src/pages/dashboard/GameElement.tsx:96 +#: src/pages/dashboard/GameElement.tsx:111 +msgid "重命名文件夹" +msgstr "重命名文件夹" + +#: src/pages/dashboard/TemplateElement.tsx:90 +#: src/pages/dashboard/TemplateElement.tsx:105 +msgid "重命名模板" +msgstr "重命名模板" + +#: src/pages/editor/Topbar/tabs/AddSentence/AddSentenceTab.tsx:63 +msgid "鉴赏" +msgstr "鉴赏" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:188 +msgid "鉴赏图片" +msgstr "鉴赏图片" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/UnlockExtra.tsx:49 +msgid "鉴赏资源文件" +msgstr "鉴赏资源文件" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/index.tsx:196 +msgid "鉴赏音乐" +msgstr "鉴赏音乐" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:294 +msgid "闭上嘴" +msgstr "闭上嘴" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/ChangeFigure.tsx:314 +msgid "闭上眼睛" +msgstr "闭上眼睛" + +#: src/pages/editor/Topbar/tabs/ViewConfig/ViewTab.tsx:40 +msgid "隐藏侧边栏" +msgstr "隐藏侧边栏" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTextbox.tsx:16 +#: src/pages/editor/GraphicalEditor/SentenceEditor/SetTextbox.tsx:20 +msgid "隐藏文本框" +msgstr "隐藏文本框" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/propertyEditor/WGPosition.tsx:15 +msgid "静态" +msgstr "静态" + +#: src/pages/editor/EditorSidebar/EditorSidebar.tsx:106 +msgid "音乐" +msgstr "音乐" + +#: src/pages/dashboard/About.tsx:103 +msgid "项目主页" +msgstr "项目主页" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:36 +msgid "颜色" +msgstr "颜色" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:40 +msgid "高度" +msgstr "高度" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:112 +msgid "高斯模糊:" +msgstr "高斯模糊:" + +#: src/pages/editor/GraphicalEditor/SentenceEditor/Say.tsx:53 +msgid "默认" +msgstr "默认" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:86 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:90 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:108 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:112 +msgid "默认值0" +msgstr "默认值0" + +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:95 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:99 +#: src/pages/editor/GraphicalEditor/components/EffectEditor.tsx:104 +msgid "默认值1" +msgstr "默认值1" + +#: src/pages/templateEditor/TemplateGraphicalEditor/withStateEditor/SingleStateEditor.tsx:9 +#~ msgid "鼠标悬浮效果" +#~ msgstr "鼠标悬浮效果" + +#: src/pages/templateEditor/TemplateGraphicalEditor/withStateEditor/SingleStateEditor.tsx:8 +msgid "鼠标悬浮样式" +msgstr "鼠标悬浮样式" + +#: src/pages/templateEditor/TemplateGraphicalEditor/WebgalClassEditor/editorTable.ts:48 +msgid "鼠标指针" +msgstr "鼠标指针" + +#: src/pages/templateEditor/TemplateGraphicalEditor/withStateEditor/SingleStateEditor.tsx:10 +#~ msgid "鼠标按下效果" +#~ msgstr "鼠标按下效果" + +#: src/pages/templateEditor/TemplateGraphicalEditor/withStateEditor/SingleStateEditor.tsx:9 +msgid "鼠标按下样式" +msgstr "鼠标按下样式" diff --git a/packages/origine2/src/main.tsx b/packages/origine2/src/main.tsx index 4f1444222..e2c96c9be 100644 --- a/packages/origine2/src/main.tsx +++ b/packages/origine2/src/main.tsx @@ -1,18 +1,37 @@ import ReactDOM from "react-dom/client"; import App from "./App"; import "./index.css"; -import { initializeIcons } from '@fluentui/font-icons-mdl2'; -import i18n from 'i18next'; -import {initReactI18next} from 'react-i18next'; -import { en } from "./translations/en"; -import { zhCn } from "./translations/zh-cn"; -import { jp } from "./translations/jp"; +import {initializeIcons} from '@fluentui/font-icons-mdl2'; import 'primereact/resources/themes/fluent-light/theme.css'; import "primereact/resources/primereact.min.css"; import "./primereact.scss"; -import { BrandVariants, createLightTheme, createDarkTheme, FluentProvider, makeStyles, Theme } from "@fluentui/react-components"; +import { + BrandVariants, + createLightTheme, + createDarkTheme, + FluentProvider, + makeStyles, + Theme +} from "@fluentui/react-components"; -const terre: BrandVariants = { +import {i18n} from "@lingui/core"; +import {I18nProvider} from "@lingui/react"; +import {messages as enMessages} from "./locales/en"; +import {messages as zhCnMessages} from "./locales/zhCn"; +import {messages as jaMessages} from "./locales/ja"; + +i18n.load({ + en: enMessages, + zhCn: zhCnMessages, + ja: jaMessages +}); + +export async function i18nActivate(locale: string) { + console.log(`Active ${locale}`); + i18n.activate(locale); +} + +const terre: BrandVariants = { 10: "#020306", 20: "#111725", 30: "#152642", @@ -36,41 +55,22 @@ const lightTheme: Theme = { }; const darkTheme: Theme = { - ...createDarkTheme(terre), + ...createDarkTheme(terre), }; darkTheme.colorBrandForeground1 = terre[110]; darkTheme.colorBrandForeground2 = terre[120]; -function initTranslation() { - i18n.use(initReactI18next) // passes i18n down to react-i18next - .init({ - // the translations - // (tip move them in a JSON file and import them, - // or even better, manage them via a UI: https://react.i18next.com/guides/multiple-translation-files#manage-your-translations-with-a-management-gui) - resources: { - en: { translation: en }, - zhCn: { translation: zhCn }, - jp: { translation: jp }, - }, - lng: 'zhCn', // if you're using a language detector, do not define the lng option - fallbackLng: 'zhCn', - - interpolation: { - escapeValue: false, // react already safes from xss => https://www.i18next.com/translation-function/interpolation#unescape - }, - }) - .then(() => console.log('WebGAL i18n Ready!')); -} - -initTranslation(); initializeIcons(); +i18n.activate('zhCn'); // 不用 StrictMode,因为会和 react-butiful-dnd 冲突 ReactDOM.createRoot(document.getElementById("root")!).render( // - + + + // ); diff --git a/packages/origine2/src/pages/dashboard/About.tsx b/packages/origine2/src/pages/dashboard/About.tsx index e754b8b26..436985b92 100644 --- a/packages/origine2/src/pages/dashboard/About.tsx +++ b/packages/origine2/src/pages/dashboard/About.tsx @@ -2,10 +2,10 @@ import * as React from 'react'; import { __INFO } from "@/config/info"; import { useRelease } from "../../hooks/useRelease"; import { logger } from '@/utils/logger'; -import useTrans from '@/hooks/useTrans'; import { Link, Popover, PopoverSurface, PopoverTrigger, Text, Title1, ToolbarButton } from '@fluentui/react-components'; import { Info24Filled, Info24Regular, bundleIcon } from '@fluentui/react-icons'; import { useState } from 'react'; +import { t } from '@lingui/macro'; interface DateTimeFormatOptions { year: 'numeric' | '2-digit'; @@ -15,7 +15,6 @@ interface DateTimeFormatOptions { const About: React.FunctionComponent = () => { const [open, setOpen] = useState(false); - const t = useTrans('editor.topBar.'); const latestRelease = useRelease(); const InfoIcon = bundleIcon(Info24Filled, Info24Regular); @@ -63,8 +62,8 @@ const About: React.FunctionComponent = () => { onOpenChange={() => setOpen(!open)} > - }> - {t('about.about')} {isNewRelease ? `(${t('about.checkedForNewVersion')})` : ''} + }> + {t`关于`} {isNewRelease ? `(${t`检测到新版本`})` : ''} @@ -73,20 +72,20 @@ const About: React.FunctionComponent = () => { WebGAL Terre -

{t('about.slogan')}

+

{t`视觉小说编辑,再进化`}

- {t('about.currentVersion')}: {`${__INFO.version} (${new Date(__INFO.buildTime).toLocaleString('zh-CN', dateTimeOptions).replaceAll('/', '-')})`}
+ {t`当前版本`}: {`${__INFO.version} (${new Date(__INFO.buildTime).toLocaleString('zh-CN', dateTimeOptions).replaceAll('/', '-')})`}
{ latestRelease && - {t('about.latestVersion')}: {`${latestRelease.version} (${new Date(latestRelease.releaseTime).toLocaleString('zh-CN', dateTimeOptions).replaceAll('/', '-')})`} + {t`最新版本`}: {`${latestRelease.version} (${new Date(latestRelease.releaseTime).toLocaleString('zh-CN', dateTimeOptions).replaceAll('/', '-')})`} }

{ isNewRelease && - {t('about.downloadLatest')} + {t`下载最新版本`} }

@@ -101,10 +100,10 @@ const About: React.FunctionComponent = () => {
- {t('about.homePage')} + {t`项目主页`} - {t('about.document')} + {t`文档`} GitHub diff --git a/packages/origine2/src/pages/dashboard/DashBoard.tsx b/packages/origine2/src/pages/dashboard/DashBoard.tsx index bf6828e92..f092bf89b 100644 --- a/packages/origine2/src/pages/dashboard/DashBoard.tsx +++ b/packages/origine2/src/pages/dashboard/DashBoard.tsx @@ -1,26 +1,48 @@ -import { useEffect, useRef } from "react"; -import { useValue } from "../../hooks/useValue"; -import axios from "axios"; -import { logger } from "../../utils/logger"; -import { Message, TestRefRef } from "../../components/message/Message"; +import {useRef} from "react"; +import {useValue} from "../../hooks/useValue"; +import {logger} from "../../utils/logger"; +import {Message, TestRefRef} from "../../components/message/Message"; import styles from "./dashboard.module.scss"; import Sidebar from "./Sidebar"; +import TemplateSidebar from "./TemplateSidebar"; import GamePreview from "./GamePreview"; -import { useSelector } from "react-redux"; -import { RootState } from "../../store/origineStore"; -import useTrans from "@/hooks/useTrans"; -import useLanguage from "@/hooks/useLanguage"; -import { language } from "@/store/statusReducer"; import About from "./About"; -import { WebgalParser } from "../editor/GraphicalEditor/parser"; -import { Card, Menu, MenuItem, MenuList, MenuPopover, MenuTrigger, Toolbar, ToolbarButton } from "@fluentui/react-components"; -import { LocalLanguage24Filled, LocalLanguage24Regular, bundleIcon } from "@fluentui/react-icons"; +import {WebgalParser} from "../editor/GraphicalEditor/parser"; +import { + Menu, + MenuItem, + MenuList, + MenuPopover, + MenuTrigger, + SelectTabData, + SelectTabEvent, + Tab, + TabList, + Toolbar, + ToolbarButton +} from "@fluentui/react-components"; +import { + AlbumFilled, + AlbumRegular, + bundleIcon, + GamesFilled, + GamesRegular, + LocalLanguage24Filled, + LocalLanguage24Regular +} from "@fluentui/react-icons"; +import classNames from "classnames"; +import useEditorStore from "@/store/useEditorStore"; +import {api} from "@/api"; +import useSWR, {useSWRConfig} from "swr"; +import {redirect} from "@/hooks/useHashRoute"; +import {t} from "@lingui/macro"; // 返回的文件信息(单个) interface IFileInfo { name: string; isDir: boolean; } + // 游戏信息 export interface GameInfo { dir: string; @@ -28,107 +50,160 @@ export interface GameInfo { cover: string; } -export default function DashBoard() { +export interface TemplateInfo { + dir: string; + title: string; +} - const t = useTrans('editor.topBar.'); - const setLanguage = useLanguage(); - const trans = useTrans('dashBoard.'); +const LocalLanguageIcon = bundleIcon(LocalLanguage24Filled, LocalLanguage24Regular); +const GameIcon = bundleIcon(GamesFilled, GamesRegular); +const AlbumIcon = bundleIcon(AlbumFilled, AlbumRegular); + +export const gameListFetcher = async () => { + const data = (await api.manageGameControllerGetGameList()).data; + const gameList = (data as unknown as Array).filter(e => e.isDir).map(e => e.name); + logger.info("返回的游戏列表", gameList); + const getGameInfoList = gameList.map( + async (gameName): Promise => { + const gameConfigData = (await api.manageGameControllerGetGameConfig(gameName)).data; + const gameConfig = WebgalParser.parseConfig(gameConfigData as unknown as string); + return { + dir: gameName, + title: gameConfig.find(e => e.command === "Game_name")?.args?.join('') ?? "", + cover: gameConfig.find(e => e.command === "Title_img")?.args?.join('') ?? "", + }; + }); + return await Promise.all(getGameInfoList); +}; + +export const templateListFetcher = async () => { + const data = (await api.manageTemplateControllerGetTemplateList()).data; + const templateList = (data as unknown as Array).filter(e => e.isDir).map(e => e.name); + logger.info("返回的模板列表", templateList); + const getTemplateInfoList = templateList.map( + async (templateName): Promise => { + const TemplateConfigData = (await api.manageTemplateControllerGetTemplateConfig(templateName)).data as unknown as object; + return { + dir: templateName, + title: 'name' in TemplateConfigData ? TemplateConfigData.name as string : templateName, + }; + }); + return await Promise.all(getTemplateInfoList); +}; - const LocalLanguageIcon = bundleIcon(LocalLanguage24Filled, LocalLanguage24Regular); +export default function DashBoard() { + const {mutate} = useSWRConfig(); - const isDashboardShow:boolean = useSelector((state: RootState) => state.status.dashboard.showDashBoard); + const subPage = useEditorStore.use.subPage(); + const updateLanguage = useEditorStore.use.updateLanguage(); const messageRef = useRef(null); + // 左侧栏页签 + const selectedValue = subPage; + + const onTabSelect = (event: SelectTabEvent, data: SelectTabData) => { + redirect('dashboard', data.value as string); + }; + // 当前选中的游戏 const currentGame = useValue(null); - + const setCurrentGame = (e: string | null) => currentGame.set(e); - // 游戏列表 - const gameInfoList = useValue>([]); + // 当前选中的模板 + const currentTemplate = useValue(null); - async function getDirInfo() { - return await axios.get("/api/manageGame/gameList").then(r => r.data); - } + const setCurrentTemplate = (e: string | null) => currentTemplate.set(e); - async function createGame(gameName:string) { - const res = await axios.post("/api/manageGame/createGame", { gameName: gameName }).then(r => r.data); + async function createGame(gameName: string, derivative?: string, templateName?: string) { + const res = await api.manageGameControllerCreateGame({ + gameName: gameName, + derivative: derivative as string, + templateName: templateName as string + }).then(r => r.data); logger.info("创建结果:", res); - messageRef.current!.showMessage(`${gameName} ` + trans('msgs.created'), 2000); - refreashDashboard(); - setCurrentGame(null); + messageRef.current!.showMessage(`${gameName} ` + t`已创建`, 2000); + refreash(); } - function refreashDashboard() { - getDirInfo().then(response => { - const gameList = (response as Array) - .filter(e => e.isDir) - .map(e => e.name); - logger.info("返回的游戏列表", gameList); - - const getGameInfoList = gameList.map( - async (gameName) : Promise => { - const gameConfigData = (await axios.get(`/api/manageGame/getGameConfig/${gameName}`)).data; - const gameConfig = WebgalParser.parseConfig(gameConfigData); - return { - dir: gameName, - title: gameConfig.find(e => e.command === "Game_name")?.args?.join('') ?? "", - cover: gameConfig.find(e => e.command === "Title_img")?.args?.join('') ?? "", - }; - }); - - Promise.all(getGameInfoList).then(list => gameInfoList.set(list)); - }); + async function createTemplate(templateName: string) { + console.log("createTeplate:" + templateName); + const res = await api.manageTemplateControllerCreateTemplate({templateName: templateName}).then(r => r.data); + logger.info("创建结果:", res); + refreash(); } - useEffect(() => { - refreashDashboard(); - }, []); + const {data: gameList} = useSWR("game-list", gameListFetcher); + const {data: templateList} = useSWR("template-list", templateListFetcher); const refreash = () => { - refreashDashboard(); setCurrentGame(null); + if (selectedValue === 'game') { + mutate('game-list'); + } else if (selectedValue === 'template') { + mutate('template-list'); + } }; - return <> - { isDashboardShow && -
-
+ return ( +
+
WebGAL Terre - - - - - }>{t('commandBar.items.language.text')} - - - - setLanguage(language.zhCn)}>简体中文 - setLanguage(language.en)}>English - setLanguage(language.jp)}>日本语 - - - - + + + + + }>{t`语言`} + + + + updateLanguage('zhCn')}>简体中文 + updateLanguage('en')}>English + updateLanguage('ja')}>日本語 + + + + +
+
+
+ + } value="game">{t`游戏`} + } value="template">{t`模板`} +
-
- - { - currentGame.value && - e.dir === currentGame.value)!} - /> - } + {selectedValue === "game" &&
+ + gameList={gameList ? gameList : []} + /> + { + currentGame.value && gameList && + e.dir === currentGame.value)!} + /> + }
-
} - ; + } + {selectedValue === "template" &&
+ +
} +
+
+ ); } diff --git a/packages/origine2/src/pages/dashboard/GameElement.tsx b/packages/origine2/src/pages/dashboard/GameElement.tsx index 1e3052c3b..a19cfa389 100644 --- a/packages/origine2/src/pages/dashboard/GameElement.tsx +++ b/packages/origine2/src/pages/dashboard/GameElement.tsx @@ -1,14 +1,13 @@ import styles from "./gameElement.module.scss"; -import axios from "axios"; -import { useDispatch } from "react-redux"; -import { setDashboardShow, setEditingGame } from "../../store/statusReducer"; import { useValue } from "../../hooks/useValue"; -import useVarTrans from "@/hooks/useVarTrans"; import { GameInfo } from "./DashBoard"; import { useMemo } from "react"; import { api } from "@/api"; -import { Button, Dialog, DialogActions, DialogBody, DialogContent, DialogSurface, DialogTitle, Input, Menu, MenuButton, MenuItem, MenuList, MenuPopover, MenuTrigger } from "@fluentui/react-components"; +import { Button, Checkbox, Dialog, DialogActions, DialogBody, DialogContent, DialogSurface, DialogTitle, Input, Menu, MenuButton, MenuItem, MenuList, MenuPopover, MenuTrigger } from "@fluentui/react-components"; import { Delete24Filled, Delete24Regular, FolderOpen24Filled, FolderOpen24Regular, MoreVertical24Filled, MoreVertical24Regular, Open24Filled, Open24Regular, Rename24Filled, Rename24Regular, bundleIcon } from "@fluentui/react-icons"; +import { localStorageRename } from "@/utils/localStorageRename"; +import { routers } from "@/App"; +import { t } from "@lingui/macro"; interface IGameElementProps { gameInfo: GameInfo; @@ -17,22 +16,15 @@ interface IGameElementProps { refreash?: () => void; } +const MoreVerticalIcon = bundleIcon(MoreVertical24Filled, MoreVertical24Regular); +const FolderOpenIcon = bundleIcon(FolderOpen24Filled, FolderOpen24Regular); +const OpenIcon = bundleIcon(Open24Filled, Open24Regular); +const RenameIcon = bundleIcon(Rename24Filled, Rename24Regular); +const DeleteIcon = bundleIcon(Delete24Filled, Delete24Regular); + export default function GameElement(props: IGameElementProps) { const soureBase = "background"; - const t = useVarTrans('dashBoard.'); - const dispatch = useDispatch(); - - const MoreVerticalIcon = bundleIcon(MoreVertical24Filled, MoreVertical24Regular); - const FolderOpenIcon = bundleIcon(FolderOpen24Filled, FolderOpen24Regular); - const OpenIcon = bundleIcon(Open24Filled, Open24Regular); - const RenameIcon = bundleIcon(Rename24Filled, Rename24Regular); - const DeleteIcon = bundleIcon(Delete24Filled, Delete24Regular); - - const enterEditor = (gameName: string) => { - dispatch(setEditingGame(gameName)); - dispatch(setDashboardShow(false)); - }; let className = styles.gameElement_main; if (props.checked) { @@ -53,6 +45,7 @@ export default function GameElement(props: IGameElementProps) { const isShowDeleteDialog = useValue(false); const isShowRenameDialog = useValue(false); const newGameName = useValue(props.gameInfo.dir); + const deleteChecked = useValue(false); const openInFileExplorer = () => { api.manageGameControllerOpenGameDict(props.gameInfo.dir); @@ -62,24 +55,21 @@ export default function GameElement(props: IGameElementProps) { window.open(`/games/${props.gameInfo.dir}`, "_blank"); }; - const renameThisGame = (gameName:string, newGameName:string) => { - axios.post("/api/manageGame/rename", - { source: `public/games/${gameName}/`, newName: newGameName } - ).then(() => { - props.refreash?.(); - isShowRenameDialog.set(false); - }); + const renameThisGame = async (gameName:string, newGameName:string) => { + await api.manageGameControllerRename({gameName: gameName, newName: newGameName}); + props.refreash?.(); + isShowRenameDialog.set(false); + localStorageRename(`game-editor-storage-${gameName}`, `game-editor-storage-${newGameName}`); }; - const deleteThisGame = () => { - axios.post("/api/manageGame/delete", { source: `public/games/${props.gameInfo.dir}` }).then(() => - { - props.refreash?.(); - isShowDeleteDialog.set(false); - } - ); + const deleteThisGame = async () => { + await api.manageGameControllerDelete({gameName: props.gameInfo.dir}); + props.refreash?.(); + isShowDeleteDialog.set(false); + localStorage.removeItem(`game-editor-storage-${props.gameInfo.dir}`); }; + const gameName = props.gameInfo.dir; return ( <>
@@ -94,17 +84,17 @@ export default function GameElement(props: IGameElementProps) {
{props.gameInfo.dir}
event.stopPropagation()}> - + } /> - } onClick={() => openInFileExplorer()}>{t('menu.openInFileExplorer')} - } onClick={() => previewInNewTab()}>{t('menu.previewInNewTab')} - } onClick={() => isShowRenameDialog.set(true)}>{t('menu.renameDir')} - } onClick={() => isShowDeleteDialog.set(true)}>{t('menu.deleteGame')} + } onClick={() => openInFileExplorer()}>{t`在文件管理器中打开`} + } onClick={() => previewInNewTab()}>{t`在新标签页中预览`} + } onClick={() => isShowRenameDialog.set(true)}>{t`重命名文件夹`} + } onClick={() => isShowDeleteDialog.set(true)}>{t`删除游戏`} @@ -118,7 +108,7 @@ export default function GameElement(props: IGameElementProps) { > - {t('dialogs.renameDir.title')} + {t`重命名文件夹`} - - + + @@ -137,15 +127,30 @@ export default function GameElement(props: IGameElementProps) { {/* 删除对话框 */} isShowDeleteDialog.set(!isShowDeleteDialog.value)} + onOpenChange={() => { + isShowDeleteDialog.set(!isShowDeleteDialog.value); + deleteChecked.set(false); + }} > - {t('dialogs.deleteGame.title')} - {t('dialogs.deleteGame.subtext', { gameName: props.gameInfo.dir })} + {t`删除游戏`} + +
+
+ {t`是否要删除 "${gameName}" ?`} +
+ deleteChecked.set(!deleteChecked.value)} + label={t`我确定要删除游戏`} + style={{ margin: 0 }} + /> +
+
- - + +
diff --git a/packages/origine2/src/pages/dashboard/GamePreview.tsx b/packages/origine2/src/pages/dashboard/GamePreview.tsx index decdabef7..20cbf97ca 100644 --- a/packages/origine2/src/pages/dashboard/GamePreview.tsx +++ b/packages/origine2/src/pages/dashboard/GamePreview.tsx @@ -14,8 +14,8 @@ export default function GamePreview(props: IGamePreviewProps) { return
- {props.gameInfo.title}
{/* eslint-disable-next-line react/iframe-missing-sandbox */}